From fe6e87bacbb4be97260427346321edeeee26258e Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 21 七月 2020 18:45:01 +0800
Subject: [PATCH] 2020-07-21

---
 src/components/login/login-1/index.jsx |   73 +++++++++++++++++++++++++++++-------
 1 files changed, 59 insertions(+), 14 deletions(-)

diff --git a/src/components/login/login-1/index.jsx b/src/components/login/login-1/index.jsx
index 785cebe..9d13e54 100644
--- a/src/components/login/login-1/index.jsx
+++ b/src/components/login/login-1/index.jsx
@@ -1,12 +1,20 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
-import { is, fromJS } from 'immutable'
-import { InputItem, Icon, Checkbox, List, Button, Picker } from 'antd-mobile'
+// import { is, fromJS } from 'immutable'
+import { InputItem, Icon, Checkbox, Button, Picker, Toast } from 'antd-mobile'
 import { createForm } from 'rc-form'
 
+import Api from '@/api'
 import './index.scss'
 
 const CheckboxItem = Checkbox.CheckboxItem
+const CustomChildren = props => (
+  <div onClick={props.onClick} style={{display: 'inline-block', width: '50%', textAlign: 'right'}}>
+    <div className="test" style={{ display: 'flex', height: '45px', lineHeight: '45px' }}>
+      <div style={{ flex: 1, overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}>{props.children}</div>
+    </div>
+  </div>
+)
 
 class MobLogin extends Component {
   static propTpyes = {
@@ -18,7 +26,7 @@
       {value: 'zh-CN', label: '绠�浣撲腑鏂�'},
       {value: 'en-US', label: 'English'}
     ],
-    lang: 'zh-CN',
+    lang: {value: 'zh-CN', label: '绠�浣撲腑鏂�'},
     rember: true
   }
 
@@ -26,9 +34,9 @@
 
   }
 
-  shouldComponentUpdate (nextProps, nextState) {
-    return !is(fromJS(this.props), fromJS(nextProps)) || !is(fromJS(this.state), fromJS(nextState))
-  }
+  // shouldComponentUpdate (nextProps, nextState) {
+  //   return !is(fromJS(this.props), fromJS(nextProps)) || !is(fromJS(this.state), fromJS(nextState))
+  // }
 
   onChange = (e) => {
     const { rember } = this.state
@@ -40,9 +48,45 @@
   }
 
   onChangeLang = (value) => {
-    this.setState({
-      lang: value
+    const { langs } = this.state
+    let lang = null
+
+    langs.forEach(cell => {
+      if (cell.value === value[0]) {
+        lang = cell
+      }
     })
+    
+    this.setState({
+      lang: lang
+    })
+  }
+
+  execLogin = () => {
+    const { getFieldProps } = this.props.form
+    let userName = getFieldProps('userName')
+    let password = getFieldProps('password')
+
+    if (!userName.value) {
+      this.UserName.focus()
+    } else if (!password.value) {
+      this.Password.focus()
+    } else {
+      Api.getusermsg(userName.value, password.value).then((res) => {
+        if (res.status) {
+          sessionStorage.setItem('UserID', res.UserID)
+          sessionStorage.setItem('LoginUID', res.LoginUID)
+        } else {
+          Toast.fail(res.message, 3)
+        }
+      })
+    }
+  }
+
+  execEnter = (e) => {
+    if (e.nativeEvent.keyCode === 13) {
+      this.execLogin()
+    }
   }
 
   render () {
@@ -65,7 +109,8 @@
             {...getFieldProps('userName', {
               initialValue: '',
             })}
-            disabled={true}
+            ref={el => this.UserName = el}
+            onKeyPress={this.execEnter}
           >
             <Icon type="check-circle-o" />
           </InputItem>
@@ -76,7 +121,8 @@
               initialValue: '',
             })}
             type={'password'}
-            disabled={true}
+            ref={el => this.Password = el}
+            onKeyPress={this.execEnter}
           >
             <Icon type="check-circle" />
           </InputItem>
@@ -84,17 +130,16 @@
             <CheckboxItem checked={rember} onChange={this.onChange}>
               <span onClick={this.onChange}>璁颁綇瀵嗙爜</span>
             </CheckboxItem>
-            <Picker data={langs} value={lang} cols={1} onChange={this.onChangeLang} className="forss">
-              <List.Item>{lang}</List.Item>
+            <Picker data={langs} cols={1} onChange={this.onChangeLang} className="forss">
+              <CustomChildren>{lang.label}</CustomChildren>
             </Picker>
             <div className="clear-both"></div>
           </div>
           <Button 
             type="primary"
             className="login"
-            onDoubleClick={() => this.props.doubleClickconfig(config.login)}
             style={config.login.style}
-            onClick={this.editLogin}
+            onClick={this.execLogin}
           >
             {config.login.content}
           </Button>

--
Gitblit v1.8.0