From 0ad2c4106d6f570e0ca63c8fe5093e6f97492534 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期六, 11 十月 2025 17:44:10 +0800
Subject: [PATCH] yys 1.修改销售出库-煤种选中问题 2.采购管理增加车牌字段
---
src/views/production/components/ProductionDialog.vue | 113 +++++++++++++++++++++++++++++++++++---------------------
1 files changed, 71 insertions(+), 42 deletions(-)
diff --git a/src/views/production/components/ProductionDialog.vue b/src/views/production/components/ProductionDialog.vue
index 8c16696..4a21fa4 100644
--- a/src/views/production/components/ProductionDialog.vue
+++ b/src/views/production/components/ProductionDialog.vue
@@ -1,12 +1,12 @@
<template>
<el-dialog
v-model="dialogVisible"
- :title="dialogType === 'add' ? '鏂板鐢熶骇鍔犲伐' : '缂栬緫鐢熶骇鍔犲伐'"
+ :title="dialogType === 'add' ? '鏂板鐢熶骇鍔犲伐' : dialogType === 'viewRow' ? '鏌ョ湅鐢熶骇鍔犲伐' : '缂栬緫鐢熶骇鍔犲伐'"
width="1200px"
:close-on-click-modal="false"
@close="handleClose"
>
- <el-row :gutter="10" style="margin-bottom: 10px">
+ <el-row :gutter="10" style="margin-bottom: 10px" v-if="dialogType !== 'viewRow'">
<el-col :span="3">
<el-button type="primary" @click="handlData"
>
@@ -40,20 +40,21 @@
</el-row>
<ETableModify
:columns="columns"
- :showOperations="false"
+ :showOperations="dialogType !== 'viewRow'"
height="200"
@cell-edit="handleCellEdit"
:tableData="tableData"
:showOverflowTooltip="false"
@row-click="handleRowClick"
- :editableColumns="['usedQuantity']"
+ :editableColumns="dialogType === 'viewRow' ? [] : ['usedQuantity']"
+ :editableCells="dialogType !== 'viewRow'"
@delete="handleRemoveItem"
/>
<div class="empty-table">
<h1>鐢熶骇鏄庣粏</h1>
<el-row :gutter="10">
<el-col :span="2">
- <el-button type="primary" @click="addNewRow">
+ <el-button type="primary" @click="addNewRow" v-if="dialogType !== 'viewRow'">
<el-icon>
<Plus/>
</el-icon>
@@ -72,10 +73,11 @@
<ProductionDetailsTable
v-model="detailsTableData"
:border="false"
- :show-operations="true"
+ :show-operations="dialogType !== 'viewRow'"
:auto-calculate="true"
@input-change="handleDetailsChange"
@delete-row="handleDeleteRow"
+ :dialogType="dialogType"
/>
</div>
@@ -83,14 +85,17 @@
<div class="dialog-footer">
<el-button
@click="handleClose"
- v-if="dialogType === 'add' || dialogType === 'edit'"
- >鍙� 娑�
+ >{{ dialogType === 'viewRow' ? '鍏� 闂�' : '鍙� 娑�' }}
</el-button
>
<!-- <el-button @click="handleReset" v-if="dialogType === 'edit'"
>閲� 缃�</el-button
> -->
- <el-button type="primary" :loading="loading" @click="handleSubmit"
+ <el-button
+ v-if="dialogType !== 'viewRow'"
+ type="primary"
+ :loading="loading"
+ @click="handleSubmit"
>纭� 瀹�
</el-button
>
@@ -160,6 +165,7 @@
getCoalInfoList,
deleteProductionInventory,
} from "@/api/production/index.js";
+import { getSupplyList } from "@/api/procureMent/index.js"
import {validateFormData, validateNumber, deepClone, createDefaultProductionRow} from "@/utils/production";
import {useCoalData} from "./useCoalData";
import useUserStore from "@/store/modules/user";
@@ -194,10 +200,10 @@
const currentRow = ref(null);
const copyForm = ref(null);
const coalList = ref([])
-const supplierList = ref({});
+const supplierList = ref([]);
// 琛ㄦ牸鍒楅厤缃�
const columns = [
- {prop: "coalId", label: "鐓ょ", minwidth: 60,slot:false,
+ {prop: "coalId", label: "鐓ょ", minwidth: 60,
formatter: (row) => {
return coalList.value.find(coal => coal.id === row.coalId)?.coal || "--";
}
@@ -213,15 +219,8 @@
];
const formalDatabaseColumns = ref([
- {prop: "supplierName", label: "渚涘簲鍟嗗悕绉�", minwidth: 150
- // ,formatter: (row) => {
- // console.log(row);
- // return supplierList.value[row.supplierId] || "--";
- // }
- },
{prop: "coalId", label: "鐓ょ", minwidth: 60,
formatter: (row) => {
- // return coalList.value[row.coalId].coal || "--";
return coalList.value.find(coal => coal.id === row.coalId)?.coal || "--";
}
},
@@ -243,28 +242,51 @@
currentRow.value = row;
};
+// 鑾峰彇鍩虹鏁版嵁锛堢叅绉嶅拰渚涘簲鍟嗭級
+const loadBasicData = async () => {
+ try {
+ const [coalResponse, supplierResponse] = await Promise.all([
+ getCoalInfoList(),
+ getSupplyList()
+ ]);
+
+ coalList.value = coalResponse.data || [];
+ supplierList.value = supplierResponse.data || [];
+ } catch (error) {
+ ElMessage.error("鑾峰彇鍩虹鏁版嵁澶辫触");
+ }
+};
+
// 鑾峰彇閰嶇疆鏁版嵁
const handlData = async () => {
innerVisible.value = true;
- let getSupplier = await getOfficialAll();
- let getCoalName = await getCoalInfoList();
- coalList.value = getCoalName.data || [];
- supplierList.value = getSupplier.data || [];
- if (getSupplier.code === 200) {
- formalDatabaseData.value = getSupplier.data;
- const existingOfficialIds = tableData.value
- .map((item) => item.officialId)
- .filter((id) => id);
- selectedIds.value = existingOfficialIds;
- debugIdMatching();
- nextTick(() => {
- setTimeout(() => {
- if (etableRef.value && existingOfficialIds.length > 0) {
- etableRef.value.setDefaultSelection();
- }
- }, 100);
- });
- } else {
+
+ // 纭繚鍩虹鏁版嵁宸插姞杞�
+ if (coalList.value.length === 0 || supplierList.value.length === 0) {
+ await loadBasicData();
+ }
+
+ try {
+ const OfficialAll = await getOfficialAll();
+
+ if (OfficialAll.code === 200) {
+ formalDatabaseData.value = OfficialAll.data;
+ const existingOfficialIds = tableData.value
+ .map((item) => item.officialId)
+ .filter((id) => id);
+ selectedIds.value = existingOfficialIds;
+ debugIdMatching();
+ nextTick(() => {
+ setTimeout(() => {
+ if (etableRef.value && existingOfficialIds.length > 0) {
+ etableRef.value.setDefaultSelection();
+ }
+ }, 100);
+ });
+ } else {
+ ElMessage.error("鑾峰彇閰嶇疆鏁版嵁澶辫触");
+ }
+ } catch (error) {
ElMessage.error("鑾峰彇閰嶇疆鏁版嵁澶辫触");
}
};
@@ -291,22 +313,28 @@
};
// 鍒濆鍖栧拰缂栬緫鍒濆鍖�
-const Initialization = () => {
+const Initialization = async () => {
tableData.value = [];
detailsTableData.value = [];
copyForm.value = null;
dialogType.value = "add";
+
+ // 鍔犺浇鍩虹鏁版嵁
+ await loadBasicData();
};
-const editInitialization = (data) => {
+const editInitialization = async (type, data) => {
copyForm.value = deepClone(data);
tableData.value = data.productionInventoryList || [];
detailsTableData.value = data.productionList || [];
- dialogType.value = "edit";
+ dialogType.value = type;
const existingOfficialIds = tableData.value
.map((item) => item.officialId)
.filter((id) => id);
selectedIds.value = existingOfficialIds;
+
+ // 鍔犺浇鍩虹鏁版嵁
+ await loadBasicData();
};
// 鐩戝惉瀵硅瘽妗嗙姸鎬侊紝鍦ㄦ墦寮�鏃惰缃�変腑鐘舵��
watch(innerVisible, (newVal) => {
@@ -452,12 +480,13 @@
}
};
-// 鑾峰彇鐢ㄦ埛淇℃伅
+// 鑾峰彇鐢ㄦ埛淇℃伅骞跺姞杞藉熀纭�鏁版嵁
onMounted(async () => {
try {
userInfo = await userStore.getInfo();
+ await loadBasicData();
} catch (error) {
- ElMessage.error("鑾峰彇鐢ㄦ埛淇℃伅澶辫触锛岃閲嶈瘯");
+ ElMessage.error("鍒濆鍖栧け璐ワ紝璇烽噸璇�");
}
});
--
Gitblit v1.9.3