/* * * @props perId * @props visibale * @props onSelect * @props onClose */ import React, { Component } from 'react'; import moment from 'moment'; import { Modal, Form, Input, Button } from 'antd'; import PSelect from '../../../../components/Pro/PSelect'; import PTable from '../../../../components/Pro/PTable'; import contranctCol from './contranctCol'; // @withRouter @Form.create() export default class Submitted extends Component { constructor(props, context) { super(props, context); this.state = { pageParm: { perId: this.props.perId, pageNumber: 1, pageSize: 10, keyWord: '', contractType: '' }, forceUpdate: false, selectedRowKeys: [], selectedRows: [], }; } componentWillReceiveProps(nextProps) { if(!!nextProps.perId) { this.setState({ pageParm: { ...this.state.pageParm, perId: nextProps.perId } }); } if(!nextProps.visibale) { this.setState({ selectedRowKeys: [], selectedRows: [] }); } } render() { const { getFieldDecorator, resetFields, getFieldsValue } = this.props.form; const columns = contranctCol.call(this); // columns.unshift({ // }); return ( { // selectedRows if(this.state.selectedRows.length == 0) { Modal.error({ title: '请选择合同', okText: '确定' }); }else { const { effectStartDate, effectEndDate } = this.state.selectedRows[0]; const oneYearNum = 365 * 24 * 60 * 60 * 1000; const startDateNum = moment(effectStartDate).valueOf(); const dndDateNum = moment(effectEndDate).valueOf()+24*60*60*1000;//多宽限一天,比如2020-03-03~2021-03-02这个日期也可以接受 if(oneYearNum > dndDateNum - startDateNum) { return Modal.error({ title: '该合同有效期不足1年', content: '需关联合同有效期1年以上的合同。', okText: '确定' }); } this.props.onSelect && this.props.onSelect(this.state.selectedRows); this.props.onClose && this.props.onClose(); } }} onCancel={() => { this.props.onClose && this.props.onClose(); }} > {/* {this.props.children} */}
{getFieldDecorator('keyWord', { initialValue: '' })( )} {getFieldDecorator('contractType', { initialValue: '' })( )}
{ !!this.state.pageParm.perId && { // 只显示有效的合同 return data.filter(item => { return item.contractEffect == '有效'; }); }} rowSelection={{ onChange: (selectedRowKeys, selectedRows) => { this.setState({ selectedRows, selectedRowKeys }); }, type: 'radio', selectedRowKeys: this.state.selectedRowKeys }} /> }
); } }