统一平台资源中文展示并修复模拟订单状态
This commit is contained in:
@@ -116,6 +116,10 @@
|
||||
|
||||
标准详情页同样只保留面包屑、编辑和返回操作,不重复展示“详情资源名称”及说明文字。详情卡片按内容自然高度从顶部排列,统一使用 `12px` 间距和紧凑内边距;基本信息在大屏、中屏和小屏分别采用三列、两列和单列。字段标签按文字自然宽度与值保持 `12px` 间距,长标签禁止拆字换行,不使用固定标签列制造多余空白。未开通钱包使用单行提示,气站启停继续保留独立状态管理卡片,不改变原有接口和权限校验。
|
||||
|
||||
48 类平台资源统一执行中文展示契约:列表先显示业务名称、业务编号和业务状态,数据库自增 `id` 不作为页面业务列,UUID 统一以“系统唯一标识”作为次要复制信息。关联字段优先显示中文名称并可进入存在详情路由的关联记录;关系加载失败时明确显示“名称加载失败”,同时保留 UUID 复制入口。只读资源也必须声明业务字段,不允许使用空字段配置。聚合详情中的合同气瓶、修订、订单明细、分配、状态、轨迹、确认和支付记录使用固定中文列,后端新增但尚未配置的响应键不得直接回显英文。设备参数、商品快照、支付参数和回调内容通过完整 JSON 查看器展示,既有不脱敏字段不改变内容或可见性。
|
||||
|
||||
标准资源列表在浏览器 100% 缩放、`1366×768` 及以上视口中不得造成页面级横向溢出;业务列默认限制为 6 个,系统唯一标识和操作列置后,确需更多宽度时只允许表格容器内部横向滚动。树形资源以中文名称为主,同时保留业务编码或路径及系统唯一标识复制入口。
|
||||
|
||||
新建与编辑使用不同字段规则。唯一标识、用户名、创建编码、不可变归属等创建后锁定字段以灰色禁用控件展示且禁止修改,不重复显示顶部说明条、字段旁提示或禁用占位文字;后端更新协议要求原归属标识时,页面只会原样回传该字段。合同状态、检修结果、系统角色和平台权限等限制同时由页面和后端校验。编辑页离开前检测未保存内容,详情页的聚合子表、钱包摘要、气站状态开关及资源专属业务动作继续保留。
|
||||
|
||||
### 6.1 机构管理
|
||||
|
||||
64
docs/操作日志_平台资源中文展示统一_20260815.md
Normal file
64
docs/操作日志_平台资源中文展示统一_20260815.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# 平台资源中文展示统一操作日志
|
||||
|
||||
操作时间:2026-08-15
|
||||
|
||||
操作类型:修改、扩展
|
||||
|
||||
影响模块:平台总后台标准资源列表、详情、关系补载、树形页面和静态检查
|
||||
|
||||
## 操作前状态
|
||||
|
||||
- 资源总数为 48 类,其中 46 类走通用详情页,2 类使用树形页面。
|
||||
- 19 类只读资源使用空字段配置,列表主要显示数据库 ID 和 UUID。
|
||||
- 聚合详情除订单部分集合外仍可能根据响应键追加动态英文列。
|
||||
- 关系加载失败时会把裸 UUID 当作主要名称展示。
|
||||
|
||||
## 具体操作
|
||||
|
||||
1. 补齐只读资源的中文字段、关系和业务顺序。
|
||||
2. 列表移除数据库 ID 主列,将系统唯一标识置于业务列之后。
|
||||
3. 新增资源详情契约,固定合同与订单聚合子表的列和 JSON 字段。
|
||||
4. 静态及动态关系统一补载中文名称,并为可导航关系增加详情入口。
|
||||
5. 树形页面补充业务编码或路径及系统唯一标识。
|
||||
6. 新增 48 类资源展示契约检查,并同步既有订单和 JSON 检查脚本。
|
||||
|
||||
## 代码变更
|
||||
|
||||
- `frontend/platform_admin/src/api/resources.ts`:补齐中文字段和 19 类只读资源字段。
|
||||
- `frontend/platform_admin/src/api/resource-display.ts`:扩展状态、枚举、动态关系和未知字段保护。
|
||||
- `frontend/platform_admin/src/api/resource-detail-contract.ts`:新增固定子表与 JSON 契约。
|
||||
- `frontend/platform_admin/src/views/resource/ResourceDetailContent.vue`:消费资源契约并统一关系展示。
|
||||
- `frontend/platform_admin/src/views/resource/use-resource-relations.ts`:补载动态主体关系。
|
||||
- `frontend/platform_admin/src/views/shared/CrudListPage.vue`:业务列优先并移除数据库 ID。
|
||||
- `frontend/platform_admin/src/views/shared/resource-list-field-display.ts`:专属列表列序。
|
||||
- `frontend/platform_admin/src/views/shared/RelationNameText.vue`:关联名称跳转和 UUID 复制。
|
||||
- `frontend/platform_admin/src/views/shared/TreePage.vue`:树节点业务标识与 UUID。
|
||||
- `frontend/platform_admin/scripts/check-resource-display-contracts.mjs`:新增静态契约检查。
|
||||
|
||||
## 行为变化
|
||||
|
||||
- 修改前:数据库 ID、UUID 优先,部分列表没有业务列,关联表可能出现英文键。
|
||||
- 修改后:中文名称和业务单号优先,UUID 为次要复制信息,未知字段不再直接显示。
|
||||
- 既有接口、权限、不脱敏字段内容和业务动作协议保持不变。
|
||||
|
||||
## 验证结果
|
||||
|
||||
- 资源中文展示契约检查:通过。
|
||||
- TypeScript 类型检查:通过。
|
||||
- 配送订单列表与详情检查:通过。
|
||||
- 资源详情 JSON 检查:通过。
|
||||
- 前端生产构建:通过。
|
||||
- 后端 `go test ./...`:通过。
|
||||
- 后端 `go vet ./...`:通过。
|
||||
- 后端临时目录构建:通过。
|
||||
- 全仓 Biome:本次变更文件无新增错误;全仓仍有 2 个既有错误,均位于未改动的 `protected-list-avatar-loader.ts` 回调返回值规则。
|
||||
- Codex 内置浏览器回归:通过。实测订单列表、订单详情、分配记录、订单明细、状态记录和分配联动弹窗,整页无水平溢出。
|
||||
- 浏览器回归补充修复:业务订单号改为完整展示,不再被系统标识组件截断;配送合同详情优先使用服务端返回的中文名称;配送人员占位文案与已锁定配送点的场景保持一致。
|
||||
- 分配联动实测:已分配订单的配送点锁定为当前点,配送人员候选只包含该点下符合条件的人员,未提交任何业务动作。
|
||||
|
||||
## 风险评估
|
||||
|
||||
- 关系资源被归档或加载失败时显示“名称加载失败”,UUID仍可用于排障。
|
||||
- 未声明的新字段不会自动展示;静态检查要求开发者补充中文语义后交付。
|
||||
- 本次不新增历史名称快照,历史记录在无快照时显示当前名称。
|
||||
- 浏览器写操作仅允许使用本次创建的测试数据;真实支付、外部通知和设备控制不在未确认的环境中执行。
|
||||
48
docs/操作日志_模拟配送订单状态修复_20260815.md
Normal file
48
docs/操作日志_模拟配送订单状态修复_20260815.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# 模拟配送订单状态修复操作日志
|
||||
|
||||
操作时间:2026-08-15
|
||||
|
||||
操作类型:修改、数据校正
|
||||
|
||||
影响模块:后端模拟数据、平台配送订单列表
|
||||
|
||||
## 操作前状态
|
||||
|
||||
- 附加模拟场景把 `MOCK-GASORDER-*` 配送订单写为 `10(待处理)`。
|
||||
- 配送订单文档和状态机规定初始状态为 `16(已创建)`,前端因此正确显示“未知(10)”。
|
||||
|
||||
## 具体操作
|
||||
|
||||
- 新生成的 Mock 配送订单统一使用 `StatusCreated`。
|
||||
- 种子写入时幂等修复同一固定 Mock 订单的历史错误状态。
|
||||
- 新增 `repair-mock-gasorder-status` 专用命令,只更新同时满足固定 Mock identity 前缀、`MOCK-GASORDER-%` 单号和状态 `10` 的记录。
|
||||
|
||||
## 行为变化
|
||||
|
||||
- 修改前:附加 Mock 订单显示“未知(10)”,且不具备合法订单动作。
|
||||
- 修改后:这些订单显示“已创建”,与文档和状态机一致。
|
||||
- 真实订单、已流转的 Mock 订单及其他模拟资源不受影响。
|
||||
|
||||
## 代码变更
|
||||
|
||||
- `backend/api/internal/seed/mock.go`:更正初始状态并新增精确修复函数。
|
||||
- `backend/api/internal/seed/mock_test.go`:新增 Mock 订单初始状态回归测试。
|
||||
- `backend/api/cmd/cli/main.go`:新增独立幂等修复命令。
|
||||
|
||||
## 验证结果
|
||||
|
||||
- 种子数据与配送订单逻辑测试通过。
|
||||
- 专用修复命令返回实际受影响记录数。
|
||||
- 页面刷新后应显示“已创建”,不再显示“未知(10)”。
|
||||
|
||||
## 风险评估
|
||||
|
||||
- 修复条件为三重 Mock 范围限定,不会匹配真实订单。
|
||||
- 该操作是错误初始值校正,不作为业务状态流转,不追加虚假状态历史。
|
||||
|
||||
## 实施结果
|
||||
|
||||
- 执行 `go run ./cmd/cli repair-mock-gasorder-status`,实际修复 9 条历史 Mock 配送订单。
|
||||
- Codex 内置浏览器重新登录平台总后台并等待列表接口返回后,页面共显示 11 条订单;其中 9 条附加 Mock 订单均显示“已创建”,页面内“未知(10)”数量为 0。
|
||||
- 后端执行 `go test ./...` 与 `go vet ./...`,均通过。
|
||||
- 尝试执行完整 `mock-data` 时,既有生产商账号 `mock_producer_010` 触发用户名唯一索引冲突;该命令处于事务中,冲突前写入已回滚。本次未扩大范围处理该无关问题,改用独立幂等修复命令完成状态校正。
|
||||
63
docs/项目文档_平台资源中文展示统一_v1.0.md
Normal file
63
docs/项目文档_平台资源中文展示统一_v1.0.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# 平台资源中文展示统一
|
||||
|
||||
## 1. 项目概述
|
||||
|
||||
本次统一平台总后台 48 类资源的列表、详情、关联记录、操作弹窗和树形页面展示规则。目标是以中文业务名称和业务单号作为主要信息,将 UUID 降级为可复制的技术信息,并阻止未知响应字段直接形成英文表头。
|
||||
|
||||
技术栈保持不变:Vue 3、TypeScript、Vite、Arco Design 和现有 Gin API。本次不修改数据库结构,不删除或重命名既有接口字段,也不改变已有不脱敏字段的内容和可见性。
|
||||
|
||||
## 2. 核心目录
|
||||
|
||||
```text
|
||||
frontend/platform_admin/
|
||||
├── src/api/
|
||||
│ ├── resources.ts # 48 类资源字段、关系和中文名称
|
||||
│ ├── resource-display.ts # 共享金额、状态、关系和中文兜底
|
||||
│ └── resource-detail-contract.ts # 聚合详情固定列与 JSON 契约
|
||||
├── src/views/resource/
|
||||
│ ├── ResourceDetailContent.vue # 标准详情和关联记录渲染
|
||||
│ └── use-resource-relations.ts # 静态及动态关系名称补载
|
||||
├── src/views/shared/
|
||||
│ ├── CrudListPage.vue # 业务列优先的标准列表
|
||||
│ ├── resource-list-field-display.ts # 资源列表列序与关系名称
|
||||
│ ├── RelationNameText.vue # 名称、跳转和 UUID 复制
|
||||
│ └── TreePage.vue # 树形资源中文展示
|
||||
└── scripts/check-resource-display-contracts.mjs # 48 类资源静态契约检查
|
||||
```
|
||||
|
||||
## 3. 展示规则
|
||||
|
||||
### 3.1 列表
|
||||
|
||||
- 不展示数据库自增 `id`。
|
||||
- 默认展示最多 6 个主要业务字段。
|
||||
- 订单、合同、支付、钱包流水和商城订单使用专属列顺序。
|
||||
- “系统唯一标识”位于业务字段之后,并保留完整复制能力。
|
||||
- 表格宽度不足时只在表格容器内部滚动。
|
||||
|
||||
### 3.2 详情与关系
|
||||
|
||||
- 业务编号、状态和主要关联置前;UUID、创建时间和更新时间靠后。
|
||||
- 静态关系和由主体类型决定的动态关系都补载可读名称。
|
||||
- 名称可点击进入存在详情路由的关联资源;树形资源没有详情路由时仅展示。
|
||||
- 名称加载失败时展示明确错误文案,并继续保留 UUID。
|
||||
- 未配置中文名称的响应字段在生产页面隐藏,由静态检查阻止回归。
|
||||
|
||||
### 3.3 聚合子表与 JSON
|
||||
|
||||
- 配送合同的气瓶与修订、配送订单的明细、分配、状态、轨迹、确认和支付使用固定中文列。
|
||||
- 关联表不再根据 `Object.keys` 自动追加未知列。
|
||||
- JSON 查看器完整展示原内容,仅改善排版;已有不脱敏要求保持不变。
|
||||
|
||||
## 4. 兼容性与维护
|
||||
|
||||
- 本次前端扩展不改变 API 请求协议。
|
||||
- 没有历史名称快照时使用当前关联名称和 UUID,不伪造历史名称。
|
||||
- 新增资源字段时必须先加入中文字段字典;新增聚合集合时必须声明固定列。
|
||||
- 执行 `npm run resource-display-contracts:check` 可检查资源数量、空只读契约、数据库 ID 列、未知字段保护和固定集合配置。
|
||||
|
||||
## 5. 变更记录
|
||||
|
||||
- v1.0:建立 48 类资源中文展示契约,补齐原 19 类空字段只读资源。
|
||||
- v1.0:统一业务列优先、关系名称跳转、UUID 次要复制和响应式表格。
|
||||
- v1.0:建立固定聚合子表和完整 JSON 查看规则。
|
||||
Reference in New Issue
Block a user