From 5acddbdb6b6d48a08b52602fd232993fd5c3715d Mon Sep 17 00:00:00 2001
From: Mr Ke <kelq@hugeinfo.com.cn>
Date: Mon, 27 Apr 2020 15:51:27 +0800
Subject: [PATCH] 增加接收情况tabs列表
---
src/components/page/AnnouncementPage/index.jsx | 19 +++++
debug.log | 11 +++
src/components/common/FindAlreadyReadOrNotView/index.jsx | 91 ++++++++++++++++++++++++++++++
src/components/page/index/rulesList/index.jsx | 31 ++++------
src/components/common/HotListTableView/index.scss | 2
src/api/httpurl.js | 4
src/components/common/FindAlreadyReadOrNotView/index.scss | 21 +++++++
7 files changed, 155 insertions(+), 24 deletions(-)
diff --git a/debug.log b/debug.log
new file mode 100644
index 0000000..5b4c059
--- /dev/null
+++ b/debug.log
@@ -0,0 +1,11 @@
+[0427/114532.165:ERROR:process_reader_win.cc(151)] SuspendThread: �ܾ����ʡ� (0x5)
+[0427/114532.172:ERROR:exception_snapshot_win.cc(98)] thread ID 29668 not found in process
+[0427/114532.172:ERROR:scoped_process_suspend.cc(40)] NtResumeProcess: �ѳ��Է��������˳��Ĺ��̡� (0xc000010a)
+[0427/114701.055:ERROR:process_reader_win.cc(151)] SuspendThread: �ܾ����ʡ� (0x5)
+[0427/114701.055:ERROR:exception_snapshot_win.cc(98)] thread ID 18704 not found in process
+[0427/114754.720:ERROR:process_reader_win.cc(151)] SuspendThread: �ܾ����ʡ� (0x5)
+[0427/114754.721:ERROR:exception_snapshot_win.cc(98)] thread ID 20684 not found in process
+[0427/114754.721:ERROR:scoped_process_suspend.cc(40)] NtResumeProcess: �ѳ��Է��������˳��Ĺ��̡� (0xc000010a)
+[0427/114955.253:ERROR:process_reader_win.cc(151)] SuspendThread: �ܾ����ʡ� (0x5)
+[0427/114955.253:ERROR:exception_snapshot_win.cc(98)] thread ID 704 not found in process
+[0427/114955.253:ERROR:scoped_process_suspend.cc(40)] NtResumeProcess: �ѳ��Է��������˳��Ĺ��̡� (0xc000010a)
diff --git a/src/api/httpurl.js b/src/api/httpurl.js
index 245504a..67afc99 100644
--- a/src/api/httpurl.js
+++ b/src/api/httpurl.js
@@ -1,6 +1,6 @@
//内网测试地址
-// let StagingUrl = 'http://192.168.0.114:9072';
-let StagingUrl = "http://120.79.193.119:9072";
+let StagingUrl = 'http://192.168.0.105:9072';
+// let StagingUrl = "http://120.79.193.119:9072";
//mock地址
diff --git a/src/components/common/FindAlreadyReadOrNotView/index.jsx b/src/components/common/FindAlreadyReadOrNotView/index.jsx
new file mode 100644
index 0000000..50a371d
--- /dev/null
+++ b/src/components/common/FindAlreadyReadOrNotView/index.jsx
@@ -0,0 +1,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>
+ )
+}
diff --git a/src/components/common/FindAlreadyReadOrNotView/index.scss b/src/components/common/FindAlreadyReadOrNotView/index.scss
new file mode 100644
index 0000000..28a178c
--- /dev/null
+++ b/src/components/common/FindAlreadyReadOrNotView/index.scss
@@ -0,0 +1,21 @@
+/* eslint-disable */
+/**liuwh
+ * 4/27/2020, 3:00:42 PM
+ * doc comment for the file goes here
+ */
+
+/** Happy Coding */
+.find-already-read-or-not-view {
+ &-main {
+ & .modal-list .modal-list-item:last-child {
+ border-bottom: none;
+ }
+ & .modal-list-item {
+ border-bottom: 1px solid #ccc;
+ padding: 5px 5px 5px 20px;
+ & > span {
+ margin-right: 100px;
+ }
+ }
+ }
+}
diff --git a/src/components/common/HotListTableView/index.scss b/src/components/common/HotListTableView/index.scss
index 8c52632..5ae29c9 100644
--- a/src/components/common/HotListTableView/index.scss
+++ b/src/components/common/HotListTableView/index.scss
@@ -22,7 +22,7 @@
margin-bottom: 0 !important;
}
& a:visited {
- color: #559de6;
+ color: #559de6 !important;
}
}
}
diff --git a/src/components/page/AnnouncementPage/index.jsx b/src/components/page/AnnouncementPage/index.jsx
index 45c903f..72802a0 100644
--- a/src/components/page/AnnouncementPage/index.jsx
+++ b/src/components/page/AnnouncementPage/index.jsx
@@ -9,6 +9,8 @@
import TableView from '../../common/TableView';
import SearchFormView from '../../common/SearchFormView';
import moment from 'moment';
+import { Modal } from 'antd';
+import FindAlreadyReadOrNotView from '../../common/FindAlreadyReadOrNotView';
import './index.scss';
@@ -26,6 +28,7 @@
page: 1,
size: 10,
},
+ visible: false//modal的可视化状态
};
}
@@ -50,7 +53,7 @@
return this.emoveTAG(cur)
}
},
- { title: '接受情况', dataIndex: 'groupType', render: (cur, item) => <span>{item.readNumber || 0}/{item.noticeNumber || 0}</span> },
+ { title: '接受情况', dataIndex: 'groupType', render: (cur, item) => <a onClick={() => { this.setState({ visible: true, documentId: item.id }) }}><span>{item.readNumber || 0}/{item.noticeNumber || 0}</span></a> },
{ title: '通知时间', dataIndex: 'createTime', render: (cur, item) => cur !== "" && cur != null ? moment(cur).format("YYYY-MM-DD HH:mm") : "" },
{ title: '操作', render: (text, record) => <a onClick={() => this.link(record.id)}>查看</a> }
];
@@ -64,7 +67,7 @@
}
render() {
- const { formData } = this.state;
+ const { formData, documentId, visible } = this.state;
let tableParams = {
url: `api/document/getNotice`,
@@ -78,6 +81,18 @@
}
return (
<div className="rules-list-main">
+ <Modal
+ visible={visible}
+ onCancel={() => this.setState({ visible: false })}
+ footer={null}
+ title="接收情况"
+ >
+ {
+ documentId &&
+ <FindAlreadyReadOrNotView key={documentId} documentId={documentId} />
+ }
+
+ </Modal>
<SearchFormView
formData={formData}
setFormData={this.setFormData}
diff --git a/src/components/page/index/rulesList/index.jsx b/src/components/page/index/rulesList/index.jsx
index c57276e..9802320 100644
--- a/src/components/page/index/rulesList/index.jsx
+++ b/src/components/page/index/rulesList/index.jsx
@@ -10,6 +10,7 @@
import TableView from '../../../common/TableView';
import SearchFormView from '../../../common/SearchFormView';
import moment from 'moment';
+import FindAlreadyReadOrNotView from '../../../common/FindAlreadyReadOrNotView';
import './index.scss';
const { TabPane } = Tabs;
@@ -52,7 +53,7 @@
return cur ? this.emoveTAG(cur) : '无'
}
},
- { title: '接受情况', dataIndex: 'groupType', render: (cur, item) => <a onClick={() => { this.setState({ visible: true }) }}> <span>{item.readNumber || 0}/{item.noticeNumber || 0}</span></a> },
+ { title: '接受情况', dataIndex: 'groupType', render: (cur, item) => <a onClick={() => { this.setState({ visible: true, documentId: item.id }) }}> <span>{item.readNumber || 0}/{item.noticeNumber || 0}</span></a> },
{ title: '发布时间', dataIndex: 'createTime', render: (cur, item) => cur !== "" && cur != null ? moment(cur).format("YYYY-MM-DD HH:mm") : "" },
{ title: '操作', render: (text, record) => <a onClick={() => this.link(record.id)}>查看</a> }
];
@@ -65,8 +66,13 @@
});
}
+ onTabsChange = (key) => {
+ console.log(key);
+ }
+
+
render() {
- const { formData, visible } = this.state;
+ const { formData, visible, documentId } = this.state;
let tableParams = {
url: `api/document/getNotice`,
@@ -86,23 +92,10 @@
footer={null}
title="接收情况"
>
- <Tabs defaultActiveKey="1" >
- <TabPane tab="未读" key="1">
- <div className="modal-list">
- {
- [1,2,3].map((a)=>(
- <div className="flex-box-row align-center modal-list-item" >
- <Avatar src="https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png" />
- <span className="modal-label">柯礼钦</span>
- <span className="modal-time">2010-10-10 24:00</span>
- </div>
- ))
- }
- </div>
- </TabPane>
- <TabPane tab="已读" key="2">
- </TabPane>
- </Tabs>
+ {
+ documentId &&
+ <FindAlreadyReadOrNotView key={documentId} documentId={documentId}/>
+ }
</Modal>
<SearchFormView
--
Gitblit v1.8.0