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.
Files changed (44) hide show
  1. package/dist/assets/icons/ph-subset.json.js +1 -1
  2. package/dist/composables/authMenuRoute.d.ts +10 -0
  3. package/dist/composables/authMenuRoute.js +39 -23
  4. package/dist/composables/authMenuRoute.js.map +1 -1
  5. package/dist/composables/useModule.d.ts +3 -1
  6. package/dist/composables/useModule.js +44 -32
  7. package/dist/composables/useModule.js.map +1 -1
  8. package/dist/index.js +49 -47
  9. package/dist/layouts/components/SideNav.vue.js +2 -2
  10. package/dist/layouts/components/SideNav2.vue.js.map +1 -1
  11. package/dist/lib/runtime.js +1 -1
  12. package/dist/locales/en-US.d.ts +6 -0
  13. package/dist/locales/en-US.js +9 -2
  14. package/dist/locales/en-US.js.map +1 -1
  15. package/dist/locales/zh-CN.d.ts +6 -0
  16. package/dist/locales/zh-CN.js +9 -2
  17. package/dist/locales/zh-CN.js.map +1 -1
  18. package/dist/style.css +1 -1
  19. package/dist/utils/tree.d.ts +15 -0
  20. package/dist/utils/tree.js +43 -29
  21. package/dist/utils/tree.js.map +1 -1
  22. package/dist/utils/treeCard.d.ts +6 -0
  23. package/dist/utils/treeCard.js +9 -0
  24. package/dist/utils/treeCard.js.map +1 -0
  25. package/dist/views/error/404.vue.js +2 -2
  26. package/dist/views/error/4042.vue.js +81 -24
  27. package/dist/views/error/4042.vue.js.map +1 -1
  28. package/dist/views/login/components/LoginDesk.vue.js +2 -2
  29. package/dist/views/login/components/LoginDesk2.vue.js.map +1 -1
  30. package/dist/views/login/components/LoginHeroPanel.vue.js +2 -2
  31. package/dist/views/login/components/LoginHeroPanel2.vue.js.map +1 -1
  32. package/dist/views/system/job-monitor/index.vue.js +2 -2
  33. package/dist/views/system/job-monitor/index2.vue.js +46 -46
  34. package/dist/views/system/job-monitor/index2.vue.js.map +1 -1
  35. package/dist/views/system/menu/index.vue.js +2 -2
  36. package/dist/views/system/menu/index2.vue.js +161 -150
  37. package/dist/views/system/menu/index2.vue.js.map +1 -1
  38. package/dist/views/system/org/index.vue.js +2 -2
  39. package/dist/views/system/org/index2.vue.js +182 -176
  40. package/dist/views/system/org/index2.vue.js.map +1 -1
  41. package/dist/views/system/user/index.vue.js +2 -2
  42. package/dist/views/system/user/index2.vue.js +348 -317
  43. package/dist/views/system/user/index2.vue.js.map +1 -1
  44. package/package.json +3 -3
@@ -1,282 +1,289 @@
1
- import { defineComponent as Pe, ref as n, computed as f, watch as $, onMounted as Ie, h as d, resolveDirective as Ce, openBlock as S, createElementBlock as se, Fragment as _e, createVNode as l, unref as a, withCtx as i, createElementVNode as h, createBlock as q, createTextVNode as C, toDisplayString as E, createCommentVNode as ne, normalizeClass as ze, createSlots as Re, withDirectives as ie } from "vue";
2
- import { useElementSize as Me, createReusableTemplate as Ue } from "@vueuse/core";
3
- import { useRoute as De } from "vue-router";
4
- import { useMessage as Fe, NAvatar as Be, NTag as Ge, NSpace as Le, NButton as w, NPopconfirm as $e, NDropdown as qe, NTooltip as Ke, NInput as He, NSpin as Ve, NTree as We, NDrawer as je, NDrawerContent as Je } from "naive-ui";
5
- import { useI18n as Qe } from "vue-i18n";
6
- import { SmartTable as Xe } from "smart-naive-table";
7
- import y from "../../../components/AppIcon.vue.js";
8
- import Ye from "../../../components/StatusSwitch/index.vue.js";
9
- import Ze from "../../../components/DictTag/index.vue.js";
10
- import er from "../../../components/ImportWizard/index.vue.js";
11
- import rr from "../../../components/ExportColumnsModal/index.vue.js";
12
- import tr from "./components/UserFormModal.vue.js";
13
- import or from "./components/ResetPasswordModal.vue.js";
14
- import ar from "./components/UserGrantMenuSheet.vue.js";
15
- import lr from "./components/UserGrantOverviewDrawer2.vue.js";
16
- import { useConfirm as sr } from "../../../composables/useConfirm.js";
17
- import { useBatchDelete as nr } from "../../../composables/useBatchDelete.js";
18
- import { userApi as p, positionApi as ir, roleApi as ur, orgApi as dr, mfaApi as pr } from "../../../api/index.js";
19
- import { useAuthStore as mr } from "../../../stores/auth.js";
20
- import { useUserStore as cr } from "../../../stores/user.js";
21
- import { translateError as ue } from "../../../utils/error.js";
22
- import { presetEqualFilter as fr, SEARCH_ACTIONS as K, deriveHeaderFilters as vr, flatSearchOf as yr } from "../../../utils/tableFilter.js";
23
- import { TABLE_TOOLBAR as gr, TABLE_MIN_ROW_HEIGHT as hr } from "../../../utils/tableToolbar.js";
24
- import wr from "../../../components/TableTotal/index.vue.js";
25
- import { triggerBlobDownload as kr } from "../../../utils/download.js";
26
- import { buildTree as br, expandableIds as xr } from "../../../utils/tree.js";
27
- const Sr = { class: "side-filter__head" }, Er = { class: "side-filter__actions" }, Nr = { class: "side-row__label" }, Tr = {
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-filter"
30
- }, Ar = { class: "org-drawer-body" }, Or = 1e3, tt = /* @__PURE__ */ Pe({
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(Pr) {
33
- const { t } = Qe(), _ = Fe(), { run: de, confirm: pe } = sr(), m = mr(), c = n(), { checkedKeys: H, run: me } = nr({
34
- remove: p.batchRemove,
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 = c.value) == null ? void 0 : e.refresh();
37
+ return (e = v.value) == null ? void 0 : e.refresh();
38
38
  },
39
- successMsg: t("user.deleted")
40
- }), z = n(null), R = n(null), M = n(null), ce = cr(), fe = f(() => {
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 = ce.userInfo) == null ? void 0 : e.userId;
43
- }), N = n(!1);
44
- async function ve(e) {
45
- var r;
46
- N.value = !0;
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 pe({
49
- content: t("user.clearMfaConfirm", { name: e.name }),
50
- action: () => pr.clear({ userId: e.id }),
51
- successMsg: t("user.mfaCleared")
52
- }) && ((r = c.value) == null || r.refresh());
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
- N.value = !1;
54
+ I.value = !1;
55
55
  }
56
56
  }
57
- const V = n([]), U = n([]), W = n([]), T = n([]), j = n(!0), J = f(() => br(T.value)), v = n(null), Q = f(
58
- () => v.value == null ? {} : { orgId: v.value }
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 ye(e) {
61
- ee(e.length ? Number(e[0]) : null);
60
+ function ke(e) {
61
+ ae(e.length ? Number(e[0]) : null);
62
62
  }
63
- const X = n(), { width: Y } = Me(X), Z = f(() => Y.value > 0 && Y.value < Or), A = n(!1);
64
- function ee(e) {
65
- v.value = e, A.value = !1;
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
- const [ge, re] = Ue(), he = f(
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 = T.value.find((r) => r.id === v.value)) == null ? void 0 : e.name) ?? t("user.orgFilter");
73
+ return ((e = S.value.find((t) => t.id === h.value)) == null ? void 0 : e.name) ?? r("user.orgFilter");
71
74
  }
72
- ), D = n("");
73
- function we(e, r) {
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 = r;
79
+ const o = t;
77
80
  return o.name.toLowerCase().includes(u) || (o.code ?? "").toLowerCase().includes(u);
78
81
  }
79
- const g = n([]), k = f(() => xr(J.value)), O = f(
80
- () => k.value.length > 0 && g.value.length >= k.value.length
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 ke() {
83
- g.value = O.value ? [] : [...k.value];
89
+ function Pe() {
90
+ w.value = K.value ? [...$.value] : [...A.value];
84
91
  }
85
- $(k, (e) => g.value = e, { immediate: !0 }), $(v, (e) => {
86
- var s;
92
+ pe(h, (e) => {
93
+ var l;
87
94
  if (e == null) return;
88
- const r = new Map(T.value.map((x) => [x.id, x])), u = new Set(g.value);
89
- let o = ((s = r.get(e)) == null ? void 0 : s.parentId) ?? 0;
90
- for (; o && r.has(o); )
91
- u.add(o), o = r.get(o).parentId;
92
- g.value = [...u];
93
- }), Ie(async () => {
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 ir.page({ page: 1, pageSize: 200 });
96
- V.value = e.map((r) => ({ label: r.name, value: r.id }));
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 ur.page({ page: 1, pageSize: 200 });
101
- U.value = e.map((r) => ({ label: r.name, value: r.id }));
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 p.page({ page: 1, pageSize: 200 });
106
- W.value = e.map((r) => ({ label: `${r.name}(${r.account})`, value: r.id }));
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
- T.value = await dr.list();
117
+ S.value = await yt.list(), w.value = [...$.value];
111
118
  } catch {
112
119
  } finally {
113
- j.value = !1;
120
+ ee.value = !1;
114
121
  }
115
122
  });
116
- const te = De();
117
- $(
118
- [c, () => te.query.roleId],
119
- ([e, r]) => {
120
- e && te.path === "/system/user" && fr(e, "roleId", r == null ? void 0 : Number(r));
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 oe = (e) => (e || "?").slice(0, 1), F = n(!1), P = n(!1), B = n(!1), I = n(!1), ae = n(null);
125
- function be() {
126
- var e, r;
127
- (e = c.value) == null || e.refresh(), I.value && ((r = ae.value) == null || r.refresh());
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 xe = f(
136
+ const Ce = p(
130
137
  () => [
131
- m.hasPerm("POST:/api/v1/sys/user/import/preview") ? { label: t("import.button"), key: "import" } : null,
132
- m.hasPerm("GET:/api/v1/sys/user/export") ? { label: t("export.button"), key: "export" } : null,
133
- m.hasPerm("GET:/api/v1/sys/user/menu-grants/page") ? { label: t("userGrant.overview"), key: "grantOverview" } : null
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
- ), Se = f(() => ({ ...gr, more: xe.value }));
136
- function Ee(e) {
137
- e === "import" ? F.value = !0 : e === "export" ? P.value = !0 : e === "grantOverview" && (I.value = !0);
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 Ne = [
140
- { key: "Account", title: t("userExport.account") },
141
- { key: "Name", title: t("userExport.name") },
142
- { key: "Nickname", title: t("userExport.nickname") },
143
- { key: "Phone", title: t("userExport.phone") },
144
- { key: "Email", title: t("userExport.email") },
145
- { key: "Gender", title: t("userExport.gender") },
146
- { key: "OrgName", title: t("userExport.orgName") },
147
- { key: "PositionName", title: t("userExport.positionName") },
148
- { key: "DirectorName", title: t("userExport.directorName") },
149
- { key: "Enabled", title: t("userExport.enabled") },
150
- { key: "IsSuperAdmin", title: t("userExport.superAdmin"), defaultSelected: !1 },
151
- { key: "CreateTime", title: t("userExport.createTime") }
152
- ], Te = {
153
- downloadTemplate: () => p.importTemplate(),
154
- preview: (e, r) => p.importPreview(e, r),
155
- validate: (e) => p.importValidate(e),
156
- commit: (e, r) => p.importCommit(e, r),
157
- errorReport: (e) => p.importErrorReport(e)
158
- }, G = n(null);
159
- function Ae(e) {
160
- const r = Array.isArray(e) ? e[0] : e;
161
- G.value = r && r.order ? { field: String(r.columnKey), order: r.order === "ascend" ? "asc" : "desc" } : null;
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 Oe(e) {
170
+ async function De(e) {
164
171
  var u, o;
165
- const r = yr(c.value);
166
- B.value = !0;
172
+ const t = _t(v.value);
173
+ H.value = !0;
167
174
  try {
168
- const s = await p.export({
169
- account: r.account || void 0,
170
- name: r.name || void 0,
171
- orgId: Q.value.orgId,
172
- roleId: r.roleId != null ? Number(r.roleId) : void 0,
173
- sortField: (u = G.value) == null ? void 0 : u.field,
174
- sortOrder: (o = G.value) == null ? void 0 : o.order,
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
- kr(s, t("userExport.fileName")), P.value = !1, _.success(t("export.done"));
178
- } catch (s) {
179
- _.error(ue(s));
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
- B.value = !1;
188
+ H.value = !1;
182
189
  }
183
190
  }
184
- const b = () => d("span", { class: "faint" }, "—"), L = (e) => () => d(y, { icon: e, size: 16 }), le = [
185
- { type: "index", title: () => t("common.rowNo"), width: 64, align: "center" },
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: () => t("user.avatar"),
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
- Be,
204
+ je,
198
205
  { round: !0, size: "small", src: e.avatar || void 0 },
199
- e.avatar ? { fallback: () => oe(e.name) } : { default: () => oe(e.name) }
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: () => t("user.account"),
206
- search: { actions: K.fuzzy },
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: () => t("user.name"),
219
+ title: () => r("user.name"),
213
220
  card: "title",
214
- search: { actions: K.fuzzy },
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: () => t("user.phone"),
228
+ title: () => r("user.phone"),
222
229
  sorter: !0,
223
- render: (e) => e.phone ? d("span", { class: "num" }, e.phone) : b()
230
+ render: (e) => e.phone ? d("span", { class: "num" }, e.phone) : E()
224
231
  },
225
232
  {
226
233
  key: "gender",
227
- title: () => t("user.gender"),
234
+ title: () => r("user.gender"),
228
235
  width: 80,
229
236
  hideInTable: !0,
230
237
  // 次要列:默认隐藏收窄整表,列设置抽屉可打开
231
- render: (e) => e.gender ? d(Ze, { typeCode: "gender", value: e.gender }) : b()
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: () => t("user.roles"),
244
+ title: () => r("user.roles"),
238
245
  hideInTable: !0,
239
- options: U,
240
- search: { actions: K.exact, props: { clearable: !0 } }
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: () => t("user.org"),
246
- render: (e) => e.orgName || b()
252
+ title: () => r("user.org"),
253
+ render: (e) => e.orgName || E()
247
254
  },
248
255
  {
249
256
  key: "positionName",
250
- title: () => t("user.position"),
257
+ title: () => r("user.position"),
251
258
  hideInTable: !0,
252
- render: (e) => e.positionName || b()
259
+ render: (e) => e.positionName || E()
253
260
  },
254
261
  {
255
262
  key: "enabled",
256
- title: () => t("user.status"),
263
+ title: () => r("user.status"),
257
264
  width: 90,
258
265
  sorter: !0,
259
- render: (e) => d(Ye, {
266
+ render: (e) => d(st, {
260
267
  value: e.enabled,
261
268
  // 超管不可停用(防自锁 —— 停了就没法从 UI 恢复;后端也保护);无启停权限亦置灰。
262
- disabled: e.isSuperAdmin || !m.hasPerm("PUT:/api/v1/sys/user/{id}/enabled"),
263
- confirm: (r) => r ? null : t("user.disableConfirm", { name: e.name }),
264
- request: (r) => p.setEnabled(e.id, r),
265
- "onUpdate:value": (r) => {
266
- e.enabled = r;
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: () => t("user.superAdmin"),
279
+ title: () => r("user.superAdmin"),
273
280
  width: 90,
274
- render: (e) => e.isSuperAdmin ? d(Ge, { type: "warning", size: "small", bordered: !1 }, () => t("user.superAdmin")) : b()
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: () => t("user.createTime"),
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: () => t("common.operation"),
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
- m.hasPerm("PUT:/api/v1/sys/user/menu") && !e.isSuperAdmin && e.id !== fe.value ? { key: "grantMenus", label: t("userGrant.action"), icon: L("ph:list-checks") } : null,
295
- m.hasPerm("PUT:/api/v1/sys/user/{id}/password") ? { key: "resetPassword", label: t("user.resetPassword"), icon: L("ph:key") } : null,
296
- e.totpEnabled && m.hasPerm("POST:/api/v1/sys/mfa/clear") ? {
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: t("user.clearMfa"),
299
- icon: L("ph:link-break"),
300
- disabled: N.value
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(Le, { size: 4, wrap: !1, wrapItem: !1 }, () => [
304
- m.hasPerm("PUT:/api/v1/sys/user/{id}") ? d(
305
- w,
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 = z.value) == null ? void 0 : o.openEdit(e);
319
+ return (o = U.value) == null ? void 0 : o.openEdit(e);
313
320
  }
314
321
  },
315
- () => t("common.edit")
322
+ () => r("common.edit")
316
323
  ) : null,
317
- e.isSuperAdmin || !m.hasPerm("DELETE:/api/v1/sys/user/{id}") ? null : d(
318
- $e,
324
+ e.isSuperAdmin || !f.hasPerm("DELETE:/api/v1/sys/user/{id}") ? null : d(
325
+ Xe,
319
326
  {
320
- onPositiveClick: () => de(() => p.remove(e.id), t("user.deleted")).then((o) => {
321
- var s;
322
- o && ((s = c.value) == null || s.refresh());
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
- w,
334
+ k,
328
335
  { size: "small", quaternary: !0, type: "error" },
329
- () => t("common.delete")
336
+ () => r("common.delete")
330
337
  ),
331
- default: () => t("user.deleteConfirm", { name: e.name })
338
+ default: () => r("user.deleteConfirm", { name: e.name })
332
339
  }
333
340
  ),
334
341
  u.length ? d(
335
- qe,
342
+ Ye,
336
343
  {
337
344
  trigger: "click",
338
345
  options: u,
339
346
  onSelect: (o) => {
340
- var s, x;
341
- o === "resetPassword" ? (s = R.value) == null || s.openReset(e) : o === "clearMfa" ? ve(e) : o === "grantMenus" && ((x = M.value) == null || x.open({ id: e.id, name: e.name }));
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
- w,
352
+ k,
346
353
  {
347
354
  size: "small",
348
355
  quaternary: !0,
349
356
  type: "primary",
350
357
  iconPlacement: "right",
351
- loading: N.value
358
+ loading: I.value
352
359
  },
353
360
  {
354
- default: () => t("common.more"),
355
- icon: () => d(y, { icon: "ph:caret-down", size: 12 })
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 vr(le), (e, r) => {
364
- const u = Ce("auth");
365
- return S(), se(_e, null, [
366
- l(a(ge), null, {
367
- default: i(() => [
368
- h("div", Sr, [
369
- h("div", Er, [
370
- k.value.length ? (S(), q(a(Ke), { key: 0 }, {
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
- l(a(w), {
373
- quaternary: "",
374
- circle: "",
375
- size: "small",
376
- "aria-label": O.value ? a(t)("common.collapseAll") : a(t)("common.expandAll"),
377
- onClick: ke
378
- }, {
379
- icon: i(() => [
380
- l(y, {
381
- icon: O.value ? "ph:arrows-in-line-vertical" : "ph:arrows-out-line-vertical",
382
- size: 18
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
- C(" " + E(O.value ? a(t)("common.collapseAll") : a(t)("common.expandAll")), 1)
393
+ P(" " + b(se.value), 1)
390
394
  ]),
391
395
  _: 1
392
- })) : ne("", !0)
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
- l(a(He), {
396
- value: D.value,
397
- "onUpdate:value": r[0] || (r[0] = (o) => D.value = o),
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(t)("org.searchPlaceholder")
424
+ placeholder: a(r)("org.searchPlaceholder")
401
425
  }, {
402
426
  prefix: i(() => [
403
- l(y, {
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
- h("button", {
433
+ }, 8, ["value", "placeholder"])) : T("", !0),
434
+ g("button", {
411
435
  type: "button",
412
- class: ze(["side-row", { "is-active": v.value === null }]),
413
- onClick: r[1] || (r[1] = (o) => ee(null))
436
+ class: J(["side-row", { "is-active": h.value === null }]),
437
+ onClick: t[2] || (t[2] = (l) => ae(null))
414
438
  }, [
415
- l(y, {
439
+ s(m, {
416
440
  class: "side-row__icon",
417
441
  icon: "ph:squares-four",
418
442
  size: 15
419
443
  }),
420
- h("span", Nr, E(a(t)("user.allOrgs")), 1)
444
+ g("span", Dt, b(a(r)("user.allOrgs")), 1)
421
445
  ], 2),
422
- r[15] || (r[15] = h("div", { class: "side-filter__divider" }, null, -1)),
423
- l(a(Ve), {
424
- show: j.value,
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
- l(a(We), {
452
+ s(a(tt), {
429
453
  class: "side-tree",
430
454
  "block-line": "",
431
455
  selectable: "",
432
- "show-line": "",
456
+ indent: 16,
433
457
  "key-field": "id",
434
458
  "label-field": "name",
435
459
  "children-field": "children",
436
- data: J.value,
437
- pattern: D.value,
438
- filter: we,
460
+ data: G.value,
461
+ pattern: B.value,
462
+ filter: Te,
439
463
  "show-irrelevant-nodes": !1,
440
- "selected-keys": v.value == null ? [] : [v.value],
441
- "expanded-keys": g.value,
442
- "onUpdate:selectedKeys": ye,
443
- "onUpdate:expandedKeys": r[2] || (r[2] = (o) => g.value = o)
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
- h("div", {
476
+ g("div", {
452
477
  ref_key: "layoutRef",
453
- ref: X,
478
+ ref: re,
454
479
  class: "user-layout side-page"
455
480
  }, [
456
- Z.value ? ne("", !0) : (S(), se("aside", Tr, [
457
- l(a(re))
458
- ])),
459
- l(a(Xe), {
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: c,
462
- columns: le,
463
- fetcher: a(p).page,
464
- params: Q.value,
490
+ ref: v,
491
+ columns: de,
492
+ fetcher: a(c).page,
493
+ params: te.value,
465
494
  search: { container: "table" },
466
- toolbar: Se.value,
495
+ toolbar: Ae.value,
467
496
  "fill-height": "",
468
- "min-row-height": a(hr),
497
+ "min-row-height": a(Ot),
469
498
  "card-on-narrow": "",
470
499
  "storage-key": "sys-user",
471
- "checked-row-keys": a(H),
472
- "onUpdate:sorter": Ae,
473
- "onUpdate:checkedRowKeys": r[5] || (r[5] = (o) => H.value = o),
474
- onMoreSelect: Ee,
475
- onError: r[6] || (r[6] = (o) => a(_).error(a(ue)(o)))
476
- }, Re({
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
- l(wr, { count: o }, null, 8, ["count"])
507
+ s(Tt, { count: o }, null, 8, ["count"])
479
508
  ]),
480
509
  "toolbar-right": i(() => [
481
- ie((S(), q(a(w), {
510
+ ce((y(), N(a(k), {
482
511
  type: "primary",
483
- onClick: r[4] || (r[4] = (o) => {
484
- var s;
485
- return (s = z.value) == null ? void 0 : s.openAdd();
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
- l(y, {
518
+ s(m, {
490
519
  icon: "ph:plus",
491
520
  size: 16
492
521
  })
493
522
  ]),
494
523
  default: i(() => [
495
- C(" " + E(a(t)("common.add")), 1)
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
- ie((S(), q(a(w), {
532
+ ce((y(), N(a(k), {
504
533
  secondary: "",
505
534
  type: "error",
506
- onClick: a(me)
535
+ onClick: a(he)
507
536
  }, {
508
537
  icon: i(() => [
509
- l(y, {
538
+ s(m, {
510
539
  icon: "ph:trash",
511
540
  size: 16
512
541
  })
513
542
  ]),
514
543
  default: i(() => [
515
- C(" " + E(a(t)("common.batchDelete")), 1)
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
- Z.value ? {
553
+ x.value || a(_) ? {
525
554
  name: "toolbar",
526
555
  fn: i(() => [
527
- l(a(w), {
556
+ s(a(k), {
557
+ class: "org-trigger",
528
558
  secondary: "",
529
- onClick: r[3] || (r[3] = (o) => A.value = !0)
559
+ title: x.value ? void 0 : a(r)("user.showOrgPanel"),
560
+ onClick: Se
530
561
  }, {
531
562
  icon: i(() => [
532
- l(y, {
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
- C(" " + E(he.value), 1)
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
- l(a(je), {
548
- show: A.value,
549
- "onUpdate:show": r[7] || (r[7] = (o) => A.value = o),
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
- l(a(Je), {
555
- title: a(t)("user.orgFilter"),
585
+ s(a(ot), {
586
+ title: a(r)("user.orgFilter"),
556
587
  closable: ""
557
588
  }, {
558
589
  default: i(() => [
559
- h("div", Ar, [
560
- l(a(re))
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
- l(tr, {
599
+ s(dt, {
569
600
  ref_key: "userFormRef",
570
- ref: z,
571
- "position-options": V.value,
572
- "role-options": U.value,
573
- "director-options": W.value,
574
- onSaved: r[8] || (r[8] = () => {
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 = c.value) == null ? void 0 : o.refresh();
607
+ return (o = v.value) == null ? void 0 : o.refresh();
577
608
  }),
578
- onPasswordGenerated: r[9] || (r[9] = (o) => {
579
- var s;
580
- return (s = R.value) == null ? void 0 : s.showResult(o, !0);
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
- l(or, {
614
+ s(pt, {
584
615
  ref_key: "resetModalRef",
585
- ref: R
616
+ ref: D
586
617
  }, null, 512),
587
- l(ar, {
618
+ s(ct, {
588
619
  ref_key: "grantSheetRef",
589
- ref: M,
590
- onSaved: be
620
+ ref: F,
621
+ onSaved: Ie
591
622
  }, null, 512),
592
- l(lr, {
623
+ s(mt, {
593
624
  ref_key: "grantOverviewRef",
594
- ref: ae,
595
- show: I.value,
596
- "onUpdate:show": r[10] || (r[10] = (o) => I.value = o),
597
- onAdjust: r[11] || (r[11] = (o) => {
598
- var s;
599
- return (s = M.value) == null ? void 0 : s.open(o);
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
- l(er, {
603
- show: F.value,
604
- "onUpdate:show": r[12] || (r[12] = (o) => F.value = o),
605
- api: Te,
606
- "template-file-name": a(t)("userExport.importTemplateName"),
607
- "error-report-file-name": a(t)("userExport.errorReportName"),
608
- onDone: r[13] || (r[13] = () => {
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 = c.value) == null ? void 0 : o.refresh();
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
- l(rr, {
614
- show: P.value,
615
- "onUpdate:show": r[14] || (r[14] = (o) => P.value = o),
616
- columns: Ne,
617
- loading: B.value,
618
- onConfirm: Oe
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
- tt as default
656
+ vr as default
626
657
  };
627
658
  //# sourceMappingURL=index2.vue.js.map