gs-eant-comp 3.3.0 → 3.3.2

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 (25) hide show
  1. package/dist/AiCenter-lVo4-j0u.js +298 -0
  2. package/dist/{NotificationCenter-DYK_tiZk.js → CommonNotificationCenter-CevII2_B.js} +20 -20
  3. package/dist/{OrderCenter-DYxx0AVB.js → CommonOrderCenter-BpQL3QpU.js} +10 -10
  4. package/dist/ContainerManager-Cm2cAxLn.js +536 -0
  5. package/dist/{ActivityFeed-DI9hNxV4.js → MobileActivityFeed-CgSNUDdr.js} +11 -11
  6. package/dist/{BannerCarousel-CC_uykla.js → MobileBanner-Bsz39Sk2.js} +11 -11
  7. package/dist/MobileHomeConfig-D8nuNVH0.js +212 -0
  8. package/dist/{NoticeList-gioopR6r.js → MobileNoticeList-78HOxabl.js} +12 -12
  9. package/dist/{QuickActions-BdAibhSL.js → MobileQuickActions-gbEi_P0b.js} +7 -7
  10. package/dist/{QuickMenu-VY9bW-XU.js → MobileQuickMenu-DjRdanKb.js} +13 -13
  11. package/dist/{ShoppingCart-Bv7KU5Qh.js → MobileShoppingCart-c0W6yhjj.js} +25 -25
  12. package/dist/{StatCard-DkTQeLrf.js → MobileStatCard-DO_o0V-r.js} +18 -18
  13. package/dist/{TodoList-Bskuy_aU.js → MobileTodoList-Do11D8qm.js} +12 -12
  14. package/dist/{ActivityTable-C6yju1oZ.js → PcActivityTable-BTmxzVEs.js} +3 -3
  15. package/dist/PcAiSummary-Ba8XA8mg.js +286 -0
  16. package/dist/PcHomeConfig-mb_y3sS3.js +59 -0
  17. package/dist/{QuickActionsPanel-CU778wqz.js → PcQuickActions-DYLjB2_G.js} +9 -9
  18. package/dist/{StatCards-BWasvRXQ.js → PcStatCards-Dz0dK1tS.js} +13 -13
  19. package/dist/PcWorkspaceEntry-DFJIHAt9.js +45 -0
  20. package/dist/gs-eant-comp.css +1 -1
  21. package/dist/gs-eant-comp.js +22 -27
  22. package/dist/gs-eant-comp.umd.cjs +4 -4
  23. package/dist/index-ReaL9JbY.js +10071 -0
  24. package/package.json +2 -1
  25. package/dist/index--CCglFst.js +0 -9683
@@ -0,0 +1,536 @@
1
+ import { computed as T, ref as y, onMounted as G, resolveComponent as d, createElementBlock as w, openBlock as p, createElementVNode as o, toDisplayString as f, Fragment as B, renderList as Y, createVNode as a, withCtx as s, createTextVNode as b, createBlock as A, unref as P, inject as te, reactive as ae, createCommentVNode as V } from "vue";
2
+ import { useRequest as j } from "vue-request";
3
+ import { _ as ne, p as oe, m as se, D as le, s as ie } from "./index-ReaL9JbY.js";
4
+ import { message as C, Modal as ue } from "ant-design-vue";
5
+ import { useStore as re } from "vuex";
6
+ const de = { class: "home-layout-studio" }, ce = { class: "container-library" }, pe = { class: "studio-panel-heading" }, me = { class: "container-list" }, _e = ["onClick"], ve = { class: "container-icon" }, fe = { class: "container-meta" }, ye = { class: "container-name" }, ge = { class: "container-desc" }, be = { class: "layout-canvas-panel" }, he = { class: "canvas-toolbar" }, we = { class: "studio-eyebrow" }, ke = { class: "canvas-actions" }, Ce = { class: "canvas-stat" }, Ie = { class: "layout-preview" }, xe = {
7
+ key: 0,
8
+ class: "empty-canvas"
9
+ }, ze = { class: "empty-orbit" }, Se = { class: "grid-item-editor" }, Le = { class: "grid-item-header" }, De = ["onClick"], Ne = { class: "grid-item-body" }, Re = {
10
+ __name: "HomeLayoutDesigner",
11
+ props: {
12
+ api: {
13
+ type: Object,
14
+ required: !0
15
+ },
16
+ start: {
17
+ type: Number,
18
+ default: 1
19
+ },
20
+ platform: {
21
+ type: String,
22
+ default: "mobile",
23
+ validator: (D) => ["mobile", "pc"].includes(D)
24
+ },
25
+ initialLayout: {
26
+ type: Array,
27
+ default: () => []
28
+ }
29
+ },
30
+ emits: ["update:layoutItems"],
31
+ setup(D, { expose: k, emit: N }) {
32
+ const c = D, I = N, g = T(() => c.start === 2 ? "PC home canvas" : "Mobile home canvas"), m = T(() => c.platform === "pc" ? oe : se), _ = y([]), l = y([]), x = T(() => l.value.length ? l.value.reduce((t, e) => {
33
+ const u = Number(e.y || 0) + Number(e.h || 0);
34
+ return u > t ? u : t;
35
+ }, 0) : 0), n = y(!1), { run: z } = j(
36
+ () => c.api.mobile.list.post({}),
37
+ {
38
+ manual: !0,
39
+ onSuccess: async (t) => {
40
+ t && t.data && Array.isArray(t.data) && await m.value.loadDynamicContainersFromAPI(c.api), _.value = m.value.getRegisteredContainers();
41
+ },
42
+ onError: () => {
43
+ _.value = m.value.getRegisteredContainers();
44
+ }
45
+ }
46
+ ), M = (t) => {
47
+ const e = `${t.id}_${Date.now()}`, u = m.value.getContainerDefaultSize(t.id) || { w: 12, h: 2 }, v = {
48
+ i: e,
49
+ x: 0,
50
+ y: x.value,
51
+ w: u.w,
52
+ h: u.h,
53
+ componentId: t.id
54
+ };
55
+ l.value.push(v), I("update:layoutItems", l.value);
56
+ }, S = (t) => {
57
+ l.value = l.value.filter((e) => e.i !== t), I("update:layoutItems", l.value);
58
+ }, R = (t) => {
59
+ const u = m.value.getRegisteredContainers().find((v) => v.id === t);
60
+ return u ? u.name : t;
61
+ }, { run: $ } = j(
62
+ () => c.api.mobile.configInfo.post({ start: c.start }),
63
+ {
64
+ manual: !0,
65
+ onSuccess: (t) => {
66
+ if (t && t.data && t.data.home_layout)
67
+ try {
68
+ const e = JSON.parse(t.data.home_layout);
69
+ Array.isArray(e) && (l.value = e);
70
+ } catch (e) {
71
+ console.warn("首页布局配置解析失败", e);
72
+ }
73
+ }
74
+ }
75
+ ), q = async () => {
76
+ n.value = !0;
77
+ try {
78
+ const t = {
79
+ home_layout: JSON.stringify(l.value)
80
+ };
81
+ await c.api.mobile.configUspdate.post({ ...t, start: c.start });
82
+ } finally {
83
+ n.value = !1;
84
+ }
85
+ }, O = () => {
86
+ l.value = [], I("update:layoutItems", l.value);
87
+ };
88
+ return k({ loadConfig: $, loadContainers: z, setLayout: (t) => {
89
+ l.value = t;
90
+ }, layoutItems: l }), G(() => {
91
+ $(), z();
92
+ }), (t, e) => {
93
+ const u = d("a-icon"), v = d("a-button");
94
+ return p(), w("div", de, [
95
+ o("aside", ce, [
96
+ o("div", pe, [
97
+ e[0] || (e[0] = o("div", null, [
98
+ o("span", { class: "studio-eyebrow" }, "Component library"),
99
+ o("h3", null, "可用组件")
100
+ ], -1)),
101
+ o("strong", null, f(_.value.length), 1)
102
+ ]),
103
+ e[2] || (e[2] = o("div", { class: "library-subtitle" }, " 选择组件后会追加到当前画布末尾,可继续拖拽调整位置和尺寸。 ", -1)),
104
+ o("div", me, [
105
+ (p(!0), w(B, null, Y(_.value, (r) => (p(), w("div", {
106
+ key: r.id,
107
+ class: "container-item",
108
+ onClick: (E) => M(r)
109
+ }, [
110
+ o("div", ve, [
111
+ a(u, {
112
+ type: r.icon
113
+ }, null, 8, ["type"])
114
+ ]),
115
+ o("div", fe, [
116
+ o("div", ye, f(r.name), 1),
117
+ o("div", ge, f(r.description || "暂无描述"), 1)
118
+ ]),
119
+ a(v, {
120
+ size: "small",
121
+ type: "primary",
122
+ ghost: "",
123
+ class: "container-add"
124
+ }, {
125
+ default: s(() => [...e[1] || (e[1] = [
126
+ b("添加", -1)
127
+ ])]),
128
+ _: 1
129
+ })
130
+ ], 8, _e))), 128))
131
+ ])
132
+ ]),
133
+ o("section", be, [
134
+ o("div", he, [
135
+ o("div", null, [
136
+ o("span", we, f(g.value), 1),
137
+ e[3] || (e[3] = o("h3", null, "首页布局预览", -1))
138
+ ]),
139
+ o("div", ke, [
140
+ o("div", Ce, [
141
+ e[4] || (e[4] = o("span", null, "组件数", -1)),
142
+ o("strong", null, f(l.value.length), 1)
143
+ ]),
144
+ a(v, {
145
+ size: "small",
146
+ onClick: O
147
+ }, {
148
+ default: s(() => [...e[5] || (e[5] = [
149
+ b("重置", -1)
150
+ ])]),
151
+ _: 1
152
+ }),
153
+ a(v, {
154
+ type: "primary",
155
+ size: "small",
156
+ loading: n.value,
157
+ onClick: q
158
+ }, {
159
+ default: s(() => [...e[6] || (e[6] = [
160
+ b("保存配置", -1)
161
+ ])]),
162
+ _: 1
163
+ }, 8, ["loading"])
164
+ ])
165
+ ]),
166
+ o("div", Ie, [
167
+ l.value.length === 0 ? (p(), w("div", xe, [
168
+ o("div", ze, [
169
+ a(u, { type: "icon-appstore" })
170
+ ]),
171
+ e[7] || (e[7] = o("h4", null, "当前画布为空", -1)),
172
+ e[8] || (e[8] = o("p", null, "从左侧组件库添加容器,配置会保存为当前首页布局。", -1))
173
+ ])) : (p(), A(P(le), {
174
+ key: 1,
175
+ layout: l.value,
176
+ "col-num": 12,
177
+ "row-height": 80,
178
+ "is-draggable": !0,
179
+ "is-resizable": !0,
180
+ responsive: !1,
181
+ "vertical-compact": !0,
182
+ margin: [8, 8],
183
+ "use-css-transforms": !0
184
+ }, {
185
+ default: s(() => [
186
+ (p(!0), w(B, null, Y(l.value, (r) => (p(), A(P(ie), {
187
+ key: r.i,
188
+ x: r.x,
189
+ y: r.y,
190
+ w: r.w,
191
+ h: r.h,
192
+ i: r.i
193
+ }, {
194
+ default: s(() => [
195
+ o("div", Se, [
196
+ o("div", Le, [
197
+ o("span", null, f(R(r.componentId)), 1),
198
+ o("button", {
199
+ type: "button",
200
+ class: "grid-remove",
201
+ onClick: (E) => S(r.i)
202
+ }, [
203
+ a(u, { type: "icon-close" })
204
+ ], 8, De)
205
+ ]),
206
+ o("div", Ne, [
207
+ a(u, { type: "icon-dashboard" }),
208
+ o("span", null, f(R(r.componentId)) + " 容器", 1)
209
+ ])
210
+ ])
211
+ ]),
212
+ _: 2
213
+ }, 1032, ["x", "y", "w", "h", "i"]))), 128))
214
+ ]),
215
+ _: 1
216
+ }, 8, ["layout"]))
217
+ ])
218
+ ])
219
+ ]);
220
+ };
221
+ }
222
+ }, Oe = /* @__PURE__ */ ne(Re, [["__scopeId", "data-v-659e8f1d"]]), Ee = {
223
+ __name: "ContainerManager",
224
+ setup(D) {
225
+ const k = te("$API"), N = re(), c = y([]), I = [
226
+ { title: "容器ID", dataIndex: "container_id", key: "container_id" },
227
+ { title: "容器名称", dataIndex: "name", key: "name" },
228
+ { title: "图标", key: "icon" },
229
+ { title: "组件路径", dataIndex: "component_path", key: "component_path" },
230
+ { title: "默认尺寸", key: "defaultSize" },
231
+ { title: "描述", dataIndex: "description", key: "description" },
232
+ { title: "操作", key: "actions", width: 120 }
233
+ ], g = y(!1), m = y(!1), _ = y(!1), l = y("新增容器"), x = y(), n = ae({
234
+ id: "",
235
+ // 主键ID,编辑和删除时使用
236
+ container_id: "",
237
+ // 容器ID,用于组件注册
238
+ name: "",
239
+ component_path: "",
240
+ icon: "",
241
+ description: "",
242
+ default_w: 12,
243
+ default_h: 2
244
+ }), { run: z, loading: M } = j(
245
+ () => k.mobile.list.post({}),
246
+ {
247
+ manual: !0,
248
+ onSuccess: (t) => {
249
+ t && t.data && (c.value = t.data);
250
+ },
251
+ onError: (t) => {
252
+ C.error("加载容器列表失败: " + (t.message || "未知错误"));
253
+ }
254
+ }
255
+ ), S = () => {
256
+ z();
257
+ }, R = () => {
258
+ _.value = !1, l.value = "新增容器", Object.keys(n).forEach((t) => {
259
+ t === "default_w" ? n[t] = 12 : t === "default_h" ? n[t] = 2 : n[t] = "";
260
+ }), g.value = !0;
261
+ }, $ = (t) => {
262
+ _.value = !0, l.value = "编辑容器", n.id = t.id || "", n.container_id = t.container_id || "", n.name = t.name || "", n.component_path = t.component_path || "", n.icon = t.icon || "", n.description = t.description || "", n.default_w = t.default_w ? parseInt(t.default_w) : 12, n.default_h = t.default_h ? parseInt(t.default_h) : 2, g.value = !0;
263
+ }, q = (t) => {
264
+ ue.confirm({
265
+ title: "确认删除",
266
+ content: `确定要删除容器 "${t.name}" (${t.id}) 吗?`,
267
+ okText: "删除",
268
+ okType: "danger",
269
+ cancelText: "取消",
270
+ onOk: async () => {
271
+ try {
272
+ const e = N.state.auth.userInfo?.yhm || "";
273
+ await k.mobile.del.post({ id: t.id, userId: e }), C.success("删除成功"), S();
274
+ } catch (e) {
275
+ C.error("删除失败: " + (e.message || "未知错误"));
276
+ }
277
+ }
278
+ });
279
+ }, O = async () => {
280
+ try {
281
+ await x.value.validate();
282
+ } catch {
283
+ return;
284
+ }
285
+ m.value = !0;
286
+ try {
287
+ const t = N.state.auth.userInfo?.yhm || "", e = { ...n, userId: t };
288
+ _.value ? (await k.mobile.update.post(e), C.success("更新成功")) : (await k.mobile.add.post(e), C.success("新增成功")), g.value = !1, S();
289
+ } catch (t) {
290
+ C.error("操作失败: " + (t.message || "未知错误"));
291
+ } finally {
292
+ m.value = !1;
293
+ }
294
+ }, F = () => {
295
+ g.value = !1, x.value?.resetFields();
296
+ };
297
+ return G(() => {
298
+ z();
299
+ }), (t, e) => {
300
+ const u = d("a-button"), v = d("a-space"), r = d("a-icon"), E = d("a-table"), K = d("a-card"), U = d("a-input"), h = d("a-form-item"), Q = d("a-textarea"), H = d("a-input-number"), J = d("a-col"), W = d("a-row"), X = d("a-form"), Z = d("a-modal");
301
+ return p(), w("div", null, [
302
+ a(K, {
303
+ title: "容器管理",
304
+ size: "small",
305
+ class: "mb-3"
306
+ }, {
307
+ extra: s(() => [
308
+ a(v, null, {
309
+ default: s(() => [
310
+ a(u, {
311
+ type: "primary",
312
+ size: "small",
313
+ onClick: R
314
+ }, {
315
+ default: s(() => [...e[8] || (e[8] = [
316
+ b("新增容器", -1)
317
+ ])]),
318
+ _: 1
319
+ }),
320
+ a(u, {
321
+ size: "small",
322
+ onClick: S
323
+ }, {
324
+ default: s(() => [...e[9] || (e[9] = [
325
+ b("刷新", -1)
326
+ ])]),
327
+ _: 1
328
+ })
329
+ ]),
330
+ _: 1
331
+ })
332
+ ]),
333
+ default: s(() => [
334
+ a(E, {
335
+ "data-source": c.value,
336
+ columns: I,
337
+ pagination: !1,
338
+ size: "small",
339
+ loading: P(M)
340
+ }, {
341
+ bodyCell: s(({ column: i, record: L }) => [
342
+ i.key === "icon" ? (p(), A(r, {
343
+ key: 0,
344
+ type: L.icon || "icon-appstore"
345
+ }, null, 8, ["type"])) : V("", !0),
346
+ i.key === "defaultSize" ? (p(), w(B, { key: 1 }, [
347
+ b(f(L.default_w) + " × " + f(L.default_h), 1)
348
+ ], 64)) : V("", !0),
349
+ i.key === "actions" ? (p(), A(v, {
350
+ key: 2,
351
+ size: "small"
352
+ }, {
353
+ default: s(() => [
354
+ a(u, {
355
+ type: "link",
356
+ size: "small",
357
+ onClick: (ee) => $(L)
358
+ }, {
359
+ default: s(() => [...e[10] || (e[10] = [
360
+ b("编辑", -1)
361
+ ])]),
362
+ _: 1
363
+ }, 8, ["onClick"]),
364
+ a(u, {
365
+ type: "link",
366
+ size: "small",
367
+ danger: "",
368
+ onClick: (ee) => q(L)
369
+ }, {
370
+ default: s(() => [...e[11] || (e[11] = [
371
+ b("删除", -1)
372
+ ])]),
373
+ _: 1
374
+ }, 8, ["onClick"])
375
+ ]),
376
+ _: 2
377
+ }, 1024)) : V("", !0)
378
+ ]),
379
+ _: 1
380
+ }, 8, ["data-source", "loading"])
381
+ ]),
382
+ _: 1
383
+ }),
384
+ a(Z, {
385
+ open: g.value,
386
+ "onUpdate:open": e[7] || (e[7] = (i) => g.value = i),
387
+ title: l.value,
388
+ onOk: O,
389
+ onCancel: F,
390
+ "confirm-loading": m.value
391
+ }, {
392
+ default: s(() => [
393
+ a(X, {
394
+ ref_key: "formRef",
395
+ ref: x,
396
+ model: n,
397
+ "label-col": { span: 6 },
398
+ "wrapper-col": { span: 16 },
399
+ size: "small"
400
+ }, {
401
+ default: s(() => [
402
+ a(h, {
403
+ label: "容器ID",
404
+ name: "container_id",
405
+ rules: [{ required: !0, message: "请输入容器ID" }]
406
+ }, {
407
+ default: s(() => [
408
+ a(U, {
409
+ value: n.container_id,
410
+ "onUpdate:value": e[0] || (e[0] = (i) => n.container_id = i),
411
+ disabled: _.value,
412
+ placeholder: "如:custom-card"
413
+ }, null, 8, ["value", "disabled"])
414
+ ]),
415
+ _: 1
416
+ }),
417
+ a(h, {
418
+ label: "容器名称",
419
+ name: "name",
420
+ rules: [{ required: !0, message: "请输入容器名称" }]
421
+ }, {
422
+ default: s(() => [
423
+ a(U, {
424
+ value: n.name,
425
+ "onUpdate:value": e[1] || (e[1] = (i) => n.name = i),
426
+ placeholder: "如:自定义卡片"
427
+ }, null, 8, ["value"])
428
+ ]),
429
+ _: 1
430
+ }),
431
+ a(h, {
432
+ label: "组件路径",
433
+ name: "component_path",
434
+ rules: [{ required: !0, message: "请输入组件路径" }]
435
+ }, {
436
+ default: s(() => [
437
+ a(U, {
438
+ value: n.component_path,
439
+ "onUpdate:value": e[2] || (e[2] = (i) => n.component_path = i),
440
+ placeholder: "如:./containers/CustomCard.vue"
441
+ }, null, 8, ["value"]),
442
+ e[12] || (e[12] = o("div", {
443
+ class: "text-muted",
444
+ style: { "font-size": "12px", "margin-top": "4px" }
445
+ }, " 组件路径相对于:src/views/home/,动态容器仍共用于 PC 和移动端 ", -1))
446
+ ]),
447
+ _: 1
448
+ }),
449
+ a(h, {
450
+ label: "图标",
451
+ name: "icon"
452
+ }, {
453
+ default: s(() => [
454
+ a(U, {
455
+ value: n.icon,
456
+ "onUpdate:value": e[3] || (e[3] = (i) => n.icon = i),
457
+ placeholder: "如:icon-custom"
458
+ }, null, 8, ["value"])
459
+ ]),
460
+ _: 1
461
+ }),
462
+ a(h, {
463
+ label: "描述",
464
+ name: "description"
465
+ }, {
466
+ default: s(() => [
467
+ a(Q, {
468
+ value: n.description,
469
+ "onUpdate:value": e[4] || (e[4] = (i) => n.description = i),
470
+ rows: 2,
471
+ placeholder: "容器功能描述"
472
+ }, null, 8, ["value"])
473
+ ]),
474
+ _: 1
475
+ }),
476
+ a(W, { gutter: 12 }, {
477
+ default: s(() => [
478
+ a(J, { span: 12 }, {
479
+ default: s(() => [
480
+ a(h, {
481
+ label: "默认宽度",
482
+ name: "default_w",
483
+ rules: [{ required: !0, message: "请输入默认宽度" }]
484
+ }, {
485
+ default: s(() => [
486
+ a(H, {
487
+ value: n.default_w,
488
+ "onUpdate:value": e[5] || (e[5] = (i) => n.default_w = i),
489
+ min: 1,
490
+ max: 12,
491
+ style: { width: "100%" }
492
+ }, null, 8, ["value"])
493
+ ]),
494
+ _: 1
495
+ })
496
+ ]),
497
+ _: 1
498
+ }),
499
+ a(J, { span: 12 }, {
500
+ default: s(() => [
501
+ a(h, {
502
+ label: "默认高度",
503
+ name: "default_h",
504
+ rules: [{ required: !0, message: "请输入默认高度" }]
505
+ }, {
506
+ default: s(() => [
507
+ a(H, {
508
+ value: n.default_h,
509
+ "onUpdate:value": e[6] || (e[6] = (i) => n.default_h = i),
510
+ min: 1,
511
+ max: 10,
512
+ style: { width: "100%" }
513
+ }, null, 8, ["value"])
514
+ ]),
515
+ _: 1
516
+ })
517
+ ]),
518
+ _: 1
519
+ })
520
+ ]),
521
+ _: 1
522
+ })
523
+ ]),
524
+ _: 1
525
+ }, 8, ["model"])
526
+ ]),
527
+ _: 1
528
+ }, 8, ["open", "title", "confirm-loading"])
529
+ ]);
530
+ };
531
+ }
532
+ };
533
+ export {
534
+ Oe as H,
535
+ Ee as _
536
+ };
@@ -1,7 +1,7 @@
1
- import { resolveComponent as l, createElementBlock as n, openBlock as s, createElementVNode as t, Fragment as v, renderList as _, normalizeStyle as o, createVNode as y, createTextVNode as g, toDisplayString as a } from "vue";
2
- import { _ as f } from "./index--CCglFst.js";
3
- const m = { class: "activity-feed h-100" }, p = { class: "activity-body" }, u = { class: "activity-content" }, B = { class: "activity-text" }, b = { class: "activity-user" }, h = { class: "activity-time" }, k = {
4
- __name: "ActivityFeed",
1
+ import { resolveComponent as l, createElementBlock as n, openBlock as o, createElementVNode as t, Fragment as v, renderList as _, normalizeStyle as s, createVNode as y, createTextVNode as g, toDisplayString as a } from "vue";
2
+ import { _ as f } from "./index-ReaL9JbY.js";
3
+ const m = { class: "activity-feed h-100" }, p = { class: "activity-body" }, u = { class: "activity-content" }, b = { class: "activity-text" }, B = { class: "activity-user" }, h = { class: "activity-time" }, k = {
4
+ __name: "MobileActivityFeed",
5
5
  setup(x) {
6
6
  const r = [
7
7
  { user: "张三", action: "提交了销售报表", time: "3分钟前", icon: "icon-file", avatarBg: "linear-gradient(135deg, #667eea, #764ba2)" },
@@ -12,19 +12,19 @@ const m = { class: "activity-feed h-100" }, p = { class: "activity-body" }, u =
12
12
  ];
13
13
  return (V, e) => {
14
14
  const d = l("a-icon");
15
- return s(), n("div", m, [
15
+ return o(), n("div", m, [
16
16
  e[1] || (e[1] = t("div", { class: "activity-header" }, [
17
17
  t("span", { class: "activity-title" }, "动态消息")
18
18
  ], -1)),
19
19
  t("div", p, [
20
- (s(), n(v, null, _(r, (i, c) => t("div", {
20
+ (o(), n(v, null, _(r, (i, c) => t("div", {
21
21
  key: c,
22
22
  class: "activity-item",
23
- style: o({ animationDelay: c * 0.06 + "s" })
23
+ style: s({ animationDelay: c * 0.06 + "s" })
24
24
  }, [
25
25
  t("div", {
26
26
  class: "activity-avatar",
27
- style: o({ background: i.avatarBg })
27
+ style: s({ background: i.avatarBg })
28
28
  }, [
29
29
  y(d, {
30
30
  type: i.icon
@@ -34,8 +34,8 @@ const m = { class: "activity-feed h-100" }, p = { class: "activity-body" }, u =
34
34
  t("div", { class: "activity-dot" })
35
35
  ], -1)),
36
36
  t("div", u, [
37
- t("div", B, [
38
- t("span", b, a(i.user), 1),
37
+ t("div", b, [
38
+ t("span", B, a(i.user), 1),
39
39
  g(" " + a(i.action), 1)
40
40
  ]),
41
41
  t("div", h, a(i.time), 1)
@@ -45,7 +45,7 @@ const m = { class: "activity-feed h-100" }, p = { class: "activity-body" }, u =
45
45
  ]);
46
46
  };
47
47
  }
48
- }, A = /* @__PURE__ */ f(k, [["__scopeId", "data-v-b32d94d9"]]);
48
+ }, A = /* @__PURE__ */ f(k, [["__scopeId", "data-v-934b70b6"]]);
49
49
  export {
50
50
  A as default
51
51
  };
@@ -1,9 +1,9 @@
1
- import { resolveComponent as o, createElementBlock as a, openBlock as i, createVNode as s, withCtx as _, Fragment as p, renderList as f, createElementVNode as e, normalizeStyle as b, toDisplayString as n } from "vue";
2
- import { _ as g } from "./index--CCglFst.js";
1
+ import { resolveComponent as o, createElementBlock as a, openBlock as i, createVNode as c, withCtx as _, Fragment as b, renderList as p, createElementVNode as e, normalizeStyle as f, toDisplayString as n } from "vue";
2
+ import { _ as g } from "./index-ReaL9JbY.js";
3
3
  const m = { class: "banner-carousel h-100" }, u = { class: "banner-info" }, v = { class: "banner-title" }, h = { class: "banner-desc" }, x = { class: "banner-btn" }, y = { class: "banner-icon-wrapper" }, T = {
4
- __name: "BannerCarousel",
4
+ __name: "MobileBanner",
5
5
  setup(k) {
6
- const c = [
6
+ const s = [
7
7
  {
8
8
  title: "春季促销活动",
9
9
  desc: "全场商品低至5折,限时抢购中",
@@ -33,21 +33,21 @@ const m = { class: "banner-carousel h-100" }, u = { class: "banner-info" }, v =
33
33
  gradient: "linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)"
34
34
  }
35
35
  ];
36
- return (B, C) => {
36
+ return (B, w) => {
37
37
  const r = o("a-icon"), d = o("a-carousel");
38
38
  return i(), a("div", m, [
39
- s(d, {
39
+ c(d, {
40
40
  autoplay: "",
41
41
  "dot-position": "bottom"
42
42
  }, {
43
43
  default: _(() => [
44
- (i(), a(p, null, f(c, (t, l) => e("div", {
44
+ (i(), a(b, null, p(s, (t, l) => e("div", {
45
45
  key: l,
46
46
  class: "banner-slide"
47
47
  }, [
48
48
  e("div", {
49
49
  class: "banner-content",
50
- style: b({ background: t.gradient })
50
+ style: f({ background: t.gradient })
51
51
  }, [
52
52
  e("div", u, [
53
53
  e("div", v, n(t.title), 1),
@@ -55,7 +55,7 @@ const m = { class: "banner-carousel h-100" }, u = { class: "banner-info" }, v =
55
55
  e("div", x, n(t.btnText), 1)
56
56
  ]),
57
57
  e("div", y, [
58
- s(r, {
58
+ c(r, {
59
59
  type: t.icon,
60
60
  class: "banner-icon"
61
61
  }, null, 8, ["type"])
@@ -68,7 +68,7 @@ const m = { class: "banner-carousel h-100" }, u = { class: "banner-info" }, v =
68
68
  ]);
69
69
  };
70
70
  }
71
- }, N = /* @__PURE__ */ g(T, [["__scopeId", "data-v-e43b83ef"]]);
71
+ }, M = /* @__PURE__ */ g(T, [["__scopeId", "data-v-b3092ec0"]]);
72
72
  export {
73
- N as default
73
+ M as default
74
74
  };