45 lines
1.2 KiB
Vue
45 lines
1.2 KiB
Vue
<template>
|
|
<sui-menu fluid borderless fixed='top'>
|
|
<sui-container>
|
|
<sui-menu-menu position="left">
|
|
<sui-menu-item :active="activeItem === '' || activeItem === 'channel'">
|
|
<router-link :to="{name: 'ChannelList'}">Channels</router-link>
|
|
</sui-menu-item>
|
|
<sui-menu-item :active="activeItem !== '' && activeItem === 'linelog'" v-if="userInfo.type === 'system'">
|
|
<router-link :to="{name: 'LineLog'}">Line Log</router-link>
|
|
</sui-menu-item>
|
|
</sui-menu-menu>
|
|
<sui-menu-menu position='right'>
|
|
<sui-menu-item>User: {{userInfo.name}}</sui-menu-item>
|
|
<sui-menu-item @click.native="doLogout">Logout</sui-menu-item>
|
|
</sui-menu-menu>
|
|
</sui-container>
|
|
</sui-menu>
|
|
</template>
|
|
|
|
<script>
|
|
import {mapGetters, mapActions} from 'vuex'
|
|
export default {
|
|
name: 'TopMenu',
|
|
data () {
|
|
return {}
|
|
},
|
|
methods: {
|
|
...mapActions(['sendLogout']),
|
|
doLogout: function () {
|
|
this.sendLogout({
|
|
cb: () => {
|
|
this.$router.replace('/')
|
|
}
|
|
})
|
|
}
|
|
},
|
|
computed: {
|
|
...mapGetters(['userInfo']),
|
|
activeItem: function () {
|
|
return this.$route.meta.topMenu || ''
|
|
}
|
|
}
|
|
}
|
|
</script>
|