agilebuilder-ui 1.0.0

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 (392) hide show
  1. package/README.md +7 -0
  2. package/index.html +13 -0
  3. package/package.json +36 -0
  4. package/packages/IntervalSelection/index.js +6 -0
  5. package/packages/IntervalSelection/src/quarterScope.vue +405 -0
  6. package/packages/IntervalSelection/src/sectionDate.vue +475 -0
  7. package/packages/breadcrumb/index.js +6 -0
  8. package/packages/breadcrumb/src/breadcrumb.vue +81 -0
  9. package/packages/department-tree/index.js +6 -0
  10. package/packages/department-tree/src/department-tree.vue +114 -0
  11. package/packages/department-tree-inline/index.js +6 -0
  12. package/packages/department-tree-inline/src/department-multi-tree-inline.vue +494 -0
  13. package/packages/department-tree-inline/src/department-single-tree-inline.vue +367 -0
  14. package/packages/department-tree-inline/src/department-tree-inline.vue +86 -0
  15. package/packages/department-tree-inline/src/department-tree-service.js +344 -0
  16. package/packages/department-tree-inline/src/search-result.vue +238 -0
  17. package/packages/department-user-tree/index.js +6 -0
  18. package/packages/department-user-tree/src/department-user-multiple-tree.vue +133 -0
  19. package/packages/department-user-tree/src/department-user-single-tree.vue +96 -0
  20. package/packages/department-user-tree/src/department-user-tree.vue +115 -0
  21. package/packages/department-user-tree-inline/index.js +9 -0
  22. package/packages/department-user-tree-inline/src/department-user-multiple-tree-inline.vue +758 -0
  23. package/packages/department-user-tree-inline/src/department-user-single-tree-inline.vue +358 -0
  24. package/packages/department-user-tree-inline/src/department-user-tree-inline.vue +87 -0
  25. package/packages/department-user-tree-inline/src/department-user-tree-multi-service.js +309 -0
  26. package/packages/department-user-tree-inline/src/department-user-tree-single-service.js +180 -0
  27. package/packages/department-user-tree-inline/src/search-result.vue +286 -0
  28. package/packages/directives/prevent-reclick.js +22 -0
  29. package/packages/dynamic-source-select/index.js +6 -0
  30. package/packages/dynamic-source-select/src/dynamic-source-select-service.js +124 -0
  31. package/packages/dynamic-source-select/src/dynamic-source-select.vue +857 -0
  32. package/packages/dynamic-source-select/src/events.js +77 -0
  33. package/packages/fs-preview/index.js +6 -0
  34. package/packages/fs-preview/src/fs-preview.vue +303 -0
  35. package/packages/fs-upload/index.js +6 -0
  36. package/packages/fs-upload/src/fs-upload-multi.vue +458 -0
  37. package/packages/fs-upload/src/fs-upload-single.vue +365 -0
  38. package/packages/fs-upload/src/fs-upload.vue +191 -0
  39. package/packages/fs-upload/src/see-big-picture.vue +67 -0
  40. package/packages/fs-upload-list/index.js +6 -0
  41. package/packages/fs-upload-list/src/fs-upload-list.vue +387 -0
  42. package/packages/hamburger/index.js +6 -0
  43. package/packages/hamburger/src/hamburger.vue +50 -0
  44. package/packages/index.js +124 -0
  45. package/packages/multipart-upload/index.js +6 -0
  46. package/packages/multipart-upload/src/index.vue +66 -0
  47. package/packages/multipart-upload/src/multipart-upload-form.vue +395 -0
  48. package/packages/multipart-upload/src/multipart-upload-list.vue +539 -0
  49. package/packages/organization-input/index.js +6 -0
  50. package/packages/organization-input/src/organization-input.vue +579 -0
  51. package/packages/plugins/export-data-new.js +630 -0
  52. package/packages/plugins/export-data.js +431 -0
  53. package/packages/plugins/index.js +15 -0
  54. package/packages/plugins/public-method.js +47 -0
  55. package/packages/remove-department/index.js +6 -0
  56. package/packages/remove-department/src/remove-department.vue +201 -0
  57. package/packages/remove-department/src/remove-dept-service.js +31 -0
  58. package/packages/remove-user/index.js +6 -0
  59. package/packages/remove-user/src/remove-user-service.js +31 -0
  60. package/packages/remove-user/src/remove-user.vue +227 -0
  61. package/packages/remove-workgroup/index.js +6 -0
  62. package/packages/remove-workgroup/src/remove-workgroup-service.js +31 -0
  63. package/packages/remove-workgroup/src/remove-workgroup.vue +184 -0
  64. package/packages/rich-editor/index.js +7 -0
  65. package/packages/rich-editor/index.vue +314 -0
  66. package/packages/rich-editor/tinymce/icons/default/icons.min.js +1 -0
  67. package/packages/rich-editor/tinymce/langs/README.md +3 -0
  68. package/packages/rich-editor/tinymce/langs/zh-Hans.js +1 -0
  69. package/packages/rich-editor/tinymce/license.txt +21 -0
  70. package/packages/rich-editor/tinymce/models/dom/model.min.js +4 -0
  71. package/packages/rich-editor/tinymce/plugins/accordion/plugin.min.js +4 -0
  72. package/packages/rich-editor/tinymce/plugins/advlist/plugin.min.js +4 -0
  73. package/packages/rich-editor/tinymce/plugins/anchor/plugin.min.js +4 -0
  74. package/packages/rich-editor/tinymce/plugins/autolink/plugin.min.js +4 -0
  75. package/packages/rich-editor/tinymce/plugins/autoresize/plugin.min.js +4 -0
  76. package/packages/rich-editor/tinymce/plugins/autosave/plugin.min.js +4 -0
  77. package/packages/rich-editor/tinymce/plugins/charmap/plugin.min.js +4 -0
  78. package/packages/rich-editor/tinymce/plugins/code/plugin.min.js +4 -0
  79. package/packages/rich-editor/tinymce/plugins/codesample/plugin.min.js +4 -0
  80. package/packages/rich-editor/tinymce/plugins/directionality/plugin.min.js +4 -0
  81. package/packages/rich-editor/tinymce/plugins/emoticons/js/emojiimages.js +1 -0
  82. package/packages/rich-editor/tinymce/plugins/emoticons/js/emojiimages.min.js +3 -0
  83. package/packages/rich-editor/tinymce/plugins/emoticons/js/emojis.js +1 -0
  84. package/packages/rich-editor/tinymce/plugins/emoticons/js/emojis.min.js +2 -0
  85. package/packages/rich-editor/tinymce/plugins/emoticons/plugin.min.js +4 -0
  86. package/packages/rich-editor/tinymce/plugins/fullscreen/plugin.min.js +4 -0
  87. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/ar.js +90 -0
  88. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/bg_BG.js +90 -0
  89. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/ca.js +90 -0
  90. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/cs.js +90 -0
  91. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/da.js +90 -0
  92. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/de.js +90 -0
  93. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/el.js +90 -0
  94. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/en.js +90 -0
  95. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/es.js +90 -0
  96. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/eu.js +90 -0
  97. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/fa.js +90 -0
  98. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/fi.js +90 -0
  99. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/fr_FR.js +90 -0
  100. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/he_IL.js +90 -0
  101. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/hi.js +90 -0
  102. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/hr.js +90 -0
  103. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/hu_HU.js +90 -0
  104. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/id.js +90 -0
  105. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/it.js +90 -0
  106. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/ja.js +90 -0
  107. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/kk.js +90 -0
  108. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/ko_KR.js +90 -0
  109. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/ms.js +90 -0
  110. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/nb_NO.js +90 -0
  111. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/nl.js +90 -0
  112. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/pl.js +90 -0
  113. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/pt_BR.js +90 -0
  114. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/pt_PT.js +90 -0
  115. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/ro.js +90 -0
  116. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/ru.js +90 -0
  117. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/sk.js +90 -0
  118. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/sl_SI.js +90 -0
  119. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/sv_SE.js +90 -0
  120. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/th_TH.js +90 -0
  121. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/tr.js +90 -0
  122. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/uk.js +90 -0
  123. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/vi.js +90 -0
  124. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/zh_CN.js +84 -0
  125. package/packages/rich-editor/tinymce/plugins/help/js/i18n/keynav/zh_TW.js +90 -0
  126. package/packages/rich-editor/tinymce/plugins/help/plugin.min.js +4 -0
  127. package/packages/rich-editor/tinymce/plugins/image/plugin.min.js +4 -0
  128. package/packages/rich-editor/tinymce/plugins/importcss/plugin.min.js +4 -0
  129. package/packages/rich-editor/tinymce/plugins/insertdatetime/plugin.min.js +4 -0
  130. package/packages/rich-editor/tinymce/plugins/link/plugin.min.js +4 -0
  131. package/packages/rich-editor/tinymce/plugins/lists/plugin.min.js +4 -0
  132. package/packages/rich-editor/tinymce/plugins/media/plugin.min.js +4 -0
  133. package/packages/rich-editor/tinymce/plugins/nonbreaking/plugin.min.js +4 -0
  134. package/packages/rich-editor/tinymce/plugins/pagebreak/plugin.min.js +4 -0
  135. package/packages/rich-editor/tinymce/plugins/preview/plugin.min.js +4 -0
  136. package/packages/rich-editor/tinymce/plugins/quickbars/plugin.min.js +4 -0
  137. package/packages/rich-editor/tinymce/plugins/save/plugin.min.js +4 -0
  138. package/packages/rich-editor/tinymce/plugins/searchreplace/plugin.min.js +4 -0
  139. package/packages/rich-editor/tinymce/plugins/table/plugin.min.js +4 -0
  140. package/packages/rich-editor/tinymce/plugins/template/plugin.min.js +4 -0
  141. package/packages/rich-editor/tinymce/plugins/visualblocks/plugin.min.js +4 -0
  142. package/packages/rich-editor/tinymce/plugins/visualchars/plugin.min.js +4 -0
  143. package/packages/rich-editor/tinymce/plugins/wordcount/plugin.min.js +4 -0
  144. package/packages/rich-editor/tinymce/skins/content/dark/content.js +2 -0
  145. package/packages/rich-editor/tinymce/skins/content/dark/content.min.css +1 -0
  146. package/packages/rich-editor/tinymce/skins/content/default/content.js +2 -0
  147. package/packages/rich-editor/tinymce/skins/content/default/content.min.css +1 -0
  148. package/packages/rich-editor/tinymce/skins/content/document/content.js +2 -0
  149. package/packages/rich-editor/tinymce/skins/content/document/content.min.css +1 -0
  150. package/packages/rich-editor/tinymce/skins/content/tinymce-5/content.js +2 -0
  151. package/packages/rich-editor/tinymce/skins/content/tinymce-5/content.min.css +1 -0
  152. package/packages/rich-editor/tinymce/skins/content/tinymce-5-dark/content.js +2 -0
  153. package/packages/rich-editor/tinymce/skins/content/tinymce-5-dark/content.min.css +1 -0
  154. package/packages/rich-editor/tinymce/skins/content/writer/content.js +2 -0
  155. package/packages/rich-editor/tinymce/skins/content/writer/content.min.css +1 -0
  156. package/packages/rich-editor/tinymce/skins/ui/oxide/content.inline.js +2 -0
  157. package/packages/rich-editor/tinymce/skins/ui/oxide/content.inline.min.css +1 -0
  158. package/packages/rich-editor/tinymce/skins/ui/oxide/content.js +2 -0
  159. package/packages/rich-editor/tinymce/skins/ui/oxide/content.min.css +1 -0
  160. package/packages/rich-editor/tinymce/skins/ui/oxide/skin.js +2 -0
  161. package/packages/rich-editor/tinymce/skins/ui/oxide/skin.min.css +1 -0
  162. package/packages/rich-editor/tinymce/skins/ui/oxide/skin.shadowdom.js +2 -0
  163. package/packages/rich-editor/tinymce/skins/ui/oxide/skin.shadowdom.min.css +1 -0
  164. package/packages/rich-editor/tinymce/skins/ui/oxide-dark/content.inline.js +2 -0
  165. package/packages/rich-editor/tinymce/skins/ui/oxide-dark/content.inline.min.css +1 -0
  166. package/packages/rich-editor/tinymce/skins/ui/oxide-dark/content.js +2 -0
  167. package/packages/rich-editor/tinymce/skins/ui/oxide-dark/content.min.css +1 -0
  168. package/packages/rich-editor/tinymce/skins/ui/oxide-dark/skin.js +2 -0
  169. package/packages/rich-editor/tinymce/skins/ui/oxide-dark/skin.min.css +1 -0
  170. package/packages/rich-editor/tinymce/skins/ui/oxide-dark/skin.shadowdom.js +2 -0
  171. package/packages/rich-editor/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +1 -0
  172. package/packages/rich-editor/tinymce/skins/ui/tinymce-5/content.inline.js +2 -0
  173. package/packages/rich-editor/tinymce/skins/ui/tinymce-5/content.inline.min.css +1 -0
  174. package/packages/rich-editor/tinymce/skins/ui/tinymce-5/content.js +2 -0
  175. package/packages/rich-editor/tinymce/skins/ui/tinymce-5/content.min.css +1 -0
  176. package/packages/rich-editor/tinymce/skins/ui/tinymce-5/skin.js +2 -0
  177. package/packages/rich-editor/tinymce/skins/ui/tinymce-5/skin.min.css +1 -0
  178. package/packages/rich-editor/tinymce/skins/ui/tinymce-5/skin.shadowdom.js +2 -0
  179. package/packages/rich-editor/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.css +1 -0
  180. package/packages/rich-editor/tinymce/skins/ui/tinymce-5-dark/content.inline.js +2 -0
  181. package/packages/rich-editor/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css +1 -0
  182. package/packages/rich-editor/tinymce/skins/ui/tinymce-5-dark/content.js +2 -0
  183. package/packages/rich-editor/tinymce/skins/ui/tinymce-5-dark/content.min.css +1 -0
  184. package/packages/rich-editor/tinymce/skins/ui/tinymce-5-dark/skin.js +2 -0
  185. package/packages/rich-editor/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -0
  186. package/packages/rich-editor/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.js +2 -0
  187. package/packages/rich-editor/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.css +1 -0
  188. package/packages/rich-editor/tinymce/themes/silver/theme.min.js +4 -0
  189. package/packages/rich-editor/tinymce/tinymce.d.ts +3238 -0
  190. package/packages/rich-editor/tinymce/tinymce.min.js +4 -0
  191. package/packages/rich-editor/tinymce/zh_CN.js +418 -0
  192. package/packages/rich-editor/viewer.vue +105 -0
  193. package/packages/scan-code-input/index.js +6 -0
  194. package/packages/scan-code-input/src/events.js +34 -0
  195. package/packages/scan-code-input/src/scan-code-input-colse.vue +140 -0
  196. package/packages/scan-code-input/src/scan-code-input.vue +132 -0
  197. package/packages/secret-info/index.js +7 -0
  198. package/packages/secret-info/index.vue +100 -0
  199. package/packages/super-grid/index.js +7 -0
  200. package/packages/super-grid/src/apis.js +1193 -0
  201. package/packages/super-grid/src/columns-config.vue +429 -0
  202. package/packages/super-grid/src/components/grid-icon.vue +162 -0
  203. package/packages/super-grid/src/components/hyperlinks.vue +114 -0
  204. package/packages/super-grid/src/custom-formatter.js +430 -0
  205. package/packages/super-grid/src/dynamic-input.vue +1473 -0
  206. package/packages/super-grid/src/eventBus.js +10 -0
  207. package/packages/super-grid/src/events.js +56 -0
  208. package/packages/super-grid/src/formValidatorUtil.js +300 -0
  209. package/packages/super-grid/src/formatter.js +196 -0
  210. package/packages/super-grid/src/group-column.vue +99 -0
  211. package/packages/super-grid/src/header-context-menu.vue +82 -0
  212. package/packages/super-grid/src/index-column.vue +69 -0
  213. package/packages/super-grid/src/normal-column.vue +1239 -0
  214. package/packages/super-grid/src/public-methods.js +30 -0
  215. package/packages/super-grid/src/row-operation.vue +193 -0
  216. package/packages/super-grid/src/search-button.vue +79 -0
  217. package/packages/super-grid/src/search-condition-input.vue +74 -0
  218. package/packages/super-grid/src/search-condition-list.vue +70 -0
  219. package/packages/super-grid/src/search-form-advancedQuery.vue +833 -0
  220. package/packages/super-grid/src/search-form-dialog.vue +77 -0
  221. package/packages/super-grid/src/search-form-item.vue +496 -0
  222. package/packages/super-grid/src/search-form-number.vue +111 -0
  223. package/packages/super-grid/src/search-form-open.vue +178 -0
  224. package/packages/super-grid/src/search-form-ordinarySearch.vue +248 -0
  225. package/packages/super-grid/src/search-form.vue +767 -0
  226. package/packages/super-grid/src/search-methods.js +591 -0
  227. package/packages/super-grid/src/selection-column.vue +46 -0
  228. package/packages/super-grid/src/store.js +3 -0
  229. package/packages/super-grid/src/super-grid-service.js +729 -0
  230. package/packages/super-grid/src/super-grid.vue +3025 -0
  231. package/packages/super-grid/src/utils.js +880 -0
  232. package/packages/super-grid/src/view-image-dialog.vue +190 -0
  233. package/packages/super-nine-grid/index.js +7 -0
  234. package/packages/super-nine-grid/src/apis.js +108 -0
  235. package/packages/super-nine-grid/src/custom-formatter.js +73 -0
  236. package/packages/super-nine-grid/src/formatter.js +134 -0
  237. package/packages/super-nine-grid/src/search-form-number.vue +35 -0
  238. package/packages/super-nine-grid/src/search-form.vue +704 -0
  239. package/packages/super-nine-grid/src/search-methods.js +151 -0
  240. package/packages/super-nine-grid/src/store.js +3 -0
  241. package/packages/super-nine-grid/src/super-grid-service.js +108 -0
  242. package/packages/super-nine-grid/src/super-nine-grid.vue +1211 -0
  243. package/packages/super-nine-grid/src/utils.js +264 -0
  244. package/packages/svg-icon/index.js +6 -0
  245. package/packages/svg-icon/src/svg-icon.vue +43 -0
  246. package/packages/utils/date-util.js +292 -0
  247. package/packages/utils/dom.js +227 -0
  248. package/packages/utils/gogocodeTransfer.js +59 -0
  249. package/packages/utils/memory-cache-utils.js +117 -0
  250. package/packages/utils/utils.js +180 -0
  251. package/packages/utils/value-set.js +97 -0
  252. package/packages/valid-code/index.js +7 -0
  253. package/packages/valid-code/src/valid-code.vue +104 -0
  254. package/packages/workflow-button/index.js +6 -0
  255. package/packages/workflow-button/src/workflow-button.vue +569 -0
  256. package/packages/workflow-history-list/index.js +6 -0
  257. package/packages/workflow-history-list/src/api.js +7 -0
  258. package/packages/workflow-history-list/src/workflow-history-list.vue +302 -0
  259. package/packages/workgroup-tree/index.js +6 -0
  260. package/packages/workgroup-tree/src/workgroup-tree.vue +87 -0
  261. package/packages/workgroup-tree-inline/index.js +6 -0
  262. package/packages/workgroup-tree-inline/src/search-result.vue +226 -0
  263. package/packages/workgroup-tree-inline/src/workgroup-tree-inline.vue +539 -0
  264. package/packages/workgroup-tree-inline/src/workgroup-tree-service.js +93 -0
  265. package/packages/workgroup-user-tree/index.js +6 -0
  266. package/packages/workgroup-user-tree/src/workgroup-user-tree.vue +104 -0
  267. package/packages/workgroup-user-tree-inline/index.js +9 -0
  268. package/packages/workgroup-user-tree-inline/src/search-result.vue +270 -0
  269. package/packages/workgroup-user-tree-inline/src/workgroup-tree-inline-service.js +239 -0
  270. package/packages/workgroup-user-tree-inline/src/workgroup-user-tree-inline.vue +681 -0
  271. package/packages/year-range-picker/index.js +6 -0
  272. package/packages/year-range-picker/src/year-range-picker.vue +53 -0
  273. package/public/vite.svg +1 -0
  274. package/src/api/sso-service.js +193 -0
  275. package/src/api/tab.js +36 -0
  276. package/src/api/user-service.js +11 -0
  277. package/src/assets/401/401.gif +0 -0
  278. package/src/assets/404/404-cloud.png +0 -0
  279. package/src/assets/404/404.png +0 -0
  280. package/src/assets/cloud.png +0 -0
  281. package/src/assets/nonemessage.png +0 -0
  282. package/src/directives/permission/index.js +13 -0
  283. package/src/directives/permission/permission.js +20 -0
  284. package/src/i18n/i18n.js +16 -0
  285. package/src/i18n/langs/cn.js +266 -0
  286. package/src/i18n/langs/en.js +276 -0
  287. package/src/index.js +93 -0
  288. package/src/permission.js +242 -0
  289. package/src/plugins.js +18 -0
  290. package/src/router/index.js +92 -0
  291. package/src/store/getters.js +15 -0
  292. package/src/store/index.js +19 -0
  293. package/src/store/modules/app.js +54 -0
  294. package/src/store/modules/permission.js +143 -0
  295. package/src/store/modules/tab-content.js +36 -0
  296. package/src/store/modules/user.js +365 -0
  297. package/src/styles/display-layout.scss +34 -0
  298. package/src/styles/element-ui.scss +29 -0
  299. package/src/styles/index.scss +157 -0
  300. package/src/styles/mixin.scss +27 -0
  301. package/src/styles/theme/black/font-style.scss +70 -0
  302. package/src/styles/theme/black/index.scss +306 -0
  303. package/src/styles/theme/black/sidebar.scss +189 -0
  304. package/src/styles/theme/blue/font-style.scss +46 -0
  305. package/src/styles/theme/blue/index.scss +172 -0
  306. package/src/styles/theme/blue/sidebar.scss +171 -0
  307. package/src/styles/theme/blue2/font-style.scss +70 -0
  308. package/src/styles/theme/blue2/index.scss +188 -0
  309. package/src/styles/theme/blue2/sidebar.scss +201 -0
  310. package/src/styles/theme/dark-blue/button.scss +78 -0
  311. package/src/styles/theme/dark-blue/card.scss +63 -0
  312. package/src/styles/theme/dark-blue/checkbox.scss +10 -0
  313. package/src/styles/theme/dark-blue/dark-blue-var.scss +9 -0
  314. package/src/styles/theme/dark-blue/dialog.scss +17 -0
  315. package/src/styles/theme/dark-blue/element-variables.scss +7 -0
  316. package/src/styles/theme/dark-blue/font.scss +71 -0
  317. package/src/styles/theme/dark-blue/form.scss +51 -0
  318. package/src/styles/theme/dark-blue/index.scss +277 -0
  319. package/src/styles/theme/dark-blue/input.scss +15 -0
  320. package/src/styles/theme/dark-blue/message.scss +8 -0
  321. package/src/styles/theme/dark-blue/pagination.scss +18 -0
  322. package/src/styles/theme/dark-blue/radio.scss +13 -0
  323. package/src/styles/theme/dark-blue/scrollbar-style.scss +32 -0
  324. package/src/styles/theme/dark-blue/sidebar.scss +268 -0
  325. package/src/styles/theme/dark-blue/tab.scss +83 -0
  326. package/src/styles/theme/dark-blue/table.scss +60 -0
  327. package/src/styles/theme/dark-blue/tree.scss +57 -0
  328. package/src/styles/theme/dark-blue/var.scss +1028 -0
  329. package/src/styles/theme/gray/card-style.scss +54 -0
  330. package/src/styles/theme/gray/font-style.scss +70 -0
  331. package/src/styles/theme/gray/index.scss +172 -0
  332. package/src/styles/theme/gray/input-style.scss +19 -0
  333. package/src/styles/theme/gray/scrollbar-style.scss +32 -0
  334. package/src/styles/theme/gray/sidebar.scss +243 -0
  335. package/src/styles/theme/gray/tab-style.scss +81 -0
  336. package/src/styles/transition.scss +47 -0
  337. package/src/utils/auth-api.js +259 -0
  338. package/src/utils/auth.js +98 -0
  339. package/src/utils/calculator/calculator-factory-wf.js +558 -0
  340. package/src/utils/calculator/calculator-factory.js +145 -0
  341. package/src/utils/calculator/calculator-util.js +166 -0
  342. package/src/utils/common-util.js +474 -0
  343. package/src/utils/eventBus.js +10 -0
  344. package/src/utils/iconUtils.js +37 -0
  345. package/src/utils/index.js +102 -0
  346. package/src/utils/jump-page-utils.js +824 -0
  347. package/src/utils/local-storage.js +33 -0
  348. package/src/utils/menu.js +19 -0
  349. package/src/utils/permission.js +31 -0
  350. package/src/utils/permissionAuth.js +121 -0
  351. package/src/utils/range-selector.js +204 -0
  352. package/src/utils/request.js +280 -0
  353. package/src/utils/restful-interface-utils.js +57 -0
  354. package/src/utils/util.js +910 -0
  355. package/src/utils/validate.js +34 -0
  356. package/src/utils/watermark.js +108 -0
  357. package/src/utils/workflow-util.js +104 -0
  358. package/src/views/404.vue +248 -0
  359. package/src/views/dsc-component/Sidebar/Item.vue +81 -0
  360. package/src/views/dsc-component/Sidebar/Link.vue +38 -0
  361. package/src/views/dsc-component/Sidebar/SidebarItem.vue +197 -0
  362. package/src/views/dsc-component/Sidebar/index.vue +229 -0
  363. package/src/views/dsc-component/tabs/tab-content.vue +215 -0
  364. package/src/views/error-page/401.vue +106 -0
  365. package/src/views/error-page/404.vue +248 -0
  366. package/src/views/layout/EmptyLayout.vue +3 -0
  367. package/src/views/layout/Layout.vue +81 -0
  368. package/src/views/layout/NewLayout.vue +18 -0
  369. package/src/views/layout/components/AppMain.vue +39 -0
  370. package/src/views/layout/components/Breadcrumb/index.vue +158 -0
  371. package/src/views/layout/components/Menubar/Item.vue +79 -0
  372. package/src/views/layout/components/Menubar/Link.vue +38 -0
  373. package/src/views/layout/components/Menubar/SidebarItem.vue +261 -0
  374. package/src/views/layout/components/Menubar/index.vue +210 -0
  375. package/src/views/layout/components/Sidebar/Item.vue +53 -0
  376. package/src/views/layout/components/Sidebar/Link.vue +38 -0
  377. package/src/views/layout/components/Sidebar/SidebarItem.vue +135 -0
  378. package/src/views/layout/components/Sidebar/index.vue +141 -0
  379. package/src/views/layout/components/iframe-page.vue +38 -0
  380. package/src/views/layout/components/index.js +4 -0
  381. package/src/views/layout/components/tabs/tab-content.vue +214 -0
  382. package/src/views/layout/mixin/ResizeHandler.js +41 -0
  383. package/src/views/layout/tab-content-iframe-index.vue +38 -0
  384. package/src/views/layout/tab-content-index.vue +92 -0
  385. package/src/views/login/authredirect.vue +10 -0
  386. package/src/views/login/index.vue +296 -0
  387. package/src/views/login/update-password.vue +243 -0
  388. package/src/views/redirect/index.vue +14 -0
  389. package/src/views/svg-icon/index.js +6 -0
  390. package/src/views/svg-icon/src/svg-icon.vue +46 -0
  391. package/src/views/wf-history/tache-subprocess-history.vue +45 -0
  392. package/vite.config.js +37 -0
@@ -0,0 +1,197 @@
1
+ <template>
2
+ <div class="menu-wrapper">
3
+ <template v-if="!item.children || item.children.lenght === 0">
4
+ <app-link :to="toPath(item)" @click="clickMenu(toPath(item))">
5
+ <el-menu-item
6
+ :index="resolvePath(item.code, item.path, item.pageType)"
7
+ :class="{ 'submenu-title-noDropdown': !isNest }"
8
+ >
9
+ <item
10
+ :icon="item.iconName"
11
+ :title="getI18nName(item)"
12
+ :is-root="true"
13
+ />
14
+ </el-menu-item>
15
+ </app-link>
16
+ </template>
17
+
18
+ <el-sub-menu
19
+ v-else
20
+ :index="resolvePath(item.code, item.path, item.pageType)"
21
+ :show-timeout="0"
22
+ :hide-timeout="50"
23
+ popper-class="sidebar-container-popper"
24
+ >
25
+ <template v-slot:title>
26
+ <item
27
+ :icon="item.iconName"
28
+ :title="getI18nName(item)"
29
+ :has-children="item.children.length > 0 ? true : false"
30
+ />
31
+ </template>
32
+
33
+ <template v-for="child in item.children">
34
+ <sidebar-item
35
+ v-if="child.children && child.children.length > 0"
36
+ :is-nest="true"
37
+ :item="child"
38
+ class="nest-menu"
39
+ />
40
+ <app-link v-else :to="toPath(child)" @click="clickMenu(toPath(child))">
41
+ <el-menu-item
42
+ :index="resolvePath(child.code, child.path, child.pageType)"
43
+ >
44
+ <item :icon="child.iconName" :title="getI18nName(child)" />
45
+ </el-menu-item>
46
+ </app-link>
47
+ </template>
48
+ </el-sub-menu>
49
+ </div>
50
+ </template>
51
+
52
+ <script>
53
+ // import { isExternal } from 'imatrix-ui/src/utils'
54
+ import Item from './Item'
55
+ import AppLink from './Link.vue'
56
+ import * as Vue from 'vue'
57
+ import tabJs from '../../../api/tab'
58
+ import { getI18nName } from '../../../utils/menu'
59
+ // import { SidebarItemChild } from './SidebarItemChild.vue'
60
+ export default {
61
+ name: 'SidebarItem',
62
+ components: { Item, AppLink },
63
+ props: {
64
+ // route object
65
+ item: {
66
+ type: Object,
67
+ required: true,
68
+ },
69
+ isNest: {
70
+ type: Boolean,
71
+ default: false,
72
+ },
73
+ // basePath: {
74
+ // type: String,
75
+ // default: ''
76
+ // }
77
+ },
78
+ data() {
79
+ return {
80
+ onlyOneChild: null,
81
+ }
82
+ },
83
+ methods: {
84
+ ...tabJs,
85
+ hasOneShowingChild(children, parent) {
86
+ if (children && children.length > 0) {
87
+ this.onlyOneChild = children[0]
88
+ }
89
+ // When there is only one child router, the child router is displayed by default
90
+ if (children.length === 1) {
91
+ return true
92
+ }
93
+
94
+ // Show parent if there are no child router to display
95
+ if (!children || children.length === 0) {
96
+ // children不存在
97
+ this.onlyOneChild = { ...parent, path: '', noShowingChildren: true }
98
+ return true
99
+ }
100
+
101
+ return false
102
+ },
103
+ resolvePath(menuCode, pageCode, pageType) {
104
+ if (this.isExternalLink(pageType)) {
105
+ return '/dsc/' + menuCode + '~~'
106
+ } else {
107
+ return '/dsc/' + menuCode + '~~' + pageCode
108
+ }
109
+ },
110
+ toPath(menu) {
111
+ const toPathObj = {}
112
+ const routePath = menu.path
113
+ toPathObj.openWay = menu.openWay
114
+ if (this.isExternalLink(menu.pageType)) {
115
+ toPathObj.path = '/dsc-index/iframe-page'
116
+ toPathObj.tabPath = '/dsc/iframe-page'
117
+ toPathObj.query = {}
118
+ toPathObj.query.src = routePath
119
+ toPathObj.isExternal = true
120
+ // 如果路径中没有拼系统编码,才需要把系统编码放到参数中
121
+ toPathObj.query.customSystem =
122
+ window.$vueApp.config.globalProperties.customSystem
123
+ toPathObj.query._menuCode = menu.code
124
+ toPathObj.query._menuName = getI18nName(menu)
125
+ } else {
126
+ const pageCode = routePath
127
+ toPathObj.path = '/dsc-index/page'
128
+ toPathObj.tabPath = '/dsc/page'
129
+ toPathObj.query = {}
130
+ toPathObj.query.pageCode = pageCode
131
+ toPathObj.query.customSystem =
132
+ window.$vueApp.config.globalProperties.customSystem
133
+ toPathObj.query._menuCode = menu.code
134
+ toPathObj.query._menuName = getI18nName(menu)
135
+ }
136
+ return toPathObj
137
+ },
138
+ // 是否已存在customSystem参数
139
+ isHasCustomSystem(routePath) {
140
+ if (routePath && routePath.indexOf('?') > 0) {
141
+ const params = routePath.substring(routePath.indexOf('?') + 1)
142
+ const paramArr = params.split('&')
143
+ for (let i = 0; i < paramArr.length; i++) {
144
+ const item = paramArr[i]
145
+ const key = item.split('=')[0]
146
+ if (key === 'customSystem') {
147
+ return true
148
+ }
149
+ }
150
+ }
151
+ return false
152
+ },
153
+ clickMenu(toPathObj) {
154
+ // console.log('clickMenu----toPathObj=', toPathObj)
155
+ if (
156
+ toPathObj.openWay &&
157
+ toPathObj.openWay === 'NEW_PAGE_OPEN' &&
158
+ toPathObj.query
159
+ ) {
160
+ // 新页签打开菜单
161
+ let url = toPathObj.query.src
162
+ if (url && url.indexOf('?') > 0) {
163
+ url += '&'
164
+ } else {
165
+ url += '?'
166
+ }
167
+ if (toPathObj.query.customSystem) {
168
+ url += 'customSystem=' + toPathObj.query.customSystem
169
+ }
170
+ if (toPathObj.query._menuCode) {
171
+ url += '_menuCode=' + toPathObj.query._menuCode
172
+ }
173
+ if (toPathObj.query._menuCode) {
174
+ url += '_menuName=' + toPathObj.query._menuName
175
+ }
176
+ window.open(url, toPathObj.query._menuCode)
177
+ } else {
178
+ // 刷新页签打开菜单
179
+ this.addTabs(
180
+ toPathObj.query,
181
+ this.$store.state.tabContent.openTab,
182
+ toPathObj.tabPath
183
+ )
184
+ }
185
+ },
186
+ isExternalLink(pageType) {
187
+ if (pageType && pageType === 'iframe') {
188
+ return true
189
+ }
190
+ return false
191
+ },
192
+ getI18nName(menu) {
193
+ return getI18nName(menu)
194
+ },
195
+ },
196
+ }
197
+ </script>
@@ -0,0 +1,229 @@
1
+ <template>
2
+ <div>
3
+ <el-scrollbar wrap-class="scrollbar-wrapper">
4
+ <keep-alive>
5
+ <el-menu
6
+ :collapse="isCollapse"
7
+ :default-active="getDefaultActive()"
8
+ :show-timeout="200"
9
+ mode="vertical"
10
+ @select="selectMenu"
11
+ >
12
+ <sidebar-item v-for="menu in menus" :key="menu.code" :item="menu"/>
13
+ </el-menu>
14
+ </keep-alive>
15
+ </el-scrollbar>
16
+ <hamburger
17
+ :is-active="sidebar.opened"
18
+ class="hamburger-container"
19
+ @toggleClick="toggleSideBar"
20
+ />
21
+ </div>
22
+ </template>
23
+
24
+ <script>
25
+ import {mapGetters} from 'vuex'
26
+ import SidebarItem from './SidebarItem'
27
+ import Cookies from 'js-cookie'
28
+ import tabJs from '../../../api/tab'
29
+ import {getMenus} from '../../../utils/permissionAuth'
30
+ import {getI18nName} from '../../../utils/menu'
31
+
32
+ export default {
33
+ name: 'Sidebar',
34
+ components: {
35
+ SidebarItem,
36
+ },
37
+ props: {
38
+ systemCode: {
39
+ type: String,
40
+ default: null,
41
+ },
42
+ collapse: {
43
+ type: Boolean,
44
+ default: false,
45
+ },
46
+ },
47
+ data() {
48
+ const menus = getMenus()
49
+ return {
50
+ menus: Object.freeze(menus),
51
+ }
52
+ },
53
+ computed: {
54
+ ...mapGetters(['sidebar']),
55
+ isCollapse() {
56
+ if (this.collapse === false) {
57
+ return !this.sidebar.opened
58
+ }
59
+ return true
60
+ },
61
+ },
62
+ created() {
63
+ const a = new Date().getTime()
64
+ this.firstLeafMenu = this.getMyFirstMenu(this.menus)
65
+ if (this.firstLeafMenu && this.firstLeafMenu.fullPath) {
66
+ // 跳转到第一个页面
67
+ if (
68
+ this.firstLeafMenu.pageType &&
69
+ this.firstLeafMenu.pageType === 'iframe'
70
+ ) {
71
+ const iframeSrc = this.firstLeafMenu.fullPath
72
+ const path = this.firstLeafMenu.path
73
+ const query = {
74
+ src: iframeSrc,
75
+ customSystem: this.systemCode,
76
+ path: path,
77
+ _menuCode: this.firstLeafMenu.code,
78
+ _menuName: getI18nName(this.firstLeafMenu),
79
+ }
80
+ this.addTabs(
81
+ query,
82
+ this.$store.state.tabContent.openTab,
83
+ '/dsc/iframe-page',
84
+ '/dsc/iframe-page'
85
+ )
86
+ this.$router.push({path: '/dsc-index/iframe-page', query: query})
87
+ } else {
88
+ const pageCode = this.firstLeafMenu.path
89
+ const query = {
90
+ customSystem: this.systemCode,
91
+ pageCode: pageCode,
92
+ _menuCode: this.firstLeafMenu.code,
93
+ _menuName: getI18nName(this.firstLeafMenu),
94
+ }
95
+ this.addTabs(
96
+ query,
97
+ this.$store.state.tabContent.openTab,
98
+ '/dsc/page',
99
+ '/dsc/page'
100
+ )
101
+ this.$router.push({path: '/dsc-index/page', query: query})
102
+ // this.$router.push({ path: this.firstLeafMenu.fullPath })
103
+ }
104
+ const b = new Date().getTime()
105
+ console.log('菜单组件==>created==>b-a', b - a)
106
+ }
107
+ },
108
+ methods: {
109
+ ...tabJs,
110
+ getDefaultActive() {
111
+ if (this.firstLeafMenu && this.firstLeafMenu.pageType !== 'iframe') {
112
+ const pageCode = this.firstLeafMenu.path
113
+ return '/dsc/' + this.firstLeafMenu.code + '~~' + pageCode
114
+ } else if (
115
+ this.firstLeafMenu &&
116
+ this.firstLeafMenu.pageType === 'iframe'
117
+ ) {
118
+ return '/dsc/' + this.firstLeafMenu.code + '~~'
119
+ } else {
120
+ return ''
121
+ }
122
+ },
123
+ toggleSideBar() {
124
+ this.$store.dispatch('toggleSidebar')
125
+ },
126
+ selectMenu(index, indexPath) {
127
+ Cookies.set('selectMenu', index)
128
+ },
129
+ getMyFirstMenu(menus) {
130
+ const a = new Date().getTime()
131
+ if (menus && menus.length > 0) {
132
+ let shouldSelectMenu = this.getFirstMenu(menus)
133
+ if (!shouldSelectMenu) {
134
+ shouldSelectMenu = this.getFirstMenuWithCookie(menus)
135
+ }
136
+ const b = new Date().getTime()
137
+ console.log('菜单组件==>getMyFirstMenu==>b-a', b - a)
138
+ // 默认不展示第一个有权限的菜单了,可以去掉下面的代码
139
+ // if (!shouldSelectMenu) {
140
+ // shouldSelectMenu = this.getSelectMenuWithFirstMenu(menus[0])
141
+ // }
142
+ return shouldSelectMenu
143
+ }
144
+ },
145
+ getFirstMenu(menus) {
146
+ if (menus && menus.length > 0) {
147
+ let shouldSelectMenu
148
+ for (let i = 0; i < menus.length; i++) {
149
+ const menu = menus[i]
150
+ shouldSelectMenu = this.getShouldSelectMenu(menu)
151
+ if (shouldSelectMenu) {
152
+ // 表示获得到了应该选中的菜单
153
+ break
154
+ }
155
+ }
156
+ return shouldSelectMenu
157
+ }
158
+ },
159
+ getShouldSelectMenu(menu) {
160
+ // console.log('dsc--getShouldSelectMenu--this.$route=', this.$route)
161
+ const currentMenuCode = this.$route.query
162
+ ? this.$route.query._menuCode
163
+ : null
164
+ if (menu && currentMenuCode) {
165
+ let shouldSelectMenu
166
+ const children = menu.children
167
+ if (children && children.length > 0) {
168
+ shouldSelectMenu = this.getFirstMenu(children)
169
+ } else if (menu.code && menu.code === currentMenuCode) {
170
+ shouldSelectMenu = menu
171
+ }
172
+ return shouldSelectMenu
173
+ }
174
+ },
175
+ getSelectMenuWithFirstMenu(menu) {
176
+ if (menu) {
177
+ let shouldSelectMenu
178
+ const children = menu.children
179
+ if (children && children.length > 0) {
180
+ shouldSelectMenu = this.getFirstMenu(children)
181
+ } else {
182
+ shouldSelectMenu = menu
183
+ }
184
+ return shouldSelectMenu
185
+ }
186
+ },
187
+ getFirstMenuWithCookie(menus) {
188
+ if (menus && menus.length > 0) {
189
+ const cookieMenu = Cookies.get('selectMenu')
190
+ if (cookieMenu) {
191
+ // // 表示缓存中存储了menu,格式为:/dsc/菜单编码~~pageCode
192
+ const prefix = '/dsc/'
193
+ const menuCode = cookieMenu.substring(
194
+ cookieMenu.indexOf(prefix) + prefix.length,
195
+ cookieMenu.lastIndexOf('~~')
196
+ )
197
+
198
+ let shouldSelectMenu
199
+ for (let i = 0; i < menus.length; i++) {
200
+ const menu = menus[i]
201
+ shouldSelectMenu = this.getShouldSelectMenuWithCookie(
202
+ menu,
203
+ menuCode
204
+ )
205
+ if (shouldSelectMenu) {
206
+ // 表示获得到了应该选中的菜单
207
+ break
208
+ }
209
+ }
210
+ return shouldSelectMenu
211
+ }
212
+ }
213
+ },
214
+ getShouldSelectMenuWithCookie(menu, menuCode) {
215
+ if (menu) {
216
+ // console.log('dsc--getShouldSelectMenuWithCookie--this.$route=', this.$route)
217
+ let shouldSelectMenu
218
+ const children = menu.children
219
+ if (children && children.length > 0) {
220
+ shouldSelectMenu = this.getFirstMenuWithCookie(children)
221
+ } else if (menu.code && menu.code === menuCode) {
222
+ shouldSelectMenu = menu
223
+ }
224
+ return shouldSelectMenu
225
+ }
226
+ },
227
+ },
228
+ }
229
+ </script>
@@ -0,0 +1,215 @@
1
+ <template>
2
+ <div>
3
+ <el-tabs
4
+ v-if="openTab && openTab.length > 0"
5
+ v-model="activeIndex"
6
+ class="nav-tab menu-tab-container"
7
+ closable
8
+ @tab-remove="closeSelectedTag"
9
+ >
10
+ <el-tab-pane
11
+ v-for="tag in openTab"
12
+ :key="tag.code"
13
+ :label="tag.name"
14
+ :name="tag.code"
15
+ >
16
+ <iframe
17
+ ref="tabMainContent"
18
+ :src="getFullPath(tag)"
19
+ class="tab-main-content"
20
+ name="tab-main-content"
21
+ frameborder="0"
22
+ />
23
+ </el-tab-pane>
24
+ </el-tabs>
25
+ <div class="default-page-tip">
26
+ <div class="default-page-tip-msg">
27
+ <div class="default-page-tip-item">
28
+ {{ defaultPageTipCn }}
29
+ </div>
30
+ <div class="default-page-tip-item">
31
+ {{ defaultPageTipEn }}
32
+ </div>
33
+ </div>
34
+ </div>
35
+ </div>
36
+ </template>
37
+
38
+ <script>
39
+ import * as Vue from 'vue'
40
+ import { mapGetters } from 'vuex'
41
+ export default {
42
+ name: 'TabContent',
43
+ data() {
44
+ let defaultPageTip = window.$vueApp.config.globalProperties.defaultPageTip
45
+ if (!defaultPageTip) {
46
+ defaultPageTip =
47
+ '欢迎访问质量管理系统/Welcome to Quality Management System'
48
+ }
49
+ let defaultPageTipCn = defaultPageTip
50
+ let defaultPageTipEn
51
+ if (defaultPageTip && defaultPageTip.indexOf('/') > 0) {
52
+ defaultPageTipCn = defaultPageTip.substring(
53
+ 0,
54
+ defaultPageTip.lastIndexOf('/')
55
+ )
56
+ defaultPageTipEn = defaultPageTip.substring(
57
+ defaultPageTip.lastIndexOf('/') + 1
58
+ )
59
+ }
60
+ return {
61
+ defaultPageTipCn,
62
+ defaultPageTipEn,
63
+ }
64
+ },
65
+ computed: {
66
+ ...mapGetters(['openTab']),
67
+ activeIndex: {
68
+ get() {
69
+ return this.$store.state.tabContent.activeIndex
70
+ },
71
+ set(val) {
72
+ this.$store.commit('set_active_index', val)
73
+ },
74
+ },
75
+ },
76
+ created() {
77
+ // 登录超时,给父iframe发送信号
78
+ window.addEventListener('message', this.recieveMessage)
79
+ },
80
+ methods: {
81
+ closeSelectedTag(tagName) {
82
+ const index = this.$store.state.tabContent.openTab.findIndex(
83
+ (item) => item.code === tagName
84
+ )
85
+ const view = this.$store.state.tabContent.openTab[index]
86
+ this.$store.commit('delete_tabs', view)
87
+ if (tagName === this.activeIndex) {
88
+ // 表示删除的是当前选中的菜单,选中前面的菜单
89
+ this.toLastView(
90
+ this.$store.state.tabContent.openTab,
91
+ index > 0 ? index - 1 : 0
92
+ )
93
+ }
94
+ },
95
+ toLastView(visitedViews, lastIndex) {
96
+ if (
97
+ visitedViews &&
98
+ visitedViews.length > 0 &&
99
+ visitedViews.length > lastIndex
100
+ ) {
101
+ const latestView = visitedViews[lastIndex]
102
+ if (latestView) {
103
+ this.$store.commit('set_active_index', latestView.code)
104
+ }
105
+ }
106
+ },
107
+ getFullPath(tag) {
108
+ let path
109
+ if (tag.routePath === '/dsc/iframe-page') {
110
+ // 表示是iframe页面
111
+ let src
112
+ let params = ''
113
+ if (tag.routeQuery) {
114
+ const orgParams = []
115
+ const orgPath = tag.routeQuery['src']
116
+ if (orgPath && orgPath.indexOf('?') > 0) {
117
+ const orgParamsStr = orgPath.substring(orgPath.indexOf('?') + 1)
118
+ const orgParamsArr = orgParamsStr.split('&')
119
+ orgParamsArr.forEach(item => {
120
+ orgParams.push(item.substring(0, item.indexOf('=')))
121
+ })
122
+ }
123
+ for (const key in tag.routeQuery) {
124
+ if (key === 'src') {
125
+ src = tag.routeQuery[key]
126
+ } else {
127
+ if (orgParams.indexOf(key) < 0) {
128
+ // 表示原参数中没有该参数,则拼接该参数
129
+ params += key + '=' + tag.routeQuery[key] + '&'
130
+ }
131
+ }
132
+ }
133
+ }
134
+ if (src) {
135
+ path = src
136
+ }
137
+ if (params) {
138
+ if (path && path.indexOf('?') > 0) {
139
+ path += '&' + params
140
+ } else {
141
+ path += '?' + params
142
+ }
143
+ }
144
+ } else {
145
+ // 表示页面跳转
146
+ path = '#' + tag.routePath + '?'
147
+ if (tag.routeQuery) {
148
+ for (const key in tag.routeQuery) {
149
+ path += key + '=' + tag.routeQuery[key] + '&'
150
+ }
151
+ }
152
+ }
153
+ if (
154
+ path &&
155
+ path.length > 0 &&
156
+ path.lastIndexOf('&') === path.length - 1
157
+ ) {
158
+ path = path.substring(0, path.lastIndexOf('&'))
159
+ }
160
+ return path
161
+ },
162
+ recieveMessage(event) {
163
+ if (
164
+ event &&
165
+ typeof event.data === 'string' &&
166
+ event.data.indexOf('loginTimeout') >= 0
167
+ ) {
168
+ // 表示iframe中的页面发送了登录超时的信号,将信号传给最外层window
169
+ console.log(
170
+ 'tab-content-接收到登录超时的信息---event.data=',
171
+ event.data
172
+ )
173
+ window.parent.postMessage(event.data, '*')
174
+ }
175
+ },
176
+ },
177
+ }
178
+ </script>
179
+
180
+ <style lang="scss" rel="stylesheet/scss" scoped>
181
+ iframe.tab-main-content {
182
+ width: 100%;
183
+ height: calc(100vh - 53px);
184
+ }
185
+ </style>
186
+
187
+ <style>
188
+ .nav-tab {
189
+ padding-top: 5px;
190
+ padding-left: 5px;
191
+ }
192
+ .nav-tab .el-tabs__header {
193
+ margin: 0;
194
+ /* border-bottom: 0px; */
195
+ }
196
+ .menu-tab-container .el-tabs__content {
197
+ padding: 0;
198
+ }
199
+ .default-page-tip {
200
+ width: 100%;
201
+ height: 100%;
202
+ background: #f7f7f8;
203
+ }
204
+ .default-page-tip-msg {
205
+ padding-top: 25%;
206
+ padding-bottom: 30%;
207
+ font-size: 24px;
208
+ font-weight: 600;
209
+ text-align: center;
210
+ color: gray;
211
+ }
212
+ .default-page-tip-item {
213
+ padding-top: 10px;
214
+ }
215
+ </style>