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/actions/base/AddAction.js                    |    2 
 Source/ProjectWeb/src/api/base/actions.js                          |   11 +--
 Source/ProjectWeb/src/components/actions/AddEditDialog.vue         |   79 +++++++++++++++++++-------
 Source/ProjectWeb/src/api/base/ui.js                               |   31 ++++++++-
 Source/ProjectWeb/src/components/PLT-basic-component/BasicForm.vue |    4 
 Source/ProjectWeb/src/actions/base/EditAction.js                   |    4 
 6 files changed, 94 insertions(+), 37 deletions(-)

diff --git a/Source/ProjectWeb/src/actions/base/AddAction.js b/Source/ProjectWeb/src/actions/base/AddAction.js
index bad926f..e233a7e 100644
--- a/Source/ProjectWeb/src/actions/base/AddAction.js
+++ b/Source/ProjectWeb/src/actions/base/AddAction.js
@@ -9,7 +9,7 @@
 export const doAction = (options) => {
   options.paramVOS = paramLow(options.paramVOS)
   const paramVOS = Object.assign({
-    url: 'uiDataController/addSave',
+    url: '/api/uiDataController/addSave',
     method: 'post',
     uploadfileurl: 'vciFileUploadController/uploadFile'
   }, options.paramVOS)
diff --git a/Source/ProjectWeb/src/actions/base/EditAction.js b/Source/ProjectWeb/src/actions/base/EditAction.js
index 032d045..2f8b13f 100644
--- a/Source/ProjectWeb/src/actions/base/EditAction.js
+++ b/Source/ProjectWeb/src/actions/base/EditAction.js
@@ -8,9 +8,9 @@
 export const doAction = (options) => {
   options.paramVOS = paramLow(options.paramVOS)
   const paramVOS = Object.assign({
-    getdataurl: 'uiDataController/dataFormQuery',
+    getdataurl: '/api/uiDataController/dataFormQuery',
     getdatamethod: 'post',
-    url: 'uiDataController/editSave',
+    url: '/api/uiDataController/editSave',
     method: 'put',
     uploadfileurl: 'vciFileUploadController/uploadFile'
   }, options.paramVOS)
diff --git a/Source/ProjectWeb/src/api/base/actions.js b/Source/ProjectWeb/src/api/base/actions.js
index b60e7f3..d704ed5 100644
--- a/Source/ProjectWeb/src/api/base/actions.js
+++ b/Source/ProjectWeb/src/api/base/actions.js
@@ -1,19 +1,18 @@
 import request from '@/router/axios';
 
 // 鏂板
-export const addSave = (url,method,data) => {
-  url='/api/'+(url||"uiDataController/addSave");
+export const addSave = (data,url,method) => {
   return request({
-    url: url,
+    url: url || "/api/uiDataController/addSave",
     method: method || 'post',
     data
   })
 }
 // 淇敼
-export const edit = (data) => {
+export const editSave = (data,url,method) => {
   return request({
-    url: '/api/uiDataController/edit-save',
-    method: 'put',
+    url: url || '/api/uiDataController/edit-save',
+    method: method || 'put',
     data
   })
 }
diff --git a/Source/ProjectWeb/src/api/base/ui.js b/Source/ProjectWeb/src/api/base/ui.js
index e3a82d9..cf56537 100644
--- a/Source/ProjectWeb/src/api/base/ui.js
+++ b/Source/ProjectWeb/src/api/base/ui.js
@@ -45,15 +45,36 @@
 }
 
 //UI涓婁笅鏂囪〃鍗曟煡璇�
-export const dataForm = (params) => {
+export const dataForm = (params,url,method) => {
   let formData = new FormData()
   for(let key in params){
     formData.append(key.replaceAll('"',''),params[key])
   }
+  if(method && method=="get"){
+    return request({
+      url: url || '/api/uiDataController/dataFormQuery',
+      method: method ,
+      params: params,
+    })
+  }else {
+    return request({
+      url: url || '/api/uiDataController/dataFormQuery',
+      method: method || 'post',
+      headers:{"Content-Type": "application/text"},
+      data: formData
+    })
+  }
+
+}
+
+//鏌ヨ琛ㄥ崟椤�
+export const getFormDefineById = (btmType,formId) => {
   return request({
-    url: '/api/uiDataController/dataFormQuery',
-    method: 'post',
-    headers:{"Content-Type": "application/text"},
-    data: formData
+    url: '/api/uiDataController/getFormDefineById',
+    method: 'get',
+    params: {
+      btmType,
+      id:formId
+    }
   })
 }
diff --git a/Source/ProjectWeb/src/components/PLT-basic-component/BasicForm.vue b/Source/ProjectWeb/src/components/PLT-basic-component/BasicForm.vue
index caf71da..f7bc17b 100644
--- a/Source/ProjectWeb/src/components/PLT-basic-component/BasicForm.vue
+++ b/Source/ProjectWeb/src/components/PLT-basic-component/BasicForm.vue
@@ -179,7 +179,7 @@
       }
       if (col.type === "select") {
         if(!validatenull(col.dictCode)) {
-          /*getDicts(col.dictCode).then((res) => {
+          getDicts(col.dictCode).then((res) => {
             if (res.data.success){
               if(res.data.data && res.data.obj == null){
                 res.data.obj = res.data.data
@@ -194,7 +194,7 @@
                 };
               });
             }
-          });*/
+          });
         }
       }
       if (col.propType === "refer"|| col.type==='refer') {
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