@baishuyun/ui-business 5.1.6 → 5.2.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 (28) hide show
  1. package/dist/DeptsMemberSelector/{Department-12ftZfXD.js → Department-H6zGUr4c.js} +5 -5
  2. package/dist/DeptsMemberSelector/{DeptsMemberSelector-BXWGwgUq.js → DeptsMemberSelector-DD3yoWYQ.js} +236 -236
  3. package/dist/DeptsMemberSelector/DeptsUser-41XeJOIY.js +981 -0
  4. package/dist/DeptsMemberSelector/Member-Bit-zWOE.js +517 -0
  5. package/dist/DeptsMemberSelector/MemberPanel-BhuVgJdO.js +510 -0
  6. package/dist/DeptsMemberSelector/OrganizationPanel-CT3v_KVr.js +374 -0
  7. package/dist/DeptsMemberSelector/{TabGroup-Ds7bTbKL.js → TabGroup-Dht9ylk4.js} +13 -13
  8. package/dist/DeptsMemberSelector/index.js +7 -7
  9. package/dist/DeptsMemberSelector/subcomponents/Entity/Department/index.js +3 -3
  10. package/dist/DeptsMemberSelector/subcomponents/Entity/DeptsUser/index.js +4 -4
  11. package/dist/DeptsMemberSelector/subcomponents/Entity/Member/index.js +3 -3
  12. package/dist/DeptsMemberSelector/utils/index.js +11 -2
  13. package/dist/components/ConfigProvider/ConfigProvider.type.d.ts +1 -1
  14. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersExtraContactPanel/DeptUsersExtraContactPanel.d.ts +2 -0
  15. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersExtraContactPanel/useDeptUsersExtraContactPanelData.d.ts +40 -0
  16. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersRolePanel/useDeptUsersRolePanelData.d.ts +1 -1
  17. package/dist/components/DeptsMemberSelector/utils/departmentStatus.d.ts +3 -0
  18. package/dist/index.css +1 -1
  19. package/dist/index.js +7 -7
  20. package/dist/lang/en-US.json.d.ts +2 -0
  21. package/dist/lang/zh-CN.json.d.ts +2 -0
  22. package/dist/lang/zh-TW.json.d.ts +71 -0
  23. package/dist/vendors/useLocale.js +75 -7
  24. package/package.json +3 -3
  25. package/dist/DeptsMemberSelector/DeptsUser-C8hYQ6z-.js +0 -790
  26. package/dist/DeptsMemberSelector/ExtraConcactPanel-BDNrz5rV.js +0 -647
  27. package/dist/DeptsMemberSelector/Member-B4tEHksu.js +0 -375
  28. package/dist/DeptsMemberSelector/OrganizationPanel-DoM4UNxv.js +0 -374
@@ -1,790 +0,0 @@
1
- import { t as e } from "../vendors/simplebar-react.js";
2
- import { t } from "../vendors/clsx.js";
3
- import { t as n } from "./useDeptsMemberSelector-t7b8yu-A.js";
4
- import { c as r, n as i, o as a, r as o, s } from "./services/contact/selector.service-CY5vQea8.js";
5
- import { n as c } from "./TabGroup-Ds7bTbKL.js";
6
- import { t as l } from "../vendors/useLocale.js";
7
- import { buildDeptTree as u, buildTree as d, getColorByName as f } from "./utils/index.js";
8
- import { t as p } from "./OrganizationPanel-DoM4UNxv.js";
9
- import { n as m, t as h } from "./ExtraConcactPanel-BDNrz5rV.js";
10
- import { t as g } from "./RelationShipList-BhiAdVjm.js";
11
- import { t as _ } from "./RelationShipDepts-kpemRPz1.js";
12
- import { useMemo as v, useState as y } from "react";
13
- import { Avatar as b, Spin as x } from "antd";
14
- import { Checkbox as S, Icon as C, Tree as w } from "@baishuyun/ui-base";
15
- import { useRequest as T } from "ahooks";
16
- import { jsx as E, jsxs as D } from "react/jsx-runtime";
17
- //#region src/utils/recordSelectedNode.ts
18
- function O(e, t) {
19
- let n = "bsy_dept_member";
20
- try {
21
- let r = sessionStorage.getItem(n), i = r ? JSON.parse(r) : [];
22
- if (i.some((t) => t._id === e)) return;
23
- let a = t.find((t) => t._id === e);
24
- if (!a) {
25
- console.warn(`未找到 id 为 ${e} 的节点信息`);
26
- return;
27
- }
28
- i.push(a), sessionStorage.setItem(n, JSON.stringify(i));
29
- } catch (e) {
30
- console.error("记录选中节点时发生错误:", e);
31
- }
32
- }
33
- //#endregion
34
- //#region src/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersPositionPanel/DeptUsersPositionPanel.module.scss
35
- var k = {
36
- "dept-users-position-panel": "_dept-users-position-panel_wnw63_1",
37
- "dept-users-position-panel__department": "_dept-users-position-panel__department_wnw63_6",
38
- "dept-users-position-panel__mode": "_dept-users-position-panel__mode_wnw63_11",
39
- "dept-users-position-panel__mode-list": "_dept-users-position-panel__mode-list_wnw63_16",
40
- "dept-users-position-panel__mode-item": "_dept-users-position-panel__mode-item_wnw63_22",
41
- "dept-users-position-panel__mode-item--active": "_dept-users-position-panel__mode-item--active_wnw63_32",
42
- "dept-users-position-panel__positions": "_dept-users-position-panel__positions_wnw63_39",
43
- "dept-users-position-panel__position-group": "_dept-users-position-panel__position-group_wnw63_45",
44
- "dept-users-position-panel__position-item": "_dept-users-position-panel__position-item_wnw63_50",
45
- "dept-users-position-panel__position-checkbox": "_dept-users-position-panel__position-checkbox_wnw63_58",
46
- "dept-users-position-panel__position-checkbox-row": "_dept-users-position-panel__position-checkbox-row_wnw63_61",
47
- "dept-users-position-panel__position-name": "_dept-users-position-panel__position-name_wnw63_68",
48
- "dept-users-position-panel__empty": "_dept-users-position-panel__empty_wnw63_77",
49
- "dept-users-position-panel__switcher-icon": "_dept-users-position-panel__switcher-icon_wnw63_85",
50
- "dept-users-position-panel__switcher-icon--expanded": "_dept-users-position-panel__switcher-icon--expanded_wnw63_90"
51
- }, ee = [{
52
- key: "current",
53
- label: "当前部门的所有职位"
54
- }, {
55
- key: "currentSub",
56
- label: "当前部门以及子部门的所有职位"
57
- }], A = (e) => encodeURIComponent(e), j = (e) => e?._id === void 0 || e?._id === null ? "" : String(e._id), M = (e) => typeof e?.name == "string" ? e.name : "", N = (e) => e.find((e) => j(e) && M(e)), P = (e) => typeof e == "string" ? e : e.job_title || e.name || "", F = (e) => {
58
- if (typeof e != "string") return e._id || e.id;
59
- }, I = ({ sourceItems: e, deptId: t, deptName: n, mode: r }) => e.map((e) => {
60
- let i = P(e);
61
- if (!i) return null;
62
- let a = [
63
- A(t),
64
- r,
65
- A(i)
66
- ].join("__");
67
- return {
68
- _id: a,
69
- id: a,
70
- name: r === "current" ? `${n} - ${i}` : `${n}及子部门 - ${i}`,
71
- positionName: i,
72
- type: "jobtitle",
73
- jobTitle: `${t}-${r}-${i}`,
74
- rawId: F(e),
75
- deptId: t,
76
- deptName: n,
77
- mode: r
78
- };
79
- }).filter((e) => e !== null), L = (e) => Array.isArray(e) ? e : Array.isArray(e?.items) ? e.items : Array.isArray(e?.list) ? e.list : [], R = () => {
80
- let { containerHeight: e, requestContext: t, value: r = [], dispatch: o } = n(), [s, c] = y(""), [l, d] = y(""), [f, p] = y("current"), { data: m, loading: h } = T(() => i({
81
- requestContext: t,
82
- hasDeptDock: !1
83
- }), {
84
- refreshDeps: [t],
85
- onSuccess: (e) => {
86
- let t = N(e?.departments || []);
87
- c(j(t)), d(M(t));
88
- }
89
- }), g = v(() => m?.departments || [], [m]), _ = v(() => u(g), [g]), b = v(() => _.map((e) => e._id).filter(Boolean), [_]), { data: x, loading: S } = T(async () => s ? {
90
- sourceData: await a({
91
- requestContext: t,
92
- departmentId: s,
93
- mode: f
94
- }),
95
- deptId: s,
96
- deptName: l,
97
- mode: f
98
- } : {
99
- sourceData: { items: [] },
100
- deptId: "",
101
- deptName: "",
102
- mode: f
103
- }, { refreshDeps: [
104
- s,
105
- f,
106
- t?.appId,
107
- t?.entryId
108
- ] }), C = v(() => !x || x.deptId !== s || x.mode !== f ? [] : I({
109
- sourceItems: L(x.sourceData),
110
- deptId: x.deptId,
111
- deptName: x.deptName,
112
- mode: x.mode
113
- }), [
114
- x,
115
- s,
116
- f
117
- ]), w = v(() => r.map((e) => e._id), [r]);
118
- return {
119
- containerHeight: e,
120
- departmentTree: _,
121
- defaultExpandedKeys: b,
122
- canShowModeOptions: !!m && !h && g.length > 0 && !!s,
123
- selectedDeptId: s,
124
- selectedMode: f,
125
- setSelectedMode: p,
126
- modeOptions: ee,
127
- positionList: C,
128
- selectedIds: w,
129
- loadingDepartments: h,
130
- loadingPositions: S,
131
- handleSelectDepartment: (e, t) => {
132
- let n = String(t?._id || e || ""), r = g.find((e) => j(e) === n) || t;
133
- c(j(r)), d(M(r));
134
- },
135
- handlePositionToggle: (e, t) => {
136
- if (t) {
137
- o({
138
- type: "addOne",
139
- payload: e
140
- });
141
- return;
142
- }
143
- o({
144
- type: "deleteOne",
145
- payload: e._id
146
- });
147
- }
148
- };
149
- }, z = () => {
150
- let { t: n } = l(), r = R(), i = r.containerHeight - 8;
151
- return /* @__PURE__ */ D("div", {
152
- className: k["dept-users-position-panel"],
153
- children: [
154
- /* @__PURE__ */ E("section", {
155
- className: k["dept-users-position-panel__department"],
156
- children: /* @__PURE__ */ E(x, {
157
- spinning: r.loadingDepartments,
158
- tip: n("common.loading"),
159
- children: /* @__PURE__ */ D(e, {
160
- style: {
161
- height: i,
162
- padding: "4px"
163
- },
164
- children: [r.departmentTree.length > 0 && /* @__PURE__ */ E(w, {
165
- data: r.departmentTree,
166
- fieldNames: {
167
- title: "name",
168
- value: "_id",
169
- children: "children"
170
- },
171
- selectedKeys: r.selectedDeptId ? [r.selectedDeptId] : [],
172
- defaultExpandedKeys: r.defaultExpandedKeys,
173
- parentCheckable: !0,
174
- onSelect: (e, t) => r.handleSelectDepartment(e, t),
175
- icon: () => /* @__PURE__ */ E(c, {
176
- type: "department",
177
- size: 16
178
- }),
179
- switcherIcon: (e) => /* @__PURE__ */ E(C, {
180
- name: "xiangxiazhankai-11",
181
- className: t(k["dept-users-position-panel__switcher-icon"], { [k["dept-users-position-panel__switcher-icon--expanded"]]: e })
182
- })
183
- }), r.departmentTree.length === 0 && !r.loadingDepartments && /* @__PURE__ */ E("div", {
184
- className: k["dept-users-position-panel__empty"],
185
- children: /* @__PURE__ */ E("span", { children: "没有可选部门" })
186
- })]
187
- })
188
- })
189
- }),
190
- /* @__PURE__ */ E("section", {
191
- className: k["dept-users-position-panel__mode"],
192
- children: r.canShowModeOptions && /* @__PURE__ */ E("ul", {
193
- className: k["dept-users-position-panel__mode-list"],
194
- children: r.modeOptions.map((e) => /* @__PURE__ */ E("li", {
195
- className: t(k["dept-users-position-panel__mode-item"], { [k["dept-users-position-panel__mode-item--active"]]: r.selectedMode === e.key }),
196
- onClick: () => r.setSelectedMode(e.key),
197
- children: e.label
198
- }, e.key))
199
- })
200
- }),
201
- /* @__PURE__ */ D("section", {
202
- className: k["dept-users-position-panel__positions"],
203
- children: [/* @__PURE__ */ E(x, {
204
- spinning: r.loadingPositions,
205
- tip: n("common.loading"),
206
- children: /* @__PURE__ */ E(e, {
207
- style: {
208
- height: i,
209
- padding: "4px"
210
- },
211
- children: r.positionList.length > 0 && /* @__PURE__ */ E("div", {
212
- className: k["dept-users-position-panel__position-group"],
213
- children: r.positionList.map((e) => /* @__PURE__ */ E("div", {
214
- className: k["dept-users-position-panel__position-item"],
215
- children: /* @__PURE__ */ E(S, {
216
- value: e._id,
217
- checked: r.selectedIds.includes(e._id),
218
- labelPosition: "left",
219
- className: k["dept-users-position-panel__position-checkbox"],
220
- onChange: (t) => r.handlePositionToggle(e, t),
221
- children: /* @__PURE__ */ E("div", {
222
- className: k["dept-users-position-panel__position-checkbox-row"],
223
- children: /* @__PURE__ */ E("span", {
224
- className: k["dept-users-position-panel__position-name"],
225
- children: e.positionName
226
- })
227
- })
228
- })
229
- }, e._id))
230
- })
231
- })
232
- }), r.positionList.length === 0 && !r.loadingPositions && /* @__PURE__ */ E("div", {
233
- className: k["dept-users-position-panel__empty"],
234
- children: /* @__PURE__ */ E("span", { children: "没有可选职位" })
235
- })]
236
- })
237
- ]
238
- });
239
- }, B = {
240
- "dept-users-role-panel": "_dept-users-role-panel_2436w_1",
241
- "dept-users-role-panel__menu": "_dept-users-role-panel__menu_2436w_6",
242
- "dept-users-role-panel__menu-list": "_dept-users-role-panel__menu-list_2436w_11",
243
- "dept-users-role-panel__option-list": "_dept-users-role-panel__option-list_2436w_11",
244
- "dept-users-role-panel__menu-item": "_dept-users-role-panel__menu-item_2436w_15",
245
- "dept-users-role-panel__option-item": "_dept-users-role-panel__option-item_2436w_15",
246
- "dept-users-role-panel__menu-item--active": "_dept-users-role-panel__menu-item--active_2436w_26",
247
- "dept-users-role-panel__option-item--active": "_dept-users-role-panel__option-item--active_2436w_26",
248
- "dept-users-role-panel__tree-section": "_dept-users-role-panel__tree-section_2436w_33",
249
- "dept-users-role-panel__options-section": "_dept-users-role-panel__options-section_2436w_33",
250
- "dept-users-role-panel__option-checkbox": "_dept-users-role-panel__option-checkbox_2436w_39",
251
- "dept-users-role-panel__option-checkbox-row": "_dept-users-role-panel__option-checkbox-row_2436w_42",
252
- "dept-users-role-panel__option-name": "_dept-users-role-panel__option-name_2436w_48",
253
- "dept-users-role-panel__tree-icon": "_dept-users-role-panel__tree-icon_2436w_56",
254
- "dept-users-role-panel__switcher-icon": "_dept-users-role-panel__switcher-icon_2436w_59",
255
- "dept-users-role-panel__switcher-icon--expanded": "_dept-users-role-panel__switcher-icon--expanded_2436w_64",
256
- "dept-users-role-panel__empty": "_dept-users-role-panel__empty_2436w_67"
257
- }, V = (e) => String(e), H = (e) => e ? String(e.type) === "1" : !1, U = (e) => ({
258
- ...e,
259
- role_id: V(e.role_id),
260
- parent: e.parent === 0 || e.parent === "0" ? "0" : e.parent ? V(e.parent) : e.parent
261
- }), W = (e) => ({
262
- _id: V(e.role_id),
263
- name: e.name,
264
- type: "dockrole",
265
- label: e.name
266
- }), G = (e, t) => {
267
- if (!e) return [];
268
- let n = V(e.role_id);
269
- return H(e) ? [{
270
- _id: `${n}-roleGroup`,
271
- name: e.name,
272
- type: "rolegroup",
273
- label: t("role.currentGroup")
274
- }, {
275
- _id: `${n}-roleGroupSub`,
276
- name: `${e.name}及子分组的角色`,
277
- type: "rolegroup",
278
- label: t("role.currentGroupSub")
279
- }] : [{
280
- _id: n,
281
- name: e.name,
282
- type: "role",
283
- label: t("role.currentSelected")
284
- }];
285
- }, K = (e, t) => {
286
- if (t) for (let n of e) {
287
- if (V(n.role_id) === t) return n;
288
- let e = K(n.children || [], t);
289
- if (e) return e;
290
- }
291
- }, q = (e) => e.flatMap((e) => (H(e) ? [V(e.role_id)] : []).concat(q(e.children || []))), J = () => {
292
- let { containerHeight: e, requestContext: t, value: i, dispatch: a } = n(), { t: o } = l(), [s, c] = y(), [u, f] = y(), [p, m] = y([]), [h, g] = y([]), _ = v(() => [{
293
- key: "internal",
294
- label: o("role.internal"),
295
- visible: p.length > 0
296
- }, {
297
- key: "external",
298
- label: o("role.external"),
299
- visible: h.length > 0
300
- }], [
301
- h.length,
302
- p.length,
303
- o
304
- ]), { loading: b } = T(async () => {
305
- let e = await r({ requestContext: t });
306
- return {
307
- roles: Array.isArray(e?.roles) ? e.roles.map(U) : [],
308
- dockRole: Array.isArray(e?.dock_role) ? e.dock_role : []
309
- };
310
- }, {
311
- refreshDeps: [t?.appId, t?.entryId],
312
- onSuccess: (e) => {
313
- let t = d(e.roles, {
314
- children: "children",
315
- title: "name",
316
- value: "role_id",
317
- parentId: "parent"
318
- }), n = e.dockRole;
319
- if (m(t), g(n), t.length > 0) {
320
- c("internal"), f(V(t[0].role_id));
321
- return;
322
- }
323
- if (n.length > 0) {
324
- c("external"), f(void 0);
325
- return;
326
- }
327
- c(void 0), f(void 0);
328
- }
329
- }), x = v(() => K(p, u), [p, u]), S = v(() => G(x, o), [x, o]);
330
- return {
331
- containerHeight: e,
332
- menuItems: _,
333
- activeKey: s,
334
- setActiveKey: c,
335
- internalRoleTree: p,
336
- externalRoleList: v(() => h.map(W), [h]),
337
- selectedRoleId: u,
338
- selectedIds: v(() => (i || []).map((e) => e._id), [i]),
339
- currentOptions: S,
340
- loading: b,
341
- handleSelectInternalRole: (e) => {
342
- f(V(e));
343
- },
344
- handleRoleToggle: (e, t) => {
345
- let n = {
346
- _id: e._id,
347
- name: e.name,
348
- type: e.type
349
- };
350
- if (t) {
351
- a({
352
- type: "addOne",
353
- payload: n
354
- });
355
- return;
356
- }
357
- a({
358
- type: "deleteOne",
359
- payload: e._id
360
- });
361
- },
362
- isRoleGroupNode: H,
363
- defaultExpandedKeys: v(() => q(p), [p])
364
- };
365
- }, te = () => {
366
- let { t: n } = l(), r = J(), i = r.containerHeight - 8, a = r.activeKey === "external" ? r.externalRoleList : r.currentOptions;
367
- return /* @__PURE__ */ D("div", {
368
- className: B["dept-users-role-panel"],
369
- children: [
370
- /* @__PURE__ */ E("aside", {
371
- className: B["dept-users-role-panel__menu"],
372
- children: /* @__PURE__ */ E("ul", {
373
- className: B["dept-users-role-panel__menu-list"],
374
- children: r.menuItems.filter((e) => e.visible).map((e) => /* @__PURE__ */ E("li", {
375
- onClick: () => r.setActiveKey(e.key),
376
- className: t(B["dept-users-role-panel__menu-item"], { [B["dept-users-role-panel__menu-item--active"]]: r.activeKey === e.key }),
377
- children: e.label
378
- }, e.key))
379
- })
380
- }),
381
- r.activeKey === "internal" && /* @__PURE__ */ E("section", {
382
- className: B["dept-users-role-panel__tree-section"],
383
- children: /* @__PURE__ */ E(x, {
384
- spinning: r.loading,
385
- tip: n("common.loading"),
386
- children: /* @__PURE__ */ D(e, {
387
- style: {
388
- height: i,
389
- padding: "4px"
390
- },
391
- children: [r.internalRoleTree.length > 0 && /* @__PURE__ */ E(w, {
392
- data: r.internalRoleTree,
393
- fieldNames: {
394
- title: "name",
395
- value: "role_id",
396
- children: "children"
397
- },
398
- selectedKeys: r.selectedRoleId ? [r.selectedRoleId] : [],
399
- defaultExpandedKeys: r.defaultExpandedKeys,
400
- parentCheckable: !0,
401
- showSwitcher: !0,
402
- onSelect: (e) => r.handleSelectInternalRole(e),
403
- icon: (e) => /* @__PURE__ */ E(C, {
404
- name: r.isRoleGroupNode(e) ? "rolegroup" : "role",
405
- className: B["dept-users-role-panel__tree-icon"],
406
- size: 16
407
- }),
408
- switcherIcon: (e) => /* @__PURE__ */ E(C, {
409
- name: "xiangxiazhankai-11",
410
- className: t(B["dept-users-role-panel__switcher-icon"], { [B["dept-users-role-panel__switcher-icon--expanded"]]: e })
411
- })
412
- }), r.internalRoleTree.length === 0 && !r.loading && /* @__PURE__ */ E("div", {
413
- className: B["dept-users-role-panel__empty"],
414
- children: /* @__PURE__ */ E("span", { children: n("role.noAvailable") })
415
- })]
416
- })
417
- })
418
- }),
419
- /* @__PURE__ */ D("section", {
420
- className: B["dept-users-role-panel__options-section"],
421
- children: [/* @__PURE__ */ E(x, {
422
- spinning: r.loading,
423
- tip: n("common.loading"),
424
- children: /* @__PURE__ */ E(e, {
425
- style: {
426
- height: i,
427
- padding: "4px"
428
- },
429
- children: a.length > 0 && ((e) => /* @__PURE__ */ E("ul", {
430
- className: B["dept-users-role-panel__option-list"],
431
- children: e.map((e) => /* @__PURE__ */ E("li", {
432
- className: B["dept-users-role-panel__option-item"],
433
- children: /* @__PURE__ */ E(S, {
434
- value: e._id,
435
- checked: r.selectedIds.includes(e._id),
436
- labelPosition: "left",
437
- className: B["dept-users-role-panel__option-checkbox"],
438
- onChange: (t) => r.handleRoleToggle(e, t),
439
- children: /* @__PURE__ */ E("div", {
440
- className: B["dept-users-role-panel__option-checkbox-row"],
441
- children: /* @__PURE__ */ E("span", {
442
- className: B["dept-users-role-panel__option-name"],
443
- title: e.name,
444
- children: e.label
445
- })
446
- })
447
- })
448
- }, e._id))
449
- }))(a)
450
- })
451
- }), a.length === 0 && !r.loading && /* @__PURE__ */ E("div", {
452
- className: B["dept-users-role-panel__empty"],
453
- children: /* @__PURE__ */ E("span", { children: n("role.noAvailable") })
454
- })]
455
- })
456
- ]
457
- });
458
- }, Y = {
459
- "member-relation-ship": "_member-relation-ship_1fjcv_1",
460
- "member-relation-ship__menu": "_member-relation-ship__menu_1fjcv_6",
461
- "member-relation-ship__menu-list": "_member-relation-ship__menu-list_1fjcv_11",
462
- "member-relation-ship__menu-item": "_member-relation-ship__menu-item_1fjcv_15",
463
- "member-relation-ship__menu-item--active": "_member-relation-ship__menu-item--active_1fjcv_26",
464
- "member-relation-ship__column": "_member-relation-ship__column_1fjcv_33",
465
- "member-relation-ship__column-header": "_member-relation-ship__column-header_1fjcv_42",
466
- "member-relation-ship__column-content": "_member-relation-ship__column-content_1fjcv_50"
467
- }, X = {
468
- "relation-ship-member": "_relation-ship-member_h6xr2_1",
469
- "relation-ship-member__list": "_relation-ship-member__list_h6xr2_4",
470
- "relation-ship-member__item": "_relation-ship-member__item_h6xr2_9",
471
- "relation-ship-member__item--active": "_relation-ship-member__item--active_h6xr2_22",
472
- "relation-ship-member__avatar": "_relation-ship-member__avatar_h6xr2_28",
473
- "relation-ship-member__nickname": "_relation-ship-member__nickname_h6xr2_31",
474
- "relation-ship-member__deptnames": "_relation-ship-member__deptnames_h6xr2_40",
475
- "relation-ship-member__empty": "_relation-ship-member__empty_h6xr2_47"
476
- }, ne = (r) => {
477
- let { t: i } = l(), { containerHeight: a } = n(), o = r.userList || [], s = (e) => {
478
- r.onChange?.(e._id);
479
- };
480
- return /* @__PURE__ */ E(x, {
481
- spinning: r.loading,
482
- children: /* @__PURE__ */ E(e, {
483
- className: X["relation-ship-member"],
484
- style: { height: a - 8 },
485
- children: o.length > 0 ? /* @__PURE__ */ E("ul", {
486
- className: X["relation-ship-member__list"],
487
- children: o.map((e) => /* @__PURE__ */ D("li", {
488
- onClick: () => s(e),
489
- className: t(X["relation-ship-member__item"], { [X["relation-ship-member__item--active"]]: r.value === e._id }),
490
- children: [
491
- /* @__PURE__ */ E("div", {
492
- className: X["relation-ship-member__avatar"],
493
- children: e.avatarurl ? /* @__PURE__ */ E(b, {
494
- src: e.avatarurl,
495
- size: 20
496
- }) : /* @__PURE__ */ E(b, {
497
- size: 20,
498
- style: {
499
- backgroundColor: f(e.nickname),
500
- fontSize: "12px",
501
- lineHeight: "13px"
502
- },
503
- children: e.nickname?.charAt(0) || "?"
504
- })
505
- }),
506
- /* @__PURE__ */ E("div", {
507
- className: X["relation-ship-member__nickname"],
508
- children: e.nickname
509
- }),
510
- /* @__PURE__ */ E("div", {
511
- className: X["relation-ship-member__deptnames"],
512
- children: e.deptnames
513
- })
514
- ]
515
- }, e._id))
516
- }) : !r.loading && /* @__PURE__ */ E("div", {
517
- className: X["relation-ship-member__empty"],
518
- style: { height: a - 8 + "px" },
519
- children: /* @__PURE__ */ E("span", { children: i("member.noAvailable") })
520
- })
521
- })
522
- });
523
- }, Z = /* @__PURE__ */ function(e) {
524
- return e[e.DEPARTMENT = 0] = "DEPARTMENT", e[e.MEMBER = 1] = "MEMBER", e;
525
- }(Z || {}), Q = (e) => e != null && e !== "" && e !== "undefined", re = () => {
526
- let { containerHeight: e, requestContext: t, value: r, dispatch: a } = n(), [c, l] = y(Z.DEPARTMENT), [d, p] = y({
527
- deptFrom: "relation",
528
- memberFrom: "relationUser"
529
- }), { data: m, loading: h } = T(() => i({
530
- requestContext: t,
531
- hasDeptDock: !1
532
- }), {
533
- onSuccess: (e) => {
534
- let t = e?.departments?.find((e) => Q(e?.departmentId));
535
- t && !d.deptFromId && (p((e) => ({
536
- ...e,
537
- deptFromId: t._id,
538
- deptId: t.departmentId
539
- })), O(t._id, e.departments));
540
- },
541
- refreshDeps: [t]
542
- }), g = v(() => m?.departments?.length ? u(m.departments) : [], [m?.departments]), { data: _, loading: b } = T(async () => Q(d.deptId) && (await o({
543
- requestContext: t,
544
- deptId: d.deptId,
545
- limit: 1e4
546
- })).users || [], {
547
- refreshDeps: [
548
- d.deptId,
549
- t?.appId,
550
- t?.entryId
551
- ],
552
- onSuccess: (e) => {
553
- e?.length > 0 && !d.memberFromId && (p((t) => ({
554
- ...t,
555
- memberFromId: e[0]._id
556
- })), O(e[0]._id, e));
557
- }
558
- }), x = c === Z.DEPARTMENT ? d.deptFrom : d.memberFrom, S = c === Z.DEPARTMENT ? d.deptFromId : d.memberFromId, { data: C, loading: w } = T(() => s({ requestContext: t }), {
559
- ready: !!(t?.appId && t?.entryId),
560
- refreshDeps: [t?.appId, t?.entryId]
561
- }), E = v(() => !x || !S ? [] : (C?.list || []).map((e) => ({
562
- _id: `${S}-${x}-${e._id}`,
563
- name: e.name
564
- })), [
565
- x,
566
- S,
567
- C?.list
568
- ]), D = r?.map((e) => e._id) || [];
569
- return {
570
- containerHeight: e,
571
- activeKey: c,
572
- setActiveKey: l,
573
- relationData: d,
574
- setDeptRelationType: (e) => p((t) => ({
575
- ...t,
576
- deptFrom: e
577
- })),
578
- deptTreeData: g,
579
- userList: _ || [],
580
- relationList: E,
581
- selectedIds: D,
582
- departmentsLoading: h,
583
- memberLoading: b,
584
- relationsLoading: w,
585
- handleSelectDepartment: (e, t) => {
586
- O(e, m?.departments || []), p((n) => ({
587
- ...n,
588
- deptFromId: e,
589
- deptId: Q(t?.departmentId) ? t.departmentId : void 0,
590
- memberFromId: void 0
591
- }));
592
- },
593
- handleSelectMember: (e) => {
594
- p((t) => ({
595
- ...t,
596
- memberFromId: e
597
- })), O(e, _ || []);
598
- },
599
- handleSelectRelation: (e) => {
600
- let t = E.filter((t) => e.includes(t._id));
601
- a({
602
- type: "deleteAndInsert",
603
- payload: {
604
- oldIds: E.filter((t) => !e.includes(t._id)).map((e) => e._id),
605
- newItems: t
606
- }
607
- });
608
- },
609
- relationShipType: Z,
610
- departmentRelationTabs: [{
611
- key: "relation",
612
- label: "当前部门的所有关系"
613
- }, {
614
- key: "relationSub",
615
- label: "当前部门及子部门的所有关系"
616
- }],
617
- menuItems: [{
618
- key: Z.DEPARTMENT,
619
- label: "department.title"
620
- }, {
621
- key: Z.MEMBER,
622
- label: "member.title"
623
- }],
624
- getAvatarColor: (e) => f(e)
625
- };
626
- }, ie = () => {
627
- let { t: e } = l(), n = re(), r = [{
628
- key: n.relationShipType.DEPARTMENT,
629
- label: e("department.title")
630
- }, {
631
- key: n.relationShipType.MEMBER,
632
- label: e("member.title")
633
- }];
634
- return /* @__PURE__ */ D("div", {
635
- className: Y["member-relation-ship"],
636
- children: [
637
- /* @__PURE__ */ E("aside", {
638
- className: Y["member-relation-ship__menu"],
639
- children: /* @__PURE__ */ E("ul", {
640
- className: Y["member-relation-ship__menu-list"],
641
- children: r.map((e) => /* @__PURE__ */ E("li", {
642
- onClick: () => n.setActiveKey(e.key),
643
- className: t(Y["member-relation-ship__menu-item"], { [Y["member-relation-ship__menu-item--active"]]: n.activeKey === e.key }),
644
- children: e.label
645
- }, e.key))
646
- })
647
- }),
648
- /* @__PURE__ */ E("section", {
649
- className: Y["member-relation-ship__column"],
650
- children: /* @__PURE__ */ E(_, {
651
- value: n.relationData.deptFromId,
652
- treeData: n.deptTreeData,
653
- loading: n.departmentsLoading,
654
- onSelect: n.handleSelectDepartment
655
- })
656
- }),
657
- /* @__PURE__ */ D("section", {
658
- className: Y["member-relation-ship__column"],
659
- children: [n.activeKey === n.relationShipType.DEPARTMENT && /* @__PURE__ */ E("ul", {
660
- className: Y["member-relation-ship__menu-list"],
661
- children: n.departmentRelationTabs.map((e) => /* @__PURE__ */ E("li", {
662
- onClick: () => n.setDeptRelationType(e.key),
663
- className: t(Y["member-relation-ship__menu-item"], { [Y["member-relation-ship__menu-item--active"]]: n.relationData.deptFrom === e.key }),
664
- children: e.label
665
- }, e.key))
666
- }), n.activeKey === n.relationShipType.MEMBER && /* @__PURE__ */ E(ne, {
667
- deptId: n.relationData.deptId,
668
- value: n.relationData.memberFromId,
669
- userList: n.userList,
670
- loading: n.memberLoading,
671
- onChange: n.handleSelectMember
672
- })]
673
- }),
674
- /* @__PURE__ */ E("section", {
675
- className: Y["member-relation-ship__column"],
676
- children: /* @__PURE__ */ E(g, {
677
- relationList: n.relationList,
678
- selectedIds: n.selectedIds,
679
- loading: n.relationsLoading,
680
- onChange: n.handleSelectRelation
681
- })
682
- })
683
- ]
684
- });
685
- }, $ = {
686
- "other-panel": "_other-panel_1fapn_1",
687
- "other-panel__list": "_other-panel__list_1fapn_4",
688
- "other-panel__item": "_other-panel__item_1fapn_10",
689
- "other-panel__checkbox-row": "_other-panel__checkbox-row_1fapn_23",
690
- "other-panel__name": "_other-panel__name_1fapn_28",
691
- "other-panel__empty": "_other-panel__empty_1fapn_35"
692
- }, ae = (e) => {
693
- let r = [], { dispatch: i, value: a } = n();
694
- e.publicPermissionEnable && r.push({
695
- _id: "111000000000000000000001",
696
- name: "公开权限",
697
- type: "public"
698
- }), e.managerPermissionEnable && r.push({
699
- _id: "111000000000000000000002",
700
- name: "系统管理员组",
701
- type: "public"
702
- });
703
- let o = a?.map((e) => e._id) || [];
704
- return /* @__PURE__ */ E("div", {
705
- className: $["other-panel"],
706
- children: /* @__PURE__ */ E(S.Group, {
707
- value: o,
708
- onChange: (e) => {
709
- let t = [], n = [];
710
- for (let i = 0; i < r.length; i++) {
711
- let a = r[i];
712
- e.includes(a._id) ? t.push(a) : n.push(a);
713
- }
714
- i({
715
- type: "deleteAndInsert",
716
- payload: {
717
- oldIds: n.map((e) => e._id),
718
- newItems: t
719
- }
720
- });
721
- },
722
- className: $["other-panel__list"],
723
- children: r.map((e) => /* @__PURE__ */ E("li", {
724
- className: t($["other-panel__item"], $["other-panel__item--checkbox"]),
725
- children: /* @__PURE__ */ E(S, {
726
- labelPosition: "left",
727
- value: e._id,
728
- className: $["other-panel__checkbox"],
729
- children: /* @__PURE__ */ E("div", {
730
- className: $["other-panel__checkbox-row"],
731
- children: /* @__PURE__ */ E("span", {
732
- className: $["other-panel__name"],
733
- children: e.name
734
- })
735
- })
736
- })
737
- }, e._id))
738
- })
739
- });
740
- }, oe = () => {
741
- let { t: e } = l(), { auth: t } = n();
742
- return v(() => {
743
- let n = [
744
- {
745
- label: e("department.organizationalStructure"),
746
- key: "organizational",
747
- view: /* @__PURE__ */ E(p, {})
748
- },
749
- {
750
- label: e("member.title"),
751
- key: "member",
752
- view: /* @__PURE__ */ E(m, {})
753
- },
754
- {
755
- label: e("position.title"),
756
- key: "position",
757
- view: /* @__PURE__ */ E(z, {})
758
- },
759
- {
760
- label: e("member.relation"),
761
- key: "relation",
762
- view: /* @__PURE__ */ E(ie, {})
763
- },
764
- {
765
- label: e("role.title"),
766
- key: "role",
767
- view: /* @__PURE__ */ E(te, {})
768
- },
769
- {
770
- label: e("externalContact.title"),
771
- key: "extraContact",
772
- view: /* @__PURE__ */ E(h, {})
773
- }
774
- ];
775
- return (t.managerPermissionEnable || t.publicPermissionEnable) && n.push({
776
- label: e("common.other"),
777
- key: "other",
778
- view: /* @__PURE__ */ E(ae, {
779
- managerPermissionEnable: t.managerPermissionEnable,
780
- publicPermissionEnable: t.publicPermissionEnable
781
- })
782
- }), n;
783
- }, [
784
- e,
785
- t.managerPermissionEnable,
786
- t.publicPermissionEnable
787
- ]);
788
- };
789
- //#endregion
790
- export { O as n, oe as t };