import React, { Component, Fragment } from 'react'; import { connect } from 'dva'; import { formatMessage, FormattedMessage } from 'umi/locale'; import { CopyrightOutlined } from '@ant-design/icons'; import { Form } from '@ant-design/compatible'; import '@ant-design/compatible/assets/index.css'; import { Checkbox, Alert, Select } from 'antd'; import Login from '@/components/Login'; import { clearToken } from '@/utils/utils'; import Link from 'umi/link'; import GlobalFooter from '@/components/GlobalFooter'; import DocumentTitle from 'react-document-title'; import logo from '@/assets/logo.png'; import { queryDepV2 } from '@/services/api'; import styles from './Login.less'; const { Option } = Select; const { Tab, UserName, Password, Submit } = Login; const links = [ { key: 'help', title: formatMessage({ id: 'layout.user.link.help' }), href: '', }, { key: 'privacy', title: formatMessage({ id: 'layout.user.link.privacy' }), href: '', }, { key: 'terms', title: formatMessage({ id: 'layout.user.link.terms' }), href: '', }, ]; const copyright = ( Copyright 金科环境股份有限公司 ); @connect(({ login, loading }) => ({ login, submitting: loading.effects['purchaseLogin/login'], })) @Form.create() class LoginPage extends Component { state = { type: 'account', loginType: localStorage.type, autoLogin: true, depList: [], userName: '', depId: undefined, }; componentDidMount = () => { clearToken(); }; onTabChange = type => { this.setState({ type }); }; onHandleBLur = async name => { const { dispatch } = this.props; const { userName } = this.state; if (!name || name == userName) return; var res = await queryDepV2({ userName: name, }); if (res) { this.setState({ userName: name, depList: res.data, depId: undefined, }); } }; handleSubmit = (err, values) => { const { type, depId } = this.state; const { login, submitting, location: { query: { referrer }, }, } = this.props; if (!depId) { message.error('请选择部门'); return; } if (!err) { const { dispatch } = this.props; dispatch({ type: 'purchaseLogin/login', payload: { ...values, type, DepId: depId + '', referrer: referrer && decodeURIComponent(decodeURIComponent(referrer)), }, }); } }; changeAutoLogin = e => { this.setState({ autoLogin: e.target.checked, }); }; changeDep = value => { this.setState({ depId: value, }); }; renderMessage = content => ( ); render() { const { login, submitting, location: { query: { referrer }, }, } = this.props; const { type, autoLogin, depList, depId, loginType } = this.state; console.log(referrer); return (
{ this.loginForm = form; }} > {login.status === 'error' && login.type === 'account' && !submitting && this.renderMessage( formatMessage({ id: 'app.login.message-invalid-credentials' }) )}
{ this.onHandleBLur(e.target.value); }} /> { e.preventDefault(); this.loginForm.validateFields(this.handleSubmit); }} /> {/* */}
); } } export default LoginPage;