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