才
三端组件库 QINGLAN Design System
v2.0 · 2026-05 37 节 · 7 主题 · / 搜索
显示规范:
当前显示 0 节 / 共 0 节
01颜色 · Color
点击任一色块复制 HEX 值
主色 Primary · 品牌深绿
辅助色 Secondary
语义色 Semantic
易错点: success #3FB33E 与 primary #1A835C 不要混用。完成态 / 打勾用 success(亮绿),主操作按钮、品牌色用 primary(深绿)。
灰阶 Neutral
02颜色用法 · Usage
语义色映射 — 什么场景该用哪种语义色
本节讲语义色 → 业务场景的映射。主题色(Primary)随主题切换,但语义色(Success / Warning / Danger / Info)恒定不变。换主题机制见 §03 主题色系统。
主操作 / 链接

页面主按钮、AppBar、激活态、品牌区域。同页面同时只允许一个主按钮。

完成 / 正面状态

"已完工"徽章、成功 toast、打勾 ✓。亮绿 #3FB33E,区别于品牌深绿。

选中 / 当前激活

侧边菜单当前项底色、表格选中行、步骤条已完成节点。比 --green-50 还浅一档,专门承载持久性激活态。

进行中 / 提醒

"进行中"徽章、轻量警告、需要注意但非错误的状态。

错误 / 危险

表单校验失败、删除按钮、错误 toast、未读消息红点。

信息 / 计数

派工单号 chip、数量统计、信息类徽章。青岚项目蓝色用得最少。

委外 / 容器

委外工序、容器统计、与生产无直接关系的辅助维度。

返工 / 中性警示

返工、暂停、半完成态。橙色比红色更"温和"。

次要文本 / 待开工

说明文字、占位符、灰色系状态(待开工、已禁用)。

03主题色系统 · Theme Colors可交互
7 个预设主题 · 顶部右上角切换 · 整页主色实时变化
理念

平台支持 7 个预设主题,每个主题改变 Primary(品牌主色)及其浅色变体; Secondary(信息蓝)和 Tertiary(中性灰)保持不变,确保跨主题的信息层级一致。

主题切换通过 [data-theme] 属性覆盖一组 CSS 变量。所有按钮、状态、选中态、章节标题竖条等使用 var(--primary) 的元素都会随主题自动变化。

7 个预设主题
CSS 变量约定
变量名用途
--primary / --color-primary主品牌色 · 实色按钮 / AppBar / 当前激活
--primary-hover悬浮态 · 比 primary 深 1 阶
--primary-active / --primary-dark点击态 · 最深
--primary-disabled禁用态 · primary 30% 浓度
--primary-light柔和款底色(按钮 / 标签)
--primary-light-hover柔和款 hover · 比 light 深一档
--primary-light-active柔和款 active
--green-25选中行 / 激活节点 / 当前菜单底色(与主色调和)
跨主题不变的 token:Secondary 蓝 (#167BE0) · Danger 红 (#DF3630) · Warning 橙 (#FF9233) · Success 绿 (#3FB33E)。语义色不应跟随主题变——红色永远是危险,橙色永远是警告,否则用户会迷失。
04字体 · Typography
Inter(拉丁) + Noto Sans SC(中文)
font-family
"Inter", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif
数字格式(强制开启)
font-feature-settings: "tnum" 1;
font-variant-numeric: tabular-nums;
display
28 / 700
智能派工平板工作台
页面 hero · 极少用
h1
22 / 700
生产订单进度管理
section 标题
h2
18 / 600
批量开工 / 报工
弹窗标题、AppBar title
h3 / strong
16 / 600
数控车床-03 · 1 号智能炉
卡片主名称
body
14 / 400
标准正文。规格:Φ120×800mm · 32CrMo4。
默认正文
caption
13 / 400
辅助说明文本,弱化层级
说明、副标题
small
12 / 500
徽章 / 标签 / 时间戳 / 单位
tag、徽章、备注
number
24 / 800
128 PCS
stat 大数字
mono
13 / 500
MO-2058 · LP-0427 · 20260401
编号 / ID / 时间码
05间距 · Spacing
基础阶梯 4 / 8 / 12 / 16 / 20 / 24
卡片内 padding 8–12 · section 间距 8–12 · 大块内边距 16–24 · 表单字段间距 6–8。Tab 行高 36 · 输入框高 30–32 · 按钮高 28 / 32 / 38。
06圆角 · Radius
越大越"软",仅在大块容器使用
输入框 / 小按钮 6 · 卡片 8–10 · 大块容器 / 弹窗 12–14 · 胶囊(chip / pill)999。
07阴影 · Shadow
仅 4 档,不要再造新的
sm 用于卡片默认 · md 用于 hover · float 用于浮起的工具栏(批量操作) · lg 用于 Modal / 浮层。
08图标 · Icon
尺寸阶梯 11 / 12 / 13 / 14 / 16 / 18 / 20 / 22 / 24
内置图标库(31 个 · 自动按文案匹配)
§21 业务按钮库的 120+ 按钮自动按文案匹配这 31 个图标("删除" → trash · "查询" → search 等)。新加按钮文案命中关键词即可自动配图,未命中显示半透明小圆点占位。所有图标用 stroke="currentColor",颜色跟随父元素自动变化(按钮变色、主题切换都生效)。
编辑图标(统一样式)
编辑 / 批改 / 修改
所有"编辑"按钮统一使用此 SVG,禁止 Lucide pencil-line。
09按钮 · Button
主操作 1 个,次操作用 outline,不要 4 个 primary
类型
尺寸
带图标
图标按钮
10表单 · Form
高度 32 · 边框 #E6E9EA · focus 时主色边框 + 12% 主色光晕
输入
勾选 / 单选
accent-color: var(--primary) 一行 CSS 即可统一原生勾选颜色。
11标记 · Chip / Tag / Badge
轻量信息标记,三种语义不同
Chip · 多选选项(人员 / 场地 / 设备)
张三× 李四× 王五× + 添加
Tag · 分类标记
P0 优先 网页端 返工 委外 异常 默认
Badge · 数字 / 红点
12
99+ NEW
使用边界
形态用途是否可点击是否带数字
Chip多选项 / 已选项可(含 ×)否
Tag分类标记 / 属性否否
Badge未读 / 计数 / 红点跟随父元素是
12状态色编码 · Status(工序五状态)
所有页面通用,全站只有这 5 个工序状态,不要自造。SVG 徽章 + 配色见 §37.1。
12.1 五状态 Pills
等前序 待执行 生产中 异常暂停 已完工
12.2 CSS Token 速查
状态类名背景边框文字典型场景
等前序.s-wait-pre#f1f5f9#cbd5e1#475569前序工序未完,本工序无法开始
待执行.s-wait#eff6ff#93c5fd#2563eb前序已完,本工序就绪可开工
生产中.s-doing#fef3c7#fcd34d#b45309正在加工中
异常暂停.s-paused#fee2e2#fca5a5#b91c1c设备故障、质检异常等中断
已完工.s-done#dcfce7#86efac#15803d已完成本工序
12.3 状态推演规则
  • 前序未完,后序不能进入"生产中":每条工序流从左到右扫描,首个非完工的工序保留其状态(待执行 / 生产中 / 异常暂停),其余非完工统一归并为 等前序。
  • 已完工 = .s-done + 工序卡 .is-done,可加 ✓ 角标;其余状态可加 checkbox 多选。
  • 状态变更触发:开工(待执行→生产中)/ 完工(生产中→已完工,并解锁下游等前序→待执行)/ 暂停(生产中→异常暂停)/ 恢复(异常暂停→生产中)。
  • 实现见 normalizeStepStatuses() · 批量开工/完工 平板端。
12.4 工序"类型"(与状态正交)

工序类型是与上述状态正交的另一维度,用于标识工序属性(标准 / 委外 / 返工)。不要把类型当状态用。

类型底色文字色含义
● 标准var(--primary-light)var(--primary)正常生产工序,默认类型
↺ 返工#fff7ed#ea580c返工修复,工序号常加 30/40 段标识
● 委外#fdf4ff#9333ea外协加工,需对接外部资源
13状态筛选图例 · Legend / Filter Chips
点击多选过滤工序卡;配合 §37.4 "显示全部工艺路线" 开关使用。
13.1 状态筛选条
清除
13.2 行为约束
  • 多选:每个 pill 独立切换 .is-active,多个状态可同时激活,不要做单选互斥。
  • 过滤逻辑:当 "显示全部工艺路线" 开关关闭时,仅显示匹配当前激活状态的工序卡;激活 0 个 = 全部隐藏(默认进页就有一个状态激活)。
  • 开关 ON = 显示全部工艺路线,pill 选择此时不影响显示(只保留视觉提示)。
  • "清除"按钮取消全部激活,不要做"全选"逆操作。
  • 已完工状态在批量开工页可隐藏(业务无意义),通过 #view-batch .legend-chip[data-status="done"]{display:none} 局部覆盖。
  • 实现 / 默认值约定:批量开工页默认激活 待执行;批量完工页默认激活 生产中。
15统计卡 · Stats
4 列,柔和浅色 + 强对比数字
订单总数128
派工标签42
容器16
完工数量2,560 PCS
禁用 饱和深色卡片(如纯蓝、纯绿)。统一为"浅渐变 + 强字",与整体浅色风格一致。
16页面层级 · Layout
所有页面统一遵循的纵向结构
页面 Header (高 48–56) 绿色 AppBar · 主操作 · 通知 · 用户
视图 Tabs (高 36) 主视图切换 · 数量徽章
筛选区 Filter (高 40–60) 查询条件 · 重置 / 查询 · 状态图例
内容区 Content · 列表 / 卡片 / 表格 · padding 12–24 · 滚动容器
批量操作工具栏 (浮起) 底部居中 · float 阴影 · 多选时出现
平板原型固定 1280×800 平面预览(无设备外壳边框,全仓平板家族统一口径,CMP-345 收编);手机原型 390×844;网页端 min-width 1280。所有滚动正确写法:父 flex/min-height:0 + 子 flex:1; overflow-y:auto。
17数据命名 · Data Naming
原型 mock 数据沿用统一格式
字段格式示例
物料 / 料号LP-XXXXLP-0427 · LP-1020
生产订单号MO-XXXXMO-2058 · MO-3001
派工单号PG-XXXXXX-XXXPG-260315-007
炉次号8 位 20YYMMEE20260401
数量单位PCS 统一不要混用"件 / 吨 / 个"
客户虚构企业名称青岚制造 / 远川工业 / 星禾装备 / 云峤机械
设备GL-001 ~ GL-005副标题:1 号智能炉
工序固定词表铸造 / 镗孔 / 粗车 / 精车 / 钻孔 / 抛光 / 包装入库
班次三选一白班 / 夜班 / 中班
人员姓氏 + 单字张三 / 李四 / 王五 / 赵六 / 孙七 / 周八 / 吴九 / 郑十
多个单号同行展示用 中点 · 分隔,例:MO-2058 · LP-0427 · 20260401。禁止粘连不分隔。
17.2 CSS 命名约定
前缀所属章节含义
.btn / .bs-btn§09 / §22按钮基础类(bs- 是按钮系统专用,更完整)
.tag / .chip / .badge§11标记三件套
.status-*§125 状态简化版(卡片/平板)
.wb-*§20web status badge — 网页状态标签库
.bb-*§21business button — 业务按钮库
.bs-*§22button system — 完整按钮系统
.crud-*§18CRUD 工具栏
.nv-*§23navigation — 导航组件
.de-*§24data entry — 数据录入
.dd-*§25data display — 数据展示
.fb-*§26feedback — 反馈
.mb-*§27mobile / tablet — 触控组件
.is-*—状态修饰类(is-active / is-disabled / is-open / is-selected)
.has-*—布尔属性类(has-dd 表示带下拉)
新增组件时遵循:选 2 字母前缀(避免冲突)+ 模块语义。例如新加"日历视图"组件可用 .cv-*(calendar view)。状态类一律用 is-* / has-*。
18表格工具栏按钮组 · CRUD Toolbar
数据表格头部的标准操作集 · 按动作类别上色
完整工具栏(标准顺序)
分体下拉变体(split button)
主色 dropdown · 强调主操作 + 备用方式
浅灰 dropdown · 主色按钮 + 弱化备选
两种变体都见过。主色 dropdown 强调"还有别的新增方式"是平级;浅灰 dropdown 暗示主操作即默认、下拉是补充。同页面统一选一种。
规则速查
分类动作前景色使用场景
主操作新增#1A835C整个页面唯一一个实色按钮
信息 / 输入查看#167BE0详情查看
导入批量上传 / 数据导入
编辑修改记录
危险删除 / 清空 / 撤销#DF3630不可逆操作 · 通常需二次确认
输出 / 查询导出#1A835C导出 Excel / CSV
下载下载模板 / 下载附件
查询表单提交 / 筛选生效
尺寸:高 28,圆角 4,图标 14,间距 6(图标-文字)。宽度 72(短文案)/ 96(重点动作如 编辑/删除/查询,留呼吸感)。次操作底色 rgba(52,59,56,.05),hover rgba(52,59,56,.10)。
19表格总计行 · Sum Row
表格底部的统计行 · 高 32 / 灰底 / 数字 tabular
订单
数量
完工
良品
报工
待派
备注
MO-2058
120
120
119
120
0
已完工
MO-3001
85
85
85
85
0
已完工
总计
205
205
204
205
0
—
规则
属性值
高度32px
背景rgba(52, 59, 56, .05) · 与表头同浅灰,与 body 背景区分
顶部边框1px solid rgba(34, 39, 37, .08)
字号 / 行高12px / 16px
字色#222725(gray-800)· "总计"标签和数字同色,不加粗
数字格式font-variant-numeric: tabular-nums 等宽对齐 · 右对齐
对齐"总计"左对齐 · 数字列与表头列右对齐保持一致
位置始终固定于表格底部最后一行 · 不跟随分页(单页内统计 vs 全表统计 见下)
"总计"语义:默认是全表总计(跨分页),不是当前页。如需展示当前页统计,文案改为 "本页合计"。两者不要并排——容易误读。
不要把总计行做成深灰大字加粗、放主色背景,或用 footer-style 与表格分离的浮起卡片——会喧宾夺主。它只是表格的最后一行。
20网页端状态标签库 · Web Status
3 种款式 × 10 种语义色 · 用于业务流程节点标记
款式选用规则(最重要)
款式视觉语义典型文案
描边款 白底 + 同色边 + 同色字 待办 / 准备态 / 未开始 开立 · 待入库 · 待付款 · 待确认 · 审核 · 待处理 · 首检 · 终检
实色款 饱和色底 + 白字 进行中 / 流转中 / 关键操作 退货中 · 调拨中 · 发运中 · 入库中 · 开工 · 质检中 · 直接机器工时
柔和款 · 绿 浅绿底 + 绿边 + 绿字 成功完成(积极终态) 保存 · 入库完成 · 发运完成 · 审批通过 · 杂收完成 · 完工记录
柔和款 · 灰 浅灰底 + 灰边 + 灰字 中性终态 / 已 X 状态 已下架 · 已质检 · 已审核 · 已付款 · 关闭 · 已退款 · 已取消 · 已删除
柔和款 · 红 / 青 对应色浅底 + 边 + 字 否决 / 通过的特殊终态 拒绝 · 驳回 · 已核准
简记:"待"用描边、"中/操作"用实色、"已/完成/关闭"用柔和。同一业务流上的不同节点,款式会随状态推进自动变化(待入库 → 入库中 → 入库完成)。
语义色一览(可点击查阅)
语义色主值使用领域
蓝#167BE0通用待办 · 流程入口 · 信息类(开立 / 待入库 / 发运中 / 入库中)
橙#E79440流转过渡 · 暂停 · 退货 / 调拨 / 上下架(待退货 / 退货中 / 暂停)
黄#E6C840待办(拣货 / 付款)· 与橙色区分使用频率较低的等待
青#3ABBC2流程中段(待确认 / 待交接 / 拣货中)
浅绿#5FC25D积极态(审核 / 保存)· 区别于品牌深绿
中绿#389C75待处理 · 进行中的审批通过类(与品牌色稍区分)
主深绿#1A835C关键开工类(开工 / 开工记录 / 审批中)
紫#9966D9工时分类(直接机器工时 / 间接机器工时)· 与生产维度并行的辅助维度
红#DF3630异常 / 拒绝 / 待质检 / 质检中 / 驳回
深红#8C1F1F关键品控(过程检)· 比红更重
黑#14181B最终节点(终检)· 极少使用,需要"终止性"语感时才用
灰#6B7571中性终态(关闭 / 业务关闭 / 已退款 / 已取消 / 已删除)
完整标签集
描边款 · 待办 / 准备

白底 + 边 1px + 同色字。流程未开始或等待外部条件。

开立 待入库 待退货 待上架 待调出 暂停记录 暂停 待拣货 待付款 待确认 待交接 待接受 审核 待处理 间接机器工时 需要调整 审核不通过 待质检 首检 过程检 终检 暂停记录
实色款 · 进行中 / 操作

饱和色底 + 白字。流程正在执行的关键节点。

退货中 下架中 调拨中 发运中 入库中 开工 开工记录 交接中 确认中 拣货中 审批中 审核中 质检中 直接机器工时
柔和款 · 已完成 / 终态

浅底 + 同色细边 + 同色字。流程已关闭或最终结果。

保存 入库完成 发运完成 退货完成 审批通过 杂收完成 杂发完成 完工记录 已下架 已质检 已审核 已质检 已付款 关闭 业务关闭 短缺关闭 已退款 已取消 已删除 拒绝 驳回 已核准
规格
属性值
高度22px(标签紧凑场景可降至 20px)
圆角3px · 比 chip(999) 方正得多,与表格行融合
边框1px solid currentColor · 描边/柔和款共用,实色款 transparent
字号 / 字重12px / 400 · 不加粗,避免视觉过重
横向 padding10px
柔和款底色同色 8% 浓度(如红 #FCE4E2 = #DF3630 @ 8%)+ 30% 浓度边框
与 §12 状态徽章的关系:§12 是5 状态简化版,用于平板/卡片视图(done/doing/wait/error/委外/返工)。
§20 是网页端业务全集,用于网页端表格 / 详情页 / 流程节点。两者在视觉上有意区分(§12 圆角 999 胶囊 + 加粗,§20 圆角 3 方块 + 不加粗),不要混用。
21业务按钮库 · Business Buttons
120+ 业务动作 · 3 款式 + 5 色编码 · 基于实际产品按钮全集整理
3 种款式
实色款用于"页面唯一主操作 + 全局拒绝",描边款承担其余所有业务动作。注意:业务页面里描边款可能多达十几个,但实色款最多 1–2 个,主次靠款式区分而非颜色对比。
5 种描边色 · 语义
颜色主值语义典型动作
主绿 #1A835C 业务正向操作 · 默认 审核 / 保存 / 查询 / 确认 / 提交 / 开工 / 办理 / 启用 / 同步
蓝 #167BE0 系统 · 文件 · 数据导入导出 打印 / 上传 / 下载 / 复制 / 导出 Excel / 模板 / 刷新 / 转入
红 #DF3630 不可逆销毁 删除 / 批量删除 / 批量退回 / 清空
橙 #E79440 失效 · 禁用 · 标记问题 禁用 / 停用 / 失效 / 失效日期 / 品质事件 / 销标 / 取消转换
灰 #6B7571 中性收尾 · 不影响业务状态 关闭 / 收起 / 相关信息 / 编辑(纯文本编辑)
区分红 vs 橙:红=数据/记录的销毁(删除后不可恢复),橙=数据保留但状态变化(禁用后还可重新启用)。"批量退回"虽然不删数据但语义上是"否决/打回",归红。
实色主操作示例集
描边款 · 主绿(业务正向)
描边款 · 蓝(系统 / 文件)
蓝 vs 主绿的边界:同样叫"上传附件 / 下载附件"既出现在绿组也出现在蓝组——区分依据是动作主语。绿色组里"上传附件"是业务流程的一步(提交申请前补附件),蓝色组里是纯文件操作(详情页里的附件管理)。同名按钮在不同上下文用不同颜色。
描边款 · 红 / 橙 / 灰
命名 · 上色决策树
这个动作会让用户立刻看到结果(提交 / 完成代办 / 拒绝)?
├─ 是 + 唯一 + 正向 → 实色主色(页面唯一主操作)
├─ 是 + 全局否决性  → 实色红(拒绝级,少量)
└─ 否(描边款)
   ├─ 销毁数据(删除 / 批量退回 / 清空)         → 描边红
   ├─ 标记失效 / 禁用 / 标问题(保留数据但状态变) → 描边橙
   ├─ 中性收尾(关闭 / 收起 / 相关信息)         → 描边灰
   ├─ 文件 / 数据 / 系统级动作
   │   (打印 / 上传 / 下载 / 复制 / 同步 / 切换)→ 描边蓝
   └─ 其余业务动作(默认)                       → 描边主绿
规格
属性值
高度28px · 与 §18 CRUD 工具栏统一
圆角4px
字号 / 字重13px / 400 · 不加粗
横向 padding12px · 图标-文字间距 5px · 图标 14px
实色款背景 = 边框色 · 文字白色 · hover 加深 8%
描边款背景白 · 边框 1px = 文字色 · hover 背景 rgba(0,0,0,.02)
分体下拉按钮文字后跟 ▼ 三角(4px),点击同弹下拉菜单 · 不再分体
与 §09 / §18 的关系:
• §09 按钮 = 基础样式词典(primary / outline / ghost / sm/md/lg)。
• §18 CRUD 工具栏 = 表格头的标准 8 件套(新增/查看/编辑/删除/导入/导出/查询)+ 浅灰底款式。
• §21 业务按钮库(本节)= 全产品 120+ 业务动作的颜色编码与命名规范,描边白底。
三者互补:CRUD 工具栏是 §21 的特定子集(在表格场景下用浅灰底替代白底)。
22按钮系统 · Button System
尺寸 / 5 色 × 3 款式 / 5 状态 / 图标位置 / 按钮组 / 分体下拉
尺寸 Size
小 28px / .bs-btn-sm
默认 32px / .bs-btn
大 40px / .bs-btn-lg
5 色 × 3 款式矩阵
实色 Filled
柔和 Soft
文字 Text
主要 Primary
次要 Secondary
第三 Tertiary
警告 Warning
危险 Danger
层级递降:实色(最强 / 单页限用 1–2 个)→ 柔和(次操作)→ 文字(最弱 / 适合表格行内多个操作)。语义色按业务含义选,不要为了"好看"反向使用(如用红色做提交按钮)。
5 种状态 State
状态实色柔和文字变化规则
默认 token 主值
悬浮 实色 -1 阶 · 柔和 +1 阶浓度 · 文字加同色 50 底
点击 实色 -2 阶 · 柔和 / 文字 +2 阶浓度 · 短暂按压反馈
获取焦点 外加 2px 主色 45% 焦点环 · offset 2 · tab 键导航可见
禁用 所有色彩降到 30% 浓度 · cursor: not-allowed
焦点环 vs 悬浮:悬浮是鼠标 hover,焦点是键盘 tab 导航。两者不互相替代——使用 :focus-visible 仅在键盘聚焦时显示焦点环,不影响鼠标点击体验。
图标位置 Icon Position
图标+文字
文字+图标
只有图标
图标在前还是在后:动作主语在前 → 图标在前(" 搜索");指向性表达 → 图标在后("下一步 →"、"展开 ▼")。只有图标的按钮必须加 aria-label。
按钮组 Button Group
实色组
柔和组
文字组
按钮组用于同级互斥或并列的多个操作(如视图切换、分类筛选)。文字组的竖线分隔最常见——表格行内的"详情 | 编辑 | 删除"操作列。实色组和柔和组用于工具栏内的并列动作。
分体下拉 Split Button
实色
柔和
文字
展开后
指标判定
步骤判定
方案判定
分体下拉 = 主操作 + 备选操作。如"保存并提交"(默认行为)+ ▼(展开"指标判定 / 步骤判定 / 方案判定"等变体)。下拉触发器宽度 32(小尺寸 28),与主按钮等高,靠 1px 内阴影分隔。
规格速查
属性值
高度三档小 28px · 默认 32px · 大 40px
圆角4px(统一所有款式)
横向 padding小 12 · 默认 16 · 大 20
字号 / 字重小 12.5 / 默认 13.5 / 大 14.5 · weight 500
图标尺寸14px · 与文字间距 6px
过渡.15s ease · 同时变 background/border-color/color
焦点环2px solid rgba(主色, .45) · offset 2 · 仅 tab 键聚焦时显示
禁用降浓所有颜色降到 30%(实色用 #B8D4C7 等浅色映射)
与 §09 / §18 / §21 的关系:
• §08 = 入门级简介(primary / outline / ghost),保留为快速预览。
• §18 = 表格 CRUD 工具栏的特定 8 件套(浅灰底款式 + 5 色编码)。
• §21 = 全产品 120+ 业务动作的命名 + 上色规范。
• §22(本节)= 按钮的底层视觉系统(尺寸 / 款式矩阵 / 状态机 / 组合形态)。
实施时:先按 §22 选款式 → 再按 §21 / §18 选语义色与文案。
24数据录入 · DataEntry可交互
Input · Select · DatePicker · Upload · Radio · Checkbox · Switch · Rating
24.1 Input · 5 状态
默认 Default
获取焦点 Focus
警告 Warning
数据可能不完整
错误 Error
输入有误,请输入数字
禁用 Disabled
必填 *
此项为必填
24.2 尺寸 3 档
24.3 前后缀 Prefix / Suffix
图标前缀
图标后缀
文字前缀
¥
文字后缀
小时
24.4 Textarea + 字符计数
备注
10 / 100
24.5 Select 下拉选择
单选
月台一号 ✓
月台二号(鼠标悬浮)
月台三号
月台四号(已禁用)
分组选项
生产部门
烧结生产车间
成型生产车间
仓库
原料仓库
成品仓库
24.6 DatePicker 日期选择
业务日期
今天
昨天
前天
明天
近 3 天
近 7 天
近 15 天
近 30 天
近 45 天
近 60 天
本周
本月
本季
2024 年 6 月
日
一
二
三
四
五
六
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
快捷区放左侧(90px)+ 日历区放右侧。今天用主色描边;选中日填充主色;超出本月范围灰化。13 个常用快捷:今天 / 昨天 / 前天 / 明天 / 近 3-60 天 / 本周 / 本月 / 本季。
24.7 Upload 上传

点击或拖拽文件到此区域上传

可上传文件类型说明等 · 单文件 ≤ 50MB

松开开始上传

📄 报表数据.csv 123 KB ×
📄 认证材料.pdf
40% ×
⚠ 大文件.zip 上传失败 重试 ×
24.8 选择控件 Radio · Checkbox · Switch
单选 Radio
多选 Checkbox
开关 Switch
24.9 Rating 评分
外观-内壁
4.0
外观-结实度
3.0
5 星制 · 星 18px · 已选 #F5B400(金黄)· 未选 --gray-300 · 字号 13。常用于质检评分(外观-内壁/结实度/色泽/表面/边缘 等多维评分场景)。
规格速查
控件关键 token
Input 高度大 40 / 默认 32 / 小 28 · 圆角 4 · 边 1px
Input 焦点主色边框 + rgba(主色, .12) 2px 光晕
Input 错误--danger 边框 + 红色 .12 光晕 + 下方 12px 红字
Input 警告#FF9233 橙边 + 橙 .12 光晕
Affix 前后缀底色 --gray-50 · 与 input 之间 1px 分隔
Select 选中--green-25 底 + 主色字 + 字重 500 + 右侧 ✓
DatePicker左快捷 90 + 右日历 12 padding · 日单元 32×32 · 今天描边主色 · 选中填充主色
Upload Drop1.5px 虚线 + 浅灰底 · hover 主色边 + --green-25 底
Switch40×22 · 开 = --primary 底 · 滑块 18 + 1px 阴影
Rating星 18 · 已选 #F5B400 · 未选 --gray-300
25数据展示 · DataDisplay
Table · Card · Avatar · Description · Stat · Hover Popup
25.1 Table 表格
编码 名称 负责人 电话 地址 购买单价 状态 操作
M-001 原料 A 刘 刘秀梅 010-00000000 东城区建国门内 8 号 ¥ 1,999.99 已购买
M-002 成品 B 张 张小芮 010-00000000 丰台区西三环南路 12 号 ¥ 14,555,031.10 暂停
M-003 断号回收 吴 吴晓彤 010-00000000 平谷县新平北路 63 号 ¥ 473,987.97 认证中
3 个核心交互:(1) 行 hover → 浅灰底;(2) 行选中 → --green-25 底 + 左侧 3px 主色竖条;(3) 行 hover → 操作列从隐藏变可见(避免静态时操作列混杂噪声)。数字列右对齐 + tabular-nums。电话/编码用等宽字体。
25.2 Card 卡片
new 风景图 1
⊕ ×
主标题示例
主副标题 · 12/10 更新
P0 网页 默认标签
标准版 风景图 2
AIOT 模块
作为用户和系统之间的桥梁
紫色 橙色
风景图 3
填写时间
序号 · 编码 · 字段 · 实体
卡片宽 240 · 封面 140 · hover 时上浮 1px + 阴影增强 + 封面右上角操作按钮渐显(预览/删除)。tag 区域与 §11 复用。
25.3 Avatar 头像
3 档尺寸 小 默 大 20 / 28 / 36
配色 刘 张 吴 何 冯 姜 默
头像组
刘 张 吴 何 +3
头像组用 -8px 负边距错位叠加 + 1.5px 白边分隔。配色按姓氏 hash 落到 6 色(蓝/橙/青/紫/粉/黄),保证同一人始终同色。"+N"溢出徽章用浅灰底 + 灰字。
25.4 Description 字段值列表
名称
烧结生产车间
编码
M-2024-0612
负责人
刘 刘秀梅
电话
010-00000000
地址
东城区建国门内 8 号
安全等级
中
更新时间
2024-06-12 14:30
认证状态
已认证
实体
设备
模块名称
AIOT 模块
模块分类
开发工具
编码规则
M-{年}-{月日}{序号}
编码预览
M-2024-0612001
附件归属
系统管理 → 平台管理
标签 100px 灰字 / 值左对齐 · 行高 8px 间距。等宽列(编码/电话/时间)用 mono · 状态用 §20 标签。
25.5 Stat 统计数字
7 天留存
98%
▲ 2.3% 较上周
实际用户数量
14,555,031
▲ 12,584
(¥) 模块报价
473,987.97
增购用户数
1,999/2,500
▼ 8% 较计划
数字 26px / weight 700 / letter-spacing -.5 · 单位(%/小时/¥/分母)13px gray-500 · ▲ 上升用 success / ▼ 下降用 danger · 全部 tabular-nums 等宽。
25.6 Hover 浮层 / 气泡
这是悬浮出现的气泡 Tip
悬浮出现操作: 刘 刘秀梅 · 应用开发部
悬浮我
⊕ ×
悬浮出现删除按钮
3 类悬浮场景:(1) Tooltip 气泡(深底白字 + 三角指针);(2) 头像/链接 hover 显示信息;(3) 卡片 hover 显示操作(预览/删除等)渐显,从 0 → 100% 透明。关键:浮层不能被 overflow:hidden 裁切,需 position:fixed 挂到 body 或 z-index 提高。
26反馈 · Feedback可交互
Alert · Toast · Notification · Modal · Drawer · Progress · Result · Numbered Steps
试一试 Live Demo
点击按钮触发真实弹出效果
Modal:
Drawer:
Toast:
Notification:
Modal/Drawer 点击遮罩或 ESC 键关闭 · Toast 3 秒自动消失 · Notification 需手动 ×
26.1 Alert 横幅 · 4 色 + 默认
ⓘ
系统提示
今天有 12 条待办任务,请及时处理。
×
✓
提交成功
派工单 PG-260315-007 已分配给责任人。
×
⚠
设备异常预警
设备 GL-003 温度超标,请尽快检查处理。
×
⊗
操作受限
当前权限不足,请联系管理员开通。
×
●
默认提示信息(用作中性背景说明)
×
4 色对应:info 蓝(信息说明)/ success 绿(操作完成)/ warning 橙(需要注意)/ danger 红(错误警告)。每条 alert 由 4 部分组成:左 icon + 标题(粗)+ 正文 + 关闭 ×。所有通知的颜色都是这 4 类,不要自创第 5 种。
26.2 Toast / Message 浮动消息
✓提交成功
!请尽快处理待办
×操作失败,请重试
i今天有 12 条待办
⟳解析中…
页面中上部出现 · 单行简洁 · 2 类行为:(1) 自动消失(3-5 秒)+ 点击关闭;(2) 不会自动消失(需手动关)—— 后者用于错误或需用户阅读的关键信息。z-index 高于下拉框但与下拉同级(不要遮主操作)。
26.3 Notification 通知卡(系统级)
升级完成! ×
系统已经运行 100 天!
本次更新内容包括:
· 新增数据导入功能
· 优化页面响应速度
⚠ 设备异常预警 ×
设备 GL-003 温度超标 80°C,请尽快前往现场检查处理。
宽 320px · 右上角弹出 · 用作系统级别、必要的通知(升级 / 公告 / 重要预警),与 Toast 区分:Toast 是操作即时反馈(短暂),Notification 是持久信息(用户主动关闭)。左侧 4px 主色边条标识类型。
26.4 Modal 弹窗
⚠ 确定删除该派工单? ×
删除后将不可恢复,是否继续?
确定提交审核? ×
这个操作将提交审核,提交后无法撤回。
宽度 320px(标准窄 modal,确认/警告类)· 圆角 8 · 阴影 lg · 标题左对齐 · 底部按钮右对齐(取消文字 + 确认/危险实色)。关闭按钮的交互:右上角 × · ESC · 点击遮罩任一项可关闭,但危险操作只允许显式按钮。
26.5 Drawer 抽屉(侧滑)
详情面板 ×
水平 / 垂直可选 · 此处为右侧水平滑入。

抽屉适合展示详细信息或表单,避免页面跳转。和下拉框同级 z-index(高于普通弹窗低于 Modal)。

内容按需滚动,关闭按钮固定在头部右上。
宽 360(默认)· 右侧滑入 · 与下拉框同 z-index 同级。不要在抽屉里再嵌 Modal——会造成视觉层级混乱。
26.6 Progress 进度
50%
75%
30%
90%
50%
75%
✓
条形高 8 · 圆角 4 · 数字右侧 · 4 色(默认主色 / success / warning / danger)。环形 64×64,内圆 6px 留白。
26.7 Result 结果页
✓
提交成功
派工单 PG-260315-007 已成功提交并分配给责任人
×
操作失败
系统暂时无法响应,请稍后重试或联系管理员。
⚠
异常已记录
注意:设备 GL-003 已加入待巡检列表
26.8 Numbered Steps 数字步骤
1 设备管理 · 已完成
2 设备档案 · 进行中
3 设备清单 · 未开始
相比 §23.3 Steps(横向 + 进度连线),这里是纵向编号列表,更适合表单引导 / 任务清单。已完成用 --green-25,进行中实色主色,未开始浅灰。
类型选择决策树
需要反馈 / 通知用户?
├─ 与某次操作即时关联?
│   ├─ 简短文字 (≤ 1 行)               → Toast / Message(自动消失 3-5s)
│   ├─ 阻塞式确认或选择                 → Modal(320px 宽)
│   ├─ 需要展示详情 / 多字段表单         → Drawer(360px 右滑)
│   └─ 操作后跳转的最终页(成功/失败/警告)→ Result(icon + 标题 + 描述 + 操作)
│
├─ 持续告知用户某种状态?
│   ├─ 行内位置(在内容流中)            → Alert(4 色横幅)
│   └─ 全局位置(右上角)                → Notification(320px 卡片,需手动关)
│
└─ 显示进度?
    ├─ 单维度比例                       → Progress 条形 / 环形(4 色)
    └─ 多步骤流程                       → Numbered Steps(纵向)/ §23.3 Steps(横向)
27平板 / 移动端专属 · Touch Components可交互
块级按钮 · Stepper · 列表卡片 · 卡片变体 · 触控状态 · 生产业务状态
27.1 块级按钮 Block Button(手机端固定底部)
表单内容…
填写完成后点击底部主操作。
删除二次确认场景
单按钮(默认)
点按状态
柔和款 / 弱化
禁用
手机端固定底部主操作 = 高度 44px / 圆角 6 / 字号 15。双按钮场景:左次右主,等宽。背景独立白条 + 1px 顶边 + 12px padding。不要把 PC 的 32px 按钮直接缩放到手机 — 触控目标必须 ≥ 44px。
27.2 Stepper 步进器
大 40
默认 32
小 26
边界禁用
已到下限,左减号禁用
按钮 = 输入高度的 1:1 方块 · 间距用 1px 内分隔线(不留空隙,触控连贯)· 数字 tabular-nums 等宽 · 到达上下限时按钮禁用变灰。常用于 派工数量、报工数、质检数。
27.3 列表卡片 List Card(带 chevron)
设备管理
12 台在线 · 2 台维修
›
设备档案
点按未松手
›
设备清单
已选中
›
异常记录
3 条待处理
›
1
第一班组
8 人 · 早班
›
2
第二班组
7 人 · 中班
›
3
第三班组
9 人 · 夜班
›
单行高 56–60 · 左 36×36 图标盒(浅色底 + 深色图标)· 中部上下双行(标题 14.5 / 副标 12.5)· 右侧 chevron 或额外信息 · 整行可点击。点按时灰底反馈,选中时 --green-25 底。
27.4 卡片变体 Card Variants
简洁卡片
单行 · 标题 + 描述
已完成
基础卡片(选中)
边框主色 + 浅绿底
进行中
复合卡片 · 派工单
PGD308080004
已派工
品名
14 规硅胶奶嘴 Xs 号
料号
DMA2022052100
数量
5,400 PCS
班组
第二班组
三档复杂度:(1) 简洁卡片—单行标题+状态徽章;(2) 基础卡片—标题+描述+状态,可选中;(3) 复合卡片—头部 + 字段网格 + 操作栏。选中态用主色边 + --green-25 底 + 2px 主色光晕。
27.5 卡片图模式 Image Modes
大图模式 · 卡片宽 240
大图占位 · 16:9
智能仓储
物流管理 · 备品备件仓库
小图模式 · 行内 64×64
缩略
设备详情
2024-06-12 14:30 更新 · 操作员 A
活跃状态
大图用于纯视觉浏览(仓库列表、车间看板)·封面 16:9;小图用于密集信息列表(设备明细、人员记录)·缩略 64×64。两者不要混用——同一列表保持统一密度。
27.6 触控状态 Touch States(替代 hover)
静止
手指按下,按钮压暗 + 缩 .97
松手瞬间 8px 主色光晕
无响应
触控设备没有 hover。三个状态:默认 → 点按未松手(pressing)→ 点击松手(clicked)。点按用 scale(.97) 短暂缩放 + 颜色加深;松手时 box-shadow: 0 0 0 8px rgba(主色,.15) 一次性涟漪反馈(200ms 后消失)。
27.7 生产业务状态(QMS / 平板专属)
派工 呼料 扫码 质检中 合格 不合格 返工 放行
使用示例 · 派工单内嵌
14 规硅胶奶嘴 Xs 号
SC30001542004 · DMA2022052100
质检中
计划数量
5,400 PCS
已完工
3,200 PCS
不良数
12 PCS
返工数
5 PCS
QMS 平板专属业务节点:派工 → 呼料 → 扫码 → 质检(合格 / 不合格 / 返工) → 放行。颜色编码与 §20 状态标签库一致但用方块圆角 3px、字号 12 不加粗。状态后通常跟数字(不良数 / 返工数)—— 数字用对应业务色,便于车间看板远距离识别。
规格速查 + 与已有章节关系
组件平台关键 token / 关系
块级按钮手机44px 高 / 圆角 6 / 字号 15 · 替代 §09 `.btn` 在手机端使用
Stepper平板 + 手机3 档 26/32/40 · 数字 tabular-nums · 触控目标 ≥ 26
列表卡片平板 + 手机行高 56-60 · 替代 §25.1 web 表格在触控场景下使用
卡片变体平板 + 手机简洁 / 基础 / 复合 三档 · 选中态 --green-25 + 主色边
大图 / 小图平板大图 16:9 封面(浏览)· 小图 64×64 行内(明细)
触控状态平板 + 手机没有 hover · 默认 → 点按 → 点击瞬间 三态 · scale + 涟漪
生产业务状态平板QMS 8 种状态 · 复用 §20 颜色但圆角 3 字号 12
已有 / 不重复:Button / Form / Date / Time / Switch / Tag / Search 在 §09 §22 §24 已覆盖,可直接复用,触控场景注意尺寸放大到 ≥ 32(默认)/ ≥ 40(块级)
28无障碍 · A11y
对比度 · 键盘焦点 · ARIA · 语义化 — B 端中后台必备
28.1 对比度 Contrast Ratio
主色按钮文字 ✓ AAA · 7.2:1
正文 · gray-900 on white ✓ AAA · 18.9:1
次要文字 · gray-500 on white ✓ AA · 5.4:1
占位符 · gray-400 on white(仅装饰) ✗ 不达标 · 3.1:1(非交互不强制)
选中行文字 · primary-dark on green-25 ✓ AAA · 8.4:1
WCAG 标准:正文 AA 4.5:1 / AAA 7:1;大字号(18px+)AA 3:1 / AAA 4.5:1。所有交互元素的文字(按钮、链接、表单标签)必须达 AA 4.5:1。占位符、禁用态文字属装饰性,可放宽。
28.2 键盘焦点 Focus Visible
2px 主色实线 + 2px 偏移 — Tab 键导航时清晰可见
1px 灰虚线 — 视障用户难辨识
outline: none 无任何焦点提示 — 完全无法键盘操作
规范:所有可聚焦元素(button / a / input / [tabindex])必须有明显焦点环。统一用 :focus-visible 选择器(避免鼠标点击也显示焦点环):
:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
28.3 ARIA 与语义化
场景正确做法
仅图标按钮必须加 aria-label="搜索" · 不能只放 svg
表单输入<label for="..."> 配对 · 占位符 ≠ 标签
必填字段红 * 视觉 + aria-required="true"
错误提示aria-invalid="true" + 错误信息 id 关联到 aria-describedby
下拉菜单role="menu" · 触发器 aria-haspopup="menu" + aria-expanded
Modalrole="dialog" + aria-modal="true" + aria-labelledby · 打开后焦点移入 · 关闭后归还
Toast 通知role="status" 或 role="alert" · 屏幕阅读器自动播报
表格<thead><th scope="col"> · 不要用 div 模拟表格
装饰性图标aria-hidden="true" · 阻止屏幕阅读器读出
28.4 键盘操作约定
按键行为
Tab下一个可聚焦元素
Shift + Tab上一个可聚焦元素
Enter / Space激活当前按钮 / 链接
↑ ↓菜单 / 列表项之间移动
Esc关闭 Modal / Drawer / 下拉菜单
Home / End跳到列表首项 / 末项
29动效 · Motion
动画时长 · 缓动函数 · 何时用何不用
29.1 时长阶梯 Duration
最快 instant
100ms
点击反馈 / 微小状态切换 ·
默认 default ⭐
150ms
按钮 hover / 颜色切换 ·
中速 medium
200ms
下拉展开 / Tab 切换 ·
慢速 slow
300ms
Modal / Drawer 入场 ·
最慢 slowest
500ms
仅页面级转场 ·
硬约束:B 端中后台动效 ≤ 300ms。超过 .3s 会让"高频操作的用户"觉得迟滞。500ms 仅用于页面整体转场,不要用于按钮 / 输入框。
29.2 缓动函数 Easing
函数CSS用途
ease ⭐ease默认 · 大多数 hover / 颜色变化
ease-outease-out元素入场(淡入 / 滑入)
ease-inease-in元素出场(淡出 / 滑出)
linearlinear仅用于进度条 / 加载旋转
cubic-bezier 弹cubic-bezier(.34,1.56,.64,1)极少 · 仅 Toast 入场或庆祝场景
规则:不要在同一页面用超过 2 种 easing。默认全部用 ease,特殊场景才换。
29.3 何时不用动画
  • 表格行 hover —— 直接改背景色,不要 transition(高频操作时叠加动画反而卡顿)
  • 键盘上下箭头切换菜单项 —— 即时响应,不要平滑滚动
  • 表单 focus —— 边框色直接变,光晕同步出现
  • 用户偏好prefers-reduced-motion: reduce —— 必须禁用所有非必要动画
无障碍要求:必须支持 @media (prefers-reduced-motion: reduce),对前庭功能障碍用户禁用动画。
29.4 入场动画 Entry · 鼠标移到卡片预览
Fade
仅透明度 · Toast / Tooltip
Slide Up
从下方滑入 · 列表项 / Modal
Slide Right
从左滑入 · Drawer / 抽屉
Scale
缩放入场 · Popover / 下拉菜单
规则:所有入场动画固定 .25s ease-out;出场用 ease-in,时长砍半到 .15s,让 UI 感觉"来得慢,走得快"。
29.5 微交互 Micro · hover / press / focus
悬停我
Lift · 抬升
translateY(-2px) + 阴影加深。卡片、可点击行使用。
按下我
Press · 按压
scale(.97) 短暂按压。按钮 / 工具栏按钮使用。
聚焦我
Glow · 光晕
主色边框 + 12% 主色光晕。输入框、可聚焦元素使用。
29.6 数字滚动 Number Roll · 大屏关键指标
今日产量 · pcs 12,480
用法:仅用于驾驶舱 / 大屏 / 关键 KPI 卡片。后台普通页面的数字变化不要滚动,会让用户反复看不清。时长固定 .6s ease-out。
30响应式断点 · Breakpoints
设备宽度 / 内容容器 / 何时折叠或横滚
30.1 4 档断点
390 手机
768 平板
1280 桌面
1440+ 大屏
档位设备宽度CSS 媒体查询典型场景
手机≤ 480(max-width: 480px)iPhone / 单列堆叠 / 块级按钮
平板481-1024(min-width: 481px)iPad / 车间平板 1280×800 · 触控为主
桌面 ⭐1025-1440(min-width: 1025px)主战场 · 网页中后台 1280-1366
大屏≥ 1441(min-width: 1441px)大屏看板 / 监控屏 · 数据可视化
30.2 内容容器宽度
容器最大宽说明
页面 max-width1440px大屏不无限拉伸 · 居中留白
表单容器640-720px单列表单避免视线左右扫太长
表格100%充满剩余宽度 · 列数过多时横向滚动
详情两栏主 60% / 边 40%左主栏正文 · 右边栏元信息
侧边栏208 / 240紧凑 / 标准 两档(见 §23.2)
30.3 折叠 / 横滚 / 堆叠 决策树
屏宽不够放下完整内容时?
├─ 表格列太多
│   └─ 横向滚动(保留表头固定 · 不要折叠列)
├─ 多列卡片放不下
│   └─ 自动换行(CSS Grid auto-fit + minmax)
├─ 顶部导航过长
│   ├─ 桌面:保留全部
│   ├─ 平板:合并次要项到"更多 ▼"
│   └─ 手机:汉堡菜单 ☰ 收起所有
├─ 侧边栏占地太大
│   └─ 折叠成图标列(240 → 56) · hover 弹出二级菜单
└─ 表单字段
    └─ 多列改单列堆叠(避免缩到不可读)
30.4 平台响应规则
规则桌面平板手机
触控目标≥ 28≥ 32≥ 44
主操作位置顶部右顶部右底部固定(块级按钮)
字号基准13-141415-16
页面 padding24-3216-2412-16
表格完整列横滚卡片化(每行变卡片)
Modal 宽320-64080vw全屏 / 底部弹层
31反模式 · Don't
迭代过程中已被否决的做法
不要
  • 饱和深色卡片大色块(与浅色页面冲突)
  • Lucide pencil-line 编辑图标,统一用项目内 SVG
  • "已派至 GL-XXX 25PCS" 这种冗余标签 → 派完直接隐藏整张订单卡
  • 派完后置灰半透明 → 改为 display: none
  • 卡片内 position: absolute 浮层(被 overflow:hidden 裁切)
  • 原生 title="" tooltip → 改用白底自定义浮层
  • 多个单号粘连不加分隔符 → 用中点 ·
  • 同页面 2 个以上 primary 按钮
  • 不必要的 emoji 装饰
  • 过渡时长超过 .25s(除 Modal 入场)
要
  • 浅底 + 强字(饱和度让位给字号 / 字重)
  • 默认折叠核心 4 行,hover 浮层显次要 ID
  • Hover 浮层挂到 document.body,避免被裁
  • 悬浮态 translateY(-1px) + 阴影加深 + 边框变主色
  • 激活态 scale(.97) 短暂按压
  • 所有交互过渡 .15s ~ .18s
  • 数字一律 tabular-nums,列对齐
  • 状态色编码全站统一(见 §12)
  • 新页面先按 §16 页面层级 排好骨架,再逐节套组件
32加载状态 · Loading可交互
QINGLAN 品牌 Loader · 通用 Spinner · 骨架屏 · 进度条 · 按钮 Loading
32.1 QINGLAN 品牌 Loader · 8 色旋转
使用场景
Loading…
首次进入页面 / 整页路由切换
3 档尺寸
sm · 32px
md · 64px ⭐
lg · 80px
规则:品牌 Loader 仅用于首次进入页面、整页路由切换、骨架渲染前的"过门"。卡片内 / 按钮内 / 输入框内的小型异步反馈,统一改用 32.2 的圆环 Spinner,不要把品牌 8 色塞进局部。
32.2 通用 Spinner · 局部加载
圆环
三点 · 文字行内
数据查询中
选择:圆环 — 按钮 / 输入框 / 卡片角落;三点 — 紧贴文字("正在计算中…")。同一页面只用一种。
32.3 骨架屏 Skeleton · 列表 / 卡片
卡片骨架
列表骨架 · 3 行
用法:骨架屏必须复刻真实结构(头像在哪个位置、有几行文字),否则用户感受到的"布局闪烁"比转圈更糟。仅用于首次加载,二次刷新 / 翻页用 32.2 圆环。
32.4 进度条 Progress
确定进度
36%
100%
异常
不定进度 Indeterminate

用于"不知道还要多久"的场景(接口拉取 / 后台导出)。

32.5 按钮 Loading · 表单提交
按钮进入 loading:禁用点击、文案改成进行时("保存中",不是"保存")。
32.6 表格行内进度条 · Table Progress Pill
表格单元格里的真实用法 · md (20px)
订单号 产品 数量 完成进度 状态
PO-2026-0511 夹克 · 男 · L 320
16%
待开工
PO-2026-0510 夹克 · 男 · M 180
50%
进行中
PO-2026-0509 风衣 · 女 · S 96
60%
进行中
PO-2026-0508 衬衫 · 中性 · M 240
75%
进行中
PO-2026-0507 大衣 · 男 · XL 60
100%
已完工
3 档高度 · 不同表格密度
55%
sm · 16px · 紧凑表格 (行高 ≤ 32)
55%
md · 20px ⭐ · 标准表格 (行高 36-40)
55%
lg · 26px · 看板卡片 (行高 ≥ 48)
4 档语义色
16%
55%
88%
40%

按数值自动切换颜色(见下方阈值表)。
.is-info 蓝色仅用于"非完成度"场景(如加载、网络强度等中性数值)。

阈值语义色Class含义
0 – 29% 红 danger.is-danger严重落后 · 需立即关注
30 – 69% 橙 warning.is-warning进行中 · 需监控
70 – 99% 绿 success.is-success接近达成 · 正常推进
100% 绿 fill 满.is-success已完成 · 整圈实心
用法:用于表格"完成度"列 / 看板卡片完成率。颜色根据数值自动切换语义色,业务方不要自行指定颜色 —— 否则全站语义就乱了。整列宽度建议 100 – 120px,宽度由列控制,组件自身 width: 100% 自适应。
无障碍:容器必须加 role="progressbar" aria-valuenow aria-valuemin="0" aria-valuemax="100",屏幕阅读器才能播报;数字本身也已表达进度,色弱用户依然可读。
33空状态 · Empty States
5 种情境 · 图标 + 标题 + 描述 + 行动按钮 · 永远不要"什么都不显示"
A · 暂无数据
暂无生产订单
当前筛选条件下没有匹配的记录。可以清除筛选,或新建一条订单。
B · 搜索无结果
没有找到 "PO-2026-0511"
请检查关键词拼写,或尝试更宽泛的关键词。
C · 无权限
您没有访问该模块的权限
请联系管理员开通"生产订单 · 编辑"权限,或返回上级页面。
D · 加载失败 / 网络错误
加载失败
网络异常或服务暂时不可用,请稍后再试。错误码 500。
E · 全部完成(正向)
所有工序都已完成
本订单 28 道工序全部完工,可以进入入库环节。
三件事必备:① 中性图标(不要笑脸 emoji);② 一句话说明 为什么是空的;③ 至少一个 行动按钮把用户带出空状态(清除筛选 / 新建 / 重试 / 返回)。错误态用红色图标盒,正向用主色绿,无权限用紫色,其他情境保持灰中性。
34表格交互细节 · Table Interactions
表头筛选 · 列宽调整 · 固定列 · 行选中 · 空表态 —— 业务表格的"隐性约定"
34.1 表头:筛选 / 排序 / 调宽
订单号 产品名称 数量 状态
PO-2026-0511夹克 · 男 · L320进行中
PO-2026-0510夹克 · 男 · M180待开工
PO-2026-0509风衣 · 女 · S96已完工
三个表头交互信号:① 列标题 hover 时右侧出现筛选漏斗图标 · ② 已应用筛选的列:标题变主色 + 漏斗常驻 · ③ 列分隔线 hover 变深灰,鼠标 cursor 变 col-resize。不要把筛选图标默认全部点亮,会让表头噪音过大。
34.2 固定列 Fixed Column · 横向滚动场景
订单号 客户 产品 SKU 颜色 尺码 数量 操作
PO-2026-0511 青岚服饰夹克JK-001黑L 320 详情
PO-2026-0510 远川服装风衣WC-201米M 180 详情
规则:左固定 = 业务主键(订单号 / 编码 / 物料号);右固定 = 操作列。固定列必须有阴影(左侧 box-shadow: 6px 0、右侧 -6px 0),否则用户感觉不到"它在浮着"。
34.3 行状态 · hover / 选中 / 空表
hover & 选中
订单状态
PO-2026-0511进行中
PO-2026-0510待开工
PO-2026-0509已完工

hover:背景 --gray-25 · 选中:背景 --primary-light + 左侧 3px 主色色条。

空表态
订单产品数量
暂无数据

空表 = 表头保留 + 表体合并单元格 + 居中图标 + 说明文字。不要整个表格塌掉。

34.4 性能红线
  • 单页表格行数 > 100 行 → 必须分页或虚拟滚动,不能一次渲染全部
  • 表格行 hover 不要用 transition,直接换背景色,否则鼠标快速划过会卡顿
  • 每个单元格不要都包 tooltip,仅截断省略号的单元格才挂 hover 浮层
  • 批量操作选中超过 50 行 → 提示用户"已选 N 项",并提供"全选当前页 / 反选"
35系统头部 · AppBar
网页端"应用外壳"两层结构:白底品牌条 + 绿底多标签条;业务子页面(如派工/批量/扫码)另有单层 40px 绿条作"页面头部"。
35.1 应用外壳头部 · Web 端
101 - 青岚制造科技有限公司
中文 设计环境 38 CJ0213
结构(标准来源:生产订单-网页端.html):两层 —— 上层 36px 白底(.system-bar):左 logo + 公司名 13/400/主色,中 Qinglan 彩色 SVG(绝对定位居中),右 语言 / 环境 / 图标按钮(消息含红点 .pip)/ 版本号;下层 30px 主色(.tab-bar):tab-left 收藏 + 主页,tabs 已打开页面。默认 tab 填满 30px;hover / active 下沉 6px、变 24px 高 + 8 8 0 0 圆角 —— hover --primary-light 底 + 主色字,active 白底 + 主色字。两层合计 66px。
35.2 业务子页面头部 · Page Header
辊体车间批量派工
排产日期
张
结构:进入派工/批量/扫码这类子模块后,模块自带的页面头部是单层 40px 主色通条(左返回 + 标题,右挂业务工具)。它出现在 35.1 应用外壳的下方,不替代外壳,而是被外壳包裹。
35.3 平板 / 移动端头部
扫码开完工
结构:触控端单层 44px 主色条,标题居中,左侧返回箭头、右侧固定 1-2 个工具图标(单据 / 通知)。不放公司名、tab 栏,避免触摸误操作。来源:扫码批量开完工-平板端/手机端、批量开工/完工-平板端。
35.4 规格 Spec
部位值说明
外壳上层(白底)36pxlogo + 公司名 · 右侧 环境名 / 客服 / 全屏 / 用户名
外壳下层(主色 tab 栏)32px左收藏星 + 首页图标 + 已打开 tab;激活 tab 白底主色字
外壳总高68px正文 padding-top 起算
子页面页面头部(Web)40px主色一通到底 · 左返回 + 标题,右挂业务工具
触控端头部44px主色一通到底 · 标题居中
Logo22 × 228 色 segments · 见 §32.1 动效版
公司名14px / gray-700 / 500外壳上层左侧
用户/头像外壳: 文本 13px · 子页: 26px 圆外壳放姓名+title("王工"),子页放主色头像
tab 高度 / 内距32px / 0 14px未激活白字 60% 透明 · 激活白底主色字 + × 关闭
tab × 关闭按钮14 × 14hover 红色实心 · 激活 tab 内显示主色淡色
35.5 行为约束
  • 外壳常驻置顶:滚动时整个 68px 外壳 position: sticky; top: 0;;进入子模块时,子模块的 40px 页面头部位于外壳下方,正文继续从 y=108 起算。
  • 外壳的 tab 栏就是导航本身,不要再画面包屑、不要再做主导航 Tab(如"工作台/生产/订单/库存/报表"已被 tab 栏替代)。
  • 子页面的返回箭头是后退(关闭当前 tab 或回到上级路由),不要把它当作"取消"。批量开工/完工底栏已移除独立的"取消"按钮,统一走头部返回。
  • 右侧工具区固定顺序:外壳层 = 环境名 → 客服 → 全屏 → 用户名;子页面层 = 业务挂载(日期/筛选)→ 通知 → 头像。新增功能塞到工具图标列表里,不要破坏顺序。
  • 不要在任何头部放业务主操作按钮(提交/保存/打印),那是正文底栏 §37.9 的责任。
  • 触控端不显示外壳,只显示子页面的 44px 头部;外壳是 Web 多任务窗口(多 tab)的特性,在平板/手机上不适用。
36分隔条 · Splitter可交互
1px 浅线 + 白色 16×40 SVG 胶囊(含深灰 grip)· hover / 拖动时阴影加深,颜色保持中性灰白 · 拷自 下料排产-网页端
36.1 纵向分隔 · 左右面板
左侧面板

资源 / 设备 / 工序列表

把鼠标移到中间 28px 拖动区,胶囊阴影加深、cursor 变 col-resize;按住拖动即可调宽,颜色保持中性灰白。

右侧面板

排产甘特图 / 详情视图

36.2 横向分隔 · 上下面板
上半区

主视图 / 看板

下半区

日志 / 详情 / 控制台

36.3 规格
部位值说明
容器宽 / 高28px拖拽容器自带 28px 点击热区,避免 1px 难命中
中线1px · #eceff0位于容器正中,不随状态变色,始终保持中性灰
Thumb(胶囊)16 × 40 · SVG白底 #FFFFFF · 1px 描边 #E1E5E7 · 横向变体 40 × 16
Thumb 阴影drop-shadow(0 2px 5 .10) + (0 0 .5 .04)hover/拖动加深为 (0 3px 8 .15) + (0 0 .5 .06)(颜色不变)
Grip 竖条rect 4 × 28 · rx 2 · #222725 .55始终深灰,不随状态变色
Cursorcol-resize / row-resize纵分隔 col · 横分隔 row
触发态 class.is-draggingpointerdown 时 JS 加上、pointerup 移除(仅用于加深阴影,无颜色变化)
36.4 行为约束
  • 面板必须有最小宽度/高度(建议 ≥ 200px),拖到最小后停住,不要允许拖到 0 把面板挤没
  • 拖动时给容器加 user-select: none,避免误选文字
  • 双击 thumb 恢复默认比例(约定俗成的快捷动作,不要跳菜单或弹窗)
  • 同一页面最多 2 个分隔条(一纵 + 一横),再多就该用 Tab 或 Drawer 替代
  • 键盘可达:thumb tabindex="0" + 左右/上下箭头每次 16px,Home/End 切到极限位
  • 容器加 role="separator" aria-orientation + 描述性 aria-label
37工序作业 · WorkPipeline
提取自 批量开工/完工、扫码批量开完工、派工单批量派工、下料排产。覆盖工序状态全链路、批量扫码与确认场景的复用组件。
37.1 工序五状态徽章 · Status Pill
等前序 待执行 生产中 异常暂停 已完工
配色 token 与推演规则统一见 §12 状态色编码;本节只展示组件结构。SVG 嵌入式徽章,currentColor 跟随类名变色,业务直接 <span class="wp-status-pill s-XXX">...</span> 即可。
37.2 工序卡 · Step Card
✓
1成型
50 / 50
已完工
2镗孔
6 / 10
生产中
3磨床
12 / 20
异常暂停
4性能测试
0 / 10
待执行
5质检
0 / 10
等前序
交互规则:
· 点卡片体 = 切换勾选(is-selected + checkbox)。已完工卡片不响应点击。
· 右下角 i 圆形按钮 = 查看详情(独立点击区域,event.stopPropagation)。
· 卡片底色(done/doing/paused/wait-pre)直观传达状态,徽章 pill 提供文字冗余。
37.3 工艺路线行 · Process Row + "···" 占位
✓
1成型
50/50
→
→
3镗孔
6/10
→
→
5质检
0/10
状态筛选生效后,未匹配的工序变成 36px 宽的 ··· 占位(.is-filtered),保留工序流位置感,箭头照常显示。整行无匹配则隐藏整段工艺路线(.process-section-wrap.filter-empty)。
37.4 行内开关 · Inline Switch
文字在左 + 开关在右(flex order 实现)。文案固定为"行为名称",不随状态翻转;ON / OFF 由开关位置直观表达。常用于"是否显示全部"、"是否启用筛选"等设置项。
37.5 扫码输入条 · Inline Scan Input
两种触发:① 直接输入码值按 Enter 提交;② 点右侧"扫码"按钮弹顶部悬浮扫码框(见 37.6)。共用一组 JS:_scanMode = 'step' | 'container' | 'dispatch',提交时根据 mode 分流。
37.6 悬浮扫码框 · Top Scan Modal
覆盖整个内容区(position: absolute; inset: 0 + 半透明黑遮罩),白色横条距 AppBar 16px,水平内距 24px。点遮罩或按 Esc 关闭。同样的横条根据当前 _scanMode 复用,placeholder 切换为 "请扫码 / 扫描容器号 / 扫描或输入派工单二维码"。
37.7 危险二次确认 · Confirm Modal
确认移除此标签?
移除后该标签不会参与本次批量完工,您可重新扫码加入。
P2024052002 OP010 铸造-粗坯
所有破坏性操作(删除单项、清空列表、重置批次)都走二次确认。Modal 宽 420px、圆角 16、左侧 40px 圆形 icon 配 danger-light 底色 + 红色文字。Esc 关闭、点遮罩关闭、左下"取消"按钮关闭,右下红色"确认"按钮执行。
37.8 产品缩略图 · Card Thumbnail
粗坯/铸造
精车/成品
镗孔/钻孔
质检/交接
委外
返工/修复
统一中性底色 #F3F5F7 + 细边框,模拟图片占位。SVG 线条颜色按工序类别区分(橙/靛/蓝/绿/紫/红),实际产品落地时可替换为真实产品照片。
37.9 底部操作栏顺序 · Bottom Action Bar
位次动作样式典型用途
1 左打印 / 打印标签outline tinted非破坏,副操作
2保存 / 保存草稿outline tinted非破坏,副操作
3重置 / 批量开工 / 批量完工outline tinted + refresh 图标清空当前扫码列表,重新来过(带 toast 反馈,不弹确认)
4 右提交开工 / 确认完工primary 实底绿主操作,最右侧最显眼
四端"打印 · 保存 · 重置 · 提交"统一顺序在批量开工 / 批量完工的平板端、手机端、扫码批量开完工 都已对齐。不要乱序也不要叠加"取消"按钮——左上角的返回箭头已是取消入口。
返回作品目录 ↗返回原型目录 ↗