Files
zkxw/docs/ui-demos/index.html
T
2026-06-12 12:32:49 +08:00

371 lines
15 KiB
HTML

<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>中科兴皖 Web 管理端 · UI 方案对比</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
<style>
:root {
--primary: #10b981;
--primary-dark: #059669;
--primary-bg: #ecfdf5;
--text: #1e293b;
--text-muted: #64748b;
--border: #d9e8e2;
--surface: #ffffff;
--bg: #f8fafc;
--radius: 12px;
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: Inter, -apple-system, sans-serif;
font-size: 14px;
line-height: 1.6;
color: var(--text);
background: var(--bg);
min-height: 100vh;
}
.hero {
background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #064e3b 100%);
color: #f8fafc;
padding: 48px 32px 56px;
position: relative;
overflow: hidden;
}
.hero::before {
content: "";
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 60% 50% at 10% 20%, rgba(16,185,129,0.25), transparent),
radial-gradient(ellipse 50% 40% at 90% 80%, rgba(14,165,233,0.15), transparent);
pointer-events: none;
}
.hero-inner { max-width: 1100px; margin: 0 auto; position: relative; z-index: 1; }
.hero-badge {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 4px 12px;
border-radius: 999px;
background: rgba(16,185,129,0.15);
border: 1px solid rgba(16,185,129,0.35);
font-size: 12px;
font-weight: 600;
color: #6ee7b7;
margin-bottom: 16px;
}
.hero h1 { margin: 0 0 12px; font-size: 28px; font-weight: 700; letter-spacing: -0.02em; }
.hero p { margin: 0; max-width: 720px; color: #94a3b8; font-size: 15px; }
.container { max-width: 1100px; margin: 0 auto; padding: 32px 24px 64px; }
.section-title { font-size: 18px; font-weight: 700; margin: 0 0 8px; }
.section-desc { color: var(--text-muted); margin: 0 0 24px; }
.pain-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin-bottom: 40px;
}
@media (max-width: 700px) { .pain-grid { grid-template-columns: 1fr; } }
.pain-card {
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 20px;
}
.pain-card h3 { margin: 0 0 8px; font-size: 14px; font-weight: 600; }
.pain-card p { margin: 0; color: var(--text-muted); font-size: 13px; }
.scheme-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}
@media (max-width: 800px) { .scheme-grid { grid-template-columns: 1fr; } }
.scheme-card {
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius);
overflow: hidden;
transition: box-shadow 0.2s, transform 0.2s;
}
.scheme-card:hover {
box-shadow: 0 8px 24px rgba(15,23,42,0.08);
transform: translateY(-2px);
}
.scheme-preview {
height: 140px;
display: flex;
align-items: stretch;
overflow: hidden;
}
.scheme-preview-a { background: linear-gradient(160deg, #ecfdf5, #f0f9ff); }
.scheme-preview-b { background: linear-gradient(160deg, #0f172a, #1e293b); }
.scheme-preview-c { background: linear-gradient(160deg, #f8fafc, #ecfdf5); }
.scheme-preview-d { background: linear-gradient(160deg, #f0f9ff, #ecfdf5); }
.mini-layout { display: flex; width: 100%; height: 100%; }
.mini-side { width: 28%; background: rgba(255,255,255,0.7); border-right: 1px solid var(--border); }
.mini-side-dark { background: rgba(15,23,42,0.9); border-right: 1px solid #334155; }
.mini-rail { width: 12%; background: #0f172a; }
.mini-panel { width: 22%; background: rgba(255,255,255,0.9); border-right: 1px solid var(--border); }
.mini-main { flex: 1; padding: 12px; display: flex; flex-direction: column; gap: 6px; }
.mini-bar { height: 8px; border-radius: 4px; background: rgba(16,185,129,0.3); }
.mini-bar.short { width: 60%; }
.mini-card { flex: 1; border-radius: 6px; background: rgba(255,255,255,0.8); border: 1px solid var(--border); }
.mini-top { height: 18%; background: rgba(255,255,255,0.9); border-bottom: 1px solid var(--border); }
.scheme-body { padding: 20px; }
.scheme-tag {
display: inline-block;
font-size: 11px;
font-weight: 600;
padding: 2px 8px;
border-radius: 4px;
margin-right: 6px;
margin-bottom: 8px;
}
.tag-tech { background: #dbeafe; color: #1d4ed8; }
.tag-nav { background: #fef3c7; color: #b45309; }
.tag-brand { background: var(--primary-bg); color: var(--primary-dark); }
.scheme-body h2 { margin: 0 0 8px; font-size: 16px; font-weight: 700; }
.scheme-body p { margin: 0 0 16px; color: var(--text-muted); font-size: 13px; }
.scheme-meta { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; font-size: 12px; color: var(--text-muted); }
.scheme-meta span { display: flex; align-items: center; gap: 4px; }
.btn-open {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 8px 16px;
border-radius: 8px;
background: var(--primary);
color: #fff;
text-decoration: none;
font-weight: 600;
font-size: 13px;
transition: background 0.15s;
}
.btn-open:hover { background: var(--primary-dark); }
.compare-table {
width: 100%;
border-collapse: collapse;
margin-top: 40px;
background: var(--surface);
border-radius: var(--radius);
overflow: hidden;
border: 1px solid var(--border);
}
.compare-table th, .compare-table td {
padding: 12px 16px;
text-align: left;
border-bottom: 1px solid var(--border);
font-size: 13px;
}
.compare-table th { background: #f8fafc; font-weight: 600; }
.compare-table tr:last-child td { border-bottom: none; }
.score { font-family: 'JetBrains Mono', monospace; font-weight: 500; }
.score-high { color: var(--primary-dark); }
.footnote {
margin-top: 32px;
padding: 16px 20px;
background: var(--primary-bg);
border: 1px solid rgba(16,185,129,0.25);
border-radius: var(--radius);
font-size: 13px;
color: var(--text-muted);
}
.footnote strong { color: var(--primary-dark); }
</style>
</head>
<body>
<header class="hero">
<div class="hero-inner">
<div class="hero-badge">
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5z"/><path d="M2 17l10 5 10-5"/><path d="M2 12l10 5 10-5"/></svg>
UI-UX-Pro-Max 设计方案
</div>
<h1>中科兴皖 Web 管理端 · 界面升级方案</h1>
<p>针对「界面偏素、科技感不足」与「左侧菜单项过多」两个反馈,基于 UI-UX-Pro-Max 设计系统(Glassmorphism、Data-Dense Dashboard、Bento Grid)生成 4 套可交互 HTML Demo,保留 Fresh Mint 品牌绿 #10b981,探索导航与视觉层次的新方向。</p>
</div>
</header>
<main class="container">
<h2 class="section-title">问题定位</h2>
<p class="section-desc">当前 Fresh Mint 规范强调清爽 B 端风格,在功能模块快速扩张后暴露出两个体验瓶颈。</p>
<div class="pain-grid">
<div class="pain-card">
<h3>视觉层次偏平</h3>
<p>白底 + 细边框 + 单一薄荷绿强调,信息密度高时显得「素」;缺少数据可视化氛围、微光效与空间纵深。</p>
</div>
<div class="pain-card">
<h3>侧栏导航过载</h3>
<p>细胞存储、质检、生产、市场等 10+ 一级模块、60+ 子菜单挤在 220px 侧栏,滚动长、定位难、认知负担大。</p>
</div>
</div>
<h2 class="section-title">四套方案</h2>
<p class="section-desc">点击「打开 Demo」可在浏览器中体验完整交互。建议全屏查看。</p>
<div class="scheme-grid">
<article class="scheme-card">
<div class="scheme-preview scheme-preview-a">
<div class="mini-layout">
<div class="mini-side"></div>
<div class="mini-main">
<div class="mini-bar short"></div>
<div class="mini-card"></div>
</div>
</div>
</div>
<div class="scheme-body">
<span class="scheme-tag tag-tech">科技感</span>
<span class="scheme-tag tag-brand">保留品牌色</span>
<h2>方案 A · 霓虹薄荷玻璃态</h2>
<p>在现有侧栏结构上叠加渐变网格背景、玻璃卡片、数据 KPI 条与微光边框,最小改动提升科技质感。</p>
<div class="scheme-meta">
<span>导航:传统侧栏(增强视觉)</span>
<span>改动量:低</span>
</div>
<a class="btn-open" href="scheme-a-neon-mint-glass.html">打开 Demo →</a>
</div>
</article>
<article class="scheme-card">
<div class="scheme-preview scheme-preview-b">
<div class="mini-layout">
<div class="mini-rail"></div>
<div class="mini-main" style="background:rgba(15,23,42,0.3)">
<div class="mini-bar short" style="background:rgba(16,185,129,0.5)"></div>
<div class="mini-card" style="background:rgba(30,41,59,0.6);border-color:#334155"></div>
</div>
</div>
</div>
<div class="scheme-body">
<span class="scheme-tag tag-nav">导航革新</span>
<span class="scheme-tag tag-tech">命令面板</span>
<h2>方案 B · 图标轨 + 命令搜索</h2>
<p>64px 图标轨仅保留模块入口,按 ⌘K / Ctrl+K 唤起命令面板快速跳转,彻底解决菜单过长问题。</p>
<div class="scheme-meta">
<span>导航:图标轨 + Cmd+K</span>
<span>改动量:中高</span>
</div>
<a class="btn-open" href="scheme-b-command-rail.html">打开 Demo →</a>
</div>
</article>
<article class="scheme-card">
<div class="scheme-preview scheme-preview-c">
<div class="mini-layout">
<div class="mini-rail" style="width:10%"></div>
<div class="mini-panel"></div>
<div class="mini-main">
<div class="mini-bar short"></div>
<div class="mini-card"></div>
</div>
</div>
</div>
<div class="scheme-body">
<span class="scheme-tag tag-nav">导航革新</span>
<span class="scheme-tag tag-brand">双栏分区</span>
<h2>方案 C · 双栏模块导航</h2>
<p>一级模块图标轨 + 可折叠二级面板,选中模块后只展示该域子菜单,兼顾可见性与收纳。</p>
<div class="scheme-meta">
<span>导航:图标轨 + 二级面板</span>
<span>改动量:中</span>
</div>
<a class="btn-open" href="scheme-c-dual-column-nav.html">打开 Demo →</a>
</div>
</article>
<article class="scheme-card">
<div class="scheme-preview scheme-preview-d">
<div class="mini-layout" style="flex-direction:column">
<div class="mini-top"></div>
<div class="mini-main" style="flex-direction:row;gap:6px">
<div class="mini-card" style="flex:1.2"></div>
<div class="mini-card" style="flex:0.8"></div>
</div>
</div>
</div>
<div class="scheme-body">
<span class="scheme-tag tag-nav">顶部 Mega</span>
<span class="scheme-tag tag-tech">Bento 工作台</span>
<h2>方案 D · 顶栏 Mega + Bento 工作台</h2>
<p>顶部水平 Mega 菜单按业务域分组下拉,首页采用 Bento 宫格工作台,侧栏彻底移除。</p>
<div class="scheme-meta">
<span>导航:顶栏 Mega Menu</span>
<span>改动量:高</span>
</div>
<a class="btn-open" href="scheme-d-top-mega-bento.html">打开 Demo(薄荷绿)→</a>
<a class="btn-open" href="scheme-d-top-mega-bento-tech-blue.html" style="margin-left:8px;background:#3b82f6">打开 Demo(科技蓝)→</a>
</div>
</article>
</div>
<table class="compare-table">
<thead>
<tr>
<th>维度</th>
<th>A 玻璃态</th>
<th>B 命令搜索</th>
<th>C 双栏导航</th>
<th>D 顶栏 Mega</th>
</tr>
</thead>
<tbody>
<tr>
<td>科技感提升</td>
<td class="score score-high">★★★★☆</td>
<td class="score score-high">★★★★★</td>
<td class="score">★★★☆☆</td>
<td class="score score-high">★★★★☆</td>
</tr>
<tr>
<td>解决菜单过多</td>
<td class="score">★★☆☆☆</td>
<td class="score score-high">★★★★★</td>
<td class="score score-high">★★★★☆</td>
<td class="score score-high">★★★★☆</td>
</tr>
<tr>
<td>与现有规范兼容</td>
<td class="score score-high">★★★★★</td>
<td class="score">★★★☆☆</td>
<td class="score score-high">★★★★☆</td>
<td class="score">★★★☆☆</td>
</tr>
<tr>
<td>落地改造成本</td>
<td class="score score-high">低</td>
<td class="score">中高</td>
<td class="score">中</td>
<td class="score">高</td>
</tr>
<tr>
<td>推荐场景</td>
<td>渐进式视觉升级</td>
<td>高频操作用户、模块极多</td>
<td>平衡方案,工程已有双栏基础</td>
<td>以工作台为入口的新信息架构</td>
</tr>
</tbody>
</table>
<div class="footnote">
<strong>设计依据:</strong>UI-UX-Pro-Max 推荐 Glassmorphism(毛玻璃纵深)、Data-Dense Dashboard(数据密集面板)、Bento Grid(模块化工作台);品牌主色保持 <code>#10b981</code>,不混用小程序三墙色。当前权威规范仍为 <code>docs/web-admin-ui-spec-fresh-mint.md</code>,本 Demo 仅供选型参考,选定方案后需同步更新 OpenSpec。
</div>
<h2 class="section-title" style="margin-top: 48px">业务页面布局 Demo</h2>
<p class="section-desc">针对具体业务页面的布局选型,独立于上述四套全局导航方案。</p>
<div class="pain-card" style="display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px">
<div>
<h3 style="margin-bottom: 6px">质检工单 · 一行多卡布局</h3>
<p>6 种工单大卡片并排方案(双列 / 三列 / 紧凑 / 横滑 / 色条 / Bento),含入库、出库、临时三个 Tab 预览。</p>
</div>
<a class="btn-open" href="qc-work-order-card-layouts.html">打开 Demo →</a>
</div>
</main>
</body>
</html>