@pangu-backend-ui/user-core 0.0.13 → 0.0.14

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/index.js CHANGED
@@ -1,10 +1,10 @@
1
- import { defineComponent as U, ref as w, inject as S, resolveComponent as p, openBlock as m, createElementBlock as V, Fragment as I, createTextVNode as _, toDisplayString as h, createBlock as b, withCtx as t, createVNode as e, createCommentVNode as k, watch as $, computed as E, resolveDirective as z, withDirectives as O, renderList as A, KeepAlive as B, resolveDynamicComponent as F, createElementVNode as x, unref as H, pushScopeId as Y, popScopeId as j } from "vue";
2
- import { defineStore as G } from "pinia";
3
- import { PgTable as K } from "@pangu-backend-ui/common";
4
- const W = {
1
+ import { defineComponent as B, ref as g, inject as A, resolveComponent as o, openBlock as f, createElementBlock as U, Fragment as N, createTextVNode as c, toDisplayString as w, createBlock as V, withCtx as l, createVNode as e, createCommentVNode as x, watch as q, computed as W, renderSlot as H, renderList as O, resolveDirective as Q, withDirectives as X, KeepAlive as Z, resolveDynamicComponent as ee, createElementVNode as F, unref as le, pushScopeId as te, popScopeId as oe } from "vue";
2
+ import { defineStore as ae } from "pinia";
3
+ import { PgTable as ne } from "@pangu-backend-ui/common";
4
+ const ie = {
5
5
  key: 0,
6
6
  class: "container"
7
- }, q = /* @__PURE__ */ U({
7
+ }, ue = /* @__PURE__ */ B({
8
8
  __name: "UserMobileComponent",
9
9
  props: {
10
10
  userId: {
@@ -16,199 +16,189 @@ const W = {
16
16
  default: null
17
17
  }
18
18
  },
19
- setup(a) {
20
- const o = a, l = w({
19
+ setup(v) {
20
+ const s = v, a = g({
21
21
  plainMobile: null,
22
22
  loading: !1
23
- }), r = S("http");
24
- function v() {
25
- l.value.plainMobile == null && (l.value.loading = !0, r == null || r.get(`/api/user/${o.userId}/plainmobile`).then((s) => {
26
- l.value.plainMobile = s.data, l.value.loading = !1;
23
+ }), r = A("http");
24
+ function m() {
25
+ a.value.plainMobile == null && (a.value.loading = !0, r == null || r.get(`/api/user/${s.userId}/plainmobile`).then((i) => {
26
+ a.value.plainMobile = i.data, a.value.loading = !1;
27
27
  }).finally(() => {
28
- l.value.loading = !1;
28
+ a.value.loading = !1;
29
29
  }));
30
30
  }
31
- return (s, c) => {
32
- const d = p("View"), f = p("el-icon"), D = p("Loading");
33
- return o.maskMobile != null ? (m(), V("div", W, [
34
- l.value.plainMobile == null ? (m(), V(I, { key: 0 }, [
35
- _(h(o.maskMobile), 1)
36
- ], 64)) : (m(), V(I, { key: 1 }, [
37
- _(h(l.value.plainMobile), 1)
31
+ return (i, b) => {
32
+ const u = o("View"), h = o("el-icon"), d = o("Loading");
33
+ return s.maskMobile != null ? (f(), U("div", ie, [
34
+ a.value.plainMobile == null ? (f(), U(N, { key: 0 }, [
35
+ c(w(s.maskMobile), 1)
36
+ ], 64)) : (f(), U(N, { key: 1 }, [
37
+ c(w(a.value.plainMobile), 1)
38
38
  ], 64)),
39
- l.value.plainMobile == null && !l.value.loading && o.userId != null ? (m(), b(f, {
39
+ a.value.plainMobile == null && !a.value.loading && s.userId != null ? (f(), V(h, {
40
40
  key: 2,
41
41
  class: "view-icon",
42
- onClick: v
42
+ onClick: m
43
43
  }, {
44
- default: t(() => [
45
- e(d)
44
+ default: l(() => [
45
+ e(u)
46
46
  ]),
47
47
  _: 1
48
- })) : k("", !0),
49
- l.value.loading ? (m(), b(f, {
48
+ })) : x("", !0),
49
+ a.value.loading ? (f(), V(h, {
50
50
  key: 3,
51
51
  class: "is-loading view-icon"
52
52
  }, {
53
- default: t(() => [
54
- e(D)
53
+ default: l(() => [
54
+ e(d)
55
55
  ]),
56
56
  _: 1
57
- })) : k("", !0)
58
- ])) : k("", !0);
57
+ })) : x("", !0)
58
+ ])) : x("", !0);
59
59
  };
60
60
  }
61
61
  });
62
- const M = (a, o) => {
63
- const l = a.__vccOpts || a;
64
- for (const [r, v] of o)
65
- l[r] = v;
66
- return l;
67
- }, C = /* @__PURE__ */ M(q, [["__scopeId", "data-v-76c9c9ae"]]), J = {
68
- install: (a) => {
69
- a.component("PgUserMobile", C);
70
- }
71
- };
72
- function Q() {
73
- const a = S("http");
74
- function o(l) {
75
- return a == null ? void 0 : a.get(`/api/user/${l}`);
62
+ const j = (v, s) => {
63
+ const a = v.__vccOpts || v;
64
+ for (const [r, m] of s)
65
+ a[r] = m;
66
+ return a;
67
+ }, R = /* @__PURE__ */ j(ue, [["__scopeId", "data-v-76c9c9ae"]]), se = {
68
+ install: (v) => {
69
+ v.component("PgUserMobile", R);
76
70
  }
77
- return {
78
- getUserDetail: o
79
- };
80
- }
81
- const X = /* @__PURE__ */ U({
71
+ }, re = /* @__PURE__ */ B({
82
72
  __name: "LoginHistory",
83
73
  props: ["userId"],
84
- setup(a) {
85
- const l = w({
86
- userId: a.userId,
74
+ setup(v) {
75
+ const a = g({
76
+ userId: v.userId,
87
77
  loginTimeStart: null,
88
78
  loginTimeEnd: null
89
- }), r = w([]);
90
- $(r, (c) => {
91
- c ? (l.value.loginTimeStart = c[0], l.value.loginTimeEnd = c[1]) : (l.value.loginTimeStart = null, l.value.loginTimeEnd = null);
79
+ }), r = g([]);
80
+ q(r, (b) => {
81
+ b ? (a.value.loginTimeStart = b[0], a.value.loginTimeEnd = b[1]) : (a.value.loginTimeStart = null, a.value.loginTimeEnd = null);
92
82
  });
93
- const v = w();
94
- function s() {
95
- v.value.search();
83
+ const m = g();
84
+ function i() {
85
+ m.value.search();
96
86
  }
97
- return (c, d) => {
98
- const f = p("el-date-picker"), D = p("el-button"), g = p("el-space"), i = p("el-table-column"), u = p("el-tag"), T = p("pg-table");
99
- return m(), V(I, null, [
100
- e(g, null, {
101
- default: t(() => [
102
- e(f, {
87
+ return (b, u) => {
88
+ const h = o("el-date-picker"), d = o("el-button"), I = o("el-space"), C = o("el-table-column"), _ = o("el-tag"), y = o("pg-table");
89
+ return f(), U(N, null, [
90
+ e(I, null, {
91
+ default: l(() => [
92
+ e(h, {
103
93
  modelValue: r.value,
104
- "onUpdate:modelValue": d[0] || (d[0] = (n) => r.value = n),
94
+ "onUpdate:modelValue": u[0] || (u[0] = (p) => r.value = p),
105
95
  type: "datetimerange",
106
96
  "range-separator": "-",
107
97
  "start-placeholder": "登录开始时间",
108
98
  "end-placeholder": "登录结束时间",
109
99
  clearable: ""
110
100
  }, null, 8, ["modelValue"]),
111
- e(D, {
101
+ e(d, {
112
102
  type: "primary",
113
103
  icon: "search",
114
- onClick: s
104
+ onClick: i
115
105
  }, {
116
- default: t(() => [
117
- _("搜索")
106
+ default: l(() => [
107
+ c("搜索")
118
108
  ]),
119
109
  _: 1
120
110
  })
121
111
  ]),
122
112
  _: 1
123
113
  }),
124
- e(T, {
114
+ e(y, {
125
115
  ref_key: "historiesTable",
126
- ref: v,
116
+ ref: m,
127
117
  style: { "margin-top": "10px" },
128
118
  "data-url": "/api/user/login-history",
129
- condition: l.value
119
+ condition: a.value
130
120
  }, {
131
- columns: t(() => [
132
- e(i, {
121
+ columns: l(() => [
122
+ e(C, {
133
123
  prop: "createdTime",
134
124
  label: "登录时间",
135
125
  align: "center",
136
126
  "show-overflow-tooltip": ""
137
127
  }),
138
- e(i, {
128
+ e(C, {
139
129
  prop: "ip",
140
130
  label: "登录IP",
141
131
  align: "center",
142
132
  "show-overflow-tooltip": ""
143
133
  }),
144
- e(i, {
134
+ e(C, {
145
135
  prop: "runtimeName",
146
136
  label: "运行容器",
147
137
  align: "center",
148
138
  "show-overflow-tooltip": ""
149
139
  }),
150
- e(i, {
140
+ e(C, {
151
141
  label: "登录方式",
152
142
  align: "center",
153
143
  "show-overflow-tooltip": ""
154
144
  }, {
155
- default: t(({ row: n }) => [
156
- n.method === "SMS" ? (m(), b(u, {
145
+ default: l(({ row: p }) => [
146
+ p.method === "SMS" ? (f(), V(_, {
157
147
  key: 0,
158
148
  type: "primary",
159
149
  size: "small"
160
150
  }, {
161
- default: t(() => [
162
- _("短信登录")
151
+ default: l(() => [
152
+ c("短信登录")
163
153
  ]),
164
154
  _: 1
165
- })) : k("", !0),
166
- n.method === "THIRD_PLATFORM" ? (m(), b(u, {
155
+ })) : x("", !0),
156
+ p.method === "THIRD_PLATFORM" ? (f(), V(_, {
167
157
  key: 1,
168
158
  type: "primary",
169
159
  size: "small"
170
160
  }, {
171
- default: t(() => [
172
- _("第三方平台")
161
+ default: l(() => [
162
+ c("第三方平台")
173
163
  ]),
174
164
  _: 1
175
- })) : k("", !0),
176
- n.method === "UNIVERIFY" ? (m(), b(u, {
165
+ })) : x("", !0),
166
+ p.method === "UNIVERIFY" ? (f(), V(_, {
177
167
  key: 2,
178
168
  type: "primary",
179
169
  size: "small"
180
170
  }, {
181
- default: t(() => [
182
- _("一键登录")
171
+ default: l(() => [
172
+ c("一键登录")
183
173
  ]),
184
174
  _: 1
185
- })) : k("", !0),
186
- n.method === "PASSWORD" ? (m(), b(u, {
175
+ })) : x("", !0),
176
+ p.method === "PASSWORD" ? (f(), V(_, {
187
177
  key: 3,
188
178
  type: "primary",
189
179
  size: "small"
190
180
  }, {
191
- default: t(() => [
192
- _("帐号密码")
181
+ default: l(() => [
182
+ c("帐号密码")
193
183
  ]),
194
184
  _: 1
195
- })) : k("", !0)
185
+ })) : x("", !0)
196
186
  ]),
197
187
  _: 1
198
188
  }),
199
- e(i, {
189
+ e(C, {
200
190
  prop: "thirdPlatformName",
201
191
  label: "第三方登录",
202
192
  align: "center",
203
193
  "show-overflow-tooltip": ""
204
194
  }),
205
- e(i, {
195
+ e(C, {
206
196
  prop: "versionCode",
207
197
  label: "版本代码",
208
198
  align: "center",
209
199
  "show-overflow-tooltip": ""
210
200
  }),
211
- e(i, {
201
+ e(C, {
212
202
  prop: "versionName",
213
203
  label: "版本名称",
214
204
  align: "center",
@@ -220,215 +210,502 @@ const X = /* @__PURE__ */ U({
220
210
  ], 64);
221
211
  };
222
212
  }
223
- }), N = G("pg-user-core-config-store", () => {
224
- const a = [];
225
- return a.push({
213
+ }), J = ae("pg-user-core-config-store", () => {
214
+ const v = [];
215
+ return v.push({
226
216
  name: "登录历史",
227
217
  code: "LOGIN_HISTORY",
228
- component: X
218
+ component: re
229
219
  }), {
230
- userDetailDialogTabs: E(() => a)
220
+ userDetailDialogTabs: W(() => v)
231
221
  };
232
- }), L = /* @__PURE__ */ U({
233
- __name: "UserDetailDialog",
234
- setup(a, { expose: o }) {
235
- const { getUserDetail: l } = Q(), r = N(), v = w(!1), s = w(), c = w({
236
- activeName: r.userDetailDialogTabs[0].code,
237
- tabs: []
238
- }), d = w(!1);
239
- function f(D, g, i) {
240
- var u;
241
- d.value = !0, (u = l(D)) == null || u.then((T) => {
242
- s.value = T.data, d.value = !1, v.value = !0, g && (c.value.activeName = g), c.value.tabs.length = 0, c.value.tabs = c.value.tabs.concat(r.userDetailDialogTabs), i && (c.value.tabs = c.value.tabs.concat(i));
222
+ }), G = /* @__PURE__ */ B({
223
+ __name: "AddBlacklistComp",
224
+ props: {
225
+ hiddenEntranceSlot: {
226
+ type: Boolean,
227
+ default: !1
228
+ },
229
+ userId: {
230
+ type: Number,
231
+ required: !0
232
+ }
233
+ },
234
+ emits: ["success"],
235
+ setup(v, { expose: s, emit: a }) {
236
+ const r = v, m = A("http"), i = g(!1);
237
+ let b = g(null);
238
+ function u(t) {
239
+ i.value = !0, b.value = t ?? r.userId, t && C(b.value);
240
+ }
241
+ const h = g({
242
+ description: [{ required: !0, message: "请输入加入黑名单的说明" }],
243
+ unlockTime: [
244
+ { required: !0, message: "解锁时间不能为空" }
245
+ ]
246
+ }), d = g({
247
+ userId: null,
248
+ unlockTime: null,
249
+ permissions: [],
250
+ description: null
251
+ }), I = g();
252
+ function C(t) {
253
+ m == null || m.get(`/api/user/${t}/blacklist-and-all-permission-codes`).then((n) => {
254
+ var $, M, k, L, P;
255
+ ($ = n.data) != null && $.info && ((M = n.data) != null && M.info.allowPermissionCodes && (d.value.permissions = JSON.parse((k = n.data) == null ? void 0 : k.info.allowPermissionCodes)), d.value.userId = (L = n.data) == null ? void 0 : L.info.userId, d.value.unlockTime = n.data.info.unlockTime, d.value.description = n.data.info.description), I.value = (P = n.data) == null ? void 0 : P.permissionCodes;
243
256
  });
244
257
  }
245
- return o({
246
- show: f
247
- }), (D, g) => {
248
- const i = p("el-descriptions-item"), u = p("el-descriptions"), T = p("el-tab-pane"), n = p("el-tabs"), P = p("el-dialog"), R = z("loading");
249
- return O((m(), b(P, {
250
- modelValue: v.value,
251
- "onUpdate:modelValue": g[1] || (g[1] = (y) => v.value = y),
252
- title: "用户详情",
253
- width: "1300"
254
- }, {
255
- default: t(() => [
256
- e(u, { border: "" }, {
257
- default: t(() => [
258
- e(i, { label: "用户编号" }, {
259
- default: t(() => [
260
- _(h(s.value.id), 1)
261
- ]),
262
- _: 1
263
- }),
264
- e(i, { label: "用户昵称" }, {
265
- default: t(() => [
266
- _(h(s.value.nickname), 1)
267
- ]),
268
- _: 1
269
- }),
270
- e(i, { label: "手机号码" }, {
271
- default: t(() => [
272
- (m(), b(C, {
273
- "mask-mobile": s.value.mobile,
274
- "user-id": s.value.id,
275
- key: s.value.id
276
- }, null, 8, ["mask-mobile", "user-id"]))
277
- ]),
278
- _: 1
279
- }),
280
- e(i, { label: "邀请编码" }, {
281
- default: t(() => [
282
- _(h(s.value.inviteCode), 1)
283
- ]),
284
- _: 1
285
- }),
286
- e(i, { label: "活动时间" }, {
287
- default: t(() => [
288
- _(h(s.value.touchTime), 1)
289
- ]),
290
- _: 1
291
- }),
292
- e(i, { label: "注册时间" }, {
293
- default: t(() => [
294
- _(h(s.value.createdTime), 1)
295
- ]),
296
- _: 1
297
- }),
298
- e(i, { label: "最后登陆" }, {
299
- default: t(() => [
300
- _(h(s.value.lastLoginTime), 1)
301
- ]),
302
- _: 1
303
- }),
304
- e(i, { label: "最后更新" }, {
305
- default: t(() => [
306
- _(h(s.value.updatedTime), 1)
307
- ]),
308
- _: 1
309
- }),
310
- e(i, { label: "上级用户" }, {
311
- default: t(() => [
312
- _(h(s.value.parentId), 1)
313
- ]),
314
- _: 1
315
- }),
316
- e(i, { label: "邀请关系" }, {
317
- default: t(() => [
318
- _(h(s.value.relationPath), 1)
319
- ]),
320
- _: 1
321
- })
322
- ]),
323
- _: 1
324
- }),
325
- (m(), b(n, {
326
- modelValue: c.value.activeName,
327
- "onUpdate:modelValue": g[0] || (g[0] = (y) => c.value.activeName = y),
328
- key: `usr_tab_${s.value.id}`,
329
- style: { "margin-top": "10px" },
330
- type: "border-card"
258
+ const _ = g();
259
+ function y() {
260
+ var t;
261
+ (t = _.value) == null || t.resetFields();
262
+ }
263
+ function p() {
264
+ var t;
265
+ (t = _.value) == null || t.validate((n, $) => {
266
+ n && (m == null || m.post(`/api/user/${b.value}/blacklist`, d.value).then((M) => {
267
+ i.value = !1, a("success");
268
+ }));
269
+ });
270
+ }
271
+ const D = [
272
+ {
273
+ text: "三天",
274
+ value: () => {
275
+ const t = new Date();
276
+ return t.setDate(t.getDate() + 3), t;
277
+ }
278
+ },
279
+ {
280
+ text: "七天",
281
+ value: () => {
282
+ const t = new Date();
283
+ return t.setDate(t.getDate() + 7), t;
284
+ }
285
+ },
286
+ {
287
+ text: "十五天",
288
+ value: () => {
289
+ const t = new Date();
290
+ return t.setDate(t.getDate() + 15), t;
291
+ }
292
+ },
293
+ {
294
+ text: "一个月",
295
+ value: () => {
296
+ const t = new Date();
297
+ return t.setMonth(t.getMonth() + 1), t;
298
+ }
299
+ },
300
+ {
301
+ text: "三个月",
302
+ value: () => {
303
+ const t = new Date();
304
+ return t.setMonth(t.getMonth() + 3), t;
305
+ }
306
+ },
307
+ {
308
+ text: "六个月",
309
+ value: () => {
310
+ const t = new Date();
311
+ return t.setMonth(t.getMonth() + 6), t;
312
+ }
313
+ },
314
+ {
315
+ text: "永久",
316
+ value: () => {
317
+ const t = new Date();
318
+ return t.setFullYear(t.getFullYear() + 100), t;
319
+ }
320
+ }
321
+ ];
322
+ return s({
323
+ show: u
324
+ }), (t, n) => {
325
+ const $ = o("el-button"), M = o("el-date-picker"), k = o("el-form-item"), L = o("el-checkbox"), P = o("el-checkbox-group"), E = o("el-input"), z = o("el-form"), T = o("el-dialog");
326
+ return f(), U(N, null, [
327
+ r.hiddenEntranceSlot ? x("", !0) : H(t.$slots, "default", { key: 0 }, () => [
328
+ e($, {
329
+ icon: "lock",
330
+ type: "warning",
331
+ onClick: n[0] || (n[0] = (S) => u())
331
332
  }, {
332
- default: t(() => [
333
- (m(!0), V(I, null, A(c.value.tabs, (y, ue) => (m(), b(T, {
334
- label: y.name,
335
- name: y.code,
336
- key: `user_detail_dialog_${y.code}`
337
- }, {
338
- default: t(() => [
339
- (m(), b(B, null, [
340
- c.value.activeName == y.code ? (m(), b(F(y.component), {
341
- key: `ud_tab_${y.code}`,
342
- userId: s.value.id
343
- }, null, 8, ["userId"])) : k("", !0)
344
- ], 1024))
345
- ]),
346
- _: 2
347
- }, 1032, ["label", "name"]))), 128))
333
+ default: l(() => [
334
+ c("加入黑名单")
348
335
  ]),
349
336
  _: 1
350
- }, 8, ["modelValue"]))
337
+ })
351
338
  ]),
352
- _: 1
353
- }, 8, ["modelValue"])), [
354
- [R, d.value]
355
- ]);
339
+ e(T, {
340
+ modelValue: i.value,
341
+ "onUpdate:modelValue": n[4] || (n[4] = (S) => i.value = S),
342
+ onClosed: y,
343
+ title: "黑名单管理",
344
+ width: "500"
345
+ }, {
346
+ footer: l(() => [
347
+ e($, {
348
+ type: "primary",
349
+ onClick: p
350
+ }, {
351
+ default: l(() => [
352
+ c("提交")
353
+ ]),
354
+ _: 1
355
+ })
356
+ ]),
357
+ default: l(() => [
358
+ e(z, {
359
+ ref_key: "form",
360
+ ref: _,
361
+ "label-position": "top",
362
+ rules: h.value,
363
+ model: d.value
364
+ }, {
365
+ default: l(() => [
366
+ e(k, {
367
+ label: "解锁时间",
368
+ prop: "unlockTime"
369
+ }, {
370
+ default: l(() => [
371
+ e(M, {
372
+ type: "datetime",
373
+ shortcuts: D,
374
+ modelValue: d.value.unlockTime,
375
+ "onUpdate:modelValue": n[1] || (n[1] = (S) => d.value.unlockTime = S)
376
+ }, null, 8, ["modelValue"])
377
+ ]),
378
+ _: 1
379
+ }),
380
+ e(k, {
381
+ label: "允许权限",
382
+ prop: "allowPermissionCodes"
383
+ }, {
384
+ default: l(() => [
385
+ e(P, {
386
+ modelValue: d.value.permissions,
387
+ "onUpdate:modelValue": n[2] || (n[2] = (S) => d.value.permissions = S)
388
+ }, {
389
+ default: l(() => [
390
+ (f(!0), U(N, null, O(I.value, (S, Y) => (f(), V(L, {
391
+ label: Y,
392
+ key: Y
393
+ }, {
394
+ default: l(() => [
395
+ c(w(S), 1)
396
+ ]),
397
+ _: 2
398
+ }, 1032, ["label"]))), 128))
399
+ ]),
400
+ _: 1
401
+ }, 8, ["modelValue"])
402
+ ]),
403
+ _: 1
404
+ }),
405
+ e(k, {
406
+ label: "描述",
407
+ prop: "description"
408
+ }, {
409
+ default: l(() => [
410
+ e(E, {
411
+ type: "textarea",
412
+ modelValue: d.value.description,
413
+ "onUpdate:modelValue": n[3] || (n[3] = (S) => d.value.description = S)
414
+ }, null, 8, ["modelValue"])
415
+ ]),
416
+ _: 1
417
+ })
418
+ ]),
419
+ _: 1
420
+ }, 8, ["rules", "model"])
421
+ ]),
422
+ _: 1
423
+ }, 8, ["modelValue"])
424
+ ], 64);
356
425
  };
357
426
  }
358
- }), Z = {
359
- install: (a) => {
360
- a.component("PgUserDetailDialog", L);
427
+ }), K = /* @__PURE__ */ B({
428
+ __name: "UserDetailDialog",
429
+ setup(v, { expose: s }) {
430
+ const a = J(), r = A("http"), m = g(!1), i = g(), b = g(), u = g({
431
+ activeName: a.userDetailDialogTabs[0].code,
432
+ tabs: []
433
+ }), h = g(!1);
434
+ function d(D, t, n) {
435
+ h.value = !0, I(D), t && (u.value.activeName = t), u.value.tabs.length = 0, u.value.tabs = u.value.tabs.concat(a.userDetailDialogTabs), n && (u.value.tabs = u.value.tabs.concat(n));
436
+ }
437
+ function I(D) {
438
+ r == null || r.get(`/api/user/${D}`).then((t) => {
439
+ i.value = t.data, h.value = !1, m.value = !0, i.value.inBlacklist && C(D);
440
+ });
441
+ }
442
+ function C(D) {
443
+ r == null || r.get(`/api/user/${D}/blacklist`).then((t) => {
444
+ b.value = t.data;
445
+ });
446
+ }
447
+ const _ = g();
448
+ function y() {
449
+ _.value.show(i.value.id);
450
+ }
451
+ function p() {
452
+ i.value = null, b.value = null;
453
+ }
454
+ return s({
455
+ show: d
456
+ }), (D, t) => {
457
+ const n = o("el-descriptions-item"), $ = o("el-tag"), M = o("el-descriptions"), k = o("el-tab-pane"), L = o("el-tabs"), P = o("el-button"), E = o("el-dialog"), z = Q("loading");
458
+ return f(), U(N, null, [
459
+ X((f(), V(E, {
460
+ modelValue: m.value,
461
+ "onUpdate:modelValue": t[1] || (t[1] = (T) => m.value = T),
462
+ title: "用户详情",
463
+ width: "1300",
464
+ onClosed: p
465
+ }, {
466
+ footer: l(() => [
467
+ e(P, {
468
+ icon: "lock",
469
+ type: "warning",
470
+ onClick: y
471
+ }, {
472
+ default: l(() => [
473
+ c(w(i.value.inBlacklist ? "修改" : "加入") + "黑名单", 1)
474
+ ]),
475
+ _: 1
476
+ })
477
+ ]),
478
+ default: l(() => [
479
+ e(M, { border: "" }, {
480
+ default: l(() => [
481
+ e(n, { label: "用户编号" }, {
482
+ default: l(() => [
483
+ c(w(i.value.id), 1)
484
+ ]),
485
+ _: 1
486
+ }),
487
+ e(n, { label: "用户昵称" }, {
488
+ default: l(() => [
489
+ c(w(i.value.nickname), 1)
490
+ ]),
491
+ _: 1
492
+ }),
493
+ e(n, { label: "手机号码" }, {
494
+ default: l(() => [
495
+ (f(), V(R, {
496
+ "mask-mobile": i.value.mobile,
497
+ "user-id": i.value.id,
498
+ key: i.value.id
499
+ }, null, 8, ["mask-mobile", "user-id"]))
500
+ ]),
501
+ _: 1
502
+ }),
503
+ e(n, { label: "邀请编码" }, {
504
+ default: l(() => [
505
+ c(w(i.value.inviteCode), 1)
506
+ ]),
507
+ _: 1
508
+ }),
509
+ e(n, { label: "活动时间" }, {
510
+ default: l(() => [
511
+ c(w(i.value.touchTime), 1)
512
+ ]),
513
+ _: 1
514
+ }),
515
+ e(n, { label: "注册时间" }, {
516
+ default: l(() => [
517
+ c(w(i.value.createdTime), 1)
518
+ ]),
519
+ _: 1
520
+ }),
521
+ e(n, { label: "最后登陆" }, {
522
+ default: l(() => [
523
+ c(w(i.value.lastLoginTime), 1)
524
+ ]),
525
+ _: 1
526
+ }),
527
+ e(n, { label: "最后更新" }, {
528
+ default: l(() => [
529
+ c(w(i.value.updatedTime), 1)
530
+ ]),
531
+ _: 1
532
+ }),
533
+ e(n, { label: "上级用户" }, {
534
+ default: l(() => [
535
+ c(w(i.value.parentId), 1)
536
+ ]),
537
+ _: 1
538
+ }),
539
+ e(n, { label: "黑名单" }, {
540
+ default: l(() => [
541
+ e($, {
542
+ type: i.value.inBlacklist ? "danger" : "success"
543
+ }, {
544
+ default: l(() => [
545
+ c(w(i.value.inBlacklist ? "是" : "否"), 1)
546
+ ]),
547
+ _: 1
548
+ }, 8, ["type"])
549
+ ]),
550
+ _: 1
551
+ }),
552
+ e(n, { label: "邀请关系" }, {
553
+ default: l(() => [
554
+ c(w(i.value.relationPath), 1)
555
+ ]),
556
+ _: 1
557
+ })
558
+ ]),
559
+ _: 1
560
+ }),
561
+ b.value ? (f(), V(M, {
562
+ key: 0,
563
+ style: { "margin-top": "10px" },
564
+ border: "",
565
+ column: "2"
566
+ }, {
567
+ default: l(() => [
568
+ e(n, { label: "黑名单解锁时间" }, {
569
+ default: l(() => [
570
+ c(w(b.value.unlockTime), 1)
571
+ ]),
572
+ _: 1
573
+ }),
574
+ e(n, { label: "加入时间" }, {
575
+ default: l(() => [
576
+ c(w(b.value.createdTime), 1)
577
+ ]),
578
+ _: 1
579
+ }),
580
+ e(n, { label: "允许权限" }, {
581
+ default: l(() => [
582
+ c(w(b.value.allowPermissionCodes ? JSON.parse(b.value.allowPermissionCodes).join(", ") : ""), 1)
583
+ ]),
584
+ _: 1
585
+ }),
586
+ e(n, { label: "描述" }, {
587
+ default: l(() => [
588
+ c(w(b.value.description), 1)
589
+ ]),
590
+ _: 1
591
+ })
592
+ ]),
593
+ _: 1
594
+ })) : x("", !0),
595
+ (f(), V(L, {
596
+ modelValue: u.value.activeName,
597
+ "onUpdate:modelValue": t[0] || (t[0] = (T) => u.value.activeName = T),
598
+ key: `usr_tab_${i.value.id}`,
599
+ style: { "margin-top": "10px" },
600
+ type: "border-card"
601
+ }, {
602
+ default: l(() => [
603
+ (f(!0), U(N, null, O(u.value.tabs, (T, S) => (f(), V(k, {
604
+ label: T.name,
605
+ name: T.code,
606
+ key: `user_detail_dialog_${T.code}`
607
+ }, {
608
+ default: l(() => [
609
+ (f(), V(Z, null, [
610
+ u.value.activeName == T.code ? (f(), V(ee(T.component), {
611
+ key: `ud_tab_${T.code}`,
612
+ userId: i.value.id
613
+ }, null, 8, ["userId"])) : x("", !0)
614
+ ], 1024))
615
+ ]),
616
+ _: 2
617
+ }, 1032, ["label", "name"]))), 128))
618
+ ]),
619
+ _: 1
620
+ }, 8, ["modelValue"]))
621
+ ]),
622
+ _: 1
623
+ }, 8, ["modelValue"])), [
624
+ [z, h.value]
625
+ ]),
626
+ e(G, {
627
+ ref_key: "addBlacklistComp",
628
+ ref: _,
629
+ onSuccess: t[2] || (t[2] = (T) => I(i.value.id)),
630
+ "hidden-entrance-slot": ""
631
+ }, null, 512)
632
+ ], 64);
633
+ };
634
+ }
635
+ }), de = {
636
+ install: (v) => {
637
+ v.component("PgUserDetailDialog", K);
361
638
  }
362
- }, ee = [
363
- J,
364
- Z
365
- ], le = (a) => (Y("data-v-391c43be"), a = a(), j(), a), te = { class: "page-layout" }, oe = { style: { "margin-top": "10px" } }, ae = /* @__PURE__ */ le(() => /* @__PURE__ */ x("template", { "slot-scope": "{row}" }, null, -1)), ne = /* @__PURE__ */ U({
639
+ }, ce = [
640
+ se,
641
+ de
642
+ ], pe = (v) => (te("data-v-391c43be"), v = v(), oe(), v), me = { class: "page-layout" }, _e = { style: { "margin-top": "10px" } }, fe = /* @__PURE__ */ pe(() => /* @__PURE__ */ F("template", { "slot-scope": "{row}" }, null, -1)), ve = /* @__PURE__ */ B({
366
643
  __name: "list",
367
- setup(a) {
368
- const o = w({
644
+ setup(v) {
645
+ const s = g({
369
646
  id: null,
370
647
  parentId: null,
371
648
  phone: null,
372
649
  nicekname: null,
373
650
  inviteCode: null
374
- }), l = w(null);
651
+ }), a = g(null);
375
652
  function r() {
376
- l.value.search();
653
+ a.value.search();
377
654
  }
378
- const v = w();
379
- function s(c) {
380
- v.value.show(c.id);
655
+ const m = g();
656
+ function i(b) {
657
+ m.value.show(b.id);
381
658
  }
382
- return (c, d) => {
383
- const f = p("el-input"), D = p("el-button"), g = p("el-space"), i = p("el-card"), u = p("el-table-column"), T = p("el-image");
384
- return m(), V(I, null, [
385
- x("div", te, [
386
- e(i, null, {
387
- default: t(() => [
388
- e(g, null, {
389
- default: t(() => [
390
- e(f, {
391
- modelValue: o.value.id,
392
- "onUpdate:modelValue": d[0] || (d[0] = (n) => o.value.id = n),
659
+ return (b, u) => {
660
+ const h = o("el-input"), d = o("el-button"), I = o("el-space"), C = o("el-card"), _ = o("el-table-column"), y = o("el-image");
661
+ return f(), U(N, null, [
662
+ F("div", me, [
663
+ e(C, null, {
664
+ default: l(() => [
665
+ e(I, null, {
666
+ default: l(() => [
667
+ e(h, {
668
+ modelValue: s.value.id,
669
+ "onUpdate:modelValue": u[0] || (u[0] = (p) => s.value.id = p),
393
670
  placeholder: "ID",
394
671
  style: { width: "100px" },
395
672
  clearable: ""
396
673
  }, null, 8, ["modelValue"]),
397
- e(f, {
398
- modelValue: o.value.parentId,
399
- "onUpdate:modelValue": d[1] || (d[1] = (n) => o.value.parentId = n),
674
+ e(h, {
675
+ modelValue: s.value.parentId,
676
+ "onUpdate:modelValue": u[1] || (u[1] = (p) => s.value.parentId = p),
400
677
  placeholder: "父用户ID",
401
678
  style: { width: "100px" },
402
679
  clearable: ""
403
680
  }, null, 8, ["modelValue"]),
404
- e(f, {
405
- modelValue: o.value.phone,
406
- "onUpdate:modelValue": d[2] || (d[2] = (n) => o.value.phone = n),
681
+ e(h, {
682
+ modelValue: s.value.phone,
683
+ "onUpdate:modelValue": u[2] || (u[2] = (p) => s.value.phone = p),
407
684
  placeholder: "手机号",
408
685
  style: { width: "120px" },
409
686
  clearable: ""
410
687
  }, null, 8, ["modelValue"]),
411
- e(f, {
412
- modelValue: o.value.nicekname,
413
- "onUpdate:modelValue": d[3] || (d[3] = (n) => o.value.nicekname = n),
688
+ e(h, {
689
+ modelValue: s.value.nicekname,
690
+ "onUpdate:modelValue": u[3] || (u[3] = (p) => s.value.nicekname = p),
414
691
  placeholder: "昵称",
415
692
  style: { width: "150px" },
416
693
  clearable: ""
417
694
  }, null, 8, ["modelValue"]),
418
- e(f, {
419
- modelValue: o.value.inviteCode,
420
- "onUpdate:modelValue": d[4] || (d[4] = (n) => o.value.inviteCode = n),
695
+ e(h, {
696
+ modelValue: s.value.inviteCode,
697
+ "onUpdate:modelValue": u[4] || (u[4] = (p) => s.value.inviteCode = p),
421
698
  placeholder: "邀请码",
422
699
  style: { width: "100px" },
423
700
  clearable: ""
424
701
  }, null, 8, ["modelValue"]),
425
- e(D, {
702
+ e(d, {
426
703
  type: "primary",
427
704
  icon: "search",
428
705
  onClick: r
429
706
  }, {
430
- default: t(() => [
431
- _("搜索")
707
+ default: l(() => [
708
+ c("搜索")
432
709
  ]),
433
710
  _: 1
434
711
  })
@@ -438,118 +715,118 @@ const X = /* @__PURE__ */ U({
438
715
  ]),
439
716
  _: 1
440
717
  }),
441
- x("div", oe, [
442
- e(H(K), {
718
+ F("div", _e, [
719
+ e(le(ne), {
443
720
  ref_key: "userTable",
444
- ref: l,
721
+ ref: a,
445
722
  "data-url": "/api/user/page",
446
- condition: o.value,
447
- onRowDbClick: d[5] || (d[5] = (n) => s(n))
723
+ condition: s.value,
724
+ onRowDbClick: u[5] || (u[5] = (p) => i(p))
448
725
  }, {
449
- columns: t(() => [
450
- e(u, {
726
+ columns: l(() => [
727
+ e(_, {
451
728
  prop: "id",
452
729
  label: "UID",
453
730
  width: "80",
454
731
  align: "center"
455
732
  }),
456
- e(u, {
733
+ e(_, {
457
734
  prop: "mobile",
458
735
  label: "手机",
459
736
  width: "115",
460
737
  align: "left",
461
738
  "show-overflow-tooltip": ""
462
739
  }, {
463
- default: t((n) => [
464
- (m(), b(C, {
465
- "mask-mobile": n.row.mobile,
466
- "user-id": n.row.id,
467
- key: n.row.id
740
+ default: l((p) => [
741
+ (f(), V(R, {
742
+ "mask-mobile": p.row.mobile,
743
+ "user-id": p.row.id,
744
+ key: p.row.id
468
745
  }, null, 8, ["mask-mobile", "user-id"]))
469
746
  ]),
470
747
  _: 1
471
748
  }),
472
- e(u, {
749
+ e(_, {
473
750
  prop: "username",
474
751
  label: "用户名",
475
752
  width: "110",
476
753
  align: "left",
477
754
  "show-overflow-tooltip": ""
478
755
  }),
479
- e(u, {
756
+ e(_, {
480
757
  prop: "nickname",
481
758
  label: "昵称",
482
759
  width: "110",
483
760
  align: "left",
484
761
  "show-overflow-tooltip": ""
485
762
  }),
486
- e(u, {
763
+ e(_, {
487
764
  prop: "inviteCode",
488
765
  label: "邀请码",
489
766
  width: "90",
490
767
  align: "center",
491
768
  "show-overflow-tooltip": ""
492
769
  }),
493
- e(u, {
770
+ e(_, {
494
771
  prop: "avatar",
495
772
  label: "头像",
496
773
  width: "60",
497
774
  align: "center",
498
775
  "show-overflow-tooltip": ""
499
776
  }, {
500
- default: t((n) => [
501
- e(T, {
777
+ default: l((p) => [
778
+ e(y, {
502
779
  fit: "cover",
503
780
  size: 30,
504
- src: n.row.avatar,
781
+ src: p.row.avatar,
505
782
  "preview-teleported": "",
506
- "preview-src-list": [n.row.avatar]
783
+ "preview-src-list": [p.row.avatar]
507
784
  }, null, 8, ["src", "preview-src-list"])
508
785
  ]),
509
786
  _: 1
510
787
  }),
511
- e(u, {
788
+ e(_, {
512
789
  prop: "parentId",
513
790
  label: "上级ID",
514
791
  width: "80",
515
792
  align: "left",
516
793
  "show-overflow-tooltip": ""
517
794
  }),
518
- e(u, {
795
+ e(_, {
519
796
  prop: "relationPath",
520
797
  label: "邀请关系",
521
798
  "min-width": "150",
522
799
  align: "left",
523
800
  "show-overflow-tooltip": ""
524
801
  }),
525
- e(u, {
802
+ e(_, {
526
803
  prop: "blackUnlockTime",
527
804
  label: "黑名单解锁",
528
805
  width: "145",
529
806
  align: "left",
530
807
  "show-overflow-tooltip": ""
531
808
  }),
532
- e(u, {
809
+ e(_, {
533
810
  prop: "lastLoginTime",
534
811
  label: "最后登录时间",
535
812
  width: "145",
536
813
  align: "center",
537
814
  "show-overflow-tooltip": ""
538
815
  }),
539
- e(u, {
816
+ e(_, {
540
817
  prop: "createdTime",
541
818
  label: "创建时间",
542
819
  width: "145",
543
820
  align: "center",
544
821
  "show-overflow-tooltip": ""
545
822
  }),
546
- e(u, {
823
+ e(_, {
547
824
  label: "操作",
548
825
  width: "220",
549
826
  fixed: "right"
550
827
  }, {
551
- default: t(() => [
552
- ae
828
+ default: l(() => [
829
+ fe
553
830
  ]),
554
831
  _: 1
555
832
  })
@@ -558,18 +835,280 @@ const X = /* @__PURE__ */ U({
558
835
  }, 8, ["condition"])
559
836
  ])
560
837
  ]),
561
- e(L, {
838
+ e(K, {
562
839
  ref_key: "userDetailDialog",
563
- ref: v
840
+ ref: m
564
841
  }, null, 512)
565
842
  ], 64);
566
843
  };
567
844
  }
568
845
  });
569
- const ie = /* @__PURE__ */ M(ne, [["__scopeId", "data-v-391c43be"]]), re = {
570
- install: (a, o) => {
571
- let l = o.router, r = l.getRoutes().find((v) => v.path == "/");
572
- r && r.meta && l.addRoute({
846
+ const be = /* @__PURE__ */ j(ve, [["__scopeId", "data-v-391c43be"]]), ge = /* @__PURE__ */ B({
847
+ __name: "UserSelectorComp",
848
+ props: {
849
+ modelValue: {
850
+ required: !0,
851
+ type: Number
852
+ },
853
+ pageSize: {
854
+ type: Number,
855
+ default: 20
856
+ }
857
+ },
858
+ emits: ["update:modelValue"],
859
+ setup(v, { emit: s }) {
860
+ const a = v, r = A("http"), m = g(a.modelValue);
861
+ q(m, (d) => {
862
+ s("update:modelValue", d);
863
+ });
864
+ const i = g(!1), b = g([]);
865
+ let u = null;
866
+ function h(d) {
867
+ d && (i.value = !0, u && clearTimeout(u), u = setTimeout(() => {
868
+ r == null || r.get("/api/user/keyword-search", {
869
+ keyword: d,
870
+ pageSize: a.pageSize
871
+ }).then((I) => {
872
+ b.value = I.data;
873
+ }).finally(() => {
874
+ i.value = !1;
875
+ });
876
+ }, 200));
877
+ }
878
+ return (d, I) => {
879
+ const C = o("el-option"), _ = o("el-select");
880
+ return f(), V(_, {
881
+ modelValue: m.value,
882
+ "onUpdate:modelValue": I[0] || (I[0] = (y) => m.value = y),
883
+ filterable: "",
884
+ remote: "",
885
+ loading: i.value,
886
+ "remote-method": h
887
+ }, {
888
+ default: l(() => [
889
+ (f(!0), U(N, null, O(b.value, (y) => (f(), V(C, {
890
+ key: y.id,
891
+ value: y.id,
892
+ label: `${y.id} / ${y.nickname} / ${y.mobile} / ${y.inviteCode}`
893
+ }, {
894
+ default: l(() => [
895
+ H(d.$slots, "default", { user: y }, () => [
896
+ c(w(y.id) + " / " + w(y.nickname) + " / " + w(y.mobile) + " / " + w(y.inviteCode), 1)
897
+ ])
898
+ ]),
899
+ _: 2
900
+ }, 1032, ["value", "label"]))), 128))
901
+ ]),
902
+ _: 3
903
+ }, 8, ["modelValue", "loading"]);
904
+ };
905
+ }
906
+ }), ke = /* @__PURE__ */ B({
907
+ __name: "BlackListView",
908
+ setup(v) {
909
+ const s = A("http"), a = g({
910
+ userId: null,
911
+ status: "VALID"
912
+ }), r = g();
913
+ function m() {
914
+ r.value.search();
915
+ }
916
+ function i(h) {
917
+ s == null || s.post(`/api/user/blacklist/${h}/unlock`).then((d) => {
918
+ m();
919
+ });
920
+ }
921
+ const b = g();
922
+ function u(h) {
923
+ b.value.show(h);
924
+ }
925
+ return (h, d) => {
926
+ const I = o("el-option"), C = o("el-select"), _ = o("el-button"), y = o("el-space"), p = o("el-card"), D = o("el-table-column"), t = o("el-link"), n = o("el-tag"), $ = o("el-popconfirm"), M = o("pg-table");
927
+ return f(), U(N, null, [
928
+ e(p, null, {
929
+ default: l(() => [
930
+ e(y, null, {
931
+ default: l(() => [
932
+ e(ge, {
933
+ modelValue: a.value.userId,
934
+ "onUpdate:modelValue": d[0] || (d[0] = (k) => a.value.userId = k),
935
+ clearable: "",
936
+ style: { width: "300px" }
937
+ }, null, 8, ["modelValue"]),
938
+ e(C, {
939
+ placeholder: "状态",
940
+ modelValue: a.value.status,
941
+ "onUpdate:modelValue": d[1] || (d[1] = (k) => a.value.status = k),
942
+ clearable: "",
943
+ style: { width: "100px" }
944
+ }, {
945
+ default: l(() => [
946
+ e(I, {
947
+ value: "VALID",
948
+ label: "有效"
949
+ }),
950
+ e(I, {
951
+ value: "INVALID",
952
+ label: "失效"
953
+ })
954
+ ]),
955
+ _: 1
956
+ }, 8, ["modelValue"]),
957
+ e(_, {
958
+ icon: "search",
959
+ type: "primary",
960
+ onClick: m
961
+ }, {
962
+ default: l(() => [
963
+ c("搜索")
964
+ ]),
965
+ _: 1
966
+ })
967
+ ]),
968
+ _: 1
969
+ })
970
+ ]),
971
+ _: 1
972
+ }),
973
+ e(M, {
974
+ ref_key: "table",
975
+ ref: r,
976
+ "data-url": "/api/user/blacklist",
977
+ condition: a.value,
978
+ style: { "margin-top": "10px" }
979
+ }, {
980
+ columns: l(() => [
981
+ e(D, {
982
+ label: "ID",
983
+ prop: "id",
984
+ width: "100"
985
+ }),
986
+ e(D, { label: "用户信息" }, {
987
+ default: l(() => [
988
+ e(D, {
989
+ label: "用户ID",
990
+ width: "100"
991
+ }, {
992
+ default: l(({ row: k }) => [
993
+ e(t, { type: "primary" }, {
994
+ default: l(() => [
995
+ c(w(k.userId), 1)
996
+ ]),
997
+ _: 2
998
+ }, 1024)
999
+ ]),
1000
+ _: 1
1001
+ }),
1002
+ e(D, {
1003
+ label: "手机号",
1004
+ width: "150"
1005
+ }, {
1006
+ default: l(({ row: k }) => [
1007
+ e(R, {
1008
+ "user-id": k.userId,
1009
+ "mask-mobile": k.userMobile
1010
+ }, null, 8, ["user-id", "mask-mobile"])
1011
+ ]),
1012
+ _: 1
1013
+ }),
1014
+ e(D, {
1015
+ label: "用户昵称",
1016
+ prop: "userNickname"
1017
+ })
1018
+ ]),
1019
+ _: 1
1020
+ }),
1021
+ e(D, { label: "限制信息" }, {
1022
+ default: l(() => [
1023
+ e(D, {
1024
+ label: "描述",
1025
+ prop: "description"
1026
+ }),
1027
+ e(D, {
1028
+ label: "允许权限",
1029
+ prop: "allowPermissionCodes",
1030
+ "show-overflow-tooltip": ""
1031
+ }),
1032
+ e(D, {
1033
+ label: "状态",
1034
+ prop: "status",
1035
+ align: "center",
1036
+ width: "100"
1037
+ }, {
1038
+ default: l(({ row: k }) => [
1039
+ e(n, {
1040
+ type: k.status == "VALID" ? "success" : "warning"
1041
+ }, {
1042
+ default: l(() => [
1043
+ c(w(k.status == "VALID" ? "有效" : "失效"), 1)
1044
+ ]),
1045
+ _: 2
1046
+ }, 1032, ["type"])
1047
+ ]),
1048
+ _: 1
1049
+ }),
1050
+ e(D, {
1051
+ label: "加入时间",
1052
+ prop: "createdTime",
1053
+ width: "170"
1054
+ }),
1055
+ e(D, {
1056
+ label: "解锁时间",
1057
+ prop: "unlockTime",
1058
+ width: "170"
1059
+ })
1060
+ ]),
1061
+ _: 1
1062
+ }),
1063
+ e(D, null, {
1064
+ default: l(({ row: k }) => [
1065
+ k.status == "VALID" ? (f(), V($, {
1066
+ key: 0,
1067
+ title: "确定要解锁吗?",
1068
+ onConfirm: i
1069
+ }, {
1070
+ reference: l(() => [
1071
+ e(_, {
1072
+ type: "warning",
1073
+ icon: "unlock"
1074
+ }, {
1075
+ default: l(() => [
1076
+ c("解锁")
1077
+ ]),
1078
+ _: 1
1079
+ })
1080
+ ]),
1081
+ _: 1
1082
+ })) : x("", !0),
1083
+ k.status == "VALID" ? (f(), V(_, {
1084
+ key: 1,
1085
+ icon: "edit",
1086
+ onClick: (L) => u(k.userId)
1087
+ }, {
1088
+ default: l(() => [
1089
+ c("编辑")
1090
+ ]),
1091
+ _: 2
1092
+ }, 1032, ["onClick"])) : x("", !0)
1093
+ ]),
1094
+ _: 1
1095
+ })
1096
+ ]),
1097
+ _: 1
1098
+ }, 8, ["condition"]),
1099
+ e(G, {
1100
+ ref_key: "addBlacklistComp",
1101
+ ref: b,
1102
+ onSuccess: m,
1103
+ "hidden-entrance-slot": ""
1104
+ }, null, 512)
1105
+ ], 64);
1106
+ };
1107
+ }
1108
+ }), we = {
1109
+ install: (v, s) => {
1110
+ let a = s.router, r = a.getRoutes().find((m) => m.path == "/");
1111
+ r && r.meta && a.addRoute({
573
1112
  path: "/user",
574
1113
  name: "User",
575
1114
  redirect: "/user/list",
@@ -577,23 +1116,27 @@ const ie = /* @__PURE__ */ M(ne, [["__scopeId", "data-v-391c43be"]]), re = {
577
1116
  children: [{
578
1117
  path: "list",
579
1118
  name: "UserList",
580
- component: ie
1119
+ component: be
1120
+ }, {
1121
+ path: "blacklist",
1122
+ name: "BlackListView",
1123
+ component: ke
581
1124
  }]
582
1125
  });
583
1126
  }
584
- }, se = (a, o) => {
585
- const l = N();
586
- if (o.userDetailDialogTabs && o.userDetailDialogTabs.length)
587
- for (let r of o.userDetailDialogTabs)
588
- l.userDetailDialogTabs.push(r);
589
- ee.forEach((r) => a.use(r)), a.use(re, o);
590
- }, me = {
591
- install: se
1127
+ }, he = (v, s) => {
1128
+ const a = J();
1129
+ if (s.userDetailDialogTabs && s.userDetailDialogTabs.length)
1130
+ for (let r of s.userDetailDialogTabs)
1131
+ a.userDetailDialogTabs.push(r);
1132
+ ce.forEach((r) => v.use(r)), v.use(we, s);
1133
+ }, Ie = {
1134
+ install: he
592
1135
  };
593
1136
  export {
594
- Z as UserDetailDialog,
595
- J as UserMobileComp,
596
- me as default,
597
- se as install,
598
- N as useUserCoreConfigStore
1137
+ de as UserDetailDialog,
1138
+ se as UserMobileComp,
1139
+ Ie as default,
1140
+ he as install,
1141
+ J as useUserCoreConfigStore
599
1142
  };