From 2bea732496b4f5051233ed94e206160992351596 Mon Sep 17 00:00:00 2001
From: yuxc <yuxc@vci-tech.com>
Date: 星期三, 15 一月 2025 11:02:06 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/plt-web/plt-web-ui/src/components/PLT-basic-component/basicForm.vue |   80 +++++++++++++++++++++------------------
 1 files changed, 43 insertions(+), 37 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/basicForm.vue b/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/basicForm.vue
index f1650ee..d09d91f 100644
--- a/Source/plt-web/plt-web-ui/src/components/PLT-basic-component/basicForm.vue
+++ b/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">
+  <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'"
@@ -83,6 +83,7 @@
   },
   data() {
     return {
+      loading:false,
       form: this.formData,
       option: {
         menuBtn:false,
@@ -98,10 +99,6 @@
         text: "input",
         combox: "select",
         truefalse: "switch",
-        number: "number",
-        textarea: "textarea",
-        datetime: "datetime",
-        date: "date",
         refer: "refer",
         multiFile:"upload",
         richText:'richText'
@@ -189,42 +186,45 @@
       let col= {
         ...item,
         label: item.text,
-        prop: item.field,
-        showProp:item.showField,
+        prop: item.prop || item.field,
+        showProp: item.showProp || item.showField,
         type: type,
-        labelWidth: this.labelWidth || (item.text.length >= 6 ? 115 : 90),
-        disabled: item.readOnly || this.disabled,
+        labelWidth: item.labelWidth || this.labelWidth || (item.text.length >= 6 ? 115 : 90),
+        disabled: item.disabled || this.disabled,
+        readonly: item.readonly || item.readOnly,
         span: item.span
           ? item.span
           : item.type === "textarea"
             ? 24
             : this.span,
-        value: item.defaultValue,
-        display: !item.hidden,
-        labelSuffix: item.suffix,
-        suffixIcon: item.prefix,
-        tip: item.tooltips,
-        dictCode: item.comboxKey,
-        valueFormat: item.dateFormate || "yyyy-MM-dd HH:mm:ss",
-        format: item.dateFormate,
-        rules: this.isEdit?(type=="select" || type=="refer" || type=="date" || type=="datetime"?[{
+        value: item.value || item.defaultValue,
+        display: item.display || !item.hidden,
+        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,
+        format: item.format || item.dateFormate,
+      };
+      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;
@@ -238,20 +238,20 @@
           col.display=false
         }
       }
-      if (col.type === "select") {
-        if(col.data && col.data.length>0){
+      if (col.type === "select" || col.type==='radio' || col.type==='checkbox') {
+        if (col.data && col.data.length > 0) {
           col.dicData = col.data.map((d) => {
             return {
               label: d.key,
               key: d.value,
               value: d.value,
-              attributes:d.attributes
+              attributes: d.attributes
             };
           });
-        }else if(!validatenull(col.dictCode)) {
+        } else if (!validatenull(col.dictCode)) {
           getDicts(col.dictCode).then((res) => {
-            if (res.data.success){
-              if(res.data.data && res.data.obj == null){
+            if (res.data.success) {
+              if (res.data.data && res.data.obj == null) {
                 res.data.obj = res.data.data
               }
               const dic = res.data.obj;
@@ -260,7 +260,7 @@
                   label: d.value,
                   key: d.key,
                   value: d.key,
-                  attributes:d.attributes
+                  attributes: d.attributes
                 };
               });
             }
@@ -326,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);
@@ -339,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()
     }
   },
 };

--
Gitblit v1.9.3