4.0 KiB
4.0 KiB
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 展示