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