From 444857a0d8d6033e805301b56ff4a736d2669f66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com> Date: Thu, 6 Apr 2023 11:24:47 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A4=BE=E4=BF=9D=E7=A6=8F=E5=88=A9=E5=8F=B0?= =?UTF-8?q?=E8=B4=A6=E8=AF=A6=E6=83=85=E9=A1=B5=E9=9D=A2=E6=9B=BF=E6=8D=A2?= =?UTF-8?q?=E8=A1=A8=E6=A0=BC=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=90=88=E8=AE=A1?= =?UTF-8?q?=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc4mobx/hrmSalary/apis/calculate.js | 22 +++ .../standingBookDetail/components/index.less | 3 + .../standingBookDetail/components/normal.js | 16 +- .../standingBookDetail/components/regList.js | 161 ++++++++---------- .../components/regression.js | 4 +- 5 files changed, 107 insertions(+), 99 deletions(-) diff --git a/pc4mobx/hrmSalary/apis/calculate.js b/pc4mobx/hrmSalary/apis/calculate.js index 31f7bdf6..013bddee 100644 --- a/pc4mobx/hrmSalary/apis/calculate.js +++ b/pc4mobx/hrmSalary/apis/calculate.js @@ -531,6 +531,28 @@ export const siaccountDetailSupplementaryListSum = (params) => { body: JSON.stringify(params) }).then(res => res.json()); }; +// 社保福利台账退差合计接口 +export const siaccountDetailRecessionListSum = (params) => { + return fetch("/api/bs/hrmsalary/siaccount/detail/recession/list/sum", { + method: "POST", + mode: "cors", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify(params) + }).then(res => res.json()); +}; +// 社保福利台账补差合计接口 +export const siaccountDetailBalanceListSum = (params) => { + return fetch("/api/bs/hrmsalary/siaccount/detail/balance/list/sum", { + method: "POST", + mode: "cors", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify(params) + }).then(res => res.json()); +}; // 导入薪资核算添加表头字段缓存 export const cacheImportField = (params) => { return fetch("/api/bs/hrmsalary/salaryacct/acctresult/cacheImportField", { diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBookDetail/components/index.less b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBookDetail/components/index.less index 1373bb3d..9ed9d668 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBookDetail/components/index.less +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBookDetail/components/index.less @@ -77,6 +77,9 @@ .tableWrapper { flex: 1; overflow: hidden; + .ant-spin-nested-loading, .ant-spin-container { + height: 100%; + } } .tdEllipsis { diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBookDetail/components/normal.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBookDetail/components/normal.js index 8124cd25..8efddabf 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBookDetail/components/normal.js +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBookDetail/components/normal.js @@ -13,7 +13,11 @@ import { getQueryString } from "../../../../util/url"; import ProgressModal from "../../../../components/progressModal"; import AcctResultImportModal from "../../../calculateDetail/acctResult/importModal/acctResultImportModal"; import AdjustmentSlide from "./adjustmentSlide"; -import { getCalculateProgress, siaccountDetailCommonListSum, siaccountDetailSupplementaryListSum } from "../../../../apis/calculate"; +import { + getCalculateProgress, + siaccountDetailCommonListSum, + siaccountDetailSupplementaryListSum +} from "../../../../apis/calculate"; import { sysConfCodeRule } from "../../../../apis/ruleconfig"; import RegEditDetial from "./regEditDetial"; import SupplementarySlide from "./supplementarySlide"; @@ -78,9 +82,11 @@ export default class NormalIndex extends Component { if (type === "init") { const { selectedKey } = this.props; const { status, data: sysData } = await this.sysConfCodeRule(); - const { data: { sumRow: siaccountSum } } = await this.siaccountDetailCommonListSum(); + const { data: { sumRow: siaccountSum } } = selectedKey === "1" ? + await this.siaccountDetailCommonListSum() : + await this.siaccountDetailSupplementaryListSum(); this.setState({ - showSum: selectedKey === "1" && status && sysData === "1", + showSum: status && sysData === "1", siaccountSum }, () => this.postMessageToChild()); } else if (type === "turn") { @@ -251,7 +257,7 @@ export default class NormalIndex extends Component { const { getNormalList } = this.props.standingBookStore; getNormalList({ ...payload }).then(({ list, columns = [], total }) => { this.setState({ - showSum: this.props.selectedKey === "1" && status && sysData === "1", + showSum: status && sysData === "1", siaccountSum, tableData: { list, total, columns } }, () => this.postMessageToChild()); @@ -265,7 +271,7 @@ export default class NormalIndex extends Component { ...payload }).then(({ list, columns = [], total }) => { this.setState({ - showSum: this.props.selectedKey === "1" && status && sysData === "1", + showSum: status && sysData === "1", siaccountSum, tableData: { list, columns, total } }, () => this.postMessageToChild()); diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBookDetail/components/regList.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBookDetail/components/regList.js index 50eea2cc..3c24e94e 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBookDetail/components/regList.js +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBookDetail/components/regList.js @@ -5,9 +5,11 @@ * Date: 2022/11/23 */ import React, { Component } from "react"; -import { WeaTable } from "ecCom"; +import { Spin } from "antd"; import { getQueryString } from "../../../../util/url"; import * as API from "../../../../apis/standingBook"; +import { sysConfCodeRule } from "../../../../apis/ruleconfig"; +import { siaccountDetailBalanceListSum, siaccountDetailRecessionListSum } from "../../../../apis/calculate"; import "./index.less"; const APIFox = { @@ -25,6 +27,8 @@ class RegList extends Component { loading: { query: false }, + showSum: false, + siaccountSum: {}, pageInfo: { current: 1, pageSize: 10, @@ -35,14 +39,67 @@ class RegList extends Component { componentDidMount() { this.recessionList(); + window.addEventListener("message", this.handleReceive, false); } + handleReceive = async ({ data }) => { + const { type: listType, onEdit, onChangeRowkey } = this.props; + const { type, payload: { id, params } = {} } = data; + if (type === "init") { + const { status, data: sysData } = await this.sysConfCodeRule(); + const { data: { sumRow: siaccountSum } } = listType === "regression" ? + await this.siaccountDetailRecessionListSum() : + await this.siaccountDetailBalanceListSum(); + this.setState({ + showSum: status && sysData === "1", + siaccountSum + }, () => this.postMessageToChild()); + } else if (type === "turn") { + if (id === "PAGEINFO") { + const { pageNum: current, size: pageSize } = params; + this.setState({ pageInfo: { ...this.state.pageInfo, current, pageSize } }, () => this.recessionList()); + } else if (id === "ROWSELECT") { + const { selectedRowKeys } = params; + this.setState({ selectedRowKeys }); + onChangeRowkey(selectedRowKeys); + } else if (id === "EDIT") { + onEdit(params); + } + } + }; + postMessageToChild = () => { + const childFrameObj = document.getElementById("atdTable"); + const { pageInfo, dataSource, columns, selectedRowKeys, showSum, siaccountSum } = this.state; + childFrameObj.contentWindow.postMessage(JSON.stringify({ + dataSource, columns, pageInfo, + selectedRowKeys, showSum, siaccountSum, + showOperates: !getQueryString("type") + }), "*"); + }; + sysConfCodeRule = () => { + return sysConfCodeRule({ code: "OPEN_ACCT_RESULT_SUM" }); + }; + siaccountDetailRecessionListSum = () => { + const billMonth = getQueryString("billMonth"); + const paymentOrganization = getQueryString("paymentOrganization"); + return siaccountDetailRecessionListSum({ billMonth, paymentOrganization }); + }; + siaccountDetailBalanceListSum = () => { + const billMonth = getQueryString("billMonth"); + const paymentOrganization = getQueryString("paymentOrganization"); + return siaccountDetailBalanceListSum({ billMonth, paymentOrganization }); + }; + componentWillReceiveProps(nextProps, nextContext) { if (nextProps.visible !== this.props.visible) { this.recessionList(); } } + componentWillUnmount() { + window.removeEventListener("message", this.handleReceive, false); + } + handleResetSelectRowKeys = (selectedRowKeys) => { this.setState({ selectedRowKeys }); }; @@ -68,105 +125,25 @@ class RegList extends Component { this.setState({ pageInfo: { ...pageInfo, current, pageSize, total }, dataSource, - columns: _.map(_.filter(columns, it => it.dataIndex !== "id"), items => { - if (items.dataIndex === "employeeId") { - return { - ...items, - width: 110, - title: "姓名", - render: (text, r) => { - const { userName } = r; - return ( - {userName} - ); - } - }; - } else if (items.dataIndex === "costCenter") { - return { - ...items, - width: 110, - render: (text, r) => { - const { costCenter } = r; - return ( - {costCenter.name || ""} - ); - } - }; - } - return { - ...items, - title: , - width: 120, - render: (text) => { - return {text}; - } - }; - }) - }); + columns + }, () => this.postMessageToChild()); } }).catch(() => { this.setState({ loading: { ...loading, query: false } }); }); }; - handleChangeRow = (selectedRowKeys) => { - const { onChangeRowkey } = this.props; - this.setState({ selectedRowKeys }); - onChangeRowkey(selectedRowKeys); - }; render() { - const { loading, pageInfo, selectedRowKeys, dataSource, columns } = this.state; - const { onEdit } = this.props; - const pagination = { - ...pageInfo, - showTotal: total => `共 ${total} 条`, - showQuickJumper: true, - showSizeChanger: true, - pageSizeOptions: ["10", "20", "50", "100"], - onShowSizeChange: (current, pageSize) => { - this.setState({ pageInfo: { ...pageInfo, current, pageSize } }, () => { - this.recessionList(); - }); - }, - onChange: (current) => { - this.setState({ pageInfo: { ...pageInfo, current } }, () => { - this.recessionList(); - }); - } - }; - const rowSelection = { - selectedRowKeys, - onChange: this.handleChangeRow - }; + const { loading } = this.state; return ( - { - return ( -
- onEdit(record)} - >编辑 -
- ); - } - } - ] : [...columns]} - dataSource={dataSource} - loading={loading.query} - pagination={pagination} - rowSelection={rowSelection} - scroll={{ x: 900 }} - /> + +