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 | 341 ++++++++++++++++++++++++++------------------------------
1 files changed, 161 insertions(+), 180 deletions(-)
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
index 7bc8e9e..4cadbbc 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
@@ -1,209 +1,190 @@
<template>
- <basic-container>
- <el-dialog v-if="dialogFormVisible" :visible.sync="dialogFormVisible" :title="title" append-to-body>
-
- </el-dialog>
- </basic-container>
+ <div :id="'UI-dynamic-'+areasName+componentVO.oid" class="UI-dynamic">
+ <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"
+ :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 {
name: "dynamic-form",
- props:{
- componentVO:{
- type:Object,
+ props: {
+ //ui涓婁笅鏂囩殑涓氬姟绫诲瀷锛堟垨閾炬帴绫诲瀷锛�
+ uiBtmType: {
+ type: String
+ },
+ //ui涓婁笅鏂�
+ uiContext:{
+ type: String
+ },
+ componentVO: {
+ type: Object,
default: {}
},
inDialog: {
type: Boolean,
default: false
},
- areasName:{
- type:String,
- default:''
+ canEdit:{
+ //鍐呭鏄惁鍙紪杈�
+ type:Boolean,
+ default:false
},
- sourceData:{
- //鑿滃崟婧愭暟鎹垨鑰呭脊绐楁椂鎸夐挳鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁
- type:Object,
+ actionType:{
+ //鎸夐挳鎿嶄綔绫诲瀷
+ default:""
+ },
+ areasName: {
+ type: String,
+ default: ''
+ },
+ sourceData: {
+ //鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁
+ type: Object,
default: {}
},
- paramVOS:{
- type:Object,
+ //涓婁竴鍖哄煙涓氬姟绫诲瀷
+ sourceBtmType:{
+ type: String
+ },
+ dataStore: {
+ //寮圭獥鏃舵寜閽墍灞炲尯鍩熼�変腑鏁版嵁
+ type: Array,
+ default: []
+ },
+ paramVOS: {
+ type: Object,
default: {}
},
- visible:{
+ isShow: {
+ //鎵�鍦ㄥ尯鍩熸槸鍚﹀凡鏄剧ず锛岄拡瀵箃ab鍜宑ollapse
type: Boolean,
- default: false,
+ default: true
},
- title:{
- type:String
- }
},
data() {
return {
- formList: [
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: null,
- defaultValue: "",
- displayExtension: "",
- extendAttrMap: null,
- extendAttrString: null,
- field: "name",
- hidden: false,
- keyAttr: false,
- prefix: null,
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: null,
- showField: null,
- suffix: null,
- text: "鍚嶇О",
- tooltips: null,
- type: "text",
- unique: false,
- verify: ""
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: null,
- defaultValue: "",
- displayExtension: "",
- extendAttrMap: null,
- extendAttrString: null,
- field: "code",
- hidden: false,
- keyAttr: false,
- prefix: null,
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: null,
- showField: null,
- suffix: null,
- text: "缂栫爜",
- tooltips: null,
- type: "text",
- unique: false,
- verify: ""
- },
- {
- comboxKey: "EnumReviewType",
- customClass: null,
- data: null,
- dateFormate: null,
- defaultValue: "department",
- displayExtension: "",
- extendAttrMap: null,
- extendAttrString: null,
- field: "reviewtype",
- hidden: false,
- keyAttr: false,
- prefix: null,
- readOnly: true,
- referConfig: null,
- required: false,
- selectLibFlag: null,
- showField: null,
- suffix: null,
- text: "绫诲瀷",
- tooltips: null,
- type: "combox",
- unique: false,
- verify: ""
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: null,
- defaultValue: "",
- displayExtension: "",
- extendAttrMap: null,
- extendAttrString: null,
- field: "content",
- hidden: false,
- keyAttr: false,
- prefix: null,
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: null,
- showField: null,
- suffix: null,
- text: "澶囨敞",
- tooltips: null,
- type: "textarea",
- unique: false,
- verify: ""
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: null,
- defaultValue: "",
- displayExtension: "",
- extendAttrMap: null,
- extendAttrString: null,
- field: "creator",
- hidden: true,
- keyAttr: false,
- prefix: null,
- readOnly: true,
- referConfig: null,
- required: false,
- selectLibFlag: null,
- showField: null,
- suffix: null,
- text: "鍒涘缓浜�",
- tooltips: null,
- type: "text",
- unique: false,
- verify: ""
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "yyyy-MM-dd HH:mm:ss",
- defaultValue: "",
- displayExtension: "",
- extendAttrMap: null,
- extendAttrString: null,
- field: "createtime",
- hidden: true,
- keyAttr: false,
- prefix: null,
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: null,
- showField: null,
- suffix: null,
- text: "鍒涘缓鏃堕棿",
- tooltips: null,
- type: "date",
- unique: false,
- verify: ""
- }
- ],
+ form: {},
+ params:{},
+ sourceDataMapParams:{},
+ currentDefineVO:this.componentVO.formDefineVO,
}
},
- computed:{
- dialogFormVisible: {
- get() {
- return this.visible;
+ mounted() {
+ },
+ watch: {
+ form:{
+ handler(newval) {
+ if(newval) {
+
+ }
},
- set(val) {
- this.$emit("update:visible", val);
- },
+ deep: true,
+ immediate: true
},
+ sourceData: {
+ handler(newval) {
+ //婧愭暟鎹湁鍙樺寲鏃跺彉鏇村綋鍓嶅尯鍩熸暟鎹�
+ this.sourceDataMapParams=this.sourceDataMap();
+ this.getParams();
+ this.handleRefresh();
+ },
+ deep: true,
+ immediate: true
+ }
+ },
+ created() {
+ this.getParams();
+ },
+ methods: {
+ sourceDataMap: function () {
+ const sourceDataMap = {};
+ 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.sourceOid = this.sourceData.oid;
+ }
+ for (let i in this.sourceData) {
+ 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 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;
+ },
+ getParams: function () {
+ const formParams = {
+ btmname: this.currentDefineVO.btmType,
+ btmType: this.currentDefineVO.btmType,
+ formDefineId: this.currentDefineVO.id,
+ oid: this.currentDefineVO.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);
+ },
+ 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, this.paramVOS.getdataurl, this.paramVOS.getdatamethod).then(res => {
+ this.form = res.data.obj.data;
+ this.loading = false;
+ }).catch(error => {
+ this.loading = false;
+ });
+ }
+ },
+ 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
+ });
+ }
}
}
</script>
--
Gitblit v1.9.3