check.vue 4.8 KB

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