From be51f03c6cbfa92aa402a9877358598197fccd39 Mon Sep 17 00:00:00 2001
From: ouyangxq <775153912@qq.com>
Date: Wed, 21 Oct 2026 14:30:36 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
AI工程执行与协作约束.md | 6 +-
Admin-Client前端原型还原验收规则.md | 44 ++--
Admin列表样式推广核对记录.md | 2 +
Admin国内仓样式核对记录.md | 2 +
Admin客户管理样式核对记录.md | 2 +
Admin排车列表样式试点.md | 2 +
Admin海外仓样式核对记录.md | 2 +
Admin货柜管理样式核对记录.md | 2 +
Admin高密度界面规范.md | 295 ++++++++++++++++---------
README.md | 11 +-
测试环境单机部署与配置契约.md | 11 +
海外仓业务/README.md | 2 +-
海外仓业务/排车列表统一作业改造契约.md | 16 +-
界面参考/蓝白卡片式工作台风格参考.md | 165 +-------------
14 files changed, 258 insertions(+), 304 deletions(-)
diff --git a/AI工程执行与协作约束.md b/AI工程执行与协作约束.md
index 65e0816..d3ace1c 100644
--- a/AI工程执行与协作约束.md
+++ b/AI工程执行与协作约束.md
@@ -32,7 +32,7 @@
## 当前开发阶段
- 项目尚未上线,没有需要兼容的生产存量数据、线上客户端或已发布接口版本;所有代码与契约直接收敛到当前确认目标,用户确认上线或存在不可变外部契约后才重新建立版本兼容和升级规则。
-- 收敛范围包括源码结构、接口与 DTO、字段、状态机、权限、配置键、OpenAPI、数据库结构与初始化 SQL、事件、路由、页面、前端消费者、Mock/Fixture、测试和脚本;旧实现冲突时同步修改全部生产者与消费者并直接删除旧实现。
+- 收敛范围限于本轮目标实际影响的源码结构、接口与 DTO、字段、状态机、权限、配置键、OpenAPI、数据库结构与初始化 SQL、事件、路由、页面、前端消费者、Mock/Fixture、测试和脚本;旧实现与本轮目标冲突时,同步修复实际受影响的生产者与消费者并删除被替代实现。
- 禁止为旧代码、旧调用或开发环境存量保留旧接口/旧字段别名、兼容分支、双协议、双写、灰度、回滚版本、降级解析、旧行为回退、临时适配层、迁移脚本、回填脚本、清理补偿或新旧版本并行;不得以“稳妥”“兼容历史数据”或“先保留以后删除”为由延迟收敛。
- 开发环境数据库记录、上传文件、缓存、会话、消息、搜索索引和其他运行状态均可丢弃;正常验证方式是更新最新初始化基线、重新造数或上传,并直接运行受影响回归,不模拟生产迁移。已有历史 SQL 只用于开发追溯,不构成兼容依据。
- 后端位于独立 Git 仓库 `../baiyue-firstleg/`,执行 Git 命令前确认当前工作目录。“无需兼容、直接修复”不授权自动重置数据库、删除数据/文件、执行 SQL、部署或修改环境。测试环境授权只读 `独立任务协作登记.md`,开发全流程授权只读 `开发环境独立任务协作登记.md`;未登记任务和生产环境仍需用户在当前轮明确授权。
@@ -50,12 +50,12 @@
- 提交前运行 `node --test scripts/gateway-route-contract.test.mjs` 及受影响服务/调用端的定向测试;路由合同失败不得提交或声称完成。该离线合同检查源码映射、目标服务及内部路径隔离,不代替权限、HTTP 方法、运行时 Nacos 或真实 HTTP 验收;前端 Mock 测试、类型检查及服务单测通过也不证明网关可达。
- 交付列明变更接口、路由是否复用或新增、验证结果及部署单元;Gateway 配置变化必须包含对应网关,Nacos 配置变化单独说明发布项。没有环境授权时只交付代码和待验收说明,不自动部署、发布配置或调用真实 HTTP。
-- 保持变更小而聚焦,遵循目标项目现有命名、分层和格式,不顺手重构无关代码。
+- 修改范围与停止条件遵循[工作区根指引](../AGENTS.md#修改范围与停止条件),保持目标项目现有命名、分层和格式。
- 优先复用现有依赖和公共能力;新增或升级依赖前说明必要性、影响范围和替代方案。
- 不提交依赖目录、构建产物、运行日志、编辑器缓存或本地临时文件;不写入密钥、令牌、真实客户数据或环境特定地址。
- 用户可见文案保持清晰一致;代码标识符使用英文,业务说明和文档可使用中文。
- 仅运行目标项目实际声明的安装、检查、测试和构建命令。每次变更至少验证直接受影响的项目,跨项目变更还要验证对应消费者。
-- 修改方法、构造器、组件 Props、函数、接口、DTO 或请求/响应参数时,定向检索全部生产调用、测试调用、Mock、Fixture、契约测试和脚本引用,并同步修改。
+- 签名、组件 Props、接口/DTO、请求响应结构或影响调用方的行为变化时,用 `rg` 按变更符号核对直接生产调用、测试、Mock、Fixture、契约测试与脚本;只修改实际受影响的引用,必要时沿直接依赖继续追踪。仅内部实现调整且调用契约与对外行为未变时,验证受影响逻辑,不自动修改调用方、Mock、Fixture 或文档。
- 参数或类型签名变化必须运行会编译测试源码的最小检查;无法验证时明确列出未验证范围。
- 修复缺陷优先增加复现测试;没有现成测试设施时不为小改动引入整套框架,应记录验证步骤和剩余风险。
- UI 变更按受影响范围检查加载、空态、错误态、权限、目标视口和可访问性;Admin/Client 视觉细则查 `Admin-Client前端原型还原验收规则.md` 和目标应用指引。
diff --git a/Admin-Client前端原型还原验收规则.md b/Admin-Client前端原型还原验收规则.md
index b28d072..7130f2c 100644
--- a/Admin-Client前端原型还原验收规则.md
+++ b/Admin-Client前端原型还原验收规则.md
@@ -2,7 +2,9 @@
## 目标
-Admin 与 Client 已向客户讲解或确认过的页面,必须以对应原型为直接事实来源逐页还原。不得先统一套用现有设计系统、抽屉、弹框、详情页或图标规范,再局部调整。
+本文只维护逐操作核对方法、验收范围和证据要求。Admin 当前样式的唯一依据为 [Admin 界面规范](Admin高密度界面规范.md),不在本文重复定义配色、密度、按钮或弹窗尺寸。Client 沿用已确认原型,不自动采用 Admin 风格。
+
+页面业务字段、顺序、分组和操作承载以当前业务契约及逐操作确认为准;已有原型作为直接核对证据。Admin 主规范已经确认替代的外观使用现行规则,其余差异逐项记录,不因套用公共组件而改动承载方式。
## 修改门禁
@@ -17,54 +19,34 @@ Admin 与 Client 已向客户讲解或确认过的页面,必须以对应原型
## 承载方式
- 原型使用独立页面:必须使用正式路由、页面级布局和明确返回入口;不得改成抽屉或弹框。
-- 原型使用居中弹框:必须使用居中模态框,并按原型宽度、标题、正文、底部按钮和关闭方式还原;不得改成右侧抽屉。
+- 原型使用居中弹框:必须使用居中模态框,核对标题、正文、底部按钮和关闭方式;Admin 外观与尺寸以主规范及已确认业务例外为准,Client 按原型还原,不得改成右侧抽屉。
- 原型使用侧滑面板:仅该操作允许使用抽屉,并按原型方向、宽度和内部布局还原。
- 原型未定义:先停在矩阵中标记待确认,不得因为公共组件方便而自行选择。
- 同一列表的详情、新增、编辑、审核可以采用不同承载方式,必须逐操作判断。
## 视觉与排版
-- 字段顺序、分组、摆放、列宽、控件宽高、换行、对齐、外边距、内边距、间隙和留白按原型逐项核对。
-- 顶部背景色、页面背景、区块背景、边框、圆角、阴影、字号、字重和文字颜色直接取原型值。
-- 按钮位置、顺序、尺寸、颜色、危险语义、悬停态、禁用态按原型还原;不得自行增加“更多”菜单或纯文字替代。
-- 原型已提供图标、字符图标、图片或 SVG 时直接复用原型资源;不得自行绘制或替换。
-- 表格按原型核对外边框、单元格边框、表头背景、斑马纹、行悬停背景、行高和横向滚动。
-- 原型没有的公司名称图标、下划线、卡片装饰、悬停上浮、缩放和渐变效果不得添加。
-
-### Admin 已确认布局基线
-
-- Admin 所有弹窗的统一目标风格见 [Admin 统一弹窗规范](Admin高密度界面规范.md#弹框与表单)(2026-10-19 测量弹窗样板)。按大模块逐组盘点、实现和截图确认;在已确认范围内优先采用该规范的外观与密度,原业务字段、权限、提交逻辑以及独立页面/弹框/抽屉承载方式继续逐操作核对。
-- 订单样板及国内仓样式统一采用 [Admin 高密度界面规范](Admin高密度界面规范.md)。其已确认的密度、容器和页签图标规则优先于历史原型中的对应视觉;字段、业务分组、权限、操作语义与页面/弹框/抽屉承载方式继续逐操作核对。该规范不表示其他页面已完成验收。
-- Admin 是高信息密度业务系统。保留原型字段、顺序、业务分组和交互语义,但普通短字段优先使用连续白底、多列键值网格、描述表或紧凑列表,不把“一个标签 + 一个值”做成独立卡片。
-- 详情页顶部尽量合并返回、标题、核心状态和主要操作;路由壳层已显示标题时正文不重复。状态或流程结论只保留一个主要视觉落点,除真实错误、阻断或危险外不叠加大面积彩色横幅。
-- 在 `1920×1080` 下短字段通常并排 `4–6` 组;长文本、地址、备注和异常原因可以跨列或换行。长编号集中省略说明列宽设计失败,应调整列数、宽度或跨列,不继续缩小字号。
-- 同一详情页使用一致的内容底色和容器语言;连续白底区域用分隔线和间距分区,同级独立卡片的背景、圆角、边框和外间距保持一致。
-- 高信息密度不授权缩小可点击区域、删除标签、强制截断关键值或牺牲可访问性。使用真实长编号、空值、状态徽标和多字段数据核对首屏。
-- 原型明确的承载方式和视觉细节优先;历史原型仅因大量字段卡片、重复状态块或过度留白与当前密度基线冲突时,收敛承载方式但不改变字段、分组和交互语义。
+- Admin 按 [主规范任务入口](Admin高密度界面规范.md#按任务阅读)选择对应章节核对;Client 按已确认原型逐项核对。矩阵标明当前依据及业务例外,不把旧试点和过程记录当成另一套通用规则。
+- 核对字段分组、列宽、换行、对齐、控件、表格、按钮及图标;保留原型的业务语义和操作资格。主规范未授权的装饰、功能与交互不得自行添加。
+- 长编号、长地址、长文件名、多字段、空值和业务状态使用真实形态的数据核对;不能靠缩小字号、裁切关键值或减少字段通过验收。
## 响应式与可访问性
- Admin、Client 当前只按 `1920×1080`、浏览器缩放 `100%` 验收;不检查或整改 `720px`、`320px` 等窄屏,也不删除已有响应式能力。用户恢复多视口验收后再统一调整。
- 弹框正文超过视口时只滚动正文,标题和操作区保持可见;独立详情页按正常页面滚动。
-- 字段数量较多、两列会导致弹框明显过高时,在 `1920×1080`验收视口下改用宽版三列表单;短字段单列占位,地址、长文本、备注、文件和表格按内容跨列或整行。小型确认类弹框不因此扩宽。
+- 弹窗尺寸和字段列数按当前样式依据及业务例外核对,不在验收阶段另设通用尺寸;核对长正文、校验错误、附件和底栏是否可用。
- 保留键盘操作、焦点、表单标签、图标按钮名称和足够对比度。可访问性调整不得改变原型的主要布局与视觉语义。
## 执行与验收
1. 先提交逐页矩阵,不直接批量替换公共组件。
-2. 总控冻结该页结论后,任务只修改职责内模块,不触碰其他任务在途文件。
+2. 按当前对话确认的范围修改目标模块,保留其他任务在途改动;存在总控协作时沿已冻结结论执行,不因普通样式任务额外创建总控流程。
3. 修改后由人工在 `1920×1080`、`100%` 缩放下操作并提供截图,标注与原型仍存在的差异;缺少截图时记录“待人工截图确认”,AI 不自行批量取证。
-4. 运行直接测试与类型检查;共享组件变更必须检查全部消费者。
+4. 按应用指引完成受影响测试、类型检查及必要的全量测试和构建,重型检查统一经过 `local-check.ps1`;共享组件变更核对全部直接消费者。公共浮层选择器变更覆盖真实 Element 挂载下的嵌套、Teleport、工具栏内浮层及全屏重开。
5. 不触发 Jenkins、不部署、不提交,除非当前对话另有明确授权。
-## 已确认示例
+## 证据记录
-Admin 客户管理原型:
+逐操作矩阵记录:页面/路由、具体操作及承载方式、原型或用户确认依据、采用的主规范章节/业务例外、自动检查结果和人工截图结论。各模块复用现有记录,不另建一份全端进度副本。示例原型的尺寸不覆盖当前已确认的业务尺寸。
-- 客户详情:独立页面(`page-tenant-detail`)。
-- 新增客户:居中宽版弹框(`modal-tenant-add`,宽度约 1120px),基础资料和联系与商务使用三列,地址、备注和资质表格整行。
-- 编辑客户:复用新增客户的居中宽版三列弹框(`modal-tenant-edit`,宽度约 1120px)。
-- 重置密码:居中弹框(`modal-tenant-reset-password`,宽度约 520px)。
-- 入驻审核:居中弹框(`modal-tenant-audit`,宽度约 900px)。
-
-这些结论只适用于上述操作,不自动推广到其他页面。
+人工核对独立打开/刷新、列表到详情、页签切换、长内容、宽表、空态、部分数据、失败与重试、只读/无权限及浮层普通/全屏/关闭重开。自动检查不能证明浏览器像素布局和实际滚动已通过。
diff --git a/Admin列表样式推广核对记录.md b/Admin列表样式推广核对记录.md
index 084a058..986f674 100644
--- a/Admin列表样式推广核对记录.md
+++ b/Admin列表样式推广核对记录.md
@@ -1,5 +1,7 @@
# Admin 列表样式推广核对记录
+> 文档职责:仅维护模块范围、业务例外与检查/截图记录。通用样式统一以 [Admin 界面规范](Admin高密度界面规范.md) 为准;下文日期批次中的旧外观不再作为新改造要求。普通样式任务只在涉及本模块范围、例外或验收证据时查阅本文。
+
## 本轮依据与边界
2026-10-21 后续视觉确认:列表页签对齐与灰白斑马纹以[蓝白工作台当前规范](界面参考/蓝白卡片式工作台风格参考.md#视觉基线与维护入口)为准;下文“无斑马纹”为此前批次实现记录,不再作为接入要求。
diff --git a/Admin国内仓样式核对记录.md b/Admin国内仓样式核对记录.md
index 9d4de01..243cebd 100644
--- a/Admin国内仓样式核对记录.md
+++ b/Admin国内仓样式核对记录.md
@@ -1,5 +1,7 @@
# Admin 国内仓样式核对记录
+> 文档职责:仅维护模块范围、业务例外与检查/截图记录。通用样式统一以 [Admin 界面规范](Admin高密度界面规范.md) 为准;下文日期批次中的旧外观不再作为新改造要求。普通样式任务只在涉及本模块范围、例外或验收证据时查阅本文。
+
## 弹框可用性回归排查(2026-10-21)
本轮仅修展示,保留已隐藏的长汇总、订单数量连续性与旧请求防覆盖、既有权限/API/状态/金额。依据本轮用户“弹框布局混乱”反馈及下表实际组件结构排查;没有新增真实页面截图,不把自动检查当成视觉验收。
diff --git a/Admin客户管理样式核对记录.md b/Admin客户管理样式核对记录.md
index 498fb03..f809f26 100644
--- a/Admin客户管理样式核对记录.md
+++ b/Admin客户管理样式核对记录.md
@@ -1,5 +1,7 @@
# Admin 客户管理样式核对记录
+> 文档职责:仅维护模块范围、业务例外与检查/截图记录。通用样式统一以 [Admin 界面规范](Admin高密度界面规范.md) 为准;下文日期批次中的旧外观不再作为新改造要求。普通样式任务只在涉及本模块范围、例外或验收证据时查阅本文。
+
## 范围与依据
按当前客户管理导航的两个入口:客户列表、海外仓阶梯费用;客户详情及两个入口实际调用的编辑、审核、预览一并收敛。用户要求按钮使用纯文字,避免图标占位;详情页签保留已确认的彩色 Emoji。沿用《Admin 高密度界面规范》,验收视口为 1920×1080、100% 缩放。
diff --git a/Admin排车列表样式试点.md b/Admin排车列表样式试点.md
index 2b631a5..ad019c7 100644
--- a/Admin排车列表样式试点.md
+++ b/Admin排车列表样式试点.md
@@ -1,5 +1,7 @@
# Admin 排车列表一体式布局试点
+> 文档职责:仅维护历史试点依据与检查记录。通用样式统一以 [Admin 界面规范](Admin高密度界面规范.md) 为准;下文日期批次中的旧外观不再作为新改造要求。普通样式任务只在涉及本模块范围、例外或验收证据时查阅本文。
+
初次试点仅接入测试环境代码的 `/overseas-warehouse/dispatches`。依据为用户提供截图及 `新版.html` 的 `page-outbound-vehicle`(4472–4484 行);用户明确保留字段设置、搜索与表格不分离。2026-09-30 用户确认样板后授权推广至客户管理、国内仓、货柜管理和海外仓,并继续客户服务、海外业务、财务管理、通用、系统管理及消息列表。范围及例外见 [推广核对记录](Admin列表样式推广核对记录.md)。
船期日历单页收尾按用户当前截图接入相同的页头、筛选和连续容器,通过 `results` 插槽保留日历与当日船次详情。日历不具备表格列配置,明确关闭字段设置且不添加分页;日历日期格和右侧详情布局由业务页维护。
diff --git a/Admin海外仓样式核对记录.md b/Admin海外仓样式核对记录.md
index 532f9ed..5265a27 100644
--- a/Admin海外仓样式核对记录.md
+++ b/Admin海外仓样式核对记录.md
@@ -1,5 +1,7 @@
# Admin 海外仓样式核对记录
+> 文档职责:仅维护模块范围、业务例外与检查/截图记录。通用样式统一以 [Admin 界面规范](Admin高密度界面规范.md) 为准;下文日期批次中的旧外观不再作为新改造要求。普通样式任务只在涉及本模块范围、例外或验收证据时查阅本文。
+
## 范围与依据
本轮用户确认继续“海外仓”模块。范围以 `adminNavigation.ts` 的 `overseas-inventory` 分组为准,按当前公开菜单、对应独立详情和实际调用的作业弹框逐项核对;当前分组包含11个菜单,废弃单和海外库位管理均单独登记。客户服务、海外业务、隐藏产品库和旧箱号页面不在范围内。
diff --git a/Admin货柜管理样式核对记录.md b/Admin货柜管理样式核对记录.md
index b5bdc2f..bea7f80 100644
--- a/Admin货柜管理样式核对记录.md
+++ b/Admin货柜管理样式核对记录.md
@@ -1,5 +1,7 @@
# Admin 货柜管理样式核对记录
+> 文档职责:仅维护模块范围、业务例外与检查/截图记录。通用样式统一以 [Admin 界面规范](Admin高密度界面规范.md) 为准;下文日期批次中的旧外观不再作为新改造要求。普通样式任务只在涉及本模块范围、例外或验收证据时查阅本文。
+
## 拖车预约说明提示清理(2026-10-21)
依据用户本轮拖车预约详情截图:移除说明图标及其提示内容,让页面更清爽。
diff --git a/Admin高密度界面规范.md b/Admin高密度界面规范.md
index ba2aa21..92bc2a1 100644
--- a/Admin高密度界面规范.md
+++ b/Admin高密度界面规范.md
@@ -1,35 +1,32 @@
-# Admin 高密度界面规范
+# Admin 界面规范
-## 确认依据与适用范围
+本文件是 **Admin 样式的唯一主规范**,统一维护蓝白风格、业务密度、列表、详情、弹窗、提示文字与公共样式接入。沿用原文件路径,已有引用无需迁移。验收视口为 **1920×1080,浏览器缩放 100%**。
-2026-09-14,用户在 Admin 样式优化对话中确认订单列表样板,并要求以此推进国内仓样式统一。样板包括订单列表、测量与订单审核弹框、订单详情的基本信息、货品信息、费用信息、状态历史、测量数据、其他、拆分履约。详情页签使用与客户管理一致的彩色 Emoji 图标。
+## 按任务阅读
-本规范固定该样板的视觉与密度规则。验收视口为 **1920×1080,浏览器缩放 100%**。其他页面采用本规范不等于其功能或视觉已验收。
+先看本节和“基本原则”,再只读任务对应章节,不要求每次通读全文。
-这是一套后续 Admin 页面可复用的基线。新增菜单按“新模块接入规则”实施,不复制订单或客户模块 CSS;货柜管理的入口与共享组件边界见 [货柜管理核对记录](Admin货柜管理样式核对记录.md)。海外仓的 10 个菜单及共享详情边界见 [海外仓核对记录](Admin海外仓样式核对记录.md)。列入下一批入口不代表页面已完成改造或验收。
+| 当前任务 | 本文入口 |
+|---|---|
+| 调整列表、搜索、页签、行操作 | [列表](#列表)、[尺寸与颜色](#尺寸与颜色) |
+| 调整详情、费用、历史或测量 | [详情与基本信息](#详情与基本信息)、[费用、汇总与测量](#费用汇总与测量)、[历史、备注与空态](#历史备注与空态) |
+| 新增、编辑、审核、上传、预览或确认弹窗 | [弹框与表单](#弹框与表单) |
+| 提示小字、加载反馈、点击后页面跳动 | [提示文字与加载布局](#提示文字与加载布局) |
+| 配色、工作台、指标卡或图表 | [蓝白主题与图表](#蓝白主题与图表);需要查看样板时再打开[样板目录](界面参考/蓝白卡片式工作台风格参考.md#其他页面该参考哪个样板) |
+| 公共样式维护或新页面接入 | [公共样式维护边界](#公共样式维护边界)、[新模块接入规则](#新模块接入规则) |
+| 确认验收方法与证据 | [前端验收规则](Admin-Client前端原型还原验收规则.md);其中不再另定 Admin 样式 |
-当前推广范围包括 Admin 导航中的“国内仓”,以及本轮确认的“客户管理”两个入口:客户列表、海外仓阶梯费用,包含各入口实际使用的详情、页签、新增、编辑、审核、确认、图片/文件预览和其他业务弹框。客户管理下的海外仓阶梯费用属于客户费用配置,不扩大到海外仓作业菜单。跨菜单跳转应记录目标入口和共享组件影响;不因此把另一个菜单的全部页面自动加入改造范围。Client、PDA 与其他菜单采用规范时另行明确范围。
+## 适用范围与文档职责
-样板实现入口:
-
-- [公共密度样式](../apps/admin-web/src/styles/adminDensity.css):页面显式使用 `admin-density`,Teleport 弹框显式使用 `admin-density-dialog`;默认不改变其他菜单。
-- [公共密度变量](../apps/admin-web/src/styles/adminDensityTokens.css):两模块的字号、间距、控件/行/按钮/页签高度、圆角、底色和按钮语义色的唯一默认值入口。
-- [维护合同检查](../apps/admin-web/src/styles/adminDensity.test.ts):限定已接入消费者,检查变量归属、公共样式作用域及页面重复实现。
-- [测量作业密度](../apps/admin-web/src/modules/inbounds/measurement/measurementDensity.css):测量与审核共享作业布局,宽度由测量弹框自身提供。
-- [国内仓逐操作核对记录](Admin国内仓样式核对记录.md):三组页面的承载方式、例外和验收证据。
-- [客户管理局部密度样式](../apps/admin-web/src/modules/customers/customerDensity.css):客户列表、详情、计费与相关弹框的显式密度入口。
-- [客户管理逐操作核对记录](Admin客户管理样式核对记录.md):两个菜单入口及关联详情、审核、编辑与预览的范围和人工验收项。
-- [订单列表与详情](../apps/admin-web/src/modules/unified-orders/pages/UnifiedOrdersView.vue):列表、顶部摘要、描述表、页签、日志表及订单弹框。
-- [订单局部密度样式](../apps/admin-web/src/modules/unified-orders/styles/orderDensity.css):费用、履约与测量弹框的局部样式。
-- [国内仓导航](../apps/admin-web/src/core/navigation/adminNavigation.ts):`domestic-warehouse` 分组是菜单范围来源。
-
-本规范与 [Admin/Client 前端原型还原验收规则](Admin-Client前端原型还原验收规则.md) 配合使用。在本规范适用范围内,已确认的密度、容器和页签图标规则优先于历史原型中的大卡片、大留白和单色页签图标;字段、业务分组、权限、操作语义及页面/弹框/抽屉承载方式仍按当前业务契约和逐操作矩阵核对。样板中某个字段的专属宽度不能直接当作其他页面的固定宽度。
-
-2026-10-19,用户确认以下“[弹框与表单](#弹框与表单)”作为所有 Admin 弹窗的统一目标规范,按大模块逐组落实,首组为导航“国内头程”。该弹窗目标范围补充上文早期推广范围;页面、列表、详情页签及 Client/PDA 仍按各自已确认范围执行。规范固定不表示全部弹窗已改造或验收。
+- 本规范是后续 Admin 改版基线:订单与客户管理样板确立业务密度,测量样板确立统一弹窗,蓝白自营样板确立配色、工作台和少提示文字风格。已确认的样式优先于历史原型中的对应外观;业务字段、分组、权限、状态、API、计算口径及页面/弹窗/抽屉承载方式仍按当前业务契约和逐操作确认保留。
+- 规范适用于 Admin;Client、PDA 不自动套用。按用户确定的模块和操作范围逐批实施,规范统一不代表全端已改造或验收,也不授权批量替换公共默认值或发布。
+- 本文只维护当前有效规则,不并列保留已被替代的通用样式。新增确认直接修改对应条款,不在文末继续追加另一套规则。代码令牌是数值的唯一实现入口,变更须同步本文对应条款。
+- [蓝白样板目录](界面参考/蓝白卡片式工作台风格参考.md)只保存页面参考和原图;[排车列表试点](Admin排车列表样式试点.md)只保存历史依据。二者不再定义通用样式。
+- 模块记录只维护本模块改造范围、业务例外、检查结果与截图证据,不覆盖本文通用规则: [国内仓](Admin国内仓样式核对记录.md)、[客户管理](Admin客户管理样式核对记录.md)、[货柜管理](Admin货柜管理样式核对记录.md)、[海外仓](Admin海外仓样式核对记录.md)、[列表推广](Admin列表样式推广核对记录.md)、[自营](../apps/admin-web/src/modules/self-operated/operation-matrix.md)。只读本轮实际涉及的记录,不要求全部加载。
## 基本原则
-表格顶部操作栏的桌面尺寸统一由 `DataTable.vue` 维护:`padding: 6px 12px`、`min-height: 44px`。普通栏与 `.is-compact` 共用尺寸,后者只改变对齐;不再按 1920px 断点切换尺寸。公共密度样式和业务页面不得重复声明这部分 padding / height;组件现有移动端排列规则保留。
+表格顶部操作栏的基础桌面尺寸由 `DataTable.vue` 维护:`padding: 6px 12px`、`min-height: 44px`;显式接入蓝白主题的主列表使用本文“蓝白主题与图表”的 48px 最小高度。普通栏与 `.is-compact` 只改变对齐,不按 1920px 断点切换尺寸;页面不得重复声明公共 padding / height,已有移动端排列规则保留。
1. 普通业务内容采用连续白底、细边框、描述表与数据表格。短字段以“标签 + 值”连续排列,不制作独立指标卡片。
2. 先压缩重复标题、重复汇总、容器层数和无意义留白,再调整列宽与行高。正文保持可读,不通过缩小整页、浏览器缩放或截断关键值提高密度。
@@ -51,42 +48,61 @@
| 页签图标 | 17px,固定 18px 占位,独立彩色显示 |
| 普通表格行 | 基准 36px,单元格上下内边距 4px;按内容自然增高 |
| 普通输入框与工具栏按钮 | 通常 32px |
-| 表格内操作按钮 | 28px,保留文字、焦点和禁用反馈 |
+| 表格内操作按钮 | 基准 28px;已接入标准列表使用纯文字行操作,保留焦点、禁用与处理中状态 |
| 区块间距 | 通常 12px;标准列表遵守现有 ListPageLayout 的单一间距,不叠加页级空白 |
| 普通内容内边距 | 12px;弹框正文 12px 16px |
-| 容器圆角 | 0–4px;普通数据区无装饰阴影、渐变或上浮效果 |
+| 容器圆角 | 普通业务数据区 0–4px;独立搜索区 5px、作业分区 8px、蓝白指标卡 16px 按各自规则,不叠加整页外框 |
| 内容底色 | 白色 |
-| 表头、描述表标签底色 | 浅灰,参考 #f8fafc / #f9fafb |
+| 表格表头 | 浅蓝底 `#edf4ff`、深蓝文字 `#284b78`,标准列表、工作台、弹框/抽屉内 Element 表格及 `density-table` 共用 |
+| 描述表标签底色 | 浅灰,参考 #f8fafc / #f9fafb,不跟随表格表头变蓝 |
| 边框 | 现有 `--cc-border`;表格参考 #e5e7eb |
| 悬停、斑马纹 | 轻量区分,参考 #f3f7fb / #fcfcfd |
-颜色优先复用当前 `--cc-*` 与 Element Plus 语义变量。金额和测量数字可使用等宽数字排版,只有总计或关键结论适度加粗,不将每个值都加粗。
+表头颜色由 `foundation.css` 的 `--cc-list-table-header-bg` 与 `--cc-list-table-header-text` 唯一维护。颜色优先复用当前 `--cc-*` 与 Element Plus 语义变量。金额和测量数字可使用等宽数字排版,只有总计或关键结论适度加粗,不将每个值都加粗。
+
+## 提示文字与加载布局
+
+2026-10-21 用户确认:Admin 页面默认不额外添加提示小字、装饰性副标题、功能介绍或独立说明行;用户明确要求展示的业务信息按实际用途保留。
+
+- 常规加载、刷新、查询及页签切换不新增“页签数量加载中…”“数据加载中…”等独立文字行,不为每个局部请求补充提示小字。
+- 加载反馈复用原位置、固定尺寸的加载图标、按钮 loading、区域遮罩或与内容等尺寸的骨架;加载前、加载中、完成后保持页签、工具栏、筛选区和表格的布局稳定,不因临时提示插入或移除而推挤内容、改变区块高度或造成页面跳动。不为被禁止的提示行额外预留空白。
+- “覆盖加载状态”“保留状态反馈”不等于新增可见说明行。保留 `aria-busy` 等可访问语义;必要的读屏播报不得占用可见布局。
+- 接口失败与重试、表单校验、权限限制、过期或异常状态、实际操作阻断和危险后果继续清楚反馈,在对应位置集中表达,避免重复;不得以精简小字为由隐藏影响用户判断或操作的信息。
+
+- **详细口径按需展开。** 计算公式、统计口径、图例、来源解释和操作说明放入已有说明入口或 `InlineHelp`/tooltip,支持键盘聚焦;不为每张卡增加介绍段、装饰性副标题或长解释。确需影响判断的周期、单位和版本保留最短必要表达。
+- **同一事实只讲一次。** 多张卡共用的统计周期、完整性或来源在分区层级统一表达;卡片仅显示自身特有状态。主状态、进度环、数量卡与阶段节点不重复整段等待原因。
+- **异常优先合并到一个清晰入口。** 同一异常影响多块内容时,在相关区域保留一条简短状态与查看详情/重试入口;不要在每张卡和图表下重复警告。独立异常仍在对应位置明确呈现,不能合并后丢失作用范围。
+- **关键异常与阻断常驻。** 当前失败、未知、陈旧、权限不足、操作阻断及危险后果必须能直接识别;细节可以展开,关键状态不能只藏进 tooltip。正常完整状态不需要逐卡反复宣告。
+- **事实与视觉分开。** `0` 表示已知零值,`—` 或“待确认”表示未知;历史结果和陈旧快照要有简短标识。精简文案不得把未知显示为零、把暂停显示为完成,也不得隐藏真实风险。
+
+库存分析样板按这套规则收敛:快照解释、“本仓概览/截至日期/采集时间”整行及图表范围说明移入已有说明入口;正常指标卡只保留名称、数值和单位,删除重复的“已确认”。真实未知、陈旧和异常继续显示简短提示。删除独占一行的“展开图表”,将图表操作并入顶部简短入口。完整数值来源、采集时点和估算细节可在说明或 tooltip 中查看;估算值必须能辨认其估算属性,不得因精简文案冒充实测值。
+
## 各类页面规则
### 列表
-- 继续使用 `ListPageLayout + QueryToolbar + DataTable`。查询、批量操作、表格、分页构成连续工作区,不重复放置正文大标题或统计卡片。
-- “操作”列始终第一列,需要固定时固定在左侧。最多三个高频操作直接显示,更多操作使用已有菜单约定;保留页面已确认的直接操作数量。国内仓全部 7 个菜单及客户管理的行内业务操作采用下述纯文字描边按钮。危险动作保留明确文字与确认。
-- 列宽按实际编号、状态和按钮数量决定;不能把样板的 260px 操作列套给所有列表。核对最多按钮、加载中和权限变化后的布局。
-- 数值列右对齐,单位优先放表头;编号按业务需要设置宽度。保留横向滚动、列偏好、分页和已有行内编辑能力。
+- 使用 `ListPageLayout + QueryToolbar + DataTable`,搜索/筛选区与下方表格分成独立区块,搜索区圆角统一 5px。`foundation.css` 的 `--cc-list-query-radius` 与 `--cc-list-query-gap` 维护尺寸;DataTable 筛选容器提供边框、底色及下方 16px 间距,内部 QueryToolbar 不重复套卡片。独立 QueryToolbar 使用相同圆角及列表已有区块间距。
+- 同级状态/分类页签与顶部业务按钮共用工具栏:页签放 `toolbar-start`,操作放 `toolbar-actions`/`toolbar-end`,查询放 `filters`;蓝白页签加 `workbench-list-tabs`。不叠加重复路由标题、页签行、按钮行;保留真实业务子分区、统计数量、失败重试与当前范围。
+- “操作”列在第一列,需要固定时固定在左侧。默认最多三个高频操作直接显示,其余用更多菜单;保留已确认的直接操作数量、权限和危险确认。更多入口为 `…`(`MoreHorizontal`),保留业务对象相关的可访问名称与悬停提示,菜单项纯文字。
+- 已接入标准列表的行操作采用纯文字:无描边、填充或装饰图标,400 字重,普通操作蓝色、危险操作红色、禁用灰色、悬停无下划线。`RowActions` 用 `text-actions`;手写按钮组用 `row-actions density-actions admin-text-actions`,危险语义通过 `data-tone="danger"` 或 `type="danger"` 显式指定。统一外观由 `adminTextActions.css` 维护,不再沿用早期国内仓描边行按钮。顶部、查询及弹框提交按钮按各自用途保留,不机械套用行操作外观;尚未接入的消费者在本轮明确范围内再调整。
+- 列宽按实际编号、状态和按钮数量决定,核对长编号、最多按钮、加载与权限变化;不把样板操作列宽套给所有列表。数值列右对齐,单位优先放表头;保留横向滚动、列偏好、分页和行内编辑。
+- 标准 DataTable 沿用默认灰白斑马纹,不由页面显式关闭;行底色复用 `--admin-row-stripe`,悬停行、当前行及悬停单元格由 Element 状态样式处理,父表底色不穿透子表。
+- `appearance="integrated"` 保留原组件组合能力,不再表示搜索与表格必须相连。样式维护在 DataTable 和公共 CSS,不为接入样式切换业务模式。
-#### 国内仓行内按钮(以订单列表样板统一)
+#### 公共列表能力
-依据用户提供的白底描边按钮参考图,订单列表行内操作采用纯文字、白底、1px 细边框,无阴影,圆角 6px;保持 28px 高、13px 字号、600 字重、左右内边距 10px、按钮间距 6px。该按钮圆角为明确例外,普通内容容器仍为 0–4px。
+Admin 仍使用 Element Plus。普通 `el-select` 由构建组件解析器统一接入 `src/shared/components/AdminSelect.ts`,仅将 `filterable` 默认值设为 `true`,使用 Element Plus 原有渲染、插槽、事件和公开方法;列表、表单、弹框及分页选择框均可输入关键词筛选当前选项。已有 `remote-method`、`filter-method`、多选、禁用和清空行为保持原有配置;搜索不改变候选业务范围,也不会自动新增远程接口调用。虚拟托盘选择框 `el-select-v2` 已显式启用远程搜索。
-- 默认行内操作(详情、编辑、备注、更多):蓝色文字 `#1777ff` 与浅灰边框,由 `--admin-action-neutral` 统一维护。
-- 审核“通过”:橙色文字与浅橙边框,保留原确认流程。
-- 测量:紫色文字与浅紫边框。
-- 悬停使用对应浅色底,键盘焦点保持可见;禁用、处理中状态保留。更多入口统一为 `…`(Lucide `MoreHorizontal`),保留包含业务对象的“更多操作”悬停提示和可访问名称;下拉项纯文字。
+推广时列设置显式使用 `column-settings-mode="show"`。已有 `preference-key` 保持,新接入的退货库存、流水和箱号各使用独立偏好键。存在非阻断警告时使用 `notices` 插槽,列表失败时通过 `results-visible` 隐藏结果和分页,标题、查询与重试保持可用;`before-results` 保留原统计与汇总。特殊工作台可使用 `results` 插槽承载原内容和自身分页,公共表格不重置它的页码与每页数量。
-该规则覆盖订单列表、订单测量、测量数据审核、预装清单、库位管理、托盘管理、整柜业务以及其详情中的行内操作。查看/编辑/备注为默认蓝色 `#1777ff`,测量为紫色,审核为橙色,启用为绿色,停用/删除为红色。预装共用组件只在 `preload` 模式接入,已确认装柜清单模式保持原规则。顶部查询/新增/批量操作和弹框提交仍使用 32px 主次按钮,不机械改成行内按钮,也不增加样板中不存在的业务操作。
+列宽保存为公共 DataTable 能力,与已有列设置一同启用(提供 `preference-key` 且列设置可用),不依赖试点样式。拖动表头边界松开时,将宽度按稳定列键写入同一份本地偏好;重排、隐藏再显示不会丢失,刷新/重新进入时恢复。账号与表格分别隔离,仅保存到当前浏览器,不跨设备同步。“恢复默认”同时重置列顺序、显隐和宽度,重新采用页面声明的 width/minWidth。未启用列设置的表格不写入列宽偏好。
#### 客户管理按钮与详情
- 客户列表、海外仓阶梯费用及关联详情、编辑、审核、预览的业务操作按钮采用纯文字;查询、重置、复制也去掉装饰图标。分页箭头、列设置、筛选布局、关闭与全屏等独立图标控件保留,处理中旋转图标保留。
-- 客户列表行内按钮沿用 28px 白底描边、6px 圆角、6px 间距:详情/编辑/更多为默认蓝色 `#1777ff`,审核为橙色,重置密码为紫色,跳转登录为蓝色,启用为绿色,停用/删除为红色。更多入口与订单列表统一显示 `…`,不显示“更多”文字;悬停提示及可访问名称保留,菜单项纯文字,保留原权限与操作分配。
-- 海外仓阶梯费用列表按原档位顺序显示“天数:单价”,在费用单元格中连续排列、整组自然换行;不制作每档独立白块,不强制左右两列,不隐藏后续档位。币种只在独立列展示,计费单位保留在表头;零单价照常显示 `0`,没有档位显示“—”。编辑按钮沿用默认蓝色 `#1777ff` 文字、白底描边。
+- 客户列表行操作采用上文统一纯文字规则;保留原权限、操作分配、更多入口和危险确认。
+- 海外仓阶梯费用列表按原档位顺序显示“天数:单价”,在费用单元格中连续排列、整组自然换行;不制作每档独立白块,不强制左右两列,不隐藏后续档位。币种只在独立列展示,计费单位保留在表头;零单价照常显示 `0`,没有档位显示“—”。列表编辑按钮沿用统一纯文字行操作。
- 阶梯费用编辑弹框中的“新增阶梯”为蓝字浅蓝边、“删除”为红字浅红边,均使用 28px 高、6px 圆角的白底纯文字按钮;客户详情的海外仓费用编辑同步执行。底部保存/取消沿用 32px 主次按钮。按钮规则同时覆盖页面与 Teleport 弹框,并显式设置普通、悬停、焦点及禁用状态,避免默认主题色覆盖。
- 客户详情保留彩色页签;企业信息用连续四组键值表,联系与合作信息保留三组键值表,长地址整行。资质文件采用连续行,企业成员使用表格。
- 客户新增/编辑保留 1120px 三列表单,入驻审核保留 1040px,箱规规则编辑保留 1200px,海外仓阶梯编辑保留 1120px。宽度属于当前内容的适配值,不推广为全局默认。
@@ -96,7 +112,7 @@
- 第一行集中放返回、业务编号、核心状态及主要操作。下一行用可换行摘要展示关键上下文,不使用大数字概览卡。
- 返回使用 `density-back` 轻量导航,与业务编号和状态排在同一行,保留箭头、文字、键盘焦点及原返回目标。该行并入连续白底详情区域,不为返回单独增加卡片或空白行;整柜库存的标题行与基本信息共用一个信息区。
- 页签紧接摘要。页签已表达的标题不再在正文重复占用一大行;数量、更新时间与相关操作可放紧凑工具栏。
-- 短字段通常每行四组,长内容跨两组或整行。描述表标签浅灰、数值白底,边线连续;标签宽度以 112px 为样板参考,按字段实际长度调整。
+- 短字段通常每行 4–6 组,按内容和业务分组调整,长内容跨列或整行。描述表标签浅灰、数值白底,边线连续;标签宽度以 112px 为样板参考,按字段实际长度调整。
- 保留字段顺序和业务分组,不使用会改变阅读顺序的自动密集填空布局。
- 同一个订单或实体内部的内容连续分区,不再层层套卡片。
@@ -156,7 +172,7 @@
| 来源资料、只读申报与明细 | 客户申报明细 | `#f7f9ff` |
| 当前录入、编辑与作业明细 | 平台实测箱规 | `#fffbf4` |
-- 表格单元格以白底为主,表头浅灰;普通字号、控件高度、行高、间距沿用本规范公共令牌。单位、必填标识、校验错误、表单标签及原因说明完整保留。
+- 表格单元格以白底为主,表头采用“尺寸与颜色”的统一浅蓝底、深蓝文字;普通字号、控件高度、行高、间距沿用公共令牌。单位、必填标识、校验错误、表单标签及原因说明完整保留。
- 汇总尽量只出现一次;表格已完整表达的字段不再另做统计卡片。错误、警告、成功及禁用状态继续使用现有语义,彩色分区不掩盖真实风险。
#### 底部操作与交互
@@ -167,11 +183,22 @@
- 审核、确认清楚展示业务对象;批量操作保留逐票预览、选中数量和不可操作原因。加载中、无数据、接口失败、无权限、禁用与处理中均应有明确反馈。
- 保留提交锁定、原有遮罩/Esc/关闭规则、未保存保护及失败上下文;全屏切换、关闭和重开不丢失应保留的输入,不允许重复提交。关闭、全屏等功能图标保留,不为统一风格给标题、字段或按钮添加装饰 Emoji。
+#### 作用域与嵌套
+
+新增、编辑先参考公共 `AppDialog`/`AppDrawer`,表单字段排列仍参考本业务已确认的样板。客户新增/编辑使用三列短字段,地址、备注和长内容跨列;小型确认框保留原宽度。智能装柜等工作台保留原有宽版和 92vh 高度,不把所有浮层压成同一尺寸。
+
+- 标题、正文和页脚样式只匹配当前浮层的直接子节点;业务页的 `:deep` 规则也必须限定自身,不能通过任意后代选择器影响子弹框。
+- 不假设 `AppDialog` 默认一定挂到 body。嵌在另一个弹框、工具栏或有裁切的容器中的独立浮层,应明确设置 `append-to-body`,并把主题类放到实际浮层根。核对关闭、重开、全屏和取消仅影响对应窗口。
+- 标题与底部操作不随长正文滚走,正文使用单一纵向滚动区;真实宽表可在自己的区域横向滚动。不要通过整框 `overflow: hidden`、固定短高度或隐藏按钮解决溢出。
+- 底部多按钮可换行且保持间距;已有复合底栏(统计、分页、提交等)保留自身布局,不强制改成一排普通按钮。工具栏的紧凑按钮尺寸不得传入浮层。
+- 工具栏只控制自身操作按钮及已核实的包装层,遇到浮层、弹出菜单或内嵌 DataTable 就结束作用范围;保留按钮组与下拉按钮,不能为隔离而使已有操作失去样式。
+- 长校验错误应占据正常布局空间,不能遮住下一行;长文件名允许换行,文件选择、上传和删除按钮保持可用宽度。必填标识、字段标签、错误和提交反馈不为清爽而删除。
+
#### 公共维护与分模块落地
- 框架能力维护在 `AppDialog.vue`,默认尺寸、字号和间距维护在 `adminDensityTokens.css`,通用外观维护在 `adminDensity.css`。彩色分区推广时提取到公共令牌与显式接入的样式原语;模块只维护字段顺序、列数、业务分组和已确认的尺寸例外,不复制通用 CSS。
- 已提供的分区原语为 `density-dialog-section`,通过 `data-tone="summary/source/work"` 分别选择汇总绿、来源蓝、录入黄;分区标题使用 `density-dialog-section__title`,连续分区容器使用 `density-dialog-sections`。弹窗通过 `admin-density-dialog` 接入;保留抽屉并显式采用相同详情密度时使用 `admin-density-drawer admin-density-drawer--detail`;实际侧滑编辑使用 `admin-density admin-density-drawer admin-density-drawer--editor`,复用相同分区、连续编辑表和底栏,不改变其他抽屉。公共选择器保持原弹窗的优先级。测量样板与订单弹窗共同消费 `--admin-dialog-*` 令牌,后续模块沿用同一入口。
-- 弹窗内简短说明显式使用 `density-dialog-note`,由公共样式维护辅助字号、颜色和尾距;业务页面不重复这些普通说明外观。
+- 确有必要且已确认的弹窗说明使用 `density-dialog-note`,由公共样式维护外观;是否展示遵循“提示文字与加载布局”,不因存在说明类就新增小字。
- JSON及原文快照显式使用 `density-code-block`,由公共样式维护代码字号、底色和边框;长内容完整换行,沿用外框正文滚动,不另设固定高度、内容截断或纵向滚动。快照属于诊断证据,不据此将数据库ID展示为业务编号。
- 连续信息表需要单元格编辑时,在 `density-table` 上显式添加 `density-table--editable`;数值与单位使用 `density-table-editor` 横排。输入的普通边框融入表格,保留悬停、键盘焦点及禁用反馈;页面只配置标签列宽和字段排列,不复制输入框外观。
- 小表单继续使用 `density-form`;末项已有明确紧凑尾距约定时显式添加 `density-form--flush-end`,不改变其他表单末项为校验错误保留的空间。
@@ -199,59 +226,141 @@
彩色图标用于详情页签。国内仓 7 个菜单的行内按钮与客户管理业务操作使用纯文字;返回箭头、顶部与弹框的既有功能图标可保留。不要给操作按钮、表头或字段添加 Emoji。
-## 国内仓推广清单与顺序
-
-此表是实施入口,不是完成状态。每个入口必须继续沿实际组件引用盘点可达弹框与详情,不把父页面验收等同于所有子界面通过。
-
-| 顺序 | 菜单 | 主入口(相对 apps/admin-web/src) | 本组应覆盖 |
-|---|---|---|---|
-| 样板 | 订单列表 | `modules/unified-orders/pages/UnifiedOrdersView.vue` | 列表、详情全部页签、测量、单票/批量审核及实际可达弹框 |
-| 1 | 订单测量 | `modules/inbounds/pages/InboundMeasurementsView.vue` | 列表、测量作业、称重图片与相关编辑/预览 |
-| 1 | 测量数据审核 | `modules/inbounds/pages/MeasurementReviewsView.vue` | 列表、审核工作区、明细、确认及当前实际存在的修正操作 |
-| 2 | 预装清单 | `modules/loading-lists/pages/PreloadPlansView.vue`、`PreloadPlanDetailView.vue` | 列表、详情各页签、相关确认及打印/预览容器 |
-| 3 | 库位管理 | `modules/warehouse-resources/locations/pages/LocationsView.vue` | 列表、详情、新增/编辑及实际存在的批量操作 |
-| 3 | 托盘管理 | `modules/warehouse-resources/pallets/pages/PalletsView.vue` | 列表、详情、新增/编辑及实际存在的关联操作 |
-| 3 | 整柜业务 | `modules/domestic-containers/pages/DomesticContainersView.vue`、`DomesticContainerInventoryDetailView.vue` | 入库/出库/库存工作区、库存详情与实际可达弹框 |
-
-每组先统一列表,再处理详情与弹框;同一业务工作区一起交付人工查看。未注册、已重定向或只存在于历史原型的页面不能只凭文件存在就恢复或加入本轮。
-
## 实现与验收
-1. 改造前读取最近指引,沿菜单、路由、组件与事件定位实际页面;填写逐操作矩阵。原型已有承载方式不因密度统一而替换,明确的样式改造可在已授权范围内推进。
-2. 多个真实消费者使用同类密度时,将稳定尺寸与布局能力收敛到本应用的样式变量或现有共享组件的可选能力。先明确接入范围,不让全局默认变化影响尚未改造的菜单。
-3. `adminDensityTokens.css` 定义默认值,`adminDensity.css` 承载通用组件规则;`orderDensity.css`、`measurementDensity.css`、`customerDensity.css` 只保留各自业务布局与引用公共变量的局部规则。按钮外观不得在模块中另写一套。跨菜单共用组件(如模拟柜创建、托盘码打印)通过可选 `dense` 参数接入;未传参数的调用保持原布局。
-4. 弹框经 Teleport 后必须仍能获得对应样式。检查普通、全屏、关闭、重开以及多个入口使用同一组件时的表现;避免无边界的全局 `.el-dialog`、`.el-table` 或 `!important` 覆盖。
-5. 每页检查长编号、长地址、多条数据、空态、失败态、无权限、禁用态及处理中状态;所有字段、单位、排序、权限与操作资格应保留。测试不得继续锁定已废弃的卡片结构,也不能删除业务断言以换取通过。
-6. 按 Admin 指引运行直接影响测试、类型检查、全量测试与构建;公共组件检查实际消费者。视觉默认由用户在指定视口操作并截图,缺少证据标记“待人工截图确认”;用户明确要求 AI 界面验收时,按本轮授权操作并记录实际证据,不将代码测试当作视觉通过。
-7. 每组交付说明修改页面、公共影响、检查结果、剩余视觉差异。任何尺寸或布局例外记录在逐页矩阵中,避免把一次性例外写成新的全局默认。
+逐操作矩阵、人工截图与自动检查的证据要求统一见 [前端验收规则](Admin-Client前端原型还原验收规则.md)。本规范不记录通过状态;缺少截图保留“待人工截图确认”。实现前核对实际路由与直接消费者,保持字段、单位、排序、权限、提交及错误处理,测试不能锁定已废弃外观或删掉业务断言。
-逐页核对记录模板:
+## 蓝白主题与图表
-| 页面/路由 | 操作及承载方式 | 原型或确认依据 | 采用规则/业务例外 | 检查与截图结论 |
-|---|---|---|---|---|
-| 填写具体页面 | 分别填写详情、编辑、审核、预览等 | 原型 ID、代码入口或用户确认 | 列表/描述表/日志/作业弹框等 | 代码检查结果;待人工截图确认或实际结论 |
+### 视觉基线与维护入口
-规范只记录稳定规则和入口。各组进度、临时问题与验收结果写入对应核对记录,不写入 `AGENTS.md`。
+| 维护内容 | 唯一实现入口 |
+|---|---|
+| DOM 配色、字号、间距、圆角、阴影与辅助色 | [`adminWorkbenchTokens.css`](../apps/admin-web/src/styles/adminWorkbenchTokens.css) |
+| 标题、指标卡、列表外壳、页签、阶段、图表空态与弹窗外观 | [`adminWorkbench.css`](../apps/admin-web/src/styles/adminWorkbench.css) |
+| Canvas 图表字体、颜色、坐标网格与提示框主题 | [`adminWorkbenchChartTheme.ts`](../apps/admin-web/src/styles/adminWorkbenchChartTheme.ts) |
+| 显式接入范围、变量归属、公共类与浮层作用域合同 | [`adminWorkbench.test.ts`](../apps/admin-web/src/styles/adminWorkbench.test.ts) |
+| 原有表格、控件和弹窗密度 | [`adminDensityTokens.css`](../apps/admin-web/src/styles/adminDensityTokens.css)、[`adminDensity.css`](../apps/admin-web/src/styles/adminDensity.css) |
+| 弹框与抽屉的标题、正文滚动和底部操作 | [`AppDialog.vue`](../apps/admin-web/src/shared/components/AppDialog.vue)、[`AppDrawer.vue`](../apps/admin-web/src/shared/components/AppDrawer.vue);真实 Element 挂载回归见 [`AppDialog.layout.test.ts`](../apps/admin-web/src/shared/components/AppDialog.layout.test.ts) |
-## 国内仓、客户管理的样式维护边界
+下列取值只用于显式 `admin-workbench` 主题内的对应元素;业务表格、控件与表单继续沿用上文密度值。代码以对应令牌为准,修改数值只改唯一实现入口并同步本表,不在页面重新声明默认值。
-2026-10-21 用户确认 Admin 表头统一采用低饱和浅蓝底 `#edf4ff`、深蓝文字 `#284b78`,替代灰色表头。公共颜色由 `foundation.css` 的 `--cc-list-table-header-bg` 与 `--cc-list-table-header-text` 维护,标准列表、工作台、弹框/抽屉内 Element 表格及 `density-table` 共用;不改变正文行、搜索区和详情标签底色。
+| 项目 | 样板基线 |
+|---|---|
+| 主操作与链接 | `--workbench-primary`,`#3784FA`;悬停、按下与禁用使用配套令牌 |
+| 重点数字 | `--workbench-number`,`#1890FF` |
+| 正文与辅助文字 | `--workbench-text`,`#1F2937`;`--workbench-muted`,`#64748B` |
+| 表面与边框 | 白色主体,浅灰蓝辅助区;`--workbench-border`,`#E5EAF2` |
+| 卡片与图标底座 | 卡片圆角 16px、图标底座圆角 12px,低强度阴影;使用公共令牌 |
+| 普通指标卡高度 | `--workbench-metric-min-height: 186px`;长内容可自然撑高,紧凑指标不继承此最小高度 |
+| 空间 | 外壳内容区上/左右 12px、底部 16px;工作台根内边距 `--workbench-page-padding: 12px`;区块间距仍为 24px,普通卡片内边距 20px、紧凑卡片内边距 14px、同级网格间距 18px |
+| 主列表顶部 | 工具栏最小高度 48px、上下内边距 6px;筛选区上下 8px;两区左右统一 12px,普通按钮与筛选控件 32px;内容多时自然换行,不截断或固定总高度 |
+| 主列表底部分页 | 最小高度 48px(border-box)、上下内边距 6px、左右 12px,与筛选区对齐;保留 32px 翻页按钮和长统计换行,不沿用集成列表旧的 64px 高度、14px 上下留白 |
+| 文字层级 | 页标题 24px、分区标题 18px、普通指标名称 15px、重点数字 34px、紧凑指标数字 26px |
+| 辅助色 | 青、绿、紫、黄、红用于图标、分区与真实状态,不能代替状态文字 |
-2026-10-21 用户确认 Admin 所有列表的搜索/筛选区与下方表格分开,作为独立区块,圆角统一为 `5px`。公共尺寸由 `foundation.css` 的 `--cc-list-query-radius` 与 `--cc-list-query-gap` 维护;`DataTable` 的筛选容器统一提供边框、底色及下方 `16px` 间距,内部 `QueryToolbar` 不重复套卡片;独立 `QueryToolbar` 使用相同圆角,沿用列表布局已有的区块间距。此约定替代下述历史连续列表模式中搜索区与表格相连的外观,不改变字段、查询行为和操作承载。
+白色和细边框负责分层,不反复套大卡片;标题与数值形成重点,单位和补充说明降低权重。蓝色强调重点数据,不要求所有数字着色。红、黄继续表示风险、失败或警告;趋势是否改善由业务决定,不能仅凭上涨或下降设绿色。
-2026-09-30 确认的连续列表模式见 [排车列表公共接入规范](Admin排车列表样式试点.md):通过 `DataTable appearance="integrated"` 显式接入标题、业务按钮、查询、结果和分页共用卡片;仅操作列使用蓝色普通文字、红色危险文字并禁止悬停下划线。该模式的行高、卡片、搜索与页头样式由 DataTable 统一维护,行操作外观由 `adminTextActions.css` 维护;查询、顶部和弹框按钮保持原样。此约定优先于本节历史的行内描边、图标和独立路由标题规则;未接入页面保持默认。当前接入范围与特殊页面见 [推广核对记录](Admin列表样式推广核对记录.md)。
+原有 `--admin-*` 密度默认值继续有效。公共控件、表格行高、行内操作、弹窗尺寸和滚动由原组件与密度规范管理;蓝白外观只在显式主题范围内生效。
-本节维护表适用于已接入页面及其实际子组件,当前范围以推广核对记录为准。此次收敛以保留业务字段、权限、计算与承载方式为前提。
+页面边缘采用紧凑双层留白:`.page-container` 与 `.admin-workbench.admin-page` 分别使用 12px,避免旧外壳 20px 再叠加工作台 24px 挤占内容。页边距与区块间距使用独立令牌,不通过缩小表格行高、控件或文字来换空间。
-2026-10-20 用户确认固化自营模块的蓝白、清爽、少提示文字风格,作为后续 Admin 改版基线。配色、卡片和图表外观统一从 [蓝白卡片式工作台风格参考](界面参考/蓝白卡片式工作台风格参考.md) 进入;该文档按总览、标准列表、复杂分析、运行看板与图表弹窗列出参考页面和公共样式入口。`adminWorkbenchTokens.css`、`adminWorkbench.css`、`adminWorkbenchChartTheme.ts` 只在显式 `admin-workbench` 范围内提供外观,保留本规范的业务密度、表单和浮层承载。按确定的模块范围分批接入、逐页核对,不直接改写全局默认值或将样板通过视为全端验收通过。
+页面内复用另一个完整 `AdminPage` 时,仅在嵌入调用上显式加 `is-embedded`,去掉内层重复 padding;独立路由打开仍保留原页边距。订单内的测量审核分支是此用法的参考。不要在业务页重复声明公共间距变量,也不要全局清空所有面板内距。
-页面和区块不再常驻重复的功能介绍。一般流程、计费规则和图表图例复用 `InlineHelp.vue`,在标题或对应操作旁显示信息图标,鼠标移入或键盘聚焦时浮层展示说明,不展开正文或增加独立说明行。已有包含交互操作的统计说明弹层保留其原交互。错误、权限、过期状态、操作阻断和危险后果仍直接展示,不通过全局隐藏段落或说明组件来精简页面。
+整页主体是一块连续白底,不再额外套一圈边框、圆角和阴影。包住主要列表的 `workbench-table`/`workbench-toolbar` 或整页详情 `workbench-panel` 显式增加 `is-page-surface`;内部指标、图表、并列独立面板继续保留细边框,表格单元格、表头和操作分隔线也保留。不能通过清除全部 `border` 把卡片、控件和表格边界一起抹掉。
+
+详情主容器的 `workbench-panel.is-page-surface` 在屏幕展示时不再叠加 padding,即使同时有 `is-compact` 也由外层页面或业务分区提供唯一一层留白。独立预装/装柜清单详情和货柜内的清单页签按此规则接入;内部独立紧凑卡片仍为 14px,普通卡片仍为 20px。该规则排除 `AdminPage` 页根并仅用于屏幕,不覆盖页面原有 12px 或打印内距。
+
+### 公共样式接入
+
+页面直接导入 `@/styles/adminWorkbench.css`,保留原有密度入口,并在实际页面根容器增加 `admin-workbench`。不依赖先打开样板页后残留的 CSS,不将主题放入全局入口,不修改 `:root`。导航、顶栏、页签由总控在各自容器显式接入,不给包含业务页面的 `.app-shell` 或 `.app-main` 添加主题类;业务页和 Teleport 浮层仍须自己接入。
+
+```vue
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+这个片段只说明主题作用域。`rows`、`columns`、弹窗宽高、事件与组件导入仍按目标页原实现补齐,不代表需要新建弹窗或更换承载方式。
+
+| 场景 | 公共类与用法 |
+|---|---|
+| 页头与分区 | `workbench-heading`、`workbench-title`、`workbench-meta`、`workbench-section`、`workbench-section-heading`、`workbench-section-title`、`workbench-badge` |
+| 普通指标卡 | `workbench-metric`、`workbench-metric-heading`、`workbench-icon`、`workbench-metric-label`、`workbench-metric-value`、`workbench-status`、`workbench-note` |
+| 紧凑指标 | 在指标卡和图标上增加 `is-compact`;不继承总览卡片的最小高度 |
+| 面板与提示 | `workbench-panel`、`workbench-notice`、`workbench-skeleton`;紧凑/自带头部面板使用 `is-compact`/`is-flush` |
+| 图表与空态 | `workbench-chart`、`workbench-chart-heading`、`workbench-chart-title`、`workbench-chart-actions`、`workbench-chart-canvas`、`workbench-chart-empty`、`workbench-chart-empty-icon` |
+| 标准列表 | **外层 `div.workbench-table` 包裹 DataTable**,统一外框、表头、边框、行悬停和分页强调;不修改业务列宽或行密度 |
+| 整页主要内容 | 主要列表的 `workbench-table`/`workbench-toolbar`、整页详情的 `workbench-panel` 增加 `is-page-surface`,去掉整页外框、圆角和阴影;详情主容器的屏幕 padding 为 0,保留页面根及内部卡片内距;主表顶部同时使用公共紧凑高度与左右边界,子表格不自动套用 |
+| 嵌入完整页面 | 仅在嵌入调用上加 `is-embedded`,清除内层 AdminPage 的重复内距;独立路由不加 |
+| 独立查询区 | QueryToolbar 自身添加 `workbench-query`,保留控件与换行;位于 DataTable 的筛选区时由外层提供独立搜索区的边框、底色及间距,内部不重复套卡片 |
+| 列表页签与操作 | 页签放 `toolbar-start` 并加 `workbench-list-tabs`,按钮保留原操作插槽;标准主表统一 48px 最小工具栏、32px 控件,无需销量页专属紧凑类。保留自动换行与键盘切换,嵌套表格、详情和弹框不继承该布局 |
+| 只有查询工具栏 | 外层 `div.workbench-toolbar` 包裹 DataTable,保留组件原有工具栏和筛选排列 |
+| 原生页签与输入 | 页签父级 `workbench-tabs`,保留按钮的 `aria-pressed` 和点击事件;原生输入使用 `workbench-input`,页面只保留业务宽度 |
+| 阶段节点 | `workbench-step`、`workbench-step-index`,从已确认的 `data-state` 选择状态,不从任务名或阶段顺序推断完成 |
+| 证据内容 | 容器 `workbench-evidence`;已有 `density-table` 保留行密度 |
+| 详情与表单 | 显式主题根保留原密度类,已有 `density-detail-*`、`density-fields`、`density-descriptions`、`density-form`、`density-form-section` 适配中性外观;字段列数、字号、业务色、校验及尺寸保持原契约 |
+| 抽屉 | 实际根使用 `admin-density-drawer admin-workbench is-drawer`,保留原有详情/编辑 modifier、方向、宽度、贴边形态和正文滚动 |
+| 白色品牌资源底座 | `workbench-brand-mark` 提供蓝底与公共圆角;图片比例、容器宽高由实际布局决定,不替换品牌图形 |
+| 辅助色 | 元素增加 `workbench-tone`,按需选择 `data-tone` 为 `blue`、`teal`、`green`、`purple`、`amber` 或 `rose`;语义胶囊可加 `workbench-badge is-toned` |
+
+DataTable 的属性透传目标是内部表格,不能只把 `workbench-table` 加到组件上就认为外框已接入。默认与 integrated 模式各保留原密度,不能为了外观切换模式。Teleport 弹框必须自身带 `admin-workbench is-dialog`,页面祖先不能替代;同时保留 `admin-density-dialog`、全屏、关闭、重开和正文滚动规则。抽屉使用 `is-drawer`,不能套用弹窗类改变承载。
+
+业务页只保留列数、排列、业务宽度与高度;接入公共类后删除被接管的私有配色、边框和标题外观,不能保留两套 CSS 再叠加优先级或 `!important`。共享组件应明确接入模式并核对实际调用者,避免影响尚未推广的页面。
+
+### 图表与数据表达
+
+Canvas 图表显式导入 `adminWorkbenchChartTheme`,在 option 构建处组合字体、轴标签、网格、颜色与 tooltip;不注册全局 ECharts 主题。业务 option 入口分别为 [`skuTrendChart.ts`](../apps/admin-web/src/modules/self-operated/skuTrendChart.ts)、[`dashboardChartOptions.ts`](../apps/admin-web/src/modules/self-operated/dashboardChartOptions.ts)、[`turnoverPresentation.ts`](../apps/admin-web/src/modules/self-operated/turnoverPresentation.ts)。
+
+- 趋势使用蓝色直线和轻面积。只有连续完整数据段可以填充,未知与缺失日期继续断线,未完整日继续以虚线/空心点表达。
+- 柱图使用圆角、真实数值尺度和清晰单位;未知分类用灰色并显示文字,不把缺失量补成零。排名、tooltip 内容、精度和点击业务键由业务模块负责。
+- 进度环只表达当前已知阶段;总量未知、分母为零或数量异常时保留未知状态。待机不等于全部完成,当前阶段 100% 不代表报表已发布。
+- 普通、加载、空数据、错误和部分数据都保留已有语义。减少装饰不能删掉覆盖不足、过期、权限或操作阻断提示。
+- 图表面积按用途选择。库存周转保留 360px 面板及内部伸缩画布,不机械套用固定画布类;体积图保留右侧数值标签空间。长标签、长数字及单位不得挤出可视区域。
+
+- 同类指标统一千分位,保留业务小数精度和单位,不为排版缩写成“万”或先舍入再计算;筛选文案明确对象,不使用多个无上下文的“全部”。
+- 运行看板区分主状态、阶段进度、发布结果及等待原因;已关闭/暂停与保留进度应同时可辨认,不把保留进度表达为正在续采。采集完整与修订核对未知分别表达。
+- 横向宽表保留业务标识的可见性;只读库存表可固定 SKU 首列,有操作列的业务表仍将操作列放第一列。按钮按用户理解的结果命名,保留原行为、权限和禁用条件。
+
+### 导航外壳
+
+自营样板不包含导航外壳;后续 Admin 推广由总控统一维护公共样式、共享组件和外壳,各业务任务按实际消费者逐模块接入。外壳参考 `AppLayout.vue`、`WorkspaceTabs.vue` 和 `shell.css`:白色顶栏、蓝色激活态、轻分隔线,现有白色 Logo 保留蓝底承载;折叠菜单和页签下拉单独声明 `popper-class` 主题范围。保留菜单尺寸、彩色图标、未保存标记、权限与页签行为,不能通过全局注入主题或替换所有 Element 默认样式跳过验收。Client、PDA 不自动套用。
+
+折叠侧栏保留 76px 宽度,展开仍为 240px。菜单宽度随纵向滚动条占用后的实际可用空间伸缩,折叠触发器去掉重复横向 padding 和图标右边距并居中;侧栏只允许纵向滚动,悬浮子菜单继续 Teleport 到侧栏滚动区之外,不能为去掉横向滚动条而裁切子菜单。
+
+## 公共样式维护边界
+
+
+
+密度、蓝白主题与基础组件分别维护各自能力;模块只提供字段、列数、跨列、业务宽高及已确认例外,不重复定义公共默认值。下表适用于本轮已明确接入的实际消费者。
| 要修改什么 | 唯一维护位置 | 页面需要做什么 |
|---|---|---|
| 正文/辅助/分区/页头字号 | `adminDensityTokens.css` 的 `--admin-font-*` | 引用变量,不重新写 13px 等普通字号 |
| 表格行高、输入高度、操作按钮高度、页签高度 | `--admin-row-height`、`--admin-control-height`、`--admin-action-height`、`--admin-tab-height` | 使用已有公共组件和公共类 |
| 常用间距、圆角、普通数据区底色 | `--admin-space-*`、`--admin-radius`、`--admin-surface` 等 | 业务布局引用变量;不可在页面重定义变量默认值 |
+| 表头配色、独立搜索区圆角与间距 | `foundation.css` 的 `--cc-list-table-header-*`、`--cc-list-query-*` | 标准组件消费统一值,不在模块重定义 |
+| 列表纯文字行操作 | `adminTextActions.css`,`RowActions` 的 `text-actions`/手写组的 `admin-text-actions` | 保留动作资格与显式危险语义,不复制旧描边行按钮 |
| 描边按钮外观、悬停/禁用/焦点状态 | `adminDensity.css` 的 `.density-action` | 只选择 `data-tone` 与业务事件 |
| 列表状态/分类页签(国内订单、尾程订单、车辆、供应商、整柜业务、国内/海外货柜工作台、退货库存) | `adminDensity.css` 的 `.density-status-tabs` | 原生按钮使用 `is-active`,Element 页签同时保留 `density-element-tabs`;保留业务分类、图标、数量、查询与切换,不在页面复制页签样式;详情页签继续使用原有详情规则 |
| 详情返回导航 | `.density-back` | 使用 `link`,保留返回事件和可访问名称;客户管理按纯文字约定保留返回文字 |
@@ -269,6 +378,8 @@
### 使用约定
+下列 `density-action` 是非列表行操作的描边按钮原语;标准列表行操作使用上文 `text-actions`/`admin-text-actions`,不照搬此描边示例。
+
```html
编辑
@@ -293,7 +404,7 @@
2. **新增通用尺寸先改变量。** 模块与页面只引用 `--admin-*`;禁止在页面重定义公共默认值。局部标签宽度是明确的业务参数,不改变全局标签宽度。
3. **不要把代码搬到模块 CSS 就称为公共化。** 多个业务共用的按钮、页签、信息表与弹框规则留在公共层;模块 CSS 不能依赖另一个业务模块的类名,也不引入第二套按钮颜色变量。
4. **保留显式接入边界。** 公共样式不能使用无范围的 `.el-button`、`.el-table`、`.el-dialog` 选择器。Teleport 的弹框、抽屉必须自己携带密度类;不能仅依赖页面父级。
-5. **共用组件保留未接入消费者。** CSS 变量的兜底值用于独立渲染和未接入入口;两个已接入模块始终由公共变量决定实际值,兜底值不是第二份密度配置。打印标签、PDF 尺寸、原图、画布和既有窄屏规则不能机械替换。
+5. **共用组件保留未接入消费者。** CSS 变量的兜底值用于独立渲染和未接入入口;已接入消费者始终由公共变量决定实际值,兜底值不是第二份密度配置。打印标签、PDF 尺寸、原图、画布和既有窄屏规则不能机械替换。
6. **公共调整按消费者回归。** `adminDensity.test.ts` 维护明确的页面/组件清单,不扫描全部后台。检查模板中公共按钮、页签和信息表的真实祖先是否带有密度入口,不能仅断言文件导入了 CSS 或出现过密度类;页面弹框带有 `admin-density-dialog` 不代表列表与详情已接入。新增接入时同步清单及逐操作矩阵,运行合同、受影响测试、类型检查、全量测试和构建。
7. **视觉与代码分开记录。** 本轮默认人工截图;代码通过不等于视觉验收通过。已确认业务宽度和工作区高度可以保留为例外,例外写入核对记录。
@@ -302,34 +413,16 @@
### 先确定范围,再选择公共能力
1. 用导航与实际路由列出全部菜单入口,以及新建、详情、编辑和深链页面;不能把文件夹数量当作页面覆盖数。为每个页面沿实际组件引用列出弹框、抽屉、消息确认、预览与打印入口,按逐操作矩阵记录承载方式。
-2. 默认复用普通表格 36px 行高、正文 13px、辅助文字 12px、行内描边按钮 28px、页签 38px、轻量返回和连续信息表。新模块的行内业务操作默认纯文字;顶部/提交保留 32px 主次按钮。动作语义色沿用本规范,不通过按钮文字自动猜测。
+2. 默认复用普通表格 36px 行高、正文 13px、辅助文字 12px、行内操作基准 28px、页签 38px、轻量返回和连续信息表。新模块的行内业务操作默认纯文字;顶部/提交保留 32px 主次按钮。动作语义色沿用本规范,不通过按钮文字自动猜测。
3. 模块只保留业务列宽、字段跨列、布局与图纸尺寸等参数。`density-fields` 的四列是默认值,不是固定业务要求;返回位置与大弹框尺寸也不能从订单整页复制。
4. 编辑表格、流程图、装柜模型、数据看板、图片、标签和 PDF 保留业务所需面积;指标卡和图表不得套用 `.density-fields`或其他详情表格样式,模型画布和打印尺寸不套普通行高。空态、错误、长内容、处理中、只读和无权限仍要可用。
5. 获准采用蓝白外观的页面按 [蓝白样板接入入口](界面参考/蓝白卡片式工作台风格参考.md#其他页面该参考哪个样板) 选择对应页面类型;列表参考销量分析,复杂分析参考库存分析,运行看板参考数据采集,不一律复制经营总览的大指标卡。保留现有密度根,显式接入主题根和公共类,浮层自行声明作用域;具体覆盖与截图结论回到目标模块现有矩阵。
-### 完整接入示例
+### 密度类与浮层接入
-下面展示已有页面的接入结构,`rows`、`columns`、事件与表单仍使用该页面原实现。页面脚本直接导入 `@/styles/adminDensity.css`,不依赖先进入其他菜单后残留的样式,也不把这份 CSS 放入 `scoped` 样式块。
+页面直接导入 `@/styles/adminDensity.css`,实际根使用 `admin-density`;蓝白主题的组合示例见本文“蓝白主题与图表”。
-```vue
-
-
-
-
-
- 详情
- 审核
-
-
-
-
-
-
-
-
-```
-
-此结构只说明样式接入,不授权新增审核等业务动作。详情复用页面根节点的 `admin-density`;原生详情页签用 `density-tabs` / `density-tab-icon`,连续信息表用 `density-fields`。既有 Element 页签使用 `density-element-tabs`;页签栏与正文分离时隐藏空内容容器。在 `el-tab-pane` 内承载正文的页面必须同时使用 `density-contained-tabs`,保留正文并由公共样式设置内容间距。不得依赖页面 CSS 覆盖隐藏规则。既有原生资料/历史表用 `density-table`,分组表单用 `density-form`。返回按钮使用 `link class="density-back"`,跟编号、状态排在同一行。
+样式接入不授权新增业务动作。详情复用页面根节点的 `admin-density`;原生详情页签用 `density-tabs` / `density-tab-icon`,连续信息表用 `density-fields`。既有 Element 页签使用 `density-element-tabs`;页签栏与正文分离时隐藏空内容容器。在 `el-tab-pane` 内承载正文的页面必须同时使用 `density-contained-tabs`,保留正文并由公共样式设置内容间距。不得依赖页面 CSS 覆盖隐藏规则。既有原生资料/历史表用 `density-table`,分组表单用 `density-form`。返回按钮使用 `link class="density-back"`,跟编号、状态排在同一行。
Teleport 弹框用 `admin-density-dialog`,抽屉框架用 `admin-density-drawer`,`ElMessageBox` 用 `customClass: 'admin-density-confirm'`;这些浮层必须各自声明,页面祖先不能替代。抽屉当前公共框架负责字号、标题和正文边距;其正文若复用页面级表格、信息表或按钮原语,在正文业务根节点显式接入 `admin-density`。不要把名为 Drawer 的嵌入组件当作实际抽屉,承载方式以模板和调用端为准。
diff --git a/README.md b/README.md
index ace3a14..96989da 100644
--- a/README.md
+++ b/README.md
@@ -52,13 +52,10 @@
- [平台、客户层级与权限契约](平台客户层级与权限契约.md):平台/客户两级产品语义、列表包含详情的只读权限和跨层同步要求。
- [统一订单主状态与操作契约](统一订单主状态与操作契约.md):统一订单状态、操作编码、内部状态映射和可信履约回传边界。
-- [Admin/Client 前端原型还原验收规则](Admin-Client前端原型还原验收规则.md):页面操作承载方式、视觉还原、响应式检查和验收证据要求。
-- [Admin 高密度界面规范](Admin高密度界面规范.md):已确认订单样板的字号、间距、表格、描述表和彩色页签规则;[统一弹窗规范](Admin高密度界面规范.md#弹框与表单)维护所有 Admin 弹窗的目标风格、尺寸分类和分模块实施入口。
-- [蓝白卡片式工作台风格参考](界面参考/蓝白卡片式工作台风格参考.md):自营样板的配色、公共样式和图表主题接入;按总览、标准列表、复杂分析、运行看板与图表弹窗选择参考页面,整端推广待人工确认。
-- [Admin 客户管理样式核对记录](Admin客户管理样式核对记录.md):客户列表、海外仓阶梯费用及关联详情和弹框的样式与人工验收项。
-- [Admin 国内仓样式核对记录](Admin国内仓样式核对记录.md):7 个菜单、关联详情与浮层的范围、样式复核和验收证据。
-- [Admin 货柜管理样式核对记录](Admin货柜管理样式核对记录.md):订舱、拖车、送柜报关、清关提柜入口及共享组件边界。
-- [Admin 海外仓样式核对记录](Admin海外仓样式核对记录.md):海外仓 10 个菜单、独立详情、作业弹框和共享组件显式接入边界。
+- [Admin 界面规范(样式唯一入口)](Admin高密度界面规范.md):按任务查列表、详情、弹窗、提示与加载、蓝白主题、密度及公共样式接入;现行样式只在本文维护。
+- [Admin/Client 前端验收规则](Admin-Client前端原型还原验收规则.md):逐操作承载核对、指定视口、自动检查及人工截图证据,不另定 Admin 样式。
+- [蓝白样板目录与原图](界面参考/蓝白卡片式工作台风格参考.md):需要查看参考页面或原始截图时再读,不是第二套规范。
+- 模块范围与验收记录(按任务选读,不定义通用规则):[客户管理](Admin客户管理样式核对记录.md)、[国内仓](Admin国内仓样式核对记录.md)、[货柜管理](Admin货柜管理样式核对记录.md)、[海外仓](Admin海外仓样式核对记录.md)、[列表推广](Admin列表样式推广核对记录.md)。
- [AI 工程执行与协作约束](AI工程执行与协作约束.md):工作区、依赖、Git、部署、数据库、质量门禁、本机多对话重型检查限流和独立任务协作规则。
- [数据库中文注释维护规范](数据库注释维护规范.md):数据库注释口径、职责、迁移流程、自动门禁与实值验收要求。
- [数据库版本迁移与 Jenkins 自动发布方案](数据库版本迁移与Jenkins自动发布方案.md):两人团队自动迁移规划;统一工具入口、自动编号、开发/测试/生产执行分工、单服务迁移范围、漏写迁移检查、Flyway 校验、失败候选修订、发布证据保留、带数据升级演练及实施顺序。
diff --git a/测试环境单机部署与配置契约.md b/测试环境单机部署与配置契约.md
index b8354c6..0772a4c 100644
--- a/测试环境单机部署与配置契约.md
+++ b/测试环境单机部署与配置契约.md
@@ -2838,3 +2838,14 @@ Client #382(`a0736239e4ee4cd58b620dab912ffc0641360d9f`)正式页面在1920×
- 此前充值申请表与正式基线不一致,已在确认主表及幂等记录为空后,按授权移除多余必填 `payment_method` 列/约束并将 `request_no` 对齐VARCHAR(32),未重置数据库或回填业务记录。首次失败前上传的合成附件保留。RC创建、审核、重放和唯一AC流水21/21;CK装车至派送23/23;二次拆分67/67;REC至AR收款20/20;CT取货共享入口12/12;运力确认TR/LB共享入口44/44通过。拆分沿用原单号/入仓码的`-1`、`-2`规则,D柜次号保持原全局连续规则。
- 退货脚本旧参数、PARCEL计箱及实物箱码断言已修,定向49项离线合同及语法检查通过,最终退货HTTP复验1282/1282。PDA非法PHOTO_STEP_9的S0503错误分类、无关bulk固定托盘文案合同失败仍保留;本轮新测量样本缺固定TP-001时复用同仓已有托盘,记录为非阻断fixture覆盖说明,不把未覆盖项改写为通过。
- 原始失败批次、最终报告和逐请求检查点保存在工作区私有 `.codex-temp/business-numbering-deploy/`,由 `http-followup-plan.json` 定位;本次发布证据在 `public-number-fields-release/`。密码与Token不进入报告,跟进自动化已停用以避免重复造数。早期旧模块曾绕过初始DELETE保护,删除本轮合成附件引用和临时分配,已告知用户并保留证据;随后统一请求与全局fetch均拦截DELETE,未再做清理。
+
+## 自有业务与外配任务按实际拼车货物分类发布(2026-10-21)
+
+- 用户授权 TEST Admin、Lastleg 发布及真实 HTTP 样本写入,并确认同时发布已提交的列表样式、智能排车交互和客户订单“已排车”按实际待出库单统计调整。最终 Admin `39534530903c81a35bab24f6cfa531216e9ee9e4`、`admin-web-test #673`;Lastleg `0af977bdefc1333186ead1234ea5aa824ebf83d9`、`baiyue-firstleg-lastleg-service #398`,均 SUCCESS。14:18 后核对运行镜像 tag 与提交一致且 healthy;Admin 临时 SCM pin 已按原配置哈希保护恢复。
+- 自有业务按未实际接入需求池货物、外配任务按实际实收且绑定本车的需求池货物分类;车辆归属继续读取原装车快照。列表、同筛选完整统计、详情与附加登记沿服务端固定作用域执行;规则唯一维护在 `海外仓业务/外配业务首版开发契约.md`。本轮没有直接执行共享数据库 SQL、改表、修改 Gateway/Nacos 配置或重置数据。
+- 真实 HTTP 暴露并已修复两处阻塞:拼车接入摘要将数组强转 JSON 对象导致异常;分类查询跨表标识比较遇到 MySQL 排序规则冲突。前者保留对象摘要原行为并支持来源键数组,后者按完整字节精确匹配来源标识,宽度覆盖 128 字符 utf8mb4。另修复 Admin 智能排车选择事件一处参数类型,解决 CI 类型检查失败;没有扩大到其他未提交的排车流程改动。
+- Lastleg `#396` 对分类基线 `337da6d67c4e` 完成 3,426 项 CI 测试(含依赖,11 跳过),0 失败/0 错误。后续两个补丁分别通过本地受控入口 18 项、35 项定向回归;`#397/#398` 明确复用上述全量及受影响回归,`SKIP_TESTS=true`,仍完成测试源码编译、打包和容器健康门禁,不表述为最终提交重新全量执行。Admin 此前 4,295 项全量测试及事件修改后的 22 项针对性测试通过,最终 CI 类型检查与生产构建通过。初始 Admin `#671` SCM 检出、`#672` 类型检查失败均保留证据,最终由 `#673` 成功替代。
+- 通过正式 Gateway HTTP 新建并实收样本:无拼车 `PC202610210012`、实际接入拼车 `PC202610210013`,两者均为 OWNED 车辆且完成 PDA 拣货与装车。拼车预订 `FB202610210004` 使用失败前原请求键恢复并成功 BOUND,重放不重复接入。两个单号分别只命中自有/外配列表,各自总数和阶段统计均为 1;错误分类详情、历史和写入返回 `A0404`,正确分类运营登记及原键重放只增加一次附加历史,未推进原排车或触发财务。另核对无拼车的 DISPATCHED 车辆仍归自有业务、两类列表无交集。用户原单 `PC202610210010` 未被本轮写入。
+- 最终 53 项去重业务检查通过;拼车样本 PDA 扫码及版本检查另有 13 项通过。183 条请求记录中无未知结果,两个真实 S0500 失败请求及修复后结果均保留。首轮运营登记验收的序列化文本一致性断言失败已保留,最终采用结构比较核验原键结果通过,不将历史失败覆盖为通过。临时 PDA 账号已停用,本轮登录会话已退出,合成业务单及附件保留,未删除。
+- Admin 已部署容器的页面、健康入口、页面 JS 与路由标题共 20 项 HTTP 检查通过,确认“自有业务 / 外配任务”及实际拼车分类文案。首次将 API origin 当作网页入口的脚本检查失败不作为页面故障;最终证据明确为容器 HTTP,不代替公网浏览器交互或 1920×1080、100% 缩放人工视觉验收。
+- 本机私有环境目录证据:`pool-classification-final-report.json`、`pool-classification-release-state.json`、`pool-classification-http-state.json`、`pool-classification-frontend-report.json`、`pool-classification-collation-error.txt` 及对应 Jenkins 日志。凭据和业务响应正文不写入本契约。
diff --git a/海外仓业务/README.md b/海外仓业务/README.md
index 7349bdf..b1b404c 100644
--- a/海外仓业务/README.md
+++ b/海外仓业务/README.md
@@ -12,7 +12,7 @@
## 功能快速路由
-- [排车列表统一作业改造契约](排车列表统一作业改造契约.md):五阶段排车、一单一趟、跨客户同车、派送安排及四块排车详情的当前改造入口。
+- [排车列表统一作业改造契约](排车列表统一作业改造契约.md):四阶段排车、一单一趟、跨客户同车、装车后自动派送及四块排车详情的当前改造入口。
- [排车流程修复规划](排车流程修复规划.md):排车撤销、派送状态、换标全托、合托来源及草稿交互的修改范围、分工与回归要求。
diff --git a/海外仓业务/排车列表统一作业改造契约.md b/海外仓业务/排车列表统一作业改造契约.md
index c56fbcf..a9002ae 100644
--- a/海外仓业务/排车列表统一作业改造契约.md
+++ b/海外仓业务/排车列表统一作业改造契约.md
@@ -1,21 +1,21 @@
# 排车列表统一作业改造契约
-本契约规定排车列表五阶段、整车与客户货物归属、派送安排及 Admin 和海外 PDA 的共同目标。2026-10-19 用户确认一张排车单代表一趟车,并指定当前对话为本批总控;经逐项问答确定本契约的业务和界面基线,再下发三个任务做技术准备,共同接口冻结后才解锁生产代码实现。本契约描述目标及实施边界,不表示代码、部署或真实验收已完成;部署与真实验收事实仍维护在两份环境主契约。
+本契约规定排车列表作业阶段、整车与客户货物归属、派送安排及 Admin 和海外 PDA 的共同目标。2026-10-19 用户确认一张排车单代表一趟车,并指定当前对话为本批总控;经逐项问答确定本契约的业务和界面基线,再下发三个任务做技术准备,共同接口冻结后才解锁生产代码实现。本契约描述目标及实施边界,不表示代码、部署或真实验收已完成;部署与真实验收事实仍维护在两份环境主契约。
本批规则优先于旧车次独立列表及多张客户排车关联共享车次的交互说明。旧缺陷修复规划仅用于核对已修复行为,不覆盖本批目标。
## 一 用户已确认的业务目标
-1. 排车列表一次覆盖装车前、装车中、装车后、派送中、派送完成五个阶段。
+1. 2026-10-21 用户确认:排车列表显示装车前、装车中、派送中、派送完成四个作业阶段;装车完成代表车辆已开走,不再设装车后人工等待区。
2. 一张排车单就是一趟车,允许同车多个客户、多个目的仓;各票货物、库存、单据和费用必须保留真实客户归属。
-3. 装车前包含车辆信息、调度审核、理货员审核;维护车辆信息后提交调度审核,再经理货员审核进入装车中。
-4. 装车完成与实际发车是两个动作,均允许后台和 PDA 确认;两端使用相同服务端规则、版本和防重复约束。
-5. 装车完成进入装车后;后台在装车后、实际发车前办理安排派送,核对派送信息及各客户费用,按客户和目的仓拆分派送单。派送安排完成后才允许后台或 PDA 确认发车。
+3. 装车前包含车辆信息、调度审核、理货员审核;维护车辆信息后提交调度审核,再经理货员审核进入装车中。2026-10-21 用户确认审核链:客服在最初的车辆信息入口维护并提交,不新增独立客服审批级别;调度或理货员任一环节驳回均须填写原因,并统一回车辆信息/客服处理分区,离开待审队列。客服处理期间保留驳回环节、原因和原审核记录,编辑不抹除原因;重新提交开启新轮次,必须重新经过调度及理货审核,不复用旧批准。理货审核允许 Admin 或绑定仓 PDA 操作,两端共用版本、幂等和审核依据;通过前不得真实拣货,通过后才进入装车中。
+4. 2026-10-21 用户确认:装车完成即实际发车,PDA仅提交一次装车完成,直接进入派送中;后台同一装车完成入口遵循相同规则。保留真实拣货核平、实载校验、版本及防重复约束。
+5. 装车完成在同一事务内自动按客户和目的地生成出库/派送单、记录实际发车并进入派送中,撤销人工安排派送及确认发车入口。真实外接报价沿原费用路径发布,未知派送补充资料与费用保持未确认,不猜测金额或原费用覆盖、不填写零费;后续由既有后台资料/费用管理维护。失败整体回滚,原请求键恢复最终派送中结果,不能停留半车或重复扣库存。
6. 实际发车进入派送中;全部正常派送签收完成后自动汇总派送完成。拒收、退回等作为异常,先线下人工处理,不自动视为正常签收完成,不在本批新建线上异常闭环或伪造库存恢复、签收、账务结果。
7. 本批聚焦排车列表、详情、直接关联操作及必要生产者和消费者。车辆列表、司机管理、自有业务、外配业务、出车记录的整页改造后续逐页处理。
8. 同时支持先选同一起运仓的可排货物/托盘再生成排车单,以及先创建空排车单再添加货物;空单不能伪造货物、拣货、装车或发车事实。2026-10-21 用户进一步明确先排车和货物,车辆、司机在建单后由调度或客服在后台补充,不涉及客户自助填写;新建排车不展示或要求填写车辆、司机及证照,先完成货物分组,允许选填每趟计划时间和备注。计划托位仅用于预排分组,不表示已绑定真实车辆。后续维护车辆信息及提交审核继续使用既有资源资格校验。用户随后明确:货物计划增减统一在智能排车办理,排车列表车辆信息及详情不再单独提供添加/移除货物。智能排车同时承载新建及已生成排车货物调整,已有单使用原排车号和正式货物命令,不转换为草稿或重建单据;保留真实PDA拣货,已扫码禁止调整,理货审核通过且零扫码时先显式退回重审后再调整。
9. 车辆和司机既可从已有档案选择,也允许临时填写外配车辆和司机;临时填写不伪造车辆或司机档案关联,不自行创建主档。
-10. 后台确认装车完成必须以PDA真实拣货核平为前提。后台不提供替代PDA的拣货数量补录来绕过此条件;PDA和后台均可确认装车完成及实际发车的既有确认保持。
+10. 后台确认装车完成必须以PDA真实拣货核平为前提。后台不提供替代PDA的拣货数量补录来绕过此条件;PDA和后台均可确认装车完成,一次动作自动完成发车。
11. 用户随后澄清本次“新增预约”是预约日历的功能需求,先与本批排车改造分开整理。本批不新增日历预约创建或独立约车流程;排车保留已有FBA预约关联;用户随后对车辆预约权威来源问题答复“那就不要”,因此排车取消车辆预约字段、关联操作及公开协议,不再等待或新建该权威提供者。此前确认的先保存后关联意见保留为日历需求输入,不作为本批扩大实现范围的授权。
12. 用户进一步明确“本批支持整托同车”:两张换标单已合到同一实托时,整托进入同一排车主单,物理托盘及容量只计一次,各换标单的箱数、客户及扫码归属分别保留。不得只装第一来源、借第一客户承载其他来源,或把同一实托拆成两张排车绕过排他占用;此确认取代该场景的待决定状态及仅作前置拦截的候选方案。
13. 用户进一步确认:换标已由客户确认完成、关联出库单尚未扫码时,只取消本次出库安排,保留已完成的换标成果,退回待安排。不得将已确认换标申请一并作废;取消须清除本次有效出库关联,保持真实客户、原换标成果及重新安排资格。此规则不放开已扫码取消或新增回库流程,整车取消仍遵循既有阶段、版本和零扫码门禁。
@@ -90,7 +90,7 @@
- 同一仓多个客户、多个目的仓装一车;同一目的仓不同客户的派送及费用不串客户,客户只读只能访问自己的货物和单据。
- 调度审核与理货员审核的正常通过、驳回与重提;未通过不能进入装车,改货物或关键资源后旧审核不得误用。
-- 装车完成与发车分离,未安排派送不得发车;后台与PDA对同一版本同时操作只产生一次合法结果,未知结果按原请求键核对和重试。
+- 装车完成直接进入派送中;后台与PDA对同一版本同时操作只产生一次合法结果,自动建单、发车和命令结果同事务,未知结果按原请求键核对和重试。
- 全部正常签收才汇总派送完成;部分签收仍未完成,异常不伪造完成、退库或费用结算。
- 普通入仓、换标/退货来源、同托多来源及既有预约批次/工作事项的直接调用不丢来源、不重复扣库存或收费;保留上一批修复约束。
- 加载、空态、错误、无权限、附件预览及四页签长编号展示;不逐行查询列表详情或附件。
@@ -133,7 +133,7 @@
4. 采用全局唯一idempotencyKey的共同持久命令账本,绑定原主体/动作/排车及严格commandHash;同键不得换主体或载荷。安排业务另有整车唯一事实及arrangementBusinessHash,当前有权限的主体用新键、当前版本引用同一已安排业务,不再生成单据或收费;`replayed`与`alreadyArranged`语义分开。原动作结果不可变,前端随后GET当前事实。
5. 共同根锁按已核对Fleet顺序为trip→涉及的车辆主档→司机/资源→dispatch;不采用准备稿早期trip→dispatch→资源的相反序列。扫码只走来源→库存链且不取派送锁;安排/发车先收齐全部客户出库/派送锁,再取得来源/费用锁;签收保持delivery→来源→持久信号、始终不回头申请父锁。装车/安排/发车不重复执行扫码已完成的库存SHIP。未核实的预约/资源提供者交集仍须补源码和竞争测试,不宣称已证明全域无死锁。
6. 共享契约只定义在`dispatch/port/`的DTO/接口,主流程后端唯一写入。采用DispatchExecutionPort、DispatchDeliveryPort、DispatchCompletionPort及明确的提醒数据访问端口;实现分别归dispatch和delivery,不跨域共享Entity或注入对方具体Controller/Service。派送任务保存持久信号及数据访问实现,主流程负责有界消费/退避/重扫;主阶段CAS和本次已核对信号确认在同一汇总事务中完成,失败回滚,错误记录在回滚后独立短事务更新。
-7. 平台新增排车、确认装车完成和确认实际发车分别使用`platform:overseas-warehouse:dispatch:create`、`platform:overseas-warehouse:dispatch:loading-complete`、`platform:overseas-warehouse:dispatch:depart`,列表/详情仍为dispatch:list,两级审核沿用既有独立审核权限。整车草稿及选货候选GET统一使用dispatch:list,草稿全部写动作统一使用dispatch:create;前端既有入仓单选货建排车入口同样核对排车查看与新建权限,不再依赖旧入仓单智能排车权限,不增加OR别名或通过补授旧权限绕过。客户仅保留本客户派送读取,不再登记或默认授予`merchant:warehouse:delivery:create`;海外PDA继续使用其独立作业角色、权限和仓绑定,不通过后台按钮权限进入作业。正式权限目录和角色关联以IAM源码及国内统一基线为准。
+7. 平台新增排车和装车完成分别使用`platform:overseas-warehouse:dispatch:create`、`platform:overseas-warehouse:dispatch:loading-complete`;装车完成自动建单和发车,不额外要求已移除人工入口的安排/发车权限,列表/详情仍为dispatch:list,两级审核沿用既有独立审核权限。整车草稿及选货候选GET统一使用dispatch:list,草稿全部写动作统一使用dispatch:create;前端既有入仓单选货建排车入口同样核对排车查看与新建权限,不再依赖旧入仓单智能排车权限,不增加OR别名或通过补授旧权限绕过。客户仅保留本客户派送读取,不再登记或默认授予`merchant:warehouse:delivery:create`;海外PDA继续使用其独立作业角色、权限和仓绑定,不通过后台按钮权限进入作业。正式权限目录和角色关联以IAM源码及国内统一基线为准。
### 首批解锁和停止点
diff --git a/界面参考/蓝白卡片式工作台风格参考.md b/界面参考/蓝白卡片式工作台风格参考.md
index 01b9743..a4d108d 100644
--- a/界面参考/蓝白卡片式工作台风格参考.md
+++ b/界面参考/蓝白卡片式工作台风格参考.md
@@ -1,188 +1,47 @@
-# 蓝白卡片式工作台风格参考
+# 蓝白样板目录与原始视觉参考
-本文件是 Admin 蓝白样板的视觉与接入入口。风格为:**白色主体、明亮蓝色强调、浅色图标底座、轻边框圆角卡片、清晰的数字层级**。首屏保持清爽,页面先按用途选择样板,再组合公共样式,保留自身的业务信息和操作。
-
-2026-10-20,用户选择自营经营总览制作样板,随后扩展到销量分析、库存分析和数据采集,包括共用的 SKU 趋势、图表证据弹窗;提供实际截图完成收尾,并授权更新 Admin 测试环境。用户随后要求正式固化该风格:**后续 Admin 页面以这套蓝白、清爽、少提示文字的样板为改版基线,按页面类型复用公共样式。** 各页面的实际视觉仍以人工截图为准;规范固化不代表全端已改造或验收通过。本文不记录部署成功或实施进度,任务范围与逐页结论回到对应模块现有逐操作矩阵。
+本文件只供按页面类型查找样板和原始截图。**Admin 样式统一从 [Admin 界面规范](../Admin高密度界面规范.md) 进入**;通用规则和公共类说明已并入主规范,本文件不再单独维护规则。普通样式任务无需先读本文件。
## 其他页面该参考哪个样板
| 页面类型 | 参考入口 | 源码入口 | 复用内容与保留边界 |
|---|---|---|---|
| 经营总览、首页指标、数据摘要 | **经营总览** `/self-operated/overview` | [`OverviewView.vue`](../../apps/admin-web/src/modules/self-operated/pages/OverviewView.vue)、[`DashboardTrend.vue`](../../apps/admin-web/src/modules/self-operated/components/DashboardTrend.vue)、[`DashboardBars.vue`](../../apps/admin-web/src/modules/self-operated/components/DashboardBars.vue) | 页头操作、统计口径、分区标题、指标卡、趋势和排行榜;按实际指标数量组织,六列指标、2:1 主图和三列榜单只属于该页 |
-| 标准查询列表、业务台账 | **销量分析** `/self-operated/sales` | [`SalesView.vue`](../../apps/admin-web/src/modules/self-operated/pages/SalesView.vue) → [`AnalyticsView.vue`](../../apps/admin-web/src/modules/self-operated/components/AnalyticsView.vue) | 浅色筛选区、列表外壳、主次按钮、表头与悬停态、分页;保留行密度、筛选条件、权限和操作列,不增加大指标卡 |
+| 标准查询列表、业务台账 | **销量分析** `/self-operated/sales` | [`SalesView.vue`](../../apps/admin-web/src/modules/self-operated/pages/SalesView.vue) → [`AnalyticsView.vue`](../../apps/admin-web/src/modules/self-operated/components/AnalyticsView.vue) | 独立筛选区、列表外壳、主次按钮、表头与悬停态、分页;保留行密度、筛选条件、权限和操作列,不增加大指标卡 |
| 有分类/状态页签的业务列表 | **整柜业务**、**排车列表** | [`DomesticContainersView.vue`](../../apps/admin-web/src/modules/domestic-containers/pages/DomesticContainersView.vue)、[`DispatchesView.vue`](../../apps/admin-web/src/modules/overseas-warehouse/pages/DispatchesView.vue) | 顶部左侧分类页签、右侧操作共用一行,随后为筛选和表格;排车审核子分区保留真实层级 |
| 复杂分析、指标加宽表、多视图查询 | **库存分析** `/self-operated/inventory`,分别看“库存周转”和“库存明细” | [`InventoryView.vue`](../../apps/admin-web/src/modules/self-operated/pages/InventoryView.vue) → [`InventoryTurnoverView.vue`](../../apps/admin-web/src/modules/self-operated/components/InventoryTurnoverView.vue)/[`AnalyticsView.vue`](../../apps/admin-web/src/modules/self-operated/components/AnalyticsView.vue) | 视图页签、两组紧凑指标、可展开图表、宽表和关注条件;保留业务列宽、横向查看、固定业务标识及筛选作用范围 |
| 采集、同步、批处理等运行看板 | **数据采集** `/self-operated/collection` | [`CollectionView.vue`](../../apps/admin-web/src/modules/self-operated/pages/CollectionView.vue) → [`CollectionAccountMonitor.vue`](../../apps/admin-web/src/modules/self-operated/components/CollectionAccountMonitor.vue)、[`CollectionTaskProgress.vue`](../../apps/admin-web/src/modules/self-operated/components/CollectionTaskProgress.vue)、[`CollectionProgressGauge.vue`](../../apps/admin-web/src/modules/self-operated/components/CollectionProgressGauge.vue) | 主状态、当前阶段进度环、数量卡、右侧后续安排、阶段流程与各仓结果;进度与发布结果分开表达,不复制该模块的任务状态机 |
| SKU 趋势、图表明细和证据浮层 | 在上述页面点击已有趋势/明细入口 | [`SkuTrend.vue`](../../apps/admin-web/src/modules/self-operated/components/SkuTrend.vue)、[`ChartDetailsDialog.vue`](../../apps/admin-web/src/modules/self-operated/components/ChartDetailsDialog.vue),调用方见前三类页面 | 独立主题根、蓝白图表、说明与证据表;保留普通/全屏、关闭重开、正文滚动、原尺寸和数据重置行为 |
-新增、编辑、审核表单与独立详情继续从 [Admin 高密度界面规范](../Admin高密度界面规范.md) 的对应规则进入。蓝白样板提供外观,不能据此把表单改成指标卡、把抽屉改成弹窗,或改动字段分组与提交入口。打印标签、PDF、装柜模型和图纸保留业务所需尺寸。
-
-样板用于参考结构与公共类;其他业务模块不得直接引用自营模块的内部页面或组件。真正跨模块复用的稳定能力,应沿现有 Admin 公共层扩展。
+样板只用于参考结构,不授权跨模块引用内部组件或改变业务字段、权限及承载方式。自营模块的逐操作与验收记录见 [operation-matrix.md](../../apps/admin-web/src/modules/self-operated/operation-matrix.md)。
## 视觉基线与维护入口
-| 维护内容 | 唯一实现入口 |
-|---|---|
-| DOM 配色、字号、间距、圆角、阴影与辅助色 | [`adminWorkbenchTokens.css`](../../apps/admin-web/src/styles/adminWorkbenchTokens.css) |
-| 标题、指标卡、列表外壳、页签、阶段、图表空态与弹窗外观 | [`adminWorkbench.css`](../../apps/admin-web/src/styles/adminWorkbench.css) |
-| Canvas 图表字体、颜色、坐标网格与提示框主题 | [`adminWorkbenchChartTheme.ts`](../../apps/admin-web/src/styles/adminWorkbenchChartTheme.ts) |
-| 显式接入范围、变量归属、公共类与浮层作用域合同 | [`adminWorkbench.test.ts`](../../apps/admin-web/src/styles/adminWorkbench.test.ts) |
-| 原有表格、控件和弹窗密度 | [`adminDensityTokens.css`](../../apps/admin-web/src/styles/adminDensityTokens.css)、[`adminDensity.css`](../../apps/admin-web/src/styles/adminDensity.css) |
-| 弹框与抽屉的标题、正文滚动和底部操作 | [`AppDialog.vue`](../../apps/admin-web/src/shared/components/AppDialog.vue)、[`AppDrawer.vue`](../../apps/admin-web/src/shared/components/AppDrawer.vue);真实 Element 挂载回归见 [`AppDialog.layout.test.ts`](../../apps/admin-web/src/shared/components/AppDialog.layout.test.ts) |
-
-以下列出样板的主要取值,便于理解效果;代码以对应令牌为准,修改数值只改唯一实现入口,不在页面重新声明默认值。
-
-| 项目 | 样板基线 |
-|---|---|
-| 主操作与链接 | `--workbench-primary`,`#3784FA`;悬停、按下与禁用使用配套令牌 |
-| 重点数字 | `--workbench-number`,`#1890FF` |
-| 正文与辅助文字 | `--workbench-text`,`#1F2937`;`--workbench-muted`,`#64748B` |
-| 表面与边框 | 白色主体,浅灰蓝辅助区;`--workbench-border`,`#E5EAF2` |
-| 卡片与图标底座 | 卡片圆角 16px、图标底座圆角 12px,低强度阴影;使用公共令牌 |
-| 普通指标卡高度 | `--workbench-metric-min-height: 186px`;长内容可自然撑高,紧凑指标不继承此最小高度 |
-| 空间 | 外壳内容区上/左右 12px、底部 16px;工作台根内边距 `--workbench-page-padding: 12px`;区块间距仍为 24px,普通卡片内边距 20px、紧凑卡片内边距 14px、同级网格间距 18px |
-| 主列表顶部 | 工具栏最小高度 48px、上下内边距 6px;筛选区上下 8px;两区左右统一 12px,普通按钮与筛选控件 32px;内容多时自然换行,不截断或固定总高度 |
-| 主列表底部分页 | 最小高度 48px(border-box)、上下内边距 6px、左右 12px,与筛选区对齐;保留 32px 翻页按钮和长统计换行,不沿用集成列表旧的 64px 高度、14px 上下留白 |
-| 文字层级 | 页标题 24px、分区标题 18px、普通指标名称 15px、重点数字 34px、紧凑指标数字 26px |
-| 辅助色 | 青、绿、紫、黄、红用于图标、分区与真实状态,不能代替状态文字 |
-
-白色和细边框负责分层,不反复套大卡片;标题与数值形成重点,单位和补充说明降低权重。蓝色强调重点数据,不要求所有数字着色。红、黄继续表示风险、失败或警告;趋势是否改善由业务决定,不能仅凭上涨或下降设绿色。
-
-原有 `--admin-*` 密度默认值继续有效。公共控件、表格行高、行内操作、弹窗尺寸和滚动由原组件与密度规范管理;蓝白外观只在显式主题范围内生效。
-
-页面边缘采用紧凑双层留白:`.page-container` 与 `.admin-workbench.admin-page` 分别使用 12px,避免旧外壳 20px 再叠加工作台 24px 挤占内容。页边距与区块间距使用独立令牌,不通过缩小表格行高、控件或文字来换空间。
-
-页面内复用另一个完整 `AdminPage` 时,仅在嵌入调用上显式加 `is-embedded`,去掉内层重复 padding;独立路由打开仍保留原页边距。订单内的测量审核分支是此用法的参考。不要在业务页重复声明公共间距变量,也不要全局清空所有面板内距。
-
-整页主体是一块连续白底,不再额外套一圈边框、圆角和阴影。包住主要列表的 `workbench-table`/`workbench-toolbar` 或整页详情 `workbench-panel` 显式增加 `is-page-surface`;内部指标、图表、并列独立面板继续保留细边框,表格单元格、表头和操作分隔线也保留。不能通过清除全部 `border` 把卡片、控件和表格边界一起抹掉。
-
-详情主容器的 `workbench-panel.is-page-surface` 在屏幕展示时不再叠加 padding,即使同时有 `is-compact` 也由外层页面或业务分区提供唯一一层留白。独立预装/装柜清单详情和货柜内的清单页签按此规则接入;内部独立紧凑卡片仍为 14px,普通卡片仍为 20px。该规则排除 `AdminPage` 页根并仅用于屏幕,不覆盖页面原有 12px 或打印内距。
-
-主列表不要叠加“重复路由标题行 → 分类页签行 → 按钮行”。有同级分类/状态页签时,将原页签移入 DataTable 的 `toolbar-start`,原按钮留在 `toolbar-actions`/`toolbar-end`,筛选留在 `filters`;页签使用 `workbench-list-tabs` 清除重复外框和内边距。无页签时保留紧凑标题与按钮行。真实业务子分区、统计数量、加载失败与当前范围继续保留,不因减高消失。工具栏与筛选共用 `--workbench-list-inset`,页面不再额外增加左右偏移;表格单元格仍由原密度规范管理。
-
-2026-10-21 用户截图补充:主列表顶部第一个状态页签与下方审核分区对齐,公共样式抵消工具栏重复叠加的 12px 缩进;页签前有返回按钮时保留按钮与页签间距,嵌套表格不套该偏移。标准 DataTable 使用组件默认斑马纹,按销量分析样板呈现浅灰、白色交替,不再由业务页显式关闭。行底色复用 `--admin-row-stripe`,悬停行、当前行和悬停单元格交回 Element 对应状态样式;父表行底色不穿透内嵌表格。
+已统一至 [Admin 界面规范对应章节](../Admin高密度界面规范.md#视觉基线与维护入口)。
## 信息层级与渐进披露
-页面常驻内容以**关键标题、数值、简短状态和操作**为主。老板已明确不希望页面堆满提示文字;以下规则用于组织实际业务信息,不能把本规范逐条搬成页面说明。
-
-- **详细口径按需展开。** 计算公式、统计口径、图例、来源解释和操作说明放入已有说明入口或 `InlineHelp`/tooltip,支持键盘聚焦;不为每张卡增加介绍段、装饰性副标题或长解释。确需影响判断的周期、单位和版本保留最短必要表达。
-- **同一事实只讲一次。** 多张卡共用的统计周期、完整性或来源在分区层级统一表达;卡片仅显示自身特有状态。主状态、进度环、数量卡与阶段节点不重复整段等待原因。
-- **异常优先合并到一个清晰入口。** 同一异常影响多块内容时,在相关区域保留一条简短状态与查看详情/重试入口;不要在每张卡和图表下重复警告。独立异常仍在对应位置明确呈现,不能合并后丢失作用范围。
-- **关键异常与阻断常驻。** 当前失败、未知、陈旧、权限不足、操作阻断及危险后果必须能直接识别;细节可以展开,关键状态不能只藏进 tooltip。正常完整状态不需要逐卡反复宣告。
-- **事实与视觉分开。** `0` 表示已知零值,`—` 或“待确认”表示未知;历史结果和陈旧快照要有简短标识。精简文案不得把未知显示为零、把暂停显示为完成,也不得隐藏真实风险。
-
-库存分析样板按这套规则收敛:快照解释、“本仓概览/截至日期/采集时间”整行及图表范围说明移入已有说明入口;正常指标卡只保留名称、数值和单位,删除重复的“已确认”。真实未知、陈旧和异常继续显示简短提示。删除独占一行的“展开图表”,将图表操作并入顶部简短入口。完整数值来源、采集时点和估算细节可在说明或 tooltip 中查看;估算值必须能辨认其估算属性,不得因精简文案冒充实测值。
+已统一至 [Admin 界面规范对应章节](../Admin高密度界面规范.md#提示文字与加载布局)。
## 公共样式接入
-页面直接导入 `@/styles/adminWorkbench.css`,保留原有密度入口,并在实际页面根容器增加 `admin-workbench`。不依赖先打开样板页后残留的 CSS,不将主题放入全局入口,不修改 `:root`。导航、顶栏、页签由总控在各自容器显式接入,不给包含业务页面的 `.app-shell` 或 `.app-main` 添加主题类;业务页和 Teleport 浮层仍须自己接入。
+已统一至 [Admin 界面规范对应章节](../Admin高密度界面规范.md#公共样式接入)。
-```vue
-
+## 弹框与抽屉的布局边界
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```
-
-这个片段只说明主题作用域。`rows`、`columns`、弹窗宽高、事件与组件导入仍按目标页原实现补齐,不代表需要新建弹窗或更换承载方式。
-
-| 场景 | 公共类与用法 |
-|---|---|
-| 页头与分区 | `workbench-heading`、`workbench-title`、`workbench-meta`、`workbench-section`、`workbench-section-heading`、`workbench-section-title`、`workbench-badge` |
-| 普通指标卡 | `workbench-metric`、`workbench-metric-heading`、`workbench-icon`、`workbench-metric-label`、`workbench-metric-value`、`workbench-status`、`workbench-note` |
-| 紧凑指标 | 在指标卡和图标上增加 `is-compact`;不继承总览卡片的最小高度 |
-| 面板与提示 | `workbench-panel`、`workbench-notice`、`workbench-skeleton`;紧凑/自带头部面板使用 `is-compact`/`is-flush` |
-| 图表与空态 | `workbench-chart`、`workbench-chart-heading`、`workbench-chart-title`、`workbench-chart-actions`、`workbench-chart-canvas`、`workbench-chart-empty`、`workbench-chart-empty-icon` |
-| 标准列表 | **外层 `div.workbench-table` 包裹 DataTable**,统一外框、表头、边框、行悬停和分页强调;不修改业务列宽或行密度 |
-| 整页主要内容 | 主要列表的 `workbench-table`/`workbench-toolbar`、整页详情的 `workbench-panel` 增加 `is-page-surface`,去掉整页外框、圆角和阴影;详情主容器的屏幕 padding 为 0,保留页面根及内部卡片内距;主表顶部同时使用公共紧凑高度与左右边界,子表格不自动套用 |
-| 嵌入完整页面 | 仅在嵌入调用上加 `is-embedded`,清除内层 AdminPage 的重复内距;独立路由不加 |
-| 独立查询区 | QueryToolbar 自身添加 `workbench-query`,保留原控件宽高、内边距及换行;位于 DataTable 集成筛选区时保持连续表面,不重复套卡片 |
-| 列表页签与操作 | 页签放 `toolbar-start` 并加 `workbench-list-tabs`,按钮保留原操作插槽;标准主表统一 48px 最小工具栏、32px 控件,无需销量页专属紧凑类。保留自动换行与键盘切换,嵌套表格、详情和弹框不继承该布局 |
-| 只有查询工具栏 | 外层 `div.workbench-toolbar` 包裹 DataTable,保留组件原有工具栏和筛选排列 |
-| 原生页签与输入 | 页签父级 `workbench-tabs`,保留按钮的 `aria-pressed` 和点击事件;原生输入使用 `workbench-input`,页面只保留业务宽度 |
-| 阶段节点 | `workbench-step`、`workbench-step-index`,从已确认的 `data-state` 选择状态,不从任务名或阶段顺序推断完成 |
-| 证据内容 | 容器 `workbench-evidence`;已有 `density-table` 保留行密度 |
-| 详情与表单 | 显式主题根保留原密度类,已有 `density-detail-*`、`density-fields`、`density-descriptions`、`density-form`、`density-form-section` 适配中性外观;字段列数、字号、业务色、校验及尺寸保持原契约 |
-| 抽屉 | 实际根使用 `admin-density-drawer admin-workbench is-drawer`,保留原有详情/编辑 modifier、方向、宽度、贴边形态和正文滚动 |
-| 白色品牌资源底座 | `workbench-brand-mark` 提供蓝底与公共圆角;图片比例、容器宽高由实际布局决定,不替换品牌图形 |
-| 辅助色 | 元素增加 `workbench-tone`,按需选择 `data-tone="blue|teal|green|purple|amber|rose"`;语义胶囊可加 `workbench-badge is-toned` |
-
-DataTable 的属性透传目标是内部表格,不能只把 `workbench-table` 加到组件上就认为外框已接入。默认与 integrated 模式各保留原密度,不能为了外观切换模式。Teleport 弹框必须自身带 `admin-workbench is-dialog`,页面祖先不能替代;同时保留 `admin-density-dialog`、全屏、关闭、重开和正文滚动规则。抽屉使用 `is-drawer`,不能套用弹窗类改变承载。
-
-业务页只保留列数、排列、业务宽度与高度;接入公共类后删除被接管的私有配色、边框和标题外观,不能保留两套 CSS 再叠加优先级或 `!important`。共享组件应明确接入模式并核对实际调用者,避免影响尚未推广的页面。
-
-### 弹框与抽屉的布局边界
-
-新增、编辑先参考公共 `AppDialog`/`AppDrawer`,表单字段排列仍参考本业务已确认的样板。客户新增/编辑使用三列短字段,地址、备注和长内容跨列;小型确认框保留原宽度。智能装柜等工作台保留原有宽版和 92vh 高度,不把所有浮层压成同一尺寸。
-
-- 标题、正文和页脚样式只匹配当前浮层的直接子节点;业务页的 `:deep` 规则也必须限定自身,不能通过任意后代选择器影响子弹框。
-- 不假设 `AppDialog` 默认一定挂到 body。嵌在另一个弹框、工具栏或有裁切的容器中的独立浮层,应明确设置 `append-to-body`,并把主题类放到实际浮层根。核对关闭、重开、全屏和取消仅影响对应窗口。
-- 标题与底部操作不随长正文滚走,正文使用单一纵向滚动区;真实宽表可在自己的区域横向滚动。不要通过整框 `overflow: hidden`、固定短高度或隐藏按钮解决溢出。
-- 底部多按钮可换行且保持间距;已有复合底栏(统计、分页、提交等)保留自身布局,不强制改成一排普通按钮。工具栏的紧凑按钮尺寸不得传入浮层。
-- 工具栏只控制自身操作按钮及已核实的包装层,遇到浮层、弹出菜单或内嵌 DataTable 就结束作用范围;保留按钮组与下拉按钮,不能为隔离而使已有操作失去样式。
-- 长校验错误应占据正常布局空间,不能遮住下一行;长文件名允许换行,文件选择、上传和删除按钮保持可用宽度。必填标识、字段标签、错误和提交反馈不为清爽而删除。
-
-公共选择器修复至少覆盖真实 Element 挂载下的非 Teleport 嵌套、显式 Teleport、工具栏内浮层及全屏重开。组件测试可证明 DOM、状态与部分 CSS 作用域,不能证明浏览器像素布局或实际滚动已经验收;最终仍由用户在 1920×1080、100% 缩放下截图确认。
+已统一至 [Admin 界面规范对应章节](../Admin高密度界面规范.md#作用域与嵌套)。
## 图表与数据表达
-Canvas 图表显式导入 `adminWorkbenchChartTheme`,在 option 构建处组合字体、轴标签、网格、颜色与 tooltip;不注册全局 ECharts 主题。业务 option 入口分别为 [`skuTrendChart.ts`](../../apps/admin-web/src/modules/self-operated/skuTrendChart.ts)、[`dashboardChartOptions.ts`](../../apps/admin-web/src/modules/self-operated/dashboardChartOptions.ts)、[`turnoverPresentation.ts`](../../apps/admin-web/src/modules/self-operated/turnoverPresentation.ts)。
-
-- 趋势使用蓝色直线和轻面积。只有连续完整数据段可以填充,未知与缺失日期继续断线,未完整日继续以虚线/空心点表达。
-- 柱图使用圆角、真实数值尺度和清晰单位;未知分类用灰色并显示文字,不把缺失量补成零。排名、tooltip 内容、精度和点击业务键由业务模块负责。
-- 进度环只表达当前已知阶段;总量未知、分母为零或数量异常时保留未知状态。待机不等于全部完成,当前阶段 100% 不代表报表已发布。
-- 普通、加载、空数据、错误和部分数据都保留已有语义。减少装饰不能删掉覆盖不足、过期、权限或操作阻断提示。
-- 图表面积按用途选择。库存周转保留 360px 面板及内部伸缩画布,不机械套用固定画布类;体积图保留右侧数值标签空间。长标签、长数字及单位不得挤出可视区域。
+已统一至 [Admin 界面规范对应章节](../Admin高密度界面规范.md#图表与数据表达)。
## 本轮截图收尾约定
-下列约定用于本轮样板收尾,也供后续页面逐项核对:
-
-| 检查点 | 约定 |
-|---|---|
-| 数字格式 | 同一类指标统一千分位,例如 `31,279`、`192,445`;保持原有业务小数精度、单位、零值与空值语义,不为排版缩写成“万”或先舍入再计算 |
-| 筛选含义 | 提示词包含筛选对象;货主输入明确“货主名称或编码”,关注/样本条件标明类别,不能用多个无上下文的“全部” |
-| 运行状态 | 主状态、阶段状态与等待原因使用一致事实;采集关闭且存在保留进度时应明确已关闭/暂停与保留进度,不能同时给出容易被理解为正在续采的提示。关闭状态不改变进度数值,也不伪造恢复安排 |
-| 数据状态 | “采集完整”和“修订核对状态未知”属于不同维度,保持各自含义;可调整措辞和层级,不能为美观隐藏未知 |
-| 说明与重复提示 | 正常完整性、公共口径在分区统一表达,详细解释收至说明入口;同一异常保留一个清晰入口,不在各卡片重复长提示,也不添加装饰性副标题 |
-| 库存分析样板 | 快照解释、本仓概览/截至/采集时间及图表范围说明进入已有说明;正常卡片仅名称、数值、单位,删除“已确认”;图表操作并入顶部,不保留独立“展开图表”说明行。来源和估算细节按需查看,估算属性仍须可辨认,未知/陈旧/异常保留短提示 |
-| 留白 | 普通指标卡最小高度统一为 186px;主列表统一 48px 最小顶部操作栏、上下 6px、左右 12px,筛选上下 8px,避免页签和筛选重复缩进。收紧排行榜标题下空白,保留足够图表面积及首屏可读性,不靠裁切说明或缩小正文实现 |
-| 宽表 | 横向查看时保留业务标识的对应关系;只读库存表可固定 SKU 首列。有操作列的业务列表仍按现行规则将操作放第一列、需要时固定左侧 |
-| 操作措辞 | 按用户可理解的结果命名,例如“显示更多指标”;保留原按钮行为、权限与禁用条件 |
+已统一至 [Admin 界面规范对应章节](../Admin高密度界面规范.md#实现与验收)。
## 后续推广顺序与验收
-1. 使用测试环境的自营页面和本规范作为已固化的风格基线;后续按用户确定的任务范围分批改造。每个模块独立保留人工截图结论,样板发布授权不自动扩展为后续批次的发布授权。
-2. 进入目标模块,按实际导航、路由和操作列出列表、独立详情、编辑、弹窗、抽屉及预览入口,更新该模块现有逐操作矩阵。只维护一份实施记录,不另建全端进度副本。
-3. 从上方五类样板选择结构,显式接入公共样式;保留业务字段、统计口径、客户隔离、权限、API、筛选和页面承载。标准列表保留紧凑密度,不复制总览的大指标卡。
-4. 扩展公共样式时回归真实消费者,更新 `adminWorkbench.test.ts` 与相关密度合同。受影响测试、类型检查、全量测试和构建均通过仓库 `local-check.ps1` 门禁;修改 `AGENTS.md` 后另跑索引合同。自动检查与视觉结论分别记录。
-5. 人工按 **1920×1080、浏览器缩放 100%** 核对独立打开/刷新、长标题与长数字、宽表、空态、部分数据、错误、只读/无权限、弹窗普通/全屏/重开。缺少截图的状态仍标记“待人工截图确认”,不因构建成功直接判定视觉通过。
-
-自营样板不包含导航外壳;后续 Admin 推广由总控统一维护公共样式、共享组件和外壳,各业务任务按实际消费者逐模块接入。外壳参考 `AppLayout.vue`、`WorkspaceTabs.vue` 和 `shell.css`:白色顶栏、蓝色激活态、轻分隔线,现有白色 Logo 保留蓝底承载;折叠菜单和页签下拉单独声明 `popper-class` 主题范围。保留菜单尺寸、彩色图标、未保存标记、权限与页签行为,不能通过全局注入主题或替换所有 Element 默认样式跳过验收。Client、PDA 不在本轮推广范围。
-
-折叠侧栏保留 76px 宽度,展开仍为 240px。菜单宽度随纵向滚动条占用后的实际可用空间伸缩,折叠触发器去掉重复横向 padding 和图标右边距并居中;侧栏只允许纵向滚动,悬浮子菜单继续 Teleport 到侧栏滚动区之外,不能为去掉横向滚动条而裁切子菜单。
-
-现行依据:[Admin 高密度界面规范](../Admin高密度界面规范.md)、[Admin 和 Client 前端原型还原验收规则](../Admin-Client前端原型还原验收规则.md)。自营模块的当前承载和核对记录见 [`operation-matrix.md`](../../apps/admin-web/src/modules/self-operated/operation-matrix.md)。
+已统一至 [Admin 界面规范对应章节](../Admin高密度界面规范.md#新模块接入规则)。
## 原始视觉参考