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,681 @@
1
+ <template>
2
+ <div>
3
+ <el-container style="height: 395px">
4
+ <el-aside width="430px">
5
+ <el-container style="height: 390px">
6
+ <el-header style="text-align: right; font-size: 12px; height: 35px">
7
+ <el-autocomplete
8
+ v-model="filterText"
9
+ :fetch-suggestions="querySearch"
10
+ :placeholder="$t('departmentUserTree.pleaseEnterUserInformation')"
11
+ :trigger-on-focus="false"
12
+ class="inline-input inline-input-custom"
13
+ select-when-unmatched
14
+ size="default"
15
+ @select="handleSelect"
16
+ @keyup.enter="clickSearch"
17
+ >
18
+ <template v-slot:append>
19
+ <el-button :icon="ElIconSearch" @click="clickSearch"/>
20
+ </template>
21
+ </el-autocomplete>
22
+ </el-header>
23
+ <el-main style="padding: 10px">
24
+ <div
25
+ v-if="!searchValue"
26
+ style="
27
+ padding-top: 5px;
28
+ overflow: auto;
29
+ width: auto;
30
+ display: inline-block !important;
31
+ "
32
+ >
33
+ <el-tree
34
+ ref="workgroupUserTree"
35
+ :filter-node-method="filterNode"
36
+ :load="loadNode"
37
+ :props="defaultProps"
38
+ :show-checkbox="multiple"
39
+ lazy
40
+ node-key="nodeId"
41
+ @check="handleCheckNode"
42
+ @node-click="handleNodeClick"
43
+ >
44
+ <template #default="{ node, data }">
45
+ <span>
46
+ <el-icon>
47
+ <Menu v-if="node.data.id === -1"/>
48
+ <Calendar v-else/>
49
+ </el-icon>
50
+ <span :class="data.nodeType && data.nodeType === 'USER' && searchValue && filterUserVal(data, searchValue)?'searchResult': '' " :title="node.label">
51
+ {{ node.label }}
52
+ </span>
53
+ </span>
54
+ </template>
55
+ </el-tree>
56
+ </div>
57
+ <div
58
+ v-if="searchValue && searchValue.length > 0"
59
+ style="height: 100%; overflow: hidden"
60
+ >
61
+ <workgroup-user-result
62
+ ref="workgroupUserResult"
63
+ :grid-data="searchResult"
64
+ :height="height"
65
+ :is-search-result="true"
66
+ :multiple="multiple"
67
+ :select-result="selectResult"
68
+ @addWorkgroupUser="addWorkgroupUser"
69
+ @resultRowDblclick="resultRowDblclick"
70
+ @selectResult="getSelectWorkgroupUser"
71
+ />
72
+ </div>
73
+ </el-main>
74
+ </el-container>
75
+ </el-aside>
76
+ <el-container v-if="multiple">
77
+ <el-aside width="2px">
78
+ <table
79
+ border="1px"
80
+ cellpadding="0"
81
+ cellspacing="0"
82
+ style="
83
+ height: 100%;
84
+ border-left-style: solid;
85
+ border-bottom-style: none;
86
+ border-right-style: none;
87
+ border-top-style: none;
88
+ border-left-color: #cccccc;
89
+ "
90
+ />
91
+ </el-aside>
92
+ <el-main style="padding: 10px">
93
+ <div style="text-align: left; font-size: 16px">
94
+ {{ $t('departmentUserTree.selectedPeople') }}::
95
+ </div>
96
+ <div :style="'padding-top: 5px;height:90%;overflow: hidden;'">
97
+ <workgroup-user-result
98
+ :grid-data="selectResult"
99
+ :height="height"
100
+ :is-search-result="false"
101
+ :multiple="multiple"
102
+ @removeWorkgroupUser="removeWorkgroupUser"
103
+ @resultRowDblclick="resultRowDblclick"
104
+ @selectResult="getSelectWorkgroupUser"
105
+ />
106
+ </div>
107
+ </el-main>
108
+ </el-container>
109
+ </el-container>
110
+ </div>
111
+ </template>
112
+
113
+ <script>
114
+ import {Search as ElIconSearch} from '@element-plus/icons-vue'
115
+ import {$emit} from '../../utils/gogocodeTransfer'
116
+ import localStorage from '../../../src/utils/local-storage'
117
+ import utils from '../../utils/utils'
118
+ import workgroupTreeInlineService from './workgroup-tree-inline-service'
119
+ import WorkgroupUserResult from './search-result.vue'
120
+
121
+ export default {
122
+ data() {
123
+ return {
124
+ filterText: '',
125
+ defaultProps: {
126
+ id: 'id',
127
+ label: 'name',
128
+ children: 'children',
129
+ isLeaf: 'leaf',
130
+ },
131
+ searchParam: {
132
+ userField: null,
133
+ searchValue: null,
134
+ treeType: 'MAN_GROUP_TREE',
135
+ departmentInfo: null,
136
+ },
137
+ // 当前租户内是否包含分支机构。获得当前选中部门名称时,如果有分支,则需要将分支名称返回给用户,例如:部门1(分支1)
138
+ containBranch: false,
139
+ // 公司节点的id
140
+ tenantNodeId: -1,
141
+ // 用于保存所有查询出的节点id
142
+ allSearchNodeIds: [],
143
+ // 用于保存allSearchNodeIds中所有已加载子节点的id集合
144
+ allExpandNodeIds: [],
145
+ isClickNode: false,
146
+ // 查询的备选值
147
+ restaurants: [],
148
+ // 查询条件
149
+ searchValue: null,
150
+ // 工作组的查询结果
151
+ searchResult: [],
152
+ // 工作组的选中结果
153
+ selectResult: [],
154
+ searchStoreKey: 'searchWorkgroupUser',
155
+ // 单选时,选择的用户信息
156
+ selectNodeInfo: null,
157
+ // 公司根节点信息
158
+ tenantInfo: {},
159
+ ElIconSearch,
160
+ }
161
+ },
162
+ name: 'InlineWorkgroupUserTree',
163
+ components: {
164
+ WorkgroupUserResult,
165
+ },
166
+ props: {
167
+ // 是否是多选树,默认是true
168
+ multiple: {
169
+ type: Boolean,
170
+ default: true,
171
+ },
172
+ // 显示指定部门节点及其子节点,不传该属性,表示显示整个组织结构树
173
+ branchInfo: {
174
+ type: Array,
175
+ default: null,
176
+ },
177
+ // 多选用户树时,已选择用户id或登录名集合,多个之间以逗号隔开
178
+ selectUserInfo: {
179
+ type: [String, Number],
180
+ default: null,
181
+ },
182
+ // 移除用户时,用户属性名称:id、loginName、email、telephone,默认是loginName
183
+ searchField: {
184
+ type: String,
185
+ default: 'loginName',
186
+ },
187
+ // 多选树时结果之间的分隔符,默认是逗号分隔
188
+ separator: {
189
+ type: String,
190
+ default: ',',
191
+ },
192
+ },
193
+ computed: {},
194
+ watch: {
195
+ filterText(val) {
196
+ if (!val) {
197
+ this.searchValue = val
198
+ // 清空查询内容时,重新加载整个树
199
+ this.loadWorkgroup(this.tenantNodeId, this.tenantNodeId + '')
200
+ }
201
+ },
202
+ },
203
+ created() {
204
+ },
205
+ mounted() {
206
+ var searchWorkgroup = localStorage.getObject(this.searchStoreKey)
207
+ if (searchWorkgroup) {
208
+ this.restaurants = searchWorkgroup
209
+ } else {
210
+ this.restaurants = []
211
+ }
212
+ },
213
+ methods: {
214
+ ...utils,
215
+ ...workgroupTreeInlineService,
216
+ // 将查询结果中指定工作组添加到已选择工作组集合中
217
+ addWorkgroupUser(index, workgroup) {
218
+ const containWorkgroups = this.selectResult.filter(
219
+ this.filterWorkgroup(workgroup)
220
+ )
221
+ if (containWorkgroups && containWorkgroups.length === 0) {
222
+ this.selectResult.push(workgroup)
223
+ }
224
+ },
225
+ filterWorkgroup(queryWorkgroup) {
226
+ return (workgroup) => {
227
+ return workgroup.id === queryWorkgroup.id
228
+ }
229
+ },
230
+ removeWorkgroupUser(index, workgroup) {
231
+ if (this.$refs.workgroupUserTree) {
232
+ // 通过查询结果添加的工作组,在返回到组织结构树时,也选中了该工作组,在移除该工作组时,需要去掉复选框的选中状态
233
+ const checkedKeys = this.$refs.workgroupUserTree.getCheckedKeys()
234
+ const currentCheckedWorkgroupNodeIds = checkedKeys.filter(
235
+ this.filterUserNode(workgroup)
236
+ )
237
+ if (currentCheckedWorkgroupNodeIds.length > 0) {
238
+ // 表示当前工作组是选中的状态,需要去掉
239
+ currentCheckedWorkgroupNodeIds.forEach((workgroupNodeId) => {
240
+ this.$refs.workgroupUserTree.setChecked(workgroupNodeId, false)
241
+ })
242
+ }
243
+ }
244
+ this.selectResult = this.removeRow(this.selectResult, workgroup)
245
+ if (!this.selectResult || this.selectResult.length === 0) {
246
+ // 已选结果面板没有内容,则左侧树节点也不要有选中节点了
247
+ if (this.$refs.workgroupUserTree) {
248
+ this.$refs.workgroupUserTree.setCheckedKeys([])
249
+ }
250
+ }
251
+ },
252
+ getSelectWorkgroupUser(workgroup) {
253
+ this.packageSelectResult(workgroup)
254
+ },
255
+ resultRowDblclick(workgroup) {
256
+ this.packageSelectResult(workgroup)
257
+ $emit(this, 'result', this.selectNodeInfo)
258
+ },
259
+ packageSelectResult(user) {
260
+ user.tenantCode = this.tenantInfo.code
261
+ user.tenantName = this.tenantInfo.tenantName
262
+ let name = user.name
263
+ if (user.enName && user.enName.trim() !== '') {
264
+ name = name + '(' + user.enName + ')'
265
+ }
266
+ const selectNodeInfo = {
267
+ id: user.id,
268
+ name: name,
269
+ loginName: user.loginName,
270
+ email: user.email,
271
+ telephone: user.telephone,
272
+ containBranch: this.containBranch,
273
+ user: user,
274
+ enName: user.enName,
275
+ subCompanyName: user.subCompanyName,
276
+ }
277
+ // 表示是勾选单选按钮或 选中树节点
278
+ this.selectNodeInfo = selectNodeInfo
279
+ },
280
+ handleSelect(item) {
281
+ this.handleSelectUtil(item, localStorage)
282
+ },
283
+ search(value) {
284
+ this.searchValue = value
285
+ // let mySearchValue = value
286
+ // if (mySearchValue) {
287
+ // mySearchValue = mySearchValue.trim()
288
+ // }
289
+ // this.searchParam.searchValue = mySearchValue
290
+ // this.searchParam.departmentInfo = this.branchInfo
291
+ // // this.searchParam.userField = this.searchField
292
+ // // 后台查询部门,并拼接树节点
293
+ // this.filterAppendNodes(value)
294
+ this.$refs.workgroupUserTree.filter(value)
295
+ },
296
+ // 点击查询按钮调用的方法
297
+ clickSearch() {
298
+ this.storeSeachValue(localStorage, this.searchStoreKey, this.filterText)
299
+ this.search(this.filterText)
300
+ },
301
+ filterNode(value, data, node) {
302
+ if (!value) {
303
+ return true
304
+ } else {
305
+ if (data.nodeType && data.nodeType === 'USER') {
306
+ // data.data是用户的所有数据
307
+ const user = JSON.parse(data.data)
308
+ return this.filterUserVal(user, value)
309
+ } else {
310
+ // 表示不是用户节点
311
+ return false
312
+ }
313
+ }
314
+ },
315
+ filterUserVal(user, searchVal) {
316
+ const searchFields = [
317
+ 'name',
318
+ 'loginName',
319
+ 'email',
320
+ 'telephone',
321
+ 'jobNumber',
322
+ 'honorificName',
323
+ ]
324
+ let isHasVal = false
325
+ for (let i = 0; i < searchFields.length; i++) {
326
+ const searchField = searchFields[i]
327
+ const userValue = user[searchField]
328
+ if (
329
+ userValue.indexOf(searchVal) !== -1 ||
330
+ (searchField === 'name' &&
331
+ user['enName'] &&
332
+ user['enName'].indexOf(searchVal) !== -1)
333
+ ) {
334
+ isHasVal = true
335
+ } else {
336
+ isHasVal = false
337
+ break
338
+ }
339
+ }
340
+ return isHasVal
341
+ },
342
+ // 点击复选框时处理
343
+ handleCheckNode(data, checkObj) {
344
+ if (checkObj.checkedKeys.indexOf(data.nodeId) > -1) {
345
+ // 表示正选中data节点
346
+ this.checkedNode(data, false)
347
+ } else {
348
+ // 表示正取消选中data节点,同时要取消其子节点的选中状态
349
+ this.cancelCheckedNode(data)
350
+ }
351
+ },
352
+ // 选中当前节点及其子节点
353
+ checkedNodeAndChildren(data) {
354
+ // 取消选中状态时,保持节点是展开的状态,不要折叠
355
+ this.$refs.workgroupUserTree.store.nodesMap[data.nodeId].expanded = true
356
+ // 获得所有应该选中的节点
357
+ this.$refs.workgroupUserTree.setChecked(data.nodeId, true)
358
+ const children = data.children
359
+ if (children) {
360
+ // 递归设置子子节点的选中状态
361
+ children.forEach((nodeData) => {
362
+ this.checkedNodeAndChildren(nodeData)
363
+ this.selectResult.push(JSON.parse(nodeData.data))
364
+ })
365
+ }
366
+ },
367
+ // 取消节点选中状态时
368
+ cancelCheckedNode(data) {
369
+ if (data.id === this.tenantNodeId) {
370
+ // 表示取消公司节点的选中状态,即取消所有节点的勾选状态
371
+ this.$refs.workgroupUserTree.setCheckedKeys([])
372
+ } else if (data.nodeType && data.nodeType === 'WORKGROUP') {
373
+ this.cancelCheckedUserNodesWithWorkgroup(data)
374
+ } else {
375
+ this.selectResult = this.removeRow(
376
+ this.selectResult,
377
+ JSON.parse(data.data)
378
+ )
379
+ }
380
+ },
381
+ // 选中了根节点公司节点时,选中所有工作组
382
+ checkedAllWorkgroups(root) {
383
+ const children = root.children
384
+ if (children) {
385
+ children.forEach((workgroupNode) => {
386
+ this.$refs.workgroupUserTree.setChecked(workgroupNode.nodeId, true)
387
+ })
388
+ }
389
+ },
390
+ // 取消指定工作组下的用户节点的选中状态
391
+ cancelCheckedUserNodesWithWorkgroup(workgroupData) {
392
+ const children = workgroupData.children
393
+ if (children) {
394
+ children.forEach((userNode) => {
395
+ this.$refs.workgroupUserTree.setChecked(userNode.nodeId, false)
396
+ this.selectResult = this.removeRow(
397
+ this.selectResult,
398
+ JSON.parse(userNode.data)
399
+ )
400
+ })
401
+ }
402
+ },
403
+ handleNodeClick(data, node, nodeTree) {
404
+ if (this.multiple) {
405
+ // 多选部门树时,处理点击节点事件
406
+ this.clickNodeWhenMultiple(data)
407
+ }
408
+ this.selectSingleNode(data, false)
409
+ },
410
+ selectSingleNode(data, isClickOkBtn) {
411
+ if (this.isUserNode(data) && !this.multiple) {
412
+ // 点击的是工作组节点,并且是单选树时,点击部门节点直接关闭弹框
413
+ const user = JSON.parse(data.data)
414
+ user.tenantCode = this.tenantInfo.code
415
+ user.tenantName = this.tenantInfo.tenantName
416
+ let name = user.name
417
+ if (user.enName && user.enName.trim() !== '') {
418
+ name = name + '(' + user.enName + ')'
419
+ }
420
+ const selectNodeInfo = {
421
+ id: user.id,
422
+ name: name,
423
+ loginName: user.loginName,
424
+ email: user.email,
425
+ telephone: user.telephone,
426
+ containBranch: this.containBranch,
427
+ user: user,
428
+ enName: user.enName,
429
+ subCompanyName: user.subCompanyName,
430
+ }
431
+ this.selectNodeInfo = selectNodeInfo
432
+ if (isClickOkBtn === true) {
433
+ // 点击确定按钮时才需要调result回调事件,关闭弹框
434
+ $emit(this, 'result', selectNodeInfo)
435
+ console.log('3=====setSelectNodeInfo=====', selectNodeInfo)
436
+ }
437
+ }
438
+ },
439
+ // 多选树时,点击节点处理复选框的选中状态
440
+ clickNodeWhenMultiple(data) {
441
+ var checkedKeys = []
442
+ if (this.$refs.workgroupUserTree) {
443
+ checkedKeys = this.$refs.workgroupUserTree.getCheckedKeys()
444
+ }
445
+ // 取消选中状态时,保持节点是展开的状态,不要折叠
446
+ this.$refs.workgroupUserTree.store.nodesMap[data.nodeId].expanded = true
447
+ if (checkedKeys.indexOf(data.nodeId) > -1) {
448
+ // 表示当前节点是选中状态,则需要取消其选中状态
449
+ // 取消当前节点的勾选状态
450
+ this.$refs.workgroupUserTree.setChecked(data.nodeId, false)
451
+ this.cancelCheckedNode(data)
452
+ } else {
453
+ // 表示当前节点不是选中的状态,需要勾选该节点
454
+ this.$refs.workgroupUserTree.setChecked(data.nodeId, true)
455
+ this.checkedNode(data, true)
456
+ }
457
+ },
458
+ isUserNode(data) {
459
+ // 当前节点不是公司节点,也不是分支机构节点,表示是部门节点
460
+ return (
461
+ data.id !== this.tenantNodeId &&
462
+ data.nodeType &&
463
+ data.nodeType === 'USER'
464
+ )
465
+ },
466
+ singleSetValue() {
467
+ let showTip = false
468
+ if (this.searchValue) {
469
+ console.log('this.selectNodeInfo', this.selectNodeInfo)
470
+ if (this.selectNodeInfo) {
471
+ $emit(this, 'result', this.selectNodeInfo)
472
+ } else {
473
+ showTip = true
474
+ }
475
+ } else {
476
+ const data = this.$refs.workgroupUserTree.getCurrentNode()
477
+ if (data && data !== null && this.isUserNode(data)) {
478
+ this.selectSingleNode(data, true)
479
+ } else {
480
+ showTip = true
481
+ }
482
+ }
483
+ this.showTip(showTip)
484
+ },
485
+ multipleSetValue() {
486
+ let showTip = false
487
+ // 选中的用户结果
488
+ var selectNodeInfo = {
489
+ userIds: [],
490
+ userNames: [],
491
+ loginNames: [],
492
+ emails: [],
493
+ telephones: [],
494
+ users: [],
495
+ }
496
+ if (this.searchValue) {
497
+ if (this.selectResult.length > 0) {
498
+ this.selectResult.forEach((workgroupData) => {
499
+ this.addSelectedUserInfo(selectNodeInfo, workgroupData)
500
+ })
501
+ $emit(this, 'result', selectNodeInfo)
502
+ } else {
503
+ showTip = true
504
+ }
505
+ } else {
506
+ var parentIds = []
507
+ var nodes = this.$refs.workgroupUserTree.getCheckedNodes()
508
+ if (nodes) {
509
+ if (nodes.length === 0) {
510
+ // 没有选择任何节点
511
+ showTip = true
512
+ } else {
513
+ for (var i = 0; i < nodes.length; i++) {
514
+ var node = nodes[i]
515
+ if (this.isSelectTenantNode(node.id)) {
516
+ // 表示选择了所有工作组人员
517
+ selectNodeInfo.userIds = []
518
+ selectNodeInfo.userNames = []
519
+ selectNodeInfo.userIds.push(node.id)
520
+ selectNodeInfo.userNames.push('所有工作组人员')
521
+ break
522
+ } else if (node.id !== this.tenantNodeId) {
523
+ // 不是公司根节点
524
+ if (node.leaf) {
525
+ // 如果是叶子节点
526
+ if (this.isUserNode(node)) {
527
+ const user = JSON.parse(node.data)
528
+ this.addSelectedUserInfo(selectNodeInfo, user)
529
+ }
530
+ } else {
531
+ // 表示是工作组节点,且该节点下存在用户
532
+ const userDatas = node.children
533
+ if (userDatas && userDatas.length > 0) {
534
+ // 表示已展开过该工作组
535
+ userDatas.forEach((userData) => {
536
+ const user = JSON.parse(userData.data)
537
+ this.addSelectedUserInfo(selectNodeInfo, user)
538
+ })
539
+ } else {
540
+ // 表示没有展开过该节点,需要去后台获得该工作组下的人员信息
541
+ parentIds.push(node.id)
542
+ }
543
+ }
544
+ }
545
+ }
546
+ if (parentIds.length > 0) {
547
+ // 表示选中的工作组节点未展开过,则需要去后台查询获得这些工作组下的人员集合
548
+ this.getAllSelectedWorkgroupUsers(parentIds, selectNodeInfo)
549
+ showTip = false
550
+ } else {
551
+ if (selectNodeInfo.userIds.length > 0) {
552
+ $emit(this, 'result', selectNodeInfo)
553
+ console.log('1=====setSelectNodeInfo=====', selectNodeInfo)
554
+ } else {
555
+ showTip = true
556
+ }
557
+ }
558
+ }
559
+ } else {
560
+ showTip = true
561
+ }
562
+ }
563
+ this.showTip(showTip)
564
+ },
565
+ showTip(showTip) {
566
+ // 是否需要显示提示框,默认不显示
567
+ if (showTip) {
568
+ this.$alert(
569
+ this.$t('imatrixUIMessage.pleaseSelectPersonnel'),
570
+ this.$t('imatrixUIMessage.tips'),
571
+ {
572
+ confirmButtonText: this.$t('imatrixUIPublicModel.sure'),
573
+ }
574
+ )
575
+ }
576
+ },
577
+ selectWorkgroupUser() {
578
+ if (this.multiple) {
579
+ this.multipleSetValue()
580
+ } else {
581
+ this.singleSetValue()
582
+ }
583
+ },
584
+ // 是否选中了公司节点
585
+ isSelectTenantNode(dataId) {
586
+ return (
587
+ dataId === this.tenantNodeId &&
588
+ (!this.branchInfo || this.branchInfo.length === 0)
589
+ )
590
+ },
591
+ // 将选中的部门节点添加到结果集合中
592
+ addSelectedUserInfo(result, user) {
593
+ const filterResult = result.userIds.filter(this.filterUserId(user))
594
+ if (filterResult.length === 0) {
595
+ let name = user.name
596
+ if (user.enName && user.enName !== '') {
597
+ name = name + '(' + user.enName + ')'
598
+ }
599
+ // if (this.containBranch && user.subCompanyName) {
600
+ // // 如果包含分支机构,则拼接分支机构名称
601
+ // name = name + '(' + user.subCompanyName + ')'
602
+ // }
603
+ user.tenantCode = this.tenantInfo.code
604
+ user.tenantName = this.tenantInfo.tenantName
605
+ result.containBranch = this.containBranch
606
+ result.users.push(user)
607
+ result.userIds.push(user.id)
608
+ result.loginNames.push(user.loginName)
609
+ result.userNames.push(name)
610
+ result.emails.push(user.email)
611
+ result.telephones.push(user.telephone)
612
+ }
613
+ },
614
+ filterUserId(queryWorkgroup) {
615
+ return (workgroupNodeId) => {
616
+ return workgroupNodeId === queryWorkgroup.id
617
+ }
618
+ },
619
+ filterUserNode(queryUser) {
620
+ return (userNodeId) => {
621
+ // 用户节点的id的分隔符,USER~departmentId~userId
622
+ const nodeIdSeparator = '~'
623
+ const userId = userNodeId.substring(
624
+ userNodeId.lastIndexOf(nodeIdSeparator) + 1
625
+ )
626
+ return userId === queryUser.id + ''
627
+ }
628
+ },
629
+ // 给节点添加自定义图标
630
+ // renderContent(h, {node, data, store}) {
631
+ // var className
632
+ // if (node.data.id === -1) {
633
+ // // node.id ===-1表示公司节点,node.branch表示是分支机构节点
634
+ // className = 'Menu'
635
+ // } else {
636
+ // // 表示是工作组节点
637
+ // className = 'Date'
638
+ // }
639
+ // if (
640
+ // data.nodeType &&
641
+ // data.nodeType === 'USER' &&
642
+ // this.searchValue &&
643
+ // this.filterUserVal(data, this.searchValue)
644
+ // ) {
645
+ // // 如果是查询条件
646
+ // return h(
647
+ // 'span',
648
+ // h('el-icon', h(className)),
649
+ // h('span', {class: searchResult, title: node.label}, node.label)
650
+ // )
651
+ // // return `<span>
652
+ // // <i class={className}></i>
653
+ // // <span class="searchResult" title={node.label}>
654
+ // // {node.label}
655
+ // // </span>
656
+ // // </span>`
657
+ // }
658
+ // return h(
659
+ // 'span',
660
+ // h('el-icon', h(className)),
661
+ // h('span', {title: node.label}, node.label)
662
+ // )
663
+ // // return `<span>
664
+ // // <i class={className}></i>
665
+ // // <span title={node.label}>{node.label}</span>
666
+ // // </span>`
667
+ // },
668
+ },
669
+ emits: ['result'],
670
+ }
671
+ </script>
672
+
673
+ <style>
674
+ .searchResult {
675
+ color: red;
676
+ }
677
+
678
+ .inline-input-custom {
679
+ width: 90%;
680
+ }
681
+ </style>
@@ -0,0 +1,6 @@
1
+ import YearRangePicker from './src/year-range-picker.vue'
2
+ YearRangePicker.install = function (Vue) {
3
+ Vue.component(YearRangePicker.name, YearRangePicker)
4
+ }
5
+
6
+ export default YearRangePicker