import React from 'react'; import { Icon, Button, Input, InputNumber,Select, Spin, Table, message, DatePicker ,Modal,Form} from 'antd'; import $ from 'jquery/src/ajax'; import moment from 'moment'; import NewDesc from '@/administration/messagePush/messageOut/selectContent'; import '@/account/demand/techDemand.less'; import '@/administration/news/news.less'; import {getCouponCome,getCouponAuthState} from '@/tools.js'; const DemandList = React.createClass({ loadData(pageNo) { this.setState({ selectedRowKeys:[], page:pageNo, loading: true, visibleSel:false, selData:{} }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/user/voucher/selectList", data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, name: this.state.nameSearch, //券面名称 }, 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, id: thisdata.id, name: thisdata.name,//券面名称 source:thisdata.source,//券面来源 money:thisdata.money,//面额 durationDay: thisdata.durationDay, //活动期限 activeState: thisdata.activeState, //抵用券状态 }); }; }; 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)); }, getInitialState() { return { searchMore: true, validityPeriodDate: [], releaseDate: [], visitModul:false, data:{}, 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: 'name', key: 'name', render: text => { return text&&text.length>16?text.substr(0,16)+'...':text} }, { title: '数量(枚)', dataIndex: 'money', key: 'money', }, { title: '抵用券有效期(天)', dataIndex: 'durationDay', key: 'durationDay' }, { title: '抵用券来源', dataIndex: 'source', key: 'source', render: text => { return getCouponCome(text); } }, { title: '抵用券状态', dataIndex: 'activeState', key: 'activeState', render: text => { return getCouponAuthState(text); } } ], dataSource: [], searchTime: [,] }; }, //抵用券停用 block(){ let id; for(let idx = 0; idx < this.state.selectedRows.length; idx++) { let rowItem = this.state.selectedRows[idx]; if(rowItem.id) { id=rowItem.id; }; }; this.setState({ loading:true }); $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/user/voucher/update", data: { id:id, activeState:"0" } }).done(function (data) { if (!data.error.length) { message.success('该劵已停用'); this.loadData(this.state.page) } else { message.warning(data.error[0].message); }; this.setState({ loading: false, }); }.bind(this)); }, //进入页面 componentWillMount() { this.loadData(); }, selContent(){ this.setState({ visibleSel:true, selData:{ url:'/portal/service/jtProject/list', privateProject:0, auditStatus:2 } }) }, //新增抵用券 newSubmit(e) { e.preventDefault(); this.props.form.validateFields((err, values) => { if(!err){ if(!this.state.objTitle){ message.warning('请选择关联项目!'); return; } if(!this.state.money){ message.warning('请输入金额!'); return; } if(!this.state.durationDay){ message.warning('请输入使用期限!'); return; } $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/user/voucher/save", data: { name:values.name,//抵用券名称 source:4,//抵用券来源 money:this.state.money,//抵用券面额 durationDay:this.state.durationDay,//抵用券使用期限 limitUse:1,//是否限定,在这里固定传0 limitProjectId:this.state.objData.id } }).done(function (data) { if (!data.error.length) { message.success('新增成功!'); this.setState({ loading: false, visitModul:false }); this.loadData(this.state.page); } else { message.warning(data.error[0].message); }; }.bind(this)); } }) }, addClick() { this.props.form.resetFields(); this.setState({ money:'', durationDay:'', visitModul: true, limitProjectId:'', objTitle:'', }); }, closeDesc(e, s) { this.state.showDesc = e; if (s) { this.loadData(this.state.page); }; }, //详情打开 visitOk(e) { this.setState({ visitModul: false }); }, //详情关闭 visitCancel(e) { this.setState({ visitModul: false, }); }, search() { this.loadData(); }, reset() { this.state.nameSearch = ''; this.loadData(); }, searchSwitch() { this.setState({ searchMore: !this.state.searchMore }); }, //搜索渲染值 visFun(state,data){ if(state){ this.setState({ visibleSel:false, objData:data, objTitle:data.name }); }else{ this.setState({ visibleSel:false, }) } }, render() { const rowSelection = { selectedRowKeys: this.state.selectedRowKeys, onChange: (selectedRowKeys, selectedRows) => { this.setState({ selectedRows: selectedRows.slice(-1), selectedRowKeys: selectedRowKeys.slice(-1) }); } }; const { getFieldDecorator } = this.props.form; const FormItem = Form.Item; const formItemLayout = { labelCol: { span: 6 }, wrapperCol: { span: 12 }, }; let theData = this.state.data||{}; const hasSelected = this.state.selectedRowKeys.length > 0; return (