From 529c2b0204fb8378e3baf2bf4d313e70a93f694a Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期三, 29 四月 2026 17:36:52 +0800
Subject: [PATCH] 更新工序选择逻辑,改用字典数据源 `product_process_type`,并调整相关字段以兼容后端接口

---
 src/views/qualityManagement/processInspection/components/formDia.vue |   39 ++++++++++++-------
 src/views/qualityManagement/metricMaintenance/index.vue              |   33 ++++++----------
 2 files changed, 37 insertions(+), 35 deletions(-)

diff --git a/src/views/qualityManagement/metricMaintenance/index.vue b/src/views/qualityManagement/metricMaintenance/index.vue
index deb3e5f..a26f1d7 100644
--- a/src/views/qualityManagement/metricMaintenance/index.vue
+++ b/src/views/qualityManagement/metricMaintenance/index.vue
@@ -181,7 +181,6 @@
   qualityTestStandardParamUpdate,
   qualityTestStandardParamDel
 } from '@/api/qualityManagement/metricMaintenance.js'
-import { productProcessListPage } from '@/api/basicData/productProcess.js'
 import StandardFormDialog from './StandardFormDialog.vue'
 import ParamFormDialog from './ParamFormDialog.vue'
 
@@ -235,24 +234,14 @@
   total: 0
 })
 
-// 宸ュ簭涓嬫媺
-const processOptions = ref([])
-
-// 鑾峰彇宸ュ簭鍒楄〃
-const getProcessList = async () => {
-  try {
-    const res = await productProcessListPage({ current: 1, size: 1000 })
-    if (res?.code === 200) {
-      const records = res?.data?.records || []
-      processOptions.value = records.map(item => ({
-        label: item.processName || item.name || item.label,
-        value: item.id || item.processId || item.value
-      }))
-    }
-  } catch (error) {
-    console.error('鑾峰彇宸ュ簭鍒楄〃澶辫触:', error)
-  }
-}
+// 宸ュ簭涓嬫媺锛氭潵婧愪簬瀛楀吀 product_process_type
+const { product_process_type } = proxy.useDict('product_process_type')
+const processOptions = computed(() => {
+  return (product_process_type?.value || []).map(item => ({
+    label: item.label,
+    value: item.value
+  }))
+})
 
 // 褰撳墠閫変腑鐨勬爣鍑� & 鍙充晶璇︽儏
 const currentStandard = ref(null)
@@ -398,6 +387,9 @@
     current: page.current,
     size: page.size
   }
+  // processType锛氬瓧鍏� product_process_type 鐨� value
+  // 鍏煎锛氬鏋滃悗绔粛鎺ュ彈 processId锛岃繖閲屼袱鑰呴兘浼氬甫涓�
+  params.processType = params.processId
   qualityTestStandardListPage(params)
     .then((res) => {
       const records = res?.data?.records || []
@@ -627,6 +619,8 @@
 
 const submitStandardForm = () => {
   const payload = { ...standardForm.value }
+  // processType锛氬瓧鍏� product_process_type 鐨� value
+  payload.processType = payload.processId
   const isEdit = standardOperationType.value === 'edit'
   if (isEdit) {
     qualityTestStandardUpdate(payload).then(() => {
@@ -704,7 +698,6 @@
 }
 
 onMounted(() => {
-  getProcessList()
   getStandardList()
 })
 </script>
diff --git a/src/views/qualityManagement/processInspection/components/formDia.vue b/src/views/qualityManagement/processInspection/components/formDia.vue
index f2d4480..e3daea3 100644
--- a/src/views/qualityManagement/processInspection/components/formDia.vue
+++ b/src/views/qualityManagement/processInspection/components/formDia.vue
@@ -11,7 +11,7 @@
           <el-col :span="12">
             <el-form-item label="閮ㄤ欢锛�" prop="process">
               <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-option v-for="item in processList" :key="item.id" :label="item.name" :value="item.id"/>
               </el-select>
             </el-form-item>
           </el-col>
@@ -139,8 +139,8 @@
 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 { product_process_type } = proxy.useDict('product_process_type')
 const emit = defineEmits(['close'])
 
 
@@ -182,7 +182,14 @@
   const v = form.value || {};
   return !!(v.productMainId != null || v.purchaseLedgerId != null);
 });
-const processList = ref([]); // 宸ュ簭涓嬫媺鍒楄〃锛堝伐搴忓悕绉� name锛�
+// 宸ュ簭/閮ㄤ欢涓嬫媺锛氭潵婧愪簬瀛楀吀 `product_process_type`
+// 瀛楀吀杩斿洖缁撴瀯锛歿 label, value }锛岃繖閲岀粺涓�鎴� { id, name }
+const processList = computed(() => {
+  return (product_process_type?.value || []).map(item => ({
+    id: item.value,
+    name: item.label
+  }))
+})
 const supplierList = ref([]);
 const productOptions = ref([]);
 const tableColumn = ref([
@@ -221,14 +228,7 @@
 	getOptions().then((res) => {
 		supplierList.value = res.data;
 	});
-	// 鍔犺浇宸ュ簭涓嬫媺鍒楄〃
-	try {
-		const res = await list();
-		processList.value = res.data || [];
-	} catch (e) {
-		console.error("鍔犺浇宸ュ簭鍒楄〃澶辫触", e);
-		processList.value = [];
-	}
+	// 宸ュ簭/閮ㄤ欢涓嬫媺鐢卞瓧鍏� product_process_type 鑷姩鎻愪緵锛屾棤闇�鍐嶈姹傛帴鍙�
 	let userLists = await userListNoPage();
 	userList.value = userLists.data;
 	// 鍏堥噸缃〃鍗曟暟鎹紙淇濇寔瀛楁瀹屾暣锛岄伩鍏嶅脊绐楅娆℃覆鏌撴椂瑙﹀彂蹇呭~绾㈡鈥滈棯涓�涓嬧�濓級
@@ -276,6 +276,9 @@
 			let params = {
 				productId: currentProductId.value,
 				inspectType: 1,
+				// 瀛楀吀 product_process_type 鐨� value 浣滀负 processType 浼犲叆
+				processType: form.value.process || '',
+				// 鍏煎鏃у瓧娈碉紙濡傚悗绔粛浣跨敤 process锛�
 				process: form.value.process || ''
 			}
 			qualityInspectDetailByProductId(params).then(res => {
@@ -376,7 +379,7 @@
   proxy.$refs.formRef.validate(valid => {
     if (valid) {
       form.value.inspectType = 1
-			const processName = form.value.process || '';
+			const processType = form.value.process || '';
 			if (operationType.value === "add") {
 				tableData.value.forEach((item) => {
 					delete item.id
@@ -384,7 +387,10 @@
 			}
 			const data = {
 				...form.value, 
-				process: processName, // 淇濈暀 process 瀛楁浠ュ吋瀹瑰悗绔�
+				// processType锛氬瓧鍏� product_process_type 鐨� value
+				processType: processType,
+				// 鍏煎鏃у瓧娈碉紙濡傚悗绔粛浣跨敤 process锛�
+				process: processType,
 				qualityInspectParams: tableData.value
 			}
       if (operationType.value === "add") {
@@ -407,11 +413,14 @@
 		tableData.value = [];
 		return;
 	}
-	const processName = form.value.process || '';
+	const processType = form.value.process || '';
 	let params = {
 		productId: currentProductId.value,
 		inspectType: 1,
-		process: processName
+		// 瀛楀吀 product_process_type 鐨� value 浣滀负 processType 浼犲叆
+		processType: processType,
+		// 鍏煎鏃у瓧娈碉紙濡傚悗绔粛浣跨敤 process锛�
+		process: processType
 	}
 	qualityInspectDetailByProductId(params).then(res => {
 		// 淇濆瓨涓嬫媺妗嗛�夐」鏁版嵁

--
Gitblit v1.9.3