|
@@ -1,35 +1,43 @@
|
|
|
<template>
|
|
|
- <div class="btn" @click="showWarningBroad">
|
|
|
- <!-- <div>语音播报</div>
|
|
|
+ <div style="position: fixed; z-index: 999; right: 100px; top: 18px; color: #fff">
|
|
|
+ <div class="btn" @click="showWarningBroad">
|
|
|
+ <!-- <div>语音播报</div>
|
|
|
<a-badge :count="10">
|
|
|
<a href="#" class="head-example"></a>
|
|
|
</a-badge> -->
|
|
|
- <a-badge dot>
|
|
|
- <BellOutlined style="font-size: 20px" />
|
|
|
- </a-badge>
|
|
|
- </div>
|
|
|
- <div v-if="isShowWarningBroad" class="broadcast">
|
|
|
- <div class="title">
|
|
|
- <div class="message-title">消息通知</div>
|
|
|
- <div class="badge-box">
|
|
|
- <SoundOutlined style="font-size: 20px; color: #000" />
|
|
|
- </div>
|
|
|
+ <a-badge dot>
|
|
|
+ <BellOutlined style="font-size: 20px; color: #fff" />
|
|
|
+ </a-badge>
|
|
|
</div>
|
|
|
- <div class="broadcast-context">
|
|
|
- <div class="context-tab">
|
|
|
- <div class="context-tab-item" :class="{ 'context-tab-item-active': activeKey == 0 }" @click="toSelectList(0)">全部</div>
|
|
|
- <div class="context-tab-item" :class="{ 'context-tab-item-active': activeKey == 1 }" @click="toSelectList(1)">未解决</div>
|
|
|
- <div class="context-tab-item" :class="{ 'context-tab-item-active': activeKey == 2 }" @click="toSelectList(2)">已解决</div>
|
|
|
+ <div v-if="isShowWarningBroad" class="broadcast">
|
|
|
+ <div class="title">
|
|
|
+ <div class="message-title">消息通知</div>
|
|
|
+ <!-- <div class="badge-box">
|
|
|
+ <SoundOutlined style="font-size: 20px; color: #000" />
|
|
|
+ </div> -->
|
|
|
</div>
|
|
|
- <div class="context-box">
|
|
|
- <div v-if="broadcastList.length == 0" class="no-context">暂无内容</div>
|
|
|
- <div class="context-detail" v-else v-for="(item, index) in broadcastList" :key="index" :style="{ color: item['isok'] == 0 ? 'red' : '#000' }">
|
|
|
- <div>{{ item['createTime'] }}</div>
|
|
|
- <div>{{ item['devicekind_dictText'] }}</div>
|
|
|
- <div>{{ item['wardescrip'] || item['nwartype_dictText'] }}</div>
|
|
|
- <div>{{ item['isok'] ? '已解决' : '未解决' }}</div>
|
|
|
+ <div class="broadcast-context">
|
|
|
+ <div class="context-tab">
|
|
|
+ <div class="context-tab-item" :class="{ 'context-tab-item-active': activeKey == 0 }" @click="toSelectList(0)">全部</div>
|
|
|
+ <div class="context-tab-item" :class="{ 'context-tab-item-active': activeKey == 1 }" @click="toSelectList(1)">未解决</div>
|
|
|
+ <div class="context-tab-item" :class="{ 'context-tab-item-active': activeKey == 2 }" @click="toSelectList(2)">已解决</div>
|
|
|
+ </div>
|
|
|
+ <div class="context-box">
|
|
|
+ <div v-if="broadcastList.length == 0" class="no-context">暂无内容</div>
|
|
|
+ <div
|
|
|
+ class="context-detail"
|
|
|
+ v-else
|
|
|
+ v-for="(item, index) in broadcastList"
|
|
|
+ :key="index"
|
|
|
+ :style="{ color: item['isok'] == 0 ? 'red' : '#000' }"
|
|
|
+ >
|
|
|
+ <div>{{ item['createTime'] }}</div>
|
|
|
+ <div>{{ item['devicekind_dictText'] }}</div>
|
|
|
+ <div>{{ item['wardescrip'] || item['nwartype_dictText'] }}</div>
|
|
|
+ <div>{{ item['isok'] ? '已解决' : '未解决' }}</div>
|
|
|
+ </div>
|
|
|
+ <div v-if="broadcastList.length > 5" class="more" @click="toMore">更多</div>
|
|
|
</div>
|
|
|
- <div class="more" @click="toMore">更多</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -81,15 +89,17 @@
|
|
|
function initWebSocket() {
|
|
|
let token = getToken();
|
|
|
//将登录token生成一个短的标识
|
|
|
- let wsClientId = md5(token);
|
|
|
- let userId = unref(userStore.getUserInfo).id + '_' + wsClientId;
|
|
|
+ // let wsClientId = md5(token);
|
|
|
+ // let userId = unref(userStore.getUserInfo).id + '_' + wsClientId;
|
|
|
+ let userId = unref(userStore.getUserInfo).id + '?token=' + token;
|
|
|
// WebSocket与普通的请求所用协议有所不同,ws等同于http,wss等同于https
|
|
|
- let url = glob.domainUrl?.replace('https://', 'wss://').replace('http://', 'ws://') + '/websocket/' + userId;
|
|
|
+ let url = glob.wsUrl?.replace('https://', 'wss://').replace('http://', 'ws://') + '/websocket/' + userId;
|
|
|
connectWebSocket(url);
|
|
|
onWebSocket(onWebSocketMessage);
|
|
|
}
|
|
|
|
|
|
function onWebSocketMessage(data) {
|
|
|
+ console.log('WebSocket 监测消息--------------》', data);
|
|
|
if (data.cmd === 'topic' || data.cmd === 'user') {
|
|
|
//
|
|
|
setTimeout(() => {
|
|
@@ -100,7 +110,7 @@
|
|
|
}
|
|
|
}
|
|
|
onMounted(() => {
|
|
|
- // initWebSocket();
|
|
|
+ initWebSocket();
|
|
|
});
|
|
|
|
|
|
return { showWarningBroad, isShowWarningBroad, activeKey, toSelectList, broadcastList, toMore };
|