n20-common-lib 1.2.46 → 1.3.2

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 (316) hide show
  1. package/package.json +17 -2
  2. package/src/assets/css/_coreLib.scss +1 -0
  3. package/src/assets/css/alert.scss +31 -0
  4. package/src/assets/css/cl-anchor.scss +18 -9
  5. package/src/assets/css/cl-approve-card.scss +12 -2
  6. package/src/assets/css/cl-dialog.scss +16 -1
  7. package/src/assets/css/cl-drag-list.scss +4 -2
  8. package/src/assets/css/cl-expandable-pane.scss +15 -3
  9. package/src/assets/css/cl-expandable.scss +5 -2
  10. package/src/assets/css/cl-file-upload-table.scss +22 -1
  11. package/src/assets/css/cl-form-item.scss +102 -8
  12. package/src/assets/css/cl-message.scss +87 -2
  13. package/src/assets/css/cl-pagination.scss +3 -1
  14. package/src/assets/css/cl-showcolumn.scss +18 -1
  15. package/src/assets/css/cl-statis.scss +14 -1
  16. package/src/assets/css/cl-tertiary-tab.scss +4 -2
  17. package/src/assets/css/cl-upload.scss +7 -0
  18. package/src/assets/css/el-button.scss +24 -9
  19. package/src/assets/css/el-table.scss +18 -0
  20. package/src/assets/css/element.dev.scss +1 -0
  21. package/src/assets/css/font-icon.scss +0 -1
  22. package/src/assets/css/normalize.scss +6 -6
  23. package/src/assets/css/plain-text.scss +138 -0
  24. package/src/assets/css/title-pop.scss +20 -1
  25. package/src/assets/svg/404.svg +1 -0
  26. package/src/assets/svg/addFile.svg +32 -0
  27. package/src/assets/svg/bug.svg +1 -0
  28. package/src/assets/svg/chart.svg +1 -0
  29. package/src/assets/svg/clipboard.svg +1 -0
  30. package/src/assets/svg/component.svg +1 -0
  31. package/src/assets/svg/dashboard.svg +1 -0
  32. package/src/assets/svg/deleteFile.svg +28 -0
  33. package/src/assets/svg/documentation.svg +1 -0
  34. package/src/assets/svg/drag.svg +1 -0
  35. package/src/assets/svg/edit.svg +1 -0
  36. package/src/assets/svg/education.svg +1 -0
  37. package/src/assets/svg/email.svg +1 -0
  38. package/src/assets/svg/example.svg +1 -0
  39. package/src/assets/svg/excel.svg +1 -0
  40. package/src/assets/svg/exit-fullscreen.svg +1 -0
  41. package/src/assets/svg/eye-open.svg +1 -0
  42. package/src/assets/svg/eye.svg +1 -0
  43. package/src/assets/svg/favorite.svg +1 -0
  44. package/src/assets/svg/favorite_active.svg +1 -0
  45. package/src/assets/svg/favorite_x400.svg +1 -0
  46. package/src/assets/svg/favorite_x400_active.svg +1 -0
  47. package/src/assets/svg/favorite_x400_blank.svg +1 -0
  48. package/src/assets/svg/filter.svg +16 -0
  49. package/src/assets/svg/filter@2x.png +0 -0
  50. package/src/assets/svg/filterActive.svg +16 -0
  51. package/src/assets/svg/filterClose@2x.png +0 -0
  52. package/src/assets/svg/form.svg +1 -0
  53. package/src/assets/svg/fullscreen.svg +1 -0
  54. package/src/assets/svg/guide.svg +1 -0
  55. package/src/assets/svg/hourglass.svg +19 -0
  56. package/src/assets/svg/icon.svg +1 -0
  57. package/src/assets/svg/international.svg +1 -0
  58. package/src/assets/svg/language.svg +1 -0
  59. package/src/assets/svg/left-dis.svg +1 -0
  60. package/src/assets/svg/left.svg +1 -0
  61. package/src/assets/svg/link.svg +1 -0
  62. package/src/assets/svg/list.svg +1 -0
  63. package/src/assets/svg/lock.svg +1 -0
  64. package/src/assets/svg/message-t.svg +1 -0
  65. package/src/assets/svg/money.svg +1 -0
  66. package/src/assets/svg/money3.svg +1 -0
  67. package/src/assets/svg/money4.svg +1 -0
  68. package/src/assets/svg/moneyTwo.svg +1 -0
  69. package/src/assets/svg/msg_white.svg +1 -0
  70. package/src/assets/svg/nested.svg +1 -0
  71. package/src/assets/svg/newsearch.svg +19 -0
  72. package/src/assets/svg/password.svg +1 -0
  73. package/src/assets/svg/pdf.svg +1 -0
  74. package/src/assets/svg/people.svg +1 -0
  75. package/src/assets/svg/peoples.svg +1 -0
  76. package/src/assets/svg/phone.svg +1 -0
  77. package/src/assets/svg/phone_msg.svg +1 -0
  78. package/src/assets/svg/qq.svg +1 -0
  79. package/src/assets/svg/right-dis.svg +1 -0
  80. package/src/assets/svg/right.svg +1 -0
  81. package/src/assets/svg/search.svg +1 -0
  82. package/src/assets/svg/searchActive.svg +19 -0
  83. package/src/assets/svg/shopping.svg +1 -0
  84. package/src/assets/svg/size.svg +1 -0
  85. package/src/assets/svg/skill.svg +1 -0
  86. package/src/assets/svg/star.svg +1 -0
  87. package/src/assets/svg/steam.svg +1 -0
  88. package/src/assets/svg/tab.svg +1 -0
  89. package/src/assets/svg/table.svg +1 -0
  90. package/src/assets/svg/theme.svg +1 -0
  91. package/src/assets/svg/tree-table.svg +1 -0
  92. package/src/assets/svg/tree.svg +1 -0
  93. package/src/assets/svg/user.svg +1 -0
  94. package/src/assets/svg/wechat.svg +1 -0
  95. package/src/assets/svg/z-left-2-dis.svg +1 -0
  96. package/src/assets/svg/z-left-2.svg +1 -0
  97. package/src/assets/svg/z-right-2-dis.svg +1 -0
  98. package/src/assets/svg/z-right-2.svg +1 -0
  99. package/src/assets/svg/z-right.svg +1 -0
  100. package/src/assets/svg/zip.svg +1 -0
  101. package/src/components/ApprovalButtons/index.vue +16 -9
  102. package/src/components/ApprovalCard/index.vue +18 -14
  103. package/src/components/Button/button-group.vue +52 -48
  104. package/src/components/Button/icon-group-button.vue +2 -0
  105. package/src/components/ChildRange/index.vue +202 -0
  106. package/src/components/ECharts/define.js +74 -0
  107. package/src/components/ECharts/index.vue +163 -0
  108. package/src/components/ECharts/mixins/resize.js +56 -0
  109. package/src/components/Empty/img/400.svg +102 -0
  110. package/src/components/Empty/img/401.svg +102 -0
  111. package/src/components/Empty/img/403.svg +102 -0
  112. package/src/components/Empty/img/405.svg +102 -0
  113. package/src/components/Empty/img/901.svg +96 -0
  114. package/src/components/Empty/img/902.svg +96 -0
  115. package/src/components/Empty/img/903.svg +96 -0
  116. package/src/components/Empty/img/904.svg +96 -0
  117. package/src/components/Empty/img/905.svg +96 -0
  118. package/src/components/Empty/img/906.svg +96 -0
  119. package/src/components/Empty/img/907.svg +96 -0
  120. package/src/components/Empty/index.vue +55 -0
  121. package/src/components/Expandable/main.vue +4 -1
  122. package/src/components/FileImport/index.vue +201 -0
  123. package/src/components/FileUploadTable/index.vue +15 -10
  124. package/src/components/Filters/index.vue +2 -2
  125. package/src/components/Filters/indexO.vue +1 -1
  126. package/src/components/InputSearch/index.vue +1 -1
  127. package/src/components/LoginTemporary/index.vue +3 -3
  128. package/src/components/NstcG6Components/Calendar/index.js +8 -0
  129. package/src/components/NstcG6Components/Calendar/src/basic/month-table.vue +129 -0
  130. package/src/components/NstcG6Components/Calendar/src/basic/year-table.vue +126 -0
  131. package/src/components/NstcG6Components/Calendar/src/main.vue +442 -0
  132. package/src/components/NstcG6Components/DialogForm/index.js +8 -0
  133. package/src/components/NstcG6Components/DialogForm/src/demo/index.vue +56 -0
  134. package/src/components/NstcG6Components/DialogForm/src/main.vue +189 -0
  135. package/src/components/NstcG6Components/Form/A_DEMO/component/originalForm.vue +281 -0
  136. package/src/components/NstcG6Components/Form/A_DEMO/config/config_3.js +1222 -0
  137. package/src/components/NstcG6Components/Form/A_DEMO/index.vue +803 -0
  138. package/src/components/NstcG6Components/Form/AutocompleteCustom/index.vue +72 -0
  139. package/src/components/NstcG6Components/Form/BusinessSpecific/InputMultiple.vue +191 -0
  140. package/src/components/NstcG6Components/Form/BusinessSpecific/InputWithUnit.vue +128 -0
  141. package/src/components/NstcG6Components/Form/BusinessSpecific/SelectTreeDialog.vue +233 -0
  142. package/src/components/NstcG6Components/Form/BusinessSpecific/readme.md +7 -0
  143. package/src/components/NstcG6Components/Form/CascaderCustom/index.vue +101 -0
  144. package/src/components/NstcG6Components/Form/CheckboxCustom/index.vue +84 -0
  145. package/src/components/NstcG6Components/Form/Component.vue +661 -0
  146. package/src/components/NstcG6Components/Form/ComponentSecond.vue +650 -0
  147. package/src/components/NstcG6Components/Form/DatepickerCustom/index.vue +130 -0
  148. package/src/components/NstcG6Components/Form/InputAndDialog/index.js +15 -0
  149. package/src/components/NstcG6Components/Form/InputAndDialog/src/main.vue +395 -0
  150. package/src/components/NstcG6Components/Form/InputCustom/demo/index.vue +65 -0
  151. package/src/components/NstcG6Components/Form/InputCustom/index.vue +307 -0
  152. package/src/components/NstcG6Components/Form/IntervalinputCustom/demo/index.vue +31 -0
  153. package/src/components/NstcG6Components/Form/IntervalinputCustom/index.vue +118 -0
  154. package/src/components/NstcG6Components/Form/Item.vue +330 -0
  155. package/src/components/NstcG6Components/Form/ItemSecond.vue +269 -0
  156. package/src/components/NstcG6Components/Form/List.vue +146 -0
  157. package/src/components/NstcG6Components/Form/ListSecond.vue +130 -0
  158. package/src/components/NstcG6Components/Form/RadioCustom/index.vue +73 -0
  159. package/src/components/NstcG6Components/Form/SelectAccount/index.js +15 -0
  160. package/src/components/NstcG6Components/Form/SelectAccount/src/demo/index.vue +58 -0
  161. package/src/components/NstcG6Components/Form/SelectAccount/src/main.vue +283 -0
  162. package/src/components/NstcG6Components/Form/SelectAndDialog/index.js +15 -0
  163. package/src/components/NstcG6Components/Form/SelectAndDialog/src/main.vue +384 -0
  164. package/src/components/NstcG6Components/Form/SelectCashFlow/index.js +15 -0
  165. package/src/components/NstcG6Components/Form/SelectCashFlow/src/demo/index.vue +42 -0
  166. package/src/components/NstcG6Components/Form/SelectCashFlow/src/main.vue +126 -0
  167. package/src/components/NstcG6Components/Form/SelectCustom/demo/index.vue +82 -0
  168. package/src/components/NstcG6Components/Form/SelectCustom/index.vue +488 -0
  169. package/src/components/NstcG6Components/Form/SelectSubject/index.js +15 -0
  170. package/src/components/NstcG6Components/Form/SelectSubject/src/demo/index.vue +85 -0
  171. package/src/components/NstcG6Components/Form/SelectSubject/src/main.vue +182 -0
  172. package/src/components/NstcG6Components/Form/SelectindialogCustom/demo/index.vue +188 -0
  173. package/src/components/NstcG6Components/Form/SelectindialogCustom/index.vue +650 -0
  174. package/src/components/NstcG6Components/Form/SelectindialogCustom/install.js +7 -0
  175. package/src/components/NstcG6Components/Form/TableRadioCustom/demo/index.vue +53 -0
  176. package/src/components/NstcG6Components/Form/TableRadioCustom/index.vue +183 -0
  177. package/src/components/NstcG6Components/Form/TextCustom/index.vue +38 -0
  178. package/src/components/NstcG6Components/Form/UploadCustom/demo/index.vue +31 -0
  179. package/src/components/NstcG6Components/Form/UploadCustom/iconxitongshezhi-yichu.png +0 -0
  180. package/src/components/NstcG6Components/Form/UploadCustom/index.vue +506 -0
  181. package/src/components/NstcG6Components/Form/configs.js +191 -0
  182. package/src/components/NstcG6Components/Form/configsSecond.js +161 -0
  183. package/src/components/NstcG6Components/Form/index.js +8 -0
  184. package/src/components/NstcG6Components/Form/index.scss +29 -0
  185. package/src/components/NstcG6Components/Form/payeePersonSelect/index.js +15 -0
  186. package/src/components/NstcG6Components/Form/payeePersonSelect/src/demo/index.vue +164 -0
  187. package/src/components/NstcG6Components/Form/payeePersonSelect/src/main.vue +185 -0
  188. package/src/components/NstcG6Components/Form/readme.txt +4 -0
  189. package/src/components/NstcG6Components/FormGroup/index.js +8 -0
  190. package/src/components/NstcG6Components/FormGroup/src/demo/config.js +23 -0
  191. package/src/components/NstcG6Components/FormGroup/src/demo/index.vue +85 -0
  192. package/src/components/NstcG6Components/FormGroup/src/main.vue +639 -0
  193. package/src/components/NstcG6Components/FormGroup/src/validate.js +23 -0
  194. package/src/components/NstcG6Components/InputTag/InputTag.vue +270 -0
  195. package/src/components/NstcG6Components/NstcApprovel/NstcApprovel.vue +25 -0
  196. package/src/components/NstcG6Components/NstcBackToTop/NstcBackToTop.vue +150 -0
  197. package/src/components/NstcG6Components/NstcBranchLazyLoad/NstcBranchLazyLoad.vue +119 -0
  198. package/src/components/NstcG6Components/NstcCharts/NstcCharts.vue +162 -0
  199. package/src/components/NstcG6Components/NstcCharts/define.js +74 -0
  200. package/src/components/NstcG6Components/NstcCharts/mixins/resize.js +56 -0
  201. package/src/components/NstcG6Components/NstcConfirm/NstcConfirm.vue +153 -0
  202. package/src/components/NstcG6Components/NstcConfirm/index.js +25 -0
  203. package/src/components/NstcG6Components/NstcDialog/NstcDialog.vue +185 -0
  204. package/src/components/NstcG6Components/NstcDialogForm/NstcDialogForm.vue +176 -0
  205. package/src/components/NstcG6Components/NstcDialogTable/NstcDialogTable.vue +282 -0
  206. package/src/components/NstcG6Components/NstcDropdown/NstcDropdown.vue +52 -0
  207. package/src/components/NstcG6Components/NstcDropdownTree/NstcDropdownTree.vue +392 -0
  208. package/src/components/NstcG6Components/NstcElectronicFile/NstcElectronicFile.vue +591 -0
  209. package/src/components/NstcG6Components/NstcExcelCustomImport/NstcExcelCustomImport.vue +475 -0
  210. package/src/components/NstcG6Components/NstcExcelCustomImport/img/upload@2x.png +0 -0
  211. package/src/components/NstcG6Components/NstcExcelExport/NstcExcelExport.vue +145 -0
  212. package/src/components/NstcG6Components/NstcExcelImport/NstcExcelImport.vue +1051 -0
  213. package/src/components/NstcG6Components/NstcExcelImport/img/upload@2x.png +0 -0
  214. package/src/components/NstcG6Components/NstcExcelImportN/NstcExcelImportN.vue +1168 -0
  215. package/src/components/NstcG6Components/NstcExpandCollapse/NstcExpandCollapse.vue +130 -0
  216. package/src/components/NstcG6Components/NstcExpandCollapse/index.scss +77 -0
  217. package/src/components/NstcG6Components/NstcFileUpload/NstcFileUpload.vue +1011 -0
  218. package/src/components/NstcG6Components/NstcFileUpload/img/addFile.svg +32 -0
  219. package/src/components/NstcG6Components/NstcFileUpload/img/delete.svg +24 -0
  220. package/src/components/NstcG6Components/NstcFileUpload/img/deleteFile.svg +28 -0
  221. package/src/components/NstcG6Components/NstcFileUpload/img/download.svg +24 -0
  222. package/src/components/NstcG6Components/NstcFileUpload/img/inputUpload.svg +30 -0
  223. package/src/components/NstcG6Components/NstcFileUpload/img/look-diabled.svg +24 -0
  224. package/src/components/NstcG6Components/NstcFileUpload/img/look.svg +24 -0
  225. package/src/components/NstcG6Components/NstcForm/A_DEMO/component/originalForm.vue +281 -0
  226. package/src/components/NstcG6Components/NstcForm/A_DEMO/config/config_3.js +1222 -0
  227. package/src/components/NstcG6Components/NstcForm/A_DEMO/index.vue +796 -0
  228. package/src/components/NstcG6Components/NstcForm/AutocompleteCustom/index.vue +68 -0
  229. package/src/components/NstcG6Components/NstcForm/BusinessSpecific/InputMultiple.vue +191 -0
  230. package/src/components/NstcG6Components/NstcForm/BusinessSpecific/InputWithUnit.vue +128 -0
  231. package/src/components/NstcG6Components/NstcForm/BusinessSpecific/SelectTreeDialog.vue +233 -0
  232. package/src/components/NstcG6Components/NstcForm/BusinessSpecific/readme.md +7 -0
  233. package/src/components/NstcG6Components/NstcForm/CascaderCustom/index.vue +101 -0
  234. package/src/components/NstcG6Components/NstcForm/CheckboxCustom/index.vue +84 -0
  235. package/src/components/NstcG6Components/NstcForm/Component.vue +684 -0
  236. package/src/components/NstcG6Components/NstcForm/ComponentSecond.vue +650 -0
  237. package/src/components/NstcG6Components/NstcForm/DatepickerCustom/index.vue +130 -0
  238. package/src/components/NstcG6Components/NstcForm/InputAndDialog/NstcInputAndDialog.vue +389 -0
  239. package/src/components/NstcG6Components/NstcForm/InputCustom/index.vue +314 -0
  240. package/src/components/NstcG6Components/NstcForm/IntervalInputCustom/index.vue +116 -0
  241. package/src/components/NstcG6Components/NstcForm/Item.vue +327 -0
  242. package/src/components/NstcG6Components/NstcForm/ItemSecond.vue +269 -0
  243. package/src/components/NstcG6Components/NstcForm/List.vue +146 -0
  244. package/src/components/NstcG6Components/NstcForm/ListSecond.vue +130 -0
  245. package/src/components/NstcG6Components/NstcForm/RadioCustom/index.vue +73 -0
  246. package/src/components/NstcG6Components/NstcForm/SelectAccount/NstcSelectAccount.vue +334 -0
  247. package/src/components/NstcG6Components/NstcForm/SelectAndDialog/NstcSelectAndDialog.vue +382 -0
  248. package/src/components/NstcG6Components/NstcForm/SelectCashFlow/NstcSelectCashFlow.vue +123 -0
  249. package/src/components/NstcG6Components/NstcForm/SelectCustom/index.vue +460 -0
  250. package/src/components/NstcG6Components/NstcForm/SelectSubject/NstcSelectSubject.vue +185 -0
  251. package/src/components/NstcG6Components/NstcForm/SelectindialogCustom/index.vue +650 -0
  252. package/src/components/NstcG6Components/NstcForm/TableRadioCustom/index.vue +183 -0
  253. package/src/components/NstcG6Components/NstcForm/TextCustom/index.vue +38 -0
  254. package/src/components/NstcG6Components/NstcForm/UploadCustom/iconxitongshezhi-yichu.png +0 -0
  255. package/src/components/NstcG6Components/NstcForm/UploadCustom/index.vue +483 -0
  256. package/src/components/NstcG6Components/NstcForm/configs.js +191 -0
  257. package/src/components/NstcG6Components/NstcForm/configsSecond.js +161 -0
  258. package/src/components/NstcG6Components/NstcForm/index.js +8 -0
  259. package/src/components/NstcG6Components/NstcForm/index.scss +29 -0
  260. package/src/components/NstcG6Components/NstcForm/payeePersonSelect/NstcPayeePerson.vue +188 -0
  261. package/src/components/NstcG6Components/NstcForm/readme.txt +4 -0
  262. package/src/components/NstcG6Components/NstcPagination/NstcPagination.vue +430 -0
  263. package/src/components/NstcG6Components/NstcPagination/setPageNum.png +0 -0
  264. package/src/components/NstcG6Components/NstcPagination/setpagedefault.png +0 -0
  265. package/src/components/NstcG6Components/NstcScreenFull/NstcScreenFull.vue +70 -0
  266. package/src/components/NstcG6Components/NstcSelectTree/NstcSelectTree.vue +729 -0
  267. package/src/components/NstcG6Components/NstcSelectTreeList/NstcSelectTreeList.vue +676 -0
  268. package/src/components/NstcG6Components/NstcSticky/NstcSticky.vue +97 -0
  269. package/src/components/NstcG6Components/NstcSvgIcon/NstcSvgIcon.vue +77 -0
  270. package/src/components/NstcG6Components/NstcTab/NstcTab.vue +80 -0
  271. package/src/components/NstcG6Components/NstcTabWithBadge/NstcTabWithBadge.vue +45 -0
  272. package/src/components/NstcG6Components/NstcTabWithBadge/index.scss +31 -0
  273. package/src/components/NstcG6Components/NstcTable/ElTableColumnCustom/index.vue +292 -0
  274. package/src/components/NstcG6Components/NstcTable/NstcTable.vue +460 -0
  275. package/src/components/NstcG6Components/NstcTableSet/NstcTableSet.vue +801 -0
  276. package/src/components/NstcG6Components/NstcThemePicker/NstcThemePicker.vue +186 -0
  277. package/src/components/NstcG6Components/NstcUploadCustomExcel/NstcUploadCustomExcel.vue +330 -0
  278. package/src/components/NstcG6Components/NstcUploadExcel/NstcUploadExcel.vue +145 -0
  279. package/src/components/NstcG6Components/NstcWorkBench/NstcWorkBench.vue +167 -0
  280. package/src/components/NstcG6Components/Search/NstcSearch.vue +591 -0
  281. package/src/components/NstcG6Components/Search/src/demo/index copy.vue +101 -0
  282. package/src/components/NstcG6Components/Search/src/demo/index.vue +103 -0
  283. package/src/components/NstcG6Components/Search/src/main copy.vue +607 -0
  284. package/src/components/NstcG6Components/approvelTwo/main.vue +220 -0
  285. package/src/components/NstcG6Components/approvelTwo/progress.vue +154 -0
  286. package/src/components/PageHeader/index.vue +80 -0
  287. package/src/components/PlainText/PlainTextItem.vue +17 -0
  288. package/src/components/PlainText/index.vue +12 -0
  289. package/src/components/Search/index.vue +593 -0
  290. package/src/components/SelectTree/index.vue +1 -0
  291. package/src/components/ShowColumn/index.vue +1 -1
  292. package/src/components/Stamp/images/accounts.png +0 -0
  293. package/src/components/Stamp/images/cancellation.png +0 -0
  294. package/src/components/Stamp/images/clinch.png +0 -0
  295. package/src/components/Stamp/images/conclude.png +0 -0
  296. package/src/components/Stamp/images/efficacy.png +0 -0
  297. package/src/components/Stamp/images/termination.png +0 -0
  298. package/src/components/Stamp/index.vue +75 -0
  299. package/src/components/Statis/statisPopover.vue +1 -0
  300. package/src/components/Table/ThSelectHeader.vue +133 -0
  301. package/src/components/Table/index.vue +53 -3
  302. package/src/components/Upload/index.vue +6 -2
  303. package/src/directives/VCopy/index.js +60 -0
  304. package/src/directives/VNstcNumber/index.js +14 -0
  305. package/src/directives/VNstcNumber/temp.js +446 -0
  306. package/src/index.js +28 -1
  307. package/src/utils/dateAndValidator.js +629 -0
  308. package/src/utils/debounce.js +40 -0
  309. package/src/utils/mapper_aims.js +810 -0
  310. package/src/utils/parseTime.js +48 -0
  311. package/src/utils/validate/index.js +7 -0
  312. package/src/utils/vendor/Export2Excel.js +229 -0
  313. package/src/utils/vendor/Export2Zip.js +24 -0
  314. package/src/utils/vue-bus.js +5 -0
  315. package/style/index.css +1 -1
  316. package/style/index.css.map +1 -1
@@ -0,0 +1,676 @@
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
+ :props="defaultProps"
24
+ :node-key="nodeKey"
25
+ :check-strictly="checkStrictly"
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 input-w"
53
+ :props="tagProps"
54
+ @clearFilterText="clearFilterText"
55
+ @input-value="
56
+ (val) => {
57
+ filterText = val
58
+ inputChange()
59
+ }
60
+ "
61
+ />
62
+ <!-- :suffix-icon="!changeSuffix ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" -->
63
+ <el-input
64
+ v-else-if="iconType === 'drop'"
65
+ :ref="inputRefName"
66
+ slot="reference"
67
+ v-model="filterText"
68
+ :placeholder="placeholder || '请选择'"
69
+ :disabled="disabled"
70
+ :style="{ width: inputWidth }"
71
+ :class="({ 'nstc-input-small': size === 'small' }, 'input-w')"
72
+ v-bind="$attrs"
73
+ @input="inputChange"
74
+ @blur="clearFilterText"
75
+ @focus="inputFocus"
76
+ @change="inputChangeAction"
77
+ @mouseenter.native="isHover = true"
78
+ @mouseleave.native="isHover = false"
79
+ v-on="$listeners"
80
+ >
81
+ <span
82
+ v-if="
83
+ clearable &&
84
+ (disabled ? false : checkedValue && (changeSuffix || isHover))
85
+ "
86
+ slot="suffix"
87
+ class="input-icon el-icon-circle-close"
88
+ @click.stop="clear"
89
+ ></span>
90
+ <span
91
+ v-else
92
+ slot="suffix"
93
+ class="input-icon el-icon-arrow-down"
94
+ :class="[changeSuffix ? 'up' : 'down']"
95
+ ></span>
96
+ </el-input>
97
+ <el-input
98
+ v-else
99
+ :ref="inputRefName"
100
+ slot="reference"
101
+ v-model="filterText"
102
+ :disabled="disabled"
103
+ suffix-icon="el-icon-search"
104
+ :placeholder="placeholder"
105
+ :style="{ width: inputWidth }"
106
+ :class="({ 'nstc-input-small': size === 'small' }, 'input-w')"
107
+ :clearable="clearable"
108
+ v-bind="$attrs"
109
+ @input="inputChange"
110
+ @blur="clearFilterText"
111
+ @focus="inputFocus"
112
+ @change="inputChangeAction"
113
+ v-on="$listeners"
114
+ />
115
+ <!-- <i class="el-icon-arrow-down" /> -->
116
+ </el-popover>
117
+ </div>
118
+ </template>
119
+
120
+ <script>
121
+ import axios from '@/utils/axios'
122
+ // import InputTag from "../../InputTag/index";
123
+ import clickoutside from 'element-ui/src/utils/clickoutside'
124
+ export default {
125
+ name: 'NstcSelectTreeList', // 单位按树模块查询
126
+ components: {
127
+ // InputTag,
128
+ },
129
+ directives: {
130
+ clickoutside
131
+ },
132
+ props: {
133
+ value: {
134
+ type: [String, Number, Array, Object],
135
+ default: () => {
136
+ return ''
137
+ }
138
+ },
139
+
140
+ lazy: {
141
+ type: Boolean,
142
+ default: false
143
+ },
144
+
145
+ inputWidth: {
146
+ type: String,
147
+ default: ''
148
+ },
149
+
150
+ multiple: {
151
+ type: Boolean,
152
+ default: false
153
+ },
154
+
155
+ url: {
156
+ type: [String, Object],
157
+ default: ''
158
+ },
159
+
160
+ nodeKey: {
161
+ type: String,
162
+ default: 'id'
163
+ },
164
+
165
+ defaultProps: {
166
+ type: Object,
167
+ default: () => {
168
+ return {
169
+ children: 'children',
170
+ label: 'cashName'
171
+ }
172
+ }
173
+ },
174
+
175
+ tagProps: {
176
+ type: Object,
177
+ default: () => {
178
+ return {
179
+ label: 'label',
180
+ value: 'value'
181
+ }
182
+ }
183
+ },
184
+
185
+ params: {
186
+ type: Object,
187
+ default: () => {
188
+ return {}
189
+ }
190
+ },
191
+
192
+ queryKey: {
193
+ type: String,
194
+ default: 'query'
195
+ },
196
+
197
+ label: {
198
+ type: [String, Number],
199
+ default: ''
200
+ },
201
+
202
+ // 额外的查询参数
203
+ query: {
204
+ type: Object,
205
+ default: () => {
206
+ return {}
207
+ }
208
+ },
209
+
210
+ // 组件的大小
211
+ size: {
212
+ type: String,
213
+ default: () => {
214
+ return 'normal'
215
+ }
216
+ },
217
+ //是否添加 无
218
+ showNull: {
219
+ type: Boolean,
220
+ default: false
221
+ },
222
+ // 只能点击叶子节点
223
+ onlyClickLeaf: {
224
+ type: Boolean,
225
+ default: false
226
+ },
227
+ // 是否可清空
228
+ clearable: {
229
+ type: Boolean,
230
+ default: true
231
+ },
232
+ // 是否可清空
233
+ disabled: {
234
+ type: Boolean,
235
+ default: false
236
+ },
237
+ // 图标类型:搜索(任意)、下拉(drop)
238
+ iconType: {
239
+ type: String,
240
+ default: ''
241
+ },
242
+ disableUnclickLeaf: {
243
+ type: Boolean,
244
+ default: false
245
+ },
246
+ checkStrictly: {
247
+ //false:上下级节点有联动;true:上下级节点没有联动
248
+ type: Boolean,
249
+ default: false
250
+ }
251
+ },
252
+ data() {
253
+ return {
254
+ checkedValue: [],
255
+ isHover: false,
256
+ isFocus: false,
257
+ changeSuffix: false,
258
+ showPopoverFlag: false,
259
+ filterText: null,
260
+ treeData: [
261
+ // {
262
+ // unitName: "全部单位",
263
+ // unitNo: "",
264
+ // },
265
+ ],
266
+ treeRefName: '',
267
+ inputRefName: this.getRefName(),
268
+ queryFlag: true,
269
+ placeholder: '请选择',
270
+ windowEventFlag: false,
271
+ timeTemp: null,
272
+ treeDataAll: []
273
+ }
274
+ },
275
+ computed: {
276
+ _value: {
277
+ get() {
278
+ return this.value
279
+ },
280
+ set(val) {
281
+ this.checkedValue = val
282
+ this.$emit('input', val)
283
+ }
284
+ }
285
+ },
286
+ watch: {
287
+ label: {
288
+ handler(val) {
289
+ this.$nextTick(() => {
290
+ console.log(val, '999')
291
+ this.filterText = val
292
+ !val && (this.placeholder = null)
293
+ })
294
+ },
295
+ immediate: true,
296
+ deep: true
297
+ },
298
+ value: {
299
+ handler(val) {
300
+ if (['', null].includes(val)) {
301
+ this.filterText = null
302
+ this.placeholder = null
303
+ this.checkedValue = []
304
+ this.treeRefName && this.$refs[this.treeRefName].setCheckedKeys([])
305
+ } else {
306
+ this.$nextTick(() => {
307
+ if (typeof val === 'object') {
308
+ if (!Array.isArray(val)) {
309
+ this.filterText = val.label
310
+ } else {
311
+ this.checkedValue = this.value
312
+ const val = this.value.map((item) => item[this.nodeKey])
313
+ this.$refs[this.treeRefName].setCheckedKeys(val)
314
+ }
315
+ } else {
316
+ this.filterText = this.filterText || this.label
317
+ }
318
+ })
319
+ }
320
+ },
321
+ immediate: true
322
+ },
323
+ showPopoverFlag(val) {
324
+ if (val) {
325
+ const value = this.checkedValue === '' ? null : this.checkedValue
326
+ this.$refs[this.treeRefName].setCurrentKey(value)
327
+ this.treeData = this.treeDataAll
328
+ console.log(this.treeData)
329
+ }
330
+ }
331
+ },
332
+
333
+ created() {
334
+ //
335
+ this.treeRefName = this.getRefName()
336
+
337
+ // 默认加载一次
338
+ this.remoteMethod('first')
339
+
340
+ this.filterText = this.label
341
+
342
+ // 点击其他地方关闭关闭下拉
343
+ const that = this
344
+ document.documentElement.onclick = function () {
345
+ if (that.windowEventFlag) {
346
+ that.clearFilterText()
347
+ this.showPopoverFlag = false
348
+ }
349
+ }
350
+ },
351
+ mounted() {
352
+ // 关闭筛选弹窗中的二级popover
353
+ this.$bus.$on('closePopoverInSearch', () => {
354
+ this.showPopoverFlag = false
355
+ })
356
+ },
357
+ methods: {
358
+ clear() {
359
+ this.$emit('input', '')
360
+ this.filterText = null
361
+ this.placeholder = null
362
+ this.checkedValue = []
363
+ },
364
+ /**
365
+ * input 输入框变化事件
366
+ */
367
+ inputChange() {
368
+ const that = this
369
+ this.timeTemp && clearTimeout(that.timeTemp)
370
+ this.timeTemp = setTimeout(() => {
371
+ console.log('input change', this.filterText)
372
+ this.queryFlag && this.remoteMethod()
373
+ this.queryFlag = true
374
+ }, 300)
375
+ },
376
+
377
+ inputChangeAction(val) {
378
+ console.log('change')
379
+ this.$emit('inputChangeAction', val)
380
+ },
381
+
382
+ /**
383
+ * 本地模糊查询
384
+ */
385
+ filterNode(value, data) {
386
+ if (!value) return true
387
+ return data.label.indexOf(value) !== -1
388
+ },
389
+
390
+ /**
391
+ * 随机生成 formId
392
+ */
393
+ getRefName() {
394
+ return `ref_${new Date().getTime()}_${Math.random()
395
+ .toString()
396
+ .slice(5, 13)}`
397
+ },
398
+ /**
399
+ * 获取url
400
+ */
401
+ getUrl(type) {
402
+ let url = ''
403
+ let temp = ''
404
+ if (typeof this.url === 'string') {
405
+ temp = this.url.replaceAll('{', '').replaceAll('}', '')
406
+ temp = temp.split(',')
407
+ for (let i of temp) {
408
+ if (type && i.includes('urlTree')) {
409
+ url = i.split(':')[1]
410
+ break
411
+ }
412
+ if (!type && i.includes('urlList')) {
413
+ url = i.split(':')[1]
414
+ break
415
+ }
416
+ }
417
+ } else {
418
+ if (type) {
419
+ url = this.url.urlTree
420
+ } else {
421
+ url = this.url.urlList
422
+ }
423
+ }
424
+
425
+ return url
426
+ },
427
+ /**
428
+ * 远程查询
429
+ */
430
+ remoteMethod(type) {
431
+ const that = this
432
+ let url = ''
433
+ //担保的需求化,默认是树,搜索时为列表
434
+
435
+ if (this.filterText) {
436
+ url = this.getUrl(false)
437
+ } else {
438
+ url = this.getUrl(true)
439
+ }
440
+ console.log(this.url, url)
441
+ console.log(this.params, 'this.params', that.queryKey)
442
+ axios({
443
+ url: url,
444
+ method: 'post',
445
+ loading: false,
446
+ data: {
447
+ [that.queryKey]: type === 'first' ? '' : that.filterText,
448
+ ...that.params
449
+ }
450
+ })
451
+ .then((data) => {
452
+ console.log(data, 'data')
453
+ if (type === 'first') {
454
+ that.treeDataAll = data.list
455
+ ? data.list
456
+ : data.data
457
+ ? data.data
458
+ : data
459
+ }
460
+ that.treeData = data.list ? data.list : data.data ? data.data : data
461
+ if (that.showNull) {
462
+ let map = {
463
+ treeNo: '',
464
+ [this.defaultProps.label]: '全部单位',
465
+ [this.nodeKey]: ''
466
+ }
467
+ that.treeData.unshift(map)
468
+ }
469
+ if (this.multiple && this.onlyClickLeaf && this.disableUnclickLeaf) {
470
+ this.setOnlyLeafChecked(that.treeData)
471
+ }
472
+ that.$nextTick(() => {
473
+ that.$forceUpdate()
474
+ })
475
+ })
476
+ .catch(() => {})
477
+ },
478
+
479
+ /**
480
+ * 设置非叶子节点的不可选择
481
+ */
482
+ setOnlyLeafChecked(treeData) {
483
+ treeData.forEach((item) => {
484
+ if (item.children && item.children.length) {
485
+ item.disabled = true
486
+ this.setOnlyLeafChecked(item.children)
487
+ } else {
488
+ item.disabled = false
489
+ }
490
+ })
491
+ },
492
+
493
+ /**
494
+ * 树节点点击事件
495
+ * 回调参数: data, node, tree
496
+ */
497
+ treeNodeClick(data, node, tree) {
498
+ console.log(data)
499
+ if (!this.multiple) {
500
+ if (this.onlyClickLeaf && !node.isLeaf) return
501
+ if (this.defaultProps.disabled && !!data[this.defaultProps.disabled])
502
+ return
503
+ this.queryFlag = false
504
+
505
+ const k = this.defaultProps.label || 'label'
506
+ console.log(data, 'data', k, 'K')
507
+
508
+ this.filterText = data[k]
509
+ this.placeholder = this.filterText
510
+
511
+ this._value = data[this.nodeKey]
512
+
513
+ // 主动让input框失去交单
514
+ this.$refs[this.inputRefName].blur()
515
+ this.showPopoverFlag = false
516
+ this.$emit('treeNodeClick', data, node, tree)
517
+ }
518
+ },
519
+
520
+ /**
521
+ * 多选树 -- 只支持查询不支持回显
522
+ * 回调参数: data, node, tree
523
+ */
524
+ handleCheckChange(data, checked) {
525
+ console.log(data, checked)
526
+ this.queryFlag = false
527
+
528
+ // const k = this.defaultProps.label || "label";
529
+ // this.filterText = checkedKeys[k];
530
+ let newText = []
531
+ if (this.onlyClickLeaf && !this.checkStrictly) {
532
+ //如果是增加父子节点联动性并且只能点击子节点
533
+ checked['checkedNodes'].forEach((item) => {
534
+ checked['checkedKeys'].forEach((el) => {
535
+ if (item.unitNo === el && !item.children) {
536
+ newText.push(item.unitName)
537
+ }
538
+ })
539
+ })
540
+ } else {
541
+ checked['checkedNodes'].forEach((item) => {
542
+ checked['checkedKeys'].forEach((el) => {
543
+ if (item.unitNo === el) {
544
+ newText.push(item.unitName)
545
+ }
546
+ })
547
+ })
548
+ }
549
+ this.filterText = newText.toString()
550
+
551
+ this.placeholder = this.filterText
552
+
553
+ if (this.onlyClickLeaf && !this.checkStrictly) {
554
+ this._value = checked.checkedNodes
555
+ .filter((item) => {
556
+ return !item.children
557
+ })
558
+ .map((item) => {
559
+ return {
560
+ [this.nodeKey]: item[this.nodeKey],
561
+ [this.queryKey]: item[this.queryKey]
562
+ }
563
+ })
564
+ } else {
565
+ this._value = checked.checkedNodes.map((item) => {
566
+ return {
567
+ [this.nodeKey]: item[this.nodeKey],
568
+ [this.queryKey]: item[this.queryKey]
569
+ }
570
+ })
571
+ }
572
+
573
+ this.$emit('checkedClick', checked)
574
+ },
575
+
576
+ /**
577
+ * input框失去焦点
578
+ */
579
+ clearFilterText() {
580
+ this.changeSuffix = false
581
+ this.filterText = this.placeholder
582
+ this.placeholder = null
583
+ // this.showPopoverFlag = false;
584
+ this.$nextTick(() => {
585
+ this.$forceUpdate()
586
+ })
587
+ this.$emit('filterText', this.filterText)
588
+ },
589
+
590
+ /**
591
+ * input聚焦时
592
+ */
593
+ inputFocus() {
594
+ this.changeSuffix = true
595
+ if (this.filterText) {
596
+ this.timeTemp && clearTimeout(this.timeTemp)
597
+ this.windowEventFlag = false
598
+ this.placeholder = this.filterText
599
+ this.filterText = ''
600
+ this.queryFlag = true
601
+ } else {
602
+ this.remoteMethod()
603
+ }
604
+ },
605
+ onClickOutside() {
606
+ this.showPopoverFlag = false
607
+ }
608
+ }
609
+ }
610
+ </script>
611
+
612
+ <style lang="scss">
613
+ .custom-tree-node {
614
+ flex: 1;
615
+ }
616
+ .not-allow {
617
+ color: #ddd;
618
+ }
619
+ .not-allow:hover {
620
+ cursor: not-allowed;
621
+ }
622
+ .form-create-select-tree {
623
+ .input-tag > .el-select__tags:hover + .el-input > .el-input__inner {
624
+ border: 1px solid #007aff;
625
+ }
626
+ display: inline-block;
627
+ .el-input__suffix:hover {
628
+ cursor: pointer;
629
+ }
630
+ .select-tree-el-popover {
631
+ padding: 0;
632
+ overflow-y: auto;
633
+ }
634
+ .filter-tree {
635
+ padding: 12px;
636
+ }
637
+ .temp-input {
638
+ width: 100%;
639
+ border: 1px solid #ccc;
640
+ padding-right: 10px;
641
+ margin-right: 15px;
642
+ cursor: pointer;
643
+ display: flex;
644
+ align-items: center;
645
+ height: 29px;
646
+ > span {
647
+ padding-left: 10px;
648
+ width: calc(100% - 10px);
649
+ height: 100%;
650
+ overflow: hidden;
651
+ display: flex;
652
+ align-items: center;
653
+ }
654
+ }
655
+ .el-popper {
656
+ min-width: 264px;
657
+ }
658
+
659
+ .el-tree-node__content:hover {
660
+ background-color: rgba(0, 122, 255, 0.1) !important;
661
+ }
662
+ .input-icon {
663
+ width: 25px;
664
+ text-align: center;
665
+ cursor: pointer;
666
+ &.up {
667
+ transform: rotateZ(-180deg);
668
+ transition: 0.3s;
669
+ }
670
+ &.down {
671
+ transform: rotateZ(0deg);
672
+ transition: 0.3s;
673
+ }
674
+ }
675
+ }
676
+ </style>