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,518 +1,518 @@
1
- <template>
2
- <div class="layout-wrap">
3
- <headerWrap
4
- class="header-wrap"
5
- @custom-event="(par) => $emit('custom-event', par)"
6
- />
7
- <asideNav
8
- :menus="menusC"
9
- :active-nav="activeNavC"
10
- :collapse.sync="collapse"
11
- @menu-click="menuClick"
12
- />
13
- <tabsNav
14
- class="tabs-nav-wrap"
15
- :tab-list="tabList"
16
- :active-nav="activeNav"
17
- @tab-click="tabClick"
18
- @tab-close="tabClose"
19
- @tab-close-nexts="tabCloseNexts"
20
- @tab-close-others="tabCloseOthers"
21
- @tab-refresh="tabRefresh"
22
- />
23
- <div ref="content-wrap" class="content-wrap">
24
- <keep-alive v-if="dnsKey">
25
- <router-view
26
- ref="content-cache"
27
- :key="$route.path"
28
- class="content-box"
29
- :no-cache="$route.meta.noCache"
30
- />
31
- </keep-alive>
32
- <router-view
33
- v-else
34
- ref="content-cache"
35
- class="content-box"
36
- :no-cache="$route.meta.noCache"
37
- />
38
- </div>
39
- </div>
40
- </template>
41
-
42
- <script>
43
- const TestProduction = process.env.VUE_APP_TestProduction === 'true'
44
- const routerBase = process.env.BASE_URL
45
- const routerBaseRe = new RegExp('^' + routerBase)
46
-
47
- import { addListener, removeListener } from 'resize-detector'
48
- import forEachs from '../../utils/forEachs'
49
- import { setRela } from '../../utils/relaNo'
50
- import asideNav from './AsideNav/index.vue'
51
- import headerWrap from './HeaderWrap/index.vue'
52
- import tabsNav from './TabsNav/index.vue'
53
-
54
- export default {
55
- name: 'Layout',
56
- components: {
57
- asideNav,
58
- headerWrap,
59
- tabsNav
60
- },
61
- props: {
62
- menus: {
63
- type: Array,
64
- default: () => []
65
- },
66
- keepTab: {
67
- type: String,
68
- default: ''
69
- },
70
- isTest: {
71
- type: Boolean,
72
- default: false
73
- }
74
- },
75
- data() {
76
- let headerH = 48
77
- let tabsH = 35
78
- let clientM = 10 + 1
79
-
80
- return {
81
- dnsKey: this.isTest || TestProduction,
82
- headerH,
83
- tabsH,
84
- clientM,
85
- clientHeight:
86
- document.documentElement.offsetHeight - headerH - tabsH - 2 * clientM,
87
- collapse: window.localStorage.getItem('aside-nav-collapse') === 'true',
88
-
89
- menusC: [],
90
- menuList: [],
91
- tabList: [],
92
- activeNav: ''
93
- }
94
- },
95
- computed: {
96
- activeNavC() {
97
- return getShowUuid(this.activeNav, this.menuList)
98
- }
99
- },
100
- watch: {
101
- menus: {
102
- handler() {
103
- this.getMenuList()
104
- },
105
- immediate: true
106
- },
107
- collapse: {
108
- handler(val) {
109
- if (val) {
110
- document.querySelector('body').classList.add('aside-nav--collapse')
111
- } else {
112
- document.querySelector('body').classList.remove('aside-nav--collapse')
113
- }
114
- },
115
- immediate: true
116
- },
117
- clientHeight: {
118
- handler(val) {
119
- document
120
- .querySelector('body')
121
- .style.setProperty('--client-height', val + 'px')
122
- },
123
- immediate: true
124
- }
125
- },
126
- created() {
127
- window._tab_cache_route = undefined
128
- window._pending_update_cache = {}
129
-
130
- setRela()
131
-
132
- this.getCollapse()
133
- this.getTabList()
134
- setTimeout(() => {
135
- this.getActiveNav()
136
- }, 60)
137
-
138
- window.addEventListener('message', this.setMainTab)
139
-
140
- window.addEventListener('beforeunload', this.setTabList)
141
- },
142
- mounted() {
143
- addListener(this.$refs['content-wrap'], this.contentChange)
144
- },
145
- beforeDestroy() {
146
- removeListener(this.$refs['content-wrap'], this.contentChange)
147
- this.setTabList()
148
-
149
- window.removeEventListener('message', this.setMainTab)
150
-
151
- window.removeEventListener('beforeunload', this.setTabList)
152
- },
153
- methods: {
154
- setMainTab(ev) {
155
- const {
156
- targetName,
157
- replaceTab,
158
- addTab,
159
- closeTab,
160
- setTabName,
161
- addTabO,
162
- refreshTab
163
- } = ev.data
164
-
165
- if (targetName === 'main') {
166
- replaceTab && this.tabReplace(replaceTab)
167
- addTab && this.tabAdd(addTab)
168
- addTabO && this.tabAddO(addTabO)
169
- closeTab && this.tabClose(closeTab)
170
- setTabName && this.tabSetName(setTabName)
171
- refreshTab && this.tabRefresh(refreshTab)
172
- }
173
- },
174
- getCollapse() {
175
- this.collapse =
176
- window.localStorage.getItem('aside-nav-collapse') === 'true'
177
- },
178
- contentChange(dom) {
179
- this.clientHeight = dom.clientHeight - 2 * this.clientM
180
- },
181
- getMenuList() {
182
- let menus = JSON.parse(JSON.stringify(this.menus))
183
- let menuList = []
184
- menus.forEach((sub) => {
185
- let base = sub.base
186
- forEachs(sub.menu, (m, i, a, p) => {
187
- if (m.route) {
188
- m.pid = p.uuid
189
- m.route = base + m.route.replace(/\/$/, '')
190
- m.route || (m.route = '/')
191
- m.uuid = m.route
192
-
193
- menuList.push(m)
194
- }
195
- })
196
- })
197
-
198
- menus.forEach((sub) => {
199
- sub.menu = sub.menu.filter((c) => !c.hide)
200
- forEachs(sub.menu, (m) => {
201
- if (m.children) {
202
- let cN = m.children.filter((c) => !c.hide)
203
- m.children = cN.length ? cN : undefined
204
- }
205
- })
206
- })
207
-
208
- this.menusC = menus
209
- this.menuList = menuList
210
- },
211
- getTabList() {
212
- let tabList = JSON.parse(window.sessionStorage.getItem('tab-list')) || []
213
- this.tabList = tabList
214
- },
215
- setTabList() {
216
- window.sessionStorage.setItem('tab-list', JSON.stringify(this.tabList))
217
- },
218
- getActiveNav() {
219
- let tab = this.tabList.find(
220
- (t) => this.$route.path === t.uuid || this.$route.path === t.route
221
- )
222
- if (tab) {
223
- this.activeNav = tab.uuid
224
- } else if (this.keepTab) {
225
- this.$router.replace({
226
- path: this.keepTab
227
- })
228
- }
229
- },
230
- routerPush({ path, query = {} }) {
231
- if (path !== this.$route.path) {
232
- this.$router.push({
233
- path: path,
234
- query: query
235
- })
236
- } else if (JSON.stringify(query) !== JSON.stringify(this.$route.query)) {
237
- this.$router.push({
238
- path: path,
239
- query: query
240
- })
241
- }
242
- },
243
- menuClick(menu) {
244
- this.routerPush({ path: menu.route })
245
- },
246
- tabClick(tab) {
247
- this.activeNav = tab.uuid
248
-
249
- this.routerPush({
250
- path: tab.route,
251
- query: tab.query
252
- })
253
- },
254
- tabReplace(opt) {
255
- let { path } = opt
256
- path = path.replace(routerBaseRe, '/')
257
- path = path.replace(/\/$/, '')
258
-
259
- let tab = this.tabList.find((t) => t.uuid === this.activeNav)
260
- if (tab) {
261
- if (window._tab_cache_route === tab.route) {
262
- setTimeout(() => {
263
- window._tab_cache_route = undefined
264
- }, 100)
265
- } else {
266
- this.removeOcache({ path: tab.route })
267
- }
268
-
269
- this.$set(tab, 'route', path)
270
- for (let k in opt) {
271
- k !== 'path' && this.$set(tab, k, opt[k])
272
- }
273
- }
274
- },
275
- tabAddO(opt) {
276
- let { path, query } = opt
277
- path = path.replace(routerBaseRe, '/')
278
- path = path.replace(/\/$/, '')
279
- path || (path = '/')
280
-
281
- let tab = this.tabList.find((t) => t.route === path)
282
- if (tab) {
283
- this.activeNav = tab.uuid
284
-
285
- let queryStr = JSON.stringify({ ...tab.query, _fromNo: undefined })
286
- let queryStrN = JSON.stringify({ ...query, _fromNo: undefined })
287
-
288
- this.$set(tab, 'route', path)
289
- for (let k in opt) {
290
- k !== 'path' && this.$set(tab, k, opt[k])
291
- }
292
-
293
- queryStr !== queryStrN && this.tabRefresh({ uuid: tab.uuid })
294
- } else {
295
- let tabI = this.tabList.findIndex((t) => t.uuid === path)
296
- tab = this.tabList[tabI]
297
- if (tab) {
298
- if (window._tab_cache_route === tab.route) {
299
- setTimeout(() => {
300
- window._tab_cache_route = undefined
301
- }, 100)
302
- } else {
303
- this.removeOcache({ path: tab.route })
304
- }
305
-
306
- for (let k in opt) {
307
- k !== 'path' && this.$set(tab, k, opt[k])
308
- }
309
- } else {
310
- let tabN = {
311
- ...opt,
312
- route: path,
313
- path: undefined,
314
- uuid: path,
315
- keep: path === this.keepTab ? true : undefined
316
- }
317
- this.tabList.push(tabN)
318
- this.activeNav = path
319
- }
320
- }
321
- },
322
- tabAdd(opt) {
323
- let { path, query } = opt
324
- this.$router.push({ path, query })
325
- this.$nextTick(() => {
326
- this.tabAddO(opt)
327
- })
328
- },
329
- tabClose({ uuid, path }) {
330
- let tabI = -1
331
- if (uuid) {
332
- tabI = this.tabList.findIndex((t) => t.uuid === uuid)
333
- } else if (path) {
334
- tabI = this.tabList.findIndex((t) => t.route === path)
335
- }
336
- if (tabI !== -1) {
337
- uuid = this.tabList[tabI].uuid
338
- let path = this.tabList[tabI].route
339
-
340
- this.tabList.splice(tabI, 1)
341
- if (uuid === this.activeNav) {
342
- let tabN = this.tabList[tabI] || this.tabList[tabI - 1]
343
- if (tabN) {
344
- if (tabN.uuid !== this.activeNav) {
345
- this.routerPush({
346
- path: tabN.route,
347
- query: tabN.query
348
- })
349
- }
350
- } else {
351
- this.routerPush({
352
- path: '/'
353
- })
354
- }
355
- }
356
-
357
- setTimeout(() => {
358
- this.removeOcache({ path: path })
359
- }, 100)
360
- } else {
361
- console.warn('请求关闭的Tab页签不存在')
362
- }
363
- },
364
- tabCloseNexts(uuid) {
365
- let tabI = this.tabList.findIndex((t) => t.uuid === uuid)
366
- let nextTabs = this.tabList.splice(tabI + 1)
367
-
368
- if (!this.tabList.some((t) => t.uuid === this.activeNav)) {
369
- let tab = this.tabList[tabI]
370
- this.activeNav = tab.uuid
371
- this.routerPush({
372
- path: tab.route,
373
- query: tab.query
374
- })
375
- }
376
-
377
- setTimeout(() => {
378
- nextTabs.forEach((t) => {
379
- this.removeOcache({ path: t.route })
380
- })
381
- nextTabs = undefined
382
- }, 100)
383
- },
384
- tabCloseOthers(uuid) {
385
- let tab = this.tabList.find((t) => t.uuid === uuid)
386
- let tabs = []
387
- let otherTabs = []
388
- this.tabList.forEach((t) => {
389
- if (t.uuid === uuid) {
390
- tabs.push(t)
391
- tab = t
392
- } else if (t.keep) {
393
- tabs.push(t)
394
- } else {
395
- otherTabs.push(t)
396
- }
397
- })
398
-
399
- this.tabList = tabs
400
- if (this.activeNav !== tab.uuid) {
401
- this.activeNav = tab.uuid
402
- this.routerPush({
403
- path: tab.route,
404
- query: tab.query
405
- })
406
- }
407
-
408
- setTimeout(() => {
409
- otherTabs.forEach((t) => {
410
- this.removeOcache({ path: t.route })
411
- })
412
- otherTabs = undefined
413
- }, 100)
414
- },
415
- tabRefresh({ uuid, path }) {
416
- let tab = undefined
417
- if (uuid) {
418
- tab = this.tabList.find((t) => uuid === t.uuid)
419
- } else if (path) {
420
- tab = this.tabList.find((t) => t.route === path)
421
- }
422
-
423
- if (
424
- tab.uuid === this.activeNav &&
425
- this.$route.matched[0]['path'] !== '*'
426
- ) {
427
- let path = this.$route.path
428
- let oTab = JSON.parse(
429
- JSON.stringify({
430
- path: this.$route.path,
431
- query: this.$route.query
432
- })
433
- )
434
-
435
- this.$router.replace('/loading')
436
- this.removeOcache({ path: path })
437
- this.$nextTick(() => {
438
- this.$router.replace(oTab)
439
- })
440
- } else {
441
- this.removeOcache({ path: tab.route })
442
- }
443
- },
444
- tabSetName({ uuid, path, title }) {
445
- let tabI = -1
446
- if (uuid) {
447
- tabI = this.tabList.findIndex((t) => t.uuid === uuid)
448
- } else if (path) {
449
- tabI = this.tabList.findIndex((t) => t.route === path)
450
- }
451
- if (tabI !== -1) {
452
- let tab = this.tabList[tabI]
453
- tab.title = title
454
- }
455
- },
456
- removeOcache({ path }) {
457
- if (!this.dnsKey) return
458
-
459
- let componentInstance =
460
- this.$refs['content-cache']?.$vnode.parent.componentInstance
461
-
462
- if (componentInstance) {
463
- let kI = componentInstance.keys.findIndex((k) => k === path)
464
- if (kI !== -1) {
465
- window._pending_update_cache[path] = true
466
- window.postMessage({
467
- updateCache: true,
468
- targetName: '*',
469
- originName: 'main'
470
- })
471
- let isNull = componentInstance.cache[path].componentInstance.isNull
472
- if (isNull) {
473
- return
474
- }
475
- let destroy = componentInstance.cache[path].componentInstance.destroy
476
- destroy && destroy()
477
-
478
- delete componentInstance.cache[path]
479
- componentInstance.keys.splice(kI, 1)
480
-
481
- // console.log({
482
- // cache: componentInstance.cache,
483
- // keys: componentInstance.keys
484
- // })
485
- } else {
486
- window._pending_update_cache[path] = true
487
- window.postMessage({
488
- updateCache: true,
489
- targetName: '*',
490
- originName: 'main'
491
- })
492
- }
493
- } else {
494
- window._pending_update_cache[path] = true
495
- window.postMessage({
496
- updateCache: true,
497
- targetName: '*',
498
- originName: 'main'
499
- })
500
- }
501
- }
502
- }
503
- }
504
-
505
- function getShowUuid(uuid, list) {
506
- let menu = list.find((m) => m.uuid === uuid)
507
- if (menu) {
508
- return menu.hide ? menu.pid : menu.uuid
509
- }
510
-
511
- let pid = uuid.replace(/\/[^\/]+\/*$/, '')
512
- if (pid !== '' && pid !== '/') {
513
- return getShowUuid(pid, list)
514
- }
515
-
516
- return '/'
517
- }
518
- </script>
1
+ <template>
2
+ <div class="layout-wrap">
3
+ <headerWrap
4
+ class="header-wrap"
5
+ @custom-event="(par) => $emit('custom-event', par)"
6
+ />
7
+ <asideNav
8
+ :menus="menusC"
9
+ :active-nav="activeNavC"
10
+ :collapse.sync="collapse"
11
+ @menu-click="menuClick"
12
+ />
13
+ <tabsNav
14
+ class="tabs-nav-wrap"
15
+ :tab-list="tabList"
16
+ :active-nav="activeNav"
17
+ @tab-click="tabClick"
18
+ @tab-close="tabClose"
19
+ @tab-close-nexts="tabCloseNexts"
20
+ @tab-close-others="tabCloseOthers"
21
+ @tab-refresh="tabRefresh"
22
+ />
23
+ <div ref="content-wrap" class="content-wrap">
24
+ <keep-alive v-if="dnsKey">
25
+ <router-view
26
+ ref="content-cache"
27
+ :key="$route.path"
28
+ class="content-box"
29
+ :no-cache="$route.meta.noCache"
30
+ />
31
+ </keep-alive>
32
+ <router-view
33
+ v-else
34
+ ref="content-cache"
35
+ class="content-box"
36
+ :no-cache="$route.meta.noCache"
37
+ />
38
+ </div>
39
+ </div>
40
+ </template>
41
+
42
+ <script>
43
+ const TestProduction = process.env.VUE_APP_TestProduction === 'true'
44
+ const routerBase = process.env.BASE_URL
45
+ const routerBaseRe = new RegExp('^' + routerBase)
46
+
47
+ import { addListener, removeListener } from 'resize-detector'
48
+ import forEachs from '../../utils/forEachs'
49
+ import { setRela } from '../../utils/relaNo'
50
+ import asideNav from './AsideNav/index.vue'
51
+ import headerWrap from './HeaderWrap/index.vue'
52
+ import tabsNav from './TabsNav/index.vue'
53
+
54
+ export default {
55
+ name: 'Layout',
56
+ components: {
57
+ asideNav,
58
+ headerWrap,
59
+ tabsNav
60
+ },
61
+ props: {
62
+ menus: {
63
+ type: Array,
64
+ default: () => []
65
+ },
66
+ keepTab: {
67
+ type: String,
68
+ default: ''
69
+ },
70
+ isTest: {
71
+ type: Boolean,
72
+ default: false
73
+ }
74
+ },
75
+ data() {
76
+ let headerH = 48
77
+ let tabsH = 35
78
+ let clientM = 10 + 1
79
+
80
+ return {
81
+ dnsKey: this.isTest || TestProduction,
82
+ headerH,
83
+ tabsH,
84
+ clientM,
85
+ clientHeight:
86
+ document.documentElement.offsetHeight - headerH - tabsH - 2 * clientM,
87
+ collapse: window.localStorage.getItem('aside-nav-collapse') === 'true',
88
+
89
+ menusC: [],
90
+ menuList: [],
91
+ tabList: [],
92
+ activeNav: ''
93
+ }
94
+ },
95
+ computed: {
96
+ activeNavC() {
97
+ return getShowUuid(this.activeNav, this.menuList)
98
+ }
99
+ },
100
+ watch: {
101
+ menus: {
102
+ handler() {
103
+ this.getMenuList()
104
+ },
105
+ immediate: true
106
+ },
107
+ collapse: {
108
+ handler(val) {
109
+ if (val) {
110
+ document.querySelector('body').classList.add('aside-nav--collapse')
111
+ } else {
112
+ document.querySelector('body').classList.remove('aside-nav--collapse')
113
+ }
114
+ },
115
+ immediate: true
116
+ },
117
+ clientHeight: {
118
+ handler(val) {
119
+ document
120
+ .querySelector('body')
121
+ .style.setProperty('--client-height', val + 'px')
122
+ },
123
+ immediate: true
124
+ }
125
+ },
126
+ created() {
127
+ window._tab_cache_route = undefined
128
+ window._pending_update_cache = {}
129
+
130
+ setRela()
131
+
132
+ this.getCollapse()
133
+ this.getTabList()
134
+ setTimeout(() => {
135
+ this.getActiveNav()
136
+ }, 60)
137
+
138
+ window.addEventListener('message', this.setMainTab)
139
+
140
+ window.addEventListener('beforeunload', this.setTabList)
141
+ },
142
+ mounted() {
143
+ addListener(this.$refs['content-wrap'], this.contentChange)
144
+ },
145
+ beforeDestroy() {
146
+ removeListener(this.$refs['content-wrap'], this.contentChange)
147
+ this.setTabList()
148
+
149
+ window.removeEventListener('message', this.setMainTab)
150
+
151
+ window.removeEventListener('beforeunload', this.setTabList)
152
+ },
153
+ methods: {
154
+ setMainTab(ev) {
155
+ const {
156
+ targetName,
157
+ replaceTab,
158
+ addTab,
159
+ closeTab,
160
+ setTabName,
161
+ addTabO,
162
+ refreshTab
163
+ } = ev.data
164
+
165
+ if (targetName === 'main') {
166
+ replaceTab && this.tabReplace(replaceTab)
167
+ addTab && this.tabAdd(addTab)
168
+ addTabO && this.tabAddO(addTabO)
169
+ closeTab && this.tabClose(closeTab)
170
+ setTabName && this.tabSetName(setTabName)
171
+ refreshTab && this.tabRefresh(refreshTab)
172
+ }
173
+ },
174
+ getCollapse() {
175
+ this.collapse =
176
+ window.localStorage.getItem('aside-nav-collapse') === 'true'
177
+ },
178
+ contentChange(dom) {
179
+ this.clientHeight = dom.clientHeight - 2 * this.clientM
180
+ },
181
+ getMenuList() {
182
+ let menus = JSON.parse(JSON.stringify(this.menus))
183
+ let menuList = []
184
+ menus.forEach((sub) => {
185
+ let base = sub.base
186
+ forEachs(sub.menu, (m, i, a, p) => {
187
+ if (m.route) {
188
+ m.pid = p.uuid
189
+ m.route = base + m.route.replace(/\/$/, '')
190
+ m.route || (m.route = '/')
191
+ m.uuid = m.route
192
+
193
+ menuList.push(m)
194
+ }
195
+ })
196
+ })
197
+
198
+ menus.forEach((sub) => {
199
+ sub.menu = sub.menu.filter((c) => !c.hide)
200
+ forEachs(sub.menu, (m) => {
201
+ if (m.children) {
202
+ let cN = m.children.filter((c) => !c.hide)
203
+ m.children = cN.length ? cN : undefined
204
+ }
205
+ })
206
+ })
207
+
208
+ this.menusC = menus
209
+ this.menuList = menuList
210
+ },
211
+ getTabList() {
212
+ let tabList = JSON.parse(window.sessionStorage.getItem('tab-list')) || []
213
+ this.tabList = tabList
214
+ },
215
+ setTabList() {
216
+ window.sessionStorage.setItem('tab-list', JSON.stringify(this.tabList))
217
+ },
218
+ getActiveNav() {
219
+ let tab = this.tabList.find(
220
+ (t) => this.$route.path === t.uuid || this.$route.path === t.route
221
+ )
222
+ if (tab) {
223
+ this.activeNav = tab.uuid
224
+ } else if (this.keepTab) {
225
+ this.$router.replace({
226
+ path: this.keepTab
227
+ })
228
+ }
229
+ },
230
+ routerPush({ path, query = {} }) {
231
+ if (path !== this.$route.path) {
232
+ this.$router.push({
233
+ path: path,
234
+ query: query
235
+ })
236
+ } else if (JSON.stringify(query) !== JSON.stringify(this.$route.query)) {
237
+ this.$router.push({
238
+ path: path,
239
+ query: query
240
+ })
241
+ }
242
+ },
243
+ menuClick(menu) {
244
+ this.routerPush({ path: menu.route })
245
+ },
246
+ tabClick(tab) {
247
+ this.activeNav = tab.uuid
248
+
249
+ this.routerPush({
250
+ path: tab.route,
251
+ query: tab.query
252
+ })
253
+ },
254
+ tabReplace(opt) {
255
+ let { path } = opt
256
+ path = path.replace(routerBaseRe, '/')
257
+ path = path.replace(/\/$/, '')
258
+
259
+ let tab = this.tabList.find((t) => t.uuid === this.activeNav)
260
+ if (tab) {
261
+ if (window._tab_cache_route === tab.route) {
262
+ setTimeout(() => {
263
+ window._tab_cache_route = undefined
264
+ }, 100)
265
+ } else {
266
+ this.removeOcache({ path: tab.route })
267
+ }
268
+
269
+ this.$set(tab, 'route', path)
270
+ for (let k in opt) {
271
+ k !== 'path' && this.$set(tab, k, opt[k])
272
+ }
273
+ }
274
+ },
275
+ tabAddO(opt) {
276
+ let { path, query } = opt
277
+ path = path.replace(routerBaseRe, '/')
278
+ path = path.replace(/\/$/, '')
279
+ path || (path = '/')
280
+
281
+ let tab = this.tabList.find((t) => t.route === path)
282
+ if (tab) {
283
+ this.activeNav = tab.uuid
284
+
285
+ let queryStr = JSON.stringify({ ...tab.query, _fromNo: undefined })
286
+ let queryStrN = JSON.stringify({ ...query, _fromNo: undefined })
287
+
288
+ this.$set(tab, 'route', path)
289
+ for (let k in opt) {
290
+ k !== 'path' && this.$set(tab, k, opt[k])
291
+ }
292
+
293
+ queryStr !== queryStrN && this.tabRefresh({ uuid: tab.uuid })
294
+ } else {
295
+ let tabI = this.tabList.findIndex((t) => t.uuid === path)
296
+ tab = this.tabList[tabI]
297
+ if (tab) {
298
+ if (window._tab_cache_route === tab.route) {
299
+ setTimeout(() => {
300
+ window._tab_cache_route = undefined
301
+ }, 100)
302
+ } else {
303
+ this.removeOcache({ path: tab.route })
304
+ }
305
+
306
+ for (let k in opt) {
307
+ k !== 'path' && this.$set(tab, k, opt[k])
308
+ }
309
+ } else {
310
+ let tabN = {
311
+ ...opt,
312
+ route: path,
313
+ path: undefined,
314
+ uuid: path,
315
+ keep: path === this.keepTab ? true : undefined
316
+ }
317
+ this.tabList.push(tabN)
318
+ this.activeNav = path
319
+ }
320
+ }
321
+ },
322
+ tabAdd(opt) {
323
+ let { path, query } = opt
324
+ this.$router.push({ path, query })
325
+ this.$nextTick(() => {
326
+ this.tabAddO(opt)
327
+ })
328
+ },
329
+ tabClose({ uuid, path }) {
330
+ let tabI = -1
331
+ if (uuid) {
332
+ tabI = this.tabList.findIndex((t) => t.uuid === uuid)
333
+ } else if (path) {
334
+ tabI = this.tabList.findIndex((t) => t.route === path)
335
+ }
336
+ if (tabI !== -1) {
337
+ uuid = this.tabList[tabI].uuid
338
+ let path = this.tabList[tabI].route
339
+
340
+ this.tabList.splice(tabI, 1)
341
+ if (uuid === this.activeNav) {
342
+ let tabN = this.tabList[tabI] || this.tabList[tabI - 1]
343
+ if (tabN) {
344
+ if (tabN.uuid !== this.activeNav) {
345
+ this.routerPush({
346
+ path: tabN.route,
347
+ query: tabN.query
348
+ })
349
+ }
350
+ } else {
351
+ this.routerPush({
352
+ path: '/'
353
+ })
354
+ }
355
+ }
356
+
357
+ setTimeout(() => {
358
+ this.removeOcache({ path: path })
359
+ }, 100)
360
+ } else {
361
+ console.warn('请求关闭的Tab页签不存在')
362
+ }
363
+ },
364
+ tabCloseNexts(uuid) {
365
+ let tabI = this.tabList.findIndex((t) => t.uuid === uuid)
366
+ let nextTabs = this.tabList.splice(tabI + 1)
367
+
368
+ if (!this.tabList.some((t) => t.uuid === this.activeNav)) {
369
+ let tab = this.tabList[tabI]
370
+ this.activeNav = tab.uuid
371
+ this.routerPush({
372
+ path: tab.route,
373
+ query: tab.query
374
+ })
375
+ }
376
+
377
+ setTimeout(() => {
378
+ nextTabs.forEach((t) => {
379
+ this.removeOcache({ path: t.route })
380
+ })
381
+ nextTabs = undefined
382
+ }, 100)
383
+ },
384
+ tabCloseOthers(uuid) {
385
+ let tab = this.tabList.find((t) => t.uuid === uuid)
386
+ let tabs = []
387
+ let otherTabs = []
388
+ this.tabList.forEach((t) => {
389
+ if (t.uuid === uuid) {
390
+ tabs.push(t)
391
+ tab = t
392
+ } else if (t.keep) {
393
+ tabs.push(t)
394
+ } else {
395
+ otherTabs.push(t)
396
+ }
397
+ })
398
+
399
+ this.tabList = tabs
400
+ if (this.activeNav !== tab.uuid) {
401
+ this.activeNav = tab.uuid
402
+ this.routerPush({
403
+ path: tab.route,
404
+ query: tab.query
405
+ })
406
+ }
407
+
408
+ setTimeout(() => {
409
+ otherTabs.forEach((t) => {
410
+ this.removeOcache({ path: t.route })
411
+ })
412
+ otherTabs = undefined
413
+ }, 100)
414
+ },
415
+ tabRefresh({ uuid, path }) {
416
+ let tab = undefined
417
+ if (uuid) {
418
+ tab = this.tabList.find((t) => uuid === t.uuid)
419
+ } else if (path) {
420
+ tab = this.tabList.find((t) => t.route === path)
421
+ }
422
+
423
+ if (
424
+ tab.uuid === this.activeNav &&
425
+ this.$route.matched[0]['path'] !== '*'
426
+ ) {
427
+ let path = this.$route.path
428
+ let oTab = JSON.parse(
429
+ JSON.stringify({
430
+ path: this.$route.path,
431
+ query: this.$route.query
432
+ })
433
+ )
434
+
435
+ this.$router.replace('/loading')
436
+ this.removeOcache({ path: path })
437
+ this.$nextTick(() => {
438
+ this.$router.replace(oTab)
439
+ })
440
+ } else {
441
+ this.removeOcache({ path: tab.route })
442
+ }
443
+ },
444
+ tabSetName({ uuid, path, title }) {
445
+ let tabI = -1
446
+ if (uuid) {
447
+ tabI = this.tabList.findIndex((t) => t.uuid === uuid)
448
+ } else if (path) {
449
+ tabI = this.tabList.findIndex((t) => t.route === path)
450
+ }
451
+ if (tabI !== -1) {
452
+ let tab = this.tabList[tabI]
453
+ tab.title = title
454
+ }
455
+ },
456
+ removeOcache({ path }) {
457
+ if (!this.dnsKey) return
458
+
459
+ let componentInstance =
460
+ this.$refs['content-cache']?.$vnode.parent.componentInstance
461
+
462
+ if (componentInstance) {
463
+ let kI = componentInstance.keys.findIndex((k) => k === path)
464
+ if (kI !== -1) {
465
+ window._pending_update_cache[path] = true
466
+ window.postMessage({
467
+ updateCache: true,
468
+ targetName: '*',
469
+ originName: 'main'
470
+ })
471
+ let isNull = componentInstance.cache[path].componentInstance.isNull
472
+ if (isNull) {
473
+ return
474
+ }
475
+ let destroy = componentInstance.cache[path].componentInstance.destroy
476
+ destroy && destroy()
477
+
478
+ delete componentInstance.cache[path]
479
+ componentInstance.keys.splice(kI, 1)
480
+
481
+ // console.log({
482
+ // cache: componentInstance.cache,
483
+ // keys: componentInstance.keys
484
+ // })
485
+ } else {
486
+ window._pending_update_cache[path] = true
487
+ window.postMessage({
488
+ updateCache: true,
489
+ targetName: '*',
490
+ originName: 'main'
491
+ })
492
+ }
493
+ } else {
494
+ window._pending_update_cache[path] = true
495
+ window.postMessage({
496
+ updateCache: true,
497
+ targetName: '*',
498
+ originName: 'main'
499
+ })
500
+ }
501
+ }
502
+ }
503
+ }
504
+
505
+ function getShowUuid(uuid, list) {
506
+ let menu = list.find((m) => m.uuid === uuid)
507
+ if (menu) {
508
+ return menu.hide ? menu.pid : menu.uuid
509
+ }
510
+
511
+ let pid = uuid.replace(/\/[^\/]+\/*$/, '')
512
+ if (pid !== '' && pid !== '/') {
513
+ return getShowUuid(pid, list)
514
+ }
515
+
516
+ return '/'
517
+ }
518
+ </script>