¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <!--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> |
| | | </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> |
| | | </div> |
| | | </div> |
| | | </basic-container> |
| | | </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> |
| | | </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> |
| | | </div> |
| | | </div> |
| | | </basic-container> |
| | | </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> |
| | | </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> |
| | | </div> |
| | | </div> |
| | | </basic-container> |
| | | </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> |
| | | </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> |
| | | </div> |
| | | </div> |
| | | </basic-container> |
| | | </el-footer> |
| | | </el-container> |
| | | </el-container> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import dynamicTable from "@/components/dynamic-components/dynamic-table" |
| | | import {uiDefineVOData} from "@/views/base/uiDefineVO" |
| | | |
| | | export default { |
| | | components:{dynamicTable}, |
| | | props:{ |
| | | inDialog: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | sourceData:{ |
| | | //èåæºæ°æ®æè
å¼¹çªæ¶æé®æå±åºåçä¸ä¸åºåé䏿°æ® |
| | | type:Object, |
| | | default: {} |
| | | }, |
| | | dataStore:{ |
| | | //å¼¹çªæ¶æé®æå±åºåé䏿°æ® |
| | | type:Array, |
| | | default: [] |
| | | }, |
| | | paramVOS:{ |
| | | type:Object, |
| | | default: {} |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | btmType:'',//ä¸å¡ç±»åï¼æé¾æ¥ç±»åï¼ |
| | | content:'',//UIä¸ä¸æçåç§° |
| | | checkedData:{ |
| | | //ååºåé䏿°æ® |
| | | westAreas:[], |
| | | centerAreas:[], |
| | | southAreas:[] |
| | | }, |
| | | northActiveName: 'northTab0', |
| | | westActiveName: 'westTab0', |
| | | centerActiveName: 'centerTab0', |
| | | southActiveName: 'southTab0', |
| | | uiDefineVO: uiDefineVOData |
| | | } |
| | | }, |
| | | watch: { |
| | | |
| | | }, |
| | | computed: { |
| | | |
| | | }, |
| | | 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); |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .el-container{ |
| | | padding: 0 !important; |
| | | } |
| | | .el-header,.el-aside,.el-main,.el-footer{ |
| | | padding: 0; |
| | | } |
| | | .el-header{ |
| | | margin-bottom: 10px; |
| | | } |
| | | </style> |