lshcomment 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 (430) hide show
  1. package/package.json +16 -0
  2. package/src/assets/Porsche/iconfont.css +19 -0
  3. package/src/assets/Porsche/iconfont.eot +0 -0
  4. package/src/assets/Porsche/iconfont.js +1 -0
  5. package/src/assets/Porsche/iconfont.svg +36 -0
  6. package/src/assets/Porsche/iconfont.ttf +0 -0
  7. package/src/assets/Porsche/iconfont.woff +0 -0
  8. package/src/assets/css/_bootstrap-variables.scss +108 -0
  9. package/src/assets/css/_core-variables.scss +1 -0
  10. package/src/assets/css/_custom.scss +4 -0
  11. package/src/assets/css/bootstrap/_alert.scss +48 -0
  12. package/src/assets/css/bootstrap/_badge.scss +48 -0
  13. package/src/assets/css/bootstrap/_breadcrumb.scss +38 -0
  14. package/src/assets/css/bootstrap/_button-group.scss +198 -0
  15. package/src/assets/css/bootstrap/_buttons.scss +141 -0
  16. package/src/assets/css/bootstrap/_card.scss +223 -0
  17. package/src/assets/css/bootstrap/_carousel.scss +185 -0
  18. package/src/assets/css/bootstrap/_close.scss +29 -0
  19. package/src/assets/css/bootstrap/_code.scss +64 -0
  20. package/src/assets/css/bootstrap/_custom-forms.scss +254 -0
  21. package/src/assets/css/bootstrap/_dropdown.scss +128 -0
  22. package/src/assets/css/bootstrap/_forms.scss +390 -0
  23. package/src/assets/css/bootstrap/_functions.scss +90 -0
  24. package/src/assets/css/bootstrap/_grid.scss +53 -0
  25. package/src/assets/css/bootstrap/_images.scss +43 -0
  26. package/src/assets/css/bootstrap/_input-group.scss +176 -0
  27. package/src/assets/css/bootstrap/_jumbotron.scss +16 -0
  28. package/src/assets/css/bootstrap/_list-group.scss +114 -0
  29. package/src/assets/css/bootstrap/_media.scss +8 -0
  30. package/src/assets/css/bootstrap/_mixins.scss +41 -0
  31. package/src/assets/css/bootstrap/_modal.scss +142 -0
  32. package/src/assets/css/bootstrap/_nav.scss +120 -0
  33. package/src/assets/css/bootstrap/_navbar.scss +284 -0
  34. package/src/assets/css/bootstrap/_pagination.scss +66 -0
  35. package/src/assets/css/bootstrap/_popover.scss +195 -0
  36. package/src/assets/css/bootstrap/_print.scss +111 -0
  37. package/src/assets/css/bootstrap/_progress.scss +32 -0
  38. package/src/assets/css/bootstrap/_reboot.scss +481 -0
  39. package/src/assets/css/bootstrap/_tables.scss +142 -0
  40. package/src/assets/css/bootstrap/_tooltip.scss +107 -0
  41. package/src/assets/css/bootstrap/_transitions.scss +34 -0
  42. package/src/assets/css/bootstrap/_type.scss +123 -0
  43. package/src/assets/css/bootstrap/_utilities.scss +14 -0
  44. package/src/assets/css/bootstrap/_variables.scss +636 -0
  45. package/src/assets/css/bootstrap/bootstrap-grid.scss +37 -0
  46. package/src/assets/css/bootstrap/bootstrap-reboot.scss +9 -0
  47. package/src/assets/css/bootstrap/bootstrap.scss +48 -0
  48. package/src/assets/css/bootstrap/mixins/_alert.scss +13 -0
  49. package/src/assets/css/bootstrap/mixins/_background-variant.scss +12 -0
  50. package/src/assets/css/bootstrap/mixins/_badge.scss +12 -0
  51. package/src/assets/css/bootstrap/mixins/_border-radius.scss +35 -0
  52. package/src/assets/css/bootstrap/mixins/_box-shadow.scss +5 -0
  53. package/src/assets/css/bootstrap/mixins/_breakpoints.scss +105 -0
  54. package/src/assets/css/bootstrap/mixins/_buttons.scss +83 -0
  55. package/src/assets/css/bootstrap/mixins/_clearfix.scss +7 -0
  56. package/src/assets/css/bootstrap/mixins/_float.scss +9 -0
  57. package/src/assets/css/bootstrap/mixins/_forms.scss +81 -0
  58. package/src/assets/css/bootstrap/mixins/_gradients.scss +37 -0
  59. package/src/assets/css/bootstrap/mixins/_grid-framework.scss +56 -0
  60. package/src/assets/css/bootstrap/mixins/_grid.scss +47 -0
  61. package/src/assets/css/bootstrap/mixins/_hover.scss +60 -0
  62. package/src/assets/css/bootstrap/mixins/_image.scss +36 -0
  63. package/src/assets/css/bootstrap/mixins/_list-group.scss +26 -0
  64. package/src/assets/css/bootstrap/mixins/_lists.scss +7 -0
  65. package/src/assets/css/bootstrap/mixins/_nav-divider.scss +10 -0
  66. package/src/assets/css/bootstrap/mixins/_navbar-align.scss +9 -0
  67. package/src/assets/css/bootstrap/mixins/_pagination.scss +22 -0
  68. package/src/assets/css/bootstrap/mixins/_reset-text.scss +18 -0
  69. package/src/assets/css/bootstrap/mixins/_resize.scss +6 -0
  70. package/src/assets/css/bootstrap/mixins/_screen-reader.scss +35 -0
  71. package/src/assets/css/bootstrap/mixins/_size.scss +6 -0
  72. package/src/assets/css/bootstrap/mixins/_table-row.scss +30 -0
  73. package/src/assets/css/bootstrap/mixins/_text-emphasis.scss +12 -0
  74. package/src/assets/css/bootstrap/mixins/_text-hide.scss +8 -0
  75. package/src/assets/css/bootstrap/mixins/_text-truncate.scss +8 -0
  76. package/src/assets/css/bootstrap/mixins/_transition.scss +9 -0
  77. package/src/assets/css/bootstrap/mixins/_visibility.scss +5 -0
  78. package/src/assets/css/bootstrap/utilities/_align.scss +6 -0
  79. package/src/assets/css/bootstrap/utilities/_background.scss +6 -0
  80. package/src/assets/css/bootstrap/utilities/_borders.scss +52 -0
  81. package/src/assets/css/bootstrap/utilities/_clearfix.scss +3 -0
  82. package/src/assets/css/bootstrap/utilities/_display.scss +53 -0
  83. package/src/assets/css/bootstrap/utilities/_embed.scss +52 -0
  84. package/src/assets/css/bootstrap/utilities/_flex.scss +44 -0
  85. package/src/assets/css/bootstrap/utilities/_float.scss +9 -0
  86. package/src/assets/css/bootstrap/utilities/_position.scss +25 -0
  87. package/src/assets/css/bootstrap/utilities/_screenreaders.scss +11 -0
  88. package/src/assets/css/bootstrap/utilities/_sizing.scss +10 -0
  89. package/src/assets/css/bootstrap/utilities/_spacing.scss +41 -0
  90. package/src/assets/css/bootstrap/utilities/_text.scss +49 -0
  91. package/src/assets/css/bootstrap/utilities/_visibility.scss +11 -0
  92. package/src/assets/css/core/_animate.scss +44 -0
  93. package/src/assets/css/core/_aside.scss +64 -0
  94. package/src/assets/css/core/_avatars.scss +51 -0
  95. package/src/assets/css/core/_badge.scss +3 -0
  96. package/src/assets/css/core/_breadcrumb-menu.scss +35 -0
  97. package/src/assets/css/core/_breadcrumb.scss +6 -0
  98. package/src/assets/css/core/_buttons.scss +575 -0
  99. package/src/assets/css/core/_callout.scss +55 -0
  100. package/src/assets/css/core/_card.scss +191 -0
  101. package/src/assets/css/core/_charts.scss +9 -0
  102. package/src/assets/css/core/_dropdown.scss +69 -0
  103. package/src/assets/css/core/_footer.scss +8 -0
  104. package/src/assets/css/core/_grid.scss +15 -0
  105. package/src/assets/css/core/_input-group.scss +6 -0
  106. package/src/assets/css/core/_input.scss +26 -0
  107. package/src/assets/css/core/_layout.scss +397 -0
  108. package/src/assets/css/core/_loading.scss +128 -0
  109. package/src/assets/css/core/_mixins.scss +116 -0
  110. package/src/assets/css/core/_mobile.scss +0 -0
  111. package/src/assets/css/core/_modal.scss +16 -0
  112. package/src/assets/css/core/_nav.scss +32 -0
  113. package/src/assets/css/core/_navbar.scss +106 -0
  114. package/src/assets/css/core/_others.scss +4 -0
  115. package/src/assets/css/core/_progress.scss +15 -0
  116. package/src/assets/css/core/_rtl.scss +267 -0
  117. package/src/assets/css/core/_sidebar.scss +426 -0
  118. package/src/assets/css/core/_switches.scss +301 -0
  119. package/src/assets/css/core/_tables.scss +72 -0
  120. package/src/assets/css/core/_temp.scss +47 -0
  121. package/src/assets/css/core/_typography.scss +36 -0
  122. package/src/assets/css/core/_utilities.scss +3 -0
  123. package/src/assets/css/core/_variables.scss +174 -0
  124. package/src/assets/css/core/_widgets.scss +253 -0
  125. package/src/assets/css/core/core.scss +40 -0
  126. package/src/assets/css/core/utilities/_background.scss +8 -0
  127. package/src/assets/css/core/utilities/_borders.scss +18 -0
  128. package/src/assets/css/core/utilities/_display.scss +18 -0
  129. package/src/assets/css/global.scss +111 -0
  130. package/src/assets/css/iconfont.css +85 -0
  131. package/src/assets/css/loading.css +18 -0
  132. package/src/assets/css/main.scss +15 -0
  133. package/src/assets/css/themes/default.scss +418 -0
  134. package/src/assets/css/themes/first.css +25 -0
  135. package/src/assets/css/vendors/_vendors.scss +1 -0
  136. package/src/assets/css/vendors/chart.js/chart.scss +45 -0
  137. package/src/assets/financial/demo.css +539 -0
  138. package/src/assets/financial/demo_index.html +230 -0
  139. package/src/assets/financial/iconfont.css +21 -0
  140. package/src/assets/financial/iconfont.js +1 -0
  141. package/src/assets/financial/iconfont.json +23 -0
  142. package/src/assets/financial/iconfont.ttf +0 -0
  143. package/src/assets/font_jipan/demo.css +539 -0
  144. package/src/assets/font_jipan/demo_index.html +211 -0
  145. package/src/assets/font_jipan/iconfont.css +19 -0
  146. package/src/assets/font_jipan/iconfont.js +1 -0
  147. package/src/assets/font_jipan/iconfont.json +16 -0
  148. package/src/assets/font_jipan/iconfont.ttf +0 -0
  149. package/src/assets/font_jipan/iconfont.woff +0 -0
  150. package/src/assets/font_jipan/iconfont.woff2 +0 -0
  151. package/src/assets/fontgift/demo.css +539 -0
  152. package/src/assets/fontgift/demo_index.html +207 -0
  153. package/src/assets/fontgift/iconfont.css +17 -0
  154. package/src/assets/fontgift/iconfont.js +1 -0
  155. package/src/assets/fontgift/iconfont.json +16 -0
  156. package/src/assets/fontgift/iconfont.ttf +0 -0
  157. package/src/assets/fonts/iconfont.eot +0 -0
  158. package/src/assets/fonts/iconfont.svg +79 -0
  159. package/src/assets/fonts/iconfont.ttf +0 -0
  160. package/src/assets/fonts/iconfont.woff +0 -0
  161. package/src/assets/img/1.jpg +0 -0
  162. package/src/assets/img/2.jpg +0 -0
  163. package/src/assets/img/404.jpg +0 -0
  164. package/src/assets/img/A01-Line.png +0 -0
  165. package/src/assets/img/A01.png +0 -0
  166. package/src/assets/img/W02-Line.png +0 -0
  167. package/src/assets/img/W02.png +0 -0
  168. package/src/assets/img/arrow-left.png +0 -0
  169. package/src/assets/img/arrow-right.png +0 -0
  170. package/src/assets/img/borad-check.png +0 -0
  171. package/src/assets/img/call-conference-end.png +0 -0
  172. package/src/assets/img/call-conference.png +0 -0
  173. package/src/assets/img/call-consult-end.png +0 -0
  174. package/src/assets/img/call-consult-out.png +0 -0
  175. package/src/assets/img/call-consult.png +0 -0
  176. package/src/assets/img/call-expansion-menu.png +0 -0
  177. package/src/assets/img/call-expansion.png +0 -0
  178. package/src/assets/img/call-hang-up.png +0 -0
  179. package/src/assets/img/call-hold.png +0 -0
  180. package/src/assets/img/call-holding.png +0 -0
  181. package/src/assets/img/call-shrink-menu.png +0 -0
  182. package/src/assets/img/call-shrink.png +0 -0
  183. package/src/assets/img/call-transfer-end.png +0 -0
  184. package/src/assets/img/call-transfer.png +0 -0
  185. package/src/assets/img/call.png +0 -0
  186. package/src/assets/img/cancle-keep.png +0 -0
  187. package/src/assets/img/card.png +0 -0
  188. package/src/assets/img/cash.png +0 -0
  189. package/src/assets/img/customer-portrayal-blue.png +0 -0
  190. package/src/assets/img/customer-portrayal-white.png +0 -0
  191. package/src/assets/img/error.png +0 -0
  192. package/src/assets/img/iris.png +0 -0
  193. package/src/assets/img/left-kuang.png +0 -0
  194. package/src/assets/img/lockimg.png +0 -0
  195. package/src/assets/img/offLine.png +0 -0
  196. package/src/assets/img/success.png +0 -0
  197. package/src/assets/img/tishi.png +0 -0
  198. package/src/assets/img/userimg.png +0 -0
  199. package/src/assets/iocnfont/AI/demo.css +539 -0
  200. package/src/assets/iocnfont/AI/demo_index.html +211 -0
  201. package/src/assets/iocnfont/AI/iconfont.css +19 -0
  202. package/src/assets/iocnfont/AI/iconfont.js +1 -0
  203. package/src/assets/iocnfont/AI/iconfont.json +16 -0
  204. package/src/assets/iocnfont/AI/iconfont.ttf +0 -0
  205. package/src/assets/iocnfont/AI/iconfont.woff +0 -0
  206. package/src/assets/iocnfont/AI/iconfont.woff2 +0 -0
  207. package/src/assets/iocnfont/add/demo.css +539 -0
  208. package/src/assets/iocnfont/add/demo_index.html +212 -0
  209. package/src/assets/iocnfont/add/iconfont.css +20 -0
  210. package/src/assets/iocnfont/add/iconfont.js +1 -0
  211. package/src/assets/iocnfont/add/iconfont.json +16 -0
  212. package/src/assets/iocnfont/add/iconfont.svg +21 -0
  213. package/src/assets/iocnfont/add/iconfont.ttf +0 -0
  214. package/src/assets/iocnfont/add/iconfont.woff +0 -0
  215. package/src/assets/iocnfont/add/iconfont.woff2 +0 -0
  216. package/src/assets/iocnfont/addsf/demo.css +539 -0
  217. package/src/assets/iocnfont/addsf/demo_index.html +506 -0
  218. package/src/assets/iocnfont/addsf/iconfont.css +69 -0
  219. package/src/assets/iocnfont/addsf/iconfont.js +1 -0
  220. package/src/assets/iocnfont/addsf/iconfont.json +107 -0
  221. package/src/assets/iocnfont/addsf/iconfont.ttf +0 -0
  222. package/src/assets/iocnfont/arrow/demo.css +370 -0
  223. package/src/assets/iocnfont/arrow/demo_fontclass.html +58 -0
  224. package/src/assets/iocnfont/arrow/demo_symbol.html +87 -0
  225. package/src/assets/iocnfont/arrow/demo_unicode.html +96 -0
  226. package/src/assets/iocnfont/arrow/iconfont.css +36 -0
  227. package/src/assets/iocnfont/arrow/iconfont.eot +0 -0
  228. package/src/assets/iocnfont/arrow/iconfont.js +1 -0
  229. package/src/assets/iocnfont/arrow/iconfont.svg +35 -0
  230. package/src/assets/iocnfont/arrow/iconfont.ttf +0 -0
  231. package/src/assets/iocnfont/arrow/iconfont.woff +0 -0
  232. package/src/assets/iocnfont/company/demo.css +539 -0
  233. package/src/assets/iocnfont/company/demo_index.html +253 -0
  234. package/src/assets/iocnfont/company/iconfont.css +24 -0
  235. package/src/assets/iocnfont/company/iconfont.js +1 -0
  236. package/src/assets/iocnfont/company/iconfont.json +30 -0
  237. package/src/assets/iocnfont/company/iconfont.ttf +0 -0
  238. package/src/assets/iocnfont/iconfont-otr/iconfont.css +39 -0
  239. package/src/assets/iocnfont/iconfont-otr/iconfont.eot +0 -0
  240. package/src/assets/iocnfont/iconfont-otr/iconfont.js +1 -0
  241. package/src/assets/iocnfont/iconfont-otr/iconfont.json +23 -0
  242. package/src/assets/iocnfont/iconfont-otr/iconfont.svg +14 -0
  243. package/src/assets/iocnfont/iconfont-otr/iconfont.ttf +0 -0
  244. package/src/assets/iocnfont/iconfont-otr/iconfont.woff +0 -0
  245. package/src/assets/iocnfont/iconfont.css +89 -0
  246. package/src/assets/iocnfont/iconfont.eot +0 -0
  247. package/src/assets/iocnfont/iconfont.js +1 -0
  248. package/src/assets/iocnfont/iconfont.svg +134 -0
  249. package/src/assets/iocnfont/iconfont.ttf +0 -0
  250. package/src/assets/iocnfont/iconfont.woff +0 -0
  251. package/src/assets/iocnfont/vehicle/iconfont.css +31 -0
  252. package/src/assets/iocnfont/vehicle/iconfont.eot +0 -0
  253. package/src/assets/iocnfont/vehicle/iconfont.js +1 -0
  254. package/src/assets/iocnfont/vehicle/iconfont.svg +54 -0
  255. package/src/assets/iocnfont/vehicle/iconfont.ttf +0 -0
  256. package/src/assets/iocnfont/vehicle/iconfont.woff +0 -0
  257. package/src/assets/lixinghang/iconfont.css +50 -0
  258. package/src/assets/lixinghang/iconfont.eot +0 -0
  259. package/src/assets/lixinghang/iconfont.js +1 -0
  260. package/src/assets/lixinghang/iconfont.json +58 -0
  261. package/src/assets/lixinghang/iconfont.svg +18 -0
  262. package/src/assets/lixinghang/iconfont.ttf +0 -0
  263. package/src/assets/lixinghang/iconfont.woff +0 -0
  264. package/src/assets/lixinghang/iconfont.woff2 +0 -0
  265. package/src/assets/privacy/demo.css +539 -0
  266. package/src/assets/privacy/demo_index.html +207 -0
  267. package/src/assets/privacy/iconfont.css +17 -0
  268. package/src/assets/privacy/iconfont.js +1 -0
  269. package/src/assets/privacy/iconfont.json +16 -0
  270. package/src/assets/privacy/iconfont.ttf +0 -0
  271. package/src/assets/sheche/demo.css +539 -0
  272. package/src/assets/sheche/demo_index.html +230 -0
  273. package/src/assets/sheche/iconfont.css +21 -0
  274. package/src/assets/sheche/iconfont.js +1 -0
  275. package/src/assets/sheche/iconfont.json +23 -0
  276. package/src/assets/sheche/iconfont.ttf +0 -0
  277. package/src/assets/suggtion/demo.css +539 -0
  278. package/src/assets/suggtion/demo_index.html +207 -0
  279. package/src/assets/suggtion/iconfont.css +17 -0
  280. package/src/assets/suggtion/iconfont.js +1 -0
  281. package/src/assets/suggtion/iconfont.json +16 -0
  282. package/src/assets/suggtion/iconfont.ttf +0 -0
  283. package/src/assets/survey/demo.css +539 -0
  284. package/src/assets/survey/demo_index.html +207 -0
  285. package/src/assets/survey/iconfont.css +17 -0
  286. package/src/assets/survey/iconfont.js +1 -0
  287. package/src/assets/survey/iconfont.json +16 -0
  288. package/src/assets/survey/iconfont.ttf +0 -0
  289. package/src/common/api-collection.js +1749 -0
  290. package/src/common/api-common.js +542 -0
  291. package/src/common/api.js +8475 -0
  292. package/src/common/btn-privilege.js +32 -0
  293. package/src/common/common.js +600 -0
  294. package/src/common/config.js +1508 -0
  295. package/src/common/directives.js +62 -0
  296. package/src/common/filters.js +105 -0
  297. package/src/common/global-filters.js +87 -0
  298. package/src/common/global.js +243 -0
  299. package/src/common/lixinghang-api.js +2941 -0
  300. package/src/common/lixinghang-bankcard.js +174 -0
  301. package/src/common/lixinghang-serviceContract.js +174 -0
  302. package/src/common/lixinghang-url.js +995 -0
  303. package/src/common/lixinghangServiceContract-url.js +38 -0
  304. package/src/common/lixinghangbankcard-url.js +45 -0
  305. package/src/common/logger.js +52 -0
  306. package/src/common/menuData.js +2001 -0
  307. package/src/common/number.js +137 -0
  308. package/src/common/ref-code.js +333 -0
  309. package/src/common/resource-btn.js +807 -0
  310. package/src/common/sequence.js +193 -0
  311. package/src/common/utils.js +17 -0
  312. package/src/components/LshCust/index.vue +885 -0
  313. package/src/components/LshVehicle/index.vue +1027 -0
  314. package/src/components/account-type-select/account-type-select.vue +340 -0
  315. package/src/components/account-type-select/paymentType.vue +287 -0
  316. package/src/components/add-pay-detail/detail-advance.vue +176 -0
  317. package/src/components/add-pay-detail/detail.vue +204 -0
  318. package/src/components/add-pay-detail/index.vue +254 -0
  319. package/src/components/approval-record/approval-record.vue +155 -0
  320. package/src/components/area/index.vue +146 -0
  321. package/src/components/aside/Aside.vue +231 -0
  322. package/src/components/batch-pull/batch-pull.vue +196 -0
  323. package/src/components/blitem-upload/index.vue +224 -0
  324. package/src/components/breadcrumb/Breadcrumb.vue +183 -0
  325. package/src/components/call-popup/index.vue +1318 -0
  326. package/src/components/clueSolitTable/dialog.vue +160 -0
  327. package/src/components/clueSolitTable/index.vue +298 -0
  328. package/src/components/containers/Full.vue +48 -0
  329. package/src/components/custom-fields/index.vue +313 -0
  330. package/src/components/custom-fields1/index.vue +471 -0
  331. package/src/components/customer-vehicle/index.vue +1160 -0
  332. package/src/components/customer-vehicle/new-customer-vehicle.vue +1216 -0
  333. package/src/components/distributeTable/dialog.vue +160 -0
  334. package/src/components/distributeTable/index.vue +262 -0
  335. package/src/components/el/DatePicker.vue +123 -0
  336. package/src/components/el/Dialog.vue +70 -0
  337. package/src/components/el/Page.vue +66 -0
  338. package/src/components/el/Select.vue +217 -0
  339. package/src/components/el/Table.vue +127 -0
  340. package/src/components/el/Upload.vue +215 -0
  341. package/src/components/footer/Footer.vue +18 -0
  342. package/src/components/header/Header.vue +566 -0
  343. package/src/components/header/changeOrg.vue +156 -0
  344. package/src/components/header/changePwd.vue +84 -0
  345. package/src/components/import-exel/index.vue +220 -0
  346. package/src/components/iris-areaqueryshop/index.vue +485 -0
  347. package/src/components/iris-areaqueryshop/lsh-bank-index.vue +233 -0
  348. package/src/components/iris-areaqueryshop/lsh-edit-index.vue +341 -0
  349. package/src/components/iris-areaqueryshop/lsh-index.vue +301 -0
  350. package/src/components/iris-areaqueryshop/lsh-policy-index.vue +280 -0
  351. package/src/components/iris-areaqueryshop/lsh-service-index.vue +208 -0
  352. package/src/components/iris-areaqueryshop/lsh-store-index.vue +231 -0
  353. package/src/components/iris-areaqueryshopCopy/lsh-index.vue +233 -0
  354. package/src/components/iris-car/index.vue +191 -0
  355. package/src/components/iris-card-modal/ApplicableProduct.vue +332 -0
  356. package/src/components/iris-card-modal/BatchProductRef.vue +65 -0
  357. package/src/components/iris-card-modal/index.vue +436 -0
  358. package/src/components/iris-carinfo/index.vue +652 -0
  359. package/src/components/iris-carinfo/iris-carinfo.vue +542 -0
  360. package/src/components/iris-carinfo/iris-carinfo1.vue +564 -0
  361. package/src/components/iris-chinaarea/index.vue +316 -0
  362. package/src/components/iris-chinaarea/list-item.vue +112 -0
  363. package/src/components/iris-chinaarea/treeapi.js +23 -0
  364. package/src/components/iris-input-search/search.vue +226 -0
  365. package/src/components/iris-modal/index.vue +237 -0
  366. package/src/components/iris-oldtree/tree-node.vue +376 -0
  367. package/src/components/iris-oldtree/tree-store.js +250 -0
  368. package/src/components/iris-oldtree/tree.vue +250 -0
  369. package/src/components/iris-plate/index.vue +227 -0
  370. package/src/components/iris-scope/area.vue +254 -0
  371. package/src/components/iris-scope/chinaarea.vue +254 -0
  372. package/src/components/iris-scope/index.vue +285 -0
  373. package/src/components/iris-scope/store.vue +344 -0
  374. package/src/components/iris-scope-clear/index.vue +157 -0
  375. package/src/components/iris-scope-clear/store.vue +355 -0
  376. package/src/components/iris-search/search.vue +299 -0
  377. package/src/components/iris-search/searchSku.vue +312 -0
  378. package/src/components/iris-search2.0/index.vue +163 -0
  379. package/src/components/iris-shopcategory/index.vue +24 -0
  380. package/src/components/iris-suitscope/govt..vue +215 -0
  381. package/src/components/iris-suitscope/index.vue +178 -0
  382. package/src/components/iris-suitscope/sales.vue +224 -0
  383. package/src/components/iris-suitscope/shop.vue +262 -0
  384. package/src/components/iris-suitscope/tableShow.vue +84 -0
  385. package/src/components/iris-tabscarousel/index.vue +268 -0
  386. package/src/components/iris-ticket-modal/index.vue +355 -0
  387. package/src/components/iris-upload/index.vue +217 -0
  388. package/src/components/iris-upload-2.0/index.vue +283 -0
  389. package/src/components/iris-upload-2.1/index.vue +295 -0
  390. package/src/components/iris-upload-2.2/index.vue +317 -0
  391. package/src/components/list-btn-group/list-btn-group.vue +205 -0
  392. package/src/components/lsh-customer/dialog.vue +66 -0
  393. package/src/components/lsh-customer/index.vue +445 -0
  394. package/src/components/lsh-organiza/index.vue +272 -0
  395. package/src/components/lsh-organization/index.vue +254 -0
  396. package/src/components/lsh-vehicle/dialog.vue +53 -0
  397. package/src/components/lsh-vehicle/index.vue +588 -0
  398. package/src/components/lsh-vehicle/lshCust.vue +754 -0
  399. package/src/components/maintaining/index.vue +619 -0
  400. package/src/components/pagination/pagination.vue +178 -0
  401. package/src/components/paginationDistribute/pagination.vue +178 -0
  402. package/src/components/portrayal/portrayal.vue +3671 -0
  403. package/src/components/progress-btn/index.vue +115 -0
  404. package/src/components/query-btn-group/query-btn-group.vue +59 -0
  405. package/src/components/range/china-area-tree.vue +84 -0
  406. package/src/components/range/range.vue +408 -0
  407. package/src/components/range/sales-area-tree.vue +102 -0
  408. package/src/components/recom/index.vue +208 -0
  409. package/src/components/recom/popup.vue +66 -0
  410. package/src/components/recom/recom.vue +169 -0
  411. package/src/components/record/index.vue +148 -0
  412. package/src/components/record/order-history.vue +257 -0
  413. package/src/components/select-car-extend-prop/select-car-extend-prop.vue +265 -0
  414. package/src/components/select-car-extend-prop/tabs.vue +54 -0
  415. package/src/components/select-date/select-date.vue +137 -0
  416. package/src/components/service-info/index.vue +13 -0
  417. package/src/components/sidebar/Sidebar.vue +456 -0
  418. package/src/components/sidebar/SidebarNavDropdown.vue +66 -0
  419. package/src/components/sidebar/SidebarNavLink.vue +157 -0
  420. package/src/components/sidebar/SidebarNavTitle.vue +16 -0
  421. package/src/components/table/dialog.vue +179 -0
  422. package/src/components/table/index.vue +252 -0
  423. package/src/components/tablethree/index.vue +282 -0
  424. package/src/components/tabletwo/dialog.vue +162 -0
  425. package/src/components/tabletwo/index.vue +258 -0
  426. package/src/components/tree/org-tree.vue +188 -0
  427. package/src/components/tree/sku-class.vue +154 -0
  428. package/src/components/treepicker/treepicker.vue +273 -0
  429. package/src/components/utils/Callout.vue +26 -0
  430. package/src/components/utils/Switch.vue +94 -0
@@ -0,0 +1,1160 @@
1
+ <template>
2
+ <div class="custom-vehicle-modal">
3
+ <el-dialog ref="dialog"
4
+ title="人车组件"
5
+ no-close-on-backdrop
6
+ size="large" :before-close="hide"
7
+ :visible.sync="dialogVisible"
8
+ :modal-append-to-body="false">
9
+
10
+ <!-- 车主信息 -->
11
+ <b-card header="车主信息">
12
+ <div class="row">
13
+ <div class="col-md-4">
14
+ <b-form-fieldset horizontal label="移动电话 *" :label-cols="4" class="text-right">
15
+ <b-form-input v-model.trim="customInfo.mobilePhone" @blur.native="mobilePhoneBlur" :state="checkStateInfo.mobilePhone.state" autocomplete="off"/>
16
+ </b-form-fieldset>
17
+ </div>
18
+ <div class="col-md-4">
19
+ <b-form-fieldset horizontal label="客户姓名 *" :label-cols="4" class="text-right">
20
+ <b-form-input v-model.trim="customInfo.customName" @blur.native="customNameBlur" :state="checkStateInfo.customName.state" autocomplete="off"/>
21
+ </b-form-fieldset>
22
+ </div>
23
+ <div class="col-md-4">
24
+ <b-form-fieldset horizontal label="客户性别" :label-cols="4" class="text-right">
25
+ <b-form-select v-model="customInfo.gender" :options="customerSex"></b-form-select>
26
+ </b-form-fieldset>
27
+ </div>
28
+ <div class="col-md-4">
29
+ <b-form-fieldset horizontal label="客户类型" :label-cols="4" class="text-right">
30
+ <b-form-select v-model="customInfo.customType" :options="customType"></b-form-select>
31
+ </b-form-fieldset>
32
+ </div>
33
+ <div class="col-md-4">
34
+ <b-form-fieldset horizontal label="证件类型" :label-cols="4" class="text-right">
35
+ <b-form-select
36
+ v-model="customInfo.idType"
37
+ :options="certificateType">
38
+ </b-form-select>
39
+ </b-form-fieldset>
40
+ </div>
41
+ <div class="col-md-4">
42
+ <b-form-fieldset horizontal label="证件号码" :label-cols="4" class="text-right">
43
+ <b-form-input v-model.trim="customInfo.idNo" autocomplete="off"/>
44
+ </b-form-fieldset>
45
+ </div>
46
+ <div class="col-md-4">
47
+ <b-form-fieldset horizontal label="生日" :label-cols="4" class="text-right">
48
+ <el-date-picker
49
+ type="date"
50
+ format="yyyy-MM-dd"
51
+ v-model="customInfo.birthday"
52
+ placeholder="选择日期">
53
+ </el-date-picker>
54
+ </b-form-fieldset>
55
+ </div>
56
+ <div class="col-md-4">
57
+ <b-form-fieldset horizontal label="邮箱" :label-cols="4" class="text-right">
58
+ <b-form-input v-model.trim="customInfo.email" @blur.native="emailBlur" :state="checkStateInfo.email.state" autocomplete="off"/>
59
+ </b-form-fieldset>
60
+ </div>
61
+ <div class="col-md-4">
62
+ <b-form-fieldset horizontal :label-cols="4">
63
+ <el-checkbox v-model="customInfo.customCategory">虚拟客户</el-checkbox>
64
+ </b-form-fieldset>
65
+ </div>
66
+ </div>
67
+ </b-card>
68
+
69
+ <div class="row">
70
+ <div class="col-md-12 text-right">
71
+ <b-button size="sm" variant="primary" @click="selectBtnClick">确定</b-button>
72
+ <b-button size="sm" variant="default" @click="hide">取消</b-button>
73
+ </div>
74
+ </div>
75
+
76
+ <div class="custom-vehicle mt-2" v-if="isVehicleCard">
77
+ <el-tabs type="border-card" v-model="activeName">
78
+ <el-tab-pane :label="tab_1_title" name="vehicle_list">
79
+ <div class="mb-2">
80
+ <b-button size="sm" variant="success" @click="insertBtnClick" >新增</b-button>
81
+ <b-button size="sm" variant="primary" @click="updateBtnClick" >编辑</b-button>
82
+ </div>
83
+
84
+ <el-table
85
+ :data="tempCustomVehicleInfo.customVehicleInfoVos"
86
+ tooltip-effect="dark"
87
+ height="300"
88
+ border
89
+ @row-click="rowClick">
90
+ <el-table-column
91
+ label="选择"
92
+ type="radio">
93
+ <template slot-scope="scope">
94
+ <input type="radio" name="radio" :value="scope.$index" v-model="selIndex"/>
95
+ </template>
96
+ </el-table-column>
97
+ <el-table-column
98
+ prop="plateNumber"
99
+ label="车牌"
100
+ :min-width="120"
101
+ show-overflow-tooltip>
102
+ </el-table-column>
103
+ <el-table-column
104
+ prop="vinCode"
105
+ label="车架号"
106
+ :min-width="200"
107
+ show-overflow-tooltip>
108
+ </el-table-column>
109
+ <el-table-column
110
+ prop="carModelCode"
111
+ label="车型代码"
112
+ :min-width="100"
113
+ show-overflow-tooltip>
114
+ </el-table-column>
115
+ <el-table-column
116
+ prop="factoryName"
117
+ label="厂家"
118
+ :min-width="150"
119
+ show-overflow-tooltip>
120
+ </el-table-column>
121
+ <el-table-column
122
+ prop="brandName"
123
+ label="品牌"
124
+ :min-width="150"
125
+ show-overflow-tooltip>
126
+ </el-table-column>
127
+ <el-table-column
128
+ prop="seriesName"
129
+ label="车系"
130
+ :min-width="100"
131
+ show-overflow-tooltip>
132
+ </el-table-column>
133
+ <el-table-column
134
+ prop="modelName"
135
+ label="车型"
136
+ :min-width="150"
137
+ show-overflow-tooltip>
138
+ </el-table-column>
139
+ <el-table-column
140
+ prop="displayName"
141
+ label="车款"
142
+ :min-width="150"
143
+ show-overflow-tooltip>
144
+ </el-table-column>
145
+ </el-table>
146
+ </el-tab-pane>
147
+
148
+ <el-tab-pane :label="tab_2_title" name="insert_vehicle" disabled>
149
+ <div class="row">
150
+ <div class="col-md-4">
151
+ <b-form-fieldset horizontal label="车牌 *" :label-cols="4" class="text-right">
152
+ <b-form-input
153
+ v-model.trim="vehicleInfo.plateNumber"
154
+ :state="checkStateInfo.plateNumber.state"
155
+ @blur.native="plateNumberBlur('plateNumber')"
156
+ autocomplete="off"/>
157
+ </b-form-fieldset>
158
+ </div>
159
+ <div class="col-md-4">
160
+ <b-form-fieldset horizontal label="VIN码 *" :label-cols="4" class="text-right">
161
+ <b-form-input
162
+ :disabled="!!insertOrUpdateFlag"
163
+ maxlength="17"
164
+ v-model.trim="vehicleInfo.vinCode"
165
+ :state="checkStateInfo.vinCode.state"
166
+ @blur.native="vinCodeBlur" placeholder="请输入17位大写字母和数字"
167
+ autocomplete="off"/>
168
+ </b-form-fieldset>
169
+ </div>
170
+ <div class="col-md-4 text-center">
171
+ <el-checkbox v-model="isPlateTmp">临时车牌</el-checkbox>
172
+ <el-checkbox v-model="vehicleInfo.isMainCar">默认车辆</el-checkbox>
173
+ <el-checkbox v-model="salesStatus">未销售车辆</el-checkbox>
174
+ </div>
175
+ </div>
176
+ <hr>
177
+ <p>车型信息</p>
178
+ <hr>
179
+ <car-info
180
+ :required="true"
181
+ ref="carInfo"
182
+ @handleChange="getCarInfo"
183
+ >
184
+ </car-info>
185
+
186
+ <p>其他信息</p>
187
+ <hr>
188
+ <div class="row">
189
+ <div class="col-md-4">
190
+ <b-form-fieldset horizontal label="上牌日" :label-cols="4" class="text-right">
191
+ <el-date-picker
192
+ type="date"
193
+ v-model="vehicleInfo.plateDate"
194
+ placeholder="选择日期"
195
+ style="width: 100%">
196
+ </el-date-picker>
197
+ </b-form-fieldset>
198
+ </div>
199
+ <div class="col-md-4">
200
+ <b-form-fieldset horizontal label="商业险到期" :label-cols="4" class="text-right">
201
+ <el-date-picker
202
+ type="date"
203
+ v-model="vehicleInfo.commercialInsuranceEndDate"
204
+ placeholder="选择日期"
205
+ style="width: 100%">
206
+ </el-date-picker>
207
+ </b-form-fieldset>
208
+ </div>
209
+ <div class="col-md-4">
210
+ <b-form-fieldset horizontal label="交强险到期" :label-cols="4" class="text-right">
211
+ <el-date-picker
212
+ type="date"
213
+ v-model="vehicleInfo.compulsoryInsuranceEndDate"
214
+ placeholder="选择日期"
215
+ style="width: 100%">
216
+ </el-date-picker>
217
+ </b-form-fieldset>
218
+ </div>
219
+ <div class="col-md-4">
220
+ <b-form-fieldset horizontal label="保修起始日" :label-cols="4" class="text-right">
221
+ <el-date-picker
222
+ type="date"
223
+ v-model="vehicleInfo.warrantyStartDate"
224
+ placeholder="选择日期"
225
+ style="width: 100%">
226
+ </el-date-picker>
227
+ </b-form-fieldset>
228
+ </div>
229
+ <div class="col-md-4">
230
+ <b-form-fieldset horizontal label="保修到期日" :label-cols="4" class="text-right">
231
+ <el-date-picker
232
+ type="date"
233
+ v-model="vehicleInfo.warrantyExpiryDate"
234
+ placeholder="选择日期"
235
+ style="width: 100%">
236
+ </el-date-picker>
237
+ </b-form-fieldset>
238
+ </div>
239
+ <div class="col-md-4">
240
+ <b-form-fieldset horizontal label="进厂里程" :label-cols="4" class="text-right">
241
+ <b-form-input type="number" v-model.trim="vehicleInfo.inMileage" autocomplete="off"/>
242
+ </b-form-fieldset>
243
+ </div>
244
+ <div class="col-md-4">
245
+ <b-form-fieldset horizontal label="商业险公司" :label-cols="4" class="text-right">
246
+ <search
247
+ ref="search"
248
+ :dataList="datalist"
249
+ option="coName"
250
+ @dataChange="querySelect"
251
+ @itemValue="itemClick"
252
+ @clickShowBack="firstLoad"
253
+ @clearValue="clearValue"
254
+ @comScroll="scrollBottom">
255
+ </search>
256
+ </b-form-fieldset>
257
+ </div>
258
+ <div class="col-md-4">
259
+ <b-form-fieldset horizontal label="交强险公司" :label-cols="4" class="text-right">
260
+ <search
261
+ ref="_search"
262
+ :dataList="datalist"
263
+ option="coName"
264
+ @dataChange="querySelect"
265
+ @itemValue="_itemClick"
266
+ @clickShowBack="firstLoad"
267
+ @clearValue="_clearValue"
268
+ @comScroll="scrollBottom">
269
+ </search>
270
+ </b-form-fieldset>
271
+ </div>
272
+ <div class="col-md-4">
273
+ <b-form-fieldset horizontal label="保险备注" :label-cols="4" class="text-right">
274
+ <b-form-textarea :maxlength="200" v-model.trim="vehicleInfo.commercialInsuranceCompanyRemark">
275
+ </b-form-textarea>
276
+ </b-form-fieldset>
277
+ </div>
278
+ <div class="col-md-4">
279
+ <b-form-fieldset horizontal label="车辆备注" :label-cols="4" class="text-right">
280
+ <b-form-textarea :maxlength="200" v-model.trim="vehicleInfo.vehicleRemark">
281
+ </b-form-textarea>
282
+ </b-form-fieldset>
283
+ </div>
284
+ </div>
285
+ </el-tab-pane>
286
+ </el-tabs>
287
+ </div>
288
+
289
+ </el-dialog>
290
+ </div>
291
+ </template>
292
+ <script>
293
+ import Vue from 'vue'
294
+ import { Message, DatePicker, Dialog, Checkbox, Table, TableColumn, Tabs, TabPane } from 'element-ui'
295
+ Vue.use(Dialog)
296
+ Vue.use(Checkbox)
297
+ Vue.use(Table)
298
+ Vue.use(TableColumn)
299
+ Vue.use(DatePicker)
300
+ Vue.use(Tabs)
301
+ Vue.use(TabPane)
302
+
303
+ import CarInfo from 'components/iris-carinfo/iris-carinfo'
304
+ import Search from 'components/iris-search/search'
305
+
306
+ import api from 'common/api'
307
+ import config from 'common/config'
308
+ import common from 'common/common'
309
+
310
+ import { getSequence, alertSuccess, getType, getSequenceList, filter, cloneDeep } from 'common/api-common'
311
+ import { CUSTOM, CUSTOM_VEHICLE_SEQ, CUSTOM_VEHICLE_ADD_SEQ } from 'common/sequence'
312
+ import { CERTIFICATE_TYPE, CUSTOM_TYPE } from 'common/ref-code'
313
+
314
+
315
+ /**
316
+ * date: 2018/11/13
317
+ * @author luwenxiang
318
+ * @description 新人车弹窗组件 ( 第三版 )
319
+ * @prop { cardUseTypeCode } 默认车辆卡 = 'VehicleCard'
320
+ * @event { show() } 调用show方法传入你想通过某些字段来检索人车信息 => 例: 如下 propsInfo
321
+ * @emit { selectCusVehicleInfo }
322
+ * 抛出客户信息Vo嵌套车辆列表list( 只有一条 ),
323
+ * 车辆列表list - Vo 里再嵌套扩展属性列表list
324
+ *
325
+ */
326
+
327
+ // propsInfo : {
328
+ // customCode: customCode, // 客户编码
329
+ // mobilePhone: mobilePhone, // 客户手机号
330
+ // vehicleCode: vehicleCode, // 车辆编码
331
+ // plateNumberOrVin: plateNumberOrVin, // 车牌号或VIN码或VIN后6位
332
+ // plateNumber: plateNumber, // 车牌号
333
+ // plateNumberTmp: plateNumberTmp, // 临牌
334
+ // vinCode: vinCode // vin码
335
+ // }
336
+
337
+ export default {
338
+ components: {
339
+ Search,
340
+ CarInfo
341
+ },
342
+ props: {
343
+ cardUseTypeCode: {
344
+ type: String,
345
+ default: 'VehicleCard'
346
+ },
347
+ },
348
+ data() {
349
+ return {
350
+ dialogVisible: false,
351
+
352
+ customerSex: [
353
+ {text: '男', value: 1},
354
+ {text: '女', value: 0},
355
+ ],
356
+ certificateType: [],
357
+ customType: [],
358
+ // 客户信息
359
+ customInfo: {
360
+ customName: '',
361
+ mobilePhone: '',
362
+ gender: '',
363
+ customType: 'customTypeIndividualCus', // 默认个人客户
364
+ idType: '',
365
+ idNo: '',
366
+ birthday: '',
367
+ email: '',
368
+ customCategory: false
369
+ },
370
+ // 车辆信息
371
+ vehicleInfo: {
372
+ plateNumber: '',
373
+ plateNumberTmp: '',
374
+ vinCode: '',
375
+ isMainCar: true,
376
+
377
+ plateDate: '',
378
+ commercialInsuranceEndDate: '',
379
+ compulsoryInsuranceEndDate: '',
380
+ warrantyStartDate: '',
381
+ warrantyExpiryDate: '',
382
+ inMileage: '',
383
+
384
+ commercialInsuranceCompanyCode: '',
385
+ commercialInsuranceCompanyName: '',
386
+ compulsoryInsuranceCompanyCode: '',
387
+ compulsoryInsuranceCompanyName: '',
388
+ commercialInsuranceCompanyRemark: '',
389
+ vehicleRemark: '',
390
+
391
+ factoryCode: '',
392
+ brandCode: '',
393
+ seriesCode: '',
394
+ modelCode: '',
395
+ displayName: '',
396
+
397
+ customVehicleAddInfoVos: [] // 车型扩展属性
398
+ },
399
+
400
+ isPlateTmp: false,
401
+ salesStatus: false,
402
+
403
+ tempCustomVehicleInfo: {},
404
+
405
+ selIndex: 0,
406
+
407
+ // 下拉查询保险公司参数
408
+ datalist: [],
409
+ selectParams: {
410
+ pageNums: config.pageNums,
411
+ pageStart: 1
412
+ },
413
+ isLastPage: false,
414
+
415
+ // 校验信息
416
+ checkStateInfo: {
417
+ mobilePhone: {
418
+ state: null,
419
+ message: '手机号输入格式不正确'
420
+ },
421
+ customName: {
422
+ state: null,
423
+ message: ''
424
+ },
425
+ email: {
426
+ state: null,
427
+ message: '邮箱输入格式不正确'
428
+ },
429
+ plateNumber: {
430
+ state: null,
431
+ message: '车牌号输入格式不正确'
432
+ },
433
+ plateNumberTmp: {
434
+ state: null,
435
+ message: '临时车牌输入格式不正确'
436
+ },
437
+ vinCode: {
438
+ state: null,
439
+ message: 'vin码输入格式不正确'
440
+ },
441
+ },
442
+
443
+ activeName: 'vehicle_list',
444
+
445
+ timer: null,
446
+
447
+ insertOrUpdateFlag: 0
448
+ }
449
+ },
450
+ mounted() {
451
+ // 获取证件类型列表
452
+ this.getCertificateType()
453
+ // 获取客户类型列表
454
+ this.getCustomerType()
455
+ },
456
+ computed: {
457
+ tab_1_title() {
458
+ let count = 0
459
+ const { customVehicleInfoVos } = this.tempCustomVehicleInfo
460
+ customVehicleInfoVos && (count = customVehicleInfoVos.length)
461
+ return `已有车辆 ( ${count} )`
462
+ },
463
+ tab_2_title() {
464
+ return this.insertOrUpdateFlag === 0 ? '新增车辆' : '编辑车辆'
465
+ },
466
+ // 区分车辆卡还是车主卡
467
+ isVehicleCard() {
468
+ return this.cardUseTypeCode === 'VehicleCard'
469
+ },
470
+ },
471
+ methods: {
472
+ rowClick(row) {
473
+ this.selIndex = this.tempCustomVehicleInfo.customVehicleInfoVos.indexOf(row)
474
+ },
475
+ setSelIndex(plateNumberOrVin, plateNumber, vinCode) {
476
+ const {customVehicleInfoVos } = this.tempCustomVehicleInfo
477
+ if(customVehicleInfoVos && customVehicleInfoVos.length) {
478
+ customVehicleInfoVos.forEach((k, i) => {
479
+ if(k.plateNumber == (plateNumber || plateNumberOrVin)) {
480
+ this.selIndex = i
481
+ }
482
+
483
+ if(k.vinCode == (vinCode || plateNumberOrVin)) {
484
+ this.selIndex = i
485
+ }
486
+ })
487
+ }
488
+ },
489
+ show(queryInfo = null) {
490
+ if(queryInfo != null) {
491
+ this.dialogVisible = true
492
+ this.initModal()
493
+
494
+ const {customCode, mobilePhone, vehicleCode, plateNumberOrVin, plateNumber, vinCode} = queryInfo
495
+ this.queryCustomAndVehicle({
496
+ customCode: customCode,
497
+ carOwnerMobile: mobilePhone,
498
+ vehicleCode: vehicleCode,
499
+ plateNumberOrVin: plateNumberOrVin, // 车牌号或VIN码或VIN后6位
500
+ plateNumber: plateNumber,
501
+ vinCode: vinCode
502
+ }, (obj) => {
503
+ // 有手机号, 或者无人或者有人无车 则弹出人车组件
504
+ if(mobilePhone || !obj || !obj.customVehicleInfoVos) {
505
+ // this.dialogVisible = true
506
+ // this.initModal()
507
+ if(!obj || !obj.customVehicleInfoVos) {
508
+ this.customInfo.mobilePhone = mobilePhone
509
+ this.vehicleInfo.plateNumber = plateNumber
510
+ this.vehicleInfo.vinCode = vinCode
511
+ }
512
+ }
513
+ // 输入车牌或者vin码直接带出, vin码后六位如果匹配到多条 弹出提示
514
+ else {
515
+ if(obj.customVehicleInfoVos.length > 1) {
516
+ Message({
517
+ type: 'warning',
518
+ message: 'vin码匹配到多条记录,请补充vin码信息'
519
+ })
520
+ }else {
521
+ // this.setCustomVehicleInfo(obj, true)
522
+ }
523
+ }
524
+
525
+ // this.setSelIndex(plateNumberOrVin, plateNumber, vinCode)
526
+
527
+ this.selIndex = 0
528
+
529
+ }, (res) => {
530
+ this.customInfo.mobilePhone = mobilePhone
531
+ this.vehicleInfo.plateNumber = plateNumber
532
+ this.vehicleInfo.vinCode = vinCode
533
+
534
+ this.timer = setTimeout(() => {
535
+ Message({
536
+ message: res.data.message,
537
+ type: 'error',
538
+ })
539
+ }, 500)
540
+ })
541
+ }
542
+ },
543
+ hide() {
544
+ this.dialogVisible = false
545
+ this.$emit('hideEmpCarModal')
546
+ },
547
+ insertBtnClick() {
548
+ this.insertOrUpdateFlag = 0
549
+ this.activeName = 'insert_vehicle'
550
+
551
+ this.initModal(false)
552
+ },
553
+ updateBtnClick() {
554
+ if(!this.tempCustomVehicleInfo
555
+ || !this.tempCustomVehicleInfo.customVehicleInfoVos
556
+ || !this.tempCustomVehicleInfo.customVehicleInfoVos.length) {
557
+ Message({
558
+ type: 'warning',
559
+ message: '请选择'
560
+ })
561
+ return
562
+ }
563
+ this.insertOrUpdateFlag = 1
564
+ this.activeName = 'insert_vehicle'
565
+
566
+ this.vehicleInfo = cloneDeep(this.tempCustomVehicleInfo.customVehicleInfoVos[this.selIndex])
567
+
568
+ this.vehicleInfo.customVehicleAddInfoVos = []
569
+
570
+ const {
571
+ isMainCar,
572
+ isPlateTmp,
573
+ salesStatus,
574
+
575
+ factoryCode,
576
+ brandCode,
577
+ seriesCode,
578
+ modelCode,
579
+ displayName,
580
+ carCode,
581
+ carModelCode,
582
+ engineNumber,
583
+
584
+ commercialInsuranceCompanyName,
585
+ compulsoryInsuranceCompanyName
586
+ } = this.vehicleInfo
587
+
588
+ this.vehicleInfo.isMainCar = !!isMainCar
589
+ this.isPlateTmp = !!isPlateTmp
590
+ this.salesStatus = !!salesStatus
591
+
592
+ this.$refs.carInfo.setValue({
593
+ factoryCode,
594
+ brandCode,
595
+ seriesCode,
596
+ modelCode,
597
+ carCode,
598
+ carModelCode,
599
+ engineNumber
600
+ })
601
+
602
+ this.$refs.search.setValue(commercialInsuranceCompanyName)
603
+ this.$refs._search.setValue(compulsoryInsuranceCompanyName)
604
+ },
605
+ /**
606
+ * info => 被校验的对象
607
+ * prop => 被校验的对象属性
608
+ * required => 是否校验必填, 默认必填
609
+ */
610
+ checkState({info, prop, required = true, regFlag = true}) {
611
+ const reg = {
612
+ mobilePhone: /^\d{11}$/,
613
+ email: new RegExp("^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$"),
614
+ plateNumber: /^[\u4E00-\u9FA5A-Z0-9]{7,9}$/,
615
+ plateNumberTmp: /^[\u4E00-\u9FA5A-Z0-9]{7,9}$/,
616
+ vinCode: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{17}$/,
617
+ }
618
+ if(required && !this[info][prop]) {
619
+ this.checkStateInfo[prop].state = 'invalid'
620
+ return
621
+ }else if(!required && !this[info][prop]) {
622
+ this.checkStateInfo[prop].state = null
623
+ return
624
+ }else if(regFlag) {
625
+ if(!reg[prop].test(this[info][prop])) {
626
+ this.checkStateInfo[prop].state = 'invalid'
627
+ Message({
628
+ type: 'warning',
629
+ message: this.checkStateInfo[prop].message
630
+ })
631
+ }else {
632
+ this.checkStateInfo[prop].state = null
633
+ }
634
+ }else {
635
+ this.checkStateInfo[prop].state = null
636
+ }
637
+ },
638
+
639
+ resetState() {
640
+ const { keys } = Object
641
+ for(let key of keys(this.checkStateInfo)) {
642
+ this.checkStateInfo[key].state = null
643
+ }
644
+ },
645
+ formatDate(info) {
646
+ const { keys } = Object
647
+ for(let key of keys(info)) {
648
+ if((key.includes('birthday') || key.includes('Date')) && info[key]) {
649
+ info[key] = new Date(info[key]).Format('yyyy-MM-dd')
650
+ }
651
+ }
652
+ },
653
+
654
+ // 各种失去焦点校验 => start
655
+ mobilePhoneBlur() {
656
+ this.checkState({
657
+ info: 'customInfo',
658
+ prop: 'mobilePhone'
659
+ })
660
+
661
+ if(!this.checkStateInfo.mobilePhone.state) {
662
+ this.queryCustomAndVehicle({
663
+ carOwnerMobile: this.customInfo.mobilePhone
664
+ })
665
+ }
666
+ },
667
+ customNameBlur() {
668
+ this.checkState({
669
+ info: 'customInfo',
670
+ prop: 'customName',
671
+ regFlag: false
672
+ })
673
+ },
674
+ emailBlur() {
675
+ this.checkState({
676
+ info: 'customInfo',
677
+ prop: 'email',
678
+ required: false
679
+ })
680
+ },
681
+ plateNumberBlur(prop) {
682
+ this.vehicleInfo[prop] = this.vehicleInfo[prop].toUpperCase()
683
+ this.checkState({
684
+ info: 'vehicleInfo',
685
+ prop: prop,
686
+ required: true
687
+ })
688
+ },
689
+ vinCodeBlur() {
690
+ this.checkState({
691
+ info: 'vehicleInfo',
692
+ prop: 'vinCode',
693
+ required: true
694
+ })
695
+ },
696
+ // 各种失去焦点校验 => end
697
+
698
+ getCarInfo(info) {
699
+ const {
700
+ factoryCode,
701
+ brandCode,
702
+ seriesCode,
703
+ modelCode,
704
+ displayName,
705
+ engineNumber
706
+ } = info
707
+ this.vehicleInfo.factoryCode = factoryCode
708
+ this.vehicleInfo.brandCode = brandCode
709
+ this.vehicleInfo.seriesCode = seriesCode
710
+ this.vehicleInfo.modelCode = modelCode
711
+ this.vehicleInfo.displayName = displayName
712
+ this.vehicleInfo.engineNumber = engineNumber
713
+ },
714
+
715
+ checkBeforeSave() {
716
+ let res = true
717
+ // 手机号
718
+ this.checkState({
719
+ info: 'customInfo',
720
+ prop: 'mobilePhone'
721
+ })
722
+ // 客户姓名
723
+ this.checkState({
724
+ info: 'customInfo',
725
+ prop: 'customName',
726
+ regFlag: false
727
+ })
728
+ if(this.activeName == 'insert_vehicle' && this.cardUseTypeCode == 'VehicleCard') {
729
+
730
+ // 车牌未销售车辆的时候车牌不校验
731
+ if (!this.salesStatus) {
732
+ this.checkState({
733
+ info: 'vehicleInfo',
734
+ prop: 'plateNumber',
735
+ required: true
736
+ })
737
+ } else {
738
+ this.checkState({
739
+ info: 'vehicleInfo',
740
+ prop: 'plateNumber',
741
+ required: false
742
+ })
743
+ }
744
+
745
+ // vin码
746
+ this.checkState({
747
+ info: 'vehicleInfo',
748
+ prop: 'vinCode',
749
+ required: true
750
+ })
751
+
752
+ if(!this.vehicleInfo.factoryCode) {
753
+ Message({
754
+ type: 'warning',
755
+ message: '车型主信息必填'
756
+ })
757
+ res = false
758
+ }
759
+
760
+ }
761
+
762
+ const { keys } = Object
763
+ for(let key of keys(this.checkStateInfo)) {
764
+ if(this.checkStateInfo[key].state) {
765
+ res = false
766
+ break
767
+ }
768
+ }
769
+
770
+ return res
771
+ },
772
+
773
+ // 未销售车辆,车牌为空时 => vinCode 后8位赋值给车牌
774
+ setPlate() {
775
+ if (this.salesStatus && !this.vehicleInfo.plateNumber)
776
+ this.vehicleInfo.plateNumber = this.vehicleInfo.vinCode.slice(-8)
777
+ },
778
+
779
+ // 点击选择
780
+ selectBtnClick() {
781
+
782
+ // 车主卡
783
+ if(!this.isVehicleCard) {
784
+
785
+ const customParams = {...this.customInfo, customCategory: this.customInfo.customCategory ? 1 : 0 }
786
+ this.formatDate(customParams)
787
+ // 新增车主信息
788
+ if(!this.tempCustomVehicleInfo.id) {
789
+ if(!this.checkBeforeSave()) return
790
+ getSequence(CUSTOM, res => {
791
+ delete customParams.id
792
+ customParams.customCode = res
793
+ this.insertCustomInfo(customParams)
794
+ })
795
+ }
796
+ // 编辑车主信息
797
+ else {
798
+ if(!this.checkBeforeSave()) return
799
+ customParams.id = this.tempCustomVehicleInfo.id
800
+ customParams.customCode = this.tempCustomVehicleInfo.customCode
801
+ this.updateCustomInfo(customParams)
802
+ }
803
+ }
804
+ // 车辆卡 => 查询结果是( 人套车 ), 新增或者编辑客户车辆是入参格式为( 车套人 )
805
+ else {
806
+ const customVehicleParams = {...this.vehicleInfo},
807
+ { customVehicleInfoVos } = this.tempCustomVehicleInfo
808
+
809
+ // 新增客户车辆 => 无人
810
+ if(!this.tempCustomVehicleInfo.id) {
811
+ if(!this.checkBeforeSave()) return
812
+ this.setPlate()
813
+ getSequence(CUSTOM, _customCode => {
814
+ getSequence(CUSTOM_VEHICLE_SEQ, _vehicleCode => {
815
+ delete customVehicleParams.id
816
+ customVehicleParams.vehicleCode = _vehicleCode
817
+ customVehicleParams.customCode = _customCode
818
+ customVehicleParams.isMainCar = customVehicleParams.isMainCar ? 1 : 0
819
+ customVehicleParams.isPlateTmp = this.isPlateTmp ? 1 : 0
820
+ customVehicleParams.salesStatus = this.salesStatus ? 1 : 0
821
+ customVehicleParams.plateNumber = this.vehicleInfo.plateNumber
822
+
823
+ customVehicleParams.customInfoVo = {...this.customInfo}
824
+ customVehicleParams.customInfoVo.customCategory = this.customInfo.customCategory ? 1 : 0
825
+ delete customVehicleParams.customInfoVo.id
826
+ customVehicleParams.customInfoVo.customCode = _customCode
827
+
828
+ this.formatDate(customVehicleParams)
829
+ this.formatDate(customVehicleParams.customInfoVo)
830
+
831
+
832
+ this.insertCustomVehicleInfo(customVehicleParams, () => {
833
+ const emitParams = {...customVehicleParams.customInfoVo},
834
+ vehicleInfo = {...customVehicleParams}
835
+ delete vehicleInfo.customInfoVo
836
+ emitParams.customVehicleInfoVos = [{...vehicleInfo}]
837
+ this.setCustomVehicleInfo(emitParams, true)
838
+ })
839
+
840
+ })
841
+ })
842
+ }else {
843
+ // 新增客户车辆 => 有人
844
+ if(this.activeName == 'insert_vehicle') {
845
+ if(!this.checkBeforeSave()) return
846
+ this.setPlate()
847
+ // 新增
848
+ if(!this.insertOrUpdateFlag) {
849
+ getSequence(CUSTOM_VEHICLE_SEQ, _vehicleCode => {
850
+ delete customVehicleParams.id
851
+ customVehicleParams.vehicleCode = _vehicleCode
852
+ customVehicleParams.customCode = this.tempCustomVehicleInfo.customCode
853
+ customVehicleParams.isMainCar = customVehicleParams.isMainCar ? 1 : 0
854
+ customVehicleParams.isPlateTmp = this.isPlateTmp ? 1 : 0
855
+ customVehicleParams.salesStatus = this.salesStatus ? 1 : 0
856
+ customVehicleParams.plateNumber = this.vehicleInfo.plateNumber
857
+
858
+ customVehicleParams.customInfoVo = {...this.customInfo}
859
+ customVehicleParams.customInfoVo.customCategory = this.customInfo.customCategory ? 1 : 0
860
+ customVehicleParams.customInfoVo.id = this.tempCustomVehicleInfo.id
861
+ customVehicleParams.customInfoVo.customCode = this.tempCustomVehicleInfo.customCode
862
+
863
+
864
+ this.formatDate(customVehicleParams)
865
+ this.formatDate(customVehicleParams.customInfoVo)
866
+
867
+
868
+ this.insertCustomVehicleInfo(customVehicleParams, () => {
869
+ const emitParams = {...customVehicleParams.customInfoVo},
870
+ vehicleInfo = {...customVehicleParams}
871
+ delete vehicleInfo.customInfoVo
872
+ emitParams.customVehicleInfoVos = [{...vehicleInfo}]
873
+ this.setCustomVehicleInfo(emitParams, true)
874
+ })
875
+
876
+ })
877
+ }
878
+ // 编辑
879
+ else {
880
+ const selCustomVehicleInfo = this.vehicleInfo
881
+
882
+ !selCustomVehicleInfo.plateDate && (selCustomVehicleInfo.plateDate = '')
883
+ !selCustomVehicleInfo.commercialInsuranceEndDate && (selCustomVehicleInfo.commercialInsuranceEndDate = '')
884
+ !selCustomVehicleInfo.compulsoryInsuranceEndDate && (selCustomVehicleInfo.compulsoryInsuranceEndDate = '')
885
+ !selCustomVehicleInfo.warrantyStartDate && (selCustomVehicleInfo.warrantyStartDate = '')
886
+ !selCustomVehicleInfo.warrantyExpiryDate && (selCustomVehicleInfo.warrantyExpiryDate = '')
887
+
888
+ this.assignment(customVehicleParams, selCustomVehicleInfo)
889
+ customVehicleParams.id = selCustomVehicleInfo.id
890
+ customVehicleParams.vehicleCode = selCustomVehicleInfo.vehicleCode
891
+ customVehicleParams.customCode = this.tempCustomVehicleInfo.customCode
892
+ customVehicleParams.isPlateTmp = +this.isPlateTmp
893
+ customVehicleParams.salesStatus = +this.salesStatus
894
+ customVehicleParams.plateNumber = selCustomVehicleInfo.plateNumber
895
+ customVehicleParams.isMainCar = +customVehicleParams.isMainCar
896
+
897
+ customVehicleParams.customInfoVo = {...this.customInfo}
898
+ customVehicleParams.customInfoVo.customCategory = this.customInfo.customCategory ? 1 : 0
899
+ customVehicleParams.customInfoVo.id = this.tempCustomVehicleInfo.id
900
+ customVehicleParams.customInfoVo.customCode = this.tempCustomVehicleInfo.customCode
901
+
902
+ this.formatDate(customVehicleParams)
903
+ this.formatDate(customVehicleParams.customInfoVo)
904
+
905
+ this.updateCustomVehicleInfo(customVehicleParams, () => {
906
+ const emitParams = {...customVehicleParams.customInfoVo},
907
+ vehicleInfo = {...customVehicleParams}
908
+ delete vehicleInfo.customInfoVo
909
+ emitParams.customVehicleInfoVos = [{...vehicleInfo}]
910
+ this.setCustomVehicleInfo(emitParams, true)
911
+ })
912
+ }
913
+ }
914
+ // 编辑客户车辆 => 一人多车
915
+ else if(this.activeName == 'vehicle_list') {
916
+ const selCustomVehicleInfo = customVehicleInfoVos[this.selIndex]
917
+ this.assignment(customVehicleParams, selCustomVehicleInfo)
918
+ customVehicleParams.id = selCustomVehicleInfo.id
919
+ customVehicleParams.vehicleCode = selCustomVehicleInfo.vehicleCode
920
+ customVehicleParams.customCode = this.tempCustomVehicleInfo.customCode
921
+ customVehicleParams.isPlateTmp = selCustomVehicleInfo.isPlateTmp
922
+ customVehicleParams.salesStatus = selCustomVehicleInfo.salesStatus
923
+ customVehicleParams.plateNumber = selCustomVehicleInfo.plateNumber
924
+
925
+ customVehicleParams.customInfoVo = {...this.customInfo}
926
+ customVehicleParams.customInfoVo.customCategory = this.customInfo.customCategory ? 1 : 0
927
+ customVehicleParams.customInfoVo.id = this.tempCustomVehicleInfo.id
928
+ customVehicleParams.customInfoVo.customCode = this.tempCustomVehicleInfo.customCode
929
+
930
+ this.formatDate(customVehicleParams.customInfoVo)
931
+
932
+ this.updateCustomVehicleInfo(customVehicleParams, () => {
933
+ const emitParams = {...customVehicleParams.customInfoVo},
934
+ vehicleInfo = {...customVehicleParams}
935
+ delete vehicleInfo.customInfoVo
936
+ emitParams.customVehicleInfoVos = [{...vehicleInfo}]
937
+ this.setCustomVehicleInfo(emitParams, true)
938
+ })
939
+ }
940
+ }
941
+ }
942
+ },
943
+ setCustomVehicleInfo(params, isVehicleCard) {
944
+ const emitInfo = {...params}
945
+ delete emitInfo.id
946
+ // 做的完美一点就是把各种类型名称也抛出去
947
+ if(!isVehicleCard) {
948
+
949
+ }else {
950
+ // 车辆卡对外抛出对象信息
951
+ }
952
+ this.$emit('selectCusVehicleInfo', emitInfo)
953
+ this.hide()
954
+ },
955
+
956
+ assignment(info, newInfo) {
957
+ const { keys } = Object
958
+ for (let key of keys(info)) {
959
+ info[key] = newInfo[key]
960
+ }
961
+ },
962
+
963
+ initModal(flag = true) {
964
+ if(flag) {
965
+ this.tempCustomVehicleInfo = {}
966
+ this.assignment(this.customInfo, {
967
+ mobilePhone: this.customInfo.mobilePhone,
968
+ customType: 'customTypeIndividualCus'
969
+ })
970
+ }
971
+ this.assignment(this.vehicleInfo, {
972
+ isMainCar: true,
973
+ customVehicleInfoVos: []
974
+ })
975
+ if(this.cardUseTypeCode == 'VehicleCard') {
976
+ this.$nextTick(() => {
977
+ this.$refs.search.setValue()
978
+ this.$refs._search.setValue()
979
+ this.$refs.carInfo.initCarInfo()
980
+ })
981
+ }
982
+
983
+ this.isPlateTmp = false
984
+ this.salesStatus = false
985
+
986
+ },
987
+
988
+ queryCustomAndVehicle(params, sucess, error) {
989
+ // 查询前应该初始化一下
990
+ // !error && this.initModal()
991
+ api.mancar.queryCustomAndVehicle(params, res => {
992
+ const obj = res.data.obj
993
+ this.resetState()
994
+
995
+ sucess && sucess(obj)
996
+
997
+ if(res.data.code === 'success') {
998
+ if(!obj || !obj.customVehicleInfoVos) {
999
+ this.activeName = 'insert_vehicle'
1000
+
1001
+ this.insertOrUpdateFlag = 0
1002
+ }else {
1003
+ this.activeName = 'vehicle_list'
1004
+ }
1005
+ if(obj) {
1006
+ const Vo = { ...obj, customCategory: obj.customCategory ? true : false }
1007
+ this.assignment(this.customInfo, Vo)
1008
+ }
1009
+
1010
+ this.tempCustomVehicleInfo = {...obj}
1011
+
1012
+ // sucess && sucess(obj)
1013
+ }else {
1014
+ error && error(res)
1015
+ }
1016
+ })
1017
+ },
1018
+
1019
+ // 新增客户信息
1020
+ insertCustomInfo(params) {
1021
+ api.mancar.insertCustomInfo(params, res => {
1022
+ if(res.data.code === 'success') {
1023
+ alertSuccess(res)
1024
+ this.setCustomVehicleInfo(params, false)
1025
+ }
1026
+ })
1027
+ },
1028
+ // 编辑客户信息
1029
+ updateCustomInfo(params) {
1030
+ api.mancar.updateCustomInfo(params, res => {
1031
+ if(res.data.code === 'success') {
1032
+ alertSuccess(res)
1033
+ this.setCustomVehicleInfo(params, false)
1034
+ }
1035
+ })
1036
+ },
1037
+ // 新增客户车辆信息
1038
+ insertCustomVehicleInfo(params, next) {
1039
+ api.mancar.insertCustomVehicleInfo(params, res => {
1040
+ if(res.data.code === 'success') {
1041
+ alertSuccess(res)
1042
+ next()
1043
+ }
1044
+ })
1045
+ },
1046
+ // 编辑客户车辆信息
1047
+ updateCustomVehicleInfo(params, next) {
1048
+ api.mancar.updateCustomVehicleInfo(params, res => {
1049
+ if(res.data.code === 'success') {
1050
+ alertSuccess(res)
1051
+ next()
1052
+ }
1053
+ })
1054
+ },
1055
+
1056
+ // 保险公司下拉搜索 => start
1057
+ clearValue() {
1058
+ this.vehicleInfo.commercialInsuranceCompanyCode = ''
1059
+ this.vehicleInfo.commercialInsuranceCompanyName = ''
1060
+ },
1061
+ _clearValue() {
1062
+ this.vehicleInfo.compulsoryInsuranceCompanyCode = ''
1063
+ this.vehicleInfo.compulsoryInsuranceCompanyName = ''
1064
+ },
1065
+ firstLoad() {
1066
+ if(this.selectParams.coName) {
1067
+ delete this.selectParams.coName;
1068
+ }else if(this.datalist.length !== 0) {
1069
+ return;
1070
+ }
1071
+ let params = this.selectParams;
1072
+ this.querySerInfo(params, obj => {
1073
+ this.isLastPage = obj.isLastPage;
1074
+ this.datalist = obj.list;
1075
+ });
1076
+ },
1077
+ querySelect(data) {
1078
+ this.selectParams.pageStart = 1;
1079
+ this.selectParams.coName = data;
1080
+ let params = this.selectParams;
1081
+ this.querySerInfo(params, obj => {
1082
+ this.isLastPage = obj.isLastPage;
1083
+ this.datalist = obj.list;
1084
+ });
1085
+ },
1086
+ itemClick(item) {
1087
+ this.vehicleInfo.commercialInsuranceCompanyCode = item.coCode
1088
+ this.vehicleInfo.commercialInsuranceCompanyName = item.coName
1089
+ },
1090
+ _itemClick(item) {
1091
+ this.vehicleInfo.compulsoryInsuranceCompanyCode = item.coCode
1092
+ this.vehicleInfo.compulsoryInsuranceCompanyName = item.coName
1093
+ },
1094
+ scrollBottom(isEnd) {
1095
+ if (isEnd && !this.isLastPage) {
1096
+ this.selectParams.pageStart ++
1097
+ let params = this.selectParams;
1098
+ this.querySerInfo(params, obj => {
1099
+ this.isLastPage = obj.isLastPage;
1100
+ this.datalist = this.datalist.concat(obj.list);
1101
+ });
1102
+ }
1103
+ },
1104
+ querySerInfo(params, callback) {
1105
+ // 回头加权限
1106
+ api.mancar.queryCompanyInfoByCodesAndPagination(params, res => {
1107
+ if (res.data.code === "success") {
1108
+ let obj = res.data.obj;
1109
+ callback(obj);
1110
+ }
1111
+ })
1112
+ },
1113
+ // 保险公司下拉搜索 => end
1114
+
1115
+
1116
+ getCertificateType() {
1117
+ getType(CERTIFICATE_TYPE, items => {
1118
+ this.certificateType = items.map(item => {
1119
+ return {
1120
+ text: item.refDetailName,
1121
+ value: item.refDetailCode
1122
+ }
1123
+ })
1124
+ })
1125
+ },
1126
+ getCustomerType() {
1127
+ getType(CUSTOM_TYPE, items => {
1128
+ this.customType = items.map(item => {
1129
+ return {
1130
+ text: item.refDetailName,
1131
+ value: item.refDetailCode
1132
+ }
1133
+ })
1134
+ })
1135
+ },
1136
+ beforeDestroy() {
1137
+ clearTimeout(this.timer)
1138
+ }
1139
+ }
1140
+ }
1141
+ </script>
1142
+ <style>
1143
+ .car-list-btn {
1144
+ position: absolute;
1145
+ top: 8px;
1146
+ left: 100px;
1147
+ }
1148
+ .add-car-btn {
1149
+ position: absolute;
1150
+ top: 8px;
1151
+ left: 200px;
1152
+ }
1153
+
1154
+ .custom-vehicle-modal .el-dialog {
1155
+ top: 3% !important;
1156
+ }
1157
+ .custom-vehicle .el-tabs__content {
1158
+ overflow: inherit !important;
1159
+ }
1160
+ </style>