@@ -626,7 +611,7 @@ export default class PayrollGrant extends React.Component {
{
- !_.isEmpty(this.getColumns()) ?
+ !loading ?
{
+ this.loading = false;
if (res.status) {
this.salaryGrantTableStore = res.data.columns;
this.salaryGrantDataSource = res.data.list;
@@ -470,7 +472,7 @@ export class payrollStore {
} else {
message.error(res.errormsg || "获取失败");
}
- });
+ }).catch(() => this.loading = false);
};
// 工资单-工资单发放详情列表
From 4ebb3a422e76f188064188b651ee47679af3409f 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, 17 Jun 2024 17:20:01 +0800
Subject: [PATCH 2/4] =?UTF-8?q?feature/2.14.4.2406.02-=E5=B7=A5=E8=B5=84?=
=?UTF-8?q?=E5=8D=95=E5=8F=91=E6=94=BE=E9=A2=84=E8=A7=88?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../pages/payroll/payrollGrant/index.js | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/pc4mobx/hrmSalary/pages/payroll/payrollGrant/index.js b/pc4mobx/hrmSalary/pages/payroll/payrollGrant/index.js
index 95141435..16043fcd 100644
--- a/pc4mobx/hrmSalary/pages/payroll/payrollGrant/index.js
+++ b/pc4mobx/hrmSalary/pages/payroll/payrollGrant/index.js
@@ -323,6 +323,9 @@ export default class PayrollGrant extends React.Component {
onClick={() => this.handleWithdraw({ ids: [record.id] })}>
撤回
+
+ 预览
+
{
salarySendDetailBaseInfo.showPdfBtn &&
this.handleGrant({ ids: [record.id] })}>
- 发放
-
+
+ this.handleGrant({ ids: [record.id] })}>
+ 发放
+
+
+ 预览
+
+
);
}
}
From 2e775eb20578b36ae74b8edea503901c8173bd81 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, 18 Jun 2024 09:07:43 +0800
Subject: [PATCH 3/4] =?UTF-8?q?feature/2.14.4.2406.02-=E5=B7=A5=E8=B5=84?=
=?UTF-8?q?=E5=8D=95=E5=8F=91=E6=94=BE=E9=A2=84=E8=A7=88?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pc4mobx/hrmSalary/apis/payroll.js | 4 ++
.../payrollGrant/components/index.less | 6 ++
.../components/payrollPreviewDialog.js | 62 +++++++++++++++++++
.../pages/payroll/payrollGrant/index.js | 32 ++++++++--
4 files changed, 100 insertions(+), 4 deletions(-)
create mode 100644 pc4mobx/hrmSalary/pages/payroll/payrollGrant/components/index.less
create mode 100644 pc4mobx/hrmSalary/pages/payroll/payrollGrant/components/payrollPreviewDialog.js
diff --git a/pc4mobx/hrmSalary/apis/payroll.js b/pc4mobx/hrmSalary/apis/payroll.js
index b78fac43..8ca9fab7 100644
--- a/pc4mobx/hrmSalary/apis/payroll.js
+++ b/pc4mobx/hrmSalary/apis/payroll.js
@@ -244,3 +244,7 @@ export const getSmsSalaryItemSet = (params) => {
export const genPdfBeforeExport = (params) => {
return WeaTools.callApi("/api/bs/hrmsalary/salaryBill/genPdfBeforeExport", "GET", params);
};
+//工资单预览
+export const salaryBillPreview = (params) => {
+ return postFetch("/api/bs/hrmsalary/salaryBill/preview", params);
+};
diff --git a/pc4mobx/hrmSalary/pages/payroll/payrollGrant/components/index.less b/pc4mobx/hrmSalary/pages/payroll/payrollGrant/components/index.less
new file mode 100644
index 00000000..6c2c71f7
--- /dev/null
+++ b/pc4mobx/hrmSalary/pages/payroll/payrollGrant/components/index.less
@@ -0,0 +1,6 @@
+.payPreBox {
+ .pay-preview-layout {
+ width: 100%;
+ height: 100%;
+ }
+}
diff --git a/pc4mobx/hrmSalary/pages/payroll/payrollGrant/components/payrollPreviewDialog.js b/pc4mobx/hrmSalary/pages/payroll/payrollGrant/components/payrollPreviewDialog.js
new file mode 100644
index 00000000..763a45a6
--- /dev/null
+++ b/pc4mobx/hrmSalary/pages/payroll/payrollGrant/components/payrollPreviewDialog.js
@@ -0,0 +1,62 @@
+/*
+ *
+ * 工资单预览
+ * @Author: 黎永顺
+ * @Date: 2024/6/17
+ * @Wechat:
+ * @Email: 971387674@qq.com
+ * @description:
+*/
+import React, { Component } from "react";
+import { WeaDialog, WeaLocaleProvider } from "ecCom";
+import { salaryBillPreview } from "../../../../apis/payroll";
+import Content from "../../../../components/pcTemplate/content";
+import "./index.less";
+
+const getLabel = WeaLocaleProvider.getLabel;
+
+class PayrollPreviewDialog extends Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ salaryBillData: { salaryTemplate: {}, salaryGroups: [], employeeInformation: {} }
+ };
+ this.preRef = null;
+ }
+
+ componentWillReceiveProps(nextProps, nextContext) {
+ if (nextProps.visible !== this.props.visible && nextProps.visible) {
+ const { salaryInfoId, recipient } = nextProps;
+ salaryBillPreview({ salaryInfoId, recipient }).then(({ status, data }) => {
+ if (status) {
+ this.setState({ salaryBillData: data });
+ }
+ });
+ }
+ }
+
+
+ render() {
+ const {
+ salaryTemplate, salaryGroups, employeeInformation, sendTime
+ } = this.state.salaryBillData;
+ const salaryProps = {
+ theme: salaryTemplate.theme, tip: salaryTemplate.textContent, sendTime,
+ background: salaryTemplate.background, tipPosi: salaryTemplate.textContentPosition || "",
+ itemTypeList: [employeeInformation, ...salaryGroups]
+ };
+ return (
+ this.preRef = dom} scalable hasScroll className="payPreBox" initLoadCss
+ style={{
+ width: 998, height: window.innerHeight - 40, minHeight: 200, minWidth: 380, maxHeight: "90%",
+ maxWidth: "90%", overflow: "hidden", transform: "translate(0px, 0px)"
+ }}
+ >
+ {!_.isEmpty(salaryGroups) && }
+
+ );
+ }
+}
+
+export default PayrollPreviewDialog;
diff --git a/pc4mobx/hrmSalary/pages/payroll/payrollGrant/index.js b/pc4mobx/hrmSalary/pages/payroll/payrollGrant/index.js
index 16043fcd..acc6bfd1 100644
--- a/pc4mobx/hrmSalary/pages/payroll/payrollGrant/index.js
+++ b/pc4mobx/hrmSalary/pages/payroll/payrollGrant/index.js
@@ -10,6 +10,7 @@ import CustomPaginationTable from "../../../components/customPaginationTable";
import PayrollPartTable from "./payrollPartTable";
import { genPdfBeforeExport, getPayrollIssuanceProgressBar } from "../../../apis/payroll";
import ProgressModal from "../../../components/progressModal";
+import PayrollPreviewDialog from "./components/payrollPreviewDialog";
const getLabel = WeaLocaleProvider.getLabel;
const { ButtonSelect } = WeaDropdown;
@@ -31,6 +32,10 @@ export default class PayrollGrant extends React.Component {
title: "工资单发放",
grantType: "",
salarySendId: ""
+ },
+ payrollPreviewDialog: {
+ visible: false, title: getLabel(111, "工资单预览"),
+ salaryInfoId: "", recipient: ""
}
};
this.pageInfo = { current: 1, pageSize: 10 };
@@ -303,7 +308,7 @@ export default class PayrollGrant extends React.Component {
};
getColumns = () => {
- const { selectedKey, showFeedbackColumn } = this.state;
+ const { selectedKey, showFeedbackColumn, payrollPreviewDialog } = this.state;
const { payrollStore } = this.props;
const { salaryGrantTableStore: columns, salarySendDetailBaseInfo } = payrollStore;
return _.map([
@@ -323,7 +328,13 @@ export default class PayrollGrant extends React.Component {
onClick={() => this.handleWithdraw({ ids: [record.id] })}>
撤回
-
+ this.setState({
+ payrollPreviewDialog: {
+ ...payrollPreviewDialog,
+ visible: true, salaryInfoId: record.id, recipient: record.employeeId
+ }
+ })}>
预览
{
@@ -376,7 +387,12 @@ export default class PayrollGrant extends React.Component {
onClick={() => this.handleGrant({ ids: [record.id] })}>
发放
-
+ this.setState({
+ payrollPreviewDialog: {
+ ...payrollPreviewDialog,
+ visible: true, salaryInfoId: record.id, recipient: record.employeeId
+ }
+ })}>
预览
@@ -549,7 +565,7 @@ export default class PayrollGrant extends React.Component {
getInfoList,
loading
} = payrollStore;
- const { selectedRowKeys, selectedKey, currentId, payrollPartModalParams } = this.state;
+ const { selectedRowKeys, selectedKey, currentId, payrollPartModalParams, payrollPreviewDialog } = this.state;
const rowSelection = {
selectedRowKeys,
onChange: this.onSelectChange
@@ -659,6 +675,14 @@ export default class PayrollGrant extends React.Component {
progress={this.state.progress}
/>
}
+ {/*工资单预览*/}
+ this.setState({
+ payrollPreviewDialog: {
+ ...payrollPreviewDialog,
+ visible: false
+ }
+ })}/>
);
}
From 1c67adbd25fb5c86b1b8d1e02f4c807b37c729f2 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, 18 Jun 2024 15:30:46 +0800
Subject: [PATCH 4/4] =?UTF-8?q?feature/2.14.4.2406.02-=E5=B7=A5=E8=B5=84?=
=?UTF-8?q?=E5=8D=95=E5=8F=91=E6=94=BE=E9=A2=84=E8=A7=88?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pc4mobx/hrmSalary/pages/payroll/payrollGrant/index.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pc4mobx/hrmSalary/pages/payroll/payrollGrant/index.js b/pc4mobx/hrmSalary/pages/payroll/payrollGrant/index.js
index acc6bfd1..8cde7da5 100644
--- a/pc4mobx/hrmSalary/pages/payroll/payrollGrant/index.js
+++ b/pc4mobx/hrmSalary/pages/payroll/payrollGrant/index.js
@@ -335,7 +335,7 @@ export default class PayrollGrant extends React.Component {
visible: true, salaryInfoId: record.id, recipient: record.employeeId
}
})}>
- 预览
+ {getLabel(111, "查看")}
{
salarySendDetailBaseInfo.showPdfBtn &&
@@ -393,7 +393,7 @@ export default class PayrollGrant extends React.Component {
visible: true, salaryInfoId: record.id, recipient: record.employeeId
}
})}>
- 预览
+ {getLabel(111, "查看")}
);