import React from 'react'; import $ from 'jquery/src/ajax'; import { citySelect } from '@/NewDicProvinceListAll'; import { Form, Icon, Button, Input, Spin, Table, message, DatePicker, Modal, Radio, Cascader, } from 'antd'; import { getGameState, getprovince, getReleaseStateList } from '@/tools.js'; import TechDemandDesc from '@/account/business/businessDesc'; //主体 const BusinessProject = Form.create()( React.createClass({ loadData(pageNo) { this.state.data = []; this.setState({ loading: true, page: pageNo }); $.ajax({ method: 'get', dataType: 'json', crossDomain: false, url: globalConfig.context + '/portal/service/jtProject/list', data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, topId: this.state.typeSearch? this.state.typeSearch[0]:'', secondId:this.state.typeSearch?this.state.typeSearch[1]:'', name: this.state.nameSearch, privateProject: 0 }, 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], ProvinceCityArr = [], cname = '', superName = '', ProvinceS = thisdata.province, //getprovince citys = thisdata.city, Areas = thisdata.area; ProvinceCityArr.push(ProvinceS, citys, Areas); (this.state.categoryList).map((item,index) => { if((item.children).length){ (item.children).map((atem,indexT)=>{ if (thisdata.categoryId == atem.value) { console.log() cname = item.label; superName = atem.label; return; } }) } }); theArr.push({ key: i, id: thisdata.id, //业务名称 name: thisdata.name, //业务名称 categoryId: thisdata.categoryId, //业务品类 number: thisdata.number, price: thisdata.price, //市场价 superName: superName, cname: cname, auditStatus: thisdata.auditStatus, city: thisdata.city, activityPrice: thisdata.activityPrice ? thisdata.activityPrice : '', //最低折扣 memberPrice: thisdata.memberPrice ? thisdata.memberPrice : '', //会员价 offset: thisdata.offset ? thisdata.offset : '', activityPrice: thisdata.activityPrice ? thisdata.activityPrice : '', //活动价 activityFlag: thisdata.activityFlag, //活动生效标识 status: thisdata.status, //项目状态 province: thisdata.province, introduce: thisdata.introduce, createTime: thisdata.createTime ? new Date(thisdata.createTime).toLocaleString() : '', value: thisdata.value, applyConditions: thisdata.applyConditions, releaseDate:thisdata.releaseDate?(new Date(thisdata.releaseDate)).toLocaleString():'' }); } this.state.pagination.current = data.data.pageNo; this.state.pagination.total = data.data.totalCount; } this.setState({ dataSource: theArr, pagination: this.state.pagination }); }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, getInitialState() { return { tagList:[], searchMore: true, selectedRowKeys: [], selectedRows: [], loading: false, typeSearch:[], orgCodeUrl: [], companyLogoUrl: [], pagination: { defaultCurrent: 1, defaultPageSize: 10, showQuickJumper: true, pageSize: 10, onChange: function(page) { this.loadData(page); this.setState({ selectedRowKeys: [] }); }.bind(this), showTotal: function(total) { return '共' + total + '条数据'; } }, columns: [ { title: '项目名称', dataIndex: 'name', key: 'bname' }, { title: '品类名称', dataIndex: 'cname', key: 'cname' }, { title: '上级品类', dataIndex: 'superName', key: 'superName' }, { title: '业务地区', dataIndex: 'area', key: 'area', render: (text, rocard) => { return (
{rocard.province != 0 ? ( {getprovince(rocard.province) + '-' + getprovince(rocard.city)} ) : ( '全国' )}
); } }, { title: '市场价(万元)', dataIndex: 'price', key: 'price' }, { title: '最低折扣', dataIndex: 'offset', key: 'offset' }, { title: '会员价(万元)', dataIndex: 'memberPrice', key: 'memberPrice' }, { title: '活动价(万元)', dataIndex: 'activityPrice', key: 'activityPrice' }, { title: '发布状态', dataIndex: 'auditStatus', key: 'auditStatus', render: (text) => { return getReleaseStateList(text); } }, { title: '发布时间', dataIndex: 'releaseDate', key: 'releaseDate' }, { title: '活动生效标识', dataIndex: 'activityFlag', key: 'activityFlag', render: (text) => { return getGameState(text); } }, { title: '审核', dataIndex: 'caozuo', key: 'caozuo', render: (text, recard) => { return (
{recard.auditStatus != '1' && recard.auditStatus != '2' && ( )} {recard.auditStatus!='1'&&recard.auditStatus=='2'&&} {recard.auditStatus!='1'&&recard.auditStatus=='2'&&}
); } } ], dataSource: [] }; }, //提交审核 submission(record) { this.setState({ showDesc: false, loading: true }); $.ajax({ method: 'get', dataType: 'json', crossDomain: false, url: globalConfig.context + '/api/user/jtBusiness/project/publish', data: { id: record.id, auditStatus:1 } }).done( function(data) { if (!data.error.length) { message.success('提交成功.'); this.setState({ loading: false }); this.loadData(this.state.page); } else { message.warning(data.error[0].message); } }.bind(this) ); }, //业务品类列表获取 topLevel() { $.ajax({ method: 'get', dataType: 'json', crossDomain: false, url: globalConfig.context + '/portal/service/jtBusiness/getCategoryList', data: { }, success: function(data) { let theArr = [],thisdata=data.data; if (!data.data) { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { thisdata.map((item,index) => { theArr.push({ 'value':item.topLevelId, 'label':item.topLevel, 'children':[] }) if (item.children) { item.children.map(atem => { (theArr[index].children).push({ 'value':atem.id, 'label':atem.name }) }) } }) } this.setState({ categoryList: theArr, }); this.loadData(); }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, //刷新发布 updateFun(recard){ this.setState({ loading:true }) $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context +'/api/user/jtBusiness/project/refreshPublish', data: { id: recard.id, auditStatus:recard.auditStatus } }).done(function (data) { if (!data.error.length) { message.success('刷新成功!'); this.setState({ loading: false, }); } else { message.warning(data.error[0].message); }; this.loadData(this.state.page); }.bind(this)); }, //撤销发布 revokeFun(recard){ this.setState({ loading:true }) $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/user/jtBusiness/project/offShelf', data: { id: recard.id, auditStatus:recard.auditStatus } }).done(function (data) { if (!data.error.length) { message.success('撤销成功!'); this.setState({ loading: false, }); this.loadData(this.state.page); } else { message.warning(data.error[0].message); }; }.bind(this)); }, loadTag(){ $.ajax({ method: 'get', dataType: 'json', crossDomain: false, url: globalConfig.context + '/api/user/jtBusiness/tag/list', data: { pageNo: 1, pageSize:9999, }, success:function(data){ if(!data.data&&data.data.list.length){ if(data.error&&data.error.length){ message.error(data.error[0].message) return; } }else{ let thisdata = data.data.list,theDate=[]; thisdata.map((item,index)=>{ theDate.push({ key:index, id:item.id, name:item.name }) }) this.setState({ tagList:theDate }) } }.bind(this) }) }, componentWillMount() { this.loadTag(); this.topLevel(); }, //项目列表整行点击 tableRowClick(record, index) { this.state.RowData = record; this.setState({ showDesc: true }); }, //新增一个项目,保存 addhandleSubmit(e) { e.preventDefault(); if (!this.state.categoryName) { message.warning('请输入项目名称'); return false; }; if (this.state.categoryName.length>16) { message.warning('项目名称在16个字以内'); return false; }; if (!this.state.addCid||!this.state.addCid[1]) { message.warning('请选择项目二级品类'); return false; } this.setState({ loading: true }); //上级组织字典 $.ajax({ method: 'post', dataType: 'json', crossDomain: false, url: globalConfig.context + '/api/user/jtBusiness/project/apply', data: { name: this.state.categoryName, //项目名称 categoryId: this.state.addCid[1], isHot: this.state.isHot, province: this.state.ProvinceCity ? this.state.ProvinceCity[0] : '', //是否全国 city: this.state.ProvinceCity ? this.state.ProvinceCity[1] : '' } }).done( function(data) { this.setState({ loading: false }); if (!data.error.length) { message.success('新增项目成功!'); this.handleCancel(); this.loadData(this.state.page); } else { message.warning(data.error[0].message); } }.bind(this) ); }, //项目整行删除 delectRow() { let deletedIds =''; let rowItem = this.state.selectedRowKeys[0]; let data = this.state.dataSource ||[]; if (data.length) { deletedIds=(data[rowItem].id); } console.log(deletedIds); this.setState({ selectedRowKeys: [], loading: deletedIds.length > 0 }); $.ajax({ method: 'get', dataType: 'json', crossDomain: false, url: globalConfig.context + '/api/user/jtBusiness/project/delete', data: { id: deletedIds } }).done( function(data) { if (!data.error.length) { message.success('删除成功!'); this.setState({ loading: false }); } else { message.warning(data.error[0].message); } if(this.state.pagination.total%10==1){ this.loadData((this.state.page)-1); }else{ this.loadData(this.state.page); } }.bind(this) ); }, addClick() { this.state.RowData = {}; this.setState({ visible: true, isHot: 0 }); this.addReset(); }, closeDesc(e, s) { this.state.showDesc = e; if (s) { this.loadData(this.state.page); }; }, handleCancel() { this.setState({ visible: false }); }, search() { this.loadData(); }, //搜索部分的清零 reset() { this.state.nameSearch = ''; //项目名称清零 this.state.cid = undefined; //品类名称清零 this.state.typeSearch=undefined; this.state.ressSearch = undefined; //省市区清零 this.state.activityFlag = undefined; //活动生效清零 this.state.status = undefined; //项目状态清零 this.loadData(); }, //新增部分的清零 addReset() { this.state.categoryName = ''; //项目名称清零 this.state.ProvinceCity = undefined; this.state.addCid = undefined; this.state.boutique = ''; }, //更多搜索的显示与否 searchSwitch() { this.setState({ searchMore: !this.state.searchMore }); }, render() { const FormItem = Form.Item; const rowSelection = { selectedRowKeys: this.state.selectedRowKeys, onChange: (selectedRowKeys, selectedRows) => { this.setState({ selectedRows: selectedRows.slice(-1), selectedRowKeys: selectedRowKeys.slice(-1) }); } }; const hasSelected = this.state.selectedRowKeys.length > 0; return (
项目业务列表
{ this.setState({ nameSearch: e.target.value }); }} /> {this.setState({typeSearch:e})}}/>
{ this.setState({ categoryName: e.target.value }); }} required="required" /> *
{this.setState({addCid:e})}}/> *
{ this.setState({ ProvinceCity: e }); }} /> *
{ this.setState({ isHot: e.target.value }); }} value={this.state.isHot} >
); } }) ); export default BusinessProject;