From 3a7267cd8eebce7c75afb142f8632bfadd5e7a49 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 20 四月 2026 11:33:20 +0800
Subject: [PATCH] Merge branch 'dev_河南_鹤壁天沐玻璃厂' of http://114.132.189.42:9002/r/product-inventory-management into dev_河南_鹤壁天沐玻璃厂

---
 src/views/qualityManagement/processInspection/components/formDia.vue |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 50 insertions(+), 7 deletions(-)

diff --git a/src/views/qualityManagement/processInspection/components/formDia.vue b/src/views/qualityManagement/processInspection/components/formDia.vue
index 1b943e2..d9dbee3 100644
--- a/src/views/qualityManagement/processInspection/components/formDia.vue
+++ b/src/views/qualityManagement/processInspection/components/formDia.vue
@@ -10,7 +10,9 @@
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="宸ュ簭锛�" prop="process">
-              <el-input v-model="form.process" placeholder="璇疯緭鍏ュ伐搴�" clearable />
+              <el-select v-model="form.process" placeholder="璇烽�夋嫨宸ュ簭" clearable :disabled="processQuantityDisabled" style="width: 100%">
+                <el-option v-for="item in processList" :key="item.name" :label="item.name" :value="item.name"/>
+              </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -60,12 +62,19 @@
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="鍗曚綅锛�" prop="unit">
-              <el-input v-model="form.unit" placeholder="璇疯緭鍏�" disabled/>
+              <el-input v-model="form.unit" placeholder="鑷姩甯﹀嚭" readonly class="readonly-display"/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
+            <el-form-item label="鍘氬害锛�" prop="thickness">
+              <el-input v-model="form.thickness" placeholder="鑷姩甯﹀嚭" readonly class="readonly-display"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="30">
+          <el-col :span="12">
             <el-form-item label="鏁伴噺锛�" prop="quantity">
-              <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="璇疯緭鍏�" clearable :precision="2"/>
+              <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="璇疯緭鍏�" clearable :precision="2" :disabled="processQuantityDisabled"/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -130,15 +139,18 @@
 </template>
 
 <script setup>
-import {ref, reactive, toRefs, getCurrentInstance, nextTick} from "vue";
+import {ref, reactive, toRefs, computed, getCurrentInstance, nextTick} from "vue";
 import {getOptions} from "@/api/procurementManagement/procurementLedger.js";
 import {modelList, productTreeList} from "@/api/basicData/product.js";
 import {qualityInspectAdd, qualityInspectUpdate} from "@/api/qualityManagement/rawMaterialInspection.js";
 import {qualityInspectDetailByProductId, getQualityTestStandardParamByTestStandardId} from "@/api/qualityManagement/metricMaintenance.js";
 import {userListNoPage} from "@/api/system/user.js";
 import {qualityInspectParamInfo} from "@/api/qualityManagement/qualityInspectParam.js";
+import { list } from "@/api/productionManagement/productionProcess";
 const { proxy } = getCurrentInstance()
 const emit = defineEmits(['close'])
+
+
 
 const dialogFormVisible = ref(false);
 const operationType = ref('')
@@ -153,18 +165,20 @@
     model: "",
     testStandardId: "",
     unit: "",
+    thickness: "",
     quantity: "",
     checkCompany: "",
     checkResult: "",
   },
   rules: {
     checkTime: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" },],
-    process: [{ required: true, message: "璇疯緭鍏ュ伐搴�", trigger: "blur" }],
+    process: [{ required: true, message: "璇烽�夋嫨宸ュ簭", trigger: "change" }],
     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" }],
+    thickness: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
     quantity: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
     checkCompany: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
     checkResult: [{ required: true, message: "璇疯緭鍏�", trigger: "change" }],
@@ -172,6 +186,12 @@
 });
 const userList = ref([]);
 const { form, rules } = toRefs(data);
+// 缂栬緫鏃讹細productMainId 鎴� purchaseLedgerId 浠讳竴鏈夊�煎垯宸ュ簭銆佹暟閲忕疆鐏�
+const processQuantityDisabled = computed(() => {
+  const v = form.value || {};
+  return !!(v.productMainId != null || v.purchaseLedgerId != null);
+});
+const processList = ref([]); // 宸ュ簭涓嬫媺鍒楄〃锛堝伐搴忓悕绉� name锛�
 const supplierList = ref([]);
 const productOptions = ref([]);
 const tableColumn = ref([
@@ -210,6 +230,14 @@
 	getOptions().then((res) => {
 		supplierList.value = res.data;
 	});
+	// 鍔犺浇宸ュ簭涓嬫媺鍒楄〃
+	try {
+		const res = await list();
+		processList.value = res.data || [];
+	} catch (e) {
+		console.error("鍔犺浇宸ュ簭鍒楄〃澶辫触", e);
+		processList.value = [];
+	}
 	let userLists = await userListNoPage();
 	userList.value = userLists.data;
 	// 鍏堥噸缃〃鍗曟暟鎹紙淇濇寔瀛楁瀹屾暣锛岄伩鍏嶅脊绐楅娆℃覆鏌撴椂瑙﹀彂蹇呭~绾㈡鈥滈棯涓�涓嬧�濓級
@@ -223,6 +251,7 @@
 		model: "",
 		testStandardId: "",
 		unit: "",
+		thickness: "",
 		quantity: "",
 		checkCompany: "",
 		checkResult: "",
@@ -307,6 +336,7 @@
 const getModels = (value) => {
   form.value.productModelId = undefined;
   form.value.unit = undefined;
+  form.value.thickness = undefined;
   modelOptions.value = [];
   currentProductId.value = value
   form.value.productName = findNodeById(productOptions.value, value);
@@ -319,8 +349,10 @@
 };
 
 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 || '';
+  const selectedModel = modelOptions.value.find(item => item.id == value);
+  form.value.model = selectedModel?.model || '';
+  form.value.unit = selectedModel?.unit || '';
+  form.value.thickness = selectedModel?.thickness ?? '';
 }
 
 const findNodeById = (nodes, productId) => {
@@ -441,4 +473,15 @@
 
 <style scoped>
 
+:deep(.readonly-display .el-input__wrapper) {
+  background-color: var(--el-disabled-bg-color);
+  box-shadow: 0 0 0 1px var(--el-disabled-border-color) inset;
+}
+
+:deep(.readonly-display .el-input__inner) {
+  color: var(--el-disabled-text-color);
+  -webkit-text-fill-color: var(--el-disabled-text-color);
+  cursor: not-allowed;
+}
+
 </style>
\ No newline at end of file

--
Gitblit v1.9.3