From a2c6cc3e47d67fb6c7bc1d4c71e681d480aa8d6d Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期四, 25 四月 2024 18:06:42 +0800
Subject: [PATCH] 添加action

---
 Source/ProjectWeb/src/components/actions/AddEditDialog.vue |   79 +++++++++++++++++++++++++++++----------
 1 files changed, 58 insertions(+), 21 deletions(-)

diff --git a/Source/ProjectWeb/src/components/actions/AddEditDialog.vue b/Source/ProjectWeb/src/components/actions/AddEditDialog.vue
index 0ee7d33..54343ca 100644
--- a/Source/ProjectWeb/src/components/actions/AddEditDialog.vue
+++ b/Source/ProjectWeb/src/components/actions/AddEditDialog.vue
@@ -8,7 +8,10 @@
              class="avue-dialog avue-dialog--top"
              :destroy-on-close="true"
              @close="dialogClose">
-    <basic-form ref="formRef" v-if="paramVOS.form">
+    <basic-form ref="formRef" v-if="paramVOS.form"
+                :span="span"
+                :formItems="formItems"
+                :formData="form">
     </basic-form>
     <ui-view ref="uiViewRef" v-else-if="paramVOS.content || paramVOS.context"
              :btmType="paramVOS.type"
@@ -29,8 +32,8 @@
 
 <script>
 import uiView from "@/views/base/UIContentViewerInDialog"
-import {dataForm} from "@/api/base/ui";
-import {addSave} from "@/api/base/actions"
+import {getFormDefineById,dataForm} from "@/api/base/ui";
+import {addSave,editSave} from "@/api/base/actions"
 
 export default {
   name: "AddEditDialog",
@@ -58,7 +61,10 @@
   data(){
     return {
       type:"add",
-      visible:false
+      visible:false,
+      span:12,
+      formItems:[],
+      form:{}
     }
   },
   computed:{
@@ -84,33 +90,62 @@
       this.visible = false;
     },
     onLoad: function () {
-      if (Object.keys(this.sourceData).length > 0 && this.isShow) {
+      if (Object.keys(this.sourceData).length > 0) {
         this.loading = true;
-        dataForm(this.params).then(res => {
-          this.form = res.data.obj;
-          this.loading = false;
+        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;
+          }
+          if(this.type=="edit"){
+            //鍔犺浇琛ㄥ崟鏁版嵁
+            dataForm(this.params,this.paramVOS.getdataurl,this.paramVOS.getdatamethod).then(res => {
+              this.form = res.data.obj;
+              this.loading = false;
+            }).catch(error => {
+              this.$message.error(error);
+              this.loading = false;
+            });
+          }
         }).catch(error => {
           this.$message.error(error);
           this.loading = false;
         });
+
       }
     },
     saveHandler() {
       this.$refs.formRef.validate((valid, done) => {
         if (valid) {
-          addSave(this.paramVOS.url,this.paramVOS.method,this.form).then(() => {
-            this.$message({
-              type: "success",
-              message: "鍒涘缓鎴愬姛!"
+          if(this.type=="add"){
+            addSave(this.form,this.paramVOS.url,this.paramVOS.method).then(() => {
+              this.$message({
+                type: "success",
+                message: "淇濆瓨鎴愬姛!"
+              });
+              if(this.saveCallback){
+                this.saveCallback();
+              }
+              this.dialogClose();
+            }).error((e) => {
+              this.$message.error(e||"淇濆瓨澶辫触")
             });
-            if(this.saveCallback){
-              this.saveCallback();
-            }
-            this.dialogClose();
-          }).error((e) => {
-            this.$message.error(e||"鍒涘缓澶辫触")
-          });
-
+          }else{
+            editSave(this.form,this.paramVOS.url,this.paramVOS.method).then(() => {
+              this.$message({
+                type: "success",
+                message: "淇敼鎴愬姛!"
+              });
+              if(this.saveCallback){
+                this.saveCallback();
+              }
+              this.dialogClose();
+            }).error((e) => {
+              this.$message.error(e||"淇敼澶辫触")
+            });
+          }
         } else {
 
         }
@@ -124,5 +159,7 @@
 </script>
 
 <style scoped>
-
+.avue-dialog__footer{
+  margin-bottom: 20px;
+}
 </style>

--
Gitblit v1.9.3