From f0545bc265497b18b272422469c23b09a4f8d3e3 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期四, 14 三月 2024 17:55:54 +0800
Subject: [PATCH] UI上下文展示引擎
---
Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue | 27 +++++++++++++
Source/ProjectWeb/src/views/base/UIContentVIewer.vue | 33 ++++++++++++++++
Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue | 29 ++++++++++++++
3 files changed, 88 insertions(+), 1 deletions(-)
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
new file mode 100644
index 0000000..15b6d0b
--- /dev/null
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
@@ -0,0 +1,27 @@
+<template>
+ <div></div>
+</template>
+
+<script>
+export default {
+ name: "dynamic-custom",
+ props:{
+ componentVO:{
+ type: Object,
+ default: {},
+ },
+ sourceData:{
+ //涓婁竴鍖哄煙閫変腑鏁版嵁
+ type:Object,
+ default: {}
+ }
+ },
+ data() {
+ return {}
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue
new file mode 100644
index 0000000..7603437
--- /dev/null
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue
@@ -0,0 +1,29 @@
+<template>
+ <div>
+
+ </div>
+</template>
+
+<script>
+export default {
+ name: "dynamic-tree",
+ props:{
+ componentVO:{
+ type: Object,
+ default: {},
+ },
+ sourceData:{
+ //涓婁竴鍖哄煙閫変腑鏁版嵁
+ type:Object,
+ default: {}
+ }
+ },
+ data() {
+ return {}
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/Source/ProjectWeb/src/views/base/UIContentVIewer.vue b/Source/ProjectWeb/src/views/base/UIContentVIewer.vue
index 5d1e942..55372b6 100644
--- a/Source/ProjectWeb/src/views/base/UIContentVIewer.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentVIewer.vue
@@ -7,12 +7,18 @@
<el-tab-pane v-for="(areaItem,index) in uiDefineVO.northAreas" :key="areaItem.oid" :label="areaItem.name" :name="'northTab'+index">
<div class="componentVO" v-for="(componentVO,index) in areaItem.componentVOs" >
<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>
</div>
</el-tab-pane>
</el-tabs>
<div v-else>
<div class="componentVO" v-for="(componentVO,index) in uiDefineVO.northAreas[0].componentVOs" >
<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>
</div>
</div>
</basic-container>
@@ -24,12 +30,18 @@
<el-tab-pane v-for="(areaItem,index) in uiDefineVO.westAreas" :key="areaItem.oid" :label="areaItem.name" :name="'westTab'+index">
<div class="componentVO" v-for="(componentVO,index) in areaItem.componentVOs" >
<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>
</div>
</el-tab-pane>
</el-tabs>
<div v-else>
<div class="componentVO" v-for="(componentVO,index) in uiDefineVO.westAreas[0].componentVOs" >
<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>
</div>
</div>
</basic-container>
@@ -41,12 +53,18 @@
<el-tab-pane v-for="(areaItem,index) in uiDefineVO.centerAreas" :key="areaItem.oid" :label="areaItem.name" :name="'centerTab'+index">
<div class="componentVO" v-for="(componentVO,index) in areaItem.componentVOs" >
<dynamic-table v-if="componentVO.uiComponentType=='table'" :componentVO="componentVO" :sourceData="checkedData.westAreas[0]"></dynamic-table>
+ <dynamic-form v-else-if="componentVO.uiComponentType=='form'" :componentVO="componentVO" :sourceData="checkedData.westAreas[0]"></dynamic-form>
+ <dynamic-tree v-else-if="componentVO.uiComponentType=='tree'" :componentVO="componentVO" :sourceData="checkedData.westAreas[0]"></dynamic-tree>
+ <dynamic-custom v-else-if="componentVO.uiComponentType=='custom'" :componentVO="componentVO" :sourceData="checkedData.westAreas[0]"></dynamic-custom>
</div>
</el-tab-pane>
</el-tabs>
<div v-else>
<div class="componentVO" v-for="(componentVO,index) in uiDefineVO.centerAreas[0].componentVOs" >
<dynamic-table v-if="componentVO.uiComponentType=='table'" :componentVO="componentVO" :sourceData="checkedData.westAreas[0]"></dynamic-table>
+ <dynamic-form v-else-if="componentVO.uiComponentType=='form'" :componentVO="componentVO" :sourceData="checkedData.westAreas[0]"></dynamic-form>
+ <dynamic-tree v-else-if="componentVO.uiComponentType=='tree'" :componentVO="componentVO" :sourceData="checkedData.westAreas[0]"></dynamic-tree>
+ <dynamic-custom v-else-if="componentVO.uiComponentType=='custom'" :componentVO="componentVO" :sourceData="checkedData.westAreas[0]"></dynamic-custom>
</div>
</div>
</basic-container>
@@ -57,12 +75,18 @@
<el-tab-pane v-for="(areaItem,index) in uiDefineVO.southAreas" :key="areaItem.oid" :label="areaItem.name" :name="'southTab'+index">
<div class="componentVO" v-for="(componentVO,index) in areaItem.componentVOs" >
<dynamic-table v-if="componentVO.uiComponentType=='table'" :componentVO="componentVO" :sourceData="checkedData.centerAreas[0]"></dynamic-table>
+ <dynamic-form v-else-if="componentVO.uiComponentType=='form'" :componentVO="componentVO" :sourceData="checkedData.centerAreas[0]"></dynamic-form>
+ <dynamic-tree v-else-if="componentVO.uiComponentType=='tree'" :componentVO="componentVO" :sourceData="checkedData.centerAreas[0]"></dynamic-tree>
+ <dynamic-custom v-else-if="componentVO.uiComponentType=='custom'" :componentVO="componentVO" :sourceData="checkedData.centerAreas[0]"></dynamic-custom>
</div>
</el-tab-pane>
</el-tabs>
<div v-else>
<div class="componentVO" v-for="(componentVO,index) in uiDefineVO.southAreas[0].componentVOs" >
<dynamic-table v-if="componentVO.uiComponentType=='table'" :componentVO="componentVO" :sourceData="checkedData.centerAreas[0]"></dynamic-table>
+ <dynamic-form v-else-if="componentVO.uiComponentType=='form'" :componentVO="componentVO" :sourceData="checkedData.centerAreas[0]"></dynamic-form>
+ <dynamic-tree v-else-if="componentVO.uiComponentType=='tree'" :componentVO="componentVO" :sourceData="checkedData.centerAreas[0]"></dynamic-tree>
+ <dynamic-custom v-else-if="componentVO.uiComponentType=='custom'" :componentVO="componentVO" :sourceData="checkedData.centerAreas[0]"></dynamic-custom>
</div>
</div>
</basic-container>
@@ -74,10 +98,17 @@
<script>
import dynamicTable from "@/components/dynamic-components/dynamic-table"
+import dynamicForm from "@/components/dynamic-components/dynamic-form"
+import dynamicTree from "@/components/dynamic-components/dynamic-tree"
+import dynamicCustom from "@/components/dynamic-components/dynamic-custom"
+
import {uiDefineVOData} from "@/views/base/uiDefineVO"
+import DynamicForm from "@/components/dynamic-components/dynamic-form";
+import DynamicTree from "@/components/dynamic-components/dynamic-tree";
+import DynamicCustom from "@/components/dynamic-components/dynamic-custom";
export default {
- components:{dynamicTable},
+ components:{DynamicCustom, DynamicTree, DynamicForm, dynamicTable},
props:{
inDialog: {
type: Boolean,
--
Gitblit v1.9.3