xto-fronted 0.4.72 → 0.4.73

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 (96) hide show
  1. package/dist/assets/404-CrBiLyvr.js +1 -0
  2. package/dist/assets/404-Cw_4ZCL6.css +1 -0
  3. package/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
  4. package/dist/assets/index-9XqWtCGs.js +1 -0
  5. package/dist/assets/index-BBGKF0l-.js +1 -0
  6. package/dist/assets/index-BRR97dc6.js +1 -0
  7. package/dist/assets/index-BlRslYYI.css +1 -0
  8. package/dist/assets/index-BudArKxR.css +1 -0
  9. package/dist/assets/index-CFhWBbxk.css +1 -0
  10. package/dist/assets/index-CRJFI4iz.js +2 -0
  11. package/dist/assets/index-CmknWHK0.js +1 -0
  12. package/dist/assets/index-D7epoF1g.js +1 -0
  13. package/dist/assets/index-D9XBi20Y.css +1 -0
  14. package/dist/assets/index-DkkuYBgT.css +1 -0
  15. package/dist/assets/index-O9wpAB3Q.js +1 -0
  16. package/dist/assets/index-_aYxnqzF.css +1 -0
  17. package/dist/assets/index-rfC7s9zA.js +1 -0
  18. package/dist/assets/index-vfvEFrCH.css +1 -0
  19. package/dist/assets/vendor-42ANG6Sg.js +6 -0
  20. package/dist/assets/vue-vendor-D8SAgT8u.js +29 -0
  21. package/dist/assets/xto-base-BD3OH0V6.js +1 -0
  22. package/dist/assets/xto-base-CojW9IFO.css +1 -0
  23. package/dist/assets/xto-business--V1F5Gwb.css +1 -0
  24. package/dist/assets/xto-core-Boim7B0B.js +1 -0
  25. package/dist/assets/xto-data-CnAQAQH2.css +1 -0
  26. package/dist/assets/xto-data-DuG2QJrr.js +1 -0
  27. package/dist/assets/xto-feedback-C-ESp-Y1.css +1 -0
  28. package/dist/assets/xto-feedback-XZPSQcJN.js +1 -0
  29. package/dist/assets/xto-form-BmTGLIm_.js +1 -0
  30. package/dist/assets/xto-form-CrsyAjyr.css +1 -0
  31. package/dist/assets/xto-layout-D1stVnJI.css +1 -0
  32. package/dist/assets/xto-navigation-BRzSCpAw.css +1 -0
  33. package/dist/assets/xto-navigation-nPmjRi-J.js +1 -0
  34. package/dist/index.html +28 -0
  35. package/package.json +1 -1
  36. package/src/App.vue +30 -1
  37. package/src/assets/styles/_root.scss +141 -97
  38. package/src/assets/styles/_variables.scss +44 -19
  39. package/src/assets/styles/index.scss +267 -42
  40. package/src/views/dashboard/index.vue +417 -155
  41. package/src/views/error/403.vue +251 -56
  42. package/src/views/error/404.vue +253 -56
  43. package/src/views/login/index.vue +586 -194
  44. package/src/views/system/menu/index.vue +403 -94
  45. package/src/views/system/role/index.vue +348 -69
  46. package/src/views/system/user/index.vue +402 -73
  47. package/dist/App.vue.d.ts +0 -2
  48. package/dist/api/auth.d.ts +0 -8
  49. package/dist/api/system.d.ts +0 -16
  50. package/dist/api/user.d.ts +0 -13
  51. package/dist/components/Layout/Footer.vue.d.ts +0 -2
  52. package/dist/components/Layout/Header.vue.d.ts +0 -5
  53. package/dist/components/Layout/MixTopMenu.vue.d.ts +0 -5
  54. package/dist/components/Layout/Sidebar.vue.d.ts +0 -11
  55. package/dist/components/Layout/SidebarMenuItem.vue.d.ts +0 -5
  56. package/dist/components/Layout/Tabs.vue.d.ts +0 -2
  57. package/dist/components/Layout/TopMenu.vue.d.ts +0 -5
  58. package/dist/components/Layout/index.vue.d.ts +0 -2
  59. package/dist/composables/useApp.d.ts +0 -29
  60. package/dist/composables/useAuth.d.ts +0 -6
  61. package/dist/composables/useForm.d.ts +0 -20
  62. package/dist/composables/useTable.d.ts +0 -29
  63. package/dist/directives/permission.d.ts +0 -4
  64. package/dist/enums/index.d.ts +0 -32
  65. package/dist/index-48G2-eqi.js +0 -475
  66. package/dist/index-BhtcPIRK.js +0 -3169
  67. package/dist/index-CZKP8fOP.js +0 -372
  68. package/dist/index-JouxgO84.js +0 -142
  69. package/dist/index-qlKXxfT9.js +0 -345
  70. package/dist/index.d.ts +0 -54
  71. package/dist/index.es.js +0 -91
  72. package/dist/index.umd.js +0 -1
  73. package/dist/main.d.ts +0 -0
  74. package/dist/router/dynamicRoutes.d.ts +0 -30
  75. package/dist/router/guards.d.ts +0 -17
  76. package/dist/router/index.d.ts +0 -6
  77. package/dist/router/layoutRoute.d.ts +0 -18
  78. package/dist/router/staticRoutes.d.ts +0 -2
  79. package/dist/stores/app.d.ts +0 -93
  80. package/dist/stores/auth.d.ts +0 -41
  81. package/dist/stores/index.d.ts +0 -9
  82. package/dist/stores/menu.d.ts +0 -77
  83. package/dist/stores/user.d.ts +0 -92
  84. package/dist/style.css +0 -1
  85. package/dist/utils/auth.d.ts +0 -27
  86. package/dist/utils/config.d.ts +0 -30
  87. package/dist/utils/permission.d.ts +0 -18
  88. package/dist/utils/request.d.ts +0 -24
  89. package/dist/utils/storage.d.ts +0 -24
  90. package/dist/views/dashboard/index.vue.d.ts +0 -2
  91. package/dist/views/error/403.vue.d.ts +0 -2
  92. package/dist/views/error/404.vue.d.ts +0 -2
  93. package/dist/views/login/index.vue.d.ts +0 -4
  94. package/dist/views/system/menu/index.vue.d.ts +0 -4
  95. package/dist/views/system/role/index.vue.d.ts +0 -4
  96. package/dist/views/system/user/index.vue.d.ts +0 -4
@@ -1,372 +0,0 @@
1
- import { defineComponent as K, ref as f, reactive as A, computed as G, onMounted as H, openBlock as v, createElementBlock as E, createVNode as a, unref as l, withCtx as n, withKeys as J, createTextVNode as r, createElementVNode as u, Fragment as U, renderList as N, toDisplayString as c, createBlock as Q } from "vue";
2
- import { Form as T, FormItem as m, Input as b, Select as W, Switch as _ } from "@xto/form";
3
- import { Card as w, Tag as X, Pagination as Y } from "@xto/data";
4
- import { Popconfirm as Z, Modal as ee, Message as C } from "@xto/feedback";
5
- import { Space as L, Button as g } from "@xto/base";
6
- import { S as d, a as le, _ as te } from "./index-BhtcPIRK.js";
7
- const ae = { class: "user-page" }, ne = { class: "toolbar" }, ue = { class: "data-table" }, oe = { key: 0 }, se = { key: 1 }, de = { class: "pagination-wrapper" }, ie = /* @__PURE__ */ K({
8
- __name: "index",
9
- setup(re) {
10
- const I = [
11
- { id: 1, username: "admin", nickname: "管理员", email: "admin@example.com", phone: "13800138001", status: d.ENABLED, roles: ["admin"], createTime: "2024-01-01 10:00:00" },
12
- { id: 2, username: "zhangsan", nickname: "张三", email: "zhangsan@example.com", phone: "13800138002", status: d.ENABLED, roles: ["editor"], createTime: "2024-01-02 10:00:00" },
13
- { id: 3, username: "lisi", nickname: "李四", email: "lisi@example.com", phone: "13800138003", status: d.DISABLED, roles: ["viewer"], createTime: "2024-01-03 10:00:00" },
14
- { id: 4, username: "wangwu", nickname: "王五", email: "wangwu@example.com", phone: "13800138004", status: d.ENABLED, roles: ["editor"], createTime: "2024-01-04 10:00:00" },
15
- { id: 5, username: "zhaoliu", nickname: "赵六", email: "zhaoliu@example.com", phone: "13800138005", status: d.ENABLED, roles: ["viewer"], createTime: "2024-01-05 10:00:00" }
16
- ], h = f(!1), B = f([]), S = f(0), k = f(1), D = f(10), i = A({
17
- keyword: "",
18
- status: void 0
19
- }), y = f(!1), $ = G(() => s.id ? "编辑用户" : "新增用户"), s = A({
20
- id: 0,
21
- username: "",
22
- nickname: "",
23
- email: "",
24
- phone: "",
25
- status: d.ENABLED,
26
- roles: []
27
- }), F = {
28
- username: [
29
- { required: !0, message: "请输入用户名", trigger: "blur" }
30
- ],
31
- nickname: [
32
- { required: !0, message: "请输入昵称", trigger: "blur" }
33
- ],
34
- email: [
35
- { required: !0, message: "请输入邮箱", trigger: "blur" },
36
- { type: "email", message: "请输入正确的邮箱格式", trigger: "blur" }
37
- ]
38
- }, x = f(), p = () => {
39
- h.value = !0, setTimeout(() => {
40
- let o = [...I];
41
- i.keyword && (o = o.filter(
42
- (e) => e.username.includes(i.keyword) || e.nickname.includes(i.keyword)
43
- )), i.status !== void 0 && (o = o.filter((e) => e.status === i.status)), S.value = o.length, B.value = o.slice((k.value - 1) * D.value, k.value * D.value), h.value = !1;
44
- }, 300);
45
- }, z = () => {
46
- k.value = 1, p();
47
- }, P = () => {
48
- i.keyword = "", i.status = void 0, k.value = 1, p();
49
- }, q = () => {
50
- Object.assign(s, {
51
- id: 0,
52
- username: "",
53
- nickname: "",
54
- email: "",
55
- phone: "",
56
- status: d.ENABLED,
57
- roles: []
58
- }), y.value = !0;
59
- }, M = (o) => {
60
- Object.assign(s, o), y.value = !0;
61
- }, O = (o) => {
62
- C.success("删除成功"), p();
63
- }, R = async () => {
64
- var o;
65
- try {
66
- await ((o = x.value) == null ? void 0 : o.validate()), C.success(s.id ? "编辑成功" : "新增成功"), y.value = !1, p();
67
- } catch (e) {
68
- console.error(e);
69
- }
70
- }, j = (o) => {
71
- C.success(`已${o.status === d.ENABLED ? "启用" : "禁用"}用户 ${o.username}`);
72
- };
73
- return H(() => {
74
- p();
75
- }), (o, e) => (v(), E("div", ae, [
76
- a(l(w), { class: "search-card" }, {
77
- default: n(() => [
78
- a(l(T), {
79
- model: i,
80
- inline: ""
81
- }, {
82
- default: n(() => [
83
- a(l(m), { label: "关键词" }, {
84
- default: n(() => [
85
- a(l(b), {
86
- modelValue: i.keyword,
87
- "onUpdate:modelValue": e[0] || (e[0] = (t) => i.keyword = t),
88
- placeholder: "用户名/昵称",
89
- clearable: "",
90
- onKeyup: J(z, ["enter"])
91
- }, null, 8, ["modelValue"])
92
- ]),
93
- _: 1
94
- }),
95
- a(l(m), { label: "状态" }, {
96
- default: n(() => [
97
- a(l(W), {
98
- modelValue: i.status,
99
- "onUpdate:modelValue": e[1] || (e[1] = (t) => i.status = t),
100
- options: l(le),
101
- placeholder: "请选择",
102
- clearable: ""
103
- }, null, 8, ["modelValue", "options"])
104
- ]),
105
- _: 1
106
- }),
107
- a(l(m), null, {
108
- default: n(() => [
109
- a(l(L), null, {
110
- default: n(() => [
111
- a(l(g), {
112
- type: "primary",
113
- onClick: z
114
- }, {
115
- default: n(() => [...e[11] || (e[11] = [
116
- r("搜索", -1)
117
- ])]),
118
- _: 1
119
- }),
120
- a(l(g), { onClick: P }, {
121
- default: n(() => [...e[12] || (e[12] = [
122
- r("重置", -1)
123
- ])]),
124
- _: 1
125
- })
126
- ]),
127
- _: 1
128
- })
129
- ]),
130
- _: 1
131
- })
132
- ]),
133
- _: 1
134
- }, 8, ["model"])
135
- ]),
136
- _: 1
137
- }),
138
- a(l(w), { class: "table-card" }, {
139
- default: n(() => [
140
- u("div", ne, [
141
- a(l(g), {
142
- type: "primary",
143
- onClick: q
144
- }, {
145
- default: n(() => [...e[13] || (e[13] = [
146
- r("新增用户", -1)
147
- ])]),
148
- _: 1
149
- })
150
- ]),
151
- u("table", ue, [
152
- e[18] || (e[18] = u("thead", null, [
153
- u("tr", null, [
154
- u("th", null, "ID"),
155
- u("th", null, "用户名"),
156
- u("th", null, "昵称"),
157
- u("th", null, "邮箱"),
158
- u("th", null, "手机号"),
159
- u("th", null, "角色"),
160
- u("th", null, "状态"),
161
- u("th", null, "创建时间"),
162
- u("th", null, "操作")
163
- ])
164
- ], -1)),
165
- u("tbody", null, [
166
- h.value ? (v(), E("tr", oe, [...e[14] || (e[14] = [
167
- u("td", {
168
- colspan: "9",
169
- class: "loading-cell"
170
- }, "加载中...", -1)
171
- ])])) : B.value.length === 0 ? (v(), E("tr", se, [...e[15] || (e[15] = [
172
- u("td", {
173
- colspan: "9",
174
- class: "empty-cell"
175
- }, "暂无数据", -1)
176
- ])])) : (v(!0), E(U, { key: 2 }, N(B.value, (t) => (v(), E("tr", {
177
- key: t.id
178
- }, [
179
- u("td", null, c(t.id), 1),
180
- u("td", null, c(t.username), 1),
181
- u("td", null, c(t.nickname), 1),
182
- u("td", null, c(t.email), 1),
183
- u("td", null, c(t.phone), 1),
184
- u("td", null, [
185
- (v(!0), E(U, null, N(t.roles, (V) => (v(), Q(l(X), {
186
- key: V,
187
- size: "small"
188
- }, {
189
- default: n(() => [
190
- r(c(V), 1)
191
- ]),
192
- _: 2
193
- }, 1024))), 128))
194
- ]),
195
- u("td", null, [
196
- a(l(_), {
197
- "model-value": t.status === l(d).ENABLED,
198
- "onUpdate:modelValue": (V) => {
199
- t.status = V ? l(d).ENABLED : l(d).DISABLED, j(t);
200
- }
201
- }, null, 8, ["model-value", "onUpdate:modelValue"])
202
- ]),
203
- u("td", null, c(t.createTime), 1),
204
- u("td", null, [
205
- a(l(L), null, {
206
- default: n(() => [
207
- a(l(g), {
208
- type: "primary",
209
- link: "",
210
- size: "small",
211
- onClick: (V) => M(t)
212
- }, {
213
- default: n(() => [...e[16] || (e[16] = [
214
- r("编辑", -1)
215
- ])]),
216
- _: 1
217
- }, 8, ["onClick"]),
218
- a(l(Z), {
219
- title: "确定删除该用户吗?",
220
- onConfirm: (V) => O(t.id)
221
- }, {
222
- default: n(() => [
223
- a(l(g), {
224
- type: "danger",
225
- link: "",
226
- size: "small"
227
- }, {
228
- default: n(() => [...e[17] || (e[17] = [
229
- r("删除", -1)
230
- ])]),
231
- _: 1
232
- })
233
- ]),
234
- _: 1
235
- }, 8, ["onConfirm"])
236
- ]),
237
- _: 2
238
- }, 1024)
239
- ])
240
- ]))), 128))
241
- ])
242
- ]),
243
- u("div", de, [
244
- a(l(Y), {
245
- "current-page": k.value,
246
- "onUpdate:currentPage": e[2] || (e[2] = (t) => k.value = t),
247
- "page-size": D.value,
248
- "onUpdate:pageSize": e[3] || (e[3] = (t) => D.value = t),
249
- total: S.value,
250
- "page-sizes": [10, 20, 50, 100],
251
- layout: "total, sizes, prev, pager, next",
252
- onCurrentChange: p,
253
- onSizeChange: p
254
- }, null, 8, ["current-page", "page-size", "total"])
255
- ])
256
- ]),
257
- _: 1
258
- }),
259
- a(l(ee), {
260
- modelValue: y.value,
261
- "onUpdate:modelValue": e[10] || (e[10] = (t) => y.value = t),
262
- title: $.value,
263
- width: "500px"
264
- }, {
265
- footer: n(() => [
266
- a(l(L), null, {
267
- default: n(() => [
268
- a(l(g), {
269
- onClick: e[9] || (e[9] = (t) => y.value = !1)
270
- }, {
271
- default: n(() => [...e[19] || (e[19] = [
272
- r("取消", -1)
273
- ])]),
274
- _: 1
275
- }),
276
- a(l(g), {
277
- type: "primary",
278
- onClick: R
279
- }, {
280
- default: n(() => [...e[20] || (e[20] = [
281
- r("确定", -1)
282
- ])]),
283
- _: 1
284
- })
285
- ]),
286
- _: 1
287
- })
288
- ]),
289
- default: n(() => [
290
- a(l(T), {
291
- ref_key: "formRef",
292
- ref: x,
293
- model: s,
294
- rules: F,
295
- "label-width": "80px"
296
- }, {
297
- default: n(() => [
298
- a(l(m), {
299
- label: "用户名",
300
- prop: "username"
301
- }, {
302
- default: n(() => [
303
- a(l(b), {
304
- modelValue: s.username,
305
- "onUpdate:modelValue": e[4] || (e[4] = (t) => s.username = t),
306
- placeholder: "请输入用户名"
307
- }, null, 8, ["modelValue"])
308
- ]),
309
- _: 1
310
- }),
311
- a(l(m), {
312
- label: "昵称",
313
- prop: "nickname"
314
- }, {
315
- default: n(() => [
316
- a(l(b), {
317
- modelValue: s.nickname,
318
- "onUpdate:modelValue": e[5] || (e[5] = (t) => s.nickname = t),
319
- placeholder: "请输入昵称"
320
- }, null, 8, ["modelValue"])
321
- ]),
322
- _: 1
323
- }),
324
- a(l(m), {
325
- label: "邮箱",
326
- prop: "email"
327
- }, {
328
- default: n(() => [
329
- a(l(b), {
330
- modelValue: s.email,
331
- "onUpdate:modelValue": e[6] || (e[6] = (t) => s.email = t),
332
- placeholder: "请输入邮箱"
333
- }, null, 8, ["modelValue"])
334
- ]),
335
- _: 1
336
- }),
337
- a(l(m), {
338
- label: "手机号",
339
- prop: "phone"
340
- }, {
341
- default: n(() => [
342
- a(l(b), {
343
- modelValue: s.phone,
344
- "onUpdate:modelValue": e[7] || (e[7] = (t) => s.phone = t),
345
- placeholder: "请输入手机号"
346
- }, null, 8, ["modelValue"])
347
- ]),
348
- _: 1
349
- }),
350
- a(l(m), { label: "状态" }, {
351
- default: n(() => [
352
- a(l(_), {
353
- modelValue: s.status,
354
- "onUpdate:modelValue": e[8] || (e[8] = (t) => s.status = t),
355
- "active-value": l(d).ENABLED,
356
- "inactive-value": l(d).DISABLED
357
- }, null, 8, ["modelValue", "active-value", "inactive-value"])
358
- ]),
359
- _: 1
360
- })
361
- ]),
362
- _: 1
363
- }, 8, ["model"])
364
- ]),
365
- _: 1
366
- }, 8, ["modelValue", "title"])
367
- ]));
368
- }
369
- }), ke = /* @__PURE__ */ te(ie, [["__scopeId", "data-v-d2491ae0"]]);
370
- export {
371
- ke as default
372
- };
@@ -1,142 +0,0 @@
1
- import { defineComponent as g, ref as r, resolveComponent as x, openBlock as o, createElementBlock as c, createElementVNode as s, Fragment as d, renderList as m, createBlock as u, unref as l, withCtx as i, normalizeStyle as p, toDisplayString as a, createVNode as n, createTextVNode as q } from "vue";
2
- import { Card as _, Tag as C, Progress as y } from "@xto/data";
3
- import { _ as V } from "./index-BhtcPIRK.js";
4
- const B = { class: "dashboard" }, L = { class: "dashboard__stats" }, N = { class: "stat-card__content" }, S = { class: "stat-card__info" }, w = { class: "stat-card__title" }, z = { class: "dashboard__main" }, E = { class: "quick-links" }, I = { class: "quick-link__icon" }, T = { class: "quick-link__title" }, D = { class: "activity-list" }, F = { class: "activity-item__action" }, P = { class: "activity-item__time" }, U = { class: "system-info" }, j = { class: "system-info__item" }, A = { class: "system-info__item" }, G = /* @__PURE__ */ g({
5
- __name: "index",
6
- setup(H) {
7
- const f = r([
8
- { title: "用户总数", value: 1234, icon: "👥", color: "#409eff" },
9
- { title: "今日访问", value: 567, icon: "👀", color: "#67c23a" },
10
- { title: "订单数量", value: 890, icon: "📦", color: "#e6a23c" },
11
- { title: "销售金额", value: 123456, icon: "💰", color: "#f56c6c" }
12
- ]), v = r([
13
- { user: "张三", action: "登录系统", time: "2分钟前", type: "success" },
14
- { user: "李四", action: "修改了用户信息", time: "5分钟前", type: "warning" },
15
- { user: "王五", action: "创建了新订单", time: "10分钟前", type: "info" },
16
- { user: "赵六", action: "删除了测试数据", time: "30分钟前", type: "danger" },
17
- { user: "钱七", action: "更新了系统配置", time: "1小时前", type: "primary" }
18
- ]), k = r([
19
- { title: "用户管理", path: "/system/user", icon: "👤" },
20
- { title: "角色管理", path: "/system/role", icon: "👥" },
21
- { title: "菜单管理", path: "/system/menu", icon: "📋" },
22
- { title: "系统设置", path: "/system", icon: "⚙️" }
23
- ]);
24
- return (J, t) => {
25
- const b = x("router-link");
26
- return o(), c("div", B, [
27
- s("div", L, [
28
- (o(!0), c(d, null, m(f.value, (e) => (o(), u(l(_), {
29
- key: e.title,
30
- class: "stat-card"
31
- }, {
32
- default: i(() => [
33
- s("div", N, [
34
- s("div", {
35
- class: "stat-card__icon",
36
- style: p({ backgroundColor: e.color + "20" })
37
- }, a(e.icon), 5),
38
- s("div", S, [
39
- s("div", w, a(e.title), 1),
40
- s("div", {
41
- class: "stat-card__value",
42
- style: p({ color: e.color })
43
- }, a(e.value.toLocaleString()), 5)
44
- ])
45
- ])
46
- ]),
47
- _: 2
48
- }, 1024))), 128))
49
- ]),
50
- s("div", z, [
51
- n(l(_), { class: "dashboard__quick" }, {
52
- header: i(() => [...t[0] || (t[0] = [
53
- s("span", { class: "card-title" }, "快捷入口", -1)
54
- ])]),
55
- default: i(() => [
56
- s("div", E, [
57
- (o(!0), c(d, null, m(k.value, (e) => (o(), u(b, {
58
- key: e.path,
59
- to: e.path,
60
- class: "quick-link"
61
- }, {
62
- default: i(() => [
63
- s("span", I, a(e.icon), 1),
64
- s("span", T, a(e.title), 1)
65
- ]),
66
- _: 2
67
- }, 1032, ["to"]))), 128))
68
- ])
69
- ]),
70
- _: 1
71
- }),
72
- n(l(_), { class: "dashboard__activity" }, {
73
- header: i(() => [...t[1] || (t[1] = [
74
- s("span", { class: "card-title" }, "最近活动", -1)
75
- ])]),
76
- default: i(() => [
77
- s("div", D, [
78
- (o(!0), c(d, null, m(v.value, (e, h) => (o(), c("div", {
79
- key: h,
80
- class: "activity-item"
81
- }, [
82
- n(l(C), {
83
- type: e.type,
84
- size: "small"
85
- }, {
86
- default: i(() => [
87
- q(a(e.user), 1)
88
- ]),
89
- _: 2
90
- }, 1032, ["type"]),
91
- s("span", F, a(e.action), 1),
92
- s("span", P, a(e.time), 1)
93
- ]))), 128))
94
- ])
95
- ]),
96
- _: 1
97
- })
98
- ]),
99
- n(l(_), { class: "dashboard__system" }, {
100
- header: i(() => [...t[2] || (t[2] = [
101
- s("span", { class: "card-title" }, "系统信息", -1)
102
- ])]),
103
- default: i(() => [
104
- s("div", U, [
105
- t[5] || (t[5] = s("div", { class: "system-info__item" }, [
106
- s("span", { class: "system-info__label" }, "系统版本"),
107
- s("span", { class: "system-info__value" }, "v1.0.0")
108
- ], -1)),
109
- t[6] || (t[6] = s("div", { class: "system-info__item" }, [
110
- s("span", { class: "system-info__label" }, "Vue 版本"),
111
- s("span", { class: "system-info__value" }, "3.4.21")
112
- ], -1)),
113
- t[7] || (t[7] = s("div", { class: "system-info__item" }, [
114
- s("span", { class: "system-info__label" }, "构建工具"),
115
- s("span", { class: "system-info__value" }, "Vite 5")
116
- ], -1)),
117
- t[8] || (t[8] = s("div", { class: "system-info__item" }, [
118
- s("span", { class: "system-info__label" }, "UI 组件库"),
119
- s("span", { class: "system-info__value" }, "xto")
120
- ], -1)),
121
- s("div", j, [
122
- t[3] || (t[3] = s("span", { class: "system-info__label" }, "服务器状态", -1)),
123
- n(l(y), {
124
- percentage: 75,
125
- status: "success"
126
- })
127
- ]),
128
- s("div", A, [
129
- t[4] || (t[4] = s("span", { class: "system-info__label" }, "内存使用", -1)),
130
- n(l(y), { percentage: 45 })
131
- ])
132
- ])
133
- ]),
134
- _: 1
135
- })
136
- ]);
137
- };
138
- }
139
- }), Q = /* @__PURE__ */ V(G, [["__scopeId", "data-v-44648cb1"]]);
140
- export {
141
- Q as default
142
- };