From e5aced11100ffd999b67dd0292cd5e9a662029d6 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期四, 30 四月 2026 13:17:21 +0800
Subject: [PATCH] 更新工序相关逻辑,改用部件类型字典 `product_process_type`,并调整界面显示和数据格式化以兼容新字段名
---
src/views/qualityManagement/processInspection/components/formDia.vue | 46 +++++++++++++++++++++++++++++++++++++---------
1 files changed, 37 insertions(+), 9 deletions(-)
diff --git a/src/views/qualityManagement/processInspection/components/formDia.vue b/src/views/qualityManagement/processInspection/components/formDia.vue
index 1b943e2..27e3d8a 100644
--- a/src/views/qualityManagement/processInspection/components/formDia.vue
+++ b/src/views/qualityManagement/processInspection/components/formDia.vue
@@ -9,8 +9,10 @@
<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="process">
- <el-input v-model="form.process" placeholder="璇疯緭鍏ュ伐搴�" clearable />
+ <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.id" :label="item.name" :value="item.id"/>
+ </el-select>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -65,7 +67,7 @@
</el-col>
<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,7 +132,7 @@
</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";
@@ -138,7 +140,10 @@
import {userListNoPage} from "@/api/system/user.js";
import {qualityInspectParamInfo} from "@/api/qualityManagement/qualityInspectParam.js";
const { proxy } = getCurrentInstance()
+const { product_process_type } = proxy.useDict('product_process_type')
const emit = defineEmits(['close'])
+
+
const dialogFormVisible = ref(false);
const operationType = ref('')
@@ -159,7 +164,7 @@
},
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" }],
@@ -172,6 +177,19 @@
});
const userList = ref([]);
const { form, rules } = toRefs(data);
+// 缂栬緫鏃讹細productMainId 鎴� purchaseLedgerId 浠讳竴鏈夊�煎垯宸ュ簭銆佹暟閲忕疆鐏�
+const processQuantityDisabled = computed(() => {
+ const v = form.value || {};
+ return !!(v.productMainId != null || v.purchaseLedgerId != null);
+});
+// 宸ュ簭/閮ㄤ欢涓嬫媺锛氭潵婧愪簬瀛楀吀 `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([
@@ -210,6 +228,7 @@
getOptions().then((res) => {
supplierList.value = res.data;
});
+ // 宸ュ簭/閮ㄤ欢涓嬫媺鐢卞瓧鍏� product_process_type 鑷姩鎻愪緵锛屾棤闇�鍐嶈姹傛帴鍙�
let userLists = await userListNoPage();
userList.value = userLists.data;
// 鍏堥噸缃〃鍗曟暟鎹紙淇濇寔瀛楁瀹屾暣锛岄伩鍏嶅脊绐楅娆℃覆鏌撴椂瑙﹀彂蹇呭~绾㈡鈥滈棯涓�涓嬧�濓級
@@ -257,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 => {
@@ -357,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
@@ -365,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") {
@@ -388,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