index.js
3.31 KB
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
import React, { Component } from 'react';
import { connect } from 'dva';
import { Toast ,PullToRefresh} from 'antd-mobile';
import moment from 'moment';
import shareHide from "../../utils/shareHide";
import Iscroll from "../../components/Iscroll";
import NoData from "../../components/NoData";
import css from './css.less';
import { message } from 'antd';
class Index extends Component{
constructor(props) {
super(props);
this.state = {
list: [],
isloading: false,
pageNo:1,
pageSize:20,
finish:'',
refreshing:false,
dataEnd:false
}
}
componentDidMount() {
document.title = '行业动态';
const _this = this;
const userId = localStorage.id ? localStorage.id : null;
this.setState({ userId })
shareHide();
Toast.loading('loading...',1000)
this.props.dispatch({
type: 'industrynews/getNewsList',
payload: {
status:1,
pageNo:1,
pageSize:20
},
callback(res) {
_this.setState({ list: res ? res : [], isloading: true })
Toast.hide();
},
error(err) {
message.error(err.message)
}
})
}
getNewsListItem=()=>{
let _this = this;
let pageNo = this.state.pageNo +1;
this.props.dispatch({
type: 'industrynews/getNewsList',
payload: {
status:1,
pageNo:pageNo,
pageSize:20
},
callback(res) {
let list = _this.state.list;
let pageNo = _this.state.pageNo;
let finish = _this.state.finish;
let dataEnd = false;
if(res && res.length>0){
list = list.concat(res);
pageNo = pageNo +1;
finish = "完成刷新";
}else{
finish = "没有更多数据了";
dataEnd = true;
}
_this.setState({
list: list,
isloading: true,
refreshing:false,
pageNo:pageNo,
finish:finish,
dataEnd:dataEnd
})
Toast.hide();
},
error(err) {
message.error(err.message)
}
})
}
render() {
const { list, isloading } = this.state;
return <div className={css.industryWrap + ' ' + ((list.length === 0 && isloading) ? css.noInfo : '' )}>
<Iscroll
id="industrynews"
iscrollOptions={{
preventDefault: true,
}}
onPullUpLoadMore={() => this.getNewsListItem()}
hasUp={true}
hasDown={false}
dataEnd={this.state.dataEnd}
haveBackTop={true}
noUpStr={'已全部加载完毕'}
>
<div>
{
list.length > 0 && list.map(itm => <dl
key={itm.id}
onClick={() => {
this.props.history.push({ pathname: "/industrynews/detail", search: 'id=' + itm.id });
}}
>
<dt><img src={itm.imgUrl} /></dt>
<dd>
<div className={css.tit}>{itm.title}</div>
<div className={css.subinfo}>
<span className={css.viewCount}>{itm.viewCount}</span>
<span className={css.time}>{moment(itm.modifyTime).format('YYYY-MM-DD')}</span>
</div>
</dd>
</dl>)
}
</div>
</Iscroll>
</div>
}
}
export default connect()(Index);