编辑 | blame | 历史 | 原始文档

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.pushBpmProcessInstanceDetail
  • 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.tsMesWmMiscReceiptStatusEnumMesWmMiscIssueStatusEnum 增加 APPROVING(=2)。

数据库字典(已执行到 mom-xgdl):

  • mes_wm_misc_receipt_statusmes_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.tsMachinery 类型没有 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 流程 keymisc_receipt_approve / misc_issue_approve / return_vendor_approve / item_receipt_approve / stock_taking_result_approve / equipment_receipt_approve
  4. 后端重启:48080 需重启加载新代码后才可端到端冒烟(用户 dev 进程,重启时机由用户决定)。