From babbf88c1509da214b83dc3b91310bef6e36a579 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Tue, 15 Apr 2025 17:18:13 +0800 Subject: [PATCH 01/13] =?UTF-8?q?feature/2.19.1.2501.01-PC=E7=AB=AFToken?= =?UTF-8?q?=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hrmSalary/pages/mobilePayroll/checkSecondaryVerifyDialog.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/checkSecondaryVerifyDialog.js b/pc4mobx/hrmSalary/pages/mobilePayroll/checkSecondaryVerifyDialog.js index b7a492b5..30e7b54b 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/checkSecondaryVerifyDialog.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/checkSecondaryVerifyDialog.js @@ -26,7 +26,7 @@ class CheckSecondaryVerifyDialog extends Component { componentWillReceiveProps(nextProps, nextContext) { if (nextProps.visible !== this.props.visible && nextProps.visible) this.initForm(); - if (nextProps.visible !== this.props.visible && !nextProps.visible) form.initSecVerifyform(); + if (nextProps.visible !== this.props.visible && !nextProps.visible) form.resetForm(); } initForm = () => { From 854a49b01803eb871b223064f1d520114859bc56 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Wed, 16 Apr 2025 15:51:28 +0800 Subject: [PATCH 02/13] release/2.19.1.2501.01 --- .../payroll/payrollGrant/payrollPartTable.js | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/pc4mobx/hrmSalary/pages/payroll/payrollGrant/payrollPartTable.js b/pc4mobx/hrmSalary/pages/payroll/payrollGrant/payrollPartTable.js index 552a7122..df034794 100644 --- a/pc4mobx/hrmSalary/pages/payroll/payrollGrant/payrollPartTable.js +++ b/pc4mobx/hrmSalary/pages/payroll/payrollGrant/payrollPartTable.js @@ -32,10 +32,10 @@ class PayrollPartTable extends Component { } componentWillReceiveProps(nextProps, nextContext) { - if (nextProps.visible !== this.props.visible) { - nextProps.visible && this.sendRangeList(nextProps); - this.setState({ selectedRowKeys: [] }); - } + if (nextProps.visible !== this.props.visible && nextProps.visible) this.sendRangeList(nextProps); + if (nextProps.visible !== this.props.visible && !nextProps.visible) this.setState({ + selectedRowKeys: [], pageInfo: { current: 1, pageSize: 10, total: 0 } + }); } sendRangeList = (props) => { @@ -52,9 +52,9 @@ class PayrollPartTable extends Component { sendRangeList(payload).then(({ status, data }) => { this.setState({ loading: { ...loading, query: false } }); if (status) { - const { pageNum: current, pageSize, total, columns, list: dataSource } = data; + const { pageNum: current, total, columns, list: dataSource } = data; this.setState({ - pageInfo: { ...pageInfo, current, pageSize, total }, + pageInfo: { ...pageInfo, current, total }, dataSource: _.map(dataSource, it => ({ ...it, includeObj: _.map(it.includeObj, child => child.targetName || child.targetTypeName).join(","), @@ -125,8 +125,7 @@ class PayrollPartTable extends Component { onChange: current => { this.setState({ pageInfo: { ...pageInfo, current } - }, () => { - }); + }, () => this.sendRangeList({ grantType, salarySendId })); } }; const rowSelection = { From 55ccd8391642bf448d9b1a3557e7fe3fa27ee3cf Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Wed, 16 Apr 2025 16:22:51 +0800 Subject: [PATCH 03/13] =?UTF-8?q?feature/2.19.1.2501.01-=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E6=9F=A5=E7=9C=8B=E5=B7=A5=E8=B5=84=E5=8D=95=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hrmSalary/pages/mobilePayroll/index.js | 15 ++++-- .../hrmSalary/pages/mobilePayroll/index.less | 51 +++++++++++++++++++ .../pages/mobilePayroll/mobileModal.js | 33 ++++++++++++ 3 files changed, 94 insertions(+), 5 deletions(-) create mode 100644 pc4mobx/hrmSalary/pages/mobilePayroll/mobileModal.js diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/index.js b/pc4mobx/hrmSalary/pages/mobilePayroll/index.js index 69d84928..38f53195 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/index.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/index.js @@ -1,4 +1,5 @@ import React from "react"; +import ReactDom from "react-dom"; import { inject, observer } from "mobx-react"; import { toJS } from "mobx"; import { getQueryString } from "../../util/url"; @@ -15,6 +16,7 @@ import { ConfirmBtns } from "../mySalary/mySalaryView"; import Content from "../../components/pcTemplate/content"; import MobileTemplate from "../../components/mobileTemplate"; import "../mySalary/index.less"; +import MobileModal from "./mobileModal"; const getLabel = WeaLocaleProvider.getLabel; @@ -82,6 +84,8 @@ export default class MobilePayroll extends React.Component { API.isNeedSecondPwdVerify({ mouldCode: "HRM", itemCode: "SALARY" }, this.state.salaryBillToken) .then(({ status, isNeedSecondAuth }) => { if (status && isNeedSecondAuth) { + ReactDom.render(, document.body); + return; this.setState({ visible: true }, () => { API.getSecondAuthForm({ mouldCode: "HRM", itemCode: "SALARY" }, this.state.salaryBillToken) .then(({ status, notSetting }) => { @@ -205,6 +209,12 @@ export default class MobilePayroll extends React.Component { } this.setState({ pwdSetVisible: false })}/> + {/*发送验证码*/} + this.setState({ captchaVisible: false })} + onConfirm={() => this.props.mySalaryStore.setInitEmVerify()} + /> ; const { salaryTemplate, salaryGroups, employeeInformation, @@ -243,11 +253,6 @@ export default class MobilePayroll extends React.Component { } - this.setState({ captchaVisible: false })} - onConfirm={() => this.props.mySalaryStore.setInitEmVerify()} - /> ); } diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/index.less b/pc4mobx/hrmSalary/pages/mobilePayroll/index.less index 923d3d82..8726d37e 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/index.less +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/index.less @@ -39,3 +39,54 @@ } } } + +.am-modal-mask { + position: absolute; + top: 0; + right: 0; + left: 0; + bottom: 0; + height: 100%; + z-index: 999; + background-color: rgba(0, 0, 0, .4); +} + +.am-modal { + position: relative; +} + +.am-modal-transparent { + width: 270px; +} + +.am-modal-transparent .am-modal-content { + border-radius: 7px; + padding-top: 15px; +} + +.am-modal-content { + position: relative; + background-color: #fff; + border: 0; + background-clip: padding-box; + text-align: center; + height: 100%; + overflow: hidden; +} + +.am-modal-wrap { + position: fixed; + overflow: auto; + top: 0; + right: 0; + bottom: 0; + left: 0; + height: 100%; + z-index: 999; + -webkit-overflow-scrolling: touch; + outline: 0; + display: flex; + align-items: center; + justify-content: center; + transform: translateZ(1px); +} diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/mobileModal.js b/pc4mobx/hrmSalary/pages/mobilePayroll/mobileModal.js new file mode 100644 index 00000000..493cb63a --- /dev/null +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/mobileModal.js @@ -0,0 +1,33 @@ +/* + * 自定义移动端弹框组件 + * + * @Author: 黎永顺 + * @Date: 2025/4/16 + * @Wechat: + * @Email: 971387674@qq.com + * @description: +*/ +import React, { Component } from "react"; +import { WeaLocaleProvider } from "ecCom"; +import "./index.less"; + +const getLabel = WeaLocaleProvider.getLabel; + +class MobileModal extends Component { + render() { + return ( +
+
+
+
+
+
123
+
+
+
+
+ ); + } +} + +export default MobileModal; From fab27c99ed3ccd87506334581a4602e7c1495e7a Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Thu, 17 Apr 2025 09:54:03 +0800 Subject: [PATCH 04/13] =?UTF-8?q?feature/2.19.1.2501.01-=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E6=9F=A5=E7=9C=8B=E5=B7=A5=E8=B5=84=E5=8D=95=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/mobilePayroll/conditions.js | 21 ++++ .../hrmSalary/pages/mobilePayroll/index.js | 7 +- .../hrmSalary/pages/mobilePayroll/index.less | 118 +++++++++++++++--- .../pages/mobilePayroll/mobileModal.js | 18 ++- .../pages/mobilePayroll/secondaryVerify.js | 30 +++++ pc4mobx/hrmSalary/util/index.js | 4 + 6 files changed, 176 insertions(+), 22 deletions(-) create mode 100644 pc4mobx/hrmSalary/pages/mobilePayroll/conditions.js create mode 100644 pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/conditions.js b/pc4mobx/hrmSalary/pages/mobilePayroll/conditions.js new file mode 100644 index 00000000..af7a60c8 --- /dev/null +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/conditions.js @@ -0,0 +1,21 @@ +export const secondaryVerifyConditions = [ + { + items: [ + { + conditionType: "INPUT", + domkey: ["authCode"], + fieldcol: 14, + label: "二次验证密码", + labelcol: 10, + value: "", + otherParams: { + type: "password" + }, + rules: "required|string", + viewAttr: 3 + } + ], + title: "", + defaultshow: true + } +]; diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/index.js b/pc4mobx/hrmSalary/pages/mobilePayroll/index.js index 38f53195..4e764da8 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/index.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/index.js @@ -17,6 +17,7 @@ import Content from "../../components/pcTemplate/content"; import MobileTemplate from "../../components/mobileTemplate"; import "../mySalary/index.less"; import MobileModal from "./mobileModal"; +import SecondaryVerify from "./secondaryVerify"; const getLabel = WeaLocaleProvider.getLabel; @@ -84,7 +85,11 @@ export default class MobilePayroll extends React.Component { API.isNeedSecondPwdVerify({ mouldCode: "HRM", itemCode: "SALARY" }, this.state.salaryBillToken) .then(({ status, isNeedSecondAuth }) => { if (status && isNeedSecondAuth) { - ReactDom.render(, document.body); + ReactDom.render( + message.error("请输入密码")}> + + , + document.body); return; this.setState({ visible: true }, () => { API.getSecondAuthForm({ mouldCode: "HRM", itemCode: "SALARY" }, this.state.salaryBillToken) diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/index.less b/pc4mobx/hrmSalary/pages/mobilePayroll/index.less index 8726d37e..c9bb4a6a 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/index.less +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/index.less @@ -51,10 +51,6 @@ background-color: rgba(0, 0, 0, .4); } -.am-modal { - position: relative; -} - .am-modal-transparent { width: 270px; } @@ -74,19 +70,103 @@ overflow: hidden; } -.am-modal-wrap { - position: fixed; - overflow: auto; - top: 0; - right: 0; - bottom: 0; - left: 0; - height: 100%; - z-index: 999; - -webkit-overflow-scrolling: touch; - outline: 0; - display: flex; - align-items: center; - justify-content: center; - transform: translateZ(1px); +.am-modal-header { + padding: 15px; +} + +.am-modal-title { + margin: 0; + letter-spacing: -.1px; + color: #333; + font-size: 14px; + line-height: 20px; + text-align: center; + height: auto; + max-height: 150px; + overflow-y: auto; +} + +.am-modal-body { + font-size: 14px; + color: #868686; + height: 100%; + line-height: 1.5; + overflow: auto; + padding: 0 15px 15px; + + .wea-search-group, .wea-content, .wea-form-cell { + padding: 0; + } +} + +.am-modal { + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + z-index: 1000; +} + +.am-modal-wrap { + height: 100vh; + display: flex; + justify-content: center; + align-items: center; + //position: fixed; + //overflow: auto; + //top: 0; + //right: 0; + //bottom: 0; + //left: 0; + //height: 100%; + //z-index: 999; + //-webkit-overflow-scrolling: touch; + //outline: 0; + //display: -webkit-box; + //display: -webkit-flex; + //display: -ms-flexbox; + //display: flex; + //-webkit-box-align: center; + //-webkit-align-items: center; + //-ms-flex-align: center; + //align-items: center; + //-webkit-box-pack: center; + //-webkit-justify-content: center; + //-ms-flex-pack: center; + //justify-content: center; + //-webkit-transform: translateZ(1px); + //transform: translateZ(1px); +} + +.am-modal-button-group-h { + position: relative; + border-top: 1px solid #ddd; + display: flex; +} + +.am-modal-button-group-h .am-modal-button { + -webkit-touch-callout: none; + flex: 1 1; + box-sizing: border-box; + text-align: center; + text-decoration: none; + outline: none; + color: #55b1f9; + height: 50px; + line-height: 50px; + display: block; + width: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 14px; +} + +.am-modal-button-group-h .am-modal-button:first-child { + color: #333; +} + +.am-modal-button-group-h .am-modal-button:last-child { + position: relative; + border-left: 1px solid #ddd; } diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/mobileModal.js b/pc4mobx/hrmSalary/pages/mobilePayroll/mobileModal.js index 493cb63a..1f76b313 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/mobileModal.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/mobileModal.js @@ -9,6 +9,7 @@ */ import React, { Component } from "react"; import { WeaLocaleProvider } from "ecCom"; +import { removeElementById } from "../../util"; import "./index.less"; const getLabel = WeaLocaleProvider.getLabel; @@ -17,11 +18,24 @@ class MobileModal extends Component { render() { return (
-
+
-
123
+
+
+
{this.props.title}
+
+
{this.props.children}
+ +
diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js b/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js new file mode 100644 index 00000000..e8c18c3f --- /dev/null +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js @@ -0,0 +1,30 @@ +/* + * 二次验证密码 + * + * @Author: 黎永顺 + * @Date: 2025/4/16 + * @Wechat: + * @Email: 971387674@qq.com + * @description: +*/ +import React, { Component } from "react"; +import { WeaLocaleProvider } from "ecCom"; +import { WeaForm } from "comsMobx"; +import FormInfo from "../../components/FormInfo"; +import { secondaryVerifyConditions } from "./conditions"; + +const form = new WeaForm(); +const getLabel = WeaLocaleProvider.getLabel; + +class SecondaryVerify extends Component { + componentDidMount() { + form.initFormFields(secondaryVerifyConditions); + } + + render() { + const itemRender = {}; + return (); + } +} + +export default SecondaryVerify; diff --git a/pc4mobx/hrmSalary/util/index.js b/pc4mobx/hrmSalary/util/index.js index 0b63ffda..4578ddac 100644 --- a/pc4mobx/hrmSalary/util/index.js +++ b/pc4mobx/hrmSalary/util/index.js @@ -143,3 +143,7 @@ export const getIframeParentHeight = (selector, total, extraHeight) => { } return height; }; +export const removeElementById = (id) => { + const element = document.getElementById(id); + if (element) element.remove(); +}; From 94c9a39f9f773fff1c9dd1e4e73984729fb90032 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Thu, 17 Apr 2025 14:23:31 +0800 Subject: [PATCH 05/13] =?UTF-8?q?feature/2.19.1.2501.01-=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E6=9F=A5=E7=9C=8B=E5=B7=A5=E8=B5=84=E5=8D=95=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/mobilePayroll/conditions.js | 66 ++++++++++++++++++ .../hrmSalary/pages/mobilePayroll/index.js | 14 ++-- .../hrmSalary/pages/mobilePayroll/index.less | 60 +++++++--------- .../pages/mobilePayroll/loginVerify.js | 56 +++++++++++++++ .../pages/mobilePayroll/mobileModal.js | 20 +++++- .../pages/mobilePayroll/secondaryVerify.js | 60 +++++++++++++++- .../pages/mobilePayroll/secondarypwdVerify.js | 68 +++++++++++++++++++ 7 files changed, 297 insertions(+), 47 deletions(-) create mode 100644 pc4mobx/hrmSalary/pages/mobilePayroll/loginVerify.js create mode 100644 pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerify.js diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/conditions.js b/pc4mobx/hrmSalary/pages/mobilePayroll/conditions.js index af7a60c8..3462cb08 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/conditions.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/conditions.js @@ -19,3 +19,69 @@ export const secondaryVerifyConditions = [ defaultshow: true } ]; +export const loginCondition = [ + { + items: [ + { + conditionType: "INPUT", + domkey: ["password"], + fieldcol: 14, + label: "登录密码", + labelcol: 10, + value: "", + otherParams: { + type: "password" + }, + rules: "required|string", + viewAttr: 3 + } + ], + title: "", + defaultshow: true + } +]; +export const secondarypwdCondition = [ + { + items: [ + { + conditionType: "INPUT", + domkey: ["secondaryPwd1"], + fieldcol: 14, + label: "密码", + labelcol: 10, + value: "", + otherParams: { + type: "password", + passwordStrength: true + }, + rules: "required|string", + viewAttr: 3 + }, + { + conditionType: "INPUT", + domkey: ["secondaryPwd2"], + fieldcol: 14, + label: "确认密码", + labelcol: 10, + value: "", + otherParams: { + type: "password" + }, + rules: "required|string", + viewAttr: 3 + }, + { + conditionType: "INPUT", + domkey: ["validatecode"], + fieldcol: 14, + label: "验证码", + labelcol: 10, + value: "", + rules: "required|string", + viewAttr: 3 + } + ], + title: "", + defaultshow: true + } +]; diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/index.js b/pc4mobx/hrmSalary/pages/mobilePayroll/index.js index 4e764da8..eaa34aff 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/index.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/index.js @@ -15,9 +15,9 @@ import PassSetDialog from "./passSetDialog"; import { ConfirmBtns } from "../mySalary/mySalaryView"; import Content from "../../components/pcTemplate/content"; import MobileTemplate from "../../components/mobileTemplate"; -import "../mySalary/index.less"; -import MobileModal from "./mobileModal"; import SecondaryVerify from "./secondaryVerify"; +import { removeElementById } from "../../util"; +import "../mySalary/index.less"; const getLabel = WeaLocaleProvider.getLabel; @@ -85,11 +85,11 @@ export default class MobilePayroll extends React.Component { API.isNeedSecondPwdVerify({ mouldCode: "HRM", itemCode: "SALARY" }, this.state.salaryBillToken) .then(({ status, isNeedSecondAuth }) => { if (status && isNeedSecondAuth) { - ReactDom.render( - message.error("请输入密码")}> - - , - document.body); + ReactDom.render( { + removeElementById("am-modal-container"); + this.getMySalaryBill(getQueryString("id")); + }}/>, document.body); return; this.setState({ visible: true }, () => { API.getSecondAuthForm({ mouldCode: "HRM", itemCode: "SALARY" }, this.state.salaryBillToken) diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/index.less b/pc4mobx/hrmSalary/pages/mobilePayroll/index.less index c9bb4a6a..8d600fc5 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/index.less +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/index.less @@ -52,7 +52,7 @@ } .am-modal-transparent { - width: 270px; + width: 80%; } .am-modal-transparent .am-modal-content { @@ -92,50 +92,38 @@ height: 100%; line-height: 1.5; overflow: auto; - padding: 0 15px 15px; + padding: 0 15px 30px; .wea-search-group, .wea-content, .wea-form-cell { padding: 0; } } -.am-modal { - position: fixed; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - z-index: 1000; -} - .am-modal-wrap { - height: 100vh; + position: fixed; + overflow: auto; + top: 0; + right: 0; + bottom: 0; + left: 0; + height: 100%; + z-index: 999; + -webkit-overflow-scrolling: touch; + outline: 0; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; display: flex; - justify-content: center; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; align-items: center; - //position: fixed; - //overflow: auto; - //top: 0; - //right: 0; - //bottom: 0; - //left: 0; - //height: 100%; - //z-index: 999; - //-webkit-overflow-scrolling: touch; - //outline: 0; - //display: -webkit-box; - //display: -webkit-flex; - //display: -ms-flexbox; - //display: flex; - //-webkit-box-align: center; - //-webkit-align-items: center; - //-ms-flex-align: center; - //align-items: center; - //-webkit-box-pack: center; - //-webkit-justify-content: center; - //-ms-flex-pack: center; - //justify-content: center; - //-webkit-transform: translateZ(1px); - //transform: translateZ(1px); + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-transform: translateZ(1px); + transform: translateZ(1px); } .am-modal-button-group-h { diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/loginVerify.js b/pc4mobx/hrmSalary/pages/mobilePayroll/loginVerify.js new file mode 100644 index 00000000..1be34d7a --- /dev/null +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/loginVerify.js @@ -0,0 +1,56 @@ +/* + * 登录密码验证 + * + * @Author: 黎永顺 + * @Date: 2025/4/17 + * @Wechat: + * @Email: 971387674@qq.com + * @description: +*/ +import React, { Component } from "react"; +import ReactDom from "react-dom"; +import { WeaLocaleProvider } from "ecCom"; +import { WeaForm } from "comsMobx"; +import FormInfo from "../../components/FormInfo"; +import { loginCondition } from "./conditions"; +import MobileModal from "./mobileModal"; +import SecondarypwdVerify from "./secondarypwdVerify"; +import { checkPassword } from "../../apis/mySalaryBenefits"; +import { RSAEcrypt } from "../../util/RSAUtil"; + +const form = new WeaForm(); +const getLabel = WeaLocaleProvider.getLabel; + +class LoginVerify extends Component { + + componentDidMount() { + form.initFormFields(loginCondition); + } + + save = async () => { + form.validateForm().then(f => { + if (f.isValid) { + RSAEcrypt("1", { ...form.getFormParams() }).then(RSAParam => { + checkPassword({ ...RSAParam }).then(({ result }) => { + if (result) { + ReactDom.render(, document.body); + } else { + form.showError("password", getLabel(504343, "登录密码错误")); + } + }); + }); + } else { + f.showErrors(); + } + }); + }; + + render() { + const itemRender = {}; + return ( + + ); + } +} + +export default LoginVerify; diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/mobileModal.js b/pc4mobx/hrmSalary/pages/mobilePayroll/mobileModal.js index 1f76b313..b6f388db 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/mobileModal.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/mobileModal.js @@ -15,10 +15,28 @@ import "./index.less"; const getLabel = WeaLocaleProvider.getLabel; class MobileModal extends Component { + componentDidMount() { + this.setMetaViewport(); + } + + setMetaViewport = () => { + // 检查是否已存在 viewport meta 标签 + let viewportMeta = document.querySelector("meta[name=\"viewport\"]"); + if (!viewportMeta) { + // 如果不存在,创建一个新的 meta 标签 + viewportMeta = document.createElement("meta"); + viewportMeta.setAttribute("name", "viewport"); + document.head.appendChild(viewportMeta); + } + // 设置或更新 viewport 的 content 属性 + const content = "width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover"; + viewportMeta.setAttribute("content", content); + }; + render() { return (
-
+
diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js b/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js index e8c18c3f..1660dfee 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js @@ -8,22 +8,76 @@ * @description: */ import React, { Component } from "react"; +import ReactDom from "react-dom"; import { WeaLocaleProvider } from "ecCom"; -import { WeaForm } from "comsMobx"; +import { WeaForm, WeaSwitch } from "comsMobx"; +import { message } from "antd"; import FormInfo from "../../components/FormInfo"; import { secondaryVerifyConditions } from "./conditions"; +import * as API from "../../apis/mySalaryBenefits"; +import MobileModal from "./mobileModal"; +import LoginVerify from "./loginVerify"; const form = new WeaForm(); const getLabel = WeaLocaleProvider.getLabel; class SecondaryVerify extends Component { + constructor(props) { + super(props); + this.state = { notSetting: false }; + } + componentDidMount() { + API.getSecondAuthForm({ mouldCode: "HRM", itemCode: "SALARY" }, this.props.salaryBillToken) + .then(({ notSetting }) => { + this.setState({ notSetting }); + }); form.initFormFields(secondaryVerifyConditions); } + doSecondAuth = () => { + form.validateForm().then(f => { + if (f.isValid) { + const { mySalaryStore: { setInitEmVerify }, salaryBillToken } = this.props; + API.doSecondAuth({ mouldCode: "HRM", itemCode: "SALARY", ...form.getFormParams() }, salaryBillToken) + .then(({ status, checkStatus, checkMsg }) => { + if (status && checkStatus === "1") { + message.success(checkMsg); + setInitEmVerify(); + this.props.onSuccess(); + } else { + form.showError("authCode", checkMsg); + } + }); + } else { + f.showErrors(); + } + }); + }; + handleSetSecondaryPassword = () => { + ReactDom.render(, document.body); + }; + render() { - const itemRender = {}; - return (); + const { notSetting } = this.state; + const itemRender = { + authCode: (field, textAreaProps, form, formParams) => { + return ( + + { + notSetting && +
+ {getLabel(111, "您还未设置二次验证密码,点击")} + {getLabel(111, "设置")} +
+ } +
); + } + }; + return ( + + ); } } diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerify.js b/pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerify.js new file mode 100644 index 00000000..fece44bd --- /dev/null +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerify.js @@ -0,0 +1,68 @@ +/* + * 二次验证密码设置 + * + * @Author: 黎永顺 + * @Date: 2025/4/17 + * @Wechat: + * @Email: 971387674@qq.com + * @description: +*/ +import React, { Component } from "react"; +import { WeaLocaleProvider } from "ecCom"; +import { WeaForm, WeaSwitch } from "comsMobx"; +import FormInfo from "../../components/FormInfo"; +import { secondarypwdCondition } from "./conditions"; +import MobileModal from "./mobileModal"; +import { RSAEcrypt } from "../../util/RSAUtil"; + +const form = new WeaForm(); +const getLabel = WeaLocaleProvider.getLabel; + +class SecondarypwdVerify 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); + } + + save = async () => { + form.validateForm().then(f => { + if (f.isValid) { + RSAEcrypt("1", { ...form.getFormParams() }).then(RSAParam => { + console.log(form.getFormParams(), this.props); + }); + } 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 ( + + ); + } +} + +export default SecondarypwdVerify; From aaf00ace3cfb180c6699ec6226fa8211e40307eb Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Thu, 17 Apr 2025 15:13:40 +0800 Subject: [PATCH 06/13] =?UTF-8?q?feature/2.19.1.2501.01-=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E6=9F=A5=E7=9C=8B=E5=B7=A5=E8=B5=84=E5=8D=95=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hrmSalary/pages/mobilePayroll/index.js | 1 + .../hrmSalary/pages/mobilePayroll/index.less | 10 ++++++ .../pages/mobilePayroll/loginVerify.js | 8 +++-- .../pages/mobilePayroll/secondaryVerify.js | 6 +++- .../pages/mobilePayroll/secondarypwdVerify.js | 32 ++++++++++++++++--- pc4mobx/hrmSalary/pages/mySalary/authority.js | 3 +- 6 files changed, 52 insertions(+), 8 deletions(-) diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/index.js b/pc4mobx/hrmSalary/pages/mobilePayroll/index.js index eaa34aff..882b0f9b 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/index.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/index.js @@ -87,6 +87,7 @@ export default class MobilePayroll extends React.Component { if (status && isNeedSecondAuth) { ReactDom.render( { + setInitEmVerify(); removeElementById("am-modal-container"); this.getMySalaryBill(getQueryString("id")); }}/>, document.body); diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/index.less b/pc4mobx/hrmSalary/pages/mobilePayroll/index.less index 8d600fc5..9fd7d4d6 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/index.less +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/index.less @@ -97,6 +97,16 @@ .wea-search-group, .wea-content, .wea-form-cell { padding: 0; } + + .secondarypwd-form { + .wea-form-cell-wrapper { + & > div:last-child { + .ant-col-16 { + width: 37.5% !important; + } + } + } + } } .am-modal-wrap { diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/loginVerify.js b/pc4mobx/hrmSalary/pages/mobilePayroll/loginVerify.js index 1be34d7a..ad862dcf 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/loginVerify.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/loginVerify.js @@ -15,7 +15,7 @@ import FormInfo from "../../components/FormInfo"; import { loginCondition } from "./conditions"; import MobileModal from "./mobileModal"; import SecondarypwdVerify from "./secondarypwdVerify"; -import { checkPassword } from "../../apis/mySalaryBenefits"; +import * as API from "../../apis/mySalaryBenefits"; import { RSAEcrypt } from "../../util/RSAUtil"; const form = new WeaForm(); @@ -27,11 +27,15 @@ class LoginVerify extends Component { form.initFormFields(loginCondition); } + componentWillUnmount() { + form.resetForm(); + } + save = async () => { form.validateForm().then(f => { if (f.isValid) { RSAEcrypt("1", { ...form.getFormParams() }).then(RSAParam => { - checkPassword({ ...RSAParam }).then(({ result }) => { + API.checkPassword({ ...RSAParam }).then(({ result }) => { if (result) { ReactDom.render(, document.body); } else { diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js b/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js index 1660dfee..c80215a4 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js @@ -35,6 +35,10 @@ class SecondaryVerify extends Component { form.initFormFields(secondaryVerifyConditions); } + componentWillUnmount() { + form.resetForm(); + } + doSecondAuth = () => { form.validateForm().then(f => { if (f.isValid) { @@ -75,7 +79,7 @@ class SecondaryVerify extends Component { } }; return ( - ); } diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerify.js b/pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerify.js index fece44bd..5a5d58cd 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerify.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerify.js @@ -8,12 +8,16 @@ * @description: */ import React, { Component } from "react"; +import ReactDom from "react-dom"; 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"; +import SecondaryVerify from "./secondaryVerify"; const form = new WeaForm(); const getLabel = WeaLocaleProvider.getLabel; @@ -31,11 +35,30 @@ class SecondarypwdVerify extends Component { form.initFormFields(secondarypwdCondition); } + componentWillUnmount() { + form.resetForm(); + } + save = async () => { form.validateForm().then(f => { if (f.isValid) { - RSAEcrypt("1", { ...form.getFormParams() }).then(RSAParam => { - console.log(form.getFormParams(), this.props); + 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 }).then(({ sign, message: msg }) => { + if (sign === "1") { + message.success(msg); + ReactDom.render(, document.body); + } 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(); @@ -49,7 +72,7 @@ class SecondarypwdVerify extends Component { return ( { this.setState({ num: this.state.num + 1 }, () => { @@ -60,7 +83,8 @@ class SecondarypwdVerify extends Component { } }; return ( - + ); } } diff --git a/pc4mobx/hrmSalary/pages/mySalary/authority.js b/pc4mobx/hrmSalary/pages/mySalary/authority.js index 00a74712..ef7261be 100644 --- a/pc4mobx/hrmSalary/pages/mySalary/authority.js +++ b/pc4mobx/hrmSalary/pages/mySalary/authority.js @@ -9,7 +9,7 @@ export default class Authority extends React.Component { render() { const { store } = this.props; const { loading, hasRight } = store; - + console.log("store", store); const style = { position: "absolute", top: "50%", @@ -27,6 +27,7 @@ export default class Authority extends React.Component { } if (hasRight) { + console.log("this.props.children", this.props.children); return this.props.children; } else { return ( From b3fff361ec438cc2589d81b35f60812c858cfbaf Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Thu, 17 Apr 2025 15:23:58 +0800 Subject: [PATCH 07/13] =?UTF-8?q?feature/2.19.1.2501.01-=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E6=9F=A5=E7=9C=8B=E5=B7=A5=E8=B5=84=E5=8D=95=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc4mobx/hrmSalary/pages/mySalary/authority.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/pc4mobx/hrmSalary/pages/mySalary/authority.js b/pc4mobx/hrmSalary/pages/mySalary/authority.js index ef7261be..ec098fc2 100644 --- a/pc4mobx/hrmSalary/pages/mySalary/authority.js +++ b/pc4mobx/hrmSalary/pages/mySalary/authority.js @@ -9,7 +9,6 @@ export default class Authority extends React.Component { render() { const { store } = this.props; const { loading, hasRight } = store; - console.log("store", store); const style = { position: "absolute", top: "50%", @@ -27,7 +26,6 @@ export default class Authority extends React.Component { } if (hasRight) { - console.log("this.props.children", this.props.children); return this.props.children; } else { return ( From 5ab71a349208609067f2b475e0237b6886d32fbc Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Thu, 17 Apr 2025 15:56:32 +0800 Subject: [PATCH 08/13] =?UTF-8?q?feature/2.19.1.2501.01-=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E6=9F=A5=E7=9C=8B=E5=B7=A5=E8=B5=84=E5=8D=95=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc4mobx/hrmSalary/pages/mobilePayroll/index.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/index.js b/pc4mobx/hrmSalary/pages/mobilePayroll/index.js index 882b0f9b..165253ad 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/index.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/index.js @@ -90,14 +90,14 @@ export default class MobilePayroll extends React.Component { setInitEmVerify(); removeElementById("am-modal-container"); this.getMySalaryBill(getQueryString("id")); - }}/>, document.body); - return; - this.setState({ visible: true }, () => { - API.getSecondAuthForm({ mouldCode: "HRM", itemCode: "SALARY" }, this.state.salaryBillToken) - .then(({ status, notSetting }) => { - this.setState({ notSetting }); - }); - }); + }}/>, document.getElementById("container")); + // return; + // this.setState({ visible: true }, () => { + // API.getSecondAuthForm({ mouldCode: "HRM", itemCode: "SALARY" }, this.state.salaryBillToken) + // .then(({ status, notSetting }) => { + // this.setState({ notSetting }); + // }); + // }); } else { this.getMySalaryBill(getQueryString("id")); setInitEmVerify(); From b01d2806442c8bbc553f34b23a079de77e8f3ac7 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Thu, 17 Apr 2025 17:12:53 +0800 Subject: [PATCH 09/13] =?UTF-8?q?feature/2.19.1.2501.01-=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E6=9F=A5=E7=9C=8B=E5=B7=A5=E8=B5=84=E5=8D=95=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hrmSalary/pages/mobilePayroll/index.js | 165 +++++------------- .../pages/mobilePayroll/loginVerify.js | 2 +- .../pages/mobilePayroll/secondaryVerify.js | 5 +- .../pages/mobilePayroll/secondarypwdVerify.js | 2 +- 4 files changed, 51 insertions(+), 123 deletions(-) diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/index.js b/pc4mobx/hrmSalary/pages/mobilePayroll/index.js index 165253ad..389afbcd 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/index.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/index.js @@ -1,17 +1,15 @@ import React from "react"; -import ReactDom from "react-dom"; import { inject, observer } from "mobx-react"; import { toJS } from "mobx"; import { getQueryString } from "../../util/url"; -import { WeaDialog, WeaError, WeaInput, WeaLocaleProvider } from "ecCom"; -import { Button, message, Modal } from "antd"; +import { WeaLocaleProvider } from "ecCom"; +import { message, Modal } from "antd"; import Authority from "../mySalary/authority"; import "../payroll/templatePreview/index.less"; import * as API from "../../apis/mySalaryBenefits"; import { salaryBillGetToken } from "../../apis/mySalaryBenefits"; import { confirmSalaryBill, feedBackSalaryBill, payrollCheckType } from "../../apis/payroll"; import CaptchaModal from "../../components/captchaModal"; -import PassSetDialog from "./passSetDialog"; import { ConfirmBtns } from "../mySalary/mySalaryView"; import Content from "../../components/pcTemplate/content"; import MobileTemplate from "../../components/mobileTemplate"; @@ -21,21 +19,14 @@ import "../mySalary/index.less"; const getLabel = WeaLocaleProvider.getLabel; -@inject("mySalaryStore") -@observer +@inject("mySalaryStore") @observer export default class MobilePayroll extends React.Component { constructor(props) { super(props); this.state = { - pwdSetVisible: false, visible: false, captchaVisible: false, - authCode: "", - notSetting: false, - mySalaryBillData: { - employeeInformation: {}, - salaryTemplate: [] - }, + mySalaryBillData: { employeeInformation: {}, salaryTemplate: [] }, salaryBillToken: {} }; this.id = ""; @@ -63,12 +54,7 @@ export default class MobilePayroll extends React.Component { API.isNeedSecondPwdVerify({ mouldCode: "HRM", itemCode: "SALARY" }, this.state.salaryBillToken) .then(({ status, isNeedSecondAuth }) => { if (status && isNeedSecondAuth) { - this.setState({ visible: true }, () => { - API.getSecondAuthForm({ mouldCode: "HRM", itemCode: "SALARY" }, this.state.salaryBillToken) - .then(({ status, notSetting }) => { - this.setState({ notSetting }); - }); - }); + this.setState({ visible: true }); } else { this.getMySalaryBill(getQueryString("id")); setInitEmVerify(); @@ -85,19 +71,7 @@ export default class MobilePayroll extends React.Component { API.isNeedSecondPwdVerify({ mouldCode: "HRM", itemCode: "SALARY" }, this.state.salaryBillToken) .then(({ status, isNeedSecondAuth }) => { if (status && isNeedSecondAuth) { - ReactDom.render( { - setInitEmVerify(); - removeElementById("am-modal-container"); - this.getMySalaryBill(getQueryString("id")); - }}/>, document.getElementById("container")); - // return; - // this.setState({ visible: true }, () => { - // API.getSecondAuthForm({ mouldCode: "HRM", itemCode: "SALARY" }, this.state.salaryBillToken) - // .then(({ status, notSetting }) => { - // this.setState({ notSetting }); - // }); - // }); + this.setState({ visible: true }); } else { this.getMySalaryBill(getQueryString("id")); setInitEmVerify(); @@ -106,33 +80,12 @@ export default class MobilePayroll extends React.Component { }); } }; - doSecondAuth = () => { - const { salaryBillToken } = this.state; - const { mySalaryStore: { setInitEmVerify } } = this.props; - if (!this.state.authCode) { - this.refs.weaError.showError(); - return; - } - API.doSecondAuth({ - authCode: this.state.authCode, mouldCode: "HRM", itemCode: "SALARY" - }, salaryBillToken).then(({ status, checkStatus, checkMsg }) => { - if (status && checkStatus === "1") { - message.success(checkMsg); - setInitEmVerify(); - this.setState({ visible: false }); - this.getMySalaryBill(getQueryString("id")); - } else { - message.error(checkMsg); - } - }); - }; getMySalaryBill = (salaryInfoId) => { const { salaryBillToken } = this.state; const { mySalaryStore: { getMySalaryBill } } = this.props; const params = this.getUrlkey(); const payload = { - salaryInfoId, header: salaryBillToken, - ..._.pick(params, ["recipient"]) + salaryInfoId, header: salaryBillToken, ..._.pick(params, ["recipient"]) }; getMySalaryBill(payload).then(result => { this.setState({ @@ -142,10 +95,8 @@ export default class MobilePayroll extends React.Component { }; getUrlkey = () => { let url = window.location.href; - let params = {}, - arr = url.split("?"); - if (arr.length <= 1) - return params; + let params = {}, arr = url.split("?"); + if (arr.length <= 1) return params; arr = arr[1].split("&"); for (var i = 0, l = arr.length; i < l; i++) { var a = arr[i].split("="); @@ -189,77 +140,55 @@ export default class MobilePayroll extends React.Component { }; render() { - const { mySalaryStore: { clearLoading, pwdForm } } = this.props; - const { mySalaryBillData, visible, captchaVisible, notSetting, pwdSetVisible } = this.state; + const { mySalaryStore: { setInitEmVerify } } = this.props, { captchaVisible, visible } = this.state; const type = getQueryString("type"); - if (_.isEmpty(toJS(this.props.mySalaryStore.mySalaryBill))) return
- this.setState({ visible: false }, () => clearLoading())} - title="请输入二次验证密码" visible={visible} initLoadCss - className="verifyWrapper" - hasScroll buttons={[ - - ]} - > - - this.setState({ authCode })}/> - - { - notSetting && -
- {getLabel("514970", "您还未设置二次验证密码,点击")} - this.setState({ pwdSetVisible: true })}>{getLabel("30747", "设置")} -
- } -
- this.setState({ pwdSetVisible: false })}/> + if (_.isEmpty(toJS(this.props.mySalaryStore.mySalaryBill))) return + {visible && { + setInitEmVerify(); + // removeElementById("am-modal-container"); + this.getMySalaryBill(getQueryString("id")); + }}/>} {/*发送验证码*/} this.setState({ captchaVisible: false })} onConfirm={() => this.props.mySalaryStore.setInitEmVerify()} /> -
; +
; const { - salaryTemplate, salaryGroups, employeeInformation, - sendTime, confirmStatus, showAck, showFeedback + salaryTemplate, salaryGroups, employeeInformation, sendTime, confirmStatus, showAck, showFeedback } = toJS(this.props.mySalaryStore.mySalaryBill); const salaryProps = { - theme: salaryTemplate.theme, tip: salaryTemplate.textContent, sendTime, - background: salaryTemplate.background, tipPosi: salaryTemplate.textContentPosition || "", + theme: salaryTemplate.theme, + tip: salaryTemplate.textContent, + sendTime, + background: salaryTemplate.background, + tipPosi: salaryTemplate.textContentPosition || "", itemTypeList: [employeeInformation, ...salaryGroups] }; - return ( - - { - type === "phone" ? - - - - - - : - -
- - - -
-
- } -
- ); + return ( + {type === "phone" ? + + + + : +
+ + + +
+
} +
); } } diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/loginVerify.js b/pc4mobx/hrmSalary/pages/mobilePayroll/loginVerify.js index ad862dcf..33fd761b 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/loginVerify.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/loginVerify.js @@ -37,7 +37,7 @@ class LoginVerify extends Component { RSAEcrypt("1", { ...form.getFormParams() }).then(RSAParam => { API.checkPassword({ ...RSAParam }).then(({ result }) => { if (result) { - ReactDom.render(, document.body); + ReactDom.render(, document.getElementById("container")); } else { form.showError("password", getLabel(504343, "登录密码错误")); } diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js b/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js index c80215a4..a92fd378 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js @@ -42,12 +42,11 @@ class SecondaryVerify extends Component { doSecondAuth = () => { form.validateForm().then(f => { if (f.isValid) { - const { mySalaryStore: { setInitEmVerify }, salaryBillToken } = this.props; + const { salaryBillToken } = this.props; API.doSecondAuth({ mouldCode: "HRM", itemCode: "SALARY", ...form.getFormParams() }, salaryBillToken) .then(({ status, checkStatus, checkMsg }) => { if (status && checkStatus === "1") { message.success(checkMsg); - setInitEmVerify(); this.props.onSuccess(); } else { form.showError("authCode", checkMsg); @@ -59,7 +58,7 @@ class SecondaryVerify extends Component { }); }; handleSetSecondaryPassword = () => { - ReactDom.render(, document.body); + ReactDom.render(, document.getElementById("container")); }; render() { diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerify.js b/pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerify.js index 5a5d58cd..00e75d22 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerify.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerify.js @@ -51,7 +51,7 @@ class SecondarypwdVerify extends Component { API.saveSecondaryPwd({ ...RSAParam, validatecode }).then(({ sign, message: msg }) => { if (sign === "1") { message.success(msg); - ReactDom.render(, document.body); + ReactDom.render(, document.getElementById("container")); } else { form.showError("validatecode", msg); this.setState({ num: this.state.num + 1 }, () => { From 6b3e321846484d82dbb594f1dc3201ec4f120036 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Thu, 17 Apr 2025 17:18:36 +0800 Subject: [PATCH 10/13] =?UTF-8?q?feature/2.19.1.2501.01-=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E6=9F=A5=E7=9C=8B=E5=B7=A5=E8=B5=84=E5=8D=95=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/mobilePayroll/secondaryVerify.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js b/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js index a92fd378..a9006367 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js @@ -8,7 +8,6 @@ * @description: */ import React, { Component } from "react"; -import ReactDom from "react-dom"; import { WeaLocaleProvider } from "ecCom"; import { WeaForm, WeaSwitch } from "comsMobx"; import { message } from "antd"; @@ -24,7 +23,7 @@ const getLabel = WeaLocaleProvider.getLabel; class SecondaryVerify extends Component { constructor(props) { super(props); - this.state = { notSetting: false }; + this.state = { notSetting: false, visible: false }; } componentDidMount() { @@ -36,7 +35,7 @@ class SecondaryVerify extends Component { } componentWillUnmount() { - form.resetForm(); + this.setState({ notSetting: false, visible: false }, () => form.resetForm()); } doSecondAuth = () => { @@ -57,12 +56,10 @@ class SecondaryVerify extends Component { } }); }; - handleSetSecondaryPassword = () => { - ReactDom.render(, document.getElementById("container")); - }; + handleSetSecondaryPassword = () => this.setState({ visible: false }); render() { - const { notSetting } = this.state; + const { notSetting, visible } = this.state; const itemRender = { authCode: (field, textAreaProps, form, formParams) => { return ( @@ -80,6 +77,9 @@ class SecondaryVerify extends Component { return ( + { + visible && + } ); } } From 554cf4b6b3082a6af1cca11fd8dacc4b5f2658b8 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Thu, 17 Apr 2025 17:44:30 +0800 Subject: [PATCH 11/13] =?UTF-8?q?feature/2.19.1.2501.01-=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E6=9F=A5=E7=9C=8B=E5=B7=A5=E8=B5=84=E5=8D=95=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc4mobx/hrmSalary/apis/mySalaryBenefits.js | 10 +++++--- .../hrmSalary/pages/mobilePayroll/index.js | 16 ++++++++---- .../pages/mobilePayroll/loginVerify.js | 19 +++++++------- .../pages/mobilePayroll/secondaryVerify.js | 13 +++------- .../pages/mobilePayroll/secondarypwdVerify.js | 25 +++++++++---------- 5 files changed, 42 insertions(+), 41 deletions(-) diff --git a/pc4mobx/hrmSalary/apis/mySalaryBenefits.js b/pc4mobx/hrmSalary/apis/mySalaryBenefits.js index f197ba27..75e3eb73 100644 --- a/pc4mobx/hrmSalary/apis/mySalaryBenefits.js +++ b/pc4mobx/hrmSalary/apis/mySalaryBenefits.js @@ -45,11 +45,13 @@ export const doSecondAuth = (params, headers) => { export const getPasswordForm = params => { return WeaTools.callApi("/api/hrm/secondarypwd/getPasswordForm", "GET", params); }; -export const checkPassword = params => { - return WeaTools.callApi("/api/hrm/secondarypwd/checkPassword", "POST", params); +export const checkPassword = (params, headers) => { + return formHeaderPost("/api/hrm/secondarypwd/checkPassword", "POST", params, headers); + // return WeaTools.callApi("/api/hrm/secondarypwd/checkPassword", "POST", params); }; -export const saveSecondaryPwd = params => { - return WeaTools.callApi("/api/hrm/secondarypwd/saveSecondaryPwd", "POST", params); +export const saveSecondaryPwd = (params, headers) => { + return formHeaderPost("/api/hrm/secondarypwd/saveSecondaryPwd", "POST", params, headers); + // return WeaTools.callApi("/api/hrm/secondarypwd/saveSecondaryPwd", "POST", params); }; export const salaryBillGetToken = params => { return postFetch("/api/bs/hrmsalary/salaryBill/getToken", params); diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/index.js b/pc4mobx/hrmSalary/pages/mobilePayroll/index.js index 389afbcd..a1756ede 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/index.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/index.js @@ -14,7 +14,8 @@ import { ConfirmBtns } from "../mySalary/mySalaryView"; import Content from "../../components/pcTemplate/content"; import MobileTemplate from "../../components/mobileTemplate"; import SecondaryVerify from "./secondaryVerify"; -import { removeElementById } from "../../util"; +import LoginVerify from "./loginVerify"; +import SecondarypwdVerify from "./secondarypwdVerify"; import "../mySalary/index.less"; const getLabel = WeaLocaleProvider.getLabel; @@ -24,8 +25,7 @@ export default class MobilePayroll extends React.Component { constructor(props) { super(props); this.state = { - visible: false, - captchaVisible: false, + visible: false, captchaVisible: false, loginVisible: false, pwdSetVisible: false, mySalaryBillData: { employeeInformation: {}, salaryTemplate: [] }, salaryBillToken: {} }; @@ -140,15 +140,21 @@ export default class MobilePayroll extends React.Component { }; 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"); if (_.isEmpty(toJS(this.props.mySalaryStore.mySalaryBill))) return {visible && this.setState({ visible: false, loginVisible: true })} onSuccess={() => { setInitEmVerify(); - // removeElementById("am-modal-container"); this.getMySalaryBill(getQueryString("id")); }}/>} + {loginVisible && this.setState({ loginVisible: false, pwdSetVisible: true })}/>} + {pwdSetVisible && this.setState({ pwdSetVisible: false }, () => this.initMobile())}/>} {/*发送验证码*/} { form.validateForm().then(f => { if (f.isValid) { - RSAEcrypt("1", { ...form.getFormParams() }).then(RSAParam => { - API.checkPassword({ ...RSAParam }).then(({ result }) => { - if (result) { - ReactDom.render(, document.getElementById("container")); - } else { - form.showError("password", getLabel(504343, "登录密码错误")); - } + RSAEcrypt("1", { ...form.getFormParams() }, this.props.salaryBillToken) + .then(RSAParam => { + API.checkPassword({ ...RSAParam }).then(({ result }) => { + if (result) { + this.props.onSetPwdSet(); + } else { + form.showError("password", getLabel(504343, "登录密码错误")); + } + }); }); - }); } else { f.showErrors(); } diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js b/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js index a9006367..b5310466 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/secondaryVerify.js @@ -15,7 +15,6 @@ import FormInfo from "../../components/FormInfo"; import { secondaryVerifyConditions } from "./conditions"; import * as API from "../../apis/mySalaryBenefits"; import MobileModal from "./mobileModal"; -import LoginVerify from "./loginVerify"; const form = new WeaForm(); const getLabel = WeaLocaleProvider.getLabel; @@ -23,7 +22,7 @@ const getLabel = WeaLocaleProvider.getLabel; class SecondaryVerify extends Component { constructor(props) { super(props); - this.state = { notSetting: false, visible: false }; + this.state = { notSetting: false }; } componentDidMount() { @@ -35,7 +34,7 @@ class SecondaryVerify extends Component { } componentWillUnmount() { - this.setState({ notSetting: false, visible: false }, () => form.resetForm()); + this.setState({ notSetting: false }, () => form.resetForm()); } doSecondAuth = () => { @@ -56,10 +55,9 @@ class SecondaryVerify extends Component { } }); }; - handleSetSecondaryPassword = () => this.setState({ visible: false }); render() { - const { notSetting, visible } = this.state; + const { notSetting } = this.state; const itemRender = { authCode: (field, textAreaProps, form, formParams) => { return ( @@ -68,7 +66,7 @@ class SecondaryVerify extends Component { notSetting &&
{getLabel(111, "您还未设置二次验证密码,点击")} - {getLabel(111, "设置")} + {getLabel(111, "设置")}
}
); @@ -77,9 +75,6 @@ class SecondaryVerify extends Component { return ( - { - visible && - } ); } } diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerify.js b/pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerify.js index 00e75d22..a8f84027 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerify.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerify.js @@ -8,7 +8,6 @@ * @description: */ import React, { Component } from "react"; -import ReactDom from "react-dom"; import { WeaLocaleProvider } from "ecCom"; import { message } from "antd"; import { WeaForm, WeaSwitch } from "comsMobx"; @@ -17,7 +16,6 @@ import { secondarypwdCondition } from "./conditions"; import * as API from "../../apis/mySalaryBenefits"; import MobileModal from "./mobileModal"; import { RSAEcrypt } from "../../util/RSAUtil"; -import SecondaryVerify from "./secondaryVerify"; const form = new WeaForm(); const getLabel = WeaLocaleProvider.getLabel; @@ -48,17 +46,18 @@ class SecondarypwdVerify extends Component { return; } RSAEcrypt("1", { secondaryPwd1, secondaryPwd2 }).then(RSAParam => { - API.saveSecondaryPwd({ ...RSAParam, validatecode }).then(({ sign, message: msg }) => { - if (sign === "1") { - message.success(msg); - ReactDom.render(, document.getElementById("container")); - } 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}` }); - }); - } - }); + API.saveSecondaryPwd({ ...RSAParam, validatecode }, this.props.salaryBillToken) + .then(({ sign, message: msg }) => { + if (sign === "1") { + message.success(msg); + 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(); From ae7785ff6e77850146a636510c866ffceb8b1d7e Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Fri, 18 Apr 2025 11:39:11 +0800 Subject: [PATCH 12/13] =?UTF-8?q?feature/2.19.1.2501.01-PC=E7=AB=AFToken?= =?UTF-8?q?=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hrmSalary/pages/mobilePayroll/checkSecondaryVerifyDialog.js | 2 +- pc4mobx/hrmSalary/pages/mobilePayroll/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/checkSecondaryVerifyDialog.js b/pc4mobx/hrmSalary/pages/mobilePayroll/checkSecondaryVerifyDialog.js index 30e7b54b..97d46aac 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/checkSecondaryVerifyDialog.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/checkSecondaryVerifyDialog.js @@ -1,5 +1,5 @@ /* - * 工资单查看启用二次验证弹框 + * pc端工资单查看启用二次验证弹框 * @Author: 黎永顺 * @Date: 2025/4/15 * @Wechat: diff --git a/pc4mobx/hrmSalary/pages/mobilePayroll/index.js b/pc4mobx/hrmSalary/pages/mobilePayroll/index.js index ba6502f8..9e9da440 100644 --- a/pc4mobx/hrmSalary/pages/mobilePayroll/index.js +++ b/pc4mobx/hrmSalary/pages/mobilePayroll/index.js @@ -180,7 +180,7 @@ export default class MobilePayroll extends React.Component { {pwdSetVisible && this.setState({ pwdSetVisible: false }, () => this.initMobile())}/>} {/*统一外部调用token*/} - this.setState({ checkSecVerify: false }, () => callback && callback())} onSuccess={() => { this.getMySalaryBill(getQueryString("id")); From 0b081877f4abf72cb3404b58e235c66288ff7f6d Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Wed, 23 Apr 2025 13:30:27 +0800 Subject: [PATCH 13/13] =?UTF-8?q?feature/2.19.1.2501.01-PC=E7=AB=AFToken?= =?UTF-8?q?=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../checkSecondaryVerifyDialog.js | 22 ++++- .../hrmSalary/pages/mobilePayroll/index.less | 10 ++ .../pages/mobilePayroll/loginVerifyPC.js | 72 ++++++++++++++ .../mobilePayroll/secondarypwdVerifyPC.js | 96 +++++++++++++++++++ 4 files changed, 195 insertions(+), 5 deletions(-) create mode 100644 pc4mobx/hrmSalary/pages/mobilePayroll/loginVerifyPC.js create mode 100644 pc4mobx/hrmSalary/pages/mobilePayroll/secondarypwdVerifyPC.js 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;