@guodun/antdv 1.6.0 → 1.6.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.
- package/dist/es/components/dept-selector/src/DeptSelector.vue.mjs +23 -30
- package/dist/es/components/pro-selector/src/ProUserSelector.vue.mjs +22 -29
- package/dist/es/components/pro-selector/src/ProUserSelectorDrilldown.vue.mjs +7 -7
- package/dist/es/components/pro-selector-group/src/index.vue.mjs +23 -28
- package/dist/es/components/pro-selector-group/src/utils/index.mjs +2 -2
- package/dist/es/components/role-selector/src/RoleSelector.vue.mjs +21 -28
- package/dist/es/components/selector-core/components/DepartmentTree.vue.mjs +10 -3
- package/dist/es/components/selector-core/components/RolePane.vue.mjs +1 -1
- package/dist/es/components/selector-core/components/SelectionChips.mjs +5 -0
- package/dist/es/components/selector-core/components/SelectionChips.vue.mjs +114 -0
- package/dist/es/components/selector-core/components/SelectorDialog.vue.mjs +113 -110
- package/dist/es/components/selector-core/useSelectorData.mjs +5 -1
- package/dist/lib/components/dept-selector/src/DeptSelector.vue.cjs +1 -1
- package/dist/lib/components/pro-selector/src/ProUserSelector.vue.cjs +1 -1
- package/dist/lib/components/pro-selector/src/ProUserSelectorDrilldown.vue.cjs +1 -1
- package/dist/lib/components/pro-selector-group/src/index.vue.cjs +1 -1
- package/dist/lib/components/pro-selector-group/src/utils/index.cjs +1 -1
- package/dist/lib/components/role-selector/src/RoleSelector.vue.cjs +1 -1
- package/dist/lib/components/selector-core/components/DepartmentTree.vue.cjs +1 -1
- package/dist/lib/components/selector-core/components/RolePane.vue.cjs +1 -1
- package/dist/lib/components/selector-core/components/SelectionChips.cjs +1 -0
- package/dist/lib/components/selector-core/components/SelectionChips.vue.cjs +1 -0
- package/dist/lib/components/selector-core/components/SelectorDialog.vue.cjs +1 -1
- package/dist/lib/components/selector-core/useSelectorData.cjs +1 -1
- package/dist/theme/icon.css +1 -1
- package/dist/theme/index.css +1 -1
- package/dist/theme/pro-dynamic-tags.css +1 -1
- package/dist/theme/selector-core.css +1 -1
- package/dist/types/components/pro-dynamic-tags/src/index.vue.d.ts +2 -2
- package/dist/types/components/pro-selector/src/types.d.ts +1 -1
- package/dist/types/components/pro-selector-group/src/utils/index.d.ts +1 -1
- package/dist/types/components/selector-core/components/SelectionChips.vue.d.ts +16 -0
- package/dist/types/components/selector-core/components/SelectorDialog.vue.d.ts +2 -3
- package/dist/types/components/selector-core/model.d.ts +4 -0
- package/package.json +3 -3
- package/dist/theme/dept-selector.css +0 -1
- package/dist/theme/pro-selector-group.css +0 -1
- package/dist/theme/role-selector.css +0 -1
|
@@ -1,34 +1,33 @@
|
|
|
1
1
|
import e from "../../pro-modal/src/ProModal.mjs";
|
|
2
2
|
import t from "../../icon/src/icon.mjs";
|
|
3
|
-
import { cloneEntities as n, entityKey as r, flattenDepartments as i, selectionLimit as
|
|
4
|
-
import { useSelectorData as
|
|
5
|
-
import
|
|
3
|
+
import { cloneEntities as n, entityKey as r, flattenDepartments as i, selectionLimit as a, selectorLabels as o, toggleEntity as ee, toggleVisible as s } from "../model.mjs";
|
|
4
|
+
import { useSelectorData as te } from "../useSelectorData.mjs";
|
|
5
|
+
import ne from "./DepartmentTree.mjs";
|
|
6
6
|
import re from "./PeoplePane.mjs";
|
|
7
7
|
import ie from "./RolePane.mjs";
|
|
8
8
|
import ae from "./SelectionSummary.mjs";
|
|
9
|
-
import { Fragment as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createTextVNode as m, createVNode as h, defineComponent as g, mergeModels as _, nextTick as oe, normalizeClass as v, openBlock as y, ref as b, renderList as
|
|
10
|
-
import { Button as
|
|
9
|
+
import { Fragment as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createTextVNode as m, createVNode as h, defineComponent as g, mergeModels as _, nextTick as oe, normalizeClass as v, openBlock as y, ref as b, renderList as se, toDisplayString as x, unref as S, useModel as ce, watch as C, withCtx as w } from "vue";
|
|
10
|
+
import { Button as T } from "ant-design-vue";
|
|
11
11
|
//#region src/components/selector-core/components/SelectorDialog.vue?vue&type=script&setup=true&lang.ts
|
|
12
|
-
var
|
|
12
|
+
var le = { class: "gd-ant-selector__dialog-root" }, ue = {
|
|
13
13
|
key: 0,
|
|
14
14
|
class: "gd-ant-selector__variant-toolbar",
|
|
15
15
|
"aria-label": "用户方案比较"
|
|
16
|
-
},
|
|
16
|
+
}, de = { class: "gd-ant-selector__segmented" }, fe = ["aria-pressed"], pe = ["aria-pressed"], me = {
|
|
17
17
|
key: 1,
|
|
18
18
|
class: "gd-ant-selector__tabs",
|
|
19
19
|
role: "tablist",
|
|
20
20
|
"aria-label": "选择对象类型"
|
|
21
|
-
},
|
|
21
|
+
}, he = [
|
|
22
22
|
"id",
|
|
23
23
|
"aria-selected",
|
|
24
24
|
"tabindex",
|
|
25
25
|
"onClick",
|
|
26
26
|
"onKeydown"
|
|
27
|
-
],
|
|
27
|
+
], ge = ["role", "aria-labelledby"], _e = { class: "gd-ant-selector__footer" }, ve = ["role"], ye = { class: "gd-ant-selector__footer-actions" }, be = { key: 0 }, E = /* @__PURE__ */ g({
|
|
28
28
|
__name: "SelectorDialog",
|
|
29
29
|
props: /* @__PURE__ */ _({
|
|
30
30
|
mode: {},
|
|
31
|
-
open: { type: Boolean },
|
|
32
31
|
selected: {},
|
|
33
32
|
selection: { default: "checkbox" },
|
|
34
33
|
maxCount: { default: 25 },
|
|
@@ -59,14 +58,18 @@ var ce = { class: "gd-ant-selector__dialog-root" }, le = {
|
|
|
59
58
|
openModifiers: {}
|
|
60
59
|
}),
|
|
61
60
|
emits: /* @__PURE__ */ _([
|
|
62
|
-
"update:open",
|
|
63
61
|
"update:variant",
|
|
64
62
|
"confirm",
|
|
65
63
|
"cancel",
|
|
66
64
|
"changeTab"
|
|
67
65
|
], ["update:open"]),
|
|
68
66
|
setup(g, { emit: _ }) {
|
|
69
|
-
let
|
|
67
|
+
let E = ce(g, "open"), D = g, O = _;
|
|
68
|
+
function k(e = D.selected) {
|
|
69
|
+
let t = n(e);
|
|
70
|
+
return D.mode === "group" && D.isSingle ? t.filter((e) => e.type === (D.initialTab || "dept")) : t;
|
|
71
|
+
}
|
|
72
|
+
let A = b(k()), j = b(D.variant), M = b(D.mode === "group" ? D.initialTab : D.mode), N = b(""), P = b(""), F = te({
|
|
70
73
|
mode: D.mode,
|
|
71
74
|
get http() {
|
|
72
75
|
return D.http;
|
|
@@ -82,77 +85,77 @@ var ce = { class: "gd-ant-selector__dialog-root" }, le = {
|
|
|
82
85
|
roleOptions: () => D.roleOptions || [],
|
|
83
86
|
fieldNames: () => D.fieldNames,
|
|
84
87
|
valueField: () => D.valueField
|
|
85
|
-
}), { departments: I, roles: L, members: R, treeLoading: z, roleLoading:
|
|
88
|
+
}), { departments: I, roles: L, members: R, treeLoading: z, roleLoading: xe, memberLoading: Se, treeError: B, roleError: Ce, memberError: we } = F, V = l(() => a({
|
|
86
89
|
mode: D.mode,
|
|
87
90
|
selection: D.selection,
|
|
88
91
|
maxCount: D.maxCount
|
|
89
|
-
})),
|
|
92
|
+
})), H = l(() => D.mode === "group"), U = l(() => D.mode !== "group" && D.selection === "radio"), W = l(() => M.value === "user" && (H.value || j.value === "B")), Te = l(() => H.value ? "选择部门、角色与用户" : D.title || `选择${o[M.value]}`), G = l(() => H.value && !D.isSingle ? [
|
|
90
93
|
"dept",
|
|
91
94
|
"role",
|
|
92
95
|
"user"
|
|
93
|
-
] : [M.value]),
|
|
94
|
-
async function
|
|
96
|
+
] : [M.value]), Ee = l(() => H.value || W.value ? 1040 : D.mode === "user" ? 880 : D.mode === "dept" ? 800 : 760);
|
|
97
|
+
async function De(e) {
|
|
95
98
|
if (e === "role") {
|
|
96
99
|
await F.loadRoles();
|
|
97
100
|
return;
|
|
98
101
|
}
|
|
99
|
-
await F.loadTree(), e === "user" && (
|
|
102
|
+
await F.loadTree(), e === "user" && (H.value || j.value === "B") && !N.value && (N.value = I.value[0]?.key || "");
|
|
100
103
|
}
|
|
101
|
-
|
|
102
|
-
t &&
|
|
103
|
-
}, { immediate: !0 }),
|
|
104
|
+
C([M, E], ([e, t]) => {
|
|
105
|
+
t && De(e);
|
|
106
|
+
}, { immediate: !0 }), C([
|
|
104
107
|
N,
|
|
105
108
|
M,
|
|
106
|
-
|
|
109
|
+
E
|
|
107
110
|
], ([e, t, n]) => {
|
|
108
|
-
n &&
|
|
109
|
-
}),
|
|
111
|
+
n && H.value && t === "user" && F.loadMembers(e);
|
|
112
|
+
}), C(() => D.variant, (e) => {
|
|
110
113
|
j.value = e;
|
|
111
|
-
}),
|
|
114
|
+
}), C(() => [
|
|
112
115
|
D.http,
|
|
113
116
|
D.prefix,
|
|
114
117
|
D.isBuiltInRequest
|
|
115
118
|
], () => {
|
|
116
119
|
F.reset();
|
|
117
120
|
});
|
|
118
|
-
function
|
|
121
|
+
function K(e) {
|
|
119
122
|
j.value !== e && (j.value = e, O("update:variant", e), e === "B" && !N.value && (N.value = I.value[0]?.key || ""));
|
|
120
123
|
}
|
|
121
|
-
|
|
124
|
+
C(() => D.treeData, () => {
|
|
122
125
|
D.mode === "dept" && !D.isBuiltInRequest && F.loadTree(!0);
|
|
123
|
-
}, { deep: !0 }),
|
|
126
|
+
}, { deep: !0 }), C(() => D.roleOptions, () => {
|
|
124
127
|
D.mode === "role" && !D.isBuiltInRequest && F.loadRoles(!0);
|
|
125
|
-
}, { deep: !0 }),
|
|
126
|
-
A.value =
|
|
128
|
+
}, { deep: !0 }), C(() => D.selected, (e) => {
|
|
129
|
+
E.value || (A.value = k(e));
|
|
127
130
|
}, {
|
|
128
131
|
deep: !0,
|
|
129
132
|
immediate: !0
|
|
130
|
-
}),
|
|
131
|
-
e ? (j.value = D.variant, A.value =
|
|
133
|
+
}), C(E, (e) => {
|
|
134
|
+
e ? (j.value = D.variant, A.value = k(), M.value = D.mode === "group" ? D.initialTab : D.mode, N.value = "", P.value = "") : (A.value = k(), P.value = "");
|
|
132
135
|
}, { immediate: !0 });
|
|
133
|
-
async function
|
|
134
|
-
await F.loadTree(!0), !N.value && (
|
|
136
|
+
async function q() {
|
|
137
|
+
await F.loadTree(!0), !N.value && (H.value || j.value === "B") && (N.value = I.value[0]?.key || "");
|
|
135
138
|
}
|
|
136
|
-
function
|
|
137
|
-
A.value =
|
|
139
|
+
function J(e) {
|
|
140
|
+
A.value = ee(A.value, e, {
|
|
138
141
|
mode: D.mode,
|
|
139
142
|
selection: D.selection,
|
|
140
143
|
maxCount: D.maxCount
|
|
141
144
|
}), P.value = "";
|
|
142
145
|
}
|
|
143
|
-
function
|
|
146
|
+
function Y(e) {
|
|
144
147
|
A.value = A.value.filter((t) => r(t) !== r(e)), P.value = "";
|
|
145
148
|
}
|
|
146
|
-
function
|
|
149
|
+
function Oe(e) {
|
|
147
150
|
A.value = e ? A.value.filter((t) => t.type !== e) : [], P.value = "";
|
|
148
151
|
}
|
|
149
|
-
let
|
|
152
|
+
let ke = l(() => [
|
|
150
153
|
...i(I.value).map((e) => e.entity),
|
|
151
154
|
...L.value,
|
|
152
155
|
...R.value,
|
|
153
156
|
...i(I.value).flatMap((e) => e.members)
|
|
154
157
|
]), X = l(() => A.value.map((e) => {
|
|
155
|
-
let t =
|
|
158
|
+
let t = ke.value.find((t) => r(t) === r(e));
|
|
156
159
|
return t ? {
|
|
157
160
|
...t,
|
|
158
161
|
...e,
|
|
@@ -162,33 +165,33 @@ var ce = { class: "gd-ant-selector__dialog-root" }, le = {
|
|
|
162
165
|
} : e;
|
|
163
166
|
}));
|
|
164
167
|
function Z() {
|
|
165
|
-
let e = D.mode === "group" && D.isSingle ? X.value.filter((e) => e.type ===
|
|
168
|
+
let e = D.mode === "group" && D.isSingle ? X.value.filter((e) => e.type === (D.initialTab || "dept")) : X.value;
|
|
166
169
|
if (!e.length && D.mode !== "group") {
|
|
167
|
-
P.value = `请至少选择一项${
|
|
170
|
+
P.value = `请至少选择一项${o[M.value]}`;
|
|
168
171
|
return;
|
|
169
172
|
}
|
|
170
|
-
O("confirm", n(e)),
|
|
173
|
+
O("confirm", n(e)), E.value = !1;
|
|
171
174
|
}
|
|
172
175
|
function Q() {
|
|
173
|
-
A.value =
|
|
176
|
+
A.value = k(), O("cancel"), E.value = !1;
|
|
174
177
|
}
|
|
175
178
|
function $(e) {
|
|
176
179
|
M.value !== e && (M.value = e, O("changeTab", e));
|
|
177
180
|
}
|
|
178
|
-
async function
|
|
181
|
+
async function Ae(e, t) {
|
|
179
182
|
let n = t;
|
|
180
|
-
if (e.key === "ArrowRight") n = (t + 1) %
|
|
181
|
-
else if (e.key === "ArrowLeft") n = (t - 1 +
|
|
183
|
+
if (e.key === "ArrowRight") n = (t + 1) % G.value.length;
|
|
184
|
+
else if (e.key === "ArrowLeft") n = (t - 1 + G.value.length) % G.value.length;
|
|
182
185
|
else if (e.key === "Home") n = 0;
|
|
183
|
-
else if (e.key === "End") n =
|
|
186
|
+
else if (e.key === "End") n = G.value.length - 1;
|
|
184
187
|
else return;
|
|
185
188
|
let r = e.currentTarget.parentElement;
|
|
186
|
-
e.preventDefault(), $(
|
|
189
|
+
e.preventDefault(), $(G.value[n]), await oe(), r?.querySelector("[aria-selected=\"true\"]")?.focus();
|
|
187
190
|
}
|
|
188
|
-
let
|
|
191
|
+
let je = l(() => {
|
|
189
192
|
let { class: e, ...t } = D.modalProps || {}, n = Array.isArray(e) ? e : e ? [e] : [];
|
|
190
193
|
return {
|
|
191
|
-
width: `min(${
|
|
194
|
+
width: `min(${Ee.value}px, calc(100vw - 32px))`,
|
|
192
195
|
centered: !0,
|
|
193
196
|
destroyOnClose: !0,
|
|
194
197
|
...t,
|
|
@@ -196,41 +199,41 @@ var ce = { class: "gd-ant-selector__dialog-root" }, le = {
|
|
|
196
199
|
};
|
|
197
200
|
});
|
|
198
201
|
return (n, r) => (y(), u(e, {
|
|
199
|
-
modelValue:
|
|
200
|
-
"onUpdate:modelValue": r[7] ||= (e) =>
|
|
201
|
-
title:
|
|
202
|
-
"modal-props":
|
|
202
|
+
modelValue: E.value,
|
|
203
|
+
"onUpdate:modelValue": r[7] ||= (e) => E.value = e,
|
|
204
|
+
title: Te.value,
|
|
205
|
+
"modal-props": je.value,
|
|
203
206
|
onOnCancel: Q,
|
|
204
207
|
onOnConfirm: Z
|
|
205
208
|
}, {
|
|
206
|
-
footer:
|
|
207
|
-
class: v(["gd-ant-selector__footer-status", { "gd-ant-selector__footer-status--warning": P.value || Number.isFinite(
|
|
209
|
+
footer: w(() => [p("div", _e, [p("span", {
|
|
210
|
+
class: v(["gd-ant-selector__footer-status", { "gd-ant-selector__footer-status--warning": P.value || Number.isFinite(V.value) && A.value.length >= V.value && !U.value }]),
|
|
208
211
|
role: P.value ? "alert" : "status"
|
|
209
|
-
}, [P.value ? (y(), f(c, { key: 0 }, [m(
|
|
212
|
+
}, [P.value ? (y(), f(c, { key: 0 }, [m(x(P.value), 1)], 64)) : !U.value && Number.isFinite(V.value) && A.value.length >= V.value ? (y(), f(c, { key: 1 }, [m("已达 " + x(V.value) + " 人上限,取消已选后可继续选择", 1)], 64)) : (y(), f(c, { key: 2 }, [h(t, {
|
|
210
213
|
name: "carry-out",
|
|
211
214
|
size: 14,
|
|
212
215
|
"aria-hidden": "true"
|
|
213
|
-
}), m(" " +
|
|
214
|
-
default:
|
|
216
|
+
}), m(" " + x(A.value.length ? `已选择 ${A.value.length} 项` : U.value ? "请选择一项" : "选择完成后点击确认"), 1)], 64))], 10, ve), p("div", ye, [h(S(T), { onClick: Q }, {
|
|
217
|
+
default: w(() => [...r[9] ||= [m("取消", -1)]]),
|
|
215
218
|
_: 1
|
|
216
|
-
}), h(
|
|
219
|
+
}), h(S(T), {
|
|
217
220
|
type: "primary",
|
|
218
221
|
onClick: Z
|
|
219
222
|
}, {
|
|
220
|
-
default:
|
|
223
|
+
default: w(() => [r[10] ||= m(" 确认选择", -1), A.value.length ? (y(), f("span", be, "(" + x(A.value.length) + ")", 1)) : d("", !0)]),
|
|
221
224
|
_: 1
|
|
222
225
|
})])])]),
|
|
223
|
-
default:
|
|
224
|
-
g.mode === "user" ? (y(), f("div",
|
|
226
|
+
default: w(() => [p("div", le, [
|
|
227
|
+
g.mode === "user" ? (y(), f("div", ue, [r[8] ||= p("span", null, [m("方案比较 "), p("small", null, "切换保留本次选择")], -1), p("div", de, [p("button", {
|
|
225
228
|
type: "button",
|
|
226
229
|
"aria-pressed": j.value === "A",
|
|
227
|
-
onClick: r[0] ||= (e) =>
|
|
228
|
-
}, "A · 逐级浏览", 8,
|
|
230
|
+
onClick: r[0] ||= (e) => K("A")
|
|
231
|
+
}, "A · 逐级浏览", 8, fe), p("button", {
|
|
229
232
|
type: "button",
|
|
230
233
|
"aria-pressed": j.value === "B",
|
|
231
|
-
onClick: r[1] ||= (e) =>
|
|
232
|
-
}, "B · 通讯录", 8,
|
|
233
|
-
|
|
234
|
+
onClick: r[1] ||= (e) => K("B")
|
|
235
|
+
}, "B · 通讯录", 8, pe)])])) : d("", !0),
|
|
236
|
+
H.value ? (y(), f("div", me, [(y(!0), f(c, null, se(G.value, (e, n) => (y(), f("button", {
|
|
234
237
|
id: `gd-ant-selector-tab-${e}`,
|
|
235
238
|
key: e,
|
|
236
239
|
type: "button",
|
|
@@ -239,44 +242,44 @@ var ce = { class: "gd-ant-selector__dialog-root" }, le = {
|
|
|
239
242
|
tabindex: M.value === e ? 0 : -1,
|
|
240
243
|
"aria-controls": "gd-ant-selector-panel",
|
|
241
244
|
onClick: (t) => $(e),
|
|
242
|
-
onKeydown: (e) =>
|
|
245
|
+
onKeydown: (e) => Ae(e, n)
|
|
243
246
|
}, [
|
|
244
247
|
h(t, {
|
|
245
248
|
name: e === "dept" ? "bumen" : e === "role" ? "a-jiaoseguanli2" : "zuzhijiagou",
|
|
246
249
|
size: 16,
|
|
247
250
|
"aria-hidden": "true"
|
|
248
251
|
}, null, 8, ["name"]),
|
|
249
|
-
m(" " + S(
|
|
250
|
-
p("span", null,
|
|
251
|
-
], 40,
|
|
252
|
-
p("div", { class: v(["gd-ant-selector__dialog-layout", { "gd-ant-selector__dialog-layout--three":
|
|
252
|
+
m(" " + x(S(o)[e]) + " ", 1),
|
|
253
|
+
p("span", null, x(A.value.filter((t) => t.type === e).length), 1)
|
|
254
|
+
], 40, he))), 128))])) : d("", !0),
|
|
255
|
+
p("div", { class: v(["gd-ant-selector__dialog-layout", { "gd-ant-selector__dialog-layout--three": W.value }]) }, [p("div", {
|
|
253
256
|
id: "gd-ant-selector-panel",
|
|
254
257
|
class: "gd-ant-selector__candidates",
|
|
255
|
-
role:
|
|
256
|
-
"aria-labelledby":
|
|
258
|
+
role: H.value ? "tabpanel" : void 0,
|
|
259
|
+
"aria-labelledby": H.value ? `gd-ant-selector-tab-${M.value}` : void 0
|
|
257
260
|
}, [M.value === "user" ? (y(), u(re, {
|
|
258
261
|
key: 0,
|
|
259
|
-
nodes:
|
|
260
|
-
variant:
|
|
262
|
+
nodes: S(I),
|
|
263
|
+
variant: H.value ? "B" : j.value,
|
|
261
264
|
active: N.value,
|
|
262
265
|
selected: A.value,
|
|
263
|
-
limit:
|
|
264
|
-
radio:
|
|
265
|
-
group:
|
|
266
|
-
members:
|
|
267
|
-
loading:
|
|
268
|
-
"tree-loading":
|
|
269
|
-
error:
|
|
270
|
-
"tree-error":
|
|
266
|
+
limit: V.value,
|
|
267
|
+
radio: U.value,
|
|
268
|
+
group: H.value,
|
|
269
|
+
members: S(R),
|
|
270
|
+
loading: H.value ? S(Se) : S(z),
|
|
271
|
+
"tree-loading": S(z),
|
|
272
|
+
error: H.value ? S(we) : S(B),
|
|
273
|
+
"tree-error": S(B),
|
|
271
274
|
onNavigate: r[2] ||= (e) => N.value = e,
|
|
272
|
-
onToggle:
|
|
273
|
-
onBulk: r[3] ||= (e) => A.value =
|
|
275
|
+
onToggle: J,
|
|
276
|
+
onBulk: r[3] ||= (e) => A.value = S(s)(A.value, e, {
|
|
274
277
|
mode: g.mode,
|
|
275
278
|
selection: g.selection,
|
|
276
279
|
maxCount: g.maxCount
|
|
277
280
|
}),
|
|
278
|
-
onRetry: r[4] ||= (e) =>
|
|
279
|
-
onRetryTree:
|
|
281
|
+
onRetry: r[4] ||= (e) => H.value ? S(F).loadMembers(N.value, !0) : q(),
|
|
282
|
+
onRetryTree: q
|
|
280
283
|
}, null, 8, [
|
|
281
284
|
"nodes",
|
|
282
285
|
"variant",
|
|
@@ -290,15 +293,15 @@ var ce = { class: "gd-ant-selector__dialog-root" }, le = {
|
|
|
290
293
|
"tree-loading",
|
|
291
294
|
"error",
|
|
292
295
|
"tree-error"
|
|
293
|
-
])) : M.value === "dept" ? (y(), u(
|
|
296
|
+
])) : M.value === "dept" ? (y(), u(ne, {
|
|
294
297
|
key: 1,
|
|
295
|
-
nodes:
|
|
298
|
+
nodes: S(I),
|
|
296
299
|
selected: A.value,
|
|
297
|
-
radio:
|
|
298
|
-
loading:
|
|
299
|
-
error:
|
|
300
|
-
onToggle:
|
|
301
|
-
onRetry:
|
|
300
|
+
radio: U.value,
|
|
301
|
+
loading: S(z),
|
|
302
|
+
error: S(B),
|
|
303
|
+
onToggle: J,
|
|
304
|
+
onRetry: q
|
|
302
305
|
}, null, 8, [
|
|
303
306
|
"nodes",
|
|
304
307
|
"selected",
|
|
@@ -307,19 +310,19 @@ var ce = { class: "gd-ant-selector__dialog-root" }, le = {
|
|
|
307
310
|
"error"
|
|
308
311
|
])) : (y(), u(ie, {
|
|
309
312
|
key: 2,
|
|
310
|
-
roles:
|
|
313
|
+
roles: S(L),
|
|
311
314
|
selected: A.value,
|
|
312
|
-
radio:
|
|
313
|
-
group:
|
|
314
|
-
loading:
|
|
315
|
-
error:
|
|
316
|
-
onToggle:
|
|
317
|
-
onBulk: r[5] ||= (e) => A.value =
|
|
315
|
+
radio: U.value,
|
|
316
|
+
group: H.value,
|
|
317
|
+
loading: S(xe),
|
|
318
|
+
error: S(Ce),
|
|
319
|
+
onToggle: J,
|
|
320
|
+
onBulk: r[5] ||= (e) => A.value = S(s)(A.value, e, {
|
|
318
321
|
mode: g.mode,
|
|
319
322
|
selection: g.selection,
|
|
320
323
|
maxCount: g.maxCount
|
|
321
324
|
}),
|
|
322
|
-
onRetry: r[6] ||= (e) =>
|
|
325
|
+
onRetry: r[6] ||= (e) => S(F).loadRoles(!0)
|
|
323
326
|
}, null, 8, [
|
|
324
327
|
"roles",
|
|
325
328
|
"selected",
|
|
@@ -327,12 +330,12 @@ var ce = { class: "gd-ant-selector__dialog-root" }, le = {
|
|
|
327
330
|
"group",
|
|
328
331
|
"loading",
|
|
329
332
|
"error"
|
|
330
|
-
]))], 8,
|
|
333
|
+
]))], 8, ge), h(ae, {
|
|
331
334
|
selected: X.value,
|
|
332
|
-
limit:
|
|
333
|
-
grouped:
|
|
334
|
-
onRemove:
|
|
335
|
-
onClear:
|
|
335
|
+
limit: V.value,
|
|
336
|
+
grouped: H.value,
|
|
337
|
+
onRemove: Y,
|
|
338
|
+
onClear: Oe
|
|
336
339
|
}, null, 8, [
|
|
337
340
|
"selected",
|
|
338
341
|
"limit",
|
|
@@ -348,4 +351,4 @@ var ce = { class: "gd-ant-selector__dialog-root" }, le = {
|
|
|
348
351
|
}
|
|
349
352
|
});
|
|
350
353
|
//#endregion
|
|
351
|
-
export {
|
|
354
|
+
export { E as default };
|
|
@@ -36,7 +36,11 @@ function c(c) {
|
|
|
36
36
|
p.value = !0, g.value = "";
|
|
37
37
|
try {
|
|
38
38
|
let e;
|
|
39
|
-
if (
|
|
39
|
+
if (c.mode === "role") {
|
|
40
|
+
let t = c.isBuiltInRequest ? await w(s.role) : c.roleOptions?.() || [];
|
|
41
|
+
e = Array.isArray(t) ? t : t?.list || [];
|
|
42
|
+
} else e = (await w(s.groupRole))?.list || [];
|
|
43
|
+
if (t !== y) return;
|
|
40
44
|
u.value = r(e, c.mode === "group", c.valueField?.() || "roleKey"), S = !0;
|
|
41
45
|
} catch (e) {
|
|
42
46
|
t === y && (g.value = e instanceof Error ? e.message : "角色加载失败,请重试", u.value = []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../selector-core/model.cjs`),t=require(`../../selector-core/components/SelectorDialog.cjs`),n=require(`../../selector-core/components/SelectionChips.cjs`),r=require(`./types.cjs`);let i=require(`vue`),a=require(`ant-design-vue`);var o={class:`gd-ant-dept-selector`},s=(0,i.defineComponent)({name:`KDeptSelector`,__name:`DeptSelector`,props:r.deptSelectorProps,emits:r.deptSelectorEmits,setup(r,{emit:s}){let c=r,l=s,u=(0,i.useAttrs)(),d=(0,i.computed)(()=>c.isBuiltInRequest?e.defaultFieldNames:c.fieldNames),f=(0,i.computed)(()=>(Array.isArray(c.modelValue)?c.modelValue:c.modelValue?[c.modelValue]:[]).map(t=>({type:`dept`,value:e.text(t[d.value.key]),label:e.text(t[d.value.title]),raw:t})).filter(e=>e.value)),p=(0,i.computed)(()=>{let{modalProps:e,...t}=u;return{cancelText:`取消`,okText:`确定`,...t,...e||{}}});function m(e){l(`update:visible`,e===!0)}function h(t){let{values:n,confirm:r}=e.serializeDepartments(t,d.value),i=c.type===`radio`?n[0]||null:n;l(`update:visible`,!1),l(`update:modelValue`,i),l(`confirm`,r)}function g(){l(`update:visible`,!1),l(`cancel`)}function _(e){if(c.type===`radio`){l(`update:modelValue`,null);return}l(`update:modelValue`,(Array.isArray(c.modelValue)?c.modelValue:[]).filter(t=>String(t[d.value.key])!==e))}return(e,r)=>((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.FormItemRest),null,{default:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`div`,o,[c.hideSlot?(0,i.createCommentVNode)(``,!0):(0,i.renderSlot)(e.$slots,`default`,{key:0},()=>[(0,i.createVNode)(n.default,{items:f.value,"max-visible-count":c.maxVisibleCount,"add-text":`选择部门`,onAdd:r[0]||=e=>l(`update:visible`,!0),onRemove:r[1]||=e=>_(e.value)},null,8,[`items`,`max-visible-count`])]),(0,i.createVNode)(t.default,{open:c.visible,mode:`dept`,selected:f.value,selection:c.type,title:`选择部门`,"tree-data":c.treeData,"field-names":d.value,http:c.http,prefix:c.prefix,"is-built-in-request":c.isBuiltInRequest,"modal-props":p.value,"onUpdate:open":m,onConfirm:h,onCancel:g},null,8,[`open`,`selected`,`selection`,`tree-data`,`field-names`,`http`,`prefix`,`is-built-in-request`,`modal-props`])])]),_:3}))}});exports.default=s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../selector-core/model.cjs`),t=require(`../../selector-core/components/SelectorDialog.cjs`),n=require(`../../selector-core/components/SelectionChips.cjs`),r=require(`./types.cjs`);let i=require(`vue`),a=require(`ant-design-vue`);var o={class:`gd-ant-pro-user-selector`},s=(0,i.defineComponent)({name:`ProUserSelector`,__name:`ProUserSelector`,props:r.UserSelectorProps,emits:r.userSelectorEmits,setup(r,{expose:s,emit:c}){let l=r,u=c,d=(0,i.useAttrs)(),f=(0,i.computed)(()=>l.modelValue.map(t=>({type:`user`,value:e.text(t.id),label:t.realName,avatar:t.avatar,raw:{...t,id:t.id,userId:t.id}}))),p=(0,i.computed)(()=>{let{modalProps:e,...t}=d;return{cancelText:`取消`,okText:`确定`,...t,...e||{}}});function m(e){u(`update:visible`,e===!0)}function h(t){let n=e.serializeUsers(t);u(`update:visible`,!1),u(`update:modelValue`,n),u(`confirm`,n)}function g(){u(`update:visible`,!1),u(`cancel`)}function _(e){u(`update:modelValue`,l.modelValue.filter(t=>t.id!==e)),u(`delete-user`,e)}return s({deleteCheckedUser:_}),(e,r)=>((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.FormItemRest),null,{default:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`div`,o,[l.hideSlot?(0,i.createCommentVNode)(``,!0):(0,i.renderSlot)(e.$slots,`default`,{key:0},()=>[(0,i.createVNode)(n.default,{items:f.value,"max-visible-count":l.maxVisibleCount,"add-text":`选择用户`,onAdd:r[0]||=e=>u(`update:visible`,!0),onRemove:r[1]||=e=>_(e.value)},null,8,[`items`,`max-visible-count`])]),(0,i.createVNode)(t.default,{open:l.visible,mode:`user`,selected:f.value,selection:l.type,"max-count":l.maxCount,variant:l.variant,title:l.title||`选择联系人`,http:l.http,prefix:l.prefix,"init-data":l.initData,"is-built-in-request":l.isBuiltInRequest,"modal-props":p.value,"onUpdate:open":m,"onUpdate:variant":r[2]||=e=>u(`update:variant`,e),onConfirm:h,onCancel:g},null,8,[`open`,`selected`,`selection`,`max-count`,`variant`,`title`,`http`,`prefix`,`init-data`,`is-built-in-request`,`modal-props`])])]),_:3}))}});exports.default=s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./ProUserSelector.cjs`);let t=require(`vue`);var n=(0,t.defineComponent)({name:`ProUserSelectorDrilldown`,inheritAttrs:!1,__name:`ProUserSelectorDrilldown`,setup(n,{expose:r}){let i=(0,t.useAttrs)(),a=(0,t.ref)(),o=i.variant||`A
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./ProUserSelector.cjs`);let t=require(`vue`);var n=(0,t.defineComponent)({name:`ProUserSelectorDrilldown`,inheritAttrs:!1,__name:`ProUserSelectorDrilldown`,setup(n,{expose:r}){let i=(0,t.useAttrs)(),a=(0,t.ref)(),o=(0,t.computed)(()=>i.variant||`A`);return r({deleteCheckedUser:e=>a.value?.deleteCheckedUser(e)}),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(e.default,(0,t.mergeProps)({ref_key:`selectorRef`,ref:a},n.$attrs,{variant:o.value}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`)]),_:3},16,[`variant`]))}});exports.default=n;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../selector-core/model.cjs`),t=require(`../../selector-core/components/SelectorDialog.cjs`),n=require(`../../selector-core/components/SelectionChips.cjs`),r=require(`./utils/index.cjs`);let i=require(`vue`),a=require(`ant-design-vue`);var o={class:`gd-ant-pro-selector-group`},s=(0,i.defineComponent)({name:`ProSelectorGroup`,__name:`index`,props:(0,i.mergeModels)({title:{default:`选择器`},http:{},urlPrefix:{},isSingle:{type:Boolean,default:!0},type:{default:`dept`},maxVisibleCount:{},hideSlot:{type:Boolean,default:!1}},{modelValue:{required:!0,default:()=>[]},modelModifiers:{},visible:{type:Boolean,required:!0,default:!1},visibleModifiers:{}}),emits:(0,i.mergeModels)([`confirm`,`cancel`,`changeTab`],[`update:modelValue`,`update:visible`]),setup(s,{emit:c}){let l=s,u=c,d=(0,i.useAttrs)(),f=(0,i.useModel)(s,`modelValue`),p=(0,i.useModel)(s,`visible`),m=(0,i.computed)(()=>f.value.map(t=>({type:t.type||l.type||`dept`,value:e.text(t.value),label:t.label||``,raw:t}))),h=(0,i.computed)(()=>{let{modalProps:e,...t}=d;return{cancelText:`取消`,okText:`确定`,...t,...e||{}}});function g(t){f.value=r.normalizeSelectorOptions(e.serializeGroup(t)),p.value=!1,u(`confirm`)}function _(){p.value=!1,u(`cancel`)}function v(e){f.value=r.removeSelectorOption(f.value,e.value,e.type,l.type||`dept`)}return(e,r)=>((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.FormItemRest),null,{default:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`div`,o,[l.hideSlot?(0,i.createCommentVNode)(``,!0):(0,i.renderSlot)(e.$slots,`default`,{key:0},()=>[(0,i.createVNode)(n.default,{items:m.value,"max-visible-count":l.maxVisibleCount??5,"add-text":`选择对象`,onAdd:r[0]||=e=>p.value=!0,onRemove:v},null,8,[`items`,`max-visible-count`])]),(0,i.createVNode)(t.default,{open:p.value,mode:`group`,selected:m.value,"initial-tab":l.type,"is-single":l.isSingle,title:l.title,http:l.http,prefix:l.urlPrefix,"modal-props":h.value,"onUpdate:open":r[1]||=e=>p.value=e===!0,onConfirm:g,onCancel:_,onChangeTab:r[2]||=e=>u(`changeTab`,e)},null,8,[`open`,`selected`,`initial-tab`,`is-single`,`title`,`http`,`prefix`,`modal-props`])])]),_:3}))}});exports.default=s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function e(e,t){return`${e||`unknown`}:${t}`}function t(t){if(!Array.isArray(t))return[];let n=new Set;return t.flatMap(t=>{if(!t||typeof t!=`object`)return[];let r=t;if(typeof r.value!=`string`||!r.value)return[];let i=e(r.type,r.value);return n.has(i)?[]:(n.add(i),[{label:typeof r.label==`string`?r.label:``,value:r.value,type:r.type}])})}function n(e,t,n){return e.filter(e=>!(e.value===t&&(
|
|
1
|
+
function e(e,t){return`${e||`unknown`}:${t}`}function t(t){if(!Array.isArray(t))return[];let n=new Set;return t.flatMap(t=>{if(!t||typeof t!=`object`)return[];let r=t;if(typeof r.value!=`string`||!r.value)return[];let i=e(r.type,r.value);return n.has(i)?[]:(n.add(i),[{label:typeof r.label==`string`?r.label:``,value:r.value,type:r.type}])})}function n(e,t,n,r){return e.filter(e=>!(e.value===t&&(e.type||r)===n))}exports.normalizeSelectorOptions=t,exports.removeSelectorOption=n;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../selector-core/model.cjs`),t=require(`../../selector-core/components/SelectorDialog.cjs`),n=require(`../../selector-core/components/SelectionChips.cjs`),r=require(`./types.cjs`);let i=require(`vue`),a=require(`ant-design-vue`);var o={class:`gd-ant-role-selector`},s=(0,i.defineComponent)({name:`KRoleSelector`,__name:`RoleSelector`,props:r.roleSelectorProps,emits:r.roleSelectorEmits,setup(r,{emit:s}){let c=r,l=s,u=(0,i.useAttrs)(),d=(0,i.computed)(()=>(Array.isArray(c.modelValue)?c.modelValue:c.modelValue?[c.modelValue]:[]).map(t=>({type:`role`,value:e.text(t.value),label:t.label||``,raw:t}))),f=(0,i.computed)(()=>{let{modalProps:e,...t}=u;return{cancelText:`取消`,okText:`确定`,...t,...e||{}}});function p(e){l(`update:visible`,e===!0)}function m(t){let n=e.serializeRoles(t),r=c.type===`radio`?n[0]||null:n;l(`update:visible`,!1),l(`update:modelValue`,r),l(`confirm`,n)}function h(){l(`update:visible`,!1),l(`cancel`)}function g(e){if(c.type===`radio`){l(`update:modelValue`,null);return}l(`update:modelValue`,(Array.isArray(c.modelValue)?c.modelValue:[]).filter(t=>t.value!==e))}return(e,r)=>((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.FormItemRest),null,{default:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`div`,o,[c.hideSlot?(0,i.createCommentVNode)(``,!0):(0,i.renderSlot)(e.$slots,`default`,{key:0},()=>[(0,i.createVNode)(n.default,{items:d.value,"max-visible-count":c.maxVisibleCount,"add-text":`选择角色`,onAdd:r[0]||=e=>l(`update:visible`,!0),onRemove:r[1]||=e=>g(e.value)},null,8,[`items`,`max-visible-count`])]),(0,i.createVNode)(t.default,{open:c.visible,mode:`role`,selected:d.value,selection:c.type,title:`选择角色`,"role-options":c.options,http:c.http,prefix:c.prefix,"is-built-in-request":c.isBuiltInRequest,"value-field":c.valueField,"modal-props":f.value,"onUpdate:open":p,onConfirm:m,onCancel:h},null,8,[`open`,`selected`,`selection`,`role-options`,`http`,`prefix`,`is-built-in-request`,`value-field`,`modal-props`])])]),_:3}))}});exports.default=s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../icon/src/icon.cjs`),t=require(`../model.cjs`),n=require(`./HighlightText.cjs`),r=require(`./PanelFeedback.cjs`);let i=require(`vue`),a=require(`ant-design-vue`);var o=[`aria-label`],s={class:`gd-ant-selector__pane-heading`},c={class:`gd-ant-selector__meta`},l={class:`gd-ant-selector__tree-scroll`},u=[`title`],d=[`checked`,`aria-label`,`onClick`],f={key:0,class:`gd-ant-selector__pane-note`},p=(0,i.defineComponent)({__name:`DepartmentTree`,props:{nodes:{},selected:{default:()=>[]},active:{},navigation:{type:Boolean},radio:{type:Boolean},loading:{type:Boolean},error:{}},emits:[`navigate`,`toggle`,`retry`],setup(p,{emit:m}){let h=p,g=m,_=(0,i.ref)(``),v=(0,i.ref)([]),y=(0,i.ref)([]);(0,i.watch)(()=>h.nodes,e=>{v.value=e.map(e=>e.key)},{immediate:!0});function b(e){return e.flatMap(e=>{let t=b(e.children);return e.title.includes(_.value.trim())||t.length?[{...e,children:t}]:[]})}let x=(0,i.computed)(()=>_.value.trim()?b(h.nodes):h.nodes);(0,i.watch)(_,(e,n)=>{e&&!n&&(y.value=[...v.value]),v.value=e?t.flattenDepartments(x.value).map(e=>e.key):y.value});let S=(0,i.computed)(()=>h.selected.filter(e=>e.type===`dept`).map(e=>e.value));function C(e){if(h.navigation){g(`navigate`,e);return}let n=t.flattenDepartments(h.nodes).find(t=>t.key===e);n&&g(`toggle`,n.entity)}return(m,h)=>((0,i.openBlock)(),(0,i.createElementBlock)(`section`,{class:`gd-ant-selector__tree-pane`,"aria-label":p.navigation?`组织导航`:`选择部门`},[(0,i.createElementVNode)(`div`,s,[(0,i.createElementVNode)(`span`,null,(0,i.toDisplayString)(p.navigation?`组织架构`:`部门目录`),1),(0,i.createElementVNode)(`span`,c,(0,i.toDisplayString)((0,i.unref)(t.flattenDepartments)(p.nodes).length)+` 个部门`,1)]),(0,i.createVNode)((0,i.unref)(a.Input),{value:_.value,"onUpdate:value":h[0]||=e=>_.value=e,"allow-clear":``,placeholder:`搜索部门`,"aria-label":`搜索部门`,class:`gd-ant-selector__search`},{prefix:(0,i.withCtx)(()=>[(0,i.createVNode)(e.default,{name:`search`,size:16,"aria-hidden":`true`})]),_:1},8,[`value`]),(0,i.createVNode)(r.default,{loading:p.loading,error:p.error,empty:!x.value.length,searching:!!_.value,label:`部门`,onRetry:h[
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../icon/src/icon.cjs`),t=require(`../model.cjs`),n=require(`./HighlightText.cjs`),r=require(`./PanelFeedback.cjs`);let i=require(`vue`),a=require(`ant-design-vue`);var o=[`aria-label`],s={class:`gd-ant-selector__pane-heading`},c={class:`gd-ant-selector__meta`},l={class:`gd-ant-selector__tree-scroll`},u=[`title`],d=[`checked`,`aria-label`,`onClick`],f={key:0,class:`gd-ant-selector__pane-note`},p=(0,i.defineComponent)({__name:`DepartmentTree`,props:{nodes:{},selected:{default:()=>[]},active:{},navigation:{type:Boolean},radio:{type:Boolean},loading:{type:Boolean},error:{}},emits:[`navigate`,`toggle`,`retry`],setup(p,{emit:m}){let h=p,g=m,_=(0,i.ref)(``),v=(0,i.ref)([]),y=(0,i.ref)([]);(0,i.watch)(()=>h.nodes,e=>{v.value=e.map(e=>e.key)},{immediate:!0});function b(e){return e.flatMap(e=>{let t=b(e.children);return e.title.includes(_.value.trim())||t.length?[{...e,children:t}]:[]})}let x=(0,i.computed)(()=>_.value.trim()?b(h.nodes):h.nodes);(0,i.watch)(_,(e,n)=>{e&&!n&&(y.value=[...v.value]),v.value=e?t.flattenDepartments(x.value).map(e=>e.key):y.value});let S=(0,i.computed)(()=>h.selected.filter(e=>e.type===`dept`).map(e=>e.value));function C(e){if(h.navigation){g(`navigate`,e);return}let n=t.flattenDepartments(h.nodes).find(t=>t.key===e);n&&g(`toggle`,n.entity)}function w(e,t){let n=t.nativeEvent?.target;!h.navigation&&!h.radio&&n?.closest?.(`.ant-tree-checkbox`)||C(String(t.node.key))}function T(e,t){!h.navigation&&!h.radio&&C(String(t.node.key))}return(m,h)=>((0,i.openBlock)(),(0,i.createElementBlock)(`section`,{class:`gd-ant-selector__tree-pane`,"aria-label":p.navigation?`组织导航`:`选择部门`},[(0,i.createElementVNode)(`div`,s,[(0,i.createElementVNode)(`span`,null,(0,i.toDisplayString)(p.navigation?`组织架构`:`部门目录`),1),(0,i.createElementVNode)(`span`,c,(0,i.toDisplayString)((0,i.unref)(t.flattenDepartments)(p.nodes).length)+` 个部门`,1)]),(0,i.createVNode)((0,i.unref)(a.Input),{value:_.value,"onUpdate:value":h[0]||=e=>_.value=e,"allow-clear":``,placeholder:`搜索部门`,"aria-label":`搜索部门`,class:`gd-ant-selector__search`},{prefix:(0,i.withCtx)(()=>[(0,i.createVNode)(e.default,{name:`search`,size:16,"aria-hidden":`true`})]),_:1},8,[`value`]),(0,i.createVNode)(r.default,{loading:p.loading,error:p.error,empty:!x.value.length,searching:!!_.value,label:`部门`,onRetry:h[3]||=e=>g(`retry`)},{default:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`div`,l,[(0,i.createVNode)((0,i.unref)(a.Tree),{"tree-data":x.value,"block-node":``,checkable:!p.navigation&&!p.radio,"check-strictly":``,"checked-keys":S.value,"selected-keys":p.navigation&&p.active?[p.active]:[],"expanded-keys":v.value,"auto-expand-parent":!1,onExpand:h[2]||=e=>v.value=e.map(String),onSelect:w,onCheck:T},{title:(0,i.withCtx)(({title:t,key:r})=>[(0,i.createElementVNode)(`span`,{class:`gd-ant-selector__tree-title`,title:t},[p.radio&&!p.navigation?((0,i.openBlock)(),(0,i.createElementBlock)(`input`,{key:0,type:`radio`,checked:S.value.includes(String(r)),"aria-label":`选择${t}`,onClick:(0,i.withModifiers)(e=>C(String(r)),[`stop`]),onKeydown:h[1]||=(0,i.withModifiers)(()=>{},[`stop`])},null,40,d)):(0,i.createCommentVNode)(``,!0),(0,i.createVNode)(e.default,{name:`bumen`,size:16,"aria-hidden":`true`}),(0,i.createVNode)(n.default,{text:t,query:_.value.trim()},null,8,[`text`,`query`])],8,u)]),_:1},8,[`tree-data`,`checkable`,`checked-keys`,`selected-keys`,`expanded-keys`])])]),_:1},8,[`loading`,`error`,`empty`,`searching`]),p.navigation?(0,i.createCommentVNode)(``,!0):((0,i.openBlock)(),(0,i.createElementBlock)(`p`,f,`选择当前部门,不包含下级部门`))],8,o))}});exports.default=p;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../icon/src/icon.cjs`),t=require(`../model.cjs`),n=require(`./PanelFeedback.cjs`),r=require(`./EntityRow.cjs`);let i=require(`vue`),a=require(`ant-design-vue`);var o={class:`gd-ant-selector__role-pane`,"aria-label":`角色列表`},s={class:`gd-ant-selector__pane-heading`},c={class:`gd-ant-selector__meta`},l={class:`gd-ant-selector__role-scroll`},u={key:0,class:`gd-ant-selector__bulk`},d=[`checked`,`indeterminate`],f=(0,i.defineComponent)({__name:`RolePane`,props:{roles:{},selected:{},radio:{type:Boolean},group:{type:Boolean},loading:{type:Boolean},error:{}},emits:[`toggle`,`bulk`,`retry`],setup(f,{emit:p}){let m=f,h=p,g=(0,i.ref)(``),_=(0,i.computed)(()=>m.roles.filter(e=>e.label.includes(g.value.trim())||!m.group&&e.value.includes(g.value.trim()))),v=(0,i.computed)(()=>new Set(m.selected.map(t.entityKey))),y=(0,i.computed)(()=>_.value.length>0&&_.value.every(e=>v.value.has(t.entityKey(e)))),b=(0,i.computed)(()=>!y.value&&_.value.some(e=>v.value.has(t.entityKey(e))));return(p,m)=>((0,i.openBlock)(),(0,i.createElementBlock)(`section`,o,[(0,i.createElementVNode)(`div`,s,[m[4]||=(0,i.createElementVNode)(`span`,null,`可选角色`,-1),(0,i.createElementVNode)(`span`,c,(0,i.toDisplayString)(f.roles.length)+` 个角色`,1)]),(0,i.createVNode)((0,i.unref)(a.Input),{value:g.value,"onUpdate:value":m[0]||=e=>g.value=e,"allow-clear":``,placeholder:`搜索角色`,"aria-label":`搜索角色`,class:`gd-ant-selector__search`},{prefix:(0,i.withCtx)(()=>[(0,i.createVNode)(e.default,{name:`search`,size:16,"aria-hidden":`true`})]),_:1},8,[`value`]),(0,i.createVNode)(n.default,{loading:f.loading,error:f.error,empty:!_.value.length,searching:!!g.value,label:`角色`,onRetry:m[3]||=e=>h(`retry`)},{default:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`div`,l,[f.group?((0,i.openBlock)(),(0,i.createElementBlock)(`label`,u,[(0,i.createElementVNode)(`input`,{type:`checkbox`,checked:y.value,indeterminate:b.value,onChange:m[1]||=e=>h(`bulk`,_.value)},null,40,d),m[5]||=(0,i.createTextVNode)(` 全选搜索结果`,-1),(0,i.createElementVNode)(`span`,null,(0,i.toDisplayString)(_.value.length)+` 项`,1)])):(0,i.createCommentVNode)(``,!0),((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(_.value,e=>((0,i.openBlock)(),(0,i.createBlock)(r.default,{key:(0,i.unref)(t.entityKey)(e),item:e,checked:v.value.has((0,i.unref)(t.entityKey)(e)),selection:f.radio?`radio`:`checkbox`,onToggle:m[2]||=e=>h(`toggle`,e)},null,8,[`item`,`checked`,`selection`]))),128))])]),_:1},8,[`loading`,`error`,`empty`,`searching`])]))}});exports.default=f;
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../icon/src/icon.cjs`),t=require(`../model.cjs`),n=require(`./PanelFeedback.cjs`),r=require(`./EntityRow.cjs`);let i=require(`vue`),a=require(`ant-design-vue`);var o={class:`gd-ant-selector__role-pane`,"aria-label":`角色列表`},s={class:`gd-ant-selector__pane-heading`},c={class:`gd-ant-selector__meta`},l={class:`gd-ant-selector__role-scroll`},u={key:0,class:`gd-ant-selector__bulk`},d=[`checked`,`indeterminate`],f=(0,i.defineComponent)({__name:`RolePane`,props:{roles:{},selected:{},radio:{type:Boolean},group:{type:Boolean},loading:{type:Boolean},error:{}},emits:[`toggle`,`bulk`,`retry`],setup(f,{emit:p}){let m=f,h=p,g=(0,i.ref)(``),_=(0,i.computed)(()=>m.roles.filter(e=>e.label.includes(g.value.trim())||!m.group&&e.value.includes(g.value.trim()))),v=(0,i.computed)(()=>new Set(m.selected.map(t.entityKey))),y=(0,i.computed)(()=>_.value.length>0&&_.value.every(e=>v.value.has(t.entityKey(e)))),b=(0,i.computed)(()=>!y.value&&_.value.some(e=>v.value.has(t.entityKey(e))));return(p,m)=>((0,i.openBlock)(),(0,i.createElementBlock)(`section`,o,[(0,i.createElementVNode)(`div`,s,[m[4]||=(0,i.createElementVNode)(`span`,null,`可选角色`,-1),(0,i.createElementVNode)(`span`,c,(0,i.toDisplayString)(f.roles.length)+` 个角色`,1)]),(0,i.createVNode)((0,i.unref)(a.Input),{value:g.value,"onUpdate:value":m[0]||=e=>g.value=e,"allow-clear":``,placeholder:`搜索角色`,"aria-label":`搜索角色`,class:`gd-ant-selector__search`},{prefix:(0,i.withCtx)(()=>[(0,i.createVNode)(e.default,{name:`search`,size:16,"aria-hidden":`true`})]),_:1},8,[`value`]),(0,i.createVNode)(n.default,{loading:f.loading,error:f.error,empty:!_.value.length,searching:!!g.value,label:`角色`,onRetry:m[3]||=e=>h(`retry`)},{default:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`div`,l,[f.group&&_.value.length?((0,i.openBlock)(),(0,i.createElementBlock)(`label`,u,[(0,i.createElementVNode)(`input`,{type:`checkbox`,checked:y.value,indeterminate:b.value,onChange:m[1]||=e=>h(`bulk`,_.value)},null,40,d),m[5]||=(0,i.createTextVNode)(` 全选搜索结果`,-1),(0,i.createElementVNode)(`span`,null,(0,i.toDisplayString)(_.value.length)+` 项`,1)])):(0,i.createCommentVNode)(``,!0),((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(_.value,e=>((0,i.openBlock)(),(0,i.createBlock)(r.default,{key:(0,i.unref)(t.entityKey)(e),item:e,checked:v.value.has((0,i.unref)(t.entityKey)(e)),selection:f.radio?`radio`:`checkbox`,onToggle:m[2]||=e=>h(`toggle`,e)},null,8,[`item`,`checked`,`selection`]))),128))])]),_:1},8,[`loading`,`error`,`empty`,`searching`])]))}});exports.default=f;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=require(`./SelectionChips.vue.cjs`).default;exports.default=e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../icon/src/icon.cjs`),t=require(`../model.cjs`),n=require(`../../pro-user-avatar/src/index.cjs`);let r=require(`vue`),i=require(`ant-design-vue`);var a={class:`gd-ant-selector__confirmed`},o={class:`gd-ant-selector__confirmed-chips`},s=[`title`],c=[`aria-label`,`onClick`],l={class:`gd-ant-selector__confirmed-actions`},u={class:`gd-ant-selector__confirmed-popover-content`,"aria-label":`隐藏的已选择项`},d=[`title`],f=[`aria-label`,`onClick`],p=[`title`,`aria-label`],m=[`aria-label`],h=(0,r.defineComponent)({__name:`SelectionChips`,props:{items:{},maxVisibleCount:{default:5},addText:{}},emits:[`add`,`remove`],setup(h){let g=h,_=(0,r.computed)(()=>{let e=g.maxVisibleCount;return Number.isFinite(e)&&e>=0?Math.floor(e):5}),v=(0,r.computed)(()=>g.items.slice(0,_.value)),y=(0,r.computed)(()=>g.items.slice(_.value)),b=(0,r.computed)(()=>`另有 ${y.value.length} 项:${y.value.map(e=>e.label||`未命名`).join(`、`)}`);return(g,_)=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,a,[(0,r.createElementVNode)(`div`,o,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(v.value,i=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:(0,r.unref)(t.entityKey)(i),class:(0,r.normalizeClass)([`gd-ant-selector__confirmed-chip`,`gd-ant-selector__confirmed-chip--${i.type}`])},[i.type===`user`?((0,r.openBlock)(),(0,r.createBlock)(n.default,{key:0,name:i.label,avatar:i.avatar,preview:!1,size:`small`},null,8,[`name`,`avatar`])):((0,r.openBlock)(),(0,r.createElementBlock)(`span`,{key:1,class:(0,r.normalizeClass)([`gd-ant-selector__confirmed-chip-icon`,`gd-ant-selector__confirmed-chip-icon--${i.type}`])},[(0,r.createVNode)(e.default,{name:i.type===`dept`?`bumen`:`a-jiaoseguanli2`,size:14,"aria-hidden":`true`},null,8,[`name`])],2)),(0,r.createElementVNode)(`span`,{class:`gd-ant-selector__confirmed-chip-label`,title:i.label||`未命名`},(0,r.toDisplayString)(i.label||`未命名`),9,s),(0,r.createElementVNode)(`button`,{type:`button`,class:`gd-ant-selector__confirmed-chip-remove`,"aria-label":`移除已选择的${i.label||`未命名`}`,onClick:(0,r.withModifiers)(e=>g.$emit(`remove`,i),[`stop`])},[(0,r.createVNode)(e.default,{name:`guanbi`,size:10,"aria-hidden":`true`})],8,c)],2))),128))]),(0,r.createElementVNode)(`div`,l,[y.value.length?((0,r.openBlock)(),(0,r.createBlock)((0,r.unref)(i.Popover),{key:0,placement:`top`,trigger:`click`,"overlay-class-name":`gd-ant-selector__confirmed-popover`},{content:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,u,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(y.value,i=>((0,r.openBlock)(),(0,r.createElementBlock)(`div`,{key:(0,r.unref)(t.entityKey)(i),class:(0,r.normalizeClass)([`gd-ant-selector__confirmed-chip`,`gd-ant-selector__confirmed-chip--${i.type}`])},[i.type===`user`?((0,r.openBlock)(),(0,r.createBlock)(n.default,{key:0,name:i.label,avatar:i.avatar,preview:!1,size:`small`},null,8,[`name`,`avatar`])):((0,r.openBlock)(),(0,r.createElementBlock)(`span`,{key:1,class:(0,r.normalizeClass)([`gd-ant-selector__confirmed-chip-icon`,`gd-ant-selector__confirmed-chip-icon--${i.type}`])},[(0,r.createVNode)(e.default,{name:i.type===`dept`?`bumen`:`a-jiaoseguanli2`,size:14,"aria-hidden":`true`},null,8,[`name`])],2)),(0,r.createElementVNode)(`span`,{class:`gd-ant-selector__confirmed-chip-label`,title:i.label||`未命名`},(0,r.toDisplayString)(i.label||`未命名`),9,d),(0,r.createElementVNode)(`button`,{type:`button`,class:`gd-ant-selector__confirmed-chip-remove`,"aria-label":`移除已选择的${i.label||`未命名`}`,onClick:(0,r.withModifiers)(e=>g.$emit(`remove`,i),[`stop`])},[(0,r.createVNode)(e.default,{name:`guanbi`,size:10,"aria-hidden":`true`})],8,f)],2))),128))])]),default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`button`,{type:`button`,class:`gd-ant-selector__confirmed-more`,title:b.value,"aria-label":`查看隐藏的已选择项,共 ${y.value.length} 项`},` +`+(0,r.toDisplayString)(y.value.length),9,p)]),_:1})):(0,r.createCommentVNode)(``,!0),(0,r.createElementVNode)(`button`,{type:`button`,class:`gd-ant-selector__confirmed-add`,"aria-label":h.items.length?`继续选择`:h.addText,onClick:_[0]||=e=>g.$emit(`add`)},[(0,r.createVNode)(e.default,{name:`plus`,size:15,"aria-hidden":`true`}),(0,r.createElementVNode)(`span`,null,(0,r.toDisplayString)(h.items.length?`继续选择`:h.addText),1)],8,m)])]))}});exports.default=h;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../pro-modal/src/ProModal.cjs`),t=require(`../../icon/src/icon.cjs`),n=require(`../model.cjs`),r=require(`../useSelectorData.cjs`),i=require(`./DepartmentTree.cjs`),a=require(`./PeoplePane.cjs`),o=require(`./RolePane.cjs`),s=require(`./SelectionSummary.cjs`);let c=require(`vue`),l=require(`ant-design-vue`);var u={class:`gd-ant-selector__dialog-root`},d={key:0,class:`gd-ant-selector__variant-toolbar`,"aria-label":`用户方案比较`},f={class:`gd-ant-selector__segmented`},ee=[`aria-pressed`],p=[`aria-pressed`],m={key:1,class:`gd-ant-selector__tabs`,role:`tablist`,"aria-label":`选择对象类型`},h=[`id`,`aria-selected`,`tabindex`,`onClick`,`onKeydown`],g=[`role`,`aria-labelledby`],_={class:`gd-ant-selector__footer`},te=[`role`],ne={class:`gd-ant-selector__footer-actions`},re={key:0},v=(0,c.defineComponent)({__name:`SelectorDialog`,props:(0,c.mergeModels)({mode:{},open:{type:Boolean},selected:{},selection:{default:`checkbox`},maxCount:{default:25},variant:{default:`B`},initialTab:{default:`dept`},isSingle:{type:Boolean,default:!1},title:{default:`选择器`},http:{},prefix:{},initData:{},treeData:{},fieldNames:{},roleOptions:{},isBuiltInRequest:{type:Boolean,default:!1},valueField:{default:`roleKey`},modalProps:{default:()=>({})}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:(0,c.mergeModels)([`update:open`,`update:variant`,`confirm`,`cancel`,`changeTab`],[`update:open`]),setup(v,{emit:y}){let b=v,x=y,S=(0,c.useModel)(v,`open`),C=(0,c.ref)(n.cloneEntities(b.selected)),w=(0,c.ref)(b.variant),T=(0,c.ref)(b.mode===`group`?b.initialTab:b.mode),E=(0,c.ref)(``),D=(0,c.ref)(``),O=r.useSelectorData({mode:b.mode,get http(){return b.http},get prefix(){return b.prefix},get isBuiltInRequest(){return b.isBuiltInRequest},initData:()=>b.initData?.(),treeData:()=>b.treeData||[],roleOptions:()=>b.roleOptions||[],fieldNames:()=>b.fieldNames,valueField:()=>b.valueField}),{departments:k,roles:A,members:j,treeLoading:M,roleLoading:N,memberLoading:P,treeError:F,roleError:I,memberError:L}=O,R=(0,c.computed)(()=>n.selectionLimit({mode:b.mode,selection:b.selection,maxCount:b.maxCount})),z=(0,c.computed)(()=>b.mode===`group`),B=(0,c.computed)(()=>b.mode!==`group`&&b.selection===`radio`),V=(0,c.computed)(()=>T.value===`user`&&(z.value||w.value===`B`)),H=(0,c.computed)(()=>z.value?`选择部门、角色与用户`:b.title||`选择${n.selectorLabels[T.value]}`),U=(0,c.computed)(()=>z.value&&!b.isSingle?[`dept`,`role`,`user`]:[T.value]),W=(0,c.computed)(()=>z.value||V.value?1040:b.mode===`user`?880:b.mode===`dept`?800:760);async function G(e){if(e===`role`){await O.loadRoles();return}await O.loadTree(),e===`user`&&(z.value||w.value===`B`)&&!E.value&&(E.value=k.value[0]?.key||``)}(0,c.watch)([T,()=>b.open],([e,t])=>{t&&G(e)},{immediate:!0}),(0,c.watch)([E,T,()=>b.open],([e,t,n])=>{n&&z.value&&t===`user`&&O.loadMembers(e)}),(0,c.watch)(()=>b.variant,e=>{w.value=e}),(0,c.watch)(()=>[b.http,b.prefix,b.isBuiltInRequest],()=>{O.reset()});function K(e){w.value!==e&&(w.value=e,x(`update:variant`,e),e===`B`&&!E.value&&(E.value=k.value[0]?.key||``))}(0,c.watch)(()=>b.treeData,()=>{b.mode===`dept`&&!b.isBuiltInRequest&&O.loadTree(!0)},{deep:!0}),(0,c.watch)(()=>b.roleOptions,()=>{b.mode===`role`&&!b.isBuiltInRequest&&O.loadRoles(!0)},{deep:!0}),(0,c.watch)(()=>b.selected,e=>{C.value=n.cloneEntities(e)},{deep:!0,immediate:!0}),(0,c.watch)(S,e=>{e?(w.value=b.variant,C.value=n.cloneEntities(b.selected),T.value=b.mode===`group`?b.initialTab:b.mode,E.value=``,D.value=``):(C.value=n.cloneEntities(b.selected),D.value=``)},{immediate:!0});async function q(){await O.loadTree(!0),!E.value&&(z.value||w.value===`B`)&&(E.value=k.value[0]?.key||``)}function J(e){C.value=n.toggleEntity(C.value,e,{mode:b.mode,selection:b.selection,maxCount:b.maxCount}),D.value=``}function Y(e){C.value=C.value.filter(t=>n.entityKey(t)!==n.entityKey(e)),D.value=``}function ie(e){C.value=e?C.value.filter(t=>t.type!==e):[],D.value=``}let ae=(0,c.computed)(()=>[...n.flattenDepartments(k.value).map(e=>e.entity),...A.value,...j.value,...n.flattenDepartments(k.value).flatMap(e=>e.members)]),X=(0,c.computed)(()=>C.value.map(e=>{let t=ae.value.find(t=>n.entityKey(t)===n.entityKey(e));return t?{...t,...e,raw:t.raw??e.raw,avatar:e.avatar||t.avatar,subtitle:e.subtitle||t.subtitle}:e}));function Z(){let e=b.mode===`group`&&b.isSingle?X.value.filter(e=>e.type===T.value):X.value;if(!e.length&&b.mode!==`group`){D.value=`请至少选择一项${n.selectorLabels[T.value]}`;return}x(`confirm`,n.cloneEntities(e)),S.value=!1}function Q(){C.value=n.cloneEntities(b.selected),x(`cancel`),S.value=!1}function $(e){T.value!==e&&(T.value=e,x(`changeTab`,e))}async function oe(e,t){let n=t;if(e.key===`ArrowRight`)n=(t+1)%U.value.length;else if(e.key===`ArrowLeft`)n=(t-1+U.value.length)%U.value.length;else if(e.key===`Home`)n=0;else if(e.key===`End`)n=U.value.length-1;else return;let r=e.currentTarget.parentElement;e.preventDefault(),$(U.value[n]),await(0,c.nextTick)(),r?.querySelector(`[aria-selected="true"]`)?.focus()}let se=(0,c.computed)(()=>{let{class:e,...t}=b.modalProps||{},n=Array.isArray(e)?e:e?[e]:[];return{width:`min(${W.value}px, calc(100vw - 32px))`,centered:!0,destroyOnClose:!0,...t,class:[`gd-ant-selector-modal`,...n].filter(Boolean).join(` `)}});return(r,y)=>((0,c.openBlock)(),(0,c.createBlock)(e.default,{modelValue:S.value,"onUpdate:modelValue":y[7]||=e=>S.value=e,title:H.value,"modal-props":se.value,onOnCancel:Q,onOnConfirm:Z},{footer:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`div`,_,[(0,c.createElementVNode)(`span`,{class:(0,c.normalizeClass)([`gd-ant-selector__footer-status`,{"gd-ant-selector__footer-status--warning":D.value||Number.isFinite(R.value)&&C.value.length>=R.value&&!B.value}]),role:D.value?`alert`:`status`},[D.value?((0,c.openBlock)(),(0,c.createElementBlock)(c.Fragment,{key:0},[(0,c.createTextVNode)((0,c.toDisplayString)(D.value),1)],64)):!B.value&&Number.isFinite(R.value)&&C.value.length>=R.value?((0,c.openBlock)(),(0,c.createElementBlock)(c.Fragment,{key:1},[(0,c.createTextVNode)(`已达 `+(0,c.toDisplayString)(R.value)+` 人上限,取消已选后可继续选择`,1)],64)):((0,c.openBlock)(),(0,c.createElementBlock)(c.Fragment,{key:2},[(0,c.createVNode)(t.default,{name:`carry-out`,size:14,"aria-hidden":`true`}),(0,c.createTextVNode)(` `+(0,c.toDisplayString)(C.value.length?`已选择 ${C.value.length} 项`:B.value?`请选择一项`:`选择完成后点击确认`),1)],64))],10,te),(0,c.createElementVNode)(`div`,ne,[(0,c.createVNode)((0,c.unref)(l.Button),{onClick:Q},{default:(0,c.withCtx)(()=>[...y[9]||=[(0,c.createTextVNode)(`取消`,-1)]]),_:1}),(0,c.createVNode)((0,c.unref)(l.Button),{type:`primary`,onClick:Z},{default:(0,c.withCtx)(()=>[y[10]||=(0,c.createTextVNode)(` 确认选择`,-1),C.value.length?((0,c.openBlock)(),(0,c.createElementBlock)(`span`,re,`(`+(0,c.toDisplayString)(C.value.length)+`)`,1)):(0,c.createCommentVNode)(``,!0)]),_:1})])])]),default:(0,c.withCtx)(()=>[(0,c.createElementVNode)(`div`,u,[v.mode===`user`?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,d,[y[8]||=(0,c.createElementVNode)(`span`,null,[(0,c.createTextVNode)(`方案比较 `),(0,c.createElementVNode)(`small`,null,`切换保留本次选择`)],-1),(0,c.createElementVNode)(`div`,f,[(0,c.createElementVNode)(`button`,{type:`button`,"aria-pressed":w.value===`A`,onClick:y[0]||=e=>K(`A`)},`A · 逐级浏览`,8,ee),(0,c.createElementVNode)(`button`,{type:`button`,"aria-pressed":w.value===`B`,onClick:y[1]||=e=>K(`B`)},`B · 通讯录`,8,p)])])):(0,c.createCommentVNode)(``,!0),z.value?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,m,[((0,c.openBlock)(!0),(0,c.createElementBlock)(c.Fragment,null,(0,c.renderList)(U.value,(e,r)=>((0,c.openBlock)(),(0,c.createElementBlock)(`button`,{id:`gd-ant-selector-tab-${e}`,key:e,type:`button`,role:`tab`,"aria-selected":T.value===e,tabindex:T.value===e?0:-1,"aria-controls":`gd-ant-selector-panel`,onClick:t=>$(e),onKeydown:e=>oe(e,r)},[(0,c.createVNode)(t.default,{name:e===`dept`?`bumen`:e===`role`?`a-jiaoseguanli2`:`zuzhijiagou`,size:16,"aria-hidden":`true`},null,8,[`name`]),(0,c.createTextVNode)(` `+(0,c.toDisplayString)((0,c.unref)(n.selectorLabels)[e])+` `,1),(0,c.createElementVNode)(`span`,null,(0,c.toDisplayString)(C.value.filter(t=>t.type===e).length),1)],40,h))),128))])):(0,c.createCommentVNode)(``,!0),(0,c.createElementVNode)(`div`,{class:(0,c.normalizeClass)([`gd-ant-selector__dialog-layout`,{"gd-ant-selector__dialog-layout--three":V.value}])},[(0,c.createElementVNode)(`div`,{id:`gd-ant-selector-panel`,class:`gd-ant-selector__candidates`,role:z.value?`tabpanel`:void 0,"aria-labelledby":z.value?`gd-ant-selector-tab-${T.value}`:void 0},[T.value===`user`?((0,c.openBlock)(),(0,c.createBlock)(a.default,{key:0,nodes:(0,c.unref)(k),variant:z.value?`B`:w.value,active:E.value,selected:C.value,limit:R.value,radio:B.value,group:z.value,members:(0,c.unref)(j),loading:z.value?(0,c.unref)(P):(0,c.unref)(M),"tree-loading":(0,c.unref)(M),error:z.value?(0,c.unref)(L):(0,c.unref)(F),"tree-error":(0,c.unref)(F),onNavigate:y[2]||=e=>E.value=e,onToggle:J,onBulk:y[3]||=e=>C.value=(0,c.unref)(n.toggleVisible)(C.value,e,{mode:v.mode,selection:v.selection,maxCount:v.maxCount}),onRetry:y[4]||=e=>z.value?(0,c.unref)(O).loadMembers(E.value,!0):q(),onRetryTree:q},null,8,[`nodes`,`variant`,`active`,`selected`,`limit`,`radio`,`group`,`members`,`loading`,`tree-loading`,`error`,`tree-error`])):T.value===`dept`?((0,c.openBlock)(),(0,c.createBlock)(i.default,{key:1,nodes:(0,c.unref)(k),selected:C.value,radio:B.value,loading:(0,c.unref)(M),error:(0,c.unref)(F),onToggle:J,onRetry:q},null,8,[`nodes`,`selected`,`radio`,`loading`,`error`])):((0,c.openBlock)(),(0,c.createBlock)(o.default,{key:2,roles:(0,c.unref)(A),selected:C.value,radio:B.value,group:z.value,loading:(0,c.unref)(N),error:(0,c.unref)(I),onToggle:J,onBulk:y[5]||=e=>C.value=(0,c.unref)(n.toggleVisible)(C.value,e,{mode:v.mode,selection:v.selection,maxCount:v.maxCount}),onRetry:y[6]||=e=>(0,c.unref)(O).loadRoles(!0)},null,8,[`roles`,`selected`,`radio`,`group`,`loading`,`error`]))],8,g),(0,c.createVNode)(s.default,{selected:X.value,limit:R.value,grouped:z.value,onRemove:Y,onClear:ie},null,8,[`selected`,`limit`,`grouped`])],2)])]),_:1},8,[`modelValue`,`title`,`modal-props`]))}});exports.default=v;
|
|
1
|
+
require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../pro-modal/src/ProModal.cjs`),t=require(`../../icon/src/icon.cjs`),n=require(`../model.cjs`),r=require(`../useSelectorData.cjs`),ee=require(`./DepartmentTree.cjs`),te=require(`./PeoplePane.cjs`),ne=require(`./RolePane.cjs`),i=require(`./SelectionSummary.cjs`);let a=require(`vue`),o=require(`ant-design-vue`);var s={class:`gd-ant-selector__dialog-root`},c={key:0,class:`gd-ant-selector__variant-toolbar`,"aria-label":`用户方案比较`},l={class:`gd-ant-selector__segmented`},u=[`aria-pressed`],d=[`aria-pressed`],f={key:1,class:`gd-ant-selector__tabs`,role:`tablist`,"aria-label":`选择对象类型`},p=[`id`,`aria-selected`,`tabindex`,`onClick`,`onKeydown`],m=[`role`,`aria-labelledby`],h={class:`gd-ant-selector__footer`},g=[`role`],re={class:`gd-ant-selector__footer-actions`},_={key:0},v=(0,a.defineComponent)({__name:`SelectorDialog`,props:(0,a.mergeModels)({mode:{},selected:{},selection:{default:`checkbox`},maxCount:{default:25},variant:{default:`B`},initialTab:{default:`dept`},isSingle:{type:Boolean,default:!1},title:{default:`选择器`},http:{},prefix:{},initData:{},treeData:{},fieldNames:{},roleOptions:{},isBuiltInRequest:{type:Boolean,default:!1},valueField:{default:`roleKey`},modalProps:{default:()=>({})}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:(0,a.mergeModels)([`update:variant`,`confirm`,`cancel`,`changeTab`],[`update:open`]),setup(v,{emit:y}){let b=(0,a.useModel)(v,`open`),x=v,S=y;function C(e=x.selected){let t=n.cloneEntities(e);return x.mode===`group`&&x.isSingle?t.filter(e=>e.type===(x.initialTab||`dept`)):t}let w=(0,a.ref)(C()),T=(0,a.ref)(x.variant),E=(0,a.ref)(x.mode===`group`?x.initialTab:x.mode),D=(0,a.ref)(``),O=(0,a.ref)(``),k=r.useSelectorData({mode:x.mode,get http(){return x.http},get prefix(){return x.prefix},get isBuiltInRequest(){return x.isBuiltInRequest},initData:()=>x.initData?.(),treeData:()=>x.treeData||[],roleOptions:()=>x.roleOptions||[],fieldNames:()=>x.fieldNames,valueField:()=>x.valueField}),{departments:A,roles:j,members:M,treeLoading:N,roleLoading:P,memberLoading:F,treeError:I,roleError:L,memberError:R}=k,z=(0,a.computed)(()=>n.selectionLimit({mode:x.mode,selection:x.selection,maxCount:x.maxCount})),B=(0,a.computed)(()=>x.mode===`group`),V=(0,a.computed)(()=>x.mode!==`group`&&x.selection===`radio`),H=(0,a.computed)(()=>E.value===`user`&&(B.value||T.value===`B`)),U=(0,a.computed)(()=>B.value?`选择部门、角色与用户`:x.title||`选择${n.selectorLabels[E.value]}`),W=(0,a.computed)(()=>B.value&&!x.isSingle?[`dept`,`role`,`user`]:[E.value]),G=(0,a.computed)(()=>B.value||H.value?1040:x.mode===`user`?880:x.mode===`dept`?800:760);async function K(e){if(e===`role`){await k.loadRoles();return}await k.loadTree(),e===`user`&&(B.value||T.value===`B`)&&!D.value&&(D.value=A.value[0]?.key||``)}(0,a.watch)([E,b],([e,t])=>{t&&K(e)},{immediate:!0}),(0,a.watch)([D,E,b],([e,t,n])=>{n&&B.value&&t===`user`&&k.loadMembers(e)}),(0,a.watch)(()=>x.variant,e=>{T.value=e}),(0,a.watch)(()=>[x.http,x.prefix,x.isBuiltInRequest],()=>{k.reset()});function q(e){T.value!==e&&(T.value=e,S(`update:variant`,e),e===`B`&&!D.value&&(D.value=A.value[0]?.key||``))}(0,a.watch)(()=>x.treeData,()=>{x.mode===`dept`&&!x.isBuiltInRequest&&k.loadTree(!0)},{deep:!0}),(0,a.watch)(()=>x.roleOptions,()=>{x.mode===`role`&&!x.isBuiltInRequest&&k.loadRoles(!0)},{deep:!0}),(0,a.watch)(()=>x.selected,e=>{b.value||(w.value=C(e))},{deep:!0,immediate:!0}),(0,a.watch)(b,e=>{e?(T.value=x.variant,w.value=C(),E.value=x.mode===`group`?x.initialTab:x.mode,D.value=``,O.value=``):(w.value=C(),O.value=``)},{immediate:!0});async function J(){await k.loadTree(!0),!D.value&&(B.value||T.value===`B`)&&(D.value=A.value[0]?.key||``)}function Y(e){w.value=n.toggleEntity(w.value,e,{mode:x.mode,selection:x.selection,maxCount:x.maxCount}),O.value=``}function ie(e){w.value=w.value.filter(t=>n.entityKey(t)!==n.entityKey(e)),O.value=``}function ae(e){w.value=e?w.value.filter(t=>t.type!==e):[],O.value=``}let oe=(0,a.computed)(()=>[...n.flattenDepartments(A.value).map(e=>e.entity),...j.value,...M.value,...n.flattenDepartments(A.value).flatMap(e=>e.members)]),X=(0,a.computed)(()=>w.value.map(e=>{let t=oe.value.find(t=>n.entityKey(t)===n.entityKey(e));return t?{...t,...e,raw:t.raw??e.raw,avatar:e.avatar||t.avatar,subtitle:e.subtitle||t.subtitle}:e}));function Z(){let e=x.mode===`group`&&x.isSingle?X.value.filter(e=>e.type===(x.initialTab||`dept`)):X.value;if(!e.length&&x.mode!==`group`){O.value=`请至少选择一项${n.selectorLabels[E.value]}`;return}S(`confirm`,n.cloneEntities(e)),b.value=!1}function Q(){w.value=C(),S(`cancel`),b.value=!1}function $(e){E.value!==e&&(E.value=e,S(`changeTab`,e))}async function se(e,t){let n=t;if(e.key===`ArrowRight`)n=(t+1)%W.value.length;else if(e.key===`ArrowLeft`)n=(t-1+W.value.length)%W.value.length;else if(e.key===`Home`)n=0;else if(e.key===`End`)n=W.value.length-1;else return;let r=e.currentTarget.parentElement;e.preventDefault(),$(W.value[n]),await(0,a.nextTick)(),r?.querySelector(`[aria-selected="true"]`)?.focus()}let ce=(0,a.computed)(()=>{let{class:e,...t}=x.modalProps||{},n=Array.isArray(e)?e:e?[e]:[];return{width:`min(${G.value}px, calc(100vw - 32px))`,centered:!0,destroyOnClose:!0,...t,class:[`gd-ant-selector-modal`,...n].filter(Boolean).join(` `)}});return(r,y)=>((0,a.openBlock)(),(0,a.createBlock)(e.default,{modelValue:b.value,"onUpdate:modelValue":y[7]||=e=>b.value=e,title:U.value,"modal-props":ce.value,onOnCancel:Q,onOnConfirm:Z},{footer:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`div`,h,[(0,a.createElementVNode)(`span`,{class:(0,a.normalizeClass)([`gd-ant-selector__footer-status`,{"gd-ant-selector__footer-status--warning":O.value||Number.isFinite(z.value)&&w.value.length>=z.value&&!V.value}]),role:O.value?`alert`:`status`},[O.value?((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:0},[(0,a.createTextVNode)((0,a.toDisplayString)(O.value),1)],64)):!V.value&&Number.isFinite(z.value)&&w.value.length>=z.value?((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:1},[(0,a.createTextVNode)(`已达 `+(0,a.toDisplayString)(z.value)+` 人上限,取消已选后可继续选择`,1)],64)):((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:2},[(0,a.createVNode)(t.default,{name:`carry-out`,size:14,"aria-hidden":`true`}),(0,a.createTextVNode)(` `+(0,a.toDisplayString)(w.value.length?`已选择 ${w.value.length} 项`:V.value?`请选择一项`:`选择完成后点击确认`),1)],64))],10,g),(0,a.createElementVNode)(`div`,re,[(0,a.createVNode)((0,a.unref)(o.Button),{onClick:Q},{default:(0,a.withCtx)(()=>[...y[9]||=[(0,a.createTextVNode)(`取消`,-1)]]),_:1}),(0,a.createVNode)((0,a.unref)(o.Button),{type:`primary`,onClick:Z},{default:(0,a.withCtx)(()=>[y[10]||=(0,a.createTextVNode)(` 确认选择`,-1),w.value.length?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,_,`(`+(0,a.toDisplayString)(w.value.length)+`)`,1)):(0,a.createCommentVNode)(``,!0)]),_:1})])])]),default:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`div`,s,[v.mode===`user`?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,c,[y[8]||=(0,a.createElementVNode)(`span`,null,[(0,a.createTextVNode)(`方案比较 `),(0,a.createElementVNode)(`small`,null,`切换保留本次选择`)],-1),(0,a.createElementVNode)(`div`,l,[(0,a.createElementVNode)(`button`,{type:`button`,"aria-pressed":T.value===`A`,onClick:y[0]||=e=>q(`A`)},`A · 逐级浏览`,8,u),(0,a.createElementVNode)(`button`,{type:`button`,"aria-pressed":T.value===`B`,onClick:y[1]||=e=>q(`B`)},`B · 通讯录`,8,d)])])):(0,a.createCommentVNode)(``,!0),B.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,f,[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(W.value,(e,r)=>((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{id:`gd-ant-selector-tab-${e}`,key:e,type:`button`,role:`tab`,"aria-selected":E.value===e,tabindex:E.value===e?0:-1,"aria-controls":`gd-ant-selector-panel`,onClick:t=>$(e),onKeydown:e=>se(e,r)},[(0,a.createVNode)(t.default,{name:e===`dept`?`bumen`:e===`role`?`a-jiaoseguanli2`:`zuzhijiagou`,size:16,"aria-hidden":`true`},null,8,[`name`]),(0,a.createTextVNode)(` `+(0,a.toDisplayString)((0,a.unref)(n.selectorLabels)[e])+` `,1),(0,a.createElementVNode)(`span`,null,(0,a.toDisplayString)(w.value.filter(t=>t.type===e).length),1)],40,p))),128))])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`div`,{class:(0,a.normalizeClass)([`gd-ant-selector__dialog-layout`,{"gd-ant-selector__dialog-layout--three":H.value}])},[(0,a.createElementVNode)(`div`,{id:`gd-ant-selector-panel`,class:`gd-ant-selector__candidates`,role:B.value?`tabpanel`:void 0,"aria-labelledby":B.value?`gd-ant-selector-tab-${E.value}`:void 0},[E.value===`user`?((0,a.openBlock)(),(0,a.createBlock)(te.default,{key:0,nodes:(0,a.unref)(A),variant:B.value?`B`:T.value,active:D.value,selected:w.value,limit:z.value,radio:V.value,group:B.value,members:(0,a.unref)(M),loading:B.value?(0,a.unref)(F):(0,a.unref)(N),"tree-loading":(0,a.unref)(N),error:B.value?(0,a.unref)(R):(0,a.unref)(I),"tree-error":(0,a.unref)(I),onNavigate:y[2]||=e=>D.value=e,onToggle:Y,onBulk:y[3]||=e=>w.value=(0,a.unref)(n.toggleVisible)(w.value,e,{mode:v.mode,selection:v.selection,maxCount:v.maxCount}),onRetry:y[4]||=e=>B.value?(0,a.unref)(k).loadMembers(D.value,!0):J(),onRetryTree:J},null,8,[`nodes`,`variant`,`active`,`selected`,`limit`,`radio`,`group`,`members`,`loading`,`tree-loading`,`error`,`tree-error`])):E.value===`dept`?((0,a.openBlock)(),(0,a.createBlock)(ee.default,{key:1,nodes:(0,a.unref)(A),selected:w.value,radio:V.value,loading:(0,a.unref)(N),error:(0,a.unref)(I),onToggle:Y,onRetry:J},null,8,[`nodes`,`selected`,`radio`,`loading`,`error`])):((0,a.openBlock)(),(0,a.createBlock)(ne.default,{key:2,roles:(0,a.unref)(j),selected:w.value,radio:V.value,group:B.value,loading:(0,a.unref)(P),error:(0,a.unref)(L),onToggle:Y,onBulk:y[5]||=e=>w.value=(0,a.unref)(n.toggleVisible)(w.value,e,{mode:v.mode,selection:v.selection,maxCount:v.maxCount}),onRetry:y[6]||=e=>(0,a.unref)(k).loadRoles(!0)},null,8,[`roles`,`selected`,`radio`,`group`,`loading`,`error`]))],8,m),(0,a.createVNode)(i.default,{selected:X.value,limit:z.value,grouped:B.value,onRemove:ie,onClear:ae},null,8,[`selected`,`limit`,`grouped`])],2)])]),_:1},8,[`modelValue`,`title`,`modal-props`]))}});exports.default=v;
|