From 05e9d65251e5ddca6d5b32fb22dc8463d321114e Mon Sep 17 00:00:00 2001 From: shixi <2375768084@qq.com> Date: Wed, 12 Nov 2025 01:14:28 +0800 Subject: [PATCH] fix: for tdesign --- apps/web-tdesign/src/layouts/basic.vue | 35 ++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/apps/web-tdesign/src/layouts/basic.vue b/apps/web-tdesign/src/layouts/basic.vue index 805b8a73..dee44325 100644 --- a/apps/web-tdesign/src/layouts/basic.vue +++ b/apps/web-tdesign/src/layouts/basic.vue @@ -23,6 +23,7 @@ import LoginForm from '#/views/_core/authentication/login.vue'; const notifications = ref([ { + id: 1, avatar: 'https://avatar.vercel.sh/vercel.svg?text=VB', date: '3小时前', isRead: true, @@ -30,6 +31,7 @@ const notifications = ref([ title: '收到了 14 份新周报', }, { + id: 2, avatar: 'https://avatar.vercel.sh/1', date: '刚刚', isRead: false, @@ -37,6 +39,7 @@ const notifications = ref([ title: '朱偏右 回复了你', }, { + id: 3, avatar: 'https://avatar.vercel.sh/1', date: '2024-01-01', isRead: false, @@ -44,12 +47,31 @@ const notifications = ref([ title: '曲丽丽 评论了你', }, { + id: 4, avatar: 'https://avatar.vercel.sh/satori', date: '1天前', isRead: false, message: '描述信息描述信息描述信息', title: '代办提醒', }, + { + id: 5, + avatar: 'https://avatar.vercel.sh/satori', + date: '1天前', + isRead: false, + message: '描述信息描述信息描述信息', + title: '跳转Workspace示例', + link: '/workspace', + }, + { + id: 6, + avatar: 'https://avatar.vercel.sh/satori', + date: '1天前', + isRead: false, + message: '描述信息描述信息描述信息', + title: '跳转外部链接示例', + link: 'https://doc.vben.pro', + }, ]); const userStore = useUserStore(); @@ -102,6 +124,17 @@ function handleNoticeClear() { notifications.value = []; } +function markRead(id: number | string) { + const item = notifications.value.find((item) => item.id === id); + if (item) { + item.isRead = true; + } +} + +function remove(id: number | string) { + notifications.value = notifications.value.filter((item) => item.id !== id); +} + function handleMakeAll() { notifications.value.forEach((item) => (item.isRead = true)); } @@ -144,6 +177,8 @@ watch( :dot="showDot" :notifications="notifications" @clear="handleNoticeClear" + @read="(item) => item.id && markRead(item.id)" + @remove="(item) => item.id && remove(item.id)" @make-all="handleMakeAll" />