| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295 | import {Component} from 'react';import {Button,Modal,message,Table,Spin,Input, Row,Col,Card,Form} from 'antd';import './selectContent.less';import {getMsgType,getGameState} from '@/tools';class SelectContent extends Component {    constructor(props) {        super(props);        this.state = {             loading:false,            RowData:[],            recD:[],            selectedRowKeys: [],            selectedRows: [],            loading: false,            pagination: {                defaultCurrent: 1,                defaultPageSize: 10,                showQuickJumper: true,                pageSize: 10,                onChange: function (page) {                    this.loadData(page);                }.bind(this),                showTotal: function (total) {                    return '共' + total + '条数据';                }            },            columns: [                 {                    title: '名称',                    dataIndex: 'title',                    key: 'title',                    render: text => { return text&&text.length>16?text.substr(0,16)+'...':text}                },                {                    title: '简介',                    dataIndex: 'summary',                    key: 'summary',                    render: text => { return text&&text.length>16?text.substr(0,16)+'...':text}                },                {                    title: '类型',                    dataIndex: 'fromTable',                    key: 'fromTable',                    render:(text)=>{                        return getMsgType(text)                    }                },                {                    title: '关键字',                    dataIndex: 'keyword',                    key: 'keyword',                    render: text => { return text&&text.length>16?text.substr(0,16)+'...':text}                },                {                    title: '操作',                    dataIndex: 'caozuo',                    key: 'caozuo',                    render:(text,recard) => {                        return  <div className="btnRight">                                    <Button type="primary" style={{ background: "#3fcf9e", border: "none", color: "#fff" }} onClick={(e)=>{e.stopPropagation();this.subVal(recard)}}>选择</Button>                                </div>                    }                }            ],            objColumns: [                {                   title: '名称',                   dataIndex: 'name',                   key: 'name',                   render: text => { return text&&text.length>16?text.substr(0,16)+'...':text}               },               {                   title: '简介',                   dataIndex: 'summary',                   key: 'summary',                   render: text => { return text&&text.length>16?text.substr(0,16)+'...':text}               },               {                title: '市场价(万元)',                dataIndex: 'price',                key: 'price'                },                {                    title: '最低折扣',                    dataIndex: 'offset',                    key: 'offset'                },                {                    title: '会员价(万元)',                    dataIndex: 'memberPrice',                    key: 'memberPrice'                },                {                    title: '活动价(万元)',                    dataIndex: 'activityPrice',                    key: 'activityPrice'                },                {                    title: '活动生效标识',                    dataIndex: 'activityFlag',                    key: 'activityFlag',                    render: (text) => {                        return getGameState(text);                    }                },               {                   title: '操作',                   dataIndex: 'caozuo',                   key: 'caozuo',                   render:(text,recard) => {                       return  <div className="btnRight">                                   <Button type="primary" style={{ background: "#3fcf9e", border: "none", color: "#fff" }} onClick={(e)=>{e.stopPropagation();this.subVal(recard)}}>选择</Button>                               </div>                   }               }           ],            dataSource: [],         }    }    loadData(pageNo) {        this.state.data = [];        this.setState({            selectedRowKeys:[],            page:pageNo,            loading: true        });               $.ajax({            method: "get",            dataType: "json",            crossDomain: false,            url: globalConfig.context +  this.props.data&&this.props.data.url?this.props.data.url:"/portal/globalSearch",            data: this.props.data&&this.props.data.url?                {                    pageNo: pageNo || 1,                    pageSize: 5,                    privateProject:this.props.data.privateProject,                    auditStatus:this.props.data.auditStatus,                    name:this.state.searchVal                }                :{                    pageNo: pageNo || 1,                    pageSize: 5,                    name:this.state.searchVal            },            success: function (data) {                let theArr = [];                if (!data.data || !data.data.list) {                    if (data.error && data.error.length) {                        message.warning(data.error[0].message);                    };                } else {                    for (let i = 0; i < data.data.list.length; i++) {                        let thisdata = data.data.list[i];                        theArr.push({                            key: i,                            rowId: thisdata.rowId,                            id:thisdata.id,                            keyword: thisdata.keyword,                            summary:thisdata.summary,                            title:thisdata.title,                            fromTable:thisdata.fromTable,                            name:thisdata.name,                            price:thisdata.price,                            offset:thisdata.offset,                            memberPrice:thisdata.memberPrice,                            activityPrice:thisdata.activityPrice,                            activityFlag:thisdata.activityFlag                        });                    };                };                this.state.pagination.current = data.data.pageNo;                this.state.pagination.total = data.data.totalCount;                if(data.data&&data.data.list&&!data.data.list.length){					this.state.pagination.current=0;					this.state.pagination.total=0;				};                this.setState({                    dataSource: theArr,                    pagination: this.state.pagination                });            }.bind(this),        }).always(function () {            this.setState({                loading: false            });        }.bind(this));    }    //点推送时    subVal(recard){        this.props.visFun(true,recard)    }    handOk(){        this.setState({            visible:false        })        this.props.visFun(false);    }    handleCancel(){        this.setState({            visible:false        })        this.props.visFun(false);    }    componentWillReceiveProps(nextProps){        this.state.visible = nextProps.visible;    }    tableRowClick(record, index) {        this.state.RowData = record;        if(this.props.data&&this.props.data.url){            this.setState({                DetailVis: false            });        }else{            this.setState({                DetailVis: true            });        }    }    searchFun(){        this.loadData()    }    okDetail(){        this.setState({            DetailVis: false        });    }        render() {         const formItemLayout = {            labelCol: { span: 6 },            wrapperCol: { span: 12 },        };        const FormItem = Form.Item        let RowData=this.state.RowData||[];        return ( <div>               <Modal                visible={this.state.visible}                onOk={this.handOk.bind(this)}                onCancel={this.handleCancel.bind(this)}                width="800px"                title={this.props.data&&this.props.data.url?'我的项目':"选择推送内容"}                footer=""               >                <div className="sendBody">                    <div className="megSearch">                       <Input type="text"                         size="large"                         value={this.state.searchVal}                         onChange={(e)=>{this.setState({searchVal:e.target.value})}}/>                        <Button type="primary" size="large" onClick={this.searchFun.bind(this)}>搜索</Button>                    </div>                    <Spin spinning={this.state.loading}>                        <Table columns={this.props.data&&this.props.data.url?this.state.objColumns:this.state.columns}                            dataSource={this.state.dataSource}                            pagination={this.state.pagination}                            onRowClick={this.tableRowClick.bind(this)} />                    </Spin>                </div>               </Modal>               <Modal                    visible={this.state.DetailVis}                    title="详情"                    onOk={this.okDetail.bind(this)}                    onCancel={this.okDetail.bind(this)}                    footer=''                    width="600px"                >                    <div className="detailList">                        <div className="clearfix">                            <FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="名称">                                <span>{RowData.title}</span>                            </FormItem>	                        </div>                        <div className="clearfix">                            <FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="简介">                                <p>{RowData.summary}</p>                              </FormItem>	                        </div>                        <div className="clearfix">                            <FormItem className="half-item" {...formItemLayout} label="类型">                                <p>{getMsgType(RowData.fromTable)}</p>                              </FormItem>	                            <FormItem className="half-item" {...formItemLayout} label="关键字">                                <p>{RowData.keyword}</p>                              </FormItem>	                        </div>                    </div>                </Modal>            </div> );    }} export default SelectContent;
 |