feature/2.19.1.2501.01-移动端查看工资单密码设置

This commit is contained in:
lys 2025-04-17 17:44:30 +08:00
parent 6b3e321846
commit 554cf4b6b3
5 changed files with 42 additions and 41 deletions

View File

@ -45,11 +45,13 @@ export const doSecondAuth = (params, headers) => {
export const getPasswordForm = params => { export const getPasswordForm = params => {
return WeaTools.callApi("/api/hrm/secondarypwd/getPasswordForm", "GET", params); return WeaTools.callApi("/api/hrm/secondarypwd/getPasswordForm", "GET", params);
}; };
export const checkPassword = params => { export const checkPassword = (params, headers) => {
return WeaTools.callApi("/api/hrm/secondarypwd/checkPassword", "POST", params); return formHeaderPost("/api/hrm/secondarypwd/checkPassword", "POST", params, headers);
// return WeaTools.callApi("/api/hrm/secondarypwd/checkPassword", "POST", params);
}; };
export const saveSecondaryPwd = params => { export const saveSecondaryPwd = (params, headers) => {
return WeaTools.callApi("/api/hrm/secondarypwd/saveSecondaryPwd", "POST", params); return formHeaderPost("/api/hrm/secondarypwd/saveSecondaryPwd", "POST", params, headers);
// return WeaTools.callApi("/api/hrm/secondarypwd/saveSecondaryPwd", "POST", params);
}; };
export const salaryBillGetToken = params => { export const salaryBillGetToken = params => {
return postFetch("/api/bs/hrmsalary/salaryBill/getToken", params); return postFetch("/api/bs/hrmsalary/salaryBill/getToken", params);

View File

@ -14,7 +14,8 @@ import { ConfirmBtns } from "../mySalary/mySalaryView";
import Content from "../../components/pcTemplate/content"; import Content from "../../components/pcTemplate/content";
import MobileTemplate from "../../components/mobileTemplate"; import MobileTemplate from "../../components/mobileTemplate";
import SecondaryVerify from "./secondaryVerify"; import SecondaryVerify from "./secondaryVerify";
import { removeElementById } from "../../util"; import LoginVerify from "./loginVerify";
import SecondarypwdVerify from "./secondarypwdVerify";
import "../mySalary/index.less"; import "../mySalary/index.less";
const getLabel = WeaLocaleProvider.getLabel; const getLabel = WeaLocaleProvider.getLabel;
@ -24,8 +25,7 @@ export default class MobilePayroll extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
visible: false, visible: false, captchaVisible: false, loginVisible: false, pwdSetVisible: false,
captchaVisible: false,
mySalaryBillData: { employeeInformation: {}, salaryTemplate: [] }, mySalaryBillData: { employeeInformation: {}, salaryTemplate: [] },
salaryBillToken: {} salaryBillToken: {}
}; };
@ -140,15 +140,21 @@ export default class MobilePayroll extends React.Component {
}; };
render() { render() {
const { mySalaryStore: { setInitEmVerify } } = this.props, { captchaVisible, visible } = this.state; const { mySalaryStore: { setInitEmVerify } } = this.props, {
captchaVisible, visible, loginVisible, pwdSetVisible
} = this.state;
const type = getQueryString("type"); const type = getQueryString("type");
if (_.isEmpty(toJS(this.props.mySalaryStore.mySalaryBill))) return <React.Fragment> if (_.isEmpty(toJS(this.props.mySalaryStore.mySalaryBill))) return <React.Fragment>
{visible && <SecondaryVerify {...this.props} salaryBillToken={this.state.salaryBillToken} {visible && <SecondaryVerify {...this.props} salaryBillToken={this.state.salaryBillToken}
onSetLogin={() => this.setState({ visible: false, loginVisible: true })}
onSuccess={() => { onSuccess={() => {
setInitEmVerify(); setInitEmVerify();
// removeElementById("am-modal-container");
this.getMySalaryBill(getQueryString("id")); this.getMySalaryBill(getQueryString("id"));
}}/>} }}/>}
{loginVisible && <LoginVerify {...this.props} salaryBillToken={this.state.salaryBillToken}
onSetPwdSet={() => this.setState({ loginVisible: false, pwdSetVisible: true })}/>}
{pwdSetVisible && <SecondarypwdVerify {...this.props} salaryBillToken={this.state.salaryBillToken}
onSuccess={() => this.setState({ pwdSetVisible: false }, () => this.initMobile())}/>}
{/*发送验证码*/} {/*发送验证码*/}
<CaptchaModal <CaptchaModal
visible={captchaVisible} id={getQueryString("id")} visible={captchaVisible} id={getQueryString("id")}

View File

@ -8,13 +8,11 @@
* @description: * @description:
*/ */
import React, { Component } from "react"; import React, { Component } from "react";
import ReactDom from "react-dom";
import { WeaLocaleProvider } from "ecCom"; import { WeaLocaleProvider } from "ecCom";
import { WeaForm } from "comsMobx"; import { WeaForm } from "comsMobx";
import FormInfo from "../../components/FormInfo"; import FormInfo from "../../components/FormInfo";
import { loginCondition } from "./conditions"; import { loginCondition } from "./conditions";
import MobileModal from "./mobileModal"; import MobileModal from "./mobileModal";
import SecondarypwdVerify from "./secondarypwdVerify";
import * as API from "../../apis/mySalaryBenefits"; import * as API from "../../apis/mySalaryBenefits";
import { RSAEcrypt } from "../../util/RSAUtil"; import { RSAEcrypt } from "../../util/RSAUtil";
@ -34,15 +32,16 @@ class LoginVerify extends Component {
save = async () => { save = async () => {
form.validateForm().then(f => { form.validateForm().then(f => {
if (f.isValid) { if (f.isValid) {
RSAEcrypt("1", { ...form.getFormParams() }).then(RSAParam => { RSAEcrypt("1", { ...form.getFormParams() }, this.props.salaryBillToken)
API.checkPassword({ ...RSAParam }).then(({ result }) => { .then(RSAParam => {
if (result) { API.checkPassword({ ...RSAParam }).then(({ result }) => {
ReactDom.render(<SecondarypwdVerify {...this.props} />, document.getElementById("container")); if (result) {
} else { this.props.onSetPwdSet();
form.showError("password", getLabel(504343, "登录密码错误")); } else {
} form.showError("password", getLabel(504343, "登录密码错误"));
}
});
}); });
});
} else { } else {
f.showErrors(); f.showErrors();
} }

View File

@ -15,7 +15,6 @@ import FormInfo from "../../components/FormInfo";
import { secondaryVerifyConditions } from "./conditions"; import { secondaryVerifyConditions } from "./conditions";
import * as API from "../../apis/mySalaryBenefits"; import * as API from "../../apis/mySalaryBenefits";
import MobileModal from "./mobileModal"; import MobileModal from "./mobileModal";
import LoginVerify from "./loginVerify";
const form = new WeaForm(); const form = new WeaForm();
const getLabel = WeaLocaleProvider.getLabel; const getLabel = WeaLocaleProvider.getLabel;
@ -23,7 +22,7 @@ const getLabel = WeaLocaleProvider.getLabel;
class SecondaryVerify extends Component { class SecondaryVerify extends Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { notSetting: false, visible: false }; this.state = { notSetting: false };
} }
componentDidMount() { componentDidMount() {
@ -35,7 +34,7 @@ class SecondaryVerify extends Component {
} }
componentWillUnmount() { componentWillUnmount() {
this.setState({ notSetting: false, visible: false }, () => form.resetForm()); this.setState({ notSetting: false }, () => form.resetForm());
} }
doSecondAuth = () => { doSecondAuth = () => {
@ -56,10 +55,9 @@ class SecondaryVerify extends Component {
} }
}); });
}; };
handleSetSecondaryPassword = () => this.setState({ visible: false });
render() { render() {
const { notSetting, visible } = this.state; const { notSetting } = this.state;
const itemRender = { const itemRender = {
authCode: (field, textAreaProps, form, formParams) => { authCode: (field, textAreaProps, form, formParams) => {
return (<React.Fragment> return (<React.Fragment>
@ -68,7 +66,7 @@ class SecondaryVerify extends Component {
notSetting && notSetting &&
<div style={{ clear: "both", paddingTop: 10 }}> <div style={{ clear: "both", paddingTop: 10 }}>
{getLabel(111, "您还未设置二次验证密码,点击")} {getLabel(111, "您还未设置二次验证密码,点击")}
<a href="javascript:void(0);" onClick={this.handleSetSecondaryPassword}>{getLabel(111, "设置")}</a> <a href="javascript:void(0);" onClick={this.props.onSetLogin}>{getLabel(111, "设置")}</a>
</div> </div>
} }
</React.Fragment>); </React.Fragment>);
@ -77,9 +75,6 @@ class SecondaryVerify extends Component {
return (<MobileModal title={getLabel(111, "身份验证")} onConfirm={this.doSecondAuth}> return (<MobileModal title={getLabel(111, "身份验证")} onConfirm={this.doSecondAuth}>
<FormInfo center={false} custLabelCol={9} itemRender={itemRender} form={form} <FormInfo center={false} custLabelCol={9} itemRender={itemRender} form={form}
formFields={secondaryVerifyConditions}/> formFields={secondaryVerifyConditions}/>
{
visible && <LoginVerify {...this.props} />
}
</MobileModal>); </MobileModal>);
} }
} }

View File

@ -8,7 +8,6 @@
* @description: * @description:
*/ */
import React, { Component } from "react"; import React, { Component } from "react";
import ReactDom from "react-dom";
import { WeaLocaleProvider } from "ecCom"; import { WeaLocaleProvider } from "ecCom";
import { message } from "antd"; import { message } from "antd";
import { WeaForm, WeaSwitch } from "comsMobx"; import { WeaForm, WeaSwitch } from "comsMobx";
@ -17,7 +16,6 @@ import { secondarypwdCondition } from "./conditions";
import * as API from "../../apis/mySalaryBenefits"; import * as API from "../../apis/mySalaryBenefits";
import MobileModal from "./mobileModal"; import MobileModal from "./mobileModal";
import { RSAEcrypt } from "../../util/RSAUtil"; import { RSAEcrypt } from "../../util/RSAUtil";
import SecondaryVerify from "./secondaryVerify";
const form = new WeaForm(); const form = new WeaForm();
const getLabel = WeaLocaleProvider.getLabel; const getLabel = WeaLocaleProvider.getLabel;
@ -48,17 +46,18 @@ class SecondarypwdVerify extends Component {
return; return;
} }
RSAEcrypt("1", { secondaryPwd1, secondaryPwd2 }).then(RSAParam => { RSAEcrypt("1", { secondaryPwd1, secondaryPwd2 }).then(RSAParam => {
API.saveSecondaryPwd({ ...RSAParam, validatecode }).then(({ sign, message: msg }) => { API.saveSecondaryPwd({ ...RSAParam, validatecode }, this.props.salaryBillToken)
if (sign === "1") { .then(({ sign, message: msg }) => {
message.success(msg); if (sign === "1") {
ReactDom.render(<SecondaryVerify {...this.props}/>, document.getElementById("container")); message.success(msg);
} else { this.props.onSuccess();
form.showError("validatecode", msg); } else {
this.setState({ num: this.state.num + 1 }, () => { form.showError("validatecode", msg);
this.setState({ src: `${window.ecologyContentPath || ""}/weaver/weaver.file.MakeValidateCode?notneedvalidate=1&isView=1&validatetype=0&validatenum=4&seriesnum_=${this.state.num}` }); 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 { } else {
f.showErrors(); f.showErrors();