From c235b08e0e1f965357b34e0dbd6d8605fd6c68df Mon Sep 17 00:00:00 2001 From: Mr Ke <kelq@hugeinfo.com.cn> Date: Sat, 16 May 2020 13:46:06 +0800 Subject: [PATCH] 最新消息修改、附件下载 --- src/components/common/NotifyList/index.jsx | 46 +++++++++++++++++++++++++++++++++++++--------- 1 files changed, 37 insertions(+), 9 deletions(-) diff --git a/src/components/common/NotifyList/index.jsx b/src/components/common/NotifyList/index.jsx index 1b707bc..7409e23 100644 --- a/src/components/common/NotifyList/index.jsx +++ b/src/components/common/NotifyList/index.jsx @@ -6,7 +6,7 @@ /** 通知列表 */ import React, { ReactNode, ReactEventHandler, Component } from 'react'; -import { Alert } from 'antd'; +import { Alert, Tooltip } from 'antd'; import fetch from '../../../api/request'; import './index.scss'; @@ -17,7 +17,7 @@ this.config = { }; this.state = { - content: '' + notice: null }; } @@ -25,9 +25,10 @@ fetch({ url: `api/document/getNewNotice` }).then(res => { - if( res ) { + if (res) { this.setState({ - content: res.documentTitle || '' + notice: res + // documentTitle: res.documentTitle || '' }) } }) @@ -35,25 +36,52 @@ componentDidMount() { } + emoveTAG = (str) => { + return str.replace(/<[^>]+>/g, ""); + } + onClick = () => { this.props.history.push({ pathname: "/index/workbench/announcement" }); } + onMouseOut = () => { + this.refs.marquee.start(); + } + + onMouseOver = () => { + this.refs.marquee.stop(); + } + + linkDetail = (id) => { + this.props.history.push({ pathname: `/document/detail/${id}` }); + + } + + renderDom = () => { - let { content } = this.state; + let { notice } = this.state; return <div className="notify-list-main-dom"> - <span className="notify-list-main-dom-msg">最新通知:{content}</span> - <span className="notify-list-main-dom-fuc" onClick={this.onClick}>[查看全部]</span> + <div className="notify-list-main-dom-msg">最新通知: + <div className="notify-list-main-dom-msg-title" onClick={() => { notice.id && this.linkDetail(notice.id) }}> + <marquee onMouseOut={this.onMouseOut} onMouseOver={this.onMouseOver} ref='marquee' style={{ cursor: 'pointer' }}>{notice.documentTitle || ''}</marquee> + </div> + { + notice.documentContent ? <Tooltip placement='topLeft' title={this.emoveTAG(notice.documentContent)} arrowPointAtCenter> + <div className="notify-list-main-dom-msg-content" onClick={() => { notice.id && this.linkDetail(notice.id) }}>{this.emoveTAG(notice.documentContent)}</div> + </Tooltip> : null + } + </div> + <div className="notify-list-main-dom-fuc" onClick={this.onClick}>[查看全部]</div> </div> } render() { - let { content } = this.state; + let { notice } = this.state; return ( <div className="notify-list-main"> { - content && + notice && <Alert // message="Warning Text Warning Text Warning TextW arning Text Warning Text Warning TextWarning Text" message={this.renderDom()} -- Gitblit v1.8.0