feat: 完成多模块迭代更新

- 新增过程巡检按步骤上报、数量不符上报、工位退料功能
- 增加工单工程编号三级归属字段
- 新增物料安全库存与缺货预警
- 新增附件管理、退库单管理模块
- 优化生产看板展示逻辑与前端页面文案
- 清理冗余的工艺路线相关代码与备份文件
This commit is contained in:
SunYF
2026-09-15 16:37:39 +08:00
parent 951f3dfecd
commit 4a5e2d7bac
494 changed files with 24702 additions and 139223 deletions
+27 -14
View File
@@ -9,7 +9,7 @@ import { helpLedger } from '../help'
const orderNo = ref('')
const materialCode = ref('')
const materialName = ref('')
const status = ref('')
const stateFilter = ref('')
const loading = ref(false)
const queried = ref(false)
const rows = ref([])
@@ -28,7 +28,7 @@ async function load() {
orderNo: orderNo.value.trim() || undefined,
materialCode: materialCode.value.trim() || undefined,
materialName: materialName.value.trim() || undefined,
status: status.value || undefined,
state: stateFilter.value || undefined,
page: page.current,
pageSize: page.size
}
@@ -48,12 +48,18 @@ function search() {
onMounted(load)
// 展示状态由「已出库 vs 需求总量」实时派生,不再直接展示表内"进行中":
// 领料完结(缺口=0) / 部分领料(有出库、缺口>0) / 待领料(未出过库)
// 备料四态(服务端派生,客户诉求 L242-258):齐套 / 预警 / 未齐套 / 未到货
function stateTagType(s) {
switch (s) {
case '齐套': return 'success'
case '预警': return 'danger'
case '未齐套': return 'warning'
case '未到货': return 'info'
default: return 'info'
}
}
function statusView(row) {
if (row.status === '领料完结') return { text: '领料完结', type: 'success' }
if ((row.outQty || 0) > 0) return { text: '部分领料', type: 'primary' }
return { text: '待领料', type: 'info' }
return row.state || '未齐套'
}
</script>
@@ -73,11 +79,12 @@ function statusView(row) {
<el-input v-model="materialName" placeholder="物料名称(可空)" clearable
style="width:160px" @keyup.enter="search" />
</el-form-item>
<el-form-item label="状态">
<el-select v-model="status" placeholder="全部" clearable style="width:130px" @change="search">
<el-option label="待领料" value="待领料" />
<el-option label="部分领料" value="部分领料" />
<el-option label="领料完结" value="领料完结" />
<el-form-item label="备料状态">
<el-select v-model="stateFilter" placeholder="全部" clearable style="width:130px" @change="search">
<el-option label="齐套" value="齐套" />
<el-option label="预警" value="预警" />
<el-option label="未齐套" value="未齐套" />
<el-option label="未到货" value="未到货" />
</el-select>
</el-form-item>
<el-form-item>
@@ -98,13 +105,19 @@ function statusView(row) {
<template #default="{ row }">{{ row.materialName || '-' }}</template>
</el-table-column>
<el-table-column prop="totalQty" label="需求总量" width="100" align="center" />
<el-table-column prop="availableQty" label="可用库存" width="100" align="center">
<template #default="{ row }">{{ row.availableQty ?? 0 }}</template>
</el-table-column>
<el-table-column prop="outQty" label="已出库" width="90" align="center" />
<el-table-column label="缺口" width="90" align="center">
<template #default="{ row }">{{ gapOf(row) }}</template>
</el-table-column>
<el-table-column label="状态" width="110" align="center">
<el-table-column label="目标工位" width="100" align="center">
<template #default="{ row }">{{ row.targetStation || '-' }}</template>
</el-table-column>
<el-table-column label="备料状态" width="110" align="center">
<template #default="{ row }">
<el-tag :type="statusView(row).type" size="small">{{ statusView(row).text }}</el-tag>
<el-tag :type="stateTagType(statusView(row))" size="small">{{ statusView(row) }}</el-tag>
</template>
</el-table-column>
<el-table-column prop="remark" label="备注" min-width="140">