From 2a47ec2cc6961681c1ac84df046d6f38e0cc8604 Mon Sep 17 00:00:00 2001
From: lys <971387674@qq.com>
Date: Tue, 21 Oct 2025 17:04:36 +0800
Subject: [PATCH] =?UTF-8?q?custom/=E4=BA=94=E9=99=A2=E6=9D=AD=E5=B7=9E?=
=?UTF-8?q?=E4=B8=AD=E5=BF=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../pages/calculate/calcView/index.less | 3 +-
.../components/advanceInputBtn/index.less | 4 +-
.../salaryCalcPersonConfirm/index.less | 35 +++++-
.../components/salaryDeptSummary/index.js | 83 ++++++++++++++
.../components/salaryEditCalc/condition.js | 22 +++-
.../components/salaryEditCalc/index.less | 5 +-
.../hrmSalary/pages/calculate/doCalc/index.js | 101 +++++++++++++++---
.../pages/calculate/doCalc/index.less | 4 +-
8 files changed, 233 insertions(+), 24 deletions(-)
create mode 100644 pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryDeptSummary/index.js
diff --git a/pc4mobx/hrmSalary/pages/calculate/calcView/index.less b/pc4mobx/hrmSalary/pages/calculate/calcView/index.less
index 182d61f0..9034fde1 100644
--- a/pc4mobx/hrmSalary/pages/calculate/calcView/index.less
+++ b/pc4mobx/hrmSalary/pages/calculate/calcView/index.less
@@ -5,4 +5,5 @@
position: relative;
z-index: 0;
padding: 8px 16px;
-}
+ display: flex;
+}
\ No newline at end of file
diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/advanceInputBtn/index.less b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/advanceInputBtn/index.less
index 683007e9..7c48cac3 100644
--- a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/advanceInputBtn/index.less
+++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/advanceInputBtn/index.less
@@ -2,10 +2,10 @@
display: flex;
align-items: center;
position: relative;
- top: -2.5px;
+ top: -1.5px!important;
.wea-advanced-search {
- top: 2px!important;
+ top: 1px!important;
left: -1px;
height: 28px;
line-height: 1;
diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryCalcPersonConfirm/index.less b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryCalcPersonConfirm/index.less
index e912632d..db029922 100644
--- a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryCalcPersonConfirm/index.less
+++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryCalcPersonConfirm/index.less
@@ -20,6 +20,39 @@
}
}
+.flatten-advance-layout {
+ padding: 0;
+
+ .wea-title {
+ display: flex;
+ align-items: center;
+ background: #FFF;
+ line-height: inherit;
+ padding: 0 10px 0 0;
+ }
+
+ .flatten-advance-title {
+ display: flex;
+ align-items: center;
+
+ .flatten-advance-form {
+ flex: 1;
+
+ .wea-search-group {
+ padding: 0 10px;
+
+ .wea-form-item-wrapper {
+ display: inline-block !important;
+ }
+ }
+
+ .wea-form-cell {
+ padding: 0;
+ }
+ }
+ }
+}
+
.docalc-baseinfo-layout {
padding: 0;
@@ -56,4 +89,4 @@
}
}
-}
+}
\ No newline at end of file
diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryDeptSummary/index.js b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryDeptSummary/index.js
new file mode 100644
index 00000000..30c142ab
--- /dev/null
+++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryDeptSummary/index.js
@@ -0,0 +1,83 @@
+/*
+ * 杭州五院二开
+ * 部门汇总表
+ * @Author: 黎永顺
+ * @Date: 2025/10/20
+ * @Wechat:
+ * @Email: 971387674@qq.com
+ * @description:
+*/
+import React, { Component } from "react";
+import { WeaLocaleProvider } from "ecCom";
+import { Spin } from "antd";
+import { postFetch } from "../../../../../util/request";
+import { traverse } from "../salaryEditCalc/editCalcTable";
+
+const getLabel = WeaLocaleProvider.getLabel;
+
+class Index extends Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ showTotalCell: false, loading: false, dataSource: []
+ };
+ }
+
+ componentDidMount() {
+ window.addEventListener("message", this.handleReceive, false);
+ }
+
+ componentWillUnmount() {
+ window.removeEventListener("message", this.handleReceive, false);
+ }
+
+ handleReceive = async ({ data }) => {
+ const { type, payload: { id, params } = {} } = data;
+ if (type === "init") this.getAcctresultDepartmentList();
+ };
+ getAcctresultDepartmentList = () => {
+ const { routeParams: { salaryAcctRecordId } } = this.props;
+ this.setState({ loading: true });
+ const payload = { salaryAcctRecordId };
+ postFetch("/api/bs/hrmsalary/salaryacct/acctresult/department/list", payload).then(({ status, data }) => {
+ this.setState({ loading: false });
+ if (status && !_.isEmpty(data)) {
+ const { columns, list: dataSource } = data;
+ this.setState({ dataSource }, () => {
+ this.postMessageToChild({
+ dataSource, showTotalCell: false, sumRowlistUrl: "", calcDetail: true, tableScrollHeight: 120,
+ columns: _.every(traverse(columns, true), (it, idx) => !it.fixed) ? _.map(traverse(columns, true), (it, idx) => ({
+ ...it, fixed: idx < 2 ? "left" : false
+ })) : traverse(columns, true)
+ });
+ });
+ }
+ }).catch(() => this.setState({ loading: false }));
+ };
+ postMessageToChild = (payload = {}) => {
+ const i18n = {
+ "共": getLabel(18609, "共"), "条": getLabel(18256, "条"),
+ "总计": getLabel(523, "总计")
+ };
+ const childFrameObj = document.getElementById("deptTable");
+ childFrameObj.contentWindow.postMessage(JSON.stringify({ ...payload, i18n }), "*");
+ };
+
+ render() {
+ const { loading, dataSource } = this.state;
+
+ return (
);
+ }
+}
+
+export default Index;
\ No newline at end of file
diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/condition.js b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/condition.js
index 9340de40..f791b663 100644
--- a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/condition.js
+++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/condition.js
@@ -137,6 +137,26 @@ export const editCalcSearchConditions = [
label: "合并计税",
labelcol: 6,
viewAttr: 2
+ },
+ {
+ colSpan: 2,
+ conditionType: "RANGEPICKER",
+ domkey: ["hireDate"],
+ fieldcol: 12,
+ label: "入职日期",
+ lanId: 111,
+ labelcol: 6,
+ viewAttr: 2
+ },
+ {
+ colSpan: 2,
+ conditionType: "RANGEPICKER",
+ domkey: ["zzrq"],
+ fieldcol: 12,
+ label: "转正日期",
+ lanId: 111,
+ labelcol: 6,
+ viewAttr: 2
}
],
defaultshow: true,
@@ -173,4 +193,4 @@ export const batchUpdateConditions = [
defaultshow: true,
title: ""
}
-];
+];
\ No newline at end of file
diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/index.less b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/index.less
index b8b0c1ea..fb03883d 100644
--- a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/index.less
+++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryEditCalc/index.less
@@ -1,7 +1,8 @@
.salary-edit-calc-content {
- height: 100%;
+ flex: 1;
display: flex;
flex-direction: column;
+ overflow: hidden;
.ant-spin-nested-loading, .ant-spin-container {
height: 100%;
@@ -365,4 +366,4 @@
border-radius: 4px;
padding: 30px 50px;
margin: 20px 0;
-}
+}
\ No newline at end of file
diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/index.js b/pc4mobx/hrmSalary/pages/calculate/doCalc/index.js
index 96f6cf8c..39359ff0 100644
--- a/pc4mobx/hrmSalary/pages/calculate/doCalc/index.js
+++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/index.js
@@ -5,9 +5,10 @@
* Date: 2023/9/13
*/
import React, { Component } from "react";
-import { WeaLocaleProvider, WeaReqTop, WeaTools } from "ecCom";
+import { WeaLocaleProvider, WeaReqTop, WeaSearchGroup, WeaTools } from "ecCom";
import { Button, Dropdown, Menu, message, Modal } from "antd";
import { inject, observer } from "mobx-react";
+import { WeaSwitch } from "comsMobx";
import Layout from "./layout";
import {
acctresultAccounting,
@@ -20,13 +21,17 @@ import SalaryCalcPersonConfirm from "./components/salaryCalcPersonConfirm";
import SalaryEditCalc from "./components/salaryEditCalc";
import SalaryApproval from "./components/salaryApproval";
import SalaryDiffence from "./components/salaryDiffence";
+import SalaryDeptSummary from "./components/salaryDeptSummary";
import ProgressModal from "../../../components/progressModal";
import CustomCalcExportDialog from "./components/customCalcExportDialog";
import SalaryEditCalcImport from "./components/salaryEditCalcImport";
import { convertToUrlString } from "../../../util/url";
+import FormInfo from "../../../components/FormInfo";
+import { editCalcSearchConditions } from "./components/salaryEditCalc/condition";
import "./index.less";
const getLabel = WeaLocaleProvider.getLabel;
+const getKey = WeaTools.getKey;
@inject("calculateStore")
@observer
@@ -42,8 +47,8 @@ class Index extends Component {
};
this.calc = null;
- this.calcApproval = null;
- this.calcDiffence = null;
+ this.approval = null;
+ this.diffence = null;
this.timer = null;
}
@@ -182,9 +187,9 @@ class Index extends Component {
this.doCacl("ALL")} overlay={menu} type="primary">
{getLabel(543545, "核算所有人")}
,
- ,
- this.calc.openAdvanceSearch()}
- onAdvanceSearch={() => this.calc.onAdSearch(false)}/>
+
+ // this.calc.openAdvanceSearch()}
+ // onAdvanceSearch={() => this.calc.onAdSearch(false)}/>
];
!canEdit && reqBtns.splice(0, 1);
accountExceptInfo && reqBtns.unshift( {
window.open(`${approvalWorkflowUrl}&salaryAcctRecordId=${salaryAcctRecordId}`, "_blank");
- }}>{getLabel(111, "发起审批")},
- this.calcApproval.openAdvanceSearch()}
- onAdvanceSearch={() => this.calcApproval.onAdSearch(false)}/>
+ }}>{getLabel(111, "发起审批")}
+ // this.approval.openAdvanceSearch()}
+ // onAdvanceSearch={() => this.approval.onAdSearch(false)}/>
]);
break;
case "diffence":
isOpenApproval && (reqBtns = [
,
- this.calcDiffence.openAdvanceSearch()}
- onAdvanceSearch={() => this.calcDiffence.onAdSearch(false)}/>
+ onClick={() => this.diffence && this.diffence.exportDifferenctList()}>{getLabel(111, "导出")}
+ // this.diffence.openAdvanceSearch()}
+ // onAdvanceSearch={() => this.diffence.onAdSearch(false)}/>
]);
break;
default:
@@ -233,10 +238,13 @@ class Index extends Component {
dom = this.calc = dom}/>;
break;
case "approval":
- dom = this.calcApproval = dom}/>;
+ dom = this.approval = dom}/>;
+ break;
+ case "deptSummary":
+ dom = ;
break;
case "diffence":
- dom = this.calcDiffence = dom}/>;
+ dom = this.diffence = dom}/>;
break;
default:
break;
@@ -249,10 +257,58 @@ class Index extends Component {
{ key: "person", title: getLabel(543547, "人员确认") },
{ key: "calc", title: getLabel(538011, "薪资核算") },
{ key: "approval", title: getLabel(111, "工资申请表流程审批") },
+ { key: "deptSummary", title: getLabel(111, "部门汇总表") },
{ key: "diffence", title: getLabel(111, "差异对比表") }
];
const { calculateStore: { setOtherConditions, ECSearchForm } } = this.props;
const { selectedKey, progressVisible, progress, customExpDialog, salaryImpDialog } = this.state;
+ const itemRender = {
+ statuses: (field, textAreaProps, form, formParams) => {
+ return form.isFormInit ? (
+ getKey(o) === "statuses").options }}
+ form={form} formParams={formParams} onChange={v => {
+ this[selectedKey].onAdSearch(false);
+ }}/>) : null;
+ },
+ hireDate: (field, textAreaProps, form, formParams) => {
+ return form.isFormInit ? (
+ {
+ this[selectedKey].onAdSearch(false);
+ }}/>) : null;
+ },
+ zzrq: (field, textAreaProps, form, formParams) => {
+ return form.isFormInit ? (
+ {
+ this[selectedKey].onAdSearch(false);
+ }}/>) : null;
+ },
+ departmentIds: (field, textAreaProps, form, formParams) => {
+ return form.isFormInit ? (
+ {
+ this[selectedKey].onAdSearch(false);
+ }}/>) : null;
+ },
+ workcode: (field, textAreaProps, form, formParams) => {
+ return form.isFormInit ? (
+ this[selectedKey].onAdSearch(false) }
+ }}
+ form={form} formParams={formParams}/>) : null;
+ },
+ employeeName: (field, textAreaProps, form, formParams) => {
+ return form.isFormInit ? (
+ this[selectedKey].onAdSearch(false) }
+ }} form={form} formParams={formParams}/>) : null;
+ },
+ subcompanyIds: () => null,
+ positionIds: () => null,
+ consolidatedTaxation: () => null
+ };
return (
@@ -263,7 +319,20 @@ class Index extends Component {
ECSearchForm.resetForm();
setOtherConditions([]);
})} buttons={this.renderReqBtns()}>
-
{this.renderContent()}
+
+ {
+ ["calc", "approval", "diffence"].includes(selectedKey) &&
+
+
+ this[selectedKey].openAdvanceSearch()}
+ onAdvanceSearch={() => this[selectedKey].onAdSearch(false)}/>
+ }/>
+ }
+ {this.renderContent()}
+
{
progressVisible &&