From 00c38a06a71962d37a23c8fcd35dcef979df57a5 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 15 三月 2024 16:05:34 +0800
Subject: [PATCH] UI上下文展示引擎
---
Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue | 18 +++++-
Source/ProjectWeb/src/components/dynamic-components/index.vue | 44 +++++++++++---
Source/ProjectWeb/src/views/base/UIContentVIewer.vue | 2
Source/ProjectWeb/src/views/base/UIContentArea.vue | 28 ++++++++-
Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue | 21 +++++++
Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue | 23 +++++++
Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue | 18 +++++-
7 files changed, 134 insertions(+), 20 deletions(-)
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
index 15b6d0b..804a731 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
@@ -7,11 +7,23 @@
name: "dynamic-custom",
props:{
componentVO:{
- type: Object,
- default: {},
+ type:Object,
+ default: {}
+ },
+ inDialog: {
+ type: Boolean,
+ default: false
+ },
+ areasName:{
+ type:String,
+ default:''
},
sourceData:{
- //涓婁竴鍖哄煙閫変腑鏁版嵁
+ //鑿滃崟婧愭暟鎹垨鑰呭脊绐楁椂鎸夐挳鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁
+ type:Object,
+ default: {}
+ },
+ paramVOS:{
type:Object,
default: {}
}
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
index 61a6339..7bc8e9e 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-form.vue
@@ -10,6 +10,27 @@
export default {
name: "dynamic-form",
props:{
+ componentVO:{
+ type:Object,
+ default: {}
+ },
+ inDialog: {
+ type: Boolean,
+ default: false
+ },
+ areasName:{
+ type:String,
+ default:''
+ },
+ sourceData:{
+ //鑿滃崟婧愭暟鎹垨鑰呭脊绐楁椂鎸夐挳鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁
+ type:Object,
+ default: {}
+ },
+ paramVOS:{
+ type:Object,
+ default: {}
+ },
visible:{
type: Boolean,
default: false,
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
index f510742..692fee5 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
@@ -23,6 +23,29 @@
<script>
export default {
name: "dynamic-table",
+ props:{
+ componentVO:{
+ type:Object,
+ default: {}
+ },
+ inDialog: {
+ type: Boolean,
+ default: false
+ },
+ areasName:{
+ type:String,
+ default:''//westArea瀵艰埅鍖�
+ },
+ sourceData:{
+ //鑿滃崟婧愭暟鎹垨鑰呭脊绐楁椂鎸夐挳鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁
+ type:Object,
+ default: {}
+ },
+ paramVOS:{
+ type:Object,
+ default: {}
+ }
+ },
data() {
return {
form: {},
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue
index 7603437..7cfdbd4 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue
@@ -9,11 +9,23 @@
name: "dynamic-tree",
props:{
componentVO:{
- type: Object,
- default: {},
+ type:Object,
+ default: {}
+ },
+ inDialog: {
+ type: Boolean,
+ default: false
+ },
+ areasName:{
+ type:String,
+ default:''
},
sourceData:{
- //涓婁竴鍖哄煙閫変腑鏁版嵁
+ //鑿滃崟婧愭暟鎹垨鑰呭脊绐楁椂鎸夐挳鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁
+ type:Object,
+ default: {}
+ },
+ paramVOS:{
type:Object,
default: {}
}
diff --git a/Source/ProjectWeb/src/components/dynamic-components/index.vue b/Source/ProjectWeb/src/components/dynamic-components/index.vue
index eeb1065..d727d74 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/index.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/index.vue
@@ -1,9 +1,36 @@
<template>
<div>
- <dynamic-table v-if="componentVO.uiComponentType=='table'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-table>
- <dynamic-form v-else-if="componentVO.uiComponentType=='form'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-form>
- <dynamic-tree v-else-if="componentVO.uiComponentType=='tree'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-tree>
- <dynamic-custom v-else-if="componentVO.uiComponentType=='custom'" :componentVO="componentVO" :sourceData="sourceData"></dynamic-custom>
+ <dynamic-table v-if="componentVO.uiComponentType=='table'"
+ :inDialog="inDialog"
+ :componentVO="componentVO"
+ :sourceData="sourceData"
+ :areasName="areasName"
+ :paramVOS="paramVOS">
+
+ </dynamic-table>
+ <dynamic-form v-else-if="componentVO.uiComponentType=='form'"
+ :inDialog="inDialog"
+ :componentVO="componentVO"
+ :sourceData="sourceData"
+ :areasName="areasName"
+ :paramVOS="paramVOS">
+
+ </dynamic-form>
+ <dynamic-tree v-else-if="componentVO.uiComponentType=='tree'"
+ :inDialog="inDialog"
+ :componentVO="componentVO"
+ :sourceData="sourceData"
+ :areasName="areasName"
+ :paramVOS="paramVOS">
+
+ </dynamic-tree>
+ <dynamic-custom v-else-if="componentVO.uiComponentType=='custom'" :inDialog="inDialog"
+ :componentVO="componentVO"
+ :sourceData="sourceData"
+ :areasName="areasName"
+ :paramVOS="paramVOS">
+
+ </dynamic-custom>
</div>
</template>
@@ -24,15 +51,14 @@
type: Boolean,
default: false
},
+ areasName:{
+ type:String,
+ default:''
+ },
sourceData:{
//鑿滃崟婧愭暟鎹垨鑰呭脊绐楁椂鎸夐挳鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁
type:Object,
default: {}
- },
- dataStore:{
- //寮圭獥鏃舵寜閽墍灞炲尯鍩熼�変腑鏁版嵁
- type:Array,
- default: []
},
paramVOS:{
type:Object,
diff --git a/Source/ProjectWeb/src/views/base/UIContentArea.vue b/Source/ProjectWeb/src/views/base/UIContentArea.vue
index 24ed6bd..7e11fec 100644
--- a/Source/ProjectWeb/src/views/base/UIContentArea.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentArea.vue
@@ -8,12 +8,22 @@
{{componentVO.name}}
</template>
<div class="componentVO" style="height: 60%">
- <compoent-index :key="componentVO.oid" :componentVO="componentVO" :sourceData="sourceData" :areasName="areasName" :paramVOS="paramVOS"></compoent-index>
+ <compoent-index :key="componentVO.oid"
+ :inDialog="inDialog"
+ :componentVO="componentVO"
+ :sourceData="sourceData"
+ :areasName="areasName"
+ :paramVOS="paramVOS"></compoent-index>
</div>
</el-collapse-item>
</el-collapse>
<div v-else class="componentVO">
- <compoent-index :key="areaItem.componentVOs[0].oid" :componentVO="areaItem.componentVOs[0]" :sourceData="sourceData" :areasName="areasName" :paramVOS="paramVOS"></compoent-index>
+ <compoent-index :key="areaItem.componentVOs[0].oid"
+ :inDialog="inDialog"
+ :componentVO="areaItem.componentVOs[0]"
+ :sourceData="sourceData"
+ :areasName="areasName"
+ :paramVOS="paramVOS"></compoent-index>
</div>
</el-tab-pane>
</el-tabs>
@@ -24,12 +34,22 @@
{{componentVO.name}}
</template>
<div class="componentVO" style="height: 60%">
- <compoent-index :key="componentVO.oid" :componentVO="componentVO" :sourceData="sourceData" :areasName="areasName" :paramVOS="paramVOS"></compoent-index>
+ <compoent-index :key="componentVO.oid"
+ :inDialog="inDialog"
+ :componentVO="componentVO"
+ :sourceData="sourceData"
+ :areasName="areasName"
+ :paramVOS="paramVOS"></compoent-index>
</div>
</el-collapse-item>
</el-collapse>
<div v-else class="componentVO">
- <compoent-index :key="areasData[0].componentVOs[0].oid" :componentVO="areasData[0].componentVOs[0]" :sourceData="sourceData" :areasName="areasName" :paramVOS="paramVOS"></compoent-index>
+ <compoent-index :key="areasData[0].componentVOs[0].oid"
+ :inDialog="inDialog"
+ :componentVO="areasData[0].componentVOs[0]"
+ :sourceData="sourceData"
+ :areasName="areasName"
+ :paramVOS="paramVOS"></compoent-index>
</div>
</div>
</basic-container>
diff --git a/Source/ProjectWeb/src/views/base/UIContentVIewer.vue b/Source/ProjectWeb/src/views/base/UIContentVIewer.vue
index 3bc7c5c..97b4e51 100644
--- a/Source/ProjectWeb/src/views/base/UIContentVIewer.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentVIewer.vue
@@ -11,7 +11,7 @@
</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="320px" height="100%">
+ <el-aside v-if="uiDefineVO.westAreas && uiDefineVO.westAreas.length>0" :width="uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='table'?'390px':'320px'" height="100%">
<UIContentArea :key="'westArea-'+uiDefineVO.oid" areas-name="westArea"
cradStyle="height:100%"
:areasData="uiDefineVO.westAreas"
--
Gitblit v1.9.3