hotfix/2.12.1.2403.02

数据透视导出功能
This commit is contained in:
黎永顺 2024-03-19 14:29:00 +08:00
parent 80acc5f18a
commit d9f3fafd51
4 changed files with 63 additions and 38 deletions

View File

@ -1,5 +1,5 @@
import { WeaTools } from "ecCom";
import { postFetch } from "../util/request";
import { postExportFetch, postFetch } from "../util/request";
//获取薪资档案各tab的人数
export const queryTabTotal = (params) => {
@ -11,65 +11,69 @@ export const queryList = ({ url, ...params }) => {
};
// 导入档案
export const importSalaryArchive = (params) => {
return postFetch('/api/bs/hrmsalary/salaryArchive/importSalaryArchive', params);
}
return postFetch("/api/bs/hrmsalary/salaryArchive/importSalaryArchive", params);
};
// 薪资档案预览
export const salaryArchivePreview = (params) => {
return postFetch('/api/bs/hrmsalary/salaryArchive/preview', params);
}
return postFetch("/api/bs/hrmsalary/salaryArchive/preview", params);
};
// 公共枚举接口
export const commonEnumList = (params) => {
return WeaTools.callApi('/api/bs/hrmsalary/common/enum/list', 'GET', params);
}
return WeaTools.callApi("/api/bs/hrmsalary/common/enum/list", "GET", params);
};
// 获取导入类型
export const getImportTypes = () => {
return WeaTools.callApi('/api/bs/hrmsalary/salaryArchive/getImportTypes', 'GET', {});
}
return WeaTools.callApi("/api/bs/hrmsalary/salaryArchive/getImportTypes", "GET", {});
};
// 发起调薪地址
export const salaryAdjustmentInfo = (params) => {
return WeaTools.callApi('/api/bs/hrmsalary/process/salaryAdjustmentInfo', 'GET', params);
}
return WeaTools.callApi("/api/bs/hrmsalary/process/salaryAdjustmentInfo", "GET", params);
};
// 停薪
export const stopSalary = (params) => {
return postFetch('/api/bs/hrmsalary/salaryArchive/stopSalary', params);
}
return postFetch("/api/bs/hrmsalary/salaryArchive/stopSalary", params);
};
// 一键全部设为定薪员工
export const allGotoFixed = (params) => {
return postFetch('/api/bs/hrmsalary/salaryArchive/allGotoFixed', params);
}
return postFetch("/api/bs/hrmsalary/salaryArchive/allGotoFixed", params);
};
// 设为定薪员工
export const gotoFixed = (params) => {
return postFetch('/api/bs/hrmsalary/salaryArchive/gotoFixed', params);
}
return postFetch("/api/bs/hrmsalary/salaryArchive/gotoFixed", params);
};
// 停薪
export const gotoStop = (params) => {
return postFetch('/api/bs/hrmsalary/salaryArchive/gotoStop', params);
}
return postFetch("/api/bs/hrmsalary/salaryArchive/gotoStop", params);
};
//全部停薪
export const allGotoStop = (params) => {
return postFetch('/api/bs/hrmsalary/salaryArchive/allGotoStop', params);
}
return postFetch("/api/bs/hrmsalary/salaryArchive/allGotoStop", params);
};
// 取消停薪
export const cancelStop = (params) => {
return postFetch('/api/bs/hrmsalary/salaryArchive/cancelStop', params);
}
return postFetch("/api/bs/hrmsalary/salaryArchive/cancelStop", params);
};
// 保存发薪设置
export const savePaySet = (params) => {
return postFetch('/api/bs/hrmsalary/salaryArchive/savePaySet', params);
}
return postFetch("/api/bs/hrmsalary/salaryArchive/savePaySet", params);
};
// 待定薪删除待办
export const deletePendingTodo = (params) => {
return postFetch('/api/bs/hrmsalary/salaryArchive/deletePendingTodo', params);
}
return postFetch("/api/bs/hrmsalary/salaryArchive/deletePendingTodo", params);
};
// 待停薪删除待办
export const deleteSuspendTodo = (params) => {
return postFetch('/api/bs/hrmsalary/salaryArchive/deleteSuspendTodo', params);
}
return postFetch("/api/bs/hrmsalary/salaryArchive/deleteSuspendTodo", params);
};
// 待定薪、停薪员工 是否允许删除薪资档案
export const salaryArchiveDelete = (params) => {
return WeaTools.callApi('/api/bs/hrmsalary/sys/conf/code?code=salaryArchiveDelete', 'GET', params);
}
return WeaTools.callApi("/api/bs/hrmsalary/sys/conf/code?code=salaryArchiveDelete", "GET", params);
};
// 删除薪资档案
export const deleteSalaryArchive = (params) => {
return postFetch('/api/bs/hrmsalary/salaryArchive/deleteSalaryArchive', params);
}
return postFetch("/api/bs/hrmsalary/salaryArchive/deleteSalaryArchive", params);
};
// 数据透视列表导出
export const exportDataPerspective = (params) => {
return postExportFetch("/api/bs/hrmsalary/report/statistics/report/exportDataPerspective", params);
};

View File

@ -62,6 +62,13 @@
.ant-spin-nested-loading, .ant-spin-container {
height: 100%;
}
.header-custom {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}
}
.shareDialogWrapper {

View File

@ -5,11 +5,12 @@
* Date: 2023/6/8
*/
import React, { Component } from "react";
import { WeaDialog, WeaLocaleProvider } from "ecCom";
import { WeaTableNew } from "comsMobx";
import { Spin } from "antd";
import { toJS } from "mobx";
import { inject, observer } from "mobx-react";
import { WeaDialog, WeaLoadingGlobal, WeaLocaleProvider } from "ecCom";
import * as API from "../../../apis/payrollFiles";
import { WeaTableNew } from "comsMobx";
import { Button, Spin } from "antd";
import { toJS } from "mobx";
import "./index.less";
const WeaTableComx = WeaTableNew.WeaTable;
@ -103,13 +104,23 @@ class PovitpivotChartModal extends Component {
showSum: false, pageInfo
});
};
exportDataPerspective = () => {
WeaLoadingGlobal.start();
const { id, dimensionId, dimensionValue, isShare } = this.props;
const promise = API.exportDataPerspective({ id, dimensionId, dimensionValue, isShare });
WeaLoadingGlobal.destroy();
};
render() {
const { loading } = this.state;
const { payrollFilesStore: { pivotTableStore } } = this.props;
return (
<WeaDialog
title={getLabel(111, "数据透视")} scalable className="pivot-wrapper" initLoadCss
title={<div className="header-custom">
<span>{getLabel(111, "数据透视")}</span>
<Button type="primary" onClick={this.exportDataPerspective}>{getLabel(17416, "导出")}</Button>
</div>}
scalable className="pivot-wrapper" initLoadCss
visible={this.props.visible} style={{ width: "80vw", height: "80vh" }}
buttons={[]} onCancel={this.props.onCancel}>
<Spin spinning={loading}>

View File

@ -1,3 +1,5 @@
import { WeaLoadingGlobal } from "ecCom";
const server = window.server || "";
export const formHeaderPost = (url, method, params, header) => {
if (typeof localStorage.access_token === "string" && localStorage.access_token !== "") {
@ -34,6 +36,7 @@ export const postExportFetch = (url, params) => {
}
url = server + url + "?__random__=" + (new Date()).valueOf();
return fetch(url, getFetchParams("POST", params)).then(res => {
WeaLoadingGlobal.destroy();
const filename = res.headers.get("Content-Disposition").split("filename=")[1];
res.blob().then(blob => {
const url = window.URL.createObjectURL(blob);