|
@@ -1,14 +1,16 @@
|
|
|
-import React, { useState, useEffect, useRef } from 'react'
|
|
|
|
|
|
|
+import React, { useState, useEffect } from 'react'
|
|
|
import { List, Avatar, Tag, Skeleton, Divider, message } from 'antd'
|
|
import { List, Avatar, Tag, Skeleton, Divider, message } from 'antd'
|
|
|
import InfiniteScroll from 'react-infinite-scroll-component'
|
|
import InfiniteScroll from 'react-infinite-scroll-component'
|
|
|
import { queryMessageList, sendMessage } from '@/services/staff'
|
|
import { queryMessageList, sendMessage } from '@/services/staff'
|
|
|
import AddMessage from './components/AddMessage'
|
|
import AddMessage from './components/AddMessage'
|
|
|
import consts from '@/consts'
|
|
import consts from '@/consts'
|
|
|
import { useRequest } from 'umi'
|
|
import { useRequest } from 'umi'
|
|
|
|
|
+import { useModal } from '@/components/Modal'
|
|
|
|
|
+import MessageDrawer from './components/MessageDrawer'
|
|
|
// import MarkDown from 'react-markdown'
|
|
// import MarkDown from 'react-markdown'
|
|
|
|
|
|
|
|
const Notification = () => {
|
|
const Notification = () => {
|
|
|
- const tRef = useRef(null)
|
|
|
|
|
|
|
+ const { toggleDrawer, setDrawerProps } = useModal()
|
|
|
// const { sendMsg } = useWebSocketFn()
|
|
// const { sendMsg } = useWebSocketFn()
|
|
|
const msgTypeEnum = {
|
|
const msgTypeEnum = {
|
|
|
message: '通知',
|
|
message: '通知',
|
|
@@ -61,6 +63,20 @@ const Notification = () => {
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
+ // 展示drawer
|
|
|
|
|
+ const showMessageDrawer = item => {
|
|
|
|
|
+ setDrawerProps({
|
|
|
|
|
+ closable: true,
|
|
|
|
|
+ onClose: () => toggleDrawer(),
|
|
|
|
|
+ bodyStyle: {
|
|
|
|
|
+ height: '100vh'
|
|
|
|
|
+ // overflowY: 'hidden'
|
|
|
|
|
+ },
|
|
|
|
|
+ children: <MessageDrawer item={item} />
|
|
|
|
|
+ })
|
|
|
|
|
+ toggleDrawer()
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
return (
|
|
return (
|
|
|
<div className="bg-hex-ffffff rounded-md px-6 pb-6">
|
|
<div className="bg-hex-ffffff rounded-md px-6 pb-6">
|
|
|
<div className="flex justify-between items-center">
|
|
<div className="flex justify-between items-center">
|
|
@@ -83,7 +99,13 @@ const Notification = () => {
|
|
|
<List.Item key={item.id}>
|
|
<List.Item key={item.id}>
|
|
|
<List.Item.Meta
|
|
<List.Item.Meta
|
|
|
avatar={<Avatar src={item.avatar} />}
|
|
avatar={<Avatar src={item.avatar} />}
|
|
|
- title={<a href="#">{item.title}</a>}
|
|
|
|
|
|
|
+ title={
|
|
|
|
|
+ <span
|
|
|
|
|
+ className="cursor-pointer text-primary"
|
|
|
|
|
+ onClick={() => showMessageDrawer(item)}>
|
|
|
|
|
+ {item.title}
|
|
|
|
|
+ </span>
|
|
|
|
|
+ }
|
|
|
description={
|
|
description={
|
|
|
<div className="mb-1">
|
|
<div className="mb-1">
|
|
|
<Tag color="purple">{msgTypeEnum[item.msgType]}</Tag> '发布于',
|
|
<Tag color="purple">{msgTypeEnum[item.msgType]}</Tag> '发布于',
|