@melt-js/comps-bag-shop 2026.11.7-1 → 2026.11.7-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.
- package/dist/CustomerService-lJt3W1m7.js +188 -0
- package/dist/Finance-CZkxKf_8.js +144 -0
- package/dist/FinanceWithdraw-DL0ownv4.js +301 -0
- package/dist/Marketing-Bf-XAEGV.js +251 -0
- package/dist/MarketingCreate-Cst-YLCX.js +76 -0
- package/dist/OrderDetail-DdU4qNFx.js +56 -0
- package/dist/OrderList-D9s5TaSJ.js +193 -0
- package/dist/OrderReturns-DFo2PD9t.js +143 -0
- package/dist/OrderShip-B4D3_T8n.js +53 -0
- package/dist/ProductEdit-BFWo6hHZ.js +331 -0
- package/dist/ProductList-Duh_Nr1H.js +268 -0
- package/dist/ProductPublish-BTYM8P5B.js +331 -0
- package/dist/ReturnDetail-DlimL7FG.js +40 -0
- package/dist/StoreSettings-CuwaFF06.js +53 -0
- package/dist/StoreSettingsBase-IEV0sugZ.js +12 -0
- package/dist/StoreSettingsLogistics-COLlM6U8.js +12 -0
- package/dist/StoreSettingsService-ggENPNUS.js +12 -0
- package/dist/StoreSettingsTrade-CJF9yx2E.js +12 -0
- package/dist/UserList-I3lTt4OF.js +289 -0
- package/dist/UserOrders-BERT2Mls.js +85 -0
- package/dist/UserProfile-Dg3YK-Xu.js +161 -0
- package/dist/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
- package/dist/index.js +408 -21
- package/package.json +1 -1
- package/dist/CustomerService-DbLJzKvS.js +0 -47
- package/dist/Finance-DzEmuvNg.js +0 -36
- package/dist/FinanceWithdraw-0EUk5l7m.js +0 -46
- package/dist/Marketing-DYpxYKj2.js +0 -44
- package/dist/MarketingCreate-B6OSVHcU.js +0 -34
- package/dist/OrderDetail-h99NqiZ0.js +0 -32
- package/dist/OrderList-CcPJ_7n0.js +0 -61
- package/dist/OrderReturns-jB7b5BFL.js +0 -39
- package/dist/OrderShip-o_fhy9wO.js +0 -33
- package/dist/ProductEdit-DXdb7X3r.js +0 -66
- package/dist/ProductList-D4hartqL.js +0 -61
- package/dist/ProductPublish-C-qJ8YDK.js +0 -67
- package/dist/ReturnDetail-CvxWS-EE.js +0 -31
- package/dist/StoreSettings-CRFNq_z4.js +0 -36
- package/dist/StoreSettingsBase-igq1Iu1q.js +0 -31
- package/dist/StoreSettingsLogistics-CkGBmeEv.js +0 -31
- package/dist/StoreSettingsService-BMoDt_6y.js +0 -31
- package/dist/StoreSettingsTrade-COjDZdcr.js +0 -29
- package/dist/UserList-BRTyzQ8e.js +0 -50
- package/dist/UserOrders-CIUnlZCR.js +0 -35
- package/dist/UserProfile-CbaUS2vZ.js +0 -43
- package/dist/_plugin-vue_export-helper-DW2XTw82.js +0 -28
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { defineComponent as y, ref as u, computed as w, openBlock as l, createElementBlock as d, createElementVNode as e, createTextVNode as i, createStaticVNode as v, Fragment as _, renderList as M, normalizeClass as C, toDisplayString as s, createCommentVNode as p, createVNode as m, unref as b, withCtx as h } from "vue";
|
|
2
|
+
import { useRouter as j } from "vue-router";
|
|
3
|
+
import { NDrawer as V, NDrawerContent as z } from "naive-ui";
|
|
4
|
+
const A = { class: "p-6 bg-white dark:bg-[#0A1120] rounded-2xl shadow-sm min-h-[calc(100vh-120px)] border border-gray-100 dark:border-gray-800 flex flex-col" }, B = { class: "flex-1 flex border border-gray-100 dark:border-gray-800 rounded-xl overflow-hidden bg-slate-50 dark:bg-gray-800/30" }, S = { class: "w-80 border-r border-gray-100 dark:border-gray-800 bg-white dark:bg-[#0A1120] flex flex-col" }, N = { class: "flex-1 overflow-y-auto custom-scrollbar" }, $ = ["onClick"], D = { class: "relative" }, L = ["src"], F = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "absolute -top-1 -right-1 w-4 h-4 bg-rose-500 rounded-full border-2 border-white dark:border-[#0A1120] text-[8px] font-bold text-white flex items-center justify-center"
|
|
7
|
+
}, I = { class: "flex-1 min-w-0" }, P = { class: "flex justify-between items-baseline mb-1" }, E = { class: "font-bold text-slate-800 dark:text-slate-200 text-sm truncate" }, H = { class: "text-xs text-slate-400 shrink-0" }, G = { class: "text-xs text-slate-500 dark:text-slate-400 truncate" }, R = { class: "flex-1 flex flex-col bg-slate-50 dark:bg-gray-800/30" }, T = { class: "h-16 px-6 bg-white dark:bg-[#0A1120] border-b border-gray-100 dark:border-gray-800 flex items-center justify-between shrink-0" }, U = { class: "flex items-center gap-3" }, q = { class: "font-bold text-slate-800 dark:text-slate-200" }, J = { class: "px-2 py-0.5 text-[10px] font-bold rounded bg-amber-50 text-amber-500 border border-amber-100" }, K = { class: "flex-1 p-6 overflow-y-auto space-y-6 custom-scrollbar" }, O = { class: "text-center" }, Q = { class: "text-xs text-slate-400 bg-slate-100 dark:bg-gray-800 px-2 py-1 rounded" }, W = { class: "flex gap-3" }, X = ["src"], Y = { class: "bg-white dark:bg-[#0A1120] p-3 rounded-2xl rounded-tl-none shadow-sm border border-gray-100 dark:border-gray-800 text-sm text-slate-700 dark:text-slate-300" }, Z = {
|
|
8
|
+
key: 0,
|
|
9
|
+
class: "flex gap-3 flex-row-reverse"
|
|
10
|
+
}, ee = { class: "bg-gradient-to-br from-orange-500 to-rose-500 p-3 rounded-2xl rounded-tr-none shadow-sm text-sm text-white" }, te = { class: "space-y-6" }, re = { class: "flex items-center gap-4 pb-6 border-b border-gray-100 dark:border-gray-800" }, ae = ["src"], se = { class: "text-lg font-bold text-slate-800 dark:text-slate-200 mb-1" }, oe = { class: "pt-4 flex gap-3" }, ge = y({
|
|
11
|
+
__name: "CustomerService",
|
|
12
|
+
setup(le) {
|
|
13
|
+
const g = j(), n = u([
|
|
14
|
+
{ id: 1, name: "张先生", lastMsg: "好的,那如果大小不合适支持退换吗?", time: "10:26", unread: 2, active: !0, avatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=Bob" },
|
|
15
|
+
{ id: 2, name: "李小姐", lastMsg: "麻烦帮我催一下发货", time: "09:15", unread: 1, active: !1, avatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=Alice" },
|
|
16
|
+
{ id: 3, name: "陈同学", lastMsg: "[图片]", time: "昨天", unread: 0, active: !1, avatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=Charlie" },
|
|
17
|
+
{ id: 4, name: "王阿姨", lastMsg: "已经收到货了,非常满意!", time: "昨天", unread: 0, active: !1, avatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=Grace" },
|
|
18
|
+
{ id: 5, name: "刘老板", lastMsg: "批量采购有优惠吗?", time: "星期一", unread: 0, active: !1, avatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=Frank" }
|
|
19
|
+
]), x = u(1), a = w(() => n.value.find((o) => o.id === x.value) || n.value[0]), f = (o) => {
|
|
20
|
+
x.value = o;
|
|
21
|
+
const t = n.value.find((r) => r.id === o);
|
|
22
|
+
t && (t.unread = 0);
|
|
23
|
+
}, c = u(!1), k = () => {
|
|
24
|
+
g.push("/store/settings/service");
|
|
25
|
+
};
|
|
26
|
+
return (o, t) => (l(), d("div", A, [
|
|
27
|
+
e("div", { class: "flex justify-between items-center mb-6" }, [
|
|
28
|
+
t[5] || (t[5] = e("h2", { class: "text-2xl font-bold text-slate-800 dark:text-slate-200 flex items-center gap-2" }, [
|
|
29
|
+
i(" 客服消息 "),
|
|
30
|
+
e("span", { class: "px-2 py-0.5 rounded-full bg-rose-50 dark:bg-rose-500/10 text-rose-500 text-xs font-bold" }, "12 未读")
|
|
31
|
+
], -1)),
|
|
32
|
+
e("div", { class: "flex items-center gap-4 text-sm font-medium" }, [
|
|
33
|
+
t[4] || (t[4] = e("span", { class: "flex items-center gap-1.5 text-slate-600 dark:text-slate-300" }, [
|
|
34
|
+
e("div", { class: "w-2 h-2 rounded-full bg-emerald-500" }),
|
|
35
|
+
i(" 在线接待中 ")
|
|
36
|
+
], -1)),
|
|
37
|
+
e("button", {
|
|
38
|
+
onClick: k,
|
|
39
|
+
class: "px-3 py-1.5 bg-slate-50 dark:bg-gray-800/50 text-slate-600 dark:text-slate-300 rounded hover:bg-slate-100 dark:hover:bg-gray-700 transition-colors"
|
|
40
|
+
}, "设置")
|
|
41
|
+
])
|
|
42
|
+
]),
|
|
43
|
+
e("div", B, [
|
|
44
|
+
e("div", S, [
|
|
45
|
+
t[6] || (t[6] = v('<div class="p-3 border-b border-gray-100 dark:border-gray-800"><div class="relative"><input type="text" placeholder="搜索联系人..." class="w-full pl-9 pr-4 py-2 rounded-lg bg-slate-50 dark:bg-gray-800/50 border border-transparent focus:border-orange-500 focus:bg-white dark:focus:bg-[#0A1120] outline-none text-sm transition-all dark:text-slate-200"><svg class="w-4 h-4 text-slate-400 absolute left-3 top-2.5" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path></svg></div></div>', 1)),
|
|
46
|
+
e("div", N, [
|
|
47
|
+
(l(!0), d(_, null, M(n.value, (r) => (l(), d("div", {
|
|
48
|
+
key: r.id,
|
|
49
|
+
onClick: (de) => f(r.id),
|
|
50
|
+
class: C([x.value === r.id ? "bg-orange-50 dark:bg-orange-500/10 border-l-4 border-orange-500" : "hover:bg-slate-50 dark:hover:bg-gray-800/50 border-l-4 border-transparent", "p-4 border-b border-gray-50 dark:border-gray-800/50 cursor-pointer transition-colors flex gap-3"])
|
|
51
|
+
}, [
|
|
52
|
+
e("div", D, [
|
|
53
|
+
e("img", {
|
|
54
|
+
src: r.avatar,
|
|
55
|
+
class: "w-10 h-10 rounded-full border border-gray-100 dark:border-gray-700"
|
|
56
|
+
}, null, 8, L),
|
|
57
|
+
r.unread ? (l(), d("div", F, s(r.unread), 1)) : p("", !0)
|
|
58
|
+
]),
|
|
59
|
+
e("div", I, [
|
|
60
|
+
e("div", P, [
|
|
61
|
+
e("span", E, s(r.name), 1),
|
|
62
|
+
e("span", H, s(r.time), 1)
|
|
63
|
+
]),
|
|
64
|
+
e("p", G, s(r.lastMsg), 1)
|
|
65
|
+
])
|
|
66
|
+
], 10, $))), 128))
|
|
67
|
+
])
|
|
68
|
+
]),
|
|
69
|
+
e("div", R, [
|
|
70
|
+
e("div", T, [
|
|
71
|
+
e("div", U, [
|
|
72
|
+
e("h3", q, s(a.value.name), 1),
|
|
73
|
+
e("span", J, "VIP" + s(Math.floor(Math.random() * 4) + 1), 1)
|
|
74
|
+
]),
|
|
75
|
+
e("button", {
|
|
76
|
+
onClick: t[0] || (t[0] = (r) => c.value = !0),
|
|
77
|
+
class: "text-sm text-slate-500 hover:text-orange-500 transition-colors flex items-center gap-1"
|
|
78
|
+
}, [...t[7] || (t[7] = [
|
|
79
|
+
e("svg", {
|
|
80
|
+
class: "w-4 h-4",
|
|
81
|
+
fill: "none",
|
|
82
|
+
viewBox: "0 0 24 24",
|
|
83
|
+
stroke: "currentColor"
|
|
84
|
+
}, [
|
|
85
|
+
e("path", {
|
|
86
|
+
"stroke-linecap": "round",
|
|
87
|
+
"stroke-linejoin": "round",
|
|
88
|
+
"stroke-width": "2",
|
|
89
|
+
d: "M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"
|
|
90
|
+
})
|
|
91
|
+
], -1),
|
|
92
|
+
i(" 查看客户资料 ", -1)
|
|
93
|
+
])])
|
|
94
|
+
]),
|
|
95
|
+
e("div", K, [
|
|
96
|
+
e("div", O, [
|
|
97
|
+
e("span", Q, "今天 " + s(a.value.time), 1)
|
|
98
|
+
]),
|
|
99
|
+
e("div", W, [
|
|
100
|
+
e("img", {
|
|
101
|
+
src: a.value.avatar,
|
|
102
|
+
class: "w-8 h-8 rounded-full border border-gray-200"
|
|
103
|
+
}, null, 8, X),
|
|
104
|
+
e("div", null, [
|
|
105
|
+
e("div", Y, s(a.value.lastMsg), 1)
|
|
106
|
+
])
|
|
107
|
+
]),
|
|
108
|
+
a.value.id === 1 ? (l(), d("div", Z, [
|
|
109
|
+
t[8] || (t[8] = e("img", {
|
|
110
|
+
src: "https://api.dicebear.com/7.x/avataaars/svg?seed=Felix",
|
|
111
|
+
class: "w-8 h-8 rounded-full border border-gray-200"
|
|
112
|
+
}, null, -1)),
|
|
113
|
+
e("div", null, [
|
|
114
|
+
e("div", ee, " 您好," + s(a.value.name) + "!这款商品目前还有最后 2 件库存哦,您可以直接下单。 ", 1)
|
|
115
|
+
])
|
|
116
|
+
])) : p("", !0)
|
|
117
|
+
]),
|
|
118
|
+
t[9] || (t[9] = v('<div class="bg-white dark:bg-[#0A1120] border-t border-gray-100 dark:border-gray-800 p-4 shrink-0"><div class="flex gap-2 mb-3"><button class="p-1.5 text-slate-400 hover:text-orange-500 rounded hover:bg-slate-50 transition-colors"><svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14.828 14.828a4 4 0 01-5.656 0M9 10h.01M15 10h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg></button><button class="p-1.5 text-slate-400 hover:text-orange-500 rounded hover:bg-slate-50 transition-colors"><svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"></path></svg></button><button class="p-1.5 text-slate-400 hover:text-orange-500 rounded hover:bg-slate-50 transition-colors"><svg class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z"></path></svg></button></div><div class="flex gap-4 items-end"><textarea rows="3" placeholder="输入消息回复用户..." class="flex-1 resize-none px-3 py-2 rounded-lg bg-slate-50 dark:bg-gray-800/50 border border-transparent focus:border-orange-500 focus:bg-white outline-none text-sm transition-all custom-scrollbar dark:text-slate-200"></textarea><button class="px-6 py-2.5 bg-gradient-to-r from-orange-500 to-rose-500 text-white rounded-lg font-bold hover:shadow-lg hover:shadow-orange-500/30 transition-all mb-1">发送</button></div></div>', 1))
|
|
119
|
+
])
|
|
120
|
+
]),
|
|
121
|
+
m(b(V), {
|
|
122
|
+
show: c.value,
|
|
123
|
+
"onUpdate:show": t[3] || (t[3] = (r) => c.value = r),
|
|
124
|
+
width: 360,
|
|
125
|
+
placement: "right"
|
|
126
|
+
}, {
|
|
127
|
+
default: h(() => [
|
|
128
|
+
m(b(z), {
|
|
129
|
+
title: "客户资料",
|
|
130
|
+
closable: ""
|
|
131
|
+
}, {
|
|
132
|
+
default: h(() => [
|
|
133
|
+
e("div", te, [
|
|
134
|
+
e("div", re, [
|
|
135
|
+
e("img", {
|
|
136
|
+
src: a.value.avatar,
|
|
137
|
+
class: "w-16 h-16 rounded-full border border-gray-200 dark:border-gray-700"
|
|
138
|
+
}, null, 8, ae),
|
|
139
|
+
e("div", null, [
|
|
140
|
+
e("div", se, s(a.value.name), 1),
|
|
141
|
+
t[10] || (t[10] = e("div", { class: "text-sm text-slate-500 mb-2" }, "138****5678", -1)),
|
|
142
|
+
t[11] || (t[11] = e("span", { class: "px-2 py-0.5 text-[10px] font-bold rounded bg-amber-50 text-amber-500 border border-amber-100" }, "VIP会员", -1))
|
|
143
|
+
])
|
|
144
|
+
]),
|
|
145
|
+
t[12] || (t[12] = e("div", { class: "grid grid-cols-2 gap-4 pb-6 border-b border-gray-100 dark:border-gray-800" }, [
|
|
146
|
+
e("div", { class: "bg-slate-50 dark:bg-gray-800/50 p-4 rounded-xl text-center" }, [
|
|
147
|
+
e("div", { class: "text-xs text-slate-500 mb-1" }, "累计消费"),
|
|
148
|
+
e("div", { class: "text-lg font-bold text-orange-500" }, "¥ 12,840.00")
|
|
149
|
+
]),
|
|
150
|
+
e("div", { class: "bg-slate-50 dark:bg-gray-800/50 p-4 rounded-xl text-center" }, [
|
|
151
|
+
e("div", { class: "text-xs text-slate-500 mb-1" }, "订单数"),
|
|
152
|
+
e("div", { class: "text-lg font-bold text-slate-800 dark:text-slate-200" }, [
|
|
153
|
+
i("45 "),
|
|
154
|
+
e("span", { class: "text-xs font-normal text-slate-500" }, "笔")
|
|
155
|
+
])
|
|
156
|
+
])
|
|
157
|
+
], -1)),
|
|
158
|
+
t[13] || (t[13] = e("div", null, [
|
|
159
|
+
e("h4", { class: "text-sm font-bold text-slate-800 dark:text-slate-200 mb-3" }, "用户标签"),
|
|
160
|
+
e("div", { class: "flex flex-wrap gap-2" }, [
|
|
161
|
+
e("span", { class: "px-3 py-1.5 bg-rose-50 text-rose-500 dark:bg-rose-500/10 rounded text-xs" }, "高频复购"),
|
|
162
|
+
e("span", { class: "px-3 py-1.5 bg-blue-50 text-blue-500 dark:bg-blue-500/10 rounded text-xs" }, "品质偏好"),
|
|
163
|
+
e("span", { class: "px-3 py-1.5 bg-emerald-50 text-emerald-500 dark:bg-emerald-500/10 rounded text-xs" }, "极少退货")
|
|
164
|
+
])
|
|
165
|
+
], -1)),
|
|
166
|
+
e("div", oe, [
|
|
167
|
+
e("button", {
|
|
168
|
+
onClick: t[1] || (t[1] = (r) => b(g).push(`/user/profile/${a.value.id}`)),
|
|
169
|
+
class: "flex-1 py-2 bg-slate-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 text-slate-700 dark:text-slate-200 rounded-lg hover:bg-slate-100 dark:hover:bg-gray-700 transition-colors font-medium text-sm"
|
|
170
|
+
}, "完整画像"),
|
|
171
|
+
e("button", {
|
|
172
|
+
onClick: t[2] || (t[2] = (r) => b(g).push(`/user/orders/${a.value.id}`)),
|
|
173
|
+
class: "flex-1 py-2 bg-slate-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 text-slate-700 dark:text-slate-200 rounded-lg hover:bg-slate-100 dark:hover:bg-gray-700 transition-colors font-medium text-sm"
|
|
174
|
+
}, "历史订单")
|
|
175
|
+
])
|
|
176
|
+
])
|
|
177
|
+
]),
|
|
178
|
+
_: 1
|
|
179
|
+
})
|
|
180
|
+
]),
|
|
181
|
+
_: 1
|
|
182
|
+
}, 8, ["show"])
|
|
183
|
+
]));
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
export {
|
|
187
|
+
ge as default
|
|
188
|
+
};
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { defineComponent as u, ref as i, openBlock as b, createElementBlock as x, createElementVNode as t, unref as o, createVNode as r, Fragment as c, renderList as f, toDisplayString as a, normalizeClass as v } from "vue";
|
|
2
|
+
import { useRouter as k } from "vue-router";
|
|
3
|
+
import { NNumberAnimation as l, NSelect as y, NDatePicker as h } from "naive-ui";
|
|
4
|
+
const w = { class: "p-6 bg-white dark:bg-[#0A1120] rounded-2xl shadow-sm min-h-[calc(100vh-120px)] border border-gray-100 dark:border-gray-800" }, _ = { class: "flex justify-between items-center mb-6" }, N = { class: "grid grid-cols-1 md:grid-cols-3 gap-6 mb-8" }, z = { class: "border border-orange-100 dark:border-orange-500/20 rounded-xl p-6 bg-gradient-to-br from-orange-50 to-rose-50 dark:from-orange-500/10 dark:to-rose-500/10" }, F = { class: "text-3xl font-black text-slate-800 dark:text-slate-100 flex items-baseline" }, A = { class: "border border-gray-100 dark:border-gray-800 rounded-xl p-6 bg-white dark:bg-[#0A1120]" }, L = { class: "text-3xl font-black text-slate-700 dark:text-slate-200 flex items-baseline" }, D = { class: "border border-gray-100 dark:border-gray-800 rounded-xl p-6 bg-white dark:bg-[#0A1120]" }, R = { class: "text-3xl font-black text-slate-700 dark:text-slate-200 flex items-baseline" }, T = { class: "flex flex-wrap gap-4 mb-6 bg-slate-50 dark:bg-gray-800/50 p-4 rounded-xl border border-slate-100 dark:border-gray-800" }, W = { class: "w-40" }, C = { class: "w-48" }, E = { class: "overflow-x-auto rounded-xl border border-gray-100 dark:border-gray-800" }, O = { class: "w-full text-left border-collapse" }, B = { class: "divide-y divide-gray-100 dark:divide-gray-800" }, M = { class: "p-4 text-sm text-slate-500" }, S = { class: "p-4" }, U = { class: "font-medium text-slate-700 dark:text-slate-300 text-sm" }, V = { class: "text-xs text-slate-400 mt-1" }, j = { class: "p-4 text-sm font-medium text-slate-700 dark:text-slate-300" }, P = { class: "mr-1" }, X = { class: "p-4 text-right text-sm font-bold text-slate-600 dark:text-slate-400" }, J = u({
|
|
5
|
+
__name: "Finance",
|
|
6
|
+
setup($) {
|
|
7
|
+
const p = k(), d = i(null), g = [
|
|
8
|
+
{ label: "收入 (订单结算)", value: "income" },
|
|
9
|
+
{ label: "支出 (退款/提现)", value: "expense" }
|
|
10
|
+
], n = i(null), m = [
|
|
11
|
+
{ id: 1, time: "2024-10-28 16:30:22", flowNo: "FLW202410280001", bizNo: "ORD2024102100889", type: "订单结算收入", amount: 458, balance: 128450 },
|
|
12
|
+
{ id: 2, time: "2024-10-28 14:15:10", flowNo: "FLW202410280002", bizNo: "RET202410280001", type: "售后退款支出", amount: -159, balance: 127992 },
|
|
13
|
+
{ id: 3, time: "2024-10-28 10:00:00", flowNo: "FLW202410280003", bizNo: "TX202410280001", type: "账户余额提现", amount: -5e4, balance: 128151 },
|
|
14
|
+
{ id: 4, time: "2024-10-27 22:30:45", flowNo: "FLW202410270001", bizNo: "ORD2024102000456", type: "订单结算收入", amount: 899, balance: 178151 }
|
|
15
|
+
];
|
|
16
|
+
return (q, e) => (b(), x("div", w, [
|
|
17
|
+
t("div", _, [
|
|
18
|
+
e[3] || (e[3] = t("h2", { class: "text-2xl font-bold text-slate-800 dark:text-slate-200" }, "财务结算", -1)),
|
|
19
|
+
t("button", {
|
|
20
|
+
onClick: e[0] || (e[0] = (s) => o(p).push("/finance/withdraw")),
|
|
21
|
+
class: "px-4 py-2 bg-gradient-to-r from-emerald-500 to-teal-500 text-white rounded-lg font-medium hover:shadow-lg hover:shadow-emerald-500/30 transition-all flex items-center gap-2"
|
|
22
|
+
}, " 申请提现 ")
|
|
23
|
+
]),
|
|
24
|
+
t("div", N, [
|
|
25
|
+
t("div", z, [
|
|
26
|
+
e[5] || (e[5] = t("div", { class: "text-sm font-bold text-orange-600 dark:text-orange-400 mb-2" }, "账户可提现余额", -1)),
|
|
27
|
+
t("div", F, [
|
|
28
|
+
e[4] || (e[4] = t("span", { class: "mr-1" }, "¥", -1)),
|
|
29
|
+
r(o(l), {
|
|
30
|
+
from: 0,
|
|
31
|
+
to: 128450,
|
|
32
|
+
precision: 2,
|
|
33
|
+
"show-separator": ""
|
|
34
|
+
})
|
|
35
|
+
])
|
|
36
|
+
]),
|
|
37
|
+
t("div", A, [
|
|
38
|
+
e[7] || (e[7] = t("div", { class: "text-sm font-bold text-slate-500 mb-2" }, "待结算金额 (T+7)", -1)),
|
|
39
|
+
t("div", L, [
|
|
40
|
+
e[6] || (e[6] = t("span", { class: "mr-1" }, "¥", -1)),
|
|
41
|
+
r(o(l), {
|
|
42
|
+
from: 0,
|
|
43
|
+
to: 45200,
|
|
44
|
+
precision: 2,
|
|
45
|
+
"show-separator": ""
|
|
46
|
+
})
|
|
47
|
+
])
|
|
48
|
+
]),
|
|
49
|
+
t("div", D, [
|
|
50
|
+
e[9] || (e[9] = t("div", { class: "text-sm font-bold text-slate-500 mb-2" }, "累计已提现", -1)),
|
|
51
|
+
t("div", R, [
|
|
52
|
+
e[8] || (e[8] = t("span", { class: "mr-1" }, "¥", -1)),
|
|
53
|
+
r(o(l), {
|
|
54
|
+
from: 0,
|
|
55
|
+
to: 89e4,
|
|
56
|
+
precision: 2,
|
|
57
|
+
"show-separator": ""
|
|
58
|
+
})
|
|
59
|
+
])
|
|
60
|
+
])
|
|
61
|
+
]),
|
|
62
|
+
t("div", T, [
|
|
63
|
+
e[10] || (e[10] = t("div", { class: "flex-1 min-w-[200px]" }, [
|
|
64
|
+
t("input", {
|
|
65
|
+
type: "text",
|
|
66
|
+
placeholder: "搜索流水号 / 订单号",
|
|
67
|
+
class: "w-full px-4 py-2 rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-[#0A1120] focus:ring-2 focus:ring-orange-500/20 focus:border-orange-500 outline-none transition-all dark:text-slate-200"
|
|
68
|
+
})
|
|
69
|
+
], -1)),
|
|
70
|
+
t("div", W, [
|
|
71
|
+
r(o(y), {
|
|
72
|
+
value: d.value,
|
|
73
|
+
"onUpdate:value": e[1] || (e[1] = (s) => d.value = s),
|
|
74
|
+
options: g,
|
|
75
|
+
placeholder: "全部类型"
|
|
76
|
+
}, null, 8, ["value"])
|
|
77
|
+
]),
|
|
78
|
+
t("div", C, [
|
|
79
|
+
r(o(h), {
|
|
80
|
+
value: n.value,
|
|
81
|
+
"onUpdate:value": e[2] || (e[2] = (s) => n.value = s),
|
|
82
|
+
type: "month",
|
|
83
|
+
clearable: "",
|
|
84
|
+
placeholder: "选择月份"
|
|
85
|
+
}, null, 8, ["value"])
|
|
86
|
+
]),
|
|
87
|
+
e[11] || (e[11] = t("button", { class: "px-6 py-2 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 text-slate-700 dark:text-slate-200 rounded-lg hover:bg-slate-50 dark:hover:bg-gray-700 transition-colors font-medium" }, "搜索", -1))
|
|
88
|
+
]),
|
|
89
|
+
t("div", E, [
|
|
90
|
+
t("table", O, [
|
|
91
|
+
e[14] || (e[14] = t("thead", { class: "bg-slate-50 dark:bg-gray-800/50" }, [
|
|
92
|
+
t("tr", { class: "text-sm text-slate-500 dark:text-slate-400 font-semibold border-b border-gray-100 dark:border-gray-800" }, [
|
|
93
|
+
t("th", { class: "p-4" }, "创建时间"),
|
|
94
|
+
t("th", { class: "p-4" }, "流水号 / 业务单号"),
|
|
95
|
+
t("th", { class: "p-4" }, "业务类型"),
|
|
96
|
+
t("th", { class: "p-4 text-right" }, "收支金额"),
|
|
97
|
+
t("th", { class: "p-4 text-right" }, "账户余额"),
|
|
98
|
+
t("th", { class: "p-4 text-center" }, "状态")
|
|
99
|
+
])
|
|
100
|
+
], -1)),
|
|
101
|
+
t("tbody", B, [
|
|
102
|
+
(b(), x(c, null, f(m, (s) => t("tr", {
|
|
103
|
+
key: s.id,
|
|
104
|
+
class: "hover:bg-slate-50/50 dark:hover:bg-gray-800/30 transition-colors group"
|
|
105
|
+
}, [
|
|
106
|
+
t("td", M, a(s.time), 1),
|
|
107
|
+
t("td", S, [
|
|
108
|
+
t("div", U, a(s.flowNo), 1),
|
|
109
|
+
t("div", V, a(s.bizNo), 1)
|
|
110
|
+
]),
|
|
111
|
+
t("td", j, a(s.type), 1),
|
|
112
|
+
t("td", {
|
|
113
|
+
class: v(["p-4 text-right font-bold text-lg", s.amount > 0 ? "text-emerald-500" : "text-slate-700 dark:text-slate-200"])
|
|
114
|
+
}, [
|
|
115
|
+
t("span", P, a(s.amount > 0 ? "+" : ""), 1),
|
|
116
|
+
r(o(l), {
|
|
117
|
+
from: 0,
|
|
118
|
+
to: Math.abs(s.amount),
|
|
119
|
+
precision: 2,
|
|
120
|
+
"show-separator": ""
|
|
121
|
+
}, null, 8, ["to"])
|
|
122
|
+
], 2),
|
|
123
|
+
t("td", X, [
|
|
124
|
+
e[12] || (e[12] = t("span", { class: "mr-1" }, "¥", -1)),
|
|
125
|
+
r(o(l), {
|
|
126
|
+
from: 0,
|
|
127
|
+
to: s.balance,
|
|
128
|
+
precision: 2,
|
|
129
|
+
"show-separator": ""
|
|
130
|
+
}, null, 8, ["to"])
|
|
131
|
+
]),
|
|
132
|
+
e[13] || (e[13] = t("td", { class: "p-4 text-center" }, [
|
|
133
|
+
t("span", { class: "bg-emerald-50 text-emerald-500 dark:bg-emerald-500/10 px-2.5 py-1 text-xs font-bold rounded-md" }, "已完成")
|
|
134
|
+
], -1))
|
|
135
|
+
])), 64))
|
|
136
|
+
])
|
|
137
|
+
])
|
|
138
|
+
])
|
|
139
|
+
]));
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
export {
|
|
143
|
+
J as default
|
|
144
|
+
};
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import { defineComponent as V, ref as c, h as n, openBlock as o, createElementBlock as l, createElementVNode as e, unref as x, createVNode as k, withModifiers as z, createStaticVNode as g, createTextVNode as i, withCtx as v, Fragment as m, renderList as p, normalizeClass as u, toDisplayString as b, createCommentVNode as h, createBlock as H, resolveDynamicComponent as D } from "vue";
|
|
2
|
+
import { useRouter as $ } from "vue-router";
|
|
3
|
+
import { useMessage as L, NNumberAnimation as F, NModal as f } from "naive-ui";
|
|
4
|
+
const I = { class: "p-6 bg-white dark:bg-[#0A1120] rounded-2xl shadow-sm min-h-[calc(100vh-120px)] border border-gray-100 dark:border-gray-800 max-w-3xl mx-auto" }, S = { class: "flex items-center gap-4 mb-8" }, E = { class: "bg-gradient-to-br from-emerald-50 to-teal-50 dark:from-emerald-500/10 dark:to-teal-500/10 border border-emerald-100 dark:border-emerald-500/20 rounded-2xl p-8 mb-8 text-center relative overflow-hidden" }, T = { class: "text-5xl font-black text-slate-800 dark:text-slate-100 mb-4 flex items-center justify-center" }, U = { class: "space-y-4" }, W = { class: "text-lg font-bold text-slate-800 dark:text-slate-200 flex justify-between items-center" }, R = { class: "w-[500px] bg-white dark:bg-[#0A1120] rounded-2xl shadow-xl overflow-hidden border border-gray-100 dark:border-gray-800" }, q = { class: "px-6 py-4 border-b border-gray-100 dark:border-gray-800 flex justify-between items-center bg-slate-50/50 dark:bg-gray-800/30" }, G = { class: "p-6 space-y-4 max-h-[60vh] overflow-y-auto custom-scrollbar" }, J = { class: "flex items-center gap-4" }, K = { class: "font-bold text-slate-800 dark:text-slate-200 flex items-center gap-2" }, O = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "px-1.5 py-0.5 bg-emerald-50 text-emerald-500 dark:bg-emerald-500/10 border border-emerald-100 dark:border-emerald-500/20 rounded text-[10px] font-bold"
|
|
7
|
+
}, P = { class: "text-xs text-slate-500 mt-0.5" }, Q = { class: "flex items-center gap-3 opacity-0 group-hover:opacity-100 transition-opacity" }, X = {
|
|
8
|
+
key: 0,
|
|
9
|
+
class: "text-xs font-medium text-emerald-500 hover:text-emerald-600 transition-colors"
|
|
10
|
+
}, Y = { class: "w-[480px] bg-white dark:bg-[#0A1120] rounded-2xl shadow-xl overflow-hidden border border-gray-100 dark:border-gray-800" }, Z = { class: "px-6 py-4 border-b border-gray-100 dark:border-gray-800 flex justify-between items-center bg-slate-50/50 dark:bg-gray-800/30" }, ee = { class: "p-6 space-y-6" }, te = { class: "space-y-3" }, re = { class: "grid grid-cols-3 gap-3" }, oe = ["onClick"], se = { class: "space-y-4" }, le = { class: "space-y-2" }, ae = { class: "block text-sm font-medium text-slate-700 dark:text-slate-300" }, de = ["placeholder"], ne = { class: "space-y-2" }, ie = { class: "block text-sm font-medium text-slate-700 dark:text-slate-300" }, ue = ["placeholder"], be = { class: "px-6 py-4 bg-slate-50/50 dark:bg-gray-800/30 border-t border-gray-100 dark:border-gray-800 flex justify-end gap-3" }, pe = V({
|
|
11
|
+
__name: "FinanceWithdraw",
|
|
12
|
+
setup(ce) {
|
|
13
|
+
const y = $(), w = L(), a = c(!1), d = c(!1), C = c([
|
|
14
|
+
{ id: 1, name: "中国工商银行 (尾号 8899)", desc: "企业对公账户", type: "bank", iconBg: "bg-blue-100 dark:bg-blue-500/20", iconColor: "text-blue-500 dark:text-blue-400", isDefault: !0 },
|
|
15
|
+
{ id: 2, name: "微信支付 (尾号 1234)", desc: "企业微信账号", type: "wechat", iconBg: "bg-green-100 dark:bg-green-500/20", iconColor: "text-green-500 dark:text-green-400", isDefault: !1 },
|
|
16
|
+
{ id: 3, name: "支付宝 (尾号 5678)", desc: "企业支付宝账号", type: "alipay", iconBg: "bg-sky-100 dark:bg-sky-500/20", iconColor: "text-sky-500 dark:text-sky-400", isDefault: !1 }
|
|
17
|
+
]), j = n("svg", { fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" }, [
|
|
18
|
+
n("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z" })
|
|
19
|
+
]), M = n("svg", { fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" }, [
|
|
20
|
+
n("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M17 8h2a2 2 0 012 2v6a2 2 0 01-2 2h-2v4l-4-4H9a1.994 1.994 0 01-1.414-.586m0 0L11 14h4a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2v4l.586-.586z" })
|
|
21
|
+
]), B = n("svg", { fill: "none", viewBox: "0 0 24 24", stroke: "currentColor" }, [
|
|
22
|
+
n("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z" })
|
|
23
|
+
]), A = [
|
|
24
|
+
{ label: "银行卡", value: "bank", icon: j, color: "bg-blue-500 text-blue-500 dark:text-blue-400" },
|
|
25
|
+
{ label: "微信", value: "wechat", icon: M, color: "bg-green-500 text-green-500 dark:text-green-400" },
|
|
26
|
+
{ label: "支付宝", value: "alipay", icon: B, color: "bg-sky-500 text-sky-500 dark:text-sky-400" }
|
|
27
|
+
], s = c({
|
|
28
|
+
type: "bank",
|
|
29
|
+
name: "",
|
|
30
|
+
accountNo: ""
|
|
31
|
+
}), _ = () => {
|
|
32
|
+
a.value = !1, s.value = { type: "bank", name: "", accountNo: "" }, d.value = !0;
|
|
33
|
+
}, N = () => {
|
|
34
|
+
w.success("提现账户添加成功"), d.value = !1, a.value = !0;
|
|
35
|
+
};
|
|
36
|
+
return (xe, t) => (o(), l("div", I, [
|
|
37
|
+
e("div", S, [
|
|
38
|
+
e("button", {
|
|
39
|
+
onClick: t[0] || (t[0] = (r) => x(y).back()),
|
|
40
|
+
class: "p-2 text-slate-400 hover:text-orange-500 hover:bg-orange-50 dark:hover:bg-gray-800 rounded-lg transition-colors"
|
|
41
|
+
}, [...t[8] || (t[8] = [
|
|
42
|
+
e("svg", {
|
|
43
|
+
class: "w-5 h-5",
|
|
44
|
+
fill: "none",
|
|
45
|
+
viewBox: "0 0 24 24",
|
|
46
|
+
stroke: "currentColor"
|
|
47
|
+
}, [
|
|
48
|
+
e("path", {
|
|
49
|
+
"stroke-linecap": "round",
|
|
50
|
+
"stroke-linejoin": "round",
|
|
51
|
+
"stroke-width": "2",
|
|
52
|
+
d: "M10 19l-7-7m0 0l7-7m-7 7h18"
|
|
53
|
+
})
|
|
54
|
+
], -1)
|
|
55
|
+
])]),
|
|
56
|
+
t[9] || (t[9] = e("h2", { class: "text-2xl font-bold text-slate-800 dark:text-slate-200" }, "申请提现", -1))
|
|
57
|
+
]),
|
|
58
|
+
e("div", E, [
|
|
59
|
+
t[10] || (t[10] = e("div", { class: "absolute top-0 right-0 w-32 h-32 bg-white/20 rounded-full blur-xl -mr-10 -mt-10" }, null, -1)),
|
|
60
|
+
t[11] || (t[11] = e("div", { class: "text-emerald-600 dark:text-emerald-400 font-bold mb-2" }, "可提现金额 (元)", -1)),
|
|
61
|
+
e("div", T, [
|
|
62
|
+
k(x(F), {
|
|
63
|
+
from: 0,
|
|
64
|
+
to: 128450,
|
|
65
|
+
precision: 2,
|
|
66
|
+
"show-separator": ""
|
|
67
|
+
})
|
|
68
|
+
]),
|
|
69
|
+
t[12] || (t[12] = e("div", { class: "text-sm text-slate-500" }, "本月已提现:¥50,000.00 | 手续费费率:0.1%", -1))
|
|
70
|
+
]),
|
|
71
|
+
e("form", {
|
|
72
|
+
class: "space-y-8",
|
|
73
|
+
onSubmit: t[2] || (t[2] = z(() => {
|
|
74
|
+
}, ["prevent"]))
|
|
75
|
+
}, [
|
|
76
|
+
t[16] || (t[16] = g('<div class="space-y-4"><h3 class="text-lg font-bold text-slate-800 dark:text-slate-200">提现金额</h3><div class="relative"><span class="absolute left-4 top-1/2 -translate-y-1/2 text-2xl font-black text-slate-400">¥</span><input type="number" placeholder="0.00" class="w-full pl-12 pr-4 py-4 text-2xl font-bold rounded-xl border border-gray-200 dark:border-gray-700 bg-white dark:bg-[#0A1120] focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-500 outline-none transition-all dark:text-slate-200"><button type="button" class="absolute right-4 top-1/2 -translate-y-1/2 text-emerald-500 font-bold hover:text-emerald-600 transition-colors">全部提现</button></div><div class="text-sm text-slate-500">预计收取手续费:<span class="font-bold text-slate-700 dark:text-slate-300">¥0.00</span>,实际到账:<span class="font-bold text-emerald-500">¥0.00</span></div></div>', 1)),
|
|
77
|
+
e("div", U, [
|
|
78
|
+
e("h3", W, [
|
|
79
|
+
t[14] || (t[14] = i(" 到账账户 ", -1)),
|
|
80
|
+
e("button", {
|
|
81
|
+
type: "button",
|
|
82
|
+
onClick: t[1] || (t[1] = (r) => a.value = !0),
|
|
83
|
+
class: "text-sm text-emerald-500 font-medium hover:underline flex items-center gap-1"
|
|
84
|
+
}, [...t[13] || (t[13] = [
|
|
85
|
+
e("svg", {
|
|
86
|
+
class: "w-4 h-4",
|
|
87
|
+
fill: "none",
|
|
88
|
+
viewBox: "0 0 24 24",
|
|
89
|
+
stroke: "currentColor"
|
|
90
|
+
}, [
|
|
91
|
+
e("path", {
|
|
92
|
+
"stroke-linecap": "round",
|
|
93
|
+
"stroke-linejoin": "round",
|
|
94
|
+
"stroke-width": "2",
|
|
95
|
+
d: "M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"
|
|
96
|
+
}),
|
|
97
|
+
e("path", {
|
|
98
|
+
"stroke-linecap": "round",
|
|
99
|
+
"stroke-linejoin": "round",
|
|
100
|
+
"stroke-width": "2",
|
|
101
|
+
d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z"
|
|
102
|
+
})
|
|
103
|
+
], -1),
|
|
104
|
+
i(" 管理账户 ", -1)
|
|
105
|
+
])])
|
|
106
|
+
]),
|
|
107
|
+
t[15] || (t[15] = g('<div class="grid grid-cols-1 md:grid-cols-2 gap-4"><label class="border-2 border-emerald-500 rounded-xl p-4 cursor-pointer bg-emerald-50/30 dark:bg-emerald-500/10 transition-colors flex items-center gap-4"><div class="w-10 h-10 rounded-full bg-blue-100 text-blue-500 flex items-center justify-center shrink-0"><svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z"></path></svg></div><div><div class="font-bold text-slate-800 dark:text-slate-200">中国工商银行 (尾号 8899)</div><div class="text-xs text-slate-500 mt-1">企业对公账户</div></div></label><label class="border border-gray-200 dark:border-gray-700 rounded-xl p-4 cursor-pointer hover:border-emerald-400 hover:bg-emerald-50 dark:hover:bg-emerald-500/10 transition-colors opacity-60 flex items-center gap-4"><div class="w-10 h-10 rounded-full bg-green-100 text-green-500 flex items-center justify-center shrink-0"><svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 18h.01M8 21h8a2 2 0 002-2V5a2 2 0 00-2-2H8a2 2 0 00-2 2v14a2 2 0 002 2z"></path></svg></div><div><div class="font-bold text-slate-800 dark:text-slate-200">微信支付 (尾号 1234)</div><div class="text-xs text-slate-500 mt-1">企业微信账号</div></div></label></div>', 1))
|
|
108
|
+
]),
|
|
109
|
+
t[17] || (t[17] = e("div", { class: "pt-8" }, [
|
|
110
|
+
e("button", {
|
|
111
|
+
type: "button",
|
|
112
|
+
class: "w-full py-3.5 bg-gradient-to-r from-emerald-500 to-teal-500 text-white rounded-xl hover:shadow-lg hover:shadow-emerald-500/30 transition-all font-bold text-lg"
|
|
113
|
+
}, "确认提现"),
|
|
114
|
+
e("p", { class: "text-center text-xs text-slate-400 mt-4" }, "预计 1-3 个工作日内到账,节假日顺延")
|
|
115
|
+
], -1))
|
|
116
|
+
], 32),
|
|
117
|
+
k(x(f), {
|
|
118
|
+
show: a.value,
|
|
119
|
+
"onUpdate:show": t[4] || (t[4] = (r) => a.value = r)
|
|
120
|
+
}, {
|
|
121
|
+
default: v(() => [
|
|
122
|
+
e("div", R, [
|
|
123
|
+
e("div", q, [
|
|
124
|
+
t[19] || (t[19] = e("h3", { class: "text-lg font-bold text-slate-800 dark:text-slate-200" }, "管理提现账户", -1)),
|
|
125
|
+
e("button", {
|
|
126
|
+
onClick: t[3] || (t[3] = (r) => a.value = !1),
|
|
127
|
+
class: "text-slate-400 hover:text-slate-600 dark:hover:text-slate-200 transition-colors"
|
|
128
|
+
}, [...t[18] || (t[18] = [
|
|
129
|
+
e("svg", {
|
|
130
|
+
class: "w-5 h-5",
|
|
131
|
+
fill: "none",
|
|
132
|
+
viewBox: "0 0 24 24",
|
|
133
|
+
stroke: "currentColor"
|
|
134
|
+
}, [
|
|
135
|
+
e("path", {
|
|
136
|
+
"stroke-linecap": "round",
|
|
137
|
+
"stroke-linejoin": "round",
|
|
138
|
+
"stroke-width": "2",
|
|
139
|
+
d: "M6 18L18 6M6 6l12 12"
|
|
140
|
+
})
|
|
141
|
+
], -1)
|
|
142
|
+
])])
|
|
143
|
+
]),
|
|
144
|
+
e("div", G, [
|
|
145
|
+
(o(!0), l(m, null, p(C.value, (r) => (o(), l("div", {
|
|
146
|
+
key: r.id,
|
|
147
|
+
class: "flex items-center justify-between p-4 border border-gray-100 dark:border-gray-800 rounded-xl hover:border-emerald-200 dark:hover:border-emerald-500/30 transition-colors bg-white dark:bg-[#0A1120] group"
|
|
148
|
+
}, [
|
|
149
|
+
e("div", J, [
|
|
150
|
+
e("div", {
|
|
151
|
+
class: u([r.iconBg, "w-10 h-10 rounded-full flex items-center justify-center shrink-0"])
|
|
152
|
+
}, [
|
|
153
|
+
r.type === "bank" ? (o(), l("svg", {
|
|
154
|
+
key: 0,
|
|
155
|
+
class: u(["w-5 h-5", r.iconColor]),
|
|
156
|
+
fill: "none",
|
|
157
|
+
viewBox: "0 0 24 24",
|
|
158
|
+
stroke: "currentColor"
|
|
159
|
+
}, [...t[20] || (t[20] = [
|
|
160
|
+
e("path", {
|
|
161
|
+
"stroke-linecap": "round",
|
|
162
|
+
"stroke-linejoin": "round",
|
|
163
|
+
"stroke-width": "2",
|
|
164
|
+
d: "M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z"
|
|
165
|
+
}, null, -1)
|
|
166
|
+
])], 2)) : (o(), l("svg", {
|
|
167
|
+
key: 1,
|
|
168
|
+
class: u(["w-5 h-5", r.iconColor]),
|
|
169
|
+
fill: "none",
|
|
170
|
+
viewBox: "0 0 24 24",
|
|
171
|
+
stroke: "currentColor"
|
|
172
|
+
}, [...t[21] || (t[21] = [
|
|
173
|
+
e("path", {
|
|
174
|
+
"stroke-linecap": "round",
|
|
175
|
+
"stroke-linejoin": "round",
|
|
176
|
+
"stroke-width": "2",
|
|
177
|
+
d: "M12 18h.01M8 21h8a2 2 0 002-2V5a2 2 0 00-2-2H8a2 2 0 00-2 2v14a2 2 0 002 2z"
|
|
178
|
+
}, null, -1)
|
|
179
|
+
])], 2))
|
|
180
|
+
], 2),
|
|
181
|
+
e("div", null, [
|
|
182
|
+
e("div", K, [
|
|
183
|
+
i(b(r.name) + " ", 1),
|
|
184
|
+
r.isDefault ? (o(), l("span", O, "默认")) : h("", !0)
|
|
185
|
+
]),
|
|
186
|
+
e("div", P, b(r.desc), 1)
|
|
187
|
+
])
|
|
188
|
+
]),
|
|
189
|
+
e("div", Q, [
|
|
190
|
+
r.isDefault ? h("", !0) : (o(), l("button", X, "设为默认")),
|
|
191
|
+
t[22] || (t[22] = e("button", { class: "text-xs font-medium text-rose-500 hover:text-rose-600 transition-colors" }, "解绑", -1))
|
|
192
|
+
])
|
|
193
|
+
]))), 128)),
|
|
194
|
+
e("button", {
|
|
195
|
+
onClick: _,
|
|
196
|
+
class: "w-full py-4 border-2 border-dashed border-gray-200 dark:border-gray-700 rounded-xl text-slate-500 hover:text-emerald-500 hover:border-emerald-500 hover:bg-emerald-50 dark:hover:bg-emerald-500/10 transition-all font-bold flex items-center justify-center gap-2"
|
|
197
|
+
}, [...t[23] || (t[23] = [
|
|
198
|
+
e("svg", {
|
|
199
|
+
class: "w-5 h-5",
|
|
200
|
+
fill: "none",
|
|
201
|
+
viewBox: "0 0 24 24",
|
|
202
|
+
stroke: "currentColor"
|
|
203
|
+
}, [
|
|
204
|
+
e("path", {
|
|
205
|
+
"stroke-linecap": "round",
|
|
206
|
+
"stroke-linejoin": "round",
|
|
207
|
+
"stroke-width": "2",
|
|
208
|
+
d: "M12 4v16m8-8H4"
|
|
209
|
+
})
|
|
210
|
+
], -1),
|
|
211
|
+
i(" 添加新账户 ", -1)
|
|
212
|
+
])])
|
|
213
|
+
])
|
|
214
|
+
])
|
|
215
|
+
]),
|
|
216
|
+
_: 1
|
|
217
|
+
}, 8, ["show"]),
|
|
218
|
+
k(x(f), {
|
|
219
|
+
show: d.value,
|
|
220
|
+
"onUpdate:show": t[7] || (t[7] = (r) => d.value = r)
|
|
221
|
+
}, {
|
|
222
|
+
default: v(() => [
|
|
223
|
+
e("div", Y, [
|
|
224
|
+
e("div", Z, [
|
|
225
|
+
t[25] || (t[25] = e("h3", { class: "text-lg font-bold text-slate-800 dark:text-slate-200" }, "添加新账户", -1)),
|
|
226
|
+
e("button", {
|
|
227
|
+
onClick: t[5] || (t[5] = (r) => d.value = !1),
|
|
228
|
+
class: "text-slate-400 hover:text-slate-600 dark:hover:text-slate-200 transition-colors"
|
|
229
|
+
}, [...t[24] || (t[24] = [
|
|
230
|
+
e("svg", {
|
|
231
|
+
class: "w-5 h-5",
|
|
232
|
+
fill: "none",
|
|
233
|
+
viewBox: "0 0 24 24",
|
|
234
|
+
stroke: "currentColor"
|
|
235
|
+
}, [
|
|
236
|
+
e("path", {
|
|
237
|
+
"stroke-linecap": "round",
|
|
238
|
+
"stroke-linejoin": "round",
|
|
239
|
+
"stroke-width": "2",
|
|
240
|
+
d: "M6 18L18 6M6 6l12 12"
|
|
241
|
+
})
|
|
242
|
+
], -1)
|
|
243
|
+
])])
|
|
244
|
+
]),
|
|
245
|
+
e("div", ee, [
|
|
246
|
+
e("div", te, [
|
|
247
|
+
t[26] || (t[26] = e("label", { class: "block text-sm font-medium text-slate-700 dark:text-slate-300" }, "账户类型", -1)),
|
|
248
|
+
e("div", re, [
|
|
249
|
+
(o(), l(m, null, p(A, (r) => e("button", {
|
|
250
|
+
key: r.value,
|
|
251
|
+
onClick: (ke) => s.value.type = r.value,
|
|
252
|
+
class: u([s.value.type === r.value ? "border-emerald-500 bg-emerald-50 text-emerald-600 dark:bg-emerald-500/10 dark:text-emerald-400" : "border-gray-200 dark:border-gray-700 bg-white dark:bg-[#0A1120] text-slate-600 dark:text-slate-400 hover:border-emerald-200 dark:hover:border-emerald-500/30", "py-3 px-2 border rounded-xl font-bold text-sm transition-colors flex flex-col items-center gap-2"])
|
|
253
|
+
}, [
|
|
254
|
+
e("div", {
|
|
255
|
+
class: u([r.color, "w-8 h-8 rounded-full flex items-center justify-center bg-opacity-10 dark:bg-opacity-20"])
|
|
256
|
+
}, [
|
|
257
|
+
(o(), H(D(r.icon), { class: "w-4 h-4" }))
|
|
258
|
+
], 2),
|
|
259
|
+
i(" " + b(r.label), 1)
|
|
260
|
+
], 10, oe)), 64))
|
|
261
|
+
])
|
|
262
|
+
]),
|
|
263
|
+
e("div", se, [
|
|
264
|
+
e("div", le, [
|
|
265
|
+
e("label", ae, b(s.value.type === "bank" ? "开户行名称" : s.value.type === "alipay" ? "支付宝姓名" : "微信真实姓名"), 1),
|
|
266
|
+
e("input", {
|
|
267
|
+
type: "text",
|
|
268
|
+
placeholder: s.value.type === "bank" ? "如:招商银行高新支行" : "请输入真实姓名",
|
|
269
|
+
class: "w-full px-4 py-2.5 rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-[#0A1120] focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-500 outline-none transition-all dark:text-slate-200"
|
|
270
|
+
}, null, 8, de)
|
|
271
|
+
]),
|
|
272
|
+
e("div", ne, [
|
|
273
|
+
e("label", ie, b(s.value.type === "bank" ? "银行卡号" : "账号"), 1),
|
|
274
|
+
e("input", {
|
|
275
|
+
type: "text",
|
|
276
|
+
placeholder: s.value.type === "bank" ? "请输入16-19位银行卡号" : "请输入账号/手机号",
|
|
277
|
+
class: "w-full px-4 py-2.5 rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-[#0A1120] focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-500 outline-none transition-all dark:text-slate-200"
|
|
278
|
+
}, null, 8, ue)
|
|
279
|
+
])
|
|
280
|
+
])
|
|
281
|
+
]),
|
|
282
|
+
e("div", be, [
|
|
283
|
+
e("button", {
|
|
284
|
+
onClick: t[6] || (t[6] = (r) => d.value = !1),
|
|
285
|
+
class: "px-5 py-2 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 text-slate-700 dark:text-slate-200 rounded-lg hover:bg-slate-50 dark:hover:bg-gray-700 transition-colors font-medium text-sm"
|
|
286
|
+
}, "取消"),
|
|
287
|
+
e("button", {
|
|
288
|
+
onClick: N,
|
|
289
|
+
class: "px-5 py-2 bg-gradient-to-r from-emerald-500 to-teal-500 text-white rounded-lg hover:shadow-lg hover:shadow-emerald-500/30 transition-all font-bold text-sm"
|
|
290
|
+
}, "确认添加")
|
|
291
|
+
])
|
|
292
|
+
])
|
|
293
|
+
]),
|
|
294
|
+
_: 1
|
|
295
|
+
}, 8, ["show"])
|
|
296
|
+
]));
|
|
297
|
+
}
|
|
298
|
+
});
|
|
299
|
+
export {
|
|
300
|
+
pe as default
|
|
301
|
+
};
|