@pangu-backend-ui/user-core 0.0.12 → 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 T, Fragment as I, createTextVNode as _, toDisplayString as h, createBlock as f, 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 u = p("View"), b = p("el-icon"), D = p("Loading");
33
- return o.maskMobile != null ? (m(), T("div", W, [
34
- l.value.plainMobile == null ? (m(), T(I, { key: 0 }, [
35
- _(h(o.maskMobile), 1)
36
- ], 64)) : (m(), T(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(), f(b, {
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(() => [
44
+ default: l(() => [
45
45
  e(u)
46
46
  ]),
47
47
  _: 1
48
- })) : k("", !0),
49
- l.value.loading ? (m(), f(b, {
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);
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);
70
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}`);
76
- }
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, u) => {
98
- const b = p("el-date-picker"), D = p("el-button"), g = p("el-space"), i = p("el-table-column"), d = p("el-tag"), V = p("pg-table");
99
- return m(), T(I, null, [
100
- e(g, null, {
101
- default: t(() => [
102
- e(b, {
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": u[0] || (u[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(V, {
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(), f(d, {
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(), f(d, {
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(), f(d, {
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(), f(d, {
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,214 +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
- }), u = w(!1);
239
- function b(D, g) {
240
- var i;
241
- u.value = !0, (i = l(D)) == null || i.then((d) => {
242
- s.value = d.data, u.value = !1, v.value = !0, c.value.tabs.length = 0, c.value.tabs = c.value.tabs.concat(r.userDetailDialogTabs), g && (c.value.tabs = c.value.tabs.concat(g));
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: b
247
- }), (D, g) => {
248
- const i = p("el-descriptions-item"), d = p("el-descriptions"), V = p("el-tab-pane"), n = p("el-tabs"), P = p("el-dialog"), R = z("loading");
249
- return O((m(), f(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(d, { 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(), f(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
- e(n, {
326
- modelValue: c.value.activeName,
327
- "onUpdate:modelValue": g[0] || (g[0] = (y) => c.value.activeName = y),
328
- style: { "margin-top": "10px" },
329
- 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())
330
332
  }, {
331
- default: t(() => [
332
- (m(!0), T(I, null, A(c.value.tabs, (y, ue) => (m(), f(V, {
333
- label: y.name,
334
- name: y.code,
335
- key: `user_detail_dialog_${y.code}`
336
- }, {
337
- default: t(() => [
338
- (m(), f(B, null, [
339
- c.value.activeName == y.code ? (m(), f(F(y.component), {
340
- key: `ud_tab_${y.code}`,
341
- userId: s.value.id
342
- }, null, 8, ["userId"])) : k("", !0)
343
- ], 1024))
344
- ]),
345
- _: 2
346
- }, 1032, ["label", "name"]))), 128))
333
+ default: l(() => [
334
+ c("加入黑名单")
347
335
  ]),
348
336
  _: 1
349
- }, 8, ["modelValue"])
337
+ })
350
338
  ]),
351
- _: 1
352
- }, 8, ["modelValue"])), [
353
- [R, u.value]
354
- ]);
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);
355
425
  };
356
426
  }
357
- }), Z = {
358
- install: (a) => {
359
- 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);
360
638
  }
361
- }, ee = [
362
- J,
363
- Z
364
- ], 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({
365
643
  __name: "list",
366
- setup(a) {
367
- const o = w({
644
+ setup(v) {
645
+ const s = g({
368
646
  id: null,
369
647
  parentId: null,
370
648
  phone: null,
371
649
  nicekname: null,
372
650
  inviteCode: null
373
- }), l = w(null);
651
+ }), a = g(null);
374
652
  function r() {
375
- l.value.search();
653
+ a.value.search();
376
654
  }
377
- const v = w();
378
- function s(c) {
379
- v.value.show(c.id);
655
+ const m = g();
656
+ function i(b) {
657
+ m.value.show(b.id);
380
658
  }
381
- return (c, u) => {
382
- const b = p("el-input"), D = p("el-button"), g = p("el-space"), i = p("el-card"), d = p("el-table-column"), V = p("el-image");
383
- return m(), T(I, null, [
384
- x("div", te, [
385
- e(i, null, {
386
- default: t(() => [
387
- e(g, null, {
388
- default: t(() => [
389
- e(b, {
390
- modelValue: o.value.id,
391
- "onUpdate:modelValue": u[0] || (u[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),
392
670
  placeholder: "ID",
393
671
  style: { width: "100px" },
394
672
  clearable: ""
395
673
  }, null, 8, ["modelValue"]),
396
- e(b, {
397
- modelValue: o.value.parentId,
398
- "onUpdate:modelValue": u[1] || (u[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),
399
677
  placeholder: "父用户ID",
400
678
  style: { width: "100px" },
401
679
  clearable: ""
402
680
  }, null, 8, ["modelValue"]),
403
- e(b, {
404
- modelValue: o.value.phone,
405
- "onUpdate:modelValue": u[2] || (u[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),
406
684
  placeholder: "手机号",
407
685
  style: { width: "120px" },
408
686
  clearable: ""
409
687
  }, null, 8, ["modelValue"]),
410
- e(b, {
411
- modelValue: o.value.nicekname,
412
- "onUpdate:modelValue": u[3] || (u[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),
413
691
  placeholder: "昵称",
414
692
  style: { width: "150px" },
415
693
  clearable: ""
416
694
  }, null, 8, ["modelValue"]),
417
- e(b, {
418
- modelValue: o.value.inviteCode,
419
- "onUpdate:modelValue": u[4] || (u[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),
420
698
  placeholder: "邀请码",
421
699
  style: { width: "100px" },
422
700
  clearable: ""
423
701
  }, null, 8, ["modelValue"]),
424
- e(D, {
702
+ e(d, {
425
703
  type: "primary",
426
704
  icon: "search",
427
705
  onClick: r
428
706
  }, {
429
- default: t(() => [
430
- _("搜索")
707
+ default: l(() => [
708
+ c("搜索")
431
709
  ]),
432
710
  _: 1
433
711
  })
@@ -437,118 +715,118 @@ const X = /* @__PURE__ */ U({
437
715
  ]),
438
716
  _: 1
439
717
  }),
440
- x("div", oe, [
441
- e(H(K), {
718
+ F("div", _e, [
719
+ e(le(ne), {
442
720
  ref_key: "userTable",
443
- ref: l,
721
+ ref: a,
444
722
  "data-url": "/api/user/page",
445
- condition: o.value,
446
- onRowDbClick: u[5] || (u[5] = (n) => s(n))
723
+ condition: s.value,
724
+ onRowDbClick: u[5] || (u[5] = (p) => i(p))
447
725
  }, {
448
- columns: t(() => [
449
- e(d, {
726
+ columns: l(() => [
727
+ e(_, {
450
728
  prop: "id",
451
729
  label: "UID",
452
730
  width: "80",
453
731
  align: "center"
454
732
  }),
455
- e(d, {
733
+ e(_, {
456
734
  prop: "mobile",
457
735
  label: "手机",
458
736
  width: "115",
459
737
  align: "left",
460
738
  "show-overflow-tooltip": ""
461
739
  }, {
462
- default: t((n) => [
463
- (m(), f(C, {
464
- "mask-mobile": n.row.mobile,
465
- "user-id": n.row.id,
466
- 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
467
745
  }, null, 8, ["mask-mobile", "user-id"]))
468
746
  ]),
469
747
  _: 1
470
748
  }),
471
- e(d, {
749
+ e(_, {
472
750
  prop: "username",
473
751
  label: "用户名",
474
752
  width: "110",
475
753
  align: "left",
476
754
  "show-overflow-tooltip": ""
477
755
  }),
478
- e(d, {
756
+ e(_, {
479
757
  prop: "nickname",
480
758
  label: "昵称",
481
759
  width: "110",
482
760
  align: "left",
483
761
  "show-overflow-tooltip": ""
484
762
  }),
485
- e(d, {
763
+ e(_, {
486
764
  prop: "inviteCode",
487
765
  label: "邀请码",
488
766
  width: "90",
489
767
  align: "center",
490
768
  "show-overflow-tooltip": ""
491
769
  }),
492
- e(d, {
770
+ e(_, {
493
771
  prop: "avatar",
494
772
  label: "头像",
495
773
  width: "60",
496
774
  align: "center",
497
775
  "show-overflow-tooltip": ""
498
776
  }, {
499
- default: t((n) => [
500
- e(V, {
777
+ default: l((p) => [
778
+ e(y, {
501
779
  fit: "cover",
502
780
  size: 30,
503
- src: n.row.avatar,
781
+ src: p.row.avatar,
504
782
  "preview-teleported": "",
505
- "preview-src-list": [n.row.avatar]
783
+ "preview-src-list": [p.row.avatar]
506
784
  }, null, 8, ["src", "preview-src-list"])
507
785
  ]),
508
786
  _: 1
509
787
  }),
510
- e(d, {
788
+ e(_, {
511
789
  prop: "parentId",
512
790
  label: "上级ID",
513
791
  width: "80",
514
792
  align: "left",
515
793
  "show-overflow-tooltip": ""
516
794
  }),
517
- e(d, {
795
+ e(_, {
518
796
  prop: "relationPath",
519
797
  label: "邀请关系",
520
798
  "min-width": "150",
521
799
  align: "left",
522
800
  "show-overflow-tooltip": ""
523
801
  }),
524
- e(d, {
802
+ e(_, {
525
803
  prop: "blackUnlockTime",
526
804
  label: "黑名单解锁",
527
805
  width: "145",
528
806
  align: "left",
529
807
  "show-overflow-tooltip": ""
530
808
  }),
531
- e(d, {
809
+ e(_, {
532
810
  prop: "lastLoginTime",
533
811
  label: "最后登录时间",
534
812
  width: "145",
535
813
  align: "center",
536
814
  "show-overflow-tooltip": ""
537
815
  }),
538
- e(d, {
816
+ e(_, {
539
817
  prop: "createdTime",
540
818
  label: "创建时间",
541
819
  width: "145",
542
820
  align: "center",
543
821
  "show-overflow-tooltip": ""
544
822
  }),
545
- e(d, {
823
+ e(_, {
546
824
  label: "操作",
547
825
  width: "220",
548
826
  fixed: "right"
549
827
  }, {
550
- default: t(() => [
551
- ae
828
+ default: l(() => [
829
+ fe
552
830
  ]),
553
831
  _: 1
554
832
  })
@@ -557,18 +835,280 @@ const X = /* @__PURE__ */ U({
557
835
  }, 8, ["condition"])
558
836
  ])
559
837
  ]),
560
- e(L, {
838
+ e(K, {
561
839
  ref_key: "userDetailDialog",
562
- ref: v
840
+ ref: m
563
841
  }, null, 512)
564
842
  ], 64);
565
843
  };
566
844
  }
567
845
  });
568
- const ie = /* @__PURE__ */ M(ne, [["__scopeId", "data-v-391c43be"]]), re = {
569
- install: (a, o) => {
570
- let l = o.router, r = l.getRoutes().find((v) => v.path == "/");
571
- 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({
572
1112
  path: "/user",
573
1113
  name: "User",
574
1114
  redirect: "/user/list",
@@ -576,23 +1116,27 @@ const ie = /* @__PURE__ */ M(ne, [["__scopeId", "data-v-391c43be"]]), re = {
576
1116
  children: [{
577
1117
  path: "list",
578
1118
  name: "UserList",
579
- component: ie
1119
+ component: be
1120
+ }, {
1121
+ path: "blacklist",
1122
+ name: "BlackListView",
1123
+ component: ke
580
1124
  }]
581
1125
  });
582
1126
  }
583
- }, se = (a, o) => {
584
- const l = N();
585
- if (o.userDetailDialogTabs && o.userDetailDialogTabs.length)
586
- for (let r of o.userDetailDialogTabs)
587
- l.userDetailDialogTabs.push(r);
588
- ee.forEach((r) => a.use(r)), a.use(re, o);
589
- }, me = {
590
- 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
591
1135
  };
592
1136
  export {
593
- Z as UserDetailDialog,
594
- J as UserMobileComp,
595
- me as default,
596
- se as install,
597
- N as useUserCoreConfigStore
1137
+ de as UserDetailDialog,
1138
+ se as UserMobileComp,
1139
+ Ie as default,
1140
+ he as install,
1141
+ J as useUserCoreConfigStore
598
1142
  };