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,1216 @@
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" :visible.sync="dialogVisible" :modal-append-to-body="false">
7
+ <!-- 基本信息 -->
8
+ <b-card header="基本信息">
9
+ <div class="row">
10
+ <div class="col-md-4">
11
+ <b-form-fieldset horizontal label="移动电话*" :label-cols="4" class="text-right">
12
+ <b-form-input v-model="customInfo.mobilePhone" @blur.native="mobilePhoneBlur" :state="checkStateInfo.mobilePhone.state"/>
13
+ </b-form-fieldset>
14
+ </div>
15
+ <div class="col-md-4">
16
+ <b-form-fieldset horizontal label="客户姓名*" :label-cols="4" class="text-right">
17
+ <b-form-input v-model="customInfo.customName" @blur.native="customNameBlur" :state="checkStateInfo.customName.state"/>
18
+ </b-form-fieldset>
19
+ </div>
20
+ <div class="col-md-4">
21
+ <b-form-fieldset horizontal label="客户性别" :label-cols="4" class="text-right">
22
+ <b-form-select v-model="customInfo.gender" :options="customerSex"></b-form-select>
23
+ </b-form-fieldset>
24
+ </div>
25
+ <div class="col-md-4">
26
+ <b-form-fieldset horizontal label="客户类型" :label-cols="4" class="text-right">
27
+ <b-form-select v-model="customInfo.customType" :options="customType"></b-form-select>
28
+ </b-form-fieldset>
29
+ </div>
30
+ <div class="col-md-4">
31
+ <b-form-fieldset horizontal label="证件类型" :label-cols="4" class="text-right">
32
+ <b-form-select
33
+ v-model="customInfo.idType"
34
+ :options="certificateType">
35
+ </b-form-select>
36
+ </b-form-fieldset>
37
+ </div>
38
+ <div class="col-md-4">
39
+ <b-form-fieldset horizontal label="证件号码" :label-cols="4" class="text-right">
40
+ <b-form-input v-model="customInfo.idNo" />
41
+ </b-form-fieldset>
42
+ </div>
43
+ <div class="col-md-4">
44
+ <b-form-fieldset horizontal label="生日" :label-cols="4" class="text-right">
45
+ <el-date-picker
46
+ type="date"
47
+ format="yyyy-MM-dd"
48
+ v-model="customInfo.birthday"
49
+ placeholder="选择日期">
50
+ </el-date-picker>
51
+ </b-form-fieldset>
52
+ </div>
53
+ <div class="col-md-4">
54
+ <b-form-fieldset horizontal label="邮箱" :label-cols="4" class="text-right">
55
+ <b-form-input v-model="customInfo.email" @blur.native="emailBlur" :state="checkStateInfo.email.state"/>
56
+ </b-form-fieldset>
57
+ </div>
58
+ </div>
59
+ </b-card>
60
+ <!-- 车辆信息 -->
61
+ <b-card header="车辆信息" v-if="isVehicleCard">
62
+ <b-button size="sm"
63
+ variant="primary"
64
+ class="car-list-btn"
65
+ v-show="showVehicleList"
66
+ @click="vehicleListBtnClick">
67
+ 车辆列表
68
+ </b-button>
69
+ <b-button size="sm"
70
+ variant="success"
71
+ class="add-car-btn"
72
+ @click="insertVehicleBtnClick" >
73
+ 新增车辆
74
+ </b-button>
75
+ <!-- 新增车辆信息 -->
76
+ <div v-show="!showVehicleList">
77
+ <div class="row">
78
+ <div class="col-md-4">
79
+ <b-form-fieldset horizontal label="车牌" :label-cols="4" class="text-right">
80
+ <b-form-input v-model="vehicleInfo.plateNumber"
81
+ :state="checkStateInfo.plateNumber.state"
82
+ :disabled="disabledPlateNumber" @blur.native="plateNumberBlur('plateNumber')"/>
83
+ </b-form-fieldset>
84
+ </div>
85
+ <div class="col-md-4">
86
+ <b-form-fieldset horizontal label="临牌" :label-cols="4" class="text-right">
87
+ <b-form-input v-model="vehicleInfo.plateNumberTmp"
88
+ :state="checkStateInfo.plateNumberTmp.state"
89
+ @blur.native="plateNumberBlur('plateNumberTmp')"/>
90
+ </b-form-fieldset>
91
+ </div>
92
+ <div class="col-md-4">
93
+ <b-form-fieldset horizontal label="VIN码" :label-cols="4" class="text-right">
94
+ <b-form-input v-model="vehicleInfo.vinCode"
95
+ :state="checkStateInfo.vinCode.state"
96
+ @blur.native="vinCodeBlur" placeholder="请输入17位大写字母和数字"/>
97
+ </b-form-fieldset>
98
+ </div>
99
+ <div class="col-md-12 text-right">
100
+ <el-checkbox v-model="vehicleInfo.isMainCar">是否默认车辆</el-checkbox>
101
+ </div>
102
+ </div>
103
+ <hr>
104
+ <p>添加车辆信息</p>
105
+ <hr>
106
+ <select-car-extend-prop
107
+ @getCarExtendInfo="getCarExtendInfo"
108
+ ref="selectCarExtendProp">
109
+ </select-car-extend-prop>
110
+ <hr>
111
+ <p>其他信息</p>
112
+ <hr>
113
+ <div class="row">
114
+ <div class="col-md-4">
115
+ <b-form-fieldset horizontal label="上牌日" :label-cols="4" class="text-right">
116
+ <el-date-picker
117
+ type="date"
118
+ v-model="vehicleInfo.plateDate"
119
+ placeholder="选择日期">
120
+ </el-date-picker>
121
+ </b-form-fieldset>
122
+ </div>
123
+ <div class="col-md-4">
124
+ <b-form-fieldset horizontal label="商业险到期" :label-cols="4" class="text-right">
125
+ <el-date-picker
126
+ type="date"
127
+ v-model="vehicleInfo.commercialInsuranceEndDate"
128
+ placeholder="选择日期">
129
+ </el-date-picker>
130
+ </b-form-fieldset>
131
+ </div>
132
+ <div class="col-md-4">
133
+ <b-form-fieldset horizontal label="交强险到期" :label-cols="4" class="text-right">
134
+ <el-date-picker
135
+ type="date"
136
+ v-model="vehicleInfo.compulsoryInsuranceEndDate"
137
+ placeholder="选择日期">
138
+ </el-date-picker>
139
+ </b-form-fieldset>
140
+ </div>
141
+ <div class="col-md-4">
142
+ <b-form-fieldset horizontal label="保修起始日" :label-cols="4" class="text-right">
143
+ <el-date-picker
144
+ type="date"
145
+ v-model="vehicleInfo.warrantyStartDate"
146
+ placeholder="选择日期">
147
+ </el-date-picker>
148
+ </b-form-fieldset>
149
+ </div>
150
+ <div class="col-md-4">
151
+ <b-form-fieldset horizontal label="保修到期日" :label-cols="4" class="text-right">
152
+ <el-date-picker
153
+ type="date"
154
+ v-model="vehicleInfo.warrantyExpiryDate"
155
+ placeholder="选择日期">
156
+ </el-date-picker>
157
+ </b-form-fieldset>
158
+ </div>
159
+ <div class="col-md-4">
160
+ <b-form-fieldset horizontal label="进厂里程" :label-cols="4" class="text-right">
161
+ <b-form-input type="number" v-model="vehicleInfo.inMileage"/>
162
+ </b-form-fieldset>
163
+ </div>
164
+ <div class="col-md-4">
165
+ <b-form-fieldset horizontal label="商业险公司" :label-cols="4" class="text-right">
166
+ <search
167
+ ref="search"
168
+ :dataList="datalist"
169
+ option="coName"
170
+ @dataChange="querySelect"
171
+ @itemValue="itemClick"
172
+ @clickShowBack="firstLoad"
173
+ @clearValue="clearValue"
174
+ @comScroll="scrollBottom">
175
+ </search>
176
+ </b-form-fieldset>
177
+ </div>
178
+ <div class="col-md-4">
179
+ <b-form-fieldset horizontal label="交强险公司" :label-cols="4" class="text-right">
180
+ <search
181
+ ref="_search"
182
+ :dataList="datalist"
183
+ option="coName"
184
+ @dataChange="querySelect"
185
+ @itemValue="_itemClick"
186
+ @clickShowBack="firstLoad"
187
+ @clearValue="_clearValue"
188
+ @comScroll="scrollBottom">
189
+ </search>
190
+ </b-form-fieldset>
191
+ </div>
192
+ <div class="col-md-4">
193
+ <b-form-fieldset horizontal label="保险备注" :label-cols="4" class="text-right">
194
+ <b-form-input v-model="vehicleInfo.commercialInsuranceCompanyRemark" />
195
+ </b-form-fieldset>
196
+ </div>
197
+ <div class="col-md-4">
198
+ <b-form-fieldset horizontal label="车辆备注" :label-cols="4" class="text-right">
199
+ <b-form-textarea id="textarea1" v-model="vehicleInfo.vehicleRemark">
200
+ </b-form-textarea>
201
+ </b-form-fieldset>
202
+ </div>
203
+ </div>
204
+ </div>
205
+
206
+ <!-- 车辆列表 -->
207
+ <div v-if="showVehicleList">
208
+ <el-table
209
+ :data="tempCustomVehicleInfo.customVehicleInfoVos"
210
+ tooltip-effect="dark"
211
+ height="300"
212
+ border>
213
+ <el-table-column
214
+ label="选择"
215
+ type="radio">
216
+ <template slot-scope="scope">
217
+ <input type="radio" name="radio" :value="scope.$index" v-model="selIndex"/>
218
+ </template>
219
+ </el-table-column>
220
+ <el-table-column
221
+ prop="plateNumber"
222
+ label="车牌"
223
+ :min-width="120"
224
+ show-overflow-tooltip>
225
+ </el-table-column>
226
+ <el-table-column
227
+ prop="plateNumberTmp"
228
+ label="临牌"
229
+ :min-width="120"
230
+ show-overflow-tooltip>
231
+ </el-table-column>
232
+ <el-table-column
233
+ prop="factoryName"
234
+ label="厂家"
235
+ :min-width="150"
236
+ show-overflow-tooltip>
237
+ </el-table-column>
238
+ <el-table-column
239
+ prop="brandName"
240
+ label="品牌"
241
+ :min-width="150"
242
+ show-overflow-tooltip>
243
+ </el-table-column>
244
+ <el-table-column
245
+ prop="seriesName"
246
+ label="车系"
247
+ :min-width="100"
248
+ show-overflow-tooltip>
249
+ </el-table-column>
250
+ <el-table-column
251
+ prop="modelName"
252
+ label="车型"
253
+ :min-width="150"
254
+ show-overflow-tooltip>
255
+ </el-table-column>
256
+ <el-table-column
257
+ prop="displayName"
258
+ label="车款"
259
+ :min-width="150"
260
+ show-overflow-tooltip>
261
+ </el-table-column>
262
+ <el-table-column
263
+ v-for="(item, i) in addlist"
264
+ :key="i"
265
+ :label="item.addName"
266
+ :min-width="setWidth(item)"
267
+ show-overflow-tooltip>
268
+ <template slot-scope="scope">
269
+ {{getAddValue(scope, item.addCode)}}
270
+ </template>
271
+ </el-table-column>
272
+ </el-table>
273
+ </div>
274
+
275
+ </b-card>
276
+ <div slot="footer" class="dialog-footer dialog-footer-cla">
277
+ <b-button size="sm" variant="default" @click="hide">取消</b-button>
278
+ <b-button size="sm" variant="success" @click="selectBtnClick">选择</b-button>
279
+ </div>
280
+ </el-dialog>
281
+ </div>
282
+ </template>
283
+ <script>
284
+ import Vue from 'vue'
285
+ import { Message, DatePicker, Dialog, Checkbox, Table, TableColumn, } from 'element-ui'
286
+ Vue.use(Dialog)
287
+ Vue.use(Checkbox)
288
+ Vue.use(Table)
289
+ Vue.use(TableColumn)
290
+ Vue.use(DatePicker)
291
+
292
+ import SelectCarExtendProp from 'components/select-car-extend-prop/select-car-extend-prop'
293
+ import Search from 'components/iris-search/search'
294
+
295
+ import api from 'common/api'
296
+ import config from 'common/config'
297
+ import common from 'common/common'
298
+
299
+ import { getSequence, alertSuccess, getType, getSequenceList, filter } from 'common/api-common'
300
+ import { CUSTOM, CUSTOM_VEHICLE_SEQ, CUSTOM_VEHICLE_ADD_SEQ } from 'common/sequence'
301
+ import { CERTIFICATE_TYPE, CUSTOM_TYPE } from 'common/ref-code'
302
+
303
+ Date.prototype.format = function (format) {
304
+ //eg:format="yyyy-MM-dd hh:mm:ss";
305
+
306
+ if (!format) {
307
+ format = "yyyy-MM-dd hh:mm:ss";
308
+ }
309
+
310
+ var o = {
311
+ "M+": this.getMonth() + 1, // month
312
+ "d+": this.getDate(), // day
313
+ "H+": this.getHours(), // hour
314
+ "h+": this.getHours(), // hour
315
+ "m+": this.getMinutes(), // minute
316
+ "s+": this.getSeconds(), // second
317
+ "q+": Math.floor((this.getMonth() + 3) / 3), // quarter
318
+ "S": this.getMilliseconds()
319
+ };
320
+
321
+ if (/(y+)/.test(format)) {
322
+ format = format.replace(RegExp.$1, (this.getFullYear() + "")
323
+ .substr(4 - RegExp.$1.length));
324
+ }
325
+
326
+ for (var k in o) {
327
+ if (new RegExp("(" + k + ")").test(format)) {
328
+ format = format.replace(RegExp.$1, RegExp.$1.length == 1
329
+ ? o[k]
330
+ : ("00" + o[k]).substr(("" + o[k]).length));
331
+ }
332
+ }
333
+
334
+ return format;
335
+ }
336
+
337
+ /**
338
+ * date: 2018/10/10
339
+ * @author luwenxiang
340
+ * @description 新人车弹窗组件
341
+ * @prop { cardUseTypeCode } 默认车辆卡 = 'VehicleCard'
342
+ * @event { show() } 调用show方法传入你想通过某些字段来检索人车信息 => 例: 如下 propsInfo
343
+ * @emit { selectCusVehicleInfo }
344
+ * 抛出客户信息Vo嵌套车辆列表list( 只有一条 ),
345
+ * 车辆列表list - Vo 里再嵌套扩展属性列表list
346
+ *
347
+ */
348
+
349
+ // propsInfo : {
350
+ // customCode: customCode, // 客户编码
351
+ // mobilePhone: mobilePhone, // 客户手机号
352
+ // vehicleCode: vehicleCode, // 车辆编码
353
+ // plateNumberOrVin: plateNumberOrVin, // 车牌号或VIN码或VIN后6位
354
+ // plateNumber: plateNumber, // 车牌号
355
+ // plateNumberTmp: plateNumberTmp, // 临牌
356
+ // vinCode: vinCode // vin码
357
+ // }
358
+
359
+ export default {
360
+ components: {
361
+ SelectCarExtendProp,
362
+ Search
363
+ },
364
+ props: {
365
+ cardUseTypeCode: {
366
+ type: String,
367
+ default: 'VehicleCard'
368
+ },
369
+ },
370
+ data() {
371
+ return {
372
+ dialogVisible: false,
373
+
374
+ customerSex: [
375
+ {text: '男', value: 1},
376
+ {text: '女', value: 0},
377
+ ],
378
+ certificateType: [],
379
+ customType: [],
380
+ // 客户信息
381
+ customInfo: {
382
+ customName: '',
383
+ mobilePhone: '',
384
+ gender: '',
385
+ customType: 'customTypeIndividualCus', // 默认个人客户
386
+ idType: '',
387
+ idNo: '',
388
+ birthday: '',
389
+ email: '',
390
+ },
391
+ // 车辆信息
392
+ vehicleInfo: {
393
+ plateNumber: '',
394
+ plateNumberTmp: '',
395
+ vinCode: '',
396
+ isMainCar: true,
397
+
398
+ plateDate: '',
399
+ commercialInsuranceEndDate: '',
400
+ compulsoryInsuranceEndDate: '',
401
+ warrantyStartDate: '',
402
+ warrantyExpiryDate: '',
403
+ inMileage: '',
404
+
405
+ commercialInsuranceCompanyCode: '',
406
+ commercialInsuranceCompanyName: '',
407
+ compulsoryInsuranceCompanyCode: '',
408
+ compulsoryInsuranceCompanyName: '',
409
+ commercialInsuranceCompanyRemark: '',
410
+ vehicleRemark: '',
411
+
412
+ factoryCode: '',
413
+ brandCode: '',
414
+ seriesCode: '',
415
+ modelCode: '',
416
+ displayName: '',
417
+
418
+ customVehicleAddInfoVos: [] // 车型扩展属性
419
+ },
420
+
421
+ extendList: [], // 扩展属性列表
422
+
423
+ tempCustomVehicleInfo: {},
424
+
425
+ showVehicleList: false, // 是否显示车辆列表
426
+ selIndex: 0,
427
+
428
+ // 下拉查询保险公司参数
429
+ datalist: [],
430
+ selectParams: {
431
+ pageNums: config.pageNums,
432
+ pageStart: 1
433
+ },
434
+ isLastPage: false,
435
+
436
+ // 校验信息
437
+ checkStateInfo: {
438
+ mobilePhone: {
439
+ state: null,
440
+ message: '手机号输入格式不正确'
441
+ },
442
+ customName: {
443
+ state: null,
444
+ message: ''
445
+ },
446
+ email: {
447
+ state: null,
448
+ message: '邮箱输入格式不正确'
449
+ },
450
+ plateNumber: {
451
+ state: null,
452
+ message: '车牌号输入格式不正确'
453
+ },
454
+ plateNumberTmp: {
455
+ state: null,
456
+ message: '临时车牌输入格式不正确'
457
+ },
458
+ vinCode: {
459
+ state: null,
460
+ message: 'vin码输入格式不正确'
461
+ },
462
+ },
463
+
464
+ insertClicked: false
465
+ }
466
+ },
467
+ mounted() {
468
+ // 获取证件类型列表
469
+ this.getCertificateType()
470
+ // 获取客户类型列表
471
+ this.getCustomerType()
472
+ },
473
+ computed: {
474
+ addlist() {
475
+ let list = []
476
+ if(!this.tempCustomVehicleInfo || !this.tempCustomVehicleInfo.customVehicleInfoVos) {
477
+ return []
478
+ }
479
+ this.tempCustomVehicleInfo.customVehicleInfoVos.forEach(item => {
480
+ list = list.concat(item.customVehicleAddInfoVos || [])
481
+ })
482
+ return filter(list, 'addCode')
483
+ },
484
+ // 区分车辆卡还是车主卡
485
+ isVehicleCard() {
486
+ return this.cardUseTypeCode === 'VehicleCard'
487
+ },
488
+ // 车牌号一旦录入就不可更改
489
+ disabledPlateNumber() {
490
+ const { customVehicleInfoVos } = this.tempCustomVehicleInfo
491
+ if(customVehicleInfoVos) {
492
+ if(customVehicleInfoVos.length == 1
493
+ && this.vehicleInfo.plateNumber
494
+ && !this.insertClicked) {
495
+ return true
496
+ }else {
497
+ return false
498
+ }
499
+ }else {
500
+ return false
501
+ }
502
+ }
503
+ },
504
+ methods: {
505
+ show(queryInfo = null) {
506
+ this.initModal()
507
+ this.dialogVisible = true
508
+ if(queryInfo != null) {
509
+ const {customCode, mobilePhone, vehicleCode, plateNumberOrVin, plateNumber, plateNumberTmp, vinCode} = queryInfo
510
+ this.queryCustomAndVehicle({
511
+ customCode: customCode,
512
+ carOwnerMobile: mobilePhone,
513
+ vehicleCode: vehicleCode,
514
+ plateNumberOrVin: plateNumberOrVin, // 车牌号或VIN码或VIN后6位
515
+ plateNumber: plateNumber,
516
+ plateNumberTmp: plateNumberTmp,
517
+ vinCode: vinCode
518
+ }, () => {
519
+ this.customInfo.mobilePhone = mobilePhone
520
+ this.vehicleInfo.plateNumber = plateNumber
521
+ this.vehicleInfo.plateNumberTmp = plateNumberTmp
522
+ this.vehicleInfo.vinCode = vinCode
523
+ })
524
+ }
525
+ },
526
+ hide() {
527
+ this.dialogVisible = false
528
+ },
529
+
530
+ getCertificateType() {
531
+ getType(CERTIFICATE_TYPE, items => {
532
+ this.certificateType = items.map(item => {
533
+ return {
534
+ text: item.refDetailName,
535
+ value: item.refDetailCode
536
+ }
537
+ })
538
+ })
539
+ },
540
+ getCustomerType() {
541
+ getType(CUSTOM_TYPE, items => {
542
+ this.customType = items.map(item => {
543
+ return {
544
+ text: item.refDetailName,
545
+ value: item.refDetailCode
546
+ }
547
+ })
548
+ })
549
+ },
550
+
551
+ getAddValue(scope, addCode) {
552
+ let sublist = scope.row.customVehicleAddInfoVos
553
+ if(sublist) {
554
+ for(let i = 0; i < sublist.length; i ++) {
555
+ if(addCode === sublist[i].addCode) {
556
+ return sublist[i].addValue
557
+ }
558
+ }
559
+ }
560
+ },
561
+ setWidth(item) {
562
+ if(item.addName) {
563
+ if(item.addName.length === 2) {
564
+ return 100
565
+ }
566
+ return item.addName.length * 26
567
+ }
568
+ },
569
+ /**
570
+ * info => 被校验的对象
571
+ * prop => 被校验的对象属性
572
+ * required => 是否校验必填, 默认必填
573
+ */
574
+ checkState({info, prop, required = true, regFlag = true}) {
575
+ const reg = {
576
+ mobilePhone: /^\d{11}$/,
577
+ email: new RegExp("^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$"),
578
+ // plateNumber: /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4,6}[A-Z0-9挂学警港澳]{1}$/,
579
+ // plateNumber: /(^[\u4E00-\u9FA5]{1}[A-Z0-9]{6}$)|(^[A-Z]{2}[A-Z0-9]{2}[A-Z0-9\u4E00-\u9FA5]{1}[A-Z0-9]{4}$)|(^[\u4E00-\u9FA5]{1}[A-Z0-9]{5}[挂学警军港澳]{1}$)|(^[A-Z]{2}[0-9]{5}$)|(^(08|38){1}[A-Z0-9]{4}[A-Z0-9挂学警军港澳]{1}$)/,
580
+
581
+ plateNumber: /^[\u4E00-\u9FA5A-Z0-9]{7,9}$/,
582
+ plateNumberTmp: /^[\u4E00-\u9FA5A-Z0-9]{7,9}$/,
583
+ vinCode: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{17}$/,
584
+ }
585
+ if(required && !this[info][prop]) {
586
+ this.checkStateInfo[prop].state = 'invalid'
587
+ return
588
+ }else if(!required && !this[info][prop]) {
589
+ this.checkStateInfo[prop].state = null
590
+ return
591
+ }else if(regFlag) {
592
+ if(!reg[prop].test(this[info][prop])) {
593
+ this.checkStateInfo[prop].state = 'invalid'
594
+ Message({
595
+ type: 'warning',
596
+ message: this.checkStateInfo[prop].message
597
+ })
598
+ }else {
599
+ this.checkStateInfo[prop].state = null
600
+ }
601
+ }else {
602
+ this.checkStateInfo[prop].state = null
603
+ }
604
+ },
605
+ formatDate(info) {
606
+ const { keys } = Object
607
+ for(let key of keys(info)) {
608
+ if((key.includes('birthday') || key.includes('Date')) && info[key]) {
609
+ info[key] = new Date(info[key]).format('yyyy-MM-dd')
610
+ }
611
+ }
612
+ },
613
+
614
+ // 点击车辆列表
615
+ vehicleListBtnClick() {
616
+ this.queryCustomAndVehicle({
617
+ carOwnerMobile: this.customInfo.mobilePhone
618
+ })
619
+ this.showVehicleList = true
620
+ },
621
+ // 点击新增车辆
622
+ insertVehicleBtnClick() {
623
+ this.showVehicleList = false
624
+ this.insertClicked = true
625
+
626
+ this.assignment(this.vehicleInfo, {
627
+ isMainCar: true,
628
+ customVehicleInfoVos: []
629
+ })
630
+ this.$refs.selectCarExtendProp.reset()
631
+
632
+ this.$refs.search.setValue()
633
+ this.$refs._search.setValue()
634
+
635
+ this.selIndex = 0
636
+ },
637
+
638
+ isMainCarInfoChange(customVehicleInfoVos) {
639
+ let res = false
640
+ const carInfoProps = ['factoryCode', 'brandCode', 'seriesCode', 'modelCode', 'displayName']
641
+ carInfoProps.forEach(key => {
642
+ if(this.vehicleInfo[key] !== customVehicleInfoVos[0][key]) {
643
+ res = true
644
+ }
645
+ })
646
+ return res
647
+ },
648
+ getCarExtendInfo(carInfo, extendInfo) {
649
+ for(let key in carInfo) {
650
+ if(key.includes('Code') || key == 'displayName') {
651
+ this.vehicleInfo[key] = carInfo[key]
652
+ }
653
+ }
654
+ if(extendInfo.length) {
655
+ this.extendList = extendInfo
656
+ }
657
+ // 如果主车型发生变化了, 清空已选扩展属性
658
+ // const { customVehicleInfoVos } = this.tempCustomVehicleInfo
659
+ // if(customVehicleInfoVos.length == 1 && this.isMainCarInfoChange(customVehicleInfoVos)) {
660
+ // this.$refs.selectCarExtendProp.setValue(carInfo, [])
661
+ // }
662
+ },
663
+
664
+ // 各种失去焦点校验 => start
665
+ mobilePhoneBlur() {
666
+ this.checkState({
667
+ info: 'customInfo',
668
+ prop: 'mobilePhone'
669
+ })
670
+
671
+ if(!this.checkStateInfo.mobilePhone.state) {
672
+ this.queryCustomAndVehicle({
673
+ carOwnerMobile: this.customInfo.mobilePhone
674
+ })
675
+ }
676
+ },
677
+ customNameBlur() {
678
+ this.checkState({
679
+ info: 'customInfo',
680
+ prop: 'customName',
681
+ regFlag: false
682
+ })
683
+ },
684
+ emailBlur() {
685
+ this.checkState({
686
+ info: 'customInfo',
687
+ prop: 'email',
688
+ required: false
689
+ })
690
+ },
691
+ plateNumberBlur(prop) {
692
+ this.vehicleInfo[prop] = this.vehicleInfo[prop].toUpperCase()
693
+ this.checkState({
694
+ info: 'vehicleInfo',
695
+ prop: prop,
696
+ required: false
697
+ })
698
+ },
699
+ vinCodeBlur() {
700
+ this.checkState({
701
+ info: 'vehicleInfo',
702
+ prop: 'vinCode',
703
+ required: false
704
+ })
705
+ },
706
+ // 各种失去焦点校验 => end
707
+
708
+ // 点击选择
709
+ selectBtnClick() {
710
+ // 车主卡
711
+ if(!this.isVehicleCard) {
712
+ const customParams = {...this.customInfo}
713
+ this.formatDate(customParams)
714
+ // 新增车主信息
715
+ if(!this.tempCustomVehicleInfo.id) {
716
+ getSequence(CUSTOM, res => {
717
+ delete customParams.id
718
+ customParams.customCode = res
719
+ this.insertCustomInfo(customParams)
720
+ })
721
+ }
722
+ // 编辑车主信息
723
+ else {
724
+ customParams.id = this.tempCustomVehicleInfo.id
725
+ customParams.customCode = this.tempCustomVehicleInfo.customCode
726
+ this.updateCustomInfo(customParams)
727
+ }
728
+ }
729
+ // 车辆卡 => 查询结果是( 人套车 ), 新增或者编辑客户车辆是入参格式为( 车套人 )
730
+ else {
731
+ this.$refs.selectCarExtendProp.requireCheck()
732
+ const customVehicleParams = {...this.vehicleInfo},
733
+ { customVehicleInfoVos } = this.tempCustomVehicleInfo
734
+ if(!this.showVehicleList && !customVehicleParams.displayName) {
735
+ Message({
736
+ type: 'warning',
737
+ message: '车型主信息必填'
738
+ })
739
+ return
740
+ }
741
+ const { plateNumber, plateNumberTmp } = this.vehicleInfo
742
+ if(!this.showVehicleList && !plateNumber && !plateNumberTmp) {
743
+ Message({
744
+ type: 'warning',
745
+ message: '车牌和临牌必填一个'
746
+ })
747
+ return
748
+ }
749
+ // 新增客户车辆 => 无人无车
750
+ if(!this.tempCustomVehicleInfo.id) {
751
+ getSequence(CUSTOM, _customCode => {
752
+ getSequence(CUSTOM_VEHICLE_SEQ, _vehicleCode => {
753
+ delete customVehicleParams.id
754
+ customVehicleParams.vehicleCode = _vehicleCode
755
+ customVehicleParams.customCode = _customCode
756
+ customVehicleParams.isMainCar = customVehicleParams.isMainCar ? 1 : 0
757
+
758
+ customVehicleParams.customInfoVo = {...this.customInfo}
759
+ delete customVehicleParams.customInfoVo.id
760
+ customVehicleParams.customInfoVo.customCode = _customCode
761
+
762
+ this.formatDate(customVehicleParams)
763
+ this.formatDate(customVehicleParams.customInfoVo)
764
+
765
+ if(this.extendList.length) {
766
+ const seqListParams = {
767
+ serviceCode: CUSTOM_VEHICLE_ADD_SEQ,
768
+ getNums: this.extendList.length
769
+ },
770
+ carCodeParams = {
771
+ factoryCode: customVehicleParams.factoryCode,
772
+ brandCode: customVehicleParams.brandCode,
773
+ seriesCode: customVehicleParams.seriesCode,
774
+ modelCode: customVehicleParams.modelCode,
775
+ displayName: customVehicleParams.displayName
776
+ }
777
+
778
+ this.getMainCarInfo(carCodeParams, obj => {
779
+ getSequenceList(seqListParams, carDetailCodes => {
780
+ customVehicleParams.customVehicleAddInfoVos = []
781
+ this.extendList.forEach((item, i) => {
782
+ customVehicleParams.customVehicleAddInfoVos.push({
783
+ carCode: obj[0].carCode,
784
+ addCode: item.propCode,
785
+ addValue: item.selectedProps[0],
786
+ vehicleCode: _vehicleCode,
787
+ carDetailCode: carDetailCodes[i]
788
+ })
789
+ })
790
+
791
+ this.insertCustomVehicleInfo(customVehicleParams, () => {
792
+ const emitParams = {...customVehicleParams.customInfoVo},
793
+ vehicleInfo = {...customVehicleParams}
794
+ delete vehicleInfo.customInfoVo
795
+ emitParams.customVehicleInfoVos = [{...vehicleInfo}]
796
+ this.setCustomVehicleInfo(emitParams, true)
797
+ })
798
+
799
+ })
800
+ })
801
+ }else {
802
+ this.insertCustomVehicleInfo(customVehicleParams, () => {
803
+ const emitParams = {...customVehicleParams.customInfoVo},
804
+ vehicleInfo = {...customVehicleParams}
805
+ delete vehicleInfo.customInfoVo
806
+ emitParams.customVehicleInfoVos = [{...vehicleInfo}]
807
+ this.setCustomVehicleInfo(emitParams, true)
808
+ })
809
+ }
810
+
811
+ })
812
+ })
813
+ }else {
814
+ // 新增客户车辆 => 一人无车 或者 任何情况下点击了新增车辆
815
+ if((!this.showVehicleList && !customVehicleInfoVos) || this.insertClicked) {
816
+ getSequence(CUSTOM_VEHICLE_SEQ, _vehicleCode => {
817
+ delete customVehicleParams.id
818
+ customVehicleParams.vehicleCode = _vehicleCode
819
+ customVehicleParams.customCode = this.tempCustomVehicleInfo.customCode
820
+ customVehicleParams.isMainCar = customVehicleParams.isMainCar ? 1 : 0
821
+
822
+ customVehicleParams.customInfoVo = {...this.customInfo}
823
+ customVehicleParams.customInfoVo.id = this.tempCustomVehicleInfo.id
824
+ customVehicleParams.customInfoVo.customCode = this.tempCustomVehicleInfo.customCode
825
+
826
+
827
+ this.formatDate(customVehicleParams)
828
+ this.formatDate(customVehicleParams.customInfoVo)
829
+
830
+ if(this.extendList.length) {
831
+ const seqListParams = {
832
+ serviceCode: CUSTOM_VEHICLE_ADD_SEQ,
833
+ getNums: this.extendList.length
834
+ },
835
+ carCodeParams = {
836
+ factoryCode: customVehicleParams.factoryCode,
837
+ brandCode: customVehicleParams.brandCode,
838
+ seriesCode: customVehicleParams.seriesCode,
839
+ modelCode: customVehicleParams.modelCode,
840
+ displayName: customVehicleParams.displayName
841
+ }
842
+
843
+ this.getMainCarInfo(carCodeParams, obj => {
844
+ getSequenceList(seqListParams, carDetailCodes => {
845
+ customVehicleParams.customVehicleAddInfoVos = []
846
+ this.extendList.forEach((item, i) => {
847
+ customVehicleParams.customVehicleAddInfoVos.push({
848
+ carCode: obj[0].carCode,
849
+ addCode: item.propCode,
850
+ addValue: item.selectedProps[0],
851
+ vehicleCode: _vehicleCode,
852
+ carDetailCode: carDetailCodes[i]
853
+ })
854
+ })
855
+
856
+ this.insertCustomVehicleInfo(customVehicleParams, () => {
857
+ const emitParams = {...customVehicleParams.customInfoVo},
858
+ vehicleInfo = {...customVehicleParams}
859
+ delete vehicleInfo.customInfoVo
860
+ emitParams.customVehicleInfoVos = [{...vehicleInfo}]
861
+ this.setCustomVehicleInfo(emitParams, true)
862
+ })
863
+ })
864
+ })
865
+ }else {
866
+ this.insertCustomVehicleInfo(customVehicleParams, () => {
867
+ const emitParams = {...customVehicleParams.customInfoVo},
868
+ vehicleInfo = {...customVehicleParams}
869
+ delete vehicleInfo.customInfoVo
870
+ emitParams.customVehicleInfoVos = [{...vehicleInfo}]
871
+ this.setCustomVehicleInfo(emitParams, true)
872
+ })
873
+ }
874
+
875
+ })
876
+ }
877
+ // 编辑客户车辆 => 一人一车
878
+ if(!this.showVehicleList && customVehicleInfoVos.length == 1 && !this.insertClicked) {
879
+ const selCustomVehicleInfo = customVehicleInfoVos[0]
880
+
881
+ customVehicleParams.id = selCustomVehicleInfo.id
882
+ customVehicleParams.vehicleCode = selCustomVehicleInfo.vehicleCode
883
+ customVehicleParams.customCode = this.tempCustomVehicleInfo.customCode
884
+ customVehicleParams.isMainCar = customVehicleParams.isMainCar ? 1 : 0
885
+
886
+ customVehicleParams.customInfoVo = {...this.customInfo}
887
+ customVehicleParams.customInfoVo.id = this.tempCustomVehicleInfo.id
888
+ customVehicleParams.customInfoVo.customCode = this.tempCustomVehicleInfo.customCode
889
+
890
+ this.formatDate(customVehicleParams)
891
+ this.formatDate(customVehicleParams.customInfoVo)
892
+
893
+ this.getCarAddInfoParams(customVehicleParams).then(({count, tempArr}) => {
894
+ // 存在新的扩展属性
895
+ if(count > 0) {
896
+ const seqListParams = {
897
+ serviceCode: CUSTOM_VEHICLE_ADD_SEQ,
898
+ getNums: count
899
+ },
900
+ carCodeParams = {
901
+ factoryCode: customVehicleParams.factoryCode,
902
+ brandCode: customVehicleParams.brandCode,
903
+ seriesCode: customVehicleParams.seriesCode,
904
+ modelCode: customVehicleParams.modelCode,
905
+ displayName: customVehicleParams.displayName
906
+ }
907
+
908
+ this.getMainCarInfo(carCodeParams, obj => {
909
+ getSequenceList(seqListParams, carDetailCodes => {
910
+ tempArr.forEach((item, i) => {
911
+ customVehicleParams.customVehicleAddInfoVos.push({
912
+ carCode: obj[0].carCode,
913
+ addCode: item.propCode,
914
+ addValue: item.selectedProps[0],
915
+ vehicleCode: customVehicleParams.vehicleCode,
916
+ carDetailCode: carDetailCodes[i]
917
+ })
918
+ })
919
+ this.updateCustomVehicleInfo(customVehicleParams, () => {
920
+ const emitParams = {...customVehicleParams.customInfoVo},
921
+ vehicleInfo = {...customVehicleParams}
922
+ delete vehicleInfo.customInfoVo
923
+ emitParams.customVehicleInfoVos = [{...vehicleInfo}]
924
+ this.setCustomVehicleInfo(emitParams, true)
925
+ })
926
+ })
927
+ })
928
+ }
929
+ // 扩展属性没变或者减少
930
+ else {
931
+ this.updateCustomVehicleInfo(customVehicleParams, () => {
932
+ const emitParams = {...customVehicleParams.customInfoVo},
933
+ vehicleInfo = {...customVehicleParams}
934
+ delete vehicleInfo.customInfoVo
935
+ emitParams.customVehicleInfoVos = [{...vehicleInfo}]
936
+ this.setCustomVehicleInfo(emitParams, true)
937
+ })
938
+ }
939
+ })
940
+ }
941
+ // 编辑客户车辆 => 一人多车
942
+ if(this.showVehicleList && !this.insertClicked) {
943
+ const selCustomVehicleInfo = customVehicleInfoVos[this.selIndex]
944
+
945
+ this.assignment(customVehicleParams, selCustomVehicleInfo)
946
+
947
+ customVehicleParams.id = selCustomVehicleInfo.id
948
+ customVehicleParams.vehicleCode = selCustomVehicleInfo.vehicleCode
949
+ customVehicleParams.customCode = this.tempCustomVehicleInfo.customCode
950
+
951
+ customVehicleParams.customInfoVo = {...this.customInfo}
952
+ customVehicleParams.customInfoVo.id = this.tempCustomVehicleInfo.id
953
+ customVehicleParams.customInfoVo.customCode = this.tempCustomVehicleInfo.customCode
954
+
955
+ this.formatDate(customVehicleParams.customInfoVo)
956
+
957
+ this.updateCustomVehicleInfo(customVehicleParams, () => {
958
+ const emitParams = {...customVehicleParams.customInfoVo},
959
+ vehicleInfo = {...customVehicleParams}
960
+ delete vehicleInfo.customInfoVo
961
+ emitParams.customVehicleInfoVos = [{...vehicleInfo}]
962
+ this.setCustomVehicleInfo(emitParams, true)
963
+ })
964
+ }
965
+ }
966
+ }
967
+ },
968
+ setCustomVehicleInfo(params, isVehicleCard) {
969
+ const emitInfo = {...params}
970
+ delete emitInfo.id
971
+ // 做的完美一点就是把各种类型名称也抛出去
972
+ if(!isVehicleCard) {
973
+
974
+ }else {
975
+ // 车辆卡对外抛出对象信息
976
+ }
977
+ this.$emit('selectCusVehicleInfo', emitInfo)
978
+ this.hide()
979
+ },
980
+ getCarAddInfoParams(cusCarParams) {
981
+ return new Promise(resolve => {
982
+ const { customVehicleAddInfoVos } = this.tempCustomVehicleInfo.customVehicleInfoVos[0]
983
+ cusCarParams.customVehicleAddInfoVos = customVehicleAddInfoVos || []
984
+ cusCarParams.customVehicleAddInfoVos.forEach(item => {
985
+ let i = this.extendList.findIndex(v => v.propCode === item.addCode)
986
+ if(i === -1) {
987
+ item.isDeleted = 1
988
+ }else {
989
+ item.addValue = this.extendList[i].selectedProps[0]
990
+ }
991
+ })
992
+ let params = {
993
+ count: 0,
994
+ tempArr: []
995
+ }
996
+
997
+ this.extendList.forEach(item => {
998
+ let i = cusCarParams.customVehicleAddInfoVos.findIndex(v => v.addCode === item.propCode)
999
+ if(i === -1) {
1000
+ params.count++
1001
+ params.tempArr.push(item)
1002
+ }else {
1003
+ cusCarParams.customVehicleAddInfoVos[i].addCode = item.propCode
1004
+ cusCarParams.customVehicleAddInfoVos[i].addName = item.propName
1005
+ cusCarParams.customVehicleAddInfoVos[i].addValue = item.selectedProps[0]
1006
+ }
1007
+ })
1008
+ resolve(params)
1009
+ })
1010
+ },
1011
+ // 根据主车型获取carCode
1012
+ getMainCarInfo(params, next) {
1013
+ api.storeManage.getCarStyles(params, res => {
1014
+ if(res.data.code === 'success') {
1015
+ next(res.data.obj)
1016
+ }
1017
+ })
1018
+ },
1019
+
1020
+ assignment(info, newInfo) {
1021
+ const { keys } = Object
1022
+ for (let key of keys(info)) {
1023
+ info[key] = newInfo[key]
1024
+ }
1025
+ },
1026
+
1027
+ initModal() {
1028
+ this.tempCustomVehicleInfo = {}
1029
+ this.assignment(this.customInfo, {
1030
+ mobilePhone: this.customInfo.mobilePhone,
1031
+ customType: 'customTypeIndividualCus'
1032
+ })
1033
+ this.assignment(this.vehicleInfo, {
1034
+ isMainCar: true,
1035
+ customVehicleInfoVos: []
1036
+ })
1037
+ this.showVehicleList = false
1038
+ this.insertClicked = false
1039
+ this.extendList = []
1040
+ this.$nextTick(() => {
1041
+ this.$refs.selectCarExtendProp.reset()
1042
+ this.$refs.search.setValue()
1043
+ this.$refs._search.setValue()
1044
+ })
1045
+ },
1046
+
1047
+ queryCustomAndVehicle(params, next = () => {}) {
1048
+ // 查询前应该初始化一下
1049
+ this.initModal()
1050
+ api.mancar.queryCustomAndVehicle(params, res => {
1051
+ const obj = res.data.obj
1052
+ if(res.data.code === 'success' && obj) {
1053
+ const { customVehicleInfoVos } = obj
1054
+ this.tempCustomVehicleInfo = {...obj}
1055
+
1056
+ this.assignment(this.customInfo, obj)
1057
+ // 有人无车
1058
+ if(customVehicleInfoVos == null) {
1059
+ this.assignment(this.vehicleInfo, {
1060
+ isMainCar: true,
1061
+ customVehicleInfoVos: []
1062
+ })
1063
+ this.showVehicleList = false
1064
+ }
1065
+ // 有人一车
1066
+ else if(customVehicleInfoVos.length == 1) {
1067
+ this.assignment(this.vehicleInfo, customVehicleInfoVos[0])
1068
+ this.vehicleInfo.isMainCar = this.vehicleInfo.isMainCar == 1 ? true : false
1069
+ const carInfo = {
1070
+ factoryCode: this.vehicleInfo.factoryCode,
1071
+ brandCode: this.vehicleInfo.brandCode,
1072
+ seriesCode: this.vehicleInfo.seriesCode,
1073
+ modelCode: this.vehicleInfo.modelCode,
1074
+ displayName: this.vehicleInfo.displayName
1075
+ },
1076
+ extendProps = customVehicleInfoVos[0].customVehicleAddInfoVos || []
1077
+ let _extendList = []
1078
+ _extendList = extendProps.map(item => {
1079
+ return {
1080
+ propName: item.addName,
1081
+ propCode: item.addCode,
1082
+ selectedProps: [item.addValue]
1083
+ }
1084
+ })
1085
+ this.$refs.selectCarExtendProp.setValue(carInfo, _extendList)
1086
+
1087
+ this.$refs.search.setValue(customVehicleInfoVos[0].commercialInsuranceCompanyName)
1088
+ this.$refs._search.setValue(customVehicleInfoVos[0].compulsoryInsuranceCompanyName)
1089
+
1090
+ this.showVehicleList = false
1091
+ }
1092
+ // 有人多车
1093
+ else if(customVehicleInfoVos.length > 1) {
1094
+ this.assignment(this.vehicleInfo, {})
1095
+ this.showVehicleList = true
1096
+ }
1097
+ }else {
1098
+ next()
1099
+ }
1100
+ })
1101
+ },
1102
+
1103
+ // 新增客户信息
1104
+ insertCustomInfo(params) {
1105
+ api.mancar.insertCustomInfo(params, res => {
1106
+ if(res.data.code === 'success') {
1107
+ alertSuccess(res)
1108
+ this.setCustomVehicleInfo(params, false)
1109
+ }
1110
+ })
1111
+ },
1112
+ // 编辑客户信息
1113
+ updateCustomInfo(params) {
1114
+ api.mancar.updateCustomInfo(params, res => {
1115
+ if(res.data.code === 'success') {
1116
+ alertSuccess(res)
1117
+ this.setCustomVehicleInfo(params, false)
1118
+ }
1119
+ })
1120
+ },
1121
+ // 新增客户车辆信息
1122
+ insertCustomVehicleInfo(params, next) {
1123
+ api.mancar.insertCustomVehicleInfo(params, res => {
1124
+ if(res.data.code === 'success') {
1125
+ alertSuccess(res)
1126
+ next()
1127
+ }
1128
+ })
1129
+ },
1130
+ // 编辑客户车辆信息
1131
+ updateCustomVehicleInfo(params, next) {
1132
+ api.mancar.updateCustomVehicleInfo(params, res => {
1133
+ if(res.data.code === 'success') {
1134
+ alertSuccess(res)
1135
+ next()
1136
+ }
1137
+ })
1138
+ },
1139
+
1140
+ // 保险公司下拉搜索 => start
1141
+ clearValue() {
1142
+ this.vehicleInfo.commercialInsuranceCompanyCode = ''
1143
+ this.vehicleInfo.commercialInsuranceCompanyName = ''
1144
+ },
1145
+ _clearValue() {
1146
+ this.vehicleInfo.compulsoryInsuranceCompanyCode = ''
1147
+ this.vehicleInfo.compulsoryInsuranceCompanyName = ''
1148
+ },
1149
+ firstLoad() {
1150
+ if(this.selectParams.coName) {
1151
+ delete this.selectParams.coName;
1152
+ }else if(this.datalist.length !== 0) {
1153
+ return;
1154
+ }
1155
+ let params = this.selectParams;
1156
+ this.querySerInfo(params, obj => {
1157
+ this.isLastPage = obj.isLastPage;
1158
+ this.datalist = obj.list;
1159
+ });
1160
+ },
1161
+ querySelect(data) {
1162
+ this.selectParams.pageStart = 1;
1163
+ this.selectParams.coName = data;
1164
+ let params = this.selectParams;
1165
+ this.querySerInfo(params, obj => {
1166
+ this.isLastPage = obj.isLastPage;
1167
+ this.datalist = obj.list;
1168
+ });
1169
+ },
1170
+ itemClick(item) {
1171
+ this.vehicleInfo.commercialInsuranceCompanyCode = item.coCode
1172
+ this.vehicleInfo.commercialInsuranceCompanyName = item.coName
1173
+ },
1174
+ _itemClick(item) {
1175
+ this.vehicleInfo.compulsoryInsuranceCompanyCode = item.coCode
1176
+ this.vehicleInfo.compulsoryInsuranceCompanyName = item.coName
1177
+ },
1178
+ scrollBottom(isEnd) {
1179
+ if (isEnd && !this.isLastPage) {
1180
+ this.selectParams.pageStart ++
1181
+ let params = this.selectParams;
1182
+ this.querySerInfo(params, obj => {
1183
+ this.isLastPage = obj.isLastPage;
1184
+ this.datalist = this.datalist.concat(obj.list);
1185
+ });
1186
+ }
1187
+ },
1188
+ querySerInfo(params, callback) {
1189
+ // 回头加权限
1190
+ api.mancar.queryCompanyInfoByCodesAndPagination(params, res => {
1191
+ if (res.data.code === "success") {
1192
+ let obj = res.data.obj;
1193
+ callback(obj);
1194
+ }
1195
+ })
1196
+ },
1197
+ // 保险公司下拉搜索 => end
1198
+ }
1199
+ }
1200
+ </script>
1201
+ <style>
1202
+ .car-list-btn {
1203
+ position: absolute;
1204
+ top: 8px;
1205
+ left: 100px;
1206
+ }
1207
+ .add-car-btn {
1208
+ position: absolute;
1209
+ top: 8px;
1210
+ left: 200px;
1211
+ }
1212
+
1213
+ .custom-vehicle-modal .el-dialog {
1214
+ top: 3% !important;
1215
+ }
1216
+ </style>