n20-common-lib 1.3.46 → 1.3.49

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 (402) hide show
  1. package/README.md +2 -2
  2. package/g6.js +2 -2
  3. package/nstc-g6/assets/svg/addFile.svg +31 -31
  4. package/nstc-g6/assets/svg/deleteFile.svg +27 -27
  5. package/nstc-g6/assets/svg/filter.svg +15 -15
  6. package/nstc-g6/assets/svg/filterActive.svg +16 -16
  7. package/nstc-g6/assets/svg/hourglass.svg +18 -18
  8. package/nstc-g6/assets/svg/newsearch.svg +18 -18
  9. package/nstc-g6/assets/svg/searchActive.svg +18 -18
  10. package/nstc-g6/components/Calendar/index.js +8 -8
  11. package/nstc-g6/components/Calendar/src/basic/month-table.vue +129 -129
  12. package/nstc-g6/components/Calendar/src/basic/year-table.vue +126 -126
  13. package/nstc-g6/components/Calendar/src/main.vue +442 -442
  14. package/nstc-g6/components/DialogForm/index.js +8 -8
  15. package/nstc-g6/components/DialogForm/src/demo/index.vue +56 -56
  16. package/nstc-g6/components/DialogForm/src/main.vue +189 -189
  17. package/nstc-g6/components/Form/A_DEMO/component/originalForm.vue +280 -280
  18. package/nstc-g6/components/Form/A_DEMO/config/config_3.js +1222 -1222
  19. package/nstc-g6/components/Form/A_DEMO/index.vue +803 -803
  20. package/nstc-g6/components/Form/AutocompleteCustom/index.vue +72 -72
  21. package/nstc-g6/components/Form/BusinessSpecific/InputMultiple.vue +191 -191
  22. package/nstc-g6/components/Form/BusinessSpecific/InputWithUnit.vue +128 -128
  23. package/nstc-g6/components/Form/BusinessSpecific/SelectTreeDialog.vue +233 -233
  24. package/nstc-g6/components/Form/BusinessSpecific/readme.md +7 -7
  25. package/nstc-g6/components/Form/CascaderCustom/index.vue +101 -101
  26. package/nstc-g6/components/Form/CheckboxCustom/index.vue +84 -84
  27. package/nstc-g6/components/Form/Component.vue +661 -661
  28. package/nstc-g6/components/Form/ComponentSecond.vue +650 -650
  29. package/nstc-g6/components/Form/DatepickerCustom/index.vue +130 -130
  30. package/nstc-g6/components/Form/InputAndDialog/index.js +15 -15
  31. package/nstc-g6/components/Form/InputAndDialog/src/main.vue +394 -394
  32. package/nstc-g6/components/Form/InputCustom/demo/index.vue +65 -65
  33. package/nstc-g6/components/Form/InputCustom/index.vue +307 -307
  34. package/nstc-g6/components/Form/IntervalinputCustom/demo/index.vue +31 -31
  35. package/nstc-g6/components/Form/IntervalinputCustom/index.vue +118 -118
  36. package/nstc-g6/components/Form/Item.vue +330 -330
  37. package/nstc-g6/components/Form/ItemSecond.vue +269 -269
  38. package/nstc-g6/components/Form/List.vue +146 -146
  39. package/nstc-g6/components/Form/ListSecond.vue +130 -130
  40. package/nstc-g6/components/Form/RadioCustom/index.vue +73 -73
  41. package/nstc-g6/components/Form/SelectAccount/index.js +15 -15
  42. package/nstc-g6/components/Form/SelectAccount/src/demo/index.vue +57 -57
  43. package/nstc-g6/components/Form/SelectAccount/src/main.vue +282 -282
  44. package/nstc-g6/components/Form/SelectAndDialog/index.js +15 -15
  45. package/nstc-g6/components/Form/SelectAndDialog/src/main.vue +383 -383
  46. package/nstc-g6/components/Form/SelectCashFlow/index.js +15 -15
  47. package/nstc-g6/components/Form/SelectCashFlow/src/demo/index.vue +41 -41
  48. package/nstc-g6/components/Form/SelectCashFlow/src/main.vue +125 -125
  49. package/nstc-g6/components/Form/SelectCustom/demo/index.vue +82 -82
  50. package/nstc-g6/components/Form/SelectCustom/index.vue +488 -488
  51. package/nstc-g6/components/Form/SelectSubject/index.js +15 -15
  52. package/nstc-g6/components/Form/SelectSubject/src/demo/index.vue +84 -84
  53. package/nstc-g6/components/Form/SelectSubject/src/main.vue +181 -181
  54. package/nstc-g6/components/Form/SelectindialogCustom/demo/index.vue +188 -188
  55. package/nstc-g6/components/Form/SelectindialogCustom/index.vue +650 -650
  56. package/nstc-g6/components/Form/SelectindialogCustom/install.js +6 -6
  57. package/nstc-g6/components/Form/TableRadioCustom/demo/index.vue +53 -53
  58. package/nstc-g6/components/Form/TableRadioCustom/index.vue +183 -183
  59. package/nstc-g6/components/Form/TextCustom/index.vue +38 -38
  60. package/nstc-g6/components/Form/UploadCustom/demo/index.vue +31 -31
  61. package/nstc-g6/components/Form/UploadCustom/index.vue +506 -506
  62. package/nstc-g6/components/Form/configs.js +191 -191
  63. package/nstc-g6/components/Form/configsSecond.js +161 -161
  64. package/nstc-g6/components/Form/index.js +8 -8
  65. package/nstc-g6/components/Form/index.scss +29 -29
  66. package/nstc-g6/components/Form/payeePersonSelect/index.js +15 -15
  67. package/nstc-g6/components/Form/payeePersonSelect/src/demo/index.vue +163 -163
  68. package/nstc-g6/components/Form/payeePersonSelect/src/main.vue +184 -184
  69. package/nstc-g6/components/Form/readme.txt +4 -4
  70. package/nstc-g6/components/FormGroup/index.js +8 -8
  71. package/nstc-g6/components/FormGroup/src/demo/config.js +23 -23
  72. package/nstc-g6/components/FormGroup/src/demo/index.vue +85 -85
  73. package/nstc-g6/components/FormGroup/src/main.vue +639 -639
  74. package/nstc-g6/components/FormGroup/src/validate.js +22 -22
  75. package/nstc-g6/components/InputTag/InputTag.vue +269 -269
  76. package/nstc-g6/components/NstcApprovel/NstcApprovel.vue +24 -24
  77. package/nstc-g6/components/NstcBackToTop/NstcBackToTop.vue +150 -150
  78. package/nstc-g6/components/NstcBranchLazyLoad/NstcBranchLazyLoad.vue +123 -123
  79. package/nstc-g6/components/NstcCharts/NstcCharts.vue +162 -162
  80. package/nstc-g6/components/NstcCharts/define.js +74 -74
  81. package/nstc-g6/components/NstcCharts/mixins/resize.js +56 -56
  82. package/nstc-g6/components/NstcConfirm/NstcConfirm.vue +152 -152
  83. package/nstc-g6/components/NstcConfirm/index.js +24 -24
  84. package/nstc-g6/components/NstcDialog/NstcDialog.vue +184 -184
  85. package/nstc-g6/components/NstcDialogForm/NstcDialogForm.vue +175 -175
  86. package/nstc-g6/components/NstcDialogTable/NstcDialogTable.vue +280 -280
  87. package/nstc-g6/components/NstcDropdown/NstcDropdown.vue +52 -52
  88. package/nstc-g6/components/NstcDropdownTree/NstcDropdownTree.vue +396 -396
  89. package/nstc-g6/components/NstcElectronicFile/NstcElectronicFile.vue +711 -711
  90. package/nstc-g6/components/NstcExcelCustomImport/NstcExcelCustomImport.vue +475 -475
  91. package/nstc-g6/components/NstcExcelExport/NstcExcelExport.vue +145 -145
  92. package/nstc-g6/components/NstcExcelImport/NstcExcelImport.vue +1074 -1074
  93. package/nstc-g6/components/NstcExcelImportN/NstcExcelImportN.vue +1166 -1166
  94. package/nstc-g6/components/NstcExpandCollapse/NstcExpandCollapse.vue +130 -130
  95. package/nstc-g6/components/NstcExpandCollapse/index.scss +77 -77
  96. package/nstc-g6/components/NstcFileUpload/NstcFileUpload.vue +989 -989
  97. package/nstc-g6/components/NstcFileUpload/img/addFile.svg +31 -31
  98. package/nstc-g6/components/NstcFileUpload/img/delete.svg +23 -23
  99. package/nstc-g6/components/NstcFileUpload/img/deleteFile.svg +27 -27
  100. package/nstc-g6/components/NstcFileUpload/img/download.svg +23 -23
  101. package/nstc-g6/components/NstcFileUpload/img/inputUpload.svg +29 -29
  102. package/nstc-g6/components/NstcFileUpload/img/look-diabled.svg +23 -23
  103. package/nstc-g6/components/NstcFileUpload/img/look.svg +23 -23
  104. package/nstc-g6/components/NstcForm/A_DEMO/component/originalForm.vue +280 -280
  105. package/nstc-g6/components/NstcForm/A_DEMO/config/config_3.js +1222 -1222
  106. package/nstc-g6/components/NstcForm/A_DEMO/index.vue +796 -796
  107. package/nstc-g6/components/NstcForm/AutocompleteCustom/index.vue +68 -68
  108. package/nstc-g6/components/NstcForm/BusinessSpecific/InputMultiple.vue +189 -189
  109. package/nstc-g6/components/NstcForm/BusinessSpecific/InputWithUnit.vue +128 -128
  110. package/nstc-g6/components/NstcForm/BusinessSpecific/SelectTreeDialog.vue +233 -233
  111. package/nstc-g6/components/NstcForm/BusinessSpecific/readme.md +7 -7
  112. package/nstc-g6/components/NstcForm/CascaderCustom/index.vue +101 -101
  113. package/nstc-g6/components/NstcForm/CheckboxCustom/index.vue +84 -84
  114. package/nstc-g6/components/NstcForm/Component.vue +684 -684
  115. package/nstc-g6/components/NstcForm/ComponentSecond.vue +650 -650
  116. package/nstc-g6/components/NstcForm/DatepickerCustom/index.vue +130 -130
  117. package/nstc-g6/components/NstcForm/InputAndDialog/NstcInputAndDialog.vue +389 -389
  118. package/nstc-g6/components/NstcForm/InputCustom/index.vue +313 -313
  119. package/nstc-g6/components/NstcForm/IntervalInputCustom/index.vue +111 -111
  120. package/nstc-g6/components/NstcForm/Item.vue +327 -327
  121. package/nstc-g6/components/NstcForm/ItemSecond.vue +269 -269
  122. package/nstc-g6/components/NstcForm/List.vue +146 -146
  123. package/nstc-g6/components/NstcForm/ListSecond.vue +130 -130
  124. package/nstc-g6/components/NstcForm/RadioCustom/index.vue +73 -73
  125. package/nstc-g6/components/NstcForm/SelectAccount/NstcSelectAccount.vue +334 -334
  126. package/nstc-g6/components/NstcForm/SelectAndDialog/NstcSelectAndDialog.vue +377 -377
  127. package/nstc-g6/components/NstcForm/SelectCashFlow/NstcSelectCashFlow.vue +122 -122
  128. package/nstc-g6/components/NstcForm/SelectCustom/index.vue +460 -460
  129. package/nstc-g6/components/NstcForm/SelectSubject/NstcSelectSubject.vue +184 -184
  130. package/nstc-g6/components/NstcForm/SelectindialogCustom/index.vue +648 -648
  131. package/nstc-g6/components/NstcForm/TableRadioCustom/index.vue +183 -183
  132. package/nstc-g6/components/NstcForm/TextCustom/index.vue +38 -38
  133. package/nstc-g6/components/NstcForm/UploadCustom/index.vue +500 -500
  134. package/nstc-g6/components/NstcForm/configs.js +191 -191
  135. package/nstc-g6/components/NstcForm/configsSecond.js +161 -161
  136. package/nstc-g6/components/NstcForm/index.js +8 -8
  137. package/nstc-g6/components/NstcForm/index.scss +29 -29
  138. package/nstc-g6/components/NstcForm/payeePersonSelect/NstcPayeePerson.vue +187 -187
  139. package/nstc-g6/components/NstcForm/readme.txt +4 -4
  140. package/nstc-g6/components/NstcPagination/NstcPagination.vue +428 -428
  141. package/nstc-g6/components/NstcScreenFull/NstcScreenFull.vue +70 -70
  142. package/nstc-g6/components/NstcSelectTree/NstcSelectTree.vue +730 -730
  143. package/nstc-g6/components/NstcSelectTreeList/NstcSelectTreeList.vue +677 -677
  144. package/nstc-g6/components/NstcSticky/NstcSticky.vue +97 -97
  145. package/nstc-g6/components/NstcSvgIcon/NstcSvgIcon.vue +72 -72
  146. package/nstc-g6/components/NstcTab/NstcTab.vue +80 -80
  147. package/nstc-g6/components/NstcTabWithBadge/NstcTabWithBadge.vue +45 -45
  148. package/nstc-g6/components/NstcTabWithBadge/index.scss +31 -31
  149. package/nstc-g6/components/NstcTable/ElTableColumnCustom/index.vue +292 -292
  150. package/nstc-g6/components/NstcTable/NstcTable.vue +460 -460
  151. package/nstc-g6/components/NstcTableSet/NstcTableSet.vue +802 -802
  152. package/nstc-g6/components/NstcThemePicker/NstcThemePicker.vue +186 -186
  153. package/nstc-g6/components/NstcUploadCustomExcel/NstcUploadCustomExcel.vue +328 -328
  154. package/nstc-g6/components/NstcUploadExcel/NstcUploadExcel.vue +145 -145
  155. package/nstc-g6/components/NstcWorkBench/NstcWorkBench.vue +180 -180
  156. package/nstc-g6/components/Search/NstcSearch.vue +583 -583
  157. package/nstc-g6/components/Search/src/demo/index copy.vue +101 -101
  158. package/nstc-g6/components/Search/src/demo/index.vue +103 -103
  159. package/nstc-g6/components/Search/src/main copy.vue +607 -607
  160. package/nstc-g6/components/approvelTwo/main.vue +220 -220
  161. package/nstc-g6/components/approvelTwo/progress.vue +154 -154
  162. package/nstc-g6/directives/VCopy/index.js +59 -59
  163. package/nstc-g6/directives/VNstcNumber/index.js +14 -14
  164. package/nstc-g6/directives/VNstcNumber/temp.js +446 -446
  165. package/nstc-g6/index.js +193 -193
  166. package/nstc-g6/utils/auth.js +2 -2
  167. package/nstc-g6/utils/axios.js +2 -2
  168. package/nstc-g6/utils/dateAndValidator.js +649 -649
  169. package/nstc-g6/utils/debounce.js +40 -40
  170. package/nstc-g6/utils/mapper_aims.js +809 -809
  171. package/nstc-g6/utils/parseTime.js +48 -48
  172. package/nstc-g6/utils/validate/index.js +6 -6
  173. package/nstc-g6/utils/vendor/Export2Excel.js +229 -229
  174. package/nstc-g6/utils/vendor/Export2Zip.js +24 -24
  175. package/nstc-g6/utils/vue-bus.js +4 -4
  176. package/package.json +103 -103
  177. package/src/_qiankun/index.js +113 -113
  178. package/src/_qiankun/postMessage.js +24 -24
  179. package/src/assets/css/_coreLib.scss +43 -43
  180. package/src/assets/css/alert.scss +28 -28
  181. package/src/assets/css/cl-anchor.scss +70 -70
  182. package/src/assets/css/cl-approve-card.scss +68 -68
  183. package/src/assets/css/cl-dialog.scss +113 -113
  184. package/src/assets/css/cl-drag-list.scss +24 -24
  185. package/src/assets/css/cl-empty.scss +10 -10
  186. package/src/assets/css/cl-expandable-pane.scss +37 -37
  187. package/src/assets/css/cl-expandable.scss +27 -27
  188. package/src/assets/css/cl-file-upload-table.scss +31 -31
  189. package/src/assets/css/cl-filter.scss +4 -4
  190. package/src/assets/css/cl-flow-step.scss +185 -185
  191. package/src/assets/css/cl-footer-box.scss +10 -10
  192. package/src/assets/css/cl-form-item.scss +729 -729
  193. package/src/assets/css/cl-general-card.scss +11 -11
  194. package/src/assets/css/cl-layout-aside.scss +92 -92
  195. package/src/assets/css/cl-layout-content.scss +16 -16
  196. package/src/assets/css/cl-layout-header.scss +89 -89
  197. package/src/assets/css/cl-layout-tabs.scss +87 -87
  198. package/src/assets/css/cl-layout.scss +97 -97
  199. package/src/assets/css/cl-login-temporary.scss +37 -37
  200. package/src/assets/css/cl-message.scss +159 -159
  201. package/src/assets/css/cl-more-tab.scss +98 -98
  202. package/src/assets/css/cl-nav-menu.scss +5 -5
  203. package/src/assets/css/cl-pagination.scss +130 -130
  204. package/src/assets/css/cl-secondary-tab.scss +53 -53
  205. package/src/assets/css/cl-showcolumn.scss +40 -40
  206. package/src/assets/css/cl-sifting.scss +51 -51
  207. package/src/assets/css/cl-statis.scss +54 -54
  208. package/src/assets/css/cl-step.scss +73 -73
  209. package/src/assets/css/cl-suspend.scss +19 -19
  210. package/src/assets/css/cl-tertiary-tab.scss +56 -56
  211. package/src/assets/css/cl-upload.scss +52 -52
  212. package/src/assets/css/cl-worn-pagination.scss +50 -50
  213. package/src/assets/css/el-button.scss +186 -186
  214. package/src/assets/css/el-table.scss +88 -88
  215. package/src/assets/css/element-variables.scss +1061 -1061
  216. package/src/assets/css/element.dev.scss +22 -22
  217. package/src/assets/css/font-icon.scss +26 -26
  218. package/src/assets/css/index.dev.scss +4 -4
  219. package/src/assets/css/index.scss +11 -11
  220. package/src/assets/css/normalize.scss +845 -845
  221. package/src/assets/css/plain-text.scss +36 -36
  222. package/src/assets/css/rootvar.scss +143 -143
  223. package/src/assets/css/select.scss +25 -25
  224. package/src/assets/css/title-pop.scss +23 -23
  225. package/src/assets/getJsonc.js +53 -53
  226. package/src/assets/iconFont/demo.css +539 -539
  227. package/src/assets/iconFont/demo_index.html +1614 -1614
  228. package/src/assets/iconFont/iconfont.css +263 -263
  229. package/src/assets/iconFont/iconfont.json +443 -443
  230. package/src/assets/realUrl.js +13 -13
  231. package/src/components/Anchor/AnchorItem.vue +30 -30
  232. package/src/components/Anchor/index.vue +208 -208
  233. package/src/components/ApprovalButtons/index.vue +240 -240
  234. package/src/components/ApprovalCard/index.vue +132 -132
  235. package/src/components/ApprovalRecord/approvalImg.vue +39 -39
  236. package/src/components/ApprovalRecord/approvalImgPro.vue +424 -424
  237. package/src/components/ApprovalRecord/flowDialog.vue +47 -47
  238. package/src/components/ApprovalRecord/index.vue +63 -63
  239. package/src/components/Button/button-group.vue +148 -148
  240. package/src/components/Button/icon-group-button.vue +63 -63
  241. package/src/components/Button/index.vue +56 -56
  242. package/src/components/CascaderArea/index.vue +103 -103
  243. package/src/components/ChildRange/index.vue +169 -169
  244. package/src/components/ChildRange/style.scss +34 -34
  245. package/src/components/ContentLoading/index.vue +41 -41
  246. package/src/components/ContentNull/index.vue +19 -19
  247. package/src/components/DatePicker/index.vue +33 -33
  248. package/src/components/DatePicker/por.vue +171 -171
  249. package/src/components/Descriptions/index.vue +42 -42
  250. package/src/components/Dialog/index.vue +26 -26
  251. package/src/components/Dialog/indexO.vue +116 -116
  252. package/src/components/DragList/index.vue +79 -79
  253. package/src/components/ECharts/define.js +74 -74
  254. package/src/components/ECharts/index.vue +170 -170
  255. package/src/components/ECharts/mixins/resize.js +23 -23
  256. package/src/components/Empty/img/400.svg +101 -101
  257. package/src/components/Empty/img/401.svg +101 -101
  258. package/src/components/Empty/img/403.svg +101 -101
  259. package/src/components/Empty/img/405.svg +101 -101
  260. package/src/components/Empty/img/901.svg +95 -95
  261. package/src/components/Empty/img/902.svg +95 -95
  262. package/src/components/Empty/img/903.svg +95 -95
  263. package/src/components/Empty/img/904.svg +95 -95
  264. package/src/components/Empty/img/905.svg +95 -95
  265. package/src/components/Empty/img/906.svg +95 -95
  266. package/src/components/Empty/img/907.svg +95 -95
  267. package/src/components/Empty/img/abnormal.svg +108 -108
  268. package/src/components/Empty/img/dispose.svg +71 -71
  269. package/src/components/Empty/img/empty.svg +57 -57
  270. package/src/components/Empty/img/general.svg +58 -58
  271. package/src/components/Empty/img/lock.svg +57 -57
  272. package/src/components/Empty/img/network.svg +59 -59
  273. package/src/components/Empty/img/relevant.svg +68 -68
  274. package/src/components/Empty/img/search.svg +72 -72
  275. package/src/components/Empty/index.vue +147 -147
  276. package/src/components/EventBubble/demo/a.vue +29 -29
  277. package/src/components/EventBubble/demo/b.vue +12 -12
  278. package/src/components/EventBubble/demo/c.vue +18 -18
  279. package/src/components/EventBubble/index.vue +57 -57
  280. package/src/components/Expandable/index.vue +49 -49
  281. package/src/components/Expandable/main.vue +64 -64
  282. package/src/components/FileExportAsync/index.vue +191 -191
  283. package/src/components/FileImport/index.vue +108 -108
  284. package/src/components/FileUploadTable/index.vue +583 -583
  285. package/src/components/Filters/form-item-input.vue +185 -185
  286. package/src/components/Filters/index.vue +216 -216
  287. package/src/components/Filters/indexO.vue +106 -106
  288. package/src/components/FlowStep/index.vue +92 -92
  289. package/src/components/FooterBox/index.vue +21 -21
  290. package/src/components/GeneralCard/index.vue +15 -15
  291. package/src/components/InputNumber/index.vue +184 -184
  292. package/src/components/InputNumber/numberRange.vue +62 -62
  293. package/src/components/InputSearch/index.vue +79 -75
  294. package/src/components/Layout/AsideNav/index.vue +120 -120
  295. package/src/components/Layout/AsideNav/menuItem.vue +34 -34
  296. package/src/components/Layout/AsideNav/submenuTitle.vue +26 -26
  297. package/src/components/Layout/HeaderWrap/changePwd.vue +215 -215
  298. package/src/components/Layout/HeaderWrap/index.vue +412 -412
  299. package/src/components/Layout/HeaderWrap/noticePop.vue +316 -316
  300. package/src/components/Layout/SubContent/index.vue +127 -127
  301. package/src/components/Layout/TabsNav/index.vue +169 -169
  302. package/src/components/Layout/index.vue +518 -518
  303. package/src/components/Layout/utils.js +12 -12
  304. package/src/components/LoginTemporary/form.vue +581 -581
  305. package/src/components/LoginTemporary/index.vue +198 -198
  306. package/src/components/LoginTemporary/qrcode.vue +92 -92
  307. package/src/components/LoginTemporary/retrievePw.vue +375 -375
  308. package/src/components/LoginTemporary/utils.js +73 -73
  309. package/src/components/MicroApp/index.js +67 -67
  310. package/src/components/MicroFrame/index.vue +95 -95
  311. package/src/components/MoreTab/index.vue +229 -229
  312. package/src/components/NavMenu/index.vue +60 -60
  313. package/src/components/PageHeader/index.vue +39 -39
  314. package/src/components/PageHeader/style.scss +44 -44
  315. package/src/components/PageLayout/page.vue +15 -15
  316. package/src/components/Pagination/index.vue +165 -165
  317. package/src/components/SecondaryTab/index.vue +57 -57
  318. package/src/components/SelectLazy/index.vue +75 -75
  319. package/src/components/SelectTree/SelectTreeLazy.vue +241 -241
  320. package/src/components/SelectTree/index.vue +206 -206
  321. package/src/components/ShowColumn/index.vue +252 -252
  322. package/src/components/Sifting/index.vue +98 -98
  323. package/src/components/Stamp/index.vue +75 -75
  324. package/src/components/Statis/index.vue +113 -113
  325. package/src/components/Statis/statisItem.vue +65 -65
  326. package/src/components/Statis/statisPopover.vue +63 -63
  327. package/src/components/Step/index.vue +37 -37
  328. package/src/components/Suspend/index.vue +72 -72
  329. package/src/components/Table/filters.js +60 -60
  330. package/src/components/Table/index.vue +89 -89
  331. package/src/components/Table/indexO.vue +149 -149
  332. package/src/components/TableOperateColumn/OperateBtns.vue +86 -86
  333. package/src/components/TableOperateColumn/index.vue +26 -26
  334. package/src/components/Task/index.vue +26 -26
  335. package/src/components/TertiaryTab/index.vue +62 -62
  336. package/src/components/TimePicker/index.vue +28 -28
  337. package/src/components/Upload/index.vue +280 -280
  338. package/src/components/Upload/uploadMsg.vue +114 -114
  339. package/src/components/WornPagination/index.vue +73 -73
  340. package/src/directives/VClickOutside/index.js +27 -27
  341. package/src/directives/VHas/index.js +58 -58
  342. package/src/directives/VMove/index.js +42 -42
  343. package/src/directives/VRuleKey/index.js +201 -201
  344. package/src/directives/VTitle/index.js +109 -109
  345. package/src/index.js +265 -265
  346. package/src/plugins/CompatibleOld/index.js +11 -11
  347. package/src/plugins/Print/index.js +4 -4
  348. package/src/plugins/Print/print-js/.babelrc +12 -12
  349. package/src/plugins/Print/print-js/LICENSE +21 -21
  350. package/src/plugins/Print/print-js/README.md +98 -98
  351. package/src/plugins/Print/print-js/dist/print.css +96 -96
  352. package/src/plugins/Print/print-js/dist/print.js +990 -990
  353. package/src/plugins/Print/print-js/package.json +60 -60
  354. package/src/plugins/Print/print-js/src/index.d.ts +45 -45
  355. package/src/plugins/Print/print-js/src/index.js +10 -10
  356. package/src/plugins/Print/print-js/src/js/browser.js +33 -33
  357. package/src/plugins/Print/print-js/src/js/functions.js +103 -103
  358. package/src/plugins/Print/print-js/src/js/html.js +70 -70
  359. package/src/plugins/Print/print-js/src/js/image.js +48 -48
  360. package/src/plugins/Print/print-js/src/js/init.js +168 -168
  361. package/src/plugins/Print/print-js/src/js/json.js +109 -109
  362. package/src/plugins/Print/print-js/src/js/modal.js +62 -62
  363. package/src/plugins/Print/print-js/src/js/pdf.js +62 -62
  364. package/src/plugins/Print/print-js/src/js/print.js +102 -102
  365. package/src/plugins/Print/print-js/src/js/raw-html.js +15 -15
  366. package/src/plugins/Print/print-js/src/sass/index.scss +13 -13
  367. package/src/plugins/Print/print-js/src/sass/modules/_colors.scss +9 -9
  368. package/src/plugins/Print/print-js/src/sass/partials/_modal.scss +40 -40
  369. package/src/plugins/Print/print-js/src/sass/partials/_spinner.scss +45 -45
  370. package/src/plugins/Print/print.js +2 -2
  371. package/src/plugins/Print/print.scss +1 -1
  372. package/src/plugins/SetMenuTree/index.vue +41 -41
  373. package/src/plugins/SetMenuTree/logoIcon.vue +37 -37
  374. package/src/plugins/SetMenuTree/setmenutree.vue +427 -427
  375. package/src/plugins/SetMenuTree/utils.js +74 -74
  376. package/src/plugins/Sign/InfosecNetSignCNGAgent.min.js +2000 -2000
  377. package/src/plugins/Sign/bjca/XTXSAB.js +2395 -2395
  378. package/src/plugins/Sign/bjca/index.js +129 -129
  379. package/src/plugins/Sign/index.js +28 -28
  380. package/src/plugins/Sign/sign.js +108 -64
  381. package/src/plugins/setTabsForSub.js +2 -2
  382. package/src/utils/auth.js +56 -56
  383. package/src/utils/axios.js +205 -205
  384. package/src/utils/downloadBlob.js +19 -19
  385. package/src/utils/forEachs.js +16 -16
  386. package/src/utils/getScrollContainer.js +43 -43
  387. package/src/utils/handleTab.js +109 -109
  388. package/src/utils/i18n/cn2hk.json +1270 -1270
  389. package/src/utils/i18n/index.js +50 -50
  390. package/src/utils/importGlobal.js +16 -16
  391. package/src/utils/list2tree.js +36 -36
  392. package/src/utils/msgboxPor.js +26 -26
  393. package/src/utils/print.js +161 -161
  394. package/src/utils/relaNo.js +72 -72
  395. package/src/utils/repairElementUI.js +169 -169
  396. package/src/utils/tableheaderFilterpanel.vue +248 -248
  397. package/src/utils/theme.config.js +22 -22
  398. package/src/utils/theme.js +31 -31
  399. package/src/utils/toExcel.js +103 -103
  400. package/src/utils/urlToGo.js +82 -82
  401. package/src/utils/xls2json.js +44 -44
  402. package/src/utils/xlsx2json.js +28 -28
@@ -1,648 +1,648 @@
1
- <template>
2
- <div
3
- :key="key"
4
- :class="['select-in-dialog', { 'is-disabled': disabled }]"
5
- :style="{ width: parseFloat(width) + 'px' }"
6
- >
7
- <div v-if="remote" class="select-in-dialog-result">
8
- <SelectCustom
9
- ref="selectCustom"
10
- v-model="_value"
11
- remote
12
- filterable
13
- option-value-is-object
14
- :placeholder="placeholder"
15
- :is-select-change-value.sync="isSelectChangeValue"
16
- :value-key="valueKey"
17
- :label-key="labelKey"
18
- :multiple="multiple"
19
- :clearable="clearable"
20
- :disabled="disabled"
21
- :http-method="httpMethod"
22
- :url="url"
23
- :query="query"
24
- :query-params="queryParams"
25
- :option-value-is-object="optionValueIsObject"
26
- @clear="handleClear"
27
- />
28
- <i
29
- class="el-icon-search select-in-dialog-result-remote-icon"
30
- @click="!disabled && (dialogVisible = true) && handleSelectClick()"
31
- ></i>
32
- </div>
33
- <div
34
- v-else
35
- class="select-in-dialog-result"
36
- @click="!disabled && (dialogVisible = true) && handleSelectClick()"
37
- >
38
- <span :class="{ 'select-in-dialog-result-null': !resultLabel }">{{
39
- resultLabel || '请选择'
40
- }}</span>
41
- <el-button
42
- v-if="clearable && !disabled && hasValue"
43
- type="text"
44
- icon="el-icon-circle-close"
45
- class="select-in-dialog-result-clear"
46
- @click.stop="handleClear"
47
- />
48
- <i class="el-icon-search"></i>
49
- </div>
50
-
51
- <DialogCustom
52
- v-model="dialogVisible"
53
- :show-footer="multiple"
54
- close-on-press-escape
55
- close-on-click-modal
56
- append-to-body
57
- :title="title"
58
- :footer-handlers="footerHandlers"
59
- :width="dialogWidth"
60
- @confirm="handleMultipleConfirm"
61
- >
62
- <slot v-if="!originalForm" name="form"></slot>
63
- <NstcFormDialog
64
- v-else-if="formConfig && formConfig.length"
65
- ref="formCustom"
66
- from="dialog"
67
- :async-query.sync="asyncQuery"
68
- :config="_formConfig"
69
- :label-width="formLabelWidth"
70
- @query="handleQuery"
71
- />
72
-
73
- <slot v-if="!originalTable" name="table"></slot>
74
- <TableRadioCustom
75
- v-else
76
- v-model="_value"
77
- :data="tableData"
78
- :pagination.sync="pagination"
79
- :show-pagination="showPagination"
80
- :multiple="multiple"
81
- :columns="columns"
82
- :value-key="valueKey"
83
- :label-key="labelKey"
84
- @pagination-change="handlePaginationChange"
85
- @change="handleTableChange"
86
- @multiple-change="handleMultipleChange"
87
- />
88
- </DialogCustom>
89
- </div>
90
- </template>
91
-
92
- <script>
93
- import DialogCustom from '../../NstcDialog/NstcDialog'
94
- import TableRadioCustom from '../TableRadioCustom/index'
95
- import SelectCustom from '../SelectCustom/index'
96
- import NstcFormDialog from '../ComponentSecond'
97
-
98
- import axios from '../../../../src/utils/axios'
99
-
100
- export default {
101
- name: 'NstcSelectInDialog',
102
-
103
- components: {
104
- DialogCustom,
105
- TableRadioCustom,
106
- SelectCustom,
107
- NstcFormDialog
108
- },
109
-
110
- props: {
111
- // 双向绑定值,单选时为{ [valueKey]: 'xxx', [labelKey]: 'xxx' },多选时为[{ [valueKey]: 'xxx', [labelKey]: 'xxx' }, { [valueKey]: 'xxx', [labelKey]: 'xxx' },...]
112
- value: {
113
- type: [Object, Array, String],
114
- default: null
115
- },
116
-
117
- width: {
118
- type: [Number, String],
119
- default: '224px'
120
- },
121
-
122
- // 是否多选
123
- multiple: {
124
- type: Boolean,
125
- default: false
126
- },
127
-
128
- // 是否可清空
129
- clearable: {
130
- type: Boolean,
131
- default: false
132
- },
133
-
134
- // 是否禁用
135
- disabled: {
136
- type: Boolean,
137
- default: false
138
- },
139
-
140
- // 弹窗标题
141
- title: {
142
- type: String,
143
- default: ''
144
- },
145
-
146
- // 弹窗表单配置项
147
- formConfig: {
148
- type: Array,
149
- default: () => []
150
- },
151
-
152
- formLabelWidth: {
153
- default: '80px',
154
- type: [String, Number]
155
- },
156
-
157
- // 弹窗表单请求的url
158
- url: {
159
- type: String,
160
- default: ''
161
- },
162
-
163
- // 弹窗表格列配置
164
- columns: {
165
- type: Array,
166
- default: () => []
167
- },
168
-
169
- // 双向绑定值的valueKey,需对应到表格行数据的某个属性
170
- valueKey: {
171
- type: String,
172
- default: 'key'
173
- },
174
-
175
- // 双向绑定值的labelKey,需对应到表格行数据的某个属性
176
- labelKey: {
177
- type: String,
178
- default: ''
179
- },
180
-
181
- // 对请求参数的格式化
182
- queryParamFormatter: {
183
- type: Function,
184
- default: undefined
185
- },
186
-
187
- // 对请求返回数据的格式化
188
- queryDataFormatter: {
189
- type: Function,
190
- default: undefined
191
- },
192
-
193
- // 分页器是否展示
194
- showPagination: {
195
- default: false,
196
- type: Boolean
197
- },
198
-
199
- // 是否支持远程搜索
200
- remote: {
201
- type: Boolean,
202
- default: false
203
- },
204
-
205
- // 远程搜索传参的key
206
- query: {
207
- type: String,
208
- default: 'query'
209
- },
210
-
211
- // 远程搜索的其他参数
212
- queryParams: {
213
- type: Object,
214
- default: () => ({})
215
- },
216
-
217
- placeholder: {
218
- type: String,
219
- default: function () {
220
- return '请选择'
221
- }
222
- },
223
-
224
- // 如果该标志设置为true, 将缓存查询结果
225
- cache: {
226
- type: Boolean,
227
- default: false
228
- },
229
-
230
- // 接收外部组件传来的表单默认值 (特殊)
231
- account: {
232
- type: String,
233
- default: ''
234
- },
235
-
236
- // 弹框宽度
237
- dialogWidth: {
238
- type: String,
239
- default: ''
240
- },
241
-
242
- // 请求方式
243
- httpMethod: {
244
- type: String,
245
- default: 'post'
246
- },
247
-
248
- // 是否使用原始查询表单
249
- originalForm: {
250
- type: Boolean,
251
- default: true
252
- },
253
-
254
- // 是否使用原始表格
255
- originalTable: {
256
- type: Boolean,
257
- default: true
258
- },
259
- optionValueIsObject: {
260
- type: Boolean,
261
- default: false
262
- },
263
- // 表格数据选择的key
264
- tableDataKey: {
265
- type: String,
266
- default: null
267
- }
268
- },
269
-
270
- data() {
271
- return {
272
- key: `SelectindialogCustomID-${Math.random().toString(36).slice(2)}`,
273
- hasInit: false,
274
- isSelectChangeValue: false,
275
- dialogVisible: false,
276
- model: null,
277
- asyncQuery: false,
278
- loading: false,
279
-
280
- tableData: [],
281
- pagination: {
282
- page: 1,
283
- limit: 20,
284
- total: 0
285
- },
286
-
287
- multipleSelected: [],
288
- footerHandlers: {
289
- confirm: {
290
- text: '确认'
291
- }
292
- }
293
- }
294
- },
295
-
296
- computed: {
297
- resultLabel() {
298
- return this.value
299
- ? this.multiple
300
- ? this.value.map((item) => item[this.labelKey]).join(',')
301
- : this.value[this.labelKey] || ''
302
- : ''
303
- },
304
-
305
- _formConfig() {
306
- const _formConfig = this.formConfig.map((item) => {
307
- if (Array.isArray(item)) {
308
- return item.map((cItem) => ({
309
- ...cItem,
310
- clearable: true
311
- }))
312
- }
313
-
314
- return {
315
- ...item,
316
- clearable: true
317
- }
318
- })
319
-
320
- if (_formConfig[0] && _formConfig[0][0]) {
321
- return [..._formConfig, [{ mold: 'querybutton' }]]
322
- }
323
-
324
- return [..._formConfig, { mold: 'querybutton' }]
325
- },
326
-
327
- _value: {
328
- get() {
329
- return this.value
330
- },
331
- set(val) {
332
- const _val = val === '' ? null : val // 避免单选时el-select清空时将_value设为'',导致value的type校验错误
333
- this.$emit('input', _val)
334
-
335
- // let parent = this.$parent || this.$root
336
- // let name = parent.$options.componentName
337
- //
338
- // while (parent && (!name || name !== 'ElFormItem')) {
339
- // parent = parent.$parent
340
- //
341
- // if (parent) {
342
- // name = parent.$options.componentName
343
- // }
344
- // }
345
- //
346
- // if (parent) {
347
- // parent.$emit.apply(parent, ['el.form.change'].concat([value]))
348
- // }
349
- }
350
- },
351
-
352
- hasValue() {
353
- return this.multiple
354
- ? this._value && this._value.length
355
- : this._value || this._value === 0
356
- }
357
- },
358
-
359
- watch: {
360
- _value: {
361
- deep: true,
362
- handler(val) {
363
- if (this.isSelectChangeValue) {
364
- this.isSelectChangeValue = false
365
- } else {
366
- this.setSelectOptions(val)
367
- }
368
- }
369
- },
370
-
371
- dialogVisible(val) {
372
- if (this.$refs.formCustom) {
373
- this.$refs.formCustom.resetFields()
374
- }
375
-
376
- const init =
377
- (!this.formConfig || !this.formConfig.length) && !this.hasInit // 未初始化
378
- const query = init || !this.cache // 不需要缓存
379
- if (query && val) {
380
- this.handleQuery()
381
- }
382
- }
383
- },
384
-
385
- mounted() {
386
- this.setSelectOptions(this.value)
387
- },
388
-
389
- methods: {
390
- handleClear() {
391
- this.$nextTick(() => {
392
- this._value = this.multiple ? [] : null
393
- })
394
- },
395
-
396
- async handleQuery(model, initPage = true) {
397
- console.log('initPage', initPage, this.loading)
398
- if (this.loading) {
399
- return ''
400
- }
401
- this.loading = true
402
- console.log('__log_err', 11)
403
- this.pagination.page = initPage.page || 1
404
- try {
405
- let param = {
406
- ...this.queryParams
407
- }
408
-
409
- if (this.queryParamFormatter && model) {
410
- const formatParam = await this.queryParamFormatter(
411
- model,
412
- this.pagination
413
- )
414
-
415
- param = {
416
- ...param,
417
- ...formatParam
418
- }
419
- // 如果没有分页
420
- !param.pagination && (param.pagination = this.pagination)
421
- } else {
422
- if (this.showPagination) {
423
- param = {
424
- ...param,
425
- ...model,
426
- pagination: this.pagination
427
- }
428
- } else {
429
- param = {
430
- ...param,
431
- ...model
432
- }
433
- }
434
- }
435
- console.log('查询参数', param)
436
-
437
- const key = this.httpMethod === 'get' ? 'params' : 'data'
438
- if (this.httpMethod === 'get' && param.pagination) {
439
- param['page.current'] = param.pagination.page
440
- param['page.size'] = param.pagination.limit
441
- delete param.pagination
442
- }
443
- let res = []
444
- await axios({
445
- url: this.url,
446
- method: this.httpMethod,
447
- [key]: param
448
- })
449
- .then((data) => {
450
- res = data
451
- this.loading = false
452
- console.log('__log_返回数据', data)
453
- })
454
- .catch(() => {
455
- this.loading = false
456
- })
457
-
458
- let tableData = res.list || res
459
-
460
- if (this.tableDataKey) {
461
- tableData = tableData[this.tableDataKey]
462
- }
463
-
464
- // 后台报错时
465
- if (!(tableData instanceof Array)) {
466
- tableData = []
467
- }
468
-
469
- this.tableData = this.queryDataFormatter
470
- ? await this.queryDataFormatter(tableData)
471
- : tableData
472
- this.hasInit = true
473
- this.loading = false
474
-
475
- if (this.showPagination) {
476
- this.pagination.total = res.total
477
- }
478
- } catch (err) {
479
- this.loading = false
480
- console.error(err)
481
- }
482
- },
483
-
484
- handlePaginationChange({ page }) {
485
- this.$nextTick(() => {
486
- this.$refs.formCustom.handleExpectQuery({
487
- initPage: page === 1,
488
- page
489
- })
490
- })
491
- },
492
-
493
- setSelectOptions(val) {
494
- if (this.remote && val) {
495
- let options
496
-
497
- if (this.multiple) {
498
- options = val.map((item) => {
499
- return {
500
- label: item[this.labelKey],
501
- value: item
502
- }
503
- })
504
- } else {
505
- options = [
506
- {
507
- label: val[this.labelKey],
508
- value: val
509
- }
510
- ]
511
- }
512
-
513
- this.$refs.selectCustom.setRemoteOptions(options)
514
- }
515
- },
516
-
517
- handleMultipleChange(val) {
518
- this.multipleSelected = val
519
- },
520
-
521
- handleMultipleConfirm() {
522
- this._value = this.multipleSelected
523
- },
524
-
525
- async handleSelectClick() {
526
- if (this.account) {
527
- this._formConfig[0].default = this.account
528
- this._formConfig[1].default = null
529
- }
530
- },
531
-
532
- handleTableChange({ recordId, ...val }) {
533
- this.dialogVisible = false
534
- // console.log(recordId, val)
535
- this.$emit('recordId-change', { recordId })
536
- this.$emit('selectindialog-change', val)
537
- }
538
- }
539
- }
540
- </script>
541
-
542
- <style lang="scss">
543
- .select-in-dialog {
544
- display: inline-block;
545
- &.is-disabled &-result {
546
- background-color: #f5f7fa;
547
- .select-in-dialog-result-remote-icon {
548
- cursor: not-allowed;
549
- }
550
- }
551
- &-result {
552
- width: 100%;
553
- height: 29px;
554
- border: 1px solid #ccc;
555
- cursor: pointer;
556
- background-color: #fff;
557
- display: flex;
558
- align-items: center;
559
- border-radius: 5px;
560
- overflow: hidden;
561
- &:hover &-clear {
562
- display: inline !important;
563
- }
564
- & > .el-select {
565
- flex: 1;
566
- height: 100%;
567
- .el-input--suffix {
568
- height: 100%;
569
- margin: 0;
570
- .el-input__suffix {
571
- .el-input__suffix-inner {
572
- height: 100%;
573
- display: flex;
574
- align-items: center;
575
- position: relative;
576
- .el-icon-circle-close {
577
- width: 100%;
578
- height: 100%;
579
- display: block;
580
- font-size: 16px;
581
- position: relative;
582
- &::before {
583
- position: absolute;
584
- top: 50%;
585
- left: 10%;
586
- transform: translate(-10%, -50%);
587
- }
588
- }
589
- }
590
- }
591
- }
592
- .el-input.is-focus {
593
- .el-input__inner {
594
- box-shadow: none;
595
- }
596
- }
597
- .el-input__inner {
598
- border-top-right-radius: 0;
599
- border-bottom-right-radius: 0;
600
- border: none;
601
- height: 100%;
602
- &:focus {
603
- box-shadow: none;
604
- }
605
- }
606
- .el-tag__close::before {
607
- transform: translateX(-5.5px);
608
- }
609
- }
610
- &-remote-icon {
611
- border-left: 1px solid #ccc;
612
- }
613
- &-clear {
614
- display: none !important;
615
- color: #ccc !important;
616
- &:hover {
617
- color: #ccc !important;
618
- }
619
- }
620
- & > span {
621
- flex: 1;
622
- display: inline-block;
623
- overflow: hidden;
624
- text-overflow: ellipsis;
625
- padding: 0 15px;
626
- }
627
- .el-icon-search {
628
- padding: 0 8px;
629
- }
630
- }
631
- .select-in-dialog-result {
632
- height: 32px;
633
- .el-select .el-tag__close {
634
- font-size: 14px;
635
- &::before {
636
- transform: none;
637
- color: #fff;
638
- }
639
- }
640
- }
641
- .form-base-wrapper {
642
- display: flex;
643
- // flex-direction: column;
644
- flex-wrap: wrap;
645
- justify-content: space-between;
646
- }
647
- }
648
- </style>
1
+ <template>
2
+ <div
3
+ :key="key"
4
+ :class="['select-in-dialog', { 'is-disabled': disabled }]"
5
+ :style="{ width: parseFloat(width) + 'px' }"
6
+ >
7
+ <div v-if="remote" class="select-in-dialog-result">
8
+ <SelectCustom
9
+ ref="selectCustom"
10
+ v-model="_value"
11
+ remote
12
+ filterable
13
+ option-value-is-object
14
+ :placeholder="placeholder"
15
+ :is-select-change-value.sync="isSelectChangeValue"
16
+ :value-key="valueKey"
17
+ :label-key="labelKey"
18
+ :multiple="multiple"
19
+ :clearable="clearable"
20
+ :disabled="disabled"
21
+ :http-method="httpMethod"
22
+ :url="url"
23
+ :query="query"
24
+ :query-params="queryParams"
25
+ :option-value-is-object="optionValueIsObject"
26
+ @clear="handleClear"
27
+ />
28
+ <i
29
+ class="el-icon-search select-in-dialog-result-remote-icon"
30
+ @click="!disabled && (dialogVisible = true) && handleSelectClick()"
31
+ ></i>
32
+ </div>
33
+ <div
34
+ v-else
35
+ class="select-in-dialog-result"
36
+ @click="!disabled && (dialogVisible = true) && handleSelectClick()"
37
+ >
38
+ <span :class="{ 'select-in-dialog-result-null': !resultLabel }">{{
39
+ resultLabel || '请选择'
40
+ }}</span>
41
+ <el-button
42
+ v-if="clearable && !disabled && hasValue"
43
+ type="text"
44
+ icon="el-icon-circle-close"
45
+ class="select-in-dialog-result-clear"
46
+ @click.stop="handleClear"
47
+ />
48
+ <i class="el-icon-search"></i>
49
+ </div>
50
+
51
+ <DialogCustom
52
+ v-model="dialogVisible"
53
+ :show-footer="multiple"
54
+ close-on-press-escape
55
+ close-on-click-modal
56
+ append-to-body
57
+ :title="title"
58
+ :footer-handlers="footerHandlers"
59
+ :width="dialogWidth"
60
+ @confirm="handleMultipleConfirm"
61
+ >
62
+ <slot v-if="!originalForm" name="form"></slot>
63
+ <NstcFormDialog
64
+ v-else-if="formConfig && formConfig.length"
65
+ ref="formCustom"
66
+ from="dialog"
67
+ :async-query.sync="asyncQuery"
68
+ :config="_formConfig"
69
+ :label-width="formLabelWidth"
70
+ @query="handleQuery"
71
+ />
72
+
73
+ <slot v-if="!originalTable" name="table"></slot>
74
+ <TableRadioCustom
75
+ v-else
76
+ v-model="_value"
77
+ :data="tableData"
78
+ :pagination.sync="pagination"
79
+ :show-pagination="showPagination"
80
+ :multiple="multiple"
81
+ :columns="columns"
82
+ :value-key="valueKey"
83
+ :label-key="labelKey"
84
+ @pagination-change="handlePaginationChange"
85
+ @change="handleTableChange"
86
+ @multiple-change="handleMultipleChange"
87
+ />
88
+ </DialogCustom>
89
+ </div>
90
+ </template>
91
+
92
+ <script>
93
+ import DialogCustom from '../../NstcDialog/NstcDialog'
94
+ import TableRadioCustom from '../TableRadioCustom/index'
95
+ import SelectCustom from '../SelectCustom/index'
96
+ import NstcFormDialog from '../ComponentSecond'
97
+
98
+ import axios from '../../../../src/utils/axios'
99
+
100
+ export default {
101
+ name: 'NstcSelectInDialog',
102
+
103
+ components: {
104
+ DialogCustom,
105
+ TableRadioCustom,
106
+ SelectCustom,
107
+ NstcFormDialog
108
+ },
109
+
110
+ props: {
111
+ // 双向绑定值,单选时为{ [valueKey]: 'xxx', [labelKey]: 'xxx' },多选时为[{ [valueKey]: 'xxx', [labelKey]: 'xxx' }, { [valueKey]: 'xxx', [labelKey]: 'xxx' },...]
112
+ value: {
113
+ type: [Object, Array, String],
114
+ default: null
115
+ },
116
+
117
+ width: {
118
+ type: [Number, String],
119
+ default: '224px'
120
+ },
121
+
122
+ // 是否多选
123
+ multiple: {
124
+ type: Boolean,
125
+ default: false
126
+ },
127
+
128
+ // 是否可清空
129
+ clearable: {
130
+ type: Boolean,
131
+ default: false
132
+ },
133
+
134
+ // 是否禁用
135
+ disabled: {
136
+ type: Boolean,
137
+ default: false
138
+ },
139
+
140
+ // 弹窗标题
141
+ title: {
142
+ type: String,
143
+ default: ''
144
+ },
145
+
146
+ // 弹窗表单配置项
147
+ formConfig: {
148
+ type: Array,
149
+ default: () => []
150
+ },
151
+
152
+ formLabelWidth: {
153
+ default: '80px',
154
+ type: [String, Number]
155
+ },
156
+
157
+ // 弹窗表单请求的url
158
+ url: {
159
+ type: String,
160
+ default: ''
161
+ },
162
+
163
+ // 弹窗表格列配置
164
+ columns: {
165
+ type: Array,
166
+ default: () => []
167
+ },
168
+
169
+ // 双向绑定值的valueKey,需对应到表格行数据的某个属性
170
+ valueKey: {
171
+ type: String,
172
+ default: 'key'
173
+ },
174
+
175
+ // 双向绑定值的labelKey,需对应到表格行数据的某个属性
176
+ labelKey: {
177
+ type: String,
178
+ default: ''
179
+ },
180
+
181
+ // 对请求参数的格式化
182
+ queryParamFormatter: {
183
+ type: Function,
184
+ default: undefined
185
+ },
186
+
187
+ // 对请求返回数据的格式化
188
+ queryDataFormatter: {
189
+ type: Function,
190
+ default: undefined
191
+ },
192
+
193
+ // 分页器是否展示
194
+ showPagination: {
195
+ default: false,
196
+ type: Boolean
197
+ },
198
+
199
+ // 是否支持远程搜索
200
+ remote: {
201
+ type: Boolean,
202
+ default: false
203
+ },
204
+
205
+ // 远程搜索传参的key
206
+ query: {
207
+ type: String,
208
+ default: 'query'
209
+ },
210
+
211
+ // 远程搜索的其他参数
212
+ queryParams: {
213
+ type: Object,
214
+ default: () => ({})
215
+ },
216
+
217
+ placeholder: {
218
+ type: String,
219
+ default: function () {
220
+ return '请选择'
221
+ }
222
+ },
223
+
224
+ // 如果该标志设置为true, 将缓存查询结果
225
+ cache: {
226
+ type: Boolean,
227
+ default: false
228
+ },
229
+
230
+ // 接收外部组件传来的表单默认值 (特殊)
231
+ account: {
232
+ type: String,
233
+ default: ''
234
+ },
235
+
236
+ // 弹框宽度
237
+ dialogWidth: {
238
+ type: String,
239
+ default: ''
240
+ },
241
+
242
+ // 请求方式
243
+ httpMethod: {
244
+ type: String,
245
+ default: 'post'
246
+ },
247
+
248
+ // 是否使用原始查询表单
249
+ originalForm: {
250
+ type: Boolean,
251
+ default: true
252
+ },
253
+
254
+ // 是否使用原始表格
255
+ originalTable: {
256
+ type: Boolean,
257
+ default: true
258
+ },
259
+ optionValueIsObject: {
260
+ type: Boolean,
261
+ default: false
262
+ },
263
+ // 表格数据选择的key
264
+ tableDataKey: {
265
+ type: String,
266
+ default: null
267
+ }
268
+ },
269
+
270
+ data() {
271
+ return {
272
+ key: `SelectindialogCustomID-${Math.random().toString(36).slice(2)}`,
273
+ hasInit: false,
274
+ isSelectChangeValue: false,
275
+ dialogVisible: false,
276
+ model: null,
277
+ asyncQuery: false,
278
+ loading: false,
279
+
280
+ tableData: [],
281
+ pagination: {
282
+ page: 1,
283
+ limit: 20,
284
+ total: 0
285
+ },
286
+
287
+ multipleSelected: [],
288
+ footerHandlers: {
289
+ confirm: {
290
+ text: '确认'
291
+ }
292
+ }
293
+ }
294
+ },
295
+
296
+ computed: {
297
+ resultLabel() {
298
+ return this.value
299
+ ? this.multiple
300
+ ? this.value.map((item) => item[this.labelKey]).join(',')
301
+ : this.value[this.labelKey] || ''
302
+ : ''
303
+ },
304
+
305
+ _formConfig() {
306
+ const _formConfig = this.formConfig.map((item) => {
307
+ if (Array.isArray(item)) {
308
+ return item.map((cItem) => ({
309
+ ...cItem,
310
+ clearable: true
311
+ }))
312
+ }
313
+
314
+ return {
315
+ ...item,
316
+ clearable: true
317
+ }
318
+ })
319
+
320
+ if (_formConfig[0] && _formConfig[0][0]) {
321
+ return [..._formConfig, [{ mold: 'querybutton' }]]
322
+ }
323
+
324
+ return [..._formConfig, { mold: 'querybutton' }]
325
+ },
326
+
327
+ _value: {
328
+ get() {
329
+ return this.value
330
+ },
331
+ set(val) {
332
+ const _val = val === '' ? null : val // 避免单选时el-select清空时将_value设为'',导致value的type校验错误
333
+ this.$emit('input', _val)
334
+
335
+ // let parent = this.$parent || this.$root
336
+ // let name = parent.$options.componentName
337
+ //
338
+ // while (parent && (!name || name !== 'ElFormItem')) {
339
+ // parent = parent.$parent
340
+ //
341
+ // if (parent) {
342
+ // name = parent.$options.componentName
343
+ // }
344
+ // }
345
+ //
346
+ // if (parent) {
347
+ // parent.$emit.apply(parent, ['el.form.change'].concat([value]))
348
+ // }
349
+ }
350
+ },
351
+
352
+ hasValue() {
353
+ return this.multiple
354
+ ? this._value && this._value.length
355
+ : this._value || this._value === 0
356
+ }
357
+ },
358
+
359
+ watch: {
360
+ _value: {
361
+ deep: true,
362
+ handler(val) {
363
+ if (this.isSelectChangeValue) {
364
+ this.isSelectChangeValue = false
365
+ } else {
366
+ this.setSelectOptions(val)
367
+ }
368
+ }
369
+ },
370
+
371
+ dialogVisible(val) {
372
+ if (this.$refs.formCustom) {
373
+ this.$refs.formCustom.resetFields()
374
+ }
375
+
376
+ const init =
377
+ (!this.formConfig || !this.formConfig.length) && !this.hasInit // 未初始化
378
+ const query = init || !this.cache // 不需要缓存
379
+ if (query && val) {
380
+ this.handleQuery()
381
+ }
382
+ }
383
+ },
384
+
385
+ mounted() {
386
+ this.setSelectOptions(this.value)
387
+ },
388
+
389
+ methods: {
390
+ handleClear() {
391
+ this.$nextTick(() => {
392
+ this._value = this.multiple ? [] : null
393
+ })
394
+ },
395
+
396
+ async handleQuery(model, initPage = true) {
397
+ console.log('initPage', initPage, this.loading)
398
+ if (this.loading) {
399
+ return ''
400
+ }
401
+ this.loading = true
402
+ console.log('__log_err', 11)
403
+ this.pagination.page = initPage.page || 1
404
+ try {
405
+ let param = {
406
+ ...this.queryParams
407
+ }
408
+
409
+ if (this.queryParamFormatter && model) {
410
+ const formatParam = await this.queryParamFormatter(
411
+ model,
412
+ this.pagination
413
+ )
414
+
415
+ param = {
416
+ ...param,
417
+ ...formatParam
418
+ }
419
+ // 如果没有分页
420
+ !param.pagination && (param.pagination = this.pagination)
421
+ } else {
422
+ if (this.showPagination) {
423
+ param = {
424
+ ...param,
425
+ ...model,
426
+ pagination: this.pagination
427
+ }
428
+ } else {
429
+ param = {
430
+ ...param,
431
+ ...model
432
+ }
433
+ }
434
+ }
435
+ console.log('查询参数', param)
436
+
437
+ const key = this.httpMethod === 'get' ? 'params' : 'data'
438
+ if (this.httpMethod === 'get' && param.pagination) {
439
+ param['page.current'] = param.pagination.page
440
+ param['page.size'] = param.pagination.limit
441
+ delete param.pagination
442
+ }
443
+ let res = []
444
+ await axios({
445
+ url: this.url,
446
+ method: this.httpMethod,
447
+ [key]: param
448
+ })
449
+ .then((data) => {
450
+ res = data
451
+ this.loading = false
452
+ console.log('__log_返回数据', data)
453
+ })
454
+ .catch(() => {
455
+ this.loading = false
456
+ })
457
+
458
+ let tableData = res.list || res
459
+
460
+ if (this.tableDataKey) {
461
+ tableData = tableData[this.tableDataKey]
462
+ }
463
+
464
+ // 后台报错时
465
+ if (!(tableData instanceof Array)) {
466
+ tableData = []
467
+ }
468
+
469
+ this.tableData = this.queryDataFormatter
470
+ ? await this.queryDataFormatter(tableData)
471
+ : tableData
472
+ this.hasInit = true
473
+ this.loading = false
474
+
475
+ if (this.showPagination) {
476
+ this.pagination.total = res.total
477
+ }
478
+ } catch (err) {
479
+ this.loading = false
480
+ console.error(err)
481
+ }
482
+ },
483
+
484
+ handlePaginationChange({ page }) {
485
+ this.$nextTick(() => {
486
+ this.$refs.formCustom.handleExpectQuery({
487
+ initPage: page === 1,
488
+ page
489
+ })
490
+ })
491
+ },
492
+
493
+ setSelectOptions(val) {
494
+ if (this.remote && val) {
495
+ let options
496
+
497
+ if (this.multiple) {
498
+ options = val.map((item) => {
499
+ return {
500
+ label: item[this.labelKey],
501
+ value: item
502
+ }
503
+ })
504
+ } else {
505
+ options = [
506
+ {
507
+ label: val[this.labelKey],
508
+ value: val
509
+ }
510
+ ]
511
+ }
512
+
513
+ this.$refs.selectCustom.setRemoteOptions(options)
514
+ }
515
+ },
516
+
517
+ handleMultipleChange(val) {
518
+ this.multipleSelected = val
519
+ },
520
+
521
+ handleMultipleConfirm() {
522
+ this._value = this.multipleSelected
523
+ },
524
+
525
+ async handleSelectClick() {
526
+ if (this.account) {
527
+ this._formConfig[0].default = this.account
528
+ this._formConfig[1].default = null
529
+ }
530
+ },
531
+
532
+ handleTableChange({ recordId, ...val }) {
533
+ this.dialogVisible = false
534
+ // console.log(recordId, val)
535
+ this.$emit('recordId-change', { recordId })
536
+ this.$emit('selectindialog-change', val)
537
+ }
538
+ }
539
+ }
540
+ </script>
541
+
542
+ <style lang="scss">
543
+ .select-in-dialog {
544
+ display: inline-block;
545
+ &.is-disabled &-result {
546
+ background-color: #f5f7fa;
547
+ .select-in-dialog-result-remote-icon {
548
+ cursor: not-allowed;
549
+ }
550
+ }
551
+ &-result {
552
+ width: 100%;
553
+ height: 29px;
554
+ border: 1px solid #ccc;
555
+ cursor: pointer;
556
+ background-color: #fff;
557
+ display: flex;
558
+ align-items: center;
559
+ border-radius: 5px;
560
+ overflow: hidden;
561
+ &:hover &-clear {
562
+ display: inline !important;
563
+ }
564
+ & > .el-select {
565
+ flex: 1;
566
+ height: 100%;
567
+ .el-input--suffix {
568
+ height: 100%;
569
+ margin: 0;
570
+ .el-input__suffix {
571
+ .el-input__suffix-inner {
572
+ height: 100%;
573
+ display: flex;
574
+ align-items: center;
575
+ position: relative;
576
+ .el-icon-circle-close {
577
+ width: 100%;
578
+ height: 100%;
579
+ display: block;
580
+ font-size: 16px;
581
+ position: relative;
582
+ &::before {
583
+ position: absolute;
584
+ top: 50%;
585
+ left: 10%;
586
+ transform: translate(-10%, -50%);
587
+ }
588
+ }
589
+ }
590
+ }
591
+ }
592
+ .el-input.is-focus {
593
+ .el-input__inner {
594
+ box-shadow: none;
595
+ }
596
+ }
597
+ .el-input__inner {
598
+ border-top-right-radius: 0;
599
+ border-bottom-right-radius: 0;
600
+ border: none;
601
+ height: 100%;
602
+ &:focus {
603
+ box-shadow: none;
604
+ }
605
+ }
606
+ .el-tag__close::before {
607
+ transform: translateX(-5.5px);
608
+ }
609
+ }
610
+ &-remote-icon {
611
+ border-left: 1px solid #ccc;
612
+ }
613
+ &-clear {
614
+ display: none !important;
615
+ color: #ccc !important;
616
+ &:hover {
617
+ color: #ccc !important;
618
+ }
619
+ }
620
+ & > span {
621
+ flex: 1;
622
+ display: inline-block;
623
+ overflow: hidden;
624
+ text-overflow: ellipsis;
625
+ padding: 0 15px;
626
+ }
627
+ .el-icon-search {
628
+ padding: 0 8px;
629
+ }
630
+ }
631
+ .select-in-dialog-result {
632
+ height: 32px;
633
+ .el-select .el-tag__close {
634
+ font-size: 14px;
635
+ &::before {
636
+ transform: none;
637
+ color: #fff;
638
+ }
639
+ }
640
+ }
641
+ .form-base-wrapper {
642
+ display: flex;
643
+ // flex-direction: column;
644
+ flex-wrap: wrap;
645
+ justify-content: space-between;
646
+ }
647
+ }
648
+ </style>