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,166 @@
1
+ import { getAbstractUserFactory } from './calculator-factory'
2
+ import { getAbstractUserFactoryWf } from './calculator-factory-wf'
3
+ import { getPropValue, getEntityFieldValue } from '../util'
4
+ export function executeExpression(leftValue, operator, rightValue, dataType) {
5
+ const Calculator = getAbstractUserFactory(dataType)
6
+ const calculatorObj = new Calculator(leftValue, operator, rightValue)
7
+ return calculatorObj.result
8
+ }
9
+
10
+ /**
11
+ * 保存时,验证子表字段必填时,解析子表字段权限中的“子表条件”
12
+ * @param express
13
+ * @param upc
14
+ * @return
15
+ */
16
+ export function parseSubTablePermissionCondition(
17
+ express,
18
+ dataTypeMap,
19
+ parentEntity,
20
+ subEntity,
21
+ additionalParamMap,
22
+ task,
23
+ contextParameterMap
24
+ ) {
25
+ const expressTrueVal = 'true'
26
+ // ${user} operator.text.eq '吴荣[wurong]' condition.operator.and ${department} operator.text.eq 'EIT业务部' condition.operator.and ${role} operator.text.eq '普通员工'
27
+ if (!express) {
28
+ // 表示没有配置条件,则字段必填
29
+ return true
30
+ }
31
+ if (expressTrueVal.toLowerCase() === express.trim()) {
32
+ return true
33
+ }
34
+ const SQUARE_BRACKETS_LEFT = '['
35
+ const SQUARE_BRACKETS_RIGHT = ']'
36
+ const AND = '&&'
37
+ const OR = '||'
38
+ let temp = express
39
+ const strs = splitExpression(express)
40
+ console.log('分割后的原子表达式为:', strs)
41
+ let result = false
42
+ for (let i = 0; i < strs.length; i++) {
43
+ console.log('开始分析原子表达式:', strs[i])
44
+ const atomicExpress = strs[i]
45
+ if (atomicExpress && atomicExpress.trim()) {
46
+ const name = atomicExpress.substring(
47
+ atomicExpress.indexOf(SQUARE_BRACKETS_LEFT) +
48
+ SQUARE_BRACKETS_LEFT.length,
49
+ atomicExpress.indexOf(SQUARE_BRACKETS_RIGHT)
50
+ )
51
+ let dataType = 'TEXT'
52
+
53
+ if (dataTypeMap != null && dataTypeMap[name] != null) {
54
+ dataType = dataTypeMap[name]
55
+ }
56
+ result = parseFieldCondition(
57
+ atomicExpress,
58
+ dataType,
59
+ parentEntity,
60
+ subEntity,
61
+ additionalParamMap,
62
+ task,
63
+ contextParameterMap
64
+ )
65
+ console.log('原子表达式:', atomicExpress, '的分析结果为 ', result)
66
+ temp = temp.replace(atomicExpress.trim(), result + '')
67
+ console.log('将原子表达式替换为它的结果后:', temp)
68
+ }
69
+ }
70
+ temp = temp.replace(/condition.operator.and/g, AND)
71
+ temp = temp.replace(/condition.operator.or/g, OR)
72
+ if (temp.trim().endsWith(OR)) {
73
+ temp = temp.substring(0, temp.lastIndexOf(OR))
74
+ }
75
+ if (temp.trim().endsWith(AND)) {
76
+ temp = temp.substring(0, temp.lastIndexOf(AND))
77
+ }
78
+ console.log('最终该流向的表达式为:', temp)
79
+ // eslint-disable-next-line no-eval
80
+ return eval('(' + temp + ')')
81
+ }
82
+
83
+ /**
84
+ * 解析字段条件
85
+ * @param {*} atomicExpress
86
+ * @param {*} workflowCalculatorInfo
87
+ * @param {*} dataType
88
+ * @param {*} task
89
+ * @param {*} contextParameterMap
90
+ * @param {*} parentEntity 主表实体信息
91
+ * @param {*} entityData 子表实体信息
92
+ * @returns
93
+ */
94
+ function parseFieldCondition(
95
+ atomicExpress,
96
+ dataType,
97
+ parentEntity,
98
+ subEntity,
99
+ additionalParamMap,
100
+ task,
101
+ contextParameterMap
102
+ ) {
103
+ if (!atomicExpress) {
104
+ return false
105
+ }
106
+ const SQUARE_BRACKETS_LEFT = '['
107
+ const SQUARE_BRACKETS_RIGHT = ']'
108
+ // 去掉前后空格
109
+ atomicExpress = atomicExpress.trim()
110
+ const name = atomicExpress.substring(
111
+ atomicExpress.indexOf(SQUARE_BRACKETS_LEFT) + SQUARE_BRACKETS_LEFT.length,
112
+ atomicExpress.indexOf(SQUARE_BRACKETS_RIGHT)
113
+ )
114
+ // 获得 ${field[fieldName]}
115
+ const fieldInfo = atomicExpress.substring(0, atomicExpress.indexOf(' '))
116
+ const suffixInfo = atomicExpress.substring(atomicExpress.indexOf(' ') + 1)
117
+ const valueInfo = suffixInfo.substring(suffixInfo.indexOf(' ') + 1).trim()
118
+ // 解析动态参数、上下文参数、手动输入、obj.(此处表示的是主表记录)
119
+ const leftValue = getPropValue(
120
+ valueInfo,
121
+ parentEntity,
122
+ additionalParamMap,
123
+ contextParameterMap,
124
+ null,
125
+ subEntity,
126
+ task
127
+ )
128
+ if (leftValue != null) {
129
+ atomicExpress = atomicExpress.replace(valueInfo, leftValue.toString())
130
+ }
131
+ const value = getValue(subEntity, name)
132
+ if (value === undefined || value === null || value === '') {
133
+ if (dataType === 'DATE' || dataType === 'TIME') {
134
+ return false
135
+ }
136
+ }
137
+ console.log('对应值为:', value)
138
+ const CalculatorWf = getAbstractUserFactoryWf(dataType)
139
+ const subExpression = atomicExpress.replace(fieldInfo, value)
140
+ const calculatorObj = new CalculatorWf(subExpression)
141
+ const result = calculatorObj.result
142
+ console.log('判断结果为:', result)
143
+ return result
144
+ }
145
+
146
+ function splitExpression(express) {
147
+ // const workflowAnd = /condition.operator.and/g
148
+ // const workflowOr = /condition.operator.or/g
149
+ const ASTERISK_REGEX = '\\*'
150
+ // const PARENTHESES_LEFT = /\(/g
151
+ // const PARENTHESES_RIGHT = /\)/g
152
+ const EMPTY_STRING = ''
153
+ express = express.replace(/condition.operator.and/g, ASTERISK_REGEX)
154
+ express = express.replace(/condition.operator.or/g, ASTERISK_REGEX)
155
+ express = express.replace(/\(/g, EMPTY_STRING)
156
+ express = express.replace(/\)/g, EMPTY_STRING)
157
+ return express.split(ASTERISK_REGEX)
158
+ }
159
+
160
+ function getValue(entity, feildName) {
161
+ const value = getEntityFieldValue(entity, feildName)
162
+ if (value === undefined || value == null) {
163
+ return ''
164
+ }
165
+ return value + ''
166
+ }
@@ -0,0 +1,474 @@
1
+ import * as Vue from 'vue'
2
+ import authApi from './auth-api'
3
+ import { getToken, getLanguage, getAllLanguages, setAllLanguages } from './auth'
4
+ /**
5
+ * 获得相对地址
6
+ */
7
+ export function getRelativeBaseUrl(originalBaseUrl) {
8
+ if (
9
+ window.$vueApp.config.globalProperties.projectModel === undefined ||
10
+ window.$vueApp.config.globalProperties.projectModel !== 'developing.model'
11
+ ) {
12
+ // 表示是产品模式,使用相对地址访问后台
13
+ let relativeUrl = getUrlPrefix(location.href)
14
+ window.sessionStorage.setItem('relativeUrl', relativeUrl)
15
+ // console.log('getRelativeBaseUrl--relativeUrl---originalBaseUrl=',relativeUrl,originalBaseUrl)
16
+ if (relativeUrl && originalBaseUrl) {
17
+ // console.log('getRelativeBaseUrl---originalBaseUrl=',originalBaseUrl)
18
+ let baseUrlSuffix = ''
19
+ const baseUrls = originalBaseUrl.split('/')
20
+ // console.log('getRelativeBaseUrl---baseUrls=',baseUrls)
21
+ if (baseUrls.length >= 3) {
22
+ const baseUrlPrefix = baseUrls[0] + '//' + baseUrls[2]
23
+ // console.log('getRelativeBaseUrl---baseUrlPrefix=',baseUrlPrefix)
24
+ baseUrlSuffix = originalBaseUrl.substring(
25
+ originalBaseUrl.indexOf(baseUrlPrefix) + baseUrlPrefix.length
26
+ )
27
+ // console.log('getRelativeBaseUrl---baseUrlSuffix=',baseUrlSuffix)
28
+ }
29
+ if (relativeUrl.lastIndexOf('/') === relativeUrl.length - 1) {
30
+ // 表示以“/”结尾,去掉最后一个“/”
31
+ relativeUrl = relativeUrl.substring(0, relativeUrl.lastIndexOf('/'))
32
+ }
33
+ // console.log('getRelativeBaseUrl---relativeUrl=',relativeUrl)
34
+ if (baseUrlSuffix) {
35
+ return relativeUrl + baseUrlSuffix
36
+ } else {
37
+ return relativeUrl
38
+ }
39
+ }
40
+ }
41
+ return originalBaseUrl
42
+ }
43
+
44
+ /**
45
+ * 获得url前缀,
46
+ * 例如地址栏地址为:http://localhost:8080/demo/#/
47
+ * 返回的应该是http://localhost:8080
48
+ */
49
+ function getUrlPrefix(url) {
50
+ // console.log('getUrlPrefix---url=',url)
51
+ const hrefs = url.split('#')
52
+ if (hrefs.length > 0) {
53
+ // 前端url,例如:http://localhost:8080/demo/
54
+ const frontUrl = hrefs[0]
55
+ let rootUrl = frontUrl
56
+ const frontUrls = frontUrl.split('/')
57
+ if (frontUrls.length >= 3) {
58
+ // 获得http://localhost:8080
59
+ rootUrl = frontUrls[0] + '//' + frontUrls[2] + '/'
60
+ }
61
+ // console.log('getUrlPrefix---rootUrl1=',rootUrl)
62
+ return rootUrl
63
+ }
64
+ }
65
+
66
+ /**
67
+ * 替换路径前缀,例如:http://localhost/demo/#/notice/task需要替换为http://127.0.0.1/demo/#/notice/task
68
+ * @param {*} originalUrl 原地址
69
+ * @param {*} locationUrl 地址栏的地址
70
+ */
71
+ export function replacePrefix(originalUrl) {
72
+ if (
73
+ window.$vueApp.config.globalProperties.projectModel === undefined ||
74
+ window.$vueApp.config.globalProperties.projectModel !== 'developing.model'
75
+ ) {
76
+ const locationUrl = location.href
77
+ let newUrl = originalUrl
78
+ // console.log('replacePrefix---originalUrl=',originalUrl)
79
+ const orginalPrefixUrl = getUrlPrefix(originalUrl)
80
+ // console.log('replacePrefix---orginalPrefixUrl=',orginalPrefixUrl)
81
+ let locationPrefixUrl = getUrlPrefix(locationUrl)
82
+ // console.log('replacePrefix---locationPrefixUrl=',locationPrefixUrl)
83
+ if (orginalPrefixUrl !== locationPrefixUrl) {
84
+ // 获得/demo/#/notice/task需要替换为http://127.0.0.1/demo/#/notice/task
85
+ let suffixUrl = originalUrl.substring(
86
+ originalUrl.indexOf(orginalPrefixUrl) + orginalPrefixUrl.length
87
+ )
88
+ if (suffixUrl.indexOf('/') !== 0) {
89
+ suffixUrl = '/' + suffixUrl
90
+ }
91
+ // console.log('replacePrefix---suffixUrl=',suffixUrl)
92
+ if (locationPrefixUrl.lastIndexOf('/') === locationPrefixUrl.length - 1) {
93
+ // 表示以“/”结尾,去掉最后一个“/”
94
+ locationPrefixUrl = locationPrefixUrl.substring(
95
+ 0,
96
+ locationPrefixUrl.lastIndexOf('/')
97
+ )
98
+ }
99
+ // console.log('replacePrefix---locationPrefixUrl2=',locationPrefixUrl)
100
+ newUrl = locationPrefixUrl + suffixUrl
101
+ }
102
+ // console.log('replacePrefix---newUrl=',newUrl)
103
+ return newUrl
104
+ }
105
+ return originalUrl
106
+ }
107
+
108
+ // 获得门户前端访问路径
109
+ function getPortalFrontendUrl() {
110
+ return window.$vueApp.config.globalProperties.$http.get(
111
+ window.$vueApp.config.globalProperties.baseAPI + '/api/portal-frontend-url'
112
+ )
113
+ }
114
+
115
+ // 获得登录页面地址
116
+ export function getLoginUrl() {
117
+ return new Promise((resolve, reject) => {
118
+ const href = window.location.href
119
+ let systemPath = href
120
+ let routerPath = ''
121
+ let param = ''
122
+ if (href.indexOf('#/') > 0 && href.indexOf('#/login') < 0) {
123
+ systemPath = href.substring(0, href.indexOf('#'))
124
+ const suffix = href.substring(href.indexOf('#') + 1)
125
+ routerPath = suffix
126
+ if (suffix.indexOf('?') > 0) {
127
+ // 如果包含参数,则需要截取参数
128
+ routerPath = suffix.substring(0, suffix.indexOf('?'))
129
+ param = suffix.substring(suffix.indexOf('?') + 1)
130
+ }
131
+ }
132
+ getPortalFrontendUrl()
133
+ .then((portalUrl) => {
134
+ let loginUrl =
135
+ portalUrl +
136
+ '#/login?systemPath=' +
137
+ systemPath +
138
+ '&routerPath=' +
139
+ routerPath
140
+ if (param) {
141
+ loginUrl += '&' + param
142
+ }
143
+ loginUrl = replacePrefix(loginUrl)
144
+ resolve(loginUrl)
145
+ })
146
+ .catch((error) => {
147
+ reject(error)
148
+ })
149
+ })
150
+ }
151
+
152
+ export function isShowMenuRoute() {
153
+ // 是否显示菜单路径,默认是不显示
154
+ let showMenuRoute = window.$vueApp.config.globalProperties.showMenuRoute
155
+ if (showMenuRoute === undefined) {
156
+ showMenuRoute = 'false'
157
+ }
158
+ return showMenuRoute === 'true'
159
+ }
160
+
161
+ export function isShowSystemMenu() {
162
+ // 左侧菜单最上方是否显示系统菜单,默认是不显示
163
+ let showSystemMenu = window.$vueApp.config.globalProperties.showSystemMenu
164
+ if (showSystemMenu === undefined) {
165
+ showSystemMenu = 'false'
166
+ }
167
+ return showSystemMenu === 'true'
168
+ }
169
+
170
+ export function getSystemFrontendUrl(frontendUrl) {
171
+ if (
172
+ window.$vueApp.config.globalProperties.projectModel &&
173
+ window.$vueApp.config.globalProperties.projectModel ===
174
+ 'developing.model' &&
175
+ window.$vueApp.config.globalProperties.frontUrl
176
+ ) {
177
+ return window.$vueApp.config.globalProperties.frontUrl
178
+ } else {
179
+ return getRelativeBaseUrl(frontendUrl)
180
+ }
181
+ }
182
+
183
+ export function getSystemBackendUrl(backendUrl) {
184
+ if (
185
+ window.$vueApp.config.globalProperties.projectModel &&
186
+ window.$vueApp.config.globalProperties.projectModel ===
187
+ 'developing.model' &&
188
+ window.$vueApp.config.globalProperties.baseURL
189
+ ) {
190
+ return window.$vueApp.config.globalProperties.baseURL
191
+ } else {
192
+ return getRelativeBaseUrl(backendUrl)
193
+ }
194
+ }
195
+ /**
196
+ * 是否是平台系统
197
+ * @param {*} systemCode
198
+ * @returns
199
+ */
200
+ export function isPlateSys(systemCode) {
201
+ if (
202
+ systemCode &&
203
+ (systemCode === 'agilebuidler' ||
204
+ systemCode === 'portal' ||
205
+ systemCode === 'mms' ||
206
+ systemCode === 'task' ||
207
+ systemCode === 'wf' ||
208
+ systemCode === 'dc' ||
209
+ systemCode === 'mc' ||
210
+ systemCode === 'mobile' ||
211
+ systemCode === 'acs' ||
212
+ systemCode === 'bs' ||
213
+ systemCode === 'pcm')
214
+ ) {
215
+ return true
216
+ } else {
217
+ return false
218
+ }
219
+ }
220
+
221
+ export function getServerConfigUtil(http) {
222
+ return new Promise((resolve, reject) => {
223
+ http.get('./server-config.json').then((result) => {
224
+ const config = result
225
+ for (const key in config) {
226
+ window.$vueApp.config.globalProperties[key] = config[key]
227
+ }
228
+ window.$vueApp.config.globalProperties.baseURL = getRelativeBaseUrl(
229
+ window.$vueApp.config.globalProperties.baseURL
230
+ )
231
+ window.$vueApp.config.globalProperties.baseAPI = getRelativeBaseUrl(
232
+ window.$vueApp.config.globalProperties.baseAPI
233
+ )
234
+ resolve()
235
+ })
236
+ })
237
+ }
238
+ /**
239
+ * postmessage跨域传message时获得orign路径使用
240
+ * @returns orign路径
241
+ */
242
+ export function getOrignUrl() {
243
+ const url = window.location.href
244
+ let orignUrl
245
+ if (url && url.indexOf('/') > 0) {
246
+ const urls = url.split('/')
247
+ orignUrl = urls[0] + '//' + urls[2]
248
+ }
249
+ return orignUrl
250
+ }
251
+
252
+ export function isPromise(p) {
253
+ return p && Object.prototype.toString.call(p) === '[object Promise]'
254
+ }
255
+ /**
256
+ * 获得UTC时区
257
+ * @returns 时区
258
+ */
259
+ export function getTimeZone() {
260
+ const dateStr = new Date() + ''
261
+ let timeZone = ''
262
+ if (dateStr.indexOf('GMT') > 0) {
263
+ const timeZoneSuffix = dateStr
264
+ .substring(dateStr.indexOf('GMT') + 3, dateStr.indexOf('('))
265
+ .trim()
266
+ const partPrefix = timeZoneSuffix.substring(0, timeZoneSuffix.length - 2)
267
+ const partSuffix = timeZoneSuffix.substring(timeZoneSuffix.length - 2)
268
+ timeZone = 'UTC' + partPrefix + ':' + partSuffix
269
+ } else if (dateStr.indexOf('UTC') > 0) {
270
+ timeZone =
271
+ 'UTC' +
272
+ dateStr.substring(dateStr.indexOf('UTC') + 3, dateStr.indexOf('(')).trim()
273
+ }
274
+ return timeZone
275
+ }
276
+
277
+ export function setCustomSystemBackendUrl(customSystem) {
278
+ // 重新缓存系统后台路径
279
+ if (
280
+ !window.$vueApp.config.globalProperties.projectModel ||
281
+ window.$vueApp.config.globalProperties.projectModel !== 'developing.model'
282
+ ) {
283
+ // 表示是生产环境时,需要根据数据库配置获得对应的后端地址
284
+ const backendUrl = window.$authApi.getSystemCacheUrlByCode(customSystem)
285
+ if (backendUrl) {
286
+ window.$vueApp.config.globalProperties.baseURL =
287
+ getRelativeBaseUrl(backendUrl)
288
+ }
289
+ }
290
+ }
291
+
292
+ export function pushCustomControlValidatorRef(pageCode, refName, ref) {
293
+ console.log('pushCustomControlValidatorRef----', pageCode, refName, ref)
294
+ if (!window.customValidatorRef) {
295
+ window.customValidatorRef = new Map()
296
+ }
297
+ let pageCustomControlRef = window.customValidatorRef.get(pageCode)
298
+ if (!pageCustomControlRef) {
299
+ pageCustomControlRef = new Map()
300
+ window.customValidatorRef.set(pageCode, pageCustomControlRef)
301
+ }
302
+ pageCustomControlRef.set(refName, ref)
303
+ }
304
+
305
+ export function removeCustomControlValidatorRef (pageCode, refName) {
306
+ if (window.customValidatorRef) {
307
+ const pageCustomControlRef = window.customValidatorRef.get(pageCode)
308
+ if (pageCustomControlRef) {
309
+ pageCustomControlRef.delete(refName)
310
+ }
311
+ }
312
+ }
313
+
314
+ export function isMobileBrowser() {
315
+ if (
316
+ /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Opera Mobi|Windows CE|Symbian|Windows Phone|POLARIS|lgtelecom|nokia|SonyEricsson|LG|SAMSUNG|Samsung/i.test(
317
+ navigator.userAgent
318
+ )
319
+ ) {
320
+ //移动端浏览器
321
+ return true
322
+ } else {
323
+ //PC浏览器
324
+ return false
325
+ }
326
+ }
327
+
328
+ export function getLocaleByLang(lang) {
329
+ let locale = 'cn'
330
+ if (lang && lang.indexOf('_') > 0) {
331
+ const language = lang.substring(0, lang.indexOf('_'))
332
+ locale = language
333
+ }
334
+ if (locale === 'zh') {
335
+ locale = 'cn'
336
+ }
337
+ return locale
338
+ }
339
+
340
+ export function cacheLangs(langs) {
341
+ let langResult
342
+ if (langs) {
343
+ langResult = JSON.stringify(langs)
344
+ }
345
+ return setAllLanguages(langResult)
346
+ }
347
+
348
+ export function getLangs() {
349
+ return getAllLanguages()
350
+ }
351
+ /**
352
+ *
353
+ * @param {*} langShort 例如:cn或en
354
+ * @returns 例如:zh_CN或en_US
355
+ */
356
+ export function getLangByShort(langShort) {
357
+ let lang
358
+ const langResultJson = getLangs()
359
+ if (langResultJson) {
360
+ const langObj = JSON.parse(langResultJson)
361
+ lang = langObj[langShort]
362
+ }
363
+ if (!lang) {
364
+ lang = 'zh_CN'
365
+ }
366
+ return lang
367
+ }
368
+
369
+ // 首次加载业务系统时,缓存所有语言
370
+ export function cacheAllLanguagesUtil(http) {
371
+ return new Promise((resolve, reject) => {
372
+ const token = getToken()
373
+ if (token) {
374
+ const cookieCacheLangs = getLangs()
375
+ if (cookieCacheLangs) {
376
+ setAllLanguages(cookieCacheLangs)
377
+ resolve()
378
+ } else {
379
+ http
380
+ .get(
381
+ window.$vueApp.config.globalProperties.baseAPI +
382
+ '/component/all-languages'
383
+ )
384
+ .then((langList) => {
385
+ const langResult = {}
386
+ if (langList) {
387
+ langList.forEach((item) => {
388
+ // 例如:zh_CN、en_US
389
+ const lang = item.value
390
+ let langShort
391
+ if (lang.indexOf('_') > 0) {
392
+ langShort = lang.substring(0, lang.indexOf('_'))
393
+ }
394
+ if (langShort && langShort === 'zh') {
395
+ // 中文处理,为了兼容历史逻辑
396
+ langShort = 'cn'
397
+ }
398
+ if (langShort) {
399
+ langResult[langShort] = lang
400
+ }
401
+ })
402
+ }
403
+ cacheLangs(langResult)
404
+ resolve()
405
+ })
406
+ }
407
+ } else {
408
+ resolve()
409
+ }
410
+ })
411
+ }
412
+
413
+ function getOpenUrl(originalTaskUrl) {
414
+ return replacePrefix(originalTaskUrl)
415
+ }
416
+
417
+ export function windowOpenUrl(url, projectModel) {
418
+ let taskUrl = getOpenUrl(url)
419
+ if (!projectModel) {
420
+ projectModel = window.$vueApp.config.globalProperties.projectModel
421
+ }
422
+ const systemNameCn = 'QMS质量管理系统'
423
+ const systemNameEn = 'QMS Quality Management System'
424
+ let systemName = systemNameCn
425
+ if (window.$locale && window.$locale !== 'cn') {
426
+ systemName = systemNameEn
427
+ }
428
+ if (projectModel === null || projectModel === undefined || projectModel !== 'developing.model') {
429
+ // 表示是产品模式,因为会有跳转到应用根路由的问题,所以改成使用nginx代理的静态页面实现
430
+ const systemFrontUrl = taskUrl.substring(0, taskUrl.indexOf('#'))
431
+ const routeUrl = taskUrl.substring(taskUrl.indexOf('#') + 1, taskUrl.indexOf('?'))
432
+ const param = taskUrl.substring(taskUrl.indexOf('?') + 1)
433
+ let jumpUrl = '/jumpPage/jump-page.html?systemFrontUrl=' + systemFrontUrl + '&routeUrl=' + routeUrl
434
+ // _systemName_参数用于设置浏览器页签名的,国际化使用,在imatrix ui的beforeEach中有使用这个参数
435
+ if (param) {
436
+ jumpUrl += '&' + param
437
+ }
438
+ if (jumpUrl.indexOf('_systemName_=') === -1) {
439
+ jumpUrl += '&_systemName_=' + systemName
440
+ }
441
+ window.open(jumpUrl)
442
+ } else {
443
+ // 开发模式
444
+ if (taskUrl.indexOf('_systemName_=') === -1) {
445
+ if (taskUrl.indexOf('?') > 0) {
446
+ taskUrl += '&_systemName_=' + systemName
447
+ } else {
448
+ taskUrl += '?_systemName_=' + systemName
449
+ }
450
+ }
451
+ window.open(taskUrl)
452
+ }
453
+ }
454
+
455
+
456
+ // 首次加载业务系统时,缓存当前用户语言
457
+ export function cacheCurrentLanguageUtil(http) {
458
+ return new Promise((resolve, reject) => {
459
+ const token = getToken()
460
+ if (token) {
461
+ const currentLanguage = getLanguage()
462
+ if (currentLanguage && currentLanguage!=='undefined') {
463
+ resolve(currentLanguage)
464
+ } else {
465
+ http.get(window.$vueApp.config.globalProperties.baseAPI + '/acs/user-languages').then((currentLanguage) => {
466
+ resolve(currentLanguage)
467
+ })
468
+ }
469
+ } else {
470
+ // 默认是中文
471
+ resolve('zh_CN')
472
+ }
473
+ })
474
+ }
@@ -0,0 +1,10 @@
1
+ import mitt from 'mitt'
2
+
3
+ const emitter = mitt()
4
+
5
+ const bus = {}
6
+
7
+ bus.$on = emitter.on
8
+ bus.$emit = emitter.emit
9
+ bus.$off = emitter.off
10
+ export default bus
@@ -0,0 +1,37 @@
1
+ import * as Vue from 'vue'
2
+
3
+ export function getRedisButtonGeneralIcon(buttonCode) {
4
+ let buttonIcon = ''
5
+ const buttonIcons = window.sessionStorage.getItem('button-icon')
6
+ if (buttonIcons && buttonIcons !== undefined && buttonIcons !== 'undefined') {
7
+ const buttonIconMap = JSON.parse(buttonIcons)
8
+ buttonIcon = buttonIconMap[buttonCode]
9
+ }
10
+ return buttonIcon
11
+ }
12
+
13
+ export function findRedisButtonGeneralIcon() {
14
+ return new Promise((resolve, reject) => {
15
+ window.$vueApp.config.globalProperties.$http
16
+ .get(
17
+ window.$vueApp.config.globalProperties.baseAPI +
18
+ '/component/general-icon/find-redis-button-icon'
19
+ )
20
+ .then((data) => {
21
+ window.sessionStorage.setItem('button-icon', JSON.stringify(data))
22
+ resolve(data)
23
+ })
24
+ .catch((error) => {
25
+ reject(error)
26
+ })
27
+ })
28
+ }
29
+
30
+ export function isFaIcon (icon) {
31
+ if (icon && (icon.indexOf('fa') === 0)) {
32
+ // 表示以“fa-”开头,使用font-awesome中的图标
33
+ icon = 'fa fa-custom ' + icon
34
+ return true
35
+ }
36
+ return false
37
+ }