<template>
    <div class="header">
        <div v-if="this.$route.path=='/setting/person'" class="goBack" @click="back"><i class="el-icon-arrow-left"></i>返回</div>
        <template v-else>
            <div>
                <img class="logo" :src="logoUrl" />
                <span class="title">{{title}}</span>
            </div>
        </template>
        <div class="header-right">
            <div class="header-user-con">
                <div class="user" @click="toPersonal">
                    <el-avatar :size="40" :src="avatar"></el-avatar>
                    <span class="user-avator">{{ userName }}</span>
                </div>
                <el-divider class="ml20" direction="vertical"></el-divider>
                <el-button type="text" class="ml20" @click="logout">退出</el-button>
            </div>
        </div>
    </div>
</template>
<script>
import { mapState, mapActions } from "vuex";

export default {
    data() {
        return {

        };
    },
    computed: {
        ...mapState("user", [
            "title", "logoUrl", "avatar", "userName"
        ])
    },
    mounted() {
        this.getSystemDetail();
        this.getUserInfo();
    },
    methods: {
        ...mapActions("user", [
            "logout", "setTitle", "setLogoUrl", "setAvatar", "setUserName"
        ]),
        getSystemDetail () {
            this.$get(this.api.logoDetail).then(res => {
                if (res.data) {
                    this.setTitle(res.data.title);
                    this.setLogoUrl(res.data.logoUrl);
                }
            }).catch(res => {});
        },
        getUserInfo() {
            this.$get(this.api.queryUserInfoDetails).then(res => {
                let {userAvatars, userName} = res.result.hrUserInfo;
                userAvatars && this.setAvatar(userAvatars);
                this.setUserName(userName);
            }).catch(err => {})
        },
        toPersonal() {
            this.$router.push("/setting/person");
        },
        back() {
            this.$router.go(-1);
        }
    }
};
</script>
<style scoped lang="scss">
.goBack {
    cursor: pointer;
    line-height: 60px;
    height: 60px;
    font-size: 16px;
    font-weight: bold;
    margin-left: 20px;
}

.goBack i {
    color: #9278ff;
    font-size: 20px;
}

.header {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    height: 60px;
    font-size: 16px;
    color: #333;
    .logo {
        height: 50px;
        margin: 0 20px;
    }
    .title {
        font-size: 18px;
        font-weight: bold;
    }
}

.header-right {
    padding-right: 50px;
}

.header-user-con {
    display: flex;
    align-items: center;

    .user {
        display: inline-flex;
        align-items: center;
        cursor: pointer;
    }
}

.user-avator {
    margin-left: 10px;
    font-size: 12px;
}

.ml20 {
    margin-left: 20px;
}

.user-avator img {
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.header-right .el-button--text {
    color: #333;
}

.header-right .el-divider--vertical {
    width: 2px;
    height: 15px;
}

.header-right .el-divider {
    background-color: #333;
}
</style>
