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,583 +1,583 @@
1
- <!--
2
- 功能: 自定义查询条件
3
- 作者: nstc
4
- 创建时间: 2021-02-05
5
- -->
6
-
7
- <template>
8
- <div class="filter-custom-box">
9
- <el-popover
10
- ref="popover"
11
- v-model="popoverShowFlag"
12
- :placement="placement"
13
- trigger="click"
14
- popper-class="search-common-popper"
15
- >
16
- <div class="filter-custom-box-main">
17
- <div class="filter-custom-box-main-header">
18
- <div class="filter-text">筛选</div>
19
- <div class="filter-close-img" @click="closePopover">
20
- <img :src="filterCloseImg" alt="" />
21
- </div>
22
- </div>
23
- <div v-loading="loadingFlag" class="filter-custom-box-main-condition">
24
- <NstcForm
25
- v-model="formModel"
26
- :form-data="formModel"
27
- :config="formConfig"
28
- :mount-and-query="false"
29
- :reset.sync="reset"
30
- :label-width="labelWidth"
31
- @tree-node-click="clickTreeNode"
32
- />
33
- </div>
34
- <div class="filter-custom-box-main-more">
35
- <span @click="moreCondition">更多条件</span>
36
- </div>
37
- <div class="filter-custom-box-main-footer">
38
- <el-button
39
- type="primary"
40
- class="nstc-g6-common-btn-1 nstc-g6-common-btn-size-b"
41
- @click="confirmAction"
42
- >确定</el-button
43
- >
44
- <el-tooltip
45
- class="item"
46
- effect="dark"
47
- content="重置本次操作"
48
- placement="top-start"
49
- >
50
- <el-button
51
- class="nstc-g6-common-btn-3 nstc-g6-common-btn-size-b"
52
- @click="resetAction"
53
- >重置</el-button
54
- >
55
- </el-tooltip>
56
- </div>
57
- </div>
58
- <div slot="reference" class="filter-opt">
59
- <div class="filter-opt-temp" @click.stop="init">
60
- <SvgIcon class="svg-box is-svg-default" icon-class="hourglass" />
61
- <SvgIcon class="svg-box is-svg-hover" icon-class="searchActive" />
62
- </div>
63
- </div>
64
- </el-popover>
65
-
66
- <!-- 查询条件 -->
67
- <NstcTableSet
68
- v-model="conditionSetFlag"
69
- :type="defaultType"
70
- :config="config"
71
- :title="setTitle"
72
- @confirm="handleConfirm"
73
- />
74
- </div>
75
- </template>
76
-
77
- <script>
78
- import filterImg from '../../assets/svg/filter.svg'
79
- import filterImgActive from '../../assets/svg/filterActive.svg'
80
- import filterCloseImg from '../../assets/svg/filterClose@2x.png'
81
- import searchImg from '../../assets/svg/hourglass.svg'
82
- import searchImgActive from '../../assets/svg/searchActive.svg'
83
- import NstcTableSet from '../NstcTableSet/NstcTableSet'
84
- import NstcForm from '../NstcForm/Component'
85
- import SvgIcon from '../NstcSvgIcon/NstcSvgIcon'
86
- import axios from '../../utils/axios'
87
-
88
- export default {
89
- name: 'NstcSearch',
90
-
91
- components: {
92
- NstcTableSet,
93
- NstcForm,
94
- SvgIcon
95
- },
96
-
97
- props: {
98
- defaultConfig: {
99
- type: Object,
100
- default: () => {
101
- return {}
102
- }
103
- },
104
- config: {
105
- type: Object,
106
- default: () => {
107
- return {
108
- pageUUID: '',
109
- moduleNo: '',
110
- queryType: ''
111
- }
112
- }
113
- },
114
- defaultValue: {
115
- type: Object,
116
- default: () => {
117
- return {}
118
- }
119
- },
120
- valueConfig: {
121
- type: Object,
122
- default: () => {
123
- return {}
124
- }
125
- }
126
- },
127
-
128
- data() {
129
- return {
130
- placement: 'bottom',
131
- filterImg,
132
- filterCloseImg,
133
- filterImgActive,
134
- searchImg,
135
- searchImgActive,
136
- conditionSetFlag: false,
137
- defaultType: 'condition',
138
- formModel: {},
139
- reset: false,
140
- defaultSet: [],
141
- setTitle: '筛选条件',
142
- popoverShowFlag: false,
143
- queryTypeObj: {
144
- all: 1, // 全部
145
- columnSet: 2, // 表格设置
146
- condition: 3 // 条件设置
147
- },
148
- loadingFlag: false,
149
- hasLoad: false,
150
- formConfig: [],
151
- oldFormModel: {}
152
- }
153
- },
154
-
155
- computed: {
156
- labelWidth() {
157
- let l = 0
158
- this.defaultSet.map((i) => {
159
- l = Math.max(i[`name`].length, l)
160
- })
161
- return l === 0 ? '120' : l * 16 + 12
162
- }
163
- },
164
- watch: {
165
- defaultSet: {
166
- handler(value) {
167
- if (value && Array.isArray(value) && value.length) {
168
- const that = this
169
- this.formConfig = that.defaultSet.map((item) => {
170
- let mold = that.typeConversion(item.type)
171
- let options = []
172
- try {
173
- options = JSON.parse(item.options)
174
- } catch (error) {
175
- options = []
176
- }
177
- // item.multiple 添加默认配置
178
- const customConfig = that.defaultConfig[item.id] || {}
179
- let data = [
180
- {
181
- mold: mold.type, // 组件名称
182
- name: item.name, // 表单选项的名称
183
- prop:
184
- item.type == 'select' && item.multiple
185
- ? item.id + 's'
186
- : item.id, // 绑定的key值
187
- options: options, //item.options ? JSON.parse(item.options):[], // 下拉选择框的选项
188
- url: that.removeQuotation(item.url), // 远程查询的url
189
- formConfig: item.formConfig || [], // 弹窗查询的 选择表单
190
- columns: item.columns || [], // 弹框查询: 的表格配置
191
- valueKey: that.removeQuotation(item.valueKey),
192
- labelKey: that.removeQuotation(item.labelKey),
193
- httpMethod: item.httpMethod || 'get', // 请求方式
194
- lazyLoad: item.lazyLoad || false, // 请求方式
195
- placeholder: item.placeholder,
196
- width: item.width || 224,
197
- disabled: item.disabled,
198
- params: item.params,
199
- multiple: item.multiple,
200
- defaultProps: item.defaultProps,
201
- remote: item.remote,
202
- filterable: item.filterable,
203
- query: item.query,
204
- onlyClickLeaf: item.onlyClickLeaf, //item.onlyClickLeaf,
205
- disableUnclickLeaf: item.disableUnclickLeaf, //下拉树是否禁用非子节点,默认false,不禁用
206
- clearable: item.clearable,
207
- checkStrictly: item.checkStrictly,
208
- resProp: item.resProp || null,
209
- isCache: item.isCache,
210
- dateType: item.dateType, // 时间选择框 时间范围限制
211
- class: {
212
- 'filter-condition-input': [
213
- 'input',
214
- 'nstcSelectTree'
215
- ].includes(mold.type), // 用于控制组件长度
216
- [item.className || 'null-custom-class']: true
217
- },
218
- ...customConfig,
219
- isInitRequest: item.name === '融资单位' && item.id // 特殊处理
220
- }
221
- ]
222
-
223
- // 判断是否设置默认值
224
- if (!['', null, undefined].includes(this.defaultValue[item.id])) {
225
- data[0].default = this.defaultValue[item.id]
226
- }
227
-
228
- if (mold.attr) {
229
- data[0].type = mold.attr
230
- }
231
-
232
- if (item.bind && item.bind instanceof Object) {
233
- // 不能改变原来的属性
234
- const bindKey = Object.keys(item.bind)
235
- const dataKey = Object.keys(data[0])
236
- const tempKey = bindKey.filter((k) => !dataKey.includes(k))
237
-
238
- tempKey.map((k) => {
239
- data[0][k] = item.bind[k]
240
- })
241
- }
242
-
243
- /**
244
- * 特殊自定义组件属性处理
245
- */
246
- if (
247
- item.type === 'nstcSelectTree' ||
248
- item.type === 'nstcSelectTreeList'
249
- ) {
250
- data[0].defaultProps = item.defaultProps
251
- data[0].tagProps = item.tagProps
252
- data[0].nodeKey = item.nodeKey
253
- data[0].params = item.params
254
- data[0].queryKey = item.queryKey
255
- data[0].label = item.label
256
- }
257
- if (item.id === 'branchBankNo') {
258
- data[0].defaultProps = item.defaultProps
259
- data[0].nodeKey = item.nodeKey
260
- data[0].params = item.params
261
- data[0].queryKey = item.queryKey
262
- data[0].filterable = item.filterable
263
- data[0].httpMethod = item.httpMethod
264
- data[0].queryKey = item.queryKey
265
- data[0].lazyLoad = item.lazyLoad
266
- data[0].pageMode = item.pageMode
267
- data[0].pageCurrentKey = item.pageCurrentKey
268
- data[0].pageSizeKey = item.pageSizeKey
269
- data[0].remote = item.remote
270
- }
271
- return data
272
- })
273
- setTimeout(() => {
274
- this.setValue()
275
- }, 0)
276
- }
277
- },
278
- immediate: true,
279
- deep: true
280
- },
281
-
282
- /**
283
- * 下拉等组件联动,修改组件配置
284
- * 监听form-change,并使用updateFormConfig更新表单配置
285
- */
286
- formModel: {
287
- deep: true,
288
- handler(data) {
289
- this.$emit('form-change', data, this.formConfig)
290
- }
291
- }
292
- },
293
- mounted() {
294
- console.log(444)
295
- },
296
- methods: {
297
- /**
298
- * 组件联动,避免多次触发nstcform.watch.config
299
- */
300
- updateFormConfig(newConfig) {
301
- this.formConfig = newConfig
302
- },
303
-
304
- clickTreeNode(queryKey, data) {
305
- if (queryKey) {
306
- this.formModel[queryKey] = data[queryKey]
307
- }
308
- },
309
- /**
310
- * 提交保存成功
311
- */
312
- handleConfirm() {
313
- console.log('查询条件设置成功', this.formModel)
314
- // 缓存下之前的数据
315
- const cache = JSON.parse(JSON.stringify(this.formModel))
316
- this.init('update', () => {
317
- this.formModel = cache
318
- })
319
- this.popoverShowFlag = true
320
- },
321
-
322
- async init(flag, cb) {
323
- this.popoverShowFlag = !this.popoverShowFlag
324
- if (this.hasLoad && flag !== 'update') {
325
- this.changeDefaultSet()
326
-
327
- this.$nextTick(() => {
328
- this.$forceUpdate()
329
- })
330
- return
331
- }
332
- this.loadingFlag = true
333
- this.defaultSet = []
334
- const res = await axios.get(`/bems/1.0/dynamicUnit`, {
335
- ...this.config,
336
- queryType: 3
337
- })
338
- this.loadingFlag = false
339
- this.hasLoad = true
340
- this.defaultSet = res.data
341
- this.changeDefaultSet()
342
- this.$nextTick(() => {
343
- this.updatePop()
344
- this.$forceUpdate()
345
- cb && cb()
346
- })
347
- },
348
- changeDefaultSet(type) {
349
- this.defaultSet = this.defaultSet.map((item) => {
350
- let nItem = Object.assign({}, item)
351
- nItem.disabled = this.valueConfig[item.id]
352
- ? this.valueConfig[item.id].disabled || false
353
- : false
354
- this.valueConfig[item.id] &&
355
- (nItem.label = this.valueConfig[item.id].label)
356
- nItem.options = this.valueConfig[item.id]
357
- ? JSON.stringify(this.valueConfig[item.id].options) || []
358
- : item.options
359
- nItem.time = new Date().getTime()
360
- nItem.clearable = this.valueConfig[item.id]
361
- ? this.valueConfig[item.id].clearable
362
- : true
363
- return nItem
364
- })
365
- console.log(this.defaultSet, 123)
366
- },
367
- setValue() {
368
- let newObj = {}
369
- for (let key1 in this.valueConfig) {
370
- let item = this.valueConfig[key1]
371
- let keyObj = this.defaultSet.find(
372
- (item) => item.id === key1 && item.type === 'select' && item.multiple
373
- )
374
- if (item.hasOwnProperty('value')) {
375
- this.$set(
376
- newObj,
377
- keyObj ? key1 + 's' : key1,
378
- this.reset ? '' : item.value
379
- )
380
- }
381
- }
382
- // this.formModel = {...this.formModel,...this.oldFormModel, ...newObj}
383
- if (JSON.stringify(this.oldFormModel) !== '{}') {
384
- // 旧配置中的字段不在新的配置中,则需要移除对应的缓存值
385
- this.defaultSet.forEach(({ id, multiple, type, queryKey }) => {
386
- const isExist =
387
- Reflect.has(this.oldFormModel, id) ||
388
- Reflect.has(this.oldFormModel, id + 's')
389
- // 在缓存中存在,则取缓存的值
390
- if (isExist) {
391
- if (type === 'select' && multiple) {
392
- this.formModel[id + 's'] = this.oldFormModel[id + 's']
393
- } else {
394
- this.formModel[id] = this.oldFormModel[id]
395
- }
396
- } else {
397
- this.formModel[id] = this.defaultSet[id]
398
- }
399
- })
400
- // 新配置中移除了某些字段,需要将缓存中的字段移除
401
- Object.keys(this.oldFormModel).forEach((k) => {
402
- const isExist = this.defaultSet.find((item) => {
403
- return item.id === k || item.id + 's' === k || item.queryKey == k
404
- })
405
- if (!isExist) {
406
- delete this.formModel[k]
407
- }
408
- })
409
- }
410
- this.formModel = { ...this.formModel, ...newObj }
411
- this.reset = false
412
- },
413
- /**
414
- * 类型转化方法
415
- */
416
- typeConversion(type) {
417
- // 属性合集
418
- const mold = [
419
- {
420
- // 时间
421
- type: 'datepicker',
422
- attr: 'daterange'
423
- }
424
- ]
425
- // 筛选对应需要添加属性的数据
426
- // eg:
427
- let isAddAttr = mold.filter((x) => x.attr === type)
428
-
429
- return isAddAttr.length !== 0
430
- ? {
431
- type: isAddAttr[0].type,
432
- attr: isAddAttr[0].attr
433
- }
434
- : {
435
- type: type,
436
- attr: null
437
- }
438
- },
439
-
440
- /**
441
- * 查询更多条件
442
- */
443
- moreCondition() {
444
- this.conditionSetFlag = true
445
- },
446
-
447
- /**
448
- * 确认查询
449
- */
450
- confirmAction() {
451
- this.popoverShowFlag = false
452
- this.oldFormModel = JSON.parse(JSON.stringify(this.formModel))
453
- // 格式化金额
454
- this.$emit('search', this.formModel)
455
- },
456
-
457
- /**
458
- * 去掉后台返回字段的”
459
- */
460
- removeQuotation(str) {
461
- return str ? str.replace(/"/g, '') : ''
462
- },
463
-
464
- /**
465
- * 重置
466
- */
467
- resetAction() {
468
- this.reset = true
469
- this.oldFormModel = {}
470
- this.changeDefaultSet('reset')
471
- this.$emit('reset', this.formModel)
472
- },
473
-
474
- /**
475
- * 关闭
476
- */
477
- closePopover() {
478
- this.reset = true
479
- this.$nextTick(() => {
480
- this.popoverShowFlag = false
481
- })
482
- },
483
-
484
- /**
485
- * 手动打开
486
- */
487
- openPopover() {},
488
-
489
- updatePop() {
490
- this.$refs.popover.updatePopper()
491
- }
492
- }
493
- }
494
- </script>
495
-
496
- <style lang="scss">
497
- .filter-custom-box {
498
- .interval-input-custom {
499
- }
500
- .filter-btn {
501
- height: 34px !important;
502
- width: 90px !important;
503
- }
504
- .filter-opt {
505
- display: inline-block;
506
- cursor: pointer;
507
- &-temp {
508
- border: 1px solid #dddddd;
509
- // width: 26px;
510
- // height: 26px;
511
- padding: 5px;
512
- border-radius: 4px;
513
- display: flex;
514
- align-items: center;
515
- overflow: hidden;
516
- .is-svg-default {
517
- display: block;
518
- }
519
- .is-svg-hover {
520
- display: none;
521
- }
522
- }
523
-
524
- &-temp:hover {
525
- border: 1px solid #007aff;
526
- .is-svg-default {
527
- display: none;
528
- }
529
- .is-svg-hover {
530
- display: block;
531
- }
532
- }
533
- }
534
-
535
- &-main {
536
- display: flex;
537
- flex-direction: column;
538
- min-width: 360px;
539
- &-header {
540
- display: flex;
541
- justify-content: space-between;
542
- align-items: center;
543
- padding-right: 16px;
544
- .filter-text {
545
- color: #262d34;
546
- font-size: 16px;
547
- }
548
- .filter-close-img {
549
- cursor: pointer;
550
- }
551
- img {
552
- width: 16px;
553
- height: 16px;
554
- }
555
- }
556
- &-condition {
557
- flex: 1;
558
- //border: 1px solid #000;
559
- overflow-y: auto;
560
- margin-top: 11px;
561
- max-height: 300px !important;
562
- padding-top: 3px;
563
- // 13 剧中
564
- width: calc(100%);
565
- .el-form-item {
566
- margin-bottom: 16px;
567
- }
568
- }
569
- &-more {
570
- margin: 10px 0 6px 0;
571
- font-size: 14px;
572
- span {
573
- color: #007aff;
574
- cursor: pointer;
575
- }
576
- }
577
- &-footer {
578
- text-align: center;
579
- }
580
- }
581
- }
582
- </style>
583
-
1
+ <!--
2
+ 功能: 自定义查询条件
3
+ 作者: nstc
4
+ 创建时间: 2021-02-05
5
+ -->
6
+
7
+ <template>
8
+ <div class="filter-custom-box">
9
+ <el-popover
10
+ ref="popover"
11
+ v-model="popoverShowFlag"
12
+ :placement="placement"
13
+ trigger="click"
14
+ popper-class="search-common-popper"
15
+ >
16
+ <div class="filter-custom-box-main">
17
+ <div class="filter-custom-box-main-header">
18
+ <div class="filter-text">筛选</div>
19
+ <div class="filter-close-img" @click="closePopover">
20
+ <img :src="filterCloseImg" alt="" />
21
+ </div>
22
+ </div>
23
+ <div v-loading="loadingFlag" class="filter-custom-box-main-condition">
24
+ <NstcForm
25
+ v-model="formModel"
26
+ :form-data="formModel"
27
+ :config="formConfig"
28
+ :mount-and-query="false"
29
+ :reset.sync="reset"
30
+ :label-width="labelWidth"
31
+ @tree-node-click="clickTreeNode"
32
+ />
33
+ </div>
34
+ <div class="filter-custom-box-main-more">
35
+ <span @click="moreCondition">更多条件</span>
36
+ </div>
37
+ <div class="filter-custom-box-main-footer">
38
+ <el-button
39
+ type="primary"
40
+ class="nstc-g6-common-btn-1 nstc-g6-common-btn-size-b"
41
+ @click="confirmAction"
42
+ >确定</el-button
43
+ >
44
+ <el-tooltip
45
+ class="item"
46
+ effect="dark"
47
+ content="重置本次操作"
48
+ placement="top-start"
49
+ >
50
+ <el-button
51
+ class="nstc-g6-common-btn-3 nstc-g6-common-btn-size-b"
52
+ @click="resetAction"
53
+ >重置</el-button
54
+ >
55
+ </el-tooltip>
56
+ </div>
57
+ </div>
58
+ <div slot="reference" class="filter-opt">
59
+ <div class="filter-opt-temp" @click.stop="init">
60
+ <SvgIcon class="svg-box is-svg-default" icon-class="hourglass" />
61
+ <SvgIcon class="svg-box is-svg-hover" icon-class="searchActive" />
62
+ </div>
63
+ </div>
64
+ </el-popover>
65
+
66
+ <!-- 查询条件 -->
67
+ <NstcTableSet
68
+ v-model="conditionSetFlag"
69
+ :type="defaultType"
70
+ :config="config"
71
+ :title="setTitle"
72
+ @confirm="handleConfirm"
73
+ />
74
+ </div>
75
+ </template>
76
+
77
+ <script>
78
+ import filterImg from '../../assets/svg/filter.svg'
79
+ import filterImgActive from '../../assets/svg/filterActive.svg'
80
+ import filterCloseImg from '../../assets/svg/filterClose@2x.png'
81
+ import searchImg from '../../assets/svg/hourglass.svg'
82
+ import searchImgActive from '../../assets/svg/searchActive.svg'
83
+ import NstcTableSet from '../NstcTableSet/NstcTableSet'
84
+ import NstcForm from '../NstcForm/Component'
85
+ import SvgIcon from '../NstcSvgIcon/NstcSvgIcon'
86
+ import axios from '../../utils/axios'
87
+
88
+ export default {
89
+ name: 'NstcSearch',
90
+
91
+ components: {
92
+ NstcTableSet,
93
+ NstcForm,
94
+ SvgIcon
95
+ },
96
+
97
+ props: {
98
+ defaultConfig: {
99
+ type: Object,
100
+ default: () => {
101
+ return {}
102
+ }
103
+ },
104
+ config: {
105
+ type: Object,
106
+ default: () => {
107
+ return {
108
+ pageUUID: '',
109
+ moduleNo: '',
110
+ queryType: ''
111
+ }
112
+ }
113
+ },
114
+ defaultValue: {
115
+ type: Object,
116
+ default: () => {
117
+ return {}
118
+ }
119
+ },
120
+ valueConfig: {
121
+ type: Object,
122
+ default: () => {
123
+ return {}
124
+ }
125
+ }
126
+ },
127
+
128
+ data() {
129
+ return {
130
+ placement: 'bottom',
131
+ filterImg,
132
+ filterCloseImg,
133
+ filterImgActive,
134
+ searchImg,
135
+ searchImgActive,
136
+ conditionSetFlag: false,
137
+ defaultType: 'condition',
138
+ formModel: {},
139
+ reset: false,
140
+ defaultSet: [],
141
+ setTitle: '筛选条件',
142
+ popoverShowFlag: false,
143
+ queryTypeObj: {
144
+ all: 1, // 全部
145
+ columnSet: 2, // 表格设置
146
+ condition: 3 // 条件设置
147
+ },
148
+ loadingFlag: false,
149
+ hasLoad: false,
150
+ formConfig: [],
151
+ oldFormModel: {}
152
+ }
153
+ },
154
+
155
+ computed: {
156
+ labelWidth() {
157
+ let l = 0
158
+ this.defaultSet.map((i) => {
159
+ l = Math.max(i[`name`].length, l)
160
+ })
161
+ return l === 0 ? '120' : l * 16 + 12
162
+ }
163
+ },
164
+ watch: {
165
+ defaultSet: {
166
+ handler(value) {
167
+ if (value && Array.isArray(value) && value.length) {
168
+ const that = this
169
+ this.formConfig = that.defaultSet.map((item) => {
170
+ let mold = that.typeConversion(item.type)
171
+ let options = []
172
+ try {
173
+ options = JSON.parse(item.options)
174
+ } catch (error) {
175
+ options = []
176
+ }
177
+ // item.multiple 添加默认配置
178
+ const customConfig = that.defaultConfig[item.id] || {}
179
+ let data = [
180
+ {
181
+ mold: mold.type, // 组件名称
182
+ name: item.name, // 表单选项的名称
183
+ prop:
184
+ item.type == 'select' && item.multiple
185
+ ? item.id + 's'
186
+ : item.id, // 绑定的key值
187
+ options: options, //item.options ? JSON.parse(item.options):[], // 下拉选择框的选项
188
+ url: that.removeQuotation(item.url), // 远程查询的url
189
+ formConfig: item.formConfig || [], // 弹窗查询的 选择表单
190
+ columns: item.columns || [], // 弹框查询: 的表格配置
191
+ valueKey: that.removeQuotation(item.valueKey),
192
+ labelKey: that.removeQuotation(item.labelKey),
193
+ httpMethod: item.httpMethod || 'get', // 请求方式
194
+ lazyLoad: item.lazyLoad || false, // 请求方式
195
+ placeholder: item.placeholder,
196
+ width: item.width || 224,
197
+ disabled: item.disabled,
198
+ params: item.params,
199
+ multiple: item.multiple,
200
+ defaultProps: item.defaultProps,
201
+ remote: item.remote,
202
+ filterable: item.filterable,
203
+ query: item.query,
204
+ onlyClickLeaf: item.onlyClickLeaf, //item.onlyClickLeaf,
205
+ disableUnclickLeaf: item.disableUnclickLeaf, //下拉树是否禁用非子节点,默认false,不禁用
206
+ clearable: item.clearable,
207
+ checkStrictly: item.checkStrictly,
208
+ resProp: item.resProp || null,
209
+ isCache: item.isCache,
210
+ dateType: item.dateType, // 时间选择框 时间范围限制
211
+ class: {
212
+ 'filter-condition-input': [
213
+ 'input',
214
+ 'nstcSelectTree'
215
+ ].includes(mold.type), // 用于控制组件长度
216
+ [item.className || 'null-custom-class']: true
217
+ },
218
+ ...customConfig,
219
+ isInitRequest: item.name === '融资单位' && item.id // 特殊处理
220
+ }
221
+ ]
222
+
223
+ // 判断是否设置默认值
224
+ if (!['', null, undefined].includes(this.defaultValue[item.id])) {
225
+ data[0].default = this.defaultValue[item.id]
226
+ }
227
+
228
+ if (mold.attr) {
229
+ data[0].type = mold.attr
230
+ }
231
+
232
+ if (item.bind && item.bind instanceof Object) {
233
+ // 不能改变原来的属性
234
+ const bindKey = Object.keys(item.bind)
235
+ const dataKey = Object.keys(data[0])
236
+ const tempKey = bindKey.filter((k) => !dataKey.includes(k))
237
+
238
+ tempKey.map((k) => {
239
+ data[0][k] = item.bind[k]
240
+ })
241
+ }
242
+
243
+ /**
244
+ * 特殊自定义组件属性处理
245
+ */
246
+ if (
247
+ item.type === 'nstcSelectTree' ||
248
+ item.type === 'nstcSelectTreeList'
249
+ ) {
250
+ data[0].defaultProps = item.defaultProps
251
+ data[0].tagProps = item.tagProps
252
+ data[0].nodeKey = item.nodeKey
253
+ data[0].params = item.params
254
+ data[0].queryKey = item.queryKey
255
+ data[0].label = item.label
256
+ }
257
+ if (item.id === 'branchBankNo') {
258
+ data[0].defaultProps = item.defaultProps
259
+ data[0].nodeKey = item.nodeKey
260
+ data[0].params = item.params
261
+ data[0].queryKey = item.queryKey
262
+ data[0].filterable = item.filterable
263
+ data[0].httpMethod = item.httpMethod
264
+ data[0].queryKey = item.queryKey
265
+ data[0].lazyLoad = item.lazyLoad
266
+ data[0].pageMode = item.pageMode
267
+ data[0].pageCurrentKey = item.pageCurrentKey
268
+ data[0].pageSizeKey = item.pageSizeKey
269
+ data[0].remote = item.remote
270
+ }
271
+ return data
272
+ })
273
+ setTimeout(() => {
274
+ this.setValue()
275
+ }, 0)
276
+ }
277
+ },
278
+ immediate: true,
279
+ deep: true
280
+ },
281
+
282
+ /**
283
+ * 下拉等组件联动,修改组件配置
284
+ * 监听form-change,并使用updateFormConfig更新表单配置
285
+ */
286
+ formModel: {
287
+ deep: true,
288
+ handler(data) {
289
+ this.$emit('form-change', data, this.formConfig)
290
+ }
291
+ }
292
+ },
293
+ mounted() {
294
+ console.log(444)
295
+ },
296
+ methods: {
297
+ /**
298
+ * 组件联动,避免多次触发nstcform.watch.config
299
+ */
300
+ updateFormConfig(newConfig) {
301
+ this.formConfig = newConfig
302
+ },
303
+
304
+ clickTreeNode(queryKey, data) {
305
+ if (queryKey) {
306
+ this.formModel[queryKey] = data[queryKey]
307
+ }
308
+ },
309
+ /**
310
+ * 提交保存成功
311
+ */
312
+ handleConfirm() {
313
+ console.log('查询条件设置成功', this.formModel)
314
+ // 缓存下之前的数据
315
+ const cache = JSON.parse(JSON.stringify(this.formModel))
316
+ this.init('update', () => {
317
+ this.formModel = cache
318
+ })
319
+ this.popoverShowFlag = true
320
+ },
321
+
322
+ async init(flag, cb) {
323
+ this.popoverShowFlag = !this.popoverShowFlag
324
+ if (this.hasLoad && flag !== 'update') {
325
+ this.changeDefaultSet()
326
+
327
+ this.$nextTick(() => {
328
+ this.$forceUpdate()
329
+ })
330
+ return
331
+ }
332
+ this.loadingFlag = true
333
+ this.defaultSet = []
334
+ const res = await axios.get(`/bems/1.0/dynamicUnit`, {
335
+ ...this.config,
336
+ queryType: 3
337
+ })
338
+ this.loadingFlag = false
339
+ this.hasLoad = true
340
+ this.defaultSet = res.data
341
+ this.changeDefaultSet()
342
+ this.$nextTick(() => {
343
+ this.updatePop()
344
+ this.$forceUpdate()
345
+ cb && cb()
346
+ })
347
+ },
348
+ changeDefaultSet(type) {
349
+ this.defaultSet = this.defaultSet.map((item) => {
350
+ let nItem = Object.assign({}, item)
351
+ nItem.disabled = this.valueConfig[item.id]
352
+ ? this.valueConfig[item.id].disabled || false
353
+ : false
354
+ this.valueConfig[item.id] &&
355
+ (nItem.label = this.valueConfig[item.id].label)
356
+ nItem.options = this.valueConfig[item.id]
357
+ ? JSON.stringify(this.valueConfig[item.id].options) || []
358
+ : item.options
359
+ nItem.time = new Date().getTime()
360
+ nItem.clearable = this.valueConfig[item.id]
361
+ ? this.valueConfig[item.id].clearable
362
+ : true
363
+ return nItem
364
+ })
365
+ console.log(this.defaultSet, 123)
366
+ },
367
+ setValue() {
368
+ let newObj = {}
369
+ for (let key1 in this.valueConfig) {
370
+ let item = this.valueConfig[key1]
371
+ let keyObj = this.defaultSet.find(
372
+ (item) => item.id === key1 && item.type === 'select' && item.multiple
373
+ )
374
+ if (item.hasOwnProperty('value')) {
375
+ this.$set(
376
+ newObj,
377
+ keyObj ? key1 + 's' : key1,
378
+ this.reset ? '' : item.value
379
+ )
380
+ }
381
+ }
382
+ // this.formModel = {...this.formModel,...this.oldFormModel, ...newObj}
383
+ if (JSON.stringify(this.oldFormModel) !== '{}') {
384
+ // 旧配置中的字段不在新的配置中,则需要移除对应的缓存值
385
+ this.defaultSet.forEach(({ id, multiple, type, queryKey }) => {
386
+ const isExist =
387
+ Reflect.has(this.oldFormModel, id) ||
388
+ Reflect.has(this.oldFormModel, id + 's')
389
+ // 在缓存中存在,则取缓存的值
390
+ if (isExist) {
391
+ if (type === 'select' && multiple) {
392
+ this.formModel[id + 's'] = this.oldFormModel[id + 's']
393
+ } else {
394
+ this.formModel[id] = this.oldFormModel[id]
395
+ }
396
+ } else {
397
+ this.formModel[id] = this.defaultSet[id]
398
+ }
399
+ })
400
+ // 新配置中移除了某些字段,需要将缓存中的字段移除
401
+ Object.keys(this.oldFormModel).forEach((k) => {
402
+ const isExist = this.defaultSet.find((item) => {
403
+ return item.id === k || item.id + 's' === k || item.queryKey == k
404
+ })
405
+ if (!isExist) {
406
+ delete this.formModel[k]
407
+ }
408
+ })
409
+ }
410
+ this.formModel = { ...this.formModel, ...newObj }
411
+ this.reset = false
412
+ },
413
+ /**
414
+ * 类型转化方法
415
+ */
416
+ typeConversion(type) {
417
+ // 属性合集
418
+ const mold = [
419
+ {
420
+ // 时间
421
+ type: 'datepicker',
422
+ attr: 'daterange'
423
+ }
424
+ ]
425
+ // 筛选对应需要添加属性的数据
426
+ // eg:
427
+ let isAddAttr = mold.filter((x) => x.attr === type)
428
+
429
+ return isAddAttr.length !== 0
430
+ ? {
431
+ type: isAddAttr[0].type,
432
+ attr: isAddAttr[0].attr
433
+ }
434
+ : {
435
+ type: type,
436
+ attr: null
437
+ }
438
+ },
439
+
440
+ /**
441
+ * 查询更多条件
442
+ */
443
+ moreCondition() {
444
+ this.conditionSetFlag = true
445
+ },
446
+
447
+ /**
448
+ * 确认查询
449
+ */
450
+ confirmAction() {
451
+ this.popoverShowFlag = false
452
+ this.oldFormModel = JSON.parse(JSON.stringify(this.formModel))
453
+ // 格式化金额
454
+ this.$emit('search', this.formModel)
455
+ },
456
+
457
+ /**
458
+ * 去掉后台返回字段的”
459
+ */
460
+ removeQuotation(str) {
461
+ return str ? str.replace(/"/g, '') : ''
462
+ },
463
+
464
+ /**
465
+ * 重置
466
+ */
467
+ resetAction() {
468
+ this.reset = true
469
+ this.oldFormModel = {}
470
+ this.changeDefaultSet('reset')
471
+ this.$emit('reset', this.formModel)
472
+ },
473
+
474
+ /**
475
+ * 关闭
476
+ */
477
+ closePopover() {
478
+ this.reset = true
479
+ this.$nextTick(() => {
480
+ this.popoverShowFlag = false
481
+ })
482
+ },
483
+
484
+ /**
485
+ * 手动打开
486
+ */
487
+ openPopover() {},
488
+
489
+ updatePop() {
490
+ this.$refs.popover.updatePopper()
491
+ }
492
+ }
493
+ }
494
+ </script>
495
+
496
+ <style lang="scss">
497
+ .filter-custom-box {
498
+ .interval-input-custom {
499
+ }
500
+ .filter-btn {
501
+ height: 34px !important;
502
+ width: 90px !important;
503
+ }
504
+ .filter-opt {
505
+ display: inline-block;
506
+ cursor: pointer;
507
+ &-temp {
508
+ border: 1px solid #dddddd;
509
+ // width: 26px;
510
+ // height: 26px;
511
+ padding: 5px;
512
+ border-radius: 4px;
513
+ display: flex;
514
+ align-items: center;
515
+ overflow: hidden;
516
+ .is-svg-default {
517
+ display: block;
518
+ }
519
+ .is-svg-hover {
520
+ display: none;
521
+ }
522
+ }
523
+
524
+ &-temp:hover {
525
+ border: 1px solid #007aff;
526
+ .is-svg-default {
527
+ display: none;
528
+ }
529
+ .is-svg-hover {
530
+ display: block;
531
+ }
532
+ }
533
+ }
534
+
535
+ &-main {
536
+ display: flex;
537
+ flex-direction: column;
538
+ min-width: 360px;
539
+ &-header {
540
+ display: flex;
541
+ justify-content: space-between;
542
+ align-items: center;
543
+ padding-right: 16px;
544
+ .filter-text {
545
+ color: #262d34;
546
+ font-size: 16px;
547
+ }
548
+ .filter-close-img {
549
+ cursor: pointer;
550
+ }
551
+ img {
552
+ width: 16px;
553
+ height: 16px;
554
+ }
555
+ }
556
+ &-condition {
557
+ flex: 1;
558
+ //border: 1px solid #000;
559
+ overflow-y: auto;
560
+ margin-top: 11px;
561
+ max-height: 300px !important;
562
+ padding-top: 3px;
563
+ // 13 剧中
564
+ width: calc(100%);
565
+ .el-form-item {
566
+ margin-bottom: 16px;
567
+ }
568
+ }
569
+ &-more {
570
+ margin: 10px 0 6px 0;
571
+ font-size: 14px;
572
+ span {
573
+ color: #007aff;
574
+ cursor: pointer;
575
+ }
576
+ }
577
+ &-footer {
578
+ text-align: center;
579
+ }
580
+ }
581
+ }
582
+ </style>
583
+