<template>
    <div class="header-wrap ">
        <div class="header-logo" @click="toHome">
            <img src="../assets/header-logo.png" alt="">
        </div>
        <div class="header-right flex" v-if="headerShow">
            <div 
                :class="['right-item', currentPath == item.path ? 'right-item-active' :'']" 
                v-for="(item,index) in routerNavList" 
                :key="index" 
                @click="goToPage(item.path)"
            >
                {{ item.name }}
            </div>
            <el-dropdown trigger="click">
                <div class="right-item flex el-dropdown-link">
                    <img class="right-item-icon" src="../assets/header-icon.png" alt="">
                    <span>{{user}}</span>
                    <div class="img"></div>
                </div>
                <el-dropdown-menu slot="dropdown">
                    <el-dropdown-item><div @click="loginOut">退出</div></el-dropdown-item>
                </el-dropdown-menu>
            </el-dropdown>
        </div>
    </div>
</template>

<script>
export default {
    data(){
        return{
            user: '',
            headerShow:false,
            doctor_id:'',
            currentPath:'',
            routerNavList:[
                {
                    name:'个人信息',
                    path:'/doctorInformation'
                },
                {
                    name:'医院管理',
                    path:'/hospitalManage'
                },
                {
                    name:'收款管理',
                    path:'/paymentMethod'
                },
            ]
        }
    },
    mounted(){
        this.user = localStorage.getItem('nick')
        this.doctor_id = localStorage.getItem('doctor_id')
        if(this.user){
            this.headerShow = true
            // 初始化时设置当前路由高亮
            this.updateCurrentPath()
            // 监听路由变化
            this.watchRouteChange()
        }else{
            this.headerShow = false
        }
    },
    methods: {
        toHome() {
            this.$router.push({
                path: '/'
            })
        },
        goToPage(path) {
            this.currentPath = path;
            this.$router.push({
                path: path + '?doctor_id=' + this.doctor_id
            })
        },
        loginOut(){
            // 退出登录
            this.$http('POST', '/login_out', {}).then(response => {
                if(response.status){
                    // 移除信息待定 ---需要修改喔
                    localStorage.removeItem('token');
                    localStorage.removeItem('nick');
                    localStorage.removeItem('doctor_id');
                    // 退出后跳转到登录页或首页
                    this.$router.push('/login');
                }else{
                    this.$message.error(response.data.info)
                }
            }).catch(error => {
                console.error(error, 'error')
            })
        },
        // 更新当前路径高亮状态
        updateCurrentPath() {
            const currentRoute = this.$route.path;
            const matchedItem = this.routerNavList.find(item => 
                currentRoute.startsWith(item.path)
            );
            if (matchedItem) {
                this.currentPath = matchedItem.path;
            } else {
                this.currentPath = '';
            }
        },
        // 监听路由变化
        watchRouteChange() {
            this.$watch('$route', (to, from) => {
                console.log(to,from,'====');
                this.updateCurrentPath();
            });
        }
    },
    beforeDestroy() {
        
    }
}
</script>

<style lang="scss" scoped>
.flex {
    display: flex;
}

.header-wrap {
    color: #1E2226;
    display: flex;
    justify-content: space-between;
    width: calc(100% - 64px);
    height: 100%;
    align-items: center;
    position: absolute;
    z-index: 9;
    .header-logo {
        cursor: pointer;
        img {
            height: 46px;
        }
    }

    .header-right {
        justify-content: flex-end;
        gap:20px;
        .el-dropdown-link {
            cursor: pointer;
        }
        .right-item{
            padding: 10px;
            transition: all .3s;
            cursor: pointer;
            &:hover{
                border-radius: 6px;
                background: rgba(255, 255, 255, 0.4);
                color: #006AFF;
                transition: all .3s;
            }
        }
        .right-item-active{
            border-radius: 6px;
            background: rgba(255, 255, 255, 0.4);
            color: #006AFF;
            transition: all .3s;
        }
        .el-dropdown .right-item{
            padding: 0 10px;
            cursor: pointer;
        }

        .right-item-icon {
            width: 36px;
            height: 36px;
        }

        .right-item-icon+span {
            display: inline-block;
            margin: 0 6px 0 12px;
        }
    }
}
</style>