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,431 @@
1
+ import store from '../super-grid/src/store'
2
+ import {getExtraParam} from '../super-grid/src/utils'
3
+ import nineGridStore from '../super-nine-grid/src/store'
4
+ import {ElMessage as Message} from 'element-plus'
5
+ import {packageEnumAndBeanColumnValueSets} from '../utils/value-set'
6
+ import {getI18n} from '../../src/utils/util'
7
+
8
+ /**
9
+ *
10
+ * @param {*} dataParam
11
+ * @param {*} excelName
12
+ * @param {*} listCode 如果是九宫格组件导出时,如果页面中有多个九宫格时,该属性需要传“listCode~gridId”,例如:
13
+ * @param {*} exportOptions
14
+ */
15
+ function exportData(dataParam, excelName, listCode, exportOptions) {
16
+ return new Promise((resolve, reject) => {
17
+ exportResultData(dataParam, excelName, listCode, exportOptions)
18
+ .then((result) => {
19
+ // 表示导出成功,需要执行导出成功回调方法
20
+ if (
21
+ isHasTheOption('afterExport', exportOptions) &&
22
+ typeof exportOptions.afterExport === 'function'
23
+ ) {
24
+ exportOptions.afterExport.call(this)
25
+ }
26
+ resolve(result)
27
+ })
28
+ .catch((error) => {
29
+ if (
30
+ isHasTheOption('exportError', exportOptions) &&
31
+ typeof exportOptions.exportError === 'function'
32
+ ) {
33
+ exportOptions.exportError.call(this)
34
+ }
35
+ reject(error)
36
+ })
37
+ })
38
+ }
39
+ /**
40
+ * 导出数据
41
+ */
42
+ function exportResultData(dataParam, excelName, listCode, exportOptions) {
43
+ return new Promise((resolve, reject) => {
44
+ let isCanExport = true
45
+ if (
46
+ isHasTheOption('beforeExport', exportOptions) &&
47
+ typeof exportOptions.beforeExport === 'function'
48
+ ) {
49
+ isCanExport = exportOptions.beforeExport.call(this)
50
+ }
51
+ if (!isCanExport) {
52
+ resolve(false)
53
+ } else {
54
+ if (dataParam && dataParam.hasOwnProperty('data')) {
55
+ // 导出选中行
56
+ const result = {}
57
+ result['_data'] = dataParam.data
58
+ exportMyData(JSON.stringify(result), excelName, listCode)
59
+ .then((result) => {
60
+ resolve(result)
61
+ })
62
+ .catch((error) => {
63
+ reject(error)
64
+ })
65
+ } else if (dataParam && dataParam.hasOwnProperty('url')) {
66
+ // 导出url对应的数据
67
+ exportUrlData(dataParam, excelName, listCode)
68
+ .then((result) => {
69
+ resolve(result)
70
+ })
71
+ .catch((error) => {
72
+ reject(error)
73
+ })
74
+ } else {
75
+ // 导出台账数据,有查询条件则导出查询条件对应的数据,没有查询条件则导出所有记录
76
+ exportListData(excelName, listCode)
77
+ .then((result) => {
78
+ resolve(result)
79
+ })
80
+ .catch((error) => {
81
+ reject(error)
82
+ })
83
+ }
84
+ }
85
+ })
86
+ }
87
+ // 导出的后台单独重写
88
+ function exportUrlData(dataParam, excelName, listCode) {
89
+ return new Promise((resolve, reject) => {
90
+ const listCodeStore = getListCode(listCode)
91
+ let param = getExportParamByGridParam(listCode)
92
+ const url = dataParam.url
93
+ if (dataParam.hasOwnProperty('param')) {
94
+ param = Object.assign(param, dataParam.param)
95
+ }
96
+ window.$vueApp.config.globalProperties.$http
97
+ .post(url, param)
98
+ .then((data) => {
99
+ let exportSheetData
100
+ // console.log('data===', data)
101
+ if (data instanceof Array) {
102
+ // 是数组,表示返回的是list记录集合
103
+ const result = {}
104
+ // console.log('_data', data)
105
+ result['_data'] = data
106
+ exportSheetData = JSON.stringify(result)
107
+ } else {
108
+ // 表示返回的是{_data:{},_styles:{}}
109
+ exportSheetData = JSON.stringify(data)
110
+ }
111
+ return exportMyData(exportSheetData, excelName, listCodeStore)
112
+ })
113
+ .then((result) => {
114
+ resolve(result)
115
+ })
116
+ .catch((error) => {
117
+ reject(error)
118
+ })
119
+ })
120
+ }
121
+
122
+ function getListCode(listCode) {
123
+ if (listCode !== null && listCode !== undefined && listCode !== '') {
124
+ return listCode
125
+ }
126
+ let listCodeStore = listCode
127
+ if (!listCode || listCode === null || listCode === '') {
128
+ listCodeStore = store.get('_list_code')
129
+ }
130
+ if (
131
+ listCodeStore === undefined ||
132
+ listCodeStore === null ||
133
+ listCodeStore === ''
134
+ ) {
135
+ listCodeStore = nineGridStore.get('_nine_list_code')
136
+ if (listCodeStore && listCodeStore.indexOf('~') < 0) {
137
+ // 拼接默认的九宫格gridId
138
+ listCodeStore = listCodeStore + '~' + '_nineGrid'
139
+ }
140
+ }
141
+ if (listCodeStore && listCodeStore.indexOf('~') > 0) {
142
+ listCodeStore = listCodeStore.substring(0, listCodeStore.indexOf('~'))
143
+ }
144
+ return listCodeStore
145
+ }
146
+
147
+ function getGridParams(listCode) {
148
+ let gridParams = null
149
+ let listCodeStore = listCode
150
+ if (!listCode || listCode === null || listCode === '') {
151
+ listCodeStore = store.get('_list_code')
152
+ }
153
+ gridParams = store.get(listCodeStore)
154
+ if (gridParams === undefined || gridParams === null) {
155
+ if (!listCode || listCode === null || listCode === '') {
156
+ listCodeStore = nineGridStore.get('_nine_list_code')
157
+ }
158
+ if (listCodeStore && listCodeStore.indexOf('~') < 0) {
159
+ // 拼接默认的九宫格gridId
160
+ listCodeStore = listCodeStore + '~' + '_nineGrid'
161
+ }
162
+ gridParams = nineGridStore.get(listCodeStore)
163
+ }
164
+ return gridParams
165
+ }
166
+
167
+ function getExportParamByGridParam(listCode) {
168
+ let param = {}
169
+ const gridParams = getGridParams(listCode)
170
+ if (gridParams !== undefined && gridParams !== null) {
171
+ const searchParam = Object.assign({}, gridParams.searchParam)
172
+ const pagination = {
173
+ currentPage: 1,
174
+ pageSize: 99999999,
175
+ showTotal: false,
176
+ }
177
+ param = searchParam
178
+ searchParam.pagination = pagination
179
+ if (gridParams.options.extraParam) {
180
+ // 当前有附加参数时,处理附加参数
181
+ param = getExtraParam(searchParam, gridParams)
182
+ }
183
+ }
184
+ return param
185
+ }
186
+ // 导出当前台账数据
187
+ function exportListData(excelName, listCode) {
188
+ return new Promise((resolve, reject) => {
189
+ const gridParams = getGridParams(listCode)
190
+ if (gridParams === undefined || gridParams === null) {
191
+ reject('导出失败')
192
+ } else {
193
+ const param = getExportParamByGridParam(listCode)
194
+ window.$vueApp.config.globalProperties.$http
195
+ .post(gridParams.url, param)
196
+ .then((page) => {
197
+ let data = page.data
198
+ if (!data) {
199
+ data = []
200
+ }
201
+ const result = {}
202
+ result['_data'] = data
203
+ return exportMyData(JSON.stringify(result), excelName, listCode)
204
+ })
205
+ .then((result) => {
206
+ resolve(result)
207
+ })
208
+ .catch((error) => {
209
+ reject(error)
210
+ })
211
+ }
212
+ })
213
+ }
214
+
215
+ function exportMyData(data, excelName, listCode) {
216
+ return new Promise((resolve, reject) => {
217
+ const gridParams = getGridParams(listCode)
218
+ if (gridParams !== undefined) {
219
+ if (gridParams.columns) {
220
+ // console.log('exportMyData--grid--gridParams.columns.length=', gridParams.columns)
221
+ const columnInfoArr = getExportColumnsByStore(gridParams.columns)
222
+ // console.log('exportMyData--grid--columnInfoArr.length=', columnInfoArr.length)
223
+ if (columnInfoArr.length === 0) {
224
+ Message({
225
+ message: getI18n().t('imatrixUIMessage.noExportColumnsConfigured'),
226
+ type: 'warning',
227
+ showClose: true,
228
+ })
229
+ resolve(false)
230
+ } else {
231
+ exportColumns(getExportInfo(data, excelName, listCode, columnInfoArr))
232
+ .then((result) => {
233
+ resolve(result)
234
+ })
235
+ .catch((error) => {
236
+ reject(error)
237
+ })
238
+ }
239
+ } else {
240
+ Message({
241
+ message: getI18n().t('imatrixUIMessage.noExportColumnsConfigured'),
242
+ type: 'warning',
243
+ showClose: true,
244
+ })
245
+ resolve(false)
246
+ }
247
+ } else {
248
+ exportOtherListData(data, excelName, listCode)
249
+ .then((result) => {
250
+ resolve(result)
251
+ })
252
+ .catch((error) => {
253
+ reject(error)
254
+ })
255
+ }
256
+ })
257
+ }
258
+
259
+ /**
260
+ * 导出非台账列表数据
261
+ * @param {*}} data
262
+ * @param {*} excelName
263
+ * @param {*} listCode
264
+ */
265
+ function exportOtherListData(
266
+ data,
267
+ excelName,
268
+ listCode,
269
+ additionalParameterStr
270
+ ) {
271
+ return new Promise((resolve, reject) => {
272
+ const params = {}
273
+ if (additionalParameterStr && additionalParameterStr !== '') {
274
+ params.additionalParamMap = additionalParameterStr
275
+ }
276
+ window.$vueApp.config.globalProperties.$http
277
+ .post(
278
+ window.$vueApp.config.globalProperties.baseAPI +
279
+ '/component/super-grids/' +
280
+ listCode +
281
+ '/export-columns',
282
+ params
283
+ )
284
+ .then((columnInfoArr) => {
285
+ packageEnumAndBeanColumnValueSets(columnInfoArr, listCode)
286
+ .then(() => {
287
+ if (columnInfoArr.length === 0) {
288
+ Message({
289
+ message: getI18n().t(
290
+ 'imatrixUIMessage.noExportColumnsConfigured'
291
+ ),
292
+ type: 'warning',
293
+ showClose: true,
294
+ })
295
+ resolve(false)
296
+ } else {
297
+ exportColumns(
298
+ getExportInfo(data, excelName, listCode, columnInfoArr)
299
+ )
300
+ .then((result) => {
301
+ resolve(result)
302
+ })
303
+ .catch((error) => {
304
+ reject(error)
305
+ })
306
+ }
307
+ })
308
+ .catch((error) => {
309
+ reject(error)
310
+ })
311
+ })
312
+ .catch((error) => {
313
+ reject(error)
314
+ })
315
+ })
316
+ }
317
+
318
+ /**
319
+ * @param {exportInfo} Object 导出的字段配置集合及导出的数据信息
320
+ */
321
+ function exportColumns(exportInfo) {
322
+ return new Promise((resolve, reject) => {
323
+ let excelName = exportInfo.exportData.excelName
324
+ if (!excelName || excelName === null || excelName === '') {
325
+ excelName = 'default.xlsx'
326
+ } else {
327
+ excelName = excelName + '.xlsx'
328
+ }
329
+ window.$vueApp.config.globalProperties.$http
330
+ .post(
331
+ window.$vueApp.config.globalProperties.baseAPI +
332
+ '/component/super-grids/exports',
333
+ exportInfo
334
+ )
335
+ .then((fileName) => {
336
+ // window.location.href = window.$vueApp.config.globalProperties.baseAPI + '/component/super-grids/downloads?fileName=' + encodeURI(fileName)
337
+ return download(
338
+ window.$vueApp.config.globalProperties.baseAPI +
339
+ '/component/super-grids/downloads?fileName=' +
340
+ encodeURI(fileName) +
341
+ '&_t=' +
342
+ new Date().getTime(),
343
+ excelName
344
+ )
345
+ })
346
+ .then((result) => {
347
+ resolve(result)
348
+ })
349
+ .catch((error) => {
350
+ reject(error)
351
+ })
352
+ })
353
+ }
354
+
355
+ function getExportColumnsByStore(columns) {
356
+ const exportColumns = []
357
+ columns.forEach((column) => {
358
+ if (column.exportable && column.exportable === true) {
359
+ exportColumns.push(column)
360
+ }
361
+ })
362
+ return exportColumns
363
+ }
364
+
365
+ function getExportInfo(data, excelName, listCode, columnInfoArr) {
366
+ if (!excelName || excelName === null || excelName === '') {
367
+ excelName = listCode
368
+ }
369
+ return {
370
+ exportColumns: columnInfoArr,
371
+ exportData: getExportData(data, excelName),
372
+ }
373
+ }
374
+
375
+ function getExportData(data, excelName) {
376
+ return {
377
+ excelName: excelName,
378
+ exportSheetData: [
379
+ {
380
+ data: data,
381
+ sheetName: excelName,
382
+ },
383
+ ],
384
+ }
385
+ }
386
+
387
+ function isHasTheOption(event, exportOptions) {
388
+ if (
389
+ typeof exportOptions !== 'undefined' &&
390
+ typeof exportOptions[event] !== 'undefined'
391
+ ) {
392
+ return true
393
+ }
394
+ return false
395
+ }
396
+
397
+ function download(url, fileName) {
398
+ return new Promise((resolve, reject) => {
399
+ window.$vueApp.config.globalProperties
400
+ .$http({
401
+ method: 'GET',
402
+ url: url,
403
+ responseType: 'blob',
404
+ })
405
+ .then((res) => {
406
+ const blob = new Blob([res])
407
+ if (window.navigator.msSaveOrOpenBlob) {
408
+ navigator.msSaveBlob(blob, fileName)
409
+ } else {
410
+ const link = document.createElement('a')
411
+ const evt = document.createEvent('HTMLEvents')
412
+ evt.initEvent('click', false, false)
413
+ link.href = URL.createObjectURL(blob)
414
+ link.download = fileName
415
+ link.style.display = 'none'
416
+ document.body.appendChild(link)
417
+ link.click()
418
+ window.URL.revokeObjectURL(link.href)
419
+ }
420
+ resolve(true)
421
+ })
422
+ .catch((error) => {
423
+ reject(error)
424
+ })
425
+ })
426
+ }
427
+
428
+ export default {
429
+ exportData,
430
+ download,
431
+ }
@@ -0,0 +1,15 @@
1
+ import ExportService from './export-data'
2
+ import ExportNewService from './export-data-new'
3
+ import publicMethodService from './public-method'
4
+
5
+ export default {
6
+ install: function (Vue, options) {
7
+ Vue.config.globalProperties.$exportData = ExportService.exportData
8
+ Vue.config.globalProperties.$isInIframe = publicMethodService.isInIframe
9
+ Vue.config.globalProperties.$escapeHtml = publicMethodService.escapeHtml
10
+ Vue.config.globalProperties.$download = ExportService.download
11
+ Vue.config.globalProperties.$refreshList = publicMethodService.refreshList
12
+ Vue.config.globalProperties.$exportDataNew = ExportNewService.exportData
13
+ Vue.config.globalProperties.$downloadNew = ExportNewService.download
14
+ },
15
+ }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * 判断当前元素是否在iframe内,如果在iframe内则返回true,否则返回false
3
+ */
4
+ function isInIframe() {
5
+ // if (window.frames.length !== parent.frames.length) {
6
+ // // 在iframe内
7
+ // return true
8
+ // } else {
9
+ // // 不在iframe内
10
+ // return false
11
+ // }
12
+ if (self !== top) {
13
+ // 在iframe内
14
+ return true
15
+ } else {
16
+ // 不在iframe内
17
+ return false
18
+ }
19
+ }
20
+
21
+ // 多个列表编码之间以逗号隔开;如果一个页面中有多个九宫格列表,且使用的是一个列表编码,listCode的格式应为:listCode~gridId,例如:MMS_BUSSINESS_SYSTEM~grid1
22
+ function refreshList(listCodes) {
23
+ if (listCodes) {
24
+ const listCodesArr = listCodes.split(',')
25
+ listCodesArr.forEach((listCode) => {
26
+ window.sessionStorage.setItem('refreshList-' + listCode, 'true')
27
+ })
28
+ }
29
+ }
30
+
31
+ // 处理xss攻击
32
+ function escapeHtml(content) {
33
+ if (
34
+ content !== undefined &&
35
+ content !== null &&
36
+ typeof content === 'string'
37
+ ) {
38
+ content = content.replace(/</g, '&lt;').replace(/>/g, '&gt;')
39
+ }
40
+ return content
41
+ }
42
+
43
+ export default {
44
+ isInIframe,
45
+ refreshList,
46
+ escapeHtml,
47
+ }
@@ -0,0 +1,6 @@
1
+ import RemoveDepartment from './src/remove-department.vue'
2
+ RemoveDepartment.install = function (Vue) {
3
+ Vue.component(RemoveDepartment.name, RemoveDepartment)
4
+ }
5
+
6
+ export default RemoveDepartment
@@ -0,0 +1,201 @@
1
+ <template>
2
+ <div>
3
+ <el-dialog
4
+ :close-on-click-modal="false"
5
+ :title="$t('departmentTreeInline.removeDepartment')"
6
+ :width="width"
7
+ append-to-body
8
+ class="user-tree"
9
+ model-value
10
+ @close="$emit('close')"
11
+ @closed="$emit('closed')"
12
+ @open="$emit('open')"
13
+ @opend="$emit('opend')"
14
+ >
15
+ <div style="margin-bottom: 10px">
16
+ <el-button
17
+ :icon="ElIconDelete"
18
+ size="default"
19
+ type="danger"
20
+ @click="removeAllDept()"
21
+ >
22
+ {{ $t('imatrixUIPublicModel.clear') }}
23
+ </el-button>
24
+ </div>
25
+
26
+ <el-table
27
+ ref="removeDeptGrid"
28
+ :data="departments"
29
+ :height="height"
30
+ border
31
+ row-key="id"
32
+ >
33
+ <el-table-column :label="$t('departmentTreeInline.name')" prop="name"/>
34
+ <el-table-column :label="$t('departmentTreeInline.code')" prop="code"/>
35
+ <el-table-column
36
+ :label="$t('imatrixUIPublicModel.edit')"
37
+ align="center"
38
+ width="60px"
39
+ >
40
+ <template v-slot="scope">
41
+ <div>
42
+ <el-button
43
+ :icon="ElIconDelete"
44
+ circle
45
+ size="default"
46
+ type="danger"
47
+ @click="removeDept(scope.$index)"
48
+ />
49
+ </div>
50
+ </template>
51
+ </el-table-column>
52
+ </el-table>
53
+ <template v-slot:footer>
54
+ <div class="dialog-footer">
55
+ <el-button size="default" @click="$emit('close')">
56
+ {{ $t('imatrixUIPublicModel.cancel') }}
57
+ </el-button>
58
+ <el-button size="default" type="primary" @click="confirmSelectDept">
59
+ {{ $t('imatrixUIPublicModel.sure') }}
60
+ </el-button>
61
+ </div>
62
+ </template>
63
+ </el-dialog>
64
+ </div>
65
+ </template>
66
+
67
+ <script>
68
+ import {Delete as ElIconDelete} from '@element-plus/icons-vue'
69
+ import {$on, $off, $once, $emit} from '../../utils/gogocodeTransfer'
70
+ import removeDeptService from './remove-dept-service'
71
+
72
+ export default {
73
+ data() {
74
+ return {
75
+ departments: [],
76
+ // 原来选择的部门集合
77
+ originalDepts: [],
78
+ // 是否包含分支
79
+ containBranch: false,
80
+ // 公司节点的id
81
+ tenantNodeId: -1,
82
+ ElIconDelete,
83
+ }
84
+ },
85
+ name: 'RemoveDepartment',
86
+ components: {},
87
+ props: {
88
+ // 多选部门树时,已选择部门id或部门名称或编码集合,多个之间以逗号隔开
89
+ selectDepartmentInfo: {
90
+ type: [String, Number],
91
+ default: null,
92
+ },
93
+ // 移除部门时,部门属性名称:id、name、code,默认是id
94
+ searchField: {
95
+ type: String,
96
+ default: 'id',
97
+ },
98
+ // 弹框的宽度
99
+ width: {
100
+ type: String,
101
+ default: '30%',
102
+ },
103
+ // 弹框的高度
104
+ height: {
105
+ type: String,
106
+ default: '300px',
107
+ },
108
+ // 多选树时结果之间的分隔符,默认是逗号分隔
109
+ separator: {
110
+ type: String,
111
+ default: ',',
112
+ },
113
+ },
114
+ created() {
115
+ if (this.selectDepartmentInfo) {
116
+ if (
117
+ this.selectDepartmentInfo === this.tenantNodeId ||
118
+ this.selectDepartmentInfo === '所有部门'
119
+ ) {
120
+ // 表示已选择所有用户
121
+ this.departments.push(this.packageAllDept())
122
+ } else {
123
+ // 表示不是选择的所有用户
124
+ this.getSelectDepts(
125
+ this.searchField,
126
+ this.selectDepartmentInfo,
127
+ this.separator
128
+ ).then((departments) => {
129
+ this.originalDepts = departments
130
+ this.departments = departments
131
+ })
132
+ }
133
+ }
134
+ },
135
+ methods: {
136
+ ...removeDeptService,
137
+ confirmSelectDept() {
138
+ const searchFieldValues = []
139
+ var retainSelectDepts = {
140
+ ids: [],
141
+ names: [],
142
+ codes: [],
143
+ departments: [],
144
+ }
145
+ for (var i = 0; i < this.departments.length; i++) {
146
+ var dept = this.departments[i]
147
+ // 不存在该用户则放到结果集合中,去掉重复使用
148
+ retainSelectDepts.ids.push(dept.id)
149
+ retainSelectDepts.codes.push(dept.code)
150
+ retainSelectDepts.departments.push(dept)
151
+ var name = dept.name
152
+ if (this.containBranch && dept.branchName) {
153
+ // 如果包含分支机构,则拼接分支机构名称
154
+ name = name + '(' + dept.branchName + ')'
155
+ }
156
+ retainSelectDepts.names.push(name)
157
+ // 将用于查询的字段的值存到数组中,获得移除的元素时使用
158
+ searchFieldValues.push(dept[this.searchField])
159
+ }
160
+ const removeItems = this.getRemoveItems(
161
+ this.originalDepts,
162
+ searchFieldValues,
163
+ this.searchField
164
+ )
165
+ $emit(this, 'close', retainSelectDepts, removeItems)
166
+ },
167
+ // 选中了组织结构树的根节点
168
+ packageAllDept() {
169
+ // 表示集合中不存在该用户,则封装该用户
170
+ var allDept = {
171
+ id: this.tenantNodeId,
172
+ name: '所有部门',
173
+ }
174
+ return allDept
175
+ },
176
+ // 移除用户
177
+ removeDept(index) {
178
+ this.departments.splice(index, 1)
179
+ },
180
+ // 清空用户
181
+ removeAllDept() {
182
+ this.departments = []
183
+ },
184
+ // 获得移除的元素集合
185
+ getRemoveItems(allValues, retainValues, searchField) {
186
+ if (retainValues === undefined || retainValues.length === 0) {
187
+ // 表示没有保留任何一条记录,即移除了所有元素
188
+ return allValues
189
+ }
190
+ if (allValues) {
191
+ // 根据id筛选出
192
+ return allValues.filter(
193
+ (item) => retainValues.indexOf(item[searchField]) === -1
194
+ )
195
+ }
196
+ return []
197
+ },
198
+ },
199
+ emits: ['open', 'opend', 'close', 'closed', 'opend', 'close', 'closed'],
200
+ }
201
+ </script>