123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- import { Component } from 'react';
- import { Input, Select, Spin, Table, message, Button } from 'antd';
- class UserLibrary extends Component {
- constructor(props) {
- super(props);
- this.state = {
- loading: false,
- dataSource: [],
- 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: 'nickname',
- key: 'nickname'
- },
- {
- title: '手机号码',
- dataIndex: 'mobile',
- key: 'mobile'
- },
- {
- title: '用户类型',
- dataIndex: 'type',
- key: 'type',
- render: (text) => {
- return text == '1' ? '企业用户':text=='0'? '个人用户':'未认证';
- }
- },
- {
- title: '注册时间',
- dataIndex: 'createTime',
- key: 'createTime'
- }
- ]
- };
- }
- loadData(pageNo) {
- this.state.data = [];
- this.setState({
- page:pageNo,
- loading: true
- });
- $.ajax({
- method: "get",
- dataType: "json",
- crossDomain: false,
- url: globalConfig.context + "/api/admin/user/info",
- data: {
- pageNo: pageNo || 1,
- pageSize: this.state.pagination.pageSize,
- type: this.state.type, //需求名称
- username: this.state.username,
- mobile:this.state.mobile
- },
- 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,
- type: thisdata.type, //编号
- nickname: thisdata.nickname,
- username:thisdata.username,
- mobile: thisdata.mobile,
- email:thisdata.email,
- createTime:thisdata.createTime?(new Date(thisdata.createTime)).toLocaleString():''
- });
- };
- };
- this.state.pagination.current = data.data.pageNo;
- this.state.pagination.total = data.data.totalCount;
- if(data.data&&data.data.list&&!data.data.list.length){
- this.state.pagination.current=0
- this.state.pagination.total=0
- };
- this.setState({
- total:data.data.totalCount,
- dataSource: theArr,
- pagination: this.state.pagination
- });
- }.bind(this),
- }).always(function () {
- this.setState({
- loading: false
- });
- }.bind(this));
- }
- search() {
- this.loadData();
- }
- reset() {
- this.state.username = '';
- this.state.type = undefined;
- this.state.mobile = '';
- this.loadData();
- }
- componentWillMount() {
- this.loadData();
- }
- render() {
- const rowSelection = {
- selectedRowKeys: this.state.selectedRowKeys,
- onChange: (selectedRowKeys, selectedRows) => {
- this.setState({
- selectedRows: selectedRows.slice(-1),
- selectedRowKeys: selectedRowKeys.slice(-1)
- });
- }
- };
- return (
- <div className="user-content">
- <div className="content-title">
- <div className="content-title">
- <span>用户库</span>
- </div>
- <div className="user-search">
- <Input
- style={{ marginRight: 10 }}
- value={this.state.username}
- placeholder="用户名称"
- onChange={(e) => {
- this.setState({ username: e.target.value });
- }}
- />
- <Input
- style={{ marginRight: 10 }}
- value={this.state.mobile}
- placeholder="手机号码"
- onChange={(e) => {
- this.setState({ mobile: e.target.value });
- }}
- />
- <Select
- value={this.state.type}
- style={{ width: 150 }}
- placeholder="用户类型"
- onChange={(e) => {
- this.setState({ type: e });
- }}
- >
- <Select.Option value="0">个人用户</Select.Option>
- <Select.Option value="1">企业用户</Select.Option>
- </Select>
- <Button type="primary" onClick={this.search.bind(this)} style={{ marginRight: 10 }}>
- 搜索
- </Button>
- <Button onClick={this.reset.bind(this)}>重置</Button>
- </div>
- <div className="patent-table">
- <Spin spinning={this.state.loading}>
- <Table
- columns={this.state.columns}
- dataSource={this.state.dataSource}
- rowSelection={rowSelection}
- pagination={this.state.pagination}
- />
- </Spin>
- </div>
- </div>
- </div>
- );
- }
- }
- export default UserLibrary;
|