企业内部员工需要通过后台完成费用报销的填报与审核。原流程在「已提交单据如何修改」上不够清晰,容易出现审核中直接改单与作废后再建单混用的情况。
本模块主要能力包括:报销单列表与筛选、草稿编辑与提交、审核中/完成/驳回/作废等状态管理,以及「已提交且尚未完成审核时,撤回到草稿后再修改提交」。
新建/编辑草稿 → 提交进入审核 → 需要改内容时先撤回草稿 → 修改后再次提交;已完成或已作废单据按规则禁止随意改动,保证流程边界清楚。
前端 React + TypeScript,后端 Java / Spring Boot,按现有工程分层实现接口、页面与状态校验,并完成联调。
我负责该模块相关前后端改动:补齐撤回草稿能力、统一「先撤回再编辑」的改单路径、在接口与页面对非法状态操作做拦截,避免审核中与草稿两条改单路径并存。
难点主要是状态边界要前后端一致,以及撤回时需同步处理好关联审核数据,避免单据状态与审批记录对不上。处理方式是明确状态含义、接口侧按状态拦截,并把「打断审核」和「改单内容」拆成撤回与草稿编辑两步。