From 0ec802e93557b2b1422ddbd68aafa994fa68f455 Mon Sep 17 00:00:00 2001 From: Mr Ke <kelq@hugeinfo.com.cn> Date: Wed, 27 May 2020 10:04:29 +0800 Subject: [PATCH] Merge branch 'master' of http://120.79.193.119:9090/r/nsjcy/frontEnd/nsjcy --- SunshineIns/src/page/CareList.jsx | 223 ++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 163 insertions(+), 60 deletions(-) diff --git a/SunshineIns/src/page/CareList.jsx b/SunshineIns/src/page/CareList.jsx index bac86f5..4cb2b8d 100644 --- a/SunshineIns/src/page/CareList.jsx +++ b/SunshineIns/src/page/CareList.jsx @@ -2,7 +2,8 @@ import HeadView from '../view/HeadView'; import TableBtnView from '../view/TableBtnView'; -import { Input, Button, DatePicker, Divider, message, Popconfirm, Select, Badge } from 'antd'; +import CommonSearchForm from '../view/CommonSearchForm'; +import { Input, Button, DatePicker, Divider, message, Popconfirm, Select, Badge, Breadcrumb } from 'antd'; import moment from 'moment'; import Fetch from '../fetch'; import TableView from '../view/TableView'; @@ -17,14 +18,45 @@ return "社会调查"; case 4: return "心理疏导"; + case 5: + return "法律援助"; } } + +const taskNodeIds = { + 1: '跟踪帮教', + 2: '合适成年人', + 3: '社会调查', + 4: '心理疏导', + 5: '法律援助', +} + +const activityTypeList = [ + 1, + 2, + 3, + 4, + 5 +] +const activityStatusIds = { + 0: '未开始', + 1: '进行中', + 2: '已结束', + 99: '暂停', +} + +const activityStatusList = [ + 0, + 1, + 2 +] export default class CareList extends React.Component { constructor(props) { super(props); this.state = { data: [], - formdata: { + formData: { + __key: Date.now(), page: 1, size: 10, }, @@ -34,28 +66,55 @@ } componentDidMount() { - - document.title = '社会关护管理'; + document.title = '社会观护管理'; this.getData(); } - getData = () => { - const { formdata } = this.state; - Fetch.socialQuery({ ...formdata }) + setFormData = data => { + console.log('form', data); + this.setState({ + formData: data, + }); + } + + searchonClick = data => { + console.log('form', data); + this.setState({ + formData: data, + }); + this.setState({ loading: true }) + Fetch.socialQuery({ ...data }) .then(res => { console.log(res) for (var i = 0; i < res.rows.length; i++) { res.rows[i]['index'] = i + 1; } this.setState({ - data: res.rows + data: res.rows, + loading: false, + }); + }); + } + + getData = () => { + const { formData } = this.state; + this.setState({ loading: true }) + Fetch.socialQuery({ ...formData }) + .then(res => { + console.log(res) + for (var i = 0; i < res.rows.length; i++) { + res.rows[i]['index'] = i + 1; + } + this.setState({ + data: res.rows, + loading: false, }); }); } onInputChange = ({ target: { value, name } }) => { - this.setState(({ formdata }) => ({ - formdata: { - ...formdata, + this.setState(({ formData }) => ({ + formData: { + ...formData, [name]: value } })) @@ -65,8 +124,8 @@ } Seaech = () => { - const { formdata } = this.state; - Fetch.getSweeping(formdata) + const { formData } = this.state; + Fetch.getSweeping(formData) .then(res => { for (var i = 0; i < res.length; i++) { res[i]['index'] = i + 1; @@ -79,8 +138,24 @@ Reset = () => { this.setState({ resetKey: Date.now(), - formdata: {} + formData: {} }, this.getData); + } + + reboot = (e,status) => { + this.setState({ loading: true }) + Fetch.socialUpdate(e, status).then(res => { + if (res.code == 0) { + console.log(res) + this.setState({ loading: false }) + message.success(status==0?'重启任务成功':'暂停任务成功'); + this.getData(); + } else { + this.setState({ loading: false }) + message.error('删除失败,请联系管理员', 2) + } + } + ) } confirm = (e) => { @@ -115,7 +190,7 @@ key: 'status', render: text => ( text == 0 ? - <Badge style={{ backgroundColor: '#6C757C' }} count={'未开始'} /> :text == 1 ? <Badge count={'F1C40F'} style={{ backgroundColor: '#6C757C' }} /> : <Badge count={'已结束'} style={{ backgroundColor: '#2ECC71' }} /> + <Badge style={{ backgroundColor: '#6C757C' }} count={'未开始'} /> : text == 1 ? <Badge count={'进行中'} style={{ backgroundColor: '#F1C40F' }} /> : text == 2 ? <Badge count={'已结束'} style={{ backgroundColor: '#2ECC71' }} /> : <Badge count={'暂停'} style={{ backgroundColor: '#2ECC71' }} /> ) }, { title: '创建时间', @@ -123,67 +198,95 @@ key: 'createTime', render: text => <span>{moment(text).format("YYYY-MM-DD HH:mm")}</span> }, { + title: '开始时间', + dataIndex: 'startTime', + key: 'startTime', + render: text => <span>{moment(text).format("YYYY-MM-DD HH:mm")}</span> + }, { + title: '结束时间', + dataIndex: 'endTime', + key: 'endTime', + render: text => <span>{moment(text).format("YYYY-MM-DD HH:mm")}</span> + }, { title: '操作', key: 'action', render: (text, record) => ( <span> - <a onClick={() => this.showModal(record.id)}>编辑</a> - <Divider type="vertical" /> - <Popconfirm - title="确认删除任务吗?" - id={record.id} - onConfirm={e => this.confirm(record.id)} - okText="确定" - cancelText="取消" - > - <a href="#">删除</a> - </Popconfirm> { - record.status==1? - <React.Fragment> - <Divider type="vertical" /> - <a onClick={() => this.showModal(record.id)}>结束任务</a> - </React.Fragment>:'' + record.status == 0 ? + <React.Fragment> + <a onClick={() => this.showModal(record.id)}>编辑</a> + <Divider type="vertical" /> + <Popconfirm + title="确认删除任务吗?" + id={record.id} + onConfirm={e => this.confirm(record.id)} + okText="确定" + cancelText="取消" + > + <a href="#">删除</a> + <Divider type="vertical" /> + </Popconfirm> + <a onClick={() => this.reboot(record.id, 99)}>暂停</a> + </React.Fragment> : + record.status == 1 ? + <React.Fragment> + <a onClick={() => this.showModal(record.id)}>查看</a> + <Divider type="vertical" /> + <a onClick={() => this.showModal(record.id)}>结束任务</a> + <Divider type="vertical" /> + <a onClick={() => this.reboot(record.id, 99)}>暂停</a> + </React.Fragment> : + <React.Fragment> + <a onClick={() => this.showModal(record.id)}>查看</a> + <Divider type="vertical" /> + <a onClick={() => this.reboot(record.id, 0)}>重启</a> + </React.Fragment> } </span> ), }]; - const { data, loading, resetKey } = this.state; + const { data, loading, resetKey, formData } = this.state; return ( <div className="app-page"> <HeadView history={this.props.history} /> - <div style={{ marginLeft: '90%', marginBottom: '20px', marginTop: '20px' }}> - <Button type="primary" size='large' onClick={() => this.showModal('new')}>新建任务</Button> - </div> {/* <Breadcrumb style={{ padding: '20px' }}> <Breadcrumb.Item><a href="">后台中心</a></Breadcrumb.Item> <Breadcrumb.Item>社会关护</Breadcrumb.Item> </Breadcrumb> */} - <TableBtnView name={''} key={resetKey}> - <Select - style={{ width: 200 }} - placeholder="根据举报性质查询" - onChange={(value) => this.onInputChange({ target: { name: 'nature', value } })} - > - <Option value="1">涉黑涉恶违法犯罪行为</Option> - <Option value="2">涉黑涉恶违法犯罪保护伞</Option> - <Option value="3">其他</Option> - </Select> - <Input placeholder="根据内容模糊查询" style={{ width: "200px" }} name='content' onChange={this.onInputChange} /> - <Select - style={{ width: 200 }} - placeholder="根据状态查询" - onChange={(value) => this.onInputChange({ target: { name: 'status', value } })} - > - <Option value="2">已回复</Option> - <Option value="1">待回复</Option> - </Select> - - <DatePicker onChange={(_, value) => this.onInputChange({ target: { name: 'createTime', value } })} placeholder="根据创建时间查询" /> - <Button type="primary" onClick={this.Seaech}>查询</Button> - <Button onClick={this.Reset}>重置</Button> - </TableBtnView> - <TableView columns={columns} data={data} pageSize='10' size='default' loading={loading} /> + <div style={{ marginLeft: '90%', marginBottom: '20px', marginTop: '20px' }}> + <Button type="primary" size='large' onClick={() => this.showModal('new')}>新建任务</Button> + </div> + <div style={{ background: '#fff', margin: 20 }}> + <CommonSearchForm + {...this.props} + formData={formData} + setFormData={this.setFormData} + searchonClick={this.searchonClick} + pathName={this.props.location.pathname} + data={[ + { + type: 'select', name: '任务类型', label: '任务类型', key: 'taskType', list: activityTypeList.map(key => ({ + id: key, + name: taskNodeIds[key] + })), + }, + { + type: 'select', name: '状态', label: '状态', key: 'status', list: activityStatusList.map(key => ({ + id: key, + name: activityStatusIds[key] + })), + }, + { + type: 'rangePicker', + label: '创建时间', + name: JSON.stringify(['开始时间', '结束时间']), + key: JSON.stringify(['startTime', 'endTime']), + keylistName: 'rangeTimelist', + }, + ]} /> + <TableView columns={columns} data={data} pageSize='10' size='default' loading={loading} /> + </div> </div> ); } -- Gitblit v1.8.0