import React from 'react';
import $ from 'jquery/src/ajax';
import 'react-quill/dist/quill.bubble.css';
import moment from 'moment';
import {Form,Icon,Button,Input,Select,Spin,Table,message,DatePicker,Modal,Upload,Popconfirm,Cascader,InputNumber,Radio,TimePicker,Tabs} from 'antd';
import {areaSelect, getProvince} from '@/NewDicProvinceList';//省市区
import { getGameState, splitUrl, getprovince, getStatuslist, getLvl,beforeUploadFile} from '@/tools.js';
const PicturesWall = React.createClass({
getInitialState() {
return {
previewVisible: false,
previewImage: '',
fileList: this.props.pictureUrl,
}
},
getDefaultProps(){
return{
changeClick:this.modifyChange
}
},
handleCancel() {
this.setState({ previewVisible: false })
},
handlePreview(file) {
this.setState({
previewImage: file.url || file.thumbUrl,
previewVisible: true,
});
},
handleChange(info) {
let fileList = info.fileList;
this.setState({ fileList });
this.props.fileList(fileList);
},
componentWillReceiveProps(nextProps) {
this.state.fileList = nextProps.pictureUrl;
},
render() {
const { previewVisible, previewImage, fileList } = this.state;
const uploadButton = (
);
return (
{fileList.length >= 18 ? null : uploadButton}
);
}
});
// 主体
const McjList = 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 + '/api/admin/civilianIntoMilitary/list',
data: {
pageNo: pageNo || 1,
pageSize: this.state.pagination.pageSize,
name: this.state.nameSearch,
type: this.state.typeSearch,
},
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];
let ProvinceCityArr = [],
ProvinceS = thisdata.province, //getprovince
citys = thisdata.city,
Areas = thisdata.area;
ProvinceCityArr.push(ProvinceS, citys, Areas);
theArr.push({
key: i,
id: thisdata.id,
name: thisdata.name,
topNumber: thisdata.topNumber,
sortNumber: thisdata.sortNumber,
contacts: thisdata.contacts,
contactsMobile:thisdata.contactsMobile,
ProvinceCity:ProvinceCityArr[0] === null?[]:ProvinceCityArr,
type: thisdata.type,
price: thisdata.price,
releaseStatus: thisdata.releaseStatus,
releaseDates: thisdata.releaseDates,
createTimes:thisdata.createTimes,
editTimes:thisdata.editTimes,
introduction: thisdata.introduction,
});
}
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 {
loading: false,
flag: true,
ProvinceCity:[],
ProvinceCityC: [],
totalData:{
mark: false,
},
technicalPictureUrl: [],
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: 'key',
key: 'key'
},
{
title: '标题',
dataIndex: 'name',
key: 'name'
},
{
title: '价格',
dataIndex: 'price',
key: 'price',
},
{
title: '品类',
dataIndex: 'type',
key: 'type',
},
{
title: '排序',
dataIndex: 'sortNumber',
key: 'sortNumber'
},
{
title: '发布状态',
dataIndex: 'releaseStatus',
key: 'releaseStatus',
render:text=>{
return text?'已发布':'未发布';
}
},
{
title: '置顶',
dataIndex: 'topNumber',
key: 'topNumber',
render:text=>{
return text?'否':'是';
}
},
{
title: '操作',
dataIndex: 'a',
key: 'a',
render:(text,record,index)=>{
return
}
},
],
dataSource: []
};
},
componentWillMount() {
this.loadData()
},
detailes(record) {
this.setState({
loading:true
});
$.ajax({
method: 'get',
dataType: 'json',
crossDomain: false,
url: globalConfig.context + '/api/admin/civilianIntoMilitary/details',
data: {
id: record.id,
},
success: function(data) {
let theArr = [];
let thisdata = data.data;
if (!data.data || !data.data.list) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
}
this.setState({
technicalPictureUrl: thisdata.technicalPictureUrl ? splitUrl(thisdata.technicalPictureUrl, ',', globalConfig.avatarHost + '/upload') : [],
})
Object.assign(this.state.totalData,{},this.state.RowData)
}.bind(this)
}).always(
function() {
this.setState({
loading: false
});
}.bind(this)
);
},
stopPropagation(e){
e.stopPropagation();
e.nativeEvent.stopImmediatePropagation();
},
//项目列表整行点击
tableRowClick(record, index) {
this.state.RowData = record;
this.setState({
editvisible: true,
});
this.detailes(record);
},
edithandleCancel(e) {
this.setState({
editvisible: false
},()=>{
this.addReset()
});
this.loadData()
},
search() {
this.loadData();
},
add(){
this.setState({
editvisible: true,
flag: false,
});
},
addNew(){
let theorgCodeUrl = [];
if (this.state.technicalPictureUrl.length) {
let picArr = [];
this.state.technicalPictureUrl.map(function (item) {
if ( item.response && item.response.data && item.response.data.length ){
picArr.push(item.response.data);
}
});
theorgCodeUrl = picArr.join(",");
};
this.setState({
loading:true
});
["ProvinceCity"].forEach((key)=>{
this.change(key,undefined)
})
if(theorgCodeUrl.length){
this.change("technicalPictureUrl",theorgCodeUrl)
}else{
this.change("technicalPictureUrl",[])
}
$.ajax({
method: 'post',
dataType: 'json',
crossDomain: false,
url: globalConfig.context + (this.state.flag?'/api/admin/civilianIntoMilitary/update':'/api/admin/civilianIntoMilitary/apply'),
data: this.state.totalData,
}).done(function(data) {
this.setState({
loading: false
});
if(!data.error.length) {
message.success('保存成功!');
this.cancelAdd()
} else {
message.warning(data.error[0].message);
}
}.bind(this));
},
saveNew(){
this.change("releaseStatus",0,()=>{
this.addNew()
})
},
issueNew(){
this.change("releaseStatus",1,()=>{
this.addNew()
})
},
delete(id){
this.setState({
loading:true
});
$.ajax({
method: 'post',
dataType: 'json',
crossDomain: false,
url: "/api/admin/civilianIntoMilitary/delete",
data: {
id: id,
},
}).done(function(data) {
this.setState({
loading: false
});
if(!data.error.length) {
message.success('删除成功!');
this.loadData()
} else {
message.warning(data.error[0].message);
}
}.bind(this));
},
cancelAdd(){
this.setState({
editvisible: false,
},()=>{
this.setState({
flag:true
})
this.addReset()
});
this.loadData()
},
//新增框的清零
addReset(){
this.setState({
technicalPictureUrl:[],
totalData:{},
})
},
//搜索部分的清零
reset() {
this.state.mobileSearch = undefined;
this.state.lvlSearch = undefined;
this.state.nameSearch = undefined;
this.state.typeSearch = undefined;
this.loadData();
},
getOrgCodeUrl(e) {
this.setState({ technicalPictureUrl: e });
},
change(key, e, f){
if(f === undefined ){
this.state.totalData[key] = e
this.setState({
totalData:this.state.totalData
})
}else if(typeof(f) === "function"){
this.state.totalData[key] = e
this.setState({
totalData:this.state.totalData
},f)
}
},
render() {
const FormItem = Form.Item;
const rowSelection = {
selectedRowKeys: this.state.selectedRowKeys,
onChange: (selectedRowKeys, selectedRows) => {
this.setState({
selectedRows: selectedRows.slice(-1),
selectedRowKeys: selectedRowKeys.slice(-1)
});
}
};
let data = this.state.totalData;
const { TextArea } = Input;//文本域
const { TabPane } = Tabs;//标签页
const { MonthPicker, RangePicker, WeekPicker } = DatePicker;//日期输入框
return (
);
}
})
);
export default McjList;