# MES 仓储功能 - 前端改造进度记录 > 本文记录"继续修改前后端"批量补码的前端实施进度(2026-09-08),作为跨天交接依据。 > 后端 M1~M5 代码已全部完成并编译通过;BPM 流程与菜单权限已 DB 部署。 > 本文件仅记录**前端(mom-pro2-before)**改动与待办。 ## 已完成(2026-09-08) ### 1. 通用 BPM 流程选择弹窗组件(新建) - `mom-pro2-before/src/views/wls/components/process-select-modal.vue` - 由 mes/pd/project 的 process-select-modal 泛化而来;提交函数通过 `modalApi.getData({ id, processList, submitFn })` 传入,三单据与后续 M1/M5 均可复用。 ### 2. 阶段1 三单据 BPM 提交升级(杂项入库/杂项出库/供应商退货) **API 层(均新增 processInstanceId 字段):** | 文件 | 改动 | |------|------| | `src/api/mes/wm/miscreceipt/index.ts` | `getMiscReceiptApproveProcessList()`、`submitMiscReceiptApproval(id, key)`、接口加 `processInstanceId` | | `src/api/mes/wm/miscissue/index.ts` | `getMiscIssueApproveProcessList()`、`submitMiscIssueApproval(id, key)`、接口加 `processInstanceId` | | `src/api/mes/wm/returnvendor/index.ts` | `getReturnVendorApproveProcessList()`、`submitReturnVendorApproval(id, key)`、接口加 `processInstanceId` | > 旧的无参 `submitMiscReceipt(id)` 等已删除(后端 submit 接口现在要求 `processDefinitionKey` 参数)。 **页面层(三个单据模式一致):** - `index.vue`:新增 `useRouter` + ProcessSelectModal 挂载;行操作增加 - “提交审批”(PREPARE 状态,先查流程列表再弹窗选择) - “查看审批”(APPROVING 状态,`router.push` 到 `BpmProcessInstanceDetail`) - `modules/form.vue`:移除表单内“提交”按钮及 `handleSubmit`(提交改由列表行操作触发,规避二次点提交的旧逻辑) - 权限字符串按 DB 菜单: - 杂项入库用冒号权限 `mes:wm:misc-receipt:submit` / `:query` - 杂项出库、供应商退货用短横线权限,复用 `mes:wm-misc-issue:update` / `mes:wm-return-vendor:update`(无独立 submit 按钮菜单) **枚举补齐:** - `src/packages/constants/src/biz-mes-enum.ts`:`MesWmMiscReceiptStatusEnum`、`MesWmMiscIssueStatusEnum` 增加 `APPROVING`(=2)。 **数据库字典(已执行到 mom-xgdl):** - `mes_wm_misc_receipt_status`、`mes_wm_misc_issue_status` 补 value=2 “审批中”(`system_dict_data` id 1065512 / 1065513),原值为 3/4/5 的排序自动顺延。 ## 明日待办(未开始) | # | 任务 | 主要内容 | |---|------|----------| | M1 | 盘点任务页 BPM 升级(结果审批) | 移除“执行盘点(finish)”按钮与 execute 表单类型;`提交`按钮文案改“开始盘点”;新增“提交结果审批”(submit-approval) + “查看审批”;API 加 `submitStockTakingApproval`/`getStockTakingApproveProcessList`/`processInstanceId` | | M2 | 盘点方案调度字段 | 表单加 `autoGenerate` Switch + `generateCron` Input(依赖 autoGenerate,helpMessage 提示走 infra 定时任务);API 加三个字段 | | M3 | 条码扫码解析 + 成图预览 | barcode 页工具栏加“扫码解析”;API 加 `renderBarcodeImage`(POST) / `parseBarcodeContent`(POST);新建 scan-modal | | M4 | SN 在库单件/出入库/详情 | index.vue 加 Tabs(分组/在库单件);新增 in-stock / out-stock / sn-detail 弹窗;API 加 `registerSnInStock`/`outboundSn`/`getSnDetail`/`getSnInStockPage`;加 `MesWmSnStatusEnum` | | M5 | 设备入库单页面(新页面) | 新建 `wls/equipmentreceipt/index.vue` + data.ts + modules/{form,line-list,line-form}.vue;API 层新建 equipmentreceipt/index.ts + line.ts;加 `MesWmEquipmentReceiptStatusEnum` + `MesAutoCodeRuleCode.WM_EQUIPMENT_RECEIPT_CODE`;行用 DvMachinerySelect,finish 固定设备仓三元组 | | 收尾 | typecheck / build | `pnpm typecheck` 修复类型错误;必要时 `pnpm build` | ## 明日开始前需知 1. **M5 前置缺口**:`src/api/mes/dv/machinery/index.ts` 的 `Machinery` 类型没有 `itemId` 字段(后端 RespVO 已有),M5 行表单依赖 DvMachinerySelect 的 change 事件携带 itemId 自动带入——需先给前端类型补 `itemId?: number`。 2. **权限格式**:equipment-receipt 菜单用冒号权限 `mes:wm:equipment-receipt:query/create/update/delete/submit/finish/cancel`;M1 stock-taking-task 的 submit-approval/cancel 复用 `mes:wm-stock-taking-task:update`;M3 barcode 复用 `mes:wm-barcode:query`。 3. **已部署 BPM 流程 key**:`misc_receipt_approve` / `misc_issue_approve` / `return_vendor_approve` / `item_receipt_approve` / `stock_taking_result_approve` / `equipment_receipt_approve`。 4. **后端重启**:48080 需重启加载新代码后才可端到端冒烟(用户 dev 进程,重启时机由用户决定)。