From a6eaa412268222847cccc8f671d7b85a0dd69245 Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Fri, 1 Nov 2024 16:42:06 +0800 Subject: [PATCH] =?UTF-8?q?page:=20=F0=9F=93=84=20=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E5=92=8C=E9=83=A8=E5=88=86=E7=BC=BA=E9=99=B7?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/v1/message.ts | 15 ++ src/enums/baseConstant.ts | 7 + .../lay-notice/components/NoticeItem.vue | 8 +- src/layout/components/lay-notice/data.ts | 43 +++++- src/layout/components/lay-notice/index.vue | 28 +--- src/router/modules/home.ts | 42 +++--- src/router/modules/remaining.ts | 22 ++- src/store/message/message.ts | 4 + .../message-detail/detail-message-id.vue | 53 +++++++ .../message-detail/detail-type.vue | 37 +++++ .../message-detail/index.vue | 112 +++++++++++++++ .../message-editing/index.vue | 32 +++++ .../message-editing}/markdown-editor.vue | 2 +- .../message-editing}/message-editor-from.vue | 19 ++- .../message-editing}/rich-editor.vue | 2 +- .../message-editing}/utils/columns.ts | 10 ++ .../message-editing}/utils/hooks.ts | 2 + .../message-type}/index.vue | 4 +- .../message-type}/message-type-dialog.vue | 4 +- .../message-type}/utils/columns.tsx | 0 .../message-type}/utils/hooks.ts | 4 +- .../message-type}/utils/types.ts | 0 .../message/index.vue | 31 ++-- .../message/markdown-editor.vue | 32 +++++ .../message/message-dialog.vue | 134 ++++++++++++++++++ .../message/rich-editor.vue | 58 ++++++++ .../message/utils/columns.tsx} | 23 +-- .../message/utils/hooks.ts | 98 +++++++++---- .../message/utils/types.ts | 4 + .../message/message-dialog.vue | 100 ------------- .../messageEditing/index.vue | 38 ----- 31 files changed, 712 insertions(+), 256 deletions(-) create mode 100644 src/views/message-management/message-detail/detail-message-id.vue create mode 100644 src/views/message-management/message-detail/detail-type.vue create mode 100644 src/views/message-management/message-detail/index.vue create mode 100644 src/views/message-management/message-editing/index.vue rename src/views/{messageManagement/messageEditing => message-management/message-editing}/markdown-editor.vue (90%) rename src/views/{messageManagement/messageEditing => message-management/message-editing}/message-editor-from.vue (85%) rename src/views/{messageManagement/messageEditing => message-management/message-editing}/rich-editor.vue (95%) rename src/views/{messageManagement/messageEditing => message-management/message-editing}/utils/columns.ts (68%) rename src/views/{messageManagement/messageEditing => message-management/message-editing}/utils/hooks.ts (98%) rename src/views/{messageManagement/messageType => message-management/message-type}/index.vue (97%) rename src/views/{messageManagement/messageType => message-management/message-type}/message-type-dialog.vue (91%) rename src/views/{messageManagement/messageType => message-management/message-type}/utils/columns.tsx (100%) rename src/views/{messageManagement/messageType => message-management/message-type}/utils/hooks.ts (94%) rename src/views/{messageManagement/messageType => message-management/message-type}/utils/types.ts (100%) rename src/views/{messageManagement => message-management}/message/index.vue (80%) create mode 100644 src/views/message-management/message/markdown-editor.vue create mode 100644 src/views/message-management/message/message-dialog.vue create mode 100644 src/views/message-management/message/rich-editor.vue rename src/views/{messageManagement/message/utils/columns.ts => message-management/message/utils/columns.tsx} (84%) rename src/views/{messageManagement => message-management}/message/utils/hooks.ts (56%) rename src/views/{messageManagement => message-management}/message/utils/types.ts (85%) delete mode 100644 src/views/messageManagement/message/message-dialog.vue delete mode 100644 src/views/messageManagement/messageEditing/index.vue diff --git a/src/api/v1/message.ts b/src/api/v1/message.ts index a379207..135aec0 100644 --- a/src/api/v1/message.ts +++ b/src/api/v1/message.ts @@ -6,6 +6,21 @@ export const fetchGetMessageList = (data: any) => { return http.request>('get', `message/getMessageList/${data.currentPage}/${data.pageSize}`, { params: data }); }; +/** 系统消息---获取系统消息列表 */ +export const fetchGetUserMessageList = (data: any) => { + return http.request>('get', `message/noManage/getUserMessageList/${data.currentPage}/${data.pageSize}`, { params: data }); +}; + +/** 系统消息---根据消息id获取接收人信息 */ +export const fetchGetReceivedUserinfoByMessageId = (data: any) => { + return http.request>('get', `messageReceived/noManage/getReceivedUserinfoByMessageId`, { params: data }); +}; + +/** 系统消息---根据消息id查询消息详情 */ +export const fetchGetMessageDetailById = (data: any) => { + return http.request>('get', `message/noManage/getMessageDetailById`, { params: data }); +}; + /** 系统消息---添加系统消息 */ export const fetchAddMessage = (data: any) => { return http.request>('post', 'message/addMessage', { data }); diff --git a/src/enums/baseConstant.ts b/src/enums/baseConstant.ts index 734988f..3fd3904 100644 --- a/src/enums/baseConstant.ts +++ b/src/enums/baseConstant.ts @@ -1,4 +1,5 @@ import { computed } from 'vue'; +import { $t } from '@/plugins/i18n'; /** * * 是否默认 @@ -32,6 +33,12 @@ export const enabledOrNotStatus = [ { value: false, label: '禁用' }, ]; +/** 是否已读 */ +export const isReadStatus = [ + { value: true, label: $t('readAlready') }, + { value: false, label: $t('unread') }, +]; + /** * * 分页默认数组个数 */ diff --git a/src/layout/components/lay-notice/components/NoticeItem.vue b/src/layout/components/lay-notice/components/NoticeItem.vue index 5199c5f..22f4c92 100644 --- a/src/layout/components/lay-notice/components/NoticeItem.vue +++ b/src/layout/components/lay-notice/components/NoticeItem.vue @@ -3,6 +3,7 @@ import { ListItem } from '../data'; import { nextTick, PropType, ref } from 'vue'; import { useNav } from '@/layout/hooks/useNav'; import { deviceDetection } from '@pureadmin/utils'; +import { useRouter } from 'vue-router'; defineProps({ noticeItem: { @@ -17,6 +18,7 @@ const descriptionRef = ref(null); const descriptionTooltip = ref(false); const { tooltipEffect } = useNav(); const isMobile = deviceDetection(); +const router = useRouter(); function hoverTitle() { nextTick(() => { @@ -39,10 +41,14 @@ function hoverDescription(event, description) { // 当文本宽度大于容器宽度两倍时,代表文本显示超过两行 currentWidth > 2 * cellWidth ? (descriptionTooltip.value = true) : (descriptionTooltip.value = false); } + +function goMessageDetail(message: ListItem) { + router.push({ path: `/message-detail/${message.messageType}/${message.messageId}` }); +}