130 lines
4.4 KiB
JavaScript
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;
|