salary-management-front/pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdModify.js

84 lines
2.7 KiB
JavaScript

/*
* 联特薪酬工资单查看二开
* 二次验证密码修改
* @Author: 黎永顺
* @Date: 2025/4/28
* @Wechat:
* @Email: 971387674@qq.com
* @description:
*/
import React, { Component } from "react";
import { WeaLocaleProvider } from "ecCom";
import { message } from "antd";
import { WeaForm, WeaSwitch } from "comsMobx";
import FormInfo from "../../components/FormInfo";
import { secondarypwdCondition } from "./conditions";
import * as API from "../../apis/mySalaryBenefits";
import MobileModal from "./mobileModal";
import { RSAEcrypt } from "../../util/RSAUtil";
const form = new WeaForm();
const getLabel = WeaLocaleProvider.getLabel;
class SecondarypwdModify extends Component {
componentDidMount() {
form.initFormFields(secondarypwdCondition);
}
componentWillUnmount() {
form.resetForm();
}
save = async () => {
form.validateForm().then(f => {
if (f.isValid) {
const { secondaryPwd1: newSecondaryPwd1, secondaryPwd2: newSecondaryPwd2 } = form.getFormParams();
if (newSecondaryPwd1 !== newSecondaryPwd2) {
form.showError("secondaryPwd2", getLabel(504376, "密码确认不正确!"));
return;
}
RSAEcrypt("1", { newSecondaryPwd1, newSecondaryPwd2 }).then(RSAParam => {
API.modifySecondaryPwd({ ...RSAParam }, this.props.salaryBillToken)
.then(({ sign, message: msg }) => {
if (sign === "1") {
message.success(msg);
this.props.onSuccess();
} else {
form.showError("secondaryPwd2", msg);
}
});
});
} else {
f.showErrors();
}
});
};
handleChangeForm = () => {
form.updateFields({ validatecode: "123" });
RSAEcrypt("1", { newSecondaryPwd1: form.getFormParams().secondaryPwd1 }).then(RSAParam => {
API.checkNewSecondaryPwd({ ...RSAParam }).then(({ result }) => {
if (!result) form.showError("secondaryPwd1", getLabel(111, "二次验证密码不能和登录密码相同!"));
});
});
};
render() {
const itemRender = {
secondaryPwd1: (field, textAreaProps, form, formParams) => {
return (<React.Fragment>
<WeaSwitch fieldConfig={{ ...field, ...textAreaProps }} form={form} formParams={formParams}
onBlur={this.handleChangeForm}/>
</React.Fragment>);
},
validatecode: () => null
};
return (<MobileModal title={getLabel(111, "二次验证密码设置")} onConfirm={this.save}>
<FormInfo center={false} itemRender={itemRender} form={form} formFields={secondarypwdCondition}/>
</MobileModal>);
}
}
export default SecondarypwdModify;