feat&refactor: 2026-09-22 半成品业务模型重构与功能完善

- 重构半成品流转逻辑:进度权威源改为 workpiece.currentStationNo,新增 completedText 快照字段,废除 doneProcessCodes
- 清理物料品类中半成品类型,存量数据幂等清理,调整物料管理方式文案为批次/序列号
- 新增日排产状态专用更新接口,修复工单工艺校验逻辑
- 新增物料档案代理接口、深路径文件下载接口
- 优化前端界面文案与工位选择逻辑,补充追溯页半成品流转展示
- 调整WMS端物料品类校验与入库接口契约
- 新增/更新数据库表结构与实体类代码
This commit is contained in:
SunYF
2026-09-22 14:42:52 +08:00
parent 09cfc6ca1c
commit d3eda6b588
49 changed files with 1155 additions and 1122 deletions
+23 -2
View File
@@ -82,6 +82,27 @@
<p>批次号{{ (data.associationTrace?.batchItems||[]).join(', ') || '无' }}</p>
<p>电气件SN{{ (data.associationTrace?.serialItems||[]).join(', ') || '无' }}</p>
</el-tab-pane>
<el-tab-pane label="暂存退库/重上线">
<el-alert type="info" :closable="false" style="margin-bottom:10px"
title="半成品流转记录:暂存退库=入 WMS 库、重上线=出库继续执行;「完成至」为流转时的进度快照(最后报工工位)。" />
<el-table :data="data.semiFlows||[]" border size="small">
<el-table-column label="动作" width="110" align="center">
<template #default="{row}">
<el-tag :type="row.action==='INBOUND' ? 'warning' : 'success'">{{ row.action==='INBOUND' ? '暂存退库' : '重上线' }}</el-tag>
</template>
</el-table-column>
<el-table-column prop="completedText" label="完成至工位" min-width="150">
<template #default="{row}">{{ row.completedText || '尚未报工' }}</template>
</el-table-column>
<el-table-column prop="operator" label="操作人" width="110" />
<el-table-column prop="targetDock" label="目标接驳台" width="110">
<template #default="{row}">{{ row.targetDock || '-' }}</template>
</el-table-column>
<el-table-column label="时间" min-width="165">
<template #default="{row}">{{ fmt(row.createdAt) }}</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="装机绑定">
<el-alert :type="data.bindTrace?.complete ? 'success' : 'warning'" :closable="false" style="margin-bottom:10px"
:title="data.bindTrace?.complete ? '装配物料已全部绑齐 ✓' : ('装配物料未绑齐:' + (data.bindTrace?.missing || ''))" show-icon />
@@ -91,7 +112,7 @@
<el-table-column prop="materialName" label="物料名称" min-width="110" />
<el-table-column prop="spec" label="规格" min-width="90" />
<el-table-column prop="bindType" label="类型" width="70">
<template #default="{row}">{{ row.bindType === 'SN' ? '电气件SN' : '批次' }}</template>
<template #default="{row}">{{ row.bindType === 'SN' ? '序列号' : '批次' }}</template>
</el-table-column>
<el-table-column prop="bindValue" label="绑定值(SN/批次)" min-width="140" />
<el-table-column prop="operator" label="绑定人" width="90" />
@@ -109,7 +130,7 @@
<el-table-column prop="spec" label="规格" min-width="90" />
<el-table-column prop="qty" label="单台用量" width="100" />
<el-table-column label="管理方式" width="100">
<template #default="{row}">{{ row.manageMode === '2' ? '电气件SN' : '批次' }}</template>
<template #default="{row}">{{ row.manageMode === '2' ? '序列号' : '批次' }}</template>
</el-table-column>
</el-table>
</el-tab-pane>