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,33 @@
1
+ let api = localStorage
2
+ api = {
3
+ get length() {
4
+ return localStorage.length
5
+ },
6
+ getItem: localStorage.getItem.bind(localStorage),
7
+ setItem: localStorage.setItem.bind(localStorage),
8
+ removeItem: localStorage.removeItem.bind(localStorage),
9
+ key: localStorage.key.bind(localStorage),
10
+ clear: localStorage.clear.bind(localStorage),
11
+ setObject: function (key, object) {
12
+ if (typeof object !== 'object') {
13
+ return this.setItem(key, object)
14
+ }
15
+
16
+ return this.setItem(key, JSON.stringify(object))
17
+ },
18
+ getObject: function (key) {
19
+ var item = this.getItem(key)
20
+
21
+ if (!item) {
22
+ return null
23
+ }
24
+
25
+ try {
26
+ return JSON.parse(item)
27
+ } catch (e) {
28
+ return item
29
+ }
30
+ },
31
+ }
32
+
33
+ export default api
@@ -0,0 +1,19 @@
1
+ import { getLanguageWithLocale } from './util'
2
+
3
+ export function getI18nName(menu) {
4
+ if (!menu) {
5
+ return
6
+ }
7
+ if (menu.i18Names) {
8
+ const language = getLanguageWithLocale()
9
+ const i18Names = JSON.parse(menu.i18Names)
10
+ if (i18Names[language]) {
11
+ return i18Names[language]
12
+ }
13
+ }
14
+ if (menu.i18nValue) {
15
+ return menu.i18nValue
16
+ } else {
17
+ return menu.name
18
+ }
19
+ }
@@ -0,0 +1,31 @@
1
+ import 'nprogress/nprogress.css' // Progress 进度条样式
2
+ import { getPermissions } from './permissionAuth'
3
+
4
+ /**
5
+ * @param {String} value
6
+ * @returns {Boolean}
7
+ */
8
+ export default function checkPermission(permission) {
9
+ if (permission) {
10
+ let hasPermission = false
11
+ const storeCurrentUserPermissions = getPermissions()
12
+ if (
13
+ typeof storeCurrentUserPermissions !== 'undefined' &&
14
+ storeCurrentUserPermissions !== null
15
+ ) {
16
+ const currentPermission = permission.replace(/\./g, '__')
17
+ const permissionResult = storeCurrentUserPermissions[currentPermission]
18
+ // console.log('iMatrix-checkPermission-storeCurrentUserPermissions-result==orgPermission=', permission, '===currentPermission', currentPermission, '==permissionResult=', permissionResult)
19
+ if (permissionResult !== undefined && permissionResult === true) {
20
+ hasPermission = true
21
+ }
22
+ }
23
+
24
+ return hasPermission
25
+ } else {
26
+ console.error(`need permission2! Like v-permission="acs.department.save"`)
27
+ return false
28
+ }
29
+ }
30
+
31
+ export { checkPermission }
@@ -0,0 +1,121 @@
1
+ import * as Vue from 'vue'
2
+ import {getSessionCache} from './auth'
3
+
4
+ const permissionKey = 'PERMISSION-'
5
+ const permissionMenuKey = 'PERMISSION_MENU-'
6
+ const devPlatformPermissionKey = 'DEV_PERMISSIONS'
7
+ export function getSystemCode() {
8
+ let systemCode
9
+ if (window.$vueApp.config.globalProperties.customSystem) {
10
+ systemCode = window.$vueApp.config.globalProperties.customSystem
11
+ } else if (window.$vueApp.config.globalProperties.currentSystem) {
12
+ systemCode = window.$vueApp.config.globalProperties.currentSystem
13
+ } else {
14
+ systemCode = window.$vueApp.config.globalProperties.systemCode
15
+ }
16
+ // let systemCode = window.$vueApp.config.globalProperties.systemCode
17
+ // if (window.$vueApp.config.globalProperties.customSystem) {
18
+ // systemCode = window.$vueApp.config.globalProperties.customSystem
19
+ // }
20
+ return systemCode
21
+ }
22
+
23
+ export function getPermissions() {
24
+ const a = new Date().getTime()
25
+ const systemCode = getSystemCode()
26
+ const permissions = window.sessionStorage.getItem(permissionKey + systemCode)
27
+ if (permissions) {
28
+ return JSON.parse(permissions)
29
+ }
30
+ const b = new Date().getTime()
31
+ window.sessionStorage.setItem('getPermissions==>执行时间:', b - a + '')
32
+ return null
33
+ }
34
+
35
+ export function setPermissions(permissions) {
36
+ const a = new Date().getTime()
37
+ const systemCode = getSystemCode()
38
+ const permissionObjs = {}
39
+ for (let i = 0; i < permissions.length; i++) {
40
+ const permission = permissions[i].replace(/\./g, '__')
41
+ permissionObjs[permission] = true
42
+ }
43
+ window.sessionStorage.setItem(
44
+ permissionKey + systemCode,
45
+ JSON.stringify(permissionObjs)
46
+ )
47
+ const b = new Date().getTime()
48
+ window.sessionStorage.setItem('setPermissions==>执行时间:', b - a + '')
49
+ return permissionObjs
50
+ }
51
+
52
+ export function removePermissions() {
53
+ const systemCode = getSystemCode()
54
+ window.sessionStorage.removeItem(permissionKey + systemCode)
55
+ for (var i = 0; i < window.sessionStorage.length; i++) {
56
+ var key = window.sessionStorage.key(i)
57
+ if (key.indexOf(permissionKey) >= 0) {
58
+ window.sessionStorage.removeItem(key)
59
+ }
60
+ }
61
+ }
62
+
63
+ export function getMenus(systemCode) {
64
+ if (!systemCode) {
65
+ systemCode = getSystemCode()
66
+ }
67
+ let myPermissionMenuKey = permissionMenuKey
68
+ let runDevpJWTKey = '_runDevpJWT'
69
+ let token = getSessionCache(runDevpJWTKey)
70
+ if(!token) {
71
+ // 开发平台iframe访问运行平台token不存在,则表示是正常访问系统
72
+ myPermissionMenuKey = '_run_' + myPermissionMenuKey
73
+ }
74
+ const permissions = window.sessionStorage.getItem(
75
+ myPermissionMenuKey + systemCode
76
+ )
77
+ if (permissions) {
78
+ return JSON.parse(permissions)
79
+ }
80
+ return null
81
+ }
82
+
83
+ export function setMenus(menus, systemCode) {
84
+ if (menus) {
85
+ if (!systemCode) {
86
+ systemCode = getSystemCode()
87
+ }
88
+ let myPermissionMenuKey = permissionMenuKey
89
+ let runDevpJWTKey = '_runDevpJWT'
90
+ let token = getSessionCache(runDevpJWTKey)
91
+ if(!token) {
92
+ // 开发平台iframe访问运行平台token不存在,则表示是正常访问系统
93
+ myPermissionMenuKey = '_run_' + myPermissionMenuKey
94
+ }
95
+ window.sessionStorage.setItem(
96
+ myPermissionMenuKey + systemCode,
97
+ JSON.stringify(menus)
98
+ )
99
+ return menus
100
+ }
101
+ }
102
+
103
+ export function removeMenus(systemCode) {
104
+ if (!systemCode) {
105
+ systemCode = getSystemCode()
106
+ }
107
+ let myPermissionMenuKey = permissionMenuKey
108
+ let runDevpJWTKey = '_runDevpJWT'
109
+ let token = getSessionCache(runDevpJWTKey)
110
+ if(!token) {
111
+ // 开发平台iframe访问运行平台token不存在,则表示是正常访问系统
112
+ myPermissionMenuKey = '_run_' + myPermissionMenuKey
113
+ }
114
+ window.sessionStorage.removeItem(myPermissionMenuKey + systemCode)
115
+ for (var i = 0; i < window.sessionStorage.length; i++) {
116
+ var key = window.sessionStorage.key(i)
117
+ if (key.indexOf(permissionMenuKey) >= 0) {
118
+ window.sessionStorage.removeItem(key)
119
+ }
120
+ }
121
+ }
@@ -0,0 +1,204 @@
1
+ import {getLastNDate} from './util'
2
+ export function getFirstDayOfSeason(date) {
3
+ var month = new Date(date).getMonth()
4
+ if (month < 3) {
5
+ date.setMonth(0)
6
+ } else if (month > 2 && month < 6) {
7
+ date.setMonth(3)
8
+ } else if (month > 5 && month < 9) {
9
+ date.setMonth(6)
10
+ } else if (month > 8 && month < 11) {
11
+ date.setMonth(9)
12
+ }
13
+ date.setDate(1)
14
+ return formatDate(date)
15
+ }
16
+ export function getWeekOfSeason(date) {
17
+ const weekTime = date.getDay() - 1
18
+ if (weekTime === -1) {
19
+ return date.getTime() - 6 * 24 * 60 * 60 * 1000
20
+ } else {
21
+ return date.getTime() - weekTime * 24 * 60 * 60 * 1000
22
+ }
23
+ }
24
+
25
+ function formatDate(time) {
26
+ const date = new Date(time) // 创建Date对象
27
+ const year = date.getFullYear() // 获取年份
28
+ const month = date.getMonth() + 1 // 获取月份,记得+1
29
+ const day = date.getDate() // 获取日期
30
+ return `${year}-${month}-${day}` // 返回格式化后的日期字符串
31
+ }
32
+
33
+ export function formatTimefn(format, dateTime) {
34
+ if (format === undefined || format === null || format === '') {
35
+ let val = dateTime
36
+ // if(typeof dateTime === 'number') {
37
+ // // 表示是毫秒值
38
+ // val = new Date(dateTime)
39
+ // }
40
+ return val
41
+ }
42
+ const nowTime = new Date(dateTime)
43
+ const year = nowTime.getFullYear()
44
+ const month = nowTime.getMonth() + 1
45
+ const date = nowTime.getDate()
46
+ const hour = nowTime.getHours()
47
+ const minute = nowTime.getMinutes()
48
+ const second = nowTime.getSeconds()
49
+
50
+ function getCharCount(char) {
51
+ var regex = new RegExp(char, 'g') // 使用g表示整个字符串都要匹配
52
+ var result = format.match(regex) // match方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
53
+ var count = !result ? 0 : result.length
54
+ return count
55
+ }
56
+ function setDateItem(oneUnit, twoUnit, itemDate) {
57
+ if (getCharCount(oneUnit) === 1) {
58
+ format = format.replace(oneUnit, itemDate)
59
+ } else if (getCharCount(oneUnit) === 2 && itemDate < 10) {
60
+ format = format.replace(twoUnit, '0' + itemDate)
61
+ } else {
62
+ format = format.replace(twoUnit, itemDate)
63
+ }
64
+ }
65
+ // 获取第几周
66
+ function getYearWeek(a, b, c) {
67
+ // a为年 b为月 c为日
68
+ var date1 = new Date(a, parseInt(b) - 1, c)
69
+ var date2 = new Date(a, 0, 1)
70
+ var d = Math.round((date1.valueOf() - date2.valueOf()) / 86400000)
71
+ return Math.ceil((d + (date2.getDay() + 1 - 1)) / 7)
72
+ }
73
+
74
+ if (format.indexOf('y') !== -1) {
75
+ format = format.replace('yyyy', year)
76
+ }
77
+
78
+ if (format.indexOf('M') !== -1) {
79
+ setDateItem('M', 'MM', month)
80
+ }
81
+
82
+ if (format.indexOf('W') !== -1) {
83
+ const week = getYearWeek(year, month, date)
84
+ setDateItem('W', 'WW', week)
85
+ }
86
+ if (format.indexOf('d') !== -1) {
87
+ setDateItem('d', 'dd', date)
88
+ }
89
+
90
+ if (format.indexOf('H') !== -1) {
91
+ setDateItem('H', 'HH', hour)
92
+ }
93
+
94
+ if (format.indexOf('m') !== -1) {
95
+ setDateItem('m', 'mm', minute)
96
+ }
97
+
98
+ if (format.indexOf('s') !== -1) {
99
+ setDateItem('s', 'ss', second)
100
+ }
101
+ return format
102
+ }
103
+
104
+ export function getDateRangeSelectorDefaultValue(stareScopeTimeType, format, defaultValueSetting) {
105
+ let Staretime = ''
106
+ let endTime = new Date()
107
+ const computeTime = new Date()
108
+ if (stareScopeTimeType === 'oneYear') {
109
+ // 近一年
110
+ const yearTime = endTime.getFullYear()
111
+ computeTime.setFullYear(yearTime)
112
+ computeTime.setMonth(0)
113
+ Staretime = computeTime.setDate(1)
114
+ } else if (stareScopeTimeType === 'twoYear') {
115
+ // 近两年
116
+ const yearTime = endTime.getFullYear() - 1
117
+ computeTime.setFullYear(yearTime)
118
+ computeTime.setMonth(0)
119
+ Staretime = computeTime.setDate(1)
120
+ } else if (stareScopeTimeType === 'oneQuarter') {
121
+ // 近一个季度
122
+ Staretime = new Date(getFirstDayOfSeason(computeTime))
123
+ } else if (stareScopeTimeType === 'twoQuarter') {
124
+ // 近两个季度
125
+ const timeMonth = computeTime.getMonth()
126
+ if (endTime.getMonth < 3) {
127
+ const yeaNum = computeTime.getFullYear() - 1
128
+ computeTime.setFullYear(yeaNum)
129
+ computeTime.setMonth(10)
130
+ } else {
131
+ computeTime.setMonth(timeMonth - 3)
132
+ }
133
+ Staretime = new Date(getFirstDayOfSeason(computeTime))
134
+ } else if (stareScopeTimeType === 'threeQuarter') {
135
+ // 近三个季度
136
+ const timeMonth = computeTime.getMonth()
137
+ if (endTime.getMonth < 8 && endTime.getMonth > 2) {
138
+ const yeaNum = computeTime.getFullYear() - 1
139
+ computeTime.setFullYear(yeaNum)
140
+ computeTime.setMonth(8)
141
+ } else if (endTime.getMonth < 3) {
142
+ const yeaNum = computeTime.getFullYear() - 1
143
+ computeTime.setFullYear(yeaNum)
144
+ computeTime.setMonth(5)
145
+ } else {
146
+ computeTime.setMonth(timeMonth - 6)
147
+ }
148
+ Staretime = new Date(getFirstDayOfSeason(computeTime))
149
+ } else if (stareScopeTimeType === 'oneMonth') {
150
+ // 近一个月
151
+ Staretime = computeTime.setDate(1)
152
+ } else if (stareScopeTimeType === 'twoMonth') {
153
+ // 近两个月
154
+ const monthNum = endTime.getMonth() - 1
155
+ if (monthNum > -1) {
156
+ computeTime.setMonth(monthNum)
157
+ } else {
158
+ const yeartime = endTime.getFullYear() - 1
159
+ computeTime.setFullYear(yeartime)
160
+ computeTime.setMonth(11)
161
+ }
162
+ Staretime = computeTime.setDate(1)
163
+ } else if (stareScopeTimeType === 'threeMonth') {
164
+ // 近三个月
165
+ const monthTime = endTime.getMonth() - 2
166
+ if (monthTime > -1) {
167
+ computeTime.setMonth(monthTime)
168
+ } else {
169
+ const yeartime = endTime.getFullYear() - 1
170
+ computeTime.setFullYear(yeartime)
171
+ computeTime.setMonth(10)
172
+ }
173
+ Staretime = computeTime.setDate(1)
174
+ } else if (stareScopeTimeType === 'oneWeek') {
175
+ // 近一周
176
+ const MondayTime = getWeekOfSeason(computeTime)
177
+ Staretime = new Date(MondayTime)
178
+ } else if (stareScopeTimeType === 'twoWeek') {
179
+ // 近两周
180
+ const MondayTime = getWeekOfSeason(computeTime)
181
+ Staretime = new Date(MondayTime - 7 * 24 * 60 * 60 * 1000)
182
+ } else if (stareScopeTimeType === 'threeWeek') {
183
+ // 近三周
184
+ const MondayTime = getWeekOfSeason(computeTime)
185
+ Staretime = new Date(MondayTime - 14 * 24 * 60 * 60 * 1000)
186
+ } else {
187
+ if (defaultValueSetting && defaultValueSetting.includes('${context.')) {
188
+ defaultValueSetting = defaultValueSetting.replace('${context.', '').replace('}', '')
189
+ const dates = getLastNDate(defaultValueSetting)
190
+ if(dates && Array.isArray(dates)) {
191
+ // 表示是区间范围组件需要的值
192
+ Staretime = dates[0]
193
+ endTime = dates[1]
194
+ }
195
+ }
196
+ }
197
+ if (Staretime) {
198
+ const startTimeTemp = new Date(Staretime).getTime()
199
+ const endTimeTemp = endTime.getTime()
200
+ const startDate = formatTimefn(format, startTimeTemp)
201
+ const endDate = formatTimefn(format, endTimeTemp)
202
+ return { startTimeTemp, endTimeTemp, startDate, endDate }
203
+ }
204
+ }
@@ -0,0 +1,280 @@
1
+ import axios from 'axios'
2
+ import { ElMessage as Message } from 'element-plus'
3
+ import { getToken, removeToken } from './auth'
4
+ import store from '../store'
5
+ import checkPermission from './permission'
6
+ import * as Vue from 'vue'
7
+ import { getI18n } from './util'
8
+ import authApi from './auth-api'
9
+ import {
10
+ getRelativeBaseUrl,
11
+ getTimeZone,
12
+ setCustomSystemBackendUrl,
13
+ } from './common-util'
14
+ // 创建axios实例
15
+ const service = axios.create({
16
+ // baseURL: process.env.VUE_APP_BASE_API, // api 的 base_url
17
+ timeout: 300000, // 请求超时时间
18
+ withCredentials: true,
19
+ })
20
+
21
+ // request拦截器
22
+ service.interceptors.request.use(
23
+ (config) => {
24
+ // 防止重复发送ajax请求
25
+ store.commit('togglePreventReclick', true)
26
+ const timeZone = getTimeZone()
27
+ config.headers['timeZone'] = timeZone
28
+ let runDevpJWTKey = '_runDevpJWT'
29
+ let token = authApi.getSessionCache(runDevpJWTKey)
30
+ if(!token) {
31
+ // 开发平台iframe访问运行平台token不存在,则表示是正常访问系统
32
+ token = getToken()
33
+ }
34
+ if (token) {
35
+ config.headers['Authorization'] = token // 让每个请求携带自定义token 请根据实际情况自行修改
36
+ }
37
+ let runCurrentRoleKey = '_RUN_CURRENT_ROLE'
38
+ const currentRole = authApi.getSessionCache(runCurrentRoleKey)
39
+ if(currentRole){
40
+ config.headers[runCurrentRoleKey] = currentRole
41
+ }
42
+ // 将自定义系统编码放入header中
43
+ const customSystem = window.$vueApp.config.globalProperties.customSystem
44
+ if (customSystem) {
45
+ config.headers['customSystem'] = customSystem
46
+ // 重新缓存系统后台路径
47
+ setCustomSystemBackendUrl(customSystem)
48
+ }
49
+ if (window.$vueApp.config.globalProperties.baseURL) {
50
+ config.baseURL = getRelativeBaseUrl(
51
+ window.$vueApp.config.globalProperties.baseURL
52
+ )
53
+ }
54
+ return config
55
+ },
56
+ (error) => {
57
+ // 出错了之后允许再次提交
58
+ store.commit('togglePreventReclick', false)
59
+ // console.log(error) // for debug
60
+ Promise.reject(error)
61
+ }
62
+ )
63
+
64
+ // response 拦截器
65
+ service.interceptors.response.use(
66
+ (response) => {
67
+ // 请求得到响应后,允许再次提交
68
+ store.commit('togglePreventReclick', false)
69
+ return response.data
70
+ },
71
+ (error) => {
72
+ // console.log('err' + error) // for debug
73
+ // 出错了之后允许再次提交
74
+ store.commit('togglePreventReclick', false)
75
+ if (error.response) {
76
+ if (error.response.status === 401) {
77
+ // LoginException(401)
78
+ // 清除window.sessionStorage中的jwt,否则无法转到login页面
79
+ removeToken()
80
+ const isInIframe = window.$vueApp.config.globalProperties.$isInIframe()
81
+ // console.log('isInIframe==========', isInIframe, 'getToken()=', getToken())
82
+ if (isInIframe === true) {
83
+ // 在iframe中时,出现了401错误时,需要进入平台的登录页面,并需要登录后还是进入出错的原页面,而不是永远进入门户页面。
84
+ // 所以使用了跨域发送消息来实现,子页面给父页面发消息,父页面接收该消息,并处理
85
+ // console.log('isInIframe111==========', window.location.href)
86
+ window.parent.postMessage(
87
+ '{"loginTimeout":"' + window.location.href + '"}',
88
+ '*'
89
+ )
90
+ } else {
91
+ // 当前出错的页面不是在子页面iframe内,需要跳转到子系统的登录页面。跳转到业务系统的登录页面,此处不自动跳转了,因为会导致无法跳转到指定页面
92
+ // getLoginUrl().then(loginUrl => {
93
+ // window.location.href = loginUrl
94
+ // })
95
+ }
96
+ } else if (error.response.status === 403) {
97
+ // ForbiddenException(403) 403没权限
98
+ const message = getI18n().t('imatrixUIMessage.forbiddenException')
99
+ Message({
100
+ showClose: true,
101
+ message: message,
102
+ type: 'error',
103
+ duration: 5 * 1000,
104
+ })
105
+ return Promise.reject(error)
106
+ } else if (
107
+ error.response.status === 400 ||
108
+ error.response.status === 406 ||
109
+ error.response.status === 404
110
+ ) {
111
+ // BadRequestException(400) || BusinessException(406) || ResourceNotFoundException(404)
112
+ let message = error.message
113
+ if (message) {
114
+ // 说明是原生的错误,不要显示,显示“请联系管理员”
115
+ message = getI18n().t('imatrixUIMessage.internalServerError')
116
+ }
117
+ if (error.response.data && error.response.data.message) {
118
+ message = error.response.data.message
119
+ }
120
+ Message({
121
+ showClose: true,
122
+ message: message,
123
+ type: 'error',
124
+ duration: 5 * 1000,
125
+ })
126
+ return Promise.reject(error)
127
+ } else {
128
+ let message = error.message
129
+ if (error.response.data && error.response.data.message) {
130
+ message = error.response.data.message
131
+ }
132
+ console.log(message)
133
+ let errorMsg = getI18n().t('imatrixUIMessage.internalServerError')
134
+ if (message && message !== 'Internal Server Error') {
135
+ // 表示显示原始异常
136
+ errorMsg = message
137
+ }
138
+ if (
139
+ message &&
140
+ (message === 'gateway.timeout' || message === 'gateway.callFailed')
141
+ ) {
142
+ // 网关的fallback返回的异常信息“接口调用超时”、“接口调用失败”
143
+ errorMsg = getI18n().t(message)
144
+ }
145
+ Message({
146
+ showClose: true,
147
+ message: errorMsg,
148
+ type: 'error',
149
+ duration: 5 * 1000,
150
+ })
151
+ return Promise.reject(error)
152
+ }
153
+ } else {
154
+ const errorMsg = getI18n().t('imatrixUIMessage.internalServerError')
155
+ Message({
156
+ showClose: true,
157
+ message: errorMsg,
158
+ type: 'error',
159
+ duration: 5 * 1000,
160
+ })
161
+ return Promise.reject(error)
162
+ }
163
+ }
164
+ )
165
+
166
+ export const apiUrlMappings = {}
167
+ /**
168
+ *
169
+ * @param {*} code 资源权限的编码
170
+ * @param {*} options 是一个对象,包括data和param两个子对象属性,形如{param:{},data:{}}
171
+ */
172
+ export function request(code, options) {
173
+ const config = {}
174
+ if (options) {
175
+ if (options.data) {
176
+ config.data = options.data
177
+ }
178
+ if (options.responseType) {
179
+ config.responseType = options.responseType
180
+ }
181
+ if (options.params) {
182
+ config.params = options.params
183
+ }
184
+ if (options.header) {
185
+ config.header = options.header
186
+ }
187
+ if (options.onUploadProgress) {
188
+ config.onUploadProgress = options.onUploadProgress
189
+ }
190
+ if (options.method) {
191
+ config.method = options.method
192
+ }
193
+ if (options.url) {
194
+ config.url = options.url
195
+ }
196
+ }
197
+ if (code) {
198
+ if (!checkPermission(code)) {
199
+ Message({
200
+ message: '您没有权限访问接口:' + code,
201
+ type: 'error',
202
+ showClose: true,
203
+ })
204
+ }
205
+ const apiInfo = apiUrlMappings[code]
206
+ if (apiInfo) {
207
+ const url = getRealUrl(apiInfo.url, config.params)
208
+ if (url === '') {
209
+ return
210
+ }
211
+ config.url = url
212
+ config.method = apiInfo.method
213
+ } else {
214
+ Message({
215
+ message: '您要访问的接口没有定义:' + code,
216
+ type: 'error',
217
+ showClose: true,
218
+ })
219
+ }
220
+ }
221
+
222
+ if (!config.url) {
223
+ Message({
224
+ message: '接口地址必须配置',
225
+ type: 'error',
226
+ showClose: true,
227
+ })
228
+ }
229
+ if (config.method && config.method.toLowerCase() === 'get') {
230
+ if (config.url.indexOf('?') > 0) {
231
+ // 表示有参数
232
+ config.url = config.url + '&_t=' + new Date().getTime()
233
+ } else {
234
+ config.url = config.url + '?_t=' + new Date().getTime()
235
+ }
236
+ }
237
+ return service(config)
238
+ }
239
+
240
+ /**
241
+ * 判断地址中是否有路径参数,有路径参数时就用params中的对应属性替换掉路径中的参数,得到最终的url
242
+ * @param {*} url
243
+ * @param {*} params
244
+ */
245
+ function getRealUrl(url, params) {
246
+ const regex = /\{(.+?)\}/g
247
+ const matched = url.match(regex)
248
+ // 不包含路径参数直接返回url
249
+ if (!matched) {
250
+ return url
251
+ }
252
+ if (matched.length > 0 && !params) {
253
+ Message({
254
+ message: '请求的url中包含路径参数时,param不能为空。',
255
+ type: 'error',
256
+ showClose: true,
257
+ })
258
+ return ''
259
+ }
260
+ // matched是一个匹配的路径参数的数组,形如[{deparmentId}, {userId}]
261
+ for (const param of matched) {
262
+ // 去掉大括号得到真正的路径参数名
263
+ const paramName = param.substring(1, param.length - 1)
264
+ // 请求的param对象中应该包括这个参数,这样才能把参数名替换成真实的值
265
+ if (params[paramName] === undefined) {
266
+ Message({
267
+ message: '中应该包括属性:' + paramName,
268
+ type: 'error',
269
+ showClose: true,
270
+ })
271
+ return ''
272
+ }
273
+ url = url.replace(param, params[paramName])
274
+ // 从param对象中删掉这个参数,不用重复发送到后台了
275
+ delete params[paramName]
276
+ }
277
+ return url
278
+ }
279
+
280
+ export default service