diff --git a/src/layouts/components/Tools/index.vue b/src/layouts/components/Tools/index.vue index 130ee5d..861979e 100644 --- a/src/layouts/components/Tools/index.vue +++ b/src/layouts/components/Tools/index.vue @@ -6,6 +6,7 @@ import useSettingsStore from '@/store/modules/settings' import useUserStore from '@/store/modules/user' import useWebsocketStore from '@/store/modules/websocket' +import { formUrl } from '@/utils/scheduleDict' const router = useRouter() const settingsStore = useSettingsStore() @@ -22,20 +23,36 @@ id: string message: string time: string + formId: string +} +interface websocketMessage { + createTime: string + formId: string + id: string + messageContent: string + messageTitle: string + noticeDeptId: string + noticeId: string } const messageList: Ref = ref([]) -messageList.value = [ - { id: '1', message: '示例消息', time: '2022-07-20 18:32:00' }, - { id: '2', message: '收到一条证书到期提醒', time: '2022-07-20 18:32:00' }, - { id: '3', message: '有新的借用申请待审批', time: '2022-07-20 18:32:00' }, - { id: '4', message: '您的请假申请已通过', time: '2022-07-20 18:32:00' }, - { id: '1', message: '示例消息', time: '2022-07-20 18:32:00' }, - { id: '2', message: '收到一条证书到期提醒', time: '2022-07-20 18:32:00' }, - { id: '3', message: '有新的借用申请待审批', time: '2022-07-20 18:32:00' }, - { id: '4', message: '您的请假申请已通过', time: '2022-07-20 18:32:00' }, -] - +// createTime:"2023-05-16 11:08:05" +// formId:"jlglwjsp" +// id:"1658308307976204289" +// messageContent:"文件审批" +// messageTitle:"审批结果通知" +// noticeDeptId:"0" +// noticeId:"3" +// messageList.value = [ +// { id: '1', message: '示例消息', time: '2022-07-20 18:32:00' }, +// { id: '2', message: '收到一条证书到期提醒', time: '2022-07-20 18:32:00' }, +// { id: '3', message: '有新的借用申请待审批', time: '2022-07-20 18:32:00' }, +// { id: '4', message: '您的请假申请已通过', time: '2022-07-20 18:32:00' }, +// { id: '1', message: '示例消息', time: '2022-07-20 18:32:00' }, +// { id: '2', message: '收到一条证书到期提醒', time: '2022-07-20 18:32:00' }, +// { id: '3', message: '有新的借用申请待审批', time: '2022-07-20 18:32:00' }, +// { id: '4', message: '您的请假申请已通过', time: '2022-07-20 18:32:00' }, +// ] function userCommand(command: 'dashboard' | 'resetPassword' | 'setting' | 'hotkeys' | 'logout') { switch (command) { case 'dashboard': @@ -72,8 +89,35 @@ }) onBeforeMount(() => { // 断开 websocket - // websocket.destroyWebSocket() + websocket.destroyWebSocket() }) +// 监听消息变化 +watch(() => websocket.messageList, (newVal) => { + messageList.value = newVal.map((item: websocketMessage) => ({ + id: item.id, + message: item.messageContent + item.messageTitle, + time: item.createTime, + formId: item.formId, + })) +}, { + deep: true, + immediate: true, +}) +// 进入消息列表 +const toMessageList = () => { + // 清空消息列表 + websocket.resetMessageList() + // 路由跳转到指定控制台(页面暂未开发) +} +// 消息详情 +const toMessageDetail = (message: Message) => { + // 跳转到对应申请结果页面 + router.push({ + path: formUrl[message.formId], + }) + // 消息列表清除对应消息 + websocket.clearAppointMessage(message) +}