| | |
| | | import React, {Component} from 'react' |
| | | import PropTypes from 'prop-types' |
| | | import { is, fromJS } from 'immutable' |
| | | import { Form, Icon, Input, Button, Checkbox } from 'antd' |
| | | import { Form, Input, Button, Checkbox, notification } from 'antd' |
| | | import { QrcodeOutlined, UserOutlined, LockOutlined } from '@ant-design/icons' |
| | | |
| | | import asyncElementComponent from '@/utils/asyncComponent' |
| | | import MKEmitter from '@/utils/events.js' |
| | |
| | | |
| | | class LoginTabForm extends Component { |
| | | static propTpyes = { |
| | | dict: PropTypes.object, |
| | | menuId: PropTypes.string, |
| | | loginWays: PropTypes.array, |
| | | wrap: PropTypes.array, |
| | | } |
| | |
| | | } |
| | | |
| | | changeMenu = () => { |
| | | const { wrap, menuId } = this.props |
| | | const { wrap } = this.props |
| | | |
| | | if (!wrap.linkmenu) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '请设置关联菜单!', |
| | | duration: 5 |
| | | }) |
| | | return |
| | | } |
| | | |
| | | MKEmitter.emit('changeEditMenu', { |
| | | MenuID: wrap.link === 'linkmenu' ? wrap.linkmenu : menuId, |
| | | MenuID: wrap.linkmenu, |
| | | copyMenuId: '', |
| | | MenuNo: '', |
| | | MenuName: '' |
| | |
| | | return ( |
| | | <Form className="login-edit-form"> |
| | | <div className="login-way-title">{activeWay.label}</div> |
| | | {scanWay && activeWay.type !== 'app_scan' ? <div className="scan-icon" onClick={() => this.onChangeTab(scanWay)}><Icon type="qrcode" /></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={<Icon type="user" style={{ color: 'rgba(0,0,0,.25)' }} />} |
| | | prefix={<UserOutlined style={{ color: 'rgba(0,0,0,.25)' }} />} |
| | | placeholder="用户名" |
| | | autoComplete="off" |
| | | /> |
| | | </Form.Item> |
| | | <Form.Item> |
| | | <Input.Password placeholder="密码" prefix={<Icon type="lock" style={{ color: 'rgba(0,0,0,.25)' }} />} /> |
| | | <Input.Password placeholder="密码" prefix={<LockOutlined style={{ color: 'rgba(0,0,0,.25)' }} />} /> |
| | | </Form.Item> |
| | | {!activeWay.shortcut || activeWay.shortcut === 'remember' ? <Form.Item className="minline"> |
| | | <Checkbox>记住密码</Checkbox> |
| | |
| | | </div> |
| | | 请使用客户端扫一扫登录 |
| | | </div> : null} |
| | | {/* {wrap.protocol === 'true' ? <div className={'protocol-wrap '}> |
| | | <Checkbox>{wrap.tip}</Checkbox>{wrap.groups.map((item, i) => (<span className="protocol" key={i}>《{item.label}》</span>))} |
| | | </div> : null} */} |
| | | <div className={'login-ways ' + (activeWay.type === 'app_scan' ? 'center' : '')}> |
| | | {loginWays.map(item => { |
| | | if (item.type === 'app_scan' || activeWay.type === item.type) return null |