2026-09-14 17:06:52 +08:00
# Admin 客户管理样式核对记录
## 范围与依据
按当前客户管理导航的两个入口:客户列表、海外仓阶梯费用;客户详情及两个入口实际调用的编辑、审核、预览一并收敛。用户要求按钮使用纯文字,避免图标占位;详情页签保留已确认的彩色 Emoji。沿用《Admin 高密度界面规范》,验收视口为 1920×1080、100% 缩放。
本轮开始时客户编辑已有 1120px、三列表单,详情联系信息已有三列调整;保留这些在途改动并在其基础上处理密度,不回退业务逻辑。
## 逐操作矩阵
原型入口:`docs/悦/货代SAAS平台后台/prototype-src/modules/01-customers.html` 的 `page-tenant-list` 、`page-warehouse-tier-fee` 、`page-tenant-detail` 。当前用户确认的密度及按钮要求优先于历史装饰。
| 页面/操作 | 当前承载 | 调整目标 |
|---|---|---|
| 客户列表、筛选、行内操作 | 标准列表 | 13px 正文、36px 基准行高,28px 白底描边纯文字操作,保留直接操作数量与更多菜单 |
| 新增/编辑客户 | 1120px 居中弹框、三列表单 | 保留字段、联络信息说明与资质上传,紧凑分区、正文滚动、底部操作可见 |
| 客户入驻审核 | 1040px 居中弹框 | 企业资料连续描述表、资质表,保留同意/驳回与理由 |
| 创建/审核结果、重置密码、跳转登录、删除 | 各自居中弹框 | 统一密度与纯文字按钮;凭证、复制、确认和失败行为保留 |
| 资质文件预览 | 居中弹框 | 保留原图/PDF 查看面积与加载反馈 |
| 客户详情基本信息 | 独立页面 | 紧凑头部、38px 彩色页签,企业和联络信息用连续键值表,资质和企业成员用紧凑列表 |
| 客户详情计费规则 | 箱规表、权重系数表及编辑弹框 | 收紧标题与行距,保留公式、默认规则、权限与保存语义 |
| 客户详情海外仓费用 | 阶梯表及编辑弹框 | 紧凑分组表,保留币种、档位、单位与未保存确认 |
| 客户详情操作日志 | 标准列表及详情抽屉 | 紧凑表格、描述表,保留既有抽屉承载、快照、错误诊断 |
| 海外仓阶梯费用 | 标准列表及 1120px 编辑弹框 | “天数:单价”连续排列并整组换行、币种单列,两类费用并排编辑,保留原增删档位校验 |
## 验证
### 人工截图反馈:更多入口与阶梯费用
依据本轮用户提供的海外仓阶梯费用单行截图(`codex-clipboard-60f898d1-3c3c-49ba-8eda-b741e40bbd6d.png` )及“请同步”的确认:
| 页面/操作 | 当前截图或实现 | 本轮处理 |
|---|---|---|
| 客户列表更多操作 | 文字“更多”,与订单列表省略号不一致 | 统一 `MoreHorizontal` 三点入口,保留悬停提示和可访问名称;菜单项纯文字 |
| 订单列表更多菜单 | 三点入口,菜单项带图标 | 保留三点入口,菜单项改为纯文字 |
| 海外仓阶梯费用列表 | 档位分成两列白底块,每档重复币种、行高较大 | 改为“天数:单价”连续排列,按原档位顺序整组换行;币种只在独立列出现,计费单位在表头;空档位显示“—” |
2026-09-14 17:54:18 +08:00
| 海外仓阶梯费用编辑 | 原 1120px 双费用分组弹框 | 保留当前承载、字段与增删校验;后续按钮反馈补齐新增/删除白底描边样式 |
2026-09-14 17:06:52 +08:00
本轮修改后的截图待人工确认,原截图只作为问题证据。三点入口与连续阶梯展示完成后重新执行类型检查、全量测试、构建及差异检查,结果如下。
2026-09-14 17:54:18 +08:00
后续按钮反馈补充:源码中列表“编辑”已经接入 `customer-action-button` ,本次增强其选择器和 Element Plus 状态变量,明确灰字白底细描边及焦点反馈;阶梯编辑弹框的“新增阶梯、删除”此前仍使用默认按钮,本次补齐蓝/红语义描边,并同步客户详情同类费用编辑。没有将源码检查等同于用户当前环境已经生效,最终外观仍待人工截图确认。
按钮补齐后再次验证:`pnpm typecheck` 、`pnpm test` ( 247 个文件、1901 项)、`pnpm build` 和客户模块差异检查均通过;未部署。
2026-09-14 17:06:52 +08:00
2026-09-14,本轮样式实现及代码验证完成:
- `pnpm typecheck` :通过。
- `pnpm test` :247 个测试文件、1901 项测试全部通过,包含客户模块、客户操作日志及订单列表的直接影响测试。原有图标和弹框类名断言按本轮确认更新,保留 API、权限、保存与错误处理断言。
- `pnpm build` :通过。
- 本轮客户模块、客户操作日志与订单列表的 `git diff --check` :通过。
视觉状态为 **待人工截图确认** 。没有用代码检查代替截图验收,没有沿用国内仓截图作证据;未部署、未进行业务写入。测试输出包含已有的其他页面 `query` 常量绑定编译提示,不影响本轮检查通过。
## 实现入口与影响边界
- 页面显式接入 `admin-density customer-density` ,相关居中弹框显式接入 `admin-density-dialog customer-density-dialog` ,Teleport 后仍应用密度规则。
- 客户专用样式位于 `apps/admin-web/src/modules/customers/customerDensity.css` ;基础密度复用 `src/styles/adminDensity.css` 。本轮没有修改全局默认样式或共享组件接口。
- `CustomerAuditLogsPanel.vue` 当前由客户详情消费,本轮调整其详情按钮和日志抽屉间距、描述表。保留原抽屉、快照和诊断信息。
- 纯文字规则覆盖业务操作与带文案的查询、重置、复制;分页箭头、列设置、筛选布局、关闭、全屏及加载反馈继续可见,避免出现空按钮。
- 客户列表白底描边按钮按既有操作权限和直接操作数量显示,更多入口统一三点 `…` ,不显示“更多”文字;菜单项纯文字。未修改状态、权限、API 或计费口径。
2026-09-14 17:54:18 +08:00
## 样式维护收敛(国内仓、客户管理)
按用户确认,将两模块共用的默认值和通用外观合并到公共层:
| 范围 | 接入内容 | 保留的业务配置 |
|---|---|---|
| 客户列表、阶梯费用列表及编辑弹框 | `density-action` + `data-tone` ,按钮交互状态只维护一份 | 操作权限、配色语义、直接操作数量、三点更多 |
| 客户详情、订单详情 | `density-tabs` / `density-tab-icon` ;信息表接入 `density-fields` | 页签标签和事件,四列/三列、字段跨列 |
| 客户审核 | 公共弹框框架及 `density-fields` | 1040px 宽度、审核资料分组、96px 标签宽度 |
| 客户规则与费用 | 公共字号/间距/行高变量 | 规则公式、阶梯顺序、两类费用分组与编辑宽度 |
| 客户操作日志 | 公共密度变量、`admin-density-drawer` | 日志详情抽屉、结果与快照布局 |
`customerDensity.css` 中重复的按钮、页签、信息表基础规则已上移;客户 Vue 文件中被模块样式覆盖的旧声明已清除,不再保留旧卡片尺寸后用更强选择器覆盖。此前记录提到的 `customer-action-button` 已由公共 `density-action` 替换,属于样式归属调整。
维护规则见《Admin 高密度界面规范》的“国内仓、客户管理的样式维护边界”。`src/styles/adminDensity.test.ts` 检查 21 个明确消费者及其模块 CSS:禁止业务选择器进入公共层、禁止页面重复实现按钮、禁止在页面重定义密度默认值、检查所有变量引用已定义。此次代码收敛后的视觉状态仍为待人工截图确认。
2026-09-14 18:34:32 +08:00
## 向后续模块复用前的规则核对(2026-09-14)
本次按实际代码核对国内仓和客户管理样板、公共 CSS、变量、维护合同与应用指引,并以货柜管理的真实菜单/路由检查规范能否复用。
| 检查项 | 发现与处理 | 证据范围 |
|---|---|---|
| 客户详情返回 | 原按钮尚未接入公共返回样式,现使用 `link` + `density-back` ;保留纯文字及返回客户列表的事件 | 页面代码及返回入口合同;新视觉待截图 |
| 客户日志行内按钮 | 仍使用独立链接按钮,现接入灰色 `density-action` ;日志面板自身导入公共 CSS 并显式接入密度根 | 独立组件入口、权限与详情查询测试 |
| 公共颜色变量 | 斑马纹和描述表标签底色绕过了已定义变量,已接回;各语义按钮悬停浅底改由公共变量提供 | 变量定义、消费与状态规则合同 |
| 浮层覆盖 | 国内仓父子订单关联抽屉缺少独立密度类,已补齐;合同新增抽屉检查 | 弹框/抽屉显式入口,不依赖页面祖先 |
| 后续接入说明 | 增加完整页面/弹框示例、共享模式边界、检查清单扩展与代码/视觉证据界限 | 《Admin 高密度界面规范》“新模块接入规则”及 Admin 指引 |
结论:公共基线和接入规则可用于后续 Admin 页面;新增页面仍须逐操作接入和验收,不能只导入 CSS 就称为完成。货柜管理 4 个菜单及 DOMESTIC/OVERSEAS 共享边界已登记在 [货柜管理核对记录 ](Admin货柜管理样式核对记录.md ),尚未实施其页面改造。
本次定向测试 85/85、全量测试 249 个文件与 1915 项测试、类型检查、构建、AGENTS 索引合同 1050 项及文档链接检查通过。未执行部署或业务数据写入;修复后的页面视觉仍待人工截图确认。
2026-09-14 17:54:18 +08:00
## 人工验收步骤
2026-09-14 17:06:52 +08:00
统一采用 1920×1080、浏览器缩放 100%。每项包含空态、长内容、禁用及加载反馈;涉及真实业务提交时按人工验收数据操作。
1. 客户列表:筛选、查询/重置、列设置、分页,以及按钮最多的行;核对按钮间距和颜色、更多菜单、权限变化后的操作列。
2. 新增/编辑客户:三列表单、校验提示、长公司名称、资质上传与有效期;检查滚动、底部按钮、全屏和重开。
3. 客户审核与凭证相关弹框:企业资料、资质预览、审核理由、密码显示/复制、跳转登录理由及删除确认;核对信息完整和处理中锁定。
4. 客户详情:基本信息四组字段、联系信息三组字段、长地址/邮箱/文件名、资质预览及企业成员表;核对彩色页签与返回/编辑按钮。
5. 计费规则及海外仓费用:只读分组、默认规则入口、规则编辑、币种与多档阶梯、取消和未保存提示;核对单位、公式与底部操作。
6. 操作日志:筛选、详情抽屉、成功/失败记录及快照长内容。
7. 海外仓阶梯费用列表:多档位行、横向空间、编辑弹框两类费用并排、档位增删后的表格及校验。