forked from huge/frontEnd/hugeOA

Mr Ke
2020-04-27 5acddbdb6b6d48a08b52602fd232993fd5c3715d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/* eslint-disable */
/**liuwh
 * 4/27/2020, 3:00:42 PM
 * doc comment for the file goes here
 */
 
/** Happy Coding */
import React, { ReactNode, ReactEventHandler, Component, useEffect, useState } from 'react';
// import { Link } from 'react-router-dom';
import { Icon, Tabs, Avatar, Spin } from 'antd';
import './index.scss';
const { TabPane } = Tabs;
import fetch from '../../../api/request';
import moment from 'moment';
 
export default function FindAlreadyReadOrNotView({ documentId }) {
  useEffect(() => {
    console.log('documentId', documentId);
    Promise.all([initDataByType('1', setLoading1, setData1), initDataByType('2', setLoading2, setData2)]).then(res => {
      console.log(res);
    })
  }, []);
 
  function initDataByType(type, setLoading, setData) {
 
    setLoading(true);
    let p = new Promise((resolve, reject) => {
      fetch({
        url: `api/document/noticeRecord/findAlreadyReadOrNot`,
        params: {
          documentId,
          alreadyRead: type
        }
      }).then(res => {
        console.log('res'.res);
        setLoading(false);
        if (res) {
          setData(res);
          resolve(true);
        }
      })
    });
    return p;
  }
 
  const [activeKey, setActiveKey] = useState('1');
  const [loading1, setLoading1] = useState(false);
  const [loading2, setLoading2] = useState(false);
 
  const [data1, setData1] = useState([]);
  const [data2, setData2] = useState([]);
 
  function onchange(key) {
    console.log(key);
  }
 
  return (
    <div className="find-already-read-or-not-view-main">
      <Tabs defaultActiveKey="1" onChange={onchange}>
        <TabPane tab={`未读(${data1.length})`} key="1">
          <Spin spinning={loading1} style={{ height: 100 }}>
            <div className="modal-list">
              {
                data1.map((a) => (
                  <div className="flex-box-row align-center space-between modal-list-item" key={a.id}>
                    <span className="modal-label">{a.noticeUserName || '无'}</span>
                    <span className="modal-time">{a.createTime ? moment(a.createTime).format("YYYY-MM-DD HH:mm") : '无'}</span>
                  </div>
                ))
              }
            </div>
          </Spin>
        </TabPane>
        <TabPane tab={`已读(${data2.length})`} key="2">
          <Spin spinning={loading2} style={{ height: 100 }}>
            <div className="modal-list" >
              {
                data2.map((a) => (
                  <div className="flex-box-row align-center space-between modal-list-item" key={a.id}>
                    <span className="modal-label">{a.noticeUserName || '无'}</span>
                    <span className="modal-time">{a.createTime ? moment(a.createTime).format("YYYY-MM-DD HH:mm") : '无'}</span>
                  </div>
                ))
              }
            </div>
          </Spin>
        </TabPane>
      </Tabs>
    </div>
  )
}