parent
a58da11dc3
commit
b22b41382f
|
|
@ -1,114 +1,10 @@
|
|||
// 社保
|
||||
export const socialSecurityColumns = [{
|
||||
title: "方案名称",
|
||||
dataIndex: "title",
|
||||
key: "title"
|
||||
}, {
|
||||
title: "缴纳类型",
|
||||
dataIndex: "username",
|
||||
key: "username"
|
||||
}, {
|
||||
title: "缴纳范围",
|
||||
dataIndex: "projectName",
|
||||
key: "projectName"
|
||||
}, {
|
||||
title: "备注",
|
||||
dataIndex: "customer",
|
||||
key: "customer"
|
||||
}, {
|
||||
title: "操作",
|
||||
dataIndex: "customer",
|
||||
key: "customer"
|
||||
}];
|
||||
|
||||
// 公积金
|
||||
export const accumulationFundColumns = [{
|
||||
title: "方案名称",
|
||||
dataIndex: "title",
|
||||
key: "title"
|
||||
}, {
|
||||
title: "缴纳类型",
|
||||
dataIndex: "username",
|
||||
key: "username"
|
||||
}, {
|
||||
title: "缴纳范围",
|
||||
dataIndex: "projectName",
|
||||
key: "projectName"
|
||||
}, {
|
||||
title: "备注",
|
||||
dataIndex: "customer",
|
||||
key: "customer"
|
||||
}, {
|
||||
title: "操作",
|
||||
dataIndex: "customer",
|
||||
key: "customer"
|
||||
}];
|
||||
|
||||
// 企业年金及其他福利
|
||||
export const otherBenefitsColumns = [
|
||||
{
|
||||
title: "方案名称",
|
||||
dataIndex: "title",
|
||||
key: "title"
|
||||
|
||||
},
|
||||
{
|
||||
title: "缴纳类型",
|
||||
dataIndex: "title",
|
||||
key: "title"
|
||||
},
|
||||
{
|
||||
title: "缴纳范围",
|
||||
dataIndex: "title",
|
||||
key: "title"
|
||||
},
|
||||
{
|
||||
title: "备注",
|
||||
dataIndex: "title",
|
||||
key: "title"
|
||||
},
|
||||
{
|
||||
title: "操作",
|
||||
dataIndex: "title",
|
||||
key: "title"
|
||||
}
|
||||
];
|
||||
|
||||
export const CustomBenefitsColumns = [
|
||||
{
|
||||
title: "福利名称",
|
||||
dataIndex: "title",
|
||||
key: "title"
|
||||
},
|
||||
{
|
||||
title: "启用",
|
||||
dataIndex: "title",
|
||||
key: "title"
|
||||
},
|
||||
{
|
||||
title: "类型",
|
||||
dataIndex: "title",
|
||||
key: "title"
|
||||
},
|
||||
{
|
||||
title: "缴纳对象",
|
||||
dataIndex: "title",
|
||||
key: "title"
|
||||
},
|
||||
{
|
||||
title: "操作",
|
||||
dataIndex: "title",
|
||||
key: "title"
|
||||
}
|
||||
];
|
||||
|
||||
export const insertUpdateColumns = [
|
||||
{
|
||||
title: "类型名称",
|
||||
dataIndex: "insuranceName",
|
||||
key: "insuranceName",
|
||||
width: 120,
|
||||
fixed: 'left'
|
||||
fixed: "left"
|
||||
},
|
||||
{
|
||||
title: "是否缴费",
|
||||
|
|
@ -172,8 +68,39 @@ export const insertUpdateColumns = [
|
|||
}
|
||||
];
|
||||
|
||||
|
||||
export const dataSource = [];
|
||||
export const conditons = [
|
||||
{
|
||||
items: [
|
||||
{
|
||||
colSpan: 2,
|
||||
conditionType: "INPUT",
|
||||
domkey: ["schemeName"],
|
||||
fieldcol: 12,
|
||||
isQuickSearch: true,
|
||||
label: "方案名称",
|
||||
lanId: 33162,
|
||||
labelcol: 6,
|
||||
value: "",
|
||||
viewAttr: 2
|
||||
},
|
||||
{
|
||||
colSpan: 2,
|
||||
conditionType: "SELECT",
|
||||
domkey: ["paymentType"],
|
||||
fieldcol: 12,
|
||||
isQuickSearch: true,
|
||||
label: "缴纳类型",
|
||||
lanId: 543163,
|
||||
labelcol: 6,
|
||||
value: "",
|
||||
options: [],
|
||||
viewAttr: 2
|
||||
}
|
||||
],
|
||||
title: "",
|
||||
defaultshow: true
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -141,6 +141,11 @@ export default class DefaultSlideForm extends React.Component {
|
|||
key: "2",
|
||||
selected: true,
|
||||
showname: "2"
|
||||
},
|
||||
{
|
||||
key: "3",
|
||||
selected: false,
|
||||
showname: "3"
|
||||
}
|
||||
];
|
||||
item.render = (text, record) => {
|
||||
|
|
|
|||
|
|
@ -2,9 +2,8 @@ import React from "react";
|
|||
import { inject, observer } from "mobx-react";
|
||||
import { toJS } from "mobx";
|
||||
import { Button, Dropdown, Menu, message, Modal } from "antd";
|
||||
import { WeaLocaleProvider, WeaNewScroll, WeaSelect, WeaSlideModal, WeaTop } from "ecCom";
|
||||
import { renderNoright } from "../../../util";
|
||||
import CustomTab from "../../../components/customTab";
|
||||
import { WeaLocaleProvider, WeaNewScroll, WeaSelect, WeaSlideModal, WeaTab, WeaTools, WeaTop } from "ecCom";
|
||||
import { getSearchs, renderNoright } from "../../../util";
|
||||
import SlideModalTitle from "../../../components/slideModalTitle";
|
||||
import TipLabel from "../../../components/TipLabel";
|
||||
import DefaultSlideForm from "./defaultSlideForm";
|
||||
|
|
@ -14,8 +13,10 @@ import CustomPaginationTable from "../../../components/customPaginationTable";
|
|||
import TwoColContent from "../../../components/twoColContent";
|
||||
import CopySchemaModal from "./copySchemaModal";
|
||||
import CustomBenefitsTable from "./customBenefitsTable";
|
||||
import { conditons } from "./columns";
|
||||
import "./index.less";
|
||||
|
||||
const getKey = WeaTools.getKey;
|
||||
const { getLabel } = WeaLocaleProvider;
|
||||
@inject("programmeStore", "taxAgentStore", "salaryFileStore")
|
||||
@observer
|
||||
|
|
@ -30,7 +31,8 @@ export default class Programme extends React.Component {
|
|||
copyModalValue: "",
|
||||
copyId: "",
|
||||
customNewVisible: false,
|
||||
customEdit: false
|
||||
customEdit: false,
|
||||
showSearchAd: false
|
||||
};
|
||||
|
||||
this.pageInfo = { current: 1, pageSize: 10 };
|
||||
|
|
@ -38,12 +40,29 @@ export default class Programme extends React.Component {
|
|||
|
||||
componentWillMount() {
|
||||
const { programmeStore, salaryFileStore, taxAgentStore } = this.props;
|
||||
const { doInit } = programmeStore;
|
||||
const { doInit, planSearchForm } = programmeStore;
|
||||
doInit();
|
||||
const { commonEnumList } = salaryFileStore;
|
||||
commonEnumList("user", { enumClass: "com.engine.salary.enums.sicategory.SharedTypeEnum" });
|
||||
const { getTaxAgentSelectListAsAdmin } = taxAgentStore;
|
||||
getTaxAgentSelectListAsAdmin();
|
||||
planSearchForm.initFormFields(_.map(conditons, item => {
|
||||
return {
|
||||
...item,
|
||||
items: _.map(item.items, o => {
|
||||
if (getKey(o) === "paymentType") {
|
||||
return {
|
||||
...o,
|
||||
options: [
|
||||
{ key: "SCHEME_TOWN", showname: getLabel(19702, "城镇") },
|
||||
{ key: "SCHEME_VILLAGE", showname: getLabel(19703, "农村") }
|
||||
]
|
||||
};
|
||||
}
|
||||
return { ...o };
|
||||
})
|
||||
};
|
||||
}));
|
||||
}
|
||||
|
||||
// 增加编辑功能,重写columns绑定事件
|
||||
|
|
@ -173,6 +192,7 @@ export default class Programme extends React.Component {
|
|||
}
|
||||
|
||||
render() {
|
||||
const { showSearchAd } = this.state;
|
||||
const { programmeStore, taxAgentStore: { showOperateBtn } } = this.props;
|
||||
const { loading, hasRight, form, getTableDatas } = programmeStore;
|
||||
const {
|
||||
|
|
@ -187,7 +207,8 @@ export default class Programme extends React.Component {
|
|||
customNewVisible,
|
||||
tableDataSource,
|
||||
tableColumns,
|
||||
tablePageInfo
|
||||
tablePageInfo,
|
||||
planSearchForm
|
||||
} = programmeStore;
|
||||
if (!hasRight && !loading) return renderNoright();
|
||||
|
||||
|
|
@ -317,59 +338,65 @@ export default class Programme extends React.Component {
|
|||
const { programmeStore: { initSlideParms } } = this.props;
|
||||
initSlideParms();
|
||||
};
|
||||
|
||||
const customButtons = [
|
||||
<WeaSelect
|
||||
options={options}
|
||||
value={customSelectkey}
|
||||
style={{ width: "150px" }}
|
||||
onChange={v => {
|
||||
setCustomSelectkey(v);
|
||||
this.customBenefitsTableRef.getCustomCategoryList({ current: 1, welfareTypeEnum: v });
|
||||
}}
|
||||
/>
|
||||
];
|
||||
const tabButtons = [
|
||||
<Button type="primary" onClick={() => {
|
||||
selectedKey === "custom" ? handleCustomNewClick() : handleNewClick();
|
||||
}}>{getLabel(365, "新建")}</Button>
|
||||
];
|
||||
return (
|
||||
<div className="socialSecurityAndWelfareSchemeWrapper">
|
||||
<WeaTop
|
||||
title="社保福利方案" // 文字
|
||||
icon={<i className="icon-coms-fa"/>} // 左侧图标
|
||||
iconBgcolor="#F14A2D" // 左侧图标背景色
|
||||
showDropIcon={false} // 是否显示下拉按钮
|
||||
title="社保福利方案" icon={<i className="icon-coms-fa"/>}
|
||||
iconBgcolor="#F14A2D" showDropIcon={false}
|
||||
>
|
||||
<CustomTab
|
||||
topTab={topTab}
|
||||
searchOperationItem={
|
||||
<div>
|
||||
{/* 操作按钮权限 */}
|
||||
{showOperateBtn &&
|
||||
<Button
|
||||
type="primary"
|
||||
style={{ marginRight: "10px" }}
|
||||
onClick={() => {
|
||||
if (selectedKey == "custom") {
|
||||
handleCustomNewClick();
|
||||
} else {
|
||||
handleNewClick();
|
||||
}
|
||||
}}>
|
||||
新建
|
||||
</Button>}
|
||||
|
||||
{selectedKey == "custom" &&
|
||||
<WeaSelect
|
||||
options={options}
|
||||
value={customSelectkey}
|
||||
style={{ width: "150px" }}
|
||||
onChange={v => {
|
||||
setCustomSelectkey(v);
|
||||
this.customBenefitsTableRef.getCustomCategoryList({ current: 1, welfareTypeEnum: v });
|
||||
}}
|
||||
/>}
|
||||
</div>
|
||||
}
|
||||
<WeaTab
|
||||
datas={topTab} keyParam="viewcondition" selectedKey={selectedKey}
|
||||
searchType={selectedKey !== "custom" ? ["base", "advanced"] : []}
|
||||
showSearchAd={showSearchAd}
|
||||
setShowSearchAd={bool => this.setState({ showSearchAd: bool })}
|
||||
advanceHeight={200} searchsAd={getSearchs(planSearchForm, _.map(conditons, item => {
|
||||
return {
|
||||
...item,
|
||||
items: _.map(item.items, o => {
|
||||
if (getKey(o) === "paymentType") {
|
||||
return {
|
||||
...o,
|
||||
options: [
|
||||
{ key: "SCHEME_TOWN", showname: getLabel(19702, "城镇") },
|
||||
{ key: "SCHEME_VILLAGE", showname: getLabel(19703, "农村") }
|
||||
]
|
||||
};
|
||||
}
|
||||
return { ...o };
|
||||
})
|
||||
};
|
||||
}), 2, false)}
|
||||
onAdSearch={() => getTableDatas(selectedKey)}
|
||||
onAdReset={v => planSearchForm.resetForm()}
|
||||
onSearch={() => getTableDatas(selectedKey)}
|
||||
onChange={v => {
|
||||
setSelectedKey(v);
|
||||
handleSlideClose();
|
||||
if (v == "custom") {
|
||||
// 自定义福利
|
||||
} else {
|
||||
getTableDatas(v);
|
||||
}
|
||||
v !== "custom" && getTableDatas(v);
|
||||
}}
|
||||
onSearchChange={v => planSearchForm.updateFields({ schemeName: v })} // 在搜索框中输入的文字改变时的回调: 这里需要同步高级搜索和外部搜索框的值
|
||||
searchsBaseValue={planSearchForm.getFormParams().schemeName}
|
||||
buttons={!showOperateBtn ? [] : selectedKey !== "custom" ? tabButtons : [...tabButtons, ...customButtons]}
|
||||
/>
|
||||
<div className="tableWrapper">
|
||||
<WeaNewScroll height="100%">
|
||||
{selectedKey == "custom"
|
||||
{selectedKey === "custom"
|
||||
? <TwoColContent
|
||||
leftContent={
|
||||
<CustomBenefitsTable
|
||||
|
|
|
|||
|
|
@ -8,6 +8,10 @@ import { notNull } from "../util/validate";
|
|||
const { TableStore } = WeaTableNew;
|
||||
|
||||
export class ProgrammeStore {
|
||||
//lys-表单初始化(方案查询表单)
|
||||
@observable planSearchForm = new WeaForm();
|
||||
|
||||
|
||||
@observable tableStore = new TableStore(); // new table
|
||||
@observable condition = []; // 存储后台得到的form数据
|
||||
@observable hasRight = true; // 判断用户是有权限查看当前页面: 没有权限渲染无权限页面,有权限渲染数据
|
||||
|
|
@ -94,20 +98,18 @@ export class ProgrammeStore {
|
|||
@action
|
||||
getTableDatas = (selectKey = "SOCIAL_SECURITY", params) => {
|
||||
this.loading = true;
|
||||
const formParams = this.form.getFormParams() || {};
|
||||
params = params || formParams;
|
||||
params.welfareTypeEnum = selectKey;
|
||||
API.getTable(params).then(action(res => {
|
||||
if (res.status) { // 接口请求成功/失败处理
|
||||
// this.tableStore.getDatas(res.data.datas); // table 请求数据
|
||||
this.tableDataSource = res.data.list ? res.data.list : [];
|
||||
this.tableColumns = res.data.columns;
|
||||
this.tablePageInfo = res.data;
|
||||
} else {
|
||||
message.error(res.errormsg || "接口调用失败!");
|
||||
}
|
||||
this.loading = false;
|
||||
}));
|
||||
API.getTable({ ...params, ...this.planSearchForm.getFormParams(), welfareTypeEnum: selectKey })
|
||||
.then(action(res => {
|
||||
if (res.status) { // 接口请求成功/失败处理
|
||||
// this.tableStore.getDatas(res.data.datas); // table 请求数据
|
||||
this.tableDataSource = res.data.list ? res.data.list : [];
|
||||
this.tableColumns = res.data.columns;
|
||||
this.tablePageInfo = res.data;
|
||||
} else {
|
||||
message.error(res.errormsg || "接口调用失败!");
|
||||
}
|
||||
this.loading = false;
|
||||
}));
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue