custom/领悦业务线

This commit is contained in:
lys 2025-02-21 16:56:43 +08:00
parent 5b2d59f787
commit 298021d748
9 changed files with 98 additions and 41 deletions

View File

@ -55,7 +55,7 @@ class Index extends Component {
transitionName=""
animation=""
multiple={true}
notFoundContent=""
notFoundContent={getLabel(111, "暂无数据")}
defaultActiveFirstOption={true}
showArrow={true}
filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}

View File

@ -48,8 +48,8 @@ class GenerateVouchersDialog extends Component {
});
};
save = () => {
const { LYStore: { form }, ffgsqc, salaryMonth, ffgsqcLabel } = this.props;
let payload = { ...form.getFormParams(), salaryMonth, ffgsqc };
const { LYStore: { form }, ffgsqc, fycdgsqc, jtStatus, ffStatus, salaryMonth, ffgsqcLabel } = this.props;
let payload = { ...form.getFormParams(), salaryMonth, ffgsqc, fycdgsqc, jtStatus, ffStatus };
if (!salaryMonth) {
message.warning(getLabel(111, "薪资所属月参数不能为空"));
return;

View File

@ -97,7 +97,12 @@ class List extends Component {
getLYList = (isSum = true) => {
const { query, type, onInit } = this.props, { pageInfo, selectedRowKeys } = this.state;
const payload = { ...pageInfo, ...query, ffgsqc: query.ffgsqc ? query.ffgsqc.split(",") : [] };
const payload = {
...pageInfo, ...query, ffgsqc: query.ffgsqc ? query.ffgsqc.split(",") : [],
fycdgsqc: query.fycdgsqc ? query.fycdgsqc.split(",") : [],
ffStatus: query.ffStatus ? query.ffStatus.split(",") : [],
jtStatus: query.jtStatus ? query.jtStatus.split(",") : []
};
this.setState({ loading: true });
interfaceType[type]["list"](payload).then(async ({ status, data, errormsg }) => {
this.setState({ loading: false });
@ -158,7 +163,10 @@ class List extends Component {
message.success(getLabel(111, "操作成功!"));
this.setState({
selectedRowKeys: [], pageInfo: { ...this.state.pageInfo, current: 1 }
}, () => this.getLYList());
}, () => {
this.props.onChangeReport && this.props.onChangeReport();
this.getLYList();
});
} else {
message.error(errormsg);
}
@ -181,7 +189,10 @@ class List extends Component {
this.setState({
selectedRowKeys: [],
pageInfo: { ...this.state.pageInfo, current: current > totalPage ? totalPage : current }
}, () => this.getLYList());
}, () => {
this.props.onChangeReport && this.props.onChangeReport();
this.getLYList();
});
} else {
message.error(errormsg);
}
@ -212,7 +223,10 @@ class List extends Component {
/>
</Spin>
<GenerateDataDialog type={type} visible={visible} onCancel={() => this.setState({ visible: false })}
onSearch={this.getLYList}/>
onSearch={() => {
this.props.onChangeReport && this.props.onChangeReport();
this.getLYList();
}}/>
<GenerateVouchersDialog {...voucherDialog} onCancel={() => this.setState({
voucherDialog: { ...this.state.voucherDialog, visible: false }
}, () => this.getLYList())}/>

View File

@ -19,8 +19,8 @@ class Index extends Component {
constructor(props) {
super(props);
this.state = {
query: { salaryMonth: moment().format("YYYY-MM"), ffgsqc: "" }, isQuery: false, lyAuth: false,
companyOpts: []
query: { salaryMonth: moment().format("YYYY-MM"), ffgsqc: "", fycdgsqc: "", jtStatus: "", ffStatus: "" },
companyOpts: [], costCompanyOpts: [], isQuery: false, lyAuth: false
};
this.listRef = null;
}
@ -34,7 +34,10 @@ class Index extends Component {
const { query } = this.state;
const { salaryMonth } = query;
API.getFundReportGmgsList({ salaryMonth }).then(({ status, data }) => {
if (status) this.setState({ companyOpts: _.map(data, o => ({ ...o, name: o.content })) });
if (status) this.setState({
companyOpts: _.map(data.gmgs, o => ({ ...o, name: o.content })),
costCompanyOpts: _.map(data.fycdgs, o => ({ ...o, name: o.content }))
});
});
};
@ -45,13 +48,15 @@ class Index extends Component {
});
render() {
const { query, isQuery, lyAuth, companyOpts } = this.state;
const { query, isQuery, lyAuth, companyOpts, costCompanyOpts } = this.state;
return (
<Layout title={getLabel(111, "公积金汇总表")} query={query} onChange={this.handleLayoutChange}
companyOpts={companyOpts} listRef={this.listRef}
isQuery={isQuery} lyAuth={lyAuth} ffgsqcLabel={getLabel(111, "购买公司全称")}>
companyOpts={companyOpts} listRef={this.listRef} costCompanyOpts={costCompanyOpts}
isQuery={isQuery} lyAuth={lyAuth} ffgsqcLabel={getLabel(111, "购买公司全称")}
fycdgsqcLabel={getLabel(111, "费用承担公司")}>
<List query={query} isQuery={isQuery} type="fundSum" ref={dom => this.listRef = dom}
onInit={() => this.forceUpdate()} ffgsqcLabel={getLabel(111, "购买公司全称")}/>
onInit={() => this.forceUpdate()} ffgsqcLabel={getLabel(111, "购买公司全称")}
onChangeReport={this.getSIReportGmgsList}/>
</Layout>
);
}

View File

@ -13,16 +13,15 @@
.lingyue-query {
display: flex;
padding: 8px 24px;
flex-wrap: wrap;
padding: 8px 24px 0 24px;
background: #FFF;
margin-bottom: 16px;
.wea-form-item:last-child {
width: 358px !important;
}
.wea-form-item {
width: 300px;
width: 240px;
margin-right: 8px;
margin-bottom: 8px;
.customMuiSelect .ant-select-selection--multiple {
max-height: 110px !important;

View File

@ -9,9 +9,10 @@
*/
import React, { Component } from "react";
import { inject, observer } from "mobx-react";
import { WeaDatePicker, WeaFormItem, WeaLocaleProvider, WeaTop } from "ecCom";
import { Button, Dropdown, Menu } from "antd";
import { WeaDatePicker, WeaFormItem, WeaLocaleProvider, WeaSelect, WeaTop } from "ecCom";
import { commonEnumList } from "../../../apis/ruleconfig";
import CustomSelect from "../../../components/CustomSelect";
import { Button, Dropdown, Menu } from "antd";
import "./index.less";
const getLabel = WeaLocaleProvider.getLabel;
@ -19,12 +20,27 @@ const getLabel = WeaLocaleProvider.getLabel;
@inject("taxAgentStore")
@observer
class Layout extends Component {
constructor(props) {
super(props);
this.state = { options: [] };
}
componentDidMount() {
this.getOptions();
}
getOptions = () => {
commonEnumList({ enumClass: "com.engine.salary.enums.ly.LyPushStatusEnum" }).then(({ status, data }) => {
if (status) this.setState({ options: _.map(data, o => ({ key: String(o.value), showname: o.defaultLabel })) });
});
};
render() {
const {
title, query, onChange, listRef, isQuery, lyAuth = false, ffgsqcLabel, taxAgentStore: { salaryManager },
companyOpts
} = this.props;
const { salaryMonth, ffgsqc } = query;
companyOpts, costCompanyOpts, fycdgsqcLabel
} = this.props, { options } = this.state;
const { salaryMonth, ffgsqc, fycdgsqc, jtStatus, ffStatus } = query;
let buttons = [
<Button type="primary" onClick={() => listRef.handleOperate("GENERATE")}>{getLabel(111, "生成数据")}</Button>,
<Dropdown.Button onClick={() => listRef.handleOperate("ALLDEL")}
@ -49,10 +65,22 @@ class Layout extends Component {
<WeaDatePicker format="YYYY-MM" value={salaryMonth}
onChange={value => onChange({ ...query, salaryMonth: value, isQuery: !isQuery })}/>
</WeaFormItem>
<WeaFormItem label={ffgsqcLabel} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }}>
<WeaFormItem label={ffgsqcLabel} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }} style={{ width: 358 }}>
<CustomSelect value={ffgsqc} options={companyOpts}
onChange={value => onChange({ ...query, ffgsqc: value, isQuery: !isQuery })}/>
</WeaFormItem>
<WeaFormItem label={fycdgsqcLabel} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }} style={{ width: 358 }}>
<CustomSelect value={fycdgsqc} options={costCompanyOpts}
onChange={value => onChange({ ...query, fycdgsqc: value, isQuery: !isQuery })}/>
</WeaFormItem>
<WeaFormItem label={getLabel(111, "计提状态")} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }}>
<WeaSelect options={options} value={jtStatus} multiple
onChange={value => onChange({ ...query, jtStatus: value, isQuery: !isQuery })}/>
</WeaFormItem>
<WeaFormItem label={getLabel(111, "发放状态 ")} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }}>
<WeaSelect options={options} value={ffStatus} multiple
onChange={value => onChange({ ...query, ffStatus: value, isQuery: !isQuery })}/>
</WeaFormItem>
</div>
{this.props.children}
</div>

View File

@ -20,8 +20,8 @@ class Index extends Component {
constructor(props) {
super(props);
this.state = {
query: { salaryMonth: moment().format("YYYY-MM"), ffgsqc: "" }, isQuery: false, lyAuth: false,
companyOpts: []
query: { salaryMonth: moment().format("YYYY-MM"), ffgsqc: "", fycdgsqc: "", jtStatus: "", ffStatus: "" },
companyOpts: [], costCompanyOpts: [], isQuery: false, lyAuth: false
};
this.listRef = null;
}
@ -35,7 +35,10 @@ class Index extends Component {
const { query } = this.state;
const { salaryMonth } = query;
API.getSalaryReportFFgsList({ salaryMonth }).then(({ status, data }) => {
if (status) this.setState({ companyOpts: _.map(data, o => ({ ...o, name: o.content })) });
if (status) this.setState({
companyOpts: _.map(data.ffgs, o => ({ ...o, name: o.content })),
costCompanyOpts: _.map(data.fycdgs, o => ({ ...o, name: o.content }))
});
});
};
handleLayoutChange = ({ isQuery, ...val }) => this.setState({ query: { ...this.state.query, ...val } },
@ -45,13 +48,15 @@ class Index extends Component {
});
render() {
const { query, isQuery, lyAuth, companyOpts } = this.state;
const { query, isQuery, lyAuth, companyOpts, costCompanyOpts } = this.state;
return (
<Layout title={getLabel(111, "薪资汇总表")} query={query} onChange={this.handleLayoutChange}
companyOpts={companyOpts} listRef={this.listRef}
isQuery={isQuery} lyAuth={lyAuth} ffgsqcLabel={getLabel(111, "发放公司全称")}>
companyOpts={companyOpts} listRef={this.listRef} costCompanyOpts={costCompanyOpts}
isQuery={isQuery} lyAuth={lyAuth} ffgsqcLabel={getLabel(111, "发放公司全称")}
fycdgsqcLabel={getLabel(111, "费用承担公司")}>
<List query={query} isQuery={isQuery} type="salarySum" ref={dom => this.listRef = dom}
onInit={() => this.forceUpdate()} ffgsqcLabel={getLabel(111, "发放公司全称")}/>
onInit={() => this.forceUpdate()} ffgsqcLabel={getLabel(111, "发放公司全称")}
onChangeReport={this.getSalaryReportFFgsList}/>
</Layout>
);
}

View File

@ -19,8 +19,8 @@ class Index extends Component {
constructor(props) {
super(props);
this.state = {
query: { salaryMonth: moment().format("YYYY-MM"), ffgsqc: "" }, isQuery: false, lyAuth: false,
companyOpts: []
query: { salaryMonth: moment().format("YYYY-MM"), ffgsqc: "", fycdgsqc: "", jtStatus: "", ffStatus: "" },
companyOpts: [], costCompanyOpts: [], isQuery: false, lyAuth: false
};
this.listRef = null;
}
@ -34,7 +34,10 @@ class Index extends Component {
const { query } = this.state;
const { salaryMonth } = query;
API.getSIReportGmgsList({ salaryMonth }).then(({ status, data }) => {
if (status) this.setState({ companyOpts: _.map(data, o => ({ ...o, name: o.content })) });
if (status) this.setState({
companyOpts: _.map(data.gmgs, o => ({ ...o, name: o.content })),
costCompanyOpts: _.map(data.fycdgs, o => ({ ...o, name: o.content }))
});
});
};
@ -45,13 +48,15 @@ class Index extends Component {
});
render() {
const { query, isQuery, lyAuth, companyOpts } = this.state;
const { query, isQuery, lyAuth, companyOpts, costCompanyOpts } = this.state;
return (
<Layout title={getLabel(111, "社保汇总表")} query={query} onChange={this.handleLayoutChange}
companyOpts={companyOpts} listRef={this.listRef}
isQuery={isQuery} lyAuth={lyAuth} ffgsqcLabel={getLabel(111, "购买公司全称")}>
companyOpts={companyOpts} listRef={this.listRef} costCompanyOpts={costCompanyOpts}
isQuery={isQuery} lyAuth={lyAuth} ffgsqcLabel={getLabel(111, "购买公司全称")}
fycdgsqcLabel={getLabel(111, "费用承担公司")}>
<List query={query} isQuery={isQuery} type="socialFundSum" ref={dom => this.listRef = dom}
onInit={() => this.forceUpdate()} ffgsqcLabel={getLabel(111, "购买公司全称")}/>
onInit={() => this.forceUpdate()} ffgsqcLabel={getLabel(111, "购买公司全称")}
onChangeReport={this.getSIReportGmgsList}/>
</Layout>
);
}

View File

@ -36,7 +36,8 @@ class Index extends Component {
const pzlx = getQueryString("pzlx");
const payload = {
...getURLParameters(window.location.hash),
ffgsqc: decodeURI(getURLParameters(window.location.hash).ffgsqc)
ffgsqc: decodeURI(getURLParameters(window.location.hash).ffgsqc),
fycdgsqc: decodeURI(getURLParameters(window.location.hash).fycdgsqc)
};
WeaLoadingGlobal.start();
API.genAndPreveiw(payload).then(({ status, data, errormsg }) => {