@cloudbase/weda-ui 3.4.3 → 3.4.5

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 (277) hide show
  1. package/dist/configs/components/chart/bar.json +117 -8
  2. package/dist/configs/components/chart/line.js +127 -18
  3. package/dist/configs/components/chart/pie.json +117 -8
  4. package/dist/configs/components/chart/statisticsCard.json +57 -0
  5. package/dist/configs/components/dataView.js +507 -0
  6. package/dist/configs/components/form/location.json +2 -1
  7. package/dist/configs/components/form/userTreeSelect.json +55 -0
  8. package/dist/configs/components/formdetail.json +12 -2
  9. package/dist/configs/components/graphicCard.json +1 -1
  10. package/dist/configs/components/grid/col.js +125 -0
  11. package/dist/configs/components/grid/grid.js +131 -0
  12. package/dist/configs/components/grid/row.js +143 -0
  13. package/dist/configs/components/image.js +11 -1
  14. package/dist/configs/components/link.js +11 -1
  15. package/dist/configs/components/listView.js +1092 -0
  16. package/dist/configs/components/navLayout.json +1 -1
  17. package/dist/configs/components/navigationBar.json +9 -1
  18. package/dist/configs/components/repeater-item.json +17 -0
  19. package/dist/configs/components/repeater.js +125 -0
  20. package/dist/configs/components/table.json +187 -29
  21. package/dist/configs/components/text.js +12 -1
  22. package/dist/configs/components/wd-bubble.js +204 -0
  23. package/dist/configs/components/wd-button.js +417 -0
  24. package/dist/configs/components/wd-divider.js +89 -0
  25. package/dist/configs/components/wd-icon.js +126 -0
  26. package/dist/configs/components/wd-image.js +164 -0
  27. package/dist/configs/components/wd-link.js +234 -0
  28. package/dist/configs/components/wd-table.js +59 -0
  29. package/dist/configs/components/wd-text.js +142 -0
  30. package/dist/configs/components/wxOpenApi/phone.js +2 -2
  31. package/dist/configs/components/wxOpenApi/phoneCode.js +2 -2
  32. package/dist/configs/index.js +34 -3
  33. package/dist/configs/type-utils/index.js +4 -1
  34. package/dist/docs/common/componentList.js +144 -0
  35. package/dist/docs/common/components/classes-view.js +34 -0
  36. package/dist/docs/common/components/event-view.js +46 -0
  37. package/dist/docs/common/components/json-schema-view.js +18 -0
  38. package/dist/docs/common/components/methods-view.js +32 -0
  39. package/dist/docs/common/components/properties-view.js +45 -0
  40. package/dist/docs/common/format.js +60 -35
  41. package/dist/docs/common/helper.js +1 -0
  42. package/dist/docs/common/tableView.js +61 -50
  43. package/dist/enum/index.js +521 -0
  44. package/dist/index.js +1 -1
  45. package/dist/style/index.scss +1 -0
  46. package/dist/web/actions/showMessage/index.css +0 -3
  47. package/dist/web/actions/showMessage/index.js +1 -1
  48. package/dist/web/actions/showModal/index.css +0 -3
  49. package/dist/web/components/button/index.css +2 -5
  50. package/dist/web/components/button/index.js +3 -3
  51. package/dist/web/components/calendar/index.css +29 -32
  52. package/dist/web/components/calendar/index.js +37 -35
  53. package/dist/web/components/carousel/index.css +11 -14
  54. package/dist/web/components/carousel/index.js +3 -1
  55. package/dist/web/components/chart/common/core/eChartBar.js +10 -2
  56. package/dist/web/components/chart/common/core/eChartLine.js +16 -8
  57. package/dist/web/components/chart/common/core/eChartPie.js +2 -1
  58. package/dist/web/components/chart/common/data-transform.js +1 -1
  59. package/dist/web/components/chart/statisticsCard/index.css +12 -15
  60. package/dist/web/components/chart/statisticsCard/index.js +7 -2
  61. package/dist/web/components/dataView/index.js +3 -3
  62. package/dist/web/components/emptyContent/index.css +26 -0
  63. package/dist/web/components/emptyContent/index.js +46 -0
  64. package/dist/web/components/flow/components/FlowModuleText/index.css +1 -4
  65. package/dist/web/components/flow/components/FlowUserSelect/index.css +29 -32
  66. package/dist/web/components/flow/components/HighlightTextarea/index.css +5 -8
  67. package/dist/web/components/flow/components/UserSelectModel/UserSelect.js +9 -8
  68. package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.css +1 -4
  69. package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.js +3 -4
  70. package/dist/web/components/flow/components/WedaUserTransfer/index.css +0 -3
  71. package/dist/web/components/flow/frame/getCommonFlowData.js +3 -1
  72. package/dist/web/components/flow/frame/index.js +18 -1
  73. package/dist/web/components/flow/frame/types.js +6 -0
  74. package/dist/web/components/flow/frame/utils.js +20 -11
  75. package/dist/web/components/flow/modules/basic/Basic.css +3 -6
  76. package/dist/web/components/flow/modules/basic/BasicMobile.css +9 -12
  77. package/dist/web/components/flow/modules/chart/Chart.js +2 -2
  78. package/dist/web/components/flow/modules/chart/index.css +23 -29
  79. package/dist/web/components/flow/modules/chart/isString.js +5 -0
  80. package/dist/web/components/flow/modules/control/ApprovalDrawer.css +44 -47
  81. package/dist/web/components/flow/modules/control/ApprovalPopup.css +34 -37
  82. package/dist/web/components/flow/modules/control/ApprovalPopup.js +12 -9
  83. package/dist/web/components/flow/modules/control/Control.css +7 -10
  84. package/dist/web/components/flow/modules/control/Control.js +31 -16
  85. package/dist/web/components/flow/modules/control/ControlMobile.css +41 -12
  86. package/dist/web/components/flow/modules/control/ControlMobile.js +28 -13
  87. package/dist/web/components/flow/modules/control/FlowTaskInfoModal.css +0 -3
  88. package/dist/web/components/flow/modules/control/FlowTaskInfoModal.js +4 -4
  89. package/dist/web/components/flow/modules/control/provider/useControlModel.js +20 -11
  90. package/dist/web/components/flow/modules/control/provider/useMobileModel.js +0 -2
  91. package/dist/web/components/flow/modules/control/provider/useRevokeAndBackHook.js +2 -0
  92. package/dist/web/components/flow/modules/control/utils/index.js +1 -0
  93. package/dist/web/components/flow/modules/control/utils/tools.js +3 -0
  94. package/dist/web/components/flow/modules/layout/index.css +0 -3
  95. package/dist/web/components/flow/modules/process/Process.js +1 -1
  96. package/dist/web/components/flow/modules/process/ProcessMobile.js +1 -1
  97. package/dist/web/components/flow/modules/process/index.css +49 -43
  98. package/dist/web/components/form/form/index.css +2 -5
  99. package/dist/web/components/form/form/index.js +48 -4
  100. package/dist/web/components/form/formcell/index.css +29 -17
  101. package/dist/web/components/form/input/index.css +5 -8
  102. package/dist/web/components/form/input/index.js +11 -0
  103. package/dist/web/components/form/location/common/mapChoose.css +88 -91
  104. package/dist/web/components/form/location/common/selectModal.css +10 -13
  105. package/dist/web/components/form/location/components/LocationH5/index.css +17 -20
  106. package/dist/web/components/form/location/components/LocationH5/location.h5.js +2 -3
  107. package/dist/web/components/form/location/components/LocationH5/location.module.css +0 -3
  108. package/dist/web/components/form/location/components/LocationPC/index.css +10 -13
  109. package/dist/web/components/form/location/components/LocationPC/location.PC.js +2 -3
  110. package/dist/web/components/form/location/index.css +0 -3
  111. package/dist/web/components/form/radio/index.css +0 -3
  112. package/dist/web/components/form/select/allTimePicker/calendar.css +15 -18
  113. package/dist/web/components/form/select/allTimePicker/index.css +53 -27
  114. package/dist/web/components/form/select/dropdown-select/h5.js +23 -12
  115. package/dist/web/components/form/select/dropdown-select/index.css +34 -27
  116. package/dist/web/components/form/select/dropdown-select/index.js +37 -4
  117. package/dist/web/components/form/select/dropdown-select/pc.js +57 -17
  118. package/dist/web/components/form/select/dropdown-select/ui.js +5 -2
  119. package/dist/web/components/form/select/index.css +12 -8
  120. package/dist/web/components/form/select/index.js +4 -9
  121. package/dist/web/components/form/select/status/index.css +10 -13
  122. package/dist/web/components/form/switch/switch.module.css +0 -3
  123. package/dist/web/components/form/textarea/index.css +1 -4
  124. package/dist/web/components/form/textarea/index.js +1 -1
  125. package/dist/web/components/form/tips/index.css +11 -2
  126. package/dist/web/components/form/uploader/index.css +14 -17
  127. package/dist/web/components/form/uploaderFile/index.css +64 -66
  128. package/dist/web/components/form/uploaderFile/uploadFile.h5.js +10 -11
  129. package/dist/web/components/form/uploaderFile/uploadFile.pc.js +3 -2
  130. package/dist/web/components/form/userOrgSelect/common/fetch-data-service.js +120 -38
  131. package/dist/web/components/form/userOrgSelect/common/utils.js +89 -1
  132. package/dist/web/components/form/userOrgSelect/component/depart-breadcrumb.js +15 -0
  133. package/dist/web/components/form/userOrgSelect/component/depart-select/depart-select-pc.js +63 -0
  134. package/dist/web/components/form/userOrgSelect/component/depart-select/index.js +96 -0
  135. package/dist/web/components/form/userOrgSelect/component/depart-select/org-modal-pc.js +69 -0
  136. package/dist/web/components/form/userOrgSelect/{user-select-pc → component}/error-tips.js +0 -0
  137. package/dist/web/components/form/userOrgSelect/component/index.css +323 -0
  138. package/dist/web/components/form/userOrgSelect/component/input-tags.js +21 -0
  139. package/dist/web/components/form/userOrgSelect/component/modal-search-h5.js +25 -0
  140. package/dist/web/components/form/userOrgSelect/component/modal-search.js +11 -0
  141. package/dist/web/components/form/userOrgSelect/component/modal-select-h5.js +201 -0
  142. package/dist/web/components/form/userOrgSelect/component/org-tree-h5.js +19 -0
  143. package/dist/web/components/form/userOrgSelect/component/org-tree.js +33 -0
  144. package/dist/web/components/form/userOrgSelect/component/selected-list-h5.js +44 -0
  145. package/dist/web/components/form/userOrgSelect/component/selected-list.js +15 -0
  146. package/dist/web/components/form/userOrgSelect/component/user-org-list.js +55 -0
  147. package/dist/web/components/form/userOrgSelect/component/user-select-h5/index.js +168 -0
  148. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-list-h5.js +107 -0
  149. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-select-h5.js +59 -0
  150. package/dist/web/components/form/userOrgSelect/component/user-select-pc/error-tips.js +11 -0
  151. package/dist/web/components/form/userOrgSelect/{user-select-pc → component/user-select-pc}/model-user-list.js +9 -9
  152. package/dist/web/components/form/userOrgSelect/component/user-select-pc/org-tree.js +10 -0
  153. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-model.js +75 -0
  154. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-select-pc.js +65 -0
  155. package/dist/web/components/form/userOrgSelect/component/userOrgSelect.css +1160 -0
  156. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.js +54 -87
  157. package/dist/web/components/form/userOrgSelect/hooks/use-depart-data.js +30 -35
  158. package/dist/web/components/form/userOrgSelect/hooks/use-views-data.js +48 -0
  159. package/dist/web/components/formdetail/index.css +34 -31
  160. package/dist/web/components/formdetail/index.js +12 -3
  161. package/dist/web/components/graphicCard/index.css +15 -18
  162. package/dist/web/components/grid/_utils.css +67 -0
  163. package/dist/web/components/grid/col.js +33 -0
  164. package/dist/web/components/grid/grid.css +1185 -0
  165. package/dist/web/components/grid/grid.js +19 -0
  166. package/dist/web/components/grid/row.js +14 -0
  167. package/dist/web/components/image/image.js +9 -1
  168. package/dist/web/components/image/index.css +2 -5
  169. package/dist/web/components/index.js +17 -3
  170. package/dist/web/components/link/index.css +0 -3
  171. package/dist/web/components/listView/index.css +21 -23
  172. package/dist/web/components/listView/index.js +215 -81
  173. package/dist/web/components/lottery/index.css +72 -75
  174. package/dist/web/components/modal/h5.css +19 -21
  175. package/dist/web/components/modal/modal.h5.js +11 -10
  176. package/dist/web/components/navLayout/index.css +14 -139
  177. package/dist/web/components/navigationBar/common.js +5 -4
  178. package/dist/web/components/navigationBar/h5Menu.js +12 -10
  179. package/dist/web/components/navigationBar/horizontalMenu.js +42 -35
  180. package/dist/web/components/navigationBar/index.css +130 -86
  181. package/dist/web/components/navigationBar/index.js +6 -4
  182. package/dist/web/components/navigationBar/verticalMenu.js +13 -9
  183. package/dist/web/components/pageLayout/PageContent/index.css +7 -10
  184. package/dist/web/components/pageLayout/index.css +0 -3
  185. package/dist/web/components/pageLayout/index.js +2 -1
  186. package/dist/web/components/repeater/index.js +17 -0
  187. package/dist/web/components/repeater-item/index.js +9 -0
  188. package/dist/web/components/richText/index.css +5 -8
  189. package/dist/web/components/richText/index.js +4 -2
  190. package/dist/web/components/richText/richtext.module.css +1 -4
  191. package/dist/web/components/richTextView/index.css +9 -10
  192. package/dist/web/components/swiper/index.css +10 -13
  193. package/dist/web/components/swiper/index.js +25 -5
  194. package/dist/web/components/table/BaseTable.js +355 -286
  195. package/dist/web/components/table/ExportFileModalByApi/index.css +9 -0
  196. package/dist/web/components/table/ExportFileModalByApi/index.js +150 -0
  197. package/dist/web/components/table/FieldRender.js +25 -18
  198. package/dist/web/components/table/FilterFields.js +17 -11
  199. package/dist/web/components/table/Form/Location.css +2 -5
  200. package/dist/web/components/table/ImportFileModal/csvTemplate.json +65 -6
  201. package/dist/web/components/table/ImportFileModalByApi/index.css +130 -0
  202. package/dist/web/components/table/ImportFileModalByApi/index.js +321 -0
  203. package/dist/web/components/table/ImportFileModalByApi/uploadCSVFile.js +115 -0
  204. package/dist/web/components/table/InOrOutRecordModeal.js +139 -0
  205. package/dist/web/components/table/SelectableBlock/index.css +0 -2
  206. package/dist/web/components/table/UserDepartment/viewCell.css +3 -6
  207. package/dist/web/components/table/baseTable.css +579 -0
  208. package/dist/web/components/table/hooks/useImportingStatus.js +69 -0
  209. package/dist/web/components/table/hooks/useInOutFieldsRecords.js +23 -0
  210. package/dist/web/components/table/index.css +275 -508
  211. package/dist/web/components/table/index.js +6 -4
  212. package/dist/web/components/tabs/index.css +19 -18
  213. package/dist/web/components/tabs/tabs.h5.js +7 -16
  214. package/dist/web/components/text/index.css +6 -9
  215. package/dist/web/components/uploaderFileView/index.css +0 -3
  216. package/dist/web/components/uploaderView/index.css +5 -8
  217. package/dist/web/components/wd-bubble/index.js +3 -17
  218. package/dist/web/components/wd-bubble/wd-bubble.js +17 -0
  219. package/dist/web/components/wd-button/convert-legacy-props.js +14 -0
  220. package/dist/web/components/wd-button/index.js +3 -0
  221. package/dist/web/components/wd-button/wd-button.js +89 -0
  222. package/dist/web/components/wd-config-provider/index.js +1 -0
  223. package/dist/web/components/wd-config-provider/wd-config-context.js +5 -0
  224. package/dist/web/components/wd-config-provider/wd-config-provider.js +12 -0
  225. package/dist/web/components/wd-divider/index.js +3 -0
  226. package/dist/web/components/wd-divider/wd-divider.js +29 -0
  227. package/dist/web/components/wd-icon/convert-legacy-props.js +14 -0
  228. package/dist/web/components/wd-icon/index.js +3 -0
  229. package/dist/web/components/wd-icon/wd-icon.js +63 -0
  230. package/dist/web/components/wd-image/image.js +171 -0
  231. package/dist/web/components/wd-image/index.js +82 -0
  232. package/dist/web/components/wd-link/index.js +3 -0
  233. package/dist/web/components/wd-link/wd-link.js +105 -0
  234. package/dist/web/components/wd-table/index.js +3 -0
  235. package/dist/web/components/wd-table/wd-table.js +24 -0
  236. package/dist/web/components/wd-text/convert-legacy-props.js +14 -0
  237. package/dist/web/components/wd-text/index.js +3 -0
  238. package/dist/web/components/wd-text/wd-text.js +91 -0
  239. package/dist/web/components/wedaVideo/index.css +2 -5
  240. package/dist/web/components/wedaVideo/index.js +8 -6
  241. package/dist/web/index.js +1 -1
  242. package/dist/web/utils/config-context/index.js +1 -0
  243. package/dist/web/utils/config-context/use-config.js +9 -0
  244. package/dist/web/utils/constant.js +1 -0
  245. package/dist/web/utils/datasource.js +19 -7
  246. package/dist/web/utils/file.js +22 -0
  247. package/dist/web/utils/hooks/CreatePortal.js +6 -0
  248. package/dist/web/utils/hooks/EnumHoc.js +23 -3
  249. package/dist/web/utils/hooks/context.js +5 -1
  250. package/dist/web/utils/hooks/use-cloud-id-temp-url.js +2 -1
  251. package/dist/web/utils/platform.js +40 -12
  252. package/dist/web/utils/pollingInterface.js +61 -0
  253. package/dist/web/utils/tcb.js +16 -0
  254. package/dist/web/utils/tool.js +88 -0
  255. package/dist/web/utils/widget-api/index.js +18 -0
  256. package/dist/web/weda-ui.css +128 -4
  257. package/package.json +51 -33
  258. package/dist/configs/components/dataView.json +0 -305
  259. package/dist/configs/components/listView.json +0 -515
  260. package/dist/configs/components/wd-bubble.json +0 -170
  261. package/dist/web/components/form/userOrgSelect/comTool.js +0 -102
  262. package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.pc.js +0 -155
  263. package/dist/web/components/form/userOrgSelect/departTreeSelect/index.js +0 -17
  264. package/dist/web/components/form/userOrgSelect/getUserService.js +0 -165
  265. package/dist/web/components/form/userOrgSelect/index.js +0 -17
  266. package/dist/web/components/form/userOrgSelect/user-select-pc/index.css +0 -216
  267. package/dist/web/components/form/userOrgSelect/user-select-pc/index.js +0 -195
  268. package/dist/web/components/form/userOrgSelect/user-select-pc/org-tree.js +0 -15
  269. package/dist/web/components/form/userOrgSelect/user-select-pc/search-user.js +0 -80
  270. package/dist/web/components/form/userOrgSelect/user-select-pc/selected-user-list.js +0 -12
  271. package/dist/web/components/form/userOrgSelect/user-select-pc/user-model.js +0 -36
  272. package/dist/web/components/form/userOrgSelect/userOrgSelect.css +0 -824
  273. package/dist/web/components/form/userOrgSelect/userTreeSelect.h5.js +0 -302
  274. package/dist/web/components/form/userOrgSelect/utils.js +0 -95
  275. package/dist/web/components/table/ImportFileModal/index.css +0 -263
  276. package/dist/web/components/wd-bubble/index.css +0 -21
  277. package/dist/web/utils/hooks/useRequest.js +0 -25
@@ -3,9 +3,11 @@ export const dealUserData = (data = []) => {
3
3
  return data.map((user) => {
4
4
  const userInfo = JSON.parse(user === null || user === void 0 ? void 0 : user.UserExtend) || {};
5
5
  const primaryColumn = user === null || user === void 0 ? void 0 : user.PrimaryColumn;
6
+ const name = (user === null || user === void 0 ? void 0 : user[primaryColumn]) || (userInfo === null || userInfo === void 0 ? void 0 : userInfo[primaryColumn]) || (user === null || user === void 0 ? void 0 : user.UserId);
6
7
  return {
7
8
  id: user === null || user === void 0 ? void 0 : user.UserId,
8
- userName: (user === null || user === void 0 ? void 0 : user[primaryColumn]) || (userInfo === null || userInfo === void 0 ? void 0 : userInfo[primaryColumn]) || (user === null || user === void 0 ? void 0 : user.UserId),
9
+ userName: name,
10
+ content: name,
9
11
  userId: user === null || user === void 0 ? void 0 : user.UserId,
10
12
  isUser: true,
11
13
  orgId: (user === null || user === void 0 ? void 0 : user.OrgId) || null,
@@ -13,3 +15,89 @@ export const dealUserData = (data = []) => {
13
15
  };
14
16
  });
15
17
  };
18
+ // 处理数据呀部门数据格式
19
+ export const dealOrgData = (data = []) => {
20
+ return data.map((item) => {
21
+ return {
22
+ id: item === null || item === void 0 ? void 0 : item._id,
23
+ orgName: item === null || item === void 0 ? void 0 : item.departmentName,
24
+ content: item === null || item === void 0 ? void 0 : item.departmentName,
25
+ orgId: (item === null || item === void 0 ? void 0 : item._id) || null,
26
+ depth: item === null || item === void 0 ? void 0 : item.depth,
27
+ orgCode: item === null || item === void 0 ? void 0 : item.departmentCode,
28
+ };
29
+ });
30
+ };
31
+ // export const parentIcon = ({ expanded }) => (
32
+ // <Icon type={expanded ? 'folderopen' : 'folderclose'} />
33
+ // );
34
+ // 处理部门数据格式
35
+ export const dealOrgDataH5 = (data = []) => data.map((i) => ({
36
+ id: i.OrgId,
37
+ content: i[i.PrimaryColumn] || i.OrgId,
38
+ children: undefined,
39
+ selectable: true,
40
+ expandable: true,
41
+ isUser: false,
42
+ //icon: parentIcon,
43
+ orgId: i.OrgId,
44
+ userId: (i === null || i === void 0 ? void 0 : i.UserId) || null,
45
+ }));
46
+ // 处理部门数据格式
47
+ export const dealOrgAPIData = (data = []) => {
48
+ return data.map((item) => {
49
+ const primaryColumn = item === null || item === void 0 ? void 0 : item.PrimaryColumn;
50
+ return {
51
+ id: item === null || item === void 0 ? void 0 : item.OrgId,
52
+ orgName: (item === null || item === void 0 ? void 0 : item[primaryColumn]) || (item === null || item === void 0 ? void 0 : item.OrgId),
53
+ content: (item === null || item === void 0 ? void 0 : item[primaryColumn]) || (item === null || item === void 0 ? void 0 : item.OrgId),
54
+ orgId: (item === null || item === void 0 ? void 0 : item.OrgId) || null,
55
+ orgCode: item === null || item === void 0 ? void 0 : item.OrgIdentity,
56
+ };
57
+ });
58
+ };
59
+ export const getNode = (nodes, id, key) => {
60
+ if (!id)
61
+ return null;
62
+ if (id === 'root')
63
+ return nodes;
64
+ for (const node of nodes) {
65
+ if (node[key] === id) {
66
+ return node;
67
+ }
68
+ if (node.children) {
69
+ const result = getNode(node.children, id, key);
70
+ if (result) {
71
+ return result;
72
+ }
73
+ }
74
+ }
75
+ return null;
76
+ };
77
+ export const getBreadNode = (data, item) => {
78
+ var _a;
79
+ const newData = [];
80
+ let nullFlag = false;
81
+ if (data && data.length === 0)
82
+ return [item];
83
+ for (let i = 0; i < data.length; i++) {
84
+ newData.push(data[i]);
85
+ if ((item === null || item === void 0 ? void 0 : item.id) === ((_a = data[i]) === null || _a === void 0 ? void 0 : _a.id)) {
86
+ nullFlag = true;
87
+ break;
88
+ }
89
+ }
90
+ if (!nullFlag)
91
+ return newData.concat(item);
92
+ return newData;
93
+ };
94
+ /**
95
+ * 将字符串格式转换为数组,兼容多选落库为逗号分隔字符串情况
96
+ * @param value
97
+ * @returns
98
+ */
99
+ export const parseStrToArr = (value) => {
100
+ if (typeof value === 'string')
101
+ return value.split(',');
102
+ return value;
103
+ };
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { Button } from 'tea-component';
3
+ export const DepartBreadcrumb = (props) => {
4
+ const { data, onBreadCrumbClick } = props;
5
+ return (React.createElement("div", { className: "weda-select-user-dept-breadcrumb" },
6
+ React.createElement(Button, { type: "link", className: !(Array.isArray(data) && data.length > 0)
7
+ ? 'weda-select-user-dept-breadcrumb__item is-selected'
8
+ : 'weda-select-user-dept-breadcrumb__item', onClick: () => onBreadCrumbClick() }, "\u7EC4\u7EC7\u67B6\u6784"),
9
+ (data || []).map((item, index) => (React.createElement(React.Fragment, null,
10
+ ' ',
11
+ React.createElement("span", { className: "weda-select-user-dept-breadcrumb__separate" }),
12
+ React.createElement(Button, { type: "link", className: index === data.length - 1
13
+ ? 'weda-select-user-dept-breadcrumb__item is-selected'
14
+ : 'weda-select-user-dept-breadcrumb__item', onClick: () => onBreadCrumbClick(item) }, item === null || item === void 0 ? void 0 : item.content))))));
15
+ };
@@ -0,0 +1,63 @@
1
+ import React, { useState } from 'react';
2
+ import { renderDecorator } from '../../../renderDecorator';
3
+ import classNames from '../../../../../utils/classnames';
4
+ import { Dropdown, ConfigProvider } from 'tea-component';
5
+ //import {dealOrgData } from '../../utils';
6
+ import { defaultRequest } from '../../common/fetch-data-service';
7
+ import '../index.css';
8
+ import { OrgModalPC } from './org-modal-pc';
9
+ import { InputTags } from '../../component/input-tags';
10
+ import { useDepartData } from '../../hooks/use-depart-data';
11
+ import { filterStrList } from '../../../../../utils/platform';
12
+ export const OrgTreeContext = React.createContext(null);
13
+ export function DepartTreeSelectPC({ id, className, style, label = '部门选择', labelVisible = true, placeholder = '请选择部门', disabled = false, layout = 'horizontal', requiredFlag = false, size = 'l', multiple = false, decorator, request = defaultRequest, confirmOrgIds, confirmOrgList, setConfirmOrgList, selectedOrgIds, setSelectedOrgIds, selectedOrgList, setSelectedOrgList, errorInfo, setErrorInfo, }) {
14
+ const [open, setOpen] = useState(false);
15
+ const { orgTreeData, orgList, error } = useDepartData({
16
+ request,
17
+ });
18
+ // 外层组件类
19
+ const cls = classNames({
20
+ 'weda-ui': true,
21
+ 'weda-user-tree-select': true,
22
+ [className]: className,
23
+ });
24
+ //确定 关闭弹窗
25
+ const onConfirm = () => {
26
+ setConfirmOrgList(selectedOrgList);
27
+ setOpen(false);
28
+ };
29
+ //取消 关闭弹窗
30
+ const onCancel = () => {
31
+ setSelectedOrgList([]);
32
+ setOpen(false);
33
+ };
34
+ return renderDecorator(React.createElement(ConfigProvider, { classPrefix: "wedatea2td" },
35
+ React.createElement(OrgTreeContext.Provider, { value: {
36
+ selectedOrgList,
37
+ multiple,
38
+ setSelectedOrgList,
39
+ confirmOrgList,
40
+ selectedOrgIds,
41
+ setSelectedOrgIds,
42
+ request,
43
+ } },
44
+ React.createElement(Dropdown, { className: classNames(`weda-ui-org-selected`, `size-${size}`), open: open, onOpenChange: (open) => {
45
+ setOpen(open);
46
+ setSelectedOrgIds(filterStrList(confirmOrgIds));
47
+ setErrorInfo({ errorStatus: false, errorMessage: null });
48
+ }, appearance: 'button', button: React.createElement(InputTags, { tagsList: confirmOrgList, placeholder: placeholder, multiple: multiple, errInfo: errorInfo, disabled: disabled, onClose: (e, item) => {
49
+ setConfirmOrgList(confirmOrgList.filter((l) => (l === null || l === void 0 ? void 0 : l.id) !== (item === null || item === void 0 ? void 0 : item.id)));
50
+ e.stopPropagation();
51
+ } }), overlayClassName: 'weda-ui-user-selected-overlay-hidden', style: { width: '100%' }, disabled: disabled },
52
+ React.createElement(OrgModalPC, { open: open, setOpen: setOpen, request: request, onConfirm: onConfirm, onCancel: onCancel, treeData: orgTreeData || [], orgList: orgList || [], treeDataError: error })))))({
53
+ id,
54
+ className: cls,
55
+ style,
56
+ label: labelVisible ? label : null,
57
+ layout,
58
+ multiCell: false,
59
+ requiredFlag,
60
+ size,
61
+ decorator,
62
+ });
63
+ }
@@ -0,0 +1,96 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import { ConfigProvider } from 'tea-component';
3
+ // import './index.less';
4
+ import { useSyncValue } from '../../../../../utils/hooks/useSyncValue';
5
+ import { usePlatform, isInIde } from '../../../../../utils/platform';
6
+ import isObjectEqual from '../../../../../utils/isObjectEqual';
7
+ import { emptyObject, emptyArray } from '../../../../../utils/constant';
8
+ import { DepartTreeSelectH5 as DepartSelectH5 } from '../../departTreeSelect/departTreeSelect.h5';
9
+ import { DepartTreeSelectPC as DepartSelectPC } from './depart-select-pc';
10
+ import { defaultRequest, getDepartByIds, } from '../../common/fetch-data-service';
11
+ export default function DepartTreeSelect(props) {
12
+ const { events = emptyObject, defaultValue = emptyArray, //默认值,支持数组
13
+ confirmValue = '', defaultValueType = 'noneDepart', multiple = false, onChange = null,
14
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
15
+ request = defaultRequest, } = props;
16
+ const platform = usePlatform();
17
+ // 两次默认值不同, 需要刷新
18
+ const prevDefaultRef = React.useRef(null);
19
+ // 最终选定部门id
20
+ const [confirmOrgIds, setConfirmOrgIds] = useSyncValue(defaultValue, isObjectEqual);
21
+ //弹窗中被选中部门id集合
22
+ const [selectedOrgIds, setSelectedOrgIds] = useState([]);
23
+ // 最终选定部门集合
24
+ const [confirmOrgList, setConfirmOrgList] = useState([]);
25
+ //弹窗中被选中部门集合
26
+ const [selectedOrgList, setSelectedOrgList] = useState([]);
27
+ const [errorInfo, setErrorInfo] = useState({
28
+ errorStatus: false,
29
+ errorMessage: null,
30
+ });
31
+ useEffect(() => {
32
+ if (defaultValueType === 'confirmDepart') {
33
+ setConfirmOrgIds(confirmValue);
34
+ }
35
+ // eslint-disable-next-line react-hooks/exhaustive-deps
36
+ }, [defaultValueType, confirmValue]);
37
+ const getDefaultOrg = async (ids) => {
38
+ try {
39
+ setErrorInfo({ errorStatus: false, errorMessage: null });
40
+ if (ids && ids.length !== 0 && !isInIde()) {
41
+ const { orgList } = await getDepartByIds({ ids, request });
42
+ setConfirmOrgList(orgList);
43
+ }
44
+ else {
45
+ setConfirmOrgList([]);
46
+ }
47
+ }
48
+ catch (e) {
49
+ setConfirmOrgList([]);
50
+ setErrorInfo({ errorStatus: true, errorMessage: e });
51
+ }
52
+ };
53
+ useEffect(() => {
54
+ try {
55
+ if (!isObjectEqual(prevDefaultRef.current, confirmOrgIds)) {
56
+ getDefaultOrg(confirmOrgIds);
57
+ prevDefaultRef.current = confirmOrgIds;
58
+ }
59
+ }
60
+ catch (e) { }
61
+ // eslint-disable-next-line react-hooks/exhaustive-deps
62
+ }, [defaultValueType, confirmOrgIds]);
63
+ useEffect(() => {
64
+ var _a, _b, _c;
65
+ setSelectedOrgList(confirmOrgList);
66
+ onChange === null || onChange === void 0 ? void 0 : onChange(multiple
67
+ ? confirmOrgList.length > 0
68
+ ? confirmOrgList.map((e) => {
69
+ return e === null || e === void 0 ? void 0 : e.id;
70
+ })
71
+ : null
72
+ : (_a = confirmOrgList[0]) === null || _a === void 0 ? void 0 : _a.id);
73
+ (_b = events === null || events === void 0 ? void 0 : events.change) === null || _b === void 0 ? void 0 : _b.call(events, multiple
74
+ ? {
75
+ value: confirmOrgList.length > 0
76
+ ? confirmOrgList.map((e) => {
77
+ return e === null || e === void 0 ? void 0 : e.id;
78
+ })
79
+ : null,
80
+ data: confirmOrgList,
81
+ }
82
+ : {
83
+ value: ((_c = confirmOrgList[0]) === null || _c === void 0 ? void 0 : _c.id) || null,
84
+ data: confirmOrgList[0] || null,
85
+ });
86
+ // eslint-disable-next-line react-hooks/exhaustive-deps
87
+ }, [confirmOrgList]);
88
+ if ((props === null || props === void 0 ? void 0 : props.showType) === 'pc') {
89
+ return (React.createElement(DepartSelectPC, { confirmOrgIds: confirmOrgIds, confirmOrgList: confirmOrgList, setConfirmOrgList: setConfirmOrgList, selectedOrgIds: selectedOrgIds, setSelectedOrgIds: setSelectedOrgIds, selectedOrgList: selectedOrgList, setSelectedOrgList: setSelectedOrgList, errorInfo: errorInfo, setErrorInfo: setErrorInfo, ...props }));
90
+ }
91
+ if ((props === null || props === void 0 ? void 0 : props.showType) === 'h5') {
92
+ return (React.createElement(DepartSelectH5, { confirmOrgIds: confirmOrgIds, confirmOrgList: confirmOrgList, setConfirmOrgList: setConfirmOrgList, selectedOrgIds: selectedOrgIds, setSelectedOrgIds: setSelectedOrgIds, selectedOrgList: selectedOrgList, setSelectedOrgList: setSelectedOrgList, errorInfo: errorInfo, setErrorInfo: setErrorInfo, ...props }));
93
+ }
94
+ return platform === 'h5' ? (React.createElement(ConfigProvider, { classPrefix: "wedatea2td" },
95
+ React.createElement(DepartSelectH5, { confirmOrgIds: confirmOrgIds, confirmOrgList: confirmOrgList, setConfirmOrgList: setConfirmOrgList, selectedOrgIds: selectedOrgIds, setSelectedOrgIds: setSelectedOrgIds, selectedOrgList: selectedOrgList, setSelectedOrgList: setSelectedOrgList, errorInfo: errorInfo, setErrorInfo: setErrorInfo, ...props }))) : (React.createElement(DepartSelectPC, { confirmOrgIds: confirmOrgIds, confirmOrgList: confirmOrgList, setConfirmOrgList: setConfirmOrgList, selectedOrgIds: selectedOrgIds, setSelectedOrgIds: setSelectedOrgIds, selectedOrgList: selectedOrgList, setSelectedOrgList: setSelectedOrgList, errorInfo: errorInfo, setErrorInfo: setErrorInfo, ...props }));
96
+ }
@@ -0,0 +1,69 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import { Button, Modal, Bubble } from 'tea-component';
3
+ import { ModalSearch } from '../modal-search';
4
+ import { OrgTreeContext } from './depart-select-pc';
5
+ import { OrgTree } from '../org-tree';
6
+ import { SelectedList } from '../selected-list';
7
+ import { fetchSearchOrg } from '../../common/fetch-data-service';
8
+ import debounce from '../../../../../utils/debounce';
9
+ import '../index.css';
10
+ export const OrgModalPC = (props) => {
11
+ const { open, setOpen, onCancel, onConfirm, treeData, orgList, treeDataError, } = props;
12
+ const { selectedOrgList, multiple, setSelectedOrgList, confirmOrgList, selectedOrgIds, setSelectedOrgIds, request, } = React.useContext(OrgTreeContext) || {};
13
+ const [searchOrgList, setSearchOrgList] = useState([]);
14
+ // 是否有搜索项
15
+ const [keyWords, setKeyWords] = useState('');
16
+ const [errInfo, setErrInfo] = useState({
17
+ errorStatus: false,
18
+ errorMessage: null,
19
+ });
20
+ const [loading, setLoading] = useState(false);
21
+ useEffect(() => {
22
+ let selectOrgList = [];
23
+ []
24
+ .concat(selectedOrgIds)
25
+ .map((e) => (selectOrgList = selectOrgList.concat(orgList.filter((item) => (item === null || item === void 0 ? void 0 : item.id) === e))));
26
+ setSelectedOrgList(selectOrgList);
27
+ }, [selectedOrgIds]);
28
+ //搜索值变化延迟响应,节流处理
29
+ const onSearch = debounce((key) => {
30
+ try {
31
+ if (key && key.length > 0) {
32
+ setLoading(true);
33
+ fetchSearchOrg({ key, request }).then((res) => {
34
+ setLoading(false);
35
+ setSearchOrgList(res);
36
+ });
37
+ }
38
+ else {
39
+ setSearchOrgList([]);
40
+ }
41
+ setKeyWords(key);
42
+ }
43
+ catch (e) {
44
+ setLoading(false);
45
+ setErrInfo({ errorStatus: true, errorMessage: e });
46
+ }
47
+ }, 500);
48
+ return (React.createElement(Modal, { visible: open, caption: "\u9009\u62E9\u90E8\u95E8", onClose: () => setOpen(false), className: "weda-ui weda-ui-user-select-modal" },
49
+ React.createElement(Modal.Body, null,
50
+ React.createElement("div", { className: "weda-ui-user-select-container" },
51
+ React.createElement(ModalSearch, { searchList: searchOrgList, errInfo: errInfo, loading: loading, keyWords: keyWords, selectedList: selectedOrgList, multiple: multiple, setSelectedList: setSelectedOrgList, setSelectedIds: setSelectedOrgIds, selectedIds: selectedOrgIds, onSearch: (key) => onSearch(key), onReset: () => setSearchOrgList([]), isUser: false }),
52
+ keyWords.length === 0 && (React.createElement(React.Fragment, null,
53
+ React.createElement("div", { className: "weda-ui-user-select-container-list" },
54
+ React.createElement("div", { className: "weda-ui-user-select-container-list__start" },
55
+ React.createElement(OrgTree, { selectedOrgId: selectedOrgIds, mutiple: multiple,
56
+ //setSelectedOrgId={setSelectedOrgId}
57
+ treeData: treeData, treeDataError: treeDataError, selectable: true, onActive: (ids) => {
58
+ setSelectedOrgIds(ids);
59
+ } })))))),
60
+ React.createElement(SelectedList, { selectedList: selectedOrgList, isUser: false, onClose: (item) => {
61
+ setSelectedOrgIds(selectedOrgIds.filter((e) => e !== (item === null || item === void 0 ? void 0 : item.id)));
62
+ } })),
63
+ React.createElement(Modal.Footer, null,
64
+ React.createElement(Button, { type: "weak", onClick: onCancel }, "\u53D6\u6D88"),
65
+ React.createElement(Bubble, { content: selectedOrgList.length === 0 && confirmOrgList.length === 0
66
+ ? '请选择部门'
67
+ : null },
68
+ React.createElement(Button, { type: "primary", onClick: onConfirm, disabled: selectedOrgList.length === 0 && confirmOrgList.length === 0 }, "\u786E\u5B9A")))));
69
+ };
@@ -0,0 +1,323 @@
1
+ /* 最外层容器 */
2
+ .weda-ui-user-selected {
3
+ }
4
+
5
+ /* 弹窗 */
6
+ .weda-ui-user-select-modal {
7
+ }
8
+
9
+ .weda-ui-user-select-modal .wedatea2td-icon-status-blank {
10
+ width: 120px;
11
+ height: 80px;
12
+ background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwIiBoZWlnaHQ9IjgwIiB2aWV3Qm94PSIwIDAgMTIwIDgwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cmVjdCB3aWR0aD0iMTIwIiBoZWlnaHQ9IjgwIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcxLjg0NjIgMjcuODQ2MkM3MS44NDYyIDM0LjM4ODYgNjYuNTQyNCAzOS42OTIzIDYwIDM5LjY5MjNDNTMuNDU3NSAzOS42OTIzIDQ4LjE1MzggMzQuMzg4NiA0OC4xNTM4IDI3Ljg0NjJDNDguMTUzOCAyMS4zMDM3IDUzLjQ1NzUgMTYgNjAgMTZDNjYuNTQyNCAxNiA3MS44NDYyIDIxLjMwMzcgNzEuODQ2MiAyNy44NDYyWiIgZmlsbD0iI0U3RTdFNyIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTgwLjE4MjkgNDcuNjU1NUM4MS4zMTI5IDQ4LjE5NTIgODIgNDkuMzU0MiA4MiA1MC42MDY0VjU4LjMwNzdDODIgNTkuMjQyMyA4MS4yNDIzIDYwIDgwLjMwNzcgNjBIMzkuNjkyM0MzOC43NTc3IDYwIDM4IDU5LjI0MjMgMzggNTguMzA3N1Y1MC42MDY0QzM4IDQ5LjM1NDIgMzguNjg3MSA0OC4xOTUyIDM5LjgxNzEgNDcuNjU1NUM0NS45NTE4IDQ0LjcyNTUgNTIuNzc5IDQzLjA3NjkgNjAgNDMuMDc2OUM2Ny4yMjEgNDMuMDc2OSA3NC4wNDgyIDQ0LjcyNTUgODAuMTgyOSA0Ny42NTU1WiIgZmlsbD0iI0U3RTdFNyIvPgo8ZyBvcGFjaXR5PSIwLjkiIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2JfMTQxNV8xNTM2OSkiPgo8Y2lyY2xlIGN4PSI4NSIgY3k9IjQ4IiByPSIxNSIgZmlsbD0iIzAwNTJEOSIvPgo8L2c+CjxwYXRoIGQ9Ik04NC4xODc1IDQ4LjgxMjVWNTMuNjI1SDg1LjgxMjVWNDguODEyNUg5MC42MjVWNDcuMTg3NUg4NS44MTI1VjQyLjM3NUg4NC4xODc1VjQ3LjE4NzVINzkuMzc1VjQ4LjgxMjVIODQuMTg3NVoiIGZpbGw9IndoaXRlIi8+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIxX2JfMTQxNV8xNTM2OSkiPgo8cGF0aCBkPSJNNDcuOTAwOSAzOS43MDRMNDAuOTQxNSA2NS44Mzk5TDIyLjUxMzggNDkuMDMyMUw0Ny45MDA5IDM5LjcwNFoiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8xNDE1XzE1MzY5KSIvPgo8L2c+CjxyZWN0IHg9IjMzLjE4MyIgeT0iOC42ODMwMSIgd2lkdGg9IjE3IiBoZWlnaHQ9IjE3IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAzMy4xODMgOC42ODMwMSkiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1vcGFjaXR5PSIwLjkiLz4KPGRlZnM+CjxmaWx0ZXIgaWQ9ImZpbHRlcjBfYl8xNDE1XzE1MzY5IiB4PSI2NC42NjY3IiB5PSIyNy42NjY3IiB3aWR0aD0iNDAuNjY2NyIgaGVpZ2h0PSI0MC42NjY3IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CjxmZUdhdXNzaWFuQmx1ciBpbj0iQmFja2dyb3VuZEltYWdlRml4IiBzdGREZXZpYXRpb249IjIuNjY2NjciLz4KPGZlQ29tcG9zaXRlIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJpbiIgcmVzdWx0PSJlZmZlY3QxX2JhY2tncm91bmRCbHVyXzE0MTVfMTUzNjkiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2JhY2tncm91bmRCbHVyXzE0MTVfMTUzNjkiIHJlc3VsdD0ic2hhcGUiLz4KPC9maWx0ZXI+CjxmaWx0ZXIgaWQ9ImZpbHRlcjFfYl8xNDE1XzE1MzY5IiB4PSIxNy4xODA2IiB5PSIzNC4zNzA2IiB3aWR0aD0iMzYuMDUzNiIgaGVpZ2h0PSIzNi44MDI2IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CjxmZUdhdXNzaWFuQmx1ciBpbj0iQmFja2dyb3VuZEltYWdlRml4IiBzdGREZXZpYXRpb249IjIuNjY2NjciLz4KPGZlQ29tcG9zaXRlIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJpbiIgcmVzdWx0PSJlZmZlY3QxX2JhY2tncm91bmRCbHVyXzE0MTVfMTUzNjkiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2JhY2tncm91bmRCbHVyXzE0MTVfMTUzNjkiIHJlc3VsdD0ic2hhcGUiLz4KPC9maWx0ZXI+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhcl8xNDE1XzE1MzY5IiB4MT0iNDIuOTQzMSIgeTE9IjQ0LjA0ODIiIHgyPSIyOS4xNzciIHkyPSI1OS4xNDExIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiM0OEM3OUMiIHN0b3Atb3BhY2l0eT0iMC43Ii8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzQ4Qzc5QyIvPgo8L2xpbmVhckdyYWRpZW50Pgo8L2RlZnM+Cjwvc3ZnPgo=);
13
+ }
14
+
15
+ .weda-ui-user-select-modal .wedatea2td-dialog__inner {
16
+ width: 800px;
17
+ }
18
+ .weda-ui-user-select-modal .wedatea2td-tree--full-line {
19
+ max-width: 800px;
20
+ }
21
+ /* 弹窗内容包裹 */
22
+ .weda-ui-user-select-container {
23
+ border: 1px solid #dcdcdc;
24
+ border-radius: 3px;
25
+ }
26
+
27
+ .weda-ui-user-select-container .wedatea2td-form--search {
28
+ margin: 8px;
29
+ }
30
+
31
+ /* 弹窗内容 列表容器,包括树和列表 */
32
+ .weda-ui-user-select-container-list {
33
+ display: flex;
34
+ height: 320px;
35
+ }
36
+ .weda-ui-user-select-container-list
37
+ .wedatea2td-tree__node-content
38
+ .wedatea2td-icon {
39
+ margin-top: 3px;
40
+ }
41
+
42
+ .weda-ui-user-select-container-list__start,
43
+ .weda-ui-user-select-container-list__end {
44
+ flex: 1 1 auto;
45
+ min-width: 50%;
46
+ box-sizing: border-box;
47
+ border-right: 1px solid #e7e7e7;
48
+ padding: 0 8px 8px;
49
+ overflow: auto;
50
+ }
51
+
52
+ .weda-ui-user-select-container .weda-ui-user-select-container-list__end {
53
+ height: 320px;
54
+ }
55
+
56
+ /* .weda-ui-user-select-container-list__start,
57
+ .depart-tree,
58
+ .wedatea2td-tree__node,
59
+ .wedatea2td-tree__label, img{
60
+ margin-right: 2px;
61
+ } */
62
+ .weda-ui-user-select-container-list__start
63
+ .depart-tree
64
+ .wedatea2td-tree__node.is-selected
65
+ > .wedatea2td-tree__node-content {
66
+ background-color: #d4e3fc;
67
+ }
68
+ .weda-ui-user-select-container-list__start
69
+ .depart-tree
70
+ .wedatea2td-tree__node.is-selected
71
+ > .wedatea2td-tree__node-content
72
+ .wedatea2td-tree__label {
73
+ background-color: #d4e3fc;
74
+ }
75
+ .weda-ui-user-select-container-list__start
76
+ .wedatea2td-tree.wedatea2td-tree--checkbox-separate
77
+ .wedatea2td-tree__node.is-selected
78
+ > .wedatea2td-tree__node-content
79
+ .wedatea2td-tree__label
80
+ .wedatea2td-tree__label-title {
81
+ background-color: #d4e3fc;
82
+ }
83
+
84
+ /* 弹窗内容 列表头部信息容器 */
85
+ .weda-ui-user-select-container-list-header {
86
+ display: flex;
87
+ justify-content: space-between;
88
+ align-items: center;
89
+ margin-bottom: 8px;
90
+ position: sticky;
91
+ top: 0;
92
+ background-color: #fff;
93
+ z-index: 1;
94
+ }
95
+
96
+ .weda-ui-user-select-container-list__end.is-scrolling
97
+ .weda-ui-user-select-container-list-header {
98
+ box-shadow: 0px 10px 10px rgba(0, 0, 0, 0.1);
99
+ margin-left: -8px;
100
+ margin-right: -8px;
101
+ padding: 0 8px;
102
+ }
103
+
104
+ .weda-ui-user-select-container-list-header__col {
105
+ line-height: 22px;
106
+ }
107
+
108
+ /* 弹窗内容 统计/翻页 */
109
+ .weda-ui-user-select-container-list-header__statistics {
110
+ display: flex;
111
+ align-items: center;
112
+ }
113
+
114
+ /* 列表 */
115
+ .weda-ui-user-select-list {
116
+ }
117
+
118
+ .weda-ui-user-select-list .wedatea2td-form-check-group {
119
+ margin-bottom: 0;
120
+ width: 100%;
121
+ }
122
+
123
+ /* 结果列表 */
124
+ .weda-ui-user-select-result {
125
+ height: 120px;
126
+ box-sizing: border-box;
127
+ border: 1px solid #dcdcdc;
128
+ border-radius: 3px;
129
+ margin-top: 20px;
130
+ padding: 8px;
131
+ overflow: auto;
132
+ }
133
+
134
+ /* 选择输入框 */
135
+ .weda-ui-user-select-input {
136
+ height: 32px;
137
+ box-sizing: border-box;
138
+ display: flex;
139
+ cursor: pointer;
140
+ padding: 3px 0;
141
+ width: 100%;
142
+ }
143
+
144
+ .weda-ui-user-select-input__placeholder {
145
+ flex: 1 1 0px;
146
+ line-height: 24px;
147
+ color: #9a9a9a !important;
148
+ font-size: inherit;
149
+ }
150
+
151
+ /* 选择输入框 值 tags */
152
+ .weda-ui-user-select-input__values {
153
+ flex: 1 1 0px;
154
+ overflow: hidden;
155
+ }
156
+
157
+ .weda-ui-user-select-input__img {
158
+ background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTExLjUgNUMxMS41IDYuOTMzIDkuOTMzIDguNSA4IDguNUM2LjA2NyA4LjUgNC41IDYuOTMzIDQuNSA1QzQuNSAzLjA2NyA2LjA2NyAxLjUgOCAxLjVDOS45MzMgMS41IDExLjUgMy4wNjcgMTEuNSA1Wk0xMC41IDVDMTAuNSAzLjYxOTI5IDkuMzgwNzEgMi41IDggMi41QzYuNjE5MjkgMi41IDUuNSAzLjYxOTI5IDUuNSA1QzUuNSA2LjM4MDcxIDYuNjE5MjkgNy41IDggNy41QzkuMzgwNzEgNy41IDEwLjUgNi4zODA3MSAxMC41IDVaIiBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KPHBhdGggZD0iTTEzLjk2MzEgMTAuODUyOEMxNC4yOTcgMTEuMDEyMiAxNC41IDExLjM1NDcgMTQuNSAxMS43MjQ2VjE0QzE0LjUgMTQuMjc2MSAxNC4yNzYxIDE0LjUgMTQgMTQuNUgyQzEuNzIzODYgMTQuNSAxLjUgMTQuMjc2MSAxLjUgMTRWMTEuNzI0NkMxLjUgMTEuMzU0NyAxLjcwMzAyIDExLjAxMjIgMi4wMzY4NiAxMC44NTI4QzMuODQ5NCA5Ljk4NzA4IDUuODY2NTEgOS41IDggOS41QzEwLjEzMzUgOS41IDEyLjE1MDYgOS45ODcwOCAxMy45NjMxIDEwLjg1MjhaTTggMTAuNUM2LjAzMzQgMTAuNSA0LjE3NDM1IDEwLjk0NTcgMi41IDExLjczOThWMTMuNUgxMy41VjExLjczOThDMTEuODI1NyAxMC45NDU3IDkuOTY2NiAxMC41IDggMTAuNVoiIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjAuNCIvPgo8L3N2Zz4K);
159
+ background-repeat: no-repeat;
160
+ width: 24px;
161
+ margin-top: 4px;
162
+ }
163
+
164
+ .weda-ui-user-select-input__values .wedatea2td-tag {
165
+ margin: 0;
166
+ height: 24px;
167
+ line-height: 22px;
168
+ margin-right: 8px;
169
+ margin-bottom: 8px;
170
+ }
171
+
172
+ .weda-ui-user-select-input__values .wedatea2td-tag .wedatea2td-icon-dismiss {
173
+ bottom: 3px;
174
+ }
175
+
176
+ /* 选择输入框 尾部信息 */
177
+ .weda-ui-user-select-input__extra {
178
+ display: flex;
179
+ align-items: center;
180
+ height: 100%;
181
+ flex: 0 0 auto;
182
+ border-radius: 3px;
183
+ padding: 0 8px;
184
+ cursor: pointer;
185
+ }
186
+
187
+ /* 选择输入框 尾部信息 */
188
+ .weda-ui-user-select-input__extra__disabled {
189
+ display: flex;
190
+ align-items: center;
191
+ height: 100%;
192
+ flex: 0 0 auto;
193
+ border-radius: 3px;
194
+ padding: 0 8px;
195
+ }
196
+
197
+ .weda-ui-user-select-input__extra .wedatea2td-icon-more,
198
+ .weda-ui-user-select-input__extra__disabled .wedatea2td-icon-more {
199
+ margin-right: 8px;
200
+ background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMgOUMyLjQ0Nzc1IDkgMiA4LjU1MjI4IDIgOEMyIDcuNDQ3NzIgMi40NDc3NSA3IDMgN0MzLjU1MjI1IDcgNCA3LjQ0NzcyIDQgOEM0IDguNTUyMjggMy41NTIyNSA5IDMgOVoiIGZpbGw9IiMwMDUyRDkiLz4KPHBhdGggZD0iTTcgOEM3IDguNTUyMjggNy40NDc3NSA5IDggOUM4LjU1MjI1IDkgOSA4LjU1MjI4IDkgOEM5IDcuNDQ3NzIgOC41NTIyNSA3IDggN0M3LjQ0Nzc1IDcgNyA3LjQ0NzcyIDcgOFoiIGZpbGw9IiMwMDUyRDkiLz4KPHBhdGggZD0iTTEyIDhDMTIgOC41NTIyOCAxMi40NDc4IDkgMTMgOUMxMy41NTIyIDkgMTQgOC41NTIyOCAxNCA4QzE0IDcuNDQ3NzIgMTMuNTUyMiA3IDEzIDdDMTIuNDQ3OCA3IDEyIDcuNDQ3NzIgMTIgOFoiIGZpbGw9IiMwMDUyRDkiLz4KPC9zdmc+Cg==);
201
+ }
202
+
203
+ .weda-ui-user-select-input__extra:hover {
204
+ background-color: #d4e3fc;
205
+ }
206
+ .weda-ui-org-selected .wedatea2td-dropdown__header .wedatea2td-icon-arrowdown {
207
+ background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xLjUgMy41QzEuNSAyLjk0NzcxIDEuOTQ3NzIgMi41IDIuNSAyLjVINS40Mjg1N0g1LjU5MDZMNS43MjE4MyAyLjU5NTAzTDcuNjYyMDIgNEgxMy41QzE0LjA1MjMgNCAxNC41IDQuNDQ3NzIgMTQuNSA1VjEzQzE0LjUgMTMuNTUyMyAxNC4wNTIzIDE0IDEzLjUgMTRIMi41QzEuOTQ3NzIgMTQgMS41IDEzLjU1MjMgMS41IDEzTDEuNSAzLjVaTTUuMjY2NTUgMy41TDIuNSAzLjVWMTNIMTMuNVY1SDcuNUg3LjMzNzk4TDcuMjA2NzUgNC45MDQ5N0w1LjI2NjU1IDMuNVoiIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjAuNCIvPgo8L3N2Zz4K);
208
+ background-repeat: no-repeat;
209
+ left: 8px;
210
+ top: 8px;
211
+ }
212
+
213
+ .weda-ui-user-selected .wedatea2td-dropdown__header .wedatea2td-icon-arrowdown {
214
+ background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTExLjUgNUMxMS41IDYuOTMzIDkuOTMzIDguNSA4IDguNUM2LjA2NyA4LjUgNC41IDYuOTMzIDQuNSA1QzQuNSAzLjA2NyA2LjA2NyAxLjUgOCAxLjVDOS45MzMgMS41IDExLjUgMy4wNjcgMTEuNSA1Wk0xMC41IDVDMTAuNSAzLjYxOTI5IDkuMzgwNzEgMi41IDggMi41QzYuNjE5MjkgMi41IDUuNSAzLjYxOTI5IDUuNSA1QzUuNSA2LjM4MDcxIDYuNjE5MjkgNy41IDggNy41QzkuMzgwNzEgNy41IDEwLjUgNi4zODA3MSAxMC41IDVaIiBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjQiLz4KPHBhdGggZD0iTTEzLjk2MzEgMTAuODUyOEMxNC4yOTcgMTEuMDEyMiAxNC41IDExLjM1NDcgMTQuNSAxMS43MjQ2VjE0QzE0LjUgMTQuMjc2MSAxNC4yNzYxIDE0LjUgMTQgMTQuNUgyQzEuNzIzODYgMTQuNSAxLjUgMTQuMjc2MSAxLjUgMTRWMTEuNzI0NkMxLjUgMTEuMzU0NyAxLjcwMzAyIDExLjAxMjIgMi4wMzY4NiAxMC44NTI4QzMuODQ5NCA5Ljk4NzA4IDUuODY2NTEgOS41IDggOS41QzEwLjEzMzUgOS41IDEyLjE1MDYgOS45ODcwOCAxMy45NjMxIDEwLjg1MjhaTTggMTAuNUM2LjAzMzQgMTAuNSA0LjE3NDM1IDEwLjk0NTcgMi41IDExLjczOThWMTMuNUgxMy41VjExLjczOThDMTEuODI1NyAxMC45NDU3IDkuOTY2NiAxMC41IDggMTAuNVoiIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjAuNCIvPgo8L3N2Zz4K);
215
+ background-repeat: no-repeat;
216
+ left: 8px;
217
+ top: 8px;
218
+ }
219
+ .weda-ui-org-selected .wedatea2td-dropdown__header,
220
+ .weda-ui-user-selected .wedatea2td-dropdown__header {
221
+ padding-left: 32px !important;
222
+ padding-right: 8px !important;
223
+ }
224
+ .weda-ui-user-selected-overlay-hidden {
225
+ display: none;
226
+ }
227
+
228
+ .weda-user-tree-select .wedatea2td-dropdown-btn .wedatea2td-dropdown__value {
229
+ white-space: break-spaces;
230
+ }
231
+ /*禁用效果*/
232
+ .weda-user-tree-select .is-disabled .wedatea2td-tag--unlimited-width {
233
+ background-color: #dcdcdc;
234
+ color: rgba(0, 0, 0, 0.26);
235
+ }
236
+
237
+ /* 组织树选中框*/
238
+ .weda-ui-user-select-container
239
+ .wedatea2td-tree.wedatea2td-tree--checkbox-separate
240
+ .wedatea2td-tree__label
241
+ .wedatea2td-form-check {
242
+ width: auto;
243
+ height: 46px;
244
+ padding-left: 0px;
245
+ }
246
+
247
+ /* 面包屑 */
248
+ .weda-select-user-dept-breadcrumb {
249
+ font-size: 14px;
250
+ line-height: 22px;
251
+ color: rgba(0, 0, 0, 0.4);
252
+ display: flex;
253
+ align-items: center;
254
+ overflow: hidden;
255
+ position: relative;
256
+ }
257
+
258
+ /* .weda-select-user-dept-breadcrumb::after {
259
+ content: '';
260
+ display: block;
261
+ position: absolute;
262
+ right: 0;
263
+ top: 0;
264
+ bottom: 0;
265
+ width: 40px;
266
+ background: linear-gradient(to right, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 1) 60%)
267
+ } */
268
+
269
+ .weda-select-user-dept-breadcrumb__item {
270
+ flex: 0 0 auto;
271
+ display: inline-flex;
272
+ align-items: center;
273
+ color: rgba(0, 0, 0, 0.4);
274
+ }
275
+
276
+ .weda-select-user-dept-breadcrumb__item:hover {
277
+ color: rgba(0, 0, 0, 0.4);
278
+ }
279
+
280
+ .weda-select-user-dept-breadcrumb__item.is-selected {
281
+ color: #0052d9;
282
+ }
283
+
284
+ .weda-select-user-dept-breadcrumb__separate {
285
+ flex: 0 0 auto;
286
+ display: inline-flex;
287
+ margin: 0 8px;
288
+ width: 16px;
289
+ height: 16px;
290
+ background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02LjQ1OTUyIDEyLjQ1OTdMNS41NDAyOCAxMS41NDA1TDkuMDgwNjYgOC4wMDAxTDUuNTQwMjggNC40NTk3Mkw2LjQ1OTUyIDMuNTQwNDhMMTAuOTE5MSA4LjAwMDFMNi40NTk1MiAxMi40NTk3WiIgZmlsbD0iYmxhY2siLz4KPC9zdmc+Cg==);
291
+ }
292
+
293
+ .weda-select-user-dept__dialog .weda-select-user-dept-breadcrumb {
294
+ padding: 20px 16px 8px;
295
+ background-color: #fff;
296
+ }
297
+
298
+ .weda-select-user-dept__load-completed {
299
+ text-align: center;
300
+ margin: 12px 0 50px 0;
301
+ color: rgba(0, 0, 0, 0.4);
302
+ opacity: 0.4;
303
+ font-size: 0.85714rem;
304
+ height: 50px;
305
+ }
306
+ /* .weda-select-user-dept__dialog .wedatea2td-form-check__user {
307
+ padding-left: 32px;
308
+ } */
309
+
310
+ .weda-select-user-dept__dialog .weda-select-user-dept__dialog-content {
311
+ height: calc(100% - 20px);
312
+ background-color: #fff;
313
+ }
314
+ .weda-select-user-dept__dialog .wedatea2td-form-check__user .item-radio-name {
315
+ overflow: hidden;
316
+ white-space: nowrap;
317
+ text-overflow: ellipsis;
318
+ font-weight: 400;
319
+ font-size: 16px;
320
+ line-height: 22px;
321
+ color: rgba(0, 0, 0, 0.9);
322
+ max-width: 100%;
323
+ }