/**
|
* 柯礼钦<kelq@hugeinfo.com.cn>
|
* 2018年9月4日 16:00
|
*
|
*/
|
|
|
import React from 'react';
|
|
import HeadView from '../view/HeadView';
|
import TableBtnView from '../view/TableBtnView';
|
import LinkView from '../view/LinkView';
|
import { Input, Button, DatePicker, Divider, Row, Col, message, Modal, Popconfirm, Badge, Select } from 'antd';
|
import moment from 'moment';
|
import Fetch from '../fetch';
|
import TableView from '../view/TableView';
|
|
const Option = Select.Option;
|
export default class BusList extends React.Component {
|
constructor(props) {
|
super(props);
|
this.state = {
|
data: [],
|
formdata: {},
|
key: 0,
|
type: this.props.type,
|
loading: false,
|
businessType: ''
|
};
|
}
|
|
componentDidMount() {
|
const { type } = this.state;
|
var businessType;
|
switch (type) {
|
case 'onlineAppeal':
|
businessType = 12;
|
document.title = '在线申诉';
|
break;
|
case 'stateCompen':
|
businessType = 10;
|
document.title = '国家赔偿';
|
break;
|
case 'appointment':
|
businessType = 14;
|
document.title = '信访预约';
|
break;
|
case 'judicialRelief':
|
businessType = 11;
|
document.title = '司法救助';
|
break;
|
case 'caseProgress':
|
businessType = 13;
|
document.title = '案件进度';
|
break;
|
default:
|
break;
|
}
|
this.setState({ loading: true, businessType });
|
Fetch.getBusinessQuery({ businessType }).then(res => {
|
for (var i = 0; i < res.length; i++) {
|
res[i]['index'] = i + 1;
|
}
|
this.setState({
|
data: res,
|
loading: false
|
})
|
})
|
}
|
|
onTimeChange = (date, dateString) => {
|
const formdata = {
|
...this.state.formdata,
|
createTime: dateString
|
};
|
this.setState({ formdata });
|
}
|
onInputChange = ({ target: { value, name } }) => {
|
if (name === 'reset') {
|
this.setState({ formdata: {} });
|
this.onReset();
|
} else {
|
const formdata = {
|
...this.state.formdata,
|
[name]: value
|
};
|
this.setState({ formdata });
|
}
|
}
|
onSelectChange = (value) => {
|
const formdata = {
|
...this.state.formdata,
|
status: value
|
};
|
this.setState({ formdata });
|
}
|
onReset = () => {
|
this.setState(prev => ({
|
key: prev.key + 1
|
}));
|
this.setState({
|
resetKey: Date.now(),
|
formdata: {}
|
}, this.onTableChange);
|
}
|
|
onSubmit = e => {
|
this.onTableChange();
|
}
|
|
onTableChange = () => {
|
this.setState({ loading: true });
|
const { businessType } = this.state;
|
Fetch.getBusinessQuery({ businessType, ...this.state.formdata }).then(res => {
|
for (var i = 0; i < res.length; i++) {
|
res[i]['index'] = i + 1;
|
}
|
this.setState({
|
data: res,
|
loading: false
|
})
|
})
|
}
|
|
onDetail = (_text, _record) => {
|
this.props.history.push('/busDetail/' + _text.businessType + '/' + _text.businessId + '/' + _text.createId + '/' + 'detail');
|
}
|
|
onDo = (_text, _record) => {
|
this.props.history.push('/busDetail/' + _text.businessType + '/' + _text.businessId + '/' + _text.createId + '/' + 'bus');
|
}
|
|
onDel = (_text, _record) => {
|
Fetch.businessDel({ businessId: _text.businessId }).then(res => {
|
if (res.code == 0) {
|
message.warning('正在更新列表');
|
this.onTableChange();
|
}
|
}, err => {
|
message.error(err);
|
});
|
}
|
|
render() {
|
const columns = [
|
{
|
title: '序号',
|
dataIndex: 'index',
|
key: 'index',
|
}, {
|
title: '申请人',
|
dataIndex: 'userName',
|
key: 'userName',
|
}, {
|
title: '详细内容',
|
dataIndex: 'content',
|
key: 'content',
|
}, {
|
title: '创建时间',
|
dataIndex: 'createTime',
|
key: 'createTime',
|
render: text => <span>{moment(text).format("YYYY-MM-DD HH:mm")}</span>
|
}, {
|
title: '状态',
|
dataIndex: 'status',
|
key: 'status',
|
render: text => (
|
text == "待审" ?
|
<Badge count={text} /> : <Badge count={text} style={{ backgroundColor: '#52c41a' }} />
|
)
|
}, {
|
title: '操作',
|
key: 'action',
|
render: (text, record) => (
|
<span style={{cursor : 'pointer'}}>
|
{
|
text.status == '待审' ? <span><label onClick={()=>{this.onDo(text, record)}} className="theme-color"> 处理</label><Divider type="vertical" /></span> : null
|
}
|
<label onClick={()=>{this.onDetail(text, record)}} className="theme-color">详情</label>
|
<Divider type="vertical" />
|
<Popconfirm placement="topRight" title={'你确定要删除该条记录吗'} onConfirm={()=>{this.onDel(text, record)}} okText="确定" cancelText="取消" >
|
<label className="theme-color">删除</label>
|
</Popconfirm>
|
</span>
|
),
|
}];
|
const { data, loading } = this.state;
|
const { local, sed } = this.props;
|
return (
|
<div className="app-page">
|
<HeadView history={this.props.history} />
|
<LinkView local={local} sed={sed} />
|
<TableBtnView name={local} btnName='新建人员' key={this.state.key}>
|
<Input placeholder="根据申请人模糊查询" style={{ width: "200px" }} name='userName' onChange={this.onInputChange} onPressEnter={this.onSubmit} />
|
<Input placeholder="根据详细内容模糊查询" style={{ width: "200px" }} name='content' onChange={this.onInputChange} onPressEnter={this.onSubmit} />
|
<Select
|
showSearch
|
style={{ width: 200 }}
|
placeholder="根据状态查询"
|
onChange={this.onSelectChange}
|
onBlur={this.onSubmit}
|
>
|
<Option value="2">已审</Option>
|
<Option value="1">待审</Option>
|
</Select>
|
|
<DatePicker onChange={this.onTimeChange} placeholder="创建日期" />
|
<Button type="primary" onClick={this.onSubmit}>查询</Button>
|
<Button name="reset" onClick={this.onInputChange}>重置</Button>
|
</TableBtnView>
|
<TableView columns={columns} data={data} pageSize='10' size='default' loading={loading} />
|
{/* <FormSearch /> */}
|
</div>
|
);
|
}
|
|
}
|