smart-admin-web 10.20.1 → 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/api/index.d.ts +19 -1
- package/dist/api/index.js +85 -66
- package/dist/api/index.js.map +1 -1
- package/dist/api/schema.d.ts +448 -1
- package/dist/assets/icons/ph-subset.json.js +1 -1
- package/dist/components/FormContainer/index.vue.js +87 -75
- package/dist/components/FormContainer/index.vue.js.map +1 -1
- package/dist/components/UserPicker/UserAvatar.vue.d.ts +8 -0
- package/dist/components/UserPicker/UserAvatar.vue.js +8 -0
- package/dist/components/UserPicker/UserAvatar.vue.js.map +1 -0
- package/dist/components/UserPicker/UserAvatar2.vue.js +38 -0
- package/dist/components/UserPicker/UserAvatar2.vue.js.map +1 -0
- package/dist/components/UserPicker/index.vue.js +1 -1
- package/dist/components/UserPicker/index2.vue.js +328 -186
- package/dist/components/UserPicker/index2.vue.js.map +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 +246 -242
- 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/lib/watermark.d.ts +1 -1
- package/dist/locales/en-US.d.ts +68 -3
- package/dist/locales/en-US.js +74 -8
- package/dist/locales/en-US.js.map +1 -1
- package/dist/locales/kernelMenuTitles.js +1 -0
- package/dist/locales/kernelMenuTitles.js.map +1 -1
- package/dist/locales/zh-CN.d.ts +68 -3
- package/dist/locales/zh-CN.js +74 -8
- package/dist/locales/zh-CN.js.map +1 -1
- package/dist/router/viewRegistry.js +6 -6
- package/dist/router/viewRegistry.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/theme/naive-theme.js +80 -77
- package/dist/theme/naive-theme.js.map +1 -1
- package/dist/types/api.d.ts +91 -0
- package/dist/types/api.js +17 -15
- package/dist/types/api.js.map +1 -1
- package/dist/utils/shake.d.ts +1 -0
- package/dist/utils/shake.js +30 -0
- package/dist/utils/shake.js.map +1 -0
- 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/LoginForm.vue.js +2 -2
- package/dist/views/login/LoginForm2.vue.js +135 -135
- package/dist/views/login/LoginForm2.vue.js.map +1 -1
- package/dist/views/login/components/LoginDesk.vue.js +2 -2
- package/dist/views/login/components/LoginDesk2.vue.js +59 -47
- 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/personal/notice2.vue.js +1 -1
- package/dist/views/personal/notice2.vue.js.map +1 -1
- package/dist/views/personal/sessions.vue.js +2 -2
- package/dist/views/personal/sessions2.vue.js +41 -40
- package/dist/views/personal/sessions2.vue.js.map +1 -1
- package/dist/views/system/ai-usage/index.vue.js +3 -3
- package/dist/views/system/ai-usage/index2.vue.js +13 -12
- package/dist/views/system/ai-usage/index2.vue.js.map +1 -1
- package/dist/views/system/config/components/AdvancedSection.vue.js +3 -3
- package/dist/views/system/config/components/AdvancedSection2.vue.js +2 -1
- package/dist/views/system/config/components/AdvancedSection2.vue.js.map +1 -1
- package/dist/views/system/dict/index.vue.js +2 -2
- package/dist/views/system/dict/index2.vue.js +12 -1
- package/dist/views/system/dict/index2.vue.js.map +1 -1
- package/dist/views/system/file/index2.vue.js +1 -0
- package/dist/views/system/file/index2.vue.js.map +1 -1
- package/dist/views/system/job/index.vue.js +3 -3
- package/dist/views/system/job/index2.vue.js +182 -181
- package/dist/views/system/job/index2.vue.js.map +1 -1
- package/dist/views/system/job-log/components/AttemptTable2.vue.js +8 -3
- package/dist/views/system/job-log/components/AttemptTable2.vue.js.map +1 -1
- package/dist/views/system/job-log/index.vue.js +1 -1
- package/dist/views/system/job-log/index2.vue.js +5 -5
- package/dist/views/system/job-log/index2.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/log/exception/index.vue.js +2 -2
- package/dist/views/system/log/exception/index2.vue.js +8 -5
- package/dist/views/system/log/exception/index2.vue.js.map +1 -1
- package/dist/views/system/log/login/index2.vue.js +21 -12
- package/dist/views/system/log/login/index2.vue.js.map +1 -1
- package/dist/views/system/log/op/index.vue.js +2 -2
- package/dist/views/system/log/op/index2.vue.js +50 -40
- package/dist/views/system/log/op/index2.vue.js.map +1 -1
- package/dist/views/system/menu/components/ButtonManager.vue.js +2 -2
- package/dist/views/system/menu/components/ButtonManager2.vue.js +45 -36
- package/dist/views/system/menu/components/ButtonManager2.vue.js.map +1 -1
- package/dist/views/system/menu/index.vue.js +1 -1
- package/dist/views/system/menu/index2.vue.js +162 -151
- package/dist/views/system/menu/index2.vue.js.map +1 -1
- package/dist/views/system/module/index.vue.js +1 -1
- package/dist/views/system/module/index2.vue.js +171 -117
- package/dist/views/system/module/index2.vue.js.map +1 -1
- package/dist/views/system/notice/index.vue.js +3 -3
- package/dist/views/system/notice/index2.vue.js +1 -0
- package/dist/views/system/notice/index2.vue.js.map +1 -1
- package/dist/views/system/org/index.vue.js +2 -2
- package/dist/views/system/org/index2.vue.js +204 -195
- package/dist/views/system/org/index2.vue.js.map +1 -1
- package/dist/views/system/position/index.vue.js +2 -2
- package/dist/views/system/position/index2.vue.js +57 -48
- package/dist/views/system/position/index2.vue.js.map +1 -1
- package/dist/views/system/recycle/index.vue.js +1 -1
- package/dist/views/system/recycle/index2.vue.js +3 -1
- package/dist/views/system/recycle/index2.vue.js.map +1 -1
- package/dist/views/system/role/components/GrantMenuSheet.vue.d.ts +2 -0
- package/dist/views/system/role/components/GrantMenuSheet.vue.js +2 -2
- package/dist/views/system/role/components/GrantMenuSheet2.vue.js +54 -49
- package/dist/views/system/role/components/GrantMenuSheet2.vue.js.map +1 -1
- package/dist/views/system/role/components/GrantMenuTable.vue.js +1 -1
- package/dist/views/system/role/components/GrantMenuTable2.vue.js +159 -195
- package/dist/views/system/role/components/GrantMenuTable2.vue.js.map +1 -1
- package/dist/views/system/role/components/grantMenuGroups.d.ts +54 -0
- package/dist/views/system/role/components/grantMenuGroups.js +116 -76
- package/dist/views/system/role/components/grantMenuGroups.js.map +1 -1
- package/dist/views/system/role/index.vue.js +2 -2
- package/dist/views/system/role/index2.vue.js +152 -145
- package/dist/views/system/role/index2.vue.js.map +1 -1
- package/dist/views/system/session/index2.vue.js +39 -35
- package/dist/views/system/session/index2.vue.js.map +1 -1
- package/dist/views/system/user/components/UserGrantEffectiveTable.vue.d.ts +10 -0
- package/dist/views/system/user/components/UserGrantEffectiveTable.vue.js +5 -0
- package/dist/views/system/user/components/UserGrantEffectiveTable.vue.js.map +1 -0
- package/dist/views/system/user/components/UserGrantEffectiveTable2.vue.js +96 -0
- package/dist/views/system/user/components/UserGrantEffectiveTable2.vue.js.map +1 -0
- package/dist/views/system/user/components/UserGrantMenuSheet.vue.d.ts +13 -0
- package/dist/views/system/user/components/UserGrantMenuSheet.vue.js +8 -0
- package/dist/views/system/user/components/UserGrantMenuSheet.vue.js.map +1 -0
- package/dist/views/system/user/components/UserGrantMenuSheet2.vue.js +216 -0
- package/dist/views/system/user/components/UserGrantMenuSheet2.vue.js.map +1 -0
- package/dist/views/system/user/components/UserGrantMenuTable.vue.d.ts +13 -0
- package/dist/views/system/user/components/UserGrantMenuTable.vue.js +8 -0
- package/dist/views/system/user/components/UserGrantMenuTable.vue.js.map +1 -0
- package/dist/views/system/user/components/UserGrantMenuTable2.vue.js +186 -0
- package/dist/views/system/user/components/UserGrantMenuTable2.vue.js.map +1 -0
- package/dist/views/system/user/components/UserGrantNodeRow.vue.d.ts +31 -0
- package/dist/views/system/user/components/UserGrantNodeRow.vue.js +8 -0
- package/dist/views/system/user/components/UserGrantNodeRow.vue.js.map +1 -0
- package/dist/views/system/user/components/UserGrantNodeRow2.vue.js +171 -0
- package/dist/views/system/user/components/UserGrantNodeRow2.vue.js.map +1 -0
- package/dist/views/system/user/components/UserGrantOverviewDrawer.vue.d.ts +21 -0
- package/dist/views/system/user/components/UserGrantOverviewDrawer.vue.js +5 -0
- package/dist/views/system/user/components/UserGrantOverviewDrawer.vue.js.map +1 -0
- package/dist/views/system/user/components/UserGrantOverviewDrawer2.vue.js +178 -0
- package/dist/views/system/user/components/UserGrantOverviewDrawer2.vue.js.map +1 -0
- package/dist/views/system/user/components/userGrantState.d.ts +64 -0
- package/dist/views/system/user/components/userGrantState.js +117 -0
- package/dist/views/system/user/components/userGrantState.js.map +1 -0
- package/dist/views/system/user/index.vue.js +2 -2
- package/dist/views/system/user/index2.vue.js +369 -295
- package/dist/views/system/user/index2.vue.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,330 +1,365 @@
|
|
|
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 {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
|
|
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 = {
|
|
25
28
|
key: 0,
|
|
26
|
-
class: "side-
|
|
27
|
-
},
|
|
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({
|
|
28
31
|
__name: "index",
|
|
29
|
-
setup(
|
|
30
|
-
const { t } =
|
|
31
|
-
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,
|
|
32
35
|
refresh: () => {
|
|
33
36
|
var e;
|
|
34
|
-
return (e =
|
|
37
|
+
return (e = v.value) == null ? void 0 : e.refresh();
|
|
35
38
|
},
|
|
36
|
-
successMsg:
|
|
37
|
-
}),
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
successMsg: r("user.deleted")
|
|
40
|
+
}), U = n(null), D = n(null), F = n(null), ye = kt(), we = p(() => {
|
|
41
|
+
var e;
|
|
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;
|
|
41
47
|
try {
|
|
42
|
-
await
|
|
43
|
-
content:
|
|
44
|
-
action: () =>
|
|
45
|
-
successMsg:
|
|
46
|
-
}) && ((
|
|
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());
|
|
47
53
|
} finally {
|
|
48
|
-
|
|
54
|
+
I.value = !1;
|
|
49
55
|
}
|
|
50
56
|
}
|
|
51
|
-
const
|
|
52
|
-
() =>
|
|
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 }
|
|
53
59
|
);
|
|
54
|
-
function
|
|
55
|
-
|
|
60
|
+
function ke(e) {
|
|
61
|
+
ae(e.length ? Number(e[0]) : null);
|
|
62
|
+
}
|
|
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;
|
|
56
66
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
c.value = e, T.value = !1;
|
|
67
|
+
function Se() {
|
|
68
|
+
x.value ? C.value = !0 : _.value = !1;
|
|
60
69
|
}
|
|
61
|
-
const [
|
|
70
|
+
const [xe, le] = He(), _e = p(
|
|
62
71
|
() => {
|
|
63
72
|
var e;
|
|
64
|
-
return ((e = S.value.find((
|
|
73
|
+
return ((e = S.value.find((t) => t.id === h.value)) == null ? void 0 : e.name) ?? r("user.orgFilter");
|
|
65
74
|
}
|
|
66
|
-
),
|
|
67
|
-
function
|
|
75
|
+
), Ee = p(() => S.value.length > Bt), B = n(""), Oe = () => d(m, { icon: "ph:caret-right", size: 12 });
|
|
76
|
+
function Te(e, t) {
|
|
68
77
|
const u = e.trim().toLowerCase();
|
|
69
78
|
if (!u) return !0;
|
|
70
|
-
const o =
|
|
79
|
+
const o = t;
|
|
71
80
|
return o.name.toLowerCase().includes(u) || (o.code ?? "").toLowerCase().includes(u);
|
|
72
81
|
}
|
|
73
|
-
const
|
|
74
|
-
() =>
|
|
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")
|
|
75
88
|
);
|
|
76
|
-
function
|
|
77
|
-
|
|
89
|
+
function Pe() {
|
|
90
|
+
w.value = K.value ? [...$.value] : [...A.value];
|
|
78
91
|
}
|
|
79
|
-
|
|
80
|
-
var
|
|
92
|
+
pe(h, (e) => {
|
|
93
|
+
var l;
|
|
81
94
|
if (e == null) return;
|
|
82
|
-
const
|
|
83
|
-
let o = ((
|
|
84
|
-
for (; o &&
|
|
85
|
-
u.add(o), o =
|
|
86
|
-
|
|
87
|
-
}),
|
|
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 () => {
|
|
88
101
|
try {
|
|
89
|
-
const { items: e } = await
|
|
90
|
-
|
|
102
|
+
const { items: e } = await gt.page({ page: 1, pageSize: 200 });
|
|
103
|
+
Y.value = e.map((t) => ({ label: t.name, value: t.id }));
|
|
91
104
|
} catch {
|
|
92
105
|
}
|
|
93
106
|
try {
|
|
94
|
-
const { items: e } = await
|
|
95
|
-
|
|
107
|
+
const { items: e } = await ht.page({ page: 1, pageSize: 200 });
|
|
108
|
+
L.value = e.map((t) => ({ label: t.name, value: t.id }));
|
|
96
109
|
} catch {
|
|
97
110
|
}
|
|
98
111
|
try {
|
|
99
|
-
const { items: e } = await
|
|
100
|
-
|
|
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 }));
|
|
101
114
|
} catch {
|
|
102
115
|
}
|
|
103
116
|
try {
|
|
104
|
-
S.value = await
|
|
117
|
+
S.value = await yt.list(), w.value = [...$.value];
|
|
105
118
|
} catch {
|
|
106
119
|
} finally {
|
|
107
|
-
|
|
120
|
+
ee.value = !1;
|
|
108
121
|
}
|
|
109
122
|
});
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
[
|
|
113
|
-
([e,
|
|
114
|
-
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));
|
|
115
128
|
},
|
|
116
129
|
{ immediate: !0 }
|
|
117
130
|
);
|
|
118
|
-
const
|
|
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());
|
|
135
|
+
}
|
|
136
|
+
const Ce = p(
|
|
119
137
|
() => [
|
|
120
|
-
|
|
121
|
-
|
|
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
|
|
122
141
|
].filter((e) => e !== null)
|
|
123
|
-
),
|
|
124
|
-
function
|
|
125
|
-
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);
|
|
126
145
|
}
|
|
127
|
-
const
|
|
128
|
-
{ key: "Account", title:
|
|
129
|
-
{ key: "Name", title:
|
|
130
|
-
{ key: "Nickname", title:
|
|
131
|
-
{ key: "Phone", title:
|
|
132
|
-
{ key: "Email", title:
|
|
133
|
-
{ key: "Gender", title:
|
|
134
|
-
{ key: "OrgName", title:
|
|
135
|
-
{ key: "PositionName", title:
|
|
136
|
-
{ key: "DirectorName", title:
|
|
137
|
-
{ key: "Enabled", title:
|
|
138
|
-
{ key: "IsSuperAdmin", title:
|
|
139
|
-
{ key: "CreateTime", title:
|
|
140
|
-
],
|
|
141
|
-
downloadTemplate: () =>
|
|
142
|
-
preview: (e,
|
|
143
|
-
validate: (e) =>
|
|
144
|
-
commit: (e,
|
|
145
|
-
errorReport: (e) =>
|
|
146
|
-
},
|
|
147
|
-
function
|
|
148
|
-
const
|
|
149
|
-
|
|
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;
|
|
150
169
|
}
|
|
151
|
-
async function
|
|
170
|
+
async function De(e) {
|
|
152
171
|
var u, o;
|
|
153
|
-
const
|
|
154
|
-
|
|
172
|
+
const t = _t(v.value);
|
|
173
|
+
H.value = !0;
|
|
155
174
|
try {
|
|
156
|
-
const
|
|
157
|
-
account:
|
|
158
|
-
name:
|
|
159
|
-
orgId:
|
|
160
|
-
roleId:
|
|
161
|
-
sortField: (u =
|
|
162
|
-
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,
|
|
163
182
|
columns: e.join(",")
|
|
164
183
|
});
|
|
165
|
-
|
|
166
|
-
} catch (
|
|
167
|
-
|
|
184
|
+
Nt(l, r("userExport.fileName")), R.value = !1, M.success(r("export.done"));
|
|
185
|
+
} catch (l) {
|
|
186
|
+
M.error(fe(l));
|
|
168
187
|
} finally {
|
|
169
|
-
|
|
188
|
+
H.value = !1;
|
|
170
189
|
}
|
|
171
190
|
}
|
|
172
|
-
const
|
|
173
|
-
{ 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" },
|
|
174
193
|
// 超管行禁勾:批量删除同样不可含超管(后端也会整体拒绝)
|
|
175
194
|
{ type: "selection", disabled: (e) => e.isSuperAdmin },
|
|
176
195
|
{
|
|
177
196
|
key: "avatar",
|
|
178
|
-
title: () =>
|
|
197
|
+
title: () => r("user.avatar"),
|
|
179
198
|
width: 64,
|
|
180
199
|
align: "center",
|
|
181
200
|
hideInSetting: !1,
|
|
182
201
|
card: !1,
|
|
183
202
|
// 窄档卡片的标题是姓名,头像不进卡片
|
|
184
203
|
render: (e) => d(
|
|
185
|
-
|
|
204
|
+
je,
|
|
186
205
|
{ round: !0, size: "small", src: e.avatar || void 0 },
|
|
187
|
-
e.avatar ? { fallback: () =>
|
|
206
|
+
e.avatar ? { fallback: () => ie(e.name) } : { default: () => ie(e.name) }
|
|
188
207
|
)
|
|
189
208
|
},
|
|
190
209
|
{
|
|
191
210
|
key: "account",
|
|
192
|
-
|
|
193
|
-
|
|
211
|
+
ellipsis: { tooltip: !0 },
|
|
212
|
+
title: () => r("user.account"),
|
|
213
|
+
search: { actions: Q.fuzzy },
|
|
194
214
|
sorter: !0
|
|
195
215
|
},
|
|
196
216
|
{
|
|
197
217
|
key: "name",
|
|
198
|
-
|
|
218
|
+
ellipsis: { tooltip: !0 },
|
|
219
|
+
title: () => r("user.name"),
|
|
199
220
|
card: "title",
|
|
200
|
-
search: { actions:
|
|
221
|
+
search: { actions: Q.fuzzy },
|
|
201
222
|
sorter: !0
|
|
202
223
|
},
|
|
203
224
|
{
|
|
204
225
|
key: "phone",
|
|
205
|
-
|
|
226
|
+
width: 130,
|
|
227
|
+
ellipsis: { tooltip: !0 },
|
|
228
|
+
title: () => r("user.phone"),
|
|
206
229
|
sorter: !0,
|
|
207
|
-
render: (e) => e.phone ? d("span", { class: "num" }, e.phone) :
|
|
230
|
+
render: (e) => e.phone ? d("span", { class: "num" }, e.phone) : E()
|
|
208
231
|
},
|
|
209
232
|
{
|
|
210
233
|
key: "gender",
|
|
211
|
-
title: () =>
|
|
234
|
+
title: () => r("user.gender"),
|
|
212
235
|
width: 80,
|
|
213
236
|
hideInTable: !0,
|
|
214
237
|
// 次要列:默认隐藏收窄整表,列设置抽屉可打开
|
|
215
|
-
render: (e) => e.gender ? d(
|
|
238
|
+
render: (e) => e.gender ? d(nt, { typeCode: "gender", value: e.gender }) : E()
|
|
216
239
|
},
|
|
217
240
|
// 只作搜索项,不进表格也不进列设置。options 直接吃编辑表单已拉好的 roleOptions(SmartTable 支持 Ref 选项源),不额外发请求;
|
|
218
241
|
// 列上有 options,搜索控件自动是 select。
|
|
219
242
|
{
|
|
220
243
|
key: "roleId",
|
|
221
|
-
title: () =>
|
|
244
|
+
title: () => r("user.roles"),
|
|
222
245
|
hideInTable: !0,
|
|
223
|
-
options:
|
|
224
|
-
search: { actions:
|
|
246
|
+
options: L,
|
|
247
|
+
search: { actions: Q.exact, props: { clearable: !0 } }
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
key: "orgName",
|
|
251
|
+
ellipsis: { tooltip: !0 },
|
|
252
|
+
title: () => r("user.org"),
|
|
253
|
+
render: (e) => e.orgName || E()
|
|
225
254
|
},
|
|
226
|
-
{ key: "orgName", title: () => t("user.org"), render: (e) => e.orgName || k() },
|
|
227
255
|
{
|
|
228
256
|
key: "positionName",
|
|
229
|
-
title: () =>
|
|
257
|
+
title: () => r("user.position"),
|
|
230
258
|
hideInTable: !0,
|
|
231
|
-
render: (e) => e.positionName ||
|
|
259
|
+
render: (e) => e.positionName || E()
|
|
232
260
|
},
|
|
233
261
|
{
|
|
234
262
|
key: "enabled",
|
|
235
|
-
title: () =>
|
|
263
|
+
title: () => r("user.status"),
|
|
236
264
|
width: 90,
|
|
237
265
|
sorter: !0,
|
|
238
|
-
render: (e) => d(
|
|
266
|
+
render: (e) => d(st, {
|
|
239
267
|
value: e.enabled,
|
|
240
268
|
// 超管不可停用(防自锁 —— 停了就没法从 UI 恢复;后端也保护);无启停权限亦置灰。
|
|
241
|
-
disabled: e.isSuperAdmin || !
|
|
242
|
-
confirm: (
|
|
243
|
-
request: (
|
|
244
|
-
"onUpdate:value": (
|
|
245
|
-
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;
|
|
246
274
|
}
|
|
247
275
|
})
|
|
248
276
|
},
|
|
249
277
|
{
|
|
250
278
|
key: "isSuperAdmin",
|
|
251
|
-
title: () =>
|
|
279
|
+
title: () => r("user.superAdmin"),
|
|
252
280
|
width: 90,
|
|
253
|
-
render: (e) => e.isSuperAdmin ? d(
|
|
281
|
+
render: (e) => e.isSuperAdmin ? d(Je, { type: "warning", size: "small", bordered: !1 }, () => r("user.superAdmin")) : E()
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
key: "createTime",
|
|
285
|
+
width: 170,
|
|
286
|
+
title: () => r("user.createTime"),
|
|
287
|
+
format: "datetime",
|
|
288
|
+
sorter: !0
|
|
254
289
|
},
|
|
255
|
-
{ key: "createTime", title: () => t("user.createTime"), format: "datetime", sorter: !0 },
|
|
256
290
|
// 操作:编辑/删除外露;重置密码、解绑验证器进「更多」(放操作列末尾)。
|
|
257
291
|
// width 须够「编辑+删除+更多」单行;wrap:false 禁止 NSpace 默认换行(否则「更多」掉到删除下一行)。
|
|
258
292
|
{
|
|
259
293
|
key: "op",
|
|
260
|
-
title: () =>
|
|
294
|
+
title: () => r("common.operation"),
|
|
261
295
|
width: 200,
|
|
262
296
|
fixed: "right",
|
|
263
297
|
// 钉右:横向滚动时操作列始终可见
|
|
264
298
|
hideInSetting: !0,
|
|
265
299
|
render: (e) => {
|
|
266
300
|
const u = [
|
|
267
|
-
|
|
268
|
-
|
|
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") ? {
|
|
269
304
|
key: "clearMfa",
|
|
270
|
-
label:
|
|
271
|
-
icon:
|
|
272
|
-
disabled:
|
|
305
|
+
label: r("user.clearMfa"),
|
|
306
|
+
icon: W("ph:link-break"),
|
|
307
|
+
disabled: I.value
|
|
273
308
|
} : null
|
|
274
309
|
].filter((o) => o !== null);
|
|
275
|
-
return d(
|
|
276
|
-
|
|
277
|
-
|
|
310
|
+
return d(Qe, { size: 4, wrap: !1, wrapItem: !1 }, () => [
|
|
311
|
+
f.hasPerm("PUT:/api/v1/sys/user/{id}") ? d(
|
|
312
|
+
k,
|
|
278
313
|
{
|
|
279
314
|
size: "small",
|
|
280
315
|
quaternary: !0,
|
|
281
316
|
type: "primary",
|
|
282
317
|
onClick: () => {
|
|
283
318
|
var o;
|
|
284
|
-
return (o =
|
|
319
|
+
return (o = U.value) == null ? void 0 : o.openEdit(e);
|
|
285
320
|
}
|
|
286
321
|
},
|
|
287
|
-
() =>
|
|
322
|
+
() => r("common.edit")
|
|
288
323
|
) : null,
|
|
289
|
-
e.isSuperAdmin || !
|
|
290
|
-
|
|
324
|
+
e.isSuperAdmin || !f.hasPerm("DELETE:/api/v1/sys/user/{id}") ? null : d(
|
|
325
|
+
Xe,
|
|
291
326
|
{
|
|
292
|
-
onPositiveClick: () =>
|
|
293
|
-
var
|
|
294
|
-
o && ((
|
|
327
|
+
onPositiveClick: () => ve(() => c.remove(e.id), r("user.deleted")).then((o) => {
|
|
328
|
+
var l;
|
|
329
|
+
o && ((l = v.value) == null || l.refresh());
|
|
295
330
|
})
|
|
296
331
|
},
|
|
297
332
|
{
|
|
298
333
|
trigger: () => d(
|
|
299
|
-
|
|
334
|
+
k,
|
|
300
335
|
{ size: "small", quaternary: !0, type: "error" },
|
|
301
|
-
() =>
|
|
336
|
+
() => r("common.delete")
|
|
302
337
|
),
|
|
303
|
-
default: () =>
|
|
338
|
+
default: () => r("user.deleteConfirm", { name: e.name })
|
|
304
339
|
}
|
|
305
340
|
),
|
|
306
341
|
u.length ? d(
|
|
307
|
-
|
|
342
|
+
Ye,
|
|
308
343
|
{
|
|
309
344
|
trigger: "click",
|
|
310
345
|
options: u,
|
|
311
346
|
onSelect: (o) => {
|
|
312
|
-
var
|
|
313
|
-
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 }));
|
|
314
349
|
}
|
|
315
350
|
},
|
|
316
351
|
() => d(
|
|
317
|
-
|
|
352
|
+
k,
|
|
318
353
|
{
|
|
319
354
|
size: "small",
|
|
320
355
|
quaternary: !0,
|
|
321
356
|
type: "primary",
|
|
322
357
|
iconPlacement: "right",
|
|
323
|
-
loading:
|
|
358
|
+
loading: I.value
|
|
324
359
|
},
|
|
325
360
|
{
|
|
326
|
-
default: () =>
|
|
327
|
-
icon: () => d(
|
|
361
|
+
default: () => r("common.more"),
|
|
362
|
+
icon: () => d(m, { icon: "ph:caret-down", size: 12 })
|
|
328
363
|
}
|
|
329
364
|
)
|
|
330
365
|
) : null
|
|
@@ -332,87 +367,105 @@ const fr = { class: "side-filter__head" }, vr = { class: "side-filter__actions"
|
|
|
332
367
|
}
|
|
333
368
|
}
|
|
334
369
|
];
|
|
335
|
-
return
|
|
336
|
-
const u =
|
|
337
|
-
return
|
|
338
|
-
|
|
339
|
-
default: i(() => [
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
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 }, {
|
|
343
379
|
trigger: i(() => [
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
}, null, 8, ["icon"])
|
|
356
|
-
]),
|
|
357
|
-
_: 1
|
|
358
|
-
}, 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)
|
|
359
391
|
]),
|
|
360
392
|
default: i(() => [
|
|
361
|
-
P(" " +
|
|
393
|
+
P(" " + b(se.value), 1)
|
|
362
394
|
]),
|
|
363
395
|
_: 1
|
|
364
|
-
})) :
|
|
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
|
+
}))
|
|
365
416
|
])
|
|
366
417
|
]),
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
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),
|
|
370
422
|
size: "small",
|
|
371
423
|
clearable: "",
|
|
372
|
-
placeholder: a(
|
|
424
|
+
placeholder: a(r)("org.searchPlaceholder")
|
|
373
425
|
}, {
|
|
374
426
|
prefix: i(() => [
|
|
375
|
-
|
|
427
|
+
s(m, {
|
|
376
428
|
icon: "ph:magnifying-glass",
|
|
377
429
|
size: 14
|
|
378
430
|
})
|
|
379
431
|
]),
|
|
380
432
|
_: 1
|
|
381
|
-
}, 8, ["value", "placeholder"]),
|
|
382
|
-
|
|
433
|
+
}, 8, ["value", "placeholder"])) : T("", !0),
|
|
434
|
+
g("button", {
|
|
383
435
|
type: "button",
|
|
384
|
-
class:
|
|
385
|
-
onClick:
|
|
436
|
+
class: J(["side-row", { "is-active": h.value === null }]),
|
|
437
|
+
onClick: t[2] || (t[2] = (l) => ae(null))
|
|
386
438
|
}, [
|
|
387
|
-
|
|
439
|
+
s(m, {
|
|
388
440
|
class: "side-row__icon",
|
|
389
441
|
icon: "ph:squares-four",
|
|
390
442
|
size: 15
|
|
391
443
|
}),
|
|
392
|
-
|
|
444
|
+
g("span", Dt, b(a(r)("user.allOrgs")), 1)
|
|
393
445
|
], 2),
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
show:
|
|
446
|
+
t[15] || (t[15] = g("div", { class: "side-filter__divider" }, null, -1)),
|
|
447
|
+
s(a(et), {
|
|
448
|
+
show: ee.value,
|
|
397
449
|
class: "fill-pass"
|
|
398
450
|
}, {
|
|
399
451
|
default: i(() => [
|
|
400
|
-
|
|
452
|
+
s(a(tt), {
|
|
401
453
|
class: "side-tree",
|
|
402
454
|
"block-line": "",
|
|
403
455
|
selectable: "",
|
|
404
|
-
|
|
456
|
+
indent: 16,
|
|
405
457
|
"key-field": "id",
|
|
406
458
|
"label-field": "name",
|
|
407
459
|
"children-field": "children",
|
|
408
|
-
data:
|
|
409
|
-
pattern:
|
|
410
|
-
filter:
|
|
460
|
+
data: G.value,
|
|
461
|
+
pattern: B.value,
|
|
462
|
+
filter: Te,
|
|
411
463
|
"show-irrelevant-nodes": !1,
|
|
412
|
-
"selected-keys":
|
|
413
|
-
"expanded-keys":
|
|
414
|
-
"
|
|
415
|
-
"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)
|
|
416
469
|
}, null, 8, ["data", "pattern", "selected-keys", "expanded-keys"])
|
|
417
470
|
]),
|
|
418
471
|
_: 1
|
|
@@ -420,51 +473,55 @@ const fr = { class: "side-filter__head" }, vr = { class: "side-filter__actions"
|
|
|
420
473
|
]),
|
|
421
474
|
_: 1
|
|
422
475
|
}),
|
|
423
|
-
|
|
476
|
+
g("div", {
|
|
424
477
|
ref_key: "layoutRef",
|
|
425
|
-
ref:
|
|
478
|
+
ref: re,
|
|
426
479
|
class: "user-layout side-page"
|
|
427
480
|
}, [
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
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), {
|
|
432
489
|
ref_key: "tableRef",
|
|
433
|
-
ref:
|
|
434
|
-
columns:
|
|
435
|
-
fetcher: a(
|
|
436
|
-
params:
|
|
490
|
+
ref: v,
|
|
491
|
+
columns: de,
|
|
492
|
+
fetcher: a(c).page,
|
|
493
|
+
params: te.value,
|
|
437
494
|
search: { container: "table" },
|
|
438
|
-
toolbar:
|
|
495
|
+
toolbar: Ae.value,
|
|
439
496
|
"fill-height": "",
|
|
440
|
-
"min-row-height": a(
|
|
497
|
+
"min-row-height": a(Ot),
|
|
441
498
|
"card-on-narrow": "",
|
|
442
499
|
"storage-key": "sys-user",
|
|
443
|
-
"checked-row-keys": a(
|
|
444
|
-
"onUpdate:sorter":
|
|
445
|
-
"onUpdate:checkedRowKeys":
|
|
446
|
-
onMoreSelect:
|
|
447
|
-
onError:
|
|
448
|
-
},
|
|
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({
|
|
449
506
|
"pagination-prefix": i(({ itemCount: o }) => [
|
|
450
|
-
|
|
507
|
+
s(Tt, { count: o }, null, 8, ["count"])
|
|
451
508
|
]),
|
|
452
509
|
"toolbar-right": i(() => [
|
|
453
|
-
|
|
510
|
+
ce((y(), N(a(k), {
|
|
454
511
|
type: "primary",
|
|
455
|
-
onClick:
|
|
456
|
-
var
|
|
457
|
-
return (
|
|
512
|
+
onClick: t[4] || (t[4] = (o) => {
|
|
513
|
+
var l;
|
|
514
|
+
return (l = U.value) == null ? void 0 : l.openAdd();
|
|
458
515
|
})
|
|
459
516
|
}, {
|
|
460
517
|
icon: i(() => [
|
|
461
|
-
|
|
518
|
+
s(m, {
|
|
462
519
|
icon: "ph:plus",
|
|
463
520
|
size: 16
|
|
464
521
|
})
|
|
465
522
|
]),
|
|
466
523
|
default: i(() => [
|
|
467
|
-
P(" " +
|
|
524
|
+
P(" " + b(a(r)("common.add")), 1)
|
|
468
525
|
]),
|
|
469
526
|
_: 1
|
|
470
527
|
})), [
|
|
@@ -472,19 +529,19 @@ const fr = { class: "side-filter__head" }, vr = { class: "side-filter__actions"
|
|
|
472
529
|
])
|
|
473
530
|
]),
|
|
474
531
|
batch: i(() => [
|
|
475
|
-
|
|
532
|
+
ce((y(), N(a(k), {
|
|
476
533
|
secondary: "",
|
|
477
534
|
type: "error",
|
|
478
|
-
onClick: a(
|
|
535
|
+
onClick: a(he)
|
|
479
536
|
}, {
|
|
480
537
|
icon: i(() => [
|
|
481
|
-
|
|
538
|
+
s(m, {
|
|
482
539
|
icon: "ph:trash",
|
|
483
540
|
size: 16
|
|
484
541
|
})
|
|
485
542
|
]),
|
|
486
543
|
default: i(() => [
|
|
487
|
-
P(" " +
|
|
544
|
+
P(" " + b(a(r)("common.batchDelete")), 1)
|
|
488
545
|
]),
|
|
489
546
|
_: 1
|
|
490
547
|
}, 8, ["onClick"])), [
|
|
@@ -493,43 +550,45 @@ const fr = { class: "side-filter__head" }, vr = { class: "side-filter__actions"
|
|
|
493
550
|
]),
|
|
494
551
|
_: 2
|
|
495
552
|
}, [
|
|
496
|
-
|
|
553
|
+
x.value || a(_) ? {
|
|
497
554
|
name: "toolbar",
|
|
498
555
|
fn: i(() => [
|
|
499
|
-
|
|
556
|
+
s(a(k), {
|
|
557
|
+
class: "org-trigger",
|
|
500
558
|
secondary: "",
|
|
501
|
-
|
|
559
|
+
title: x.value ? void 0 : a(r)("user.showOrgPanel"),
|
|
560
|
+
onClick: Se
|
|
502
561
|
}, {
|
|
503
562
|
icon: i(() => [
|
|
504
|
-
|
|
505
|
-
icon: "ph:tree-structure",
|
|
563
|
+
s(m, {
|
|
564
|
+
icon: x.value ? "ph:tree-structure" : "ph:sidebar-simple",
|
|
506
565
|
size: 16
|
|
507
|
-
})
|
|
566
|
+
}, null, 8, ["icon"])
|
|
508
567
|
]),
|
|
509
568
|
default: i(() => [
|
|
510
|
-
P(" " +
|
|
569
|
+
P(" " + b(_e.value), 1)
|
|
511
570
|
]),
|
|
512
571
|
_: 1
|
|
513
|
-
})
|
|
572
|
+
}, 8, ["title"])
|
|
514
573
|
]),
|
|
515
574
|
key: "0"
|
|
516
575
|
} : void 0
|
|
517
576
|
]), 1032, ["fetcher", "params", "toolbar", "min-row-height", "checked-row-keys"])
|
|
518
577
|
], 512),
|
|
519
|
-
|
|
520
|
-
show:
|
|
521
|
-
"onUpdate:show":
|
|
578
|
+
s(a(rt), {
|
|
579
|
+
show: C.value,
|
|
580
|
+
"onUpdate:show": t[7] || (t[7] = (o) => C.value = o),
|
|
522
581
|
placement: "left",
|
|
523
582
|
width: "min(300px, 88vw)"
|
|
524
583
|
}, {
|
|
525
584
|
default: i(() => [
|
|
526
|
-
|
|
527
|
-
title: a(
|
|
585
|
+
s(a(ot), {
|
|
586
|
+
title: a(r)("user.orgFilter"),
|
|
528
587
|
closable: ""
|
|
529
588
|
}, {
|
|
530
589
|
default: i(() => [
|
|
531
|
-
|
|
532
|
-
|
|
590
|
+
g("div", Lt, [
|
|
591
|
+
s(a(le), { drawer: !0 })
|
|
533
592
|
])
|
|
534
593
|
]),
|
|
535
594
|
_: 1
|
|
@@ -537,48 +596,63 @@ const fr = { class: "side-filter__head" }, vr = { class: "side-filter__actions"
|
|
|
537
596
|
]),
|
|
538
597
|
_: 1
|
|
539
598
|
}, 8, ["show"]),
|
|
540
|
-
|
|
599
|
+
s(dt, {
|
|
541
600
|
ref_key: "userFormRef",
|
|
542
|
-
ref:
|
|
543
|
-
"position-options":
|
|
544
|
-
"role-options":
|
|
545
|
-
"director-options":
|
|
546
|
-
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] = () => {
|
|
547
606
|
var o;
|
|
548
|
-
return (o =
|
|
607
|
+
return (o = v.value) == null ? void 0 : o.refresh();
|
|
549
608
|
}),
|
|
550
|
-
onPasswordGenerated:
|
|
551
|
-
var
|
|
552
|
-
return (
|
|
609
|
+
onPasswordGenerated: t[9] || (t[9] = (o) => {
|
|
610
|
+
var l;
|
|
611
|
+
return (l = D.value) == null ? void 0 : l.showResult(o, !0);
|
|
553
612
|
})
|
|
554
613
|
}, null, 8, ["position-options", "role-options", "director-options"]),
|
|
555
|
-
|
|
614
|
+
s(pt, {
|
|
556
615
|
ref_key: "resetModalRef",
|
|
557
|
-
ref:
|
|
616
|
+
ref: D
|
|
558
617
|
}, null, 512),
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
618
|
+
s(ct, {
|
|
619
|
+
ref_key: "grantSheetRef",
|
|
620
|
+
ref: F,
|
|
621
|
+
onSaved: Ie
|
|
622
|
+
}, null, 512),
|
|
623
|
+
s(mt, {
|
|
624
|
+
ref_key: "grantOverviewRef",
|
|
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);
|
|
631
|
+
})
|
|
632
|
+
}, null, 8, ["show"]),
|
|
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] = () => {
|
|
566
640
|
var o;
|
|
567
|
-
return (o =
|
|
641
|
+
return (o = v.value) == null ? void 0 : o.refresh();
|
|
568
642
|
})
|
|
569
643
|
}, null, 8, ["show", "template-file-name", "error-report-file-name"]),
|
|
570
|
-
|
|
571
|
-
show:
|
|
572
|
-
"onUpdate:show":
|
|
573
|
-
columns:
|
|
574
|
-
loading:
|
|
575
|
-
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
|
|
576
650
|
}, null, 8, ["show", "loading"])
|
|
577
651
|
], 64);
|
|
578
652
|
};
|
|
579
653
|
}
|
|
580
654
|
});
|
|
581
655
|
export {
|
|
582
|
-
|
|
656
|
+
vr as default
|
|
583
657
|
};
|
|
584
658
|
//# sourceMappingURL=index2.vue.js.map
|