From 2d3530a7c11557a40807ad7c0b9e302ce6ce3a9f Mon Sep 17 00:00:00 2001
From: hsy <1029150275@qq.com>
Date: 星期五, 28 八月 2026 10:16:32 +0800
Subject: [PATCH] feat: 综合业务模块页面重构与交互完善
---
src/views/qualityManagement/metricMaintenance/ParamFormDialog.vue | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 52 insertions(+), 4 deletions(-)
diff --git a/src/views/qualityManagement/metricMaintenance/ParamFormDialog.vue b/src/views/qualityManagement/metricMaintenance/ParamFormDialog.vue
index 4c958a0..6aed3dd 100644
--- a/src/views/qualityManagement/metricMaintenance/ParamFormDialog.vue
+++ b/src/views/qualityManagement/metricMaintenance/ParamFormDialog.vue
@@ -20,9 +20,23 @@
<el-form-item label="鍗曚綅" prop="unit">
<el-input v-model="form.unit" placeholder="璇疯緭鍏ュ崟浣�" />
</el-form-item>
- <el-form-item label="鏍囧噯鍊�" prop="standardValue">
+ <el-form-item label="鍙傛暟绫诲瀷" prop="parameterType">
+ <el-radio-group v-model="form.parameterType">
+ <el-radio :label="0">鏂囧瓧</el-radio>
+ <el-radio :label="1">鏁板瓧</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item label="鏍囧噯鍊�" prop="standardValue" v-if="form.parameterType === 0">
<el-input v-model="form.standardValue" placeholder="璇疯緭鍏ユ爣鍑嗗��" />
</el-form-item>
+ <template v-if="form.parameterType === 1">
+ <el-form-item label="鏈�澶у��" prop="maxValue">
+ <el-input-number v-model="form.maxValue" :controls="false" placeholder="璇疯緭鍏ユ渶澶у��" style="width: 100%" />
+ </el-form-item>
+ <el-form-item label="鏈�灏忓��" prop="minValue">
+ <el-input-number v-model="form.minValue" :controls="false" placeholder="璇疯緭鍏ユ渶灏忓��" style="width: 100%" />
+ </el-form-item>
+ </template>
<el-form-item label="鍐呮帶鍊�" prop="controlValue">
<el-input v-model="form.controlValue" placeholder="璇疯緭鍏ュ唴鎺у��" />
</el-form-item>
@@ -52,11 +66,45 @@
const formRef = ref(null)
-const rules = {
- parameterItem: [{ required: true, message: '璇疯緭鍏ュ弬鏁伴」', trigger: 'blur' }],
- unit: [{ required: true, message: '璇疯緭鍏ュ崟浣�', trigger: 'blur' }]
+const validateMaxValue = (rule, value, callback) => {
+ if (value === undefined || value === null || value === '') {
+ callback(new Error('璇疯緭鍏ユ渶澶у��'))
+ } else if (props.form.minValue !== undefined && props.form.minValue !== null && props.form.minValue !== '' && Number(value) < Number(props.form.minValue)) {
+ callback(new Error('鏈�澶у�间笉鑳藉皬浜庢渶灏忓��'))
+ } else {
+ if (props.form.minValue !== undefined && props.form.minValue !== null && props.form.minValue !== '') {
+ formRef.value?.clearValidate('minValue')
+ }
+ callback()
+ }
}
+const validateMinValue = (rule, value, callback) => {
+ if (value === undefined || value === null || value === '') {
+ callback(new Error('璇疯緭鍏ユ渶灏忓��'))
+ } else if (props.form.maxValue !== undefined && props.form.maxValue !== null && props.form.maxValue !== '' && Number(value) > Number(props.form.maxValue)) {
+ callback(new Error('鏈�灏忓�间笉鑳藉ぇ浜庢渶澶у��'))
+ } else {
+ if (props.form.maxValue !== undefined && props.form.maxValue !== null && props.form.maxValue !== '') {
+ formRef.value?.clearValidate('maxValue')
+ }
+ callback()
+ }
+}
+
+const rules = computed(() => {
+ const baseRules = {
+ parameterItem: [{ required: true, message: '璇疯緭鍏ュ弬鏁伴」', trigger: 'blur' }],
+ unit: [{ required: true, message: '璇疯緭鍏ュ崟浣�', trigger: 'blur' }],
+ parameterType: [{ required: true, message: '璇烽�夋嫨鍙傛暟绫诲瀷', trigger: 'change' }]
+ };
+ if (props.form.parameterType === 1) {
+ baseRules.maxValue = [{ required: true, validator: validateMaxValue, trigger: 'blur' }];
+ baseRules.minValue = [{ required: true, validator: validateMinValue, trigger: 'blur' }];
+ }
+ return baseRules;
+})
+
const computedTitle = computed(() => (props.operationType === 'edit' ? '缂栬緫鏍囧噯鍙傛暟' : '鏂板鏍囧噯鍙傛暟'))
const handleConfirm = () => {
--
Gitblit v1.9.3