china-mobile-international-custom-components 0.0.21 → 0.0.23

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/es/AvailableRangeSetting.mjs +15 -14
  2. package/lib/AvailableRangeSetting.js +1 -1
  3. package/package.json +3 -3
  4. package/es/assets/AvailableRangePreview.css +0 -1
  5. package/es/assets/AvailableRangeSetting.css +0 -1
  6. package/es/assets/CustomSidebar.css +0 -1
  7. package/es/chunks/AvailableRangePreview.D4mZe1lQ.js +0 -217
  8. package/es/chunks/AvailableRangeSetting.BkSLnQ6N.js +0 -215
  9. package/es/chunks/CustomSidebar.BWGoPtLi.js +0 -506
  10. package/es/chunks/CustomTitle.BLZ7evms.js +0 -5
  11. package/es/chunks/CustomToggle.CP3M2_f3.js +0 -165
  12. package/es/chunks/PageContainer.D-G32lvP.js +0 -329
  13. package/es/chunks/_plugin-vue_export-helper.CVVE_0_F.js +0 -13
  14. package/es/chunks/_plugin-vue_export-helper.Cf-_TWPK.js +0 -6
  15. package/es/chunks/index.AHEDCg43.js +0 -160
  16. package/es/chunks/index.B67AnSJI.js +0 -154
  17. package/es/chunks/index.B9F4VYQK.js +0 -118
  18. package/es/chunks/index.BPxF6Amx.js +0 -157
  19. package/es/chunks/index.C2gKjqoA.js +0 -209
  20. package/es/chunks/index.DTtNnKDH.js +0 -288
  21. package/es/chunks/index.DtBeJlu6.js +0 -142
  22. package/es/chunks/index.kR57MtNP.js +0 -211
  23. package/es/chunks/index.wQj5YKPy.js +0 -288
  24. package/es/chunks/layout.BE8_kCeR.js +0 -619
  25. package/es/chunks/layout.C6AMos7n.js +0 -17
  26. package/es/chunks/layout.CWFXohJu.js +0 -622
  27. package/es/chunks/layout.R5FQNRjS.js +0 -619
  28. package/es/chunks/layout.nKB_kc-U.js +0 -26
  29. package/es/chunks/utils.BhlZXNZ6.js +0 -19
  30. package/lib/assets/AvailableRangePreview.css +0 -1
  31. package/lib/assets/AvailableRangeSetting.css +0 -1
  32. package/lib/assets/CustomSidebar.css +0 -1
  33. package/lib/chunks/AvailableRangePreview.CkgZsXP0.js +0 -1
  34. package/lib/chunks/AvailableRangeSetting.CF-jHm4x.js +0 -1
  35. package/lib/chunks/CustomSidebar.CMYJFb2P.js +0 -1
  36. package/lib/chunks/CustomTitle.BkFZ-ZIq.js +0 -1
  37. package/lib/chunks/CustomToggle.C0PpzKPP.js +0 -1
  38. package/lib/chunks/PageContainer.GH56wASV.js +0 -1
  39. package/lib/chunks/_plugin-vue_export-helper.C55-DZV2.js +0 -1
  40. package/lib/chunks/_plugin-vue_export-helper.DAGvX2Jf.js +0 -1
  41. package/lib/chunks/index.BfHfKST0.js +0 -1
  42. package/lib/chunks/index.BlXappa4.js +0 -1
  43. package/lib/chunks/index.CCxHaoi4.js +0 -1
  44. package/lib/chunks/index.CSYGhK9M.js +0 -1
  45. package/lib/chunks/index.C_IlZrzE.js +0 -1
  46. package/lib/chunks/index.DUGtabLJ.js +0 -1
  47. package/lib/chunks/index.Dakz8S3g.js +0 -1
  48. package/lib/chunks/index.DydPD8Lc.js +0 -1
  49. package/lib/chunks/index.k_hSuA6i.js +0 -1
  50. package/lib/chunks/layout.BJjU9nKW.js +0 -1
  51. package/lib/chunks/layout.BQigNrr5.js +0 -1
  52. package/lib/chunks/layout.ClFtiz-t.js +0 -1
  53. package/lib/chunks/layout.CmDwUHZo.js +0 -1
  54. package/lib/chunks/layout.CqbDoD_v.js +0 -1
  55. package/lib/chunks/layout.CwJgDGuR.js +0 -1
  56. package/lib/chunks/utils.BT5Uuz2Q.js +0 -1
@@ -1,288 +0,0 @@
1
- import { w as B } from "./index.bCzIhWFw.js";
2
- import { computed as u, createElementBlock as b, createCommentVNode as v, openBlock as i, Fragment as M, createElementVNode as E, toDisplayString as g, normalizeClass as I, createBlock as A, renderList as k, unref as p, withCtx as x, ref as C, watch as z, onMounted as F, createVNode as O, createTextVNode as _, nextTick as $ } from "vue";
3
- import { ElPopover as U, ElButton as Y } from "element-plus";
4
- import { _ as q } from "./_plugin-vue_export-helper.CHgC5LLL.js";
5
- import '../assets/index2.css';const R = {
6
- ALL: !0,
7
- PARTIAL: !1
8
- }, G = [
9
- {
10
- value: R.ALL,
11
- label: "全部成员"
12
- },
13
- {
14
- value: R.PARTIAL,
15
- label: "部分成员"
16
- }
17
- ], m = {
18
- MEMBER: 1,
19
- DEPARTMENT: 2
20
- }, ne = {
21
- label: "memberName",
22
- children: "children",
23
- value: "memberId"
24
- }, S = {
25
- three: 3,
26
- one: 1
27
- }, H = {
28
- key: 0,
29
- class: "pd-l-16 text-dee0e3 pd-r-16"
30
- }, W = { class: "fz-14 text-646a73 nowrap" }, j = { class: "tag-item nowrap fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe pointer" }, J = { class: "tag-list-popover overflow-y-auto flex gap-4 flex-wrap" }, K = {
31
- __name: "TagList",
32
- props: {
33
- // 显示的标签
34
- label: {
35
- type: String,
36
- required: !0
37
- },
38
- // 数据项列表
39
- items: {
40
- type: Array,
41
- default: () => []
42
- },
43
- // 默认显示的数量
44
- defaultShowCount: {
45
- type: Number,
46
- default: S.one
47
- },
48
- // 是否为只读模式
49
- readonly: {
50
- type: Boolean,
51
- default: !1
52
- }
53
- },
54
- setup(e) {
55
- const t = e, n = u(() => t.readonly ? t.items : t.items.slice(0, t.defaultShowCount)), d = u(() => t.items.length > t.defaultShowCount), f = u(() => t.items.length - t.defaultShowCount), h = u(() => t.items.slice(t.defaultShowCount));
56
- return (a, o) => e.items.length > 0 ? (i(), b(M, { key: 0 }, [
57
- e.readonly ? v("", !0) : (i(), b("span", H, "|")),
58
- E("span", W, g(e.label), 1),
59
- E("div", {
60
- class: I(["tag-list", { "flex items-center gap-4": !e.readonly }])
61
- }, [
62
- (i(!0), b(M, null, k(n.value, (s) => (i(), b("div", {
63
- key: s.memberId,
64
- class: I(["tag-item fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe", { "mg-r-4 mg-b-4": e.readonly }])
65
- }, g(s.memberName), 3))), 128)),
66
- !e.readonly && d.value ? (i(), A(p(U), {
67
- key: 0,
68
- placement: "top",
69
- trigger: "click",
70
- width: "300"
71
- }, {
72
- reference: x(() => [
73
- E("span", j, " +" + g(f.value), 1)
74
- ]),
75
- default: x(() => [
76
- E("div", J, [
77
- (i(!0), b(M, null, k(h.value, (s) => (i(), b("span", {
78
- key: s.memberId,
79
- class: "tag-item nowrap fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe"
80
- }, g(s.memberName), 1))), 128))
81
- ])
82
- ]),
83
- _: 1
84
- })) : v("", !0)
85
- ], 2)
86
- ], 64)) : v("", !0);
87
- }
88
- }, D = /* @__PURE__ */ q(K, [["__scopeId", "data-v-bf564085"]]), L = (e, t) => e?.filter(t) || [], w = (e, t) => L(e, (n) => n.memberType === t), N = (e, t) => {
89
- if (e.children)
90
- for (const n of e.children)
91
- n.memberType === m.MEMBER ? t(n) : n.memberType === m.DEPARTMENT && N(n, t);
92
- }, P = (e) => {
93
- const t = [];
94
- return N(e, (n) => t.push(n.memberId)), t;
95
- };
96
- function Q(e, t, n = !1) {
97
- const d = u(() => {
98
- if (!e.value) return [];
99
- const a = [...e.value], o = w(
100
- a,
101
- m.DEPARTMENT
102
- );
103
- if (o.length > 0 && t.value && t.value.length > 0) {
104
- const s = /* @__PURE__ */ new Set();
105
- o.forEach((r) => {
106
- const c = (y) => {
107
- for (const T of y) {
108
- if (T.memberType === m.DEPARTMENT && T.memberId === r.memberId)
109
- return N(
110
- T,
111
- (V) => s.add(V)
112
- ), !0;
113
- if (T.children && c(T.children))
114
- return !0;
115
- }
116
- return !1;
117
- };
118
- c(t.value);
119
- });
120
- const l = new Set(
121
- w(a, m.MEMBER).map(
122
- (r) => r.memberId
123
- )
124
- );
125
- s.forEach((r) => {
126
- l.has(r.memberId) || a.push(r);
127
- });
128
- }
129
- return a;
130
- }), f = u(() => {
131
- if (n)
132
- return w(
133
- d.value,
134
- m.MEMBER
135
- );
136
- {
137
- const a = /* @__PURE__ */ new Set();
138
- return h.value.forEach((o) => {
139
- P(o).forEach((l) => a.add(l));
140
- }), L(
141
- d.value,
142
- (o) => o.memberType === m.MEMBER && !a.has(o.memberId)
143
- );
144
- }
145
- }), h = u(() => {
146
- if (n)
147
- return w(
148
- d.value,
149
- m.DEPARTMENT
150
- );
151
- {
152
- const a = [], o = (l) => {
153
- if (!l.children || l.children.length === 0) return !1;
154
- const r = P(l);
155
- return r.length === 0 ? !1 : r.every(
156
- (c) => d.value.some(
157
- (y) => y.memberType === m.MEMBER && y.memberId === c
158
- )
159
- );
160
- }, s = (l, r = !1) => {
161
- if (l.memberType === m.DEPARTMENT) {
162
- const c = o(l);
163
- if (c && !r) {
164
- if (a.push({
165
- memberId: l.memberId,
166
- memberName: l.memberName,
167
- memberType: m.DEPARTMENT,
168
- children: l.children
169
- }), l.children)
170
- for (const y of l.children)
171
- s(y, !0);
172
- } else if (!c && l.children)
173
- for (const y of l.children)
174
- s(y, !1);
175
- }
176
- };
177
- for (const l of t.value)
178
- s(l, !1);
179
- return a;
180
- }
181
- });
182
- return {
183
- selectedMembers: f,
184
- selectedDepartments: h
185
- };
186
- }
187
- const X = { class: "fz-14 text-1f2329" }, Z = {
188
- __name: "layout",
189
- props: {
190
- // 当前选择的范围类型(是否全部可见)
191
- allVisible: {
192
- type: Boolean,
193
- default: R.ALL
194
- },
195
- // 选中的项目列表(完整对象数组,由父组件根据ID从树中查找得到)
196
- modelValue: {
197
- type: Array,
198
- default: () => []
199
- },
200
- // 完整的树形数据(用于判断部门成员是否全部选中)
201
- treeList: {
202
- type: Array,
203
- default: () => []
204
- },
205
- // 是否为只读模式
206
- readonly: {
207
- type: Boolean,
208
- default: !1
209
- }
210
- },
211
- setup(e, { expose: t }) {
212
- const n = C(null), d = () => {
213
- n.value && $(() => {
214
- n.value.scrollIntoView({
215
- behavior: "smooth",
216
- block: "center"
217
- });
218
- });
219
- }, f = e, { selectedMembers: h, selectedDepartments: a } = Q(
220
- u(() => f.modelValue),
221
- u(() => f.treeList),
222
- f.readonly
223
- ), o = u(() => {
224
- const l = h.value.length > 0, r = a.value.length > 0;
225
- return l && !r || !l && r ? S.three : S.one;
226
- }), s = u(() => [...h.value, ...a.value]);
227
- return z(
228
- () => [f.allVisible, f.modelValue],
229
- () => {
230
- d();
231
- },
232
- { immediate: !1, deep: !0 }
233
- ), F(() => {
234
- d();
235
- }), t({
236
- allSelectedItems: s
237
- }), (l, r) => (i(), b("div", {
238
- ref_key: "previewRef",
239
- ref: n,
240
- class: I(["available-range-preview w-full overflow-hidden", {
241
- "flex items-center": !e.readonly
242
- }])
243
- }, [
244
- e.readonly ? v("", !0) : (i(), b(M, { key: 0 }, [
245
- r[2] || (r[2] = E("div", { class: "text-1f2329" }, "可用范围:", -1)),
246
- E("span", X, g(p(G).find((c) => c.value === e.allVisible)?.label), 1),
247
- O(p(Y), {
248
- class: "mg-l-16",
249
- type: "primary",
250
- link: "",
251
- onClick: r[0] || (r[0] = (c) => l.$emit("edit"))
252
- }, {
253
- default: x(() => [...r[1] || (r[1] = [
254
- _(" 编辑 ", -1)
255
- ])]),
256
- _: 1
257
- })
258
- ], 64)),
259
- e.allVisible === p(R).PARTIAL ? (i(), b("div", {
260
- key: 1,
261
- class: I(["flex-1 overflow-hidden", { "flex items-center": !e.readonly }])
262
- }, [
263
- p(h)?.length ? (i(), A(D, {
264
- key: 0,
265
- label: "成员:",
266
- items: p(h),
267
- "default-show-count": o.value,
268
- readonly: e.readonly
269
- }, null, 8, ["items", "default-show-count", "readonly"])) : v("", !0),
270
- p(a)?.length ? (i(), A(D, {
271
- key: 1,
272
- label: "部门:",
273
- items: p(a),
274
- "default-show-count": o.value,
275
- readonly: e.readonly
276
- }, null, 8, ["items", "default-show-count", "readonly"])) : v("", !0)
277
- ], 2)) : v("", !0)
278
- ], 2));
279
- }
280
- }, ae = B(Z), se = B(D);
281
- export {
282
- ae as A,
283
- R,
284
- ne as T,
285
- se as a,
286
- G as r,
287
- Q as u
288
- };
@@ -1,142 +0,0 @@
1
- import { _ as x, w as R } from "./_plugin-vue_export-helper.CVVE_0_F.js";
2
- import { ref as L, computed as m, createElementBlock as d, createCommentVNode as E, openBlock as n, createElementVNode as f, toDisplayString as y, Fragment as P, renderList as S, createBlock as M, createVNode as w, unref as T, withCtx as N, createTextVNode as k } from "vue";
3
- import { ElButton as D } from "element-plus";
4
- import '../assets/index.css';const _ = {
5
- ALL: "all",
6
- PARTIAL: "partial"
7
- }, I = [
8
- {
9
- value: _.ALL,
10
- label: "全部成员"
11
- },
12
- {
13
- value: _.PARTIAL,
14
- label: "部分成员"
15
- }
16
- ], c = {
17
- MEMBER: "member",
18
- DEPARTMENT: "department"
19
- }, B = { key: 0 }, C = { class: "fz-14 text-646a73 mg-b-8" }, V = { class: "tag-list flex flex-wrap gap-4" }, $ = {
20
- __name: "TagList",
21
- props: {
22
- // 显示的标签
23
- label: {
24
- type: String,
25
- required: !0
26
- },
27
- // 数据项列表
28
- items: {
29
- type: Array,
30
- default: () => []
31
- },
32
- // 默认显示的数量
33
- defaultShowCount: {
34
- type: Number,
35
- default: 3
36
- }
37
- },
38
- setup(l) {
39
- const t = l, a = L(!1), h = m(() => a.value ? t.items : t.items.slice(0, t.defaultShowCount)), b = m(() => t.items.length > t.defaultShowCount), r = m(() => t.items.length - t.defaultShowCount), s = () => {
40
- a.value = !a.value;
41
- };
42
- return (i, A) => l.items.length > 0 ? (n(), d("div", B, [
43
- f("div", C, y(l.label), 1),
44
- f("div", V, [
45
- (n(!0), d(P, null, S(h.value, (e) => (n(), d("span", {
46
- key: e.id,
47
- class: "tag-item fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe"
48
- }, y(e.name), 1))), 128)),
49
- b.value ? (n(), d("span", {
50
- key: 0,
51
- class: "expand-btn fz-12 pd-l-8 pd-r-8 radius-4 bg-f5f7fa text-646a73 cursor-pointer",
52
- onClick: s
53
- }, y(a.value ? "收起" : `+${r.value}`), 1)) : E("", !0)
54
- ])
55
- ])) : E("", !0);
56
- }
57
- }, v = /* @__PURE__ */ x($, [["__scopeId", "data-v-cff25679"]]), z = { class: "available-range-preview w-full" }, Y = { class: "flex items-center justify-between mg-b-16" }, G = { class: "flex-1" }, W = { class: "fz-14 weight-500" }, j = {
58
- __name: "layout",
59
- props: {
60
- // 当前选择的范围类型
61
- type: {
62
- type: String,
63
- default: "all"
64
- },
65
- // 选中的项目列表
66
- modelValue: {
67
- type: Array,
68
- default: () => []
69
- },
70
- // 完整的树形数据(用于判断部门成员是否全部选中)
71
- treeList: {
72
- type: Array,
73
- default: () => []
74
- }
75
- },
76
- emits: ["edit"],
77
- setup(l) {
78
- const t = l, a = {
79
- PARTIAL: "partial"
80
- }, h = m(() => t.modelValue.filter(
81
- (r) => r.type === c.MEMBER
82
- )), b = m(() => ((s) => {
83
- const i = [], A = (e) => {
84
- if (e.type === c.DEPARTMENT && e.children) {
85
- const g = (u) => {
86
- const o = [];
87
- for (const p of u)
88
- p.type === c.MEMBER ? o.push(p.id) : p.type === c.DEPARTMENT && o.push(...g(p.children));
89
- return o;
90
- };
91
- if (g(e.children).every(
92
- (u) => t.modelValue.some(
93
- (o) => o.type === c.MEMBER && o.id === u
94
- )
95
- ) && i.push({
96
- id: e.id,
97
- name: e.name,
98
- type: c.DEPARTMENT
99
- }), e.children)
100
- for (const u of e.children)
101
- A(u);
102
- }
103
- };
104
- for (const e of s)
105
- A(e);
106
- return i;
107
- })(t.treeList));
108
- return (r, s) => (n(), d("div", z, [
109
- f("div", Y, [
110
- f("div", G, [
111
- f("span", W, y(T(I).find((i) => i.value === l.type)?.label), 1)
112
- ]),
113
- w(T(D), {
114
- type: "primary",
115
- size: "small",
116
- onClick: s[0] || (s[0] = (i) => r.$emit("edit"))
117
- }, {
118
- default: N(() => [...s[1] || (s[1] = [
119
- k(" 编辑 ", -1)
120
- ])]),
121
- _: 1
122
- })
123
- ]),
124
- l.type === a.PARTIAL ? (n(), M(v, {
125
- key: 0,
126
- label: "成员:",
127
- items: h.value
128
- }, null, 8, ["items"])) : E("", !0),
129
- l.type === a.PARTIAL ? (n(), M(v, {
130
- key: 1,
131
- label: "部门:",
132
- items: b.value
133
- }, null, 8, ["items"])) : E("", !0)
134
- ]));
135
- }
136
- }, K = R(j), Q = R(v);
137
- export {
138
- K as A,
139
- _ as R,
140
- Q as T,
141
- I as r
142
- };
@@ -1,211 +0,0 @@
1
- import { w as k } from "./index.bCzIhWFw.js";
2
- import { computed as u, createElementBlock as f, createCommentVNode as E, openBlock as a, Fragment as M, createElementVNode as p, toDisplayString as y, createBlock as w, renderList as N, unref as d, withCtx as A, ref as L, watch as P, onMounted as S, createVNode as V, createTextVNode as D, nextTick as I } from "vue";
3
- import { ElPopover as B, ElButton as C } from "element-plus";
4
- import { _ as z } from "./_plugin-vue_export-helper.CHgC5LLL.js";
5
- import '../assets/index.css';const T = {
6
- ALL: !0,
7
- PARTIAL: !1
8
- }, $ = [
9
- {
10
- value: T.ALL,
11
- label: "全部成员"
12
- },
13
- {
14
- value: T.PARTIAL,
15
- label: "部分成员"
16
- }
17
- ], c = {
18
- MEMBER: 1,
19
- DEPARTMENT: 2
20
- }, Z = {
21
- label: "memberName",
22
- children: "children",
23
- value: "bnid"
24
- }, F = { class: "fz-14 text-646a73 pd-l-16 nowrap" }, O = { class: "tag-list flex gap-4 items-center" }, Y = { class: "tag-item nowrap fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe pointer" }, q = { class: "tag-list-popover overflow-y-auto flex gap-4 flex-wrap" }, G = {
25
- __name: "TagList",
26
- props: {
27
- // 显示的标签
28
- label: {
29
- type: String,
30
- required: !0
31
- },
32
- // 数据项列表
33
- items: {
34
- type: Array,
35
- default: () => []
36
- },
37
- // 默认显示的数量
38
- defaultShowCount: {
39
- type: Number,
40
- default: 1
41
- }
42
- },
43
- setup(s) {
44
- const l = s, b = u(() => l.items.slice(0, l.defaultShowCount)), i = u(() => l.items.length > l.defaultShowCount), n = u(() => l.items.length - l.defaultShowCount), r = u(() => l.items.slice(l.defaultShowCount));
45
- return (o, e) => s.items.length > 0 ? (a(), f(M, { key: 0 }, [
46
- e[0] || (e[0] = p("span", { class: "pd-l-16 text-dee0e3" }, "|", -1)),
47
- p("span", F, y(s.label), 1),
48
- p("div", O, [
49
- (a(!0), f(M, null, N(b.value, (t) => (a(), f("div", {
50
- key: t.bnid,
51
- class: "tag-item fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe"
52
- }, y(t.memberName), 1))), 128)),
53
- i.value ? (a(), w(d(B), {
54
- key: 0,
55
- placement: "top",
56
- trigger: "click",
57
- width: "300"
58
- }, {
59
- reference: A(() => [
60
- p("span", Y, " +" + y(n.value), 1)
61
- ]),
62
- default: A(() => [
63
- p("div", q, [
64
- (a(!0), f(M, null, N(r.value, (t) => (a(), f("span", {
65
- key: t.bnid,
66
- class: "tag-item nowrap fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe"
67
- }, y(t.memberName), 1))), 128))
68
- ])
69
- ]),
70
- _: 1
71
- })) : E("", !0)
72
- ])
73
- ], 64)) : E("", !0);
74
- }
75
- }, R = /* @__PURE__ */ z(G, [["__scopeId", "data-v-bd8e4281"]]);
76
- function j(s, l) {
77
- const b = u(() => {
78
- const n = /* @__PURE__ */ new Set();
79
- return i.value.forEach((r) => {
80
- const o = (e) => {
81
- for (const t of e)
82
- t.memberType === c.MEMBER ? n.add(t.bnid) : t.memberType === c.DEPARTMENT && o(t.children);
83
- };
84
- o(r.children || []);
85
- }), s.value.filter(
86
- (r) => r.memberType === c.MEMBER && !n.has(r.bnid)
87
- );
88
- }), i = u(() => {
89
- const n = [], r = (e) => {
90
- if (!e.children || e.children.length === 0) return !1;
91
- const h = ((m) => {
92
- const v = [], _ = (x) => {
93
- if (x.children)
94
- for (const g of x.children)
95
- g.memberType === c.MEMBER ? v.push(g.bnid) : g.memberType === c.DEPARTMENT && _(g);
96
- };
97
- return _(m), v;
98
- })(e);
99
- return h.length === 0 ? !1 : h.every(
100
- (m) => s.value.some(
101
- (v) => v.memberType === c.MEMBER && v.bnid === m
102
- )
103
- );
104
- }, o = (e, t = !1) => {
105
- if (e.memberType === c.DEPARTMENT) {
106
- const h = r(e);
107
- if (h && !t) {
108
- if (n.push({
109
- bnid: e.bnid,
110
- memberName: e.memberName,
111
- memberType: c.DEPARTMENT,
112
- children: e.children
113
- }), e.children)
114
- for (const m of e.children)
115
- o(m, !0);
116
- } else if (!h && e.children)
117
- for (const m of e.children)
118
- o(m, !1);
119
- }
120
- };
121
- for (const e of l.value)
122
- o(e, !1);
123
- return n;
124
- });
125
- return {
126
- selectedMembers: b,
127
- selectedDepartments: i
128
- };
129
- }
130
- const H = { class: "fz-14 text-1f2329 pd-r-16" }, J = {
131
- key: 0,
132
- class: "flex-1 overflow-hidden flex items-center"
133
- }, K = {
134
- __name: "layout",
135
- props: {
136
- // 当前选择的范围类型(是否全部可见)
137
- allVisible: {
138
- type: Boolean,
139
- default: T.ALL
140
- },
141
- // 选中的项目列表(完整对象数组,由父组件根据ID从树中查找得到)
142
- modelValue: {
143
- type: Array,
144
- default: () => []
145
- },
146
- // 完整的树形数据(用于判断部门成员是否全部选中)
147
- treeList: {
148
- type: Array,
149
- default: () => []
150
- }
151
- },
152
- setup(s) {
153
- const l = L(null), b = () => {
154
- l.value && I(() => {
155
- l.value.scrollIntoView({
156
- behavior: "smooth",
157
- block: "center"
158
- });
159
- });
160
- }, i = s, { selectedMembers: n, selectedDepartments: r } = j(
161
- u(() => i.modelValue),
162
- u(() => i.treeList)
163
- );
164
- return P(
165
- () => [i.allVisible, i.modelValue],
166
- () => {
167
- b();
168
- },
169
- { immediate: !1, deep: !0 }
170
- ), S(() => {
171
- b();
172
- }), (o, e) => (a(), f("div", {
173
- ref_key: "previewRef",
174
- ref: l,
175
- class: "available-range-preview w-full flex items-center overflow-hidden"
176
- }, [
177
- e[2] || (e[2] = p("div", { class: "text-1f2329" }, "可用范围:", -1)),
178
- p("span", H, y(d($).find((t) => t.value === s.allVisible)?.label), 1),
179
- V(d(C), {
180
- type: "primary",
181
- link: "",
182
- onClick: e[0] || (e[0] = (t) => o.$emit("edit"))
183
- }, {
184
- default: A(() => [...e[1] || (e[1] = [
185
- D("编辑", -1)
186
- ])]),
187
- _: 1
188
- }),
189
- s.allVisible === d(T).PARTIAL ? (a(), f("div", J, [
190
- d(n).length > 0 ? (a(), w(R, {
191
- key: 0,
192
- label: "成员:",
193
- items: d(n)
194
- }, null, 8, ["items"])) : E("", !0),
195
- d(r).length > 0 ? (a(), w(R, {
196
- key: 1,
197
- label: "部门:",
198
- items: d(r)
199
- }, null, 8, ["items"])) : E("", !0)
200
- ])) : E("", !0)
201
- ], 512));
202
- }
203
- }, ee = k(K), te = k(R);
204
- export {
205
- ee as A,
206
- T as R,
207
- te as T,
208
- Z as a,
209
- $ as r,
210
- j as u
211
- };