From b0500cf8f921933ee41149660bdccf626a2bd543 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, 2 Nov 2023 18:17:30 +0800 Subject: [PATCH] =?UTF-8?q?feature/2.9.42310.02-=E7=A4=BE=E4=BF=9D?= =?UTF-8?q?=E7=A6=8F=E5=88=A9=E6=A1=A3=E6=A1=88=E9=A1=B5=E9=9D=A2=E9=87=8D?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/welfareTableList/index.js | 44 +++++- .../components/welfareTip/index.js | 16 ++ .../welfareArchive/config.js | 148 ++++++++++++++++++ .../welfareArchive/index.js | 116 +++++--------- 4 files changed, 242 insertions(+), 82 deletions(-) diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/components/welfareTableList/index.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/components/welfareTableList/index.js index 6329a807..f6bc7cb4 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/components/welfareTableList/index.js +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/components/welfareTableList/index.js @@ -5,15 +5,15 @@ * Date: 2023/10/31 */ import React, { Component } from "react"; -import { WeaLocaleProvider } from "ecCom"; -import { Spin } from "antd"; +import { WeaLoadingGlobal, WeaLocaleProvider } from "ecCom"; +import { message, Spin } from "antd"; import { inject, observer } from "mobx-react"; -import { getExtTable, queryList } from "../../../../../apis/welfareArchive"; +import * as API from "../../../../../apis/welfareArchive"; const getLabel = WeaLocaleProvider.getLabel; const APILIST = { - runStatuses: queryList, - ext: getExtTable + runStatuses: API.queryList, + ext: API.getExtTable }; @inject("archivesStore") @@ -47,6 +47,11 @@ class Index extends Component { pageInfo: { ...this.state.pageInfo, current: 1, pageSize: 10, total: 0 } }, () => this.getWelfareList(nextProps)); } + if ((nextProps.runStatuses !== this.props.runStatuses)) { + this.setState({ + dataSource: [], columns: [], loading: false, selectedRowKeys: [] + }); + } } handleReceive = async ({ data }) => { @@ -54,6 +59,7 @@ class Index extends Component { if (type === "init") { this.getWelfareList(this.props); } else if (type === "turn") { + const { record: { baseInfo } = {} } = params; switch (id) { case "PAGEINFO": this.setState({ @@ -64,6 +70,9 @@ class Index extends Component { const { selectedRowKeys } = params; this.setState({ selectedRowKeys }); break; + case "INCREASE": + this.welfareStayAddToPay([baseInfo]); + break; default: break; } @@ -106,6 +115,31 @@ class Index extends Component { } }).catch(() => this.setState({ loading: false })); }; + stayAddToPay = () => { + const { selectedRowKeys } = this.state; + if (_.isEmpty(selectedRowKeys)) { + message.warning(getLabel(543303, "请选择表格数据")); + return; + } + this.welfareStayAddToPay(selectedRowKeys); + }; + welfareStayAddToPay = (payload) => { + WeaLoadingGlobal.start(); + API.stayAddToPay(payload).then(({ status, data, errormsg }) => { + WeaLoadingGlobal.destroy(); + if (status) { + const { msg, type } = data; + if (type === "fail") { + message.error(msg); + } else if (type === "success") { + message.success(msg); + this.getWelfareList(this.props); + } + } else { + message.error(errormsg); + } + }); + }; postMessageToChild = (payload = {}) => { const i18n = { "操作": getLabel(30585, "操作"), "编辑": getLabel(501169, "编辑"), diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/components/welfareTip/index.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/components/welfareTip/index.js index 81e1e043..11c4531f 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/components/welfareTip/index.js +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/components/welfareTip/index.js @@ -26,3 +26,19 @@ class Index extends Component { } export default Index; + +export const HelpfulDiv = () => { + return
+ {getLabel(544362, "1、缴纳月份区间包含起始缴纳月,不包含最后缴纳月;")} + {getLabel(544365, "2、维护的所有的最后缴纳月都大于当前月,则该待办数据自动清除,不显示在待减员列表;")} + {getLabel(544366, "3、减员失败情况:①有起始缴纳月却未维护最后缴纳月;②员工存在未归档的核算数据;")} +
; +}; + +export const CancelHelpfulDiv = () => { + return
+ {getLabel(544362, "1、缴纳月份区间包含起始缴纳月,不包含最后缴纳月;")} + {getLabel(544363, "2、若员工当前不在停缴档案的个税扣缴义务人下,则不可取消停缴;")} + {getLabel(544364, "3、若员工当前在其他个税扣缴义务人下正在缴纳,也不可取消停缴;")} +
; +}; diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/config.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/config.js index 52e50e5c..9fc3bf4d 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/config.js +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/config.js @@ -1,3 +1,9 @@ +import React from "react"; +import { WeaHelpfulTip } from "ecCom"; +import { Button } from "antd"; +import AdvanceInputBtn from "./components/advanceInputBtn"; +import { CancelHelpfulDiv, HelpfulDiv } from "./components/welfareTip"; + export const tabList = [ { viewcondition: "1", lanId: 542711, title: "待增员", showcount: true, groupid: "stayAdd" }, { viewcondition: "2,3", lanId: 542504, title: "在缴员工", showcount: true, groupid: "paying" }, @@ -83,3 +89,145 @@ export const welfareTipList = [ list: [] } ]; +export const renderDropMenuDatas = (selectedKey, getLabel) => { + let menus = [{ + key: "log", + icon: , + content: getLabel(111, "操作日志") + }]; + switch (selectedKey) { + case "1": + menus = [ + { + key: "fullStaffIncrease", + icon: , + content: getLabel(543185, "全量增员") + }, + { + key: "batchStaffIncrease", + icon: , + content: getLabel(543187, "批量增员") + }, + { + key: "batchDeleteTodolist", + icon: , + content: getLabel(543186, "批量删除待办") + }, + { + key: "exportAll", + icon: , + content: getLabel(81272, "导出全部") + }, + { + key: "exportSelected", + icon: , + content: getLabel(512938, "导出选中") + }, + ...menus + ]; + break; + case "2,3": + menus = [ + { + key: "exportAll", + icon: , + content: getLabel(81272, "导出全部") + }, + { + key: "exportSelected", + icon: , + content: getLabel(512938, "导出选中") + }, + ...menus + ]; + break; + case "3": + menus = [ + { + key: "fullReduction", + icon: , + content: getLabel(543189, "全量减员") + }, + { + key: "batchReduction", + icon: , + content: getLabel(543188, "批量减员") + }, + { + key: "batchDeleteTodolist", + icon: , + content: getLabel(543186, "批量删除待办") + }, + { + key: "exportAll", + icon: , + content: getLabel(81272, "导出全部") + }, + { + key: "exportSelected", + icon: , + content: getLabel(512938, "导出选中") + }, + ...menus + ]; + break; + case "4,5": + menus = [ + { + key: "batchCancellationOfSuspended", + icon: , + content: getLabel(543190, "批量取消停缴") + }, + { + key: "exportAll", + icon: , + content: getLabel(81272, "导出全部") + }, + { + key: "exportSelected", + icon: , + content: getLabel(512938, "导出选中") + }, + ...menus + ]; + break; + default: + break; + } + return menus; +}; +export const renderReqBtns = (selectedKey, getLabel, onOpenAdvanceSearch, onAdvanceSearch) => { + let reqBtns = [ + , + + ]; + switch (selectedKey) { + case "1": + reqBtns.unshift( + {getLabel(544348, "提示:缴纳月份区间包含起始缴纳月,不包含最后缴纳月; 若员工离职时还未增员进入在缴员工,则数据会自动清除,因此若确认缴纳,请及时维护档案数据并增员操作。若清除后还需缴纳,需先在个税扣缴义务人菜单将员工按离职状态添加回来,会重新出现在待增员。")} + + } + />); + break; + case "3": + reqBtns.shift(); + reqBtns.unshift(); + break; + case "4,5": + reqBtns.shift(); + reqBtns.unshift(); + break; + default: + break; + } + return reqBtns; +}; diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/index.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/index.js index 30f7f5bb..26446c25 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/index.js +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/welfareArchive/index.js @@ -5,15 +5,14 @@ * Date: 2023/10/31 */ import React, { Component } from "react"; -import { WeaHelpfulTip, WeaLocaleProvider, WeaReqTop, WeaTab } from "ecCom"; +import { WeaLoadingGlobal, WeaLocaleProvider, WeaReqTop, WeaTab } from "ecCom"; +import { message } from "antd"; import { inject, observer } from "mobx-react"; -import AdvanceInputBtn from "./components/advanceInputBtn"; import WelfareAdvanceSearchPannel from "./components/welfareAdvanceSearchPannel"; import WelfareTableList from "./components/welfareTableList"; import WelfareTip from "./components/welfareTip"; -import { queryInsuranceTabTotal } from "../../../apis/welfareArchive"; -import { tabList, welfareTipList } from "./config"; -import { Button } from "antd"; +import * as API from "../../../apis/welfareArchive"; +import { renderDropMenuDatas, renderReqBtns, tabList, welfareTipList } from "./config"; import cs from "classnames"; import "./index.less"; @@ -31,7 +30,7 @@ class Index extends Component { } queryInsuranceTabTotal = (active, total) => { - queryInsuranceTabTotal().then(({ status, data }) => { + API.queryInsuranceTabTotal().then(({ status, data }) => { if (status) { const key = _.find(tabList, o => o.viewcondition === active).groupid; this.setState({ @@ -40,77 +39,39 @@ class Index extends Component { } }); }; - renderReqBtns = () => { - const { selectedKey } = this.state; - let reqBtns = [ - , - this.setState({ showSearchAd: true })} - onAdvanceSearch={() => this.setState({ isQuery: !this.state.isQuery })} - /> - ]; - switch (selectedKey) { - case "1": - reqBtns.unshift( - {getLabel(544348, "提示:缴纳月份区间包含起始缴纳月,不包含最后缴纳月; 若员工离职时还未增员进入在缴员工,则数据会自动清除,因此若确认缴纳,请及时维护档案数据并增员操作。若清除后还需缴纳,需先在个税扣缴义务人菜单将员工按离职状态添加回来,会重新出现在待增员。")} - - } - />); - break; - default: - break; - } - return reqBtns; - }; - renderDropMenuDatas = () => { - const { selectedKey } = this.state; - let menus = [{ - key: "log", - icon: , - content: getLabel(111, "操作日志") - }]; - switch (selectedKey) { - case "1": - menus = [ - { - key: "fullStaffIncrease", - icon: , - content: getLabel(543185, "全量增员") - }, - { - key: "batchStaffIncrease", - icon: , - content: getLabel(543187, "批量增员") - }, - { - key: "batchDeleteTodolist", - icon: , - content: getLabel(543186, "批量删除待办") - }, - { - key: "exportAll", - icon: , - content: getLabel(81272, "导出全部") - }, - { - key: "exportSelected", - icon: , - content: getLabel(512938, "导出选中") - }, - ...menus - ]; - break; - default: - break; - } - return menus; - }; + handleOpenAdvanceSearch = () => this.setState({ showSearchAd: true }); + handleAdvanceSearch = () => this.setState({ isQuery: !this.state.isQuery }); onDropMenuClick = (key) => { console.log(key); + switch (key) { + case "fullStaffIncrease": + this.allStayAddToPay(); + break; + case "batchStaffIncrease": + this.welfareListRef.wrappedInstance.stayAddToPay(); + break; + default: + break; + } }; onAdSearch = () => this.setState({ showSearchAd: false, isQuery: !this.state.isQuery }); + allStayAddToPay = () => { + WeaLoadingGlobal.start(); + API.allStayAddToPay().then(({ status, data, errormsg }) => { + WeaLoadingGlobal.destroy(); + if (status) { + const { type, msg } = data; + if (type === "fail") { + message.error(msg); + } else { + message.success(msg); + this.onAdSearch(); + } + } else { + message.error(errormsg); + } + }).catch(() => WeaLoadingGlobal.destroy()); + }; render() { const { selectedKey, topTabCount, showSearchAd, isQuery } = this.state; @@ -120,8 +81,9 @@ class Index extends Component {
} - iconBgcolor="#F14A2D" buttons={this.renderReqBtns()} showDropIcon dropMenuDatas={this.renderDropMenuDatas()} - onDropMenuClick={this.onDropMenuClick} + iconBgcolor="#F14A2D" showDropIcon onDropMenuClick={this.onDropMenuClick} + dropMenuDatas={renderDropMenuDatas(selectedKey, getLabel)} + buttons={renderReqBtns(selectedKey, getLabel, this.handleOpenAdvanceSearch, this.handleAdvanceSearch)} replaceTab={ ({ ...o, title: getLabel(o.lanId, o.title) }))} autoCalculateWidth @@ -139,8 +101,8 @@ class Index extends Component { />
{/*列表*/} - this.welfareListRef = dom} + runStatuses={selectedKey} showOperateBtn={showOperateBtn} onChangeTopTabCount={this.queryInsuranceTabTotal} /> {/*提示*/}