index.js
2.85 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
import React, { Component } from 'react'
import { connect } from 'dva'
import { Link } from 'dva/router'
import shareHide from "../../utils/shareHide";
import {Toast} from "antd-mobile";
import NoData from "../../components/NoData";
import styles from './poster.less';
class Poster extends Component {
constructor(){
super()
this.state={
posterList: [],
selIdx: 0,
filterType: ['鸡汤', '节日', '产品'],
loadingFlag:true
}
}
componentWillMount(){
//Toast.loading('loading...',0);
}
componentDidMount() {
document.title = '海报'
shareHide();
let key = Number(sessionStorage.getItem("key"));
if(key == 1){
this.filter('节日');
}else if (key == 2) {
this.filter('产品');
}else{
this.filter('鸡汤');
}
}
componentWillUnmount(){
document.title = ''
}
filter(type) {
Toast.loading('loading...',0)
const _this = this;
this.props.dispatch({
type: 'poster/getPosterList',
payload: {
reportType: type,
agentCode1: window.localStorage.getItem('orgId'),
agentCode2: window.localStorage.getItem('project')
},
callback(res) {
Toast.hide();
if (typeof res.data === 'object') {
_this.setState({
posterList: res.data,
loadingFlag:false
})
} else {
_this.setState({
posterList: [],
loadingFlag:false
})
}
}
})
}
render() {
let selIdx = 0;
if(sessionStorage.getItem("key")){
selIdx = Number(sessionStorage.getItem("key"))
}
const { posterList } = this.state;
if(this.state.loadingFlag){
return <div></div>
}
return (
<div className={styles.wrapper}>
<div className={styles.tabCon}>
<div className={styles.splitline}></div><ul className={styles.tags}>
{
this.state.filterType.map((el, i) => {
return <li className={selIdx ===i?'on':''} key={i} onClick={() => {
this.filter(el);
this.setState({
selIdx:i
})
sessionStorage.setItem( "key", i);
}}>{el}</li>
})
}
</ul>
<ul className={styles.pList}>
{
posterList.length>0 ? posterList.map((el, i) => {
return <li key={i}>
<Link to={{
pathname: "/poster/info",
state: {
id: el.reportCode,
reportImage: el.reportImage
}
}}><img alt="" src={el.reportImage} /></Link>
</li>
}): <NoData />
}
</ul>
</div>
</div>
)
}
}
export default connect(({ poster }) => ({ poster }))(Poster)