From c2dcff2da9764f50dbd645032ac34c67442b67bc Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期四, 29 一月 2026 17:45:47 +0800
Subject: [PATCH] 安全培训考核部分功能
---
src/views/qualityManagement/nonconformingManagement/components/formDia.vue | 40 ++++++++++++++++++++++------------------
1 files changed, 22 insertions(+), 18 deletions(-)
diff --git a/src/views/qualityManagement/nonconformingManagement/components/formDia.vue b/src/views/qualityManagement/nonconformingManagement/components/formDia.vue
index a6bfbd6..d33ddad 100644
--- a/src/views/qualityManagement/nonconformingManagement/components/formDia.vue
+++ b/src/views/qualityManagement/nonconformingManagement/components/formDia.vue
@@ -2,20 +2,12 @@
<div>
<el-dialog
v-model="dialogFormVisible"
- :title="operationType === 'add' ? '鏂板鍘熸潗鏂欐楠�' : '缂栬緫鍘熸潗鏂欐楠�'"
+ :title="operationType === 'add' ? '鏂板涓嶅悎鏍肩鐞�' : '缂栬緫涓嶅悎鏍肩鐞�'"
width="70%"
@close="closeDia"
>
<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="inspectState">
- <el-select v-model="form.inspectState">
- <el-option label="寰呭鐞�" :value="0" />
- <el-option label="宸插鐞�" :value="1" />
- </el-select>
- </el-form-item>
- </el-col>
<el-col :span="12">
<el-form-item label="绫诲埆锛�" prop="inspectType">
<el-select v-model="form.inspectType">
@@ -43,7 +35,10 @@
</el-col>
<el-col :span="12">
<el-form-item label="瑙勬牸鍨嬪彿锛�" prop="model">
- <el-input v-model="form.model" placeholder="璇疯緭鍏�" clearable/>
+ <el-select v-model="form.model" placeholder="璇烽�夋嫨" clearable :disabled="operationType === 'edit'"
+ filterable readonly @change="handleChangeModel">
+ <el-option v-for="item in modelOptions" :key="item.id" :label="item.model" :value="item.id" />
+ </el-select>
</el-form-item>
</el-col>
</el-row>
@@ -55,7 +50,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="鏁伴噺锛�" prop="quantity">
- <el-input v-model="form.quantity" placeholder="璇疯緭鍏�" clearable/>
+ <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="璇疯緭鍏�" clearable :precision="2"/>
</el-form-item>
</el-col>
</el-row>
@@ -87,7 +82,9 @@
</el-col>
<el-col :span="12">
<el-form-item label="澶勭悊缁撴灉锛�" prop="dealResult">
- <el-input v-model="form.dealResult" placeholder="璇疯緭鍏�" clearable/>
+ <el-select v-model="form.dealResult" placeholder="璇烽�夋嫨" clearable>
+ <el-option :label="item.label" :value="item.value" v-for="item in rejection_handling" :key="item.value" />
+ </el-select>
</el-form-item>
</el-col>
</el-row>
@@ -124,7 +121,7 @@
<script setup>
import {ref} from "vue";
-import {productTreeList} from "@/api/basicData/product.js";
+import {modelList, productTreeList} from "@/api/basicData/product.js";
import {
getQualityUnqualifiedInfo,
qualityUnqualifiedAdd,
@@ -135,6 +132,7 @@
const dialogFormVisible = ref(false);
const operationType = ref('')
+const { rejection_handling } = proxy.useDict("rejection_handling")
const data = reactive({
form: {
checkTime: "",
@@ -147,7 +145,6 @@
quantity: "",
checkCompany: "",
checkResult: "",
- inspectState: '',
inspectType: '',
defectivePhenomena: '',
dealResult: '',
@@ -157,7 +154,7 @@
process: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
checkName: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
productId: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- model: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
+ model: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
unit: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
quantity: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
checkCompany: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
@@ -166,6 +163,7 @@
});
const { form, rules } = toRefs(data);
const productOptions = ref([]);
+const modelOptions = ref([])
// 鎵撳紑寮规
const openDialog = (type, row) => {
@@ -175,7 +173,8 @@
getProductOptions();
if (operationType.value === 'edit') {
getQualityUnqualifiedInfo(row.id).then(res => {
- form.value = {...res.data}
+ const { inspectState, ...rest } = (res.data || {})
+ form.value = { ...rest }
})
}
}
@@ -186,6 +185,9 @@
};
const getModels = (value) => {
form.value.productName = findNodeById(productOptions.value, value);
+ modelList({ id: value }).then((res) => {
+ modelOptions.value = res;
+ })
};
const findNodeById = (nodes, productId) => {
for (let i = 0; i < nodes.length; i++) {
@@ -219,13 +221,15 @@
const submitForm = () => {
proxy.$refs.formRef.validate(valid => {
if (valid) {
+ // 鐘舵�佸瓧娈典笉鍦ㄨ〃鍗曞~鍐欙紝涔熶笉浼犵粰鍚庣
+ const { inspectState, ...payload } = (form.value || {})
if (operationType.value === "add") {
- qualityUnqualifiedAdd(form.value).then(res => {
+ qualityUnqualifiedAdd(payload).then(res => {
proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
closeDia();
})
} else {
- qualityUnqualifiedUpdate(form.value).then(res => {
+ qualityUnqualifiedUpdate(payload).then(res => {
proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
closeDia();
})
--
Gitblit v1.9.3