lshcom 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/README.md +31 -0
  2. package/package.json +14 -0
  3. package/src/assets/Porsche/iconfont.css +19 -0
  4. package/src/assets/Porsche/iconfont.eot +0 -0
  5. package/src/assets/Porsche/iconfont.js +1 -0
  6. package/src/assets/Porsche/iconfont.svg +36 -0
  7. package/src/assets/Porsche/iconfont.ttf +0 -0
  8. package/src/assets/Porsche/iconfont.woff +0 -0
  9. package/src/assets/cluemanagement/demo.css +539 -0
  10. package/src/assets/cluemanagement/demo_index.html +207 -0
  11. package/src/assets/cluemanagement/iconfont.css +17 -0
  12. package/src/assets/cluemanagement/iconfont.js +1 -0
  13. package/src/assets/cluemanagement/iconfont.json +16 -0
  14. package/src/assets/cluemanagement/iconfont.ttf +0 -0
  15. package/src/assets/css/_bootstrap-variables.scss +108 -0
  16. package/src/assets/css/_core-variables.scss +1 -0
  17. package/src/assets/css/_custom.scss +4 -0
  18. package/src/assets/css/bootstrap/_alert.scss +48 -0
  19. package/src/assets/css/bootstrap/_badge.scss +48 -0
  20. package/src/assets/css/bootstrap/_breadcrumb.scss +38 -0
  21. package/src/assets/css/bootstrap/_button-group.scss +198 -0
  22. package/src/assets/css/bootstrap/_buttons.scss +141 -0
  23. package/src/assets/css/bootstrap/_card.scss +223 -0
  24. package/src/assets/css/bootstrap/_carousel.scss +185 -0
  25. package/src/assets/css/bootstrap/_close.scss +29 -0
  26. package/src/assets/css/bootstrap/_code.scss +64 -0
  27. package/src/assets/css/bootstrap/_custom-forms.scss +254 -0
  28. package/src/assets/css/bootstrap/_dropdown.scss +128 -0
  29. package/src/assets/css/bootstrap/_forms.scss +390 -0
  30. package/src/assets/css/bootstrap/_functions.scss +90 -0
  31. package/src/assets/css/bootstrap/_grid.scss +53 -0
  32. package/src/assets/css/bootstrap/_images.scss +43 -0
  33. package/src/assets/css/bootstrap/_input-group.scss +176 -0
  34. package/src/assets/css/bootstrap/_jumbotron.scss +16 -0
  35. package/src/assets/css/bootstrap/_list-group.scss +114 -0
  36. package/src/assets/css/bootstrap/_media.scss +8 -0
  37. package/src/assets/css/bootstrap/_mixins.scss +41 -0
  38. package/src/assets/css/bootstrap/_modal.scss +142 -0
  39. package/src/assets/css/bootstrap/_nav.scss +120 -0
  40. package/src/assets/css/bootstrap/_navbar.scss +284 -0
  41. package/src/assets/css/bootstrap/_pagination.scss +66 -0
  42. package/src/assets/css/bootstrap/_popover.scss +195 -0
  43. package/src/assets/css/bootstrap/_print.scss +111 -0
  44. package/src/assets/css/bootstrap/_progress.scss +32 -0
  45. package/src/assets/css/bootstrap/_reboot.scss +481 -0
  46. package/src/assets/css/bootstrap/_tables.scss +142 -0
  47. package/src/assets/css/bootstrap/_tooltip.scss +107 -0
  48. package/src/assets/css/bootstrap/_transitions.scss +34 -0
  49. package/src/assets/css/bootstrap/_type.scss +123 -0
  50. package/src/assets/css/bootstrap/_utilities.scss +14 -0
  51. package/src/assets/css/bootstrap/_variables.scss +636 -0
  52. package/src/assets/css/bootstrap/bootstrap-grid.scss +37 -0
  53. package/src/assets/css/bootstrap/bootstrap-reboot.scss +9 -0
  54. package/src/assets/css/bootstrap/bootstrap.scss +48 -0
  55. package/src/assets/css/bootstrap/mixins/_alert.scss +13 -0
  56. package/src/assets/css/bootstrap/mixins/_background-variant.scss +12 -0
  57. package/src/assets/css/bootstrap/mixins/_badge.scss +12 -0
  58. package/src/assets/css/bootstrap/mixins/_border-radius.scss +35 -0
  59. package/src/assets/css/bootstrap/mixins/_box-shadow.scss +5 -0
  60. package/src/assets/css/bootstrap/mixins/_breakpoints.scss +105 -0
  61. package/src/assets/css/bootstrap/mixins/_buttons.scss +83 -0
  62. package/src/assets/css/bootstrap/mixins/_clearfix.scss +7 -0
  63. package/src/assets/css/bootstrap/mixins/_float.scss +9 -0
  64. package/src/assets/css/bootstrap/mixins/_forms.scss +81 -0
  65. package/src/assets/css/bootstrap/mixins/_gradients.scss +37 -0
  66. package/src/assets/css/bootstrap/mixins/_grid-framework.scss +56 -0
  67. package/src/assets/css/bootstrap/mixins/_grid.scss +47 -0
  68. package/src/assets/css/bootstrap/mixins/_hover.scss +60 -0
  69. package/src/assets/css/bootstrap/mixins/_image.scss +36 -0
  70. package/src/assets/css/bootstrap/mixins/_list-group.scss +26 -0
  71. package/src/assets/css/bootstrap/mixins/_lists.scss +7 -0
  72. package/src/assets/css/bootstrap/mixins/_nav-divider.scss +10 -0
  73. package/src/assets/css/bootstrap/mixins/_navbar-align.scss +9 -0
  74. package/src/assets/css/bootstrap/mixins/_pagination.scss +22 -0
  75. package/src/assets/css/bootstrap/mixins/_reset-text.scss +18 -0
  76. package/src/assets/css/bootstrap/mixins/_resize.scss +6 -0
  77. package/src/assets/css/bootstrap/mixins/_screen-reader.scss +35 -0
  78. package/src/assets/css/bootstrap/mixins/_size.scss +6 -0
  79. package/src/assets/css/bootstrap/mixins/_table-row.scss +30 -0
  80. package/src/assets/css/bootstrap/mixins/_text-emphasis.scss +12 -0
  81. package/src/assets/css/bootstrap/mixins/_text-hide.scss +8 -0
  82. package/src/assets/css/bootstrap/mixins/_text-truncate.scss +8 -0
  83. package/src/assets/css/bootstrap/mixins/_transition.scss +9 -0
  84. package/src/assets/css/bootstrap/mixins/_visibility.scss +5 -0
  85. package/src/assets/css/bootstrap/utilities/_align.scss +6 -0
  86. package/src/assets/css/bootstrap/utilities/_background.scss +6 -0
  87. package/src/assets/css/bootstrap/utilities/_borders.scss +52 -0
  88. package/src/assets/css/bootstrap/utilities/_clearfix.scss +3 -0
  89. package/src/assets/css/bootstrap/utilities/_display.scss +53 -0
  90. package/src/assets/css/bootstrap/utilities/_embed.scss +52 -0
  91. package/src/assets/css/bootstrap/utilities/_flex.scss +44 -0
  92. package/src/assets/css/bootstrap/utilities/_float.scss +9 -0
  93. package/src/assets/css/bootstrap/utilities/_position.scss +25 -0
  94. package/src/assets/css/bootstrap/utilities/_screenreaders.scss +11 -0
  95. package/src/assets/css/bootstrap/utilities/_sizing.scss +10 -0
  96. package/src/assets/css/bootstrap/utilities/_spacing.scss +41 -0
  97. package/src/assets/css/bootstrap/utilities/_text.scss +49 -0
  98. package/src/assets/css/bootstrap/utilities/_visibility.scss +11 -0
  99. package/src/assets/css/core/_animate.scss +44 -0
  100. package/src/assets/css/core/_aside.scss +64 -0
  101. package/src/assets/css/core/_avatars.scss +51 -0
  102. package/src/assets/css/core/_badge.scss +3 -0
  103. package/src/assets/css/core/_breadcrumb-menu.scss +35 -0
  104. package/src/assets/css/core/_breadcrumb.scss +6 -0
  105. package/src/assets/css/core/_buttons.scss +575 -0
  106. package/src/assets/css/core/_callout.scss +55 -0
  107. package/src/assets/css/core/_card.scss +191 -0
  108. package/src/assets/css/core/_charts.scss +9 -0
  109. package/src/assets/css/core/_dropdown.scss +69 -0
  110. package/src/assets/css/core/_footer.scss +8 -0
  111. package/src/assets/css/core/_grid.scss +15 -0
  112. package/src/assets/css/core/_input-group.scss +6 -0
  113. package/src/assets/css/core/_input.scss +26 -0
  114. package/src/assets/css/core/_layout.scss +397 -0
  115. package/src/assets/css/core/_loading.scss +128 -0
  116. package/src/assets/css/core/_mixins.scss +116 -0
  117. package/src/assets/css/core/_mobile.scss +0 -0
  118. package/src/assets/css/core/_modal.scss +16 -0
  119. package/src/assets/css/core/_nav.scss +32 -0
  120. package/src/assets/css/core/_navbar.scss +106 -0
  121. package/src/assets/css/core/_others.scss +4 -0
  122. package/src/assets/css/core/_progress.scss +15 -0
  123. package/src/assets/css/core/_rtl.scss +267 -0
  124. package/src/assets/css/core/_sidebar.scss +426 -0
  125. package/src/assets/css/core/_switches.scss +301 -0
  126. package/src/assets/css/core/_tables.scss +72 -0
  127. package/src/assets/css/core/_temp.scss +47 -0
  128. package/src/assets/css/core/_typography.scss +36 -0
  129. package/src/assets/css/core/_utilities.scss +3 -0
  130. package/src/assets/css/core/_variables.scss +174 -0
  131. package/src/assets/css/core/_widgets.scss +253 -0
  132. package/src/assets/css/core/core.scss +40 -0
  133. package/src/assets/css/core/utilities/_background.scss +8 -0
  134. package/src/assets/css/core/utilities/_borders.scss +18 -0
  135. package/src/assets/css/core/utilities/_display.scss +18 -0
  136. package/src/assets/css/iconfont.css +85 -0
  137. package/src/assets/css/loading.css +18 -0
  138. package/src/assets/css/main.scss +15 -0
  139. package/src/assets/css/themes/default.scss +518 -0
  140. package/src/assets/css/themes/first.css +25 -0
  141. package/src/assets/css/vendors/_vendors.scss +1 -0
  142. package/src/assets/css/vendors/chart.js/chart.scss +45 -0
  143. package/src/assets/financial/demo.css +539 -0
  144. package/src/assets/financial/demo_index.html +230 -0
  145. package/src/assets/financial/iconfont.css +21 -0
  146. package/src/assets/financial/iconfont.js +1 -0
  147. package/src/assets/financial/iconfont.json +23 -0
  148. package/src/assets/financial/iconfont.ttf +0 -0
  149. package/src/assets/font_jipan/demo.css +539 -0
  150. package/src/assets/font_jipan/demo_index.html +211 -0
  151. package/src/assets/font_jipan/iconfont.css +19 -0
  152. package/src/assets/font_jipan/iconfont.js +1 -0
  153. package/src/assets/font_jipan/iconfont.json +16 -0
  154. package/src/assets/font_jipan/iconfont.ttf +0 -0
  155. package/src/assets/font_jipan/iconfont.woff +0 -0
  156. package/src/assets/font_jipan/iconfont.woff2 +0 -0
  157. package/src/assets/fontgift/demo.css +539 -0
  158. package/src/assets/fontgift/demo_index.html +207 -0
  159. package/src/assets/fontgift/iconfont.css +17 -0
  160. package/src/assets/fontgift/iconfont.js +1 -0
  161. package/src/assets/fontgift/iconfont.json +16 -0
  162. package/src/assets/fontgift/iconfont.ttf +0 -0
  163. package/src/assets/fonts/iconfont.eot +0 -0
  164. package/src/assets/fonts/iconfont.svg +79 -0
  165. package/src/assets/fonts/iconfont.ttf +0 -0
  166. package/src/assets/fonts/iconfont.woff +0 -0
  167. package/src/assets/img/1.jpg +0 -0
  168. package/src/assets/img/2.jpg +0 -0
  169. package/src/assets/img/404.jpg +0 -0
  170. package/src/assets/img/A01-Line.png +0 -0
  171. package/src/assets/img/A01.png +0 -0
  172. package/src/assets/img/W02-Line.png +0 -0
  173. package/src/assets/img/W02.png +0 -0
  174. package/src/assets/img/arrow-left.png +0 -0
  175. package/src/assets/img/arrow-right.png +0 -0
  176. package/src/assets/img/borad-check.png +0 -0
  177. package/src/assets/img/call-conference-end.png +0 -0
  178. package/src/assets/img/call-conference.png +0 -0
  179. package/src/assets/img/call-consult-end.png +0 -0
  180. package/src/assets/img/call-consult-out.png +0 -0
  181. package/src/assets/img/call-consult.png +0 -0
  182. package/src/assets/img/call-expansion-menu.png +0 -0
  183. package/src/assets/img/call-expansion.png +0 -0
  184. package/src/assets/img/call-hang-up.png +0 -0
  185. package/src/assets/img/call-hold.png +0 -0
  186. package/src/assets/img/call-holding.png +0 -0
  187. package/src/assets/img/call-shrink-menu.png +0 -0
  188. package/src/assets/img/call-shrink.png +0 -0
  189. package/src/assets/img/call-transfer-end.png +0 -0
  190. package/src/assets/img/call-transfer.png +0 -0
  191. package/src/assets/img/call.png +0 -0
  192. package/src/assets/img/cancle-keep.png +0 -0
  193. package/src/assets/img/card.png +0 -0
  194. package/src/assets/img/cash.png +0 -0
  195. package/src/assets/img/customer-portrayal-blue.png +0 -0
  196. package/src/assets/img/customer-portrayal-white.png +0 -0
  197. package/src/assets/img/error.png +0 -0
  198. package/src/assets/img/iris.png +0 -0
  199. package/src/assets/img/left-kuang.png +0 -0
  200. package/src/assets/img/lockimg.png +0 -0
  201. package/src/assets/img/offLine.png +0 -0
  202. package/src/assets/img/success.png +0 -0
  203. package/src/assets/img/tishi.png +0 -0
  204. package/src/assets/img/userimg.png +0 -0
  205. package/src/assets/iocnfont/AI/demo.css +539 -0
  206. package/src/assets/iocnfont/AI/demo_index.html +211 -0
  207. package/src/assets/iocnfont/AI/iconfont.css +19 -0
  208. package/src/assets/iocnfont/AI/iconfont.js +1 -0
  209. package/src/assets/iocnfont/AI/iconfont.json +16 -0
  210. package/src/assets/iocnfont/AI/iconfont.ttf +0 -0
  211. package/src/assets/iocnfont/AI/iconfont.woff +0 -0
  212. package/src/assets/iocnfont/AI/iconfont.woff2 +0 -0
  213. package/src/assets/iocnfont/add/demo.css +539 -0
  214. package/src/assets/iocnfont/add/demo_index.html +212 -0
  215. package/src/assets/iocnfont/add/iconfont.css +20 -0
  216. package/src/assets/iocnfont/add/iconfont.js +1 -0
  217. package/src/assets/iocnfont/add/iconfont.json +16 -0
  218. package/src/assets/iocnfont/add/iconfont.svg +21 -0
  219. package/src/assets/iocnfont/add/iconfont.ttf +0 -0
  220. package/src/assets/iocnfont/add/iconfont.woff +0 -0
  221. package/src/assets/iocnfont/add/iconfont.woff2 +0 -0
  222. package/src/assets/iocnfont/addsf/demo.css +539 -0
  223. package/src/assets/iocnfont/addsf/demo_index.html +506 -0
  224. package/src/assets/iocnfont/addsf/iconfont.css +69 -0
  225. package/src/assets/iocnfont/addsf/iconfont.js +1 -0
  226. package/src/assets/iocnfont/addsf/iconfont.json +107 -0
  227. package/src/assets/iocnfont/addsf/iconfont.ttf +0 -0
  228. package/src/assets/iocnfont/arrow/demo.css +370 -0
  229. package/src/assets/iocnfont/arrow/demo_fontclass.html +58 -0
  230. package/src/assets/iocnfont/arrow/demo_symbol.html +87 -0
  231. package/src/assets/iocnfont/arrow/demo_unicode.html +96 -0
  232. package/src/assets/iocnfont/arrow/iconfont.css +36 -0
  233. package/src/assets/iocnfont/arrow/iconfont.eot +0 -0
  234. package/src/assets/iocnfont/arrow/iconfont.js +1 -0
  235. package/src/assets/iocnfont/arrow/iconfont.svg +35 -0
  236. package/src/assets/iocnfont/arrow/iconfont.ttf +0 -0
  237. package/src/assets/iocnfont/arrow/iconfont.woff +0 -0
  238. package/src/assets/iocnfont/company/demo.css +539 -0
  239. package/src/assets/iocnfont/company/demo_index.html +253 -0
  240. package/src/assets/iocnfont/company/iconfont.css +24 -0
  241. package/src/assets/iocnfont/company/iconfont.js +1 -0
  242. package/src/assets/iocnfont/company/iconfont.json +30 -0
  243. package/src/assets/iocnfont/company/iconfont.ttf +0 -0
  244. package/src/assets/iocnfont/iconfont-otr/iconfont.css +39 -0
  245. package/src/assets/iocnfont/iconfont-otr/iconfont.eot +0 -0
  246. package/src/assets/iocnfont/iconfont-otr/iconfont.js +1 -0
  247. package/src/assets/iocnfont/iconfont-otr/iconfont.json +23 -0
  248. package/src/assets/iocnfont/iconfont-otr/iconfont.svg +14 -0
  249. package/src/assets/iocnfont/iconfont-otr/iconfont.ttf +0 -0
  250. package/src/assets/iocnfont/iconfont-otr/iconfont.woff +0 -0
  251. package/src/assets/iocnfont/iconfont.css +89 -0
  252. package/src/assets/iocnfont/iconfont.eot +0 -0
  253. package/src/assets/iocnfont/iconfont.js +1 -0
  254. package/src/assets/iocnfont/iconfont.svg +134 -0
  255. package/src/assets/iocnfont/iconfont.ttf +0 -0
  256. package/src/assets/iocnfont/iconfont.woff +0 -0
  257. package/src/assets/iocnfont/vehicle/iconfont.css +31 -0
  258. package/src/assets/iocnfont/vehicle/iconfont.eot +0 -0
  259. package/src/assets/iocnfont/vehicle/iconfont.js +1 -0
  260. package/src/assets/iocnfont/vehicle/iconfont.svg +54 -0
  261. package/src/assets/iocnfont/vehicle/iconfont.ttf +0 -0
  262. package/src/assets/iocnfont/vehicle/iconfont.woff +0 -0
  263. package/src/assets/lixinghang/iconfont.css +50 -0
  264. package/src/assets/lixinghang/iconfont.eot +0 -0
  265. package/src/assets/lixinghang/iconfont.js +1 -0
  266. package/src/assets/lixinghang/iconfont.json +58 -0
  267. package/src/assets/lixinghang/iconfont.svg +18 -0
  268. package/src/assets/lixinghang/iconfont.ttf +0 -0
  269. package/src/assets/lixinghang/iconfont.woff +0 -0
  270. package/src/assets/lixinghang/iconfont.woff2 +0 -0
  271. package/src/assets/privacy/demo.css +539 -0
  272. package/src/assets/privacy/demo_index.html +207 -0
  273. package/src/assets/privacy/iconfont.css +17 -0
  274. package/src/assets/privacy/iconfont.js +1 -0
  275. package/src/assets/privacy/iconfont.json +16 -0
  276. package/src/assets/privacy/iconfont.ttf +0 -0
  277. package/src/assets/sheche/demo.css +539 -0
  278. package/src/assets/sheche/demo_index.html +230 -0
  279. package/src/assets/sheche/iconfont.css +21 -0
  280. package/src/assets/sheche/iconfont.js +1 -0
  281. package/src/assets/sheche/iconfont.json +23 -0
  282. package/src/assets/sheche/iconfont.ttf +0 -0
  283. package/src/assets/suggtion/demo.css +539 -0
  284. package/src/assets/suggtion/demo_index.html +207 -0
  285. package/src/assets/suggtion/iconfont.css +17 -0
  286. package/src/assets/suggtion/iconfont.js +1 -0
  287. package/src/assets/suggtion/iconfont.json +16 -0
  288. package/src/assets/suggtion/iconfont.ttf +0 -0
  289. package/src/assets/survey/demo.css +539 -0
  290. package/src/assets/survey/demo_index.html +207 -0
  291. package/src/assets/survey/iconfont.css +17 -0
  292. package/src/assets/survey/iconfont.js +1 -0
  293. package/src/assets/survey/iconfont.json +16 -0
  294. package/src/assets/survey/iconfont.ttf +0 -0
  295. package/src/common/common.js +599 -0
  296. package/src/common/global.js +214 -0
  297. package/src/components/LshCust/index.vue +926 -0
  298. package/src/components/LshVehicle/index.vue +1002 -0
  299. package/src/components/el/DatePicker.vue +113 -0
  300. package/src/components/el/Dialog.vue +66 -0
  301. package/src/components/el/Page.vue +69 -0
  302. package/src/components/el/Select.vue +173 -0
  303. package/src/components/el/Table.vue +98 -0
  304. package/src/components/el/Upload.vue +175 -0
  305. package/src/components/lsh-customer/dialog.vue +66 -0
  306. package/src/components/lsh-customer/index.vue +453 -0
  307. package/src/components/lsh-vehicle/dialog.vue +47 -0
  308. package/src/components/lsh-vehicle/index.vue +534 -0
  309. package/src/components/lsh-vehicle/lshCust.vue +715 -0
@@ -0,0 +1,1002 @@
1
+ <template>
2
+ <div class="LSH-Vehicle">
3
+ <div class="row">
4
+ <div class="col-md-4">
5
+ <b-form-fieldset
6
+ horizontal
7
+ label="车牌号"
8
+ label-cols="4"
9
+ class="text-right"
10
+ >
11
+ <el-input v-model.trim="queryParams.licNum" />
12
+ </b-form-fieldset>
13
+ </div>
14
+ <div class="col-md-4">
15
+ <b-form-fieldset
16
+ horizontal
17
+ label="车架号-美版VIN*"
18
+ label-cols="4"
19
+ class="text-right"
20
+ >
21
+ <el-input
22
+ v-model.trim="queryParams.frameNo"
23
+ :disabled="!isAdd"
24
+ @blur="handleQuery"
25
+ />
26
+ <!-- <el-autocomplete
27
+ :disabled="!isAdd"
28
+ class="inline-input"
29
+ v-model="queryParams.frameNo"
30
+ :fetch-suggestions="queryCarVinList"
31
+ placeholder="请输入车架号"
32
+ :trigger-on-focus="false"
33
+ @select="handleSelect">
34
+ </el-autocomplete> -->
35
+ </b-form-fieldset>
36
+ </div>
37
+ <div class="col-md-4">
38
+ <b-form-fieldset
39
+ horizontal
40
+ label="车架号-欧版FIN*"
41
+ label-cols="4"
42
+ class="text-right"
43
+ >
44
+ <el-input
45
+ v-model.trim="queryParams.vehicleNo"
46
+ :disabled="finFlag"
47
+ />
48
+ </b-form-fieldset>
49
+ </div>
50
+ <div class="col-md-4">
51
+ <b-form-fieldset
52
+ horizontal
53
+ label="发动机号"
54
+ label-cols="4"
55
+ class="text-right"
56
+ >
57
+ <el-input v-model.trim="queryParams.engineNumber" />
58
+ </b-form-fieldset>
59
+ </div>
60
+ <div class="col-md-4">
61
+ <b-form-fieldset
62
+ horizontal
63
+ label="品牌*"
64
+ label-cols="4"
65
+ class="text-right"
66
+ >
67
+ <el-select :value="queryParams.brandName" placeholder="" filterable>
68
+ <el-option
69
+ v-for="item in brandList"
70
+ :key="item.value"
71
+ :label="item.label"
72
+ :value="item.value"
73
+ @click.native="queryCarInfo(item.value, 'brandCode')"
74
+ />
75
+ </el-select>
76
+ </b-form-fieldset>
77
+ </div>
78
+ <div class="col-md-4">
79
+ <b-form-fieldset
80
+ horizontal
81
+ label="来源*"
82
+ label-cols="4"
83
+ class="text-right"
84
+ >
85
+ <el-select :value="queryParams.vehicleSource" placeholder="" filterable>
86
+ <el-option
87
+ v-for="item in sourceList"
88
+ :key="item.value"
89
+ :label="item.label"
90
+ :value="item.value"
91
+ @click.native="queryCarInfo(item.value, 'factoryCode')"
92
+ />
93
+ </el-select>
94
+ </b-form-fieldset>
95
+ </div>
96
+ <div class="col-md-4">
97
+ <b-form-fieldset
98
+ horizontal
99
+ label="车系*"
100
+ label-cols="4"
101
+ class="text-right"
102
+ >
103
+ <el-select :value="queryParams.vehicleClass" placeholder="" filterable>
104
+ <el-option
105
+ v-for="item in vehicleClassList"
106
+ :key="item.value"
107
+ :label="item.label"
108
+ :value="item.value"
109
+ @click.native="queryCarInfo(item.value, 'seriesCode')"
110
+ />
111
+ </el-select>
112
+ </b-form-fieldset>
113
+ </div>
114
+ <div class="col-md-4">
115
+ <b-form-fieldset
116
+ horizontal
117
+ label="车型*"
118
+ label-cols="4"
119
+ class="text-right"
120
+ >
121
+ <el-select :value="queryParams.vehicleModel" placeholder="" filterable>
122
+ <el-option
123
+ v-for="item in vehicleModelList"
124
+ :key="item.value"
125
+ :label="item.label"
126
+ :value="item.value"
127
+ @click.native="queryCarInfo(item.value, 'modelCode')"
128
+ />
129
+ </el-select>
130
+ </b-form-fieldset>
131
+ </div>
132
+ <div class="col-md-4">
133
+ <b-form-fieldset
134
+ horizontal
135
+ label="车款*"
136
+ label-cols="4"
137
+ class="text-right"
138
+ >
139
+ <el-select :value="queryParams.vehicleVariant" placeholder="" filterable>
140
+ <el-option
141
+ v-for="(item,index) in vehicleVariantList"
142
+ :key="index"
143
+ :label="item.displayName"
144
+ :value="item.label"
145
+ @click.native="queryCarInfo(item.label, 'vehicleCode')"
146
+ @change="queryCarInfo(item.label, 'vehicleCode')"
147
+ >
148
+ {{ item.displayName }} &nbsp;&nbsp;&nbsp; {{ item.carModelCode }}
149
+ </el-option>
150
+ </el-select>
151
+ </b-form-fieldset>
152
+ </div>
153
+ <div class="col-md-4">
154
+ <b-form-fieldset
155
+ horizontal
156
+ label="车辆销售代码"
157
+ label-cols="4"
158
+ class="text-right"
159
+ >
160
+ <el-input v-model.trim="queryParams.varient" disabled />
161
+ </b-form-fieldset>
162
+ </div>
163
+ <div class="col-md-4">
164
+ <b-form-fieldset
165
+ horizontal
166
+ label="业务交易类型"
167
+ label-cols="4"
168
+ class="text-right"
169
+ >
170
+ <el-select
171
+ :disabled="queryParams.brandName != 'smart精灵'"
172
+ :value="queryParams.businessTransactionType"
173
+ placeholder=""
174
+ >
175
+ <el-option
176
+ v-for="item in businessTransactionOptions"
177
+ :key="item.value"
178
+ :label="item.label"
179
+ :value="item.value"
180
+ @click.native="setValue(item.value)"
181
+ />
182
+ </el-select>
183
+ </b-form-fieldset>
184
+ </div>
185
+ <div class="col-md-4">
186
+ <b-form-fieldset
187
+ horizontal
188
+ label="初次登记日期"
189
+ label-cols="4"
190
+ class="text-right"
191
+ >
192
+ <el-date-picker
193
+ v-model="queryParams.firstRegistrationDate"
194
+ type="date"
195
+ placeholder="选择日期"
196
+ >
197
+ </el-date-picker>
198
+ </b-form-fieldset>
199
+ </div>
200
+ </div>
201
+
202
+ <div class="lsh-info">相关信息</div>
203
+
204
+ <div class="row">
205
+ <div class="col-md-4">
206
+ <b-form-fieldset
207
+ horizontal
208
+ label="销售时间"
209
+ label-cols="4"
210
+ class="text-right"
211
+ >
212
+ <el-date-picker
213
+ v-model="queryParams.salesDate"
214
+ type="date"
215
+ placeholder="选择日期"
216
+ >
217
+ </el-date-picker>
218
+ </b-form-fieldset>
219
+ </div>
220
+
221
+ <div class="col-md-4">
222
+ <b-form-fieldset
223
+ horizontal
224
+ label="上牌时间"
225
+ label-cols="4"
226
+ class="text-right"
227
+ >
228
+ <el-date-picker
229
+ v-model="queryParams.licDate"
230
+ type="date"
231
+ placeholder="选择日期"
232
+ >
233
+ </el-date-picker>
234
+ </b-form-fieldset>
235
+ </div>
236
+
237
+ <div class="col-md-4">
238
+ <b-form-fieldset
239
+ horizontal
240
+ label="上次进厂时间"
241
+ label-cols="4"
242
+ class="text-right"
243
+ >
244
+ <el-date-picker
245
+ v-model="queryParams.lastServiceDate"
246
+ type="date"
247
+ placeholder="选择日期"
248
+ >
249
+ </el-date-picker>
250
+ </b-form-fieldset>
251
+ </div>
252
+
253
+ <div class="col-md-4">
254
+ <b-form-fieldset
255
+ horizontal
256
+ label="预计下次进厂时间"
257
+ label-cols="4"
258
+ class="text-right"
259
+ >
260
+ <el-date-picker
261
+ v-model="queryParams.nextServiceDate"
262
+ type="date"
263
+ placeholder="选择日期"
264
+ >
265
+ </el-date-picker>
266
+ </b-form-fieldset>
267
+ </div>
268
+
269
+ <div class="col-md-4">
270
+ <b-form-fieldset
271
+ horizontal
272
+ label="进厂里程"
273
+ label-cols="4"
274
+ class="text-right"
275
+ >
276
+ <el-input v-model.trim="queryParams.serviceMileAge" />
277
+ </b-form-fieldset>
278
+ </div>
279
+
280
+ <div class="col-md-4">
281
+ <b-form-fieldset
282
+ horizontal
283
+ label="保险到期日"
284
+ label-cols="4"
285
+ class="text-right"
286
+ >
287
+ <el-date-picker
288
+ v-model="queryParams.insExpiryDate"
289
+ type="date"
290
+ placeholder="选择日期"
291
+ >
292
+ </el-date-picker>
293
+ </b-form-fieldset>
294
+ </div>
295
+
296
+ <div class="col-md-4">
297
+ <b-form-fieldset
298
+ horizontal
299
+ label="商业险公司"
300
+ label-cols="4"
301
+ class="text-right"
302
+ >
303
+ <el-select v-model="queryParams.insVciCode" placeholder="">
304
+ <el-option
305
+ v-for="item in insTciList"
306
+ :key="item.value"
307
+ :label="item.label"
308
+ :value="item.value"
309
+ />
310
+ </el-select>
311
+ </b-form-fieldset>
312
+ </div>
313
+
314
+ <div class="col-md-4">
315
+ <b-form-fieldset
316
+ horizontal
317
+ label="交强险公司"
318
+ label-cols="4"
319
+ class="text-right"
320
+ >
321
+ <el-select v-model="queryParams.insTciCode" placeholder="">
322
+ <el-option
323
+ v-for="item in insTciList"
324
+ :key="item.value"
325
+ :label="item.label"
326
+ :value="item.value"
327
+ />
328
+ </el-select>
329
+ </b-form-fieldset>
330
+ </div>
331
+
332
+ <div class="col-md-12">
333
+ <div class="pull-right">
334
+ <b-button
335
+ v-if="showChange"
336
+ @click="changeMaster"
337
+ size="sm"
338
+ variant="success"
339
+ >车主变更</b-button
340
+ >
341
+ <b-button size="sm" variant="default" @click="cancel">取消</b-button>
342
+ <b-button size="sm" variant="primary" @click="preserve"
343
+ >保存</b-button
344
+ >
345
+ </div>
346
+ </div>
347
+ </div>
348
+ </div>
349
+ </template>
350
+
351
+
352
+ <script>
353
+ import { showBtn } from "common/api-common";
354
+
355
+ import api from "common/api";
356
+ import { SAP_ACINS_ORG, Business_Transaction_Type } from "common/ref-code";
357
+ import { ORDER_CHANGE_MASTER } from "common/resource-btn.js";
358
+ export default {
359
+ props: {
360
+ vehicleVo: {
361
+ type: Object,
362
+ default: {},
363
+ },
364
+ isAdd: {
365
+ type: Boolean,
366
+ default: false,
367
+ },
368
+ custVoSpace: {
369
+ type: Object,
370
+ default: () => {
371
+ return {};
372
+ },
373
+ },
374
+ },
375
+
376
+ data() {
377
+ return {
378
+ changeFlag: false,
379
+ queryParams: {
380
+ varient: "",
381
+ businessTransactionType: "",
382
+ },
383
+ businessTransactionOptions: [], //业务交易类型
384
+ // 保险公司
385
+ insTciList: [],
386
+ carRelaInfo: {
387
+ pageSize: 1,
388
+ pageNums: 1000,
389
+ rootPropertyIndex: 0,
390
+ fatherProperty: "rootCode",
391
+ fatherPropertyValue: "",
392
+ },
393
+ chooseList: [],
394
+ brandList: [],
395
+ sourceList: [],
396
+ vehicleClassList: [],
397
+ vehicleModelList: [],
398
+ vehicleVariantList: [],
399
+ msgList: [
400
+ // { key: "vehicleNo", msg: "请输入车架号-欧版" },
401
+ { key: "frameNo", msg: "请输入车架号-美版" },
402
+ { key: "varient", msg: "车型销售代码不存在,请重新选择品牌车系车型" },
403
+ { key: "brandName", msg: "请选择品牌" },
404
+ { key: "vehicleSource", msg: "请选择来源" },
405
+ { key: "vehicleClass", msg: "请选择车系" },
406
+ { key: "vehicleModel", msg: "请选择车型" },
407
+ { key: "vehicleVariant", msg: "请选择车款" },
408
+ ],
409
+ _relation: {},
410
+ frameNo_ls: "",
411
+ };
412
+ },
413
+ watch: {
414
+ vehicleVo: {
415
+ handler(newName, oldName) {
416
+ // if (JSON.stringify(newName) === '{}') return
417
+
418
+ this.queryParams = JSON.parse(JSON.stringify(newName)) || {};
419
+ if(this.queryParams.vehicleVariant && this.queryParams.varient){
420
+ this.queryParams.vehicleVariant = this.queryParams.vehicleVariant + "---&---" + this.queryParams.varient;
421
+ }
422
+ const {
423
+ brandName,
424
+ vehicleSource,
425
+ vehicleClass,
426
+ vehicleModel,
427
+ vehicleVariant,
428
+ } = this.queryParams;
429
+
430
+ // 默认进来查询下拉
431
+ this.getCarRelationInfoList(
432
+ {
433
+ fatherProperty: "brandCode",
434
+ fatherPropertyValue: brandName,
435
+ pageNums: 1000,
436
+ pageSize: 1,
437
+ },
438
+ "sourceList"
439
+ );
440
+ this.getCarRelationInfoList(
441
+ {
442
+ fatherProperty: "factoryCode",
443
+ fatherPropertyValue: `${brandName}|${vehicleSource}`,
444
+ pageNums: 1000,
445
+ pageSize: 1,
446
+ },
447
+ "vehicleClassList"
448
+ );
449
+ this.getCarRelationInfoList(
450
+ {
451
+ fatherProperty: "seriesCode",
452
+ fatherPropertyValue: `${brandName}|${vehicleSource}|${vehicleClass}`,
453
+ pageNums: 1000,
454
+ pageSize: 1,
455
+ },
456
+ "vehicleModelList"
457
+ );
458
+ // this.getCarRelationInfoList(
459
+ // {
460
+ // fatherProperty: "modelCode",
461
+ // fatherPropertyValue: `${brandName}|${vehicleSource}|${vehicleClass}|${vehicleModel}`,
462
+ // pageNums: 1000,
463
+ // pageSize: 1,
464
+ // },
465
+ // "vehicleVariantList"
466
+ // );
467
+ this.getCarVariantRelationInfo({
468
+ fatherProperty: "modelCode",
469
+ fatherPropertyValue: `${brandName}|${vehicleSource}|${vehicleClass}|${vehicleModel}`,
470
+ pageNums: 1000,
471
+ pageSize: 1,
472
+ })
473
+ },
474
+ immediate: true,
475
+ },
476
+ custVoSpace: {
477
+ handler(newName, oldName) {
478
+ console.log(newName, oldName);
479
+ if (!oldName) return;
480
+ const {
481
+ vehicleNo,
482
+ plateNumber,
483
+ customerName,
484
+ contactPhoneNo,
485
+ scvId,
486
+ state,
487
+ } = JSON.parse(JSON.stringify(newName)) || {};
488
+
489
+ this._relation = {
490
+ finNo: vehicleNo,
491
+ plateNumber: plateNumber,
492
+ custName: customerName,
493
+ custPhone: contactPhoneNo,
494
+ relationType: 0,
495
+ scvId: scvId,
496
+ state: 0,
497
+ };
498
+ },
499
+ immediate: true,
500
+ },
501
+ },
502
+
503
+ created() {
504
+ this.init();
505
+ },
506
+ computed: {
507
+ showChange() {
508
+ return showBtn(ORDER_CHANGE_MASTER);
509
+ },
510
+ // 无需填写fin码标识
511
+ finFlag() {
512
+ return this.global.userInfo.nonManufacturersAuthorizedStoreTag || !((this.global.userInfo.benzProductVehicleSet || []).includes(this.queryParams.brandName))
513
+ }
514
+ },
515
+
516
+ methods: {
517
+ setValue(label) {
518
+ this.$set(this.queryParams, "businessTransactionType", label);
519
+ },
520
+ // 根据美版车架号查车
521
+ handleQuery() {
522
+ if (!this.queryParams.frameNo || this.queryParams.frameNo.length != 17) {
523
+ return this.$message.warning("美版车架号必须是17位");
524
+ }
525
+ const params = {
526
+ frameNo: this.queryParams.frameNo,
527
+ pageStart: 1,
528
+ pageNums: 1000,
529
+ };
530
+ api.liApi.custVehcile.getVehicleByVin(params, (res) => {
531
+ if (res && res.data.code === "success" && res.data.obj && res.data.obj.length) {
532
+ this.frameNo_ls = this.queryParams.frameNo;
533
+ console.log(this.frameNo_ls, this.queryParams.frameNo);
534
+ this.queryParams = res.data.obj[0] || {};
535
+ // 防止查不到数据,将输入的车架号清空
536
+ this.queryParams.frameNo =
537
+ this.queryParams.frameNo || this.frameNo_ls;
538
+ // if (!!this.queryParams.vehicleNo) this.queryParams.vinFlag = true;
539
+ }
540
+ });
541
+ },
542
+ changeMaster() {
543
+ if (!this.queryParams.frameNo) {
544
+ this.$message({
545
+ message: "请选择美版VIN",
546
+ type: "warning",
547
+ });
548
+ return;
549
+ }
550
+
551
+ if (!this.queryParams.brandName) {
552
+ this.$message({
553
+ message: "请输入品牌",
554
+ type: "warning",
555
+ });
556
+ return;
557
+ }
558
+
559
+ if (!this.queryParams.vehicleSource) {
560
+ this.$message({
561
+ message: "请选择来源",
562
+ type: "warning",
563
+ });
564
+ return;
565
+ }
566
+
567
+ if (!this.queryParams.vehicleClass) {
568
+ this.$message({
569
+ message: "请选择车系",
570
+ type: "warning",
571
+ });
572
+ return;
573
+ }
574
+ if (!this.queryParams.vehicleModel) {
575
+ this.$message({
576
+ message: "请选择车型",
577
+ type: "warning",
578
+ });
579
+ return;
580
+ }
581
+ if (!this.queryParams.vehicleVariant) {
582
+ this.$message({
583
+ message: "请选择车款",
584
+ type: "warning",
585
+ });
586
+ return;
587
+ }
588
+ if(this.isAdd && (this.global.userInfo.benzProductVehicleSet || []).includes(this.queryParams.brandName)){
589
+ if (!this.queryParams.frameNo || this.queryParams.frameNo.length != 17) {
590
+ return this.$message.warning("美版车架号必须是17位");
591
+ }
592
+ if(/^\d+$/.test(this.queryParams.frameNo.slice(3,5))){
593
+ return this.$message.warning('美版(VIN)第4位和第5位,不可以同时为数字')
594
+ }
595
+ }
596
+ if(!this.finFlag){
597
+ if (!this.queryParams.vehicleNo) {
598
+ return this.$message.warning('请输入车架号-欧版FIN')
599
+ }
600
+ if(this.queryParams.vehicleNo.slice(3,9) != this.queryParams.varient.slice(0,6)){
601
+ return this.$message.warning('FIN码第4-9位,与车型销售代码前6位不一致,请重新修改')
602
+ }
603
+ }
604
+ const queryParams = {
605
+ ...this.queryParams,
606
+ vehicleVariant: this.queryParams.vehicleVariant.split('---&---')[0]
607
+ }
608
+ if (this.bindFlag) {
609
+ this.$emit("changeMaster", queryParams);
610
+ return;
611
+ }
612
+ const params = {
613
+ saveFrom: 0,
614
+ custVo: {
615
+ ...this.custVoSpace,
616
+ ...queryParams,
617
+ sapSyncTime: undefined,
618
+ }
619
+ };
620
+ api.liApi.custVehcile.setCustVehicle(params, (res) => {
621
+ if (res && res.data.code === "success") {
622
+ this.$emit("changeMaster", res.data.obj.custVo);
623
+ this.$message({
624
+ message: "变更成功",
625
+ type: "success",
626
+ });
627
+ }
628
+ });
629
+ },
630
+ init() {
631
+ this.queryRef({ refCode: SAP_ACINS_ORG }, "insTciList", false);
632
+ this.getCarRelationInfo("brandList");
633
+ this.queryRef(
634
+ { refCode: Business_Transaction_Type },
635
+ "businessTransactionOptions",
636
+ false
637
+ );
638
+ },
639
+
640
+ /**
641
+ * @desc 取消
642
+ */
643
+ cancel() {
644
+ this.$emit("cancel");
645
+ },
646
+
647
+ /**
648
+ * @desc 保存
649
+ */
650
+ preserve() {
651
+ let len = this.msgList.length;
652
+ for (let i = 0; i < len; i++) {
653
+ let key = this.msgList[i].key;
654
+ if (!this.queryParams[key]) {
655
+ this.$message({
656
+ message: this.msgList[i].msg,
657
+ type: "warning",
658
+ });
659
+ return;
660
+ }
661
+ }
662
+ if(this.isAdd && (this.global.userInfo.benzProductVehicleSet || []).includes(this.queryParams.brandName)){
663
+ if (!this.queryParams.frameNo || this.queryParams.frameNo.length != 17) {
664
+ return this.$message.warning("美版车架号必须是17位");
665
+ }
666
+ if(/^\d+$/.test(this.queryParams.frameNo.slice(3,5))){
667
+ return this.$message.warning('美版(VIN)第4位和第5位,不可以同时为数字')
668
+ }
669
+ }
670
+ if(!this.finFlag){
671
+ if (!this.queryParams.vehicleNo) {
672
+ return this.$message.warning('请输入车架号-欧版FIN')
673
+ }
674
+ if(this.queryParams.vehicleNo.slice(3,9) != this.queryParams.varient.slice(0,6)){
675
+ return this.$message.warning('FIN码第4-9位,与车型销售代码前6位不一致,请重新修改')
676
+ }
677
+ }
678
+ if (
679
+ this.queryParams.brandName == "smart精灵" &&
680
+ !this.queryParams.businessTransactionType
681
+ ) {
682
+ this.$message({
683
+ message: "请选择业务交易类型",
684
+ type: "warning",
685
+ });
686
+ return;
687
+ }
688
+ const params = {
689
+ saveFrom: 0,
690
+ custVo: null,
691
+ vehicleVo: {
692
+ ...this.queryParams,
693
+ vehicleVariant: this.queryParams.vehicleVariant.split('---&---')[0]
694
+ },
695
+ relationList: [],
696
+ };
697
+ (params.relationList = [
698
+ {
699
+ vinNo: this.queryParams.frameNo,
700
+ finNo: this.queryParams.vehicleNo,
701
+ plateNumber: this.queryParams.plateNumber,
702
+ custName: this.queryParams.customerName,
703
+ custPhone: this.queryParams.contactPhoneNo,
704
+ relationType: 0,
705
+ scvId: this.queryParams.scvId,
706
+ state: 0,
707
+ },
708
+ ]),
709
+ // this.getCarCodeAndSalesCode(params);
710
+ this.setCustVehicle(params);
711
+ // this.$emit('preserve', this.queryParams)
712
+ // api.liApi.custVehcile.setCustVehicle(params, res => {
713
+ // if (res && res.data.code === 'success') {
714
+ // this.tableList = res.data.obj || []
715
+ // this.$emit('preserve', this.queryParams)
716
+ // }
717
+ // })
718
+ },
719
+
720
+ // 查询车型销售代码
721
+ getCarCodeAndSalesCode(params) {
722
+ if (params.vehicleVo.frameNo.length !== 17) {
723
+ this.$message({
724
+ message: "美版车架号必须是17位",
725
+ type: "warning",
726
+ });
727
+ return;
728
+ }
729
+ const {
730
+ brandName: brandCode,
731
+ vehicleSource: factoryCode,
732
+ vehicleClass: seriesCode,
733
+ vehicleModel: modelCode,
734
+ vehicleVariant: displayName,
735
+ } = this.queryParams;
736
+ const option = {
737
+ brandCode,
738
+ factoryCode,
739
+ seriesCode,
740
+ modelCode,
741
+ displayName,
742
+ };
743
+ api.liApi.custVehcile.getCarCodeAndSalesCode(option, (res) => {
744
+ if (res && res.data.code === "success") {
745
+ this.queryParams.varient =
746
+ res.data.obj[0] && res.data.obj[0].carModelCode;
747
+ this.setCustVehicle(params);
748
+ }
749
+ });
750
+ },
751
+ //保存更新
752
+ setCustVehicle(params) {
753
+ const queryParams = {
754
+ ...this.queryParams,
755
+ vehicleVariant: this.queryParams.vehicleVariant.split('---&---')[0]
756
+ }
757
+ if (this.isAdd) {
758
+ this.$emit("preserve", queryParams, true);
759
+ } else {
760
+ if (JSON.stringify(this._relation) == "{}") {
761
+ params.relationList = [];
762
+ }
763
+ if (!queryParams.contactPhoneNo || (!!queryParams.contactPhoneNo && !queryParams.bpNum)) {
764
+ params.relationList = undefined
765
+ }
766
+ api.liApi.custVehcile.setCustVehicle(params, (res) => {
767
+ if (res && res.data.code === "success") {
768
+ // this.tableList = res.data.obj || []
769
+ this.$message({
770
+ message: "保存成功",
771
+ type: "success",
772
+ });
773
+ this.$emit("preserve", queryParams, false);
774
+ }
775
+ if (res && res.data.code === "carIsBind") {
776
+ this.$emit("preserve", queryParams, false);
777
+ }
778
+ });
779
+ }
780
+ },
781
+ /**
782
+ * @desc 选择车辆信息
783
+ */
784
+ queryCarInfo(val, code) {
785
+ // console.log(`test:>${code}`, val)
786
+ // if (!val || !this.changeFlag) return
787
+ if (!val) return;
788
+ switch (code) {
789
+ case "brandCode":
790
+ this.$nextTick(() => {
791
+ if(this.finFlag){
792
+ this.queryParams.vehicleNo = ''
793
+ }
794
+ });
795
+ if (val != "smart精灵") {
796
+ this.$set(this.queryParams, "businessTransactionType", "");
797
+ }
798
+ this.queryParams.brandName = val;
799
+ this.carRelaInfo.fatherProperty = code;
800
+ this.carRelaInfo.fatherPropertyValue = val;
801
+ this.vehicleClassList = [];
802
+ this.vehicleModelList = [];
803
+ this.vehicleVariantList = [];
804
+ this.queryParams.vehicleSource = "";
805
+ this.queryParams.vehicleClass = "";
806
+ this.queryParams.vehicleModel = "";
807
+ this.queryParams.vehicleVariant = "";
808
+ this.queryParams = JSON.parse(JSON.stringify(this.queryParams));
809
+ this.getCarRelationInfo("sourceList");
810
+ break;
811
+
812
+ case "factoryCode":
813
+ this.queryParams.vehicleSource = val;
814
+ this.carRelaInfo.fatherProperty = code;
815
+ this.carRelaInfo.fatherPropertyValue = `${this.queryParams.brandName}|${val}`;
816
+ this.vehicleModelList = [];
817
+ this.vehicleVariantList = [];
818
+ this.queryParams.vehicleClass = "";
819
+ this.queryParams.vehicleModel = "";
820
+ this.queryParams.vehicleVariant = "";
821
+ this.queryParams = JSON.parse(JSON.stringify(this.queryParams));
822
+ this.getCarRelationInfo("vehicleClassList");
823
+ break;
824
+
825
+ case "seriesCode":
826
+ this.queryParams.vehicleClass = val;
827
+ this.carRelaInfo.fatherProperty = code;
828
+ this.carRelaInfo.fatherPropertyValue = `${this.queryParams.brandName}|${this.queryParams.vehicleSource}|${val}`;
829
+ this.vehicleVariantList = [];
830
+ this.queryParams.vehicleModel = "";
831
+ this.queryParams.vehicleVariant = "";
832
+ this.queryParams = JSON.parse(JSON.stringify(this.queryParams));
833
+ this.getCarRelationInfo("vehicleModelList");
834
+ break;
835
+
836
+ case "modelCode":
837
+ this.queryParams.vehicleModel = val;
838
+ this.carRelaInfo.fatherProperty = code;
839
+ this.carRelaInfo.fatherPropertyValue = `${this.queryParams.brandName}|${this.queryParams.vehicleSource}|${this.queryParams.vehicleClass}|${val}`;
840
+ this.queryParams.vehicleVariant = "";
841
+ this.queryParams.varient = "";
842
+ this.queryParams = JSON.parse(JSON.stringify(this.queryParams));
843
+ // this.getCarRelationInfo("vehicleVariantList");
844
+ this.getCarVariantRelationInfo(this.carRelaInfo)
845
+ break;
846
+ case "vehicleCode":
847
+ this.queryParams.vehicleVariant = val;
848
+ // let params = {
849
+ // brandCode: this.queryParams.brandName,
850
+ // factoryCode: this.queryParams.vehicleSource,
851
+ // seriesCode: this.queryParams.vehicleClass,
852
+ // modelCode: this.queryParams.vehicleModel,
853
+ // displayName: this.queryParams.vehicleVariant,
854
+ // };
855
+
856
+ // api.liApi.custVehcile.getCarCodeAndSalesCode(params, (res) => {
857
+ // if (res && res.data.code === "success") {
858
+ // let { carCode, carModelCode } = res.data.obj[0];
859
+ // carCode && (this.queryParams.carCode = carCode);
860
+ // if (carModelCode) {
861
+ // this.queryParams.carModelCode = carModelCode;
862
+ // this.queryParams.varient = carModelCode;
863
+ // }
864
+ // }
865
+ // });
866
+ let carModelCode = val.split('---&---')[1]
867
+ this.queryParams.carModelCode = carModelCode
868
+ this.queryParams.varient = carModelCode
869
+ }
870
+ },
871
+
872
+ /**
873
+ * 模糊查询车架号
874
+ * @method queryCarVinList
875
+ * @param {string} 输入车架号
876
+ * @param {callBack} cb 回调
877
+ */
878
+ queryCarVinList(val, cb) {
879
+ if (!val || val.length < 6) {
880
+ cb([]);
881
+ return;
882
+ }
883
+ api.liApi.custVehcile.queryCarVinList(
884
+ { vinNoReverse: val, pageNums: 1000 },
885
+ (res) => {
886
+ if (res && res.data.code === "success") {
887
+ if (res.data.obj.list && res.data.obj.list.length > 0) {
888
+ let list = res.data.obj.list.map((item, index) => {
889
+ return { value: item.vinNo, index: index };
890
+ });
891
+ cb(list);
892
+ this.chooseList = res.data.obj.list;
893
+ } else {
894
+ cb([]);
895
+ }
896
+ }
897
+ }
898
+ );
899
+ },
900
+
901
+ /**
902
+ * 车架号下拉选择
903
+ * @method handleSelect
904
+ * @param {object} item 当前选择项
905
+ */
906
+ handleSelect() {
907
+ const params = {
908
+ frameNo: this.value,
909
+ pageStart: 1,
910
+ pageNums: 1000,
911
+ };
912
+ api.liApi.custVehcile.getVehicleByVin(params, (res) => {
913
+ if (res && res.data.code === "success") {
914
+ this.queryParams = res.data.obj[0] || {};
915
+ }
916
+ });
917
+ },
918
+
919
+ /**
920
+ * @desc 查询车辆信息
921
+ */
922
+ getCarRelationInfo(code) {
923
+ api.liApi.custVehcile.getCarRelationInfo(this.carRelaInfo, (res) => {
924
+ if (res && res.data.code === "success") {
925
+ this[code] = res.data.obj.list.map((item) => {
926
+ return { label: item, value: item };
927
+ });
928
+ // console.log(`test:>${code}`, this[code])
929
+ }
930
+ });
931
+ },
932
+
933
+ /**
934
+ * @desc 查询初始化进来下拉
935
+ */
936
+ getCarRelationInfoList(params, code) {
937
+ if (!params.fatherPropertyValue) {
938
+ return;
939
+ }
940
+ api.liApi.custVehcile.getCarRelationInfo(params, (res) => {
941
+ if (res && res.data.code === "success") {
942
+ this[code] = res.data.obj.list.map((item) => {
943
+ return { label: item, value: item };
944
+ });
945
+ // console.log(`test:>${code}`, this[code])
946
+ }
947
+ });
948
+ },
949
+ // 获取车款+车型销售代码
950
+ getCarVariantRelationInfo(params){
951
+ this.global.post(this.global.isdev + '/systemFoundation_service/v1/sys/car/getCarVariantRelationInfo', params, obj => {
952
+ this.vehicleVariantList = obj.list.map(item => {
953
+ return {
954
+ ...item,
955
+ label: `${item.displayName}---&---${item.carModelCode}`,
956
+ }
957
+ })
958
+ })
959
+ },
960
+
961
+ /**
962
+ * @desc 查询数字字典
963
+ */
964
+ queryRef(params, key, flag) {
965
+ api.ref.getDataDictionarys(params, (res) => {
966
+ if (res && res.data.code == "success") {
967
+ const Vo = res.data.obj || {};
968
+ const list = Vo.referenceDetailInfos || [];
969
+ this[key] = list.map(
970
+ ({ refDetailName: label, refDetailCode: value }) => ({
971
+ label,
972
+ value,
973
+ })
974
+ );
975
+ flag && (this[key] = [{ label: "全部", value: "" }, ..._list]);
976
+ // console.log(`test:>${key}`, this[key])
977
+ }
978
+ });
979
+ },
980
+ },
981
+ };
982
+ </script>
983
+
984
+ <style lang="scss">
985
+ .LSH-Vehicle {
986
+ .lsh-info {
987
+ font-size: 18px;
988
+ padding-left: 20px;
989
+ }
990
+ .el-select,
991
+ .el-autocomplete {
992
+ width: 100%;
993
+ }
994
+ }
995
+ </style>
996
+ <style lang="scss" scoped>
997
+ .el-select-dropdown__list{
998
+ .el-select-dropdown__item{
999
+ max-width: 100% !important;
1000
+ }
1001
+ }
1002
+ </style>