|
|
|
@ -6,33 +6,42 @@
|
|
|
|
|
<div class="header-wrap__logo">马士兵严选欢迎你!</div>
|
|
|
|
|
<div class="header-wrap__content flex flex-middle">
|
|
|
|
|
<div class="header-wrap-content__login">
|
|
|
|
|
<el-dropdown v-if="isLogin" @visible-change="menuVisible = $event">
|
|
|
|
|
<!-- 已登录 -->
|
|
|
|
|
<el-dropdown
|
|
|
|
|
v-if="token"
|
|
|
|
|
@visible-change="menuVisible = $event"
|
|
|
|
|
@command="handleCommandClick"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="wrap-content-login__info flex flex-middle flex-center"
|
|
|
|
|
:class="{ 'wrap-content-login__info--hover': menuVisible }"
|
|
|
|
|
>
|
|
|
|
|
<span>你好,{{ userInfo.name }}</span>
|
|
|
|
|
<span>你好,{{ userInfo.nickname }}</span>
|
|
|
|
|
<img class="content-login-info__logo" :src="menuIcon" />
|
|
|
|
|
</div>
|
|
|
|
|
<el-dropdown-menu slot="dropdown" class="dropdown-menu-self">
|
|
|
|
|
<div class="menu-item__wrap flex flex-middle">
|
|
|
|
|
<img class="menu-item-wrap__avatar" />
|
|
|
|
|
<span>{{ userInfo.name }}</span>
|
|
|
|
|
<img class="menu-item-wrap__avatar" :src="userInfo.avatar" />
|
|
|
|
|
<span>{{ userInfo.nickname }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="menu-item__line"></div>
|
|
|
|
|
<el-dropdown-item
|
|
|
|
|
class="flex flex-between flex-middle"
|
|
|
|
|
v-for="item in menuList"
|
|
|
|
|
:key="item.value"
|
|
|
|
|
:command="item.value"
|
|
|
|
|
>
|
|
|
|
|
<span> {{ item.label }}</span>
|
|
|
|
|
<img src="@/static/images/layout/icon-arrow.png" />
|
|
|
|
|
</el-dropdown-item>
|
|
|
|
|
</el-dropdown-menu>
|
|
|
|
|
</el-dropdown>
|
|
|
|
|
<!-- 未登录 -->
|
|
|
|
|
<div v-else class="wrap-content-login__text flex">
|
|
|
|
|
<span>请先</span>
|
|
|
|
|
<span class="content-login-text--light">登录/注册</span>
|
|
|
|
|
<span class="content-login-text--light" @click="onLoginClick">
|
|
|
|
|
登录/注册
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<template>
|
|
|
|
@ -58,6 +67,7 @@
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<script>
|
|
|
|
|
import { mapState } from "vuex";
|
|
|
|
|
const MENU_VALUE = {
|
|
|
|
|
PERSONAL: 1,
|
|
|
|
|
ADDRESS: 2,
|
|
|
|
@ -65,12 +75,9 @@ const MENU_VALUE = {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
name: "HeaderInfoBar",
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
isLogin: true,
|
|
|
|
|
userInfo: {
|
|
|
|
|
name: "仙女广",
|
|
|
|
|
},
|
|
|
|
|
menuVisible: false,
|
|
|
|
|
menuList: [
|
|
|
|
|
{
|
|
|
|
@ -89,6 +96,7 @@ export default {
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
...mapState(["userInfo", "token"]),
|
|
|
|
|
menuIcon() {
|
|
|
|
|
return this.menuVisible
|
|
|
|
|
? require("@/static/images/layout/icon-up-light.png")
|
|
|
|
@ -96,7 +104,19 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
onMenuClick() {},
|
|
|
|
|
onLoginClick() {
|
|
|
|
|
this.$isLoginValidate();
|
|
|
|
|
},
|
|
|
|
|
handleCommandClick(event) {
|
|
|
|
|
switch (event) {
|
|
|
|
|
case MENU_VALUE.PERSONAL:
|
|
|
|
|
this.$router.push('/account');
|
|
|
|
|
case MENU_VALUE.ADDRESS:
|
|
|
|
|
this.$router.push('/account');
|
|
|
|
|
case MENU_VALUE.LOGON_OUT:
|
|
|
|
|
this.$store.commit("setLoginOut");
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|