aibox-custom-component-packages 0.0.6 → 0.0.7

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 (153) hide show
  1. package/es/AddOrEditSupplierDialog.mjs +786 -0
  2. package/es/ApplicationTypeTag.mjs +58 -0
  3. package/es/AuthSection.mjs +199 -0
  4. package/es/AutoShowTooltip.mjs +90 -0
  5. package/es/AvailableRangePreview.mjs +1 -1
  6. package/es/AvailableRangeSetting.mjs +11 -10
  7. package/es/CodeView.mjs +7 -0
  8. package/es/CommonTagsList.mjs +4 -4
  9. package/es/CreateMcpForm.mjs +384 -0
  10. package/es/CustomSidebar.mjs +712 -0
  11. package/es/CustomTitle.mjs +7 -0
  12. package/es/CustomToggle.mjs +170 -0
  13. package/es/DialogContainer.mjs +21 -21
  14. package/es/FileDisplay.mjs +6 -0
  15. package/es/FilePreview.mjs +179 -0
  16. package/es/FileUploader.mjs +266 -9
  17. package/es/McpFormDialog.mjs +8 -0
  18. package/es/McpParamsSet.mjs +630 -0
  19. package/es/MdEditor.mjs +201 -0
  20. package/es/PageContainer.mjs +360 -11
  21. package/es/ParameterTable.mjs +2288 -0
  22. package/es/PublishRecord.mjs +6 -6
  23. package/es/RadioGroup.mjs +119 -0
  24. package/es/SourcePublish.mjs +6 -6
  25. package/es/Table.mjs +2 -2
  26. package/es/assets/AddOrEditSupplierDialog.css +1 -0
  27. package/es/assets/AiboxTable.css +1 -0
  28. package/es/assets/ApplicationTypeTag.css +1 -0
  29. package/es/assets/AuthSection.css +1 -0
  30. package/es/assets/AutoShowTooltip.css +1 -0
  31. package/es/assets/CreateMcpForm.css +1 -0
  32. package/es/assets/CustomSidebar.css +1 -0
  33. package/es/assets/CustomToggle.css +1 -0
  34. package/es/assets/FilePreview.css +1 -0
  35. package/es/assets/FileUploader.css +1 -0
  36. package/es/assets/McpParamsSet.css +1 -0
  37. package/es/assets/MdEditor.css +1 -0
  38. package/es/assets/PageContainer.css +1 -0
  39. package/es/assets/ParameterTable.css +1 -0
  40. package/es/assets/RadioGroup.css +1 -0
  41. package/es/assets/index.css +1 -1
  42. package/es/assets/index2.css +1 -1
  43. package/es/assets/index3.css +1 -0
  44. package/es/assets/index4.css +1 -0
  45. package/es/assets/index5.css +1 -0
  46. package/es/assets/index6.css +1 -0
  47. package/es/assets/layout.css +1 -0
  48. package/es/assets/usePreview.css +1 -0
  49. package/es/chunks/AiboxTable.DUGBBVXh.js +645 -0
  50. package/es/chunks/BackBar.B5Er8ZdJ.js +645 -0
  51. package/es/chunks/config.DPkdwjwD.js +49 -0
  52. package/es/chunks/config.Dklrsn-B.js +49 -0
  53. package/es/chunks/config.DqhQdkz7.js +325 -0
  54. package/es/chunks/config.RrNwuFkQ.js +325 -0
  55. package/es/chunks/config.gNZ_rT87.js +325 -0
  56. package/es/chunks/enums.DuBbLcd-.js +83 -0
  57. package/es/chunks/enums.Dvec-maC.js +62 -0
  58. package/es/chunks/field-types.CPnMOjle.js +13 -0
  59. package/es/chunks/files.cduUqjHX.js +16 -0
  60. package/es/chunks/i18n.DDMVloiU.js +443 -0
  61. package/es/chunks/i18n.k9Q_HVMs.js +443 -0
  62. package/es/chunks/index.BSA3IKSF.js +111 -0
  63. package/es/chunks/index.BT1khSY9.js +111 -0
  64. package/es/chunks/index.CDvh263l.js +257 -0
  65. package/es/chunks/index.CLyfh6p1.js +257 -0
  66. package/es/chunks/index.CSjjAi3w.js +396 -0
  67. package/es/chunks/index.CdEBk4F_.js +134 -0
  68. package/es/chunks/index.CgbxJCEU.js +265 -0
  69. package/es/chunks/index.CuDwuRO7.js +265 -0
  70. package/es/chunks/index.DWR4lc30.js +203 -0
  71. package/es/chunks/index.GuEzdh6b.js +257 -0
  72. package/es/chunks/index.uOZzvHrF.js +135 -0
  73. package/es/chunks/layout.BREUWPEJ.js +26 -0
  74. package/es/chunks/publish.DlD0o09n.js +50 -0
  75. package/es/chunks/request.24c3shPx.js +5 -0
  76. package/es/chunks/usePreview.B5lboHeg.js +153 -0
  77. package/es/chunks/usePreview.C36fNlVd.js +153 -0
  78. package/es/index.mjs +325 -312
  79. package/index.css +1 -1
  80. package/lib/AddOrEditSupplierDialog.js +1 -0
  81. package/lib/ApplicationTypeTag.js +1 -0
  82. package/lib/AuthSection.js +1 -0
  83. package/lib/AutoShowTooltip.js +1 -0
  84. package/lib/AvailableRangePreview.js +1 -1
  85. package/lib/AvailableRangeSetting.js +1 -1
  86. package/lib/CodeView.js +1 -0
  87. package/lib/CommonTagsList.js +1 -1
  88. package/lib/CreateMcpForm.js +1 -0
  89. package/lib/CustomSidebar.js +1 -0
  90. package/lib/CustomTitle.js +1 -0
  91. package/lib/CustomToggle.js +1 -0
  92. package/lib/DialogContainer.js +1 -1
  93. package/lib/FileDisplay.js +1 -0
  94. package/lib/FilePreview.js +1 -0
  95. package/lib/FileUploader.js +1 -1
  96. package/lib/McpFormDialog.js +1 -0
  97. package/lib/McpParamsSet.js +1 -0
  98. package/lib/MdEditor.js +1 -0
  99. package/lib/PageContainer.js +1 -1
  100. package/lib/ParameterTable.js +1 -0
  101. package/lib/PublishRecord.js +4 -4
  102. package/lib/RadioGroup.js +1 -0
  103. package/lib/SourcePublish.js +1 -1
  104. package/lib/Table.js +1 -1
  105. package/lib/assets/AddOrEditSupplierDialog.css +1 -0
  106. package/lib/assets/AiboxTable.css +1 -0
  107. package/lib/assets/ApplicationTypeTag.css +1 -0
  108. package/lib/assets/AuthSection.css +1 -0
  109. package/lib/assets/AutoShowTooltip.css +1 -0
  110. package/lib/assets/CreateMcpForm.css +1 -0
  111. package/lib/assets/CustomSidebar.css +1 -0
  112. package/lib/assets/CustomToggle.css +1 -0
  113. package/lib/assets/FilePreview.css +1 -0
  114. package/lib/assets/FileUploader.css +1 -0
  115. package/lib/assets/McpParamsSet.css +1 -0
  116. package/lib/assets/MdEditor.css +1 -0
  117. package/lib/assets/PageContainer.css +1 -0
  118. package/lib/assets/ParameterTable.css +1 -0
  119. package/lib/assets/RadioGroup.css +1 -0
  120. package/lib/assets/index.css +1 -1
  121. package/lib/assets/index2.css +1 -1
  122. package/lib/assets/index3.css +1 -0
  123. package/lib/assets/index4.css +1 -0
  124. package/lib/assets/index5.css +1 -0
  125. package/lib/assets/index6.css +1 -0
  126. package/lib/assets/layout.css +1 -0
  127. package/lib/assets/usePreview.css +1 -0
  128. package/lib/chunks/AiboxTable.BnoHJ7xL.js +1 -0
  129. package/lib/chunks/BackBar.C8Xrc6qW.js +1 -0
  130. package/lib/chunks/config.1oaIKLGn.js +1 -0
  131. package/lib/chunks/config.BF7MO0O5.js +1 -0
  132. package/lib/chunks/enums.DnuzPZCR.js +1 -0
  133. package/lib/chunks/field-types.Ch_2yDfg.js +1 -0
  134. package/lib/chunks/files.B3-8UC0v.js +1 -0
  135. package/lib/chunks/i18n.DgOp_D7R.js +1 -0
  136. package/lib/chunks/index.BZcSlgOO.js +1 -0
  137. package/lib/chunks/index.Bc71XWQn.js +1 -0
  138. package/lib/chunks/index.CH7XdMru.js +1 -0
  139. package/lib/chunks/index.CaidDlAx.js +1 -0
  140. package/lib/chunks/index.D7wBInWr.js +1 -0
  141. package/lib/chunks/index.DGWHQFdx.js +6 -0
  142. package/lib/chunks/index.DME62Yfo.js +1 -0
  143. package/lib/chunks/index.DWohILMv.js +1 -0
  144. package/lib/chunks/index.LK2ulXTE.js +1 -0
  145. package/lib/chunks/index.qDAoOzk9.js +1 -0
  146. package/lib/chunks/index.s8vGOJKG.js +1 -0
  147. package/lib/chunks/layout.sgE9JoNq.js +1 -0
  148. package/lib/chunks/publish.3TrK3fZf.js +1 -0
  149. package/lib/chunks/request.D8T4MgGX.js +1 -0
  150. package/lib/chunks/usePreview.2PZJSy5w.js +1 -0
  151. package/lib/chunks/usePreview.E5SeS2uw.js +1 -0
  152. package/lib/index.js +1 -4
  153. package/package.json +2 -2
@@ -0,0 +1,257 @@
1
+ import { w as _ } from "./index.bCzIhWFw.js";
2
+ import { computed as p, createElementBlock as b, createCommentVNode as h, openBlock as m, Fragment as N, createElementVNode as M, toDisplayString as E, normalizeClass as w, createBlock as D, renderList as k, unref as i, withCtx as A, ref as P, watch as O, onMounted as L, createVNode as z, createTextVNode as U, nextTick as F } from "vue";
3
+ import { ElPopover as $, ElButton as G } from "element-plus";
4
+ import { D as g, M as c, R as B, r as Y } from "./config.Dklrsn-B.js";
5
+ import { _ as q } from "./_plugin-vue_export-helper.CHgC5LLL.js";
6
+ import { u as H } from "./i18n.DDMVloiU.js";
7
+ import '../assets/index4.css';const W = {
8
+ key: 0,
9
+ class: "pd-l-16 text-dee0e3 pd-r-16"
10
+ }, X = { 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 = {
11
+ __name: "TagList",
12
+ props: {
13
+ // 显示的标签
14
+ label: {
15
+ type: String,
16
+ required: !0
17
+ },
18
+ // 数据项列表
19
+ items: {
20
+ type: Array,
21
+ default: () => []
22
+ },
23
+ // 是否为只读模式
24
+ readonly: {
25
+ type: Boolean,
26
+ default: !1
27
+ }
28
+ },
29
+ setup(e) {
30
+ const t = e, l = p(() => t.readonly ? t.items : t.items.slice(0, g.one)), d = p(() => t.items.length > g.one), T = p(() => t.items.length - g.one), u = p(() => t.items.slice(g.one));
31
+ return (n, s) => e.items.length > 0 ? (m(), b(N, { key: 0 }, [
32
+ e.readonly ? h("", !0) : (m(), b("span", W, "|")),
33
+ M("span", X, E(e.label), 1),
34
+ M("div", {
35
+ class: w(["tag-list", { "flex items-center gap-4": !e.readonly }])
36
+ }, [
37
+ (m(!0), b(N, null, k(l.value, (a) => (m(), b("div", {
38
+ key: a.memberId,
39
+ class: w(["tag-item fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe nowrap", { "mg-r-4 mg-b-4": e.readonly }])
40
+ }, E(a.memberName), 3))), 128)),
41
+ !e.readonly && d.value ? (m(), D(i($), {
42
+ key: 0,
43
+ placement: "top",
44
+ trigger: "click",
45
+ width: "300",
46
+ "popper-class": "tag-list-popover-wrapper"
47
+ }, {
48
+ reference: A(() => [
49
+ M("span", j, " +" + E(T.value), 1)
50
+ ]),
51
+ default: A(() => [
52
+ M("div", J, [
53
+ (m(!0), b(N, null, k(u.value, (a) => (m(), b("span", {
54
+ key: a.memberId,
55
+ class: "tag-item nowrap fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe"
56
+ }, E(a.memberName), 1))), 128))
57
+ ])
58
+ ]),
59
+ _: 1
60
+ })) : h("", !0)
61
+ ], 2)
62
+ ], 64)) : h("", !0);
63
+ }
64
+ }, R = /* @__PURE__ */ q(K, [["__scopeId", "data-v-eecd9e0b"]]), V = (e, t) => e?.filter(t) || [], I = (e, t) => V(e, (l) => l.memberType === t), x = (e, t) => {
65
+ if (e.children)
66
+ for (const l of e.children)
67
+ l.memberType === c.MEMBER ? t(l) : l.memberType === c.DEPARTMENT && x(l, t);
68
+ }, S = (e) => {
69
+ const t = [];
70
+ return x(e, (l) => t.push(l.memberId)), t;
71
+ };
72
+ function Q(e, t, l = !1) {
73
+ const d = p(() => {
74
+ if (!e.value) return [];
75
+ const n = [...e.value], s = I(
76
+ n,
77
+ c.DEPARTMENT
78
+ );
79
+ if (s.length > 0 && t.value && t.value.length > 0) {
80
+ const a = /* @__PURE__ */ new Set();
81
+ s.forEach((o) => {
82
+ const f = (y) => {
83
+ for (const v of y) {
84
+ if (v.memberType === c.DEPARTMENT && v.memberId === o.memberId)
85
+ return x(
86
+ v,
87
+ (C) => a.add(C)
88
+ ), !0;
89
+ if (v.children && f(v.children))
90
+ return !0;
91
+ }
92
+ return !1;
93
+ };
94
+ f(t.value);
95
+ });
96
+ const r = new Set(
97
+ I(n, c.MEMBER).map(
98
+ (o) => o.memberId
99
+ )
100
+ );
101
+ a.forEach((o) => {
102
+ r.has(o.memberId) || n.push(o);
103
+ });
104
+ }
105
+ return n;
106
+ }), T = p(() => {
107
+ if (l)
108
+ return I(
109
+ d.value,
110
+ c.MEMBER
111
+ );
112
+ {
113
+ const n = /* @__PURE__ */ new Set();
114
+ return u.value.forEach((s) => {
115
+ S(s).forEach((r) => n.add(r));
116
+ }), V(
117
+ d.value,
118
+ (s) => s.memberType === c.MEMBER && !n.has(s.memberId)
119
+ );
120
+ }
121
+ }), u = p(() => {
122
+ if (l)
123
+ return I(
124
+ d.value,
125
+ c.DEPARTMENT
126
+ );
127
+ {
128
+ const n = [], s = (r) => {
129
+ if (!r.children || r.children.length === 0) return !1;
130
+ const o = S(r);
131
+ return o.length === 0 ? !1 : o.every(
132
+ (f) => d.value.some(
133
+ (y) => y.memberType === c.MEMBER && y.memberId === f
134
+ )
135
+ );
136
+ }, a = (r, o = !1) => {
137
+ if (r.memberType === c.DEPARTMENT) {
138
+ const f = s(r);
139
+ if (f && !o) {
140
+ if (n.push({
141
+ memberId: r.memberId,
142
+ memberName: r.memberName,
143
+ memberType: c.DEPARTMENT,
144
+ bnid: r.bnid,
145
+ children: r.children
146
+ }), r.children)
147
+ for (const y of r.children)
148
+ a(y, !0);
149
+ } else if (!f && r.children)
150
+ for (const y of r.children)
151
+ a(y, !1);
152
+ }
153
+ };
154
+ for (const r of t.value)
155
+ a(r, !1);
156
+ return n;
157
+ }
158
+ });
159
+ return {
160
+ selectedMembers: T,
161
+ selectedDepartments: u
162
+ };
163
+ }
164
+ const Z = { class: "text-1f2329" }, ee = { class: "fz-14 text-1f2329" }, te = {
165
+ __name: "layout",
166
+ props: {
167
+ // 当前选择的范围类型(是否全部可见)
168
+ allVisible: {
169
+ type: Boolean,
170
+ default: B.ALL
171
+ },
172
+ // 选中的项目列表(完整对象数组,由父组件根据ID从树中查找得到)
173
+ modelValue: {
174
+ type: Array,
175
+ default: () => []
176
+ },
177
+ // 完整的树形数据(用于判断部门成员是否全部选中)
178
+ treeList: {
179
+ type: Array,
180
+ default: () => []
181
+ },
182
+ // 是否为只读模式
183
+ readonly: {
184
+ type: Boolean,
185
+ default: !1
186
+ }
187
+ },
188
+ setup(e, { expose: t }) {
189
+ const { t: l } = H(), d = P(null), T = () => {
190
+ d.value && F(() => {
191
+ d.value.scrollIntoView({
192
+ behavior: "smooth",
193
+ block: "center"
194
+ });
195
+ });
196
+ }, u = e, { selectedMembers: n, selectedDepartments: s } = Q(
197
+ p(() => u.modelValue),
198
+ p(() => u.treeList),
199
+ u.readonly
200
+ ), a = p(() => [...n.value, ...s.value]);
201
+ return O(
202
+ () => [u.allVisible, u.modelValue],
203
+ () => {
204
+ T();
205
+ },
206
+ { immediate: !1, deep: !0 }
207
+ ), L(() => {
208
+ T();
209
+ }), t({
210
+ allSelectedItems: a
211
+ }), (r, o) => (m(), b("div", {
212
+ ref_key: "previewRef",
213
+ ref: d,
214
+ class: w(["available-range-preview w-full overflow-hidden", {
215
+ "flex items-center": !e.readonly
216
+ }])
217
+ }, [
218
+ e.readonly ? h("", !0) : (m(), b(N, { key: 0 }, [
219
+ M("div", Z, E(i(l)("COMMON_DICT.ENUMS.AVAILABLE_RANGE")) + ": ", 1),
220
+ M("span", ee, E(i(Y).find((f) => f.value === e.allVisible)?.label), 1),
221
+ z(i(G), {
222
+ class: "mg-l-16",
223
+ type: "primary",
224
+ link: "",
225
+ onClick: o[0] || (o[0] = (f) => r.$emit("edit"))
226
+ }, {
227
+ default: A(() => [
228
+ U(E(i(l)("COMMON_BUTTON.EDIT_TEXT")), 1)
229
+ ]),
230
+ _: 1
231
+ })
232
+ ], 64)),
233
+ e.allVisible === i(B).PARTIAL ? (m(), b("div", {
234
+ key: 1,
235
+ class: w(["flex-1 overflow-hidden", { "flex items-center": !e.readonly }])
236
+ }, [
237
+ i(n)?.length ? (m(), D(R, {
238
+ key: 0,
239
+ label: i(l)("COMMON_DICT.ENUMS.MEMBER") + ":",
240
+ items: i(n),
241
+ readonly: e.readonly
242
+ }, null, 8, ["label", "items", "readonly"])) : h("", !0),
243
+ i(s)?.length ? (m(), D(R, {
244
+ key: 1,
245
+ label: i(l)("COMMON_DICT.ENUMS.DEPARTMENT") + ":",
246
+ items: i(s),
247
+ readonly: e.readonly
248
+ }, null, 8, ["label", "items", "readonly"])) : h("", !0)
249
+ ], 2)) : h("", !0)
250
+ ], 2));
251
+ }
252
+ }, ie = _(te), me = _(R);
253
+ export {
254
+ ie as A,
255
+ me as T,
256
+ Q as u
257
+ };
@@ -0,0 +1,257 @@
1
+ import { w as _ } from "./index.bCzIhWFw.js";
2
+ import { computed as p, createElementBlock as b, createCommentVNode as h, openBlock as m, Fragment as N, createElementVNode as M, toDisplayString as E, normalizeClass as w, createBlock as D, renderList as k, unref as i, withCtx as A, ref as P, watch as O, onMounted as L, createVNode as z, createTextVNode as U, nextTick as F } from "vue";
3
+ import { ElPopover as $, ElButton as G } from "element-plus";
4
+ import { D as g, M as c, R as B, r as Y } from "./config.DPkdwjwD.js";
5
+ import { _ as q } from "./_plugin-vue_export-helper.CHgC5LLL.js";
6
+ import { u as H } from "./i18n.k9Q_HVMs.js";
7
+ import '../assets/index3.css';const W = {
8
+ key: 0,
9
+ class: "pd-l-16 text-dee0e3 pd-r-16"
10
+ }, X = { 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 = {
11
+ __name: "TagList",
12
+ props: {
13
+ // 显示的标签
14
+ label: {
15
+ type: String,
16
+ required: !0
17
+ },
18
+ // 数据项列表
19
+ items: {
20
+ type: Array,
21
+ default: () => []
22
+ },
23
+ // 是否为只读模式
24
+ readonly: {
25
+ type: Boolean,
26
+ default: !1
27
+ }
28
+ },
29
+ setup(e) {
30
+ const t = e, l = p(() => t.readonly ? t.items : t.items.slice(0, g.one)), d = p(() => t.items.length > g.one), T = p(() => t.items.length - g.one), u = p(() => t.items.slice(g.one));
31
+ return (n, s) => e.items.length > 0 ? (m(), b(N, { key: 0 }, [
32
+ e.readonly ? h("", !0) : (m(), b("span", W, "|")),
33
+ M("span", X, E(e.label), 1),
34
+ M("div", {
35
+ class: w(["tag-list", { "flex items-center gap-4": !e.readonly }])
36
+ }, [
37
+ (m(!0), b(N, null, k(l.value, (a) => (m(), b("div", {
38
+ key: a.memberId,
39
+ class: w(["tag-item fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe nowrap", { "mg-r-4 mg-b-4": e.readonly }])
40
+ }, E(a.memberName), 3))), 128)),
41
+ !e.readonly && d.value ? (m(), D(i($), {
42
+ key: 0,
43
+ placement: "top",
44
+ trigger: "click",
45
+ width: "300",
46
+ "popper-class": "tag-list-popover-wrapper"
47
+ }, {
48
+ reference: A(() => [
49
+ M("span", j, " +" + E(T.value), 1)
50
+ ]),
51
+ default: A(() => [
52
+ M("div", J, [
53
+ (m(!0), b(N, null, k(u.value, (a) => (m(), b("span", {
54
+ key: a.memberId,
55
+ class: "tag-item nowrap fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe"
56
+ }, E(a.memberName), 1))), 128))
57
+ ])
58
+ ]),
59
+ _: 1
60
+ })) : h("", !0)
61
+ ], 2)
62
+ ], 64)) : h("", !0);
63
+ }
64
+ }, R = /* @__PURE__ */ q(K, [["__scopeId", "data-v-eecd9e0b"]]), V = (e, t) => e?.filter(t) || [], I = (e, t) => V(e, (l) => l.memberType === t), x = (e, t) => {
65
+ if (e.children)
66
+ for (const l of e.children)
67
+ l.memberType === c.MEMBER ? t(l) : l.memberType === c.DEPARTMENT && x(l, t);
68
+ }, S = (e) => {
69
+ const t = [];
70
+ return x(e, (l) => t.push(l.memberId)), t;
71
+ };
72
+ function Q(e, t, l = !1) {
73
+ const d = p(() => {
74
+ if (!e.value) return [];
75
+ const n = [...e.value], s = I(
76
+ n,
77
+ c.DEPARTMENT
78
+ );
79
+ if (s.length > 0 && t.value && t.value.length > 0) {
80
+ const a = /* @__PURE__ */ new Set();
81
+ s.forEach((o) => {
82
+ const f = (y) => {
83
+ for (const v of y) {
84
+ if (v.memberType === c.DEPARTMENT && v.memberId === o.memberId)
85
+ return x(
86
+ v,
87
+ (C) => a.add(C)
88
+ ), !0;
89
+ if (v.children && f(v.children))
90
+ return !0;
91
+ }
92
+ return !1;
93
+ };
94
+ f(t.value);
95
+ });
96
+ const r = new Set(
97
+ I(n, c.MEMBER).map(
98
+ (o) => o.memberId
99
+ )
100
+ );
101
+ a.forEach((o) => {
102
+ r.has(o.memberId) || n.push(o);
103
+ });
104
+ }
105
+ return n;
106
+ }), T = p(() => {
107
+ if (l)
108
+ return I(
109
+ d.value,
110
+ c.MEMBER
111
+ );
112
+ {
113
+ const n = /* @__PURE__ */ new Set();
114
+ return u.value.forEach((s) => {
115
+ S(s).forEach((r) => n.add(r));
116
+ }), V(
117
+ d.value,
118
+ (s) => s.memberType === c.MEMBER && !n.has(s.memberId)
119
+ );
120
+ }
121
+ }), u = p(() => {
122
+ if (l)
123
+ return I(
124
+ d.value,
125
+ c.DEPARTMENT
126
+ );
127
+ {
128
+ const n = [], s = (r) => {
129
+ if (!r.children || r.children.length === 0) return !1;
130
+ const o = S(r);
131
+ return o.length === 0 ? !1 : o.every(
132
+ (f) => d.value.some(
133
+ (y) => y.memberType === c.MEMBER && y.memberId === f
134
+ )
135
+ );
136
+ }, a = (r, o = !1) => {
137
+ if (r.memberType === c.DEPARTMENT) {
138
+ const f = s(r);
139
+ if (f && !o) {
140
+ if (n.push({
141
+ memberId: r.memberId,
142
+ memberName: r.memberName,
143
+ memberType: c.DEPARTMENT,
144
+ bnid: r.bnid,
145
+ children: r.children
146
+ }), r.children)
147
+ for (const y of r.children)
148
+ a(y, !0);
149
+ } else if (!f && r.children)
150
+ for (const y of r.children)
151
+ a(y, !1);
152
+ }
153
+ };
154
+ for (const r of t.value)
155
+ a(r, !1);
156
+ return n;
157
+ }
158
+ });
159
+ return {
160
+ selectedMembers: T,
161
+ selectedDepartments: u
162
+ };
163
+ }
164
+ const Z = { class: "text-1f2329" }, ee = { class: "fz-14 text-1f2329" }, te = {
165
+ __name: "layout",
166
+ props: {
167
+ // 当前选择的范围类型(是否全部可见)
168
+ allVisible: {
169
+ type: Boolean,
170
+ default: B.ALL
171
+ },
172
+ // 选中的项目列表(完整对象数组,由父组件根据ID从树中查找得到)
173
+ modelValue: {
174
+ type: Array,
175
+ default: () => []
176
+ },
177
+ // 完整的树形数据(用于判断部门成员是否全部选中)
178
+ treeList: {
179
+ type: Array,
180
+ default: () => []
181
+ },
182
+ // 是否为只读模式
183
+ readonly: {
184
+ type: Boolean,
185
+ default: !1
186
+ }
187
+ },
188
+ setup(e, { expose: t }) {
189
+ const { t: l } = H(), d = P(null), T = () => {
190
+ d.value && F(() => {
191
+ d.value.scrollIntoView({
192
+ behavior: "smooth",
193
+ block: "center"
194
+ });
195
+ });
196
+ }, u = e, { selectedMembers: n, selectedDepartments: s } = Q(
197
+ p(() => u.modelValue),
198
+ p(() => u.treeList),
199
+ u.readonly
200
+ ), a = p(() => [...n.value, ...s.value]);
201
+ return O(
202
+ () => [u.allVisible, u.modelValue],
203
+ () => {
204
+ T();
205
+ },
206
+ { immediate: !1, deep: !0 }
207
+ ), L(() => {
208
+ T();
209
+ }), t({
210
+ allSelectedItems: a
211
+ }), (r, o) => (m(), b("div", {
212
+ ref_key: "previewRef",
213
+ ref: d,
214
+ class: w(["available-range-preview w-full overflow-hidden", {
215
+ "flex items-center": !e.readonly
216
+ }])
217
+ }, [
218
+ e.readonly ? h("", !0) : (m(), b(N, { key: 0 }, [
219
+ M("div", Z, E(i(l)("COMMON_DICT.ENUMS.AVAILABLE_RANGE")) + ": ", 1),
220
+ M("span", ee, E(i(Y).find((f) => f.value === e.allVisible)?.label), 1),
221
+ z(i(G), {
222
+ class: "mg-l-16",
223
+ type: "primary",
224
+ link: "",
225
+ onClick: o[0] || (o[0] = (f) => r.$emit("edit"))
226
+ }, {
227
+ default: A(() => [
228
+ U(E(i(l)("COMMON_BUTTON.EDIT_TEXT")), 1)
229
+ ]),
230
+ _: 1
231
+ })
232
+ ], 64)),
233
+ e.allVisible === i(B).PARTIAL ? (m(), b("div", {
234
+ key: 1,
235
+ class: w(["flex-1 overflow-hidden", { "flex items-center": !e.readonly }])
236
+ }, [
237
+ i(n)?.length ? (m(), D(R, {
238
+ key: 0,
239
+ label: i(l)("COMMON_DICT.ENUMS.MEMBER") + ":",
240
+ items: i(n),
241
+ readonly: e.readonly
242
+ }, null, 8, ["label", "items", "readonly"])) : h("", !0),
243
+ i(s)?.length ? (m(), D(R, {
244
+ key: 1,
245
+ label: i(l)("COMMON_DICT.ENUMS.DEPARTMENT") + ":",
246
+ items: i(s),
247
+ readonly: e.readonly
248
+ }, null, 8, ["label", "items", "readonly"])) : h("", !0)
249
+ ], 2)) : h("", !0)
250
+ ], 2));
251
+ }
252
+ }, ie = _(te), me = _(R);
253
+ export {
254
+ ie as A,
255
+ me as T,
256
+ Q as u
257
+ };