UNPKG

@51yzone/pc-components

Version:

An enterprise-class UI design language and React-based implementation

168 lines (147 loc) 4.83 kB
import "antd/es/modal/style"; import _Modal from "antd/es/modal"; import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; import "antd/es/steps/style"; import _Steps from "antd/es/steps"; import _regeneratorRuntime from "@babel/runtime/regenerator"; var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; /** * 关键字:登录-忘记密码 * 新增人:徐友万 * 完善中 */ import React, { useState } from 'react'; import { Form, Submit, FormButtonGroup, createFormActions } from '@formily/antd'; import MobileLogin from './mobile-login'; import PwdConfirm, { pwdConfirmEffects } from './pwd-confirm'; var Step = _Steps.Step; var ForgetPwd = function ForgetPwd(props) { var visible = props.visible, initCountDown = props.initCountDown, prefixIconVisible = props.prefixIconVisible, labelVisible = props.labelVisible, size = props.size, prefixCls = props.prefixCls, getCode = props.getCode, verifyCode = props.verifyCode, pwdChange = props.pwdChange, onCancel = props.onCancel; var actions = createFormActions(); // 当前步骤 var _useState = useState(0), _useState2 = _slicedToArray(_useState, 2), current = _useState2[0], setCurrent = _useState2[1]; // 当前手机号 var _useState3 = useState(''), _useState4 = _slicedToArray(_useState3, 2), currentMobile = _useState4[0], setCurrentMobile = _useState4[1]; // 密码提交 | 验证码校验 var handleSubmit = function handleSubmit(values) { return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() { return _regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: if (!(current === 0 && verifyCode)) { _context.next = 7; break; } _context.next = 3; return verifyCode({ mobile: values.mobile, verifyPhone: values.code }); case 3: setCurrentMobile(values.mobile); setCurrent(1); _context.next = 11; break; case 7: if (!pwdChange) { _context.next = 11; break; } _context.next = 10; return pwdChange({ mobile: currentMobile, newpassword: values.pwd, repassword: values.rePwd }); case 10: onCancel(); case 11: case "end": return _context.stop(); } } }, _callee); })); }; return /*#__PURE__*/React.createElement(_Modal, { visible: visible, width: 500, title: "\u5FD8\u8BB0\u5BC6\u7801", onCancel: onCancel, footer: null, maskClosable: false }, /*#__PURE__*/React.createElement(Form, { effects: function effects() { pwdConfirmEffects(); }, actions: actions, onSubmit: handleSubmit, labelAlign: "left", labelCol: { span: 5 } }, /*#__PURE__*/React.createElement(_Steps, { className: "".concat(prefixCls, "__steps-wrap"), size: "small", current: current }, /*#__PURE__*/React.createElement(Step, { title: "\u7528\u6237\u68C0\u9A8C" }), /*#__PURE__*/React.createElement(Step, { title: "\u91CD\u7F6E\u5BC6\u7801" })), current === 0 ? /*#__PURE__*/React.createElement(MobileLogin, { actions: actions, getCode: getCode, initCountDown: initCountDown, labelVisible: labelVisible, prefixIconVisible: prefixIconVisible, size: size, prefixCls: prefixCls }) : /*#__PURE__*/React.createElement(PwdConfirm, null), /*#__PURE__*/React.createElement(FormButtonGroup, null, /*#__PURE__*/React.createElement(Submit, null, current === 0 ? '下一步' : '保存')))); }; ForgetPwd.defaultProps = { visible: false, prefixIconVisible: true, labelVisible: false, size: 'large', prefixCls: 'yz-login' }; export default ForgetPwd;