addcar.vue 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  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"></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. }
  113. },
  114. onLoad() {
  115. },
  116. methods: {
  117. blur(e) {
  118. console.log(e);
  119. },
  120. async carAdd() {
  121. let res = await this.$http.post('/ser/carInfo/addCarInfo', this.form);
  122. if (res.code == '200') {
  123. uni.showToast({
  124. title: '添加成功',
  125. duration: 2000,
  126. icon: "success"
  127. });
  128. setTimeout(() => {
  129. return uni.navigateBack();
  130. }, 2000);
  131. }
  132. },
  133. vehicleTypeConfirm(e) {
  134. this.form.vehicleType = e[0].value;
  135. },
  136. natureOfVehicleUseConfirm(e) {
  137. this.form.natureOfVehicleUse = e[0].value;
  138. },
  139. //注册日期
  140. confirm(e) {
  141. console.log(e);
  142. this.form.registerTime = e.year + "-" + e.month + "-" + e.day;
  143. },
  144. //年检到期
  145. confirm1(e) {
  146. console.log(e);
  147. this.form.expireTime = e.year + "-" + e.month + "-" + e.day;
  148. },
  149. async upload() {
  150. let [chooseImageErr, chooseImageRes] = await uni.chooseImage({
  151. count: 1,
  152. sizeType: ['compressed']
  153. });
  154. if (chooseImageRes) {
  155. this.carfrontImg = chooseImageRes.tempFilePaths[0];
  156. uni.uploadFile({
  157. url: this.$base.baseUrl + '/order/identify/drivingPermit',
  158. filePath: this.carfrontImg,
  159. name: "image1",
  160. header: {
  161. Authorization: store.state.token,
  162. },
  163. success: (uploadFileRes) => {
  164. let data = JSON.parse(uploadFileRes.data).data;
  165. let rdate = '';
  166. if (!!data.carInfo.registerDate) {
  167. rdate = data.carInfo.registerDate.substr(0,
  168. 4) +
  169. '-' + data.carInfo
  170. .registerDate.substr(4, 2) + '-' + data
  171. .carInfo
  172. .registerDate
  173. .substr(6,
  174. 2)
  175. }
  176. this.form.engineNo = data.carInfo.engine; //发动机号
  177. this.form.ownerName = data.carInfo.carOwner; //车主姓名
  178. this.form.frameNo = data.carInfo.vin; //车架号
  179. this.form.licenseNo = data.carInfo.plateNo; //车牌号
  180. this.form.registerTime = rdate; //发动机号
  181. this.getcarBrand(this.form.frameNo)
  182. }
  183. })
  184. }
  185. },
  186. async getcarBrand(vin) {
  187. let res = await this.$http.get('/order/carModel/vinSearch?frameNo=' + vin);
  188. this.form.vehicleBrand = res.data[0].series;
  189. }
  190. }
  191. }
  192. </script>
  193. <style>
  194. .headers {
  195. width: 100%;
  196. height: auto;
  197. text-align: right;
  198. }
  199. page {
  200. padding: 36rpx;
  201. box-sizing: border-box;
  202. }
  203. .shanchu {
  204. width: 100%;
  205. text-align: center;
  206. color: #999;
  207. cursor: pointer;
  208. }
  209. </style>