docs: add design for dispatch calendar other kind tab.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
6f4d4d2c59
commit
b0b7e34051
1 file changed
+48
@@ -0,0 +1,48 @@
|
||||
# 派车日历增加「其他日历」设计
|
||||
|
||||
用户已于 2026-10-29 确认方案 1(扩展 `calendarKind`)并授权撰写本设计。
|
||||
|
||||
## 需求与边界
|
||||
|
||||
现有 Web `/pl/calendar-module/dispatch-calendar` 与小程序 H5 `/m/pl/dispatch-calendar` 页内 Tab 为:酸派车日历、碱派车日历、实际派车信息。客户需要在「碱派车日历」之后增加「其他日历」,用于酸/碱以外其他产品的手工派车。
|
||||
|
||||
「其他日历」功能、交互、样式与酸/碱手工日历完全一致;两端(Web + H5)同步增加。产品与车辆选择器仍共用现有主数据接口,不按产品分类过滤。实际派车信息 Tab 行为与样式不变。不新增菜单或权限码,继续使用现有 `dispatch-calendar:list` / `dispatch-calendar:manage`(Web 与 mini 前缀)。
|
||||
|
||||
## 展示与交互
|
||||
|
||||
Tab 顺序固定为:
|
||||
|
||||
1. 酸派车日历(`acid`)
|
||||
2. 碱派车日历(`alkali`)
|
||||
3. 其他日历(`other`)
|
||||
4. 实际派车信息(`actual`)
|
||||
|
||||
手工三类 Tab 均挂载现有 `ManualCalendar`,仅传入不同的 `calendarKind` 与标题;「其他日历」标题文案为「其他日历」。主题 class `manual-calendar-theme` 在 `acid` / `alkali` / `other` 时启用。不新增独立组件、不改手工日历视觉主题。
|
||||
|
||||
模式沿用既有:P08 页内 Tab + P01 简单 CRUD + P09 查看弹窗 + P27 日历派生展示。
|
||||
|
||||
## 数据与接口
|
||||
|
||||
继续使用表 `pl_dispatch_calendar`。`calendar_kind` 允许值由 `acid | alkali` 扩展为 `acid | alkali | other`。列类型已是 `varchar(16)`,无需改列结构;补充幂等迁移仅更新字段 COMMENT,并同步模型注释与 `docs/sql` 基线注释(若仓库有对应 DDL 快照)。
|
||||
|
||||
列表、详情、创建、更新、删除均按当前 Tab 的 `calendarKind` 隔离;三类手工数据互不可见。更新时不允许修改 `calendarKind`(与酸/碱现状一致)。非法 `calendarKind` 返回 422。
|
||||
|
||||
API 路径与参数形状不变:查询参数 / 请求体字段 `calendarKind` 增加合法值 `other`。车辆、产品选项接口不变。
|
||||
|
||||
## 改动面
|
||||
|
||||
| 层 | 改动 |
|
||||
|----|------|
|
||||
| 后端 service / schema / model | `CALENDAR_KINDS` 与校验文案纳入 `other`;COMMENT 同步 |
|
||||
| 后端测试 | `other` 隔离、非法 kind、不可跨类型改 kind |
|
||||
| Web / H5 入口 | Tab + `ManualCalendar` 挂载;主题 class 覆盖 `other` |
|
||||
| 前端类型 | `DispatchCalendarKind` 增加 `'other'` |
|
||||
| SQL | 新迁移更新 COMMENT;必要时同步 docs/sql 注释 |
|
||||
| 前端相关单测 / 浏览器脚本 | 若硬编码仅 acid/alkali,则扩展覆盖 `other` |
|
||||
|
||||
## 验收
|
||||
|
||||
- 两端四个 Tab 可见且顺序正确;「其他日历」CRUD、筛选、复制、汇总与酸/碱一致(Web 另含打印)。
|
||||
- `other` 记录与酸/碱互不串;不可将记录的 `calendarKind` 改成另一类型。
|
||||
- 实际派车信息无回归;非法 `calendarKind` 仍 422。
|
||||
- 定向后端测试、前端相关测试、定向 lint、图谱增量更新通过。
|
||||
Reference in new issue
Block a user