08335 / hivui-platform-template
hivui平台项目模板
Newer
Older
hivui-platform-template / project / hivuiMain / views / Portal / sys.vue
caibinghong on 4 Jun 2021 add
<template>
    <div class="index-main" v-if="hackShow">
        <PRow :gutter="10" v-for="(row,rowIndex) in portalList" :key="rowIndex">
            <PCol :span="colVal" v-for="(colVal,colIndex) in row.layoutCols" :key="colIndex">
                <template v-for="(panels,panelIndex) in row.panels[colIndex]">
                    <PPortalPanel :ref="`cmpPortalPanel${rowIndex}${colIndex}${panelIndex}`" :tabList='panels.columns' :height="panels.height"></PPortalPanel> 
                </template> 
            </PCol>
        </PRow>
    </div>
</template>
<script>
import {PRow,PCol} from "@main/components/grid";
import PPortalPanel from "@main/components/portalPanel";
export default {
    props:{
        itemData:Object
    },
    data(){
        return {
            hackShow:false,
            actived:false
        }
    },
    components:{
        PRow,PCol,PPortalPanel
    },
    computed:{
        portalList(){
            let pList = this.$store.getters.portalSysList;
            return pList;
        }
    },
    methods:{ 
        doRender(){
            //强制刷新,只执行一次
            if(this.actived)return;
            this.$nextTick(r=>{
                this.hackShow = true;
                this.actived=true;//判断只执行一次
            })
            return;
            // let list = this.portalList,cols,panels;
            // for(let i=0,l=list.length;i<l;i++){
            //     cols = list[i].layoutCols;
            //     for(let j=0,k=cols.length;j<k;j++){
            //         panels = list[i].panels[j];
            //         for(let n=0,m=panels.length;n<m;n++){
            //             this.$refs[`cmpPortalPanel${i}${j}${n}`][0].doRender(); 
            //         }
            //     } 
            // }
        }
    }
}
</script>
<style lang='less' scoped>
    .index-main{
        padding:10px;
        .pl-portal-panel{
            margin-bottom:10px;
        }
    }
</style>