提交
This commit is contained in:
1 parent
3b99209548
commit
8d8a8cc30c
56 files changed
+13727
-1241
No files matched your search
@@ -85,7 +85,16 @@ export const approveApplication = (data: CwApprovalForm) => {
|
||||
// 🔧 修复:使用部门审批接口,将JSON数据转换为URL参数
|
||||
const params = new URLSearchParams();
|
||||
params.append('applicationId', String(data.applicationId || ''));
|
||||
params.append('approveAction', data.approvalResult === 'approved' ? 'approve' : 'return');
|
||||
|
||||
// 🔧 修复:正确处理审批结果映射
|
||||
let approveAction = 'return'; // 默认为退回
|
||||
if (data.approvalResult === 'approve') {
|
||||
approveAction = 'approve';
|
||||
} else if (data.approvalResult === 'return') {
|
||||
approveAction = 'return';
|
||||
}
|
||||
|
||||
params.append('approveAction', approveAction);
|
||||
params.append('approveOpinion', data.approvalComment || '');
|
||||
|
||||
return request({
|
||||
@@ -172,6 +181,42 @@ export const getDepartmentApprovals = (query: CwApprovalRecordQuery): AxiosPromi
|
||||
});
|
||||
};
|
||||
|
||||
// 获取财务审批待审批列表
|
||||
export const getFinancePendingApprovals = (query: CwApprovalRecordQuery): AxiosPromise<CwApprovalRecordVO[]> => {
|
||||
return request({
|
||||
url: '/cw/approval/finance/pending',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
// 获取财务审批已审批列表
|
||||
export const getFinanceApprovedRecords = (query: CwApprovalRecordQuery): AxiosPromise<CwApprovalRecordVO[]> => {
|
||||
return request({
|
||||
url: '/cw/approval/finance/approved',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
// 获取学院领导审批待审批列表
|
||||
export const getLeaderPendingApprovals = (query: CwApprovalRecordQuery): AxiosPromise<CwApprovalRecordVO[]> => {
|
||||
return request({
|
||||
url: '/cw/approval/leader/pending',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
// 获取学院领导已审批列表
|
||||
export const getLeaderApprovedApprovals = (query: CwApprovalRecordQuery): AxiosPromise<CwApprovalRecordVO[]> => {
|
||||
return request({
|
||||
url: '/cw/approval/leader/approved',
|
||||
method: 'get',
|
||||
params: query
|
||||
});
|
||||
};
|
||||
|
||||
// 获取可选审批人列表
|
||||
export const getAvailableApprovers = (applicationId: string | number): AxiosPromise<any[]> => {
|
||||
return request({
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
export interface FinanceApprovalForm {
|
||||
applicationId: number;
|
||||
approvalResult: string; // 'approve' | 'reject'
|
||||
approvalComment: string;
|
||||
selectedApproverId?: number; // 选择的院领导ID(审批通过时必填)
|
||||
}
|
||||
|
||||
// 财务审批操作
|
||||
export const financeApproveApplication = (data: FinanceApprovalForm): AxiosPromise<any> => {
|
||||
const params = new URLSearchParams({
|
||||
applicationId: data.applicationId.toString(),
|
||||
approveAction: data.approvalResult,
|
||||
approveOpinion: data.approvalComment
|
||||
});
|
||||
|
||||
// 如果选择了院领导,添加参数
|
||||
if (data.selectedApproverId) {
|
||||
params.append('selectedApproverId', data.selectedApproverId.toString());
|
||||
}
|
||||
|
||||
return request({
|
||||
url: '/cw/approval/finance',
|
||||
method: 'post',
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
},
|
||||
data: params
|
||||
});
|
||||
};
|
||||
|
||||
// 财务批量审批操作
|
||||
export const batchFinanceApproveApplication = (dataList: FinanceApprovalForm[]): Promise<any> => {
|
||||
// 前端模拟批量操作,逐个调用单个审批接口
|
||||
const promises = dataList.map(item => financeApproveApplication(item));
|
||||
|
||||
return Promise.all(promises).then(results => {
|
||||
return {
|
||||
data: results,
|
||||
code: 200,
|
||||
message: '批量操作成功'
|
||||
};
|
||||
});
|
||||
};
|
||||
@@ -0,0 +1,41 @@
|
||||
import request from '@/utils/request'
|
||||
import { AxiosPromise } from 'axios'
|
||||
|
||||
export interface StatisticsQuery {
|
||||
budgetYear?: string
|
||||
}
|
||||
|
||||
// 获取项目清单(用于统计页面)
|
||||
export function getStatisticsList(query: StatisticsQuery): AxiosPromise<any> {
|
||||
return request({
|
||||
url: '/cw/application/statistics/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 获取状态统计
|
||||
export function getStatusStatistics(budgetYear?: string): AxiosPromise<any> {
|
||||
return request({
|
||||
url: '/cw/application/statistics/status',
|
||||
method: 'get',
|
||||
params: { budgetYear }
|
||||
})
|
||||
}
|
||||
|
||||
// 获取部门预算汇总统计
|
||||
export function getDepartmentStatistics(budgetYear?: string): AxiosPromise<any> {
|
||||
return request({
|
||||
url: '/cw/application/statistics/department',
|
||||
method: 'get',
|
||||
params: { budgetYear }
|
||||
})
|
||||
}
|
||||
|
||||
// 获取年度汇总统计
|
||||
export function getYearlyStatistics(): AxiosPromise<any> {
|
||||
return request({
|
||||
url: '/cw/application/statistics/yearly',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
Reference in new issue
Block a user