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