Files
fe_portal_frontend/src/utils/PageUtils.ts

87 lines
2.2 KiB
TypeScript
Raw Normal View History

2025-06-16 09:25:19 +08:00
/*
* @Author: liqiang
* @Date: 2020-11-21 12:29:53
* @LastEditTime: 2020-12-14 17:13:46
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \ebtp-cloud-frontend\src\utils\PageUtils.ts
*/
import request from '@/utils/request';
import { RequestData } from '@ant-design/pro-table';
function requestData(data: any, success: boolean, total: number) {
return {
data: data,
success: success,
total: total,
}
}
function setBasePageRequest(params: any) {
return {
...params,
basePageRequest: {
"pageNo": params.current,
"pageSize": params.pageSize
}
};
}
/**
* ProTable
* @param api api路径 (/api/...)
* @param method (get, post...)
* @param params ({})
*/
export function queryingPagingData(api: string, method: string, params: any) {
sessionStorage.setItem("projectListPrm", JSON.stringify(params));
return new Promise<RequestData<any>>((resolve, reject) => {
let parameters = setBasePageRequest(params);
get(api, method, parameters).then(res => {
if (res.code === 200) {
resolve(requestData(res.data.records, res.success, res.data.total));
} else {
reject(requestData([], false, 0))
}
})
});
}
export async function get(api: string, method: string, params?: any) {
return request(api, {
method: method,
data: params,
});
}
function setPageRequest(params: any) {
return {
...params,
"pageNo": params.current,
"pageSize": params.pageSize
};
}
/**
* ProTable
* @param api api路径 (/api/...)
* @param method (get, post...)
* @param params ({})
*/
export function queryProTable(api: string, method: string, params: any) {
return new Promise<RequestData<any>>((resolve, reject) => {
let parameters = setPageRequest(params);
get(api, method, parameters).then(res => {
if (res.code === 200) {
resolve(requestData(res.data.records, res.success, res.data.total));
} else {
reject(requestData([], false, 0))
}
})
});
}