From 8a028d9896f22a38611d877efa497c06d894fe41 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=8E=8B=E6=96=87=E6=98=8A?=
<15984991+wwh2328692301@user.noreply.gitee.com>
Date: Thu, 9 Jul 2026 14:16:18 +0800
Subject: [PATCH] =?UTF-8?q?feat(wms/flow):=20=E6=96=B0=E5=A2=9E=E5=A4=9A?=
=?UTF-8?q?=E4=B8=AA=E4=B8=9A=E5=8A=A1=E6=B5=81=E7=A8=8B=E5=B9=B6=E4=BC=98?=
=?UTF-8?q?=E5=8C=96=E6=8E=92=E4=BA=A7=E6=B5=81=E7=A8=8B=E9=85=8D=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
1. 新增批量调拨、发货、检验、质量评审、收货5个业务流程的菜单与流程图配置
2. 优化排产流程的节点名称和逻辑描述,调整节点ID与对应页面路径
3. 移除冗余的样式定义,统一流程图的样式规范
---
klp-ui/src/views/wms/post/flow.vue | 243 +++++++++++++++++++++++++----
1 file changed, 216 insertions(+), 27 deletions(-)
diff --git a/klp-ui/src/views/wms/post/flow.vue b/klp-ui/src/views/wms/post/flow.vue
index f9d587e8b..5bcb72160 100644
--- a/klp-ui/src/views/wms/post/flow.vue
+++ b/klp-ui/src/views/wms/post/flow.vue
@@ -67,6 +67,11 @@ const TAB_LIST = [
{ key: 'inventoryCheck', label: '盘库流程', icon: 'el-icon-s-check' },
{ key: 'productionSchedule', label: '排产流程', icon: 'el-icon-s-order' },
{ key: 'equipmentRepair', label: '设备维修流程', icon: 'el-icon-s-tools' },
+ { key: 'batchTransfer', label: '批量调拨流程', icon: 'el-icon-sort' },
+ { key: 'delivery', label: '发货流程', icon: 'el-icon-s-promotion' },
+ { key: 'inspection', label: '检验流程', icon: 'el-icon-document-checked' },
+ { key: 'qualityReview', label: '质量评审流程', icon: 'el-icon-s-check' },
+ { key: 'receiving', label: '收货流程', icon: 'el-icon-download' },
]
const NODE_EVENT_CONFIG = {
@@ -116,17 +121,16 @@ const NODE_EVENT_CONFIG = {
{ id: 'N', label: '执行处理差异', handler: 'handleOpen', params: { componentPath: 'wms/post/InvCount/execute' } },
],
productionSchedule: [
- { id: 'A', label: '创建需求单', handler: 'handleOpen', params: { componentPath: 'wms/post/aps/requirement' } },
- { id: 'B', label: '选择合同', handler: 'handleOpen', params: { componentPath: 'wms/post/aps/order' } },
+ { id: 'A', label: '创建产需单', handler: 'handleOpen', params: { componentPath: 'wms/post/aps/requirement' } },
+ { id: 'B', label: '绑定销售订单', handler: 'handleOpen', params: { componentPath: 'wms/post/aps/order' } },
{ id: 'C', label: '自动获取需求明细', handler: 'handleOpen', params: { componentPath: 'wms/post/aps/requirement' } },
{ id: 'D', label: '调整需求明细', handler: 'handleOpen', params: { componentPath: 'wms/post/aps/requirement' } },
- { id: 'E', label: '提交审批', handler: 'handleOpen', params: { componentPath: 'wms/post/aps/schedule' } },
- { id: 'H', label: '转化为排产单', handler: 'handleOpen', params: { componentPath: 'wms/post/aps/schedule' } },
- { id: 'I', label: '排产单', handler: 'handleOpen', params: { componentPath: 'wms/post/aps/schedule' } },
- { id: 'J', label: '再次提交审批', handler: 'handleOpen', params: { componentPath: 'wms/post/aps/schedule' } },
- { id: 'M', label: '提交给车间', handler: 'handleOpen', params: { componentPath: 'wms/post/aps/schedule' } },
- { id: 'N', label: '车间绑定钢卷', handler: 'handleOpen', params: { componentPath: 'wms/post/aps/compare' } },
- { id: 'O', label: '执行生产', handler: 'handleOpen', params: { componentPath: 'wms/post/aps/schedule' } },
+ { id: 'E', label: '下发产需单', handler: 'handleOpen', params: { componentPath: 'wms/post/aps/requirement' } },
+ { id: 'H', label: '选择工艺路线', handler: 'handleOpen', params: { componentPath: 'wms/post/aps/schedule' } },
+ { id: 'I', label: '自动生成排产项', handler: 'handleOpen', params: { componentPath: 'wms/post/aps/schedule' } },
+ { id: 'J', label: '已排产明细管理', handler: 'handleOpen', params: { componentPath: 'wms/post/aps/schedule' } },
+ { id: 'K', label: '按工序绑定钢卷', handler: 'handleOpen', params: { componentPath: 'wms/post/aps/compare' } },
+ { id: 'L', label: '执行生产', handler: 'handleOpen', params: { componentPath: 'wms/post/aps/schedule' } },
],
equipmentRepair: [
{ id: 'A', label: '创建维修计划', handler: 'handleOpen', params: { componentPath: 'wms/post/eqp/index' } },
@@ -134,6 +138,56 @@ const NODE_EVENT_CONFIG = {
{ id: 'B', label: '提交审批', handler: 'handleOpen', params: { componentPath: 'wms/post/eqp/approval' } },
{ id: 'E', label: '逐设备维修记录', handler: 'handleOpen', params: { componentPath: 'wms/post/eqp/execute' } },
],
+
+ batchTransfer: [
+ { id: 'A', label: '创建调拨单', handler: 'handleOpen', params: { componentPath: 'wms/move/batch' } },
+ { id: 'B', label: '添加调拨明细', handler: 'handleOpen', params: { componentPath: 'wms/move/batch' } },
+ { id: 'C', label: '提交审批', handler: 'handleOpen', params: { componentPath: 'wms/move/batch' } },
+ { id: 'E', label: '执行调拨', handler: 'handleOpen', params: { componentPath: 'wms/move/record' } },
+ { id: 'G', label: '调拨后处理', handler: 'handleOpen', params: { componentPath: 'wms/move/record' } },
+ ],
+
+ delivery: [
+ { id: 'A', label: '创建发货计划', handler: 'handleOpen', params: { componentPath: 'wms/delivery/plan/index' } },
+ { id: 'A2', label: '编排订单明细', handler: 'handleOpen', params: { componentPath: 'wms/delivery/plan/index' } },
+ { id: 'B', label: '查看可用库存', handler: 'handleOpen', params: { componentPath: 'wms/delivery/canuse/index' } },
+ { id: 'D', label: '配卷/发货绑定', handler: 'handleOpen', params: { componentPath: 'wms/delivery/plan/index' } },
+ { id: 'F', label: '分级调整', handler: 'handleOpen', params: { componentPath: 'wms/delivery/grading/index' } },
+ { id: 'G', label: '创建发货单/运单', handler: 'handleOpen', params: { componentPath: 'wms/delivery/waybill/index' } },
+ { id: 'H', label: '打印发货单', handler: 'handleOpen', params: { componentPath: 'wms/delivery/bills/index' } },
+ { id: 'J', label: '批量发货', handler: 'handleOpen', params: { componentPath: 'wms/delivery/bills/index' } },
+ { id: 'K', label: '单卷发货', handler: 'handleOpen', params: { componentPath: 'wms/coil/do/ship' } },
+ { id: 'L', label: '发货记录', handler: 'handleOpen', params: { componentPath: 'wms/delivery/record/index' } },
+ { id: 'M', label: '生产发货看板', handler: 'handleOpen', params: { componentPath: 'micro/pages/zinc/components/Shipping' } },
+ { id: 'N', label: '发货报表统计', handler: 'handleOpen', params: { componentPath: 'wms/delivery/report/index' } },
+ ],
+
+ inspection: [
+ { id: 'A', label: '维护检验方案模板', handler: 'handleOpen', params: { componentPath: 'mes/qc/template/index' } },
+ { id: 'B', label: '取样/检验数据录入', handler: 'handleOpen', params: { componentPath: 'mes/qc/inspectionSample/index' } },
+ { id: 'D', label: '常规检验录入', handler: 'handleOpen', params: { componentPath: 'mes/qc/inspectionSample/index' } },
+ { id: 'E', label: '拉伸检验(专项)', handler: 'handleOpen', params: { componentPath: 'mes/qc/inspectionTensile/index' } },
+ { id: 'H', label: '生成质量证明书', handler: 'handleOpen', params: { componentPath: 'mes/qc/certificate/book' } },
+ { id: 'I', label: '触发质量评审', handler: 'handleOpen', params: { componentPath: 'mes/qc/qualityReview/index' } },
+ ],
+
+ qualityReview: [
+ { id: 'A', label: '创建质量评审单', handler: 'handleOpen', params: { componentPath: 'mes/qc/qualityReview/index' } },
+ { id: 'B', label: '选择问题钢卷', handler: 'handleOpen', params: { componentPath: 'mes/qc/qualityReview/index' } },
+ { id: 'C', label: '填写缺陷及改判信息', handler: 'handleOpen', params: { componentPath: 'mes/qc/qualityReview/index' } },
+ { id: 'D', label: '品质部评审意见', handler: 'handleOpen', params: { componentPath: 'mes/qc/qualityReview/index' } },
+ { id: 'E', label: '提交送审', handler: 'handleOpen', params: { componentPath: 'mes/qc/qualityReview/index' } },
+ { id: 'F', label: '领导审批', handler: 'handleOpen', params: { componentPath: 'mes/qc/qualityReview/index' } },
+ { id: 'H', label: '查看驳回原因', handler: 'handleOpen', params: { componentPath: 'mes/qc/qualityReview/index' } },
+ ],
+
+ receiving: [
+ { id: 'A', label: '创建收货计划', handler: 'handleOpen', params: { componentPath: 'wms/receive/plan/index' } },
+ { id: 'B', label: '导入钢卷', handler: 'handleOpen', params: { componentPath: 'wms/receive/plan/index' } },
+ { id: 'C', label: '待收货列表', handler: 'handleOpen', params: { componentPath: 'wms/receive/detail/index' } },
+ { id: 'E', label: '确认收货', handler: 'handleOpen', params: { componentPath: 'wms/receive/detail/index' } },
+ { id: 'I', label: '收货报表统计', handler: 'handleOpen', params: { componentPath: 'wms/receive/report/index' } },
+ ],
}
const DIAGRAMS = {
@@ -253,28 +307,22 @@ graph TD
productionSchedule: `
graph TD
- A["创建需求单
填写基本信息"]:::p1
-
- A --> B["选择合同
可选一个或多个合同"]:::p2
+ A["创建产需单
填写基本信息
产需单号/生产日期/订货单位"]:::p1
+ A --> B["绑定销售订单
选择关联合同订单"]:::p2
B --> C["自动获取需求明细
从所选合同提取"]:::p3
C --> D["调整需求明细
可编辑/修改/补充"]:::p4
- D --> E["提交审批"]:::p5
- E --> F{"审批"}:::dec
- F -->|不通过| G["退回修改"]:::p4
+ D --> E["下发产需单
提交到车间待审核"]:::p5
+ E --> F{"车间审核"}:::dec
+ F -->|驳回| G["退回修改"]:::p4
G --> D
- F -->|通过| H["转化为排产单"]:::p6
+ F -->|接收| H["选择工艺路线
为每条明细配置
工艺+工序步骤"]:::p6
- H --> I["排产单
可再次编辑"]:::p7
- I --> J["再次提交审批"]:::p5
- J --> K{"审批"}:::dec
- K -->|不通过| L["退回修改"]:::p7
- L --> I
- K -->|通过| M["提交给车间"]:::p8
-
- M --> N["车间绑定钢卷
每个排产计划
绑定一个或多个钢卷"]:::p9
- N --> O["执行生产"]:::p10
- O --> P(["排产完结"]):::pend
+ H --> I["自动生成排产项
按工序步骤分组"]:::p7
+ I --> J["已排产明细管理
按步骤查看/编辑
内联修改排产状态"]:::p7
+ J --> K["按工序绑定钢卷
将现存钢卷绑定到
对应的排产明细"]:::p8
+ K --> L["执行生产"]:::p9
+ L --> M(["排产完结"]):::pend
classDef p1 fill:#409eff,stroke:#337ecc,color:#fff,stroke-width:2px
classDef p2 fill:#e6fffa,stroke:#13c2c2,color:#303133,stroke-width:2px
@@ -285,7 +333,6 @@ graph TD
classDef p7 fill:#fff0f6,stroke:#eb2f96,color:#303133,stroke-width:2px
classDef p8 fill:#f6ffed,stroke:#52c41a,color:#303133,stroke-width:2px
classDef p9 fill:#f0f5ff,stroke:#597ef7,color:#303133,stroke-width:2px
- classDef p10 fill:#fffbe6,stroke:#fadb14,color:#303133,stroke-width:2px
classDef dec fill:#f9f0ff,stroke:#722ed1,color:#303133,stroke-width:2px
classDef pend fill:#dcf7e8,stroke:#52c41a,color:#303133,stroke-width:2px,rx:10,ry:10
linkStyle default stroke:#bfbfbf,stroke-width:2px
@@ -315,6 +362,148 @@ graph TD
classDef eend fill:#dcf7e8,stroke:#52c41a,color:#303133,stroke-width:2px,rx:10,ry:10
linkStyle default stroke:#bfbfbf,stroke-width:2px
`,
+
+ batchTransfer: `
+graph TD
+ A["创建调拨单
填写调拨单号/名称
选择调拨类型/时间"]:::m1
+ A --> B["添加调拨明细
选择钢卷或批量导入
填写调拨前后属性"]:::m2
+ B --> C["提交审批"]:::m3
+ C --> D{"审批"}:::dec
+ D -->|通过| E["执行调拨
批量/单条执行
实际移动钢卷库区"]:::m4
+ D -->|驳回| F["退回修改"]:::m5
+ F --> B
+ E --> G["调拨后处理
可重贴标签
记录调拨备注"]:::m6
+ G --> H(["调拨归档
库存已更新"]):::mend
+
+ classDef m1 fill:#409eff,stroke:#337ecc,color:#fff,stroke-width:2px
+ classDef m2 fill:#e6fffa,stroke:#13c2c2,color:#303133,stroke-width:2px
+ classDef m3 fill:#f0f5ff,stroke:#597ef7,color:#303133,stroke-width:2px
+ classDef m4 fill:#fff7e6,stroke:#fa8c16,color:#303133,stroke-width:2px
+ classDef m5 fill:#fff1f0,stroke:#f5222d,color:#303133,stroke-width:2px
+ classDef m6 fill:#e6f7ff,stroke:#1890ff,color:#303133,stroke-width:2px
+ classDef dec fill:#f9f0ff,stroke:#722ed1,color:#303133,stroke-width:2px
+ classDef mend fill:#dcf7e8,stroke:#52c41a,color:#303133,stroke-width:2px,rx:10,ry:10
+ linkStyle default stroke:#bfbfbf,stroke-width:2px
+`,
+
+ delivery: `
+graph TD
+ A["创建发货计划
填写计划名称/日期"]:::d1
+ A --> A2["编排订单明细
添加关联合同订单"]:::d2
+ A2 --> B["查看可用库存
可配钢卷
仅显示合格品"]:::d3
+ B --> C{"质量校验
系统自动过滤"}:::dec
+ C -->|合格| D["配卷/发货绑定
选择钢卷绑定到计划"]:::d4
+ C -->|不合格| E["锁定不可发货
可分级调整或处理缺陷"]:::d5
+ E --> F["分级调整
手动调整等级(后备)"]:::d6
+ F --> B
+ D --> G["创建发货单/运单
填写车牌/收货单位/负责人"]:::d7
+ G --> H["打印发货单
选择打印模板"]:::d8
+ H --> I{"出库方式"}:::dec
+ I -->|批量出库| J["批量发货
整单确认出库"]:::d9
+ I -->|单卷出库| K["单卷发货
逐卷扫码出库"]:::d10
+ J --> L["发货记录
操作日志可追溯"]:::d11
+ K --> L
+ L --> M["生产发货看板
配卷情况/发货记录"]:::d12
+ M --> N["发货报表统计"]:::d13
+ N --> O(["发货完结"]):::dend
+
+ classDef d1 fill:#409eff,stroke:#337ecc,color:#fff,stroke-width:2px
+ classDef d2 fill:#e6fffa,stroke:#13c2c2,color:#303133,stroke-width:2px
+ classDef d3 fill:#fff7e6,stroke:#fa8c16,color:#303133,stroke-width:2px
+ classDef d4 fill:#f6ffed,stroke:#52c41a,color:#303133,stroke-width:2px
+ classDef d5 fill:#fff1f0,stroke:#f5222d,color:#303133,stroke-width:2px
+ classDef d6 fill:#fffbe6,stroke:#fadb14,color:#303133,stroke-width:2px
+ classDef d7 fill:#e6f7ff,stroke:#1890ff,color:#303133,stroke-width:2px
+ classDef d8 fill:#f0f5ff,stroke:#597ef7,color:#303133,stroke-width:2px
+ classDef d9 fill:#f6ffed,stroke:#52c41a,color:#303133,stroke-width:2px
+ classDef d10 fill:#fff0f6,stroke:#eb2f96,color:#303133,stroke-width:2px
+ classDef d11 fill:#e6f7ff,stroke:#1890ff,color:#303133,stroke-width:2px
+ classDef d12 fill:#fffbe6,stroke:#fadb14,color:#303133,stroke-width:2px
+ classDef d13 fill:#f0f5ff,stroke:#597ef7,color:#303133,stroke-width:2px
+ classDef dec fill:#f9f0ff,stroke:#722ed1,color:#303133,stroke-width:2px
+ classDef dend fill:#dcf7e8,stroke:#52c41a,color:#303133,stroke-width:2px,rx:10,ry:10
+ linkStyle default stroke:#bfbfbf,stroke-width:2px
+`,
+
+ inspection: `
+graph TD
+ A["维护检验方案模板
定义检验项/单位/标准"]:::i1
+ A --> B["取样/检验数据录入
选择方案模板
动态生成检验项表格"]:::i2
+ B --> C{"检验项类型"}:::dec
+ C -->|常规项| D["常规检验录入
直接在模板表格
填写检测数据"]:::i3
+ C -->|拉伸试验| E["拉伸检验(专项)
独立试验记录
管理明细数据"]:::i4
+ D --> F["汇总检验结果"]:::i5
+ E --> F
+ F --> G{"判定"}:::dec
+ G -->|合格| H["生成质量证明书
汇总全部检验数据"]:::i6
+ G -->|不合格| I["触发质量评审
进入评审流程"]:::i7
+ H --> J(["检验归档"]):::iend
+
+ classDef i1 fill:#409eff,stroke:#337ecc,color:#fff,stroke-width:2px
+ classDef i2 fill:#e6fffa,stroke:#13c2c2,color:#303133,stroke-width:2px
+ classDef i3 fill:#fff7e6,stroke:#fa8c16,color:#303133,stroke-width:2px
+ classDef i4 fill:#f0f5ff,stroke:#597ef7,color:#303133,stroke-width:2px
+ classDef i5 fill:#fffbe6,stroke:#fadb14,color:#303133,stroke-width:2px
+ classDef i6 fill:#f6ffed,stroke:#52c41a,color:#303133,stroke-width:2px
+ classDef i7 fill:#fff1f0,stroke:#f5222d,color:#303133,stroke-width:2px
+ classDef dec fill:#f9f0ff,stroke:#722ed1,color:#303133,stroke-width:2px
+ classDef iend fill:#dcf7e8,stroke:#52c41a,color:#303133,stroke-width:2px,rx:10,ry:10
+ linkStyle default stroke:#bfbfbf,stroke-width:2px
+`,
+
+ qualityReview: `
+graph TD
+ A["创建质量评审单
填写产品名称/传递部门
选择日期"]:::q1
+ A --> B["选择问题钢卷
仅O级钢卷可被选中
可多选"]:::q2
+ B --> C["填写缺陷及改判信息
缺陷描述/改判后等级
改判后目标库区"]:::q3
+ C --> D["品质部评审意见
填写评审意见/签字"]:::q4
+ D --> E["提交送审"]:::q5
+ E --> F{"领导审批"}:::dec
+ F -->|通过| G["执行改判
自动更新钢卷质量状态
移动钢卷到目标库区"]:::q6
+ F -->|驳回| H["查看驳回原因
修改后重新提交"]:::q7
+ H --> C
+ G --> I["生成审批记录
流程归档"]:::q8
+ I --> J(["评审完结"]):::qend
+
+ classDef q1 fill:#409eff,stroke:#337ecc,color:#fff,stroke-width:2px
+ classDef q2 fill:#e6fffa,stroke:#13c2c2,color:#303133,stroke-width:2px
+ classDef q3 fill:#fff7e6,stroke:#fa8c16,color:#303133,stroke-width:2px
+ classDef q4 fill:#f0f5ff,stroke:#597ef7,color:#303133,stroke-width:2px
+ classDef q5 fill:#e6f7ff,stroke:#1890ff,color:#303133,stroke-width:2px
+ classDef q6 fill:#f6ffed,stroke:#52c41a,color:#303133,stroke-width:2px
+ classDef q7 fill:#fff1f0,stroke:#f5222d,color:#303133,stroke-width:2px
+ classDef q8 fill:#fffbe6,stroke:#fadb14,color:#303133,stroke-width:2px
+ classDef dec fill:#f9f0ff,stroke:#722ed1,color:#303133,stroke-width:2px
+ classDef qend fill:#dcf7e8,stroke:#52c41a,color:#303133,stroke-width:2px,rx:10,ry:10
+ linkStyle default stroke:#bfbfbf,stroke-width:2px
+`,
+
+ receiving: `
+graph TD
+ A["创建收货计划
填写计划名称/日期"]:::r1
+ A --> B["导入钢卷
批量导入原料钢卷
记录卷号/规格/重量"]:::r2
+ B --> C["待收货列表
查看待收货钢卷"]:::r3
+ C --> D{"验收决定"}:::dec
+ D -->|签收| E["确认收货
选择实际库区
钢卷入库/库存更新"]:::r4
+ D -->|拒签| F["拒签处理
钢卷不入库
标记为已取消"]:::r5
+ E --> G["已入库完成"]:::r6
+ F --> H["已拒签/取消"]:::r7
+ G --> I["收货报表统计"]:::r8
+ H --> I
+ I --> J(["收货完结"]):::rend
+
+ classDef r1 fill:#409eff,stroke:#337ecc,color:#fff,stroke-width:2px
+ classDef r2 fill:#e6fffa,stroke:#13c2c2,color:#303133,stroke-width:2px
+ classDef r3 fill:#fff7e6,stroke:#fa8c16,color:#303133,stroke-width:2px
+ classDef r4 fill:#f6ffed,stroke:#52c41a,color:#303133,stroke-width:2px
+ classDef r5 fill:#fff1f0,stroke:#f5222d,color:#303133,stroke-width:2px
+ classDef r6 fill:#e6f7ff,stroke:#1890ff,color:#303133,stroke-width:2px
+ classDef r7 fill:#fffbe6,stroke:#fadb14,color:#303133,stroke-width:2px
+ classDef r8 fill:#f0f5ff,stroke:#597ef7,color:#303133,stroke-width:2px
+ classDef dec fill:#f9f0ff,stroke:#722ed1,color:#303133,stroke-width:2px
+ classDef rend fill:#dcf7e8,stroke:#52c41a,color:#303133,stroke-width:2px,rx:10,ry:10
+ linkStyle default stroke:#bfbfbf,stroke-width:2px
+`,
}