salary-management-front/pc4mobx/hrmSalary/pages/custom-pages/lingyue/adjustSalaryFile/positionReport/index.js

130 lines
4.4 KiB
JavaScript

/*
* 领悦薪酬档案报表
* 调薪档案职务角色统计报表
* @Author: 黎永顺
* @Date: 2025/9/16
* @Wechat:
* @Email: 971387674@qq.com
* @description:
*/
import React, { Component } from "react";
import { WeaBrowser, WeaFormItem, WeaLoadingGlobal, WeaLocaleProvider } from "ecCom";
import * as API from "../../../../../apis/custom-apis/lingyue";
import SalaryFileReportLayout from "../layout";
import SalaryFileReport from "../content";
import moment from "moment";
const getLabel = WeaLocaleProvider.getLabel;
class Index extends Component {
constructor(props) {
super(props);
this.state = {
isQuery: false,
queryParams: {
pqList: "", xmList: "", zwjsList: "",
dateRange: [
moment(new Date()).format("YYYY-MM-DD"),
moment(new Date()).format("YYYY-MM-DD")
]
}
};
}
handleExport = async () => {
const { queryParams } = this.state;
const { dateRange, pqList, xmList, zwjsList } = queryParams;
const [startDate, endDate] = dateRange;
WeaLoadingGlobal.start();
const payload = {
pqList: pqList ? pqList.split(",") : [],
xmList: xmList ? xmList.split(",") : [],
zwjsList: zwjsList ? zwjsList.split(",") : [],
startDate, endDate
};
const promise = await API.exportTxdazwjstjReport(payload);
};
getBrowserPatams = (type, title) => {
let custBrowserParams = {};
type === 162 && (custBrowserParams = {
completeParams: {
type: 162,
fielddbtype: "browser.b_zwjs"
},
conditionDataParams: {
type: 162,
fielddbtype: "browser.b_zwjs"
},
dataParams: {
type: 162,
fielddbtype: "browser.b_zwjs"
},
destDataParams: {
type: 162,
fielddbtype: "browser.b_zwjs"
},
isMultCheckbox: true
});
return {
completeParams: {},
conditionDataParams: {},
dataParams: {},
destDataParams: {},
hasAddBtn: false,
hasAdvanceSerach: false,
idSeparator: ",",
isAutoComplete: 1,
isDetail: 0,
isMultCheckbox: false,
isSingle: false,
icon: "icon-coms-hrm",
linkUrl: "",
pageSize: 10,
quickSearchName: "",
title,
type,
viewAttr: 2,
...custBrowserParams
};
};
render() {
const { queryParams, isQuery } = this.state;
const { dateRange, zwjsList, pqList, xmList } = queryParams;
return (
<SalaryFileReportLayout title={getLabel(111, "调薪档案职务角色统计报表")} dateRange={dateRange}
onExport={this.handleExport}
onChange={v => this.setState({
queryParams: { ...queryParams, dateRange: v },
isQuery: !isQuery
})}>
<div className="lingyue-query">
<WeaFormItem label={getLabel(111, "片区")} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }}>
<WeaBrowser type={194} value={pqList}
onChange={v => {
this.setState({ queryParams: { ...queryParams, pqList: v }, isQuery: !isQuery });
}}
title={getLabel(111, "片区")} {...this.getBrowserPatams(194, getLabel(111, "片区"))} />
</WeaFormItem>
<WeaFormItem label={getLabel(111, "项目")} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }}>
<WeaBrowser type={194} value={xmList}
onChange={v => this.setState({ queryParams: { ...queryParams, xmList: v }, isQuery: !isQuery })}
title={getLabel(111, "项目")} {...this.getBrowserPatams(194, getLabel(111, "项目"))} />
</WeaFormItem>
<WeaFormItem label={getLabel(111, "职务角色")} labelCol={{ span: 8 }} wrapperCol={{ span: 16 }}>
<WeaBrowser type={194} value={zwjsList}
onChange={v => this.setState({
queryParams: { ...queryParams, zwjsList: v },
isQuery: !isQuery
})}
title={getLabel(111, "职务角色")} {...this.getBrowserPatams(162, getLabel(111, "职务角色"))} />
</WeaFormItem>
</div>
<SalaryFileReport type="txdazwjstjReport" queryParams={queryParams} isQuery={isQuery}/>
</SalaryFileReportLayout>
);
}
}
export default Index;