用工小程序前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

128 lines
3.1 KiB

8 months ago
  1. <template>
  2. <view>
  3. <u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" labelWidth="80">
  4. <view class="se-px-20 se-py-20 se-c-black se-fs-32 se-fw-6">
  5. 帮助与反馈
  6. </view>
  7. <view class="se-pb-20 se-pl-20 se-m-20 se-bgc-white se-br-20">
  8. <u-form-item prop="feedback" labelWidth="2">
  9. <u--textarea :border="false" v-model="form.feedback" placeholder="请把您需要的帮助或者您发现的问题提交给我们,感谢您的参与(必填)" ></u--textarea>
  10. </u-form-item>
  11. </view>
  12. <view class="se-px-40 se-py-20 se-c-black se-fs-30 se-fw-6">
  13. 问题截图
  14. </view>
  15. <view class="se-pb-20 se-pl-20 se-m-20 se-bgc-white se-br-20">
  16. <u-form-item prop="file" labelWidth="2">
  17. <view class="se-flex se-flex-v-sa se-mt-10">
  18. <view class="se-w-p-100">
  19. <u-upload :fileList="fileList" @afterRead="afterRead" @delete="deletePic" name="1"
  20. multiple :maxCount="10"></u-upload>
  21. </view>
  22. </view>
  23. </u-form-item>
  24. </view>
  25. <view class="se-px-40 se-py-20 se-c-black se-fs-30 se-fw-6">
  26. 联系方式
  27. </view>
  28. <view class="se-p-20 se-m-20 se-bgc-white se-br-20">
  29. <u-form-item label="联系姓名" prop="name" borderBottom>
  30. <u--input v-model="form.name" border="none" placeholder="请输入联系姓名"></u--input>
  31. </u-form-item>
  32. <u-form-item label="联系电话" prop="mobile">
  33. <u--input v-model="form.mobile" type="number" border="none" placeholder="请输入联系电话"></u--input>
  34. </u-form-item>
  35. </view>
  36. <view class="se-px-20 se-pt-50">
  37. <view class="se-px-20 se-pb-80 se-fs-20 se-flex">
  38. <view @click="submit"
  39. class="se-mx-10 se-flex-1 se-br-40 se-flex-h-c se-h-80 se-lh-80 se-ta-c se-fs-28 se-c-white se-bgc-orange">
  40. <text>确认</text>
  41. </view>
  42. </view>
  43. </view>
  44. </u--form>
  45. </view>
  46. </template>
  47. <script>
  48. export default {
  49. data(){
  50. return{
  51. form:{
  52. feedback:"",
  53. name:"",
  54. mobile:"",
  55. file: ''
  56. },
  57. fileList: [],
  58. rules:{
  59. feedback: [
  60. {
  61. required: true,
  62. message: '请输入反馈详细信息',
  63. trigger: ['blur', 'change']
  64. }
  65. ],
  66. name: [
  67. {
  68. required: true,
  69. message: '请输入联系姓名',
  70. trigger: ['blur', 'change']
  71. }
  72. ],
  73. mobile:[
  74. {
  75. required: true,
  76. message: '请输入联系电话',
  77. trigger: ['blur', 'change']
  78. }
  79. ],
  80. file: [
  81. {
  82. required: true,
  83. message: '请选择反馈图片',
  84. trigger: ['blur', 'change']
  85. }
  86. ]
  87. }
  88. }
  89. },
  90. watch: {
  91. fileList(newValue, oldValue) {
  92. if (newValue.length > 0) {
  93. this.form.file = '有'
  94. } else {
  95. this.form.file = ''
  96. }
  97. }
  98. },
  99. methods:{
  100. submit() {
  101. this.$refs.uForm.validate().then(res => {
  102. uni.$u.toast('校验通过')
  103. }).catch(errors => {
  104. uni.$u.toast('校验失败')
  105. })
  106. },
  107. deletePic(event) {
  108. this.fileList.splice(e.index, 1)
  109. },
  110. async afterRead(e) {
  111. let self = this
  112. e.file.forEach(file => {
  113. self.$Oss.ossUpload(file.url).then(url => {
  114. self.fileList.push({
  115. url
  116. })
  117. })
  118. })
  119. }
  120. }
  121. }
  122. </script>
  123. <style>
  124. page{
  125. background-color: #f5f5f5;
  126. }
  127. </style>