editcar.vue 6.3 KB

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