| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | import React,{Component} from "react";import {AutoComplete, Input, message, Select} from "antd";import $ from "jquery/src/ajax";class StaffSearch extends Component{    constructor(props) {        super(props);        this.state={            superior:'',            customerArr:[],            loading:false,        }        this.httpChange = this.httpChange.bind(this);        this.supervisor = this.supervisor.bind(this);        this.selectAuto = this.selectAuto.bind(this);    }    httpChange(e){        if(e.length>=1){            this.supervisor(e);        }        this.setState({            superior:e        })    }    supervisor(e){        this.setState({            loading: true        });        $.ajax({            method: "post",            dataType: "json",            crossDomain: false,            url: globalConfig.context + "/api/admin/organization/selectName",            data:{                name:e            },            success: function (data) {                if(data.error.length === 0){                    this.setState({                        customerArr:data.data,                    });                }else{                    message.error(data.error[0].message)                }            }.bind(this),        }).always(function () {            this.setState({                loading: false            });        }.bind(this));    }    selectAuto(value){        let theType='';        let contactLists=this.state.customerArr||[];        if (value) {            contactLists.map(function (item) {                if (item.name == value.toString()) {                    theType = item.id;                }            });        }        this.setState({            superior:value        })        this.props.onBlurChange({title:value,value:theType});    }    render() {        const options = this.state.customerArr.map((group,index) =>            <Select.Option key={index} value={group.name}>{group.name}</Select.Option>        )        return (            <AutoComplete                className="certain-category-search"                dropdownClassName="certain-category-search-dropdown"                dropdownMatchSelectWidth={false}                size="large"                style={{ width: '200px' }}                dataSource={options}                placeholder={this.props.placeholder}                value={this.state.superior ? this.state.superior : this.props.valueName}                onChange={this.httpChange}                filterOption={true}                onSelect={this.selectAuto}            >                <Input/>            </AutoComplete>        )    }}export default StaffSearch;
 |