import React from 'react'; import $ from 'jquery/src/ajax'; import 'react-quill/dist/quill.bubble.css'; import {Form,Icon,Button,Input,Select,Spin,Table,message,DatePicker,Modal,Upload,Popconfirm,Cascader,InputNumber,Radio} from 'antd'; import {areaSelect, getProvince} from '@/NewDicProvinceList';//省市区 import { getGameState, splitUrl, getprovince, getStatuslist, getLvl} from '@/tools.js'; //主体 const MemberList = 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/user/info', data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, lvl: this.state.lvlSearch, mobile: this.state.mobileSearch, nickname: this.state.nicknameSearch, }, 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, mobile: thisdata.mobile, nickname: thisdata.nickname, lvl: thisdata.lvl, status: thisdata.status, createTimes: thisdata.createTimes, workUnit: thisdata.workUnit, }); } 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, }, powerList:[], 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: 'mobile', key: 'mobile' }, { title: '公司', dataIndex: 'workUnit', key: 'workUnit', }, { title: '姓名', dataIndex: 'nickname', key: 'nickname', }, { title: '会员级别', dataIndex: 'lvl', key: 'lvl', render:(text,record)=>{ if (text !== undefined) { let value = ''; this.state.powerList.map((obj)=>{ if (obj.lvlNumber === text) { value = obj.typeName; } }) return value; } } }, { title: '注册时间', dataIndex: 'createTimes', key: 'createTimes' }, { title: '状态', dataIndex: 'status', key: 'status', render:(text)=>{ return getStatuslist(text.toString()) } }, { title: '排序', dataIndex: 'memberPrice', key: 'memberPrice' }, { title: '操作', dataIndex: ' ', key: ' ', render:(text,index,record)=>{ return } }, ], dataSource: [] }; }, powerList(pageNo) { $.ajax({ method: 'get', dataType: 'json', crossDomain: false, url: globalConfig.context + '/api/admin/listLvltype', data: { pageNo: 1, pageSize: 99, }, success: function(data) { let theArr = []; if (!data.data || !data.data) { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { for (let i = 0; i < data.data.length; i++) { let thisdata = data.data[i]; theArr.push({ key: i, id: thisdata.id, typeName: thisdata.typeName, lvlNumber: thisdata.lvlNumber, }); } this.state.pagination.current = data.data.pageNo; this.state.pagination.total = data.data.totalCount; } this.setState({ powerList: theArr, }); }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, componentWillMount() { this.loadData() this.powerList() }, detailes(record) { this.setState({ loading:true }); $.ajax({ method: 'get', dataType: 'json', crossDomain: false, url: globalConfig.context + '/api/admin/user/details', data: { id: record.id, }, success: function(data) { let theArr = []; let thisdata = data.data; let ProvinceCityArr = [], ProvinceS = thisdata.province, //getprovince citys = thisdata.city, Areas = thisdata.area; ProvinceCityArr.push(ProvinceS, citys, Areas); if (!data.data || !data.data.list) { if (data.error && data.error.length) { message.warning(data.error[0].message); } } Object.assign(this.state.totalData,{ postalAddress: thisdata.postalAddress, contacts: thisdata.contacts, contactMobile: thisdata.contactMobile, ProvinceCity: ProvinceCityArr[0] === null?undefined:ProvinceCityArr, pwds:thisdata.pwds, },this.state.RowData) }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, //项目列表整行点击 tableRowClick(record, index) { this.state.RowData = record; this.setState({ editvisible: true, }); this.detailes(record); }, edithandleCancel(e) { this.setState({ editvisible: false },()=>{ this.addReset() }); }, search() { this.loadData(); }, add(){ this.setState({ editvisible: true, flag: false, }); }, addNew(){ this.setState({ loading:true }); ["ProvinceCity"].forEach((key)=>{ this.change(key,undefined) }) $.ajax({ method: 'post', dataType: 'json', crossDomain: false, url: globalConfig.context + (this.state.flag?'/api/admin/user/update':'/api/admin/user/add'), 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)); }, cancelAdd(){ this.setState({ editvisible: false, },()=>{ this.setState({ flag:true }) this.addReset() }); this.loadData() }, //新增框的清零 addReset(){ this.setState({ totalData:{}, }) }, //搜索部分的清零 reset() { this.state.mobileSearch = undefined; this.state.lvlSearch = undefined; this.state.nicknameSearch = 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) }); } }; const empty = []; let data = this.state.totalData; return (
会员列表
{ this.setState({ mobileSearch: e.target.value }); }} /> { this.setState({ nicknameSearch: e.target.value }); }} />
{ this.change('mobile',e.target.value) }} style={{width:'240px'}} /> { this.change('pwds',e.target.value) }} style={{width:'240px'}} /> { this.change('nickname',e.target.value) }} style={{width:'240px'}} /> { this.change('workUnit',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('postalAddress',e.target.value) }} style={{width:'240px'}} /> { this.change('contacts',e.target.value) }} style={{width:'240px'}} /> { this.change('contactMobile',e.target.value) }} style={{width:'240px'}} /> {this.state.flag?data.createTimes:new Date().toLocaleDateString()} { this.change('status',e.target.value) }} value={data.status}> 正常 注销 锁定
); } }) ); export default MemberList;