1
0
Code Issues Pull Requests Packages Projects Releases Wiki Activity GitHub Gitee

后台管理登录时判断用户是否有权登入系统;隐藏右上角消息提示按钮

This commit is contained in:
程序员小墨 2023-04-22 17:27:53 +08:00
parent f5bc5b9eef
commit 152ff7d8e5
3 changed files with 28 additions and 176 deletions

View File

@ -13,7 +13,7 @@
<div class="header-right"> <div class="header-right">
<div class="header-user-con"> <div class="header-user-con">
<!-- 消息中心 --> <!-- 消息中心 -->
<div class="btn-bell" @click="router.push('/tabs')"> <div class="btn-bell" @click="router.push('/tabs')" v-if="false">
<el-tooltip effect="dark" :content="message ? `有${message}条未读消息` : `消息中心`" placement="bottom"> <el-tooltip effect="dark" :content="message ? `有${message}条未读消息` : `消息中心`" placement="bottom">
<i class="el-icon-lx-notice"></i> <i class="el-icon-lx-notice"></i>
</el-tooltip> </el-tooltip>

View File

@ -1,185 +1,34 @@
<template> <template>
<div class="container"> <div class="container">
<el-row :gutter="20"> <el-card shadow="hover" class="mgb20" style="height: 252px">
<el-col :span="8"> <div class="user-info">
<el-card shadow="hover" class="mgb20" style="height: 252px"> <el-avatar :size="120" :src="imgurl" />
<div class="user-info"> <div class="user-info-cont">
<el-avatar :size="120" :src="imgurl" /> <div class="user-info-name">{{ name }}</div>
<div class="user-info-cont"> <div>{{ role }}</div>
<div class="user-info-name">{{ name }}</div> </div>
<div>{{ role }}</div> </div>
</div> <div class="user-info-list">
</div> 上次登录时间
<div class="user-info-list"> <span>2022-10-01</span>
上次登录时间 </div>
<span>2022-10-01</span> <div class="user-info-list">
</div> 上次登录地点
<div class="user-info-list"> <span>东莞</span>
上次登录地点 </div>
<span>东莞</span> </el-card>
</div> </div>
</el-card>
<el-card shadow="hover" style="height: 252px">
<template #header>
<div class="clearfix">
<span>语言详情</span>
</div>
</template>
Vue
<el-progress :percentage="79.4" color="#42b983"></el-progress>
TypeScript
<el-progress :percentage="14" color="#f1e05a"></el-progress>
CSS
<el-progress :percentage="5.6"></el-progress>
HTML
<el-progress :percentage="1" color="#f56c6c"></el-progress>
</el-card>
</el-col>
<el-col :span="16">
<el-row :gutter="20" class="mgb20">
<el-col :span="8">
<el-card shadow="hover" :body-style="{ padding: '0px' }">
<div class="grid-content grid-con-1">
<el-icon class="grid-con-icon"><User /></el-icon>
<div class="grid-cont-right">
<div class="grid-num">1234</div>
<div>用户访问量</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="8">
<el-card shadow="hover" :body-style="{ padding: '0px' }">
<div class="grid-content grid-con-2">
<el-icon class="grid-con-icon"><ChatDotRound /></el-icon>
<div class="grid-cont-right">
<div class="grid-num">321</div>
<div>系统消息</div>
</div>
</div>
</el-card>
</el-col>
<el-col :span="8">
<el-card shadow="hover" :body-style="{ padding: '0px' }">
<div class="grid-content grid-con-3">
<el-icon class="grid-con-icon"><Goods /></el-icon>
<div class="grid-cont-right">
<div class="grid-num">500</div>
<div>商品数量</div>
</div>
</div>
</el-card>
</el-col>
</el-row>
</el-col>
</el-row>
</div>
</template> </template>
<script setup lang="ts" name="dashboard"> <script setup lang="ts" name="dashboard">
import { ref, reactive } from 'vue'; import { ref, reactive } from 'vue';
import imgurl from '../assets/img/img.jpg'; import imgurl from '../assets/img/img.jpg';
const roleMap = {
}
const name = localStorage.getItem('ms_username'); const name = localStorage.getItem('ms_username');
const role: string = name === 'admin' ? '超级管理员' : '普通用户'; const role: string = name === 'admin' ? '超级管理员' : '普通用户';
</script> </script>
<style scoped> <style scoped></style>
.el-row {
margin-bottom: 20px;
}
.grid-content {
display: flex;
align-items: center;
height: 100px;
}
.grid-cont-right {
flex: 1;
text-align: center;
font-size: 14px;
color: #999;
}
.grid-num {
font-size: 30px;
font-weight: bold;
}
.grid-con-icon {
font-size: 50px;
width: 100px;
height: 100px;
text-align: center;
line-height: 100px;
color: #fff;
}
.grid-con-1 .grid-con-icon {
background: rgb(45, 140, 240);
}
.grid-con-1 .grid-num {
color: rgb(45, 140, 240);
}
.grid-con-2 .grid-con-icon {
background: rgb(100, 213, 114);
}
.grid-con-2 .grid-num {
color: rgb(100, 213, 114);
}
.grid-con-3 .grid-con-icon {
background: rgb(242, 94, 67);
}
.grid-con-3 .grid-num {
color: rgb(242, 94, 67);
}
.user-info {
display: flex;
align-items: center;
padding-bottom: 20px;
border-bottom: 2px solid #ccc;
margin-bottom: 20px;
}
.user-info-cont {
padding-left: 50px;
flex: 1;
font-size: 14px;
color: #999;
}
.user-info-cont div:first-child {
font-size: 30px;
color: #222;
}
.user-info-list {
font-size: 14px;
color: #999;
line-height: 25px;
}
.user-info-list span {
margin-left: 70px;
}
.mgb20 {
margin-bottom: 20px;
}
.todo-item {
font-size: 14px;
}
.todo-item-del {
text-decoration: line-through;
color: #999;
}
</style>

View File

@ -116,7 +116,10 @@ const submitForm = (formEl: FormInstance | undefined) => {
if (!data) return; if (!data) return;
console.log("login data", data, data.userInfo); console.log("login data", data, data.userInfo);
if (![1, 2].includes(data.userInfo?.roleId)) {
ElMessage.error('您所在用户组无权登录当前系统');
return;
}
ElMessage.success('登录成功'); ElMessage.success('登录成功');
localStorage.setItem('ms_username', data.userInfo?.username); localStorage.setItem('ms_username', data.userInfo?.username);
localStorage.setItem('ms_realname', data.userInfo?.realname); localStorage.setItem('ms_realname', data.userInfo?.realname);