Files
hzdyjs/web/src/api/cw/projectApplication.ts
T
2025-08-06 16:37:37 +08:00

218 lines
5.0 KiB
TypeScript

/**
* 财务项目预算审批 - API服务
*
* @author ruoyi
* @date 2025-01-26
*/
import request from '@/utils/request';
import type { AxiosPromise } from 'axios';
import type {
CwProjectApplicationQuery,
CwProjectApplicationVO,
CwProjectApplicationForm,
CwApproverConfigQuery,
CwApproverConfigVO,
CwApproverConfigForm,
CwApplicationStatistics
} from '@/api/cw/types';
// 查询项目预算申报列表
export const listProjectApplication = (query: CwProjectApplicationQuery): AxiosPromise<CwProjectApplicationVO[]> => {
return request({
url: '/cw/application/list',
method: 'get',
params: query
});
};
// 查询项目预算申报详情
export const getProjectApplication = (id: string | number): AxiosPromise<CwProjectApplicationVO> => {
return request({
url: '/cw/application/' + id,
method: 'get'
});
};
// 新增项目预算申报
export const addProjectApplication = (data: CwProjectApplicationForm) => {
return request({
url: '/cw/application',
method: 'post',
data: data
});
};
// 修改项目预算申报
export const updateProjectApplication = (data: CwProjectApplicationForm) => {
return request({
url: '/cw/application',
method: 'put',
data: data
});
};
// 删除项目预算申报
export const delProjectApplication = (id: string | number | Array<string | number>) => {
return request({
url: '/cw/application/' + id,
method: 'delete'
});
};
// 保存草稿
export const saveDraft = (data: CwProjectApplicationForm) => {
return request({
url: '/cw/application/saveDraft',
method: 'post',
data: data
});
};
// 提交申报
export const submitApplication = (id: string | number) => {
return request({
url: '/cw/application/submit/' + id,
method: 'post'
});
};
// 撤回申报
export const withdrawApplication = (id: string | number) => {
return request({
url: '/cw/application/withdraw/' + id,
method: 'put'
});
};
// 取消申报
export const cancelApplication = (id: string | number) => {
return request({
url: '/cw/application/cancel/' + id,
method: 'put'
});
};
// 查询我的申报
export const getMyApplications = (query: CwProjectApplicationQuery): AxiosPromise<CwProjectApplicationVO[]> => {
return request({
url: '/cw/application/my',
method: 'get',
params: query
});
};
// 查询部门申报
export const getDepartmentApplications = (query: CwProjectApplicationQuery): AxiosPromise<CwProjectApplicationVO[]> => {
return request({
url: '/cw/application/dept',
method: 'get',
params: query
});
};
// 查询待处理申报
export const getPendingApplications = (query: CwProjectApplicationQuery): AxiosPromise<CwProjectApplicationVO[]> => {
return request({
url: '/cw/application/pending',
method: 'get',
params: query
});
};
// 导出项目预算申报
export const exportProjectApplication = (query: CwProjectApplicationQuery) => {
return request({
url: '/cw/application/export',
method: 'post',
data: query
});
};
// 获取申报统计数据
export const getApplicationStatistics = (year?: number): AxiosPromise<CwApplicationStatistics> => {
return request({
url: '/cw/application/statistics',
method: 'get',
params: { year }
});
};
// 申报数量统计
export const getApplicationCount = (): AxiosPromise<number> => {
return request({
url: '/cw/application/count',
method: 'get'
});
};
// 申报金额汇总
export const getApplicationAmountSum = (): AxiosPromise<number> => {
return request({
url: '/cw/application/amountSum',
method: 'get'
});
};
// 按部门统计
export const getStatisticsByDept = () => {
return request({
url: '/cw/application/statisticsByDept',
method: 'get'
});
};
// 按月份统计
export const getStatisticsByMonth = (year?: number) => {
return request({
url: '/cw/application/statisticsByMonth',
method: 'get',
params: { year }
});
};
// ==================== 审批人配置相关 API ====================
// 查询审批人配置列表
export const listApproverConfig = (query: CwApproverConfigQuery): AxiosPromise<CwApproverConfigVO[]> => {
return request({
url: '/cw/approverConfig/list',
method: 'get',
params: query
});
};
// 查询审批人配置详情
export const getApproverConfig = (id: string | number): AxiosPromise<CwApproverConfigVO> => {
return request({
url: '/cw/approverConfig/' + id,
method: 'get'
});
};
// 新增审批人配置
export const addApproverConfig = (data: CwApproverConfigForm) => {
return request({
url: '/cw/approverConfig',
method: 'post',
data: data
});
};
// 修改审批人配置
export const updateApproverConfig = (data: CwApproverConfigForm) => {
return request({
url: '/cw/approverConfig',
method: 'put',
data: data
});
};
// 删除审批人配置
export const delApproverConfig = (id: string | number | Array<string | number>) => {
return request({
url: '/cw/approverConfig/' + id,
method: 'delete'
});
};