From ded3890236e8d2371afc44c48631bb0fb9101d76 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期二, 07 五月 2024 18:34:37 +0800
Subject: [PATCH] 表单展示

---
 Source/ProjectWeb/src/components/actions/AddEditDialog.vue |   35 ++++++++++++++++++++++++++---------
 1 files changed, 26 insertions(+), 9 deletions(-)

diff --git a/Source/ProjectWeb/src/components/actions/AddEditDialog.vue b/Source/ProjectWeb/src/components/actions/AddEditDialog.vue
index 11347ab..7e74447 100644
--- a/Source/ProjectWeb/src/components/actions/AddEditDialog.vue
+++ b/Source/ProjectWeb/src/components/actions/AddEditDialog.vue
@@ -16,6 +16,7 @@
                 :isEdit="true"
                 :formItems="formItems"
                 :formData="form"
+                :initValue="paramVOS.initvalue"
                 @getFormData="getFormData">
     </basic-form>
     <ui-view ref="uiViewRef" v-else-if="paramVOS.context"
@@ -116,7 +117,7 @@
   created() {
   },
   watch: {
-    sourceData: {
+    paramVOS: {
       handler(val) {
         if (this.paramVOS.form) {
           this.onLoad();
@@ -136,7 +137,6 @@
         getFormDefineById(this.paramVOS.type,this.paramVOS.form).then(result => {
           this.formItems=result.data.obj.items;
           this.span=result.data.obj.columnOneRow?(24/result.data.obj.columnOneRow) : 12;
-
           if (this.paramVOS.initvalue) {
             this.form=this.paramVOS.initvalue;
           }
@@ -153,7 +153,7 @@
               formDefineId: this.paramVOS.form,
               oid: this.dataStore[0].oid
             }, sourceDataMap), this.paramVOS.getdataurl, this.paramVOS.getdatamethod).then(res => {
-              this.form = res.data.obj;
+              this.form=res.data.obj;
               this.loading = false;
             }).catch(error => {
               this.$message.error(error);
@@ -168,15 +168,32 @@
       }
     },
     contextSave(){
-      debugger;
-      if(this.saveCallback){
-        this.saveCallback({});
+      const useDataType=this.paramVOS["useDataType"] || "form";//浣跨敤ui涓婁笅鏂囦腑鐨勫摢涓被鍨嬫暟鎹紝榛樿form銆傚�硷細form銆乼ree銆乼able銆乀reeTable
+      for(let key in this.$refs.uiViewRef.data){
+        if(this.$refs.uiViewRef.data[key].type== useDataType){
+          this.form=this.$refs.uiViewRef.data[key].data;
+          this.formDefineId=this.$refs.uiViewRef.data[key].DefineVO.id;
+          if (this.paramVOS.savebeforeevent) {
+            var urlobj = parseEventByUrl(this.paramVOS.savebeforeevent,null,null,'doAction');
+            import("../"+urlobj.jsPath+".js").then(module => {
+              module[urlobj.methodName]({
+                paramVOS: this.paramVOS,
+                dataStore: this.dataStore,
+                sourceData:this.sourceData
+              },this.formSaveHandle);
+            })
+          } else {
+            this.formSaveHandle();
+          }
+          return;
+        }
       }
     },
     formSave() {
       let that=this;
       this.$refs.formRef.validate((valid, done) => {
         if (valid) {
+          this.formDefineId=this.paramVOS.form;
           if (this.paramVOS.savebeforeevent) {
             var urlobj = parseEventByUrl(this.paramVOS.savebeforeevent,null,null,'doAction');
             import("../"+urlobj.jsPath+".js").then(module => {
@@ -204,7 +221,7 @@
         formValues.defaultValues.btmname = this.paramVOS.type;
       }
       let datas = {
-        formDefineId: this.paramVOS.form,
+        formDefineId: this.formDefineId,
         preEvent: this.paramVOS.preevent,
         afterEvent: this.paramVOS.afterevent,
         beforeServerEvent: this.paramVOS.beforeserverevent,
@@ -220,7 +237,7 @@
             message: "淇濆瓨鎴愬姛!"
           });
           if(that.saveCallback){
-            that.saveCallback(that.form);
+            that.saveCallback(that.type,that.form);
           }
           that.dialogClose();
         });
@@ -231,7 +248,7 @@
             message: "淇敼鎴愬姛!"
           });
           if(that.saveCallback){
-            that.saveCallback(that.form);
+            that.saveCallback(that.type,that.form);
           }
           that.dialogClose();
         });

--
Gitblit v1.9.3