From 59765cab961847dfd101e69ae6d8d1d501a5284c Mon Sep 17 00:00:00 2001
From: yuxc <yuxc@vci-tech.com>
Date: 星期二, 04 六月 2024 11:10:28 +0800
Subject: [PATCH] 1、ice配置文件上传
---
Source/ProjectWeb/src/components/actions/AddEditDialog.vue | 164 +++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 125 insertions(+), 39 deletions(-)
diff --git a/Source/ProjectWeb/src/components/actions/AddEditDialog.vue b/Source/ProjectWeb/src/components/actions/AddEditDialog.vue
index 3d288d5..0ddfd45 100644
--- a/Source/ProjectWeb/src/components/actions/AddEditDialog.vue
+++ b/Source/ProjectWeb/src/components/actions/AddEditDialog.vue
@@ -15,7 +15,10 @@
:style="fullscreen?'':'height:'+height"
:isEdit="true"
:formItems="formItems"
- :formData="form">
+ :formData="form"
+ :initValue="paramVOS.initvalue"
+ :uploadattachment="paramVOS.uploadattachment || false"
+ @getFormData="getFormData">
</basic-form>
<ui-view ref="uiViewRef" v-else-if="paramVOS.context"
:key="'AddEditDialog-'+type"
@@ -24,12 +27,15 @@
:context="paramVOS.context"
:inDialog="true"
:canEdit="true"
+ :actionType="type"
:sourceData="sourceData"
:dataStore="dataStore"
:paramVOS="paramVOS"
+ @getFormData="getFormData"
></ui-view>
<div v-if="showSave" class="dialog-footer avue-dialog__footer">
- <el-button type="primary" plain size="small" @click="saveHandler">淇� 瀛�</el-button>
+ <el-button type="primary" plain size="small" @click="formSave" v-if="paramVOS.form">淇� 瀛�</el-button>
+ <el-button type="primary" plain size="small" @click="contextSave" v-else>淇� 瀛�</el-button>
<el-button size="small" @click="dialogClose">鍙� 娑�</el-button>
<el-button size="small" @click="resetValue" v-if="paramVOS.form">閲� 缃�</el-button>
</div>
@@ -38,6 +44,7 @@
<script>
import uiView from "@/views/base/UIContentViewerInDialog"
+import {parseEventByUrl} from "@/components/actions/base/BaseAction"
import {getFormDefineById,dataForm} from "@/api/base/ui";
import {addSave,editSave} from "@/api/base/actions"
import {validatenull} from "@/util/validate"
@@ -68,7 +75,10 @@
showSave:this.paramVOS.customBtn || true,
span:12,
formItems:[],
- form:{}
+ form:{},
+ btmDefaultKeys : ['oid', 'id', 'name', 'description', 'revisionoid', 'nameoid', 'btmname', 'lastr', 'firstr', 'lastv', 'firstv', 'creator', 'createtime', 'lastModifier', 'lastmodifytime', 'revisionrule', 'revisionseq', 'revisionvalue', 'versionrule', 'versionseq', 'versionvalue', 'lcstatus', 'ts', 'owner', 'checkinby', 'checkintime', 'checkoutby', 'checkouttime', 'copyfromversion', 'secretgrade'],
+ linkDefaultKeys :['oid','creator','createtime','lastmodifier','lastmodifytime','f_oid','foid','f_revisionoid','frevisionoid','f_nameoid','fnameoid','f_btmname','fbtmname','t_oid','toid','t_revisionoid','trevisionoid','t_nameoid','tnameoid','t_btmname','tbtmname','ts']
+
}
},
computed:{
@@ -109,7 +119,7 @@
created() {
},
watch: {
- sourceData: {
+ paramVOS: {
handler(val) {
if (this.paramVOS.form) {
this.onLoad();
@@ -129,7 +139,6 @@
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;
}
@@ -146,7 +155,7 @@
formDefineId: this.paramVOS.form,
oid: this.dataStore[0].oid
}, sourceDataMap), this.paramVOS.getdataurl, this.paramVOS.getdatamethod).then(res => {
- this.form = res.data.obj;
+ this.form=res.data.obj;
this.loading = false;
}).catch(error => {
this.$message.error(error);
@@ -160,57 +169,134 @@
}
},
- saveHandler() {
- if(this.paramVOS.form){
- this.$refs.formRef.validate((valid, done) => {
- if (valid) {
- this.saveValue(this.form)
+ contextSave(){
+ const useDataType=this.paramVOS["useDataType"] || "form";//浣跨敤ui涓婁笅鏂囦腑鐨勫摢涓被鍨嬫暟鎹紝榛樿form銆傚�硷細form銆乼ree銆乼able銆乀reeTable
+ for(let key in this.$refs.uiViewRef.data){
+ if(this.$refs.uiViewRef.data[key].type== useDataType){
+ this.form=this.$refs.uiViewRef.data[key].data;
+ this.formDefineId=this.$refs.uiViewRef.data[key].DefineVO.id;
+ if (this.paramVOS.savebeforeevent) {
+ var urlobj = parseEventByUrl(this.paramVOS.savebeforeevent,null,null,'doAction');
+ import(`./${urlobj.jsPath}.js`).then(module => {
+ module[urlobj.methodName]({
+ paramVOS: this.paramVOS,
+ dataStore: this.dataStore,
+ sourceData:this.sourceData
+ },this.formSaveHandle);
+ })
} else {
-
+ this.formSaveHandle();
}
- });
- }else{
- //this.$refs.uiViewRef.
- debugger;
- if(this.saveCallback){
- this.saveCallback({});
+ return;
}
}
-
},
- saveValue(savedata){
- if(this.type=="add"){
- addSave(savedata,this.paramVOS.url,this.paramVOS.method).then(() => {
- this.$message({
- type: "success",
- message: "淇濆瓨鎴愬姛!"
- });
- if(this.saveCallback){
- this.saveCallback(savedata);
+ formSave() {
+ let that=this;
+ this.$refs.formRef.validate((valid, done) => {
+ if (valid) {
+ this.formDefineId=this.paramVOS.form;
+ if (this.paramVOS.savebeforeevent) {
+ var urlobj = parseEventByUrl(this.paramVOS.savebeforeevent,null,null,'doAction');
+ import(`./${urlobj.jsPath}.js`).then(module => {
+ module[urlobj.methodName]({
+ paramVOS: this.paramVOS,
+ dataStore: this.dataStore,
+ sourceData:this.sourceData
+ },that.formSaveHandle);
+ })
+ } else {
+ that.formSaveHandle();
}
- this.dialogClose();
- }).error((e) => {
- this.$message.error(e||"淇濆瓨澶辫触")
+ } else {
+ return false;
+ }
+ });
+ },
+ formSaveHandle(){
+ let that=this;
+ let formValues = this.getValues();
+ if(formValues.otherValue.releaseFileOids){
+ formValues.otherValue.releaseFileOids=formValues.otherValue.releaseFileOids.split(',');
+ }
+ if (!formValues.defaultValues.btmname) {
+ formValues.defaultValues.btmname = this.paramVOS.type;
+ }
+ let datas = {
+ formDefineId: this.formDefineId,
+ preEvent: this.paramVOS.preevent,
+ afterEvent: this.paramVOS.afterevent,
+ beforeServerEvent: this.paramVOS.beforeserverevent,
+ afterServerEvent: this.paramVOS.afterserverevent,
+ releaseFileOids: formValues.otherValue.releaseFileOids||[],
+ data: formValues.otherValue
+ }
+ Object.assign(datas, formValues.defaultValues);
+ if(that.type=="add"){
+ addSave(datas,that.paramVOS.url,that.paramVOS.method).then(() => {
+ that.$message({
+ type: "success",
+ message: that.paramVOS.successmsg||"淇濆瓨鎴愬姛!"
+ });
+ if(that.saveCallback){
+ that.saveCallback(that.type,that.form);
+ }
+ if (this.paramVOS.saveafterevent) {
+ let urlobj = parseEventByUrl(this.paramVOS.saveafterevent,null,null,'doAction');
+ import(`./${urlobj.jsPath}.js`).then(module => {
+ module[urlobj.methodName]({
+ paramVOS: this.paramVOS,
+ dataStore: this.dataStore,
+ sourceData:this.sourceData
+ });
+ })
+ }
+ that.dialogClose();
});
}else{
- editSave(savedata,this.paramVOS.url,this.paramVOS.method).then(() => {
- this.$message({
+ editSave(datas,that.paramVOS.url,that.paramVOS.method).then(() => {
+ that.$message({
type: "success",
- message: "淇敼鎴愬姛!"
+ message: that.paramVOS.successmsg||"淇敼鎴愬姛!"
});
- if(this.saveCallback){
- this.saveCallback(savedata);
+ if(that.saveCallback){
+ that.saveCallback(that.type,that.form);
}
- this.dialogClose();
- }).error((e) => {
- this.$message.error(e||"淇敼澶辫触")
+ if (this.paramVOS.saveafterevent) {
+ let urlobj = parseEventByUrl(this.paramVOS.saveafterevent,null,null,'doAction');
+ import(`./${urlobj.jsPath}.js`).then(module => {
+ module[urlobj.methodName]({
+ paramVOS: this.paramVOS,
+ dataStore: this.dataStore,
+ sourceData:this.sourceData
+ });
+ })
+ }
+ that.dialogClose();
});
+ }
+ },
+ getValues(){
+ let defaultValues = {}, otherValue = {};
+ for (var key in this.form) {
+ if (this.btmDefaultKeys.indexOf(key.toLowerCase()) > -1) {
+ defaultValues[key] = this.form[key];
+ } else {
+ otherValue[key] = this.form[key];
+ }
+ }
+ return {
+ defaultValues:defaultValues,
+ otherValue:otherValue
}
},
resetValue() {
if (this.paramVOS.form) {
this.$refs.formRef.resetFields();
}
+ },
+ getFormData(form) {
+ this.form = form;
}
}
}
--
Gitblit v1.9.3