47 lines
1.3 KiB
TypeScript
47 lines
1.3 KiB
TypeScript
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: '批量操作成功'
|
|
};
|
|
});
|
|
};
|