feat(mes): 显示在制品跟踪报告中的剩余数量

- 启用并显示“剩余数”表格列
- 规范化数据结构,补充子节点的剩余数与完成率- 增加对计划数和已完成数的兼容字段支持
- 实现剩余数和完成率的自动计算逻辑
-优化数据处理流程以提高准确性
-修复可能因数据结构不一致导致的问题
master
zangch@mesnac.com 2 months ago
parent 7ee8b7dd58
commit 2b2b093b6a

@ -195,7 +195,7 @@
<el-table-column label="物料名称" prop="materialName" min-width="160" show-overflow-tooltip />
<el-table-column label="计划数" prop="planAmount" width="100" />
<el-table-column label="已完数" prop="completeAmount" width="100" />
<!-- <el-table-column label="剩余数" prop="remainingAmount" width="100" /> -->
<el-table-column label="剩余数" prop="remainingAmount" width="100" />
<el-table-column label="完成率" width="160">
<template #default="pScope">
<div style="display:flex;align-items:center;justify-content:flex-start;">
@ -564,7 +564,21 @@ async function onProcessRowExpand(row: any, expanded: boolean) {
try {
const res: any = await processPlanList(query);
const data = (res?.data || res?.rows || res) || [];
processPlansCache.value[key] = data;
//
const normalized = (Array.isArray(data) ? data : []).map((it: any) => {
const plan = Number(it?.planAmount ?? it?.planQty ?? it?.planCount ?? 0) || 0;
const completed = Number(it?.completeAmount ?? it?.completedQty ?? it?.completeQty ?? it?.completedCount ?? 0) || 0;
const remaining = Math.max(plan - completed, 0);
const rate = plan > 0 ? Number(((completed * 100.0) / plan).toFixed(2)) : 0;
return {
...it,
planAmount: plan,
completeAmount: completed,
remainingAmount: remaining,
processProgress: rate
};
});
processPlansCache.value[key] = normalized;
} catch (e) {
processPlansCache.value[key] = [];
} finally {

Loading…
Cancel
Save