From bc365ef47ae4e01754aeadbae26170e11c9bb80e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 22 六月 2026 16:56:12 +0800
Subject: [PATCH] 新疆马铃薯 1.删除按钮添加操作权限
---
src/views/qualityManagement/finalInspection/components/formDia.vue | 89 ++++++++++++++++++++++++++++++++++++++++----
1 files changed, 80 insertions(+), 9 deletions(-)
diff --git a/src/views/qualityManagement/finalInspection/components/formDia.vue b/src/views/qualityManagement/finalInspection/components/formDia.vue
index 458ab96..5e640e8 100644
--- a/src/views/qualityManagement/finalInspection/components/formDia.vue
+++ b/src/views/qualityManagement/finalInspection/components/formDia.vue
@@ -119,6 +119,26 @@
</el-row>
<el-row :gutter="30">
<el-col :span="12">
+ <el-form-item label="妫�楠岃鍒�" prop="inspectRule">
+ <el-radio-group v-model="form.inspectRule">
+ <el-radio :label="0">鍏ㄦ</el-radio>
+ <el-radio :label="1">鎶芥</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6" v-if="form.inspectRule === 1">
+ <el-form-item label="鎶芥姣斾緥(%)" prop="sampleRatio">
+ <el-input-number v-model="form.sampleRatio" :min="0.01" :max="100" :precision="2" placeholder="璇疯緭鍏ユ娊妫�姣斾緥" style="width: 100%" @change="calcSampleQuantity" :disabled="isViewMode" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="6" v-if="form.inspectRule === 1">
+ <el-form-item label="鎶芥鏁伴噺" prop="sampleQuantity">
+ <el-input-number v-model="form.sampleQuantity" :min="0" :precision="2" style="width: 100%" disabled />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
<el-form-item label="妫�娴嬪崟浣嶏細" prop="checkCompany">
<el-input v-model="form.checkCompany" placeholder="璇疯緭鍏�" clearable :disabled="isViewMode"/>
</el-form-item>
@@ -190,7 +210,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} from "@/api/salesManagement/salesLedger.js";
+import {ledgerListNoPage, productList} from "@/api/salesManagement/salesLedger.js";
const { proxy } = getCurrentInstance()
const emit = defineEmits(['close'])
@@ -214,20 +234,23 @@
checkResult: "",
salesLedgerId: "",
salesContractNo: "",
+ inspectRule: 0,
+ sampleRatio: undefined,
+ sampleQuantity: undefined,
},
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);
@@ -250,7 +273,7 @@
prop: "unit",
},
{
- label: "鏍囧噯鍊�",
+ label: "鍘傚鏍囧噯鍊�",
prop: "standardValue",
},
{
@@ -296,6 +319,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锛岄伩鍏嶈娓呯┖
@@ -387,12 +434,26 @@
}
// 閿�鍞鍗曢�夋嫨鍙樺寲澶勭悊
-const handleSalesLedgerChange = (value) => {
+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;
+ calcSampleQuantity();
+ }
+ } catch (e) {
+ console.error('鏌ヨ閿�鍞鍗曚骇鍝佷俊鎭け璐�', e);
+ proxy.$modal.msgError('鏌ヨ閿�鍞鍗曚骇鍝佷俊鎭け璐�');
+ }
} else {
form.value.salesContractNo = '';
+ form.value.quantity = undefined;
}
}
@@ -418,6 +479,16 @@
form.value.qualifiedQuantity = Math.max(0, quantity - unqualified);
};
+const calcSampleQuantity = () => {
+ const q = parseFloat(form.value.quantity) || 0;
+ const r = parseFloat(form.value.sampleRatio) || 0;
+ if (q > 0 && r > 0) {
+ form.value.sampleQuantity = Number((q * r / 100).toFixed(2));
+ } else {
+ form.value.sampleQuantity = undefined;
+ }
+};
+
const findNodeById = (nodes, productId) => {
for (let i = 0; i < nodes.length; i++) {
if (nodes[i].value === productId) {
--
Gitblit v1.9.3