feature/2.10.1.2401.01-社保福利方案重构

This commit is contained in:
黎永顺 2024-02-02 16:09:03 +08:00
parent 0e5c97d447
commit d866cc07cf
5 changed files with 198 additions and 1 deletions

View File

@ -5,7 +5,8 @@ import HistoricalPayroll from "./pages/historicalPayroll";
import SalaryAdjustmentRecords from "./pages/salaryAdjustmentRecords";
import MySalaryMobile from "./pages/mySalaryMobile";
import MySalary from "./pages/mySalaryBenefits";
import Programme from "./pages/socialSecurityBenefits/programme";
import Programme from "./pages/socialSecurityBenefits/welfarePlan";
import Programme_old from "./pages/socialSecurityBenefits/programme";
// import Archivess from "./pages/socialSecurityBenefits/archives";
import Archives from "./pages/socialSecurityBenefits/welfareArchive"; //社保福利档案重构页面
import StandingBook from "./pages/socialSecurityBenefits/standingBook";
@ -128,6 +129,7 @@ const Routes = (
path="socialSecurityBenefits"
component={SocialSecurityBenefits}>
<Route key="programme" path="programme" component={Programme}/>
<Route key="programme_old" path="programme_old" component={Programme_old}/>
<Route key="archives" path="archives" component={Archives}/>
{/*<Route key="archives_demo" path="archives_demo" component={Archivess}/>*/}
<Route key="standingBook" path="standingBook" component={StandingBook}/>

View File

@ -0,0 +1,44 @@
import React from "react";
import { WeaLocaleProvider, WeaTools } from "ecCom";
import { Button } from "antd";
import AdvanceInputBtn from "../welfareArchive/components/advanceInputBtn";
import { CancelHelpfulDiv, HelpfulDiv } from "../welfareArchive/components/welfareTip";
const getKey = WeaTools.getKey;
const getLabel = WeaLocaleProvider.getLabel;
export const tabWelfarePlanList = [
{ key: "SOCIAL_SECURITY", title: getLabel(538967, "社保") },
{ key: "ACCUMULATION_FUND", title: getLabel(538969, "公积金") },
{ key: "OTHER", title: getLabel(542717, "企业年金及其他福利") },
{ key: "CUSTOM", title: getLabel(543151, "自定义福利") }
];
/*
* Author: 黎永顺
* Description: 社保福利方案-头部操作
* Params:
* Date: 2024/2/2
*/
export const renderDropMenuDatas = (selectedKey, showOperateBtn) => {
return [{
key: "log",
icon: <i className="iconfont icon-caozuorizhi32"/>,
content: getLabel(545781, "操作日志")
}];
};
export const renderReqBtns = (selectedKey, onSalaryOpts, showOperateBtn) => {
let reqBtns = showOperateBtn ? [
<Button type="primary" onClick={()=>onSalaryOpts("ADD")}>{getLabel(365, "新建")}</Button>,
<AdvanceInputBtn onOpenAdvanceSearch={()=>onSalaryOpts("OPEN")} onAdvanceSearch={()=>onSalaryOpts("SEARCH")}/>
] : [<AdvanceInputBtn onOpenAdvanceSearch={()=>onSalaryOpts("OPEN")} onAdvanceSearch={()=>onSalaryOpts("SEARCH")}/>];
if (showOperateBtn) {
switch (selectedKey) {
case "CUSTOM":
break;
default:
break;
}
}
return reqBtns;
};

View File

@ -0,0 +1,77 @@
/*
* Author: 黎永顺
* name: 福利方案页面重构
* Description:
* Date: 2024/2/2
*/
import React, { Component } from "react";
import { inject, observer } from "mobx-react";
import { WeaLocaleProvider, WeaReqTop } from "ecCom";
import { renderDropMenuDatas, renderReqBtns, tabWelfarePlanList } from "./config";
import LogDialog from "../../../components/logViewModal";
import "./index.less";
const getLabel = WeaLocaleProvider.getLabel;
@inject("taxAgentStore")
@observer
class Index extends Component {
constructor(props) {
super(props);
this.state = {
selectedKey: "SOCIAL_SECURITY", showSearchAd: false, isQuery: false, logDialogVisible: false,
topTabCount: { stayAdd: 0, paying: 0, stayDel: 0, stopPay: 0, ext: 0 },
welfareImpDialog: { visible: false, title: getLabel(24023, "数据导入"), runStatuses: "" },
showExtEmpsWitch: false
};
}
handleReqBtnsCLick = (type, importType) => {
const { state, handleSalaryOpts } = this.salaryFileListRef.wrappedInstance || {};
switch (type) {
case "ADD":
break;
case "OPEN":
this.handleOpenAdvanceSearch();
break;
case "SEARCH":
this.handleAdvanceSearch();
break;
default:
break;
}
};
handleOpenAdvanceSearch = () => this.setState({ showSearchAd: true });
handleAdvanceSearch = () => this.setState({ isQuery: !this.state.isQuery });
onDropMenuClick = (key) => {
switch (key) {
case "log":
this.setState({ logDialogVisible: true });
break;
default:
break;
}
};
render() {
const { taxAgentStore: { showOperateBtn }, logDialogVisible } = this.props;
return (
<div className="salary-welfare-plan-wrapper">
<WeaReqTop
title={getLabel(538000, "社保福利方案")} buttonSpace={10} icon={<i className="icon-coms-fa"/>}
iconBgcolor="#F14A2D" showDropIcon dropMenuDatas={renderDropMenuDatas(selectedKey, showOperateBtn)}
onDropMenuClick={this.onDropMenuClick} tabDatas={tabWelfarePlanList}
buttons={renderReqBtns(selectedKey, this.handleReqBtnsCLick, showOperateBtn)}
>
<div className="salary-welfare-plan-content">
</div>
{/*操作日志*/}
<LogDialog visible={logDialogVisible} logFunction=""
onCancel={() => this.setState({ logDialogVisible: false })}/>
</WeaReqTop>
</div>
);
}
}
export default Index;

View File

@ -0,0 +1,72 @@
//社保福利方案页面重构
.salary-welfare-plan-wrapper {
min-width: 1000px;
overflow: auto;
width: 100%;
height: 100%;
background: #f6f6f6;
.wea-new-top-req-title > div:first-child > div > div {
padding-left: 0 !important;
.wea-tab {
border-bottom: none;
}
}
.salary-welfare-plan-content {
padding: 8px 16px;
display: flex;
flex-direction: column;
.table-layout {
.ant-spin-nested-loading, .ant-spin-container {
height: 100%;
}
}
.searchAdvanced-condition-hide {
display: none;
}
.searchAdvanced-condition-container {
background: #FFF;
margin-bottom: 10px;
border: 1px solid #e5e5e5;
.wea-search-buttons {
border-top: 1px solid #dadada;
padding: 15px 0;
}
.wea-advanced-searchsAd {
height: 246px;
overflow: hidden auto;
.formItem-delete {
position: absolute;
top: 0;
right: -40px;
}
.searchAdvanced-commonSelect {
border-top: 1px solid #ebebeb;
margin: 0 25px;
padding: 10px 0;
}
.custom-advance-largeSpacing {
padding-left: 26px;
.link {
border: none;
border-radius: 0;
padding: 12px 10px 12px 26px;
color: #2db7f5
}
}
}
}
}
}

View File

@ -10,6 +10,8 @@ const { TableStore } = WeaTableNew;
export class ProgrammeStore {
//lys-表单初始化(方案查询表单)
@observable planSearchForm = new WeaForm();
@observable planForm = new WeaForm(); //社保方案-新增编辑Form
@action initPlanForm = () => this.planForm = new WeaForm();//社保方案-初始化新增编辑Form
@observable tableStore = new TableStore(); // new table