feat: 接入新参数:套餐分配生效条件选择,资产详情前代后代换货标识
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 7m0s
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 7m0s
This commit is contained in:
@@ -7,9 +7,10 @@
|
||||
## What Changes
|
||||
|
||||
- 在换货创建入口、发货确认入口、换货详情页补充旧资产所属店铺和新资产继承归属店铺的展示。
|
||||
- 直接换货创建入口查询新资产时,按已选旧资产的 `shop_id` 过滤新资产候选,确保新旧资产限定在同一店铺范围内选择。
|
||||
- 保持现有换货创建、发货、确认完成接口和入参语义不变,不新增目标店铺选择控件或目标店铺提交字段。
|
||||
- 扩展换货响应数据,返回 `inherited_shop_id` 和 `inherited_shop_name` 供前端统一展示最终归属店铺。
|
||||
- 在创建、发货、确认完成流程中补充提交中禁用、防重复提交、后端归属校验失败提示,以及成功后的详情刷新。
|
||||
- 在创建、发货、确认完成流程中补充提交中禁用、防重复提交、后端归属校验失败提示,以及成功后的详情刷新;创建换货单失败提示复用统一 HTTP 错误处理。
|
||||
|
||||
## Impact
|
||||
|
||||
|
||||
@@ -24,6 +24,23 @@
|
||||
- **THEN** 系统 MUST NOT 渲染目标店铺选择控件
|
||||
- **AND** 用户 MUST NOT 能够手工覆盖继承归属店铺
|
||||
|
||||
#### Scenario: 直接换货新资产候选按旧资产店铺过滤
|
||||
|
||||
- **GIVEN** 用户正在创建直接换货单
|
||||
- **AND** 用户已选择旧资产
|
||||
- **WHEN** 前端加载或搜索新资产标识符候选项
|
||||
- **THEN** 新 IoT 卡候选查询 MUST include the selected old asset `shop_id`
|
||||
- **AND** 新设备候选查询 MUST include the selected old asset `shop_id`
|
||||
- **AND** 查询 MUST continue to include `status=1`
|
||||
|
||||
#### Scenario: 未选择旧资产时不加载直接换货新资产候选
|
||||
|
||||
- **GIVEN** 用户正在创建直接换货单
|
||||
- **AND** 用户尚未选择旧资产
|
||||
- **WHEN** 新资产标识符候选项准备加载
|
||||
- **THEN** 前端 MUST NOT request new asset candidates without the old asset `shop_id`
|
||||
- **AND** 新资产候选列表 MUST remain empty until an old asset is selected
|
||||
|
||||
### Requirement: 换货归属继承接口契约
|
||||
|
||||
系统 SHALL 复用现有换货创建、发货和确认完成接口,并在换货数据模型中返回继承后的店铺标识和店铺名称,供创建结果、发货结果、完成结果和详情页统一展示。
|
||||
@@ -66,14 +83,15 @@
|
||||
|
||||
### Requirement: 换货归属继承错误与提交状态处理
|
||||
|
||||
系统 SHALL 在新资产归属校验失败时直接展示后端错误,并在创建、发货、确认完成提交期间禁用操作按钮,防止重复提交,同时保证失败后可以重试。
|
||||
系统 SHALL 在新资产归属校验失败时展示后端错误,并在创建、发货、确认完成提交期间禁用操作按钮,防止重复提交,同时保证失败后可以重试。创建换货单接口失败 MUST use the unified HTTP error handling and MUST NOT render a duplicate local error alert inside the create dialog.
|
||||
|
||||
#### Scenario: 新资产属于其他店铺时展示后端错误
|
||||
|
||||
- **GIVEN** 用户选择了不允许用于当前换货流程的新资产
|
||||
- **WHEN** 后端返回“新资产属于其他店铺”或等价归属校验错误
|
||||
- **THEN** 系统 MUST 直接展示后端错误信息
|
||||
- **THEN** 系统 MUST 通过统一 HTTP 错误处理展示后端错误信息
|
||||
- **AND** 系统 MUST NOT 提供手工修改目标店铺的替代入口
|
||||
- **AND** 创建换货单弹窗内 MUST NOT 额外展示重复错误 Alert
|
||||
|
||||
#### Scenario: 提交期间禁用按钮防止重复提交
|
||||
|
||||
|
||||
@@ -8,12 +8,13 @@
|
||||
- [x] 2.1 在换货创建入口中,选择旧资产后展示旧资产所属店铺。
|
||||
- [x] 2.2 在换货创建入口和发货确认入口中,选择新资产后展示只读提示 `换货完成后将归属:{店铺名称}`。
|
||||
- [x] 2.3 确保上述页面不新增目标店铺选择控件,也不允许手工覆盖继承归属。
|
||||
- [x] 2.4 直接换货创建入口的新资产默认列表和搜索请求按已选旧资产 `shop_id` 过滤,并继续固定 `status=1`。
|
||||
|
||||
## 3. Exchange Detail And Submission States
|
||||
|
||||
- [x] 3.1 在换货详情页展示继承后的店铺名称,并在发货或确认完成成功后重新拉取详情。
|
||||
- [x] 3.2 在创建、发货、确认完成提交期间禁用操作按钮,防止重复提交。
|
||||
- [x] 3.3 在新资产归属校验失败时展示后端错误,并在失败后恢复可重试状态。
|
||||
- [x] 3.3 在新资产归属校验失败时通过统一 HTTP 错误处理展示后端错误,并在失败后恢复可重试状态。
|
||||
|
||||
## 4. Verification
|
||||
|
||||
|
||||
Reference in New Issue
Block a user