diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/checkSecondaryVerifyDialog.js b/pc4mobx/hrmSalary/pages/mobilePayroll/checkSecondaryVerifyDialog.js index 97d46aac..980fb316 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/checkSecondaryVerifyDialog.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/checkSecondaryVerifyDialog.js @@ -12,6 +12,8 @@ import { WeaForm, WeaSwitch } from "comsMobx"; import { Button, message } from "antd"; import * as API from "../../apis/mySalaryBenefits"; import FormInfo from "../../components/FormInfo"; +import LoginVerifyPC from "./loginVerifyPC"; +import SecondarypwdVerifyPC from "./secondarypwdVerifyPC"; const getLabel = WeaLocaleProvider.getLabel; const form = new WeaForm(); @@ -20,7 +22,7 @@ class CheckSecondaryVerifyDialog extends Component { constructor(props) { super(props); this.state = { - loading: false, conditions: [], notSetting: false + loading: false, conditions: [], notSetting: false, loginVerify: false, secondaryVerify: false }; } @@ -59,16 +61,18 @@ class CheckSecondaryVerifyDialog extends Component { }; render() { - const { conditions, loading, notSetting } = this.state; + const { + conditions, loading, notSetting, loginVerify, secondaryVerify + } = this.state, { salaryBillToken } = this.props; const itemRender = { authCode: (field, textAreaProps, form, formParams) => { return ( { notSetting &&
- {getLabel("111", "您还未设置二次验证密码,请先在系统中设置验证密码")} - {/* this.setState({ pwdSetVisible: true })}>{getLabel("30747", "设置")}*/} + {getLabel("111", "您还未设置二次验证密码,点击")} + this.setState({ loginVerify: true })}>{getLabel("30747", "设置")}
}
); @@ -84,6 +88,14 @@ class CheckSecondaryVerifyDialog extends Component { + {/*登录密码验证弹框*/} + this.setState({ loginVerify: false })} + onSetPwdSet={() => this.setState({ secondaryVerify: true })}/> + {/*二次密码设置*/} + this.setState({ secondaryVerify: false })} + onSuccess={this.initForm}/> ); } diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/index.less b/pc4mobx/hrmSalary/pages/mobilePayroll/index.less index 9fd7d4d6..6e78c87e 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/index.less +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/index.less @@ -168,3 +168,13 @@ position: relative; border-left: 1px solid #ddd; } + +.secondarypwd-form { + .wea-form-cell-wrapper { + & > div:last-child { + .ant-col-16 { + width: 37.5% !important; + } + } + } +} diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/loginVerifyPC.js b/pc4mobx/hrmSalary/pages/mobilePayroll/loginVerifyPC.js new file mode 100644 index 00000000..b9d0db85 --- /dev/null +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/loginVerifyPC.js @@ -0,0 +1,72 @@ +/* + * 二次验证 + * 登录密码验证 + * @Author: 黎永顺 + * @Date: 2025/4/23 + * @Wechat: + * @Email: 971387674@qq.com + * @description: +*/ +import React, { Component } from "react"; +import { WeaDialog, WeaLocaleProvider } from "ecCom"; +import { WeaForm } from "comsMobx"; +import { Button } from "antd"; +import FormInfo from "../../components/FormInfo"; +import { loginCondition } from "./pwdCondtion"; +import { RSAEcrypt } from "../../util/RSAUtil"; +import * as API from "../../apis/mySalaryBenefits"; + +const form = new WeaForm(); +const getLabel = WeaLocaleProvider.getLabel; + +class LoginVerifyPC extends Component { + constructor(props) { + super(props); + this.state = { loading: false }; + } + + componentWillReceiveProps(nextProps, nextContext) { + if (nextProps.visible !== this.props.visible && nextProps.visible) { + form.initFormFields(loginCondition); + } else { + form.resetForm(); + } + } + + save = async () => { + form.validateForm().then(f => { + if (f.isValid) { + RSAEcrypt("1", { ...form.getFormParams() }, this.props.salaryBillToken) + .then(RSAParam => { + API.checkPassword({ ...RSAParam }).then(({ result }) => { + if (result) { + this.props.onCancel(); + this.props.onSetPwdSet(); + } else { + form.showError("password", getLabel(504343, "登录密码错误")); + } + }); + }); + } else { + f.showErrors(); + } + }); + }; + + render() { + const { loading } = this.state; + return ( + (pre += cur.items.length), 0) * 47 + 33 }} + initLoadCss title={getLabel(111, "请先输入登录密码")} buttons={[ + + ]}> + + + ); + } +} + +export default LoginVerifyPC; diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerifyPC.js b/pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerifyPC.js new file mode 100644 index 00000000..fd139ae7 --- /dev/null +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerifyPC.js @@ -0,0 +1,96 @@ +/* + * 二次验证密码设置 + * + * @Author: 黎永顺 + * @Date: 2025/4/17 + * @Wechat: + * @Email: 971387674@qq.com + * @description: +*/ +import React, { Component } from "react"; +import { WeaDialog, WeaLocaleProvider } from "ecCom"; +import { Button, message } from "antd"; +import { WeaForm, WeaSwitch } from "comsMobx"; +import FormInfo from "../../components/FormInfo"; +import { secondarypwdCondition } from "./conditions"; +import * as API from "../../apis/mySalaryBenefits"; +import { RSAEcrypt } from "../../util/RSAUtil"; + +const form = new WeaForm(); +const getLabel = WeaLocaleProvider.getLabel; + +class SecondarypwdVerifyPC extends Component { + constructor(props) { + super(props); + this.state = { + src: (window.ecologyContentPath || "") + "/weaver/weaver.file.MakeValidateCode?notneedvalidate=1&isView=1&validatetype=0&validatenum=4", + num: 0 + }; + } + + componentDidMount() { + form.initFormFields(secondarypwdCondition); + } + + componentWillUnmount() { + form.resetForm(); + } + + save = async () => { + form.validateForm().then(f => { + if (f.isValid) { + const { secondaryPwd1, secondaryPwd2, validatecode } = form.getFormParams(); + if (secondaryPwd1 !== secondaryPwd2) { + form.showError("secondaryPwd2", getLabel(504376, "密码确认不正确!")); + return; + } + RSAEcrypt("1", { secondaryPwd1, secondaryPwd2 }).then(RSAParam => { + API.saveSecondaryPwd({ ...RSAParam, validatecode }, this.props.salaryBillToken) + .then(({ sign, message: msg }) => { + if (sign === "1") { + message.success(msg); + this.props.onCancel(); + this.props.onSuccess(); + } else { + form.showError("validatecode", msg); + this.setState({ num: this.state.num + 1 }, () => { + this.setState({ src: `${window.ecologyContentPath || ""}/weaver/weaver.file.MakeValidateCode?notneedvalidate=1&isView=1&validatetype=0&validatenum=4&seriesnum_=${this.state.num}` }); + }); + } + }); + }); + } else { + f.showErrors(); + } + }); + }; + + render() { + const itemRender = { + validatecode: (field, textAreaProps, form, formParams) => { + return ( + + { + this.setState({ num: this.state.num + 1 }, () => { + this.setState({ src: `${window.ecologyContentPath || ""}/weaver/weaver.file.MakeValidateCode?notneedvalidate=1&isView=1&validatetype=0&validatenum=4&seriesnum_=${this.state.num}` }); + }); + }} alt=""/> + ); + } + }; + return ( (pre += cur.items.length), 0) * 47 + 33 + }} initLoadCss title={getLabel(111, "二次验证密码设置")} buttons={[ + + ]}> + + ); + } +} + +export default SecondarypwdVerifyPC;