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}
/>
{/*提示*/}