Files
teapot_system/ui-preview.html

1252 lines
43 KiB
HTML
Raw Permalink Normal View History

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>铜壶管理系统 UI 效果图</title>
<style>
:root {
--bg: #f4efe8;
--panel: rgba(251, 248, 243, 0.9);
--panel-strong: #fbf8f3;
--text: #2f2923;
--muted: #5b544d;
--brand: #a66536;
--brand-deep: #8f552c;
--side: #24353a;
--line: #d9cabb;
--success: #56735d;
--warning: #c68a35;
--danger: #b5533d;
--info: #4f6d7a;
--shadow: 0 24px 60px rgba(58, 39, 23, 0.12);
--soft-shadow: 0 10px 25px rgba(36, 53, 58, 0.08);
--radius-xl: 28px;
--radius-lg: 20px;
--radius-md: 16px;
--radius-sm: 12px;
}
* {
box-sizing: border-box;
}
body {
margin: 0;
min-height: 100vh;
font-family: "Source Han Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
color: var(--text);
background:
radial-gradient(circle at top left, rgba(166, 101, 54, 0.18), transparent 28%),
radial-gradient(circle at bottom right, rgba(79, 109, 122, 0.15), transparent 24%),
linear-gradient(160deg, #f7f1e9 0%, #efe6dc 100%);
background-attachment: fixed;
}
body::before {
content: "";
position: fixed;
inset: 0;
pointer-events: none;
background-image:
linear-gradient(rgba(166, 101, 54, 0.035) 1px, transparent 1px),
linear-gradient(90deg, rgba(166, 101, 54, 0.035) 1px, transparent 1px);
background-size: 32px 32px;
mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.7), transparent 82%);
}
.page {
width: min(1480px, calc(100vw - 48px));
margin: 0 auto;
padding: 40px 0 56px;
position: relative;
z-index: 1;
}
.hero {
display: grid;
grid-template-columns: 1.15fr 0.85fr;
gap: 24px;
align-items: stretch;
margin-bottom: 28px;
}
.hero-card {
border: 1px solid rgba(217, 202, 187, 0.8);
border-radius: var(--radius-xl);
box-shadow: var(--shadow);
overflow: hidden;
background: rgba(255, 252, 247, 0.65);
backdrop-filter: blur(12px);
}
.hero-brand {
min-height: 290px;
padding: 40px;
background:
linear-gradient(135deg, rgba(36, 53, 58, 0.88), rgba(67, 45, 31, 0.8)),
linear-gradient(180deg, rgba(166, 101, 54, 0.8), rgba(36, 53, 58, 0.85));
color: #f9f2ea;
position: relative;
}
.hero-brand::before,
.hero-brand::after {
content: "";
position: absolute;
border-radius: 999px;
border: 1px solid rgba(255, 231, 213, 0.14);
}
.hero-brand::before {
width: 420px;
height: 420px;
right: -100px;
top: -140px;
background: radial-gradient(circle, rgba(255, 205, 158, 0.18), transparent 60%);
}
.hero-brand::after {
width: 260px;
height: 260px;
left: -60px;
bottom: -120px;
background: radial-gradient(circle, rgba(255, 222, 193, 0.12), transparent 60%);
}
.brand-tag {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 14px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.14);
font-size: 13px;
letter-spacing: 0.08em;
}
.hero-title {
margin: 22px 0 12px;
font-family: "Source Han Serif SC", "STSong", serif;
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.02em;
}
.hero-desc {
max-width: 540px;
font-size: 16px;
line-height: 1.8;
color: rgba(250, 242, 234, 0.84);
}
.brand-points {
display: flex;
gap: 12px;
flex-wrap: wrap;
margin-top: 24px;
}
.brand-points span {
padding: 10px 14px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.08);
font-size: 13px;
}
.hero-login {
padding: 26px;
display: flex;
align-items: center;
justify-content: center;
background:
linear-gradient(180deg, rgba(255, 252, 247, 0.88), rgba(251, 248, 243, 0.92));
}
.login-panel {
width: min(420px, 100%);
padding: 28px;
background: var(--panel-strong);
border: 1px solid rgba(217, 202, 187, 0.9);
border-radius: 24px;
box-shadow: var(--soft-shadow);
}
.section-kicker {
font-size: 12px;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--brand);
font-weight: 700;
}
.section-title {
margin: 10px 0 8px;
font-family: "Source Han Serif SC", "STSong", serif;
font-size: 28px;
line-height: 1.25;
}
.section-copy {
margin: 0 0 22px;
color: var(--muted);
line-height: 1.7;
font-size: 14px;
}
.field {
margin-bottom: 16px;
}
.field label {
display: block;
margin-bottom: 8px;
font-size: 13px;
color: var(--muted);
}
.input {
width: 100%;
padding: 14px 16px;
border: 1px solid var(--line);
border-radius: 14px;
background: #fffdf9;
color: var(--text);
font-size: 14px;
outline: none;
}
.input::placeholder {
color: #9a8f84;
}
.login-meta {
display: flex;
align-items: center;
justify-content: space-between;
font-size: 13px;
color: var(--muted);
margin-bottom: 18px;
}
.checkbox {
display: inline-flex;
align-items: center;
gap: 8px;
}
.checkbox span:first-child {
width: 16px;
height: 16px;
border-radius: 4px;
border: 1px solid var(--brand);
background: linear-gradient(180deg, rgba(166, 101, 54, 0.18), rgba(166, 101, 54, 0.06));
box-shadow: inset 0 0 0 3px #fffaf5;
}
.button-primary,
.button-secondary,
.button-danger,
.chip,
.tab {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
white-space: nowrap;
}
.button-primary {
width: 100%;
padding: 15px 20px;
border: 0;
border-radius: 14px;
background: linear-gradient(135deg, var(--brand), var(--brand-deep));
color: #fff7f0;
font-size: 15px;
font-weight: 700;
box-shadow: 0 16px 24px rgba(166, 101, 54, 0.22);
}
.login-footer {
margin-top: 16px;
display: flex;
justify-content: space-between;
font-size: 12px;
color: #877a6f;
}
.board {
border-radius: 36px;
background: linear-gradient(180deg, rgba(255, 252, 248, 0.9), rgba(248, 243, 237, 0.92));
border: 1px solid rgba(217, 202, 187, 0.9);
box-shadow: var(--shadow);
overflow: hidden;
}
.board-topbar {
height: 74px;
padding: 0 28px;
display: flex;
align-items: center;
justify-content: space-between;
background: rgba(255, 251, 246, 0.8);
border-bottom: 1px solid rgba(217, 202, 187, 0.8);
}
.brand-mini {
display: flex;
align-items: center;
gap: 14px;
}
.brand-seal {
width: 42px;
height: 42px;
border-radius: 14px;
background: linear-gradient(135deg, var(--brand), #c78d60);
box-shadow: 0 10px 22px rgba(166, 101, 54, 0.22);
}
.brand-mini strong {
display: block;
font-size: 16px;
}
.brand-mini span {
font-size: 12px;
color: var(--muted);
}
.top-actions {
display: flex;
align-items: center;
gap: 12px;
}
.searchbox {
width: 320px;
padding: 12px 16px;
border-radius: 999px;
border: 1px solid rgba(217, 202, 187, 0.9);
background: rgba(255, 254, 251, 0.95);
font-size: 14px;
color: var(--muted);
}
.chip {
padding: 10px 14px;
border-radius: 999px;
border: 1px solid rgba(217, 202, 187, 0.9);
background: rgba(255, 252, 246, 0.92);
font-size: 13px;
color: var(--muted);
}
.chip.brand {
background: rgba(166, 101, 54, 0.12);
color: var(--brand-deep);
border-color: rgba(166, 101, 54, 0.24);
font-weight: 700;
}
.chip.success {
background: rgba(86, 115, 93, 0.12);
color: var(--success);
border-color: rgba(86, 115, 93, 0.24);
}
.dashboard {
display: grid;
grid-template-columns: 276px minmax(0, 1fr);
min-height: 980px;
}
.sidebar {
padding: 24px 20px 28px;
background: linear-gradient(180deg, #24353a, #1f2d31);
color: rgba(247, 241, 233, 0.92);
}
.sidebar-head {
padding: 14px 10px 20px;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
margin-bottom: 20px;
}
.sidebar-head strong {
display: block;
font-size: 18px;
margin-bottom: 6px;
}
.sidebar-head span {
font-size: 13px;
color: rgba(247, 241, 233, 0.62);
}
.tree-group {
margin-bottom: 18px;
}
.tree-label {
margin: 0 0 10px;
padding: 0 10px;
font-size: 12px;
letter-spacing: 0.14em;
color: rgba(255, 237, 219, 0.46);
}
.tree-item,
.tree-subitem {
border-radius: 14px;
}
.tree-item {
padding: 12px 14px;
margin-bottom: 8px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid transparent;
font-size: 14px;
}
.tree-item.active {
background: linear-gradient(90deg, rgba(166, 101, 54, 0.26), rgba(166, 101, 54, 0.08));
border-color: rgba(255, 212, 176, 0.2);
box-shadow: inset 3px 0 0 rgba(255, 209, 169, 0.75);
}
.tree-sublist {
display: grid;
gap: 8px;
margin: 8px 0 0 12px;
}
.tree-subitem {
padding: 10px 12px;
font-size: 13px;
color: rgba(249, 242, 234, 0.78);
background: rgba(255, 255, 255, 0.03);
}
.tree-subitem.current {
background: rgba(255, 237, 219, 0.12);
color: #fff4ea;
}
.content {
padding: 24px;
background: rgba(248, 242, 235, 0.55);
}
.content-grid {
display: grid;
gap: 22px;
}
.title-row,
.toolbar,
.stat-row,
.detail-layout {
display: grid;
gap: 18px;
}
.title-row {
grid-template-columns: minmax(0, 1fr) auto;
align-items: end;
}
.page-title {
margin: 0;
font-family: "Source Han Serif SC", "STSong", serif;
font-size: 32px;
line-height: 1.2;
}
.page-subtitle {
margin-top: 8px;
color: var(--muted);
font-size: 14px;
}
.action-row {
display: flex;
gap: 12px;
align-items: center;
}
.button-secondary,
.button-danger {
padding: 12px 16px;
border-radius: 14px;
font-size: 14px;
font-weight: 700;
}
.button-secondary {
border: 1px solid rgba(166, 101, 54, 0.28);
background: rgba(255, 250, 245, 0.94);
color: var(--brand-deep);
}
.button-danger {
border: 1px solid rgba(181, 83, 61, 0.28);
background: rgba(181, 83, 61, 0.08);
color: var(--danger);
}
.toolbar {
grid-template-columns: repeat(6, minmax(0, 1fr));
padding: 18px;
border-radius: 24px;
background: var(--panel);
border: 1px solid rgba(217, 202, 187, 0.9);
box-shadow: var(--soft-shadow);
}
.toolbar .mini-field {
padding: 12px 14px;
border-radius: 14px;
border: 1px solid var(--line);
background: rgba(255, 253, 250, 0.95);
color: #81766b;
font-size: 13px;
}
.stat-row {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.stat-card,
.surface,
.product-card,
.detail-card,
.order-side {
background: var(--panel);
border: 1px solid rgba(217, 202, 187, 0.9);
border-radius: 24px;
box-shadow: var(--soft-shadow);
}
.stat-card {
padding: 20px;
}
.stat-label {
color: var(--muted);
font-size: 13px;
margin-bottom: 10px;
}
.stat-value {
font-size: 28px;
font-weight: 800;
letter-spacing: -0.03em;
}
.stat-note {
margin-top: 8px;
font-size: 12px;
color: #8d8277;
}
.products-layout {
display: grid;
grid-template-columns: 1.15fr 0.85fr;
gap: 22px;
}
.surface {
padding: 18px;
}
.surface-head {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 16px;
}
.surface-title {
margin: 0;
font-size: 17px;
font-weight: 800;
}
.surface-subtitle {
margin-top: 6px;
color: var(--muted);
font-size: 13px;
}
.product-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
}
.product-card {
overflow: hidden;
}
.product-image {
height: 170px;
background:
radial-gradient(circle at 50% 38%, rgba(255, 234, 213, 0.9), rgba(166, 101, 54, 0.22) 42%, rgba(36, 53, 58, 0.16) 68%),
linear-gradient(180deg, #ead8c6 0%, #d3baa2 100%);
position: relative;
overflow: hidden;
}
.product-image::after {
content: "";
position: absolute;
inset: 18px 56px 28px;
border-radius: 48% 48% 42% 42% / 44% 44% 52% 52%;
background: linear-gradient(180deg, rgba(112, 69, 38, 0.95), rgba(155, 101, 56, 0.88));
box-shadow:
inset -12px -18px 30px rgba(255, 214, 171, 0.2),
inset 10px 18px 24px rgba(34, 18, 10, 0.24),
0 18px 30px rgba(74, 45, 21, 0.18);
}
.product-image::before {
content: "";
position: absolute;
width: 56px;
height: 56px;
right: 48px;
top: 48px;
border-radius: 50%;
border: 8px solid rgba(111, 66, 35, 0.9);
box-shadow: 0 0 0 4px rgba(226, 196, 162, 0.65);
}
.product-body {
padding: 16px;
}
.product-title {
display: flex;
justify-content: space-between;
align-items: flex-start;
gap: 12px;
margin-bottom: 10px;
}
.product-name {
margin: 0;
font-size: 15px;
font-weight: 800;
}
.product-meta {
color: #867a6f;
font-size: 12px;
margin-top: 6px;
}
.status-pill {
padding: 7px 10px;
border-radius: 999px;
font-size: 11px;
font-weight: 800;
}
.status-pill.success {
color: var(--success);
background: rgba(86, 115, 93, 0.12);
}
.status-pill.warning {
color: var(--warning);
background: rgba(198, 138, 53, 0.14);
}
.status-pill.info {
color: var(--info);
background: rgba(79, 109, 122, 0.12);
}
.product-price {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
margin-bottom: 14px;
}
.metric-box {
padding: 10px 12px;
border-radius: 14px;
background: rgba(255, 255, 255, 0.62);
border: 1px solid rgba(217, 202, 187, 0.85);
}
.metric-label {
font-size: 11px;
color: #8f8479;
margin-bottom: 6px;
}
.metric-value {
font-size: 16px;
font-weight: 800;
}
.product-actions {
display: flex;
justify-content: space-between;
gap: 10px;
}
.ghost-link {
padding: 11px 14px;
border-radius: 12px;
border: 1px solid rgba(217, 202, 187, 0.9);
background: rgba(255, 252, 246, 0.9);
color: var(--muted);
font-size: 13px;
text-align: center;
flex: 1;
}
.mini-primary {
padding: 11px 14px;
border-radius: 12px;
background: linear-gradient(135deg, var(--brand), var(--brand-deep));
color: #fff7f0;
font-size: 13px;
font-weight: 800;
text-align: center;
flex: 1;
}
.detail-layout {
grid-template-columns: 1.15fr 0.85fr;
}
.detail-card {
padding: 20px;
}
.detail-card .surface-head {
margin-bottom: 18px;
}
.detail-form {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px;
}
.read-only {
padding: 14px;
border-radius: 14px;
border: 1px dashed rgba(79, 109, 122, 0.32);
background: rgba(79, 109, 122, 0.06);
color: var(--info);
font-size: 13px;
margin-bottom: 14px;
}
.image-stage {
height: 240px;
border-radius: 18px;
border: 1px solid rgba(217, 202, 187, 0.9);
background:
radial-gradient(circle at 50% 34%, rgba(255, 225, 196, 0.92), rgba(166, 101, 54, 0.18) 42%, rgba(36, 53, 58, 0.1) 70%),
linear-gradient(180deg, #efe2d2, #dcc3ab);
position: relative;
margin-bottom: 14px;
overflow: hidden;
}
.image-stage::before {
content: "";
position: absolute;
inset: 30px 110px 34px;
border-radius: 48% 48% 42% 42% / 44% 44% 54% 54%;
background: linear-gradient(180deg, rgba(108, 65, 35, 0.96), rgba(153, 97, 53, 0.9));
box-shadow: inset -14px -18px 24px rgba(255, 214, 171, 0.18);
}
.image-thumbs {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 10px;
}
.thumb {
height: 68px;
border-radius: 14px;
background: linear-gradient(180deg, #ead7c5, #dbc0a4);
border: 1px solid rgba(217, 202, 187, 0.9);
}
.order-side {
padding: 18px;
}
.order-field {
padding: 14px;
border-radius: 14px;
border: 1px solid rgba(217, 202, 187, 0.9);
background: rgba(255, 252, 247, 0.96);
color: #887d72;
margin-bottom: 12px;
font-size: 13px;
}
.stack {
display: grid;
gap: 12px;
}
.line-table {
overflow: hidden;
}
.table-row {
display: grid;
grid-template-columns: 1.2fr 1fr 0.8fr 0.8fr 0.9fr;
gap: 10px;
padding: 14px 16px;
align-items: center;
}
.table-row.header {
background: rgba(217, 202, 187, 0.22);
color: #6d6359;
font-size: 12px;
font-weight: 700;
}
.table-row:not(.header) {
border-top: 1px solid rgba(217, 202, 187, 0.56);
background: rgba(255, 252, 248, 0.62);
}
.caption-row {
display: flex;
gap: 12px;
align-items: center;
flex-wrap: wrap;
margin-bottom: 10px;
}
.frame-label {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 10px 14px;
border-radius: 999px;
background: rgba(36, 53, 58, 0.08);
color: var(--side);
font-size: 13px;
font-weight: 700;
}
.footer-note {
margin-top: 18px;
text-align: center;
color: #8a7f74;
font-size: 13px;
}
@media (max-width: 1280px) {
.hero,
.products-layout,
.detail-layout {
grid-template-columns: 1fr;
}
.product-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 960px) {
.page {
width: min(100vw - 24px, 1480px);
padding-top: 20px;
}
.dashboard {
grid-template-columns: 1fr;
}
.sidebar {
display: none;
}
.toolbar,
.stat-row,
.product-grid,
.detail-form,
.image-thumbs {
grid-template-columns: 1fr;
}
.board-topbar {
height: auto;
padding: 18px;
flex-direction: column;
align-items: stretch;
gap: 16px;
}
.top-actions {
flex-wrap: wrap;
}
.searchbox {
width: 100%;
}
}
</style>
</head>
<body>
<div class="page">
<section class="hero">
<div class="hero-card hero-brand">
<div class="brand-tag">UI PREVIEW · COPPER TEAPOT SYSTEM</div>
<h1 class="hero-title">铜壶管理系统<br />前端效果图预览</h1>
<p class="hero-desc">
这版效果图按“铜器仓储 + 茶纸账册”的视觉方向展开,重点展示登录页、商品中心、商品详情和订单处理主界面,便于先确认整体气质和页面层次。
</p>
<div class="brand-points">
<span>铜棕主色</span>
<span>米白纸感背景</span>
<span>深青侧栏</span>
<span>商品图优先</span>
<span>多角色可视化差异</span>
</div>
</div>
<div class="hero-card hero-login">
<div class="login-panel">
<div class="section-kicker">Login Preview</div>
<h2 class="section-title">欢迎进入铜壶管理系统</h2>
<p class="section-copy">商品、订单、标签与权限统一管理。管理员、客户用户、打包工用户进入后将看到不同的操作界面。</p>
<div class="field">
<label>账号</label>
<div class="input">admin</div>
</div>
<div class="field">
<label>密码</label>
<div class="input">••••••••••••</div>
</div>
<div class="login-meta">
<span class="checkbox"><span></span><span>记住登录状态</span></span>
<span>内部业务系统</span>
</div>
<div class="button-primary">登录系统</div>
<div class="login-footer">
<span>Version 1.0 Preview</span>
<span>技术支持 · 内部使用</span>
</div>
</div>
</div>
</section>
<div class="caption-row">
<span class="frame-label">主工作台效果图</span>
<span class="chip brand">管理员视角</span>
<span class="chip success">商品管理 + 订单处理 + 用户管理</span>
</div>
<section class="board">
<div class="board-topbar">
<div class="brand-mini">
<div class="brand-seal"></div>
<div>
<strong>铜壶管理系统</strong>
<span>商品、订单、标签、权限统一管理</span>
</div>
</div>
<div class="top-actions">
<div class="searchbox">搜索 SKU / 商品名 / 订单号</div>
<div class="chip brand">待处理订单 12</div>
<div class="chip">管理员 · 张经理</div>
<div class="chip">退出登录</div>
</div>
</div>
<div class="dashboard">
<aside class="sidebar">
<div class="sidebar-head">
<strong>系统导航</strong>
<span>固定左侧目录,保留工作上下文</span>
</div>
<div class="tree-group">
<div class="tree-label">商品目录</div>
<div class="tree-item active">1号普通壶</div>
<div class="tree-sublist">
<div class="tree-subitem current">花纹A</div>
<div class="tree-subitem">花纹B</div>
<div class="tree-subitem">花纹C</div>
</div>
<div class="tree-item">2号锤纹壶</div>
<div class="tree-item">3号福字壶</div>
</div>
<div class="tree-group">
<div class="tree-label">业务模块</div>
<div class="tree-item">订单中心</div>
<div class="tree-item">经营统计</div>
<div class="tree-item">用户管理</div>
<div class="tree-item">宣传物料</div>
</div>
</aside>
<main class="content">
<div class="content-grid">
<div class="title-row">
<div>
<h2 class="page-title">商品中心</h2>
<div class="page-subtitle">以图片浏览效率为主,配合目录树、状态标签和快捷加购操作。</div>
</div>
<div class="action-row">
<div class="button-primary" style="width:auto; padding:12px 18px;">新增商品</div>
</div>
</div>
<div class="toolbar">
<div class="mini-field">关键词花纹A / SKU</div>
<div class="mini-field">状态:可售</div>
<div class="mini-field">类目1号普通壶</div>
<div class="mini-field">价格区间100 - 300</div>
<div class="mini-field">排序:更新时间</div>
<div class="mini-field">重置筛选</div>
</div>
<div class="stat-row">
<div class="stat-card">
<div class="stat-label">当前型号款式数</div>
<div class="stat-value">18</div>
<div class="stat-note">花纹、盖型、表面工艺合并管理</div>
</div>
<div class="stat-card">
<div class="stat-label">可售款式</div>
<div class="stat-value">12</div>
<div class="stat-note">库存充足,可快速下单</div>
</div>
<div class="stat-card">
<div class="stat-label">库存偏少</div>
<div class="stat-value">4</div>
<div class="stat-note">建议优先提醒打包或补货</div>
</div>
<div class="stat-card">
<div class="stat-label">待处理订单</div>
<div class="stat-value">12</div>
<div class="stat-note">标签待下载 5 单</div>
</div>
</div>
<div class="products-layout">
<section class="surface">
<div class="surface-head">
<div>
<h3 class="surface-title">商品卡片墙</h3>
<div class="surface-subtitle">缩略图优先,价格、库存和状态在同一视线内完成识别。</div>
</div>
<div class="chip">管理员可编辑</div>
</div>
<div class="product-grid">
<article class="product-card">
<div class="product-image"></div>
<div class="product-body">
<div class="product-title">
<div>
<p class="product-name">1号普通壶 · 花纹A</p>
<div class="product-meta">SKU TH-001-A</div>
</div>
<span class="status-pill success">可售</span>
</div>
<div class="product-price">
<div class="metric-box">
<div class="metric-label">批发价</div>
<div class="metric-value">198</div>
</div>
<div class="metric-box">
<div class="metric-label">库存</div>
<div class="metric-value">82</div>
</div>
</div>
<div class="product-actions">
<div class="ghost-link">查看详情</div>
<div class="mini-primary">加入订单</div>
</div>
</div>
</article>
<article class="product-card">
<div class="product-image" style="filter:hue-rotate(8deg) saturate(0.95);"></div>
<div class="product-body">
<div class="product-title">
<div>
<p class="product-name">1号普通壶 · 花纹B</p>
<div class="product-meta">SKU TH-001-B</div>
</div>
<span class="status-pill warning">库存少</span>
</div>
<div class="product-price">
<div class="metric-box">
<div class="metric-label">批发价</div>
<div class="metric-value">228</div>
</div>
<div class="metric-box">
<div class="metric-label">库存</div>
<div class="metric-value">9</div>
</div>
</div>
<div class="product-actions">
<div class="ghost-link">查看详情</div>
<div class="mini-primary">加入订单</div>
</div>
</div>
</article>
<article class="product-card">
<div class="product-image" style="filter:hue-rotate(-10deg) saturate(1.08);"></div>
<div class="product-body">
<div class="product-title">
<div>
<p class="product-name">1号普通壶 · 花纹C</p>
<div class="product-meta">SKU TH-001-C</div>
</div>
<span class="status-pill info">库存多</span>
</div>
<div class="product-price">
<div class="metric-box">
<div class="metric-label">批发价</div>
<div class="metric-value">268</div>
</div>
<div class="metric-box">
<div class="metric-label">库存</div>
<div class="metric-value">145</div>
</div>
</div>
<div class="product-actions">
<div class="ghost-link">查看详情</div>
<div class="mini-primary">加入订单</div>
</div>
</div>
</article>
</div>
</section>
<section class="surface">
<div class="surface-head">
<div>
<h3 class="surface-title">订单概览</h3>
<div class="surface-subtitle">打包工用户登录时,这一块将替代部分商品管理操作成为视觉重点。</div>
</div>
<div class="chip success">未完成 8</div>
</div>
<div class="stack">
<div class="order-field">订单号TH20260411-008</div>
<div class="order-field">客户:常州仓储客户</div>
<div class="order-field">总数量36 件</div>
<div class="order-field">总金额7,820</div>
<div class="button-primary" style="width:auto;">继续处理订单</div>
</div>
</section>
</div>
<div class="detail-layout">
<section class="detail-card">
<div class="surface-head">
<div>
<h3 class="surface-title">商品详情页效果</h3>
<div class="surface-subtitle">兼顾管理员编辑态与客户用户只读态。</div>
</div>
<div class="chip">只读 / 可编辑双态</div>
</div>
<div class="read-only">客户用户进入时,这里显示只读查看标识,保存、上传、删除类按钮将自动隐藏。</div>
<div class="detail-form">
<div class="stack">
<div class="mini-field">SKUTH-001-A</div>
<div class="mini-field">名称1号普通壶 · 花纹A</div>
<div class="mini-field">批发价198</div>
<div class="mini-field">库存82</div>
<div class="mini-field">状态:可售</div>
<div class="mini-field">备注:适合常规批发发货</div>
</div>
<div>
<div class="image-stage"></div>
<div class="image-thumbs">
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
<div class="thumb"></div>
</div>
</div>
</div>
</section>
<aside class="order-side">
<div class="surface-head">
<div>
<h3 class="surface-title">订单详情页效果</h3>
<div class="surface-subtitle">突出标签下载与完成订单操作。</div>
</div>
<div class="chip brand">打包工视角</div>
</div>
<div class="line-table">
<div class="table-row header">
<div>款式</div>
<div>SKU</div>
<div>单价</div>
<div>数量</div>
<div>小计</div>
</div>
<div class="table-row">
<div>花纹A</div>
<div>TH-001-A</div>
<div>198</div>
<div>10</div>
<div>1980</div>
</div>
<div class="table-row">
<div>花纹B</div>
<div>TH-001-B</div>
<div>228</div>
<div>8</div>
<div>1824</div>
</div>
<div class="table-row">
<div>花纹C</div>
<div>TH-001-C</div>
<div>268</div>
<div>6</div>
<div>1608</div>
</div>
</div>
<div style="height: 14px;"></div>
<div class="stack">
<div class="button-secondary">下载标签文件</div>
<div class="order-field">快递单号SF8472 6601 2210</div>
<div class="button-primary" style="width:auto;">完成订单</div>
<div class="button-danger">删除未完成订单</div>
</div>
</aside>
</div>
</div>
</main>
</div>
</section>
<div class="footer-note">预览说明:这是一版静态视觉效果稿,用于确认风格、布局与重点操作区域,不代表最终像素级交互实现。</div>
</div>
</body>
</html>