主操作 / 链接
页面主按钮、AppBar、激活态、品牌区域。同页面同时只允许一个主按钮。
完成 / 正面状态
"已完工"徽章、成功 toast、打勾 ✓。亮绿 #3FB33E,区别于品牌深绿。
选中 / 当前激活
侧边菜单当前项底色、表格选中行、步骤条已完成节点。比 --green-50 还浅一档,专门承载持久性激活态。
进行中 / 提醒
"进行中"徽章、轻量警告、需要注意但非错误的状态。
错误 / 危险
表单校验失败、删除按钮、错误 toast、未读消息红点。
信息 / 计数
派工单号 chip、数量统计、信息类徽章。青岚项目蓝色用得最少。
委外 / 容器
委外工序、容器统计、与生产无直接关系的辅助维度。
返工 / 中性警示
返工、暂停、半完成态。橙色比红色更"温和"。
次要文本 / 待开工
说明文字、占位符、灰色系状态(待开工、已禁用)。
平台支持 7 个预设主题,每个主题改变 Primary(品牌主色)及其浅色变体; Secondary(信息蓝)和 Tertiary(中性灰)保持不变,确保跨主题的信息层级一致。
主题切换通过 [data-theme] 属性覆盖一组 CSS 变量。所有按钮、状态、选中态、章节标题竖条等使用 var(--primary) 的元素都会随主题自动变化。
| 变量名 | 用途 |
|---|---|
--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 | 选中行 / 激活节点 / 当前菜单底色(与主色调和) |
#167BE0) · Danger 红 (#DF3630) · Warning 橙 (#FF9233) · Success 绿 (#3FB33E)。语义色不应跟随主题变——红色永远是危险,橙色永远是警告,否则用户会迷失。
font-variant-numeric: tabular-nums;
stroke="currentColor",颜色跟随父元素自动变化(按钮变色、主题切换都生效)。
| 形态 | 用途 | 是否可点击 | 是否带数字 |
|---|---|---|---|
| Chip | 多选项 / 已选项 | 可(含 ×) | 否 |
| Tag | 分类标记 / 属性 | 否 | 否 |
| Badge | 未读 / 计数 / 红点 | 跟随父元素 | 是 |
| 状态 | 类名 | 背景 | 边框 | 文字 | 典型场景 |
|---|---|---|---|---|---|
| 等前序 | .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 | 已完成本工序 |
- 前序未完,后序不能进入"生产中":每条工序流从左到右扫描,首个非完工的工序保留其状态(待执行 / 生产中 / 异常暂停),其余非完工统一归并为
等前序。 - 已完工 =
.s-done+ 工序卡.is-done,可加✓角标;其余状态可加 checkbox 多选。 - 状态变更触发:开工(待执行→生产中)/ 完工(生产中→已完工,并解锁下游等前序→待执行)/ 暂停(生产中→异常暂停)/ 恢复(异常暂停→生产中)。
- 实现见
normalizeStepStatuses()· 批量开工/完工 平板端。
工序类型是与上述状态正交的另一维度,用于标识工序属性(标准 / 委外 / 返工)。不要把类型当状态用。
| 类型 | 底色 | 文字色 | 含义 |
|---|---|---|---|
| ● 标准 | var(--primary-light) | var(--primary) | 正常生产工序,默认类型 |
| ↺ 返工 | #fff7ed | #ea580c | 返工修复,工序号常加 30/40 段标识 |
| ● 委外 | #fdf4ff | #9333ea | 外协加工,需对接外部资源 |
- 多选:每个 pill 独立切换
.is-active,多个状态可同时激活,不要做单选互斥。 - 过滤逻辑:当
"显示全部工艺路线"开关关闭时,仅显示匹配当前激活状态的工序卡;激活 0 个 = 全部隐藏(默认进页就有一个状态激活)。 - 开关 ON = 显示全部工艺路线,pill 选择此时不影响显示(只保留视觉提示)。
- "清除"按钮取消全部激活,不要做"全选"逆操作。
- 已完工状态在批量开工页可隐藏(业务无意义),通过
#view-batch .legend-chip[data-status="done"]{display:none}局部覆盖。 - 实现 / 默认值约定:批量开工页默认激活
待执行;批量完工页默认激活生产中。
flex/min-height:0 + 子 flex:1; overflow-y:auto。
| 字段 | 格式 | 示例 |
|---|---|---|
| 物料 / 料号 | LP-XXXX | LP-0427 · LP-1020 |
| 生产订单号 | MO-XXXX | MO-2058 · MO-3001 |
| 派工单号 | PG-XXXXXX-XXX | PG-260315-007 |
| 炉次号 | 8 位 20YYMMEE | 20260401 |
| 数量单位 | PCS 统一 | 不要混用"件 / 吨 / 个" |
| 客户 | 虚构企业名称 | 青岚制造 / 远川工业 / 星禾装备 / 云峤机械 |
| 设备 | GL-001 ~ GL-005 | 副标题:1 号智能炉 |
| 工序 | 固定词表 | 铸造 / 镗孔 / 粗车 / 精车 / 钻孔 / 抛光 / 包装入库 |
| 班次 | 三选一 | 白班 / 夜班 / 中班 |
| 人员 | 姓氏 + 单字 | 张三 / 李四 / 王五 / 赵六 / 孙七 / 周八 / 吴九 / 郑十 |
MO-2058 · LP-0427 · 20260401。禁止粘连不分隔。
| 前缀 | 所属章节 | 含义 |
|---|---|---|
.btn / .bs-btn | §09 / §22 | 按钮基础类(bs- 是按钮系统专用,更完整) |
.tag / .chip / .badge | §11 | 标记三件套 |
.status-* | §12 | 5 状态简化版(卡片/平板) |
.wb-* | §20 | web status badge — 网页状态标签库 |
.bb-* | §21 | business button — 业务按钮库 |
.bs-* | §22 | button system — 完整按钮系统 |
.crud-* | §18 | CRUD 工具栏 |
.nv-* | §23 | navigation — 导航组件 |
.de-* | §24 | data entry — 数据录入 |
.dd-* | §25 | data display — 数据展示 |
.fb-* | §26 | feedback — 反馈 |
.mb-* | §27 | mobile / tablet — 触控组件 |
.is-* | — | 状态修饰类(is-active / is-disabled / is-open / is-selected) |
.has-* | — | 布尔属性类(has-dd 表示带下拉) |
.cv-*(calendar view)。状态类一律用 is-* / has-*。
| 分类 | 动作 | 前景色 | 使用场景 |
|---|---|---|---|
| 主操作 | 新增 | #1A835C | 整个页面唯一一个实色按钮 |
| 信息 / 输入 | 查看 | #167BE0 | 详情查看 |
| 导入 | 批量上传 / 数据导入 | ||
| 编辑 | 修改记录 | ||
| 危险 | 删除 / 清空 / 撤销 | #DF3630 | 不可逆操作 · 通常需二次确认 |
| 输出 / 查询 | 导出 | #1A835C | 导出 Excel / CSV |
| 下载 | 下载模板 / 下载附件 | ||
| 查询 | 表单提交 / 筛选生效 |
rgba(52,59,56,.05),hover rgba(52,59,56,.10)。
| 属性 | 值 |
|---|---|
| 高度 | 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 全表统计 见下) |
| 款式 | 视觉 | 语义 | 典型文案 |
|---|---|---|---|
| 描边款 | 白底 + 同色边 + 同色字 | 待办 / 准备态 / 未开始 | 开立 · 待入库 · 待付款 · 待确认 · 审核 · 待处理 · 首检 · 终检 |
| 实色款 | 饱和色底 + 白字 | 进行中 / 流转中 / 关键操作 | 退货中 · 调拨中 · 发运中 · 入库中 · 开工 · 质检中 · 直接机器工时 |
| 柔和款 · 绿 | 浅绿底 + 绿边 + 绿字 | 成功完成(积极终态) | 保存 · 入库完成 · 发运完成 · 审批通过 · 杂收完成 · 完工记录 |
| 柔和款 · 灰 | 浅灰底 + 灰边 + 灰字 | 中性终态 / 已 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 · 不加粗,避免视觉过重 |
| 横向 padding | 10px |
| 柔和款底色 | 同色 8% 浓度(如红 #FCE4E2 = #DF3630 @ 8%)+ 30% 浓度边框 |
§20 是网页端业务全集,用于网页端表格 / 详情页 / 流程节点。两者在视觉上有意区分(§12 圆角 999 胶囊 + 加粗,§20 圆角 3 方块 + 不加粗),不要混用。
| 颜色 | 主值 | 语义 | 典型动作 |
|---|---|---|---|
| 主绿 | #1A835C |
业务正向操作 · 默认 | 审核 / 保存 / 查询 / 确认 / 提交 / 开工 / 办理 / 启用 / 同步 |
| 蓝 | #167BE0 |
系统 · 文件 · 数据导入导出 | 打印 / 上传 / 下载 / 复制 / 导出 Excel / 模板 / 刷新 / 转入 |
| 红 | #DF3630 |
不可逆销毁 | 删除 / 批量删除 / 批量退回 / 清空 |
| 橙 | #E79440 |
失效 · 禁用 · 标记问题 | 禁用 / 停用 / 失效 / 失效日期 / 品质事件 / 销标 / 取消转换 |
| 灰 | #6B7571 |
中性收尾 · 不影响业务状态 | 关闭 / 收起 / 相关信息 / 编辑(纯文本编辑) |
这个动作会让用户立刻看到结果(提交 / 完成代办 / 拒绝)? ├─ 是 + 唯一 + 正向 → 实色主色(页面唯一主操作) ├─ 是 + 全局否决性 → 实色红(拒绝级,少量) └─ 否(描边款) ├─ 销毁数据(删除 / 批量退回 / 清空) → 描边红 ├─ 标记失效 / 禁用 / 标问题(保留数据但状态变) → 描边橙 ├─ 中性收尾(关闭 / 收起 / 相关信息) → 描边灰 ├─ 文件 / 数据 / 系统级动作 │ (打印 / 上传 / 下载 / 复制 / 同步 / 切换)→ 描边蓝 └─ 其余业务动作(默认) → 描边主绿
| 属性 | 值 |
|---|---|
| 高度 | 28px · 与 §18 CRUD 工具栏统一 |
| 圆角 | 4px |
| 字号 / 字重 | 13px / 400 · 不加粗 |
| 横向 padding | 12px · 图标-文字间距 5px · 图标 14px |
| 实色款 | 背景 = 边框色 · 文字白色 · hover 加深 8% |
| 描边款 | 背景白 · 边框 1px = 文字色 · hover 背景 rgba(0,0,0,.02) |
| 分体下拉 | 按钮文字后跟 ▼ 三角(4px),点击同弹下拉菜单 · 不再分体 |
• §09 按钮 = 基础样式词典(primary / outline / ghost / sm/md/lg)。
• §18 CRUD 工具栏 = 表格头的标准 8 件套(新增/查看/编辑/删除/导入/导出/查询)+ 浅灰底款式。
• §21 业务按钮库(本节)= 全产品 120+ 业务动作的颜色编码与命名规范,描边白底。
三者互补:CRUD 工具栏是 §21 的特定子集(在表格场景下用浅灰底替代白底)。
| 状态 | 实色 | 柔和 | 文字 | 变化规则 |
|---|---|---|---|---|
| 默认 | token 主值 | |||
| 悬浮 | 实色 -1 阶 · 柔和 +1 阶浓度 · 文字加同色 50 底 | |||
| 点击 | 实色 -2 阶 · 柔和 / 文字 +2 阶浓度 · 短暂按压反馈 | |||
| 获取焦点 | 外加 2px 主色 45% 焦点环 · offset 2 · tab 键导航可见 | |||
| 禁用 | 所有色彩降到 30% 浓度 · cursor: not-allowed |
:focus-visible 仅在键盘聚焦时显示焦点环,不影响鼠标点击体验。
aria-label。
| 属性 | 值 |
|---|---|
| 高度三档 | 小 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 等浅色映射) |
• §08 = 入门级简介(primary / outline / ghost),保留为快速预览。
• §18 = 表格 CRUD 工具栏的特定 8 件套(浅灰底款式 + 5 色编码)。
• §21 = 全产品 120+ 业务动作的命名 + 上色规范。
• §22(本节)= 按钮的底层视觉系统(尺寸 / 款式矩阵 / 状态机 / 组合形态)。
实施时:先按 §22 选款式 → 再按 §21 / §18 选语义色与文案。
点击或拖拽文件到此区域上传
可上传文件类型说明等 · 单文件 ≤ 50MB
松开开始上传
--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 Drop | 1.5px 虚线 + 浅灰底 · hover 主色边 + --green-25 底 |
| Switch | 40×22 · 开 = --primary 底 · 滑块 18 + 1px 阴影 |
| Rating | 星 18 · 已选 #F5B400 · 未选 --gray-300 |
--green-25 底 + 左侧 3px 主色竖条;(3) 行 hover → 操作列从隐藏变可见(避免静态时操作列混杂噪声)。数字列右对齐 + tabular-nums。电话/编码用等宽字体。
- 名称
- 烧结生产车间
- 编码
- M-2024-0612
- 负责人
- 刘 刘秀梅
- 电话
- 010-00000000
- 地址
- 东城区建国门内 8 号
- 安全等级
- 中
- 更新时间
- 2024-06-12 14:30
- 认证状态
- 已认证
- 实体
- 设备
- 模块名称
- AIOT 模块
- 模块分类
- 开发工具
- 编码规则
- M-{年}-{月日}{序号}
- 编码预览
- M-2024-0612001
- 附件归属
- 系统管理 → 平台管理
overflow:hidden 裁切,需 position:fixed 挂到 body 或 z-index 提高。
本次更新内容包括:
· 新增数据导入功能
· 优化页面响应速度
抽屉适合展示详细信息或表单,避免页面跳转。和下拉框同级 z-index(高于普通弹窗低于 Modal)。
内容按需滚动,关闭按钮固定在头部右上。
--green-25,进行中实色主色,未开始浅灰。
需要反馈 / 通知用户?
├─ 与某次操作即时关联?
│ ├─ 简短文字 (≤ 1 行) → Toast / Message(自动消失 3-5s)
│ ├─ 阻塞式确认或选择 → Modal(320px 宽)
│ ├─ 需要展示详情 / 多字段表单 → Drawer(360px 右滑)
│ └─ 操作后跳转的最终页(成功/失败/警告)→ Result(icon + 标题 + 描述 + 操作)
│
├─ 持续告知用户某种状态?
│ ├─ 行内位置(在内容流中) → Alert(4 色横幅)
│ └─ 全局位置(右上角) → Notification(320px 卡片,需手动关)
│
└─ 显示进度?
├─ 单维度比例 → Progress 条形 / 环形(4 色)
└─ 多步骤流程 → Numbered Steps(纵向)/ §23.3 Steps(横向)
--green-25 底。
--green-25 底 + 2px 主色光晕。
scale(.97) 短暂缩放 + 颜色加深;松手时 box-shadow: 0 0 0 8px rgba(主色,.15) 一次性涟漪反馈(200ms 后消失)。
| 组件 | 平台 | 关键 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(块级) | ||
outline: none 无任何焦点提示 — 完全无法键盘操作
:focus-visible 选择器(避免鼠标点击也显示焦点环)::focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
| 场景 | 正确做法 |
|---|---|
| 仅图标按钮 | 必须加 aria-label="搜索" · 不能只放 svg |
| 表单输入 | <label for="..."> 配对 · 占位符 ≠ 标签 |
| 必填字段 | 红 * 视觉 + aria-required="true" |
| 错误提示 | aria-invalid="true" + 错误信息 id 关联到 aria-describedby |
| 下拉菜单 | role="menu" · 触发器 aria-haspopup="menu" + aria-expanded |
| Modal | role="dialog" + aria-modal="true" + aria-labelledby · 打开后焦点移入 · 关闭后归还 |
| Toast 通知 | role="status" 或 role="alert" · 屏幕阅读器自动播报 |
| 表格 | <thead><th scope="col"> · 不要用 div 模拟表格 |
| 装饰性图标 | aria-hidden="true" · 阻止屏幕阅读器读出 |
| 按键 | 行为 |
|---|---|
Tab | 下一个可聚焦元素 |
Shift + Tab | 上一个可聚焦元素 |
Enter / Space | 激活当前按钮 / 链接 |
↑ ↓ | 菜单 / 列表项之间移动 |
Esc | 关闭 Modal / Drawer / 下拉菜单 |
Home / End | 跳到列表首项 / 末项 |
| 函数 | CSS | 用途 |
|---|---|---|
| ease ⭐ | ease | 默认 · 大多数 hover / 颜色变化 |
| ease-out | ease-out | 元素入场(淡入 / 滑入) |
| ease-in | ease-in | 元素出场(淡出 / 滑出) |
| linear | linear | 仅用于进度条 / 加载旋转 |
| cubic-bezier 弹 | cubic-bezier(.34,1.56,.64,1) | 极少 · 仅 Toast 入场或庆祝场景 |
ease,特殊场景才换。
- 表格行 hover —— 直接改背景色,不要 transition(高频操作时叠加动画反而卡顿)
- 键盘上下箭头切换菜单项 —— 即时响应,不要平滑滚动
- 表单 focus —— 边框色直接变,光晕同步出现
- 用户偏好
prefers-reduced-motion: reduce—— 必须禁用所有非必要动画
@media (prefers-reduced-motion: reduce),对前庭功能障碍用户禁用动画。
.25s ease-out;出场用 ease-in,时长砍半到 .15s,让 UI 感觉"来得慢,走得快"。
translateY(-2px) + 阴影加深。卡片、可点击行使用。scale(.97) 短暂按压。按钮 / 工具栏按钮使用。12% 主色光晕。输入框、可聚焦元素使用。.6s ease-out。
| 档位 | 设备宽度 | 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) | 大屏看板 / 监控屏 · 数据可视化 |
| 容器 | 最大宽 | 说明 |
|---|---|---|
| 页面 max-width | 1440px | 大屏不无限拉伸 · 居中留白 |
| 表单容器 | 640-720px | 单列表单避免视线左右扫太长 |
| 表格 | 100% | 充满剩余宽度 · 列数过多时横向滚动 |
| 详情两栏 | 主 60% / 边 40% | 左主栏正文 · 右边栏元信息 |
| 侧边栏 | 208 / 240 | 紧凑 / 标准 两档(见 §23.2) |
屏宽不够放下完整内容时?
├─ 表格列太多
│ └─ 横向滚动(保留表头固定 · 不要折叠列)
├─ 多列卡片放不下
│ └─ 自动换行(CSS Grid auto-fit + minmax)
├─ 顶部导航过长
│ ├─ 桌面:保留全部
│ ├─ 平板:合并次要项到"更多 ▼"
│ └─ 手机:汉堡菜单 ☰ 收起所有
├─ 侧边栏占地太大
│ └─ 折叠成图标列(240 → 56) · hover 弹出二级菜单
└─ 表单字段
└─ 多列改单列堆叠(避免缩到不可读)
| 规则 | 桌面 | 平板 | 手机 |
|---|---|---|---|
| 触控目标 | ≥ 28 | ≥ 32 | ≥ 44 |
| 主操作位置 | 顶部右 | 顶部右 | 底部固定(块级按钮) |
| 字号基准 | 13-14 | 14 | 15-16 |
| 页面 padding | 24-32 | 16-24 | 12-16 |
| 表格 | 完整列 | 横滚 | 卡片化(每行变卡片) |
| Modal 宽 | 320-640 | 80vw | 全屏 / 底部弹层 |
- 饱和深色卡片大色块(与浅色页面冲突)
- 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 页面层级 排好骨架,再逐节套组件
用于"不知道还要多久"的场景(接口拉取 / 后台导出)。
| 订单号 | 产品 | 数量 | 完成进度 | 状态 |
|---|---|---|---|---|
| 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%
|
已完工 |
按数值自动切换颜色(见下方阈值表)。.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",屏幕阅读器才能播报;数字本身也已表达进度,色弱用户依然可读。
500。| 订单号 | 产品名称 | 数量 | 状态 | |
|---|---|---|---|---|
| PO-2026-0511 | 夹克 · 男 · L | 320 | 进行中 | |
| PO-2026-0510 | 夹克 · 男 · M | 180 | 待开工 | |
| PO-2026-0509 | 风衣 · 女 · S | 96 | 已完工 |
col-resize。不要把筛选图标默认全部点亮,会让表头噪音过大。
box-shadow: 6px 0、右侧 -6px 0),否则用户感觉不到"它在浮着"。
| 订单 | 状态 | |
|---|---|---|
| PO-2026-0511 | 进行中 | |
| PO-2026-0510 | 待开工 | |
| PO-2026-0509 | 已完工 |
hover:背景 --gray-25 · 选中:背景 --primary-light + 左侧 3px 主色色条。
| 订单 | 产品 | 数量 |
|---|---|---|
|
暂无数据
| ||
空表 = 表头保留 + 表体合并单元格 + 居中图标 + 说明文字。不要整个表格塌掉。
- 单页表格行数 > 100 行 → 必须分页或虚拟滚动,不能一次渲染全部
- 表格行 hover 不要用
transition,直接换背景色,否则鼠标快速划过会卡顿 - 每个单元格不要都包 tooltip,仅截断省略号的单元格才挂 hover 浮层
- 批量操作选中超过 50 行 → 提示用户"已选 N 项",并提供"全选当前页 / 反选"
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。
40px 主色通条(左返回 + 标题,右挂业务工具)。它出现在 35.1 应用外壳的下方,不替代外壳,而是被外壳包裹。
44px 主色条,标题居中,左侧返回箭头、右侧固定 1-2 个工具图标(单据 / 通知)。不放公司名、tab 栏,避免触摸误操作。来源:扫码批量开完工-平板端/手机端、批量开工/完工-平板端。
| 部位 | 值 | 说明 |
|---|---|---|
| 外壳上层(白底) | 36px | logo + 公司名 · 右侧 环境名 / 客服 / 全屏 / 用户名 |
| 外壳下层(主色 tab 栏) | 32px | 左收藏星 + 首页图标 + 已打开 tab;激活 tab 白底主色字 |
| 外壳总高 | 68px | 正文 padding-top 起算 |
| 子页面页面头部(Web) | 40px | 主色一通到底 · 左返回 + 标题,右挂业务工具 |
| 触控端头部 | 44px | 主色一通到底 · 标题居中 |
| Logo | 22 × 22 | 8 色 segments · 见 §32.1 动效版 |
| 公司名 | 14px / gray-700 / 500 | 外壳上层左侧 |
| 用户/头像 | 外壳: 文本 13px · 子页: 26px 圆 | 外壳放姓名+title("王工"),子页放主色头像 |
| tab 高度 / 内距 | 32px / 0 14px | 未激活白字 60% 透明 · 激活白底主色字 + × 关闭 |
| tab × 关闭按钮 | 14 × 14 | hover 红色实心 · 激活 tab 内显示主色淡色 |
- 外壳常驻置顶:滚动时整个 68px 外壳
position: sticky; top: 0;;进入子模块时,子模块的 40px 页面头部位于外壳下方,正文继续从y=108起算。 - 外壳的 tab 栏就是导航本身,不要再画面包屑、不要再做主导航 Tab(如"工作台/生产/订单/库存/报表"已被 tab 栏替代)。
- 子页面的返回箭头是后退(关闭当前 tab 或回到上级路由),不要把它当作"取消"。批量开工/完工底栏已移除独立的"取消"按钮,统一走头部返回。
- 右侧工具区固定顺序:外壳层 = 环境名 → 客服 → 全屏 → 用户名;子页面层 = 业务挂载(日期/筛选)→ 通知 → 头像。新增功能塞到工具图标列表里,不要破坏顺序。
- 不要在任何头部放业务主操作按钮(提交/保存/打印),那是正文底栏 §37.9 的责任。
- 触控端不显示外壳,只显示子页面的 44px 头部;外壳是 Web 多任务窗口(多 tab)的特性,在平板/手机上不适用。
下料排产-网页端资源 / 设备 / 工序列表
把鼠标移到中间 28px 拖动区,胶囊阴影加深、cursor 变 col-resize;按住拖动即可调宽,颜色保持中性灰白。
排产甘特图 / 详情视图
主视图 / 看板
日志 / 详情 / 控制台
| 部位 | 值 | 说明 |
|---|---|---|
| 容器宽 / 高 | 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 | 始终深灰,不随状态变色 |
| Cursor | col-resize / row-resize | 纵分隔 col · 横分隔 row |
| 触发态 class | .is-dragging | pointerdown 时 JS 加上、pointerup 移除(仅用于加深阴影,无颜色变化) |
- 面板必须有最小宽度/高度(建议 ≥ 200px),拖到最小后停住,不要允许拖到 0 把面板挤没
- 拖动时给容器加
user-select: none,避免误选文字 - 双击 thumb 恢复默认比例(约定俗成的快捷动作,不要跳菜单或弹窗)
- 同一页面最多 2 个分隔条(一纵 + 一横),再多就该用 Tab 或 Drawer 替代
- 键盘可达:thumb
tabindex="0"+ 左右/上下箭头每次 16px,Home/End 切到极限位 - 容器加
role="separator" aria-orientation+ 描述性aria-label
currentColor 跟随类名变色,业务直接 <span class="wp-status-pill s-XXX">...</span> 即可。
· 点卡片体 = 切换勾选(
is-selected + checkbox)。已完工卡片不响应点击。· 右下角
i 圆形按钮 = 查看详情(独立点击区域,event.stopPropagation)。· 卡片底色(done/doing/paused/wait-pre)直观传达状态,徽章 pill 提供文字冗余。
··· 占位(.is-filtered),保留工序流位置感,箭头照常显示。整行无匹配则隐藏整段工艺路线(.process-section-wrap.filter-empty)。
order 实现)。文案固定为"行为名称",不随状态翻转;ON / OFF 由开关位置直观表达。常用于"是否显示全部"、"是否启用筛选"等设置项。
Enter 提交;② 点右侧"扫码"按钮弹顶部悬浮扫码框(见 37.6)。共用一组 JS:_scanMode = 'step' | 'container' | 'dispatch',提交时根据 mode 分流。
position: absolute; inset: 0 + 半透明黑遮罩),白色横条距 AppBar 16px,水平内距 24px。点遮罩或按 Esc 关闭。同样的横条根据当前 _scanMode 复用,placeholder 切换为 "请扫码 / 扫描容器号 / 扫描或输入派工单二维码"。
#F3F5F7 + 细边框,模拟图片占位。SVG 线条颜色按工序类别区分(橙/靛/蓝/绿/紫/红),实际产品落地时可替换为真实产品照片。
| 位次 | 动作 | 样式 | 典型用途 |
|---|---|---|---|
| 1 左 | 打印 / 打印标签 | outline tinted | 非破坏,副操作 |
| 2 | 保存 / 保存草稿 | outline tinted | 非破坏,副操作 |
| 3 | 重置 / 批量开工 / 批量完工 | outline tinted + refresh 图标 | 清空当前扫码列表,重新来过(带 toast 反馈,不弹确认) |
| 4 右 | 提交开工 / 确认完工 | primary 实底绿 | 主操作,最右侧最显眼 |