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