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'; import Editors from '@/richTextEditors'; //主体 const CaseList = 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/listCases', data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, title: this.state.titleSearch, }, 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, title: thisdata.title, releaseStatus: thisdata.releaseStatus, topNumber: thisdata.topNumber, sortNumber: thisdata.sortNumber, content: thisdata.content, createTimes: thisdata.createTimes, releaseDates:thisdata.releaseDates, editTimes:thisdata.editTimes, }); } 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, totalData:{ mark: false, }, 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: 'title', key: 'title' }, { 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/detailsCases', 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); } } 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(){ this.setState({ loading:true }); $.ajax({ method: 'post', dataType: 'json', crossDomain: false, url: globalConfig.context + (this.state.flag?'/api/admin/updateCases':'/api/admin/addCases'), data: this.state.totalData, }).done(function(data) { this.setState({ loading: false }); if(!data.error.length) { message.success('保存成功!'); this.setState({ editvisible:false, flag:true }) this.addReset() this.loadData() } 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/deleteCases", 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({ totalData:{ content:"
", }, }) }, //搜索部分的清零 reset() { this.state.titleSearch = undefined; this.loadData(); }, 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 (