wangting
2024-04-30 f5f8aaedd1d488fb20a293182dd7a40e2e82096e
Source/ProjectWeb/src/components/PLT-basic-component/basicForm.vue
@@ -1,6 +1,6 @@
<template>
  <!--动态模板-->
  <avue-form ref="formRef" :option="option" v-model="form">
  <avue-form ref="form" :option="option" v-model="form">
    <template v-for="item in allColumn" :slot="item.prop+ ''">
      <vciWebRefer
        v-if="item.type === 'refer'"
@@ -141,7 +141,7 @@
            }
          }
        }
        this.$emit("input", val);
        this.$emit("getFormData", val);
      },
      deep: true,
      immediate: true
@@ -187,17 +187,26 @@
            ? 24
            : this.span,
        value: item.defaultValue,
        dicData: type === 'select' ? item.dicData : item.dicUrl,
        display: !item.hidden,
        labelSuffix: item.suffix,
        suffixIcon: item.prefix,
        tip: item.tooltips,
        dictCode: item.comboxKey,
        rules: this.isEdit?[{
        valueFormat: item.dateFormate || "yyyy-MM-dd HH:mm:ss",
        format: item.dateFormate,
        rules: this.isEdit?(type=="select" || type=="refer" || type=="date" || type=="datetime"?[{
          required: item.required,
          message: `请选择${item.text}!`,
          trigger: "change"
        },{
          required: item.required,
          message: `请选择${item.text}!`,
          trigger: "submit"
        }]:[{
          required: item.required,
          message: `请输入${item.text}!`,
          trigger: "blur"
        }]:[]
        }]):[]
      };
      if(!this.isEdit){
        col.placeholder=col.label;
@@ -208,8 +217,16 @@
        console.log('col',col)
      }
      if (col.type === "select") {
        // console.log('col',col)
        if(!validatenull(col.dictCode)) {
        if(col.data && col.data.length>0){
          col.dicData = col.data.map((d) => {
            return {
              label: d.value,
              key: d.key,
              value: d.key,
              attributes:d.attributes
            };
          });
        }else if(!validatenull(col.dictCode)) {
          getDicts(col.dictCode).then((res) => {
            if (res.data.success){
              if(res.data.data && res.data.obj == null){
@@ -283,6 +300,27 @@
          }
        }
      }
    },
    // 表单校验
    validate(done) {
      return new Promise((resolve) => {
        this.$refs.form.validate((valid,fields) => {
          done(valid,fields);
          if (valid) {
            resolve(true);
            this.ValidataValue = true;
          } else {
            resolve(false);
            return false;
          }
        });
      });
    },
    resetFields(){
      this.$refs.form.resetFields()
    },
    clearValidate(props){
      this.$refs.form.clearValidate(props)
    }
  },
};