|
@@ -1,11 +1,3 @@
|
|
-<!--
|
|
|
|
- * @Author: zouwenying
|
|
|
|
- * @Date: 2020-10-26 10:32:32
|
|
|
|
- * @LastEditTime: 2021-04-30 14:34:19
|
|
|
|
- * @LastEditors: zwy
|
|
|
|
- * @Description: In User Settings Edit
|
|
|
|
- * @FilePath: \UMIS\src\components\others\Header.vue
|
|
|
|
--->
|
|
|
|
<template>
|
|
<template>
|
|
<div class="header" :class="[collapse ? 'collapse' : 'expand']">
|
|
<div class="header" :class="[collapse ? 'collapse' : 'expand']">
|
|
<div class="el-fl-left"><v-tags></v-tags></div>
|
|
<div class="el-fl-left"><v-tags></v-tags></div>
|
|
@@ -17,10 +9,8 @@
|
|
<i class="iconfont" v-show="!cruUserInfo.photo" v-bottom-txt-tip data-txt="编辑用户信息"></i>
|
|
<i class="iconfont" v-show="!cruUserInfo.photo" v-bottom-txt-tip data-txt="编辑用户信息"></i>
|
|
<img v-show="cruUserInfo.photo" :src="envConfig.baseImgApi + cruUserInfo.photo" style="object-fit: cover" />
|
|
<img v-show="cruUserInfo.photo" :src="envConfig.baseImgApi + cruUserInfo.photo" style="object-fit: cover" />
|
|
</div>
|
|
</div>
|
|
- <!-- <span style="width: 1px; height: 16px; background: #FFFFFF; opacity: 0.5"></span> -->
|
|
|
|
<div class="message">
|
|
<div class="message">
|
|
<span class="main" @click="goMessage('unread')">
|
|
<span class="main" @click="goMessage('unread')">
|
|
- <!-- <i class="iconfont btn"></i> -->
|
|
|
|
<img src="@assets/img/btn_news.png" alt="" />
|
|
<img src="@assets/img/btn_news.png" alt="" />
|
|
<span class="iconfont point" v-if="messageNumber"></span>
|
|
<span class="iconfont point" v-if="messageNumber"></span>
|
|
</span>
|
|
</span>
|
|
@@ -28,7 +18,8 @@
|
|
<p>消息通知</p>
|
|
<p>消息通知</p>
|
|
<ul>
|
|
<ul>
|
|
<li v-for="(items, index) in messageList" :key="index" @click="toUrl(items.typeId)" style="cursor: pointer">
|
|
<li v-for="(items, index) in messageList" :key="index" @click="toUrl(items.typeId)" style="cursor: pointer">
|
|
- <img :src="imgList[items.typeId - 1]" style="width: 30px; height: 30px" />
|
|
|
|
|
|
+ <img :src="imgList[items.typeId]" style="width: 30px; height: 30px" />
|
|
|
|
+
|
|
<div>
|
|
<div>
|
|
<span class="cont">【{{ items.shortName }}】{{ items.messageContent }}</span>
|
|
<span class="cont">【{{ items.shortName }}】{{ items.messageContent }}</span>
|
|
<span class="time">{{ items.dateCreate }}</span>
|
|
<span class="time">{{ items.dateCreate }}</span>
|
|
@@ -40,18 +31,16 @@
|
|
<div class="msg-content" v-else>
|
|
<div class="msg-content" v-else>
|
|
<p>消息通知</p>
|
|
<p>消息通知</p>
|
|
<ul>
|
|
<ul>
|
|
- <li style="text-align: center; display: block; padding: 0 20px; line-height: 60px">暂无消息</li>
|
|
|
|
|
|
+ <li style="text-align: center; display: block; padding: 0 rem(20); line-height: rem(60)">暂无消息</li>
|
|
</ul>
|
|
</ul>
|
|
<el-button type="text" class="more" disabled>查看更多</el-button>
|
|
<el-button type="text" class="more" disabled>查看更多</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <!-- <span style="width: 1px; height: 16px; background: #FFFFFF; opacity: 0.5"></span> -->
|
|
|
|
<span class="border"></span>
|
|
<span class="border"></span>
|
|
<div class="logout" @click="logOut">
|
|
<div class="logout" @click="logOut">
|
|
<el-tooltip placement="bottom" content="退出">
|
|
<el-tooltip placement="bottom" content="退出">
|
|
- <img src="@/assets/img/btn_quit.png" class="tab_head-right" @click="logOut" />
|
|
|
|
|
|
+ <i class="zoniot_font zoniot-icon-tuichu"></i>
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
- <!-- <i class="iconfont" v-bottom-txt-tip data-txt="退出"></i> -->
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -59,7 +48,6 @@
|
|
</template>
|
|
</template>
|
|
<script>
|
|
<script>
|
|
import { mapState, mapGetters, mapMutations, mapActions } from 'vuex';
|
|
import { mapState, mapGetters, mapMutations, mapActions } from 'vuex';
|
|
-import { createSocket } from '@/utils/websoket';
|
|
|
|
import envConfig from '@/config';
|
|
import envConfig from '@/config';
|
|
import vTags from './Tags.vue';
|
|
import vTags from './Tags.vue';
|
|
export default {
|
|
export default {
|
|
@@ -67,18 +55,13 @@ export default {
|
|
return {
|
|
return {
|
|
name: '',
|
|
name: '',
|
|
envConfig: envConfig,
|
|
envConfig: envConfig,
|
|
- imgList: [
|
|
|
|
- require('@/assets/img/icon_msg1.png'),
|
|
|
|
- require('@/assets/img/icon_msg2.png'),
|
|
|
|
- require('@/assets/img/icon_msg3.png'),
|
|
|
|
- require('@/assets/img/icon_msg4.png'),
|
|
|
|
- require('@/assets/img/icon_msg5.png'),
|
|
|
|
- require('@/assets/img/icon_msg6.png'),
|
|
|
|
- require('@/assets/img/icon_msg7.png'),
|
|
|
|
- require('@/assets/img/icon_msg8.png'),
|
|
|
|
- require('@/assets/img/icon_msg9.png')
|
|
|
|
- ],
|
|
|
|
- websocket: ''
|
|
|
|
|
|
+ imgList: {
|
|
|
|
+ 1: require('@/assets/img/icon_msg1.png'),
|
|
|
|
+ 2: require('@/assets/img/icon_msg7.png'),
|
|
|
|
+ 10: require('@/assets/img/icon_msg9.png'),
|
|
|
|
+ 11: require('@/assets/img/icon_msg9.png'),
|
|
|
|
+ 13: require('@/assets/img/icon_msg9.png')
|
|
|
|
+ }
|
|
};
|
|
};
|
|
},
|
|
},
|
|
components: {
|
|
components: {
|
|
@@ -110,8 +93,10 @@ export default {
|
|
message: '您已退出登录'
|
|
message: '您已退出登录'
|
|
});
|
|
});
|
|
localStorage.removeItem('SC_token');
|
|
localStorage.removeItem('SC_token');
|
|
|
|
+ sessionStorage.removeItem('SC_listMuen');
|
|
this.$store.commit('setloginInfo', '');
|
|
this.$store.commit('setloginInfo', '');
|
|
this.$store.dispatch('tags', []);
|
|
this.$store.dispatch('tags', []);
|
|
|
|
+
|
|
sessionStorage.removeItem('tabs');
|
|
sessionStorage.removeItem('tabs');
|
|
location.href = this.envConfig.loginUrl;
|
|
location.href = this.envConfig.loginUrl;
|
|
} else {
|
|
} else {
|
|
@@ -177,15 +162,8 @@ export default {
|
|
},
|
|
},
|
|
//初始化websoket
|
|
//初始化websoket
|
|
initWebSocket(id) {
|
|
initWebSocket(id) {
|
|
- // createSocket('ws://' + this.envConfig.websoketUrl + '/sc-message/webSocket/' + id);
|
|
|
|
- // const getsocketData = (e) => {
|
|
|
|
- // const data = e && e.detail.data;
|
|
|
|
- // console.log(data);
|
|
|
|
- // };
|
|
|
|
- // window.addEventListener('onmessageWS', getsocketData);
|
|
|
|
if ('WebSocket' in window) {
|
|
if ('WebSocket' in window) {
|
|
var serviceIp = this.envConfig.websoketUrl;
|
|
var serviceIp = this.envConfig.websoketUrl;
|
|
-
|
|
|
|
this.websocket = new WebSocket('ws://' + serviceIp + '/sc-message/webSocket/' + id);
|
|
this.websocket = new WebSocket('ws://' + serviceIp + '/sc-message/webSocket/' + id);
|
|
} else {
|
|
} else {
|
|
console.log('当前浏览器 Not support websocket');
|
|
console.log('当前浏览器 Not support websocket');
|
|
@@ -193,10 +171,9 @@ export default {
|
|
let that = this;
|
|
let that = this;
|
|
this.interval = window.setInterval(function () {
|
|
this.interval = window.setInterval(function () {
|
|
//每隔30秒钟发送一次心跳,避免websocket连接因超时而自动断开
|
|
//每隔30秒钟发送一次心跳,避免websocket连接因超时而自动断开
|
|
-
|
|
|
|
if (that.websocket != null) {
|
|
if (that.websocket != null) {
|
|
- // that.websocket.send();
|
|
|
|
- console.log('发送心跳包:HeartBeat');
|
|
|
|
|
|
+ // that.websocket.send('HeartBeat');
|
|
|
|
+ // console.log('发送心跳包:HeartBeat');
|
|
}
|
|
}
|
|
}, 30000);
|
|
}, 30000);
|
|
//连接发生错误的回调方法
|
|
//连接发生错误的回调方法
|
|
@@ -210,17 +187,18 @@ export default {
|
|
// this.send('addsocket');
|
|
// this.send('addsocket');
|
|
};
|
|
};
|
|
|
|
|
|
- // 接收到消息的回调方法
|
|
|
|
|
|
+ //接收到消息的回调方法
|
|
this.websocket.onmessage = function (event) {
|
|
this.websocket.onmessage = function (event) {
|
|
try {
|
|
try {
|
|
let msg = JSON.parse(event.data);
|
|
let msg = JSON.parse(event.data);
|
|
- let i = msg.typeId - 1;
|
|
|
|
|
|
+ // let i = msg.typeId - 1;
|
|
|
|
+ let i = msg.typeId;
|
|
if (msg.userId) {
|
|
if (msg.userId) {
|
|
that.$notify({
|
|
that.$notify({
|
|
dangerouslyUseHTMLString: true,
|
|
dangerouslyUseHTMLString: true,
|
|
showClose: true,
|
|
showClose: true,
|
|
customClass: 'notice_icon',
|
|
customClass: 'notice_icon',
|
|
- offset: 60,
|
|
|
|
|
|
+ offset: 50,
|
|
duration: 3000,
|
|
duration: 3000,
|
|
message:
|
|
message:
|
|
"<div class='notice'><img src=" +
|
|
"<div class='notice'><img src=" +
|
|
@@ -238,7 +216,7 @@ export default {
|
|
} catch (e) {}
|
|
} catch (e) {}
|
|
};
|
|
};
|
|
|
|
|
|
- // 连接关闭的回调方法
|
|
|
|
|
|
+ //连接关闭的回调方法
|
|
this.websocket.onclose = function (ev) {
|
|
this.websocket.onclose = function (ev) {
|
|
console.log('WebSocket连接关闭');
|
|
console.log('WebSocket连接关闭');
|
|
this.websocket = null;
|
|
this.websocket = null;
|