From ed8f9a056b9a14cb2e02101e3b949078789d0671 Mon Sep 17 00:00:00 2001 From: lys <971387674@qq.com> Date: Thu, 13 Mar 2025 17:58:12 +0800 Subject: [PATCH] master --- src/pages/standingbookTable/index.tsx | 184 +++++++++++++++----------- 1 file changed, 106 insertions(+), 78 deletions(-) diff --git a/src/pages/standingbookTable/index.tsx b/src/pages/standingbookTable/index.tsx index 24474ad..f2ba017 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) => { @@ -11,6 +12,7 @@ const StandingbookTable: FC = (props) => { const [dataSource, setDataSource] = useState>([]); const [pageInfo, setPageInfo] = useState(defaultPage); const [sumRow, setSumRow] = useState>({}); + const [showSumrow, setShowSumrow] = useState(false); useEffect(() => { window.parent.postMessage({ type: "init" }, "*"); @@ -22,108 +24,134 @@ const StandingbookTable: FC = (props) => { const receiveMessageFromIndex = async (event: any) => { const data: any = exceptStr(event.data); if (!_.isEmpty(data)) { - const { columns, dataSource, pageInfo, showOperates, selectedRowKeys, sumRow } = data; + const { + columns, dataSource, pageInfo, showOperates, selectedRowKeys, + sumpayload, selectedKey + } = data; const { current: pageNum, pageSize: size, total } = pageInfo; - const conventColumns = _.map( - _.filter(columns, (it) => it.dataIndex !== "id"), - (item) => { - const { dataIndex } = item; - if (dataIndex === "employeeId") { - return { - title: "姓名", - dataIndex, - fixed: "left", - width: 150, - render: (_: any, record: Partial) => {record?.userName} - }; - } + const conventColumns = _.map(_.filter(columns, it => it.dataIndex !== "id"), item => { + const { dataIndex } = item; + if (dataIndex === "employeeId") { return { - dataIndex, - width: 150, - title: + title: "姓名", dataIndex, fixed: "left", width: 150, + render: (_: any, record: Partial) => ( + {record?.userName} + ) }; } - ); + return { + dataIndex, width: 150, + title: + }; + }); setDataSource(dataSource); setColumns( - !showOperates - ? conventColumns - : [ - ...conventColumns, - { - title: "操作", - dataIndex: "operate", - fixed: "right", - width: 120, - render: (_: any, record: any) => { - return ( - - ); - } + !showOperates ? conventColumns : + [ + ...conventColumns, + { + title: "操作", + dataIndex: "operate", + fixed: "right", + width: 120, + render: (_: any, record: any) => { + return ( + + ); } - ] + } + ] ); setPageInfo({ pageNum, size, total }); setSelected(selectedRowKeys); - setSumRow(sumRow); + 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) => { window.parent.postMessage({ type: "turn", payload: { id: "EDIT", params: { ...record } } }, "*"); }; - const sizeChange = (pageobj: IPage) => {}; + const sizeChange = (pageobj: IPage) => { + }; const onChange = (pageobj: IPage) => { setPageInfo({ ...pageInfo, ...pageobj }); - window.parent.postMessage({ type: "turn", payload: { id: "PAGEINFO", params: { ...pageInfo, ...pageobj } } }, "*"); + window.parent.postMessage( + { + type: "turn", + payload: { id: "PAGEINFO", params: { ...pageInfo, ...pageobj } } + }, + "*" + ); }; const rowSelection = { selectedRowKeys: selected, - columnWidth: 60, + columnWidth: 80, onChange: (selectedRowKeys: Array) => { setSelected(selectedRowKeys); - window.parent.postMessage({ type: "turn", payload: { id: "ROWSELECT", params: { selectedRowKeys } } }, "*"); + window.parent.postMessage( + { + type: "turn", + payload: { id: "ROWSELECT", params: { selectedRowKeys } } + }, + "*" + ); } }; - return ( - { - if (_.isEmpty(sumRow)) return; - return ( - - - {_.map([{}, ...columns], (item, index) => { - if (index === 0) { - return ( - - 总计 - - ); - } - return ( - + return
{ + if (_.isEmpty(columns) || !showSumrow) return; + return ( + + + { + _.isEmpty(sumRow) ? : + _.map([{}, ...columns], (item, index) => { + if (index === 0) { + return 总计; + } + return {!_.isNil(sumRow[item.dataIndex]) ? sumRow[item.dataIndex] : "-"} - - ); - })} - - - ); - }} - /> - ); + ; + }) + } + + + ); + }} + />; }; export default StandingbookTable;