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} example
); } }); // 主体 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 (
页尾内容列表
{ this.setState({ nameSearch: e.target.value }); }} />
{ this.change('name',e.target.value) }} style={{width:'240px'}} /> { this.change('price',e.target.value) }} style={{width:'240px'}} /> { this.change('type',e.target.value) }} style={{width:'240px'}} /> { this.change('ProvinceCity',e) this.change('province', e[0]) this.change('city', e[1]) this.change('area', e[2]) }} /> { this.change('contacts',e.target.value) }} style={{width:'240px'}} /> { this.change('contactsMobile',e.target.value) }} style={{width:'240px'}} /> { this.change('sortNumber',e.target.value) }} style={{width:'240px'}} /> { this.change('topNumber',e.target.value) }} value={data.topNumber}>

图片建议:要清晰。