From e6a35cef322110bdae782266dfac11eb4f7cdce1 Mon Sep 17 00:00:00 2001
From: yuxc <yuxc@vci-tech.com>
Date: 星期三, 05 六月 2024 11:23:07 +0800
Subject: [PATCH] 对象引用改动。
---
Source/ProjectWeb/src/views/base/UIContentViewer.vue | 131 ++++++++++++++++++++++++++++++-------------
1 files changed, 90 insertions(+), 41 deletions(-)
diff --git a/Source/ProjectWeb/src/views/base/UIContentViewer.vue b/Source/ProjectWeb/src/views/base/UIContentViewer.vue
index 7eb33d1..8279a53 100644
--- a/Source/ProjectWeb/src/views/base/UIContentViewer.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentViewer.vue
@@ -1,44 +1,64 @@
<template>
<!--UI涓婁笅鏂囩殑灞曠ず鍣�-->
- <div style="height:calc(100% - 4px);min-width:1200px">
+ <div style="height:calc(100% - 4px);min-width:1200px" >
<el-header v-if="uiDefineVO.northAreas && uiDefineVO.northAreas.length>0">
- <UIContentArea :key="'northArea-'+uiDefineVO.oid" areas-name="northArea"
+ <UIContentArea :key="'northArea-'+uiDefineVO.oid"
+ :uiBtmType="btmType"
+ :uiContext="context"
:areasData="uiDefineVO.northAreas"
+ :dataStore="checkedData.northArea.data"
:inDialog="inDialog"
:sourceData="sourceData"
- :dataStore="checkedData.northArea"
+ :sourceBtmType="btmType"
+ areas-name="northArea"
@setDataStore="setDataStore">
</UIContentArea>
</el-header>
- <el-container :style="'height: '+(uiDefineVO.northAreas && uiDefineVO.northAreas.length>0?'calc(100% - 70px)':'100%')">
- <el-aside v-if="uiDefineVO.westAreas && uiDefineVO.westAreas.length>0" :width="uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='table' || uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='TreeTable'?'420px':'320px'" height="100%">
- <UIContentArea :key="'westArea-'+uiDefineVO.oid" areas-name="westArea"
- cradStyle=""
+ <el-container
+ :style="'height: '+(uiDefineVO.northAreas && uiDefineVO.northAreas.length>0?'calc(100% - 70px)':'100%')">
+ <el-aside v-if="uiDefineVO.westAreas && uiDefineVO.westAreas.length>0"
+ :width="uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='table' || uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='TreeTable'?'420px':'320px'"
+ height="100%">
+ <UIContentArea :key="'westArea-'+uiDefineVO.oid"
+ :uiBtmType="btmType"
+ :uiContext="context"
:areasData="uiDefineVO.westAreas"
+ :dataStore="checkedData.westArea.data"
:inDialog="inDialog"
:sourceData="sourceData"
- :dataStore="checkedData.westArea"
+ :sourceBtmType="btmType"
+ areas-name="westArea"
+ cradStyle=""
@setDataStore="setDataStore">
</UIContentArea>
</el-aside>
- <el-container style="height: 100%">
- <el-main v-if="uiDefineVO.centerAreas && uiDefineVO.centerAreas.length>0" :style="'height: '+centerHeight">
- <UIContentArea :key="'centerArea-'+uiDefineVO.oid" areas-name="centerArea"
- cradStyle=""
+ <el-container style="height: 100%;display: block">
+ <el-main v-if="uiDefineVO.centerAreas && uiDefineVO.centerAreas.length>0" :style="'min-height: 300px;height: '+centerHeight">
+ <UIContentArea :key="'centerArea-'+uiDefineVO.oid"
+ :uiBtmType="btmType"
+ :uiContext="context"
:areasData="uiDefineVO.centerAreas"
+ :dataStore="checkedData.centerArea.data"
:inDialog="inDialog"
- :sourceData="checkedData.westArea[checkedData.westArea.length-1]"
- :dataStore="checkedData.centerArea"
+ :sourceData="checkedData.westArea.data[checkedData.westArea.data.length-1]"
+ :sourceBtmType="checkedData.westArea.DefineVOBtmType"
+ areas-name="centerArea"
+ cradStyle=""
@setDataStore="setDataStore">
</UIContentArea>
</el-main>
- <el-footer v-if="uiDefineVO.southAreas && uiDefineVO.southAreas.length>0" height="35%" style="max-height: 300px">
- <UIContentArea :key="'southArea-'+uiDefineVO.oid" areas-name="southArea"
- cradStyle=""
+ <el-footer v-if="uiDefineVO.southAreas && uiDefineVO.southAreas.length>0" height="35%"
+ style="min-height: 150px;">
+ <UIContentArea :key="'southArea-'+uiDefineVO.oid"
+ :uiBtmType="btmType"
+ :uiContext="context"
:areasData="uiDefineVO.southAreas"
+ :dataStore="checkedData.southArea.data"
:inDialog="inDialog"
- :sourceData="checkedData.centerArea[checkedData.centerArea.length-1]"
- :dataStore="checkedData.southArea"
+ :sourceData="checkedData.centerArea.data[checkedData.centerArea.data.length-1]"
+ :sourceBtmType="checkedData.centerArea.DefineVOBtmType"
+ areas-name="southArea"
+ cradStyle=""
@setDataStore="setDataStore">
</UIContentArea>
</el-footer>
@@ -48,9 +68,9 @@
</template>
<script>
-import { verifyNull } from "@/util/validate";
+import {verifyNull} from "@/util/validate";
import UIContentArea from "@/views/base/UIContentArea"
-import {uiDefineVOData} from "@/views/base/uiDefineVO"
+import {getUIContext} from '@/api/base/ui'
export default {
name: "UIContentViewer",
@@ -58,13 +78,25 @@
data() {
return {
btmType: '',//涓氬姟绫诲瀷锛堟垨閾炬帴绫诲瀷锛�
- content: '',//UI涓婁笅鏂囩殑鍚嶇О
+ context: '',//UI涓婁笅鏂囩殑鍚嶇О
checkedData: {
//鍚勫尯鍩熼�変腑鏁版嵁
- northArea: [{}],
- westArea: [{}],
- centerArea: [{}],
- southArea: [{}]
+ northArea: {
+ DefineVOBtmType:'',
+ data:[{}]
+ },
+ westArea: {
+ DefineVOBtmType:'',
+ data:[{}]
+ },
+ centerArea: {
+ DefineVOBtmType:'',
+ data:[{}]
+ },
+ southArea: {
+ DefineVOBtmType:'',
+ data:[{}]
+ }
},
uiDefineVO: {},
centerHeight: '100%',
@@ -73,45 +105,62 @@
sourceData: {},
}
},
- watch: {},
- computed: {},
+ watch: {
+ $route(to, from) {
+ this.getTheParameters()
+ this.initUI();
+ }
+ },
+ computed: {
+ typeAndContext(){
+ return this.btmType+this.context;
+ }
+ },
created() {
if (verifyNull(this.$route.query.type) || (verifyNull(this.$route.query.context) && verifyNull(this.$route.query.content))) {
- this.$message.error("閰嶇疆鐨勪俊鎭敊璇紝璇峰弬鑰僢s=?type=xxx&context=yyy¶m=zzz杩欑褰㈠紡銆傚叾涓璽ype鏄笟鍔$被鍨嬶紙鎴栭摼鎺ョ被鍨嬶級锛宑ontext鏄疷I涓婁笅鏂囩殑鍚嶇О");
+ this.$message.error("閰嶇疆鐨勪俊鎭敊璇紝璇峰弬鑰冣��?type=xxx&context=yyy¶m=zzz鈥濊繖绉嶅舰寮忋�傚叾涓璽ype鏄笟鍔$被鍨嬶紙鎴栭摼鎺ョ被鍨嬶級锛宑ontext鏄疷I涓婁笅鏂囩殑鍚嶇О");
return false;
}
- this.btmType=this.$route.query.type;
- this.content=this.$route.query.context ||this.$route.query.content;
- this.sourceData=this.$route.query;
+ this.getTheParameters()
this.initUI();
- this.initContent();
},
methods: {
- initUI() {
- this.uiDefineVO = uiDefineVOData;
+ getTheParameters(){
+ this.btmType = this.$route.query.type;
+ this.context = this.$route.query.context || this.$route.query.content;
+ this.sourceData = this.$route.query;
},
- initContent() {
+ initUI() {
+ getUIContext({btmType: this.btmType, id: this.context}).then(res => {
+ this.uiDefineVO = res.data.obj;
+ this.initContext();
+ })
+ },
+ initContext() {
if (this.uiDefineVO.southAreas && this.uiDefineVO.southAreas.length > 0) {
- this.centerHeight = 'calc(100% - 310px)';
+ this.centerHeight = '65%';
} else {
this.centerHeight = '100%';
}
},
setDataStore(value) {
- this.checkedData[value.area] = value.dataStore;
+ this.checkedData[value.area].DefineVOBtmType = value.btmType;
+ this.checkedData[value.area].data = value.dataStore;
}
}
}
</script>
<style scoped>
-.el-container{
+.el-container {
padding: 0 !important;
}
-.el-header,.el-aside,.el-main,.el-footer{
+
+.el-header, .el-aside, .el-main, .el-footer {
padding: 0;
}
-.el-header{
+
+.el-header {
margin-bottom: 10px;
}
</style>
--
Gitblit v1.9.3