zhangwencui
5 小时以前 4be9b07e00bea78ae394aec67062b4db9895b565
src/views/basicData/parameterMaintenance/index.vue
@@ -54,6 +54,7 @@
        <el-form-item label="参数类型"
                      prop="paramType">
          <el-select v-model="formData.paramType"
                     @change="handleParamTypeChange"
                     placeholder="请选择参数类型">
            <el-option label="数值格式"
                       value="1" />
@@ -68,7 +69,6 @@
        <el-form-item label="取值模式"
                      prop="valueMode">
          <el-select v-model="formData.valueMode"
                     @change="handleValueModeChange"
                     placeholder="请选择取值模式">
            <el-option label="单值"
                       value="1" />
@@ -81,23 +81,33 @@
          <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">
@@ -242,24 +252,14 @@
      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;
      },
    },
    {
@@ -308,15 +308,6 @@
    size: 10,
    total: 0,
  });
  const handleValueModeChange = val => {
    if (val === "2") {
      formData.defaultMin = "";
      formData.defaultMax = "";
    } else {
      formData.defaultValue = "";
    }
  };
  // 搜索表单
  const searchForm = reactive({
    paramName: "",
@@ -333,9 +324,6 @@
    paramType: "",
    valueMode: "1",
    unit: "",
    defaultValue: "",
    defaultMin: "",
    defaultMax: "",
    isRequired: "0",
    remark: "",
  });
@@ -343,7 +331,20 @@
    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);
@@ -364,13 +365,17 @@
  //   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");
    }
  };
  // 产品类型维护按钮点击事件 - 已注释
@@ -491,9 +496,6 @@
    formData.paramType = "";
    formData.valueMode = "1";
    formData.unit = "";
    formData.defaultValue = "";
    formData.defaultMin = "";
    formData.defaultMax = "";
    formData.isRequired = "0";
    formData.remark = "";
    dialogVisible.value = true;
@@ -510,12 +512,6 @@
    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 || "";