| | |
| | | <el-form-item label="参数类型" |
| | | prop="paramType"> |
| | | <el-select v-model="formData.paramType" |
| | | @change="handleParamTypeChange" |
| | | placeholder="请选择参数类型"> |
| | | <el-option label="数值格式" |
| | | value="1" /> |
| | |
| | | <el-form-item label="取值模式" |
| | | prop="valueMode"> |
| | | <el-select v-model="formData.valueMode" |
| | | @change="handleValueModeChange" |
| | | placeholder="请选择取值模式"> |
| | | <el-option label="单值" |
| | | value="1" /> |
| | |
| | | <el-input v-model="formData.unit" |
| | | placeholder="请输入单位" /> |
| | | </el-form-item> |
| | | <el-form-item label="默认值" |
| | | v-if="formData.valueMode === '1'" |
| | | prop="defaultValue"> |
| | | <el-input v-model="formData.defaultValue" |
| | | placeholder="请输入默认值" /> |
| | | <el-form-item label="取值格式" |
| | | v-if="formData.paramType == '1' || formData.paramType == '2'" |
| | | prop="paramFormat"> |
| | | <el-input v-model="formData.paramFormat" |
| | | placeholder="请输入取值格式" /> |
| | | </el-form-item> |
| | | <el-form-item label="最小值" |
| | | v-if="formData.valueMode === '2'" |
| | | prop="defaultMin"> |
| | | <el-input v-model="formData.defaultMin" |
| | | placeholder="请输入最小值" /> |
| | | <el-form-item label="下拉字典" |
| | | v-else-if="formData.paramType == '3'" |
| | | prop="paramFormat"> |
| | | <el-select v-model="formData.paramFormat" |
| | | placeholder="请选择取值模式"> |
| | | <el-option v-for="item in dictTypes" |
| | | :key="item.dictType" |
| | | :label="item.dictName" |
| | | :value="item.dictType" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="最大值" |
| | | v-if="formData.valueMode === '2'" |
| | | prop="defaultMax"> |
| | | <el-input v-model="formData.defaultMax" |
| | | placeholder="请输入最大值" /> |
| | | <el-form-item label="时间格式" |
| | | v-else-if="formData.paramType == '4'" |
| | | prop="paramFormat"> |
| | | <el-select v-model="formData.paramFormat" |
| | | placeholder="请选择取值模式"> |
| | | <el-option label="YYYY-MM-DD" |
| | | value="YYYY-MM-DD" /> |
| | | <el-option label="YYYY-MM-DD HH:mm:ss" |
| | | value="YYYY-MM-DD HH:mm:ss" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="是否必填" |
| | | prop="isRequired"> |
| | |
| | | prop: "unit", |
| | | }, |
| | | { |
| | | label: "默认值", |
| | | prop: "defaultValue", |
| | | label: "取值格式", |
| | | prop: "paramFormat", |
| | | formatData: (val, row) => { |
| | | return row.valueMode === 2 ? "-" : val; |
| | | }, |
| | | }, |
| | | { |
| | | label: "最小值", |
| | | prop: "defaultMin", |
| | | formatData: (val, row) => { |
| | | return row.valueMode === 1 ? "-" : val; |
| | | }, |
| | | }, |
| | | { |
| | | label: "最大值", |
| | | prop: "defaultMax", |
| | | formatData: (val, row) => { |
| | | return row.valueMode === 1 ? "-" : val; |
| | | if (row.paramType == "3") { |
| | | const dict = dictTypes.value.find(item => item.dictType === val); |
| | | return dict ? "字典:" + dict.dictName : val; |
| | | } |
| | | return val; |
| | | }, |
| | | }, |
| | | { |
| | |
| | | size: 10, |
| | | total: 0, |
| | | }); |
| | | const handleValueModeChange = val => { |
| | | if (val === "2") { |
| | | formData.defaultMin = ""; |
| | | formData.defaultMax = ""; |
| | | } else { |
| | | formData.defaultValue = ""; |
| | | } |
| | | }; |
| | | |
| | | // 搜索表单 |
| | | const searchForm = reactive({ |
| | | paramName: "", |
| | |
| | | paramType: "", |
| | | valueMode: "1", |
| | | unit: "", |
| | | defaultValue: "", |
| | | defaultMin: "", |
| | | defaultMax: "", |
| | | isRequired: "0", |
| | | remark: "", |
| | | }); |
| | |
| | | paramName: [{ required: true, message: "请输入参数名称", trigger: "blur" }], |
| | | paramType: [{ required: true, message: "请选择参数类型", trigger: "change" }], |
| | | valueMode: [{ required: true, message: "请选择取值模式", trigger: "change" }], |
| | | unit: [{ required: true, message: "请输入单位", trigger: "blur" }], |
| | | unit: [ |
| | | { |
| | | required: false, |
| | | message: "请输入单位", |
| | | trigger: "blur", |
| | | validator: (rule, value, callback) => { |
| | | if (formData.paramType === "1" && !value) { |
| | | callback(new Error("数值类型必须填写单位")); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }, |
| | | }, |
| | | ], |
| | | }); |
| | | // const productTypes = ref([]); |
| | | const isEdit = ref(false); |
| | |
| | | // typeName: [{ required: true, message: "请输入类型名称", trigger: "blur" }], |
| | | // }); |
| | | // const isProductTypeEdit = ref(false); |
| | | const handleParameterTypeChange = () => { |
| | | if (formData.parameterType === "数值格式") { |
| | | formData.parameterFormat = "#.0000"; |
| | | } else if (formData.parameterType === "时间格式") { |
| | | formData.parameterFormat = "YYYY-MM-DD HH:mm:ss"; |
| | | const handleParamTypeChange = () => { |
| | | if (formData.paramType === "1") { |
| | | formData.paramFormat = "#.0000"; |
| | | } else if (formData.paramType === "4") { |
| | | formData.paramFormat = "YYYY-MM-DD HH:mm:ss"; |
| | | } else { |
| | | formData.parameterFormat = ""; |
| | | formData.paramFormat = ""; |
| | | } |
| | | // 触发单位字段验证 |
| | | if (formRef.value) { |
| | | formRef.value.validateField("unit"); |
| | | } |
| | | }; |
| | | // 产品类型维护按钮点击事件 - 已注释 |
| | |
| | | formData.paramType = ""; |
| | | formData.valueMode = "1"; |
| | | formData.unit = ""; |
| | | formData.defaultValue = ""; |
| | | formData.defaultMin = ""; |
| | | formData.defaultMax = ""; |
| | | formData.isRequired = "0"; |
| | | formData.remark = ""; |
| | | dialogVisible.value = true; |
| | |
| | | formData.valueMode = |
| | | row.valueMode !== undefined ? String(row.valueMode) : "1"; |
| | | formData.unit = row.unit || ""; |
| | | formData.defaultValue = |
| | | row.defaultValue !== undefined ? String(row.defaultValue) : ""; |
| | | formData.defaultMin = |
| | | row.defaultMin !== undefined ? String(row.defaultMin) : ""; |
| | | formData.defaultMax = |
| | | row.defaultMax !== undefined ? String(row.defaultMax) : ""; |
| | | formData.isRequired = |
| | | row.isRequired !== undefined ? String(row.isRequired) : "0"; |
| | | formData.remark = row.remark || ""; |