<template>
    <a-layout class="mainIndex">
        <AsideMenu/>
        <div :class="['mainIndex-container', collapsed ? 'collapsedClose' :'']">
            <PageHeader/>
            <Breadcrumb/>
            <PageContent/>
        </div>
    </a-layout>
</template>

<script>
import {mapGetters, mapState} from "vuex";
export default {
    name: "mainIndex",
    data() {
        return {
            collapsed:this.$store.state.aside_collapsed,
            breadcrumbList: [],
            current: ""
        };
    },
    computed: {
        ...mapState(["aside_collapsed", "userInfo"]),
        ...mapGetters(['getAside_collapsed'])
    },
    watch: {
        $route(data) {
            this.processBread(data);
        },
        getAside_collapsed: function (newValue) {
            console.log(newValue)
            this.collapsed = newValue
        }
    },
    methods: {
        /**
         * 处理全局面包屑
         * @param route 当前路由信息
         */
        processBread(route) {
            this.breadcrumbList = route.matched.filter((el, index) => {
                return el.name && (el.meta.unfold || index);
            });

            this.breadcrumbList.forEach(el => {
                if (el.name === route.name) {
                    el.query = route.query;
                }
            });
        },
        // 当前时间
        getCurrentTime() {
            let time = null;
            let _this = this;
            function timerFormat() {
                if (!time) clearTimeout(time);
                time = setTimeout(() => {
                    let date = new Date();
                    let year = date.getFullYear();
                    let month = date.getMonth() + 1;
                    let day = date.getDate();
                    let h =
                        date.getHours() < 10
                            ? "0" + date.getHours()
                            : date.getHours();
                    let m =
                        date.getMinutes() < 10
                            ? "0" + date.getMinutes()
                            : date.getMinutes();
                    let s =
                        date.getSeconds() < 10
                            ? "0" + date.getSeconds()
                            : date.getSeconds();
                    _this.current =
                        year +
                        "年" +
                        month +
                        "月" +
                        day +
                        "日" +
                        " " +
                        h +
                        ":" +
                        m +
                        ":" +
                        s;
                    timerFormat();
                }, 1000);
            }
            timerFormat();
        }
    },
    mounted() {
        this.getCurrentTime();
        this.processBread(this.$route);
    }
};
</script>

<style lang="scss">
.mainIndex {
    display: flex;
    &-aside {
        background: #001529;
    }
    &-container {
        flex: auto;
       margin-left: 270px;
    }
    .collapsedClose{
        margin-left: 80px;
    }
}
</style>
