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