@baishuyun/ui-business 4.0.0 → 4.0.2

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 (56) hide show
  1. package/dist/ConfigProvider/ConfigProvider-CAq3dN6-.js +15 -0
  2. package/dist/ConfigProvider/configContext-_BAslzM-.js +9 -0
  3. package/dist/ConfigProvider/index.d.ts +2 -0
  4. package/dist/ConfigProvider/index.js +1 -1
  5. package/dist/DeptsMember/DeptsMember-BNuoQ8y4.js +865 -0
  6. package/dist/DeptsMember/ExtraConcactPanel-BoSCI3s5.js +738 -0
  7. package/dist/DeptsMember/OrganizationPanel-ByWU1PWX.js +275 -0
  8. package/dist/DeptsMember/TabGroup-DZC7i-Yr.js +104 -0
  9. package/dist/DeptsMember/index-BRIA1uOQ.js +88 -0
  10. package/dist/DeptsMember/index.js +6 -4
  11. package/dist/DeptsMember/subcomponents/Entity/Department/index.js +115 -76
  12. package/dist/DeptsMember/subcomponents/Entity/DeptsUser/index.js +256 -27
  13. package/dist/DeptsMember/subcomponents/Entity/Member/index.js +15 -12
  14. package/dist/DeptsMember/subcomponents/Panels/MemberRelationShipPanel/RelationShipDepts/index.d.ts +4 -0
  15. package/dist/DeptsMember/subcomponents/Panels/MemberRelationShipPanel/RelationShipDepts/index.js +15 -0
  16. package/dist/DeptsMember/subcomponents/Panels/MemberRelationShipPanel/RelationShipList/index.d.ts +4 -0
  17. package/dist/DeptsMember/subcomponents/Panels/MemberRelationShipPanel/RelationShipList/index.js +67 -0
  18. package/dist/DeptsMember/useDeptsMemberSelector-D3rvDuVf.js +13 -0
  19. package/dist/components/ConfigProvider/ConfigProvider.type.d.ts +13 -1
  20. package/dist/components/ConfigProvider/index.d.ts +1 -0
  21. package/dist/components/DeptsMember/DeptsMember.type.d.ts +15 -0
  22. package/dist/components/DeptsMember/hooks/useDeptsMemberSelector.d.ts +4 -0
  23. package/dist/components/DeptsMember/index.d.ts +1 -0
  24. package/dist/components/DeptsMember/subcomponents/Panels/MemberRelationShipPanel/MemberRelationShip.d.ts +2 -0
  25. package/dist/components/DeptsMember/subcomponents/Panels/MemberRelationShipPanel/RelationShipDepts/index.d.ts +5 -0
  26. package/dist/components/DeptsMember/subcomponents/Panels/MemberRelationShipPanel/RelationShipList/index.d.ts +15 -0
  27. package/dist/components/DeptsMember/subcomponents/Panels/MemberRelationShipPanel/RelationShipMember/RelationShipMember.d.ts +6 -0
  28. package/dist/components/DeptsMember/subcomponents/Panels/OtherPanel/OtherPanel.d.ts +5 -0
  29. package/dist/components/index.d.ts +1 -0
  30. package/dist/index.css +1 -1
  31. package/dist/index.d.ts +2 -1
  32. package/dist/index.js +11 -6
  33. package/dist/lang/en-US.json.d.ts +7 -2
  34. package/dist/lang/zh-CN.json.d.ts +7 -2
  35. package/dist/services/apiService.d.ts +1 -0
  36. package/dist/services/ncorp/department.service.d.ts +11 -0
  37. package/dist/services/ncorp/relation.service.d.ts +4 -0
  38. package/dist/utils/getRelationNodeName.d.ts +9 -0
  39. package/dist/utils/index.d.ts +2 -0
  40. package/dist/utils/recordSelectedNode.d.ts +8 -0
  41. package/dist/vendors/services/apiService.js +18 -10
  42. package/dist/vendors/services/corp/outsider.service.js +4 -4
  43. package/dist/vendors/services/data/department.service.js +3 -3
  44. package/dist/vendors/services/data/member.service.js +6 -6
  45. package/dist/vendors/services/data/member_limit.service.js +3 -3
  46. package/dist/vendors/services/data/outsider.service.js +4 -4
  47. package/dist/vendors/services/ncorp/department.service.js +6 -0
  48. package/dist/vendors/services/ncorp/relation.service.js +5 -0
  49. package/dist/vendors/useLocale.js +42 -0
  50. package/package.json +3 -3
  51. package/dist/ConfigProvider/ConfigProvider-CE-neQMa.js +0 -9
  52. package/dist/ConfigProvider/configContext-lDqg07Z3.js +0 -7
  53. package/dist/DeptsMember/DeptsMember-CzJqr_LX.js +0 -721
  54. package/dist/DeptsMember/ExtraConcactPanel-BI9emYpp.js +0 -674
  55. package/dist/DeptsMember/OrganizationPanel-DcwvZ6X4.js +0 -254
  56. package/dist/DeptsMember/TabGroup-wNM86-Zq.js +0 -141
@@ -1,254 +0,0 @@
1
- import { jsxs as y, jsx as t } from "react/jsx-runtime";
2
- import { g as K } from "../vendors/services/data/member.service.js";
3
- import { useRequest as w } from "ahooks";
4
- import { Spin as F } from "antd";
5
- import { c as k } from "../vendors/clsx.js";
6
- import { useState as N, useMemo as T, useCallback as C } from "react";
7
- import { a as E, u as I, E as S, d as M, b as R } from "./TabGroup-wNM86-Zq.js";
8
- import { buildDeptTree as j, buildTree as H, findNodeInTree as L } from "./utils/index.js";
9
- import { S as z } from "../vendors/simplebar-react.js";
10
- import { Tree as A, Icon as _ } from "bsy-react-ui";
11
- const P = (a) => {
12
- const { type: o, containerHeight: u, value: x } = E(), { t: n } = I(), f = x?.map((s) => s._id) || [], l = a.data?.map((s) => s._id);
13
- return /* @__PURE__ */ y(
14
- z,
15
- {
16
- style: { height: u - 8, padding: "4px" },
17
- className: "internal-container",
18
- classNames: {
19
- contentEl: "internal-container-content-el"
20
- },
21
- children: [
22
- a.data.length > 0 && /* @__PURE__ */ t(
23
- A,
24
- {
25
- parentCheckable: !0,
26
- checkType: o === S.DEPARMENT ? "radio" : "checkbox",
27
- data: a.data,
28
- fieldNames: {
29
- title: "name",
30
- value: "_id",
31
- children: "children"
32
- },
33
- selectedKeys: f,
34
- onSelect: a.onSelect,
35
- onDeSelect: a.onDeselect,
36
- defaultExpandedKeys: l,
37
- icon: () => /* @__PURE__ */ t(_, { name: "dept-one", className: "internal-container__icon" }),
38
- switcherIcon: (s) => /* @__PURE__ */ t(
39
- _,
40
- {
41
- name: "xiangxiazhankai-11",
42
- className: k("internal-container__arrow-icon", {
43
- "rotate-90": s
44
- })
45
- }
46
- )
47
- }
48
- ),
49
- a.data.length === 0 && !a.loading && /* @__PURE__ */ t("div", { className: "internal-container__empty", children: /* @__PURE__ */ t("span", { children: n("department.noAvailable") }) })
50
- ]
51
- }
52
- );
53
- }, B = (a) => {
54
- const { type: o, containerHeight: u, value: x } = E(), { t: n } = I(), [f, l] = N(
55
- "dockcorp"
56
- /* DOCK_PERSON_GROUP */
57
- ), s = x?.map((d) => d._id) || [], v = [
58
- {
59
- label: n("department.externalContactGroup"),
60
- value: "dockcorp"
61
- /* DOCK_PERSON_GROUP */
62
- },
63
- {
64
- label: n("department.externalContactDepartment"),
65
- value: "dockcorpdept"
66
- /* DOCK_DEPARTMENT */
67
- }
68
- ], b = (d, h) => {
69
- const m = [];
70
- for (const r of d)
71
- if (r.type === h)
72
- if (h === "dockcorpdept")
73
- m.push({
74
- ...r,
75
- children: r.children
76
- });
77
- else {
78
- const e = r.children ? b(r.children, h) : [];
79
- m.push({
80
- ...r,
81
- children: e.length > 0 ? e : void 0
82
- });
83
- }
84
- else {
85
- const e = r.children ? b(r.children, h) : [];
86
- e.length > 0 && m.push({
87
- ...r,
88
- children: e
89
- });
90
- }
91
- return m;
92
- }, p = b(a.data, f), D = p?.map((d) => d._id);
93
- return /* @__PURE__ */ y("div", { className: "external-container", children: [
94
- /* @__PURE__ */ t(M, { tabs: v, value: f, onChange: l }),
95
- /* @__PURE__ */ t("div", { className: "external-container__content", children: /* @__PURE__ */ y(
96
- z,
97
- {
98
- style: { height: u - 42, padding: "4px" },
99
- classNames: {
100
- contentEl: "external-container-content-el"
101
- },
102
- children: [
103
- p.length > 0 && /* @__PURE__ */ t(
104
- A,
105
- {
106
- parentCheckable: !0,
107
- checkType: o === S.DEPARMENT ? "radio" : "checkbox",
108
- data: p,
109
- fieldNames: {
110
- title: "name",
111
- value: "_id",
112
- children: "children"
113
- },
114
- selectedKeys: s,
115
- onSelect: a.onSelect,
116
- onDeSelect: a.onDeselect,
117
- defaultExpandedKeys: D,
118
- icon: () => /* @__PURE__ */ t(_, { name: "dept-one", className: "text-[#0265ff]", size: 16 }),
119
- switcherIcon: (d) => /* @__PURE__ */ t(
120
- _,
121
- {
122
- name: "xiangxiazhankai-11",
123
- className: k(
124
- "transition-transform text-base duration-300 ease-in-out text-[#666]",
125
- {
126
- "rotate-90": d
127
- }
128
- )
129
- }
130
- )
131
- }
132
- ),
133
- p.length === 0 && !a.loading && /* @__PURE__ */ t("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ t("span", { className: "text-[#999]", children: n("department.noAvailable") }) })
134
- ]
135
- }
136
- ) })
137
- ] });
138
- }, $ = () => {
139
- const { type: a, dispatch: o } = E(), { t: u } = I(), [x] = N([
140
- { key: 0, label: u("department.internal"), visible: !0 },
141
- { key: 1, label: u("department.external"), visible: !0 }
142
- ]), [n, f] = N(
143
- 0
144
- /* INTERNAL */
145
- ), { data: l, loading: s } = w(
146
- () => K({
147
- departmentLimit: [],
148
- hasDeptDock: n === 1
149
- /* EXTERNAL */
150
- }),
151
- {
152
- refreshDeps: [n]
153
- }
154
- ), v = T(() => {
155
- const e = l?.departments || [];
156
- return e.length > 0 ? j(e) : [];
157
- }, [l]), b = T(() => {
158
- const e = l?.label_corp_list || [];
159
- if (!e.length)
160
- return [];
161
- const i = e.filter((c) => c.type === "dockcorp" || c.type === "dockdept" ? !0 : c.parentId === 0 ? !1 : e.some((O) => O.parentId === c.departmentId)), g = i.map((c) => ({
162
- ...c,
163
- checkable: c.type !== "dockcorpdept" && c.type !== "label",
164
- icon: /* @__PURE__ */ t(R, { type: c.type, size: 16 })
165
- }));
166
- return i.length > 0 ? H(g, {
167
- parentId: "parentId",
168
- children: "children",
169
- value: "_id",
170
- title: "name"
171
- }) : [];
172
- }, [l]), p = {
173
- 0: v,
174
- 1: b
175
- }, D = C(
176
- (e) => {
177
- const i = n === 1 ? l?.label_corp_list : l?.departments;
178
- if (!i)
179
- return;
180
- const g = i.find((c) => c._id === e);
181
- g && o({
182
- type: "insertOnly",
183
- payload: {
184
- ...g
185
- }
186
- });
187
- },
188
- [o, l, n]
189
- ), d = C(
190
- (e, i) => {
191
- o({
192
- type: "addOne",
193
- payload: {
194
- ...i
195
- }
196
- });
197
- },
198
- [o]
199
- ), h = (e) => {
200
- const i = L(e, p[n], {
201
- children: "children",
202
- value: "_id"
203
- });
204
- i && o({
205
- type: "deleteOne",
206
- payload: i._id
207
- });
208
- }, m = S.DEPARMENT === a ? D : d, r = l?.label_corp_count || 0;
209
- return /* @__PURE__ */ y("div", { className: "flex line-height-normal h-full", children: [
210
- r > 0 && /* @__PURE__ */ t("aside", { className: "basis-[200px] p-1 shrink-0", children: /* @__PURE__ */ t("ul", { className: "flex flex-col", children: x.filter((e) => e.visible).map((e) => /* @__PURE__ */ t(
211
- "li",
212
- {
213
- onClick: () => f(e.key),
214
- className: k("px-[10px] py-[7px] rounded cursor-pointer text-sm", {
215
- "bg-[#F0F6FF] text-[#0265ff]": n === e.key,
216
- "text-black hover:bg-[#f3f3f3]": n !== e.key
217
- }),
218
- children: e.label
219
- },
220
- e.key
221
- )) }) }),
222
- /* @__PURE__ */ t(
223
- "section",
224
- {
225
- className: k("flex-1 border-[#E0E0E0] overflow-hidden", {
226
- "border-l": r > 0
227
- }),
228
- children: /* @__PURE__ */ y(F, { spinning: s, children: [
229
- n === 0 && /* @__PURE__ */ t(
230
- P,
231
- {
232
- onSelect: m,
233
- onDeselect: h,
234
- loading: !0,
235
- data: p[n]
236
- }
237
- ),
238
- n === 1 && /* @__PURE__ */ t(
239
- B,
240
- {
241
- data: p[n],
242
- onSelect: m,
243
- onDeselect: h,
244
- loading: !0
245
- }
246
- )
247
- ] })
248
- }
249
- )
250
- ] });
251
- };
252
- export {
253
- $ as O
254
- };
@@ -1,141 +0,0 @@
1
- import { createContext as v, useContext as f, useMemo as p, useCallback as h, useRef as E, useState as A, useEffect as D } from "react";
2
- import { n as d } from "../vendors/lodash-es.js";
3
- import { C as S } from "../ConfigProvider/configContext-lDqg07Z3.js";
4
- import { jsx as o, jsxs as G } from "react/jsx-runtime";
5
- import { Icon as l } from "bsy-react-ui";
6
- import { c as N } from "../vendors/clsx.js";
7
- const I = v({
8
- type: "user",
9
- setValue: d,
10
- dispatch: d,
11
- containerHeight: 0
12
- }), tt = () => f(I), et = {
13
- /**
14
- * @description 成员单选类型
15
- */
16
- USER: "user",
17
- /**
18
- * @description 成员多选类型
19
- */
20
- USER_GROUP: "usergroup",
21
- /**
22
- * @description 部门单选类型
23
- */
24
- DEPARMENT: "dept",
25
- /**
26
- * @description 部门多选类型
27
- */
28
- DEPARMENT_GROUP: "deptgroup",
29
- /**
30
- * @description 部门成员类型
31
- */
32
- DEPT_USERS: "deptusers"
33
- }, at = 110, nt = 68, rt = 30, ot = 8, ct = 90, M = { loading: "加载中...", cancel: "取消", confirm: "确认", clearAll: "清空所选项", viewAll: "查看全部{count}个", selected: "已选 {selected}/{total}", collapseAll: "收起全部", noAvailable: "没有可选成员", searchPlaceholder: "搜索" }, R = { title: "部门", search: "搜索部门", noAvailable: "没有可选部门", contact: "对接部门", organizationalStructure: "组织架构", currentUserDepartment: "当前用户所处部门", internal: "内部组织", external: "外部组织", externalContactGroup: "对接人小组", externalContactDepartment: "对接部门" }, U = { title: "成员", search: "搜索成员", contact: "对接人", all: "全部成员", allContact: "全部对接人", internal: "内部成员", external: "外部成员", noAvailable: "没有可选成员" }, y = { title: "角色", internal: "内部角色", external: "互联角色" }, P = { title: "职位" }, T = { title: "当前用户" }, $ = { title: "外部联系人", defaultGroup: "默认分组", customGroup: "自定义分组", group: "外部联系人分组", noAvailableGroup: "没有可选分组" }, H = { searchMember: "搜索成员", searchDepartment: "搜索部门" }, b = {
34
- common: M,
35
- department: R,
36
- member: U,
37
- role: y,
38
- position: P,
39
- currentUser: T,
40
- externalContact: $,
41
- tabs: H
42
- }, L = { loading: "Loading...", cancel: "Cancel", confirm: "Confirm", clearAll: "Clear All", viewAll: "View All {count}", selected: "Selected {selected}/{total}", collapseAll: "Collapse All", noAvailable: "No available members", searchPlaceholder: "Search" }, O = { title: "Department", search: "Search Department", noAvailable: "No available departments", contact: "Contact Department", organizationalStructure: "Organizational Structure", currentUserDepartment: "Current User Department", internal: "Internal Organization", external: "External Organization", externalContactGroup: "External Contact Group", externalContactDepartment: "External Contact Department" }, w = { title: "Member", search: "Search Member", contact: "Contact Person", allContact: "All Contact Persons", all: "All Members", internal: "Internal Members", external: "External Members", noAvailable: "No available members" }, k = { title: "Role", internal: "Internal Role", external: "Interconnected Role" }, z = { title: "Position" }, B = { title: "Current User" }, W = { title: "External Contact", defaultGroup: "Default Group", customGroup: "Custom Group", group: "External Contact Group", noAvailableGroup: "No available groups" }, j = { searchMember: "Search Member", searchDepartment: "Search Department" }, V = {
43
- common: L,
44
- department: O,
45
- member: w,
46
- role: k,
47
- position: z,
48
- currentUser: B,
49
- externalContact: W,
50
- tabs: j
51
- }, X = (n, t, e) => {
52
- const s = t.split(".");
53
- let a = n;
54
- try {
55
- for (const r of s)
56
- a = a[r];
57
- return typeof a == "string" ? e ? a.replace(/\{(\w+)\}/g, (r, i) => e[i] !== void 0 ? String(e[i]) : r) : a : t;
58
- } catch {
59
- return t;
60
- }
61
- }, lt = () => {
62
- const n = f(S), t = p(() => ({ "zh-CN": b, "en-US": V }), []), e = p(() => t[n.locale] || b, [n.locale, t]);
63
- return {
64
- t: h(
65
- (a, r) => X(e, a, r),
66
- [e]
67
- )
68
- };
69
- }, st = ({ type: n, size: t }) => {
70
- switch (n) {
71
- case "label":
72
- return /* @__PURE__ */ o(l, { name: "Enterpriselabel", className: "text-[#0265ff]", size: t });
73
- case "dockcorp":
74
- case "dockcorpdept":
75
- return /* @__PURE__ */ o(l, { name: "company", className: "text-[#0265ff]", size: t });
76
- case "dockdept":
77
- case "member":
78
- return /* @__PURE__ */ o(l, { name: "dept-one", className: "text-[#0265ff]", size: t });
79
- case "group":
80
- return /* @__PURE__ */ o(l, { name: "Outreach", className: "text-[#70c911]", size: t });
81
- default:
82
- return /* @__PURE__ */ o(l, { name: "dept-one", className: "text-[#0265ff]", size: t });
83
- }
84
- }, q = "_active_1vd3c_15", u = {
85
- "tabgroup-container": "_tabgroup-container_1vd3c_1",
86
- "tabgroup-container__tab-item": "_tabgroup-container__tab-item_1vd3c_7",
87
- active: q,
88
- "tabgroup-container__indicator": "_tabgroup-container__indicator_1vd3c_18"
89
- }, it = (n) => {
90
- const { tabs: t, value: e, onChange: s } = n, a = E(null), [r, i] = A({
91
- width: 0,
92
- transform: "translateX(0)"
93
- }), C = (c) => {
94
- const m = a.current?.querySelector(`[data-key="${c}"]`);
95
- if (m) {
96
- const { width: g, left: x } = m.getBoundingClientRect(), _ = m.parentElement?.parentElement?.getBoundingClientRect().left || 0;
97
- i({
98
- width: g,
99
- transform: `translateX(${x - _}px)`
100
- });
101
- }
102
- };
103
- return D(() => {
104
- C(e);
105
- }, [e]), /* @__PURE__ */ G("div", { className: u["tabgroup-container"], ref: a, children: [
106
- /* @__PURE__ */ o(
107
- "div",
108
- {
109
- className: u["tabgroup-container__indicator"],
110
- style: {
111
- width: `${r.width}px`,
112
- transform: r.transform
113
- }
114
- }
115
- ),
116
- t.map((c) => /* @__PURE__ */ o(
117
- "div",
118
- {
119
- className: N(u["tabgroup-container__tab-item"], {
120
- [u.active]: e === c.value
121
- }),
122
- onClick: () => s(c.value),
123
- children: /* @__PURE__ */ o("span", { "data-key": c.value, children: c.label })
124
- },
125
- c.value
126
- ))
127
- ] });
128
- };
129
- export {
130
- I as D,
131
- et as E,
132
- ot as G,
133
- rt as M,
134
- ct as P,
135
- nt as T,
136
- tt as a,
137
- st as b,
138
- at as c,
139
- it as d,
140
- lt as u
141
- };