@51yzone/pc-components
Version:
An enterprise-class UI design language and React-based implementation
168 lines (147 loc) • 4.83 kB
JavaScript
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;