This commit is contained in:
zlwu committed 2026-06-14 09:14:11 +08:00
1 parent 5ad07c8cac
commit a79aee2614
61 files changed
+9220 -9348

No files matched your search

@@ -0,0 +1,45 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>L1 · 精简工作台(现状)</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="ui-richness-shared.css" />
</head>
<body>
<div class="demo-banner">
<div>
<span class="level-tag level-L1">L1 现状</span>
<strong>精简工作台</strong> — 对应当前 <code>console-lite</code>,用户反馈「很素」的典型来源之一
</div>
<a href="ui-richness-index.html">← 返回对比入口</a>
</div>
<div class="page-wrap">
<section class="panel">
<div class="panel-top">
<h2>快速入口</h2>
</div>
<div style="padding:20px 24px 24px">
<p style="margin:0 0 16px;font-size:13px;color:var(--text-muted);line-height:1.5">
详见仓库根目录 <code>.cursorrules</code> 中「页面级 UI 模板(固定五页)」。
</p>
<div style="display:flex;flex-wrap:wrap;gap:12px">
<button class="btn btn-main" type="button">商品单位</button>
<button class="btn btn-main" type="button">用户管理</button>
<button class="btn btn-main" type="button">商品分类</button>
<button class="btn btn-main" type="button">租户管理</button>
<button class="btn btn-main" type="button">客户管理</button>
</div>
</div>
</section>
<p class="dim-note">
<strong>此档缺失:</strong>页头 h1 + 说明、指标卡、预警条、图表、带图标的快捷宫格、待办/动态列表。
一屏只有标题 + 灰色说明 + 五个绿色文字按钮,缺少「在管业务」的仪表盘感。
<br><strong>对比建议:</strong>与 <a href="ui-richness-L3-console-rich.html" style="color:var(--primary-dark)">L3 业务工作台</a> 并排打开。
</p>
</div>
</body>
</html>
@@ -0,0 +1,92 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>L1 · 纯描述列表详情(现状)</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="ui-richness-shared.css" />
<style>
.plain-desc {
width: 100%;
border-collapse: collapse;
font-size: 13px;
}
.plain-desc th, .plain-desc td {
border: 1px solid var(--border);
padding: 10px 14px;
text-align: left;
}
.plain-desc th {
width: 140px;
background: var(--table-head);
color: var(--text-muted);
font-weight: 600;
}
.dialog-mock {
max-width: 720px;
margin: 0 auto;
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius);
box-shadow: 0 8px 32px rgba(15,23,42,.12);
overflow: hidden;
}
.dialog-hd {
padding: 14px 20px;
border-bottom: 1px solid var(--border);
font-size: 16px;
font-weight: 600;
}
.dialog-body { padding: 20px; }
.dialog-ft {
padding: 12px 20px;
border-top: 1px solid var(--border);
background: var(--table-head);
display: flex;
justify-content: flex-end;
gap: 8px;
}
</style>
</head>
<body>
<div class="demo-banner">
<div>
<span class="level-tag level-L1">L1 现状</span>
<strong>纯描述列表详情</strong> — 类似 el-descriptions border 的查看弹窗
</div>
<a href="ui-richness-index.html">← 返回对比入口</a>
</div>
<div class="page-wrap">
<p class="page-desc" style="margin-bottom:20px">模拟「查看客户」弹窗内容区——字段平铺,无首屏 Hero、无分区、状态为纯文字。</p>
<div class="dialog-mock">
<div class="dialog-hd">查看客户</div>
<div class="dialog-body">
<table class="plain-desc">
<tr><th>客户名称</th><td>上海市第一人民医院</td></tr>
<tr><th>客户编码</th><td>CUS-001</td></tr>
<tr><th>客户类型</th><td>医院</td></tr>
<tr><th>状态</th><td>正常</td></tr>
<tr><th>所属区域</th><td>华东 / 上海 / 黄浦</td></tr>
<tr><th>联系人</th><td>张医生</td></tr>
<tr><th>联系电话</th><td>021-63240000</td></tr>
<tr><th>结算方式</th><td>月结</td></tr>
<tr><th>创建时间</th><td>2026-01-10 09:00:00</td></tr>
<tr><th>备注</th><td>重点客户,优先配送</td></tr>
</table>
</div>
<div class="dialog-ft">
<button class="btn btn-ghost" type="button">关闭</button>
</div>
</div>
<p class="dim-note">
<strong>此档问题:</strong>所有字段权重相同,扫读时找不到「这是谁、什么状态」;
状态/类型无 Tag 色;无缩略图/Logo;像 Excel 导出表格。
<br><strong>对比:</strong><a href="ui-richness-L3-detail-rich.html" style="color:var(--primary-dark)">L3 Hero + 分区详情</a>
</p>
</div>
</body>
</html>
@@ -0,0 +1,89 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>L1 · 纯文字 CRUD 列表(现状)</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="ui-richness-shared.css" />
</head>
<body>
<div class="demo-banner">
<div>
<span class="level-tag level-L1">L1 现状</span>
<strong>纯文字 CRUD 列表</strong> — 对应典型主数据页(如单位管理)
</div>
<a href="ui-richness-index.html">← 返回对比入口</a>
</div>
<div class="page-wrap">
<section class="panel">
<div class="panel-top">
<h2>单位列表</h2>
</div>
<div class="filter-block">
<div class="filter-grid" style="grid-template-columns:1fr">
<div class="filter-field">
<label>关键词</label>
<input class="input" placeholder="单位名称/编码" />
</div>
</div>
<div class="filter-actions-row">
<span class="filter-hint">按名称、编码模糊查询。</span>
<div class="filter-actions-end">
<button class="btn btn-ghost" type="button">重置</button>
<button class="btn btn-main" type="button">搜索</button>
</div>
</div>
</div>
<div class="list-toolbar">
<div class="list-toolbar-row">
<span>已选 <span class="sel-num">0</span> 项</span>
<button class="btn btn-main" type="button">新增单位</button>
<button class="btn btn-ghost" type="button">批量删除</button>
</div>
</div>
<div class="list-body">
<table class="data-table">
<thead>
<tr>
<th style="width:48px">☐</th>
<th>序号</th>
<th>单位名称</th>
<th>单位编码</th>
<th>创建时间</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>☐</td><td>1</td><td>千克</td><td>KG</td><td>2026-03-01 10:20:00</td>
<td><button class="btn btn-op" type="button">编辑</button> <button class="btn btn-op" type="button">删除</button></td>
</tr>
<tr>
<td>☐</td><td>2</td><td>克</td><td>G</td><td>2026-03-01 10:21:00</td>
<td><button class="btn btn-op" type="button">编辑</button> <button class="btn btn-op" type="button">删除</button></td>
</tr>
<tr>
<td>☐</td><td>3</td><td>箱</td><td>BOX</td><td>2026-03-02 09:15:00</td>
<td><button class="btn btn-op" type="button">编辑</button> <button class="btn btn-op" type="button">删除</button></td>
</tr>
</tbody>
</table>
<div class="list-pager-bar">共 3 条 · 第 1/1 页</div>
</div>
</section>
<p class="dim-note">
<strong>此档缺失:</strong>页头说明、标题竖条/图标、按钮图标、状态 Tag、复合列(头像/缩略图)。
全页结构正确但视觉锚点少,扫读时每一行看起来一样。
<br><strong>对比建议:</strong>
<a href="ui-richness-L2-list-moderate.html" style="color:var(--primary-dark)">L2 适度增强</a> →
<a href="ui-richness-L3-list-rich.html" style="color:var(--primary-dark)">L3 复合列表</a>
</p>
</div>
</body>
</html>
@@ -0,0 +1,148 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>L2 · 规范内轻增强列表</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="ui-richness-shared.css" />
</head>
<body>
<div class="demo-banner">
<div>
<span class="level-tag level-L2">L2 适度</span>
<strong>规范内轻增强</strong> — 不改列表范式,补齐规范已有要素
</div>
<a href="ui-richness-index.html">← 返回对比入口</a>
</div>
<div class="page-wrap">
<header class="page-head">
<h1>客户管理</h1>
<p class="page-desc">维护客户档案、联系人与结算信息。列表支持按名称、编码、状态筛选;双击行可查看详情。</p>
</header>
<section class="panel">
<div class="panel-top">
<h2 class="title-bar-heading">客户列表</h2>
</div>
<div class="filter-block">
<div class="filter-grid">
<div class="filter-field"><label>关键词</label><input class="input" placeholder="客户名称/编码" /></div>
<div class="filter-field"><label>客户类型</label><select class="select"><option>全部</option><option>医院</option><option>机构</option></select></div>
<div class="filter-field"><label>状态</label><select class="select"><option>全部</option><option>正常</option><option>停用</option></select></div>
<div class="filter-field"><label>所属区域</label><select class="select"><option>全部</option><option>华东 / 上海</option></select></div>
</div>
<div class="filter-actions-row">
<span class="filter-hint">Enter 键可快速查询;区域下拉展示本级名称,表格展示全路径。</span>
<div class="filter-actions-end">
<button class="btn btn-ghost" type="button">
<svg class="ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 12a9 9 0 109-9"/><path d="M3 3v5h5"/></svg>
重置
</button>
<button class="btn btn-main" type="button">
<svg class="ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="8"/><path d="M21 21l-4.35-4.35"/></svg>
搜索
</button>
</div>
</div>
</div>
<div class="list-toolbar">
<div class="list-toolbar-row">
<span>已选 <span class="sel-num">2</span> 项</span>
<button class="btn btn-main" type="button">
<svg class="ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 5v14M5 12h14"/></svg>
新增客户
</button>
<button class="btn btn-ghost" type="button">
<svg class="ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6"/></svg>
批量删除
</button>
<button class="btn btn-ghost" type="button">
<svg class="ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 15V3"/></svg>
导出
</button>
</div>
</div>
<div class="list-body">
<table class="data-table">
<thead>
<tr>
<th style="width:48px">☐</th>
<th>序号</th>
<th>客户名称</th>
<th>客户编码</th>
<th>类型</th>
<th>状态</th>
<th>所属区域</th>
<th>创建时间</th>
<th style="min-width:200px">操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>☑</td><td>1</td><td>上海市第一人民医院</td><td>CUS-001</td>
<td><span class="tag info">医院</span></td>
<td><span class="tag success">正常</span></td>
<td>华东 / 上海 / 黄浦</td><td>2026-01-10 09:00</td>
<td>
<button class="btn btn-op primary" type="button">
<svg class="ic" style="width:12px;height:12px" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>
查看
</button>
<button class="btn btn-op" type="button">
<svg class="ic" style="width:12px;height:12px" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"/><path d="M18.5 2.5a2.12 2.12 0 013 3L12 15l-4 1 1-4 9.5-9.5z"/></svg>
编辑
</button>
</td>
</tr>
<tr>
<td>☑</td><td>2</td><td>合肥兴皖生物</td><td>CUS-002</td>
<td><span class="tag muted">机构</span></td>
<td><span class="tag success">正常</span></td>
<td>华东 / 安徽 / 合肥</td><td>2026-02-05 14:30</td>
<td>
<button class="btn btn-op primary" type="button">
<svg class="ic" style="width:12px;height:12px" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>
查看
</button>
<button class="btn btn-op" type="button">
<svg class="ic" style="width:12px;height:12px" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"/><path d="M18.5 2.5a2.12 2.12 0 013 3L12 15l-4 1 1-4 9.5-9.5z"/></svg>
编辑
</button>
</td>
</tr>
<tr>
<td>☐</td><td>3</td><td>测试客户(停用)</td><td>CUS-099</td>
<td><span class="tag muted">机构</span></td>
<td><span class="tag muted">停用</span></td>
<td>华东 / 江苏 / 南京</td><td>2025-12-01 11:00</td>
<td>
<button class="btn btn-op primary" type="button">
<svg class="ic" style="width:12px;height:12px" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>
查看
</button>
<button class="btn btn-op" type="button">
<svg class="ic" style="width:12px;height:12px" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"/><path d="M18.5 2.5a2.12 2.12 0 013 3L12 15l-4 1 1-4 9.5-9.5z"/></svg>
编辑
</button>
</td>
</tr>
</tbody>
</table>
<div class="list-pager-bar">共 128 条 · 第 1/13 页</div>
</div>
</section>
<p class="dim-note">
<strong>L2 新增:</strong>page-desc、title-bar-heading 竖条、按钮图标、状态/类型 Tag、操作列图标按钮、四列筛选。
仍无头像缩略图/进度条/图表——适合作为<strong>批量 CRUD 页</strong>的默认目标档。
<br><strong>对比:</strong><a href="ui-richness-L1-list-plain.html">L1</a> ·
<a href="ui-richness-L3-list-rich.html" style="color:var(--primary-dark)">L3 复合列表</a>
</p>
</div>
</body>
</html>
@@ -0,0 +1,144 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>L3 · 业务工作台(丰富)</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="ui-richness-shared.css" />
</head>
<body>
<div class="demo-banner">
<div>
<span class="level-tag level-L3">L3 丰富</span>
<strong>业务工作台</strong> — 对齐 Fresh Mint 规范参考版(fresh-mint-green.html 工作台段落)
</div>
<a href="ui-richness-index.html">← 返回对比入口</a>
</div>
<div class="page-wrap">
<header class="page-head">
<h1>工作台</h1>
<p class="page-desc">今日业务概览与待办入口。数据每 5 分钟自动刷新;点击指标卡可跳转对应列表。</p>
</header>
<div class="alert-bar">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>
<div><strong>3 项时效预警:</strong>2 个样本接收超时、1 个质检工单待分配。请优先处理。</div>
</div>
<section class="stats" aria-label="数据概览">
<div class="stat">
<div class="stat-hd"><span class="stat-ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="7" width="18" height="13" rx="2"/><path d="M16 3v4M8 3v4"/></svg></span></div>
<div class="stat-main"><div class="k">今日订单</div><div class="stat-side"><div class="v">186</div><div class="hint">较昨日 +12</div></div></div>
</div>
<div class="stat">
<div class="stat-hd"><span class="stat-ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 000 7h5a3.5 3.5 0 010 7H6"/></svg></span></div>
<div class="stat-main"><div class="k">今日营业额</div><div class="stat-side"><div class="v">¥42.8万</div><div class="hint">较昨日 +6.2%</div></div></div>
</div>
<div class="stat">
<div class="stat-hd"><span class="stat-ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2"/><rect x="8" y="2" width="8" height="4" rx="1"/></svg></span></div>
<div class="stat-main"><div class="k">待处理工单</div><div class="stat-side"><div class="v">24</div><div class="hint">质检 8 · 生产 16</div></div></div>
</div>
<div class="stat warn">
<div class="stat-hd"><span class="stat-ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/></svg></span></div>
<div class="stat-main"><div class="k">待配送</div><div class="stat-side"><div class="v">7</div><div class="hint">30 分钟内需出发</div></div></div>
</div>
<div class="stat">
<div class="stat-hd"><span class="stat-ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg></span></div>
<div class="stat-main"><div class="k">样本在库</div><div class="stat-side"><div class="v">1,024</div><div class="hint">占用率 78%</div></div></div>
</div>
<div class="stat">
<div class="stat-hd"><span class="stat-ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 00-3-3.87M16 3.13a4 4 0 010 7.75"/></svg></span></div>
<div class="stat-main"><div class="k">活跃客户</div><div class="stat-side"><div class="v">89</div><div class="hint">本月有订单</div></div></div>
</div>
</section>
<div class="trend-grid">
<section class="panel">
<div class="panel-top"><h2 class="title-bar-heading">近 30 日营业额趋势</h2></div>
<div class="chart-panel">
<div class="chart-bars" aria-hidden="true">
<div class="chart-bar" style="height:45%"></div>
<div class="chart-bar" style="height:52%"></div>
<div class="chart-bar" style="height:48%"></div>
<div class="chart-bar" style="height:61%"></div>
<div class="chart-bar" style="height:55%"></div>
<div class="chart-bar" style="height:70%"></div>
<div class="chart-bar" style="height:68%"></div>
<div class="chart-bar" style="height:75%"></div>
<div class="chart-bar" style="height:82%"></div>
<div class="chart-bar" style="height:78%"></div>
<div class="chart-bar" style="height:88%"></div>
<div class="chart-bar" style="height:92%"></div>
</div>
</div>
</section>
<section class="panel">
<div class="panel-top"><h2 class="title-bar-heading">近 30 日订单量趋势</h2></div>
<div class="chart-panel">
<div class="chart-bars" aria-hidden="true">
<div class="chart-bar" style="height:38%;opacity:.7"></div>
<div class="chart-bar" style="height:42%;opacity:.7"></div>
<div class="chart-bar" style="height:50%;opacity:.7"></div>
<div class="chart-bar" style="height:47%;opacity:.7"></div>
<div class="chart-bar" style="height:58%;opacity:.7"></div>
<div class="chart-bar" style="height:62%;opacity:.7"></div>
<div class="chart-bar" style="height:60%;opacity:.7"></div>
<div class="chart-bar" style="height:71%;opacity:.7"></div>
<div class="chart-bar" style="height:69%;opacity:.7"></div>
<div class="chart-bar" style="height:76%;opacity:.7"></div>
<div class="chart-bar" style="height:80%;opacity:.7"></div>
<div class="chart-bar" style="height:85%;opacity:.7"></div>
</div>
</div>
</section>
</div>
<section class="panel" style="margin-bottom:16px">
<div class="panel-top">
<h2 class="title-bar-heading">快捷入口</h2>
</div>
<div class="quick-grid">
<a class="quick-card" href="#"><span class="quick-card-ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2"/><rect x="8" y="2" width="8" height="4" rx="1"/></svg></span><span>新建订单</span></a>
<a class="quick-card" href="#"><span class="quick-card-ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 18V6a2 2 0 00-2-2H4a2 2 0 00-2 2v11a1 1 0 001 1h2"/><circle cx="7" cy="18" r="2"/><circle cx="17" cy="18" r="2"/></svg></span><span>配送调度</span></a>
<a class="quick-card" href="#"><span class="quick-card-ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 11l3 3L22 4"/><path d="M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11"/></svg></span><span>待办任务</span></a>
<a class="quick-card" href="#"><span class="quick-card-ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2"/><circle cx="12" cy="7" r="4"/></svg></span><span>客户管理</span></a>
<a class="quick-card" href="#"><span class="quick-card-ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 16V8a2 2 0 00-1-1.73l-7-4a2 2 0 00-2 0l-7 4A2 2 0 003 8v8a2 2 0 001 1.73l7 4a2 2 0 002 0l7-4A2 2 0 0021 16z"/></svg></span><span>样本接收</span></a>
<a class="quick-card" href="#"><span class="quick-card-ic"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="3"/><path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"/></svg></span><span>质检工单</span></a>
</div>
</section>
<section class="panel">
<div class="panel-top">
<h2 class="title-bar-heading">我的待办</h2>
<button class="btn btn-ghost" type="button" style="height:32px;font-size:12px">查看全部</button>
</div>
<table class="data-table">
<thead><tr><th class="cell-left">任务</th><th>类型</th><th>状态</th><th>截止时间</th><th>操作</th></tr></thead>
<tbody>
<tr>
<td class="cell-left"><strong>样本 SP-20260312-001 接收确认</strong><div class="cell-sub">来自:上海市第一人民医院</div></td>
<td><span class="tag info">样本</span></td>
<td><span class="tag warning">待处理</span></td>
<td>今天 18:00</td>
<td><button class="btn btn-op primary" type="button">处理</button></td>
</tr>
<tr>
<td class="cell-left"><strong>质检工单 QC-8842 结果录入</strong><div class="cell-sub">检测项:细胞活性</div></td>
<td><span class="tag muted">质检</span></td>
<td><span class="tag warning">进行中</span></td>
<td>明天 12:00</td>
<td><button class="btn btn-op primary" type="button">处理</button></td>
</tr>
</tbody>
</table>
</section>
<p class="dim-note">
<strong>L3 丰富来源:</strong>指标卡图标区、预警条、趋势图、快捷宫格(图标+文案)、待办副标题——均在 Fresh Mint 规范内,仍保持薄荷绿+Slate 克制配色。
<br><strong>对比:</strong><a href="ui-richness-L1-console-plain.html">L1 精简工作台</a>
</p>
</div>
</body>
</html>
@@ -0,0 +1,116 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>L3 · Hero + 分区详情(丰富)</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="ui-richness-shared.css" />
<style>
.dialog-mock {
max-width: 800px;
margin: 0 auto;
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius);
box-shadow: 0 8px 32px rgba(15,23,42,.12);
overflow: hidden;
}
.dialog-hd {
padding: 14px 20px;
border-bottom: 1px solid var(--border);
background: linear-gradient(135deg, var(--primary-bg) 0%, var(--surface) 100%);
font-size: 16px;
font-weight: 600;
display: flex;
align-items: center;
gap: 8px;
}
.dialog-hd svg { width: 18px; height: 18px; color: var(--primary-dark); }
.dialog-body { padding: 20px; }
.dialog-ft {
padding: 12px 20px;
border-top: 1px solid var(--border);
background: var(--table-head);
display: flex;
justify-content: flex-end;
gap: 8px;
}
</style>
</head>
<body>
<div class="demo-banner">
<div>
<span class="level-tag level-L3">L3 丰富</span>
<strong>Hero + 分区卡片详情</strong> — 规范 view-hero + detail-section
</div>
<a href="ui-richness-index.html">← 返回对比入口</a>
</div>
<div class="page-wrap">
<p class="page-desc" style="margin-bottom:20px">同一「查看客户」弹窗的 L3 版:首屏 Hero 摘要 + 分区字段,状态用 Tag。</p>
<div class="dialog-mock">
<div class="dialog-hd">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>
查看客户
</div>
<div class="dialog-body">
<div class="view-hero">
<img class="view-hero-img" src="https://picsum.photos/seed/hospital/144/144" alt="" />
<div class="view-hero-main">
<h2>上海市第一人民医院</h2>
<div class="view-hero-tags">
<span class="tag success">正常</span>
<span class="tag info">医院</span>
<span class="tag muted">月结</span>
</div>
<p class="view-hero-meta">CUS-001 · 华东 / 上海 / 黄浦 · 创建于 2026-01-10</p>
</div>
</div>
<div class="detail-section">
<div class="detail-section-hd">联系信息</div>
<div class="detail-grid">
<div class="detail-item"><div class="lbl">联系人</div><div class="val">张医生</div></div>
<div class="detail-item"><div class="lbl">联系电话</div><div class="val">021-63240000</div></div>
<div class="detail-item"><div class="lbl">联系邮箱</div><div class="val">zhang@hospital.sh.cn</div></div>
<div class="detail-item"><div class="lbl">详细地址</div><div class="val">上海市黄浦区武进路 85 号</div></div>
</div>
</div>
<div class="detail-section">
<div class="detail-section-hd">业务信息</div>
<div class="detail-grid">
<div class="detail-item"><div class="lbl">结算方式</div><div class="val">月结(每月 25 日)</div></div>
<div class="detail-item"><div class="lbl">信用额度</div><div class="val" style="color:var(--primary-dark);font-weight:700">¥500,000</div></div>
<div class="detail-item"><div class="lbl">累计订单</div><div class="val">128 笔</div></div>
<div class="detail-item"><div class="lbl">最近下单</div><div class="val">2026-03-12 08:30</div></div>
</div>
</div>
<div class="detail-section">
<div class="detail-section-hd">备注</div>
<div style="padding:12px 14px;font-size:13px;color:var(--text-muted)">重点客户,优先配送。节假日需提前 2 天预约。</div>
</div>
</div>
<div class="dialog-ft">
<button class="btn btn-ghost" type="button">
<svg class="ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 6L6 18M6 6l12 12"/></svg>
关闭
</button>
<button class="btn btn-main" type="button">
<svg class="ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"/><path d="M18.5 2.5a2.12 2.12 0 013 3L12 15l-4 1 1-4 9.5-9.5z"/></svg>
编辑
</button>
</div>
</div>
<p class="dim-note">
<strong>L3 详情新增:</strong>渐变弹窗头、view-hero(缩略图+标题+Tag+元信息)、detail-section 分区、金额高亮、底栏图标按钮。
首屏 3 秒内能回答「是谁、什么状态、在哪」。
<br><strong>对比:</strong><a href="ui-richness-L1-detail-plain.html">L1 纯描述列表</a>
</p>
</div>
</body>
</html>
+230
View File
@@ -0,0 +1,230 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>L3 · 复合信息列表(丰富)</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="ui-richness-shared.css" />
<style>
.sparkline {
display: flex;
align-items: flex-end;
gap: 2px;
height: 24px;
justify-content: center;
}
.sparkline span {
width: 4px;
border-radius: 2px;
background: var(--primary);
opacity: 0.75;
}
.amount { color: var(--primary-dark); font-weight: 700; font-variant-numeric: tabular-nums; }
</style>
</head>
<body>
<div class="demo-banner">
<div>
<span class="level-tag level-L3">L3 丰富</span>
<strong>复合信息列表</strong> — 订单/客户/商品类高频页的「丰富」目标样态
</div>
<a href="ui-richness-index.html">← 返回对比入口</a>
</div>
<div class="page-wrap">
<header class="page-head">
<h1>订单管理</h1>
<p class="page-desc">复合列展示客户、商品与履约进度;金额列高亮;近 7 日趋势用 sparkline 辅助扫读。</p>
</header>
<!-- 顶部轻量指标条(列表页也可有) -->
<section class="stats" style="grid-template-columns:repeat(4,1fr);margin-bottom:16px">
<div class="stat" style="min-height:88px">
<div class="stat-main" style="align-items:center">
<div class="k">今日订单</div>
<div class="stat-side"><div class="v" style="font-size:20px">186</div></div>
</div>
</div>
<div class="stat" style="min-height:88px">
<div class="stat-main" style="align-items:center">
<div class="k">进行中</div>
<div class="stat-side"><div class="v" style="font-size:20px;color:var(--warn)">42</div></div>
</div>
</div>
<div class="stat" style="min-height:88px">
<div class="stat-main" style="align-items:center">
<div class="k">已完成</div>
<div class="stat-side"><div class="v" style="font-size:20px">128</div></div>
</div>
</div>
<div class="stat" style="min-height:88px">
<div class="stat-main" style="align-items:center">
<div class="k">今日成交额</div>
<div class="stat-side"><div class="v" style="font-size:20px">¥42.8万</div></div>
</div>
</div>
</section>
<section class="panel">
<div class="panel-top">
<h2 class="title-bar-heading">
<svg class="panel-ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2"/><rect x="8" y="2" width="8" height="4" rx="1"/></svg>
订单列表
</h2>
</div>
<div class="filter-block">
<div class="filter-grid">
<div class="filter-field"><label>关键词</label><input class="input" placeholder="订单号/客户" /></div>
<div class="filter-field"><label>状态</label><select class="select"><option>全部</option></select></div>
<div class="filter-field"><label>区域</label><select class="select"><option>全部</option></select></div>
<div class="filter-field"><label>下单时间</label><input class="input" type="date" /></div>
</div>
<div class="filter-actions-row">
<span class="filter-hint">复合列适合订单、客户、商品、工单等实体型列表。</span>
<div class="filter-actions-end">
<button class="btn btn-ghost" type="button"><svg class="ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 12a9 9 0 109-9"/><path d="M3 3v5h5"/></svg>重置</button>
<button class="btn btn-main" type="button"><svg class="ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="8"/><path d="M21 21l-4.35-4.35"/></svg>搜索</button>
</div>
</div>
</div>
<div class="list-toolbar">
<div class="list-toolbar-row">
<span>已选 <span class="sel-num">1</span> 项</span>
<button class="btn btn-main" type="button"><svg class="ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 5v14M5 12h14"/></svg>新建订单</button>
<button class="btn btn-ghost" type="button"><svg class="ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 15V3"/></svg>导出</button>
</div>
</div>
<div class="list-body">
<table class="data-table">
<thead>
<tr>
<th style="width:40px">☐</th>
<th class="cell-left" style="min-width:200px">客户</th>
<th class="cell-left" style="min-width:220px">商品</th>
<th>订单号</th>
<th>状态</th>
<th>履约进度</th>
<th>金额</th>
<th>近7日</th>
<th style="min-width:160px">操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>☑</td>
<td class="cell-left">
<div class="cell-composite">
<span class="avatar">上</span>
<div><div>上海市第一人民医院</div><div class="cell-sub">CUS-001 · 华东/上海</div></div>
</div>
</td>
<td class="cell-left">
<div class="cell-composite">
<img class="thumb" src="https://picsum.photos/seed/prod-a/80/80" alt="" />
<div><div>鲜切草莓 500g</div><div class="cell-sub">SKU-10021 · × 20 箱</div></div>
</div>
</td>
<td><a href="#" style="color:var(--primary-dark);font-weight:600;text-decoration:none">ORD-20260312-0086</a></td>
<td><span class="tag warning">配送中</span></td>
<td>
<div class="progress-wrap">
<div class="progress-bar"><div class="progress-fill" style="width:72%"></div></div>
<div class="progress-label">72% · 已出库</div>
</div>
</td>
<td><span class="amount">¥12,800.00</span></td>
<td>
<div class="sparkline" aria-hidden="true">
<span style="height:40%"></span><span style="height:55%"></span><span style="height:48%"></span><span style="height:70%"></span><span style="height:62%"></span><span style="height:80%"></span><span style="height:75%"></span>
</div>
</td>
<td>
<button class="btn btn-op primary" type="button"><svg class="ic" style="width:12px;height:12px" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>查看</button>
<button class="btn btn-op" type="button">跟踪</button>
</td>
</tr>
<tr>
<td>☐</td>
<td class="cell-left">
<div class="cell-composite">
<span class="avatar">合</span>
<div><div>合肥兴皖生物</div><div class="cell-sub">CUS-002 · 华东/安徽</div></div>
</div>
</td>
<td class="cell-left">
<div class="cell-composite">
<img class="thumb" src="https://picsum.photos/seed/prod-b/80/80" alt="" />
<div><div>有机菠菜 300g</div><div class="cell-sub">SKU-10035 · × 50 袋</div></div>
</div>
</td>
<td><a href="#" style="color:var(--primary-dark);font-weight:600;text-decoration:none">ORD-20260311-0042</a></td>
<td><span class="tag success">已完成</span></td>
<td>
<div class="progress-wrap">
<div class="progress-bar"><div class="progress-fill" style="width:100%"></div></div>
<div class="progress-label">100% · 已签收</div>
</div>
</td>
<td><span class="amount">¥6,450.00</span></td>
<td>
<div class="sparkline" aria-hidden="true">
<span style="height:30%"></span><span style="height:35%"></span><span style="height:42%"></span><span style="height:38%"></span><span style="height:50%"></span><span style="height:45%"></span><span style="height:48%"></span>
</div>
</td>
<td>
<button class="btn btn-op primary" type="button"><svg class="ic" style="width:12px;height:12px" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>查看</button>
<button class="btn btn-op" type="button">复制</button>
</td>
</tr>
<tr>
<td>☐</td>
<td class="cell-left">
<div class="cell-composite">
<span class="avatar">南</span>
<div><div>南京测试客户</div><div class="cell-sub">CUS-099 · 华东/江苏</div></div>
</div>
</td>
<td class="cell-left">
<div class="cell-composite">
<img class="thumb" src="https://picsum.photos/seed/prod-c/80/80" alt="" />
<div><div>精品苹果 2kg</div><div class="cell-sub">SKU-10008 · × 10 箱</div></div>
</div>
</td>
<td><a href="#" style="color:var(--primary-dark);font-weight:600;text-decoration:none">ORD-20260310-0019</a></td>
<td><span class="tag danger">异常</span></td>
<td>
<div class="progress-wrap">
<div class="progress-bar"><div class="progress-fill" style="width:35%;background:var(--warn)"></div></div>
<div class="progress-label" style="color:var(--warn)">35% · 缺货待补</div>
</div>
</td>
<td><span class="amount">¥3,200.00</span></td>
<td>
<div class="sparkline" aria-hidden="true">
<span style="height:60%;background:var(--warn)"></span><span style="height:45%;background:var(--warn)"></span><span style="height:30%;background:var(--warn)"></span><span style="height:25%;background:var(--warn)"></span><span style="height:20%;background:var(--warn)"></span><span style="height:18%;background:var(--warn)"></span><span style="height:15%;background:var(--warn)"></span>
</div>
</td>
<td>
<button class="btn btn-op primary" type="button"><svg class="ic" style="width:12px;height:12px" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>查看</button>
<button class="btn btn-op" type="button">处理</button>
</td>
</tr>
</tbody>
</table>
<div class="list-pager-bar">共 186 条 · 第 1/19 页</div>
</div>
</section>
<p class="dim-note">
<strong>L3 列表新增:</strong>顶部迷你指标条、客户头像+副标题、商品缩略图、进度条、金额高亮、sparkline 趋势列。
信息密度更高,但仍在 Fresh Mint 色板内——不是「加更多颜色」,而是<strong>加更多形态</strong>。
<br><strong>对比:</strong><a href="ui-richness-L1-list-plain.html">L1</a> ·
<a href="ui-richness-L2-list-moderate.html">L2</a>
</p>
</div>
</body>
</html>
@@ -0,0 +1,46 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>P01 · 空状态 + 引导</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="ui-richness-shared.css" />
</head>
<body>
<div class="demo-banner">
<div><span class="level-tag level-PAT">模式 P01</span> <strong>空状态 + 引导</strong> — 无数据时不显示空白表格</div>
<a href="ui-richness-index.html">← 返回对比入口</a>
</div>
<div class="page-wrap">
<header class="page-head">
<h1>质检工单</h1>
<p class="page-desc">列表为空时展示引导空态,而非 0 行的 el-table。</p>
</header>
<div class="compare-row">
<div class="compare-col plain">
<h3>❌ 素:空白表格</h3>
<section class="panel">
<div class="panel-top"><h2>工单列表</h2></div>
<table class="data-table"><thead><tr><th>工单号</th><th>状态</th></tr></thead><tbody><tr><td colspan="2" style="padding:32px;color:var(--text-muted)">暂无数据</td></tr></tbody></table>
</section>
</div>
<div class="compare-col rich">
<h3>✓ 丰:引导空态</h3>
<section class="panel">
<div class="panel-top"><h2 class="title-bar-heading">工单列表</h2></div>
<div class="empty-state">
<div class="empty-ic">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M9 11l3 3L22 4"/><path d="M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11"/></svg>
</div>
<h3>暂无质检工单</h3>
<p>样本接收完成后可在此创建质检工单。您也可以从样本列表批量发起。</p>
<button class="btn btn-main" type="button"><svg class="ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 5v14M5 12h14"/></svg>新建工单</button>
</div>
</section>
</div>
</div>
<p class="dim-note"><strong>适用:</strong>任意 CRUD 列表首次进入、筛选无结果。Vue 侧用 <code>el-empty</code> + 自定义插槽,或 v-if 切换整块空态。</p>
</div>
</body>
</html>
@@ -0,0 +1,70 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>P02 · 卡片网格视图</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="ui-richness-shared.css" />
</head>
<body>
<div class="demo-banner">
<div><span class="level-tag level-PAT">模式 P02</span> <strong>卡片网格视图</strong> — 表格之外的实体展示</div>
<a href="ui-richness-index.html">← 返回对比入口</a>
</div>
<div class="page-wrap">
<header class="page-head">
<h1>商品管理</h1>
<p class="page-desc">工具栏提供「列表 / 卡片」切换;卡片视图用封面 + Tag + 价格强化实体感。</p>
</header>
<section class="panel">
<div class="panel-top">
<h2 class="title-bar-heading">商品卡片</h2>
<div style="display:flex;gap:6px">
<button class="btn btn-ghost" type="button" style="height:32px;font-size:12px">列表</button>
<button class="btn btn-main" type="button" style="height:32px;font-size:12px">卡片</button>
</div>
</div>
<div class="card-grid">
<article class="entity-card">
<div class="entity-card-cover"><img src="https://picsum.photos/seed/p1/400/240" alt="" /></div>
<div class="entity-card-body">
<h3 class="entity-card-title">鲜切草莓 500g</h3>
<div class="entity-card-meta">SKU-10021 · 水果 / 浆果</div>
<div style="display:flex;gap:6px;margin-bottom:8px"><span class="tag success">上架</span><span class="tag muted">库存 128</span></div>
<div class="entity-card-ft"><span style="color:var(--primary-dark);font-weight:700">¥28.00</span><button class="btn btn-op primary" type="button">查看</button></div>
</div>
</article>
<article class="entity-card">
<div class="entity-card-cover"><img src="https://picsum.photos/seed/p2/400/240" alt="" /></div>
<div class="entity-card-body">
<h3 class="entity-card-title">有机菠菜 300g</h3>
<div class="entity-card-meta">SKU-10035 · 蔬菜 / 叶菜</div>
<div style="display:flex;gap:6px;margin-bottom:8px"><span class="tag success">上架</span><span class="tag warning">库存 12</span></div>
<div class="entity-card-ft"><span style="color:var(--primary-dark);font-weight:700">¥6.50</span><button class="btn btn-op primary" type="button">查看</button></div>
</div>
</article>
<article class="entity-card">
<div class="entity-card-cover"><img src="https://picsum.photos/seed/p3/400/240" alt="" /></div>
<div class="entity-card-body">
<h3 class="entity-card-title">精品苹果 2kg</h3>
<div class="entity-card-meta">SKU-10008 · 水果 / 苹果</div>
<div style="display:flex;gap:6px;margin-bottom:8px"><span class="tag muted">下架</span><span class="tag muted">库存 0</span></div>
<div class="entity-card-ft"><span style="color:var(--primary-dark);font-weight:700">¥32.00</span><button class="btn btn-op primary" type="button">查看</button></div>
</div>
</article>
<article class="entity-card">
<div class="entity-card-cover" style="border:2px dashed var(--border);background:var(--primary-bg)">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="var(--primary-dark)" stroke-width="2"><path d="M12 5v14M5 12h14"/></svg>
</div>
<div class="entity-card-body" style="text-align:center;padding:24px">
<h3 class="entity-card-title">新增商品</h3>
<p class="entity-card-meta">点击创建新商品</p>
</div>
</article>
</div>
</section>
<p class="dim-note"><strong>适用:</strong>商品、设备、工艺路线、SOP 文档等「有封面/图标」的实体。不必全站卡片化,可作为视图切换选项。</p>
</div>
</body>
</html>
@@ -0,0 +1,66 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>P03 · 时间线 / 操作动态</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="ui-richness-shared.css" />
</head>
<body>
<div class="demo-banner">
<div><span class="level-tag level-PAT">模式 P03</span> <strong>时间线</strong> — 流转记录、审批日志、配送跟踪</div>
<a href="ui-richness-index.html">← 返回对比入口</a>
</div>
<div class="page-wrap">
<header class="page-head">
<h1>订单详情 · 流转记录</h1>
<p class="page-desc">详情弹窗或侧栏中用时间线替代纯文字日志列表。</p>
</header>
<div class="compare-row">
<div class="compare-col plain">
<h3>❌ 素:纯文字日志表</h3>
<section class="panel">
<table class="data-table">
<thead><tr><th class="cell-left">时间</th><th class="cell-left">操作</th><th>操作人</th></tr></thead>
<tbody>
<tr><td class="cell-left">03-12 14:30</td><td class="cell-left">已签收</td><td>张配送</td></tr>
<tr><td class="cell-left">03-12 10:15</td><td class="cell-left">开始配送</td><td>张配送</td></tr>
<tr><td class="cell-left">03-12 08:00</td><td class="cell-left">仓库出库</td><td>李仓管</td></tr>
</tbody>
</table>
</section>
</div>
<div class="compare-col rich">
<h3>✓ 丰:图标时间线</h3>
<section class="panel">
<div class="panel-top"><h2 class="title-bar-heading">流转记录</h2></div>
<div class="timeline">
<div class="timeline-item">
<span class="timeline-dot"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 11.08V12a10 10 0 11-5.93-9.14"/><path d="M22 4L12 14.01l-3-3"/></svg></span>
<div class="timeline-body"><strong>客户已签收</strong><p>签收人:王主任 · 备注:货品完好</p></div>
<span class="timeline-time">03-12 14:30</span>
</div>
<div class="timeline-item">
<span class="timeline-dot"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 18V6a2 2 0 00-2-2H4a2 2 0 00-2 2v11a1 1 0 001 1h2"/><circle cx="7" cy="18" r="2"/><circle cx="17" cy="18" r="2"/></svg></span>
<div class="timeline-body"><strong>配送员已出发</strong><p>张配送 · 沪A·12345 · 预计 14:00 送达</p></div>
<span class="timeline-time">03-12 10:15</span>
</div>
<div class="timeline-item">
<span class="timeline-dot"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 16V8a2 2 0 00-1-1.73l-7-4a2 2 0 00-2 0l-7 4A2 2 0 003 8v8a2 2 0 001 1.73l7 4a2 2 0 002 0l7-4A2 2 0 0021 16z"/></svg></span>
<div class="timeline-body"><strong>仓库已出库</strong><p>李仓管 · 出库单 OUT-8842 · 20 箱</p></div>
<span class="timeline-time">03-12 08:00</span>
</div>
<div class="timeline-item">
<span class="timeline-dot warn"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2v4M12 18v4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M2 12h4M18 12h4"/></svg></span>
<div class="timeline-body"><strong>订单已创建</strong><p>系统自动 · 来源:客户 APP 下单</p></div>
<span class="timeline-time">03-11 22:18</span>
</div>
</div>
</section>
</div>
</div>
<p class="dim-note"><strong>适用:</strong>订单跟踪、审批流、样本流转、操作审计。节点图标按事件类型映射(完成=绿、异常=琥珀)。</p>
</div>
</body>
</html>
+62
View File
@@ -0,0 +1,62 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>P04 · 看板 Kanban</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="ui-richness-shared.css" />
</head>
<body>
<div class="demo-banner">
<div><span class="level-tag level-PAT">模式 P04</span> <strong>看板 Kanban</strong> — 按状态分列的任务/工单视图</div>
<a href="ui-richness-index.html">← 返回对比入口</a>
</div>
<div class="page-wrap">
<header class="page-head">
<h1>生产工单看板</h1>
<p class="page-desc">比纯表格更直观展示各阶段积压;列头计数 + 卡片摘要 + 负责人。</p>
</header>
<section class="stats" style="grid-template-columns:repeat(4,1fr);margin-bottom:16px">
<div class="stat" style="min-height:72px"><div class="stat-main"><div class="k">待排产</div><div class="stat-side"><div class="v" style="font-size:18px">8</div></div></div></div>
<div class="stat" style="min-height:72px"><div class="stat-main"><div class="k">生产中</div><div class="stat-side"><div class="v" style="font-size:18px;color:var(--warn)">12</div></div></div></div>
<div class="stat" style="min-height:72px"><div class="stat-main"><div class="k">待质检</div><div class="stat-side"><div class="v" style="font-size:18px">5</div></div></div></div>
<div class="stat" style="min-height:72px"><div class="stat-main"><div class="k">已完成</div><div class="stat-side"><div class="v" style="font-size:18px">36</div></div></div></div>
</section>
<section class="panel">
<div class="panel-top">
<h2 class="title-bar-heading">工单看板</h2>
<button class="btn btn-main" type="button"><svg class="ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 5v14M5 12h14"/></svg>新建工单</button>
</div>
<div class="kanban">
<div class="kanban-col">
<div class="kanban-col-hd">待排产 <span class="kanban-count">3</span></div>
<div class="kanban-list">
<div class="kanban-card"><div class="kanban-card-id">WO-20260312-001</div><div class="kanban-card-title">细胞扩增 · 批次 B-884</div><div class="kanban-card-ft"><span class="tag muted">中</span><span class="avatar" style="width:24px;height:24px;font-size:10px">李</span></div></div>
<div class="kanban-card"><div class="kanban-card-id">WO-20260312-003</div><div class="kanban-card-title">冻存入库 · 样本 SP-991</div><div class="kanban-card-ft"><span class="tag warning">高</span><span class="avatar" style="width:24px;height:24px;font-size:10px">王</span></div></div>
</div>
</div>
<div class="kanban-col">
<div class="kanban-col-hd">生产中 <span class="kanban-count">2</span></div>
<div class="kanban-list">
<div class="kanban-card"><div class="kanban-card-id">WO-20260311-018</div><div class="kanban-card-title">传代培养 · 第 3 代</div><div class="progress-bar" style="margin-bottom:8px"><div class="progress-fill" style="width:60%"></div></div><div class="kanban-card-ft"><span class="tag success">进行中</span><span class="avatar" style="width:24px;height:24px;font-size:10px">张</span></div></div>
</div>
</div>
<div class="kanban-col">
<div class="kanban-col-hd">待质检 <span class="kanban-count">2</span></div>
<div class="kanban-list">
<div class="kanban-card"><div class="kanban-card-id">WO-20260310-042</div><div class="kanban-card-title">活性检测 · QC 项 3/5</div><div class="kanban-card-ft"><span class="tag info">待检</span><span class="avatar" style="width:24px;height:24px;font-size:10px">赵</span></div></div>
</div>
</div>
<div class="kanban-col">
<div class="kanban-col-hd">已完成 <span class="kanban-count">4</span></div>
<div class="kanban-list">
<div class="kanban-card" style="opacity:.85"><div class="kanban-card-id">WO-20260309-007</div><div class="kanban-card-title">制剂分装 · 已完成</div><div class="kanban-card-ft"><span class="tag success">通过</span><span class="avatar" style="width:24px;height:24px;font-size:10px">陈</span></div></div>
</div>
</div>
</div>
</section>
<p class="dim-note"><strong>适用:</strong>工单、待办、审批任务。可与列表视图并存;拖拽可选做二期。</p>
</div>
</body>
</html>
@@ -0,0 +1,69 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>P05 · 分区表单</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="ui-richness-shared.css" />
</head>
<body>
<div class="demo-banner">
<div><span class="level-tag level-PAT">模式 P05</span> <strong>分区表单</strong> — 长表单拆成带图标的分区卡片</div>
<a href="ui-richness-index.html">← 返回对比入口</a>
</div>
<div class="page-wrap">
<header class="page-head">
<h1>新增客户</h1>
<p class="page-desc">弹窗/页面内表单按业务语义分区,每区有图标标题,避免「一张大白板」。</p>
</header>
<div class="compare-row">
<div class="compare-col plain">
<h3>❌ 素:平铺字段</h3>
<section class="panel"><div class="panel-top"><h2>客户信息</h2></div>
<div style="padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px">
<div class="form-field"><label>客户名称</label><input class="input" /></div>
<div class="form-field"><label>客户编码</label><input class="input" /></div>
<div class="form-field"><label>联系人</label><input class="input" /></div>
<div class="form-field"><label>电话</label><input class="input" /></div>
<div class="form-field"><label>结算方式</label><input class="input" /></div>
<div class="form-field"><label>信用额度</label><input class="input" /></div>
</div>
</section>
</div>
<div class="compare-col rich">
<h3>✓ 丰:分区卡片</h3>
<section class="panel"><div class="panel-top"><h2 class="title-bar-heading">客户信息</h2></div>
<div class="form-sections">
<div class="form-section-card">
<div class="form-section-hd"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>基本信息</div>
<div class="form-section-bd">
<div class="form-field"><label>客户名称</label><input class="input" value="上海市第一人民医院" /></div>
<div class="form-field"><label>客户编码</label><input class="input" value="CUS-001" /></div>
<div class="form-field"><label>客户类型</label><select class="select"><option>医院</option></select></div>
<div class="form-field"><label>状态</label><select class="select"><option>正常</option></select></div>
</div>
</div>
<div class="form-section-card">
<div class="form-section-hd"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72c.127.96.361 1.903.7 2.81a2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0122 16.92z"/></svg>联系信息</div>
<div class="form-section-bd">
<div class="form-field"><label>联系人</label><input class="input" value="张医生" /></div>
<div class="form-field"><label>联系电话</label><input class="input" value="021-63240000" /></div>
<div class="form-field full"><label>详细地址</label><input class="input" value="上海市黄浦区武进路 85 号" /></div>
</div>
</div>
<div class="form-section-card">
<div class="form-section-hd"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 000 7h5a3.5 3.5 0 010 7H6"/></svg>结算信息</div>
<div class="form-section-bd">
<div class="form-field"><label>结算方式</label><select class="select"><option>月结</option></select></div>
<div class="form-field"><label>信用额度(元)</label><input class="input" value="500000" /></div>
</div>
</div>
</div>
</section>
</div>
</div>
<p class="dim-note"><strong>适用:</strong>新增/编辑弹窗字段 &gt; 8 个时。对齐规范 <code>label-position="top"</code> + 分区,与 <code>dialog-form-layout</code> 滚动配合。</p>
</div>
</body>
</html>
@@ -0,0 +1,54 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>P06 · 商品媒体画廊</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="ui-richness-shared.css" />
</head>
<body>
<div class="demo-banner">
<div><span class="level-tag level-PAT">模式 P06</span> <strong>商品媒体画廊</strong> — 主图 + 缩略图 + Hero 信息</div>
<a href="ui-richness-index.html">← 返回对比入口</a>
</div>
<div class="page-wrap">
<header class="page-head">
<h1>商品查看</h1>
<p class="page-desc">对齐规范:轮播 4:3、缩略图 1:1;详情页媒体区 + view-hero 组合。</p>
</header>
<section class="panel">
<div class="panel-top"><h2 class="title-bar-heading">商品详情</h2></div>
<div class="view-hero" style="margin:16px;border-radius:var(--radius)">
<img class="view-hero-img" src="https://picsum.photos/seed/hero/144/144" alt="" />
<div class="view-hero-main">
<h2>鲜切草莓 500g</h2>
<div class="view-hero-tags"><span class="tag success">上架</span><span class="tag muted">SKU-10021</span><span class="tag info">水果 / 浆果</span></div>
<p class="view-hero-meta">¥28.00 / 箱 · 库存 128 · 单位:箱</p>
</div>
</div>
<div class="media-gallery">
<div class="media-main"><img src="https://picsum.photos/seed/main/800/600" alt="主图 4:3" /></div>
<div class="media-thumbs">
<div class="media-thumb is-active"><img src="https://picsum.photos/seed/t1/200/200" alt="" /></div>
<div class="media-thumb"><img src="https://picsum.photos/seed/t2/200/200" alt="" /></div>
<div class="media-thumb"><img src="https://picsum.photos/seed/t3/200/200" alt="" /></div>
<div class="media-thumb" style="display:flex;align-items:center;justify-content:center;background:var(--primary-bg);border:2px dashed rgba(16,185,129,.35)">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--primary-dark)" stroke-width="2"><path d="M12 5v14M5 12h14"/></svg>
</div>
</div>
</div>
<div class="detail-section" style="margin:0 16px 16px">
<div class="detail-section-hd">规格参数</div>
<div class="detail-grid">
<div class="detail-item"><div class="lbl">净含量</div><div class="val">500g</div></div>
<div class="detail-item"><div class="lbl">保质期</div><div class="val">7 天(冷藏)</div></div>
<div class="detail-item"><div class="lbl">产地</div><div class="val">云南</div></div>
<div class="detail-item"><div class="lbl">储存条件</div><div class="val">0–4℃</div></div>
</div>
</div>
</section>
<p class="dim-note"><strong>适用:</strong>商品管理查看弹窗、样本/附件预览。已有 <code>product-view-dialog</code> 可在此基础上强化媒体区布局。</p>
</div>
</body>
</html>
@@ -0,0 +1,64 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>P07 · 树 + 详情分栏</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="ui-richness-shared.css" />
</head>
<body>
<div class="demo-banner">
<div><span class="level-tag level-PAT">模式 P07</span> <strong>树 + 详情分栏</strong> — 分类/组织/库位主数据</div>
<a href="ui-richness-index.html">← 返回对比入口</a>
</div>
<div class="page-wrap">
<header class="page-head">
<h1>商品分类</h1>
<p class="page-desc">左侧树选中高亮 + 右侧详情/子列表,比「整页一张树表」更有空间层次。</p>
</header>
<section class="panel">
<div class="panel-top">
<h2 class="title-bar-heading">分类管理</h2>
<button class="btn btn-main" type="button"><svg class="ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 5v14M5 12h14"/></svg>新增子分类</button>
</div>
<div class="split-layout">
<div class="split-tree">
<div class="split-tree-hd">分类树</div>
<div class="tree-node">全部商品</div>
<div class="tree-node is-active">水果</div>
<div class="tree-node child">├ 浆果</div>
<div class="tree-node child">├ 柑橘</div>
<div class="tree-node child">└ 热带水果</div>
<div class="tree-node">蔬菜</div>
<div class="tree-node child">├ 叶菜</div>
<div class="tree-node child">└ 根茎</div>
<div class="tree-node">肉禽蛋</div>
</div>
<div class="split-detail">
<div class="view-hero" style="margin:0 0 14px;padding:14px">
<span class="avatar" style="width:48px;height:48px;border-radius:10px;font-size:18px">水</span>
<div class="view-hero-main">
<h2 style="font-size:16px;margin:0 0 6px">水果</h2>
<div class="view-hero-tags"><span class="tag success">启用</span><span class="tag muted">CAT-001</span></div>
<p class="view-hero-meta">全路径:全部商品 / 水果 · 排序 10 · 3 个子分类 · 28 个商品</p>
</div>
</div>
<div class="detail-section" style="margin:0">
<div class="detail-section-hd">子分类</div>
<table class="data-table">
<thead><tr><th class="cell-left">名称</th><th>编码</th><th>商品数</th><th>状态</th></tr></thead>
<tbody>
<tr><td class="cell-left">浆果</td><td>CAT-001-01</td><td>12</td><td><span class="tag success">启用</span></td></tr>
<tr><td class="cell-left">柑橘</td><td>CAT-001-02</td><td>8</td><td><span class="tag success">启用</span></td></tr>
<tr><td class="cell-left">热带水果</td><td>CAT-001-03</td><td>8</td><td><span class="tag success">启用</span></td></tr>
</tbody>
</table>
</div>
</div>
</div>
</section>
<p class="dim-note"><strong>适用:</strong>商品分类、组织架构、存储库位。可与现有树形页 <code>/#/demo/category</code> 对照升级。</p>
</div>
</body>
</html>
@@ -0,0 +1,49 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>P08 · 流程步骤条</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="ui-richness-shared.css" />
</head>
<body>
<div class="demo-banner">
<div><span class="level-tag level-PAT">模式 P08</span> <strong>流程步骤条</strong> — 订单/样本/工单生命周期</div>
<a href="ui-richness-index.html">← 返回对比入口</a>
</div>
<div class="page-wrap">
<header class="page-head">
<h1>样本流转 · SP-20260312-001</h1>
<p class="page-desc">详情页顶部步骤条展示当前阶段,下方内容随阶段切换——比纯状态字段更直观。</p>
</header>
<section class="panel">
<div class="steps">
<div class="step done"><span class="step-ic">✓</span><span class="step-label">采集</span><span class="step-sub">03-10 完成</span></div>
<div class="step done"><span class="step-ic">✓</span><span class="step-label">运输</span><span class="step-sub">03-11 到达</span></div>
<div class="step active"><span class="step-ic">3</span><span class="step-label">接收</span><span class="step-sub">进行中</span></div>
<div class="step"><span class="step-ic">4</span><span class="step-label">质检</span><span class="step-sub">待执行</span></div>
<div class="step"><span class="step-ic">5</span><span class="step-label">入库</span><span class="step-sub">待执行</span></div>
</div>
<div style="padding:16px 20px 20px">
<div class="alert-bar" style="margin-bottom:16px">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/></svg>
<div><strong>当前阶段:样本接收</strong> — 请在 2 小时内完成外观检查与信息核对。</div>
</div>
<div class="detail-section" style="margin:0">
<div class="detail-section-hd">接收检查项</div>
<table class="data-table">
<thead><tr><th class="cell-left">检查项</th><th>结果</th><th>检查人</th><th>时间</th></tr></thead>
<tbody>
<tr><td class="cell-left">外包装完好</td><td><span class="tag success">通过</span></td><td>李接收</td><td>14:20</td></tr>
<tr><td class="cell-left">温度记录符合</td><td><span class="tag success">通过</span></td><td>李接收</td><td>14:22</td></tr>
<tr><td class="cell-left">标签信息一致</td><td><span class="tag warning">待确认</span></td><td>—</td><td>—</td></tr>
</tbody>
</table>
</div>
</div>
</section>
<p class="dim-note"><strong>适用:</strong>样本流转、订单履约、审批流程。Vue 侧可用 <code>el-steps</code> 对齐 Mint 色链,或自定义步骤条。</p>
</div>
</body>
</html>
@@ -0,0 +1,65 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>P09 · 同屏 Before/After</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="ui-richness-shared.css" />
</head>
<body>
<div class="demo-banner">
<div><span class="level-tag level-PAT">模式 P09</span> <strong>同屏 Before/After</strong> — 同一业务块改造前后并排</div>
<a href="ui-richness-index.html">← 返回对比入口</a>
</div>
<div class="page-wrap">
<header class="page-head">
<h1>列表页 · 局部改造对照</h1>
<p class="page-desc">不用换整页,逐项叠加丰富化元素——适合评审「改哪几块最有效」。</p>
</header>
<h2 style="font-size:15px;margin:0 0 12px">① 页头区</h2>
<div class="compare-row">
<div class="compare-col plain">
<section class="panel"><div class="panel-top"><h2>客户列表</h2></div><div style="padding:16px;color:var(--text-muted);font-size:13px">(无 page-desc,直接进筛选)</div></section>
</div>
<div class="compare-col rich">
<header class="page-head" style="margin:0 0 12px"><h1 style="font-size:17px">客户管理</h1><p class="page-desc">维护客户档案与结算信息,双击行查看详情。</p></header>
<section class="panel"><div class="panel-top"><h2 class="title-bar-heading">客户列表</h2></div></section>
</div>
</div>
<h2 style="font-size:15px;margin:24px 0 12px">② 工具栏</h2>
<div class="compare-row">
<div class="compare-col plain">
<section class="panel"><div class="list-toolbar"><div class="list-toolbar-row"><button class="btn btn-main" type="button">新增</button><button class="btn btn-ghost" type="button">删除</button></div></div></section>
</div>
<div class="compare-col rich">
<section class="panel"><div class="list-toolbar"><div class="list-toolbar-row"><span>已选 <span class="sel-num">2</span> 项</span><button class="btn btn-main" type="button"><svg class="ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 5v14M5 12h14"/></svg>新增客户</button><button class="btn btn-ghost" type="button"><svg class="ic" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 15V3"/></svg>导出</button></div></div></section>
</div>
</div>
<h2 style="font-size:15px;margin:24px 0 12px">③ 表格行</h2>
<div class="compare-row">
<div class="compare-col plain">
<section class="panel"><table class="data-table"><thead><tr><th>客户名称</th><th>状态</th><th>操作</th></tr></thead><tbody><tr><td>上海市第一人民医院</td><td>正常</td><td><button class="btn btn-op" type="button">查看</button></td></tr></tbody></table></section>
</div>
<div class="compare-col rich">
<section class="panel"><table class="data-table"><thead><tr><th class="cell-left">客户</th><th>状态</th><th>操作</th></tr></thead><tbody><tr><td class="cell-left"><div class="cell-composite"><span class="avatar">上</span><div><div>上海市第一人民医院</div><div class="cell-sub">CUS-001</div></div></div></td><td><span class="tag success">正常</span></td><td><button class="btn btn-op primary" type="button"><svg class="ic" style="width:12px;height:12px" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/></svg>查看</button></td></tr></tbody></table></section>
</div>
</div>
<h2 style="font-size:15px;margin:24px 0 12px">④ 详情首屏</h2>
<div class="compare-row">
<div class="compare-col plain">
<section class="panel"><table class="data-table"><tr><th style="width:100px;text-align:left;background:var(--table-head)">名称</th><td class="cell-left">上海市第一人民医院</td></tr><tr><th style="text-align:left;background:var(--table-head)">状态</th><td class="cell-left">正常</td></tr></table></section>
</div>
<div class="compare-col rich">
<section class="panel"><div class="view-hero" style="margin:12px"><span class="avatar" style="width:56px;height:56px;border-radius:10px;font-size:20px">上</span><div class="view-hero-main"><h2 style="font-size:16px">上海市第一人民医院</h2><div class="view-hero-tags"><span class="tag success">正常</span><span class="tag info">医院</span></div><p class="view-hero-meta">CUS-001 · 华东/上海/黄浦</p></div></div></section>
</div>
</div>
<p class="dim-note"><strong>评审用法:</strong>和产品/用户逐项勾选「要哪几项」——通常 ①+②+Tag 是 L2 最低配;③ 复合列视业务选做;④ 详情 Hero 用于查看弹窗。</p>
</div>
</body>
</html>
+291
View File
@@ -0,0 +1,291 @@
<!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>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<style>
:root {
--primary: #10b981;
--primary-dark: #059669;
--primary-bg: #ecfdf5;
--text: #1e293b;
--text-muted: #64748b;
--border: #d9e8e2;
--surface: #fff;
--radius: 10px;
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: Inter, -apple-system, sans-serif;
font-size: 14px;
line-height: 1.5;
color: var(--text);
background: #f8fafc;
}
.hero {
padding: 40px 24px 32px;
background: linear-gradient(135deg, #ecfdf5 0%, #fff 60%);
border-bottom: 1px solid var(--border);
}
.hero h1 { margin: 0 0 8px; font-size: 28px; letter-spacing: -0.02em; }
.hero p { margin: 0; max-width: 720px; color: var(--text-muted); font-size: 15px; }
.wrap { max-width: 1100px; margin: 0 auto; padding: 32px 24px 48px; }
h2 { font-size: 18px; margin: 0 0 16px; }
.grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
gap: 16px;
margin-bottom: 32px;
}
.card {
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 18px 20px;
box-shadow: 0 1px 3px rgba(0,0,0,.05);
display: flex;
flex-direction: column;
gap: 10px;
}
.card-head { display: flex; align-items: center; gap: 10px; }
.level {
font-size: 11px;
font-weight: 700;
padding: 3px 10px;
border-radius: 999px;
letter-spacing: 0.03em;
}
.L1 { background: #e2e8f0; color: #475569; }
.L2 { background: #d1fae5; color: #047857; }
.L3 { background: #10b981; color: #fff; }
.card h3 { margin: 0; font-size: 16px; }
.card p { margin: 0; font-size: 13px; color: var(--text-muted); flex: 1; }
.card a {
display: inline-flex;
align-items: center;
gap: 6px;
align-self: flex-start;
padding: 8px 14px;
border-radius: 8px;
background: var(--primary);
color: #fff;
text-decoration: none;
font-weight: 600;
font-size: 13px;
}
.card a.secondary {
background: var(--surface);
color: var(--primary-dark);
border: 1px solid var(--border);
}
table {
width: 100%;
border-collapse: collapse;
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius);
overflow: hidden;
font-size: 13px;
}
th, td {
padding: 10px 14px;
text-align: center;
border-bottom: 1px solid var(--border);
}
th {
background: #f8fafc;
font-weight: 600;
color: var(--text-muted);
font-size: 12px;
}
td:first-child, th:first-child { text-align: left; }
.yes { color: var(--primary-dark); font-weight: 700; }
.no { color: #94a3b8; }
.partial { color: var(--text-muted); }
.tip {
margin-top: 24px;
padding: 14px 16px;
border-radius: var(--radius);
border: 1px solid var(--border);
background: var(--primary-bg);
font-size: 13px;
color: #065f46;
}
.links-row { display: flex; flex-wrap: wrap; gap: 8px; }
</style>
</head>
<body>
<header class="hero">
<div class="wrap" style="padding:0">
<h1>Web 管理端 · UI 丰富度对比 Demo</h1>
<p>
基于 Fresh Mint 规范与当前 <code>web-admin</code> 现状,提供 L1(现状素)→ L2(适度增强)→ L3(规范内丰富)三档样稿。
用浏览器直接打开各 HTML 文件即可对比。建议先并排打开 L1 与 L3,感受差异。
</p>
</div>
</header>
<main class="wrap">
<h2>工作台 / 首页</h2>
<div class="grid">
<article class="card">
<div class="card-head">
<span class="level L1">L1 现状</span>
<h3>精简工作台</h3>
</div>
<p>对应当前 <code>console-lite</code>:仅标题 + 说明文字 + 纯文字按钮,无统计、无图表、无快捷卡片。</p>
<a href="ui-richness-L1-console-plain.html">打开 Demo →</a>
</article>
<article class="card">
<div class="card-head">
<span class="level L3">L3 丰富</span>
<h3>业务工作台</h3>
</div>
<p>规范参考版:预警条 + 6 张指标卡(含图标)+ 双列趋势图 + 快捷入口宫格 + 待办列表。</p>
<a href="ui-richness-L3-console-rich.html">打开 Demo →</a>
</article>
</div>
<h2>业务列表页</h2>
<div class="grid">
<article class="card">
<div class="card-head">
<span class="level L1">L1 现状</span>
<h3>纯文字 CRUD 列表</h3>
</div>
<p>对应典型主数据页:普通 h2 标题、纯文字列、无 Tag、无缩略图/头像、操作按钮无图标。</p>
<a href="ui-richness-L1-list-plain.html">打开 Demo →</a>
</article>
<article class="card">
<div class="card-head">
<span class="level L2">L2 适度</span>
<h3>规范内轻增强</h3>
</div>
<p>仍保持列表范式,但补齐:绿色竖条标题、面板图标、按钮图标、状态 Tag、页头说明——改动小、收益明显。</p>
<a href="ui-richness-L2-list-moderate.html">打开 Demo →</a>
</article>
<article class="card">
<div class="card-head">
<span class="level L3">L3 丰富</span>
<h3>复合信息列表</h3>
</div>
<p>在 L2 基础上增加:客户头像+副标题、商品缩略图、进度条、金额高亮、迷你趋势 sparkline 列。</p>
<a href="ui-richness-L3-list-rich.html">打开 Demo →</a>
</article>
</div>
<h2>详情 / 查看态</h2>
<div class="grid">
<article class="card">
<div class="card-head">
<span class="level L1">L1 现状</span>
<h3>纯描述列表</h3>
</div>
<p>类似 <code>el-descriptions border</code>:字段名+值平铺,无首屏 Hero、无分区卡片。</p>
<a href="ui-richness-L1-detail-plain.html">打开 Demo →</a>
</article>
<article class="card">
<div class="card-head">
<span class="level L3">L3 丰富</span>
<h3>Hero + 分区卡片</h3>
</div>
<p>规范 <code>view-hero</code> + <code>detail-section</code>:首屏摘要、Tag 状态、分区折叠感、关键字段视觉分组。</p>
<a href="ui-richness-L3-detail-rich.html">打开 Demo →</a>
</article>
</div>
<h2>丰富化模式样例(按场景)</h2>
<p style="margin:-8px 0 16px;font-size:13px;color:var(--text-muted)">
以下每个 Demo 聚焦一种「如何让界面更丰富」的手法,可直接对照业务场景选用。
</p>
<div class="grid">
<article class="card">
<div class="card-head"><span class="level" style="background:#6366f1;color:#eef2ff">模式</span><h3>空状态 + 引导</h3></div>
<p>列表无数据时:插画区 + 说明 + 主行动按钮,避免空白表格的冷感。</p>
<a href="ui-richness-P01-empty-state.html">打开 Demo →</a>
</article>
<article class="card">
<div class="card-head"><span class="level" style="background:#6366f1;color:#eef2ff">模式</span><h3>卡片网格视图</h3></div>
<p>商品/设备/工单等实体:表格之外的卡片视图,封面图 + Tag + 底部操作。</p>
<a href="ui-richness-P02-card-grid.html">打开 Demo →</a>
</article>
<article class="card">
<div class="card-head"><span class="level" style="background:#6366f1;color:#eef2ff">模式</span><h3>时间线 / 操作动态</h3></div>
<p>订单跟踪、审批记录、样本流转:节点图标 + 竖线 + 时间戳。</p>
<a href="ui-richness-P03-timeline.html">打开 Demo →</a>
</article>
<article class="card">
<div class="card-head"><span class="level" style="background:#6366f1;color:#eef2ff">模式</span><h3>看板 Kanban</h3></div>
<p>工单/任务按状态分列:列头计数 + 卡片摘要 + 负责人头像。</p>
<a href="ui-richness-P04-kanban.html">打开 Demo →</a>
</article>
<article class="card">
<div class="card-head"><span class="level" style="background:#6366f1;color:#eef2ff">模式</span><h3>分区表单</h3></div>
<p>长表单拆成带图标的分区卡片(基本信息 / 联系 / 结算),降低「一张大白板」感。</p>
<a href="ui-richness-P05-form-sections.html">打开 Demo →</a>
</article>
<article class="card">
<div class="card-head"><span class="level" style="background:#6366f1;color:#eef2ff">模式</span><h3>商品媒体画廊</h3></div>
<p>详情/编辑页:主图 4:3 + 缩略图网格 + Hero 信息区,适合商品/样本类。</p>
<a href="ui-richness-P06-product-media.html">打开 Demo →</a>
</article>
<article class="card">
<div class="card-head"><span class="level" style="background:#6366f1;color:#eef2ff">模式</span><h3>树 + 详情分栏</h3></div>
<p>分类/组织/库位:左侧树选中高亮 + 右侧详情卡片,比纯树表更有层次。</p>
<a href="ui-richness-P07-tree-split.html">打开 Demo →</a>
</article>
<article class="card">
<div class="card-head"><span class="level" style="background:#6366f1;color:#eef2ff">模式</span><h3>流程步骤条</h3></div>
<p>订单/样本/工单生命周期:顶部步骤条展示当前阶段,下方详情联动。</p>
<a href="ui-richness-P08-workflow-steps.html">打开 Demo →</a>
</article>
<article class="card">
<div class="card-head"><span class="level" style="background:#6366f1;color:#eef2ff">模式</span><h3>同屏 Before/After</h3></div>
<p>左素右丰并排对比:同一业务块(筛选区、工具栏、表格行)的改造前后。</p>
<a href="ui-richness-P09-side-by-side.html">打开 Demo →</a>
</article>
</div>
<h2>维度对照表</h2>
<table>
<thead>
<tr>
<th>视觉维度</th>
<th>L1 现状</th>
<th>L2 适度</th>
<th>L3 丰富</th>
</tr>
</thead>
<tbody>
<tr><td>页头说明(page-desc)</td><td class="no">✗</td><td class="yes">✓</td><td class="yes">✓</td></tr>
<tr><td>面板标题竖条 / 图标</td><td class="no">✗</td><td class="yes">✓</td><td class="yes">✓</td></tr>
<tr><td>按钮前缀图标</td><td class="no">✗</td><td class="yes">✓</td><td class="yes">✓</td></tr>
<tr><td>状态 Tag 标签</td><td class="no">纯文字</td><td class="yes">el-tag 语义色</td><td class="yes">✓</td></tr>
<tr><td>统计指标卡</td><td class="no">✗</td><td class="partial">可选条带</td><td class="yes">✓ 含图标</td></tr>
<tr><td>图表 / 趋势</td><td class="no">✗</td><td class="no">✗</td><td class="yes">✓</td></tr>
<tr><td>复合列(头像/缩略图)</td><td class="no">✗</td><td class="no">✗</td><td class="yes">✓</td></tr>
<tr><td>进度 / 迷你图</td><td class="no">✗</td><td class="no">✗</td><td class="yes">✓</td></tr>
<tr><td>详情 Hero 首屏</td><td class="no">✗</td><td class="no">✗</td><td class="yes">✓</td></tr>
<tr><td>快捷入口宫格</td><td class="no">✗</td><td class="no">✗</td><td class="yes">✓</td></tr>
<tr><td>符合 Fresh Mint 克制配色</td><td class="yes">✓</td><td class="yes">✓</td><td class="yes">✓</td></tr>
</tbody>
</table>
<div class="tip">
<strong>如何选档?</strong>
L2 适合批量改造现有 CRUD 页(成本低、规范合规);
L3 适合工作台、订单/工单/客户等高频页(信息密度高、业务感强)。
不建议为了「不素」而引入高饱和多色或 Tab 图标——与现有规范冲突。
</div>
<p style="margin-top:24px;font-size:13px;color:var(--text-muted)">
权威参考:<a href="../fresh-mint-green.html" style="color:var(--primary-dark)">fresh-mint-green.html</a>
· 规范文档:<code>docs/web-admin-ui-spec-fresh-mint.md</code>
</p>
</main>
</body>
</html>
+862
View File
@@ -0,0 +1,862 @@
/* UI 丰富度对比 Demo · 共享样式(Fresh Mint Token) */
:root {
--primary: #10b981;
--primary-dark: #059669;
--primary-bg: #ecfdf5;
--text: #1e293b;
--text-muted: #64748b;
--border: #d9e8e2;
--bg-page: #fefefe;
--surface: #ffffff;
--table-head: #f8fafc;
--row-alt: #fafafa;
--row-hover: #f1f5f9;
--shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
--radius: 10px;
--content-padding: 24px;
--warn: #d97706;
--warn-bg: #fffbeb;
--danger: #dc2626;
--danger-bg: #fef2f2;
}
* { box-sizing: border-box; }
body {
margin: 0;
min-height: 100vh;
font-family: Inter, -apple-system, sans-serif;
font-size: 14px;
line-height: 1.5;
color: var(--text);
background: var(--bg-page);
}
/* 顶部说明条(每个 demo 页) */
.demo-banner {
position: sticky;
top: 0;
z-index: 100;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 10px 20px;
background: #0f172a;
color: #e2e8f0;
font-size: 13px;
}
.demo-banner strong { color: #6ee7b7; font-weight: 600; }
.demo-banner a {
color: #a7f3d0;
text-decoration: none;
font-weight: 600;
}
.demo-banner a:hover { text-decoration: underline; }
.demo-banner .level-tag {
display: inline-flex;
align-items: center;
padding: 2px 10px;
border-radius: 999px;
font-size: 11px;
font-weight: 700;
letter-spacing: 0.02em;
}
.level-L1 { background: #334155; color: #cbd5e1; }
.level-L2 { background: #065f46; color: #a7f3d0; }
.level-L3 { background: #047857; color: #ecfdf5; }
.page-wrap {
max-width: 1280px;
margin: 0 auto;
padding: var(--content-padding);
}
.page-head { margin-bottom: 16px; }
.page-head h1 {
margin: 0 0 4px;
font-size: 20px;
font-weight: 700;
letter-spacing: -0.02em;
}
.page-desc {
margin: 0;
color: var(--text-muted);
font-size: 13px;
line-height: 1.45;
max-width: 640px;
}
/* 标题竖条(规范 title-bar-heading) */
.title-bar-heading {
margin: 0;
font-size: 14px;
font-weight: 600;
display: flex;
align-items: center;
gap: 8px;
}
.title-bar-heading::before {
content: "";
width: 3px;
height: 16px;
border-radius: 2px;
background: var(--primary);
flex-shrink: 0;
}
.panel {
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius);
box-shadow: var(--shadow);
overflow: hidden;
}
.panel-top {
padding: 10px 16px;
border-bottom: 1px solid var(--border);
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
}
.panel-top h2 {
margin: 0;
font-size: 14px;
font-weight: 600;
display: flex;
align-items: center;
gap: 8px;
}
.panel-ic {
width: 18px;
height: 18px;
color: var(--primary-dark);
flex-shrink: 0;
}
.filter-block {
padding: 12px 16px 10px;
border-bottom: 1px solid var(--border);
}
.filter-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px 14px;
margin-bottom: 10px;
}
@media (max-width: 900px) {
.filter-grid { grid-template-columns: repeat(2, 1fr); }
}
.filter-field label {
display: block;
font-size: 11px;
font-weight: 500;
color: var(--text-muted);
margin-bottom: 4px;
}
.input, .select {
width: 100%;
height: 36px;
padding: 0 12px;
border: 1px solid var(--border);
border-radius: 8px;
font-size: 14px;
font-family: inherit;
color: var(--text);
background: var(--surface);
}
.input:focus, .select:focus {
outline: none;
border-color: var(--primary);
box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
}
.filter-actions-row {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 10px;
}
.filter-hint {
margin: 0;
font-size: 11px;
color: var(--text-muted);
}
.filter-actions-end { display: flex; gap: 8px; }
.list-toolbar {
padding: 10px 16px;
border-bottom: 1px solid var(--border);
background: var(--table-head);
}
.list-toolbar-row {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px;
}
.sel-num { color: var(--primary-dark); font-weight: 700; }
.btn {
height: 36px;
padding: 0 14px;
border-radius: 8px;
font-size: 14px;
font-weight: 600;
font-family: inherit;
cursor: pointer;
border: 1px solid var(--border);
background: var(--surface);
color: var(--text);
display: inline-flex;
align-items: center;
gap: 6px;
}
.btn-main {
background: var(--primary);
border-color: var(--primary);
color: #fff;
}
.btn-ghost { background: var(--surface); }
.btn-op {
height: 28px;
padding: 0 10px;
font-size: 12px;
border-radius: 6px;
}
.btn-op.primary {
background: var(--primary-bg);
border-color: rgba(16, 185, 129, 0.3);
color: var(--primary-dark);
}
.ic { width: 16px; height: 16px; flex-shrink: 0; }
.list-body { padding: 0; }
.data-table {
width: 100%;
border-collapse: collapse;
font-size: 13px;
}
.data-table th {
padding: 10px 12px;
text-align: center;
font-weight: 600;
font-size: 12px;
color: var(--text-muted);
background: var(--table-head);
border-bottom: 1px solid var(--border);
}
.data-table td {
padding: 10px 12px;
text-align: center;
border-bottom: 1px solid var(--border);
}
.data-table tbody tr:nth-child(even) { background: var(--row-alt); }
.data-table tbody tr:hover { background: var(--row-hover); }
.data-table .cell-left { text-align: left; }
.list-pager-bar {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 8px;
padding: 10px 16px;
border-top: 1px solid var(--border);
font-size: 13px;
color: var(--text-muted);
}
.tag {
display: inline-flex;
align-items: center;
padding: 2px 8px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
line-height: 1.4;
}
.tag.success { background: var(--primary-bg); color: var(--primary-dark); }
.tag.warning { background: var(--warn-bg); color: var(--warn); }
.tag.danger { background: var(--danger-bg); color: var(--danger); }
.tag.muted { background: var(--table-head); color: var(--text-muted); }
.tag.info { background: #eff6ff; color: #2563eb; }
/* 统计卡 */
.stats {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 12px;
margin-bottom: 16px;
}
.stat {
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 12px 14px;
box-shadow: var(--shadow);
display: flex;
flex-direction: column;
gap: 8px;
min-height: 108px;
}
.stat-hd { display: flex; }
.stat-ic {
width: 44px;
height: 44px;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
background: var(--primary-bg);
color: var(--primary-dark);
border: 1px solid rgba(16, 185, 129, 0.12);
}
.stat-ic svg { width: 24px; height: 24px; }
.stat-main {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 10px;
flex: 1;
}
.stat .k { font-size: 14px; font-weight: 600; margin: 0; }
.stat-side { text-align: right; margin-left: auto; }
.stat .v { font-size: 22px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; }
.stat .hint { font-size: 11px; color: var(--text-muted); margin-top: 4px; }
.stat.warn .stat-ic { background: var(--warn-bg); border-color: rgba(217, 119, 6, 0.2); color: var(--warn); }
.stat.warn .v, .stat.warn .hint { color: var(--warn); }
.alert-bar {
display: flex;
align-items: flex-start;
gap: 10px;
padding: 10px 14px;
margin-bottom: 16px;
border-radius: var(--radius);
border: 1px solid #fde68a;
background: var(--warn-bg);
font-size: 13px;
color: #92400e;
}
.alert-bar svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 1px; color: var(--warn); }
/* 快捷入口 */
.quick-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
gap: 12px;
padding: 20px 24px 24px;
}
.quick-card {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
padding: 16px 12px;
border: 1px solid var(--border);
border-radius: var(--radius);
background: var(--surface);
cursor: pointer;
transition: border-color 0.15s, background 0.15s;
text-decoration: none;
color: var(--text);
}
.quick-card:hover {
border-color: var(--primary);
background: var(--primary-bg);
}
.quick-card-ic {
width: 40px;
height: 40px;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
background: var(--primary-bg);
color: var(--primary-dark);
}
.quick-card-ic svg { width: 22px; height: 22px; }
.quick-card span { font-size: 13px; font-weight: 600; }
/* 图表占位 */
.chart-panel { padding: 16px; }
.chart-panel h3 {
margin: 0 0 12px;
font-size: 14px;
font-weight: 600;
}
.chart-bars {
display: flex;
align-items: flex-end;
gap: 6px;
height: 120px;
padding-top: 8px;
}
.chart-bar {
flex: 1;
min-width: 0;
border-radius: 4px 4px 0 0;
background: linear-gradient(180deg, var(--primary) 0%, rgba(16, 185, 129, 0.35) 100%);
opacity: 0.85;
}
.trend-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
margin-bottom: 16px;
}
@media (max-width: 900px) {
.trend-grid { grid-template-columns: 1fr; }
}
/* 复合列 */
.cell-composite {
display: flex;
align-items: center;
gap: 10px;
text-align: left;
}
.avatar {
width: 32px;
height: 32px;
border-radius: 50%;
background: var(--primary-bg);
color: var(--primary-dark);
font-size: 13px;
font-weight: 700;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.thumb {
width: 40px;
height: 40px;
border-radius: 8px;
object-fit: cover;
flex-shrink: 0;
background: var(--row-alt);
}
.cell-sub { font-size: 11px; color: var(--text-muted); margin-top: 2px; }
.progress-wrap { min-width: 100px; }
.progress-bar {
height: 6px;
border-radius: 999px;
background: var(--row-hover);
overflow: hidden;
}
.progress-fill {
height: 100%;
border-radius: 999px;
background: var(--primary);
}
.progress-label { font-size: 11px; color: var(--text-muted); margin-top: 4px; }
/* 详情 Hero */
.view-hero {
display: flex;
flex-wrap: wrap;
gap: 16px;
padding: 16px;
margin-bottom: 16px;
border-radius: var(--radius);
border: 1px solid var(--border);
background: linear-gradient(135deg, var(--primary-bg) 0%, var(--surface) 55%);
}
.view-hero-img {
width: 72px;
height: 72px;
border-radius: 10px;
object-fit: cover;
border: 1px solid var(--border);
}
.view-hero-main h2 { margin: 0 0 8px; font-size: 18px; font-weight: 700; }
.view-hero-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.view-hero-meta { margin: 0; font-size: 13px; color: var(--text-muted); }
.detail-section {
margin-bottom: 12px;
border: 1px solid var(--border);
border-radius: var(--radius);
overflow: hidden;
}
.detail-section-hd {
padding: 10px 14px;
background: var(--table-head);
border-bottom: 1px solid var(--border);
font-size: 13px;
font-weight: 600;
}
.detail-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 0;
}
.detail-item {
padding: 10px 14px;
border-bottom: 1px solid var(--border);
border-right: 1px solid var(--border);
}
.detail-item:nth-child(2n) { border-right: none; }
.detail-item .lbl { font-size: 11px; color: var(--text-muted); margin-bottom: 4px; }
.detail-item .val { font-size: 14px; font-weight: 500; }
.dim-note {
margin: 16px 0 0;
padding: 12px 14px;
border-radius: var(--radius);
border: 1px dashed var(--border);
background: var(--table-head);
font-size: 12px;
color: var(--text-muted);
line-height: 1.6;
}
.dim-note strong { color: var(--text); }
.level-PAT {
background: #6366f1;
color: #eef2ff;
}
/* 空状态 */
.empty-state {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 48px 24px;
text-align: center;
}
.empty-ic {
width: 72px;
height: 72px;
border-radius: 16px;
display: flex;
align-items: center;
justify-content: center;
background: var(--primary-bg);
color: var(--primary-dark);
margin-bottom: 16px;
border: 1px dashed rgba(16, 185, 129, 0.35);
}
.empty-ic svg { width: 36px; height: 36px; }
.empty-state h3 { margin: 0 0 8px; font-size: 16px; }
.empty-state p { margin: 0 0 16px; max-width: 360px; color: var(--text-muted); font-size: 13px; }
/* 卡片网格列表 */
.card-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
gap: 14px;
padding: 16px;
}
.entity-card {
border: 1px solid var(--border);
border-radius: var(--radius);
background: var(--surface);
overflow: hidden;
transition: border-color 0.15s, box-shadow 0.15s;
}
.entity-card:hover {
border-color: rgba(16, 185, 129, 0.45);
box-shadow: 0 4px 12px rgba(16, 185, 129, 0.08);
}
.entity-card-cover {
height: 120px;
background: linear-gradient(135deg, var(--primary-bg), #f8fafc);
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
.entity-card-cover img {
width: 100%;
height: 100%;
object-fit: cover;
}
.entity-card-body { padding: 14px; }
.entity-card-title { margin: 0 0 6px; font-size: 15px; font-weight: 600; }
.entity-card-meta { font-size: 12px; color: var(--text-muted); margin-bottom: 10px; }
.entity-card-ft {
display: flex;
align-items: center;
justify-content: space-between;
padding-top: 10px;
border-top: 1px solid var(--border);
}
/* 时间线 / 动态 */
.timeline { padding: 16px 20px; }
.timeline-item {
display: flex;
gap: 14px;
padding-bottom: 18px;
position: relative;
}
.timeline-item:not(:last-child)::before {
content: "";
position: absolute;
left: 15px;
top: 32px;
bottom: 0;
width: 2px;
background: var(--border);
}
.timeline-dot {
width: 32px;
height: 32px;
border-radius: 50%;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
background: var(--primary-bg);
color: var(--primary-dark);
border: 2px solid var(--surface);
box-shadow: 0 0 0 1px var(--border);
z-index: 1;
}
.timeline-dot svg { width: 14px; height: 14px; }
.timeline-dot.warn { background: var(--warn-bg); color: var(--warn); }
.timeline-body { flex: 1; min-width: 0; }
.timeline-body strong { display: block; font-size: 13px; margin-bottom: 4px; }
.timeline-body p { margin: 0; font-size: 12px; color: var(--text-muted); }
.timeline-time { font-size: 11px; color: var(--text-muted); white-space: nowrap; }
/* 看板 */
.kanban {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 12px;
padding: 16px;
overflow-x: auto;
}
@media (max-width: 1100px) {
.kanban { grid-template-columns: repeat(2, 1fr); }
}
.kanban-col {
min-width: 0;
background: var(--table-head);
border: 1px solid var(--border);
border-radius: var(--radius);
display: flex;
flex-direction: column;
max-height: 480px;
}
.kanban-col-hd {
padding: 10px 12px;
border-bottom: 1px solid var(--border);
font-size: 13px;
font-weight: 600;
display: flex;
align-items: center;
justify-content: space-between;
}
.kanban-count {
font-size: 11px;
font-weight: 700;
padding: 2px 8px;
border-radius: 999px;
background: var(--surface);
color: var(--text-muted);
}
.kanban-list {
padding: 10px;
overflow-y: auto;
flex: 1;
display: flex;
flex-direction: column;
gap: 8px;
}
.kanban-card {
background: var(--surface);
border: 1px solid var(--border);
border-radius: 8px;
padding: 10px 12px;
cursor: pointer;
transition: border-color 0.15s;
}
.kanban-card:hover { border-color: var(--primary); }
.kanban-card-id { font-size: 11px; color: var(--text-muted); margin-bottom: 4px; }
.kanban-card-title { font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.kanban-card-ft { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
/* 分区表单 */
.form-sections { padding: 16px 20px 20px; display: flex; flex-direction: column; gap: 14px; }
.form-section-card {
border: 1px solid var(--border);
border-radius: var(--radius);
overflow: hidden;
}
.form-section-hd {
padding: 10px 14px;
background: var(--table-head);
border-bottom: 1px solid var(--border);
display: flex;
align-items: center;
gap: 8px;
font-size: 13px;
font-weight: 600;
}
.form-section-hd svg { width: 16px; height: 16px; color: var(--primary-dark); }
.form-section-bd {
padding: 14px;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 12px 16px;
}
@media (max-width: 640px) {
.form-section-bd { grid-template-columns: 1fr; }
}
.form-field label {
display: block;
font-size: 11px;
color: var(--text-muted);
margin-bottom: 4px;
}
.form-field.full { grid-column: 1 / -1; }
/* 媒体画廊 */
.media-gallery {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 12px;
padding: 16px;
}
@media (max-width: 720px) {
.media-gallery { grid-template-columns: 1fr; }
}
.media-main {
aspect-ratio: 4/3;
border-radius: var(--radius);
overflow: hidden;
border: 1px solid var(--border);
background: var(--row-alt);
}
.media-main img { width: 100%; height: 100%; object-fit: cover; }
.media-thumbs {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
}
.media-thumb {
aspect-ratio: 1;
border-radius: 8px;
overflow: hidden;
border: 2px solid transparent;
cursor: pointer;
opacity: 0.75;
}
.media-thumb.is-active { border-color: var(--primary); opacity: 1; }
.media-thumb img { width: 100%; height: 100%; object-fit: cover; }
/* 左右分栏 */
.split-layout {
display: grid;
grid-template-columns: 280px 1fr;
gap: 12px;
padding: 16px;
min-height: 420px;
}
@media (max-width: 900px) {
.split-layout { grid-template-columns: 1fr; }
}
.split-tree {
border: 1px solid var(--border);
border-radius: var(--radius);
background: var(--table-head);
overflow: hidden;
}
.split-tree-hd {
padding: 10px 12px;
border-bottom: 1px solid var(--border);
font-size: 13px;
font-weight: 600;
}
.tree-node {
padding: 8px 12px 8px 20px;
font-size: 13px;
cursor: pointer;
border-left: 3px solid transparent;
}
.tree-node:hover { background: var(--row-hover); }
.tree-node.is-active {
background: var(--primary-bg);
border-left-color: var(--primary);
color: var(--primary-dark);
font-weight: 600;
}
.tree-node.child { padding-left: 36px; font-size: 12px; }
.split-detail { border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; }
/* 步骤条 */
.steps {
display: flex;
align-items: flex-start;
gap: 0;
padding: 16px 20px;
border-bottom: 1px solid var(--border);
overflow-x: auto;
}
.step {
flex: 1;
min-width: 120px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
position: relative;
}
.step:not(:last-child)::after {
content: "";
position: absolute;
top: 14px;
left: calc(50% + 18px);
right: calc(-50% + 18px);
height: 2px;
background: var(--border);
}
.step.done:not(:last-child)::after { background: var(--primary); }
.step-ic {
width: 28px;
height: 28px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
background: var(--row-hover);
color: var(--text-muted);
font-size: 12px;
font-weight: 700;
margin-bottom: 8px;
z-index: 1;
}
.step.done .step-ic { background: var(--primary); color: #fff; }
.step.active .step-ic {
background: var(--primary-bg);
color: var(--primary-dark);
box-shadow: 0 0 0 2px var(--primary);
}
.step-label { font-size: 12px; font-weight: 600; }
.step-sub { font-size: 11px; color: var(--text-muted); margin-top: 2px; }
/* 并排对比 */
.compare-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin-bottom: 16px;
}
@media (max-width: 900px) {
.compare-row { grid-template-columns: 1fr; }
}
.compare-col h3 {
margin: 0 0 10px;
font-size: 13px;
font-weight: 600;
color: var(--text-muted);
}
.compare-col.plain h3 { color: #94a3b8; }
.compare-col.rich h3 { color: var(--primary-dark); }
-92
View File
@@ -1,92 +0,0 @@
-- 菜单层级修复:5 个一级分组归入 Web端菜单(id=2) 下,原二级菜单归入对应 TOP 分组
SET NAMES utf8mb4;
UPDATE sys_menu SET parent_id='2', path='/market', component='/index/index', perms='menu:market', visible='1', order_num=1, menu_type='M' WHERE id='TOP00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000001', path='cell-storage', component=NULL, perms=NULL, visible='1', order_num=1, menu_type='M' WHERE id='CEL00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='CEL00000000000000000000000000001', path='protocol', component='/cell-storage/protocol/index', perms='biz:cellStorageProtocol:list', visible='0', order_num=1, menu_type='C' WHERE id='50000000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='CEL00000000000000000000000000001', path='protocol-audit', component='/cell-storage/protocol-audit/index', perms='biz:cellStorageProtocolAudit:list', visible='1', order_num=2, menu_type='C' WHERE id='50000000000000000000000000000003' AND del_flag=0;
UPDATE sys_menu SET parent_id='CEL00000000000000000000000000001', path='sample-info', component='/cell-storage/sample-info/index', perms='cell-storage:sample-info:list', visible='1', order_num=3, menu_type='C' WHERE id='50000000000000000000000000000013' AND del_flag=0;
UPDATE sys_menu SET parent_id='CEL00000000000000000000000000001', path='payment-confirm', component='/cell-storage/payment-confirm/index', perms='biz:cellStoragePaymentConfirm:list', visible='1', order_num=4, menu_type='C' WHERE id='50000000000000000000000000000004' AND del_flag=0;
UPDATE sys_menu SET parent_id='CEL00000000000000000000000000001', path='storage-release-review', component='/quality-inspection/storage-release-review/index', perms='biz:storageReleaseReview:list', visible='1', order_num=5, menu_type='C' WHERE id='70000000000000000000000000000011' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000001', path='research-donation', component=NULL, perms=NULL, visible='1', order_num=2, menu_type='M' WHERE id='RSC00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='RSC00000000000000000000000000001', path='list', component='/research-donation/list/index', perms='biz:researchDonation:list', visible='0', order_num=1, menu_type='C' WHERE id='60000000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='RSC00000000000000000000000000001', path='audit', component='/research-donation/audit/index', perms='biz:researchDonationAudit:list', visible='1', order_num=2, menu_type='C' WHERE id='60000000000000000000000000000003' AND del_flag=0;
UPDATE sys_menu SET parent_id='RSC00000000000000000000000000001', path='sample-info', component='/research-donation/sample-info/index', perms='research-donation:sample-info:list', visible='1', order_num=3, menu_type='C' WHERE id='60000000000000000000000000000004' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000001', path='pilot-service', component=NULL, perms=NULL, visible='1', order_num=3, menu_type='M' WHERE id='PIL00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='PIL00000000000000000000000000001', path='pilot-application', component='/pilot-service/pilot-application/index', perms='pilot-service:pilot-application:list', visible='1', order_num=1, menu_type='C' WHERE id='80000000000000000000000000000010' AND del_flag=0;
UPDATE sys_menu SET parent_id='PIL00000000000000000000000000001', path='outbound-release-review', component='/pilot-service/outbound-release-review/index', perms='pilot-service:outbound-release-review:list', visible='1', order_num=2, menu_type='C' WHERE id='PIL00000000000000000000000000004' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000001', path='basic-experiment', component=NULL, perms=NULL, visible='1', order_num=4, menu_type='M' WHERE id='BEX00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='BEX00000000000000000000000000001', path='application', component='/pilot-service/pilot-application/index', perms='basic-experiment:application:list', visible='1', order_num=1, menu_type='C' WHERE id='BEX00000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='BEX00000000000000000000000000001', path='payment-confirm', component='/pilot-service/clinical-payment-confirm/index', perms='basic-experiment:payment-confirm:list', visible='1', order_num=2, menu_type='C' WHERE id='BEX00000000000000000000000000003' AND del_flag=0;
UPDATE sys_menu SET parent_id='BEX00000000000000000000000000001', path='outbound-release-review', component='/pilot-service/outbound-release-review/index', perms='basic-experiment:outbound-release-review:list', visible='1', order_num=3, menu_type='C' WHERE id='BEX00000000000000000000000000004' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000001', path='market-info', component=NULL, perms=NULL, visible='1', order_num=5, menu_type='M' WHERE id='MKT00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='MKT00000000000000000000000000001', path='cell-sample-type', component='/basic-info/cell-sample-type/index', perms='biz:cellSampleType:list', visible='1', order_num=1, menu_type='C' WHERE id='122' AND del_flag=0;
UPDATE sys_menu SET parent_id='MKT00000000000000000000000000001', path='collection-region', component='/basic-info/collection-region/index', perms='biz:collectionRegion:list', visible='1', order_num=2, menu_type='C' WHERE id='123' AND del_flag=0;
UPDATE sys_menu SET parent_id='MKT00000000000000000000000000001', path='cell-product-type', component='/pilot-service/cell-product-type/index', perms='pilot-service:cell-product-type:list', visible='1', order_num=3, menu_type='C' WHERE id='80000000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='MKT00000000000000000000000000001', path='insurance-company', component='/basic-info/insurance-company/index', perms='basic-info:insurance-company:list', visible='1', order_num=4, menu_type='C' WHERE id='40000000000000000000000000000007' AND del_flag=0;
UPDATE sys_menu SET parent_id='MKT00000000000000000000000000001', path='checkup-institution', component='/pilot-service/checkup-institution/index', perms='pilot-service:checkup-institution:list', visible='1', order_num=5, menu_type='C' WHERE id='80000000000000000000000000000007' AND del_flag=0;
UPDATE sys_menu SET parent_id='MKT00000000000000000000000000001', path='material', component='/cell-storage/material/index', perms='biz:material:list', visible='1', order_num=6, menu_type='C' WHERE id='50000000000000000000000000000009' AND del_flag=0;
UPDATE sys_menu SET parent_id='MKT00000000000000000000000000001', path='customer', component='/basic-info/customer/index', perms='biz:customer:list', visible='1', order_num=7, menu_type='C' WHERE id='121' AND del_flag=0;
UPDATE sys_menu SET parent_id='MKT00000000000000000000000000001', path='channel', component='/pilot-service/channel/index', perms='pilot-service:channel:list', visible='1', order_num=8, menu_type='C' WHERE id='80000000000000000000000000000006' AND del_flag=0;
UPDATE sys_menu SET parent_id='MKT00000000000000000000000000001', path='channel-service-order-finance', component='/pilot-service/channel-service-order-finance/index', perms='pilot-service:channel-service-order-finance:list', visible='1', order_num=9, menu_type='C' WHERE id='80000000000000000000000000000009' AND del_flag=0;
UPDATE sys_menu SET parent_id='2', path='/production-group', component='/index/index', perms='menu:production', visible='1', order_num=2, menu_type='M' WHERE id='TOP00000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000002', path='clinical-application', component=NULL, perms=NULL, visible='0', order_num=1, menu_type='M' WHERE id='CLI00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='CLI00000000000000000000000000001', path='clinical-application', component='/pilot-service/pilot-application/index', perms='clinical-application:application:list', visible='0', order_num=1, menu_type='C' WHERE id='CLI00000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='CLI00000000000000000000000000001', path='clinical-checkup-management', component='/pilot-service/checkup-management/index', perms='clinical-application:checkup-management:list', visible='0', order_num=2, menu_type='C' WHERE id='CLI00000000000000000000000000003' AND del_flag=0;
UPDATE sys_menu SET parent_id='CLI00000000000000000000000000001', path='clinical-infusion-schedule-management', component='/pilot-service/infusion-schedule-management/index', perms='clinical-application:infusion-schedule-management:list', visible='0', order_num=3, menu_type='C' WHERE id='CLI00000000000000000000000000004' AND del_flag=0;
UPDATE sys_menu SET parent_id='CLI00000000000000000000000000001', path='clinical-payment-info', component='/pilot-service/clinical-payment-info/index', perms='clinical-application:payment-info:list', visible='0', order_num=4, menu_type='C' WHERE id='CLI00000000000000000000000000005' AND del_flag=0;
UPDATE sys_menu SET parent_id='CLI00000000000000000000000000001', path='clinical-payment-confirm', component='/pilot-service/clinical-payment-confirm/index', perms='clinical-application:payment-confirm:list', visible='0', order_num=5, menu_type='C' WHERE id='CLI00000000000000000000000000006' AND del_flag=0;
UPDATE sys_menu SET parent_id='CLI00000000000000000000000000001', path='clinical-refund-confirm', component='/pilot-service/clinical-refund-confirm/index', perms='clinical-application:refund-confirm:list', visible='1', order_num=6, menu_type='C' WHERE id='CLI00000000000000000000000000007' AND del_flag=0;
UPDATE sys_menu SET parent_id='CLI00000000000000000000000000001', path='clinical-outbound-release-review', component='/pilot-service/outbound-release-review/index', perms='clinical-application:outbound-release-review:list', visible='0', order_num=7, menu_type='C' WHERE id='CLI00000000000000000000000000008' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000002', path='production', component=NULL, perms=NULL, visible='1', order_num=2, menu_type='M' WHERE id='PRM00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRM00000000000000000000000000001', path='storage-facility', component='/operations/storage-facility/index', perms='operations:storage-facility:list', visible='1', order_num=1, menu_type='C' WHERE id='61000000000000000000000000000003' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRM00000000000000000000000000001', path='cell-product', component='/production/cell-product/index', perms='production:cell-product:list', visible='1', order_num=2, menu_type='C' WHERE id='90000000000000000000000000000013' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRM00000000000000000000000000001', path='production-work-order', component='/production/production-work-order/index', perms='production:work-order:list', visible='1', order_num=3, menu_type='C' WHERE id='90000000000000000000000000000011' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRM00000000000000000000000000001', path='my-production-task', component='/production/my-production-task/index', perms='production:my-task:list', visible='1', order_num=4, menu_type='C' WHERE id='94000000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRM00000000000000000000000000001', path='my-production-material-usage', component='/production/my-production-material-usage/index', perms='production:my-material-usage:list', visible='1', order_num=5, menu_type='C' WHERE id='94000000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRM00000000000000000000000000001', path='sample-reception-completion', component='/production/sample-reception-completion/index', perms='production:sample-reception-completion:list', visible='1', order_num=6, menu_type='C' WHERE id='91000000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRM00000000000000000000000000001', path='cleanroom-garment', component='/production/cleanroom-garment/index', perms='production:cleanroom-garment:list', visible='1', order_num=7, menu_type='C' WHERE id='95000000000000000000000000000003' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000002', path='production-base', component=NULL, perms=NULL, visible='1', order_num=3, menu_type='M' WHERE id='PRB00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRB00000000000000000000000000001', path='production-material', component='/production/production-material/index', perms='production:material:list', visible='1', order_num=1, menu_type='C' WHERE id='90000000000000000000000000000014' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRB00000000000000000000000000001', path='consumable', component='/production/consumable/index', perms='production:consumable:list', visible='0', order_num=2, menu_type='C' WHERE id='90000000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRB00000000000000000000000000001', path='reagent', component='/production/reagent/index', perms='production:reagent:list', visible='0', order_num=3, menu_type='C' WHERE id='90000000000000000000000000000003' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRB00000000000000000000000000001', path='sop', component='/production/sop/index', perms='production:sop-document:list', visible='1', order_num=4, menu_type='C' WHERE id='90000000000000000000000000000004' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRB00000000000000000000000000001', path='process-category', component='/production/process-category/index', perms='production:process-category:list', visible='1', order_num=5, menu_type='C' WHERE id='90000000000000000000000000000005' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRB00000000000000000000000000001', path='process', component='/production/process/index', perms='production:process:list', visible='1', order_num=6, menu_type='C' WHERE id='90000000000000000000000000000008' AND del_flag=0;
UPDATE sys_menu SET parent_id='PRB00000000000000000000000000001', path='equipment', component='/production/equipment/index', perms='production:equipment:list', visible='1', order_num=7, menu_type='C' WHERE id='90000000000000000000000000000009' AND del_flag=0;
UPDATE sys_menu SET parent_id='2', path='/quality-group', component='/index/index', perms='menu:quality', visible='1', order_num=3, menu_type='M' WHERE id='TOP00000000000000000000000000003' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000003', path='quality-manage', component=NULL, perms=NULL, visible='1', order_num=1, menu_type='M' WHERE id='QCM00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='QCM00000000000000000000000000001', path='sample-reception', component='/quality-inspection/sample-reception/index', perms='biz:sampleReception:list', visible='1', order_num=1, menu_type='C' WHERE id='70000000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='QCM00000000000000000000000000001', path='qc-work-order', component='/quality-inspection/qc-work-order/index', perms='biz:qcWorkOrder:list', visible='1', order_num=2, menu_type='C' WHERE id='70000000000000000000000000000007' AND del_flag=0;
UPDATE sys_menu SET parent_id='QCM00000000000000000000000000001', path='env-detect-record', component='/quality-inspection/env-detect-record/index', perms='biz:envDetectRecord:list', visible='1', order_num=3, menu_type='C' WHERE id='71000000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='QCM00000000000000000000000000001', path='my-qc-material-usage', component='/quality-inspection/my-qc-material-usage/index', perms='biz:myQcMaterialUsage:list', visible='1', order_num=4, menu_type='C' WHERE id='92000000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='QCM00000000000000000000000000001', path='my-qc-task', component='/quality-inspection/my-qc-task/index', perms='biz:myQcTask:list', visible='1', order_num=5, menu_type='C' WHERE id='93000000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000003', path='quality-base', component=NULL, perms=NULL, visible='1', order_num=2, menu_type='M' WHERE id='QCB00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='QCB00000000000000000000000000001', path='sample-reception-check-item', component='/quality-inspection/sample-reception-check-item/index', perms='biz:sampleReceptionCheckItem:list', visible='1', order_num=1, menu_type='C' WHERE id='70000000000000000000000000000003' AND del_flag=0;
UPDATE sys_menu SET parent_id='QCB00000000000000000000000000001', path='lab-test-item', component='/quality-inspection/lab-test-item/index', perms='biz:qcLabTestItem:list', visible='1', order_num=2, menu_type='C' WHERE id='70000000000000000000000000000006' AND del_flag=0;
UPDATE sys_menu SET parent_id='QCB00000000000000000000000000001', path='env-detect-item', component='/quality-inspection/env-detect-item/index', perms='biz:envDetectItem:list', visible='1', order_num=3, menu_type='C' WHERE id='71000000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='QCB00000000000000000000000000001', path='qc-material', component='/quality-inspection/qc-material/index', perms='biz:qcMaterial:list', visible='1', order_num=4, menu_type='C' WHERE id='70000000000000000000000000000009' AND del_flag=0;
UPDATE sys_menu SET parent_id='2', path='/operations-group', component='/index/index', perms='menu:operations', visible='1', order_num=4, menu_type='M' WHERE id='TOP00000000000000000000000000004' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000004', path='system-base', component=NULL, perms=NULL, visible='1', order_num=1, menu_type='M' WHERE id='SYSB000000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSB000000000000000000000000000001', path='site', component='/system/site/index', perms='system:site:list', visible='1', order_num=1, menu_type='C' WHERE id='107' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSB000000000000000000000000000001', path='unit', component='/system/unit/index', perms='system:unit:list', visible='1', order_num=2, menu_type='C' WHERE id='109' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSB000000000000000000000000000001', path='express', component='/system/express/index', perms='system:express:list', visible='1', order_num=3, menu_type='C' WHERE id='110' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000004', path='operations', component=NULL, perms=NULL, visible='1', order_num=2, menu_type='M' WHERE id='OPS00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='OPS00000000000000000000000000001', path='clean-room', component='/operations/clean-room/index', perms='operations:clean-room:list', visible='1', order_num=1, menu_type='C' WHERE id='61000000000000000000000000000002' AND del_flag=0;
UPDATE sys_menu SET parent_id='OPS00000000000000000000000000001', path='exhibition-appointment', component='/operations/exhibition-appointment/index', perms='operations:exhibition-appointment:list', visible='1', order_num=2, menu_type='C' WHERE id='61000000000000000000000000000004' AND del_flag=0;
UPDATE sys_menu SET parent_id='2', path='/system-manage', component='/index/index', perms='menu:system-manage', visible='1', order_num=5, menu_type='M' WHERE id='TOP00000000000000000000000000005' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000005', path='system', component=NULL, perms=NULL, visible='1', order_num=1, menu_type='M' WHERE id='SYSM000000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSM000000000000000000000000000001', path='tenant', component='/system/tenant/index', perms='system:tenant:list', visible='1', order_num=1, menu_type='C' WHERE id='101' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSM000000000000000000000000000001', path='dict', component='/system/dict/index', perms='system:dict:list', visible='1', order_num=2, menu_type='C' WHERE id='102' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSM000000000000000000000000000001', path='menu', component='/system/menu/index', perms='system:menu:list', visible='1', order_num=3, menu_type='C' WHERE id='106' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSM000000000000000000000000000001', path='dept', component='/system/dept/index', perms='system:dept:list', visible='1', order_num=4, menu_type='C' WHERE id='103' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSM000000000000000000000000000001', path='role', component='/system/role/index', perms='system:role:list', visible='1', order_num=5, menu_type='C' WHERE id='105' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSM000000000000000000000000000001', path='user', component='/system/user/index', perms='system:user:list', visible='1', order_num=6, menu_type='C' WHERE id='104' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSM000000000000000000000000000001', path='post', component='/system/post/index', perms='system:post:list', visible='1', order_num=7, menu_type='C' WHERE id='108' AND del_flag=0;
UPDATE sys_menu SET parent_id='SYSM000000000000000000000000000001', path='user/detail', component='/system/user/detail', perms=NULL, visible='0', order_num=8, menu_type='C' WHERE id='10000000000000000000000000000008' AND del_flag=0;
UPDATE sys_menu SET parent_id='TOP00000000000000000000000000005', path='workflow', component=NULL, perms=NULL, visible='1', order_num=2, menu_type='M' WHERE id='WKF00000000000000000000000000001' AND del_flag=0;
UPDATE sys_menu SET parent_id='WKF00000000000000000000000000001', path='process', component='/system/workflow/process/index', perms='workflow:process', visible='1', order_num=1, menu_type='C' WHERE id='10000000000000000000000000000wf01' AND del_flag=0;
UPDATE sys_menu SET parent_id='WKF00000000000000000000000000001', path='pending', component='/system/workflow/task-pending/index', perms='workflow:pending', visible='1', order_num=2, menu_type='C' WHERE id='10000000000000000000000000000wf02' AND del_flag=0;
UPDATE sys_menu SET parent_id='WKF00000000000000000000000000001', path='completed', component='/system/workflow/task-completed/index', perms='workflow:completed', visible='1', order_num=3, menu_type='C' WHERE id='10000000000000000000000000000wf03' AND del_flag=0;
UPDATE sys_menu SET parent_id='WKF00000000000000000000000000001', path='my-applications', component='/system/workflow/my-applications/index', perms='workflow:myApplications', visible='1', order_num=4, menu_type='C' WHERE id='10000000000000000000000000000wf05' AND del_flag=0;
UPDATE sys_menu SET parent_id='WKF00000000000000000000000000001', path='leave', component='/system/leave/index', perms='workflow:leave', visible='1', order_num=5, menu_type='C' WHERE id='10000000000000000000000000000wf04' AND del_flag=0;
+78
View File
@@ -0,0 +1,78 @@
-- 洁净室及子表测试数据(幂等:按 room_code / 固定 id 跳过已存在记录)
-- 执行:mysql -u root -p zkxw < docs/sql/seed_clean_rooms.sql
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;
-- ── 洁净室主表 ──────────────────────────────────────
INSERT INTO `biz_clean_room` (`id`, `room_code`, `room_name`, `room_grade`, `room_status`, `area_sqm`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
SELECT 'cr000000000000000000000000000001', 'CR-A01', '细胞制备A级洁净室', 'A', 'zc', 45.50, 'zkxw', 1, '主制备区,日常细胞培养', 'd3000000000000000000000000000001', '', '2026-06-01 08:00:00', 'd3000000000000000000000000000001', '2026-06-01 08:00:00', 0 FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `biz_clean_room` WHERE `room_code`='CR-A01' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_clean_room` (`id`, `room_code`, `room_name`, `room_grade`, `room_status`, `area_sqm`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
SELECT 'cr000000000000000000000000000002', 'CR-B01', '样本接收B级洁净室', 'B', 'zc', 32.00, 'zkxw', 2, '样本接收与初检', 'd3000000000000000000000000000001', '', '2026-06-01 08:30:00', 'd3000000000000000000000000000001', '2026-06-01 08:30:00', 0 FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `biz_clean_room` WHERE `room_code`='CR-B01' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_clean_room` (`id`, `room_code`, `room_name`, `room_grade`, `room_status`, `area_sqm`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
SELECT 'cr000000000000000000000000000003', 'CR-B02', '质检B级洁净室', 'B', 'zc', 28.80, 'zkxw', 3, '质检与留样', 'd3000000000000000000000000000001', '', '2026-06-01 09:00:00', 'd3000000000000000000000000000001', '2026-06-01 09:00:00', 0 FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `biz_clean_room` WHERE `room_code`='CR-B02' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_clean_room` (`id`, `room_code`, `room_name`, `room_grade`, `room_status`, `area_sqm`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
SELECT 'cr000000000000000000000000000004', 'CR-C01', '物料暂存C级洁净室', 'C', 'zc', 18.60, 'zkxw', 4, '物料暂存与缓冲', 'd3000000000000000000000000000001', '', '2026-06-01 09:30:00', 'd3000000000000000000000000000001', '2026-06-01 09:30:00', 0 FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `biz_clean_room` WHERE `room_code`='CR-C01' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_clean_room` (`id`, `room_code`, `room_name`, `room_grade`, `room_status`, `area_sqm`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
SELECT 'cr000000000000000000000000000005', 'CR-D01', '更衣D级洁净室', 'D', 'yc', 12.00, 'zkxw', 5, '压差异常,待检修', 'd3000000000000000000000000000001', '', '2026-06-01 10:00:00', 'd3000000000000000000000000000001', '2026-06-10 14:20:00', 0 FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `biz_clean_room` WHERE `room_code`='CR-D01' AND `tenant_no`='zkxw' AND `del_flag`=0);
-- ── 人员进出记录(clean_room_id 按 room_code 关联,兼容 Python 脚本生成的 UUID)──
INSERT INTO `biz_clean_room_access_log` (`id`, `clean_room_id`, `user_id`, `person_name`, `dept_name`, `enter_time`, `purpose`, `leave_time`, `body_temp`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
SELECT 'cra00000000000000000000000000001', (SELECT `id` FROM `biz_clean_room` WHERE `room_code`='CR-A01' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'd3000000000000000000000000000001', '管理员', '综合部', '2026-06-10 08:15:00', '日常巡检', '2026-06-10 08:45:00', '36.5', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-06-10 08:15:00', 'd3000000000000000000000000000001', '2026-06-10 08:45:00', 0 FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `biz_clean_room_access_log` WHERE `id`='cra00000000000000000000000000001');
INSERT INTO `biz_clean_room_access_log` (`id`, `clean_room_id`, `user_id`, `person_name`, `dept_name`, `enter_time`, `purpose`, `leave_time`, `body_temp`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
SELECT 'cra00000000000000000000000000002', (SELECT `id` FROM `biz_clean_room` WHERE `room_code`='CR-A01' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'b13c2be24e7111f19f4700163e3bdd9601', '中科兴皖测试1', '技术研发部', '2026-06-10 09:00:00', '细胞培养操作', '2026-06-10 12:30:00', '36.4', 'zkxw', 2, NULL, 'd3000000000000000000000000000001', '', '2026-06-10 09:00:00', 'd3000000000000000000000000000001', '2026-06-10 12:30:00', 0 FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `biz_clean_room_access_log` WHERE `id`='cra00000000000000000000000000002');
INSERT INTO `biz_clean_room_access_log` (`id`, `clean_room_id`, `user_id`, `person_name`, `dept_name`, `enter_time`, `purpose`, `leave_time`, `body_temp`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
SELECT 'cra00000000000000000000000000003', (SELECT `id` FROM `biz_clean_room` WHERE `room_code`='CR-B01' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'b13c2be24e7111f19f4700163e3bdd9601', '中科兴皖测试1', '生产部', '2026-06-11 07:50:00', '样本接收登记', '2026-06-11 08:40:00', '36.6', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-06-11 07:50:00', 'd3000000000000000000000000000001', '2026-06-11 08:40:00', 0 FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `biz_clean_room_access_log` WHERE `id`='cra00000000000000000000000000003');
INSERT INTO `biz_clean_room_access_log` (`id`, `clean_room_id`, `user_id`, `person_name`, `dept_name`, `enter_time`, `purpose`, `leave_time`, `body_temp`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
SELECT 'cra00000000000000000000000000004', (SELECT `id` FROM `biz_clean_room` WHERE `room_code`='CR-B01' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), NULL, '张质检', '质量安全部', '2026-06-11 14:00:00', '样本初检', '2026-06-11 15:20:00', '36.3', 'zkxw', 2, '外部访客', 'd3000000000000000000000000000001', '', '2026-06-11 14:00:00', 'd3000000000000000000000000000001', '2026-06-11 15:20:00', 0 FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `biz_clean_room_access_log` WHERE `id`='cra00000000000000000000000000004');
INSERT INTO `biz_clean_room_access_log` (`id`, `clean_room_id`, `user_id`, `person_name`, `dept_name`, `enter_time`, `purpose`, `leave_time`, `body_temp`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
SELECT 'cra00000000000000000000000000005', (SELECT `id` FROM `biz_clean_room` WHERE `room_code`='CR-B02' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'd3000000000000000000000000000001', '管理员', '质量安全部', '2026-06-12 10:00:00', '留样复核', '2026-06-12 11:00:00', '36.5', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-06-12 10:00:00', 'd3000000000000000000000000000001', '2026-06-12 11:00:00', 0 FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `biz_clean_room_access_log` WHERE `id`='cra00000000000000000000000000005');
INSERT INTO `biz_clean_room_access_log` (`id`, `clean_room_id`, `user_id`, `person_name`, `dept_name`, `enter_time`, `purpose`, `leave_time`, `body_temp`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
SELECT 'cra00000000000000000000000000006', (SELECT `id` FROM `biz_clean_room` WHERE `room_code`='CR-C01' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), NULL, '李物料', '生产部', '2026-06-12 15:30:00', '物料入库', '2026-06-12 16:00:00', '36.7', 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-06-12 15:30:00', 'd3000000000000000000000000000001', '2026-06-12 16:00:00', 0 FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `biz_clean_room_access_log` WHERE `id`='cra00000000000000000000000000006');
INSERT INTO `biz_clean_room_access_log` (`id`, `clean_room_id`, `user_id`, `person_name`, `dept_name`, `enter_time`, `purpose`, `leave_time`, `body_temp`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
SELECT 'cra00000000000000000000000000007', (SELECT `id` FROM `biz_clean_room` WHERE `room_code`='CR-D01' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'd3000000000000000000000000000001', '管理员', '综合部', '2026-06-10 16:00:00', '压差异常排查', NULL, '36.5', 'zkxw', 1, '尚未离开', 'd3000000000000000000000000000001', '', '2026-06-10 16:00:00', 'd3000000000000000000000000000001', '2026-06-10 16:00:00', 0 FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `biz_clean_room_access_log` WHERE `id`='cra00000000000000000000000000007');
-- ── 紫外线消毒记录 ──────────────────────────────────
INSERT INTO `biz_clean_room_uv_disinfect_log` (`id`, `clean_room_id`, `user_id`, `operator_name`, `start_time`, `end_time`, `duration_minutes`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
SELECT 'cru00000000000000000000000000001', (SELECT `id` FROM `biz_clean_room` WHERE `room_code`='CR-A01' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'd3000000000000000000000000000001', '管理员', '2026-06-09 18:00:00', '2026-06-09 19:00:00', 60, 'zkxw', 1, '班后消毒', 'd3000000000000000000000000000001', '', '2026-06-09 18:00:00', 'd3000000000000000000000000000001', '2026-06-09 19:00:00', 0 FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `biz_clean_room_uv_disinfect_log` WHERE `id`='cru00000000000000000000000000001');
INSERT INTO `biz_clean_room_uv_disinfect_log` (`id`, `clean_room_id`, `user_id`, `operator_name`, `start_time`, `end_time`, `duration_minutes`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
SELECT 'cru00000000000000000000000000002', (SELECT `id` FROM `biz_clean_room` WHERE `room_code`='CR-A01' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'd3000000000000000000000000000001', '管理员', '2026-06-10 18:00:00', '2026-06-10 19:00:00', 60, 'zkxw', 2, '班后消毒', 'd3000000000000000000000000000001', '', '2026-06-10 18:00:00', 'd3000000000000000000000000000001', '2026-06-10 19:00:00', 0 FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `biz_clean_room_uv_disinfect_log` WHERE `id`='cru00000000000000000000000000002');
INSERT INTO `biz_clean_room_uv_disinfect_log` (`id`, `clean_room_id`, `user_id`, `operator_name`, `start_time`, `end_time`, `duration_minutes`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
SELECT 'cru00000000000000000000000000003', (SELECT `id` FROM `biz_clean_room` WHERE `room_code`='CR-B01' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'd3000000000000000000000000000001', '管理员', '2026-06-10 17:30:00', '2026-06-10 18:30:00', 60, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-06-10 17:30:00', 'd3000000000000000000000000000001', '2026-06-10 18:30:00', 0 FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `biz_clean_room_uv_disinfect_log` WHERE `id`='cru00000000000000000000000000003');
INSERT INTO `biz_clean_room_uv_disinfect_log` (`id`, `clean_room_id`, `user_id`, `operator_name`, `start_time`, `end_time`, `duration_minutes`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
SELECT 'cru00000000000000000000000000004', (SELECT `id` FROM `biz_clean_room` WHERE `room_code`='CR-B02' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'd3000000000000000000000000000001', '管理员', '2026-06-11 18:00:00', '2026-06-11 19:00:00', 60, 'zkxw', 1, NULL, 'd3000000000000000000000000000001', '', '2026-06-11 18:00:00', 'd3000000000000000000000000000001', '2026-06-11 19:00:00', 0 FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `biz_clean_room_uv_disinfect_log` WHERE `id`='cru00000000000000000000000000004');
INSERT INTO `biz_clean_room_uv_disinfect_log` (`id`, `clean_room_id`, `user_id`, `operator_name`, `start_time`, `end_time`, `duration_minutes`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
SELECT 'cru00000000000000000000000000005', (SELECT `id` FROM `biz_clean_room` WHERE `room_code`='CR-C01' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'd3000000000000000000000000000001', '管理员', '2026-06-11 17:00:00', '2026-06-11 17:45:00', 45, 'zkxw', 1, 'C级区缩短时长', 'd3000000000000000000000000000001', '', '2026-06-11 17:00:00', 'd3000000000000000000000000000001', '2026-06-11 17:45:00', 0 FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `biz_clean_room_uv_disinfect_log` WHERE `id`='cru00000000000000000000000000005');
INSERT INTO `biz_clean_room_uv_disinfect_log` (`id`, `clean_room_id`, `user_id`, `operator_name`, `start_time`, `end_time`, `duration_minutes`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`)
SELECT 'cru00000000000000000000000000006', (SELECT `id` FROM `biz_clean_room` WHERE `room_code`='CR-D01' AND `tenant_no`='zkxw' AND `del_flag`=0 LIMIT 1), 'd3000000000000000000000000000001', '管理员', '2026-06-10 14:30:00', NULL, NULL, 'zkxw', 1, '异常区暂停消毒', 'd3000000000000000000000000000001', '', '2026-06-10 14:30:00', 'd3000000000000000000000000000001', '2026-06-10 14:30:00', 0 FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM `biz_clean_room_uv_disinfect_log` WHERE `id`='cru00000000000000000000000000006');
+14
View File
@@ -0,0 +1,14 @@
-- 常用快递公司初始化(幂等:按 express_code + tenant_no 跳过已存在记录)
-- 执行:mysql -u root -p zkxw < docs/sql/seed_express_companies.sql
SET NAMES utf8mb4;
INSERT INTO `biz_express_company` (`id`, `express_code`, `express_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e5000000000000000000000000000001', 'SF', '顺丰速运', 'zkxw', 1, '常用快递', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_express_company` WHERE `express_code`='SF' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_express_company` (`id`, `express_code`, `express_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e5000000000000000000000000000002', 'YTO', '圆通速递', 'zkxw', 2, '常用快递', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_express_company` WHERE `express_code`='YTO' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_express_company` (`id`, `express_code`, `express_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e5000000000000000000000000000003', 'ZTO', '中通快递', 'zkxw', 3, '常用快递', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_express_company` WHERE `express_code`='ZTO' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_express_company` (`id`, `express_code`, `express_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e5000000000000000000000000000004', 'STO', '申通快递', 'zkxw', 4, '常用快递', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_express_company` WHERE `express_code`='STO' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_express_company` (`id`, `express_code`, `express_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e5000000000000000000000000000005', 'YD', '韵达速递', 'zkxw', 5, '常用快递', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_express_company` WHERE `express_code`='YD' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_express_company` (`id`, `express_code`, `express_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e5000000000000000000000000000006', 'JD', '京东物流', 'zkxw', 6, '常用快递', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_express_company` WHERE `express_code`='JD' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_express_company` (`id`, `express_code`, `express_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e5000000000000000000000000000007', 'EMS', '中国邮政EMS', 'zkxw', 7, '常用快递', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_express_company` WHERE `express_code`='EMS' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_express_company` (`id`, `express_code`, `express_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e5000000000000000000000000000008', 'HTKY', '百世快递', 'zkxw', 8, '常用快递', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_express_company` WHERE `express_code`='HTKY' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_express_company` (`id`, `express_code`, `express_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e5000000000000000000000000000009', 'JTSD', '极兔速递', 'zkxw', 9, '常用快递', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_express_company` WHERE `express_code`='JTSD' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_express_company` (`id`, `express_code`, `express_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e500000000000000000000000000000a', 'DBL', '德邦快递', 'zkxw', 10, '常用快递', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_express_company` WHERE `express_code`='DBL' AND `tenant_no`='zkxw' AND `del_flag`=0);
+183
View File
@@ -0,0 +1,183 @@
-- 物品单位常用数据初始化(幂等:按 unit_code + tenant_no 跳过已存在记录)
-- 执行:mysql -u root -p zkxw < docs/sql/seed_item_units.sql
SET NAMES utf8mb4;
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000001', 'ge', '个', 'zkxw', 1, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ge' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000002', 'jian', '件', 'zkxw', 2, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='jian' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000003', 'tao', '套', 'zkxw', 3, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='tao' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000004', 'tai', '台', 'zkxw', 4, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='tai' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000005', 'liang_che', '辆', 'zkxw', 5, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='liang_che' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000006', 'jia', '架', 'zkxw', 6, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='jia' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000007', 'bu', '部', 'zkxw', 7, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='bu' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000008', 'zhi', '支', 'zkxw', 8, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='zhi' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000009', 'tiao', '条', 'zkxw', 9, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='tiao' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000000a', 'gen', '根', 'zkxw', 10, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='gen' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000000b', 'zhang', '张', 'zkxw', 11, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='zhang' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000000c', 'pian', '片', 'zkxw', 12, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='pian' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000000d', 'kuai', '块', 'zkxw', 13, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='kuai' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000000e', 'ke', '颗', 'zkxw', 14, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ke' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000000f', 'li', '粒', 'zkxw', 15, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='li' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000010', 'mei', '枚', 'zkxw', 16, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='mei' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000011', 'zhi_zhi', '只', 'zkxw', 17, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='zhi_zhi' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000012', 'tou', '头', 'zkxw', 18, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='tou' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000013', 'wei_tail', '尾', 'zkxw', 19, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='wei_tail' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000014', 'pi', '匹', 'zkxw', 20, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='pi' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000015', 'shuang', '双', 'zkxw', 21, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='shuang' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000016', 'dui', '对', 'zkxw', 22, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='dui' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000017', 'fu', '副', 'zkxw', 23, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='fu' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000018', 'zu', '组', 'zkxw', 24, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='zu' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000019', 'pi_pi', '批', 'zkxw', 25, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='pi_pi' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000001a', 'fen', '份', 'zkxw', 26, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='fen' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000001b', 'ci', '次', 'zkxw', 27, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ci' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000001c', 'hui', '回', 'zkxw', 28, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='hui' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000001d', 'lun', '轮', 'zkxw', 29, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='lun' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000001e', 'ba', '把', 'zkxw', 30, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ba' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000001f', 'kun', '捆', 'zkxw', 31, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='kun' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000020', 'chuan', '串', 'zkxw', 32, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='chuan' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000021', 'shu', '束', 'zkxw', 33, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='shu' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000022', 'pai', '排', 'zkxw', 34, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='pai' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000023', 'kong', '孔', 'zkxw', 35, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='kong' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000024', 'zhu', '株', 'zkxw', 36, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='zhu' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000025', 'ke_shu', '棵', 'zkxw', 37, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ke_shu' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000026', 'cong', '丛', 'zkxw', 38, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='cong' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000027', 'duo', '朵', 'zkxw', 39, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='duo' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000028', 'ban_petal', '瓣', 'zkxw', 40, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ban_petal' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000029', 'ren', '人', 'zkxw', 41, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ren' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000002a', 'wei_pos', '位', 'zkxw', 42, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='wei_pos' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000002b', 'hu_hu', '户', 'zkxw', 43, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='hu_hu' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000002c', 'jia_hu', '家', 'zkxw', 44, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='jia_hu' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000002d', 'kou', '口', 'zkxw', 45, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='kou' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000002e', 'dun', '顿', 'zkxw', 46, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='dun' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000002f', 'xiang_mu', '项', 'zkxw', 47, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='xiang_mu' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000030', 'ben', '本', 'zkxw', 48, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ben' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000031', 'ce', '册', 'zkxw', 49, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ce' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000032', 'zhang_page', '页', 'zkxw', 50, '计数', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='zhang_page' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000033', 'ug', '微克', 'zkxw', 100, '质量', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ug' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000034', 'mg', '毫克', 'zkxw', 101, '质量', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='mg' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000035', 'g', '克', 'zkxw', 102, '质量', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='g' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000036', 'kg', '千克', 'zkxw', 103, '质量', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='kg' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000037', 't', '吨', 'zkxw', 104, '质量', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='t' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000038', 'jin', '斤', 'zkxw', 105, '质量', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='jin' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000039', 'liang_w', '两', 'zkxw', 106, '质量', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='liang_w' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000003a', 'lb', '磅', 'zkxw', 107, '质量', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='lb' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000003b', 'oz', '盎司', 'zkxw', 108, '质量', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='oz' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000003c', 'dan', '担', 'zkxw', 109, '质量', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='dan' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000003d', 'gongjin', '公斤', 'zkxw', 110, '质量', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='gongjin' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000003e', 'ul', '微升', 'zkxw', 200, '体积', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ul' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000003f', 'ml', '毫升', 'zkxw', 201, '体积', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ml' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000040', 'l', '升', 'zkxw', 202, '体积', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='l' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000041', 'dl', '分升', 'zkxw', 203, '体积', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='dl' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000042', 'cl', '厘升', 'zkxw', 204, '体积', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='cl' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000043', 'm3', '立方米', 'zkxw', 205, '体积', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='m3' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000044', 'dm3', '立方分米', 'zkxw', 206, '体积', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='dm3' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000045', 'cm3', '立方厘米', 'zkxw', 207, '体积', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='cm3' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000046', 'mm3', '立方毫米', 'zkxw', 208, '体积', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='mm3' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000047', 'gal', '加仑', 'zkxw', 209, '体积', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='gal' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000048', 'mm', '毫米', 'zkxw', 300, '长度', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='mm' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000049', 'cm', '厘米', 'zkxw', 301, '长度', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='cm' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000004a', 'dm', '分米', 'zkxw', 302, '长度', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='dm' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000004b', 'm', '米', 'zkxw', 303, '长度', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='m' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000004c', 'km', '千米', 'zkxw', 304, '长度', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='km' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000004d', 'inch', '英寸', 'zkxw', 305, '长度', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='inch' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000004e', 'ft', '英尺', 'zkxw', 306, '长度', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ft' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000004f', 'chi', '尺', 'zkxw', 307, '长度', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='chi' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000050', 'cun', '寸', 'zkxw', 308, '长度', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='cun' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000051', 'mm2', '平方毫米', 'zkxw', 320, '面积', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='mm2' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000052', 'cm2', '平方厘米', 'zkxw', 321, '面积', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='cm2' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000053', 'm2', '平方米', 'zkxw', 322, '面积', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='m2' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000054', 'km2', '平方千米', 'zkxw', 323, '面积', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='km2' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000055', 'mu_area', '亩', 'zkxw', 324, '面积', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='mu_area' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000056', 'ha', '公顷', 'zkxw', 325, '面积', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ha' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000057', 'he', '盒', 'zkxw', 400, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='he' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000058', 'xiang', '箱', 'zkxw', 401, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='xiang' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000059', 'dai', '袋', 'zkxw', 402, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='dai' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000005a', 'bao', '包', 'zkxw', 403, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='bao' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000005b', 'ping', '瓶', 'zkxw', 404, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ping' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000005c', 'guan', '罐', 'zkxw', 405, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='guan' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000005d', 'tong', '桶', 'zkxw', 406, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='tong' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000005e', 'tong_tube', '筒', 'zkxw', 407, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='tong_tube' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000005f', 'juan', '卷', 'zkxw', 408, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='juan' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000060', 'ban_board', '板', 'zkxw', 409, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ban_board' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000061', 'tuo', '托', 'zkxw', 410, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='tuo' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000062', 'pan', '盘', 'zkxw', 411, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='pan' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000063', 'kuang', '筐', 'zkxw', 412, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='kuang' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000064', 'lan', '篮', 'zkxw', 413, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='lan' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000065', 'lou', '篓', 'zkxw', 414, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='lou' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000066', 'long', '笼', 'zkxw', 415, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='long' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000067', 'bei', '杯', 'zkxw', 416, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='bei' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000068', 'wan', '碗', 'zkxw', 417, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='wan' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000069', 'hu_pot', '壶', 'zkxw', 418, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='hu_pot' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000006a', 'pen', '盆', 'zkxw', 419, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='pen' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000006b', 'guan_tube', '管', 'zkxw', 420, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='guan_tube' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000006c', 'nang', '囊', 'zkxw', 421, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='nang' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000006d', 'tie', '贴', 'zkxw', 422, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='tie' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000006e', 'za', '扎', 'zkxw', 423, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='za' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000006f', 'ceng', '层', 'zkxw', 424, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ceng' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000070', 'ge_pack', '格', 'zkxw', 425, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ge_pack' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000071', 'xi_tou', '吸头', 'zkxw', 426, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='xi_tou' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000072', 'qiang_tou', '枪头', 'zkxw', 427, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='qiang_tou' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000073', 'kong_ban', '孔板', 'zkxw', 428, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='kong_ban' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000074', 'yang_ben_guan', '样本管', 'zkxw', 429, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='yang_ben_guan' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000075', 'dong_cun_guan', '冻存管', 'zkxw', 430, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='dong_cun_guan' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000076', 'pei_yang_ping', '培养瓶', 'zkxw', 431, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='pei_yang_ping' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000077', 'pei_yang_min', '培养皿', 'zkxw', 432, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='pei_yang_min' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000078', 'liu_guan', '六孔板', 'zkxw', 433, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='liu_guan' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000079', 'shi_er_guan', '十二孔板', 'zkxw', 434, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='shi_er_guan' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000007a', 'ershi_si_guan', '二十四孔板', 'zkxw', 435, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ershi_si_guan' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000007b', 'jiu_shi_liu_guan', '九十六孔板', 'zkxw', 436, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='jiu_shi_liu_guan' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000007c', 'san_bai_ba_shi_guan', '三百八十四孔板', 'zkxw', 437, '包装', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='san_bai_ba_shi_guan' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000007d', 'u', '单位', 'zkxw', 500, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='u' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000007e', 'iu', 'IU', 'zkxw', 501, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='iu' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000007f', 'ku', 'KU', 'zkxw', 502, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ku' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000080', 'mu_act', 'MU', 'zkxw', 503, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='mu_act' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000081', 'cells_ml', 'cells/mL', 'zkxw', 504, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='cells_ml' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000082', 'cells_ul', 'cells/μL', 'zkxw', 505, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='cells_ul' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000083', 'cfu', 'CFU', 'zkxw', 506, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='cfu' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000084', 'cfu_ml', 'CFU/mL', 'zkxw', 507, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='cfu_ml' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000085', 'pfu', 'PFU', 'zkxw', 508, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='pfu' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000086', 'pfu_ml', 'PFU/mL', 'zkxw', 509, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='pfu_ml' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000087', 'od', 'OD', 'zkxw', 510, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='od' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000088', 'copies_ml', 'copies/mL', 'zkxw', 511, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='copies_ml' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000089', 'copies_ul', 'copies/μL', 'zkxw', 512, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='copies_ul' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000008a', 'mol', '摩尔', 'zkxw', 513, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='mol' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000008b', 'mmol', '毫摩尔', 'zkxw', 514, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='mmol' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000008c', 'umol', '微摩尔', 'zkxw', 515, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='umol' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000008d', 'nmol', '纳摩尔', 'zkxw', 516, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='nmol' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000008e', 'mol_l', 'mol/L', 'zkxw', 517, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='mol_l' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000008f', 'mmol_l', 'mmol/L', 'zkxw', 518, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='mmol_l' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000090', 'umol_l', 'μmol/L', 'zkxw', 519, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='umol_l' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000091', 'nmol_l', 'nmol/L', 'zkxw', 520, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='nmol_l' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000092', 'm_l', 'M', 'zkxw', 521, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='m_l' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000093', 'percent', '%', 'zkxw', 522, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='percent' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000094', 'ppm', 'ppm', 'zkxw', 523, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ppm' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000095', 'ppb', 'ppb', 'zkxw', 524, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ppb' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000096', 'mg_ml', 'mg/mL', 'zkxw', 525, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='mg_ml' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000097', 'ug_ml', 'μg/mL', 'zkxw', 526, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ug_ml' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000098', 'ng_ml', 'ng/mL', 'zkxw', 527, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ng_ml' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e4000000000000000000000000000099', 'pg_ml', 'pg/mL', 'zkxw', 528, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='pg_ml' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000009a', 'mg_l', 'mg/L', 'zkxw', 529, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='mg_l' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000009b', 'ug_l', 'μg/L', 'zkxw', 530, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ug_l' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000009c', 'ng_l', 'ng/L', 'zkxw', 531, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ng_l' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000009d', 'iu_ml', 'IU/mL', 'zkxw', 532, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='iu_ml' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000009e', 'u_ml', 'U/mL', 'zkxw', 533, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='u_ml' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e400000000000000000000000000009f', 'x_be', '×', 'zkxw', 534, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='x_be' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000a0', 'ren_fen', '人份', 'zkxw', 535, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ren_fen' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000a1', 'yang_ben', '样本', 'zkxw', 536, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='yang_ben' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000a2', 'ji_yin', '基因', 'zkxw', 537, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ji_yin' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000a3', 'tiao_dai', '条带', 'zkxw', 538, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='tiao_dai' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000a4', 'kuai_jiao', '块胶', 'zkxw', 539, '实验室', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='kuai_jiao' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000a5', 's', '秒', 'zkxw', 600, '时间', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='s' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000a6', 'min', '分钟', 'zkxw', 601, '时间', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='min' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000a7', 'h', '小时', 'zkxw', 602, '时间', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='h' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000a8', 'd', '天', 'zkxw', 603, '时间', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='d' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000a9', 'week', '周', 'zkxw', 604, '时间', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='week' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000aa', 'month', '月', 'zkxw', 605, '时间', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='month' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000ab', 'year', '年', 'zkxw', 606, '时间', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='year' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000ac', 'ji', '季', 'zkxw', 607, '时间', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='ji' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000ad', 'yuan', '元', 'zkxw', 700, '其他', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='yuan' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000ae', 'kwh', '千瓦时', 'zkxw', 701, '其他', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='kwh' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000af', 'du', '度', 'zkxw', 702, '其他', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='du' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000b0', 'zhi_plant', '枝', 'zkxw', 703, '其他', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='zhi_plant' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000b1', 'dai_pack', '袋装', 'zkxw', 704, '其他', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='dai_pack' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000b2', 'xiang_pack', '箱装', 'zkxw', 705, '其他', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='xiang_pack' AND `tenant_no`='zkxw' AND `del_flag`=0);
INSERT INTO `biz_item_unit` (`id`, `unit_code`, `unit_name`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) SELECT 'e40000000000000000000000000000b3', 'he_pack', '盒装', 'zkxw', 706, '其他', 'd3000000000000000000000000000001', '', NOW(), 'd3000000000000000000000000000001', NOW(), 0 FROM DUAL WHERE NOT EXISTS (SELECT 1 FROM `biz_item_unit` WHERE `unit_code`='he_pack' AND `tenant_no`='zkxw' AND `del_flag`=0);
-101
View File
@@ -1,101 +0,0 @@
-- Web 端 sys_menu 初始化(根节点 + 5 个一级分组 + 二级/三级业务菜单)
-- 生成:backend/scripts/reorder_web_menus.py
-- 层级:Web端菜单(id=2) → 市场/生产/质检/运营支撑/系统管理(TOP*) → 业务二级 → 页面三级
-- 一级分组顺序:市场 → 生产 → 质检 → 运营支撑 → 系统管理
SET NAMES utf8mb4;
INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES
('1', '移动端菜单', '0', 'M', '/mini', NULL, NULL, 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('2', 'Web端菜单', '0', 'M', '/web', NULL, NULL, 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0);
INSERT INTO `sys_menu` (`id`, `menu_name`, `parent_id`, `menu_type`, `path`, `component`, `perms`, `is_frame`, `visible`, `status`, `tenant_no`, `order_num`, `remark`, `create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`) VALUES
('TOP00000000000000000000000000001', '市场', '2', 'M', '/market', '/index/index', 'menu:market', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('CEL00000000000000000000000000001', '细胞存储', 'TOP00000000000000000000000000001', 'M', 'cell-storage', NULL, NULL, 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('50000000000000000000000000000002', '采集协议单录入', 'CEL00000000000000000000000000001', 'C', 'protocol', '/cell-storage/protocol/index', 'biz:cellStorageProtocol:list', 1, '0', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('50000000000000000000000000000003', '采集协议单', 'CEL00000000000000000000000000001', 'C', 'protocol-audit', '/cell-storage/protocol-audit/index', 'biz:cellStorageProtocolAudit:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('50000000000000000000000000000013', '样本信息管理', 'CEL00000000000000000000000000001', 'C', 'sample-info', '/cell-storage/sample-info/index', 'cell-storage:sample-info:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('50000000000000000000000000000004', '缴退费财务确认', 'CEL00000000000000000000000000001', 'C', 'payment-confirm', '/cell-storage/payment-confirm/index', 'biz:cellStoragePaymentConfirm:list', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('70000000000000000000000000000011', '入库放行审核', 'CEL00000000000000000000000000001', 'C', 'storage-release-review', '/quality-inspection/storage-release-review/index', 'biz:storageReleaseReview:list', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('RSC00000000000000000000000000001', '科研捐赠', 'TOP00000000000000000000000000001', 'M', 'research-donation', NULL, NULL, 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('60000000000000000000000000000002', '捐赠协议单录入', 'RSC00000000000000000000000000001', 'C', 'list', '/research-donation/list/index', 'biz:researchDonation:list', 1, '0', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('60000000000000000000000000000003', '捐赠协议单', 'RSC00000000000000000000000000001', 'C', 'audit', '/research-donation/audit/index', 'biz:researchDonationAudit:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('60000000000000000000000000000004', '样本信息管理', 'RSC00000000000000000000000000001', 'C', 'sample-info', '/research-donation/sample-info/index', 'research-donation:sample-info:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('PIL00000000000000000000000000001', '中试服务', 'TOP00000000000000000000000000001', 'M', 'pilot-service', NULL, NULL, 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('80000000000000000000000000000010', '中试服务申请单', 'PIL00000000000000000000000000001', 'C', 'pilot-application', '/pilot-service/pilot-application/index', 'pilot-service:pilot-application:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('PIL00000000000000000000000000004', '出库放行审核', 'PIL00000000000000000000000000001', 'C', 'outbound-release-review', '/pilot-service/outbound-release-review/index', 'pilot-service:outbound-release-review:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('BEX00000000000000000000000000001', '基础实验', 'TOP00000000000000000000000000001', 'M', 'basic-experiment', NULL, NULL, 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('BEX00000000000000000000000000002', '基础实验申请单', 'BEX00000000000000000000000000001', 'C', 'application', '/pilot-service/pilot-application/index', 'basic-experiment:application:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('BEX00000000000000000000000000003', '缴退费财务确认', 'BEX00000000000000000000000000001', 'C', 'payment-confirm', '/pilot-service/clinical-payment-confirm/index', 'basic-experiment:payment-confirm:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('BEX00000000000000000000000000004', '出库放行审核', 'BEX00000000000000000000000000001', 'C', 'outbound-release-review', '/pilot-service/outbound-release-review/index', 'basic-experiment:outbound-release-review:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('MKT00000000000000000000000000001', '市场基础信息', 'TOP00000000000000000000000000001', 'M', 'market-info', NULL, NULL, 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('122', '细胞样本基础信息维护', 'MKT00000000000000000000000000001', 'C', 'cell-sample-type', '/basic-info/cell-sample-type/index', 'biz:cellSampleType:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('123', '细胞采集基础信息维护', 'MKT00000000000000000000000000001', 'C', 'collection-region', '/basic-info/collection-region/index', 'biz:collectionRegion:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('80000000000000000000000000000002', '细胞产品基础信息维护', 'MKT00000000000000000000000000001', 'C', 'cell-product-type', '/pilot-service/cell-product-type/index', 'pilot-service:cell-product-type:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('40000000000000000000000000000007', '保险公司及险种价格', 'MKT00000000000000000000000000001', 'C', 'insurance-company', '/basic-info/insurance-company/index', 'basic-info:insurance-company:list', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('80000000000000000000000000000007', '体检机构及项目价格', 'MKT00000000000000000000000000001', 'C', 'checkup-institution', '/pilot-service/checkup-institution/index', 'pilot-service:checkup-institution:list', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('50000000000000000000000000000009', '市场物料库', 'MKT00000000000000000000000000001', 'C', 'material', '/cell-storage/material/index', 'biz:material:list', 1, '1', '1', 'zkxw', 6, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('121', '客户管理', 'MKT00000000000000000000000000001', 'C', 'customer', '/basic-info/customer/index', 'biz:customer:list', 1, '1', '1', 'zkxw', 7, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('80000000000000000000000000000006', '渠道信息管理', 'MKT00000000000000000000000000001', 'C', 'channel', '/pilot-service/channel/index', 'pilot-service:channel:list', 1, '1', '1', 'zkxw', 8, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('80000000000000000000000000000009', '渠道服务订单(财务确认)', 'MKT00000000000000000000000000001', 'C', 'channel-service-order-finance', '/pilot-service/channel-service-order-finance/index', 'pilot-service:channel-service-order-finance:list', 1, '1', '1', 'zkxw', 9, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('TOP00000000000000000000000000002', '生产', '2', 'M', '/production-group', '/index/index', 'menu:production', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('CLI00000000000000000000000000001', '临床应用', 'TOP00000000000000000000000000002', 'M', 'clinical-application', NULL, NULL, 1, '0', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('CLI00000000000000000000000000002', '临床申请单', 'CLI00000000000000000000000000001', 'C', 'clinical-application', '/pilot-service/pilot-application/index', 'clinical-application:application:list', 1, '0', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('CLI00000000000000000000000000003', '体检管理', 'CLI00000000000000000000000000001', 'C', 'clinical-checkup-management', '/pilot-service/checkup-management/index', 'clinical-application:checkup-management:list', 1, '0', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('CLI00000000000000000000000000004', '输注计划管理', 'CLI00000000000000000000000000001', 'C', 'clinical-infusion-schedule-management', '/pilot-service/infusion-schedule-management/index', 'clinical-application:infusion-schedule-management:list', 1, '0', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('CLI00000000000000000000000000005', '缴费信息', 'CLI00000000000000000000000000001', 'C', 'clinical-payment-info', '/pilot-service/clinical-payment-info/index', 'clinical-application:payment-info:list', 1, '0', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('CLI00000000000000000000000000006', '缴退费财务确认', 'CLI00000000000000000000000000001', 'C', 'clinical-payment-confirm', '/pilot-service/clinical-payment-confirm/index', 'clinical-application:payment-confirm:list', 1, '0', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('CLI00000000000000000000000000007', '退费确认(财务)', 'CLI00000000000000000000000000001', 'C', 'clinical-refund-confirm', '/pilot-service/clinical-refund-confirm/index', 'clinical-application:refund-confirm:list', 1, '1', '1', 'zkxw', 6, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('CLI00000000000000000000000000008', '出库放行审核', 'CLI00000000000000000000000000001', 'C', 'clinical-outbound-release-review', '/pilot-service/outbound-release-review/index', 'clinical-application:outbound-release-review:list', 1, '0', '1', 'zkxw', 7, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('PRM00000000000000000000000000001', '生产管理', 'TOP00000000000000000000000000002', 'M', 'production', NULL, NULL, 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('61000000000000000000000000000003', '库位管理', 'PRM00000000000000000000000000001', 'C', 'storage-facility', '/operations/storage-facility/index', 'operations:storage-facility:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('90000000000000000000000000000013', '细胞产品库', 'PRM00000000000000000000000000001', 'C', 'cell-product', '/production/cell-product/index', 'production:cell-product:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('90000000000000000000000000000011', '生产工单', 'PRM00000000000000000000000000001', 'C', 'production-work-order', '/production/production-work-order/index', 'production:work-order:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('94000000000000000000000000000001', '我的生产任务', 'PRM00000000000000000000000000001', 'C', 'my-production-task', '/production/my-production-task/index', 'production:my-task:list', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('94000000000000000000000000000002', '我的物料领用记录', 'PRM00000000000000000000000000001', 'C', 'my-production-material-usage', '/production/my-production-material-usage/index', 'production:my-material-usage:list', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('91000000000000000000000000000001', '样本接收信息完善', 'PRM00000000000000000000000000001', 'C', 'sample-reception-completion', '/production/sample-reception-completion/index', 'production:sample-reception-completion:list', 1, '1', '1', 'zkxw', 6, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('95000000000000000000000000000003', '洁净服管理', 'PRM00000000000000000000000000001', 'C', 'cleanroom-garment', '/production/cleanroom-garment/index', 'production:cleanroom-garment:list', 1, '1', '1', 'zkxw', 7, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('PRB00000000000000000000000000001', '生产基础信息', 'TOP00000000000000000000000000002', 'M', 'production-base', NULL, NULL, 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('90000000000000000000000000000014', '生产物料库', 'PRB00000000000000000000000000001', 'C', 'production-material', '/production/production-material/index', 'production:material:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('90000000000000000000000000000002', '耗材管理', 'PRB00000000000000000000000000001', 'C', 'consumable', '/production/consumable/index', 'production:consumable:list', 1, '0', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('90000000000000000000000000000003', '试剂管理', 'PRB00000000000000000000000000001', 'C', 'reagent', '/production/reagent/index', 'production:reagent:list', 1, '0', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('90000000000000000000000000000004', 'SOP文档', 'PRB00000000000000000000000000001', 'C', 'sop', '/production/sop/index', 'production:sop-document:list', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('90000000000000000000000000000005', '工艺基础信息维护', 'PRB00000000000000000000000000001', 'C', 'process-category', '/production/process-category/index', 'production:process-category:list', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('90000000000000000000000000000008', '工艺库管理', 'PRB00000000000000000000000000001', 'C', 'process', '/production/process/index', 'production:process:list', 1, '1', '1', 'zkxw', 6, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('90000000000000000000000000000009', '设备管理', 'PRB00000000000000000000000000001', 'C', 'equipment', '/production/equipment/index', 'production:equipment:list', 1, '1', '1', 'zkxw', 7, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('TOP00000000000000000000000000003', '质检', '2', 'M', '/quality-group', '/index/index', 'menu:quality', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('QCM00000000000000000000000000001', '质检管理', 'TOP00000000000000000000000000003', 'M', 'quality-manage', NULL, NULL, 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('70000000000000000000000000000002', '样本接收', 'QCM00000000000000000000000000001', 'C', 'sample-reception', '/quality-inspection/sample-reception/index', 'biz:sampleReception:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('70000000000000000000000000000007', '质检工单', 'QCM00000000000000000000000000001', 'C', 'qc-work-order', '/quality-inspection/qc-work-order/index', 'biz:qcWorkOrder:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('71000000000000000000000000000002', '环境检测管理', 'QCM00000000000000000000000000001', 'C', 'env-detect-record', '/quality-inspection/env-detect-record/index', 'biz:envDetectRecord:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('92000000000000000000000000000001', '我的物料领用记录', 'QCM00000000000000000000000000001', 'C', 'my-qc-material-usage', '/quality-inspection/my-qc-material-usage/index', 'biz:myQcMaterialUsage:list', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('93000000000000000000000000000001', '我的质检任务', 'QCM00000000000000000000000000001', 'C', 'my-qc-task', '/quality-inspection/my-qc-task/index', 'biz:myQcTask:list', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('QCB00000000000000000000000000001', '质检基础信息', 'TOP00000000000000000000000000003', 'M', 'quality-base', NULL, NULL, 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('70000000000000000000000000000003', '接收检查项配置', 'QCB00000000000000000000000000001', 'C', 'sample-reception-check-item', '/quality-inspection/sample-reception-check-item/index', 'biz:sampleReceptionCheckItem:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('70000000000000000000000000000006', '质检项目管理', 'QCB00000000000000000000000000001', 'C', 'lab-test-item', '/quality-inspection/lab-test-item/index', 'biz:qcLabTestItem:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('71000000000000000000000000000001', '环境检测项维护', 'QCB00000000000000000000000000001', 'C', 'env-detect-item', '/quality-inspection/env-detect-item/index', 'biz:envDetectItem:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('70000000000000000000000000000009', '质检物料库', 'QCB00000000000000000000000000001', 'C', 'qc-material', '/quality-inspection/qc-material/index', 'biz:qcMaterial:list', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('TOP00000000000000000000000000004', '运营支撑', '2', 'M', '/operations-group', '/index/index', 'menu:operations', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('SYSB000000000000000000000000000001', '系统基础信息', 'TOP00000000000000000000000000004', 'M', 'system-base', NULL, NULL, 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('107', '站点管理', 'SYSB000000000000000000000000000001', 'C', 'site', '/system/site/index', 'system:site:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('109', '物品单位管理', 'SYSB000000000000000000000000000001', 'C', 'unit', '/system/unit/index', 'system:unit:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('110', '快递公司', 'SYSB000000000000000000000000000001', 'C', 'express', '/system/express/index', 'system:express:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('OPS00000000000000000000000000001', '运营支撑', 'TOP00000000000000000000000000004', 'M', 'operations', NULL, NULL, 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('61000000000000000000000000000002', '洁净室管理', 'OPS00000000000000000000000000001', 'C', 'clean-room', '/operations/clean-room/index', 'operations:clean-room:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('61000000000000000000000000000004', '展馆预约', 'OPS00000000000000000000000000001', 'C', 'exhibition-appointment', '/operations/exhibition-appointment/index', 'operations:exhibition-appointment:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('TOP00000000000000000000000000005', '系统管理', '2', 'M', '/system-manage', '/index/index', 'menu:system-manage', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('SYSM000000000000000000000000000001', '系统管理', 'TOP00000000000000000000000000005', 'M', 'system', NULL, NULL, 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('101', '租户管理', 'SYSM000000000000000000000000000001', 'C', 'tenant', '/system/tenant/index', 'system:tenant:list', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('102', '字典管理', 'SYSM000000000000000000000000000001', 'C', 'dict', '/system/dict/index', 'system:dict:list', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('106', '菜单管理', 'SYSM000000000000000000000000000001', 'C', 'menu', '/system/menu/index', 'system:menu:list', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('103', '组织管理', 'SYSM000000000000000000000000000001', 'C', 'dept', '/system/dept/index', 'system:dept:list', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('105', '角色管理', 'SYSM000000000000000000000000000001', 'C', 'role', '/system/role/index', 'system:role:list', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('104', '用户管理', 'SYSM000000000000000000000000000001', 'C', 'user', '/system/user/index', 'system:user:list', 1, '1', '1', 'zkxw', 6, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('108', '职位管理', 'SYSM000000000000000000000000000001', 'C', 'post', '/system/post/index', 'system:post:list', 1, '1', '1', 'zkxw', 7, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('10000000000000000000000000000008', '用户详情', 'SYSM000000000000000000000000000001', 'C', 'user/detail', '/system/user/detail', NULL, 1, '0', '1', 'zkxw', 8, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('WKF00000000000000000000000000001', '工作流管理', 'TOP00000000000000000000000000005', 'M', 'workflow', NULL, NULL, 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('10000000000000000000000000000wf01', '流程配置', 'WKF00000000000000000000000000001', 'C', 'process', '/system/workflow/process/index', 'workflow:process', 1, '1', '1', 'zkxw', 1, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('10000000000000000000000000000wf02', '待办中心', 'WKF00000000000000000000000000001', 'C', 'pending', '/system/workflow/task-pending/index', 'workflow:pending', 1, '1', '1', 'zkxw', 2, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('10000000000000000000000000000wf03', '已办中心', 'WKF00000000000000000000000000001', 'C', 'completed', '/system/workflow/task-completed/index', 'workflow:completed', 1, '1', '1', 'zkxw', 3, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('10000000000000000000000000000wf05', '我的申请', 'WKF00000000000000000000000000001', 'C', 'my-applications', '/system/workflow/my-applications/index', 'workflow:myApplications', 1, '1', '1', 'zkxw', 4, NULL, NULL, '', NOW(), NULL, NOW(), 0),
('10000000000000000000000000000wf04', '请假申请', 'WKF00000000000000000000000000001', 'C', 'leave', '/system/leave/index', 'workflow:leave', 1, '1', '1', 'zkxw', 5, NULL, NULL, '', NOW(), NULL, NOW(), 0);
+596 -4397
View File
File diff suppressed because it is too large. Load diff