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

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 (54) hide show
  1. package/package.json +4 -4
  2. package/es/assets/AvailableRangePreview.css +0 -1
  3. package/es/assets/AvailableRangeSetting.css +0 -1
  4. package/es/assets/CustomSidebar.css +0 -1
  5. package/es/chunks/AvailableRangePreview.D4mZe1lQ.js +0 -217
  6. package/es/chunks/AvailableRangeSetting.BkSLnQ6N.js +0 -215
  7. package/es/chunks/CustomSidebar.BWGoPtLi.js +0 -506
  8. package/es/chunks/CustomTitle.BLZ7evms.js +0 -5
  9. package/es/chunks/CustomToggle.CP3M2_f3.js +0 -165
  10. package/es/chunks/PageContainer.D-G32lvP.js +0 -329
  11. package/es/chunks/_plugin-vue_export-helper.CVVE_0_F.js +0 -13
  12. package/es/chunks/_plugin-vue_export-helper.Cf-_TWPK.js +0 -6
  13. package/es/chunks/index.AHEDCg43.js +0 -160
  14. package/es/chunks/index.B67AnSJI.js +0 -154
  15. package/es/chunks/index.B9F4VYQK.js +0 -118
  16. package/es/chunks/index.BPxF6Amx.js +0 -157
  17. package/es/chunks/index.C2gKjqoA.js +0 -209
  18. package/es/chunks/index.DTtNnKDH.js +0 -288
  19. package/es/chunks/index.DtBeJlu6.js +0 -142
  20. package/es/chunks/index.kR57MtNP.js +0 -211
  21. package/es/chunks/index.wQj5YKPy.js +0 -288
  22. package/es/chunks/layout.BE8_kCeR.js +0 -619
  23. package/es/chunks/layout.C6AMos7n.js +0 -17
  24. package/es/chunks/layout.CWFXohJu.js +0 -622
  25. package/es/chunks/layout.R5FQNRjS.js +0 -619
  26. package/es/chunks/layout.nKB_kc-U.js +0 -26
  27. package/es/chunks/utils.BhlZXNZ6.js +0 -19
  28. package/lib/assets/AvailableRangePreview.css +0 -1
  29. package/lib/assets/AvailableRangeSetting.css +0 -1
  30. package/lib/assets/CustomSidebar.css +0 -1
  31. package/lib/chunks/AvailableRangePreview.CkgZsXP0.js +0 -1
  32. package/lib/chunks/AvailableRangeSetting.CF-jHm4x.js +0 -1
  33. package/lib/chunks/CustomSidebar.CMYJFb2P.js +0 -1
  34. package/lib/chunks/CustomTitle.BkFZ-ZIq.js +0 -1
  35. package/lib/chunks/CustomToggle.C0PpzKPP.js +0 -1
  36. package/lib/chunks/PageContainer.GH56wASV.js +0 -1
  37. package/lib/chunks/_plugin-vue_export-helper.C55-DZV2.js +0 -1
  38. package/lib/chunks/_plugin-vue_export-helper.DAGvX2Jf.js +0 -1
  39. package/lib/chunks/index.BfHfKST0.js +0 -1
  40. package/lib/chunks/index.BlXappa4.js +0 -1
  41. package/lib/chunks/index.CCxHaoi4.js +0 -1
  42. package/lib/chunks/index.CSYGhK9M.js +0 -1
  43. package/lib/chunks/index.C_IlZrzE.js +0 -1
  44. package/lib/chunks/index.DUGtabLJ.js +0 -1
  45. package/lib/chunks/index.Dakz8S3g.js +0 -1
  46. package/lib/chunks/index.DydPD8Lc.js +0 -1
  47. package/lib/chunks/index.k_hSuA6i.js +0 -1
  48. package/lib/chunks/layout.BJjU9nKW.js +0 -1
  49. package/lib/chunks/layout.BQigNrr5.js +0 -1
  50. package/lib/chunks/layout.ClFtiz-t.js +0 -1
  51. package/lib/chunks/layout.CmDwUHZo.js +0 -1
  52. package/lib/chunks/layout.CqbDoD_v.js +0 -1
  53. package/lib/chunks/layout.CwJgDGuR.js +0 -1
  54. 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
- };