From a563ea879ef5fb6897e76d2df661e465dce2ab9b Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 01 六月 2026 15:02:27 +0800
Subject: [PATCH] Merge branch 'dev_新疆_大罗素马铃薯new' of http://114.132.189.42:9002/r/product-inventory-management into dev_新疆_大罗素马铃薯new
---
src/views/qualityManagement/finalInspection/components/formDia.vue | 90 +++++++++++++++++++++++++++++++++++++++++---
1 files changed, 83 insertions(+), 7 deletions(-)
diff --git a/src/views/qualityManagement/finalInspection/components/formDia.vue b/src/views/qualityManagement/finalInspection/components/formDia.vue
index 10bfad9..9fcb6b1 100644
--- a/src/views/qualityManagement/finalInspection/components/formDia.vue
+++ b/src/views/qualityManagement/finalInspection/components/formDia.vue
@@ -9,6 +9,28 @@
<el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef">
<el-row :gutter="30">
<el-col :span="12">
+ <el-form-item label="閿�鍞鍗曪細" prop="salesLedgerId">
+ <el-select
+ v-model="form.salesLedgerId"
+ placeholder="璇烽�夋嫨閿�鍞鍗�"
+ clearable
+ filterable
+ :disabled="isViewMode"
+ style="width: 100%"
+ @change="handleSalesLedgerChange"
+ >
+ <el-option
+ v-for="item in salesLedgerOptions"
+ :key="item.id"
+ :label="item.salesContractNo"
+ :value="item.id"
+ />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
<el-form-item label="浜у搧鍚嶇О锛�" prop="productId">
<el-tree-select
v-model="form.productId"
@@ -168,6 +190,7 @@
import {userListNoPage} from "@/api/system/user.js";
import {qualityInspectDetailByProductId, getQualityTestStandardParamByTestStandardId} from "@/api/qualityManagement/metricMaintenance.js";
import {qualityInspectParamInfo} from "@/api/qualityManagement/qualityInspectParam.js";
+import {ledgerListNoPage, productList} from "@/api/salesManagement/salesLedger.js";
const { proxy } = getCurrentInstance()
const emit = defineEmits(['close'])
@@ -189,20 +212,22 @@
unqualifiedQuantity: "",
checkCompany: "",
checkResult: "",
+ salesLedgerId: "",
+ salesContractNo: "",
},
rules: {
- checkTime: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- process: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ checkTime: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
+ process: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
checkName: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
productId: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
productModelId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
testStandardId: [{ required: false, message: "璇烽�夋嫨鎸囨爣", trigger: "change" }],
unit: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
- quantity: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- qualifiedQuantity: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- unqualifiedQuantity: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ quantity: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
+ qualifiedQuantity: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
+ unqualifiedQuantity: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
checkCompany: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
- checkResult: [{ required: true, message: "璇疯緭鍏�", trigger: "change" }],
+ checkResult: [{ required: false, message: "璇疯緭鍏�", trigger: "change" }],
},
});
const { form, rules } = toRefs(data);
@@ -245,6 +270,7 @@
const currentProductId = ref(0);
const testStandardOptions = ref([]); // 鎸囨爣閫夋嫨涓嬫媺妗嗘暟鎹�
const modelOptions = ref([]);
+const salesLedgerOptions = ref([]); // 閿�鍞鍗曚笅鎷夋鏁版嵁
// 鎵撳紑寮规
const openDialog = async (type, row) => {
@@ -255,11 +281,14 @@
proxy.$refs.formRef?.clearValidate();
// 骞惰鍔犺浇鍩虹鏁版嵁
- const [userListsRes] = await Promise.all([
+ const [userListsRes, salesLedgerRes] = await Promise.all([
userListNoPage(),
getProductOptions(),
getOptions().then((res) => {
supplierList.value = res.data;
+ }),
+ ledgerListNoPage({ current: -1, size: -1 }).then((res) => {
+ salesLedgerOptions.value = res.data || [];
})
]);
userList.value = userListsRes.data;
@@ -267,6 +296,30 @@
form.value = {}
testStandardOptions.value = [];
tableData.value = [];
+
+ // 鏂板妯″紡涓嬶紝榛樿璁剧疆浜у搧鍚嶇О涓�"椹搩钖洩鑺辩矇"(id=320)
+ if (operationType.value === 'add') {
+ const defaultProductId = 320;
+ form.value.productId = defaultProductId;
+ currentProductId.value = defaultProductId;
+ form.value.productName = '椹搩钖洩鑺辩矇';
+ // 鍔犺浇瑙勬牸鍨嬪彿鍒楄〃
+ try {
+ const modelRes = await modelList({ id: defaultProductId });
+ modelOptions.value = modelRes || [];
+ // 榛樿閫変腑绗竴涓鏍煎瀷鍙�
+ if (modelOptions.value.length > 0) {
+ const firstModel = modelOptions.value[0];
+ form.value.productModelId = firstModel.id;
+ form.value.model = firstModel.model || '';
+ form.value.unit = firstModel.unit || '';
+ }
+ // 鍔犺浇鎸囨爣閫夐」
+ getList();
+ } catch (e) {
+ console.error('鍔犺浇榛樿浜у搧瑙勬牸鍨嬪彿澶辫触', e);
+ }
+ }
if (operationType.value === 'edit' || operationType.value === 'view') {
// 鍏堜繚瀛� testStandardId锛岄伩鍏嶈娓呯┖
@@ -357,6 +410,29 @@
form.value.unit = modelOptions.value.find(item => item.id == value)?.unit || '';
}
+// 閿�鍞鍗曢�夋嫨鍙樺寲澶勭悊
+const handleSalesLedgerChange = async (value) => {
+ const selectedItem = salesLedgerOptions.value.find(item => item.id == value);
+ if (selectedItem) {
+ form.value.salesContractNo = selectedItem.salesContractNo || '';
+ // 鏍规嵁閿�鍞鍗旾D鏌ヨ浜у搧淇℃伅锛屽彧璧嬪�兼暟閲�
+ try {
+ const res = await productList({ salesLedgerId: value, type: 1 });
+ const productData = res.data && res.data.length > 0 ? res.data[0] : null;
+ if (productData) {
+ // 鍙嚜鍔ㄥ甫鍏ユ暟閲�
+ form.value.quantity = productData.quantity || 0;
+ }
+ } catch (e) {
+ console.error('鏌ヨ閿�鍞鍗曚骇鍝佷俊鎭け璐�', e);
+ proxy.$modal.msgError('鏌ヨ閿�鍞鍗曚骇鍝佷俊鎭け璐�');
+ }
+ } else {
+ form.value.salesContractNo = '';
+ form.value.quantity = undefined;
+ }
+}
+
const handleQualifiedQuantityChange = (value) => {
if (value === null || value === undefined) {
form.value.qualifiedQuantity = 0;
--
Gitblit v1.9.3