fix: some
Some checks failed
构建并部署前端到测试环境 / build-and-deploy (push) Failing after 28m40s

This commit is contained in:
luo
2026-09-18 18:11:53 +08:00
parent 5e7f5eaba4
commit 08889d2e42
55 changed files with 2888 additions and 414 deletions

View File

@@ -0,0 +1,64 @@
## ADDED Requirements
### Requirement: 核销申请弹窗抽屉与收款方式远程搜索
创建/修改核销申请弹窗 MUST 以从右侧滑出的抽屉形式呈现,并 MUST 保留表单校验、关闭时重置与底部提交/取消操作。收款方式 MUST 改为远程搜索下拉:请求 MUST 携带 `keyword``page_size``20``enabled``true`,仅展示启用项;输入关键字 MUST 经防抖后发起请求,并发时 MUST 丢弃过期响应。编辑已提交申请时MUST 能回显并保留当前已选收款方式,即使其不在当前搜索结果内。
#### Scenario: 打开弹窗
- **GIVEN** 用户点击创建或修改核销申请
- **WHEN** 弹窗打开
- **THEN** 弹窗 MUST 从右侧滑出
- **AND** MUST 保留表单字段、校验与底部操作
#### Scenario: 收款方式远程搜索
- **GIVEN** 用户打开收款方式下拉
- **WHEN** 输入关键字
- **THEN** 前端 MUST 以防抖方式调用收款方式接口,携带 `keyword``page_size=20``enabled=true`
- **AND** 仅展示接口返回的启用项
- **AND** 过期请求的响应 MUST NOT 覆盖最新结果
#### Scenario: 编辑场景回显已选收款方式
- **GIVEN** 正在修改的申请已选择某收款方式且其不在首屏搜索结果中
- **WHEN** 弹窗初始化
- **THEN** 下拉 MUST 回显该收款方式名称
- **AND** MUST NOT 因搜索而清空已选值
### Requirement: 核销账单候选筛选与分页
核销申请弹窗的核销账单候选列表 MUST 默认以 `page_size``20` 加载MUST NOT 固定请求 100 条。候选列表 MUST 支持按来源(`source_type`)、来源单号(`source_no`)、核销状态(`status`)、店铺(`customer_id`)与创建时间(`created_from` / `created_to`)筛选,店铺筛选 MUST 使用远程搜索。筛选条件变化 MUST 回到第 1 页重新加载。翻页 MUST NOT 清空已选账单与已填核销金额;当前页之外已选账单 MUST 仍计入核销合计并随申请提交。
#### Scenario: 默认分页加载
- **GIVEN** 用户打开核销申请弹窗
- **WHEN** 账单候选列表加载
- **THEN** 请求 MUST 使用 `page_size=20`
- **AND** MUST 提供分页或加载更多入口以访问后续数据
#### Scenario: 按条件筛选账单
- **GIVEN** 用户已打开核销申请弹窗
- **WHEN** 其填写来源、来源单号、核销状态、店铺或起止时间中的任意条件
- **THEN** 前端 MUST 以对应查询参数从第 1 页重新加载候选账单
- **AND** 店铺 MUST 通过远程搜索选择
#### Scenario: 翻页保持已选
- **GIVEN** 用户已在当前页勾选账单并填写核销金额
- **WHEN** 其翻页后返回或直接提交
- **THEN** 已勾选账单与核销金额 MUST 保持不变
- **AND** 核销合计 MUST 包含所有页已选账单
### Requirement: 代办原因按所选账单责任员工判定
核销申请的 `acting_reason` MUST 仅在「当前登录账号为超级管理员(`user_type``1`)且存在非本人负责的所选账单」时展示并必填。责任员工 MUST 取自账单 `debtor_snapshot.account_id`,缺失时回退 `debtor_account_id`。当所选账单全部归属于当前登录账号时,前端 MUST NOT 展示且 MUST NOT 提交 `acting_reason`;当尚未选择任何账单或无法取得责任员工信息时,超级管理员 MUST 视为代办并要求填写。
#### Scenario: 超管为他人代办需填原因
- **GIVEN** 当前登录账号为超级管理员
- **WHEN** 其选择责任员工 `account_id` 不等于当前账号 `id` 的账单
- **THEN** 代办原因字段 MUST 展示且必填
- **AND** 未填写即提交 MUST 被阻止
#### Scenario: 超管本人办理无需原因
- **GIVEN** 当前登录账号为超级管理员且所选账单全部由其本人负责
- **WHEN** 其提交核销申请
- **THEN** 代办原因字段 MUST NOT 展示
- **AND** 提交载荷 MUST NOT 包含 `acting_reason`
#### Scenario: 非超管不判定代办
- **GIVEN** 当前登录账号不是超级管理员
- **WHEN** 其创建或重新提交核销申请
- **THEN** 代办原因字段 MUST NOT 展示