smart-admin-web 10.21.0 → 10.22.0
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/assets/icons/ph-subset.json.js +1 -1
- package/dist/composables/authMenuRoute.d.ts +10 -0
- package/dist/composables/authMenuRoute.js +39 -23
- package/dist/composables/authMenuRoute.js.map +1 -1
- package/dist/composables/useModule.d.ts +3 -1
- package/dist/composables/useModule.js +44 -32
- package/dist/composables/useModule.js.map +1 -1
- package/dist/index.js +49 -47
- package/dist/layouts/components/SideNav.vue.js +2 -2
- package/dist/layouts/components/SideNav2.vue.js.map +1 -1
- package/dist/lib/runtime.js +1 -1
- package/dist/locales/en-US.d.ts +6 -0
- package/dist/locales/en-US.js +9 -2
- package/dist/locales/en-US.js.map +1 -1
- package/dist/locales/zh-CN.d.ts +6 -0
- package/dist/locales/zh-CN.js +9 -2
- package/dist/locales/zh-CN.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/utils/tree.d.ts +15 -0
- package/dist/utils/tree.js +43 -29
- package/dist/utils/tree.js.map +1 -1
- package/dist/utils/treeCard.d.ts +6 -0
- package/dist/utils/treeCard.js +9 -0
- package/dist/utils/treeCard.js.map +1 -0
- package/dist/views/error/404.vue.js +2 -2
- package/dist/views/error/4042.vue.js +81 -24
- package/dist/views/error/4042.vue.js.map +1 -1
- package/dist/views/login/components/LoginDesk.vue.js +2 -2
- package/dist/views/login/components/LoginDesk2.vue.js.map +1 -1
- package/dist/views/login/components/LoginHeroPanel.vue.js +2 -2
- package/dist/views/login/components/LoginHeroPanel2.vue.js.map +1 -1
- package/dist/views/system/job-monitor/index.vue.js +2 -2
- package/dist/views/system/job-monitor/index2.vue.js +46 -46
- package/dist/views/system/job-monitor/index2.vue.js.map +1 -1
- package/dist/views/system/menu/index.vue.js +2 -2
- package/dist/views/system/menu/index2.vue.js +161 -150
- package/dist/views/system/menu/index2.vue.js.map +1 -1
- package/dist/views/system/org/index.vue.js +2 -2
- package/dist/views/system/org/index2.vue.js +182 -176
- package/dist/views/system/org/index2.vue.js.map +1 -1
- package/dist/views/system/user/index.vue.js +2 -2
- package/dist/views/system/user/index2.vue.js +348 -317
- package/dist/views/system/user/index2.vue.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,282 +1,289 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useElementSize as
|
|
3
|
-
import { useRoute as
|
|
4
|
-
import { useMessage as
|
|
5
|
-
import { useI18n as
|
|
6
|
-
import { SmartTable as
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import { useConfirm as
|
|
17
|
-
import { useBatchDelete as
|
|
18
|
-
import { userApi as
|
|
19
|
-
import { useAuthStore as
|
|
20
|
-
import { useUserStore as
|
|
21
|
-
import { translateError as
|
|
22
|
-
import { presetEqualFilter as
|
|
23
|
-
import { TABLE_TOOLBAR as
|
|
24
|
-
import
|
|
25
|
-
import { triggerBlobDownload as
|
|
26
|
-
import { buildTree as
|
|
27
|
-
const
|
|
1
|
+
import { defineComponent as Fe, ref as n, computed as p, watch as pe, onMounted as Le, h as d, resolveDirective as Ge, openBlock as y, createElementBlock as j, Fragment as Be, createVNode as s, unref as a, withCtx as i, createElementVNode as g, toDisplayString as b, createCommentVNode as T, createBlock as N, createTextVNode as P, normalizeClass as J, createSlots as $e, withDirectives as ce } from "vue";
|
|
2
|
+
import { useElementSize as Ke, useStorage as qe, createReusableTemplate as He } from "@vueuse/core";
|
|
3
|
+
import { useRoute as Ve } from "vue-router";
|
|
4
|
+
import { useMessage as We, NAvatar as je, NTag as Je, NSpace as Qe, NButton as k, NPopconfirm as Xe, NDropdown as Ye, NTooltip as me, NInput as Ze, NSpin as et, NTree as tt, NDrawer as rt, NDrawerContent as ot } from "naive-ui";
|
|
5
|
+
import { useI18n as at } from "vue-i18n";
|
|
6
|
+
import { SmartTable as lt } from "smart-naive-table";
|
|
7
|
+
import m from "../../../components/AppIcon.vue.js";
|
|
8
|
+
import st from "../../../components/StatusSwitch/index.vue.js";
|
|
9
|
+
import nt from "../../../components/DictTag/index.vue.js";
|
|
10
|
+
import it from "../../../components/ImportWizard/index.vue.js";
|
|
11
|
+
import ut from "../../../components/ExportColumnsModal/index.vue.js";
|
|
12
|
+
import dt from "./components/UserFormModal.vue.js";
|
|
13
|
+
import pt from "./components/ResetPasswordModal.vue.js";
|
|
14
|
+
import ct from "./components/UserGrantMenuSheet.vue.js";
|
|
15
|
+
import mt from "./components/UserGrantOverviewDrawer2.vue.js";
|
|
16
|
+
import { useConfirm as ft } from "../../../composables/useConfirm.js";
|
|
17
|
+
import { useBatchDelete as vt } from "../../../composables/useBatchDelete.js";
|
|
18
|
+
import { userApi as c, positionApi as gt, roleApi as ht, orgApi as yt, mfaApi as wt } from "../../../api/index.js";
|
|
19
|
+
import { useAuthStore as bt } from "../../../stores/auth.js";
|
|
20
|
+
import { useUserStore as kt } from "../../../stores/user.js";
|
|
21
|
+
import { translateError as fe } from "../../../utils/error.js";
|
|
22
|
+
import { presetEqualFilter as St, SEARCH_ACTIONS as Q, deriveHeaderFilters as xt, flatSearchOf as _t } from "../../../utils/tableFilter.js";
|
|
23
|
+
import { TABLE_TOOLBAR as Et, TABLE_MIN_ROW_HEIGHT as Ot } from "../../../utils/tableToolbar.js";
|
|
24
|
+
import Tt from "../../../components/TableTotal/index.vue.js";
|
|
25
|
+
import { triggerBlobDownload as Nt } from "../../../utils/download.js";
|
|
26
|
+
import { buildTree as Pt, expandableIds as It, rootExpandableIds as Ct } from "../../../utils/tree.js";
|
|
27
|
+
const At = { class: "side-filter__head" }, Rt = {
|
|
28
28
|
key: 0,
|
|
29
|
-
class: "side-
|
|
30
|
-
},
|
|
29
|
+
class: "side-filter__title"
|
|
30
|
+
}, zt = { class: "side-filter__actions" }, Mt = ["aria-label"], Ut = ["aria-label"], Dt = { class: "side-row__label" }, Ft = ["inert"], Lt = { class: "org-drawer-body" }, Gt = 1e3, Bt = 15, vr = /* @__PURE__ */ Fe({
|
|
31
31
|
__name: "index",
|
|
32
|
-
setup(
|
|
33
|
-
const { t } =
|
|
34
|
-
remove:
|
|
32
|
+
setup($t) {
|
|
33
|
+
const { t: r } = at(), M = We(), { run: ve, confirm: ge } = ft(), f = bt(), v = n(), { checkedKeys: X, run: he } = vt({
|
|
34
|
+
remove: c.batchRemove,
|
|
35
35
|
refresh: () => {
|
|
36
36
|
var e;
|
|
37
|
-
return (e =
|
|
37
|
+
return (e = v.value) == null ? void 0 : e.refresh();
|
|
38
38
|
},
|
|
39
|
-
successMsg:
|
|
40
|
-
}),
|
|
39
|
+
successMsg: r("user.deleted")
|
|
40
|
+
}), U = n(null), D = n(null), F = n(null), ye = kt(), we = p(() => {
|
|
41
41
|
var e;
|
|
42
|
-
return (e =
|
|
43
|
-
}),
|
|
44
|
-
async function
|
|
45
|
-
var
|
|
46
|
-
|
|
42
|
+
return (e = ye.userInfo) == null ? void 0 : e.userId;
|
|
43
|
+
}), I = n(!1);
|
|
44
|
+
async function be(e) {
|
|
45
|
+
var t;
|
|
46
|
+
I.value = !0;
|
|
47
47
|
try {
|
|
48
|
-
await
|
|
49
|
-
content:
|
|
50
|
-
action: () =>
|
|
51
|
-
successMsg:
|
|
52
|
-
}) && ((
|
|
48
|
+
await ge({
|
|
49
|
+
content: r("user.clearMfaConfirm", { name: e.name }),
|
|
50
|
+
action: () => wt.clear({ userId: e.id }),
|
|
51
|
+
successMsg: r("user.mfaCleared")
|
|
52
|
+
}) && ((t = v.value) == null || t.refresh());
|
|
53
53
|
} finally {
|
|
54
|
-
|
|
54
|
+
I.value = !1;
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
const
|
|
58
|
-
() =>
|
|
57
|
+
const Y = n([]), L = n([]), Z = n([]), S = n([]), ee = n(!0), G = p(() => Pt(S.value)), h = n(null), te = p(
|
|
58
|
+
() => h.value == null ? {} : { orgId: h.value }
|
|
59
59
|
);
|
|
60
|
-
function
|
|
61
|
-
|
|
60
|
+
function ke(e) {
|
|
61
|
+
ae(e.length ? Number(e[0]) : null);
|
|
62
62
|
}
|
|
63
|
-
const
|
|
64
|
-
function
|
|
65
|
-
|
|
63
|
+
const re = n(), { width: oe } = Ke(re), x = p(() => oe.value > 0 && oe.value < Gt), C = n(!1), _ = qe("sa-user-org-panel-hidden", !1);
|
|
64
|
+
function ae(e) {
|
|
65
|
+
h.value = e, C.value = !1;
|
|
66
66
|
}
|
|
67
|
-
|
|
67
|
+
function Se() {
|
|
68
|
+
x.value ? C.value = !0 : _.value = !1;
|
|
69
|
+
}
|
|
70
|
+
const [xe, le] = He(), _e = p(
|
|
68
71
|
() => {
|
|
69
72
|
var e;
|
|
70
|
-
return ((e =
|
|
73
|
+
return ((e = S.value.find((t) => t.id === h.value)) == null ? void 0 : e.name) ?? r("user.orgFilter");
|
|
71
74
|
}
|
|
72
|
-
),
|
|
73
|
-
function
|
|
75
|
+
), Ee = p(() => S.value.length > Bt), B = n(""), Oe = () => d(m, { icon: "ph:caret-right", size: 12 });
|
|
76
|
+
function Te(e, t) {
|
|
74
77
|
const u = e.trim().toLowerCase();
|
|
75
78
|
if (!u) return !0;
|
|
76
|
-
const o =
|
|
79
|
+
const o = t;
|
|
77
80
|
return o.name.toLowerCase().includes(u) || (o.code ?? "").toLowerCase().includes(u);
|
|
78
81
|
}
|
|
79
|
-
const
|
|
80
|
-
() =>
|
|
82
|
+
const w = n([]), A = p(() => It(G.value)), $ = p(() => Ct(G.value)), K = p(
|
|
83
|
+
() => A.value.length > 0 && w.value.length >= A.value.length
|
|
84
|
+
), Ne = p(
|
|
85
|
+
() => A.value.length > $.value.length
|
|
86
|
+
), se = p(
|
|
87
|
+
() => K.value ? r("user.collapseToFirstLevel") : r("common.expandAll")
|
|
81
88
|
);
|
|
82
|
-
function
|
|
83
|
-
|
|
89
|
+
function Pe() {
|
|
90
|
+
w.value = K.value ? [...$.value] : [...A.value];
|
|
84
91
|
}
|
|
85
|
-
|
|
86
|
-
var
|
|
92
|
+
pe(h, (e) => {
|
|
93
|
+
var l;
|
|
87
94
|
if (e == null) return;
|
|
88
|
-
const
|
|
89
|
-
let o = ((
|
|
90
|
-
for (; o &&
|
|
91
|
-
u.add(o), o =
|
|
92
|
-
|
|
93
|
-
}),
|
|
95
|
+
const t = new Map(S.value.map((O) => [O.id, O])), u = new Set(w.value);
|
|
96
|
+
let o = ((l = t.get(e)) == null ? void 0 : l.parentId) ?? 0;
|
|
97
|
+
for (; o && t.has(o); )
|
|
98
|
+
u.add(o), o = t.get(o).parentId;
|
|
99
|
+
w.value = [...u];
|
|
100
|
+
}), Le(async () => {
|
|
94
101
|
try {
|
|
95
|
-
const { items: e } = await
|
|
96
|
-
|
|
102
|
+
const { items: e } = await gt.page({ page: 1, pageSize: 200 });
|
|
103
|
+
Y.value = e.map((t) => ({ label: t.name, value: t.id }));
|
|
97
104
|
} catch {
|
|
98
105
|
}
|
|
99
106
|
try {
|
|
100
|
-
const { items: e } = await
|
|
101
|
-
|
|
107
|
+
const { items: e } = await ht.page({ page: 1, pageSize: 200 });
|
|
108
|
+
L.value = e.map((t) => ({ label: t.name, value: t.id }));
|
|
102
109
|
} catch {
|
|
103
110
|
}
|
|
104
111
|
try {
|
|
105
|
-
const { items: e } = await
|
|
106
|
-
|
|
112
|
+
const { items: e } = await c.page({ page: 1, pageSize: 200 });
|
|
113
|
+
Z.value = e.map((t) => ({ label: `${t.name}(${t.account})`, value: t.id }));
|
|
107
114
|
} catch {
|
|
108
115
|
}
|
|
109
116
|
try {
|
|
110
|
-
|
|
117
|
+
S.value = await yt.list(), w.value = [...$.value];
|
|
111
118
|
} catch {
|
|
112
119
|
} finally {
|
|
113
|
-
|
|
120
|
+
ee.value = !1;
|
|
114
121
|
}
|
|
115
122
|
});
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
[
|
|
119
|
-
([e,
|
|
120
|
-
e &&
|
|
123
|
+
const ne = Ve();
|
|
124
|
+
pe(
|
|
125
|
+
[v, () => ne.query.roleId],
|
|
126
|
+
([e, t]) => {
|
|
127
|
+
e && ne.path === "/system/user" && St(e, "roleId", t == null ? void 0 : Number(t));
|
|
121
128
|
},
|
|
122
129
|
{ immediate: !0 }
|
|
123
130
|
);
|
|
124
|
-
const
|
|
125
|
-
function
|
|
126
|
-
var e,
|
|
127
|
-
(e =
|
|
131
|
+
const ie = (e) => (e || "?").slice(0, 1), q = n(!1), R = n(!1), H = n(!1), z = n(!1), ue = n(null);
|
|
132
|
+
function Ie() {
|
|
133
|
+
var e, t;
|
|
134
|
+
(e = v.value) == null || e.refresh(), z.value && ((t = ue.value) == null || t.refresh());
|
|
128
135
|
}
|
|
129
|
-
const
|
|
136
|
+
const Ce = p(
|
|
130
137
|
() => [
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
138
|
+
f.hasPerm("POST:/api/v1/sys/user/import/preview") ? { label: r("import.button"), key: "import" } : null,
|
|
139
|
+
f.hasPerm("GET:/api/v1/sys/user/export") ? { label: r("export.button"), key: "export" } : null,
|
|
140
|
+
f.hasPerm("GET:/api/v1/sys/user/menu-grants/page") ? { label: r("userGrant.overview"), key: "grantOverview" } : null
|
|
134
141
|
].filter((e) => e !== null)
|
|
135
|
-
),
|
|
136
|
-
function
|
|
137
|
-
e === "import" ?
|
|
142
|
+
), Ae = p(() => ({ ...Et, more: Ce.value }));
|
|
143
|
+
function Re(e) {
|
|
144
|
+
e === "import" ? q.value = !0 : e === "export" ? R.value = !0 : e === "grantOverview" && (z.value = !0);
|
|
138
145
|
}
|
|
139
|
-
const
|
|
140
|
-
{ key: "Account", title:
|
|
141
|
-
{ key: "Name", title:
|
|
142
|
-
{ key: "Nickname", title:
|
|
143
|
-
{ key: "Phone", title:
|
|
144
|
-
{ key: "Email", title:
|
|
145
|
-
{ key: "Gender", title:
|
|
146
|
-
{ key: "OrgName", title:
|
|
147
|
-
{ key: "PositionName", title:
|
|
148
|
-
{ key: "DirectorName", title:
|
|
149
|
-
{ key: "Enabled", title:
|
|
150
|
-
{ key: "IsSuperAdmin", title:
|
|
151
|
-
{ key: "CreateTime", title:
|
|
152
|
-
],
|
|
153
|
-
downloadTemplate: () =>
|
|
154
|
-
preview: (e,
|
|
155
|
-
validate: (e) =>
|
|
156
|
-
commit: (e,
|
|
157
|
-
errorReport: (e) =>
|
|
158
|
-
},
|
|
159
|
-
function
|
|
160
|
-
const
|
|
161
|
-
|
|
146
|
+
const ze = [
|
|
147
|
+
{ key: "Account", title: r("userExport.account") },
|
|
148
|
+
{ key: "Name", title: r("userExport.name") },
|
|
149
|
+
{ key: "Nickname", title: r("userExport.nickname") },
|
|
150
|
+
{ key: "Phone", title: r("userExport.phone") },
|
|
151
|
+
{ key: "Email", title: r("userExport.email") },
|
|
152
|
+
{ key: "Gender", title: r("userExport.gender") },
|
|
153
|
+
{ key: "OrgName", title: r("userExport.orgName") },
|
|
154
|
+
{ key: "PositionName", title: r("userExport.positionName") },
|
|
155
|
+
{ key: "DirectorName", title: r("userExport.directorName") },
|
|
156
|
+
{ key: "Enabled", title: r("userExport.enabled") },
|
|
157
|
+
{ key: "IsSuperAdmin", title: r("userExport.superAdmin"), defaultSelected: !1 },
|
|
158
|
+
{ key: "CreateTime", title: r("userExport.createTime") }
|
|
159
|
+
], Me = {
|
|
160
|
+
downloadTemplate: () => c.importTemplate(),
|
|
161
|
+
preview: (e, t) => c.importPreview(e, t),
|
|
162
|
+
validate: (e) => c.importValidate(e),
|
|
163
|
+
commit: (e, t) => c.importCommit(e, t),
|
|
164
|
+
errorReport: (e) => c.importErrorReport(e)
|
|
165
|
+
}, V = n(null);
|
|
166
|
+
function Ue(e) {
|
|
167
|
+
const t = Array.isArray(e) ? e[0] : e;
|
|
168
|
+
V.value = t && t.order ? { field: String(t.columnKey), order: t.order === "ascend" ? "asc" : "desc" } : null;
|
|
162
169
|
}
|
|
163
|
-
async function
|
|
170
|
+
async function De(e) {
|
|
164
171
|
var u, o;
|
|
165
|
-
const
|
|
166
|
-
|
|
172
|
+
const t = _t(v.value);
|
|
173
|
+
H.value = !0;
|
|
167
174
|
try {
|
|
168
|
-
const
|
|
169
|
-
account:
|
|
170
|
-
name:
|
|
171
|
-
orgId:
|
|
172
|
-
roleId:
|
|
173
|
-
sortField: (u =
|
|
174
|
-
sortOrder: (o =
|
|
175
|
+
const l = await c.export({
|
|
176
|
+
account: t.account || void 0,
|
|
177
|
+
name: t.name || void 0,
|
|
178
|
+
orgId: te.value.orgId,
|
|
179
|
+
roleId: t.roleId != null ? Number(t.roleId) : void 0,
|
|
180
|
+
sortField: (u = V.value) == null ? void 0 : u.field,
|
|
181
|
+
sortOrder: (o = V.value) == null ? void 0 : o.order,
|
|
175
182
|
columns: e.join(",")
|
|
176
183
|
});
|
|
177
|
-
|
|
178
|
-
} catch (
|
|
179
|
-
|
|
184
|
+
Nt(l, r("userExport.fileName")), R.value = !1, M.success(r("export.done"));
|
|
185
|
+
} catch (l) {
|
|
186
|
+
M.error(fe(l));
|
|
180
187
|
} finally {
|
|
181
|
-
|
|
188
|
+
H.value = !1;
|
|
182
189
|
}
|
|
183
190
|
}
|
|
184
|
-
const
|
|
185
|
-
{ type: "index", title: () =>
|
|
191
|
+
const E = () => d("span", { class: "faint" }, "—"), W = (e) => () => d(m, { icon: e, size: 16 }), de = [
|
|
192
|
+
{ type: "index", title: () => r("common.rowNo"), width: 64, align: "center" },
|
|
186
193
|
// 超管行禁勾:批量删除同样不可含超管(后端也会整体拒绝)
|
|
187
194
|
{ type: "selection", disabled: (e) => e.isSuperAdmin },
|
|
188
195
|
{
|
|
189
196
|
key: "avatar",
|
|
190
|
-
title: () =>
|
|
197
|
+
title: () => r("user.avatar"),
|
|
191
198
|
width: 64,
|
|
192
199
|
align: "center",
|
|
193
200
|
hideInSetting: !1,
|
|
194
201
|
card: !1,
|
|
195
202
|
// 窄档卡片的标题是姓名,头像不进卡片
|
|
196
203
|
render: (e) => d(
|
|
197
|
-
|
|
204
|
+
je,
|
|
198
205
|
{ round: !0, size: "small", src: e.avatar || void 0 },
|
|
199
|
-
e.avatar ? { fallback: () =>
|
|
206
|
+
e.avatar ? { fallback: () => ie(e.name) } : { default: () => ie(e.name) }
|
|
200
207
|
)
|
|
201
208
|
},
|
|
202
209
|
{
|
|
203
210
|
key: "account",
|
|
204
211
|
ellipsis: { tooltip: !0 },
|
|
205
|
-
title: () =>
|
|
206
|
-
search: { actions:
|
|
212
|
+
title: () => r("user.account"),
|
|
213
|
+
search: { actions: Q.fuzzy },
|
|
207
214
|
sorter: !0
|
|
208
215
|
},
|
|
209
216
|
{
|
|
210
217
|
key: "name",
|
|
211
218
|
ellipsis: { tooltip: !0 },
|
|
212
|
-
title: () =>
|
|
219
|
+
title: () => r("user.name"),
|
|
213
220
|
card: "title",
|
|
214
|
-
search: { actions:
|
|
221
|
+
search: { actions: Q.fuzzy },
|
|
215
222
|
sorter: !0
|
|
216
223
|
},
|
|
217
224
|
{
|
|
218
225
|
key: "phone",
|
|
219
226
|
width: 130,
|
|
220
227
|
ellipsis: { tooltip: !0 },
|
|
221
|
-
title: () =>
|
|
228
|
+
title: () => r("user.phone"),
|
|
222
229
|
sorter: !0,
|
|
223
|
-
render: (e) => e.phone ? d("span", { class: "num" }, e.phone) :
|
|
230
|
+
render: (e) => e.phone ? d("span", { class: "num" }, e.phone) : E()
|
|
224
231
|
},
|
|
225
232
|
{
|
|
226
233
|
key: "gender",
|
|
227
|
-
title: () =>
|
|
234
|
+
title: () => r("user.gender"),
|
|
228
235
|
width: 80,
|
|
229
236
|
hideInTable: !0,
|
|
230
237
|
// 次要列:默认隐藏收窄整表,列设置抽屉可打开
|
|
231
|
-
render: (e) => e.gender ? d(
|
|
238
|
+
render: (e) => e.gender ? d(nt, { typeCode: "gender", value: e.gender }) : E()
|
|
232
239
|
},
|
|
233
240
|
// 只作搜索项,不进表格也不进列设置。options 直接吃编辑表单已拉好的 roleOptions(SmartTable 支持 Ref 选项源),不额外发请求;
|
|
234
241
|
// 列上有 options,搜索控件自动是 select。
|
|
235
242
|
{
|
|
236
243
|
key: "roleId",
|
|
237
|
-
title: () =>
|
|
244
|
+
title: () => r("user.roles"),
|
|
238
245
|
hideInTable: !0,
|
|
239
|
-
options:
|
|
240
|
-
search: { actions:
|
|
246
|
+
options: L,
|
|
247
|
+
search: { actions: Q.exact, props: { clearable: !0 } }
|
|
241
248
|
},
|
|
242
249
|
{
|
|
243
250
|
key: "orgName",
|
|
244
251
|
ellipsis: { tooltip: !0 },
|
|
245
|
-
title: () =>
|
|
246
|
-
render: (e) => e.orgName ||
|
|
252
|
+
title: () => r("user.org"),
|
|
253
|
+
render: (e) => e.orgName || E()
|
|
247
254
|
},
|
|
248
255
|
{
|
|
249
256
|
key: "positionName",
|
|
250
|
-
title: () =>
|
|
257
|
+
title: () => r("user.position"),
|
|
251
258
|
hideInTable: !0,
|
|
252
|
-
render: (e) => e.positionName ||
|
|
259
|
+
render: (e) => e.positionName || E()
|
|
253
260
|
},
|
|
254
261
|
{
|
|
255
262
|
key: "enabled",
|
|
256
|
-
title: () =>
|
|
263
|
+
title: () => r("user.status"),
|
|
257
264
|
width: 90,
|
|
258
265
|
sorter: !0,
|
|
259
|
-
render: (e) => d(
|
|
266
|
+
render: (e) => d(st, {
|
|
260
267
|
value: e.enabled,
|
|
261
268
|
// 超管不可停用(防自锁 —— 停了就没法从 UI 恢复;后端也保护);无启停权限亦置灰。
|
|
262
|
-
disabled: e.isSuperAdmin || !
|
|
263
|
-
confirm: (
|
|
264
|
-
request: (
|
|
265
|
-
"onUpdate:value": (
|
|
266
|
-
e.enabled =
|
|
269
|
+
disabled: e.isSuperAdmin || !f.hasPerm("PUT:/api/v1/sys/user/{id}/enabled"),
|
|
270
|
+
confirm: (t) => t ? null : r("user.disableConfirm", { name: e.name }),
|
|
271
|
+
request: (t) => c.setEnabled(e.id, t),
|
|
272
|
+
"onUpdate:value": (t) => {
|
|
273
|
+
e.enabled = t;
|
|
267
274
|
}
|
|
268
275
|
})
|
|
269
276
|
},
|
|
270
277
|
{
|
|
271
278
|
key: "isSuperAdmin",
|
|
272
|
-
title: () =>
|
|
279
|
+
title: () => r("user.superAdmin"),
|
|
273
280
|
width: 90,
|
|
274
|
-
render: (e) => e.isSuperAdmin ? d(
|
|
281
|
+
render: (e) => e.isSuperAdmin ? d(Je, { type: "warning", size: "small", bordered: !1 }, () => r("user.superAdmin")) : E()
|
|
275
282
|
},
|
|
276
283
|
{
|
|
277
284
|
key: "createTime",
|
|
278
285
|
width: 170,
|
|
279
|
-
title: () =>
|
|
286
|
+
title: () => r("user.createTime"),
|
|
280
287
|
format: "datetime",
|
|
281
288
|
sorter: !0
|
|
282
289
|
},
|
|
@@ -284,75 +291,75 @@ const Sr = { class: "side-filter__head" }, Er = { class: "side-filter__actions"
|
|
|
284
291
|
// width 须够「编辑+删除+更多」单行;wrap:false 禁止 NSpace 默认换行(否则「更多」掉到删除下一行)。
|
|
285
292
|
{
|
|
286
293
|
key: "op",
|
|
287
|
-
title: () =>
|
|
294
|
+
title: () => r("common.operation"),
|
|
288
295
|
width: 200,
|
|
289
296
|
fixed: "right",
|
|
290
297
|
// 钉右:横向滚动时操作列始终可见
|
|
291
298
|
hideInSetting: !0,
|
|
292
299
|
render: (e) => {
|
|
293
300
|
const u = [
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
e.totpEnabled &&
|
|
301
|
+
f.hasPerm("PUT:/api/v1/sys/user/menu") && !e.isSuperAdmin && e.id !== we.value ? { key: "grantMenus", label: r("userGrant.action"), icon: W("ph:list-checks") } : null,
|
|
302
|
+
f.hasPerm("PUT:/api/v1/sys/user/{id}/password") ? { key: "resetPassword", label: r("user.resetPassword"), icon: W("ph:key") } : null,
|
|
303
|
+
e.totpEnabled && f.hasPerm("POST:/api/v1/sys/mfa/clear") ? {
|
|
297
304
|
key: "clearMfa",
|
|
298
|
-
label:
|
|
299
|
-
icon:
|
|
300
|
-
disabled:
|
|
305
|
+
label: r("user.clearMfa"),
|
|
306
|
+
icon: W("ph:link-break"),
|
|
307
|
+
disabled: I.value
|
|
301
308
|
} : null
|
|
302
309
|
].filter((o) => o !== null);
|
|
303
|
-
return d(
|
|
304
|
-
|
|
305
|
-
|
|
310
|
+
return d(Qe, { size: 4, wrap: !1, wrapItem: !1 }, () => [
|
|
311
|
+
f.hasPerm("PUT:/api/v1/sys/user/{id}") ? d(
|
|
312
|
+
k,
|
|
306
313
|
{
|
|
307
314
|
size: "small",
|
|
308
315
|
quaternary: !0,
|
|
309
316
|
type: "primary",
|
|
310
317
|
onClick: () => {
|
|
311
318
|
var o;
|
|
312
|
-
return (o =
|
|
319
|
+
return (o = U.value) == null ? void 0 : o.openEdit(e);
|
|
313
320
|
}
|
|
314
321
|
},
|
|
315
|
-
() =>
|
|
322
|
+
() => r("common.edit")
|
|
316
323
|
) : null,
|
|
317
|
-
e.isSuperAdmin || !
|
|
318
|
-
|
|
324
|
+
e.isSuperAdmin || !f.hasPerm("DELETE:/api/v1/sys/user/{id}") ? null : d(
|
|
325
|
+
Xe,
|
|
319
326
|
{
|
|
320
|
-
onPositiveClick: () =>
|
|
321
|
-
var
|
|
322
|
-
o && ((
|
|
327
|
+
onPositiveClick: () => ve(() => c.remove(e.id), r("user.deleted")).then((o) => {
|
|
328
|
+
var l;
|
|
329
|
+
o && ((l = v.value) == null || l.refresh());
|
|
323
330
|
})
|
|
324
331
|
},
|
|
325
332
|
{
|
|
326
333
|
trigger: () => d(
|
|
327
|
-
|
|
334
|
+
k,
|
|
328
335
|
{ size: "small", quaternary: !0, type: "error" },
|
|
329
|
-
() =>
|
|
336
|
+
() => r("common.delete")
|
|
330
337
|
),
|
|
331
|
-
default: () =>
|
|
338
|
+
default: () => r("user.deleteConfirm", { name: e.name })
|
|
332
339
|
}
|
|
333
340
|
),
|
|
334
341
|
u.length ? d(
|
|
335
|
-
|
|
342
|
+
Ye,
|
|
336
343
|
{
|
|
337
344
|
trigger: "click",
|
|
338
345
|
options: u,
|
|
339
346
|
onSelect: (o) => {
|
|
340
|
-
var
|
|
341
|
-
o === "resetPassword" ? (
|
|
347
|
+
var l, O;
|
|
348
|
+
o === "resetPassword" ? (l = D.value) == null || l.openReset(e) : o === "clearMfa" ? be(e) : o === "grantMenus" && ((O = F.value) == null || O.open({ id: e.id, name: e.name }));
|
|
342
349
|
}
|
|
343
350
|
},
|
|
344
351
|
() => d(
|
|
345
|
-
|
|
352
|
+
k,
|
|
346
353
|
{
|
|
347
354
|
size: "small",
|
|
348
355
|
quaternary: !0,
|
|
349
356
|
type: "primary",
|
|
350
357
|
iconPlacement: "right",
|
|
351
|
-
loading:
|
|
358
|
+
loading: I.value
|
|
352
359
|
},
|
|
353
360
|
{
|
|
354
|
-
default: () =>
|
|
355
|
-
icon: () => d(
|
|
361
|
+
default: () => r("common.more"),
|
|
362
|
+
icon: () => d(m, { icon: "ph:caret-down", size: 12 })
|
|
356
363
|
}
|
|
357
364
|
)
|
|
358
365
|
) : null
|
|
@@ -360,87 +367,105 @@ const Sr = { class: "side-filter__head" }, Er = { class: "side-filter__actions"
|
|
|
360
367
|
}
|
|
361
368
|
}
|
|
362
369
|
];
|
|
363
|
-
return
|
|
364
|
-
const u =
|
|
365
|
-
return
|
|
366
|
-
|
|
367
|
-
default: i(() => [
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
370
|
+
return xt(de), (e, t) => {
|
|
371
|
+
const u = Ge("auth");
|
|
372
|
+
return y(), j(Be, null, [
|
|
373
|
+
s(a(xe), null, {
|
|
374
|
+
default: i(({ drawer: o }) => [
|
|
375
|
+
g("div", At, [
|
|
376
|
+
o ? T("", !0) : (y(), j("span", Rt, b(a(r)("user.orgFilter")), 1)),
|
|
377
|
+
g("div", zt, [
|
|
378
|
+
Ne.value ? (y(), N(a(me), { key: 0 }, {
|
|
371
379
|
trigger: i(() => [
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
}, null, 8, ["icon"])
|
|
384
|
-
]),
|
|
385
|
-
_: 1
|
|
386
|
-
}, 8, ["aria-label"])
|
|
380
|
+
g("button", {
|
|
381
|
+
type: "button",
|
|
382
|
+
class: J(["side-filter__btn side-filter__toggle", { "is-flipped": K.value }]),
|
|
383
|
+
"aria-label": se.value,
|
|
384
|
+
onClick: Pe
|
|
385
|
+
}, [
|
|
386
|
+
s(m, {
|
|
387
|
+
icon: "ph:caret-double-down",
|
|
388
|
+
size: 14
|
|
389
|
+
})
|
|
390
|
+
], 10, Mt)
|
|
387
391
|
]),
|
|
388
392
|
default: i(() => [
|
|
389
|
-
|
|
393
|
+
P(" " + b(se.value), 1)
|
|
390
394
|
]),
|
|
391
395
|
_: 1
|
|
392
|
-
})) :
|
|
396
|
+
})) : T("", !0),
|
|
397
|
+
o ? T("", !0) : (y(), N(a(me), { key: 1 }, {
|
|
398
|
+
trigger: i(() => [
|
|
399
|
+
g("button", {
|
|
400
|
+
type: "button",
|
|
401
|
+
class: "side-filter__btn side-filter__hide",
|
|
402
|
+
"aria-label": a(r)("user.hideOrgPanel"),
|
|
403
|
+
onClick: t[0] || (t[0] = (l) => _.value = !0)
|
|
404
|
+
}, [
|
|
405
|
+
s(m, {
|
|
406
|
+
icon: "ph:sidebar-simple",
|
|
407
|
+
size: 16
|
|
408
|
+
})
|
|
409
|
+
], 8, Ut)
|
|
410
|
+
]),
|
|
411
|
+
default: i(() => [
|
|
412
|
+
P(" " + b(a(r)("user.hideOrgPanel")), 1)
|
|
413
|
+
]),
|
|
414
|
+
_: 1
|
|
415
|
+
}))
|
|
393
416
|
])
|
|
394
417
|
]),
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
418
|
+
Ee.value ? (y(), N(a(Ze), {
|
|
419
|
+
key: 0,
|
|
420
|
+
value: B.value,
|
|
421
|
+
"onUpdate:value": t[1] || (t[1] = (l) => B.value = l),
|
|
398
422
|
size: "small",
|
|
399
423
|
clearable: "",
|
|
400
|
-
placeholder: a(
|
|
424
|
+
placeholder: a(r)("org.searchPlaceholder")
|
|
401
425
|
}, {
|
|
402
426
|
prefix: i(() => [
|
|
403
|
-
|
|
427
|
+
s(m, {
|
|
404
428
|
icon: "ph:magnifying-glass",
|
|
405
429
|
size: 14
|
|
406
430
|
})
|
|
407
431
|
]),
|
|
408
432
|
_: 1
|
|
409
|
-
}, 8, ["value", "placeholder"]),
|
|
410
|
-
|
|
433
|
+
}, 8, ["value", "placeholder"])) : T("", !0),
|
|
434
|
+
g("button", {
|
|
411
435
|
type: "button",
|
|
412
|
-
class:
|
|
413
|
-
onClick:
|
|
436
|
+
class: J(["side-row", { "is-active": h.value === null }]),
|
|
437
|
+
onClick: t[2] || (t[2] = (l) => ae(null))
|
|
414
438
|
}, [
|
|
415
|
-
|
|
439
|
+
s(m, {
|
|
416
440
|
class: "side-row__icon",
|
|
417
441
|
icon: "ph:squares-four",
|
|
418
442
|
size: 15
|
|
419
443
|
}),
|
|
420
|
-
|
|
444
|
+
g("span", Dt, b(a(r)("user.allOrgs")), 1)
|
|
421
445
|
], 2),
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
show:
|
|
446
|
+
t[15] || (t[15] = g("div", { class: "side-filter__divider" }, null, -1)),
|
|
447
|
+
s(a(et), {
|
|
448
|
+
show: ee.value,
|
|
425
449
|
class: "fill-pass"
|
|
426
450
|
}, {
|
|
427
451
|
default: i(() => [
|
|
428
|
-
|
|
452
|
+
s(a(tt), {
|
|
429
453
|
class: "side-tree",
|
|
430
454
|
"block-line": "",
|
|
431
455
|
selectable: "",
|
|
432
|
-
|
|
456
|
+
indent: 16,
|
|
433
457
|
"key-field": "id",
|
|
434
458
|
"label-field": "name",
|
|
435
459
|
"children-field": "children",
|
|
436
|
-
data:
|
|
437
|
-
pattern:
|
|
438
|
-
filter:
|
|
460
|
+
data: G.value,
|
|
461
|
+
pattern: B.value,
|
|
462
|
+
filter: Te,
|
|
439
463
|
"show-irrelevant-nodes": !1,
|
|
440
|
-
"selected-keys":
|
|
441
|
-
"expanded-keys":
|
|
442
|
-
"
|
|
443
|
-
"onUpdate:
|
|
464
|
+
"selected-keys": h.value == null ? [] : [h.value],
|
|
465
|
+
"expanded-keys": w.value,
|
|
466
|
+
"render-switcher-icon": Oe,
|
|
467
|
+
"onUpdate:selectedKeys": ke,
|
|
468
|
+
"onUpdate:expandedKeys": t[3] || (t[3] = (l) => w.value = l)
|
|
444
469
|
}, null, 8, ["data", "pattern", "selected-keys", "expanded-keys"])
|
|
445
470
|
]),
|
|
446
471
|
_: 1
|
|
@@ -448,51 +473,55 @@ const Sr = { class: "side-filter__head" }, Er = { class: "side-filter__actions"
|
|
|
448
473
|
]),
|
|
449
474
|
_: 1
|
|
450
475
|
}),
|
|
451
|
-
|
|
476
|
+
g("div", {
|
|
452
477
|
ref_key: "layoutRef",
|
|
453
|
-
ref:
|
|
478
|
+
ref: re,
|
|
454
479
|
class: "user-layout side-page"
|
|
455
480
|
}, [
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
481
|
+
x.value ? T("", !0) : (y(), j("aside", {
|
|
482
|
+
key: 0,
|
|
483
|
+
class: J(["side-filter", { "is-hidden": a(_) }]),
|
|
484
|
+
inert: a(_) || void 0
|
|
485
|
+
}, [
|
|
486
|
+
s(a(le))
|
|
487
|
+
], 10, Ft)),
|
|
488
|
+
s(a(lt), {
|
|
460
489
|
ref_key: "tableRef",
|
|
461
|
-
ref:
|
|
462
|
-
columns:
|
|
463
|
-
fetcher: a(
|
|
464
|
-
params:
|
|
490
|
+
ref: v,
|
|
491
|
+
columns: de,
|
|
492
|
+
fetcher: a(c).page,
|
|
493
|
+
params: te.value,
|
|
465
494
|
search: { container: "table" },
|
|
466
|
-
toolbar:
|
|
495
|
+
toolbar: Ae.value,
|
|
467
496
|
"fill-height": "",
|
|
468
|
-
"min-row-height": a(
|
|
497
|
+
"min-row-height": a(Ot),
|
|
469
498
|
"card-on-narrow": "",
|
|
470
499
|
"storage-key": "sys-user",
|
|
471
|
-
"checked-row-keys": a(
|
|
472
|
-
"onUpdate:sorter":
|
|
473
|
-
"onUpdate:checkedRowKeys":
|
|
474
|
-
onMoreSelect:
|
|
475
|
-
onError:
|
|
476
|
-
},
|
|
500
|
+
"checked-row-keys": a(X),
|
|
501
|
+
"onUpdate:sorter": Ue,
|
|
502
|
+
"onUpdate:checkedRowKeys": t[5] || (t[5] = (o) => X.value = o),
|
|
503
|
+
onMoreSelect: Re,
|
|
504
|
+
onError: t[6] || (t[6] = (o) => a(M).error(a(fe)(o)))
|
|
505
|
+
}, $e({
|
|
477
506
|
"pagination-prefix": i(({ itemCount: o }) => [
|
|
478
|
-
|
|
507
|
+
s(Tt, { count: o }, null, 8, ["count"])
|
|
479
508
|
]),
|
|
480
509
|
"toolbar-right": i(() => [
|
|
481
|
-
|
|
510
|
+
ce((y(), N(a(k), {
|
|
482
511
|
type: "primary",
|
|
483
|
-
onClick:
|
|
484
|
-
var
|
|
485
|
-
return (
|
|
512
|
+
onClick: t[4] || (t[4] = (o) => {
|
|
513
|
+
var l;
|
|
514
|
+
return (l = U.value) == null ? void 0 : l.openAdd();
|
|
486
515
|
})
|
|
487
516
|
}, {
|
|
488
517
|
icon: i(() => [
|
|
489
|
-
|
|
518
|
+
s(m, {
|
|
490
519
|
icon: "ph:plus",
|
|
491
520
|
size: 16
|
|
492
521
|
})
|
|
493
522
|
]),
|
|
494
523
|
default: i(() => [
|
|
495
|
-
|
|
524
|
+
P(" " + b(a(r)("common.add")), 1)
|
|
496
525
|
]),
|
|
497
526
|
_: 1
|
|
498
527
|
})), [
|
|
@@ -500,19 +529,19 @@ const Sr = { class: "side-filter__head" }, Er = { class: "side-filter__actions"
|
|
|
500
529
|
])
|
|
501
530
|
]),
|
|
502
531
|
batch: i(() => [
|
|
503
|
-
|
|
532
|
+
ce((y(), N(a(k), {
|
|
504
533
|
secondary: "",
|
|
505
534
|
type: "error",
|
|
506
|
-
onClick: a(
|
|
535
|
+
onClick: a(he)
|
|
507
536
|
}, {
|
|
508
537
|
icon: i(() => [
|
|
509
|
-
|
|
538
|
+
s(m, {
|
|
510
539
|
icon: "ph:trash",
|
|
511
540
|
size: 16
|
|
512
541
|
})
|
|
513
542
|
]),
|
|
514
543
|
default: i(() => [
|
|
515
|
-
|
|
544
|
+
P(" " + b(a(r)("common.batchDelete")), 1)
|
|
516
545
|
]),
|
|
517
546
|
_: 1
|
|
518
547
|
}, 8, ["onClick"])), [
|
|
@@ -521,43 +550,45 @@ const Sr = { class: "side-filter__head" }, Er = { class: "side-filter__actions"
|
|
|
521
550
|
]),
|
|
522
551
|
_: 2
|
|
523
552
|
}, [
|
|
524
|
-
|
|
553
|
+
x.value || a(_) ? {
|
|
525
554
|
name: "toolbar",
|
|
526
555
|
fn: i(() => [
|
|
527
|
-
|
|
556
|
+
s(a(k), {
|
|
557
|
+
class: "org-trigger",
|
|
528
558
|
secondary: "",
|
|
529
|
-
|
|
559
|
+
title: x.value ? void 0 : a(r)("user.showOrgPanel"),
|
|
560
|
+
onClick: Se
|
|
530
561
|
}, {
|
|
531
562
|
icon: i(() => [
|
|
532
|
-
|
|
533
|
-
icon: "ph:tree-structure",
|
|
563
|
+
s(m, {
|
|
564
|
+
icon: x.value ? "ph:tree-structure" : "ph:sidebar-simple",
|
|
534
565
|
size: 16
|
|
535
|
-
})
|
|
566
|
+
}, null, 8, ["icon"])
|
|
536
567
|
]),
|
|
537
568
|
default: i(() => [
|
|
538
|
-
|
|
569
|
+
P(" " + b(_e.value), 1)
|
|
539
570
|
]),
|
|
540
571
|
_: 1
|
|
541
|
-
})
|
|
572
|
+
}, 8, ["title"])
|
|
542
573
|
]),
|
|
543
574
|
key: "0"
|
|
544
575
|
} : void 0
|
|
545
576
|
]), 1032, ["fetcher", "params", "toolbar", "min-row-height", "checked-row-keys"])
|
|
546
577
|
], 512),
|
|
547
|
-
|
|
548
|
-
show:
|
|
549
|
-
"onUpdate:show":
|
|
578
|
+
s(a(rt), {
|
|
579
|
+
show: C.value,
|
|
580
|
+
"onUpdate:show": t[7] || (t[7] = (o) => C.value = o),
|
|
550
581
|
placement: "left",
|
|
551
582
|
width: "min(300px, 88vw)"
|
|
552
583
|
}, {
|
|
553
584
|
default: i(() => [
|
|
554
|
-
|
|
555
|
-
title: a(
|
|
585
|
+
s(a(ot), {
|
|
586
|
+
title: a(r)("user.orgFilter"),
|
|
556
587
|
closable: ""
|
|
557
588
|
}, {
|
|
558
589
|
default: i(() => [
|
|
559
|
-
|
|
560
|
-
|
|
590
|
+
g("div", Lt, [
|
|
591
|
+
s(a(le), { drawer: !0 })
|
|
561
592
|
])
|
|
562
593
|
]),
|
|
563
594
|
_: 1
|
|
@@ -565,63 +596,63 @@ const Sr = { class: "side-filter__head" }, Er = { class: "side-filter__actions"
|
|
|
565
596
|
]),
|
|
566
597
|
_: 1
|
|
567
598
|
}, 8, ["show"]),
|
|
568
|
-
|
|
599
|
+
s(dt, {
|
|
569
600
|
ref_key: "userFormRef",
|
|
570
|
-
ref:
|
|
571
|
-
"position-options":
|
|
572
|
-
"role-options":
|
|
573
|
-
"director-options":
|
|
574
|
-
onSaved:
|
|
601
|
+
ref: U,
|
|
602
|
+
"position-options": Y.value,
|
|
603
|
+
"role-options": L.value,
|
|
604
|
+
"director-options": Z.value,
|
|
605
|
+
onSaved: t[8] || (t[8] = () => {
|
|
575
606
|
var o;
|
|
576
|
-
return (o =
|
|
607
|
+
return (o = v.value) == null ? void 0 : o.refresh();
|
|
577
608
|
}),
|
|
578
|
-
onPasswordGenerated:
|
|
579
|
-
var
|
|
580
|
-
return (
|
|
609
|
+
onPasswordGenerated: t[9] || (t[9] = (o) => {
|
|
610
|
+
var l;
|
|
611
|
+
return (l = D.value) == null ? void 0 : l.showResult(o, !0);
|
|
581
612
|
})
|
|
582
613
|
}, null, 8, ["position-options", "role-options", "director-options"]),
|
|
583
|
-
|
|
614
|
+
s(pt, {
|
|
584
615
|
ref_key: "resetModalRef",
|
|
585
|
-
ref:
|
|
616
|
+
ref: D
|
|
586
617
|
}, null, 512),
|
|
587
|
-
|
|
618
|
+
s(ct, {
|
|
588
619
|
ref_key: "grantSheetRef",
|
|
589
|
-
ref:
|
|
590
|
-
onSaved:
|
|
620
|
+
ref: F,
|
|
621
|
+
onSaved: Ie
|
|
591
622
|
}, null, 512),
|
|
592
|
-
|
|
623
|
+
s(mt, {
|
|
593
624
|
ref_key: "grantOverviewRef",
|
|
594
|
-
ref:
|
|
595
|
-
show:
|
|
596
|
-
"onUpdate:show":
|
|
597
|
-
onAdjust:
|
|
598
|
-
var
|
|
599
|
-
return (
|
|
625
|
+
ref: ue,
|
|
626
|
+
show: z.value,
|
|
627
|
+
"onUpdate:show": t[10] || (t[10] = (o) => z.value = o),
|
|
628
|
+
onAdjust: t[11] || (t[11] = (o) => {
|
|
629
|
+
var l;
|
|
630
|
+
return (l = F.value) == null ? void 0 : l.open(o);
|
|
600
631
|
})
|
|
601
632
|
}, null, 8, ["show"]),
|
|
602
|
-
|
|
603
|
-
show:
|
|
604
|
-
"onUpdate:show":
|
|
605
|
-
api:
|
|
606
|
-
"template-file-name": a(
|
|
607
|
-
"error-report-file-name": a(
|
|
608
|
-
onDone:
|
|
633
|
+
s(it, {
|
|
634
|
+
show: q.value,
|
|
635
|
+
"onUpdate:show": t[12] || (t[12] = (o) => q.value = o),
|
|
636
|
+
api: Me,
|
|
637
|
+
"template-file-name": a(r)("userExport.importTemplateName"),
|
|
638
|
+
"error-report-file-name": a(r)("userExport.errorReportName"),
|
|
639
|
+
onDone: t[13] || (t[13] = () => {
|
|
609
640
|
var o;
|
|
610
|
-
return (o =
|
|
641
|
+
return (o = v.value) == null ? void 0 : o.refresh();
|
|
611
642
|
})
|
|
612
643
|
}, null, 8, ["show", "template-file-name", "error-report-file-name"]),
|
|
613
|
-
|
|
614
|
-
show:
|
|
615
|
-
"onUpdate:show":
|
|
616
|
-
columns:
|
|
617
|
-
loading:
|
|
618
|
-
onConfirm:
|
|
644
|
+
s(ut, {
|
|
645
|
+
show: R.value,
|
|
646
|
+
"onUpdate:show": t[14] || (t[14] = (o) => R.value = o),
|
|
647
|
+
columns: ze,
|
|
648
|
+
loading: H.value,
|
|
649
|
+
onConfirm: De
|
|
619
650
|
}, null, 8, ["show", "loading"])
|
|
620
651
|
], 64);
|
|
621
652
|
};
|
|
622
653
|
}
|
|
623
654
|
});
|
|
624
655
|
export {
|
|
625
|
-
|
|
656
|
+
vr as default
|
|
626
657
|
};
|
|
627
658
|
//# sourceMappingURL=index2.vue.js.map
|