addcar.vue 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  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" :rules="rules">
  9. <u-form-item label="车主" prop="ownerName">
  10. <u-input placeholder="填写车主姓名" v-model="form.ownerName" type="text"></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. rules: {
  56. ownerName: [{
  57. required: true,
  58. message: '请输入姓名',
  59. }],
  60. },
  61. form: {
  62. engineNo: "", //发动机号
  63. expireTime: "", //年检到期时间
  64. frameNo: "", //车架号
  65. licenseNo: "", //车牌号
  66. natureOfVehicleUse: "", //车辆使用性质
  67. ownerName: "", //车主姓名
  68. registerTime: "", //注册日期
  69. vehicleType: "", //车辆类型
  70. vehicleBrand: "", //车辆品牌
  71. },
  72. carfrontImg: "",
  73. show: false, //注册日期
  74. show1: false, //检验有效期
  75. selectShow: false, //车辆类型
  76. selectShow2: false, //性质
  77. selectList: [{
  78. value: '9座一下微小型轿客车',
  79. label: '9座一下微小型轿客车'
  80. },
  81. {
  82. value: '面包车',
  83. label: '面包车'
  84. },
  85. {
  86. value: '中大型客车',
  87. label: '中大型客车'
  88. },
  89. {
  90. value: '货车',
  91. label: '货车'
  92. },
  93. {
  94. value: '摩托车',
  95. label: '摩托车'
  96. },
  97. {
  98. value: '挂车',
  99. label: '挂车'
  100. },
  101. {
  102. value: '校车',
  103. label: '校车'
  104. },
  105. {
  106. value: '其他',
  107. label: '其他'
  108. },
  109. ],
  110. selectList2: [{
  111. value: '非营运车',
  112. label: '非营运车'
  113. },
  114. {
  115. value: '营运车',
  116. label: '营运车'
  117. },
  118. ],
  119. }
  120. },
  121. onLoad() {
  122. },
  123. methods: {
  124. btn_click() {
  125. uni.navigateTo({
  126. url: '/pages/chat/chat'
  127. })
  128. },
  129. blur(e) {
  130. console.log(e);
  131. },
  132. async carAdd() {
  133. this.$refs.uForm.validate(valid => {
  134. if (valid) {
  135. console.log('验证通过');
  136. } else {
  137. console.log('验证失败');
  138. }
  139. });
  140. // let res = await this.$http.post('/ser/carInfo/addCarInfo', this.form);
  141. // if (res.code == '200') {
  142. // uni.showToast({
  143. // title: '添加成功',
  144. // duration: 2000,
  145. // icon: "success"
  146. // });
  147. // setTimeout(() => {
  148. // return uni.navigateBack();
  149. // }, 2000);
  150. // }
  151. },
  152. vehicleTypeConfirm(e) {
  153. this.form.vehicleType = e[0].value;
  154. },
  155. natureOfVehicleUseConfirm(e) {
  156. this.form.natureOfVehicleUse = e[0].value;
  157. },
  158. //注册日期
  159. confirm(e) {
  160. console.log(e);
  161. this.form.registerTime = e.year + "-" + e.month + "-" + e.day;
  162. },
  163. //年检到期
  164. confirm1(e) {
  165. console.log(e);
  166. this.form.expireTime = e.year + "-" + e.month + "-" + e.day;
  167. },
  168. async upload() {
  169. let [chooseImageErr, chooseImageRes] = await uni.chooseImage({
  170. count: 1,
  171. sizeType: ['compressed']
  172. });
  173. if (chooseImageRes) {
  174. this.carfrontImg = chooseImageRes.tempFilePaths[0];
  175. uni.uploadFile({
  176. url: this.$base.baseUrl + '/order/identify/drivingPermit',
  177. filePath: this.carfrontImg,
  178. name: "image1",
  179. header: {
  180. Authorization: store.state.token,
  181. },
  182. success: (uploadFileRes) => {
  183. let data = JSON.parse(uploadFileRes.data).data;
  184. let rdate = '';
  185. if (!!data.carInfo.registerDate) {
  186. rdate = data.carInfo.registerDate.substr(0,
  187. 4) +
  188. '-' + data.carInfo
  189. .registerDate.substr(4, 2) + '-' + data
  190. .carInfo
  191. .registerDate
  192. .substr(6,
  193. 2)
  194. }
  195. this.form.engineNo = data.carInfo.engine; //发动机号
  196. this.form.ownerName = data.carInfo.carOwner; //车主姓名
  197. this.form.frameNo = data.carInfo.vin; //车架号
  198. this.form.licenseNo = data.carInfo.plateNo; //车牌号
  199. this.form.registerTime = rdate; //发动机号
  200. this.getcarBrand(this.form.frameNo)
  201. }
  202. })
  203. }
  204. },
  205. async getcarBrand(vin) {
  206. let res = await this.$http.get('/order/carModel/vinSearch?frameNo=' + vin);
  207. this.form.vehicleBrand = res.data[0].series;
  208. }
  209. }
  210. }
  211. </script>
  212. <style>
  213. .headers {
  214. width: 100%;
  215. height: auto;
  216. text-align: right;
  217. }
  218. page {
  219. padding: 36rpx;
  220. box-sizing: border-box;
  221. }
  222. .shanchu {
  223. width: 100%;
  224. text-align: center;
  225. color: #999;
  226. cursor: pointer;
  227. }
  228. </style>