From fce9d4e89a50c0b53faee6f6bfd2c385531fbc4b Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 21 三月 2024 13:45:16 +0800
Subject: [PATCH] 解决冲突代码(原始数据判空)

---
 Source/ProjectWeb/src/views/base/UIContentVIewer.vue |  160 +++++++++++++++-------------------------------------
 1 files changed, 47 insertions(+), 113 deletions(-)

diff --git a/Source/ProjectWeb/src/views/base/UIContentVIewer.vue b/Source/ProjectWeb/src/views/base/UIContentVIewer.vue
index 55372b6..f110aa5 100644
--- a/Source/ProjectWeb/src/views/base/UIContentVIewer.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentVIewer.vue
@@ -2,94 +2,45 @@
   <!--UI涓婁笅鏂囩殑灞曠ず鍣�-->
   <div style="height:calc(100% - 4px) ">
     <el-header v-if="uiDefineVO.northAreas && uiDefineVO.northAreas.length>0">
-      <basic-container>
-        <el-tabs v-if="uiDefineVO.northAreas.length>1" v-model="northActiveName" type="card" @tab-click="northHandleClick">
-          <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>
+      <UIContentArea :key="'northArea-'+uiDefineVO.oid" areas-name="northArea"
+                     :areasData="uiDefineVO.northAreas"
+                     :inDialog="inDialog"
+                     :sourceData="sourceData"
+                     :dataStore="dataStore"
+                     :paramVOS="paramVOS">
+      </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%">
-        <basic-container cradStyle="height:100%">
-          <el-tabs v-if="uiDefineVO.westAreas.length>1" v-model="westActiveName" type="card" @tab-click="westHandleClick">
-            <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>
+      <el-aside v-if="uiDefineVO.westAreas && uiDefineVO.westAreas.length>0" :width="uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='table'?'400px':'320px'" height="100%">
+        <UIContentArea :key="'westArea-'+uiDefineVO.oid" areas-name="westArea"
+                       cradStyle=""
+                       :areasData="uiDefineVO.westAreas"
+                       :inDialog="inDialog"
+                       :sourceData="sourceData"
+                       :dataStore="dataStore"
+                       :paramVOS="paramVOS">
+        </UIContentArea>
       </el-aside>
-      <el-container>
-        <el-main v-if="uiDefineVO.centerAreas && uiDefineVO.centerAreas.length>0" style="min-height: calc(100% - 310px)">
-          <basic-container cradStyle="height:100%">
-            <el-tabs v-if="uiDefineVO.centerAreas.length>1" v-model="centerActiveName" type="card" @tab-click="centerHandleClick">
-              <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>
+      <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=""
+                         :areasData="uiDefineVO.centerAreas"
+                         :inDialog="inDialog"
+                         :sourceData="checkedData.westAreas[0]"
+                         :dataStore="checkedData.centerAreas[0]"
+                         :paramVOS="paramVOS">
+          </UIContentArea>
         </el-main>
-        <el-footer v-if="uiDefineVO.southAreas && uiDefineVO.southAreas.length>0" height="500px" style="max-height: 300px">
-          <basic-container cradStyle="height:100%">
-            <el-tabs v-if="uiDefineVO.southAreas.length>1" v-model="southActiveName" type="card" @tab-click="southHandleClick">
-              <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>
+        <el-footer v-if="uiDefineVO.southAreas && uiDefineVO.southAreas.length>0" height="300px" style="max-height: 300px">
+          <UIContentArea :key="'southArea-'+uiDefineVO.oid" areas-name="southArea"
+                         cradStyle=""
+                         :areasData="uiDefineVO.southAreas"
+                         :inDialog="inDialog"
+                         :sourceData="checkedData.centerAreas[0]"
+                         :dataStore="checkedData.southAreas[0]"
+                         :paramVOS="paramVOS">
+          </UIContentArea>
         </el-footer>
       </el-container>
     </el-container>
@@ -97,18 +48,12 @@
 </template>
 
 <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 UIContentArea from "@/views/base/UIContentArea"
 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:{DynamicCustom, DynamicTree, DynamicForm, dynamicTable},
+  name: "UIContentViewer",
+  components:{UIContentArea},
   props:{
     inDialog: {
       type: Boolean,
@@ -139,11 +84,8 @@
         centerAreas:[],
         southAreas:[]
       },
-      northActiveName: 'northTab0',
-      westActiveName: 'westTab0',
-      centerActiveName: 'centerTab0',
-      southActiveName: 'southTab0',
-      uiDefineVO: uiDefineVOData
+      uiDefineVO: uiDefineVOData,
+      centerHeight:'100%'
     }
   },
   watch: {
@@ -152,27 +94,19 @@
   computed: {
 
   },
+  created() {
+    if (this.uiDefineVO.southAreas && this.uiDefineVO.southAreas.length > 0) {
+      this.centerHeight = 'calc(100% - 310px)';
+    } else {
+      this.centerHeight = '100%';
+    }
+  },
   methods: {
     initUI(){
 
     },
-    showContent(){
-
-    },
     initContent(){
 
-    },
-    northHandleClick(tab, event) {
-      console.log(tab, event);
-    },
-    westHandleClick(tab, event) {
-      console.log(tab, event);
-    },
-    centerHandleClick(tab, event) {
-      console.log(tab, event);
-    },
-    southHandleClick(tab, event) {
-      console.log(tab, event);
     },
   }
 }

--
Gitblit v1.9.3