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/dynamic-components/dynamic-form.vue | 104 ++++++++++++++++++++++++++++++++++------------------
1 files changed, 68 insertions(+), 36 deletions(-)
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
index def378e..4cadbbc 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
@@ -1,15 +1,22 @@
<template>
<div :id="'UI-dynamic-'+areasName+componentVO.oid" class="UI-dynamic">
- <dynamic-button v-if="componentVO && componentVO.buttons" :componentVO="componentVO" :butttonList="componentVO.buttons" :dataStore="[form]" :sourceData="sourceData" type="form"></dynamic-button>
- <basic-form :span="this.componentVO.formDefineVO.columnOneRow?(24/this.componentVO.formDefineVO.columnOneRow) : 12"
+ <dynamic-button v-if="componentVO && componentVO.buttons" :key="areasName+'buttons-'+componentVO.oid"
+ :componentVO="componentVO" :butttonList="componentVO.buttons" :dataStore="[form]" :sourceData="sourceData"
+ @afterMethod="handleRefresh" type="form"></dynamic-button>
+ <basic-form :key="areasName+'basicForm-'+componentVO.oid"
+ :span="this.componentVO.formDefineVO.columnOneRow?(24/this.componentVO.formDefineVO.columnOneRow) : 12"
:formItems="this.componentVO.formDefineVO && this.componentVO.formDefineVO.items"
- :formData="form">
+ :disabled="!inDialog"
+ :isEdit="canEdit"
+ :formData="form"
+ :initValue="paramVOS.initvalue"
+ :uploadattachment="paramVOS.uploadattachment || false"
+ @getFormData="getFormData">
</basic-form>
</div>
</template>
<script>
-
import {dataForm} from "@/api/base/ui";
export default {
@@ -30,6 +37,15 @@
inDialog: {
type: Boolean,
default: false
+ },
+ canEdit:{
+ //鍐呭鏄惁鍙紪杈�
+ type:Boolean,
+ default:false
+ },
+ actionType:{
+ //鎸夐挳鎿嶄綔绫诲瀷
+ default:""
},
areasName: {
type: String,
@@ -73,14 +89,11 @@
form:{
handler(newval) {
if(newval) {
- this.$emit("setDataStore", {
- area: this.areasName,
- type:this.componentVO.uiComponentType,
- btmType:this.componentVO.treeDefineVO.btmType,
- dataStore:[newval]
- });
+
}
- }
+ },
+ deep: true,
+ immediate: true
},
sourceData: {
handler(newval) {
@@ -88,7 +101,9 @@
this.sourceDataMapParams=this.sourceDataMap();
this.getParams();
this.handleRefresh();
- }
+ },
+ deep: true,
+ immediate: true
}
},
created() {
@@ -97,28 +112,28 @@
methods: {
sourceDataMap: function () {
const sourceDataMap = {};
- if (Object.keys(this.sourceData).length>0) {
- if(this.sourceData.oid ) {
+ if (Object.keys(this.sourceData).length > 0) {
+ if (this.sourceData.oid) {
if (this.sourceData.oid.indexOf('@vcitreesep@') > -1) {
this.sourceData.oid = this.sourceData.oid.split('@vcitreesep@')[1];
}
- sourceDataMap.sourceBtmName = this.sourceBtmType;;
+ sourceDataMap.sourceBtmName = this.sourceBtmType;
+ ;
sourceDataMap.sourceOid = this.sourceData.oid;
}
for (let i in this.sourceData) {
- let item = this.sourceData[i]
- if (item && item.constructor === Object) return;
- if (i == 'type' || i == 'context' || i == 'content') return;
+ const item = this.sourceData[i]
+ if (item && item.constructor === Object) continue;
+ if (i == 'type' || i == 'context' || i == 'content') continue;
sourceDataMap['sourceData["' + i + '"]'] = item
}
}
- if (Object.keys(this.paramVOS).length>0) {
- for (let i in this.paramVOS) {
- let item = this.paramVOS[i]
- if (item && item.constructor === Object) return;
- if (i == 'type' || i == 'context' || i == 'content') return;
- sourceDataMap['sourceData["' + i + '"]'] = item
+ if (Object.keys(this.paramVOS).length > 0) {
+ for (let j in this.paramVOS) {
+ if (this.paramVOS[j] && this.paramVOS[j].constructor === Object) continue;
+ if (j == 'type' || j == 'context' || j == 'content' || j == "getdataurl" || j == "getdatamethod" || j == "url" || j == "method" || j == "uploadfileurl" || j == "title") continue;
+ sourceDataMap['sourceData["' + j + '"]'] = this.paramVOS[j]
}
}
return sourceDataMap;
@@ -126,32 +141,49 @@
getParams: function () {
const formParams = {
btmname: this.currentDefineVO.btmType,
- btmType:this.currentDefineVO.btmType,
+ btmType: this.currentDefineVO.btmType,
formDefineId: this.currentDefineVO.id,
- oid:this.currentDefineVO.oid
+ oid: this.currentDefineVO.oid
};
- if(this.dataStore[0] && this.dataStore[0].oid) {
+ if (this.dataStore[0] && this.dataStore[0].oid) {
formParams.oid = this.dataStore[0].oid;
}
const sourceDataMapList = this.sourceDataMapParams;
- this.params = Object.assign({},formParams, sourceDataMapList);
- console.log(this.params)
+ this.params = Object.assign({}, formParams, sourceDataMapList);
},
- onLoad:function () {
- if (Object.keys(this.sourceData).length>0 && this.isShow) {
+ onLoad: function () {
+ if (this.paramVOS.initvalue) {
+ this.form = this.paramVOS.initvalue;
+ }
+ if (Object.keys(this.sourceData).length > 0 && this.isShow && this.actionType != "add") {
this.loading = true;
- dataForm(this.params).then(res => {
- this.form = res.data.obj;
+ dataForm(this.params, this.paramVOS.getdataurl, this.paramVOS.getdatamethod).then(res => {
+ this.form = res.data.obj.data;
this.loading = false;
}).catch(error => {
- this.$message.error(error);
this.loading = false;
});
}
},
- handleRefresh(){
-
+ handleRefresh() {
+ this.form = {}
+ this.onLoad();
+ },
+ getFormData(form) {
+ this.form = form;
+ this.$emit("setDataStore", {
+ area: this.areasName,
+ type: this.componentVO.uiComponentType,
+ btmType: this.currentDefineVO.btmType,
+ dataStore: [this.form]
+ });
+ this.$emit("setData", {
+ area: this.areasName,
+ type: this.componentVO.uiComponentType,
+ currentDefineVO: this.currentDefineVO,
+ data: this.form
+ });
}
}
}
--
Gitblit v1.9.3