yuxc
2025-01-15 2bea732496b4f5051233ed94e206160992351596
Source/plt-web/plt-web-ui/src/components/PLT-basic-component/basicForm.vue
@@ -1,6 +1,6 @@
<template>
  <!--动态模板-->
  <avue-form ref="form" :option="option" v-model="form" v-loading="loading">
  <avue-form ref="basicform" :option="option" v-model="form" v-loading="loading">
    <template v-for="item in allColumn" :slot="item.prop+ ''">
      <vciWebRefer
        v-if="item.type === 'refer'"
@@ -187,11 +187,11 @@
        ...item,
        label: item.text,
        prop: item.prop || item.field,
        showProp:item.showProp || item.showField,
        showProp: item.showProp || item.showField,
        type: type,
        labelWidth:item.labelWidth || this.labelWidth || (item.text.length >= 6 ? 115 : 90),
        labelWidth: item.labelWidth || this.labelWidth || (item.text.length >= 6 ? 115 : 90),
        disabled: item.disabled || this.disabled,
        readonly:item.readonly || item.readOnly,
        readonly: item.readonly || item.readOnly,
        span: item.span
          ? item.span
          : item.type === "textarea"
@@ -199,31 +199,32 @@
            : this.span,
        value: item.value || item.defaultValue,
        display: item.display || !item.hidden,
        labelSuffix: item.labelSuffix || item.suffix,
        suffixIcon: item.suffixIcon || item.prefix,
        labelSuffix: item.labelSuffix || item.suffix,
        tip: item.tip || item.tooltips,
        dictCode: item.dictCode || item.comboxKey,
        valueFormat: item.valueFormat ||item.dateFormate ,
        valueFormat: item.valueFormat || item.dateFormate,
        format: item.format || item.dateFormate,
        rules: this.isEdit?(type=="select" || type=="refer" || type=="date" || type=="datetime"?[{
      };
      if(!item.rules || item.rules.length==0){
        col.rules=this.isEdit ? (type == "select" || type == "refer" || type == "date" || type == "datetime" ? [{
          required: item.required || false,
          message: `请选择${item.text}!`,
          trigger: "change"
        },{
          required: item.required|| false,
        }, {
          required: item.required || false,
          message: `请选择${item.text}!`,
          trigger: "submit"
        }]:[{
          required: item.required|| false,
        }] : [{
          required: item.required || false,
          message: `请输入${item.text}!`,
          trigger: "blur"
        },{
          required: item.required|| false,
        }, {
          required: item.required || false,
          message: `请输入${item.text}!`,
          trigger: "submit"
        }]):[],
      };
        }]) : []
      }
      if(!this.isEdit){
        col.placeholder=col.label;
        col.disabled=true;
@@ -325,7 +326,7 @@
    // 表单校验
    validate(done) {
      return new Promise((resolve) => {
        this.$refs.form.validate((valid,fields) => {
        this.$refs.basicform.validate((valid,fields) => {
          done(valid,fields);
          if (valid) {
            resolve(true);
@@ -338,13 +339,19 @@
      });
    },
    resetFields(){
      this.$refs.form.resetFields()
      this.$refs.basicform.resetFields()
    },
    clearValidate(props){
      this.$refs.form.clearValidate(props)
      this.$refs.basicform.clearValidate(props)
    },
    updateDic(prop,data){
      this.$refs.form.updateDic(prop,data)
      this.$refs.basicform.updateDic(prop,data)
    },
    dicInit(){
      this.$refs.basicform.dicInit()
    },
    getPropRef(){
      this.$refs.basicform.getPropRef()
    }
  },
};