diff --git a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryCalcPersonConfirm/index.js b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryCalcPersonConfirm/index.js index 3cf9643b..31fbfe42 100644 --- a/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryCalcPersonConfirm/index.js +++ b/pc4mobx/hrmSalary/pages/calculate/doCalc/components/salaryCalcPersonConfirm/index.js @@ -5,13 +5,20 @@ * Date: 2023/9/13 */ import React, { Component } from "react"; -import { WeaButtonIcon, WeaHelpfulTip, WeaLocaleProvider, WeaTab, WeaTable, WeaTools } from "ecCom"; +import { WeaBrowser, WeaButtonIcon, WeaHelpfulTip, WeaLocaleProvider, WeaTab, WeaTable, WeaTools } from "ecCom"; import { inject, observer } from "mobx-react"; -import { Button } from "antd"; +import { Button, message, Modal } from "antd"; import BaseInfo from "./baseInfo"; -import { acctemployeeList, addedemployeeList, reducedemployeeList } from "../../../../../apis/calculate"; +import { + acctemployeeList, + addedemployeeList, + deleteAcctemployee, + reducedemployeeList, + saveAcctemployee +} from "../../../../../apis/calculate"; import { personConfirmSearchConditions } from "./condition"; import { getSearchs } from "../../../../../util"; +import { convertToUrlString } from "../../../../../util/url"; const getKey = WeaTools.getKey; const getLabel = WeaLocaleProvider.getLabel; @@ -70,20 +77,26 @@ class Index extends Component { } renderTabBtns = () => { - const { selectedKey } = this.state; + const { selectedKey, selectedRowKeys } = this.state; let tabBtns = []; switch (selectedKey) { case "range": tabBtns = [ - , - , - + this.handleDeletePCitem()}/>, + ids && this.handleUserBrowserChange(ids.split(","))} + > + + , + ]; break; case "add": case "sub": tabBtns = [ - + ]; break; default: @@ -101,13 +114,70 @@ class Index extends Component { positionIds: !_.isEmpty(positionIds) ? positionIds.split(",") : [], statuses: !_.isEmpty(statuses) ? statuses.split(",") : [] }; + this.setState({ loading: true }); api[selectedKey](payload).then(({ status, data }) => { + this.setState({ loading: false }); if (status) { const { columns, list: dataSource = [], pageNum: current, pageSize, total } = data; this.setState({ columns, dataSource, pageInfo: { ...pageInfo, current, pageSize, total } }); } + }).catch(() => this.setState({ loading: false })); + }; + handleDeletePCitem = (ids) => { + Modal.confirm({ + title: getLabel(131329, "信息确认"), + content: getLabel(388758, "确认要删除吗?"), + onOk: () => { + const { selectedRowKeys } = this.state; + const { routeParams: { salaryAcctRecordId } } = this.props; + deleteAcctemployee({ salaryAcctRecordId, ids: !_.isEmpty(ids) ? ids : selectedRowKeys }) + .then(({ status, errormsg }) => { + if (status) { + message.success(getLabel(502230, "删除成功!")); + this.queryPCList(); + _.isNil(ids) && this.setState({ selectedRowKeys: [] }); + } else { + message.error(errormsg || getLabel(20462, "删除失败!")); + } + }); + } + }); + }; + /* + * Author: 黎永顺 + * Description: 人员确认导出 + * Params: + * Date: 2023/9/14 + */ + handleExport = () => { + let url = ""; + const { routeParams: { salaryAcctRecordId }, calculateStore: { PCSearchForm } } = this.props; + if (this.state.selectedKey === "range") { + url = `${window.location.origin}/api/bs/hrmsalary/salaryacct/acctemployee/export?salaryAcctRecordId=${salaryAcctRecordId}&${convertToUrlString(PCSearchForm.getFormParams())}`; + } else if (this.state.selectedKey === "sub") { + url = `${window.location.origin}/api/bs/hrmsalary/salaryacct/reducedemployee/export?salaryAcctRecordId=${salaryAcctRecordId}&${convertToUrlString(PCSearchForm.getFormParams())}`; + } else { + url = `${window.location.origin}/api/bs/hrmsalary/salaryacct/addedemployee/export?salaryAcctRecordId=${salaryAcctRecordId}&${convertToUrlString(PCSearchForm.getFormParams())}`; + } + window.open(url, "_blank"); + }; + /* + * Author: 黎永顺 + * Description: 添加人员确认 + * Params: + * Date: 2023/9/14 + */ + handleUserBrowserChange = (employeeIds) => { + const { routeParams: { salaryAcctRecordId } } = this.props; + saveAcctemployee({ salaryAcctRecordId, employeeIds }).then(({ status, errormsg }) => { + if (status) { + message.success(getLabel(541531, "添加成功!")); + this.queryPCList(); + } else { + message.error(errormsg || getLabel(111, "添加失败!")); + } }); }; @@ -183,7 +253,7 @@ class Index extends Component { /> { let width = ""; const { dataIndex } = item; @@ -203,7 +273,8 @@ class Index extends Component { title: getLabel(30585, "操作"), width: 120, render: (_, record) => ( - {getLabel(535052, "删除")} + this.handleDeletePCitem([record.id])}>{getLabel(535052, "删除")} ) } ]}