deal.vue 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. <template>
  2. <view class="page">
  3. <view class="form">
  4. <u-form :model="form" ref="uForm">
  5. <u-form-item label-width="150" label="审核用户" prop="curName">
  6. <u-input placeholder="请输入" v-model="curName" disabled="true" type="text"></u-input>
  7. </u-form-item>
  8. <u-form-item label-width="150" label="处理" prop="auth_state" required>
  9. <u-radio-group v-model="form.auth_state" active-color="#2979ff">
  10. <u-radio name="1">通过</u-radio>
  11. <u-radio name="2">拒绝</u-radio>
  12. </u-radio-group>
  13. </u-form-item>
  14. <!-- <u-form-item label-position="top" label-width="150" label="报备二维码(非必填)" prop="report_code">
  15. <view class="id_card" @click="uploadImage">
  16. <u-icon v-if="form.report_code == null" name="plus" size="32" color="#606266"></u-icon>
  17. <text v-if="form.report_code == null">请先上传报备二维码照片</text>
  18. <image v-if="form.report_code != null" :src="form.report_code" mode="aspectFill"></image>
  19. </view>
  20. </u-form-item>
  21. -->
  22. <u-form-item label-width="150" label="备注信息" prop="remark" label-position="top">
  23. <u-input placeholder="备注信息" v-model="form.auth_remark" type="textarea"></u-input>
  24. </u-form-item>
  25. </u-form>
  26. <u-gap height="60"></u-gap>
  27. <u-button type="primary" @click="submitHandle">确定</u-button>
  28. </view>
  29. </view>
  30. </template>
  31. <script>
  32. import { arrToObj } from '@/utils'
  33. var that;
  34. export default {
  35. data() {
  36. return {
  37. curName: '',
  38. curId: '',
  39. groupType: '',
  40. form: {
  41. auth_state: '1',
  42. auth_remark: '',
  43. },
  44. };
  45. },
  46. onLoad(params) {
  47. this.curId = params.id
  48. this.groupType = params.gt
  49. const dictObj = uni.getStorageSync('MD_dict')
  50. const groupTypeObj = arrToObj(dictObj.group_type)
  51. this.curName = `${params.name}(${groupTypeObj[params.gt]})`
  52. },
  53. // 必须要在onReady生命周期,因为onLoad生命周期组件可能尚未创建完毕
  54. onReady() {
  55. this.$refs.uForm.setRules(this.rules);
  56. },
  57. methods: {
  58. getTime(n) {
  59. let date = n ? new Date(n) : new Date()
  60. let year = date.getFullYear()
  61. let month = date.getMonth() + 1
  62. month = month > 9 ? month : '0' + month
  63. let day = date.getDate()
  64. day = day > 9 ? day : '0' + day
  65. let hour = date.getHours()
  66. hour = hour > 9 ? hour : '0' + hour
  67. let minute = date.getMinutes()
  68. minute = minute > 9 ? minute : '0' + minute
  69. let second = date.getSeconds()
  70. second = second > 9 ? second : '0' + second
  71. return `${year}-${month}-${day} ${hour}:${minute}:${second}`
  72. },
  73. uploadImgHandle (bc) {
  74. uni.chooseImage({
  75. count: 1,
  76. sizeType: ['compressed'],
  77. success: function(res) {
  78. const filePath = res.tempFilePaths[0];
  79. let token = uni.getStorageSync('MD_token') || ''
  80. uni.uploadFile({
  81. url: uni.baseUrl + 'api/upload/cloud',
  82. filePath,
  83. name: 'upload',
  84. formData: {
  85. 'token': token
  86. },
  87. success: (f) => {
  88. const cData = JSON.parse(f.data)
  89. if (cData.errno === 0) {
  90. if (bc && typeof(bc) === 'function') bc(cData.data)
  91. } else {
  92. uni.$msg(cData.errmsg || `未知错误-${cData.errno}`)
  93. }
  94. }
  95. })
  96. }
  97. })
  98. },
  99. // 上传照片
  100. uploadImage() {
  101. this.uploadImgHandle((d) => {
  102. this.form.report_code = d.url
  103. })
  104. },
  105. submitHandle() {
  106. const that = this
  107. this.$refs.uForm.validate(valid => {
  108. if (valid) {
  109. let params = {
  110. ...that.form,
  111. id: that.curId,
  112. }
  113. let str = 'apiuserauthedit'
  114. if (this.groupType == 1) str = 'apideptauthedit'
  115. uni.api.base[str](params).then(res => {
  116. uni.$msgConfirm('编辑成功', () => {
  117. uni.reLaunch({
  118. url: '/pages/saler/check'
  119. })
  120. }, () => {
  121. uni.reLaunch({
  122. url: '/pages/saler/check'
  123. })
  124. })
  125. })
  126. }
  127. });
  128. },
  129. // 以下是工具函数
  130. // 格式化日期的月份或天数的显示(小于10,在前面增加0)
  131. getFormatDate(value) {
  132. if (value == undefined || value == '') {
  133. return '';
  134. }
  135. var str = value;
  136. if (parseInt(value) < 10) {
  137. str = '0' + value;
  138. }
  139. return str;
  140. }
  141. }
  142. };
  143. </script>
  144. <style lang="scss">
  145. .page {
  146. background-color: #ffffff;
  147. }
  148. .form {
  149. border-radius: 10rpx;
  150. padding: 0 40rpx;
  151. }
  152. .popup-body {
  153. .tips-title {
  154. font-size: $u-p;
  155. margin-bottom: 20rpx;
  156. }
  157. .tips-content {
  158. font-size: $u-p2;
  159. color: $u-tips-color;
  160. margin-bottom: 60rpx;
  161. }
  162. }
  163. .id_card {
  164. color: #606266;
  165. width: 100%;
  166. height: 350rpx;
  167. display: flex;
  168. flex-direction: column;
  169. align-items: center;
  170. justify-content: center;
  171. background-color: #f4f5f6;
  172. font-size: $u-p2;
  173. border-radius: 10rpx;
  174. image {
  175. border-radius: 10rpx;
  176. }
  177. }
  178. .footer {
  179. position: relative;
  180. text-align: center;
  181. font-size: $u-p2;
  182. left: 0;
  183. bottom: 20rpx;
  184. .agreement {
  185. color: $u-theme-color;
  186. }
  187. }
  188. .slot-content {
  189. font-size: 28rpx;
  190. color: $u-content-color;
  191. padding: 20rpx;
  192. }
  193. .warp {
  194. display: flex;
  195. flex-direction: column;
  196. align-items: center;
  197. justify-content: center;
  198. height: 100%;
  199. }
  200. .rect {
  201. width: 400rpx;
  202. height: 400rpx;
  203. background-color: #fff;
  204. }
  205. </style>