Files
shanxia2.0/openspec/changes/dibang-migration/specs/dibang-frontend/spec.md
T
2026-06-10 22:59:34 +08:00

83 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## ADDED Requirements
### Requirement: 地磅管理菜单与五模块页面
web-admin SHALL 提供「地磅管理」菜单及五个页面:仪表盘、计划管理、出入库管理、地磅单管理、车牌管理。页面 SHALL 遵循 `docs/web-admin-ui-spec-fresh-mint.md` 与 ui-conventions 模板页约定。
#### Scenario: 菜单可见
- **WHEN** 已授权用户登录 web-admin
- **THEN** 侧栏可见「地磅管理」及上述五个子菜单项
### Requirement: 列表页布局规范
计划管理、出入库管理、地磅单管理列表页 SHALL 采用复杂业务列表模式(参照 `/#/demo/order`):筛选区、工具栏、表格、同容器分页;操作列 `fixed="right"`;状态类字段用 `<el-tag>` 展示。
#### Scenario: 计划列表操作列
- **WHEN** 用户打开计划管理列表
- **THEN** 操作列固定右侧且按钮不换行
### Requirement: 车牌管理标准列表
车牌管理页 SHALL 参照 `/#/demo/unit` 标准列表:分页 CRUD、软删除、Fresh Mint 筛选与弹窗表单(`label-position="top"`)。
#### Scenario: 车牌新增弹窗
- **WHEN** 用户点击新增车牌
- **THEN** 弹出两列表单弹窗,底栏取消/确定带图标
### Requirement: 主数据下拉集成 CRM
计划、地磅、出入库表单中产品与客户字段 SHALL 使用远程搜索下拉,数据源为 CRM 产品/客户 API;选中后 SHALL 将名称写入表单字段(不展示或提交 CRM id 作为业务主键)。
#### Scenario: 地磅单选择客户
- **WHEN** 用户在地磅单表单搜索并选择客户
- **THEN** `supplier` 或 `consignee` 字段填入 `customer_name` 文本
### Requirement: 磅单二维码弹窗业务例外
出入库列表「磅单二维码」弹窗 SHALL 保留现场扫码展示样式(深色遮罩、车牌黄底卡片、磅单摘要 + QR 码),作为地磅业务 UI 例外;SHALL NOT 强制套用 `SystemViewDialog` 或 `dialog-form-layout`。样式类名:`db-qrcode-dialog` / `db-qrcode-overlay` / `pound-slip-capture-inline`。
#### Scenario: 展示磅单二维码
- **WHEN** 用户在出入库列表点击「磅单二维码」
- **THEN** 弹出业务专用二维码弹窗,而非标准 Fresh Mint 查看弹窗
### Requirement: 关联数据查看弹窗
计划、出入库、地磅单列表「查看关联数据」SHALL 使用 `SystemViewDialog`(P09),通过 `DbRelatedViewDialog` 展示分区 KV 字段;状态/类型字段 SHALL 使用 `tagType` 渲染 Tag。
#### Scenario: 计划页查看关联
- **WHEN** 用户在计划列表点击「查看」
- **THEN** 弹出 SystemViewDialog 风格弹窗,按时间倒序展示关联出入库单与地磅单分区
### Requirement: 车牌下拉可选
地磅单、计划、出入库表单中车牌字段 SHALL 支持从 `db_vehicle` 列表选择或手工输入。
#### Scenario: 选择已有车牌
- **WHEN** 用户从车牌下拉选择「皖A12345」
- **THEN** 表单 `vehicle_no` 设为该车牌号
### Requirement: 仪表盘页面
仪表盘页 SHALL 展示后端统计 API 返回的概览数据与图表,布局符合 Fresh Mint 面板规范。
#### Scenario: 加载仪表盘
- **WHEN** 用户进入地磅仪表盘
- **THEN** 页面请求 dashboard API 并渲染统计卡片/图表,loading 态正确
### Requirement: API 层与类型定义
web-admin SHALL 在 `src/api/db/` 提供与后端 db 子域对应的 TypeScript API 函数;列表请求 SHALL 传递筛选参数(参照 bx 规范:`search()` 传 filter,非空 `refresh()`)。
#### Scenario: 计划列表筛选
- **WHEN** 用户点击查询并填写计划号条件
- **THEN** 前端调用 API 时携带该筛选参数且重置到第 1 页