生产订单与报工模块改造汇总 (Git Commit 文档)
feat(mes-pro): 生产订单及报工模块审批流与批次填报改造
1. 生产订单功能增强 (Work Order)
新增字段支持: 生产订单新增 feedbackApprove (是否报工审批)、processDefinitionKey (审批流程定义) 及 feedbackRole (报工角色) 字段。
表单控件完善: 生产订单新增/编辑表单中,添加了对应的流程模型选择下拉框与多选报工角色下拉组件。
任务分配联动: 生产排产报工页面中,新增生产任务选择报工人列表时,现已支持根据生产订单配置的 feedbackRole 去动态拉取并过滤用户;若未配置则降级使用默认角色。
2. 报工接口参数升级 (Feedback Submission)
参数结构调整: 根据后端 /mes/pro/feedback/submit 接口的最新文档,将原先的 ?id=xxx 传参方式改造为 JSON Body 传参 (MesProFeedbackSubmitReqVO),以支持在无需审批场景下直接提交批次号、生产日期等扩展属性。
3. 报工单提交与批次弹框交互优化 (Feedback Forms)
填报流程解耦: 在 FeedbackTab.vue 和 form.vue 中重构了提交与审批逻辑。点击“提交”或“审批通过”时,系统会先请求 getBatchRequirements 检查是否需要填写批次属性。
按需显示批次弹窗: 若需要填报,弹出 BatchInputDialog 收集信息;完成后再将属性与工单 ID 合并提交至后端。
审批跳过机制 (feedbackApprove): 在表单提交阶段,系统会判断所属生产订单的 feedbackApprove 字段。如果启用了报工审批,则在“提交”阶段跳过批次填报,直接提交单据,将填报动作留给审批环节处理。
时序与状态修复: 修复了此前“保存并提交”时会提前弹出成功提示并重置表单,导致批次弹窗内丢失 feedbackId 的问题。现已引入 pendingSubmitMode 与阻塞式提交回调 (handleBatchConfirm),确保所有异步接口和弹窗流转完毕后再统一展示提示并重置状态。
涉及的主要文件:
src/views/mes/pro/workorder/... (生产订单表单)
src/api/mes/pro/feedback/index.ts (API 定义)
src/views/mes/pro/feedback/modules/form.vue (报工台账表单)
src/views/mes/workbench/components/tabs/FeedbackTab.vue (工作台报工页)
src/views/mes/pro/feedback/modules/batch-input-dialog.vue (批次属性录入)