From c2efaf193b152e0919fab5d3d289e5bd97c089c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=8E=E6=B0=B8=E9=A1=BA?= <971387674@qq.com> Date: Fri, 13 Oct 2023 15:53:43 +0800 Subject: [PATCH] =?UTF-8?q?feature/2.9.42310.01-=E5=B7=A5=E8=B5=84?= =?UTF-8?q?=E5=8D=95=E5=8F=91=E6=94=BE=E9=A1=B5=E9=9D=A2=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../payrollTemplateTableList/index.js | 42 ++++++++++++++----- .../hrmSalary/pages/payrollRelease/index.js | 10 ++++- 2 files changed, 39 insertions(+), 13 deletions(-) diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTemplateTableList/index.js b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTemplateTableList/index.js index 2778e573..066c22bf 100644 --- a/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTemplateTableList/index.js +++ b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTemplateTableList/index.js @@ -7,8 +7,8 @@ import React, { Component } from "react"; import { inject, observer } from "mobx-react"; import { WeaLocaleProvider, WeaSelect, WeaTable } from "ecCom"; -import { Dropdown, Menu, message } from "antd"; -import { changePayrollDefaultUse, getPayrollTemplateList } from "../../../../apis/payroll"; +import { Dropdown, Menu, message, Modal } from "antd"; +import { changePayrollDefaultUse, deletePayroll, getPayrollTemplateList } from "../../../../apis/payroll"; import PayrollCopyDialog from "../payrollCopyDialog"; const getLabel = WeaLocaleProvider.getLabel; @@ -19,8 +19,8 @@ class Index extends Component { constructor(props) { super(props); this.state = { - loading: false, columns: [], dataSource: [], - pageInfo: { current: 1, pageSize: 10, total: 0 }, + loading: false, columns: [], dataSource: [], selectedRowKeys: [], + pageInfo: { current: 1, pageSize: 10, total: 0 }, delLoading: false, copyDialog: { visible: false, title: "", copyId: "" } }; } @@ -74,11 +74,10 @@ class Index extends Component { }); }; handleOpts = ({ key }, record) => { - const { copyDialog } = this.state; - const { id, templateId } = record; + const { copyDialog, selectedRowKeys } = this.state; + const { id } = record; switch (key) { case "edit": - console.log(templateId); break; case "copy": this.setState({ @@ -86,7 +85,24 @@ class Index extends Component { }); break; case "del": - console.log(templateId); + Modal.confirm({ + title: getLabel(131329, "信息确认"), + content: getLabel(388758, "确认要删除吗?"), + onOk: () => { + this.setState({ delLoading: true }); + const payload = id ? [id] : selectedRowKeys; + deletePayroll(payload).then(({ status, errormsg }) => { + this.setState({ delLoading: false }); + if (status) { + message.success(getLabel(502230, "删除成功!")); + this.getPayrollTemplateList(this.props); + !_.isEmpty(selectedRowKeys) && this.setState({ selectedRowKeys: [] }); + } else { + message.error(errormsg); + } + }).catch(() => this.setState({ delLoading: false })); + } + }); break; default: break; @@ -94,8 +110,8 @@ class Index extends Component { }; render() { - const { loading, dataSource, columns, pageInfo, copyDialog } = this.state; - const { taxAgentStore: { showOperateBtn } } = this.props; + const { loading, dataSource, columns, pageInfo, copyDialog, selectedRowKeys } = this.state; + const { taxAgentStore: { showOperateBtn }, forceUpdate } = this.props; const pagination = { ...pageInfo, showTotal: total => `${getLabel(18609, "共")} ${total} ${getLabel(18256, "条")}`, @@ -113,10 +129,14 @@ class Index extends Component { }, () => this.getPayrollTemplateList(this.props)); } }; + const rowSelection = { + selectedRowKeys, + onChange: selectedRowKeys => this.setState({ selectedRowKeys }, () => forceUpdate()) + }; return ( { @@ -49,9 +50,13 @@ class Index extends Component { ]; break; case "template": + const loading = this.templateRef ? this.templateRef.wrappedInstance.state.delLoading : false; + const delDisabled = !this.templateRef || _.isEmpty(this.templateRef.wrappedInstance.state.selectedRowKeys); const btns = [ , - + ]; const queryBtns = [ this.setState({ isRefresh: !isRefresh })} @@ -75,7 +80,8 @@ class Index extends Component { dom = ; break; case "template": - dom = ; + dom = this.templateRef = dom} queryParams={queryParams} + isRefresh={isRefresh} forceUpdate={() => this.forceUpdate()}/>; break; default: break;