import React from 'react';
import { Row, Col, DatePicker, Input, Select, Modal, message, Spin, Button } from 'antd';
import moment from 'moment';
import { expressArr } from '../../../dataDic.js';
import './comprehensive.less';
import ajax from 'jquery/src/ajax/xhr.js';
import $ from 'jquery/src/ajax';

const ExpressDesc = React.createClass({
    getInitialState() {
        return {
            visible: false,
            loading: false
        };
    },
    showModal() {
        this.setState({
            visible: true,
        });
    },
    handleOk() {
        this.setState({
            loading: true
        });
        $.ajax({
            method: "post",
            dataType: "json",
            crossDomain: false,
            url: globalConfig.context + "/api/admin/patent/saveRecieveSend",
            data: {
                "rid": this.props.data.rid,
                "pid": this.props.data.pid,
                "acceptanceReceiveTime": this.state.acceptanceReceiveTime,
                "acceptanceIssueTime": this.state.acceptanceIssueTime,
                "acceptanceTrackingNumber": this.state.acceptanceTrackingNumber,
                "acceptanceExpressCompany": "顺丰",
                "authorizationReceiveTime": this.state.authorizationReceiveTime,
                "authorizationIssueTime": this.state.authorizationIssueTime,
                "authorizationTrackingNumber": this.state.authorizationTrackingNumber,
                "authorizationExpressCompany": "顺丰",
                "certificateRecieveTime": this.state.certificateRecieveTime,
                "certificateIssueTime": this.state.certificateIssueTime,
                "certificateTrackingNumber": this.state.certificateTrackingNumber,
                "certificateExpressCompany": "顺丰"
            },
            success: function (data) {
                if (data.error && data.error.length) {
                    message.warning(data.error[0].message);
                } else {
                    message.success('保存成功!');
                    this.props.closeDesc(false, true);
                };
            }.bind(this),
        }).always(function () {
            this.setState({
                loading: false,
                visible: false,
            });
        }.bind(this));
    },
    handleCancel(e) {
        this.setState({
            visible: false,
        });
        this.props.closeDesc(false);
    },
    componentWillReceiveProps(nextProps) {
        this.state.visible = nextProps.showDesc;
        if (nextProps.data) {
            this.state.acceptanceReceiveTime = nextProps.data.acceptanceReceiveTime;
            this.state.acceptanceIssueTime = nextProps.data.acceptanceIssueTime;
            this.state.acceptanceTrackingNumber = nextProps.data.acceptanceTrackingNumber;
            this.state.authorizationReceiveTime = nextProps.data.authorizationReceiveTime;
            this.state.authorizationIssueTime = nextProps.data.authorizationIssueTime;
            this.state.authorizationTrackingNumber = nextProps.data.authorizationTrackingNumber;
            this.state.certificateRecieveTime = nextProps.data.certificateRecieveTime;
            this.state.certificateIssueTime = nextProps.data.certificateIssueTime;
            this.state.certificateTrackingNumber = nextProps.data.certificateTrackingNumber;
        };
    },
    render() {
        let theData = this.props.data;
        if (this.props.data) {
            return (
                <div className="express-desc">
                    <Spin spinning={this.state.loading} className='spin-box'>
                        <Modal maskClosable={false} title="收发登记详情" visible={this.state.visible}
                            onOk={this.handleOk} onCancel={this.handleCancel}
                            width='800px'
                            footer={[
                                <Button key="submit" type="primary" size="large" onClick={this.handleOk}>确认</Button>,
                                <Button key="back" type="ghost" size="large" onClick={this.handleCancel}>取消</Button>,
                            ]}
                            className="patent-desc-content">
                            <div>
                                <p className="widthHalf"><span>专利号:</span>{theData.patentNumber}</p>
                                <p className="widthHalf"><span>专利名:</span>{theData.patentName}</p>
                            </div>
                            <Row className="express-desc-row">
                                <Col span={3}>收发内容</Col>
                                <Col span={4}>收到时间</Col>
                                <Col span={4}>发出时间</Col>
                                <Col span={5}>发出快递单号</Col>
                                <Col span={5}>发出快递公司</Col>
                            </Row>
                            <Row className="express-desc-row">
                                <Col span={3}>受理通知书</Col>
                                <Col span={4}>
                                    <DatePicker
                                        value={this.state.acceptanceReceiveTime ? moment(this.state.acceptanceReceiveTime) : null}
                                        onChange={(data, dataString) => { this.setState({ acceptanceReceiveTime: dataString }); }} />
                                </Col>
                                <Col span={4}>
                                    <DatePicker
                                        value={this.state.acceptanceIssueTime ? moment(this.state.acceptanceIssueTime) : null}
                                        onChange={(data, dataString) => { this.setState({ acceptanceIssueTime: dataString }); }} />
                                </Col>
                                <Col span={5}>
                                    <Input value={this.state.acceptanceTrackingNumber}
                                        onChange={(e) => { this.setState({ acceptanceTrackingNumber: e.target.value }); }} />
                                </Col>
                                <Col span={5}>
                                    <Select defaultValue="顺丰">
                                        <Select.Option value="顺丰">顺丰</Select.Option>
                                    </Select>
                                </Col>
                            </Row>
                            <Row className="express-desc-row">
                                <Col span={3}>授权通知书</Col>
                                <Col span={4}>
                                    <DatePicker
                                        value={this.state.authorizationReceiveTime ? moment(this.state.authorizationReceiveTime) : null}
                                        onChange={(data, dataString) => { this.setState({ authorizationReceiveTime: dataString }); }} />
                                </Col>
                                <Col span={4}>
                                    <DatePicker
                                        value={this.state.authorizationIssueTime ? moment(this.state.authorizationIssueTime) : null}
                                        onChange={(data, dataString) => { this.setState({ authorizationIssueTime: dataString }); }} />
                                </Col>
                                <Col span={5}>
                                    <Input value={this.state.authorizationTrackingNumber}
                                        onChange={(e) => { this.setState({ authorizationTrackingNumber: e.target.value }); }} />
                                </Col>
                                <Col span={5}>
                                    <Select defaultValue="顺丰">
                                        <Select.Option value="顺丰">顺丰</Select.Option>
                                    </Select>
                                </Col>
                            </Row>
                            <Row className="express-desc-row">
                                <Col span={3}>专利证书</Col>
                                <Col span={4}>
                                    <DatePicker
                                        value={this.state.certificateRecieveTime ? moment(this.state.certificateRecieveTime) : null}
                                        onChange={(data, dataString) => { this.setState({ certificateRecieveTime: dataString }); }} />
                                </Col>
                                <Col span={4}>
                                    <DatePicker value={this.state.certificateIssueTime ? moment(this.state.certificateIssueTime) : null}
                                        onChange={(data, dataString) => { this.setState({ certificateIssueTime: dataString }); }} />
                                </Col>
                                <Col span={5}>
                                    <Input value={this.state.certificateTrackingNumber}
                                        onChange={(e) => { this.setState({ certificateTrackingNumber: e.target.value }); }} />
                                </Col>
                                <Col span={5}>
                                    <Select defaultValue="顺丰">
                                        <Select.Option value="顺丰">顺丰</Select.Option>
                                    </Select>
                                </Col>
                            </Row>
                        </Modal>
                    </Spin>
                </div>
            );
        } else {
            return <div></div>
        }
    },
});
export default ExpressDesc;