feat(prototype): redesign procurement task workbench
This commit is contained in:
+24
-1
@@ -53,7 +53,8 @@
|
||||
| `POST` | `/login` | 建立管理会话 |
|
||||
| `POST` | `/logout` | 销毁会话 |
|
||||
| `GET` | `/tasks` | 任务列表,支持 `q`、`status`、`days`、`cursor` |
|
||||
| `POST` | `/tasks` | 手工建单(F-001) |
|
||||
| `POST` | `/tasks` | 手工建单,初始状态为 `DRAFT`(F-001) |
|
||||
| `POST` | `/tasks/start-trials` | 批量把 `DRAFT` 原子转为 `PENDING`,开始第一趟试选(F-018) |
|
||||
| `GET` | `/tasks/{id}` | 任务详情 |
|
||||
| `POST` | `/tasks/{id}/cancel` | 取消任务 |
|
||||
| `POST` | `/tasks/{id}/order-authorizations` | 确认试选结果并签发授权(F-008) |
|
||||
@@ -64,6 +65,28 @@
|
||||
> Excel 导入(`/tasks/import`)与 ERP 货运(`/freight*`)已移出 MVP,见
|
||||
> [需求](02-requirements.md)第三节后续迭代表。
|
||||
|
||||
### `POST /tasks/start-trials`
|
||||
|
||||
管理页面以带 CSRF 的表单提交结构化任务版本列表:
|
||||
|
||||
```json
|
||||
{
|
||||
"start_key": "<幂等键>",
|
||||
"tasks": [
|
||||
{ "id": "018f...", "expected_task_version": 1 },
|
||||
{ "id": "0190...", "expected_task_version": 3 }
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
- 只接受当前状态为 `DRAFT` 的任务;该动作含义是允许 desk 端领取第一趟试选,**不签发下单
|
||||
授权、不建立提交围栏、不创建订单、不付款**。
|
||||
- 服务端在一个事务内校验全部任务存在、属于当前管理范围、状态仍为 `DRAFT` 且版本匹配,
|
||||
然后统一转 `PENDING` 并递增版本。任一项失败返回 `409 conflict`,整批不产生部分成功。
|
||||
- `tasks` 为空或包含重复 id 返回 `400 invalid_argument`;重复 `start_key` 返回第一次的结果,
|
||||
不重复推进版本。
|
||||
- SSR 成功后 `303` 返回原任务列表查询地址;冲突时保留筛选条件,刷新表格并要求重新选择。
|
||||
|
||||
### `POST /tasks/{id}/order-authorizations`
|
||||
|
||||
```json
|
||||
|
||||
Reference in New Issue
Block a user