wangting
2024-03-27 353efff194122e281925a390be5d576c2f4fff6d
Source/ProjectWeb/src/views/base/UIContentViewer.vue
@@ -1,24 +1,26 @@
<template>
  <!--UI上下文的展示器-->
  <div style="height:calc(100% - 4px) ">
  <div style="height:calc(100% - 4px);min-width:1200px">
    <el-header v-if="uiDefineVO.northAreas && uiDefineVO.northAreas.length>0">
      <UIContentArea :key="'northArea-'+uiDefineVO.oid" areas-name="northArea"
                     :areasData="uiDefineVO.northAreas"
                     :inDialog="inDialog"
                     :sourceData="sourceData"
                     :dataStore="dataStore"
                     :paramVOS="paramVOS">
                     :dataStore="checkedData.northArea[0]"
                     :paramVOS="paramVOS"
                     @setDataStore="setDataStore">
      </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="uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='table'?'400px':'320px'" height="100%">
      <el-aside v-if="uiDefineVO.westAreas && uiDefineVO.westAreas.length>0" :width="uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='table' || uiDefineVO.westAreas[0].componentVOs[0].uiComponentType=='TreeTable'?'420px':'320px'" height="100%">
        <UIContentArea :key="'westArea-'+uiDefineVO.oid" areas-name="westArea"
                       cradStyle=""
                       :areasData="uiDefineVO.westAreas"
                       :inDialog="inDialog"
                       :sourceData="sourceData"
                       :dataStore="dataStore"
                       :paramVOS="paramVOS">
                       :dataStore="checkedData.westArea[0]"
                       :paramVOS="paramVOS"
                       @setDataStore="setDataStore">
        </UIContentArea>
      </el-aside>
      <el-container style="height: 100%">
@@ -27,19 +29,21 @@
                         cradStyle=""
                         :areasData="uiDefineVO.centerAreas"
                         :inDialog="inDialog"
                         :sourceData="checkedData.westAreas[0]"
                         :dataStore="checkedData.centerAreas[0]"
                         :paramVOS="paramVOS">
                         :sourceData="checkedData.westArea[0]"
                         :dataStore="checkedData.centerArea[0]"
                         :paramVOS="paramVOS"
                         @setDataStore="setDataStore">
          </UIContentArea>
        </el-main>
        <el-footer v-if="uiDefineVO.southAreas && uiDefineVO.southAreas.length>0" height="300px" style="max-height: 300px">
        <el-footer v-if="uiDefineVO.southAreas && uiDefineVO.southAreas.length>0" height="35%" 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">
                         :sourceData="checkedData.centerArea[0]"
                         :dataStore="checkedData.southArea[0]"
                         :paramVOS="paramVOS"
                         @setDataStore="setDataStore">
          </UIContentArea>
        </el-footer>
      </el-container>
@@ -64,11 +68,6 @@
      type:Object,
      default: {}
    },
    dataStore:{
      //弹窗时按钮所属区域选中数据
      type:Array,
      default: []
    },
    paramVOS:{
      type:Object,
      default: {}
@@ -80,9 +79,10 @@
      content:'',//UI上下文的名称
      checkedData:{
        //各区域选中数据
        westAreas:[],
        centerAreas:[],
        southAreas:[]
        northArea:[],
        westArea:[],
        centerArea:[],
        southArea:[]
      },
      uiDefineVO: uiDefineVOData,
      centerHeight:'100%'
@@ -108,6 +108,9 @@
    initContent(){
    },
    setDataStore(value) {
      this.checkedData[value.area] = value.dataStore;
    }
  }
}
</script>