347 lines
19 KiB
HTML
347 lines
19 KiB
HTML
<!DOCTYPE html><html lang="zh-CN" style="width: 390px; height: 1242px; overflow: hidden; position: relative;"><head>
|
|
<meta charset="utf-8">
|
|
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
|
<script src="https://cdn.tailwindcss.com?plugins=forms,container-queries"></script>
|
|
<link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Inter:wght@400;500;600&family=Be+Vietnam+Pro:wght@400;500;600&display=swap" rel="stylesheet">
|
|
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap" rel="stylesheet">
|
|
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap" rel="stylesheet">
|
|
<script id="tailwind-config">
|
|
tailwind.config = {
|
|
darkMode: "class",
|
|
theme: {
|
|
extend: {
|
|
"colors": {
|
|
"on-primary": "#ffffff",
|
|
"surface-container": "#efeeec",
|
|
"tertiary-fixed": "#dae5dd",
|
|
"outline-variant": "#e2bebc",
|
|
"success-green": "#2D6A4F",
|
|
"on-tertiary-container": "#c2cdc6",
|
|
"secondary": "#735c00",
|
|
"primary-fixed": "#ffdad7",
|
|
"inverse-surface": "#2f3130",
|
|
"on-background": "#1a1c1b",
|
|
"tertiary": "#37413b",
|
|
"primary-fixed-dim": "#ffb3ae",
|
|
"secondary-fixed": "#ffe088",
|
|
"status-blue": "#2A6EBB",
|
|
"on-tertiary": "#ffffff",
|
|
"background": "#faf9f7",
|
|
"error": "#ba1a1a",
|
|
"surface-container-high": "#e9e8e6",
|
|
"secondary-container": "#fed65b",
|
|
"surface": "#faf9f7",
|
|
"on-tertiary-fixed-variant": "#3f4943",
|
|
"tertiary-fixed-dim": "#bec9c2",
|
|
"outline": "#8d706e",
|
|
"inverse-primary": "#ffb3ae",
|
|
"on-primary-fixed-variant": "#910817",
|
|
"ink-black": "#1A1A1A",
|
|
"error-container": "#ffdad6",
|
|
"on-primary-fixed": "#410004",
|
|
"surface-tint": "#b3272c",
|
|
"surface-container-low": "#f4f3f1",
|
|
"aged-amber": "#FFBF00",
|
|
"on-secondary-container": "#745c00",
|
|
"surface-container-highest": "#e3e2e0",
|
|
"subtle-gray": "#999999",
|
|
"surface-container-lowest": "#ffffff",
|
|
"secondary-fixed-dim": "#e9c349",
|
|
"on-primary-container": "#ffb9b4",
|
|
"surface-variant": "#e3e2e0",
|
|
"on-error-container": "#93000a",
|
|
"heritage-red": "#A61D24",
|
|
"surface-dim": "#dadad8",
|
|
"primary": "#820012",
|
|
"on-error": "#ffffff",
|
|
"tertiary-container": "#4e5852",
|
|
"on-surface-variant": "#5a413f",
|
|
"on-surface": "#1a1c1b",
|
|
"on-secondary": "#ffffff",
|
|
"on-secondary-fixed": "#241a00",
|
|
"inverse-on-surface": "#f1f1ef",
|
|
"on-secondary-fixed-variant": "#574500",
|
|
"primary-container": "#a61d24",
|
|
"on-tertiary-fixed": "#141e19",
|
|
"surface-bright": "#faf9f7"
|
|
},
|
|
"borderRadius": {
|
|
"DEFAULT": "0.25rem",
|
|
"lg": "0.5rem",
|
|
"xl": "0.75rem",
|
|
"full": "9999px"
|
|
},
|
|
"spacing": {
|
|
"stack-sm": "4px",
|
|
"margin-page": "20px",
|
|
"gutter-card": "12px",
|
|
"stack-lg": "32px",
|
|
"base": "8px",
|
|
"stack-md": "16px"
|
|
},
|
|
"fontFamily": {
|
|
"headline-lg-mobile": ["Manrope"],
|
|
"label-md": ["Inter"],
|
|
"headline-md": ["Manrope"],
|
|
"headline-lg": ["Manrope"],
|
|
"body-lg": ["Be Vietnam Pro"],
|
|
"headline-xl": ["Manrope"],
|
|
"body-md": ["Be Vietnam Pro"],
|
|
"coupon-amount": ["Manrope"]
|
|
},
|
|
"fontSize": {
|
|
"headline-lg-mobile": ["20px", {"lineHeight": "28px", "fontWeight": "600"}],
|
|
"label-md": ["12px", {"lineHeight": "16px", "letterSpacing": "0.05em", "fontWeight": "500"}],
|
|
"headline-md": ["18px", {"lineHeight": "26px", "fontWeight": "600"}],
|
|
"headline-lg": ["24px", {"lineHeight": "32px", "fontWeight": "600"}],
|
|
"body-lg": ["16px", {"lineHeight": "24px", "fontWeight": "400"}],
|
|
"headline-xl": ["32px", {"lineHeight": "40px", "letterSpacing": "-0.02em", "fontWeight": "700"}],
|
|
"body-md": ["14px", {"lineHeight": "20px", "fontWeight": "400"}],
|
|
"coupon-amount": ["28px", {"lineHeight": "28px", "fontWeight": "700"}]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
<style>
|
|
.material-symbols-outlined {
|
|
font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
|
|
}
|
|
.paper-texture {
|
|
background-image: url("https://www.transparenttextures.com/patterns/natural-paper.png");
|
|
}
|
|
.heritage-gradient {
|
|
background: linear-gradient(135deg, #A61D24 0%, #820012 100%);
|
|
}
|
|
.soft-shadow {
|
|
shadow-[0px_4px_20px_rgba(166,29,36,0.05)];
|
|
}
|
|
</style>
|
|
</head>
|
|
<body class="bg-background font-body-md text-on-surface selection:bg-primary-fixed selection:text-primary">
|
|
<!-- TopAppBar -->
|
|
<header class="fixed top-0 w-full z-50 bg-surface-container-low shadow-[0px_4px_20px_rgba(166,29,36,0.05)]">
|
|
<div class="flex items-center justify-between px-margin-page h-16 w-full max-w-screen-xl mx-auto">
|
|
<div class="flex items-center gap-3">
|
|
<span class="material-symbols-outlined text-primary">menu</span>
|
|
<h1 class="font-headline-md text-headline-md-mobile text-primary">工作台</h1>
|
|
</div>
|
|
<div class="flex items-center gap-4">
|
|
<div class="relative p-2 hover:bg-surface-container-high transition-colors rounded-full active:scale-95">
|
|
<span class="material-symbols-outlined text-on-surface-variant">notifications</span>
|
|
<span class="absolute top-1 right-1 w-2 h-2 bg-heritage-red rounded-full border-2 border-surface"></span>
|
|
</div>
|
|
<img class="w-10 h-10 rounded-full border-2 border-heritage-red/10 object-cover" data-alt="A professional high-end business portrait of a modern city partner, wearing a tailored blazer in a minimalist architectural office with soft daylight and warm heritage red accents in the background. The lighting is editorial and sophisticated, emphasizing a clean light-mode aesthetic." src="https://lh3.googleusercontent.com/aida-public/AB6AXuDFL2lV4OZbU8b5LUqByJtEYbldq2D-ItYhiHawZb4C8NBelgnRieIk3-_3e_4G2z5hrk-FmQdFz4UVqmQ_uulzTQUajdSFaKlus44_w0P3RbFd6SNDzOGm2_1anC8MWGGkmnKpqCvaHHQ_wPhridz2gLXQuNIj3-__wUdI-HL9KHw6EDO5ezi_xzL5RlNyg2HI0k4eDV6qqczXUSd4okig5PVWX9J2YlrdgzgBODvjul0Npd02OC_uhXtVLUCfSlUKhASFysmsbpM">
|
|
</div>
|
|
</div>
|
|
</header>
|
|
<main class="pt-24 pb-32 px-margin-page max-w-screen-xl mx-auto space-y-stack-lg">
|
|
<!-- Financial Card -->
|
|
<section class="relative overflow-hidden heritage-gradient rounded-xl p-6 text-white shadow-xl">
|
|
<div class="absolute -right-12 -top-12 w-48 h-48 bg-white/5 rounded-full blur-3xl"></div>
|
|
<div class="relative z-10">
|
|
<p class="font-label-md text-white/80 flex items-center gap-1">
|
|
实时营业额 (CNY)
|
|
<span class="material-symbols-outlined text-[14px]">info</span>
|
|
</p>
|
|
<div class="flex items-baseline gap-2 mt-2">
|
|
<span class="font-headline-xl text-[36px]">128,450.00</span>
|
|
|
|
</div>
|
|
<div class="grid grid-cols-2 gap-4 mt-6 pt-6 border-t border-white/10">
|
|
<div>
|
|
<p class="font-label-md text-white/60">预计利润</p>
|
|
<p class="font-headline-md mt-1">¥ 32,112.50</p>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<!-- Store Overview & Quick Actions Bento -->
|
|
<div class="grid grid-cols-1 md:grid-cols-12 gap-gutter-card">
|
|
<!-- Store Overview (Col 7) -->
|
|
<section class="md:col-span-7 bg-surface-container-lowest rounded-xl p-stack-md shadow-[0px_4px_20px_rgba(166,29,36,0.05)]">
|
|
<div class="flex justify-between items-center mb-stack-md">
|
|
<h2 class="font-headline-md text-on-surface">门店总数</h2>
|
|
<span class="font-headline-lg text-primary">156</span>
|
|
</div>
|
|
<div class="flex gap-4">
|
|
<div class="flex-1 bg-surface-container-low rounded-lg p-3 flex items-center gap-3">
|
|
<span class="w-3 h-3 bg-success-green rounded-full shadow-[0_0_8px_rgba(45,106,79,0.4)]"></span>
|
|
<div>
|
|
<p class="text-xs text-subtle-gray">正常运营</p>
|
|
<p class="font-headline-md">148</p>
|
|
</div>
|
|
</div>
|
|
<div class="flex-1 bg-surface-container-low rounded-lg p-3 flex items-center gap-3">
|
|
<span class="w-3 h-3 bg-heritage-red rounded-full shadow-[0_0_8px_rgba(166,29,36,0.4)] animate-pulse"></span>
|
|
<div>
|
|
<p class="text-xs text-subtle-gray">异常/闭店</p>
|
|
<p class="font-headline-md">8</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<!-- Quick Actions (Col 5) -->
|
|
<section class="md:col-span-5 bg-surface-container-lowest rounded-xl p-stack-md shadow-[0px_4px_20px_rgba(166,29,36,0.05)]">
|
|
<div class="flex gap-4 h-full items-center overflow-x-auto pb-2">
|
|
<div class="flex flex-col items-center gap-2 group cursor-pointer flex-shrink-0">
|
|
<div class="w-12 h-12 rounded-full bg-red-50 flex items-center justify-center text-heritage-red group-active:scale-90 transition-transform">
|
|
<span class="material-symbols-outlined">add_business</span>
|
|
</div>
|
|
<span class="text-[10px] font-medium text-on-surface-variant">录入新店</span>
|
|
</div>
|
|
<div class="flex flex-col items-center gap-2 group cursor-pointer flex-shrink-0">
|
|
<div class="w-12 h-12 rounded-full bg-amber-50 flex items-center justify-center text-aged-amber group-active:scale-90 transition-transform relative">
|
|
<span class="material-symbols-outlined">assignment_return</span>
|
|
<span class="absolute -right-1 -top-1 w-5 h-5 bg-heritage-red text-white text-[10px] font-bold flex items-center justify-center rounded-full border-2 border-white">3</span></div>
|
|
<span class="text-[10px] font-medium text-on-surface-variant">补发处理</span>
|
|
</div>
|
|
<div class="flex flex-col items-center gap-2 group cursor-pointer flex-shrink-0">
|
|
<div class="w-12 h-12 rounded-full bg-emerald-50 flex items-center justify-center text-success-green group-active:scale-90 transition-transform">
|
|
<span class="material-symbols-outlined">account_balance</span>
|
|
</div>
|
|
<span class="text-[10px] font-medium text-on-surface-variant">财务对账</span>
|
|
</div>
|
|
<div class="flex flex-col items-center gap-2 group cursor-pointer flex-shrink-0">
|
|
<div class="w-12 h-12 rounded-full bg-blue-50 flex items-center justify-center text-status-blue group-active:scale-90 transition-transform">
|
|
<span class="material-symbols-outlined">monitoring</span>
|
|
</div>
|
|
<span class="text-[10px] font-medium text-on-surface-variant">数据周报</span>
|
|
</div>
|
|
<div class="flex flex-col items-center gap-2 group cursor-pointer flex-shrink-0 min-w-[64px]" data-stitch-orig-opacity="0"><div class="w-12 h-12 rounded-full bg-red-50 flex items-center justify-center text-heritage-red group-active:scale-90 transition-transform"><span class="material-symbols-outlined">block</span></div><span class="text-[10px] font-medium text-on-surface-variant">拦截配送</span></div></div>
|
|
</section>
|
|
</div>
|
|
<!-- Order Summary -->
|
|
<section class="space-y-stack-md">
|
|
<div class="flex justify-between items-center w-full mb-stack-md"><h2 class="font-headline-md text-on-surface">今日订单量 1000</h2><button class="text-xs text-primary hover:underline flex items-center gap-1">查看订单详情 <span class="material-symbols-outlined text-[14px]">chevron_right</span></button></div>
|
|
<div class="grid grid-cols-3 gap-gutter-card">
|
|
<div class="bg-surface-container-lowest p-4 rounded-xl shadow-[0px_4px_20px_rgba(166,29,36,0.05)] border-l-4 border-aged-amber">
|
|
<p class="text-xs text-subtle-gray mb-1">待发货</p>
|
|
<p class="font-headline-lg text-ink-black">42</p>
|
|
</div>
|
|
<div class="bg-surface-container-lowest p-4 rounded-xl shadow-[0px_4px_20px_rgba(166,29,36,0.05)] border-l-4 border-status-blue">
|
|
<p class="text-xs text-subtle-gray mb-1">配送中</p>
|
|
<p class="font-headline-lg text-ink-black">115</p>
|
|
</div>
|
|
<div class="bg-surface-container-lowest p-4 rounded-xl shadow-[0px_4px_20px_rgba(166,29,36,0.05)] border-l-4 border-success-green">
|
|
<p class="text-xs text-subtle-gray mb-1">已完成</p>
|
|
<p class="font-headline-lg text-ink-black">896</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<!-- Expansion Stats -->
|
|
<section class="bg-surface-container-lowest rounded-xl p-stack-md shadow-[0px_4px_20px_rgba(166,29,36,0.05)]">
|
|
<h2 class="font-headline-md text-on-surface mb-stack-md">拓店情况</h2>
|
|
<div class="flex divide-x divide-outline-variant/20 mb-stack-lg">
|
|
<div class="flex-1 pr-4">
|
|
<p class="text-xs text-subtle-gray mb-1">本月新增签约</p>
|
|
<div class="flex items-center gap-2">
|
|
<span class="font-headline-lg">12</span>
|
|
<span class="text-[10px] text-success-green flex items-center">
|
|
<span class="material-symbols-outlined text-[12px]">trending_up</span> 18%
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="flex-1 pl-4">
|
|
<p class="text-xs text-subtle-gray mb-1">待审核门店</p>
|
|
<p class="font-headline-lg">5</p>
|
|
</div>
|
|
</div>
|
|
<div class="space-y-stack-md pt-stack-md border-t border-outline-variant/10">
|
|
<div class="flex justify-between items-center">
|
|
<h3 class="font-body-md font-bold text-on-surface-variant flex items-center gap-2">
|
|
<span class="material-symbols-outlined text-primary text-[18px]">military_tech</span>
|
|
合伙人贡献榜
|
|
</h3>
|
|
<button class="text-xs text-primary hover:underline">查看全部</button>
|
|
</div>
|
|
<div class="space-y-stack-sm">
|
|
<!-- Top Performer 1 -->
|
|
<div class="flex items-center justify-between p-2 hover:bg-surface-container-low rounded-lg transition-colors group">
|
|
<div class="flex items-center gap-3">
|
|
<div class="relative">
|
|
<img class="w-10 h-10 rounded-full object-cover" data-alt="A close-up portrait of a successful business manager, professional studio lighting, warm skin tones, blurred corporate background with high-end glass and wood textures, premium feel." src="https://lh3.googleusercontent.com/aida-public/AB6AXuBDulJR0QVymlFX_gSToQlsaotB95_R0d4ldDmV0Ot-6tiNOFv_szA0uQ_shTHkx8oO24FWGKj8EGPhPpedkUs7uqbr47GD-Wx4ftnnKQ5n8ttZD5X-FvmxhNTIMzm21sOOR5G2TzsDA2EkSydyyc41NEsE6szSM0w1nbCXRZUowzvZD8D-Imk7bKtwhUMNyeoRTUTqe2rzuHKsGgMbiyhUZTbO9GZ4fgWJsvwvgzahWxh2shj0Us2BRyhU1cuEZEWL9-selOsIdzc">
|
|
<span class="absolute -top-1 -left-1 w-5 h-5 bg-aged-amber text-white text-[10px] font-bold flex items-center justify-center rounded-full border-2 border-white">1</span>
|
|
</div>
|
|
<div>
|
|
<p class="font-body-md font-semibold text-on-surface">陈经理 <span class="text-[10px] font-normal text-subtle-gray ml-1">(内部员工)</span></p>
|
|
<p class="text-[10px] text-subtle-gray">累计拓店: 45 间</p>
|
|
</div>
|
|
</div>
|
|
<div class="text-right">
|
|
<p class="font-headline-md text-primary">8 间</p>
|
|
<p class="text-[10px] text-subtle-gray">本月新增</p>
|
|
</div>
|
|
</div>
|
|
<!-- Top Performer 2 -->
|
|
<div class="flex items-center justify-between p-2 hover:bg-surface-container-low rounded-lg transition-colors">
|
|
<div class="flex items-center gap-3">
|
|
<div class="relative">
|
|
<img class="w-10 h-10 rounded-full object-cover" data-alt="A sharp, minimalist profile photo of a corporate executive, professional photography, soft shadows, neutral background, modern business attire, high clarity." src="https://lh3.googleusercontent.com/aida-public/AB6AXuDKnCwe6S_Ptns70i1_qbhiGfmTiKaEhHr0F1-jT_eyMnPkiohY8V2eSsLJyxsMw10yiRfL1Y9B-DhdZKacgfhe2Gs9A0G0A-60bEllKd7bqDWQDWsCedVupzKyRRt5ciyiaDiJ5dYu_J4A9MI-umpJ8lVEIQqh1OU45txxUUzu_QOwMT-_yMW787X-VXDirO-7DoJCLAcUdDWRlC3zDzHX8M2x_U4PyYjmRE2dHgAM4VTX61mox4SzmqOXS0RKG8B2aE-IkDgEj6g">
|
|
<span class="absolute -top-1 -left-1 w-5 h-5 bg-slate-300 text-white text-[10px] font-bold flex items-center justify-center rounded-full border-2 border-white">2</span>
|
|
</div>
|
|
<div>
|
|
<p class="font-body-md font-semibold text-on-surface">李华 <span class="text-[10px] font-normal text-subtle-gray ml-1">(城市合伙人)</span></p>
|
|
<p class="text-[10px] text-subtle-gray">累计拓店: 32 间</p>
|
|
</div>
|
|
</div>
|
|
<div class="text-right">
|
|
<p class="font-headline-md text-on-surface-variant">5 间</p>
|
|
<p class="text-[10px] text-subtle-gray">本月新增</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</main>
|
|
<!-- BottomNavBar -->
|
|
<nav class="fixed bottom-0 w-full z-50 bg-surface-container-lowest border-t border-outline-variant/20 shadow-[0px_-4px_16px_rgba(0,0,0,0.04)] rounded-t-xl h-20 px-4 pb-safe flex justify-around items-center"><button class="flex flex-col items-center justify-center text-primary bg-primary-fixed/30 rounded-xl px-5 py-2 active:scale-90 transition-transform">
|
|
<span class="material-symbols-outlined">home</span>
|
|
<span class="font-label-md mt-1 font-bold">首页</span>
|
|
</button>
|
|
|
|
<button class="flex flex-col items-center justify-center text-subtle-gray hover:opacity-80 active:scale-90 transition-transform">
|
|
<span class="material-symbols-outlined">storefront</span>
|
|
<span class="font-label-md mt-1">门店管理</span>
|
|
</button>
|
|
|
|
<button class="flex flex-col items-center justify-center text-subtle-gray hover:opacity-80 active:scale-90 transition-transform">
|
|
<span class="material-symbols-outlined">account_circle</span>
|
|
<span class="font-label-md mt-1">合伙人中心</span>
|
|
</button></nav>
|
|
<script>
|
|
// Micro-interactions for counts or chart simulations could be added here
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
// Simple animation for the big number on load
|
|
const revenueDisplay = document.querySelector('.font-headline-xl');
|
|
if(revenueDisplay) {
|
|
let startValue = 120000;
|
|
const endValue = 128450;
|
|
const duration = 1500;
|
|
const step = (endValue - startValue) / (duration / 16);
|
|
|
|
const updateValue = () => {
|
|
startValue += step;
|
|
if(startValue < endValue) {
|
|
revenueDisplay.textContent = startValue.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
|
|
requestAnimationFrame(updateValue);
|
|
} else {
|
|
revenueDisplay.textContent = endValue.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
|
|
}
|
|
};
|
|
updateValue();
|
|
}
|
|
});
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</body></html> |