editcar.vue 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. <template>
  2. <view class="">
  3. <view class="headers">
  4. <u-icon name="camera-fill" color="#2979ff" size="80" @tap="upload()">
  5. </u-icon>
  6. </view>
  7. <u-form :model="form" ref="uForm" label-width="230">
  8. <u-form-item label="车主">
  9. <u-input placeholder="填写车主姓名" v-model="form.ownerName" type="text" @blur='blur'></u-input>
  10. </u-form-item>
  11. <u-form-item label="车牌号">
  12. <u-input placeholder="填写车牌号" v-model="form.licenseNo" type="text"></u-input>
  13. </u-form-item>
  14. <u-form-item label="车架号">
  15. <u-input placeholder="填写车架号" v-model="form.frameNo" type="text"></u-input>
  16. </u-form-item>
  17. <u-form-item label="发动机号">
  18. <u-input placeholder="填写发动机号" v-model="form.engineNo" type="text"></u-input>
  19. </u-form-item>
  20. <u-form-item label="品牌">
  21. <u-input placeholder="填写品牌" v-model="form.vehicleBrand" type="text"></u-input>
  22. </u-form-item>
  23. <u-form-item label="车辆类型">
  24. <u-input type="select" :select-open="selectShow" v-model="form.vehicleType" placeholder="请选择车辆类型"
  25. @click="selectShow = true"></u-input>
  26. <u-select mode="single-column" :list="selectList" v-model="selectShow" @confirm="vehicleTypeConfirm">
  27. </u-select>
  28. </u-form-item>
  29. <u-form-item label="车辆使用性质">
  30. <u-input type="select" :select-open="selectShow2" v-model="form.natureOfVehicleUse" placeholder="车辆使用性质"
  31. @click="selectShow2 = true"></u-input>
  32. <u-select mode="single-column" :list="selectList2" v-model="selectShow2"
  33. @confirm="natureOfVehicleUseConfirm">
  34. </u-select>
  35. </u-form-item>
  36. <u-form-item label="车辆注册日期">
  37. <u-input v-model="form.registerTime" type="select" placeholder="选择注册日期" @click="show=true"></u-input>
  38. </u-form-item>
  39. <u-form-item label="年检到期日期">
  40. <u-input v-model="form.expireTime" type="select" placeholder="选择年检到期日期" @click="show1=true"></u-input>
  41. </u-form-item>
  42. </u-form>
  43. <u-picker v-model="show" mode="time" @confirm="confirm"></u-picker>
  44. <u-picker v-model="show1" mode="time" @confirm="confirm1"></u-picker>
  45. <u-button @click="carAdd()" type="primary"
  46. style="border-radius: 50px;font-weight: bold;margin-top:40rpx;">提交</u-button>
  47. </view>
  48. </template>
  49. <script>
  50. import store from '@/store';
  51. export default {
  52. data() {
  53. return {
  54. form: {
  55. engineNo: "", //发动机号
  56. expireTime: "", //年检到期时间
  57. frameNo: "", //车架号
  58. licenseNo: "", //车牌号
  59. natureOfVehicleUse: "", //车辆使用性质
  60. ownerName: "", //车主姓名
  61. registerTime: "", //注册日期
  62. vehicleType: "", //车辆类型
  63. vehicleBrand: "", //车辆品牌
  64. },
  65. carfrontImg: "",
  66. show: false, //注册日期
  67. show1: false, //检验有效期
  68. selectShow: false, //车辆类型
  69. selectShow2: false, //性质
  70. selectList: [{
  71. value: '9座一下微小型轿客车',
  72. label: '9座一下微小型轿客车'
  73. },
  74. {
  75. value: '面包车',
  76. label: '面包车'
  77. },
  78. {
  79. value: '中大型客车',
  80. label: '中大型客车'
  81. },
  82. {
  83. value: '货车',
  84. label: '货车'
  85. },
  86. {
  87. value: '摩托车',
  88. label: '摩托车'
  89. },
  90. {
  91. value: '挂车',
  92. label: '挂车'
  93. },
  94. {
  95. value: '校车',
  96. label: '校车'
  97. },
  98. {
  99. value: '其他',
  100. label: '其他'
  101. },
  102. ],
  103. selectList2: [{
  104. value: '非营运车',
  105. label: '非营运车'
  106. },
  107. {
  108. value: '营运车',
  109. label: '营运车'
  110. },
  111. ],
  112. carId: "",
  113. }
  114. },
  115. async onLoad(params) {
  116. if (!!params.info) {
  117. // this.carId = params.id;
  118. // let res = await this.$http.post('/ser/carInfo/updateCarInfo', {
  119. // id: this.carId
  120. // });
  121. this.form = JSON.parse(params.info);
  122. }
  123. },
  124. methods: {
  125. blur(e) {
  126. console.log(e);
  127. },
  128. async carAdd() {
  129. let res = await this.$http.post('/ser/carInfo/updateCarInfo', this.form);
  130. if (res.code == '200') {
  131. uni.showToast({
  132. title: '修改成功',
  133. duration: 2000,
  134. icon: "success"
  135. });
  136. setTimeout(() => {
  137. return uni.navigateBack();
  138. }, 2000);
  139. }
  140. },
  141. vehicleTypeConfirm(e) {
  142. this.form.vehicleType = e[0].value;
  143. },
  144. natureOfVehicleUseConfirm(e) {
  145. this.form.natureOfVehicleUse = e[0].value;
  146. },
  147. //注册日期
  148. confirm(e) {
  149. console.log(e);
  150. this.form.registerTime = e.year + "-" + e.month + "-" + e.day;
  151. },
  152. //年检到期
  153. confirm1(e) {
  154. console.log(e);
  155. this.form.expireTime = e.year + "-" + e.month + "-" + e.day;
  156. },
  157. async upload() {
  158. let [chooseImageErr, chooseImageRes] = await uni.chooseImage({
  159. count: 1,
  160. sizeType: ['compressed']
  161. });
  162. if (chooseImageRes) {
  163. this.carfrontImg = chooseImageRes.tempFilePaths[0];
  164. uni.uploadFile({
  165. url: this.$base.baseUrl + '/order/identify/drivingPermit',
  166. filePath: this.carfrontImg,
  167. name: "image1",
  168. header: {
  169. Authorization: store.state.token,
  170. },
  171. success: (uploadFileRes) => {
  172. let data = JSON.parse(uploadFileRes.data).data;
  173. let rdate = '';
  174. if (!!data.carInfo.registerDate) {
  175. rdate = data.carInfo.registerDate.substr(0,
  176. 4) +
  177. '-' + data.carInfo
  178. .registerDate.substr(4, 2) + '-' + data
  179. .carInfo
  180. .registerDate
  181. .substr(6,
  182. 2)
  183. }
  184. this.form.engineNo = data.carInfo.engine; //发动机号
  185. this.form.ownerName = data.carInfo.carOwner; //车主姓名
  186. this.form.frameNo = data.carInfo.vin; //车架号
  187. this.form.licenseNo = data.carInfo.plateNo; //车牌号
  188. this.form.registerTime = rdate; //发动机号
  189. this.getcarBrand(this.form.frameNo)
  190. }
  191. })
  192. }
  193. },
  194. async getcarBrand(vin) {
  195. let res = await this.$http.get('/order/carModel/vinSearch?frameNo=' + vin);
  196. this.form.vehicleBrand = res.data[0].series;
  197. }
  198. }
  199. }
  200. </script>
  201. <style>
  202. .headers {
  203. width: 100%;
  204. height: auto;
  205. text-align: right;
  206. }
  207. page {
  208. padding: 36rpx;
  209. box-sizing: border-box;
  210. }
  211. .shanchu {
  212. width: 100%;
  213. text-align: center;
  214. color: #999;
  215. cursor: pointer;
  216. }
  217. </style>