From 3bd642ad4d805032ae43e1fd23e0c4e6b7dfa9f2 Mon Sep 17 00:00:00 2001
From: zhang_12370 <z2864490065@outlook.com>
Date: 星期六, 12 七月 2025 11:58:41 +0800
Subject: [PATCH] 1、修改采购管理的匹配逻辑 2、修改生产加工新增生产明细的总数居匹配问题 3、修改配煤计算器 4、修改设备管理领用记录的提交问题
---
src/views/production/components/ProductionDetailsTable.vue | 2
src/views/calculator/index.vue | 84 ++++++++++++++++++++++++++++++++++-------
src/views/procureMent/components/ProductionDialog.vue | 6 +-
src/views/equipment/management/mould/equipmentRequisitionDialog.vue | 4 +-
4 files changed, 75 insertions(+), 21 deletions(-)
diff --git a/src/views/calculator/index.vue b/src/views/calculator/index.vue
index af09bb5..c20d714 100644
--- a/src/views/calculator/index.vue
+++ b/src/views/calculator/index.vue
@@ -289,7 +289,11 @@
class="result-table"
style="width: 100%"
>
- <el-table-column prop="name" label="鐓ょ" min-width="80" />
+ <el-table-column prop="name" label="鐓ょ" min-width="80">
+ <template #default="scope">
+ {{ matchCoalName(scope.row.name) }}
+ </template>
+ </el-table-column>
<el-table-column prop="ratio" label="閰嶆瘮" min-width="80">
<template #default="scope"> {{ scope.row.ratio }}% </template>
</el-table-column>
@@ -471,6 +475,7 @@
optimal: null,
alternatives: [],
error: null,
+ createCoal: null,
},
});
const coalInfoList = ref([]);
@@ -489,25 +494,39 @@
ElMessage.error("鑾峰彇鐓ょ淇℃伅澶辫触锛岃绋嶅悗閲嶈瘯");
}
};
-// 鏍规嵁 key 杩斿洖涓枃鍚嶏紝鍚﹀垯鍘熸牱杩斿洖
-const matchCoal = value => {
- if (!value) return "";
- const found = coalInfoList.value.find(c => c.key === value);
- return found ? found.value : value;
+// 琛ㄦ牸灞曠ず鐢細浼樺厛鐢� key 鍖归厤涓枃鍚嶏紝鍐嶇敤 value 鍖归厤锛屾渶鍚庡師鏍疯繑鍥�
+const matchCoalName = (name) => {
+ if (!name || !Array.isArray(coalInfoList.value) || coalInfoList.value.length === 0) return name;
+ // key 鍖归厤
+ const byKey = coalInfoList.value.find(item => String(item.key) === String(name));
+ if (byKey) return byKey.value;
+ // value 鍖归厤
+ const byValue = coalInfoList.value.find(item => item.value === name);
+ if (byValue) return byValue.value;
+ // 鍘熸牱杩斿洖
+ return name;
};
// 鑷姩琛ュ叏鎼滅储
const querySearch = (q, cb) => {
const res = q
- ? coalInfoList.value.filter(c => c.value.includes(q))
+ ? coalInfoList.value.filter((c) => c.value.includes(q))
: coalInfoList.value;
cb(res);
};
// 閫夋嫨/澶辩劍鏃讹紝浼樺厛瀛� key锛屾壘涓嶅埌鍒欏瓨鍘熷��
-const handleSelect = item => {
+const handleSelect = (item) => {
const val = item.value || (item.target && item.target.value) || "";
- const found = coalInfoList.value.find(c => c.value === val || c.key === val);
+ const found = coalInfoList.value.find(
+ (c) => c.value === val || c.key === val
+ );
result.value.optimal.props.createCoal = found ? found.key : val;
- let match = matchCoal(result.value.optimal.props.createCoal);
+ // 鏂板锛氬鏋滃尮閰嶆垚鍔燂紝鐣欎竴涓猧d瀛楁
+ if (found) {
+ result.value.optimal.props.createCoalId = found.key;
+ } else {
+ result.value.optimal.props.createCoalId = null;
+ }
+ let match = matchCoalName(result.value.optimal.props.createCoal);
if (match && match !== result.value.optimal.props.createCoal) {
result.value.optimal.props.createCoal = match;
}
@@ -657,15 +676,50 @@
ElMessage.success("琛ㄥ崟宸查噸缃�");
};
const addWarehoused = () => {
- if(!result.value){
- ElMessage.warning("璇峰厛璁$畻鏈�浼橀厤姣斿悗鍐嶆坊鍔犺嚦寰呭叆搴�");
+ console.log(coalInfoList.value);
+ if (!result.value) {
+ ElMessage.error("璇峰厛璁$畻鏈�浼橀厤姣斿悗鍐嶆坊鍔犺嚦寰呭叆搴�");
return;
}
- if(result.value.optimal.props.createCoal === "") {
- ElMessage.warning("璇峰厛閫夋嫨鐢熸垚鐓ょ");
+ if (result.value.optimal === null) {
+ ElMessage.error("璇峰厛璁$畻鏈�浼橀厤姣�");
return;
}
- console.log(result.value)
+ if (!result.value.optimal.props.createCoal) {
+ ElMessage.error("璇峰厛閫夋嫨鐢熸垚鐓ょ");
+ return;
+ }
+ const coals = result.value.optimal.instructions.map((item) => item.name);
+ let allFound = true;
+ for (const element of coals) {
+ let found = false;
+ for (const item of coalInfoList.value) {
+ if (item.key === element) {
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ allFound = false;
+ break;
+ }
+ }
+ if (!allFound) {
+ ElMessage.error("閰嶆瘮涓寘鍚湭鐭ョ叅绉嶏紝璇峰厛娣诲姞鑷崇叅绉嶅垪琛�");
+ return;
+ }
+ let createCoalFound = false;
+ for (const item of coalInfoList.value) {
+ if (item.key === result.value.optimal.props.createCoalId) {
+ console.log("鐢熸垚鐓ょ宸插瓨鍦�");
+ createCoalFound = true;
+ break;
+ }
+ }
+ if (!createCoalFound) {
+ ElMessage.warning("鐢熸垚鐓ょ鏄湭鐭ョ叅绉嶏紝鏃犳硶娣诲姞鑷冲緟鍏ュ簱");
+ return;
+ }
};
const submitForm = () => {
// 鏁版嵁楠岃瘉
diff --git a/src/views/equipment/management/mould/equipmentRequisitionDialog.vue b/src/views/equipment/management/mould/equipmentRequisitionDialog.vue
index b6382ef..8f58ee2 100644
--- a/src/views/equipment/management/mould/equipmentRequisitionDialog.vue
+++ b/src/views/equipment/management/mould/equipmentRequisitionDialog.vue
@@ -118,9 +118,9 @@
},
});
const maxQuantity = computed(() => {
- if (!props.formData.equipmentId) return 0;
+ if (!form.value.equipmentId) return 0;
const eq = equipmentList.value.find(
- (item) => item.id == props.formData.equipmentId
+ (item) => item.id == form.value.equipmentId
);
// 闃叉涓�0鎴栬礋鏁帮紝鏈�灏忎负1
return eq && eq.quantity > 0 ? eq.quantity : 999;
diff --git a/src/views/procureMent/components/ProductionDialog.vue b/src/views/procureMent/components/ProductionDialog.vue
index 0c720bf..e92ddac 100644
--- a/src/views/procureMent/components/ProductionDialog.vue
+++ b/src/views/procureMent/components/ProductionDialog.vue
@@ -203,7 +203,7 @@
// 1. 鏍规嵁鍚◣鍗曚环鍜岀◣鐜囪绠椾笉鍚◣鍗曚环
// 涓嶅惈绋庡崟浠� = 鍚◣鍗曚环 / (1 + 绋庣巼/100)
const priceExcludingTax = priceIncludingTax && taxRate
- ? toFixed(priceIncludingTax / (1 + taxRate / 100), 2)
+ ? parseFloat((priceIncludingTax / (1 + taxRate / 100)).toFixed(2))
: 0;
// 2. 璁$畻涓嶅惈绋庢�讳环 = 涓嶅惈绋庡崟浠� 脳 鏁伴噺
@@ -216,8 +216,8 @@
? toFixed(priceIncludingTax * quantity, 2)
: 0;
- // 鏇存柊琛ㄥ崟鏁版嵁
- form.value.priceExcludingTax = priceExcludingTax;
+ // 淇濊瘉鏄剧ず涓轰袱浣嶅皬鏁帮紙濡�88.5鏄剧ず涓�88.50锛�
+ form.value.priceExcludingTax = priceExcludingTax.toFixed(2);
form.value.totalPriceExcludingTax = totalPriceExcludingTax;
form.value.totalPriceIncludingTax = totalPriceIncludingTax;
};
diff --git a/src/views/production/components/ProductionDetailsTable.vue b/src/views/production/components/ProductionDetailsTable.vue
index 13cd614..48308f4 100644
--- a/src/views/production/components/ProductionDetailsTable.vue
+++ b/src/views/production/components/ProductionDetailsTable.vue
@@ -229,7 +229,7 @@
// 璁$畻鎬绘垚鏈�
const calculateTotalCost = (row) => {
const laborCost = parseFloat(row.laborCost) || 0;
- const energyCost = parseFloat(row.energyCost) || 0;
+ const energyCost = parseFloat(row.energyConsumptionCost) || 0;
const equipmentDepreciation = parseFloat(row.equipmentDepreciation) || 0;
const purchasePrice = parseFloat(row.purchasePrice) || 0;
--
Gitblit v1.9.3