From 09ce99b6d33ec58d462da5b5fd65927d7ef98f60 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期五, 03 四月 2026 09:15:00 +0800
Subject: [PATCH] fix: 终检表单优化检验用粉剂/液数据加载
---
src/views/qualityManagement/finalInspection/components/formDia.vue | 152 +++++++++++++++++++++++++++-----------------------
1 files changed, 83 insertions(+), 69 deletions(-)
diff --git a/src/views/qualityManagement/finalInspection/components/formDia.vue b/src/views/qualityManagement/finalInspection/components/formDia.vue
index 51d0474..c94f061 100644
--- a/src/views/qualityManagement/finalInspection/components/formDia.vue
+++ b/src/views/qualityManagement/finalInspection/components/formDia.vue
@@ -116,6 +116,44 @@
</el-row>
<el-row :gutter="30">
<el-col :span="12">
+ <el-form-item label="妫�娴嬪崟浣嶏細" prop="checkCompany">
+ <el-input v-model="form.checkCompany" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="妫�娴嬬粨鏋滐細" prop="checkResult">
+ <el-select v-model="form.checkResult">
+ <el-option label="鍚堟牸" value="鍚堟牸" />
+ <el-option label="涓嶅悎鏍�" value="涓嶅悎鏍�" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="妫�楠屽憳锛�" prop="checkName">
+ <el-select v-model="form.checkName" placeholder="璇烽�夋嫨" clearable>
+ <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName"
+ :value="item.nickName"/>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="妫�娴嬫棩鏈燂細" prop="checkTime">
+ <el-date-picker
+ v-model="form.checkTime"
+ type="date"
+ placeholder="璇烽�夋嫨鏃ユ湡"
+ value-format="YYYY-MM-DD"
+ format="YYYY-MM-DD"
+ clearable
+ style="width: 100%"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="6">
<el-form-item label="妫�楠岀敤绮夊墏/娑叉儏鍐碉細" prop="inspectMaterialConditionId">
<el-tree-select
v-model="form.inspectMaterialConditionId"
@@ -129,7 +167,15 @@
/>
</el-form-item>
</el-col>
- <el-col :span="12">
+ <el-col :span="6">
+ <el-form-item label="瑙勬牸鍨嬪彿锛�" prop="inspectProductModelId">
+ <el-select v-model="form.inspectProductModelId" placeholder="璇烽�夋嫨" clearable
+ filterable readonly @change="handleChangeModels">
+ <el-option v-for="item in inspectProductModel" :key="item.id" :label="item.model" :value="item.id" />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
<el-form-item label="鎵瑰彿锛堟柊锛夛細" prop="inspectBatchNo">
<el-select
v-model="form.inspectBatchNo"
@@ -148,64 +194,14 @@
</el-select>
</el-form-item>
</el-col>
- </el-row>
- <el-row :gutter="30">
- <el-col :span="12">
- <el-form-item label="瑙勬牸鍨嬪彿锛�" prop="inspectProductModelId">
- <el-select v-model="form.inspectProductModelId" placeholder="璇烽�夋嫨" clearable
- filterable readonly @change="handleChangeModels">
- <el-option v-for="item in inspectProductModel" :key="item.id" :label="item.model" :value="item.id" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
+ <el-col :span="6">
<el-form-item label="鐢熶骇鏃ユ湡锛堟柊锛夛細" prop="inspectProductionDate">
<el-input v-model="form.inspectProductionDate" placeholder="鑷姩甯﹀嚭" disabled/>
</el-form-item>
</el-col>
- </el-row>
- <el-row :gutter="30">
- <el-col :span="12">
+ <el-col :span="6">
<el-form-item label="鏈夋晥鏈燂紙鏂帮級锛�" prop="inspectValidityDate">
<el-input v-model="form.inspectValidityDate" placeholder="鑷姩璁$畻" disabled/>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="妫�娴嬪崟浣嶏細" prop="checkCompany">
- <el-input v-model="form.checkCompany" placeholder="璇疯緭鍏�" clearable/>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="30">
- <el-col :span="12">
- <el-form-item label="妫�娴嬬粨鏋滐細" prop="checkResult">
- <el-select v-model="form.checkResult">
- <el-option label="鍚堟牸" value="鍚堟牸" />
- <el-option label="涓嶅悎鏍�" value="涓嶅悎鏍�" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="妫�楠屽憳锛�" prop="checkName">
- <el-select v-model="form.checkName" placeholder="璇烽�夋嫨" clearable>
- <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName"
- :value="item.nickName"/>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="30">
- <el-col :span="12">
- <el-form-item label="妫�娴嬫棩鏈燂細" prop="checkTime">
- <el-date-picker
- v-model="form.checkTime"
- type="date"
- placeholder="璇烽�夋嫨鏃ユ湡"
- value-format="YYYY-MM-DD"
- format="YYYY-MM-DD"
- clearable
- style="width: 100%"
- />
</el-form-item>
</el-col>
</el-row>
@@ -506,9 +502,14 @@
// 缂栬緫鍦烘櫙淇濈暀宸叉湁妫�楠屽�硷紝鐩存帴鎷夊彇鍘熷弬鏁版暟鎹�
getQualityInspectParamList(row.id);
});
+
+ // 缂栬緫妯″紡涓嬶紝鍔犺浇妫�楠岀敤绮夊墏/娑茬浉鍏虫暟鎹�
+ loadInspectMaterialData();
});
} else {
getQualityInspectParamList(row.id);
+ // 鍗充娇娌℃湁涓讳骇鍝侊紝涔熷皾璇曞姞杞芥楠岀敤绮夊墏/娑叉暟鎹�
+ loadInspectMaterialData();
}
}
}
@@ -656,31 +657,45 @@
}
};
+// 鍔犺浇妫�楠岀敤绮夊墏/娑叉儏鍐电浉鍏虫暟鎹紙缂栬緫妯″紡鍥炴樉鐢級
+const loadInspectMaterialData = () => {
+ // 濡傛灉鏈夋楠岀敤绮夊墏/娑蹭骇鍝両D锛屽姞杞藉搴旂殑瑙勬牸鍨嬪彿
+ if (form.value.inspectMaterialConditionId) {
+ modelList({ id: form.value.inspectMaterialConditionId }).then((res) => {
+ inspectProductModel.value = res || [];
+ // 濡傛灉鏈夎鏍煎瀷鍙稩D锛屽姞杞芥壒鍙峰垪琛�
+ if (form.value.inspectProductModelId && inspectProductModel.value.length > 0) {
+ const selectedModel = inspectProductModel.value.find(item => item.id == form.value.inspectProductModelId);
+ if (selectedModel) {
+ form.value.inspectProductModel = selectedModel.model || '';
+ }
+ // 鏍规嵁瑙勬牸鍨嬪彿鏌ヨ鎵瑰彿鍒楄〃
+ getStockInventoryListPage({
+ model: form.value.inspectProductModel,
+ pageNum: 1,
+ pageSize: -1
+ }).then((res) => {
+ inspectBatchOptions.value = res.data.records || [];
+ });
+ }
+ });
+ }
+};
+
// 閫夋嫨妫�楠岀敤绮夊墏/娑叉儏鍐靛悗锛屾牴鎹骇鍝両D鏌ヨ搴撳瓨鎵瑰彿鍒楄〃
const handleInspectMaterialChange = (productId) => {
inspectBatchOptions.value = [];
form.value.inspectBatchNo = "";
form.value.inspectProductModel = "";
+ form.value.inspectProductModelId = "";
form.value.inspectProductionDate = "";
form.value.inspectValidityDate = "";
form.value.inspectValidityPeriod = "";
- // let productName = findNodeById(productOptions.value, productId);
+ form.value.inspectMaterialCondition = findNodeById(productOptions.value, productId);
modelList({ id: productId }).then((res) => {
inspectProductModel.value = res;
})
- /*getStockInventoryListPage({
- productName: productName,
- pageNum: 1,
- pageSize: -1
- }).then(res => {
- inspectBatchOptions.value = res.data || []
- // 娓呯┖宸查�夋嫨鐨勬壒鍙峰拰鏂板瓧娈�
- form.value.inspectBatchNo = "";
- form.value.inspectProductModel = "";
- form.value.inspectProductionDate = "";
- form.value.inspectValidityDate = "";
- });*/
};
const handleChangeModels = (value) => {
@@ -691,13 +706,12 @@
pageNum: 1,
pageSize: -1
}).then(res => {
- inspectBatchOptions.value = res.data || []
+ inspectBatchOptions.value = res.data.records || []
// 娓呯┖宸查�夋嫨鐨勬壒鍙峰拰鏂板瓧娈�
form.value.inspectBatchNo = "";
form.value.inspectProductionDate = "";
form.value.inspectValidityDate = "";
});
-
if (form.value.productionDate) {
calculateInspectValidityDate();
}
@@ -713,7 +727,7 @@
const selectedModel = inspectProductModel.value.find(item => item.id == form.value.inspectProductModelId);
if (selectedModel && selectedModel.validityPeriod) {
const inspectProductionDate = new Date(form.value.inspectProductionDate);
- const validityPeriod = parseFloat(selectedModel.inspectValidityDate);
+ const validityPeriod = parseFloat(selectedModel.validityPeriod);
const validityDate = new Date(inspectProductionDate);
validityDate.setFullYear(validityDate.getFullYear() + Math.floor(validityPeriod));
validityDate.setMonth(validityDate.getMonth() + Math.round((validityPeriod % 1) * 12));
--
Gitblit v1.9.3