From b09b821ef36fd1ea979e9a5daa98e95732ac81d5 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 16 七月 2025 18:16:00 +0800 Subject: [PATCH] 2025-07-16 --- src/pc/components/login/normal-login/loginform.jsx | 99 +++++++++++++++++++++++++++++++++---------------- 1 files changed, 67 insertions(+), 32 deletions(-) diff --git a/src/pc/components/login/normal-login/loginform.jsx b/src/pc/components/login/normal-login/loginform.jsx index bb7c058..8790dd8 100644 --- a/src/pc/components/login/normal-login/loginform.jsx +++ b/src/pc/components/login/normal-login/loginform.jsx @@ -12,8 +12,8 @@ class LoginTabForm extends Component { static propTpyes = { - loginWays: PropTypes.array, - wrap: PropTypes.array, + wrap: PropTypes.object, + changeway: PropTypes.func } state = { @@ -23,26 +23,41 @@ } UNSAFE_componentWillMount () { - const { loginWays, wrap } = this.props + const { wrap } = this.props - let _loginWays = [] let scanWay = null - loginWays.forEach(item => { - if (!wrap.loginWays || wrap.loginWays.includes(item.type)) { - if (item.type === 'sms_vcode') { - item.label = '鐭俊鐧诲綍' - } else if (item.type === 'uname_pwd') { - item.label = '璐﹀彿鐧诲綍' - } else if (item.type === 'app_scan') { - scanWay = item + + let loginWays = [] + wrap.loginWays.forEach(way => { + if (way === 'sms_vcode') { + loginWays.push({ + type: 'sms_vcode', + label: '鐭俊鐧诲綍', + tempId: wrap.tempId, + sort: 2 + }) + } else if (way === 'uname_pwd') { + loginWays.push({ + type: 'uname_pwd', + label: '璐﹀彿鐧诲綍', + shortcut: wrap.shortcut, + sort: 1 + }) + } else if (way === 'app_scan') { + scanWay = { + type: 'app_scan', + label: '鎵爜鐧诲綍', + sort: 3 } - _loginWays.push(item) + loginWays.push(scanWay) } }) + loginWays.sort((a, b) => a.sort - b.sort) + this.setState({ - loginWays: _loginWays, - activeWay: _loginWays[0], + loginWays: loginWays, + activeWay: loginWays[0], scanWay }) } @@ -51,24 +66,37 @@ const { wrap } = this.props if (!is(fromJS(wrap), fromJS(nextProps.wrap))) { - let _loginWays = [] let scanWay = null - nextProps.loginWays.forEach(item => { - if (!nextProps.wrap.loginWays || nextProps.wrap.loginWays.includes(item.type)) { - if (item.type === 'sms_vcode') { - item.label = '鐭俊鐧诲綍' - } else if (item.type === 'uname_pwd') { - item.label = '璐﹀彿鐧诲綍' - } else if (item.type === 'app_scan') { - scanWay = item + let loginWays = [] + nextProps.wrap.loginWays.forEach(way => { + if (way === 'sms_vcode') { + loginWays.push({ + type: 'sms_vcode', + label: '鐭俊鐧诲綍', + tempId: wrap.tempId, + sort: 2 + }) + } else if (way === 'uname_pwd') { + loginWays.push({ + type: 'uname_pwd', + label: '璐﹀彿鐧诲綍', + shortcut: wrap.shortcut, + sort: 1 + }) + } else if (way === 'app_scan') { + scanWay = { + type: 'app_scan', + label: '鎵爜鐧诲綍', + sort: 3 } - _loginWays.push(item) + loginWays.push(scanWay) } }) + loginWays.sort((a, b) => a.sort - b.sort) this.setState({ - loginWays: _loginWays, - activeWay: _loginWays[0], + loginWays: loginWays, + activeWay: loginWays[0], scanWay }) } @@ -108,22 +136,28 @@ } render() { + const { wrap } = this.props const { activeWay, loginWays, scanWay } = this.state + + let style = {} + if (wrap.borderRadius) { + style.borderRadius = wrap.borderRadius + } return ( <Form className="login-edit-form"> - <div className="login-way-title">{activeWay.label}</div> + {wrap.topTip !== 'hidden' ? <div className="login-way-title">{activeWay.label}</div> : null} {scanWay && activeWay.type !== 'app_scan' ? <div className="scan-icon" onClick={() => this.onChangeTab(scanWay)}><QrcodeOutlined /></div> : null} {activeWay.type === 'uname_pwd' ? <div className={'form-item-wrap ' + (activeWay.shortcut === 'none' ? 'no-short' : '')}> <Form.Item> <Input prefix={<UserOutlined style={{ color: 'rgba(0,0,0,.25)' }} />} - placeholder="鐢ㄦ埛鍚�" + placeholder="鐢ㄦ埛鍚�/鎵嬫満鍙�/閭" autoComplete="off" /> </Form.Item> <Form.Item> - <Input.Password placeholder="瀵嗙爜" prefix={<LockOutlined style={{ color: 'rgba(0,0,0,.25)' }} />} /> + <Input.Password placeholder="瀵嗙爜" visibilityToggle={wrap.vispwd !== 'false'} prefix={<LockOutlined style={{ color: 'rgba(0,0,0,.25)' }} />} /> </Form.Item> {!activeWay.shortcut || activeWay.shortcut === 'remember' ? <Form.Item className="minline"> <Checkbox>璁颁綇瀵嗙爜</Checkbox> @@ -132,7 +166,7 @@ <Checkbox>鑷姩鐧诲綍</Checkbox> </Form.Item> : null} <Form.Item className="btn-login"> - <Button type="primary" onDoubleClick={() => this.changeMenu()} className="login-form-button"> + <Button type="primary" style={style} onDoubleClick={() => this.changeMenu()} className="login-form-button"> 鐧诲綍 </Button> </Form.Item> @@ -156,7 +190,7 @@ /> </Form.Item> <Form.Item className="btn-login"> - <Button type="primary" onDoubleClick={() => this.changeMenu()} className="login-form-button"> + <Button type="primary" style={style} onDoubleClick={() => this.changeMenu()} className="login-form-button"> 鐧诲綍 </Button> </Form.Item> @@ -167,6 +201,7 @@ </div> 璇蜂娇鐢ㄥ鎴风鎵竴鎵櫥褰� </div> : null} + {wrap.classify !== 'login' ? <span className="mk-jump-way" onClick={() => this.props.changeway()}>娌℃湁璐﹀彿锛屽幓娉ㄥ唽锛�</span> : null} <div className={'login-ways ' + (activeWay.type === 'app_scan' ? 'center' : '')}> {loginWays.map(item => { if (item.type === 'app_scan' || activeWay.type === item.type) return null -- Gitblit v1.8.0