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