gs-eant-comp 3.1.8-beta.2 → 3.1.8-beta.4

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.
@@ -0,0 +1,51 @@
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 f, toDisplayString as a } from "vue";
2
+ import { _ as g } from "./index-DrVwPQsN.js";
3
+ const m = { class: "activity-feed h-100" }, p = { class: "activity-body" }, u = { class: "activity-content" }, B = { class: "activity-text" }, h = { class: "activity-user" }, b = { class: "activity-time" }, k = {
4
+ __name: "ActivityFeed",
5
+ setup(x) {
6
+ const r = [
7
+ { user: "张三", action: "提交了销售报表", time: "3分钟前", icon: "icon-file", avatarBg: "linear-gradient(135deg, #667eea, #764ba2)" },
8
+ { user: "李四", action: "审批通过了采购申请单 #PO-2026-0421", time: "15分钟前", icon: "icon-check", avatarBg: "linear-gradient(135deg, #4facfe, #00f2fe)" },
9
+ { user: "王五", action: "在项目群中回复了 @赵六", time: "1小时前", icon: "icon-user", avatarBg: "linear-gradient(135deg, #43e97b, #38f9d7)" },
10
+ { user: "系统", action: "完成每日数据备份任务", time: "2小时前", icon: "icon-notification", avatarBg: "linear-gradient(135deg, #fa709a, #fee140)" },
11
+ { user: "赵六", action: "更新了项目文档 V3.2 版本", time: "3小时前", icon: "icon-edit", avatarBg: "linear-gradient(135deg, #f093fb, #f5576c)" }
12
+ ];
13
+ return (V, e) => {
14
+ const d = l("a-icon");
15
+ return s(), n("div", m, [
16
+ e[1] || (e[1] = t("div", { class: "activity-header" }, [
17
+ t("span", { class: "activity-title" }, "动态消息")
18
+ ], -1)),
19
+ t("div", p, [
20
+ (s(), n(v, null, _(r, (i, c) => t("div", {
21
+ key: c,
22
+ class: "activity-item",
23
+ style: o({ animationDelay: c * 0.06 + "s" })
24
+ }, [
25
+ t("div", {
26
+ class: "activity-avatar",
27
+ style: o({ background: i.avatarBg })
28
+ }, [
29
+ y(d, {
30
+ type: i.icon
31
+ }, null, 8, ["type"])
32
+ ], 4),
33
+ e[0] || (e[0] = t("div", { class: "activity-line" }, [
34
+ t("div", { class: "activity-dot" })
35
+ ], -1)),
36
+ t("div", u, [
37
+ t("div", B, [
38
+ t("span", h, a(i.user), 1),
39
+ f(" " + a(i.action), 1)
40
+ ]),
41
+ t("div", b, a(i.time), 1)
42
+ ])
43
+ ], 4)), 64))
44
+ ])
45
+ ]);
46
+ };
47
+ }
48
+ }, A = /* @__PURE__ */ g(k, [["__scopeId", "data-v-84cf6a96"]]);
49
+ export {
50
+ A as default
51
+ };
@@ -0,0 +1,74 @@
1
+ import { resolveComponent as o, createElementBlock as a, openBlock as i, createVNode as s, withCtx as _, Fragment as f, renderList as p, createElementVNode as e, normalizeStyle as g, toDisplayString as n } from "vue";
2
+ import { _ as b } from "./index-DrVwPQsN.js";
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",
5
+ setup(k) {
6
+ const c = [
7
+ {
8
+ title: "春季促销活动",
9
+ desc: "全场商品低至5折,限时抢购中",
10
+ btnText: "立即参与",
11
+ icon: "icon-gift",
12
+ gradient: "linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%)"
13
+ },
14
+ {
15
+ title: "新用户专享礼包",
16
+ desc: "注册即送100元优惠券大礼包",
17
+ btnText: "立即领取",
18
+ icon: "icon-team",
19
+ gradient: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)"
20
+ },
21
+ {
22
+ title: "积分商城上新",
23
+ desc: "海量好物等你来兑换,积分当钱花",
24
+ btnText: "去兑换",
25
+ icon: "icon-star",
26
+ gradient: "linear-gradient(135deg, #f093fb 0%, #f5576c 100%)"
27
+ },
28
+ {
29
+ title: "企业培训课堂",
30
+ desc: "本月精品课程已上线,立即学习",
31
+ btnText: "开始学习",
32
+ icon: "icon-notification",
33
+ gradient: "linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)"
34
+ }
35
+ ];
36
+ return (B, C) => {
37
+ const r = o("a-icon"), d = o("a-carousel");
38
+ return i(), a("div", m, [
39
+ s(d, {
40
+ autoplay: "",
41
+ "dot-position": "bottom"
42
+ }, {
43
+ default: _(() => [
44
+ (i(), a(f, null, p(c, (t, l) => e("div", {
45
+ key: l,
46
+ class: "banner-slide"
47
+ }, [
48
+ e("div", {
49
+ class: "banner-content",
50
+ style: g({ background: t.gradient })
51
+ }, [
52
+ e("div", u, [
53
+ e("div", v, n(t.title), 1),
54
+ e("div", h, n(t.desc), 1),
55
+ e("div", x, n(t.btnText), 1)
56
+ ]),
57
+ e("div", y, [
58
+ s(r, {
59
+ type: t.icon,
60
+ class: "banner-icon"
61
+ }, null, 8, ["type"])
62
+ ])
63
+ ], 4)
64
+ ])), 64))
65
+ ]),
66
+ _: 1
67
+ })
68
+ ]);
69
+ };
70
+ }
71
+ }, N = /* @__PURE__ */ b(T, [["__scopeId", "data-v-ffd154ed"]]);
72
+ export {
73
+ N as default
74
+ };
@@ -0,0 +1,45 @@
1
+ import { createElementBlock as l, openBlock as c, createElementVNode as t, Fragment as r, renderList as d, normalizeStyle as e, toDisplayString as s } from "vue";
2
+ import { _ as g } from "./index-DrVwPQsN.js";
3
+ const f = { class: "notice-list h-100" }, _ = { class: "notice-list-body" }, m = { class: "notice-content" }, C = { class: "notice-title-row" }, p = { class: "notice-title" }, u = { class: "notice-time" }, v = {
4
+ __name: "NoticeList",
5
+ setup(B) {
6
+ const n = [
7
+ { title: "系统将于今晚23:00进行版本升级维护", time: "04-20 14:30", tag: "重要", dotColor: "#fa8c16", tagBg: "#fff7e6", tagColor: "#d46b08" },
8
+ { title: "2026年第二季度绩效考核开始填报", time: "04-19 09:00", tag: "考核", dotColor: "#1890ff", tagBg: "#e6f7ff", tagColor: "#096dd9" },
9
+ { title: "关于五一假期值班安排的通知", time: "04-18 16:20", tag: "通知", dotColor: "#52c41a", tagBg: "#f6ffed", tagColor: "#389e0d" },
10
+ { title: "新版本3.2.0功能更新说明", time: "04-17 11:00", tag: "更新", dotColor: "#722ed1", tagBg: "#f9f0ff", tagColor: "#531dab" },
11
+ { title: "企业微信集成功能已上线", time: "04-16 08:45", tag: "新功能", dotColor: "#eb2f96", tagBg: "#fff0f6", tagColor: "#c41d7f" },
12
+ { title: "2026年第一季度安全审计报告", time: "04-15 10:30", tag: "审计", dotColor: "#13c2c2", tagBg: "#e6fffb", tagColor: "#08979c" }
13
+ ];
14
+ return (b, a) => (c(), l("div", f, [
15
+ a[0] || (a[0] = t("div", { class: "notice-list-header" }, [
16
+ t("span", { class: "notice-list-title" }, "系统公告")
17
+ ], -1)),
18
+ t("div", _, [
19
+ (c(), l(r, null, d(n, (o, i) => t("div", {
20
+ key: i,
21
+ class: "notice-item",
22
+ style: e({ animationDelay: i * 0.05 + "s" })
23
+ }, [
24
+ t("div", {
25
+ class: "notice-dot",
26
+ style: e({ background: o.dotColor })
27
+ }, null, 4),
28
+ t("div", m, [
29
+ t("div", C, [
30
+ t("span", p, s(o.title), 1),
31
+ t("span", {
32
+ class: "notice-tag",
33
+ style: e({ background: o.tagBg, color: o.tagColor })
34
+ }, s(o.tag), 5)
35
+ ]),
36
+ t("div", u, s(o.time), 1)
37
+ ])
38
+ ], 4)), 64))
39
+ ])
40
+ ]));
41
+ }
42
+ }, k = /* @__PURE__ */ g(v, [["__scopeId", "data-v-a72002b7"]]);
43
+ export {
44
+ k as default
45
+ };
@@ -0,0 +1,41 @@
1
+ import { resolveComponent as d, createElementBlock as t, openBlock as a, createElementVNode as e, Fragment as g, renderList as _, normalizeStyle as f, createVNode as b, toDisplayString as p } from "vue";
2
+ import { _ as u } from "./index-DrVwPQsN.js";
3
+ const k = { class: "quick-actions h-100" }, m = { class: "quick-actions-body" }, v = ["onClick"], y = { class: "action-label" }, h = {
4
+ __name: "QuickActions",
5
+ setup(q) {
6
+ const c = [
7
+ { label: "扫码", icon: "icon-scan", gradient: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)" },
8
+ { label: "付款", icon: "icon-wallet", gradient: "linear-gradient(135deg, #f093fb 0%, #f5576c 100%)" },
9
+ { label: "收款", icon: "icon-creditcard", gradient: "linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)" },
10
+ { label: "充值", icon: "icon-star", gradient: "linear-gradient(135deg, #43e97b 0%, #38f9d7 100%)" },
11
+ { label: "卡包", icon: "icon-gift", gradient: "linear-gradient(135deg, #fa709a 0%, #fee140 100%)" },
12
+ { label: "设置", icon: "icon-setting", gradient: "linear-gradient(135deg, #a18cd1 0%, #fbc2eb 100%)" }
13
+ ], o = (s) => {
14
+ };
15
+ return (s, i) => {
16
+ const l = d("a-icon");
17
+ return a(), t("div", k, [
18
+ i[0] || (i[0] = e("div", { class: "quick-actions-header" }, [
19
+ e("span", { class: "quick-actions-title" }, "快捷操作")
20
+ ], -1)),
21
+ e("div", m, [
22
+ (a(), t(g, null, _(c, (n, r) => e("div", {
23
+ key: r,
24
+ class: "action-btn",
25
+ style: f({ background: n.gradient }),
26
+ onClick: (x) => o()
27
+ }, [
28
+ b(l, {
29
+ type: n.icon,
30
+ class: "action-icon"
31
+ }, null, 8, ["type"]),
32
+ e("span", y, p(n.label), 1)
33
+ ], 12, v)), 64))
34
+ ])
35
+ ]);
36
+ };
37
+ }
38
+ }, B = /* @__PURE__ */ u(h, [["__scopeId", "data-v-68f9b1e1"]]);
39
+ export {
40
+ B as default
41
+ };
@@ -0,0 +1,48 @@
1
+ import { inject as g, resolveComponent as f, createElementBlock as c, openBlock as o, createElementVNode as t, Fragment as p, renderList as m, unref as k, normalizeStyle as b, createVNode as h, toDisplayString as v } from "vue";
2
+ import { useRouter as q } from "vue-router";
3
+ import { _ as y } from "./index-DrVwPQsN.js";
4
+ const B = { class: "quick-menu h-100" }, C = { class: "quick-menu-body" }, x = ["onClick"], E = { class: "quick-menu-label" }, M = {
5
+ __name: "QuickMenu",
6
+ setup(N) {
7
+ const r = q(), s = g("menus", []), a = [
8
+ "linear-gradient(135deg, #ff6b6b, #ee5a24)",
9
+ "linear-gradient(135deg, #ffa94d, #f76707)",
10
+ "linear-gradient(135deg, #ffd43b, #f59f00)",
11
+ "linear-gradient(135deg, #69db7c, #2b8a3e)",
12
+ "linear-gradient(135deg, #4dabf7, #1971c2)",
13
+ "linear-gradient(135deg, #9775fa, #6741d9)",
14
+ "linear-gradient(135deg, #f783ac, #d6336c)",
15
+ "linear-gradient(135deg, #20c997, #087f5b)"
16
+ ], d = (n) => a[n % a.length], l = (n) => {
17
+ n.path && r.push(n.path);
18
+ };
19
+ return (n, i) => {
20
+ const u = f("a-icon");
21
+ return o(), c("div", B, [
22
+ i[0] || (i[0] = t("div", { class: "quick-menu-header" }, [
23
+ t("span", { class: "quick-menu-title" }, "快捷入口")
24
+ ], -1)),
25
+ t("div", C, [
26
+ (o(!0), c(p, null, m(k(s), (e, _) => (o(), c("div", {
27
+ key: e.cddm,
28
+ class: "quick-menu-item",
29
+ onClick: (Q) => l(e)
30
+ }, [
31
+ t("div", {
32
+ class: "quick-menu-icon",
33
+ style: b({ background: d(_) })
34
+ }, [
35
+ h(u, {
36
+ type: e.tab_icon || e.icon || "icon-appstore"
37
+ }, null, 8, ["type"])
38
+ ], 4),
39
+ t("div", E, v(e.tab_title || e.cdmc), 1)
40
+ ], 8, x))), 128))
41
+ ])
42
+ ]);
43
+ };
44
+ }
45
+ }, z = /* @__PURE__ */ y(M, [["__scopeId", "data-v-3499881e"]]);
46
+ export {
47
+ z as default
48
+ };
@@ -0,0 +1,136 @@
1
+ import { ref as n, resolveComponent as p, createElementBlock as s, openBlock as r, createElementVNode as a, createStaticVNode as c, createVNode as h, createTextVNode as o, withCtx as k, Fragment as b, renderList as f, normalizeClass as m, toDisplayString as w } from "vue";
2
+ import { _ as y } from "./index-DrVwPQsN.js";
3
+ const g = { class: "cart h-100" }, C = { class: "drawer" }, M = { class: "drawer-top" }, _ = { class: "drawer-tabs" }, x = ["onClick"], B = { class: "drawer-content" }, j = {
4
+ key: 0,
5
+ class: "order-card"
6
+ }, V = {
7
+ key: 1,
8
+ class: "drawer-empty"
9
+ }, H = {
10
+ __name: "ShoppingCart",
11
+ setup(N) {
12
+ const d = n(!1), l = [
13
+ { key: "valid", label: "生效课程" },
14
+ { key: "refund", label: "退课课程" },
15
+ { key: "unpaid", label: "待支付课程" },
16
+ { key: "detail", label: "选课明细" }
17
+ ], i = n("refund"), v = () => {
18
+ d.value = !0;
19
+ };
20
+ return (S, e) => {
21
+ const u = p("a-drawer");
22
+ return r(), s("div", g, [
23
+ a("div", { class: "cart-header" }, [
24
+ e[3] || (e[3] = c('<div class="cart-title" data-v-21c60e0a><span class="cart-icon" aria-hidden="true" data-v-21c60e0a><svg viewBox="0 0 24 24" width="20" height="20" fill="none" data-v-21c60e0a><path d="M7.2 6.4H21l-1.4 7.4a2 2 0 0 1-2 1.6H9.1a2 2 0 0 1-2-1.6L5.7 4.5H3" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-21c60e0a></path><path d="M10 20a1.2 1.2 0 1 0 0-2.4A1.2 1.2 0 0 0 10 20ZM17.5 20a1.2 1.2 0 1 0 0-2.4 1.2 1.2 0 0 0 0 2.4Z" fill="currentColor" data-v-21c60e0a></path></svg></span><span class="cart-title-text" data-v-21c60e0a>购物车</span></div>', 1)),
25
+ a("button", {
26
+ class: "order-btn",
27
+ type: "button",
28
+ onClick: v
29
+ }, [...e[2] || (e[2] = [
30
+ a("span", {
31
+ class: "order-btn-icon",
32
+ "aria-hidden": "true"
33
+ }, [
34
+ a("svg", {
35
+ viewBox: "0 0 24 24",
36
+ width: "16",
37
+ height: "16",
38
+ fill: "none"
39
+ }, [
40
+ a("path", {
41
+ d: "M7 3h10v18H7z",
42
+ stroke: "currentColor",
43
+ "stroke-width": "2",
44
+ "stroke-linejoin": "round"
45
+ }),
46
+ a("path", {
47
+ d: "M9 7h6M9 11h6M9 15h5",
48
+ stroke: "currentColor",
49
+ "stroke-width": "2",
50
+ "stroke-linecap": "round"
51
+ })
52
+ ])
53
+ ], -1),
54
+ o(" 我的订单 ", -1)
55
+ ])])
56
+ ]),
57
+ e[7] || (e[7] = c('<div class="cart-body" data-v-21c60e0a><div class="course-card" data-v-21c60e0a><div class="course-left" data-v-21c60e0a><div class="course-img" data-v-21c60e0a></div><span class="course-tag" data-v-21c60e0a>夏冬令营</span></div><div class="course-mid" data-v-21c60e0a><div class="course-name" data-v-21c60e0a>AI机器人挑战·勇闯冰雪世界</div><div class="course-sub" data-v-21c60e0a>要有基础的计算机操作能力</div><div class="course-date" data-v-21c60e0a><span class="tiny-icon" aria-hidden="true" data-v-21c60e0a><svg viewBox="0 0 24 24" width="14" height="14" fill="none" data-v-21c60e0a><path d="M7 3v3M17 3v3M4.5 9h15" stroke="currentColor" stroke-width="2" stroke-linecap="round" data-v-21c60e0a></path><path d="M6.5 6h11a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2h-11a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2Z" stroke="currentColor" stroke-width="2" stroke-linejoin="round" data-v-21c60e0a></path></svg></span> 04-22~04-30 </div><div class="course-price" data-v-21c60e0a>¥6888</div></div><button class="course-del" type="button" title="移除" data-v-21c60e0a><span aria-hidden="true" data-v-21c60e0a><svg viewBox="0 0 24 24" width="18" height="18" fill="none" data-v-21c60e0a><path d="M4 7h16" stroke="currentColor" stroke-width="2" stroke-linecap="round" data-v-21c60e0a></path><path d="M10 11v7M14 11v7" stroke="currentColor" stroke-width="2" stroke-linecap="round" data-v-21c60e0a></path><path d="M6 7l1 14h10l1-14" stroke="currentColor" stroke-width="2" stroke-linejoin="round" data-v-21c60e0a></path><path d="M9 7V4h6v3" stroke="currentColor" stroke-width="2" stroke-linejoin="round" data-v-21c60e0a></path></svg></span></button></div><div class="summary" data-v-21c60e0a><div class="summary-left" data-v-21c60e0a><div class="summary-title" data-v-21c60e0a>合计(1门课程)</div><div class="summary-total" data-v-21c60e0a>¥6888</div></div><button class="checkout" type="button" data-v-21c60e0a> 去结算 <span class="chev" aria-hidden="true" data-v-21c60e0a>›</span></button></div><div class="refund-head" data-v-21c60e0a><div class="refund-title" data-v-21c60e0a><span class="refund-icon" aria-hidden="true" data-v-21c60e0a>⟲</span> 退课课程 </div><div class="refund-tip" data-v-21c60e0a><span class="tip-dot" aria-hidden="true" data-v-21c60e0a>i</span> 退课费用可抵扣选课费用 </div></div><div class="refund-card" data-v-21c60e0a><div class="refund-left" data-v-21c60e0a><div class="refund-img" data-v-21c60e0a></div><span class="refund-tag" data-v-21c60e0a>兴趣课</span></div><div class="refund-mid" data-v-21c60e0a><div class="refund-name" data-v-21c60e0a>钢琴</div><div class="refund-sub" data-v-21c60e0a>一周两次</div><div class="refund-price" data-v-21c60e0a> ¥4800 <span class="refund-deduct" data-v-21c60e0a>可抵扣</span></div></div><button class="refund-action" type="button" title="撤销" data-v-21c60e0a><span aria-hidden="true" data-v-21c60e0a><svg viewBox="0 0 24 24" width="18" height="18" fill="none" data-v-21c60e0a><path d="M7 7H4v3" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-21c60e0a></path><path d="M4.5 10.5A8 8 0 1 0 7 7" stroke="currentColor" stroke-width="2" stroke-linecap="round" data-v-21c60e0a></path></svg></span></button></div></div>', 1)),
58
+ h(u, {
59
+ open: d.value,
60
+ "onUpdate:open": e[1] || (e[1] = (t) => d.value = t),
61
+ placement: "bottom",
62
+ height: "78vh",
63
+ closable: !1,
64
+ "body-style": { padding: 0 }
65
+ }, {
66
+ default: k(() => [
67
+ a("div", C, [
68
+ a("div", M, [
69
+ a("button", {
70
+ class: "drawer-close",
71
+ type: "button",
72
+ onClick: e[0] || (e[0] = (t) => d.value = !1),
73
+ "aria-label": "关闭"
74
+ }, " × "),
75
+ e[4] || (e[4] = a("div", { class: "drawer-title" }, "我的订单", -1))
76
+ ]),
77
+ a("div", _, [
78
+ (r(), s(b, null, f(l, (t) => a("button", {
79
+ key: t.key,
80
+ type: "button",
81
+ class: m(["drawer-tab", { active: i.value === t.key }]),
82
+ onClick: (A) => i.value = t.key
83
+ }, w(t.label), 11, x)), 64))
84
+ ]),
85
+ a("div", B, [
86
+ i.value === "refund" ? (r(), s("div", j, [...e[5] || (e[5] = [
87
+ a("div", { class: "order-name" }, "钢琴", -1),
88
+ a("div", { class: "order-row" }, [
89
+ a("div", { class: "order-thumb" }),
90
+ a("div", { class: "order-info" }, [
91
+ a("div", { class: "order-line" }, [
92
+ a("span", { class: "order-sub" }, "一周两次")
93
+ ]),
94
+ a("div", { class: "order-line muted" }, [
95
+ a("span", {
96
+ class: "mini-ico",
97
+ "aria-hidden": "true"
98
+ }, "👨‍🏫"),
99
+ o(" 测试教师 "),
100
+ a("span", {
101
+ class: "mini-ico phone",
102
+ "aria-hidden": "true"
103
+ }, "📞"),
104
+ o(" 1234566 ")
105
+ ]),
106
+ a("div", { class: "order-badge" }, "兴趣课")
107
+ ])
108
+ ], -1),
109
+ a("div", { class: "order-bottom" }, [
110
+ a("div", { class: "order-money" }, "¥4800"),
111
+ a("button", {
112
+ class: "order-cancel",
113
+ type: "button"
114
+ }, [
115
+ a("span", {
116
+ class: "cancel-ico",
117
+ "aria-hidden": "true"
118
+ }, "⟲"),
119
+ o(" 撤销 ")
120
+ ])
121
+ ], -1)
122
+ ])])) : (r(), s("div", V, [...e[6] || (e[6] = [
123
+ a("div", { class: "empty-text" }, "暂无数据(示例组件)", -1)
124
+ ])]))
125
+ ])
126
+ ])
127
+ ]),
128
+ _: 1
129
+ }, 8, ["open"])
130
+ ]);
131
+ };
132
+ }
133
+ }, D = /* @__PURE__ */ y(H, [["__scopeId", "data-v-21c60e0a"]]);
134
+ export {
135
+ D as default
136
+ };
@@ -0,0 +1,60 @@
1
+ import { createElementBlock as l, openBlock as e, createElementVNode as t, Fragment as d, renderList as c, normalizeStyle as n, createTextVNode as v, toDisplayString as s, normalizeClass as u } from "vue";
2
+ import { _ as i } from "./index-DrVwPQsN.js";
3
+ const _ = { class: "stat-card h-100" }, b = { class: "stat-card-body" }, p = { class: "stat-row" }, f = { class: "stat-label" }, h = { class: "stat-row" }, y = { class: "stat-label" }, k = {
4
+ __name: "StatCard",
5
+ setup(w) {
6
+ const o = [
7
+ { label: "今日访问", value: "2,846", trend: 12.5, color: "#667eea" },
8
+ { label: "活跃用户", value: "1,532", trend: 8.3, color: "#764ba2" },
9
+ { label: "订单总数", value: "486", trend: -3.2, color: "#f093fb" },
10
+ { label: "成交金额", value: "¥128.6K", trend: 15.7, color: "#4facfe" },
11
+ { label: "转化率", value: "3.42%", trend: 2.1, color: "#43e97b" },
12
+ { label: "退款率", value: "0.68%", trend: -0.5, color: "#fa709a" }
13
+ ];
14
+ return (x, r) => (e(), l("div", _, [
15
+ r[1] || (r[1] = t("div", { class: "stat-card-header" }, [
16
+ t("span", { class: "stat-card-title" }, "数据概览")
17
+ ], -1)),
18
+ t("div", b, [
19
+ t("div", p, [
20
+ (e(!0), l(d, null, c(o.slice(0, 3), (a) => (e(), l("div", {
21
+ class: "stat-item",
22
+ key: a.label
23
+ }, [
24
+ t("div", {
25
+ class: "stat-value",
26
+ style: n({ color: a.color })
27
+ }, [
28
+ v(s(a.value) + " ", 1),
29
+ t("span", {
30
+ class: u(["stat-trend", a.trend > 0 ? "up" : "down"])
31
+ }, s(a.trend > 0 ? "↑" : "↓") + s(Math.abs(a.trend)) + "% ", 3)
32
+ ], 4),
33
+ t("div", f, s(a.label), 1)
34
+ ]))), 128))
35
+ ]),
36
+ r[0] || (r[0] = t("div", { class: "stat-divider" }, null, -1)),
37
+ t("div", h, [
38
+ (e(!0), l(d, null, c(o.slice(3), (a) => (e(), l("div", {
39
+ class: "stat-item",
40
+ key: a.label
41
+ }, [
42
+ t("div", {
43
+ class: "stat-value",
44
+ style: n({ color: a.color })
45
+ }, [
46
+ v(s(a.value) + " ", 1),
47
+ t("span", {
48
+ class: u(["stat-trend", a.trend > 0 ? "up" : "down"])
49
+ }, s(a.trend > 0 ? "↑" : "↓") + s(Math.abs(a.trend)) + "% ", 3)
50
+ ], 4),
51
+ t("div", y, s(a.label), 1)
52
+ ]))), 128))
53
+ ])
54
+ ])
55
+ ]));
56
+ }
57
+ }, g = /* @__PURE__ */ i(k, [["__scopeId", "data-v-96cf6e6e"]]);
58
+ export {
59
+ g as default
60
+ };
@@ -0,0 +1,51 @@
1
+ import { ref as y, computed as f, createElementBlock as n, openBlock as d, createElementVNode as t, toDisplayString as i, Fragment as v, renderList as h, normalizeStyle as c, normalizeClass as a, createCommentVNode as m } from "vue";
2
+ import { _ as k } from "./index-DrVwPQsN.js";
3
+ const x = { class: "todo-list h-100" }, g = { class: "todo-list-header" }, C = { class: "todo-count" }, L = { class: "todo-list-body" }, b = ["onClick"], z = {
4
+ key: 0,
5
+ class: "todo-check-icon"
6
+ }, B = { class: "todo-text" }, D = {
7
+ __name: "TodoList",
8
+ setup(E) {
9
+ const s = y([
10
+ { id: 1, text: "提交季度绩效考核表", done: !1, priority: "紧急" },
11
+ { id: 2, text: "审批部门请假申请", done: !1, priority: "高" },
12
+ { id: 3, text: "阅读新版系统操作手册", done: !1, priority: "中" },
13
+ { id: 4, text: "更新项目进度周报", done: !0, priority: "中" },
14
+ { id: 5, text: "参加产品需求评审会", done: !0, priority: "高" }
15
+ ]), p = f(() => s.value.filter((e) => !e.done).length), _ = (e) => ({ 紧急: "#ff4d4f", 高: "#fa8c16", 中: "#52c41a", 低: "#999" })[e] || "#999", u = (e) => {
16
+ s.value[e].done = !s.value[e].done;
17
+ };
18
+ return (e, r) => (d(), n("div", x, [
19
+ t("div", g, [
20
+ r[0] || (r[0] = t("span", { class: "todo-list-title" }, "待办事项", -1)),
21
+ t("span", C, i(p.value) + " / " + i(s.value.length), 1)
22
+ ]),
23
+ t("div", L, [
24
+ (d(!0), n(v, null, h(s.value, (o, l) => (d(), n("div", {
25
+ key: o.id,
26
+ class: a(["todo-item", { done: o.done }]),
27
+ style: c({ animationDelay: l * 0.04 + "s" }),
28
+ onClick: (N) => u(l)
29
+ }, [
30
+ t("div", {
31
+ class: a(["todo-check", { checked: o.done }])
32
+ }, [
33
+ o.done ? (d(), n("span", z, "✓")) : m("", !0)
34
+ ], 2),
35
+ t("div", B, [
36
+ t("span", {
37
+ class: a(["todo-title-text", { crossed: o.done }])
38
+ }, i(o.text), 3),
39
+ t("span", {
40
+ class: "todo-priority",
41
+ style: c({ background: _(o.priority) })
42
+ }, i(o.priority), 5)
43
+ ])
44
+ ], 14, b))), 128))
45
+ ])
46
+ ]));
47
+ }
48
+ }, V = /* @__PURE__ */ k(D, [["__scopeId", "data-v-ea760409"]]);
49
+ export {
50
+ V as default
51
+ };