import React, { Component } from 'react' import { Row, Col, Input, Button, Select, message } from 'antd' import axios from 'axios'; import {formatTime} from '../../common.js' import PropTypes from 'prop-types' class Profile extends Component { static propTypes = { match: PropTypes.object } constructor(props) { super(props) this.state = { usernameEdit: false, emailEdit: false, secureEdit: false, roleEdit: false, userinfo: { } } } componentDidMount(){ const uid = this.props.match.params.uid; this.getUserInfo(uid) } handleEdit = (key, val) => { var s = {}; s[key] = val; this.setState(s) } getUserInfo = (id) => { var _this = this; axios.get('/user/find?id=' + id).then((res) => { _this.setState({ userinfo: res.data.data, _userinfo: res.data.data }) }) } updateUserinfo = (name) =>{ var state = this.state; let value = this.state._userinfo[name]; let params = {uid: state.userinfo.uid} params[name] = value; axios.post('/user/update', params).then( (res)=>{ let data = res.data; if(data.errcode === 0){ let userinfo = this.state.userinfo; userinfo[name] = value; this.setState({ userinfo: userinfo }) this.handleEdit(name + 'Edit', false) message.success('更新用户信息成功'); }else{ message.error(data.errmsg) } }, (err) => { message.error(err.message) } ) } changeUserinfo = (e) =>{ let dom = e.target; let name = dom.getAttribute("name"); let value = dom.value; let userinfo = this.state._userinfo; userinfo[name] = value; this.setState({ _userinfo: userinfo }) } changeRole = (val) =>{ let userinfo = this.state.userinfo; userinfo.role = val; this.setState({ _userinfo: userinfo }) this.updateUserinfo('role'); } updatePassword = () =>{ let old_password = document.getElementById('old_password').value; let password = document.getElementById('password').value; let verify_pass = document.getElementById('verify_pass').value; if(password != verify_pass){ return message.error('两次输入的密码不一样'); } let params = { uid: this.state.userinfo.uid, password: password, old_password: old_password } axios.post('/user/change_password', params).then( (res)=>{ let data = res.data; if(data.errcode === 0){ this.handleEdit('secureEdit', false) message.success('修改密码成功'); }else{ message.error(data.errmsg) } }, (err) => { message.error(err.message) } ) } render() { let ButtonGroup = Button.Group; let userNameEditHtml, emailEditHtml, secureEditHtml, roleEditHtml; const Option = Select.Option; let userinfo = this.state.userinfo; let _userinfo = this.state._userinfo; let roles = { admin: '管理员', member: '会员' } if (this.state.usernameEdit === false) { userNameEditHtml =
{userinfo.username}   {/* { this.handleEdit('usernameEdit', true) }}>修改*/}
} else { userNameEditHtml =
} if (this.state.emailEdit === false) { emailEditHtml =
{userinfo.email}   {/* { this.handleEdit('emailEdit', true) }} >修改*/}
} else { emailEditHtml =
} if (this.state.roleEdit === false) { roleEditHtml =
{roles[userinfo.role]}   {/* { this.handleEdit('roleEdit', true) }} >修改*/}
} else { roleEditHtml = } if (this.state.secureEdit === false) { secureEditHtml = } else { secureEditHtml =
} return
用户id {userinfo.uid} 用户名 {userNameEditHtml} Email {emailEditHtml} 角色 {roleEditHtml} 创建账号时间 {formatTime(userinfo.add_time)} 更新账号时间 {formatTime(userinfo.up_time)} 密码 {secureEditHtml}
} } export default Profile