up
This commit is contained in:
@ -30,6 +30,14 @@ export function logout() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取总的未读条数
|
||||||
|
export function getNoReadCount(params) {
|
||||||
|
return request({
|
||||||
|
url: '/chat/getNoReadCount',
|
||||||
|
params: params
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export function fetchList(params) {
|
export function fetchList(params) {
|
||||||
return request({
|
return request({
|
||||||
url: '/admin/list',
|
url: '/admin/list',
|
||||||
|
@ -10,17 +10,23 @@
|
|||||||
<breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
|
<breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
|
||||||
|
|
||||||
<div class="right-menu">
|
<div class="right-menu">
|
||||||
<template v-if="device!=='mobile'">
|
<template v-if="device !== 'mobile'">
|
||||||
<!-- <search id="header-search" class="right-menu-item" /> -->
|
<!-- <search id="header-search" class="right-menu-item" /> -->
|
||||||
<router-link to="/service">
|
<router-link to="/service">
|
||||||
<span>
|
<span>
|
||||||
<span class="news">
|
<span class="news">
|
||||||
<i class="red"></i>
|
<el-badge
|
||||||
<i class="el-icon-bell"></i>
|
:value="redNum"
|
||||||
|
:max="10"
|
||||||
|
class="item"
|
||||||
|
v-if="redNum != 0"
|
||||||
|
>
|
||||||
|
<i class="el-icon-bell"></i>
|
||||||
|
</el-badge>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
</router-link>
|
</router-link>
|
||||||
<!-- <el-tooltip content="源码地址" effect="dark" placement="bottom">
|
<!-- <el-tooltip content="源码地址" effect="dark" placement="bottom">
|
||||||
<ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
|
<ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
|
||||||
</el-tooltip> -->
|
</el-tooltip> -->
|
||||||
|
|
||||||
@ -28,17 +34,19 @@
|
|||||||
<ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
|
<ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
|
||||||
</el-tooltip> -->
|
</el-tooltip> -->
|
||||||
|
|
||||||
<!-- <screenfull id="screenfull" class="right-menu-item hover-effect" /> -->
|
<!-- <screenfull id="screenfull" class="right-menu-item hover-effect" /> -->
|
||||||
|
|
||||||
<!-- <el-tooltip content="布局大小" effect="dark" placement="bottom">
|
<!-- <el-tooltip content="布局大小" effect="dark" placement="bottom">
|
||||||
<size-select id="size-select" class="right-menu-item hover-effect" />
|
<size-select id="size-select" class="right-menu-item hover-effect" />
|
||||||
</el-tooltip> -->
|
</el-tooltip> -->
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
|
<el-dropdown
|
||||||
|
class="avatar-container right-menu-item hover-effect"
|
||||||
|
trigger="click"
|
||||||
|
>
|
||||||
<div class="avatar-wrapper">
|
<div class="avatar-wrapper">
|
||||||
<img :src="avatar" class="user-avatar">
|
<img :src="avatar" class="user-avatar" />
|
||||||
<i class="el-icon-caret-bottom" />
|
<i class="el-icon-caret-bottom" />
|
||||||
</div>
|
</div>
|
||||||
<el-dropdown-menu slot="dropdown">
|
<el-dropdown-menu slot="dropdown">
|
||||||
@ -56,7 +64,7 @@
|
|||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -78,10 +86,10 @@ export default {
|
|||||||
SizeSelect,
|
SizeSelect,
|
||||||
Search,
|
Search,
|
||||||
RuoYiGit,
|
RuoYiGit,
|
||||||
RuoYiDoc
|
RuoYiDoc,
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters(['sidebar', 'avatar', 'device']),
|
...mapGetters(['sidebar', 'avatar', 'device', 'redNum']),
|
||||||
setting: {
|
setting: {
|
||||||
get() {
|
get() {
|
||||||
return this.$store.state.settings.showSettings;
|
return this.$store.state.settings.showSettings;
|
||||||
@ -89,10 +97,10 @@ export default {
|
|||||||
set(val) {
|
set(val) {
|
||||||
this.$store.dispatch('settings/changeSetting', {
|
this.$store.dispatch('settings/changeSetting', {
|
||||||
key: 'showSettings',
|
key: 'showSettings',
|
||||||
value: val
|
value: val,
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
toggleSideBar() {
|
toggleSideBar() {
|
||||||
@ -102,14 +110,14 @@ export default {
|
|||||||
this.$confirm('确定注销并退出系统吗?', '提示', {
|
this.$confirm('确定注销并退出系统吗?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning',
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.$store.dispatch('LogOut').then(() => {
|
this.$store.dispatch('LogOut').then(() => {
|
||||||
location.href = '/index';
|
location.href = '/index';
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@ -153,17 +161,17 @@ export default {
|
|||||||
&:focus {
|
&:focus {
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
.news{
|
.news {
|
||||||
position: relative;
|
position: relative;
|
||||||
font-size: 25px;
|
font-size: 25px;
|
||||||
margin-right: 10px;
|
margin-right: 15px;
|
||||||
.red{
|
.red {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
width: 5px;
|
width: 20px;
|
||||||
height: 5px;
|
height: 20px;
|
||||||
border-radius: 50%;
|
// border-radius: 50%;
|
||||||
background-color: red;
|
background-color: red;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -211,4 +219,8 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/deep/.el-badge__content.is-fixed {
|
||||||
|
top: 10px;
|
||||||
|
right: 15px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -6,6 +6,7 @@ const getters = {
|
|||||||
cachedViews: state => state.tagsView.cachedViews,
|
cachedViews: state => state.tagsView.cachedViews,
|
||||||
token: state => state.user.token,
|
token: state => state.user.token,
|
||||||
avatar: state => state.user.avatar,
|
avatar: state => state.user.avatar,
|
||||||
|
redNum: state => state.user.redNum,
|
||||||
name: state => state.user.name,
|
name: state => state.user.name,
|
||||||
introduction: state => state.user.introduction,
|
introduction: state => state.user.introduction,
|
||||||
roles: state => state.user.roles,
|
roles: state => state.user.roles,
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { login, logout, getInfo } from '@/api/login';
|
import { login, logout, getInfo, getNoReadCount } from '@/api/login';
|
||||||
import { getToken, setToken, removeToken } from '@/utils/auth';
|
import { getToken, setToken, removeToken } from '@/utils/auth';
|
||||||
|
|
||||||
const user = {
|
const user = {
|
||||||
@ -7,6 +7,7 @@ const user = {
|
|||||||
name: '',
|
name: '',
|
||||||
userId: '',
|
userId: '',
|
||||||
avatar: '',
|
avatar: '',
|
||||||
|
redNum: 0,
|
||||||
roles: [],
|
roles: [],
|
||||||
permissions: []
|
permissions: []
|
||||||
},
|
},
|
||||||
@ -25,6 +26,9 @@ const user = {
|
|||||||
SET_AVATAR: (state, avatar) => {
|
SET_AVATAR: (state, avatar) => {
|
||||||
state.avatar = avatar;
|
state.avatar = avatar;
|
||||||
},
|
},
|
||||||
|
SET_REDNUM: (state, redNum) => {
|
||||||
|
state.redNum = redNum;
|
||||||
|
},
|
||||||
SET_ROLES: (state, roles) => {
|
SET_ROLES: (state, roles) => {
|
||||||
state.roles = roles;
|
state.roles = roles;
|
||||||
},
|
},
|
||||||
@ -76,6 +80,9 @@ const user = {
|
|||||||
.catch(error => {
|
.catch(error => {
|
||||||
reject(error);
|
reject(error);
|
||||||
});
|
});
|
||||||
|
getNoReadCount().then(({data})=>{
|
||||||
|
commit('SET_REDNUM', data);
|
||||||
|
})
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -176,7 +176,7 @@ export default {
|
|||||||
this.queryParams.pageNum * this.queryParams.pageSize >=
|
this.queryParams.pageNum * this.queryParams.pageSize >=
|
||||||
this.msgTotal
|
this.msgTotal
|
||||||
)
|
)
|
||||||
return this.msgInfo('已经加载完成');
|
return this.msgInfo('已经到顶了');
|
||||||
this.queryParams.pageNum++;
|
this.queryParams.pageNum++;
|
||||||
this.getMsgList();
|
this.getMsgList();
|
||||||
}
|
}
|
||||||
@ -213,6 +213,9 @@ export default {
|
|||||||
this.userList = data.list;
|
this.userList = data.list;
|
||||||
this.userTotal = data.total;
|
this.userTotal = data.total;
|
||||||
});
|
});
|
||||||
|
setTimeout(() => {
|
||||||
|
this.getUserList();
|
||||||
|
}, 600000);
|
||||||
},
|
},
|
||||||
// 用户发送消息
|
// 用户发送消息
|
||||||
sentMsg() {
|
sentMsg() {
|
||||||
@ -305,7 +308,11 @@ export default {
|
|||||||
});
|
});
|
||||||
info.msgNoReadCount = 0;
|
info.msgNoReadCount = 0;
|
||||||
});
|
});
|
||||||
} else {
|
}
|
||||||
|
// else if(){
|
||||||
|
|
||||||
|
// }
|
||||||
|
else {
|
||||||
const userInfo = this.userList.find((item) => {
|
const userInfo = this.userList.find((item) => {
|
||||||
return item.id == data.sendUserId;
|
return item.id == data.sendUserId;
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user