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,730 +1,730 @@
1
- <!--
2
- 功能: 下拉树
3
- 作者: nstc
4
- 创建时间: 2021-02-05
5
- -->
6
-
7
- <template>
8
- <div class="form-create-select-tree">
9
- <el-popover
10
- v-model="showPopoverFlag"
11
- popper-class="select-tree-el-popover"
12
- placement="bottom-end"
13
- v-bind="$attrs"
14
- :disabled="disabled"
15
- >
16
- <el-tree
17
- v-if="treeRefName"
18
- :ref="treeRefName"
19
- v-clickoutside="onClickOutside"
20
- class="filter-tree"
21
- :data="treeData"
22
- highlight-current
23
- :check-strictly="checkStrictly"
24
- :props="defaultProps"
25
- :node-key="nodeKey"
26
- default-expand-all
27
- :expand-on-click-node="false"
28
- :show-checkbox="multiple"
29
- v-bind="$attrs"
30
- @click="popoverShowFlag = true"
31
- @node-click="treeNodeClick"
32
- @check="handleCheckChange"
33
- v-on="$listeners"
34
- >
35
- <div
36
- slot-scope="{ data }"
37
- class="custom-tree-node"
38
- :class="{
39
- 'not-allow': defaultProps.disabled && !!data[defaultProps.disabled]
40
- }"
41
- >
42
- <span v-if="nodeKey === 'cashFlowNo'">
43
- {{ `${data[tagProps.value]} ${data[tagProps.label]}` }}
44
- </span>
45
- <span v-else>{{ data[defaultProps.label] }}</span>
46
- </div>
47
- </el-tree>
48
- <InputTag
49
- v-if="multiple"
50
- slot="reference"
51
- v-model="checkedValue"
52
- class="input-tag"
53
- :props="tagProps"
54
- @input-value="
55
- (val) => {
56
- filterText = val
57
- inputChange()
58
- }
59
- "
60
- />
61
- <!-- :suffix-icon="!changeSuffix ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" -->
62
- <el-input
63
- v-else-if="iconType === 'drop'"
64
- :ref="inputRefName"
65
- slot="reference"
66
- v-model="filterText"
67
- :placeholder="placeholder || '请选择'"
68
- :disabled="disabled"
69
- :style="{ width: inputWidth }"
70
- :class="{ 'nstc-input-small': size === 'small' }"
71
- v-bind="$attrs"
72
- @input="inputChange"
73
- @blur="clearFilterText"
74
- @focus="inputFocus"
75
- @change="inputChangeAction"
76
- @mouseenter.native="isHover = true"
77
- @mouseleave.native="isHover = false"
78
- v-on="$listeners"
79
- >
80
- <span
81
- v-if="
82
- clearable &&
83
- (disabled ? false : checkedValue && (changeSuffix || isHover))
84
- "
85
- slot="suffix"
86
- class="input-icon el-icon-circle-close"
87
- @click.stop="$emit('input', '')"
88
- ></span>
89
- <span
90
- v-else
91
- slot="suffix"
92
- class="input-icon el-icon-arrow-down"
93
- :class="[changeSuffix ? 'up' : 'down']"
94
- ></span>
95
- </el-input>
96
- <el-input
97
- v-else
98
- :ref="inputRefName"
99
- slot="reference"
100
- v-model="filterText"
101
- :disabled="disabled"
102
- suffix-icon="el-icon-search"
103
- :placeholder="placeholder || '请选择'"
104
- :style="{ width: inputWidth }"
105
- :class="{ 'nstc-input-small': size === 'small' }"
106
- :clearable="clearable"
107
- v-bind="$attrs"
108
- @input="inputChange"
109
- @blur="clearFilterText"
110
- @focus="inputFocus"
111
- @change="inputChangeAction"
112
- v-on="$listeners"
113
- />
114
- <!-- <i class="el-icon-arrow-down" /> -->
115
- </el-popover>
116
- </div>
117
- </template>
118
-
119
- <script>
120
- import axios from '../../utils/axios'
121
- import InputTag from '../InputTag/InputTag'
122
- import clickoutside from 'element-ui/src/utils/clickoutside'
123
- export default {
124
- name: 'NstcSelectTree', // 单位按树模块查询
125
- components: {
126
- InputTag
127
- },
128
- directives: {
129
- clickoutside
130
- },
131
- props: {
132
- value: {
133
- type: [String, Number, Array, Object],
134
- default: () => {
135
- return ''
136
- }
137
- },
138
- checkStrictly: {
139
- //false:上下级节点有联动;true:上下级节点没有联动
140
- type: Boolean,
141
- default: false
142
- },
143
- lazy: {
144
- type: Boolean,
145
- default: false
146
- },
147
-
148
- inputWidth: {
149
- type: String,
150
- default: ''
151
- },
152
-
153
- multiple: {
154
- type: Boolean,
155
- default: false
156
- },
157
-
158
- url: {
159
- type: String,
160
- default: ''
161
- },
162
- requestMethod: {
163
- type: String,
164
- default: 'get'
165
- },
166
-
167
- nodeKey: {
168
- type: String,
169
- default: 'id'
170
- },
171
-
172
- defaultProps: {
173
- type: Object,
174
- default: () => {
175
- return {
176
- children: 'children',
177
- label: 'cashName'
178
- }
179
- }
180
- },
181
-
182
- tagProps: {
183
- type: Object,
184
- default: () => {
185
- return {
186
- label: 'label',
187
- value: 'value'
188
- }
189
- }
190
- },
191
-
192
- params: {
193
- type: Object,
194
- default: () => {
195
- return {}
196
- }
197
- },
198
- filterParams: {
199
- type: Object,
200
- default: () => {
201
- return {}
202
- }
203
- },
204
-
205
- queryKey: {
206
- type: String,
207
- default: 'query'
208
- },
209
-
210
- label: {
211
- type: [String, Number],
212
- default: ''
213
- },
214
-
215
- // 额外的查询参数
216
- query: {
217
- type: Object,
218
- default: () => {
219
- return {}
220
- }
221
- },
222
-
223
- // 组件的大小
224
- size: {
225
- type: String,
226
- default: () => {
227
- return 'normal'
228
- }
229
- },
230
- //是否添加 无
231
- showNull: {
232
- type: Boolean,
233
- default: false
234
- },
235
- // 图标类型:搜索(任意)、下拉(drop)
236
- nullLabel: {
237
- type: String,
238
- default: '全部单位'
239
- },
240
- // 只能点击叶子节点
241
- onlyClickLeaf: {
242
- type: Boolean,
243
- default: false
244
- },
245
- // 是否可清空
246
- clearable: {
247
- type: Boolean,
248
- default: true
249
- },
250
- // 是否可清空
251
- disabled: {
252
- type: Boolean,
253
- default: false
254
- },
255
- // 图标类型:搜索(任意)、下拉(drop)
256
- iconType: {
257
- type: String,
258
- default: ''
259
- },
260
- disableUnclickLeaf: {
261
- type: Boolean,
262
- default: false
263
- },
264
- // filterTreeData 是否要对数据进行处理
265
- filterTreeData: {
266
- type: Function,
267
- default: (val) => {
268
- return val
269
- }
270
- }
271
- },
272
- data() {
273
- return {
274
- checkedValue: [],
275
- isHover: false,
276
- isFocus: false,
277
- changeSuffix: false,
278
- showPopoverFlag: false,
279
- filterText: null,
280
- treeData: [
281
- // {
282
- // unitName: "全部单位",
283
- // unitNo: "",
284
- // },
285
- ],
286
- treeRefName: '',
287
- inputRefName: this.getRefName(),
288
- queryFlag: true,
289
- placeholder: '请选择',
290
- windowEventFlag: false,
291
- timeTemp: null
292
- }
293
- },
294
- computed: {
295
- _value: {
296
- get() {
297
- return this.value
298
- },
299
- set(val) {
300
- this.checkedValue = val
301
- this.$emit('input', val)
302
- }
303
- }
304
- },
305
- watch: {
306
- label: {
307
- handler(val) {
308
- this.$nextTick(() => {
309
- this.filterText = val
310
- })
311
- },
312
- immediate: true
313
- },
314
- value: {
315
- handler(val) {
316
- if (['', null].includes(val)) {
317
- this.filterText = null
318
- this.placeholder = null
319
- this.checkedValue = []
320
- this.treeRefName && this.$refs[this.treeRefName].setCheckedKeys([])
321
- } else {
322
- this.$nextTick(() => {
323
- if (typeof val === 'object') {
324
- if (!Array.isArray(val)) {
325
- this.filterText = val.label
326
- } else {
327
- this.checkedValue = this.value
328
- const val = this.value.map((item) => item[this.nodeKey])
329
- this.$refs[this.treeRefName].setCheckedKeys(val)
330
- }
331
- } else {
332
- this.filterText = this.filterText || this.label
333
- }
334
- })
335
- }
336
- },
337
- immediate: true
338
- },
339
- showPopoverFlag(val) {
340
- if (val) {
341
- const value = this.checkedValue === '' ? null : this.checkedValue
342
- this.$refs[this.treeRefName].setCurrentKey(value)
343
- }
344
- }
345
- },
346
-
347
- created() {
348
- //
349
- this.treeRefName = this.getRefName()
350
- // 默认加载一次
351
- this.remoteMethod('first')
352
-
353
- this.filterText = this.label
354
-
355
- // 点击其他地方关闭关闭下拉
356
- const that = this
357
- document.documentElement.onclick = function () {
358
- if (that.windowEventFlag) {
359
- that.clearFilterText()
360
- this.showPopoverFlag = false
361
- }
362
- }
363
- },
364
- mounted() {
365
- // 关闭筛选弹窗中的二级popover
366
- this.$bus.$on('closePopoverInSearch', () => {
367
- this.showPopoverFlag = false
368
- })
369
- },
370
- methods: {
371
- /**
372
- * input 输入框变化事件
373
- */
374
- inputChange() {
375
- const that = this
376
- this.timeTemp && clearTimeout(that.timeTemp)
377
- this.timeTemp = setTimeout(() => {
378
- console.log('input change', this.filterText)
379
- this.queryFlag && this.remoteMethod()
380
- this.queryFlag = true
381
- }, 300)
382
- },
383
-
384
- inputChangeAction(val) {
385
- console.log('change')
386
- this.$emit('inputChangeAction', val)
387
- },
388
-
389
- /**
390
- * 本地模糊查询
391
- */
392
- filterNode(value, data) {
393
- if (!value) return true
394
- return data.label.indexOf(value) !== -1
395
- },
396
-
397
- /**
398
- * 随机生成 formId
399
- */
400
- getRefName() {
401
- return `ref_${new Date().getTime()}_${Math.random()
402
- .toString()
403
- .slice(5, 13)}`
404
- },
405
-
406
- /**
407
- * 远程查询
408
- */
409
- remoteMethod(type) {
410
- const that = this
411
- let params = {}
412
- if (this.filterText) {
413
- // 过滤时,默认查列表,若父组件指定了filterParams,则按照filterParams进行查询
414
- params = {
415
- ...this.params,
416
- ...this.filterParams,
417
- resultType: this.filterParams.resultType || 0
418
- }
419
- } else {
420
- // 默认查树, 若父组件指定了params,则取params中的resultType
421
- params = {
422
- ...this.params,
423
- resultType: this.params.resultType || 1
424
- }
425
- }
426
- console.log('params', params)
427
- this.isRequestByFilterText = !!that.filterText
428
- axios({
429
- url: that.url,
430
- method: that.requestMethod,
431
- loading: false,
432
- [that.requestMethod.toLowerCase() == 'get' ? 'params' : 'data']: {
433
- [that.queryKey]: type === 'first' ? '' : that.filterText,
434
- ...params
435
- }
436
- })
437
- .then((data) => {
438
- console.log(data, 'data')
439
- that.treeData = data.list ? data.list : data.data ? data.data : data
440
- that.treeData = this.filterTreeData(that.treeData)
441
- if (that.showNull) {
442
- let map = {
443
- accountOpeningLicenseNo: null,
444
- address: null,
445
- approvalDate: null,
446
- areaId: null,
447
- areaName: null,
448
- bankAccount: null,
449
- bankNo: null,
450
- brName: null,
451
- brNo: null,
452
- businessDueDate: null,
453
- businessScope: null,
454
- certificateNumber: null,
455
- certificateType: null,
456
- children: [],
457
- classGrp1: null,
458
- classGrp2: null,
459
- classGrp3: null,
460
- classGrp4: null,
461
- cltState: 1,
462
- companyRegistrationCertificateNo: null,
463
- country: null,
464
- creditCode: null,
465
- email: null,
466
- englishName: null,
467
- fatherNo: null,
468
- fax: null,
469
- firmNo: null,
470
- forShort: null,
471
- industryType: null,
472
- isDomestic: null,
473
- isFilter: null,
474
- isHaveChildren: 0,
475
- isLeaf: 0,
476
- isRegisteredCapital: null,
477
- jurPerson: null,
478
- languageCode: null,
479
- leftFigN3: 0,
480
- legalper: null,
481
- legalperPhone: null,
482
- licenseNumber: null,
483
- linkMan: null,
484
- linkManPhone: null,
485
- listedPlace: null,
486
- listingStatus: null,
487
- localTaxRegistrationNo: null,
488
- nationalTaxRegistrationNo: null,
489
- nstype: 0,
490
- orgNo: null,
491
- organizationCategories: null,
492
- organizationCategory: null,
493
- parentName: null,
494
- parentNo: null,
495
- postNo: null,
496
- registeredAddress: null,
497
- registeredCapital: null,
498
- registeredCapitalCurrency: null,
499
- registrationDate: null,
500
- registrationNumberType: null,
501
- registrationType: null,
502
- remark: null,
503
- rightFigN3: 0,
504
- simpleName: null,
505
- socialCreditCode: null,
506
- telphone: null,
507
- tradeId: null,
508
- treasurer: null,
509
- treasurerPhone: null,
510
- treeNo: '',
511
- unitName: that.nullLabel || '全部单位',
512
- unitNo: '1',
513
- website: null,
514
- wfdeptViewList: null
515
- }
516
- // eslint-disable-next-line no-debugger
517
- // debugger;
518
- that.treeData.unshift(map)
519
- }
520
- if (this.multiple && this.onlyClickLeaf && this.disableUnclickLeaf) {
521
- this.setOnlyLeafChecked(that.treeData)
522
- }
523
- that.$nextTick(() => {
524
- that.$forceUpdate()
525
- })
526
- })
527
- .catch(() => {})
528
- },
529
-
530
- /**
531
- * 设置非叶子节点的不可选择
532
- */
533
- setOnlyLeafChecked(treeData) {
534
- treeData.forEach((item) => {
535
- if (item.children && item.children.length) {
536
- item.disabled = true
537
- this.setOnlyLeafChecked(item.children)
538
- } else {
539
- item.disabled = false
540
- }
541
- })
542
- },
543
-
544
- /**
545
- * 树节点点击事件
546
- * 回调参数: data, node, tree
547
- */
548
- treeNodeClick(data, node, tree) {
549
- if (!this.multiple) {
550
- if (this.onlyClickLeaf && !node.isLeaf) return
551
- if (this.defaultProps.disabled && !!data[this.defaultProps.disabled])
552
- return
553
- this.queryFlag = false
554
-
555
- const k = this.defaultProps.label || 'label'
556
- console.log(data, 'data', k, 'K')
557
-
558
- this.filterText = data[k]
559
- this.placeholder = this.filterText
560
-
561
- this._value = data[this.nodeKey]
562
-
563
- // 主动让input框失去交单
564
- this.$refs[this.inputRefName].blur()
565
- this.showPopoverFlag = false
566
- this.isRequestByFilterText && this.remoteMethod()
567
- this.$emit('treeNodeClick', data, node, tree)
568
- }
569
- },
570
-
571
- /**
572
- * 多选树 -- 只支持查询不支持回显
573
- * 回调参数: data, node, tree
574
- */
575
- handleCheckChange(data, checked) {
576
- console.log(checked)
577
- this.queryFlag = false
578
-
579
- // const k = this.defaultProps.label || "label";
580
- // this.filterText = checkedKeys[k];
581
- let newText = []
582
- if (this.onlyClickLeaf && !this.checkStrictly) {
583
- //如果是增加父子节点联动性并且只能点击子节点
584
- checked['checkedNodes'].forEach((item) => {
585
- checked['checkedKeys'].forEach((el) => {
586
- if (item.unitNo === el && !item.children) {
587
- newText.push(item.unitName)
588
- }
589
- })
590
- })
591
- } else {
592
- checked['checkedNodes'].forEach((item) => {
593
- checked['checkedKeys'].forEach((el) => {
594
- if (item.unitNo === el) {
595
- newText.push(item.unitName)
596
- }
597
- })
598
- })
599
- }
600
-
601
- this.filterText = newText.toString()
602
-
603
- this.placeholder = this.filterText
604
- if (this.onlyClickLeaf && !this.checkStrictly) {
605
- this._value = checked.checkedNodes
606
- .filter((item) => {
607
- return !item.children
608
- })
609
- .map((item) => {
610
- return {
611
- [this.nodeKey]: item[this.nodeKey],
612
- [this.queryKey]: item[this.queryKey]
613
- }
614
- })
615
- } else {
616
- this._value = checked.checkedNodes.map((item) => {
617
- return {
618
- [this.nodeKey]: item[this.nodeKey],
619
- [this.queryKey]: item[this.queryKey]
620
- }
621
- })
622
- }
623
- console.log(this._value)
624
- this.$emit('checkedClick', checked)
625
- },
626
-
627
- /**
628
- * input框失去焦点
629
- */
630
- clearFilterText() {
631
- this.changeSuffix = false
632
- if (!this.multiple) {
633
- this.filterText = this.placeholder
634
- this.placeholder = null
635
- // this.showPopoverFlag = false;
636
- this.$nextTick(() => {
637
- this.$forceUpdate()
638
- })
639
- this.$emit('filterText', this.filterText)
640
- }
641
- },
642
-
643
- /**
644
- * input聚焦时
645
- */
646
- inputFocus() {
647
- this.changeSuffix = true
648
- if (this.filterText) {
649
- this.timeTemp && clearTimeout(this.timeTemp)
650
- this.windowEventFlag = false
651
- this.placeholder = this.filterText
652
- this.filterText = ''
653
- this.queryFlag = true
654
- } else {
655
- this.remoteMethod()
656
- }
657
- },
658
- onClickOutside() {
659
- this.showPopoverFlag = false
660
- }
661
- }
662
- }
663
- </script>
664
-
665
- <style lang="scss">
666
- .custom-tree-node {
667
- flex: 1;
668
- }
669
- .not-allow {
670
- color: #ddd;
671
- }
672
- .not-allow:hover {
673
- cursor: not-allowed;
674
- }
675
- .form-create-select-tree {
676
- .input-tag > .el-select__tags:hover + .el-input > .el-input__inner {
677
- border: 1px solid #007aff;
678
- }
679
- display: inline-block;
680
- width: 224px;
681
- .el-input__suffix:hover {
682
- cursor: pointer;
683
- }
684
- .select-tree-el-popover {
685
- padding: 0;
686
- overflow-y: auto;
687
- }
688
- .filter-tree {
689
- padding: 12px;
690
- }
691
- .temp-input {
692
- width: 100%;
693
- border: 1px solid #ccc;
694
- padding-right: 10px;
695
- margin-right: 15px;
696
- cursor: pointer;
697
- display: flex;
698
- align-items: center;
699
- height: 29px;
700
- > span {
701
- padding-left: 10px;
702
- width: calc(100% - 10px);
703
- height: 100%;
704
- overflow: hidden;
705
- display: flex;
706
- align-items: center;
707
- }
708
- }
709
- .el-popper {
710
- min-width: 264px;
711
- }
712
-
713
- .el-tree-node__content:hover {
714
- background-color: rgba(0, 122, 255, 0.1) !important;
715
- }
716
- .input-icon {
717
- width: 25px;
718
- text-align: center;
719
- cursor: pointer;
720
- &.up {
721
- transform: rotateZ(-180deg);
722
- transition: 0.3s;
723
- }
724
- &.down {
725
- transition: rotateZ(0deg);
726
- transition: 0.3s;
727
- }
728
- }
729
- }
730
- </style>
1
+ <!--
2
+ 功能: 下拉树
3
+ 作者: nstc
4
+ 创建时间: 2021-02-05
5
+ -->
6
+
7
+ <template>
8
+ <div class="form-create-select-tree">
9
+ <el-popover
10
+ v-model="showPopoverFlag"
11
+ popper-class="select-tree-el-popover"
12
+ placement="bottom-end"
13
+ v-bind="$attrs"
14
+ :disabled="disabled"
15
+ >
16
+ <el-tree
17
+ v-if="treeRefName"
18
+ :ref="treeRefName"
19
+ v-clickoutside="onClickOutside"
20
+ class="filter-tree"
21
+ :data="treeData"
22
+ highlight-current
23
+ :check-strictly="checkStrictly"
24
+ :props="defaultProps"
25
+ :node-key="nodeKey"
26
+ default-expand-all
27
+ :expand-on-click-node="false"
28
+ :show-checkbox="multiple"
29
+ v-bind="$attrs"
30
+ @click="popoverShowFlag = true"
31
+ @node-click="treeNodeClick"
32
+ @check="handleCheckChange"
33
+ v-on="$listeners"
34
+ >
35
+ <div
36
+ slot-scope="{ data }"
37
+ class="custom-tree-node"
38
+ :class="{
39
+ 'not-allow': defaultProps.disabled && !!data[defaultProps.disabled]
40
+ }"
41
+ >
42
+ <span v-if="nodeKey === 'cashFlowNo'">
43
+ {{ `${data[tagProps.value]} ${data[tagProps.label]}` }}
44
+ </span>
45
+ <span v-else>{{ data[defaultProps.label] }}</span>
46
+ </div>
47
+ </el-tree>
48
+ <InputTag
49
+ v-if="multiple"
50
+ slot="reference"
51
+ v-model="checkedValue"
52
+ class="input-tag"
53
+ :props="tagProps"
54
+ @input-value="
55
+ (val) => {
56
+ filterText = val
57
+ inputChange()
58
+ }
59
+ "
60
+ />
61
+ <!-- :suffix-icon="!changeSuffix ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" -->
62
+ <el-input
63
+ v-else-if="iconType === 'drop'"
64
+ :ref="inputRefName"
65
+ slot="reference"
66
+ v-model="filterText"
67
+ :placeholder="placeholder || '请选择'"
68
+ :disabled="disabled"
69
+ :style="{ width: inputWidth }"
70
+ :class="{ 'nstc-input-small': size === 'small' }"
71
+ v-bind="$attrs"
72
+ @input="inputChange"
73
+ @blur="clearFilterText"
74
+ @focus="inputFocus"
75
+ @change="inputChangeAction"
76
+ @mouseenter.native="isHover = true"
77
+ @mouseleave.native="isHover = false"
78
+ v-on="$listeners"
79
+ >
80
+ <span
81
+ v-if="
82
+ clearable &&
83
+ (disabled ? false : checkedValue && (changeSuffix || isHover))
84
+ "
85
+ slot="suffix"
86
+ class="input-icon el-icon-circle-close"
87
+ @click.stop="$emit('input', '')"
88
+ ></span>
89
+ <span
90
+ v-else
91
+ slot="suffix"
92
+ class="input-icon el-icon-arrow-down"
93
+ :class="[changeSuffix ? 'up' : 'down']"
94
+ ></span>
95
+ </el-input>
96
+ <el-input
97
+ v-else
98
+ :ref="inputRefName"
99
+ slot="reference"
100
+ v-model="filterText"
101
+ :disabled="disabled"
102
+ suffix-icon="el-icon-search"
103
+ :placeholder="placeholder || '请选择'"
104
+ :style="{ width: inputWidth }"
105
+ :class="{ 'nstc-input-small': size === 'small' }"
106
+ :clearable="clearable"
107
+ v-bind="$attrs"
108
+ @input="inputChange"
109
+ @blur="clearFilterText"
110
+ @focus="inputFocus"
111
+ @change="inputChangeAction"
112
+ v-on="$listeners"
113
+ />
114
+ <!-- <i class="el-icon-arrow-down" /> -->
115
+ </el-popover>
116
+ </div>
117
+ </template>
118
+
119
+ <script>
120
+ import axios from '../../utils/axios'
121
+ import InputTag from '../InputTag/InputTag'
122
+ import clickoutside from 'element-ui/src/utils/clickoutside'
123
+ export default {
124
+ name: 'NstcSelectTree', // 单位按树模块查询
125
+ components: {
126
+ InputTag
127
+ },
128
+ directives: {
129
+ clickoutside
130
+ },
131
+ props: {
132
+ value: {
133
+ type: [String, Number, Array, Object],
134
+ default: () => {
135
+ return ''
136
+ }
137
+ },
138
+ checkStrictly: {
139
+ //false:上下级节点有联动;true:上下级节点没有联动
140
+ type: Boolean,
141
+ default: false
142
+ },
143
+ lazy: {
144
+ type: Boolean,
145
+ default: false
146
+ },
147
+
148
+ inputWidth: {
149
+ type: String,
150
+ default: ''
151
+ },
152
+
153
+ multiple: {
154
+ type: Boolean,
155
+ default: false
156
+ },
157
+
158
+ url: {
159
+ type: String,
160
+ default: ''
161
+ },
162
+ requestMethod: {
163
+ type: String,
164
+ default: 'get'
165
+ },
166
+
167
+ nodeKey: {
168
+ type: String,
169
+ default: 'id'
170
+ },
171
+
172
+ defaultProps: {
173
+ type: Object,
174
+ default: () => {
175
+ return {
176
+ children: 'children',
177
+ label: 'cashName'
178
+ }
179
+ }
180
+ },
181
+
182
+ tagProps: {
183
+ type: Object,
184
+ default: () => {
185
+ return {
186
+ label: 'label',
187
+ value: 'value'
188
+ }
189
+ }
190
+ },
191
+
192
+ params: {
193
+ type: Object,
194
+ default: () => {
195
+ return {}
196
+ }
197
+ },
198
+ filterParams: {
199
+ type: Object,
200
+ default: () => {
201
+ return {}
202
+ }
203
+ },
204
+
205
+ queryKey: {
206
+ type: String,
207
+ default: 'query'
208
+ },
209
+
210
+ label: {
211
+ type: [String, Number],
212
+ default: ''
213
+ },
214
+
215
+ // 额外的查询参数
216
+ query: {
217
+ type: Object,
218
+ default: () => {
219
+ return {}
220
+ }
221
+ },
222
+
223
+ // 组件的大小
224
+ size: {
225
+ type: String,
226
+ default: () => {
227
+ return 'normal'
228
+ }
229
+ },
230
+ //是否添加 无
231
+ showNull: {
232
+ type: Boolean,
233
+ default: false
234
+ },
235
+ // 图标类型:搜索(任意)、下拉(drop)
236
+ nullLabel: {
237
+ type: String,
238
+ default: '全部单位'
239
+ },
240
+ // 只能点击叶子节点
241
+ onlyClickLeaf: {
242
+ type: Boolean,
243
+ default: false
244
+ },
245
+ // 是否可清空
246
+ clearable: {
247
+ type: Boolean,
248
+ default: true
249
+ },
250
+ // 是否可清空
251
+ disabled: {
252
+ type: Boolean,
253
+ default: false
254
+ },
255
+ // 图标类型:搜索(任意)、下拉(drop)
256
+ iconType: {
257
+ type: String,
258
+ default: ''
259
+ },
260
+ disableUnclickLeaf: {
261
+ type: Boolean,
262
+ default: false
263
+ },
264
+ // filterTreeData 是否要对数据进行处理
265
+ filterTreeData: {
266
+ type: Function,
267
+ default: (val) => {
268
+ return val
269
+ }
270
+ }
271
+ },
272
+ data() {
273
+ return {
274
+ checkedValue: [],
275
+ isHover: false,
276
+ isFocus: false,
277
+ changeSuffix: false,
278
+ showPopoverFlag: false,
279
+ filterText: null,
280
+ treeData: [
281
+ // {
282
+ // unitName: "全部单位",
283
+ // unitNo: "",
284
+ // },
285
+ ],
286
+ treeRefName: '',
287
+ inputRefName: this.getRefName(),
288
+ queryFlag: true,
289
+ placeholder: '请选择',
290
+ windowEventFlag: false,
291
+ timeTemp: null
292
+ }
293
+ },
294
+ computed: {
295
+ _value: {
296
+ get() {
297
+ return this.value
298
+ },
299
+ set(val) {
300
+ this.checkedValue = val
301
+ this.$emit('input', val)
302
+ }
303
+ }
304
+ },
305
+ watch: {
306
+ label: {
307
+ handler(val) {
308
+ this.$nextTick(() => {
309
+ this.filterText = val
310
+ })
311
+ },
312
+ immediate: true
313
+ },
314
+ value: {
315
+ handler(val) {
316
+ if (['', null].includes(val)) {
317
+ this.filterText = null
318
+ this.placeholder = null
319
+ this.checkedValue = []
320
+ this.treeRefName && this.$refs[this.treeRefName].setCheckedKeys([])
321
+ } else {
322
+ this.$nextTick(() => {
323
+ if (typeof val === 'object') {
324
+ if (!Array.isArray(val)) {
325
+ this.filterText = val.label
326
+ } else {
327
+ this.checkedValue = this.value
328
+ const val = this.value.map((item) => item[this.nodeKey])
329
+ this.$refs[this.treeRefName].setCheckedKeys(val)
330
+ }
331
+ } else {
332
+ this.filterText = this.filterText || this.label
333
+ }
334
+ })
335
+ }
336
+ },
337
+ immediate: true
338
+ },
339
+ showPopoverFlag(val) {
340
+ if (val) {
341
+ const value = this.checkedValue === '' ? null : this.checkedValue
342
+ this.$refs[this.treeRefName].setCurrentKey(value)
343
+ }
344
+ }
345
+ },
346
+
347
+ created() {
348
+ //
349
+ this.treeRefName = this.getRefName()
350
+ // 默认加载一次
351
+ this.remoteMethod('first')
352
+
353
+ this.filterText = this.label
354
+
355
+ // 点击其他地方关闭关闭下拉
356
+ const that = this
357
+ document.documentElement.onclick = function () {
358
+ if (that.windowEventFlag) {
359
+ that.clearFilterText()
360
+ this.showPopoverFlag = false
361
+ }
362
+ }
363
+ },
364
+ mounted() {
365
+ // 关闭筛选弹窗中的二级popover
366
+ this.$bus.$on('closePopoverInSearch', () => {
367
+ this.showPopoverFlag = false
368
+ })
369
+ },
370
+ methods: {
371
+ /**
372
+ * input 输入框变化事件
373
+ */
374
+ inputChange() {
375
+ const that = this
376
+ this.timeTemp && clearTimeout(that.timeTemp)
377
+ this.timeTemp = setTimeout(() => {
378
+ console.log('input change', this.filterText)
379
+ this.queryFlag && this.remoteMethod()
380
+ this.queryFlag = true
381
+ }, 300)
382
+ },
383
+
384
+ inputChangeAction(val) {
385
+ console.log('change')
386
+ this.$emit('inputChangeAction', val)
387
+ },
388
+
389
+ /**
390
+ * 本地模糊查询
391
+ */
392
+ filterNode(value, data) {
393
+ if (!value) return true
394
+ return data.label.indexOf(value) !== -1
395
+ },
396
+
397
+ /**
398
+ * 随机生成 formId
399
+ */
400
+ getRefName() {
401
+ return `ref_${new Date().getTime()}_${Math.random()
402
+ .toString()
403
+ .slice(5, 13)}`
404
+ },
405
+
406
+ /**
407
+ * 远程查询
408
+ */
409
+ remoteMethod(type) {
410
+ const that = this
411
+ let params = {}
412
+ if (this.filterText) {
413
+ // 过滤时,默认查列表,若父组件指定了filterParams,则按照filterParams进行查询
414
+ params = {
415
+ ...this.params,
416
+ ...this.filterParams,
417
+ resultType: this.filterParams.resultType || 0
418
+ }
419
+ } else {
420
+ // 默认查树, 若父组件指定了params,则取params中的resultType
421
+ params = {
422
+ ...this.params,
423
+ resultType: this.params.resultType || 1
424
+ }
425
+ }
426
+ console.log('params', params)
427
+ this.isRequestByFilterText = !!that.filterText
428
+ axios({
429
+ url: that.url,
430
+ method: that.requestMethod,
431
+ loading: false,
432
+ [that.requestMethod.toLowerCase() == 'get' ? 'params' : 'data']: {
433
+ [that.queryKey]: type === 'first' ? '' : that.filterText,
434
+ ...params
435
+ }
436
+ })
437
+ .then((data) => {
438
+ console.log(data, 'data')
439
+ that.treeData = data.list ? data.list : data.data ? data.data : data
440
+ that.treeData = this.filterTreeData(that.treeData)
441
+ if (that.showNull) {
442
+ let map = {
443
+ accountOpeningLicenseNo: null,
444
+ address: null,
445
+ approvalDate: null,
446
+ areaId: null,
447
+ areaName: null,
448
+ bankAccount: null,
449
+ bankNo: null,
450
+ brName: null,
451
+ brNo: null,
452
+ businessDueDate: null,
453
+ businessScope: null,
454
+ certificateNumber: null,
455
+ certificateType: null,
456
+ children: [],
457
+ classGrp1: null,
458
+ classGrp2: null,
459
+ classGrp3: null,
460
+ classGrp4: null,
461
+ cltState: 1,
462
+ companyRegistrationCertificateNo: null,
463
+ country: null,
464
+ creditCode: null,
465
+ email: null,
466
+ englishName: null,
467
+ fatherNo: null,
468
+ fax: null,
469
+ firmNo: null,
470
+ forShort: null,
471
+ industryType: null,
472
+ isDomestic: null,
473
+ isFilter: null,
474
+ isHaveChildren: 0,
475
+ isLeaf: 0,
476
+ isRegisteredCapital: null,
477
+ jurPerson: null,
478
+ languageCode: null,
479
+ leftFigN3: 0,
480
+ legalper: null,
481
+ legalperPhone: null,
482
+ licenseNumber: null,
483
+ linkMan: null,
484
+ linkManPhone: null,
485
+ listedPlace: null,
486
+ listingStatus: null,
487
+ localTaxRegistrationNo: null,
488
+ nationalTaxRegistrationNo: null,
489
+ nstype: 0,
490
+ orgNo: null,
491
+ organizationCategories: null,
492
+ organizationCategory: null,
493
+ parentName: null,
494
+ parentNo: null,
495
+ postNo: null,
496
+ registeredAddress: null,
497
+ registeredCapital: null,
498
+ registeredCapitalCurrency: null,
499
+ registrationDate: null,
500
+ registrationNumberType: null,
501
+ registrationType: null,
502
+ remark: null,
503
+ rightFigN3: 0,
504
+ simpleName: null,
505
+ socialCreditCode: null,
506
+ telphone: null,
507
+ tradeId: null,
508
+ treasurer: null,
509
+ treasurerPhone: null,
510
+ treeNo: '',
511
+ unitName: that.nullLabel || '全部单位',
512
+ unitNo: '1',
513
+ website: null,
514
+ wfdeptViewList: null
515
+ }
516
+ // eslint-disable-next-line no-debugger
517
+ // debugger;
518
+ that.treeData.unshift(map)
519
+ }
520
+ if (this.multiple && this.onlyClickLeaf && this.disableUnclickLeaf) {
521
+ this.setOnlyLeafChecked(that.treeData)
522
+ }
523
+ that.$nextTick(() => {
524
+ that.$forceUpdate()
525
+ })
526
+ })
527
+ .catch(() => {})
528
+ },
529
+
530
+ /**
531
+ * 设置非叶子节点的不可选择
532
+ */
533
+ setOnlyLeafChecked(treeData) {
534
+ treeData.forEach((item) => {
535
+ if (item.children && item.children.length) {
536
+ item.disabled = true
537
+ this.setOnlyLeafChecked(item.children)
538
+ } else {
539
+ item.disabled = false
540
+ }
541
+ })
542
+ },
543
+
544
+ /**
545
+ * 树节点点击事件
546
+ * 回调参数: data, node, tree
547
+ */
548
+ treeNodeClick(data, node, tree) {
549
+ if (!this.multiple) {
550
+ if (this.onlyClickLeaf && !node.isLeaf) return
551
+ if (this.defaultProps.disabled && !!data[this.defaultProps.disabled])
552
+ return
553
+ this.queryFlag = false
554
+
555
+ const k = this.defaultProps.label || 'label'
556
+ console.log(data, 'data', k, 'K')
557
+
558
+ this.filterText = data[k]
559
+ this.placeholder = this.filterText
560
+
561
+ this._value = data[this.nodeKey]
562
+
563
+ // 主动让input框失去交单
564
+ this.$refs[this.inputRefName].blur()
565
+ this.showPopoverFlag = false
566
+ this.isRequestByFilterText && this.remoteMethod()
567
+ this.$emit('treeNodeClick', data, node, tree)
568
+ }
569
+ },
570
+
571
+ /**
572
+ * 多选树 -- 只支持查询不支持回显
573
+ * 回调参数: data, node, tree
574
+ */
575
+ handleCheckChange(data, checked) {
576
+ console.log(checked)
577
+ this.queryFlag = false
578
+
579
+ // const k = this.defaultProps.label || "label";
580
+ // this.filterText = checkedKeys[k];
581
+ let newText = []
582
+ if (this.onlyClickLeaf && !this.checkStrictly) {
583
+ //如果是增加父子节点联动性并且只能点击子节点
584
+ checked['checkedNodes'].forEach((item) => {
585
+ checked['checkedKeys'].forEach((el) => {
586
+ if (item.unitNo === el && !item.children) {
587
+ newText.push(item.unitName)
588
+ }
589
+ })
590
+ })
591
+ } else {
592
+ checked['checkedNodes'].forEach((item) => {
593
+ checked['checkedKeys'].forEach((el) => {
594
+ if (item.unitNo === el) {
595
+ newText.push(item.unitName)
596
+ }
597
+ })
598
+ })
599
+ }
600
+
601
+ this.filterText = newText.toString()
602
+
603
+ this.placeholder = this.filterText
604
+ if (this.onlyClickLeaf && !this.checkStrictly) {
605
+ this._value = checked.checkedNodes
606
+ .filter((item) => {
607
+ return !item.children
608
+ })
609
+ .map((item) => {
610
+ return {
611
+ [this.nodeKey]: item[this.nodeKey],
612
+ [this.queryKey]: item[this.queryKey]
613
+ }
614
+ })
615
+ } else {
616
+ this._value = checked.checkedNodes.map((item) => {
617
+ return {
618
+ [this.nodeKey]: item[this.nodeKey],
619
+ [this.queryKey]: item[this.queryKey]
620
+ }
621
+ })
622
+ }
623
+ console.log(this._value)
624
+ this.$emit('checkedClick', checked)
625
+ },
626
+
627
+ /**
628
+ * input框失去焦点
629
+ */
630
+ clearFilterText() {
631
+ this.changeSuffix = false
632
+ if (!this.multiple) {
633
+ this.filterText = this.placeholder
634
+ this.placeholder = null
635
+ // this.showPopoverFlag = false;
636
+ this.$nextTick(() => {
637
+ this.$forceUpdate()
638
+ })
639
+ this.$emit('filterText', this.filterText)
640
+ }
641
+ },
642
+
643
+ /**
644
+ * input聚焦时
645
+ */
646
+ inputFocus() {
647
+ this.changeSuffix = true
648
+ if (this.filterText) {
649
+ this.timeTemp && clearTimeout(this.timeTemp)
650
+ this.windowEventFlag = false
651
+ this.placeholder = this.filterText
652
+ this.filterText = ''
653
+ this.queryFlag = true
654
+ } else {
655
+ this.remoteMethod()
656
+ }
657
+ },
658
+ onClickOutside() {
659
+ this.showPopoverFlag = false
660
+ }
661
+ }
662
+ }
663
+ </script>
664
+
665
+ <style lang="scss">
666
+ .custom-tree-node {
667
+ flex: 1;
668
+ }
669
+ .not-allow {
670
+ color: #ddd;
671
+ }
672
+ .not-allow:hover {
673
+ cursor: not-allowed;
674
+ }
675
+ .form-create-select-tree {
676
+ .input-tag > .el-select__tags:hover + .el-input > .el-input__inner {
677
+ border: 1px solid #007aff;
678
+ }
679
+ display: inline-block;
680
+ width: 224px;
681
+ .el-input__suffix:hover {
682
+ cursor: pointer;
683
+ }
684
+ .select-tree-el-popover {
685
+ padding: 0;
686
+ overflow-y: auto;
687
+ }
688
+ .filter-tree {
689
+ padding: 12px;
690
+ }
691
+ .temp-input {
692
+ width: 100%;
693
+ border: 1px solid #ccc;
694
+ padding-right: 10px;
695
+ margin-right: 15px;
696
+ cursor: pointer;
697
+ display: flex;
698
+ align-items: center;
699
+ height: 29px;
700
+ > span {
701
+ padding-left: 10px;
702
+ width: calc(100% - 10px);
703
+ height: 100%;
704
+ overflow: hidden;
705
+ display: flex;
706
+ align-items: center;
707
+ }
708
+ }
709
+ .el-popper {
710
+ min-width: 264px;
711
+ }
712
+
713
+ .el-tree-node__content:hover {
714
+ background-color: rgba(0, 122, 255, 0.1) !important;
715
+ }
716
+ .input-icon {
717
+ width: 25px;
718
+ text-align: center;
719
+ cursor: pointer;
720
+ &.up {
721
+ transform: rotateZ(-180deg);
722
+ transition: 0.3s;
723
+ }
724
+ &.down {
725
+ transition: rotateZ(0deg);
726
+ transition: 0.3s;
727
+ }
728
+ }
729
+ }
730
+ </style>