n20-common-lib 1.3.4 → 1.3.7

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 (467) hide show
  1. package/README.md +2 -2
  2. package/g6.js +2 -197
  3. package/package.json +104 -104
  4. package/src/_qiankun/index.js +113 -113
  5. package/src/_qiankun/postMessage.js +48 -48
  6. package/src/assets/css/_coreLib.scss +36 -36
  7. package/src/assets/css/alert.scss +31 -31
  8. package/src/assets/css/cl-anchor.scss +32 -32
  9. package/src/assets/css/cl-approve-card.scss +67 -67
  10. package/src/assets/css/cl-dialog.scss +113 -113
  11. package/src/assets/css/cl-drag-list.scss +24 -24
  12. package/src/assets/css/cl-empty.scss +10 -10
  13. package/src/assets/css/cl-expandable-pane.scss +37 -37
  14. package/src/assets/css/cl-expandable.scss +26 -26
  15. package/src/assets/css/cl-file-upload-table.scss +31 -31
  16. package/src/assets/css/cl-filter.scss +4 -4
  17. package/src/assets/css/cl-flow-step.scss +185 -185
  18. package/src/assets/css/cl-footer-box.scss +10 -10
  19. package/src/assets/css/cl-form-item.scss +705 -705
  20. package/src/assets/css/cl-general-card.scss +11 -11
  21. package/src/assets/css/cl-layout-aside.scss +92 -92
  22. package/src/assets/css/cl-layout-content.scss +16 -16
  23. package/src/assets/css/cl-layout-header.scss +73 -73
  24. package/src/assets/css/cl-layout-tabs.scss +87 -87
  25. package/src/assets/css/cl-layout.scss +97 -97
  26. package/src/assets/css/cl-login-temporary.scss +37 -37
  27. package/src/assets/css/cl-message.scss +159 -159
  28. package/src/assets/css/cl-more-tab.scss +98 -98
  29. package/src/assets/css/cl-nav-menu.scss +5 -5
  30. package/src/assets/css/cl-pagination.scss +130 -130
  31. package/src/assets/css/cl-secondary-tab.scss +53 -53
  32. package/src/assets/css/cl-showcolumn.scss +39 -39
  33. package/src/assets/css/cl-sifting.scss +51 -51
  34. package/src/assets/css/cl-statis.scss +54 -54
  35. package/src/assets/css/cl-step.scss +73 -73
  36. package/src/assets/css/cl-suspend.scss +19 -19
  37. package/src/assets/css/cl-tertiary-tab.scss +56 -56
  38. package/src/assets/css/cl-upload.scss +47 -47
  39. package/src/assets/css/cl-worn-pagination.scss +50 -50
  40. package/src/assets/css/el-button.scss +188 -188
  41. package/src/assets/css/el-table.scss +96 -96
  42. package/src/assets/css/element-variables.scss +1061 -1061
  43. package/src/assets/css/element.dev.scss +22 -22
  44. package/src/assets/css/font-icon.scss +26 -26
  45. package/src/assets/css/index.dev.scss +4 -4
  46. package/src/assets/css/index.scss +11 -11
  47. package/src/assets/css/normalize.scss +726 -726
  48. package/src/assets/css/plain-text.scss +137 -137
  49. package/src/assets/css/rootvar.scss +139 -139
  50. package/src/assets/css/select.scss +25 -25
  51. package/src/assets/css/title-pop.scss +23 -23
  52. package/src/assets/getJsonc.js +50 -50
  53. package/src/assets/iconFont/demo.css +539 -539
  54. package/src/assets/iconFont/demo_index.html +1614 -1614
  55. package/src/assets/iconFont/iconfont.css +263 -263
  56. package/src/assets/iconFont/iconfont.json +443 -443
  57. package/src/assets/realUrl.js +12 -12
  58. package/src/components/Anchor/AnchorItem.vue +29 -29
  59. package/src/components/Anchor/index.vue +185 -185
  60. package/src/components/ApprovalButtons/index.vue +240 -240
  61. package/src/components/ApprovalCard/index.vue +132 -132
  62. package/src/components/ApprovalRecord/approvalImg.vue +44 -44
  63. package/src/components/ApprovalRecord/flowDialog.vue +50 -45
  64. package/src/components/ApprovalRecord/index.vue +59 -59
  65. package/src/components/Button/button-group.vue +154 -154
  66. package/src/components/Button/icon-group-button.vue +63 -63
  67. package/src/components/Button/index.vue +56 -56
  68. package/src/components/CascaderArea/index.vue +103 -103
  69. package/src/components/ChildRange/index.vue +201 -201
  70. package/src/components/ContentLoading/index.vue +41 -41
  71. package/src/components/ContentNull/index.vue +19 -19
  72. package/src/components/DatePicker/index.vue +27 -27
  73. package/src/components/DatePicker/por.vue +169 -169
  74. package/src/components/Dialog/index.vue +26 -26
  75. package/src/components/Dialog/indexO.vue +116 -116
  76. package/src/components/DragList/index.vue +75 -75
  77. package/src/components/ECharts/define.js +74 -74
  78. package/src/components/ECharts/index.vue +169 -163
  79. package/src/components/ECharts/mixins/resize.js +56 -56
  80. package/src/components/Empty/img/400.svg +101 -101
  81. package/src/components/Empty/img/401.svg +101 -101
  82. package/src/components/Empty/img/403.svg +101 -101
  83. package/src/components/Empty/img/405.svg +101 -101
  84. package/src/components/Empty/img/901.svg +95 -95
  85. package/src/components/Empty/img/902.svg +95 -95
  86. package/src/components/Empty/img/903.svg +95 -95
  87. package/src/components/Empty/img/904.svg +95 -95
  88. package/src/components/Empty/img/905.svg +95 -95
  89. package/src/components/Empty/img/906.svg +95 -95
  90. package/src/components/Empty/img/907.svg +95 -95
  91. package/src/components/Empty/img/abnormal.svg +108 -108
  92. package/src/components/Empty/img/dispose.svg +71 -71
  93. package/src/components/Empty/img/empty.svg +57 -57
  94. package/src/components/Empty/img/general.svg +58 -58
  95. package/src/components/Empty/img/lock.svg +57 -57
  96. package/src/components/Empty/img/network.svg +59 -59
  97. package/src/components/Empty/img/relevant.svg +68 -68
  98. package/src/components/Empty/img/search.svg +72 -72
  99. package/src/components/Empty/index.vue +147 -147
  100. package/src/components/Expandable/index.vue +49 -49
  101. package/src/components/Expandable/main.vue +55 -55
  102. package/src/components/FileExportAsync/index.vue +178 -178
  103. package/src/components/FileImport/index.vue +201 -201
  104. package/src/components/FileUploadTable/index.vue +489 -489
  105. package/src/components/Filters/index.vue +371 -371
  106. package/src/components/Filters/indexO.vue +104 -104
  107. package/src/components/FlowStep/index.vue +68 -68
  108. package/src/components/FooterBox/index.vue +21 -21
  109. package/src/components/GeneralCard/index.vue +15 -15
  110. package/src/components/InputNumber/index.vue +169 -169
  111. package/src/components/InputNumber/numberRange.vue +47 -47
  112. package/src/components/InputSearch/index.vue +75 -75
  113. package/src/components/Layout/AsideNav/index.vue +116 -120
  114. package/src/components/Layout/AsideNav/menuItem.vue +34 -34
  115. package/src/components/Layout/AsideNav/submenuTitle.vue +26 -26
  116. package/src/components/Layout/HeaderWrap/changePwd.vue +215 -215
  117. package/src/components/Layout/HeaderWrap/index.vue +371 -371
  118. package/src/components/Layout/HeaderWrap/noticePop.vue +316 -316
  119. package/src/components/Layout/SubContent/index.vue +127 -127
  120. package/src/components/Layout/TabsNav/index.vue +170 -170
  121. package/src/components/Layout/index.vue +518 -518
  122. package/src/components/Layout/utils.js +12 -12
  123. package/src/components/LoginTemporary/form.vue +566 -566
  124. package/src/components/LoginTemporary/index.vue +139 -139
  125. package/src/components/LoginTemporary/qrcode.vue +90 -90
  126. package/src/components/LoginTemporary/retrievePw.vue +372 -372
  127. package/src/components/LoginTemporary/utils.js +73 -73
  128. package/src/components/MicroApp/index.js +67 -67
  129. package/src/components/MicroFrame/index.vue +95 -95
  130. package/src/components/MoreTab/index.vue +232 -232
  131. package/src/components/NavMenu/index.vue +60 -60
  132. package/src/components/PageHeader/index.vue +79 -79
  133. package/src/components/PageLayout/page.vue +15 -15
  134. package/src/components/Pagination/index.vue +165 -165
  135. package/src/components/PlainText/PlainTextItem.vue +16 -16
  136. package/src/components/PlainText/index.vue +11 -11
  137. package/src/components/Search/index.vue +593 -593
  138. package/src/components/SecondaryTab/index.vue +58 -58
  139. package/src/components/SelectLazy/index.vue +75 -75
  140. package/src/components/SelectTree/SelectTreeLazy.vue +241 -241
  141. package/src/components/SelectTree/index.vue +206 -206
  142. package/src/components/ShowColumn/index.vue +213 -213
  143. package/src/components/Sifting/index.vue +99 -99
  144. package/src/components/Stamp/index.vue +75 -75
  145. package/src/components/Statis/index.vue +97 -97
  146. package/src/components/Statis/statisItem.vue +54 -54
  147. package/src/components/Statis/statisPopover.vue +56 -56
  148. package/src/components/Step/index.vue +38 -38
  149. package/src/components/Suspend/index.vue +72 -72
  150. package/src/components/Table/ThSelectHeader.vue +133 -133
  151. package/src/components/Table/index.vue +259 -259
  152. package/src/components/Table/indexO.vue +149 -149
  153. package/src/components/Task/index.vue +26 -26
  154. package/src/components/TertiaryTab/index.vue +63 -63
  155. package/src/components/TimePicker/index.vue +28 -28
  156. package/src/components/Upload/index.vue +246 -246
  157. package/src/components/WornPagination/index.vue +73 -73
  158. package/src/directives/VClickOutside/index.js +19 -19
  159. package/src/directives/VHas/index.js +58 -58
  160. package/src/directives/VMove/index.js +42 -42
  161. package/src/directives/VTitle/index.js +88 -69
  162. package/src/index.js +257 -259
  163. package/src/plugins/CompatibleOld/index.js +57 -57
  164. package/src/plugins/Print/index.js +4 -4
  165. package/src/plugins/Print/print-js/.babelrc +12 -12
  166. package/src/plugins/Print/print-js/LICENSE +21 -21
  167. package/src/plugins/Print/print-js/README.md +98 -98
  168. package/src/plugins/Print/print-js/dist/print.css +96 -96
  169. package/src/plugins/Print/print-js/dist/print.js +990 -990
  170. package/src/plugins/Print/print-js/package.json +60 -60
  171. package/src/plugins/Print/print-js/src/index.d.ts +45 -45
  172. package/src/plugins/Print/print-js/src/index.js +10 -10
  173. package/src/plugins/Print/print-js/src/js/browser.js +33 -33
  174. package/src/plugins/Print/print-js/src/js/functions.js +103 -103
  175. package/src/plugins/Print/print-js/src/js/html.js +70 -70
  176. package/src/plugins/Print/print-js/src/js/image.js +48 -48
  177. package/src/plugins/Print/print-js/src/js/init.js +168 -168
  178. package/src/plugins/Print/print-js/src/js/json.js +109 -109
  179. package/src/plugins/Print/print-js/src/js/modal.js +62 -62
  180. package/src/plugins/Print/print-js/src/js/pdf.js +62 -62
  181. package/src/plugins/Print/print-js/src/js/print.js +102 -102
  182. package/src/plugins/Print/print-js/src/js/raw-html.js +15 -15
  183. package/src/plugins/Print/print-js/src/sass/index.scss +13 -13
  184. package/src/plugins/Print/print-js/src/sass/modules/_colors.scss +9 -9
  185. package/src/plugins/Print/print-js/src/sass/partials/_modal.scss +40 -40
  186. package/src/plugins/Print/print-js/src/sass/partials/_spinner.scss +45 -45
  187. package/src/plugins/Print/print.js +2 -2
  188. package/src/plugins/Print/print.scss +1 -1
  189. package/src/plugins/SetMenuTree/index.vue +41 -41
  190. package/src/plugins/SetMenuTree/logoIcon.vue +37 -37
  191. package/src/plugins/SetMenuTree/setmenutree.vue +427 -427
  192. package/src/plugins/SetMenuTree/utils.js +74 -74
  193. package/src/plugins/Sign/InfosecNetSignCNGAgent.min.js +2000 -2000
  194. package/src/plugins/Sign/index.js +65 -65
  195. package/src/plugins/Sign/sign.js +1 -1
  196. package/src/plugins/setTabsForSub.js +2 -2
  197. package/src/utils/auth.js +53 -53
  198. package/src/utils/axios.js +203 -203
  199. package/src/utils/downloadBlob.js +19 -19
  200. package/src/utils/forEachs.js +16 -16
  201. package/src/utils/getScrollContainer.js +43 -43
  202. package/src/utils/i18n/cn2hk.json +1270 -1270
  203. package/src/utils/i18n/index.js +50 -50
  204. package/src/utils/list2tree.js +36 -36
  205. package/src/utils/mapper_aims.js +809 -809
  206. package/src/utils/msgboxPor.js +26 -26
  207. package/src/utils/print.js +161 -161
  208. package/src/utils/relaNo.js +72 -72
  209. package/src/utils/repairElementUI.js +95 -95
  210. package/src/utils/urlToGo.js +82 -82
  211. package/style/css/normalize.scss +726 -726
  212. package/style/index.css +3 -3
  213. package/style/pageDemo/demo-1.vue +131 -131
  214. package/style/pageDemo/demo-2.vue +35 -35
  215. package/style/pageDemo/demo-3.vue +22 -22
  216. package/style/pageDemo/seeCode.js +20 -20
  217. package/style/server-config.jsonc +606 -723
  218. package/src/assets/svg/404.svg +0 -1
  219. package/src/assets/svg/addFile.svg +0 -32
  220. package/src/assets/svg/bug.svg +0 -1
  221. package/src/assets/svg/chart.svg +0 -1
  222. package/src/assets/svg/clipboard.svg +0 -1
  223. package/src/assets/svg/component.svg +0 -1
  224. package/src/assets/svg/dashboard.svg +0 -1
  225. package/src/assets/svg/deleteFile.svg +0 -28
  226. package/src/assets/svg/documentation.svg +0 -1
  227. package/src/assets/svg/drag.svg +0 -1
  228. package/src/assets/svg/edit.svg +0 -1
  229. package/src/assets/svg/education.svg +0 -1
  230. package/src/assets/svg/email.svg +0 -1
  231. package/src/assets/svg/example.svg +0 -1
  232. package/src/assets/svg/excel.svg +0 -1
  233. package/src/assets/svg/exit-fullscreen.svg +0 -1
  234. package/src/assets/svg/eye-open.svg +0 -1
  235. package/src/assets/svg/eye.svg +0 -1
  236. package/src/assets/svg/favorite.svg +0 -1
  237. package/src/assets/svg/favorite_active.svg +0 -1
  238. package/src/assets/svg/favorite_x400.svg +0 -1
  239. package/src/assets/svg/favorite_x400_active.svg +0 -1
  240. package/src/assets/svg/favorite_x400_blank.svg +0 -1
  241. package/src/assets/svg/filter.svg +0 -16
  242. package/src/assets/svg/filter@2x.png +0 -0
  243. package/src/assets/svg/filterActive.svg +0 -16
  244. package/src/assets/svg/filterClose@2x.png +0 -0
  245. package/src/assets/svg/form.svg +0 -1
  246. package/src/assets/svg/fullscreen.svg +0 -1
  247. package/src/assets/svg/guide.svg +0 -1
  248. package/src/assets/svg/hourglass.svg +0 -19
  249. package/src/assets/svg/icon.svg +0 -1
  250. package/src/assets/svg/international.svg +0 -1
  251. package/src/assets/svg/language.svg +0 -1
  252. package/src/assets/svg/left-dis.svg +0 -1
  253. package/src/assets/svg/left.svg +0 -1
  254. package/src/assets/svg/link.svg +0 -1
  255. package/src/assets/svg/list.svg +0 -1
  256. package/src/assets/svg/lock.svg +0 -1
  257. package/src/assets/svg/message-t.svg +0 -1
  258. package/src/assets/svg/money.svg +0 -1
  259. package/src/assets/svg/money3.svg +0 -1
  260. package/src/assets/svg/money4.svg +0 -1
  261. package/src/assets/svg/moneyTwo.svg +0 -1
  262. package/src/assets/svg/msg_white.svg +0 -1
  263. package/src/assets/svg/nested.svg +0 -1
  264. package/src/assets/svg/newsearch.svg +0 -19
  265. package/src/assets/svg/password.svg +0 -1
  266. package/src/assets/svg/pdf.svg +0 -1
  267. package/src/assets/svg/people.svg +0 -1
  268. package/src/assets/svg/peoples.svg +0 -1
  269. package/src/assets/svg/phone.svg +0 -1
  270. package/src/assets/svg/phone_msg.svg +0 -1
  271. package/src/assets/svg/qq.svg +0 -1
  272. package/src/assets/svg/right-dis.svg +0 -1
  273. package/src/assets/svg/right.svg +0 -1
  274. package/src/assets/svg/search.svg +0 -1
  275. package/src/assets/svg/searchActive.svg +0 -19
  276. package/src/assets/svg/shopping.svg +0 -1
  277. package/src/assets/svg/size.svg +0 -1
  278. package/src/assets/svg/skill.svg +0 -1
  279. package/src/assets/svg/star.svg +0 -1
  280. package/src/assets/svg/steam.svg +0 -1
  281. package/src/assets/svg/tab.svg +0 -1
  282. package/src/assets/svg/table.svg +0 -1
  283. package/src/assets/svg/theme.svg +0 -1
  284. package/src/assets/svg/tree-table.svg +0 -1
  285. package/src/assets/svg/tree.svg +0 -1
  286. package/src/assets/svg/user.svg +0 -1
  287. package/src/assets/svg/wechat.svg +0 -1
  288. package/src/assets/svg/z-left-2-dis.svg +0 -1
  289. package/src/assets/svg/z-left-2.svg +0 -1
  290. package/src/assets/svg/z-right-2-dis.svg +0 -1
  291. package/src/assets/svg/z-right-2.svg +0 -1
  292. package/src/assets/svg/z-right.svg +0 -1
  293. package/src/assets/svg/zip.svg +0 -1
  294. package/src/components/.DS_Store +0 -0
  295. package/src/components/Empty/.DS_Store +0 -0
  296. package/src/components/Empty/img/.DS_Store +0 -0
  297. package/src/components/Layout/.DS_Store +0 -0
  298. package/src/components/NstcG6Components/.DS_Store +0 -0
  299. package/src/components/NstcG6Components/Calendar/index.js +0 -8
  300. package/src/components/NstcG6Components/Calendar/src/basic/month-table.vue +0 -129
  301. package/src/components/NstcG6Components/Calendar/src/basic/year-table.vue +0 -126
  302. package/src/components/NstcG6Components/Calendar/src/main.vue +0 -442
  303. package/src/components/NstcG6Components/DialogForm/index.js +0 -8
  304. package/src/components/NstcG6Components/DialogForm/src/demo/index.vue +0 -56
  305. package/src/components/NstcG6Components/DialogForm/src/main.vue +0 -189
  306. package/src/components/NstcG6Components/Form/A_DEMO/component/originalForm.vue +0 -281
  307. package/src/components/NstcG6Components/Form/A_DEMO/config/config_3.js +0 -1222
  308. package/src/components/NstcG6Components/Form/A_DEMO/index.vue +0 -803
  309. package/src/components/NstcG6Components/Form/AutocompleteCustom/index.vue +0 -72
  310. package/src/components/NstcG6Components/Form/BusinessSpecific/InputMultiple.vue +0 -191
  311. package/src/components/NstcG6Components/Form/BusinessSpecific/InputWithUnit.vue +0 -128
  312. package/src/components/NstcG6Components/Form/BusinessSpecific/SelectTreeDialog.vue +0 -233
  313. package/src/components/NstcG6Components/Form/BusinessSpecific/readme.md +0 -7
  314. package/src/components/NstcG6Components/Form/CascaderCustom/index.vue +0 -101
  315. package/src/components/NstcG6Components/Form/CheckboxCustom/index.vue +0 -84
  316. package/src/components/NstcG6Components/Form/Component.vue +0 -661
  317. package/src/components/NstcG6Components/Form/ComponentSecond.vue +0 -650
  318. package/src/components/NstcG6Components/Form/DatepickerCustom/index.vue +0 -130
  319. package/src/components/NstcG6Components/Form/InputAndDialog/index.js +0 -15
  320. package/src/components/NstcG6Components/Form/InputAndDialog/src/main.vue +0 -395
  321. package/src/components/NstcG6Components/Form/InputCustom/demo/index.vue +0 -65
  322. package/src/components/NstcG6Components/Form/InputCustom/index.vue +0 -307
  323. package/src/components/NstcG6Components/Form/IntervalinputCustom/demo/index.vue +0 -31
  324. package/src/components/NstcG6Components/Form/IntervalinputCustom/index.vue +0 -118
  325. package/src/components/NstcG6Components/Form/Item.vue +0 -330
  326. package/src/components/NstcG6Components/Form/ItemSecond.vue +0 -269
  327. package/src/components/NstcG6Components/Form/List.vue +0 -146
  328. package/src/components/NstcG6Components/Form/ListSecond.vue +0 -130
  329. package/src/components/NstcG6Components/Form/RadioCustom/index.vue +0 -73
  330. package/src/components/NstcG6Components/Form/SelectAccount/index.js +0 -15
  331. package/src/components/NstcG6Components/Form/SelectAccount/src/demo/index.vue +0 -58
  332. package/src/components/NstcG6Components/Form/SelectAccount/src/main.vue +0 -283
  333. package/src/components/NstcG6Components/Form/SelectAndDialog/index.js +0 -15
  334. package/src/components/NstcG6Components/Form/SelectAndDialog/src/main.vue +0 -384
  335. package/src/components/NstcG6Components/Form/SelectCashFlow/index.js +0 -15
  336. package/src/components/NstcG6Components/Form/SelectCashFlow/src/demo/index.vue +0 -42
  337. package/src/components/NstcG6Components/Form/SelectCashFlow/src/main.vue +0 -126
  338. package/src/components/NstcG6Components/Form/SelectCustom/demo/index.vue +0 -82
  339. package/src/components/NstcG6Components/Form/SelectCustom/index.vue +0 -488
  340. package/src/components/NstcG6Components/Form/SelectSubject/index.js +0 -15
  341. package/src/components/NstcG6Components/Form/SelectSubject/src/demo/index.vue +0 -85
  342. package/src/components/NstcG6Components/Form/SelectSubject/src/main.vue +0 -182
  343. package/src/components/NstcG6Components/Form/SelectindialogCustom/demo/index.vue +0 -188
  344. package/src/components/NstcG6Components/Form/SelectindialogCustom/index.vue +0 -650
  345. package/src/components/NstcG6Components/Form/SelectindialogCustom/install.js +0 -7
  346. package/src/components/NstcG6Components/Form/TableRadioCustom/demo/index.vue +0 -53
  347. package/src/components/NstcG6Components/Form/TableRadioCustom/index.vue +0 -183
  348. package/src/components/NstcG6Components/Form/TextCustom/index.vue +0 -38
  349. package/src/components/NstcG6Components/Form/UploadCustom/demo/index.vue +0 -31
  350. package/src/components/NstcG6Components/Form/UploadCustom/iconxitongshezhi-yichu.png +0 -0
  351. package/src/components/NstcG6Components/Form/UploadCustom/index.vue +0 -506
  352. package/src/components/NstcG6Components/Form/configs.js +0 -191
  353. package/src/components/NstcG6Components/Form/configsSecond.js +0 -161
  354. package/src/components/NstcG6Components/Form/index.js +0 -8
  355. package/src/components/NstcG6Components/Form/index.scss +0 -29
  356. package/src/components/NstcG6Components/Form/payeePersonSelect/index.js +0 -15
  357. package/src/components/NstcG6Components/Form/payeePersonSelect/src/demo/index.vue +0 -164
  358. package/src/components/NstcG6Components/Form/payeePersonSelect/src/main.vue +0 -185
  359. package/src/components/NstcG6Components/Form/readme.txt +0 -4
  360. package/src/components/NstcG6Components/FormGroup/index.js +0 -8
  361. package/src/components/NstcG6Components/FormGroup/src/demo/config.js +0 -23
  362. package/src/components/NstcG6Components/FormGroup/src/demo/index.vue +0 -85
  363. package/src/components/NstcG6Components/FormGroup/src/main.vue +0 -639
  364. package/src/components/NstcG6Components/FormGroup/src/validate.js +0 -23
  365. package/src/components/NstcG6Components/InputTag/InputTag.vue +0 -270
  366. package/src/components/NstcG6Components/NstcApprovel/NstcApprovel.vue +0 -25
  367. package/src/components/NstcG6Components/NstcBackToTop/NstcBackToTop.vue +0 -150
  368. package/src/components/NstcG6Components/NstcBranchLazyLoad/NstcBranchLazyLoad.vue +0 -123
  369. package/src/components/NstcG6Components/NstcCharts/NstcCharts.vue +0 -162
  370. package/src/components/NstcG6Components/NstcCharts/define.js +0 -74
  371. package/src/components/NstcG6Components/NstcCharts/mixins/resize.js +0 -56
  372. package/src/components/NstcG6Components/NstcConfirm/NstcConfirm.vue +0 -153
  373. package/src/components/NstcG6Components/NstcConfirm/index.js +0 -25
  374. package/src/components/NstcG6Components/NstcDialog/NstcDialog.vue +0 -185
  375. package/src/components/NstcG6Components/NstcDialogForm/NstcDialogForm.vue +0 -176
  376. package/src/components/NstcG6Components/NstcDialogTable/NstcDialogTable.vue +0 -282
  377. package/src/components/NstcG6Components/NstcDropdown/NstcDropdown.vue +0 -52
  378. package/src/components/NstcG6Components/NstcDropdownTree/NstcDropdownTree.vue +0 -396
  379. package/src/components/NstcG6Components/NstcElectronicFile/NstcElectronicFile.vue +0 -591
  380. package/src/components/NstcG6Components/NstcExcelCustomImport/NstcExcelCustomImport.vue +0 -475
  381. package/src/components/NstcG6Components/NstcExcelCustomImport/img/upload@2x.png +0 -0
  382. package/src/components/NstcG6Components/NstcExcelExport/NstcExcelExport.vue +0 -145
  383. package/src/components/NstcG6Components/NstcExcelImport/NstcExcelImport.vue +0 -1051
  384. package/src/components/NstcG6Components/NstcExcelImport/img/upload@2x.png +0 -0
  385. package/src/components/NstcG6Components/NstcExcelImportN/NstcExcelImportN.vue +0 -1166
  386. package/src/components/NstcG6Components/NstcExpandCollapse/NstcExpandCollapse.vue +0 -130
  387. package/src/components/NstcG6Components/NstcExpandCollapse/index.scss +0 -77
  388. package/src/components/NstcG6Components/NstcFileUpload/NstcFileUpload.vue +0 -989
  389. package/src/components/NstcG6Components/NstcFileUpload/img/addFile.svg +0 -32
  390. package/src/components/NstcG6Components/NstcFileUpload/img/delete.svg +0 -24
  391. package/src/components/NstcG6Components/NstcFileUpload/img/deleteFile.svg +0 -28
  392. package/src/components/NstcG6Components/NstcFileUpload/img/download.svg +0 -24
  393. package/src/components/NstcG6Components/NstcFileUpload/img/inputUpload.svg +0 -30
  394. package/src/components/NstcG6Components/NstcFileUpload/img/look-diabled.svg +0 -24
  395. package/src/components/NstcG6Components/NstcFileUpload/img/look.svg +0 -24
  396. package/src/components/NstcG6Components/NstcForm/A_DEMO/component/originalForm.vue +0 -281
  397. package/src/components/NstcG6Components/NstcForm/A_DEMO/config/config_3.js +0 -1222
  398. package/src/components/NstcG6Components/NstcForm/A_DEMO/index.vue +0 -796
  399. package/src/components/NstcG6Components/NstcForm/AutocompleteCustom/index.vue +0 -68
  400. package/src/components/NstcG6Components/NstcForm/BusinessSpecific/InputMultiple.vue +0 -189
  401. package/src/components/NstcG6Components/NstcForm/BusinessSpecific/InputWithUnit.vue +0 -128
  402. package/src/components/NstcG6Components/NstcForm/BusinessSpecific/SelectTreeDialog.vue +0 -233
  403. package/src/components/NstcG6Components/NstcForm/BusinessSpecific/readme.md +0 -7
  404. package/src/components/NstcG6Components/NstcForm/CascaderCustom/index.vue +0 -101
  405. package/src/components/NstcG6Components/NstcForm/CheckboxCustom/index.vue +0 -84
  406. package/src/components/NstcG6Components/NstcForm/Component.vue +0 -684
  407. package/src/components/NstcG6Components/NstcForm/ComponentSecond.vue +0 -650
  408. package/src/components/NstcG6Components/NstcForm/DatepickerCustom/index.vue +0 -130
  409. package/src/components/NstcG6Components/NstcForm/InputAndDialog/NstcInputAndDialog.vue +0 -389
  410. package/src/components/NstcG6Components/NstcForm/InputCustom/index.vue +0 -314
  411. package/src/components/NstcG6Components/NstcForm/IntervalInputCustom/index.vue +0 -116
  412. package/src/components/NstcG6Components/NstcForm/Item.vue +0 -327
  413. package/src/components/NstcG6Components/NstcForm/ItemSecond.vue +0 -269
  414. package/src/components/NstcG6Components/NstcForm/List.vue +0 -146
  415. package/src/components/NstcG6Components/NstcForm/ListSecond.vue +0 -130
  416. package/src/components/NstcG6Components/NstcForm/RadioCustom/index.vue +0 -73
  417. package/src/components/NstcG6Components/NstcForm/SelectAccount/NstcSelectAccount.vue +0 -334
  418. package/src/components/NstcG6Components/NstcForm/SelectAndDialog/NstcSelectAndDialog.vue +0 -382
  419. package/src/components/NstcG6Components/NstcForm/SelectCashFlow/NstcSelectCashFlow.vue +0 -123
  420. package/src/components/NstcG6Components/NstcForm/SelectCustom/index.vue +0 -460
  421. package/src/components/NstcG6Components/NstcForm/SelectSubject/NstcSelectSubject.vue +0 -185
  422. package/src/components/NstcG6Components/NstcForm/SelectindialogCustom/index.vue +0 -650
  423. package/src/components/NstcG6Components/NstcForm/TableRadioCustom/index.vue +0 -183
  424. package/src/components/NstcG6Components/NstcForm/TextCustom/index.vue +0 -38
  425. package/src/components/NstcG6Components/NstcForm/UploadCustom/iconxitongshezhi-yichu.png +0 -0
  426. package/src/components/NstcG6Components/NstcForm/UploadCustom/index.vue +0 -483
  427. package/src/components/NstcG6Components/NstcForm/configs.js +0 -191
  428. package/src/components/NstcG6Components/NstcForm/configsSecond.js +0 -161
  429. package/src/components/NstcG6Components/NstcForm/index.js +0 -8
  430. package/src/components/NstcG6Components/NstcForm/index.scss +0 -29
  431. package/src/components/NstcG6Components/NstcForm/payeePersonSelect/NstcPayeePerson.vue +0 -188
  432. package/src/components/NstcG6Components/NstcForm/readme.txt +0 -4
  433. package/src/components/NstcG6Components/NstcPagination/NstcPagination.vue +0 -430
  434. package/src/components/NstcG6Components/NstcPagination/setPageNum.png +0 -0
  435. package/src/components/NstcG6Components/NstcPagination/setpagedefault.png +0 -0
  436. package/src/components/NstcG6Components/NstcScreenFull/NstcScreenFull.vue +0 -70
  437. package/src/components/NstcG6Components/NstcSelectTree/NstcSelectTree.vue +0 -729
  438. package/src/components/NstcG6Components/NstcSelectTreeList/NstcSelectTreeList.vue +0 -676
  439. package/src/components/NstcG6Components/NstcSticky/NstcSticky.vue +0 -97
  440. package/src/components/NstcG6Components/NstcSvgIcon/NstcSvgIcon.vue +0 -72
  441. package/src/components/NstcG6Components/NstcTab/NstcTab.vue +0 -80
  442. package/src/components/NstcG6Components/NstcTabWithBadge/NstcTabWithBadge.vue +0 -45
  443. package/src/components/NstcG6Components/NstcTabWithBadge/index.scss +0 -31
  444. package/src/components/NstcG6Components/NstcTable/ElTableColumnCustom/index.vue +0 -292
  445. package/src/components/NstcG6Components/NstcTable/NstcTable.vue +0 -460
  446. package/src/components/NstcG6Components/NstcTableSet/NstcTableSet.vue +0 -801
  447. package/src/components/NstcG6Components/NstcThemePicker/NstcThemePicker.vue +0 -186
  448. package/src/components/NstcG6Components/NstcUploadCustomExcel/NstcUploadCustomExcel.vue +0 -330
  449. package/src/components/NstcG6Components/NstcUploadExcel/NstcUploadExcel.vue +0 -145
  450. package/src/components/NstcG6Components/NstcWorkBench/NstcWorkBench.vue +0 -176
  451. package/src/components/NstcG6Components/Search/NstcSearch.vue +0 -591
  452. package/src/components/NstcG6Components/Search/src/demo/index copy.vue +0 -101
  453. package/src/components/NstcG6Components/Search/src/demo/index.vue +0 -103
  454. package/src/components/NstcG6Components/Search/src/main copy.vue +0 -607
  455. package/src/components/NstcG6Components/approvelTwo/main.vue +0 -220
  456. package/src/components/NstcG6Components/approvelTwo/progress.vue +0 -154
  457. package/src/directives/VCopy/index.js +0 -60
  458. package/src/directives/VNstcNumber/index.js +0 -14
  459. package/src/directives/VNstcNumber/temp.js +0 -446
  460. package/src/directives/VTitle/tooltip.vue +0 -21
  461. package/src/utils/dateAndValidator.js +0 -629
  462. package/src/utils/debounce.js +0 -40
  463. package/src/utils/parseTime.js +0 -48
  464. package/src/utils/validate/index.js +0 -7
  465. package/src/utils/vendor/Export2Excel.js +0 -229
  466. package/src/utils/vendor/Export2Zip.js +0 -24
  467. package/src/utils/vue-bus.js +0 -5
@@ -1,489 +1,489 @@
1
- <template>
2
- <div class="file-upload-table">
3
- <!-- 查看附件信息 -->
4
- <template v-if="readonly">
5
- <div class="p-t-s p-b-s">
6
- <div class="flex-box flex-v flex-lr">
7
- <div><slot name="title"></slot></div>
8
- <slot v-if="tableData.length" name="down-btn">
9
- <el-button size="mini" plain @click="downRows">批量下载</el-button>
10
- </slot>
11
- </div>
12
- </div>
13
-
14
- <el-table
15
- :data="tableData"
16
- :row-key="keys.rowKey"
17
- @selection-change="(selection) => (selectionList = selection)"
18
- >
19
- <slot name="selection-column"
20
- ><el-table-column type="selection" width="50" align="center" />
21
- </slot>
22
- <el-table-column label="附件类型" :prop="keys.type">
23
- <template slot="header" slot-scope="scope">
24
- <slot name="type-header" :column="scope.column">附件类型</slot>
25
- </template>
26
- <template slot-scope="{ row }">
27
- <slot name="type" :row="row">{{
28
- row[keys.type] | typeFiter(typeOptions)
29
- }}</slot>
30
- </template>
31
- </el-table-column>
32
- <el-table-column label="附件名称" :prop="keys.name">
33
- <template slot="header" slot-scope="scope">
34
- <slot name="name-header" :column="scope.column">附件名称</slot>
35
- </template>
36
- <template slot-scope="{ row }">
37
- <slot name="name" :row="row">{{ row[keys.name] }}</slot>
38
- </template>
39
- </el-table-column>
40
- <el-table-column
41
- label="上传时间"
42
- :prop="keys.time"
43
- width="170"
44
- align="left"
45
- >
46
- <template slot="header" slot-scope="scope">
47
- <slot name="time-header" :column="scope.column">上传时间</slot>
48
- </template>
49
- <template slot-scope="{ row }">
50
- <slot name="time" :row="row">{{ row[keys.time] }}</slot>
51
- </template>
52
- </el-table-column>
53
- <el-table-column label="上传人" :prop="keys.user">
54
- <template slot="header" slot-scope="scope">
55
- <slot name="user-header" :column="scope.column">上传人</slot>
56
- </template>
57
- <template slot-scope="{ row }">
58
- <slot name="user" :row="row">{{ row[keys.user] }}</slot>
59
- </template>
60
- </el-table-column>
61
- <el-table-column label="操作" align="center" width="80">
62
- <template slot="header" slot-scope="scope">
63
- <slot name="handle-header" :column="scope.column">操作</slot>
64
- </template>
65
- <template slot-scope="{ row }">
66
- <slot name="handle" :row="row">
67
- <el-button
68
- type="text"
69
- icon="el-icon-view"
70
- @click="seeFile(row)"
71
- />
72
- <el-button
73
- type="text"
74
- icon="el-icon-download"
75
- :disabled="!row[keys.url]"
76
- @click="downFile(row)"
77
- />
78
- </slot>
79
- </template>
80
- </el-table-column>
81
- </el-table>
82
- </template>
83
- <!-- 上传附件 -->
84
- <template v-else>
85
- <div class="p-t-s p-b-s">
86
- <div class="flex-box flex-v flex-lr">
87
- <div><slot name="title"></slot></div>
88
- <div>
89
- <slot name="add-btn">
90
- <el-button type="primary" size="mini" @click="addRow"
91
- >新增</el-button
92
- >
93
- </slot>
94
- <slot v-if="tableData.length" name="down-btn">
95
- <el-button size="mini" plain @click="downRows">下载</el-button>
96
- </slot>
97
- <slot v-if="tableData.length" name="delete-btn">
98
- <el-button type="danger" plain size="mini" @click="deleteRows"
99
- >删除</el-button
100
- >
101
- </slot>
102
- </div>
103
- </div>
104
- </div>
105
-
106
- <el-table
107
- :data="tableData"
108
- :row-key="keys.rowKey"
109
- @selection-change="(selection) => (selectionList = selection)"
110
- >
111
- <slot name="selection-column"
112
- ><el-table-column type="selection" width="50" align="center" />
113
- </slot>
114
- <el-table-column label="附件类型" min-width="160">
115
- <template slot="header" slot-scope="scope">
116
- <slot name="type-header" :column="scope.column">附件类型</slot>
117
- </template>
118
- <template slot-scope="{ row }">
119
- <slot name="type" :row="row">
120
- <el-select
121
- v-model="row[keys.type]"
122
- :disabled="row['_typeDisabled']"
123
- placeholder="请选择"
124
- style="width: 100%"
125
- >
126
- <el-option
127
- v-for="item in typeOptions"
128
- :key="item.type"
129
- :disabled="item.disabled"
130
- :value="item.type"
131
- :label="item.label"
132
- />
133
- </el-select>
134
- </slot>
135
- </template>
136
- </el-table-column>
137
- <el-table-column label="附件名称" min-width="160">
138
- <template slot="header" slot-scope="scope">
139
- <slot name="name-header" :column="scope.column">附件名称</slot>
140
- </template>
141
- <template slot-scope="{ row }">
142
- <slot name="name" :row="row">
143
- <el-input v-model="row[keys.name]" placeholder="请输入" />
144
- </slot>
145
- </template>
146
- </el-table-column>
147
- <el-table-column label="附件上传" min-width="160">
148
- <template slot="header" slot-scope="scope">
149
- <slot name="upload-header" :column="scope.column">附件上传</slot>
150
- </template>
151
- <template slot-scope="{ row, $index }">
152
- <slot name="upload" :row="row" :$index="$index">
153
- <clUpload
154
- :ref="'upload' + $index"
155
- class="n20-upload-table-up"
156
- :file-name="row['_name'] || row[keys.name]"
157
- :data="row['_fileData']"
158
- :msg-type="null"
159
- :show-clear="false"
160
- :action="action"
161
- :headers="headers"
162
- :disabled="!row[keys.type]"
163
- :accept="row[keys.type] | acceptFilter(typeOptions, fileAccept)"
164
- :size="row[keys.type] | sizeFilter(typeOptions, fileSize)"
165
- :before-upload="(file) => beforeUploadFn(file, row)"
166
- :on-progress="(event) => onProgressFn(event, row)"
167
- :on-success="
168
- (response, file, fileList) =>
169
- onSuccessFn(response, file, fileList, row)
170
- "
171
- :on-error="
172
- (err, file, fileList) =>
173
- errorFn(err, file, fileList, row, $index)
174
- "
175
- />
176
- </slot>
177
- </template>
178
- </el-table-column>
179
- <el-table-column
180
- label="上传时间"
181
- :prop="keys.time"
182
- width="170"
183
- align="left"
184
- >
185
- <template slot="header" slot-scope="scope">
186
- <slot name="time-header" :column="scope.column">上传时间</slot>
187
- </template>
188
- <template slot-scope="{ row }">
189
- <slot name="time" :row="row">{{ row[keys.time] }}</slot>
190
- </template>
191
- </el-table-column>
192
- <el-table-column label="上传人" :prop="keys.user">
193
- <template slot="header" slot-scope="scope">
194
- <slot name="user-header" :column="scope.column">上传人</slot>
195
- </template>
196
- <template slot-scope="{ row }">
197
- <slot name="user" :row="row">{{ row[keys.user] }}</slot>
198
- </template>
199
- </el-table-column>
200
- <el-table-column label="上传进度" width="220">
201
- <template slot="header" slot-scope="scope">
202
- <slot name="percent-header" :column="scope.column">上传进度</slot>
203
- </template>
204
- <template slot-scope="{ row, $index }">
205
- <slot name="percent" :row="row" :$index="$index">
206
- <div v-if="row['_percent'] >= 0" class="flex-box flex-v">
207
- <el-progress
208
- class="n20-upload-table-progress"
209
- :percentage="row['_percent']"
210
- :status="row['_status']"
211
- style="width: 140px"
212
- />
213
- <el-button
214
- v-if="row['_status'] === 'exception'"
215
- type="text"
216
- size="mini"
217
- style="width: 60px"
218
- @click="anewSubmitFn(row, $index)"
219
- >重新上传</el-button
220
- >
221
- <el-button
222
- v-else-if="row['_percent'] >= 0 && row['_percent'] < 100"
223
- type="text"
224
- size="mini"
225
- style="width: 60px"
226
- @click="abortFn(row, $index)"
227
- >取消</el-button
228
- >
229
- </div>
230
- </slot>
231
- </template>
232
- </el-table-column>
233
- <el-table-column label="操作" align="center" width="80">
234
- <template slot="header" slot-scope="scope">
235
- <slot name="handle-header" :column="scope.column">操作</slot>
236
- </template>
237
- <template slot-scope="{ row }">
238
- <slot name="handle" :row="row">
239
- <el-button
240
- type="text"
241
- icon="el-icon-view"
242
- :disabled="!row[keys.url]"
243
- @click="seeFile(row)"
244
- />
245
- </slot>
246
- </template>
247
- </el-table-column>
248
- </el-table>
249
- </template>
250
-
251
- <el-dialog
252
- class="p-a-0"
253
- title="附件预览"
254
- :visible.sync="visibleP"
255
- top="2vh"
256
- width="96%"
257
- append-to-body
258
- @close="closeSee"
259
- >
260
- <div
261
- v-if="imgType.test(previewName)"
262
- class="p-a flex-box flex-c flex-v"
263
- style="height: 82vh"
264
- >
265
- <img
266
- :src="previewUrl"
267
- :alt="previewName"
268
- style="max-width: 98%; max-height: 98%"
269
- />
270
- </div>
271
- <div v-else class="p-a" style="height: 82vh">
272
- <component
273
- :is="previewSameOrg ? 'object' : 'div'"
274
- :key="previewUrl"
275
- :data="previewUrl"
276
- style="width: 100%; height: 100%"
277
- >
278
- <div class="flex-column flex-c flex-v" style="height: 100%">
279
- <i
280
- class="el-icon-s-release"
281
- style="font-size: 60px; color: #999"
282
- ></i>
283
- <span style="margin-top: 16px">
284
- 不支持在线预览,请
285
- <a :href="previewUrl" :download="previewName || previewUrl"
286
- >下载</a
287
- >
288
- 到本地查看
289
- </span>
290
- </div>
291
- </component>
292
- </div>
293
- </el-dialog>
294
- </div>
295
- </template>
296
-
297
- <script>
298
- import dayjs from 'dayjs'
299
- import axios from '../../utils/axios'
300
- import clUpload from '../Upload/index.vue'
301
- export default {
302
- name: 'FileUploadTable',
303
- components: {
304
- clUpload
305
- },
306
- filters: {
307
- typeFiter(type, typeOptions) {
308
- return typeOptions.find((c) => c.type === type)?.label || ''
309
- },
310
- acceptFilter(type, typeOptions, fileAccept) {
311
- return typeOptions.find((c) => c.type === type)?.accept || fileAccept
312
- },
313
- sizeFilter(type, typeOptions, fileSize) {
314
- return typeOptions.find((c) => c.type === type)?.size || fileSize
315
- }
316
- },
317
- props: {
318
- readonly: {
319
- type: Boolean,
320
- default: false
321
- },
322
- action: {
323
- type: String,
324
- default: '/bems/1.0/attach'
325
- },
326
- headers: {
327
- type: Object,
328
- default: undefined
329
- },
330
- seePrefix: {
331
- type: String,
332
- default: undefined
333
- },
334
- seeTypes: {
335
- type: RegExp,
336
- default: () => /\.jpg|\.png|\.gif|\.svg|\.pdf$/i
337
- },
338
- tableData: {
339
- type: Array,
340
- default: () => []
341
- },
342
- dataPorp: {
343
- type: Object,
344
- default: () => ({})
345
- }
346
- },
347
- data() {
348
- return {
349
- imgType: /\.jpg|\.png|\.gif|\.svg$/i,
350
- selectionList: [],
351
- fileAccept: this.dataPorp.fileAccept || undefined,
352
- fileSize: this.dataPorp.fileSize || undefined,
353
- typeOptions: this.dataPorp.typeOptions || [
354
- {
355
- type: '001',
356
- label: '信贷合同'
357
- },
358
- {
359
- type: '002',
360
- label: '贴现合同'
361
- },
362
- {
363
- type: '003',
364
- label: '其他合同'
365
- }
366
- ],
367
- keys: this.dataPorp.keys || {
368
- rowKey: 'id',
369
- type: 'type',
370
- name: 'name',
371
- url: 'url',
372
- time: 'time',
373
- user: 'user'
374
- },
375
-
376
- visibleP: false,
377
- previewUrl: undefined,
378
- previewName: undefined,
379
- previewSameOrg: false
380
- }
381
- },
382
- methods: {
383
- addRow() {
384
- this.$emit('add-row')
385
- },
386
- downRows() {
387
- this.$emit('down-rows', this.selectionList)
388
- },
389
- deleteRows() {
390
- this.$emit('delete-rows', this.selectionList)
391
- },
392
- async getFileInfo(row) {
393
- let _url = row[this.keys.url]
394
- this.seePrefix && (_url = this.seePrefix + _url)
395
- if (_url) {
396
- let blob = await axios.get(_url, {}, { responseType: 'blob' })
397
- let url = URL.createObjectURL(blob)
398
- let name = blob.name
399
- let sameOrg = this.seeTypes.test(name) || this.seeTypes.test(_url)
400
- return {
401
- url,
402
- name,
403
- sameOrg
404
- }
405
- } else {
406
- return {}
407
- }
408
- },
409
- async downFile(row) {
410
- let { url, name } = await this.getFileInfo(row)
411
- if (url) {
412
- let aDom = document.createElement('a')
413
- aDom.href = url
414
- aDom.download = name
415
- aDom.click()
416
-
417
- this.$nextTick(() => {
418
- aDom = undefined
419
- url && URL.revokeObjectURL(url)
420
- })
421
- }
422
- },
423
- async seeFile(row) {
424
- let { url, name, sameOrg } = await this.getFileInfo(row)
425
- if (url) {
426
- this.previewSameOrg = sameOrg
427
- this.previewUrl = url
428
- this.previewName = name
429
- this.visibleP = true
430
- }
431
- },
432
- closeSee() {
433
- this.previewUrl && URL.revokeObjectURL(this.previewUrl)
434
- },
435
- beforeUploadFn(file, row) {
436
- this.$set(row, '_percent', 0)
437
- this.$set(row, '_status', undefined)
438
-
439
- this.$emit('before-upload', file, row)
440
- },
441
- onProgressFn({ percent }, row) {
442
- this.$set(row, '_percent', percent <= 99 ? Math.round(percent) : 99)
443
- },
444
- onSuccessFn(response, file, fileList, row) {
445
- this.$set(row, '_name', file.name)
446
- this.$set(row, '_percent', 100)
447
-
448
- row[this.keys.time] = dayjs().format('YYYY-MM-DD HH:mm:ss')
449
-
450
- row[this.keys.url] = response.data
451
- if (!row[this.keys.name]) {
452
- row[this.keys.name] = file.name
453
- }
454
- this.$set(row, '_status', 'success')
455
-
456
- this.$emit('on-success', file, row)
457
- },
458
- errorFn(err, file, fileList, row, $index) {
459
- this.$set(row, '_status', 'exception')
460
-
461
- let clUpload = this.$refs['upload' + $index]
462
- /* 重置文件状态,并加入文件队列 */
463
- file.status = 'ready'
464
- clUpload.fileList = [file]
465
-
466
- this.$emit('on-error', file, row)
467
- },
468
- abortFn(row, $index) {
469
- this.$set(row, '_status', 'exception')
470
-
471
- let clUpload = this.$refs['upload' + $index]
472
- let elUpload = clUpload.$refs['upload']
473
- let uploadFiles = elUpload.uploadFiles
474
-
475
- /* 重置文件状态,并加入文件队列 */
476
- let file = uploadFiles[uploadFiles.length - 1]
477
- file.status = 'ready'
478
- clUpload.fileList = [file]
479
-
480
- elUpload.abort()
481
- },
482
- anewSubmitFn(row, $index) {
483
- this.$set(row, '_status', 'success')
484
-
485
- this.$refs['upload' + $index]?.$refs['upload']?.submit()
486
- }
487
- }
488
- }
489
- </script>
1
+ <template>
2
+ <div class="file-upload-table">
3
+ <!-- 查看附件信息 -->
4
+ <template v-if="readonly">
5
+ <div class="p-t-s p-b-s">
6
+ <div class="flex-box flex-v flex-lr">
7
+ <div><slot name="title"></slot></div>
8
+ <slot v-if="tableData.length" name="down-btn">
9
+ <el-button size="mini" plain @click="downRows">批量下载</el-button>
10
+ </slot>
11
+ </div>
12
+ </div>
13
+
14
+ <el-table
15
+ :data="tableData"
16
+ :row-key="keys.rowKey"
17
+ @selection-change="(selection) => (selectionList = selection)"
18
+ >
19
+ <slot name="selection-column"
20
+ ><el-table-column type="selection" width="50" align="center" />
21
+ </slot>
22
+ <el-table-column label="附件类型" :prop="keys.type">
23
+ <template slot="header" slot-scope="scope">
24
+ <slot name="type-header" :column="scope.column">附件类型</slot>
25
+ </template>
26
+ <template slot-scope="{ row }">
27
+ <slot name="type" :row="row">{{
28
+ row[keys.type] | typeFiter(typeOptions)
29
+ }}</slot>
30
+ </template>
31
+ </el-table-column>
32
+ <el-table-column label="附件名称" :prop="keys.name">
33
+ <template slot="header" slot-scope="scope">
34
+ <slot name="name-header" :column="scope.column">附件名称</slot>
35
+ </template>
36
+ <template slot-scope="{ row }">
37
+ <slot name="name" :row="row">{{ row[keys.name] }}</slot>
38
+ </template>
39
+ </el-table-column>
40
+ <el-table-column
41
+ label="上传时间"
42
+ :prop="keys.time"
43
+ width="170"
44
+ align="left"
45
+ >
46
+ <template slot="header" slot-scope="scope">
47
+ <slot name="time-header" :column="scope.column">上传时间</slot>
48
+ </template>
49
+ <template slot-scope="{ row }">
50
+ <slot name="time" :row="row">{{ row[keys.time] }}</slot>
51
+ </template>
52
+ </el-table-column>
53
+ <el-table-column label="上传人" :prop="keys.user">
54
+ <template slot="header" slot-scope="scope">
55
+ <slot name="user-header" :column="scope.column">上传人</slot>
56
+ </template>
57
+ <template slot-scope="{ row }">
58
+ <slot name="user" :row="row">{{ row[keys.user] }}</slot>
59
+ </template>
60
+ </el-table-column>
61
+ <el-table-column label="操作" align="center" width="80">
62
+ <template slot="header" slot-scope="scope">
63
+ <slot name="handle-header" :column="scope.column">操作</slot>
64
+ </template>
65
+ <template slot-scope="{ row }">
66
+ <slot name="handle" :row="row">
67
+ <el-button
68
+ type="text"
69
+ icon="el-icon-view"
70
+ @click="seeFile(row)"
71
+ />
72
+ <el-button
73
+ type="text"
74
+ icon="el-icon-download"
75
+ :disabled="!row[keys.url]"
76
+ @click="downFile(row)"
77
+ />
78
+ </slot>
79
+ </template>
80
+ </el-table-column>
81
+ </el-table>
82
+ </template>
83
+ <!-- 上传附件 -->
84
+ <template v-else>
85
+ <div class="p-t-s p-b-s">
86
+ <div class="flex-box flex-v flex-lr">
87
+ <div><slot name="title"></slot></div>
88
+ <div>
89
+ <slot name="add-btn">
90
+ <el-button type="primary" size="mini" @click="addRow"
91
+ >新增</el-button
92
+ >
93
+ </slot>
94
+ <slot v-if="tableData.length" name="down-btn">
95
+ <el-button size="mini" plain @click="downRows">下载</el-button>
96
+ </slot>
97
+ <slot v-if="tableData.length" name="delete-btn">
98
+ <el-button type="danger" plain size="mini" @click="deleteRows"
99
+ >删除</el-button
100
+ >
101
+ </slot>
102
+ </div>
103
+ </div>
104
+ </div>
105
+
106
+ <el-table
107
+ :data="tableData"
108
+ :row-key="keys.rowKey"
109
+ @selection-change="(selection) => (selectionList = selection)"
110
+ >
111
+ <slot name="selection-column"
112
+ ><el-table-column type="selection" width="50" align="center" />
113
+ </slot>
114
+ <el-table-column label="附件类型" min-width="160">
115
+ <template slot="header" slot-scope="scope">
116
+ <slot name="type-header" :column="scope.column">附件类型</slot>
117
+ </template>
118
+ <template slot-scope="{ row }">
119
+ <slot name="type" :row="row">
120
+ <el-select
121
+ v-model="row[keys.type]"
122
+ :disabled="row['_typeDisabled']"
123
+ placeholder="请选择"
124
+ style="width: 100%"
125
+ >
126
+ <el-option
127
+ v-for="item in typeOptions"
128
+ :key="item.type"
129
+ :disabled="item.disabled"
130
+ :value="item.type"
131
+ :label="item.label"
132
+ />
133
+ </el-select>
134
+ </slot>
135
+ </template>
136
+ </el-table-column>
137
+ <el-table-column label="附件名称" min-width="160">
138
+ <template slot="header" slot-scope="scope">
139
+ <slot name="name-header" :column="scope.column">附件名称</slot>
140
+ </template>
141
+ <template slot-scope="{ row }">
142
+ <slot name="name" :row="row">
143
+ <el-input v-model="row[keys.name]" placeholder="请输入" />
144
+ </slot>
145
+ </template>
146
+ </el-table-column>
147
+ <el-table-column label="附件上传" min-width="160">
148
+ <template slot="header" slot-scope="scope">
149
+ <slot name="upload-header" :column="scope.column">附件上传</slot>
150
+ </template>
151
+ <template slot-scope="{ row, $index }">
152
+ <slot name="upload" :row="row" :$index="$index">
153
+ <clUpload
154
+ :ref="'upload' + $index"
155
+ class="n20-upload-table-up"
156
+ :file-name="row['_name'] || row[keys.name]"
157
+ :data="row['_fileData']"
158
+ :msg-type="null"
159
+ :show-clear="false"
160
+ :action="action"
161
+ :headers="headers"
162
+ :disabled="!row[keys.type]"
163
+ :accept="row[keys.type] | acceptFilter(typeOptions, fileAccept)"
164
+ :size="row[keys.type] | sizeFilter(typeOptions, fileSize)"
165
+ :before-upload="(file) => beforeUploadFn(file, row)"
166
+ :on-progress="(event) => onProgressFn(event, row)"
167
+ :on-success="
168
+ (response, file, fileList) =>
169
+ onSuccessFn(response, file, fileList, row)
170
+ "
171
+ :on-error="
172
+ (err, file, fileList) =>
173
+ errorFn(err, file, fileList, row, $index)
174
+ "
175
+ />
176
+ </slot>
177
+ </template>
178
+ </el-table-column>
179
+ <el-table-column
180
+ label="上传时间"
181
+ :prop="keys.time"
182
+ width="170"
183
+ align="left"
184
+ >
185
+ <template slot="header" slot-scope="scope">
186
+ <slot name="time-header" :column="scope.column">上传时间</slot>
187
+ </template>
188
+ <template slot-scope="{ row }">
189
+ <slot name="time" :row="row">{{ row[keys.time] }}</slot>
190
+ </template>
191
+ </el-table-column>
192
+ <el-table-column label="上传人" :prop="keys.user">
193
+ <template slot="header" slot-scope="scope">
194
+ <slot name="user-header" :column="scope.column">上传人</slot>
195
+ </template>
196
+ <template slot-scope="{ row }">
197
+ <slot name="user" :row="row">{{ row[keys.user] }}</slot>
198
+ </template>
199
+ </el-table-column>
200
+ <el-table-column label="上传进度" width="220">
201
+ <template slot="header" slot-scope="scope">
202
+ <slot name="percent-header" :column="scope.column">上传进度</slot>
203
+ </template>
204
+ <template slot-scope="{ row, $index }">
205
+ <slot name="percent" :row="row" :$index="$index">
206
+ <div v-if="row['_percent'] >= 0" class="flex-box flex-v">
207
+ <el-progress
208
+ class="n20-upload-table-progress"
209
+ :percentage="row['_percent']"
210
+ :status="row['_status']"
211
+ style="width: 140px"
212
+ />
213
+ <el-button
214
+ v-if="row['_status'] === 'exception'"
215
+ type="text"
216
+ size="mini"
217
+ style="width: 60px"
218
+ @click="anewSubmitFn(row, $index)"
219
+ >重新上传</el-button
220
+ >
221
+ <el-button
222
+ v-else-if="row['_percent'] >= 0 && row['_percent'] < 100"
223
+ type="text"
224
+ size="mini"
225
+ style="width: 60px"
226
+ @click="abortFn(row, $index)"
227
+ >取消</el-button
228
+ >
229
+ </div>
230
+ </slot>
231
+ </template>
232
+ </el-table-column>
233
+ <el-table-column label="操作" align="center" width="80">
234
+ <template slot="header" slot-scope="scope">
235
+ <slot name="handle-header" :column="scope.column">操作</slot>
236
+ </template>
237
+ <template slot-scope="{ row }">
238
+ <slot name="handle" :row="row">
239
+ <el-button
240
+ type="text"
241
+ icon="el-icon-view"
242
+ :disabled="!row[keys.url]"
243
+ @click="seeFile(row)"
244
+ />
245
+ </slot>
246
+ </template>
247
+ </el-table-column>
248
+ </el-table>
249
+ </template>
250
+
251
+ <el-dialog
252
+ class="p-a-0"
253
+ title="附件预览"
254
+ :visible.sync="visibleP"
255
+ top="2vh"
256
+ width="96%"
257
+ append-to-body
258
+ @close="closeSee"
259
+ >
260
+ <div
261
+ v-if="imgType.test(previewName)"
262
+ class="p-a flex-box flex-c flex-v"
263
+ style="height: 82vh"
264
+ >
265
+ <img
266
+ :src="previewUrl"
267
+ :alt="previewName"
268
+ style="max-width: 98%; max-height: 98%"
269
+ />
270
+ </div>
271
+ <div v-else class="p-a" style="height: 82vh">
272
+ <component
273
+ :is="previewSameOrg ? 'object' : 'div'"
274
+ :key="previewUrl"
275
+ :data="previewUrl"
276
+ style="width: 100%; height: 100%"
277
+ >
278
+ <div class="flex-column flex-c flex-v" style="height: 100%">
279
+ <i
280
+ class="el-icon-s-release"
281
+ style="font-size: 60px; color: #999"
282
+ ></i>
283
+ <span style="margin-top: 16px">
284
+ 不支持在线预览,请
285
+ <a :href="previewUrl" :download="previewName || previewUrl"
286
+ >下载</a
287
+ >
288
+ 到本地查看
289
+ </span>
290
+ </div>
291
+ </component>
292
+ </div>
293
+ </el-dialog>
294
+ </div>
295
+ </template>
296
+
297
+ <script>
298
+ import dayjs from 'dayjs'
299
+ import axios from '../../utils/axios'
300
+ import clUpload from '../Upload/index.vue'
301
+ export default {
302
+ name: 'FileUploadTable',
303
+ components: {
304
+ clUpload
305
+ },
306
+ filters: {
307
+ typeFiter(type, typeOptions) {
308
+ return typeOptions.find((c) => c.type === type)?.label || ''
309
+ },
310
+ acceptFilter(type, typeOptions, fileAccept) {
311
+ return typeOptions.find((c) => c.type === type)?.accept || fileAccept
312
+ },
313
+ sizeFilter(type, typeOptions, fileSize) {
314
+ return typeOptions.find((c) => c.type === type)?.size || fileSize
315
+ }
316
+ },
317
+ props: {
318
+ readonly: {
319
+ type: Boolean,
320
+ default: false
321
+ },
322
+ action: {
323
+ type: String,
324
+ default: '/bems/1.0/attach'
325
+ },
326
+ headers: {
327
+ type: Object,
328
+ default: undefined
329
+ },
330
+ seePrefix: {
331
+ type: String,
332
+ default: undefined
333
+ },
334
+ seeTypes: {
335
+ type: RegExp,
336
+ default: () => /\.jpg|\.png|\.gif|\.svg|\.pdf$/i
337
+ },
338
+ tableData: {
339
+ type: Array,
340
+ default: () => []
341
+ },
342
+ dataPorp: {
343
+ type: Object,
344
+ default: () => ({})
345
+ }
346
+ },
347
+ data() {
348
+ return {
349
+ imgType: /\.jpg|\.png|\.gif|\.svg$/i,
350
+ selectionList: [],
351
+ fileAccept: this.dataPorp.fileAccept || undefined,
352
+ fileSize: this.dataPorp.fileSize || undefined,
353
+ typeOptions: this.dataPorp.typeOptions || [
354
+ {
355
+ type: '001',
356
+ label: '信贷合同'
357
+ },
358
+ {
359
+ type: '002',
360
+ label: '贴现合同'
361
+ },
362
+ {
363
+ type: '003',
364
+ label: '其他合同'
365
+ }
366
+ ],
367
+ keys: this.dataPorp.keys || {
368
+ rowKey: 'id',
369
+ type: 'type',
370
+ name: 'name',
371
+ url: 'url',
372
+ time: 'time',
373
+ user: 'user'
374
+ },
375
+
376
+ visibleP: false,
377
+ previewUrl: undefined,
378
+ previewName: undefined,
379
+ previewSameOrg: false
380
+ }
381
+ },
382
+ methods: {
383
+ addRow() {
384
+ this.$emit('add-row')
385
+ },
386
+ downRows() {
387
+ this.$emit('down-rows', this.selectionList)
388
+ },
389
+ deleteRows() {
390
+ this.$emit('delete-rows', this.selectionList)
391
+ },
392
+ async getFileInfo(row) {
393
+ let _url = row[this.keys.url]
394
+ this.seePrefix && (_url = this.seePrefix + _url)
395
+ if (_url) {
396
+ let blob = await axios.get(_url, {}, { responseType: 'blob' })
397
+ let url = URL.createObjectURL(blob)
398
+ let name = blob.name
399
+ let sameOrg = this.seeTypes.test(name) || this.seeTypes.test(_url)
400
+ return {
401
+ url,
402
+ name,
403
+ sameOrg
404
+ }
405
+ } else {
406
+ return {}
407
+ }
408
+ },
409
+ async downFile(row) {
410
+ let { url, name } = await this.getFileInfo(row)
411
+ if (url) {
412
+ let aDom = document.createElement('a')
413
+ aDom.href = url
414
+ aDom.download = name
415
+ aDom.click()
416
+
417
+ this.$nextTick(() => {
418
+ aDom = undefined
419
+ url && URL.revokeObjectURL(url)
420
+ })
421
+ }
422
+ },
423
+ async seeFile(row) {
424
+ let { url, name, sameOrg } = await this.getFileInfo(row)
425
+ if (url) {
426
+ this.previewSameOrg = sameOrg
427
+ this.previewUrl = url
428
+ this.previewName = name
429
+ this.visibleP = true
430
+ }
431
+ },
432
+ closeSee() {
433
+ this.previewUrl && URL.revokeObjectURL(this.previewUrl)
434
+ },
435
+ beforeUploadFn(file, row) {
436
+ this.$set(row, '_percent', 0)
437
+ this.$set(row, '_status', undefined)
438
+
439
+ this.$emit('before-upload', file, row)
440
+ },
441
+ onProgressFn({ percent }, row) {
442
+ this.$set(row, '_percent', percent <= 99 ? Math.round(percent) : 99)
443
+ },
444
+ onSuccessFn(response, file, fileList, row) {
445
+ this.$set(row, '_name', file.name)
446
+ this.$set(row, '_percent', 100)
447
+
448
+ row[this.keys.time] = dayjs().format('YYYY-MM-DD HH:mm:ss')
449
+
450
+ row[this.keys.url] = response.data
451
+ if (!row[this.keys.name]) {
452
+ row[this.keys.name] = file.name
453
+ }
454
+ this.$set(row, '_status', 'success')
455
+
456
+ this.$emit('on-success', file, row)
457
+ },
458
+ errorFn(err, file, fileList, row, $index) {
459
+ this.$set(row, '_status', 'exception')
460
+
461
+ let clUpload = this.$refs['upload' + $index]
462
+ /* 重置文件状态,并加入文件队列 */
463
+ file.status = 'ready'
464
+ clUpload.fileList = [file]
465
+
466
+ this.$emit('on-error', file, row)
467
+ },
468
+ abortFn(row, $index) {
469
+ this.$set(row, '_status', 'exception')
470
+
471
+ let clUpload = this.$refs['upload' + $index]
472
+ let elUpload = clUpload.$refs['upload']
473
+ let uploadFiles = elUpload.uploadFiles
474
+
475
+ /* 重置文件状态,并加入文件队列 */
476
+ let file = uploadFiles[uploadFiles.length - 1]
477
+ file.status = 'ready'
478
+ clUpload.fileList = [file]
479
+
480
+ elUpload.abort()
481
+ },
482
+ anewSubmitFn(row, $index) {
483
+ this.$set(row, '_status', 'success')
484
+
485
+ this.$refs['upload' + $index]?.$refs['upload']?.submit()
486
+ }
487
+ }
488
+ }
489
+ </script>