123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- <template>
- <el-container class="container">
- <el-aside width="200px">
- <div class="logo">
- <img src="./static/logo.png" alt="logo">
- </div>
- <el-menu default-active="1" class="el-menu-vertical-demo" background-color="#141b2e" text-color="#E4ECFF">
- <router-link to="/map">
- <el-menu-item index="1">
- <i class="el-icon-map-location"></i>
- <span slot="title">实时分布</span>
- </el-menu-item>
- </router-link>
- <el-submenu index="2">
- <template #title><i class="el-icon-monitor"></i>设备管理</template>
- <router-link to="/devices">
- <el-menu-item index="2-1">设备列表</el-menu-item>
- </router-link>
- <router-link to="/logs">
- <el-menu-item index="2-2">消息日志</el-menu-item>
- </router-link>
- </el-submenu>
- <el-submenu index="3">
- <template #title><i class="el-icon-setting"></i>系统设置</template>
- <el-menu-item index="3-1">项目管理</el-menu-item>
- <el-menu-item index="3-2">项目组管理</el-menu-item>
- <el-menu-item index="3-3">角色管理</el-menu-item>
- <router-link to="/users">
- <el-menu-item index="3-4">用户管理</el-menu-item>
- </router-link>
- </el-submenu>
- </el-menu>
- </el-aside>
- <el-container>
- <el-header class='header' style="height: 50px;">
- <div class="dropdown">
- <el-dropdown trigger="click">
- <span class="el-dropdown-link">
- {{nickname}}<i class="el-icon-arrow-down el-icon--right"></i>
- </span>
- <template #dropdown>
- <el-dropdown-menu>
- <el-dropdown-item>退出登录</el-dropdown-item>
- </el-dropdown-menu>
- </template>
- </el-dropdown>
- </div>
- </el-header>
- <el-main>
- <router-view />
- </el-main>
- </el-container>
- </el-container>
- </template>
- <script>
- import TokenManager from '../../static/js/token.js'
- export default {
- data() {
- return {
- nickname: '管理员',
- };
- },
- mounted: function() {
- this.initToken();
- },
- methods: {
- /**
- * 查看token信息
- */
- initToken: function() {
- try {
- const obj = JSON.parse(TokenManager.getToken());
- if (TokenManager.getVerify() != null) {
- this.nickname = obj.nickname;
- return;
- }
- this.$http.Get(this.$global.verify, {}).then(res => {
- TokenManager.setVerify();
- this.nickname = obj.nickname;
- })
- } catch {
- this.$router.replace("/login");
- }
- }
- }
- };
- </script>
- <style scoped lang="scss">
- .container {
- height: 100%;
- & .logo {
- box-sizing: border-box;
- padding-top: 10px;
- padding-left: 20px;
- width: 100%;
- height: 60px;
- & img {
- width: 40px;
- height: 40px;
- }
- }
- & .header {
- background: #f3f5f9;
- & .dropdown {
- float: right;
- margin-right: 30px;
- cursor: pointer;
- line-height: 50px;
- }
- }
- & .el-main {
- background: #f3f5f9;
- height: 100%;
- overflow-x: hidden;
- overflow-y: scroll;
- box-sizing: border-box;
- padding: 0 15px 20px 20px;
- }
- & .el-aside {
- height: 100%;
- background: #141b2e;
- & .el-menu {
- border: none;
- }
- }
- }
- </style>
|