| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 | import React from 'react';import { Input, Modal, Button, message, Select } from 'antd';import { achievementCategoryList } from '../../dataDic.js';import ajax from 'jquery/src/ajax/xhr.js';import $ from 'jquery/src/ajax';const BatchImport = React.createClass({    getInitialState: function () {        return {            loading: false        };    },    showModal() {        this.setState({            visible: true,        });    },    handleOk(e) {        this.setState({            visible: false,        });    },    handleCancel(e) {        this.setState({            visible: false,        });    },    provinceChange(e) {        let theArr = [];        this.props.provinceList.map((item) => {            if (item.id == e) {                item.cityList.map((city) => {                    theArr.push(                        <Select.Option key={city.id}>{city.name}</Select.Option>                    )                });            }        });        this.setState({            cityOption: theArr,            province: e,            city: undefined        });    },    cityChange(e) {        this.setState({            city: e        });    },    //提交    handleSubmit() {        let theArr = this.state.inputValue.split(/[\r\n]/g);        if (!theArr.length) {            return;        };        if (theArr.length > 999) {            message.warning("数据条数不能多于1000条!");            return;        };        let unitName = theArr.join(',');        this.setState({            loading: true        });        $.ajax({            method: "POST",            dataType: "json",            crossDomain: false,            url: globalConfig.context + '/api/admin/cognizanceRecord/import',            data: {                unitName: unitName,                district: this.state.city || this.state.province,                year: this.state.year            }        }).done(function (data) {            this.setState({                loading: false            });            if (!data.error.length) {                message.success('导入成功!');                this.handleOk();            } else {                message.warning(data.error[0].message);            };        }.bind(this));    },    reset() {        this.setState({            province: undefined,            city: undefined,            year: undefined,            inputValue: undefined        });    },    render() {        return (            <div>                <Button type="primary" onClick={this.showModal}>批量导入</Button>                <Modal                    title="批量导入"                    visible={this.state.visible}                    onCancel={this.handleCancel}                    width='1000px'                    footer={[                        <Button key="ok" className="set-submit" type="primary" loading={this.state.loading} onClick={this.handleSubmit}>保存</Button>,                        <Button key="clancel" className="set-submit" type="ghost" onClick={this.handleCancel}>取消</Button>                    ]} >                    <div>                        <span style={{ marginRight: '10px' }}>地区</span>                        <Select style={{ width: '100px' }}                            value={this.state.province}                            placeholder="请选择省份"                            notFoundContent="未获取到省份列表"                            showSearch                            filterOption={this.props.companySearch}                            onChange={this.provinceChange}>                            {this.props.provinceOption}                        </Select>                        <Select style={{ width: '120px', marginLeft: '10px' }}                            value={this.state.city}                            placeholder="请选择城市"                            notFoundContent="未获取到城市列表"                            showSearch                            filterOption={this.props.companySearch}                            onChange={this.cityChange}>                            {this.state.cityOption}                        </Select>                        <span style={{ marginLeft: '10px', marginRight: '10px' }}>年份</span>                        <Select style={{ width: 80 }}                            value={this.state.year}                            onChange={(e) => { this.setState({ year: e }) }} >                            {this.props.yearOption}                        </Select>                        <Button style={{ marginLeft: '20px' }} type="ghost" onClick={this.reset}>重置</Button>                    </div>                    <div style={{ margin: '10px 0' }}>                        公司名称                    </div>                    <Input type="textarea" rows={12} value={this.state.inputValue}                        onChange={(e) => { this.setState({ inputValue: e.target.value }); }} />                </Modal>            </div>        );    }});export default BatchImport;
 |