From 4dee4cb5b31a7f1dcd2c7b3d72f74b78d2fe3f29 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 18 九月 2026 15:56:41 +0800
Subject: [PATCH] fix: 质检是否入库
---
src/views/qualityManagement/rawMaterialInspection/components/formDia.vue | 53 +++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 49 insertions(+), 4 deletions(-)
diff --git a/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue b/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
index 78a4d10..a66c609 100644
--- a/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
+++ b/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
@@ -14,6 +14,7 @@
v-model="form.supplier"
placeholder="璇烽�夋嫨"
clearable
+ filterable
:disabled="isViewMode || supplierQuantityDisabled"
>
<el-option
@@ -96,6 +97,23 @@
<el-input-number :step="0.01" :min="0" :max="form.quantity || 0" style="width: 100%"
v-model="form.unqualifiedQuantity" placeholder="璇疯緭鍏�" :precision="2"
@change="onUnqualifiedChange" :disabled="isViewMode"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="鏄惁鎶芥锛�" prop="isSampling">
+ <el-radio-group v-model="form.isSampling" class="sampling-radio-group" :disabled="isViewMode" @change="handleSamplingChange">
+ <el-radio-button :label="1">鏄�</el-radio-button>
+ <el-radio-button :label="0">鍚�</el-radio-button>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12" v-if="form.isSampling === 1">
+ <el-form-item label="鎶芥鏁伴噺锛�" prop="samplingQuantity">
+ <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.samplingQuantity"
+ placeholder="璇疯緭鍏�" clearable :precision="2" :disabled="isViewMode"/>
</el-form-item>
</el-col>
</el-row>
@@ -190,6 +208,8 @@
unit: "",
quantity: "",
checkCompany: "",
+ isSampling: 0,
+ samplingQuantity: "",
},
rules: {
checkTime: [{required: true, message: "璇疯緭鍏�", trigger: "blur"},],
@@ -203,6 +223,8 @@
qualifiedQuantity: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
unqualifiedQuantity: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
checkCompany: [{required: false, message: "璇疯緭鍏�", trigger: "blur"}],
+ isSampling: [{required: true, message: "璇烽�夋嫨鏄惁鎶芥", trigger: "change"}],
+ samplingQuantity: [{required: true, message: "璇疯緭鍏ユ娊妫�鏁伴噺", trigger: "blur"}],
},
});
const tableColumn = ref([
@@ -307,6 +329,8 @@
unit: "",
quantity: "",
checkCompany: "",
+ isSampling: 0,
+ samplingQuantity: "",
}
testStandardOptions.value = [];
tableData.value = [];
@@ -315,7 +339,8 @@
if (operationType.value === 'edit' || operationType.value === 'view') {
// 鍏堜繚瀛� testStandardId锛岄伩鍏嶈娓呯┖
const savedTestStandardId = row.testStandardId;
- form.value = {...row}
+ const { passRate, ...rowWithoutPassRate } = row;
+ form.value = { ...rowWithoutPassRate, testStandardId: "" };
currentProductId.value = row.productId || 0
// 鍏抽敭锛氱紪杈戞椂鍔犺浇瑙勬牸鍨嬪彿涓嬫媺閫夐」锛屾墠鑳藉弽鏄� productModelId
if (currentProductId.value) {
@@ -324,7 +349,11 @@
modelOptions.value = res || [];
// 鍚屾鍥炲~ model / unit锛堟湁浜涙帴鍙h繑鍥炵殑 row 閲屽彲鑳芥病甯﹀叏锛�
if (form.value.productModelId) {
- handleChangeModel(form.value.productModelId);
+ const selectedModel = modelOptions.value.find(item => item.id == form.value.productModelId);
+ if (selectedModel) {
+ form.value.model = selectedModel.model || '';
+ form.value.unit = selectedModel.unit || '';
+ }
}
} catch (e) {
console.error("鍔犺浇瑙勬牸鍨嬪彿澶辫触", e);
@@ -336,6 +365,7 @@
// 鍏堝姞杞芥寚鏍囬�夐」
let params = {
productId: currentProductId.value,
+ productModelId: form.value.productModelId || undefined,
inspectType: 0
}
qualityInspectDetailByProductId(params).then(res => {
@@ -400,6 +430,8 @@
const handleChangeModel = (value) => {
form.value.model = modelOptions.value.find(item => item.id == value)?.model || '';
form.value.unit = modelOptions.value.find(item => item.id == value)?.unit || '';
+ // 瑙勬牸鍨嬪彿鍙樺寲鍚庢寜 浜у搧+瑙勬牸鍨嬪彿 閲嶆柊杩囨护鍙�夋寚鏍�
+ getList(value);
}
const findNodeById = (nodes, productId) => {
@@ -458,7 +490,7 @@
})
}
-const getList = () => {
+const getList = (modelId) => {
if (!currentProductId.value) {
testStandardOptions.value = [];
tableData.value = [];
@@ -466,6 +498,7 @@
}
let params = {
productId: currentProductId.value,
+ productModelId: modelId ?? form.value.productModelId ?? undefined,
inspectType: 0
}
qualityInspectDetailByProductId(params).then(res => {
@@ -530,6 +563,16 @@
}
};
+// 鏄惁鎶芥鍒囨崲
+const handleSamplingChange = (value) => {
+ if (value !== 1) {
+ form.value.samplingQuantity = "";
+ nextTick(() => {
+ proxy.$refs?.formRef?.clearValidate?.("samplingQuantity");
+ });
+ }
+};
+
// 鍏抽棴寮规
const closeDia = () => {
proxy.resetForm("formRef");
@@ -545,5 +588,7 @@
</script>
<style scoped>
-
+.sampling-radio-group {
+ height: 32px;
+}
</style>
--
Gitblit v1.9.3