From 1f0f016a56ea6648d4dcf15db4412f065ea5a4b1 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, 26 Apr 2023 17:26:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=9B=E5=BE=AE=E8=96=AA=E8=B5=84=E6=A0=B8?= =?UTF-8?q?=E7=AE=97iframe=E8=A1=A8=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/calculate.service.ts | 20 ++++++++++ src/pages/previewTable/index.tsx | 43 ++++++++++++++------- src/pages/standingbookTable/index.tsx | 54 +++++++++++++++++++-------- 3 files changed, 89 insertions(+), 28 deletions(-) diff --git a/src/api/calculate.service.ts b/src/api/calculate.service.ts index 0de7712..29a29b9 100644 --- a/src/api/calculate.service.ts +++ b/src/api/calculate.service.ts @@ -35,6 +35,26 @@ class CalculateService extends BasicService { getRankInfo = async () => { return this.get(`/api/ais/tupu/getRankInfo`); }; + //获取社保福利台账-正常缴纳合计行数据 + siaccountDetailCommonListSum = async (data: any) => { + return this.post(`/api/bs/hrmsalary/siaccount/detail/common/list/sum`, data); + }; + //获取社保福利台账-正常缴纳合计行数据 + siaccountDetailSupplementaryListSum = async (data: any) => { + return this.post(`/api/bs/hrmsalary/siaccount/detail/supplementary/list/sum`, data); + }; + //获取社保福利台账-社保福利台账退差合计接口 + siaccountDetailRecessionListSum = async (data: any) => { + return this.post(`/api/bs/hrmsalary/siaccount/detail/recession/list/sum`, data); + }; + //获取社保福利台账-社保福利台账补差合计接口 + siaccountDetailBalanceListSum = async (data: any) => { + return this.post(`/api/bs/hrmsalary/siaccount/detail/balance/list/sum`, data); + }; + //工资单发放-查看详情页面列表合计行数据 + salaryBillSendSum = async (data: any) => { + return this.post(`/api/bs/hrmsalary/salaryBill/send/sum`, data); + }; //合计行 getAcctresultsum = async (params: any) => { const { departmentIds = "", positionIds = "", subcompanyIds = "", ...extraParams } = params || {}; diff --git a/src/pages/previewTable/index.tsx b/src/pages/previewTable/index.tsx index a1c7fc8..2a14459 100644 --- a/src/pages/previewTable/index.tsx +++ b/src/pages/previewTable/index.tsx @@ -1,8 +1,9 @@ import React, { FC, useEffect, useState } from "react"; -import { Table, Typography } from "antd"; +import { Spin, Table, Typography } from "antd"; import styles from "@/pages/atdTable/components/index.less"; import { exceptStr, paginationFun } from "@/utils/common"; import { defaultPage, IPage } from "@/common/types"; +import API from "@/api"; const { Text } = Typography; const PreviewTable: FC = (props) => { @@ -19,16 +20,30 @@ const PreviewTable: FC = (props) => { window.removeEventListener("message", receiveMessageFromIndex, false); }; }, []); - const receiveMessageFromIndex = (event: any) => { + const receiveMessageFromIndex = async (event: any) => { const data: any = exceptStr(event.data); if (!_.isEmpty(data)) { - const { columns, dataSource, pageInfo, salaryBillSendSum, showSum } = data; + const { columns, dataSource, pageInfo, sumpayload } = data; const { current: pageNum, pageSize: size, total } = pageInfo; setDataSource(dataSource); setColumns(columns); - setShowSumrow(showSum); - setSumRow(salaryBillSendSum); setPageInfo({ pageNum, size, total }); + const confCode: any = await API.CalculateService.getSysconfcode({ code: "OPEN_ACCT_RESULT_SUM" }); + setShowSumrow(confCode.data.status && confCode.data.data === "1"); + if (confCode.data.status && confCode.data.data === "1") { + const sumRowlist: any = await API.CalculateService.salaryBillSendSum(sumpayload); + if (sumRowlist.data.status) { + if (!_.isEmpty(sumRowlist.data.data.sumRow)) { + const tmpVSumRow= _.reduce(_.keys(sumRowlist.data.data.sumRow), (pre, cur) => (_.assign(pre, { [`${cur}_salaryItem`]: sumRowlist.data.data.sumRow[cur] })), {}) + setSumRow(tmpVSumRow); + } else { + setSumRow({ [new Date().getTime()]: new Date().getTime() }); + } + } + if (sumRowlist.data.status && _.isNil(sumRowlist.data.data.sumRow)) { + setSumRow({ [new Date().getTime()]: new Date().getTime() }); + } + } } }; const sizeChange = (pageobj: IPage) => { @@ -60,14 +75,16 @@ const PreviewTable: FC = (props) => { { - _.map(columns, (item, index) => { - if (index === 0) { - return 总计; - } - return - {!_.isNil(sumRow[item.dataIndex]) ? sumRow[item.dataIndex] : "-"} - ; - }) + _.isEmpty(sumRow) ? : + _.map(columns, (item, index) => { + if (index === 0) { + return 总计; + } + return + {!_.isNil(sumRow[item.dataIndex]) ? sumRow[item.dataIndex] : "-"} + ; + }) } diff --git a/src/pages/standingbookTable/index.tsx b/src/pages/standingbookTable/index.tsx index 0a25f50..8309ad3 100644 --- a/src/pages/standingbookTable/index.tsx +++ b/src/pages/standingbookTable/index.tsx @@ -1,8 +1,9 @@ import React, { FC, useEffect, useState } from "react"; -import { Button, Table, Typography } from "antd"; +import { Button, Spin, Table, Typography } from "antd"; import { exceptStr, paginationFun } from "@/utils/common"; import { defaultPage, IPage } from "@/common/types"; import styles from "@/pages/atdTable/components/index.less"; +import API from "@/api"; const { Text } = Typography; const StandingbookTable: FC = (props) => { @@ -20,12 +21,13 @@ const StandingbookTable: FC = (props) => { window.removeEventListener("message", receiveMessageFromIndex, false); }; }, []); - const receiveMessageFromIndex = (event: any) => { + const receiveMessageFromIndex = async (event: any) => { const data: any = exceptStr(event.data); + console.log("antd4", data); if (!_.isEmpty(data)) { const { columns, dataSource, pageInfo, showOperates, selectedRowKeys, - showSum, siaccountSum + sumpayload, selectedKey } = data; const { current: pageNum, pageSize: size, total } = pageInfo; const conventColumns = _.map(_.filter(columns, it => it.dataIndex !== "id"), item => { @@ -61,10 +63,31 @@ const StandingbookTable: FC = (props) => { } ] ); - setSelected(selectedRowKeys); - setShowSumrow(showSum); - setSumRow(siaccountSum); setPageInfo({ pageNum, size, total }); + setSelected(selectedRowKeys); + const confCode: any = await API.CalculateService.getSysconfcode({ code: "OPEN_ACCT_RESULT_SUM" }); + setShowSumrow(confCode.data.status && confCode.data.data === "1"); + if (confCode.data.status && confCode.data.data === "1") { + const sumRowlist: any = selectedKey === "1" ? await API.CalculateService.siaccountDetailCommonListSum(sumpayload) : + selectedKey === "3" ? await API.CalculateService.siaccountDetailSupplementaryListSum(sumpayload) : + selectedKey === "regression" ? await API.CalculateService.siaccountDetailRecessionListSum(sumpayload) : + selectedKey === "difference" ? await API.CalculateService.siaccountDetailBalanceListSum(sumpayload) : { + data: { + status: false, + data: { sumRow: {} } + } + }; + if (sumRowlist.data.status) { + if (!_.isEmpty(sumRowlist.data.data.sumRow)) { + setSumRow(sumRowlist.data.data.sumRow); + } else { + setSumRow({ [new Date().getTime()]: new Date().getTime() }); + } + } + if (sumRowlist.data.status && _.isNil(sumRowlist.data.data.sumRow)) { + setSumRow({ [new Date().getTime()]: new Date().getTime() }); + } + } } }; const handleEdit = (record: any) => { @@ -113,15 +136,16 @@ const StandingbookTable: FC = (props) => { { - _.map(columns, (item, index) => { - if (index === 0) { - return 总计; - } - return - {!_.isNil(sumRow[item.dataIndex]) ? sumRow[item.dataIndex] : "-"} - ; - }) + _.isEmpty(sumRow) ? : + _.map(columns, (item, index) => { + if (index === 0) { + return 总计; + } + return + {!_.isNil(sumRow[item.dataIndex]) ? sumRow[item.dataIndex] : "-"} + ; + }) }