From 3418bfe4aa50fa253dc5a1fed2d9de64319fdb53 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com>
Date: Tue, 28 May 2024 16:25:25 +0800
Subject: [PATCH 01/13] =?UTF-8?q?hotfix/2.14.2.2405.02=20=E5=85=AC?=
=?UTF-8?q?=E5=BC=8F=E7=BC=96=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pc4mobx/hrmSalary/style/index.less | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/pc4mobx/hrmSalary/style/index.less b/pc4mobx/hrmSalary/style/index.less
index 0d181610..4ce6ef7a 100644
--- a/pc4mobx/hrmSalary/style/index.less
+++ b/pc4mobx/hrmSalary/style/index.less
@@ -71,3 +71,15 @@
}
}
}
+
+//公式编辑框样式
+.excel-codeBox {
+ .cm-variable {
+ }
+
+ .cm-string-2 {
+ color: inherit !important;
+ }
+
+}
+
From 411ba9744bd38a43c1c0cc238fd04edd30dbb0bd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com>
Date: Tue, 28 May 2024 16:42:21 +0800
Subject: [PATCH 02/13] hotfix/2.14.2.2405.02
---
.../analysisOfSalaryStatistics/components/salaryDetails.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/salaryDetails.js b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/salaryDetails.js
index 84882ff0..66538450 100644
--- a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/salaryDetails.js
+++ b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/salaryDetails.js
@@ -105,7 +105,7 @@ class SalaryDetails extends Component {
return;
}
WeaLoadingGlobal.start();
- const promise = API.exportSalaryList({ ...payload, ids: selectedRowKeys });
+ const promise = API.exportSalaryList({ ...payload, ids: key === "SELECTED" ? selectedRowKeys : [] });
};
getColumns = () => {
const { attendanceStore: { tableStore } } = this.props;
From c0079fe4b4213a50a46669c6fca4074eea612ba5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com>
Date: Wed, 29 May 2024 10:32:17 +0800
Subject: [PATCH 03/13] =?UTF-8?q?feature/2.14.3.2406.01-=E8=96=AA=E8=B5=84?=
=?UTF-8?q?=E6=A0=B8=E7=AE=97=E6=B7=BB=E5=8A=A0=E9=94=81=E5=AE=9A=E4=BA=BA?=
=?UTF-8?q?=E5=91=98=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pc4mobx/hrmSalary/apis/calculate.js | 4 ++
.../salaryEditCalc/editCalcTable.js | 64 +++++++++++++++++--
2 files changed, 61 insertions(+), 7 deletions(-)
diff --git a/pc4mobx/hrmSalary/apis/calculate.js b/pc4mobx/hrmSalary/apis/calculate.js
index f2bd582a..85805d5c 100644
--- a/pc4mobx/hrmSalary/apis/calculate.js
+++ b/pc4mobx/hrmSalary/apis/calculate.js
@@ -228,6 +228,10 @@ export const getColumnDesc = (params) => {
export const updateLockStatus = (params) => {
return postFetch("/api/bs/hrmsalary/salaryacct/acctresult/updateLockStatus", params);
};
+// 更新薪资核算结果的锁定状态
+export const updateLockEmpStatus = (params) => {
+ return postFetch("/api/bs/hrmsalary/salaryacct/acctresult/lockEmp", params);
+};
// 导入薪资核算添加表头字段缓存
export const cacheImportField = (params) => {
return postFetch("/api/bs/hrmsalary/salaryacct/acctresult/cacheImportField", params);
diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js
index d5df0036..85e5bd0b 100644
--- a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js
+++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js
@@ -8,7 +8,7 @@ import React, { Component } from "react";
import { WeaLocaleProvider, WeaTools } from "ecCom";
import { message, Modal, Spin } from "antd";
import { inject, observer } from "mobx-react";
-import { acctResultList, updateLockStatus } from "../../../../../apis/calculate";
+import { acctResultList, updateLockEmpStatus, updateLockStatus } from "../../../../../apis/calculate";
import ProgressModal from "../../../../../components/progressModal";
import BatchUpdateSalaryItemValDialog from "./batchUpdateSalaryItemValDialog";
import EditSalaryCalcSlide from "./editSalaryCalcSlide";
@@ -57,12 +57,15 @@ class EditCalcTable extends Component {
this.props.onShowFormulaTd(dataIndex);
break;
case "LOCKING":
- const { salaryItemId, lockType: lockStatus } = params;
- if (lockStatus === "BATCHUPDATE") {
+ const { salaryItemId, lockType } = params;
+ if (lockType === "BATCHUPDATE") {
this.batchUpdateSalaryItemVal(params);
return;
}
- this.updateLockStatus({ lockStatus, salaryItemId });
+ this.updateLockStatus({ lockStatus: lockType, salaryItemId });
+ break;
+ case "LOCKEMP":
+ this.updateEmpLockStatus({ ...params });
break;
case "EDIT":
const { id: salaryCalcId } = params;
@@ -131,6 +134,52 @@ class EditCalcTable extends Component {
}
});
};
+ updateEmpLockStatus = (payload) => {
+ const { lockStatus } = payload;
+ Modal.confirm({
+ title: getLabel(131329, "信息确认"),
+ content:
+
+ {lockStatus === "LOCK" ? getLabel(543554, "确定要锁定人员项目值吗?") : getLabel(543556, "确定要解锁人员项目值吗?")}
+
+
+ {lockStatus === "LOCK" ? getLabel(543555, "确定后,则项目输入值锁定,项目公式失效;点击核算将按锁定的输入值重新核算!") :
+ getLabel(543557, "确定后,则项目公式生效,页面仍显示手动修改的项目值;点击核算将按公式重新核算,不再显示解锁标识!")}
+
+
,
+ onOk: () => {
+ this.setState({
+ progressVisible: true
+ }, () => {
+ this.timerLock = setInterval(() => {
+ if (this.state.progress !== 100) {
+ this.setState({
+ progress: this.state.progress + 1
+ });
+ } else {
+ clearInterval(this.timerLock);
+ this.setState({
+ progressVisible: false,
+ progress: 0
+ });
+ }
+ }, 500);
+ });
+ const { routeParams: { salaryAcctRecordId } } = this.props;
+ updateLockEmpStatus({ ...payload, salaryAcctRecordId }).then(({ status, errormsg }) => {
+ if (status) {
+ clearInterval(this.timerLock);
+ this.setState({
+ progressVisible: false,
+ progress: 0
+ }, () => this.queryCalcResultList());
+ } else {
+ message.error(errormsg);
+ }
+ });
+ }
+ });
+ };
batchUpdateSalaryItemVal = (payload) => {
Modal.confirm({
title: getLabel(131329, "信息确认"),
@@ -180,7 +229,8 @@ class EditCalcTable extends Component {
"共": getLabel(18609, "共"), "条": getLabel(18256, "条"),
"总计": getLabel(523, "总计"), "批量解锁": getLabel(111, "批量解锁"),
"批量锁定": getLabel(111, "批量锁定"), "批量更新": getLabel(111, "批量更新"),
- "查看拓扑图": getLabel(111, "查看拓扑图")
+ "查看拓扑图": getLabel(111, "查看拓扑图"), "锁定": getLabel(111, "锁定"),
+ "解锁": getLabel(111, "解锁")
};
this.setState({ originPayloadData: { ...payload, i18n } });
const childFrameObj = document.getElementById("atdTable");
@@ -232,8 +282,8 @@ class EditCalcTable extends Component {
Date: Wed, 29 May 2024 10:32:41 +0800
Subject: [PATCH 04/13] =?UTF-8?q?feature/2.14.3.2406.01-=E8=96=AA=E8=B5=84?=
=?UTF-8?q?=E6=A0=B8=E7=AE=97=E6=B7=BB=E5=8A=A0=E9=94=81=E5=AE=9A=E4=BA=BA?=
=?UTF-8?q?=E5=91=98=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../doCalc/components/salaryEditCalc/editCalcTable.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js
index 85e5bd0b..1c6bb065 100644
--- a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js
+++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/editCalcTable.js
@@ -282,8 +282,8 @@ class EditCalcTable extends Component {
Date: Thu, 30 May 2024 14:15:55 +0800
Subject: [PATCH 05/13] hotfix/2.14.2.2405.02
---
.../attendance/components/attendanceDataViewSlide.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/components/attendanceDataViewSlide.js b/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/components/attendanceDataViewSlide.js
index 4e2735aa..634d36fe 100644
--- a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/components/attendanceDataViewSlide.js
+++ b/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/components/attendanceDataViewSlide.js
@@ -40,7 +40,8 @@ class AttendanceDataViewSlide extends Component {
const { columns, list: dataSource, pageNum: current, pageSize, total } = data.pageInfo;
this.setState({
pageInfo: { ...pageInfo, current, pageSize, total }, dataSource,
- columns: _.map(columns, o => ({ ...o, width: 150, fixed: o.dataIndex === "username" ? "left" : null }))
+ // o.dataIndex === "username" ? "left" :
+ columns: _.map(columns, o => ({ ...o, width: 150, fixed: null }))
});
}
}).catch(() => this.setState({ loading: { ...loading, query: false } }));
From 037ab5b12f282232d0e2946475f648b4120ea3ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com>
Date: Mon, 3 Jun 2024 11:22:18 +0800
Subject: [PATCH 06/13] =?UTF-8?q?release/2.14.3.2406.01-=E4=B8=AA=E7=A8=8E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../dataAcquisition/cumDeduct/columns.js | 11 +++++
.../salaryCumDeductChooseTaxPeriodDialog.js | 43 ++++++++++++-------
.../pages/dataAcquisition/cumDeduct/index.js | 5 ++-
.../hrmSalary/pages/declareDetail/index.less | 6 +++
4 files changed, 48 insertions(+), 17 deletions(-)
diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/columns.js b/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/columns.js
index 1c9d27d0..c2c2a844 100644
--- a/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/columns.js
+++ b/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/columns.js
@@ -550,6 +550,17 @@ export const cumTaxPeriodCondition = [
value: "",
rules: "required",
viewAttr: 3
+ },{
+ colSpan: 1,
+ conditionType: "SELECT",
+ domkey: ["taxAgentIds"],
+ multiple: true,
+ fieldcol: 18,
+ label: "个税扣缴义务人",
+ lanId: 537996,
+ labelcol: 6,
+ value: "",
+ viewAttr: 2
}],
title: "",
defaultshow: true
diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/components/salaryCumDeductChooseTaxPeriodDialog.js b/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/components/salaryCumDeductChooseTaxPeriodDialog.js
index 7e0c76f4..5947b8da 100644
--- a/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/components/salaryCumDeductChooseTaxPeriodDialog.js
+++ b/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/components/salaryCumDeductChooseTaxPeriodDialog.js
@@ -6,7 +6,8 @@
*/
import React, { Component } from "react";
import { inject, observer } from "mobx-react";
-import { WeaDialog, WeaLocaleProvider } from "ecCom";
+import { toJS } from "mobx";
+import { WeaDialog, WeaLocaleProvider, WeaTools } from "ecCom";
import { Button, message } from "antd";
import { getSearchs } from "../../../../util";
import { cumTaxPeriodCondition } from "../columns";
@@ -14,6 +15,7 @@ import { onlineRequest } from "../../../../apis/cumDeduct";
import { onlineActualAddUpAdvanceTax } from "../../../../apis/cumSituation";
const getLabel = WeaLocaleProvider.getLabel;
+const getKey = WeaTools.getKey;
const APIFox = {
online: onlineRequest,
advance: onlineActualAddUpAdvanceTax
@@ -25,13 +27,23 @@ class SalaryCumDeductChooseTaxPeriodDialog extends Component {
constructor(props) {
super(props);
this.state = {
- loading: false
+ loading: false, conditions: []
};
}
componentWillReceiveProps(nextProps, nextContext) {
const { cumDeductStore: { cumTaxPeriodForm, changeCumTaxPeriodForm } } = nextProps;
if (nextProps.visible !== this.props.visible && nextProps.visible) {
+ this.setState({
+ conditions: _.map(cumTaxPeriodCondition, item => ({
+ ...item, items: _.map(item.items, o => {
+ if (getKey(o) === "taxAgentIds") {
+ return { ...o, lable: getLabel(o.lanId, o.label), options: toJS(nextProps.taxAgentOption) };
+ }
+ return { ...o, lable: getLabel(o.lanId, o.label) };
+ })
+ }))
+ });
cumTaxPeriodForm.initFormFields(cumTaxPeriodCondition);
}
if (nextProps.visible !== this.props.visible && !nextProps.visible) {
@@ -43,18 +55,19 @@ class SalaryCumDeductChooseTaxPeriodDialog extends Component {
save = () => {
const { cumDeductStore: { cumTaxPeriodForm }, type } = this.props;
cumTaxPeriodForm.validateForm().then(f => {
- const { declareMonth } = cumTaxPeriodForm.getFormParams();
+ const { declareMonth, taxAgentIds } = cumTaxPeriodForm.getFormParams();
if (f.isValid) {
this.setState({ loading: true });
- APIFox[type]({ declareMonth: declareMonth + "-01" }).then(({ status, errormsg }) => {
- this.setState({ loading: false });
- if (status) {
- message.success(getLabel(111, "获取成功!"));
- this.props.onCancel();
- } else {
- message.error(errormsg);
- }
- }).catch(() => this.setState({ loading: false }));
+ APIFox[type]({ declareMonth: declareMonth + "-01", taxAgentIds: taxAgentIds ? taxAgentIds.split(",") : [] })
+ .then(({ status, errormsg }) => {
+ this.setState({ loading: false });
+ if (status) {
+ message.success(getLabel(111, "获取成功!"));
+ this.props.onCancel();
+ } else {
+ message.error(errormsg);
+ }
+ }).catch(() => this.setState({ loading: false }));
} else {
f.showErrors();
}
@@ -62,17 +75,17 @@ class SalaryCumDeductChooseTaxPeriodDialog extends Component {
};
render() {
- const { loading } = this.state;
+ const { loading, conditions } = this.state;
const { cumDeductStore: { cumTaxPeriodForm } } = this.props;
return (
{getLabel(33703, "确认")}]}
bottomLeft={getLabel(111, "点击保存后,稍后请点击【获取结果下载】下载获取结果。获取的数据将覆盖列表原本数据(有则覆盖无则新增)。")}
>
- {getSearchs(cumTaxPeriodForm, cumTaxPeriodCondition, 1, false)}
+ {getSearchs(cumTaxPeriodForm, conditions, 1, false)}
);
diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/index.js b/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/index.js
index 980ee789..4e903cc6 100644
--- a/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/index.js
+++ b/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/index.js
@@ -69,7 +69,7 @@ class Index extends Component {
exportPayloadType: false,
advanceCondition: null,
cumTaxPeriodDialog: {
- visible: false, title: "", type: ""
+ visible: false, title: "", type: "", taxAgentOption: []
},
feedbackLoading: false,
incomeTaxStatus: false,
@@ -401,6 +401,7 @@ class Index extends Component {
*/
getTopBtns = () => {
const { addAllLoading, cumTaxPeriodDialog, feedbackLoading, incomeTaxStatus } = this.state;
+ const { taxAgentStore: { taxAgentOption } } = this.props;
const commonBtns = [
,
,
@@ -421,7 +422,7 @@ class Index extends Component {
const incomeTaxBtns = [