wuzhen update
This commit is contained in:
1 parent
1da0a6743f
commit
6a3246d98c
39 files changed
+5661
-667
No files matched your search
@@ -82,20 +82,59 @@ export const getApprovalRecord = (id: string | number): AxiosPromise<CwApprovalR
|
||||
|
||||
// 审批申报(单个)
|
||||
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');
|
||||
params.append('approveOpinion', data.approvalComment || '');
|
||||
|
||||
return request({
|
||||
url: '/cw/approval/process',
|
||||
url: '/cw/approval/dept', // 🔧 修复:使用部门审批接口
|
||||
method: 'post',
|
||||
data: data
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
},
|
||||
data: params.toString()
|
||||
});
|
||||
};
|
||||
|
||||
// 批量审批申报
|
||||
export const batchApproveApplication = (data: CwApprovalForm) => {
|
||||
return request({
|
||||
url: '/cw/approval/batchApprove',
|
||||
method: 'post',
|
||||
data: data
|
||||
});
|
||||
export const batchApproveApplication = async (data: CwApprovalForm) => {
|
||||
// 🔧 修复:后端没有批量接口,改为逐个调用
|
||||
if (!data.applicationIds || data.applicationIds.length === 0) {
|
||||
throw new Error('未选择要审批的申报项目');
|
||||
}
|
||||
|
||||
console.log('🔧 批量审批开始,项目数量:', data.applicationIds.length);
|
||||
const results = [];
|
||||
|
||||
for (const applicationId of data.applicationIds) {
|
||||
try {
|
||||
const singleData = {
|
||||
applicationId: applicationId,
|
||||
approvalResult: data.approvalResult,
|
||||
approvalComment: data.approvalComment,
|
||||
nextApprover: data.nextApprover
|
||||
};
|
||||
|
||||
console.log('🔧 处理项目ID:', applicationId);
|
||||
const result = await approveApplication(singleData);
|
||||
results.push({ applicationId, success: true, result });
|
||||
} catch (error) {
|
||||
console.error('🔧 项目审批失败,ID:', applicationId, 'Error:', error);
|
||||
results.push({ applicationId, success: false, error });
|
||||
}
|
||||
}
|
||||
|
||||
// 检查是否有失败的项目
|
||||
const failures = results.filter(r => !r.success);
|
||||
if (failures.length > 0) {
|
||||
console.error('🔧 批量审批部分失败:', failures);
|
||||
throw new Error(`批量审批完成,${failures.length}个项目审批失败`);
|
||||
}
|
||||
|
||||
console.log('🔧 批量审批全部成功');
|
||||
return { code: 200, msg: '批量审批成功', data: results };
|
||||
};
|
||||
|
||||
// 获取审批历史记录
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
import request from '@/utils/request';
|
||||
import { AxiosPromise } from 'axios';
|
||||
|
||||
export interface LeaderApprovalForm {
|
||||
applicationId: number;
|
||||
approvalResult: string; // 'approve' | 'reject'
|
||||
approvalComment: string;
|
||||
}
|
||||
|
||||
// 分管领导审批操作
|
||||
export const leaderApproveApplication = (data: LeaderApprovalForm): AxiosPromise<any> => {
|
||||
return request({
|
||||
url: '/cw/approval/leader',
|
||||
method: 'post',
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
},
|
||||
data: new URLSearchParams({
|
||||
applicationId: data.applicationId.toString(),
|
||||
approveAction: data.approvalResult,
|
||||
approveOpinion: data.approvalComment
|
||||
})
|
||||
});
|
||||
};
|
||||
|
||||
// 分管领导批量审批操作
|
||||
export const batchLeaderApproveApplication = (dataList: LeaderApprovalForm[]): AxiosPromise<any> => {
|
||||
// 前端模拟批量操作,逐个调用单个审批接口
|
||||
const promises = dataList.map(item => leaderApproveApplication(item));
|
||||
|
||||
return Promise.all(promises).then(results => {
|
||||
return {
|
||||
data: results,
|
||||
code: 200,
|
||||
message: '批量操作成功'
|
||||
};
|
||||
});
|
||||
};
|
||||
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* 财务项目预算审批 - TypeScript类型定义
|
||||
*
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2025-01-26
|
||||
*/
|
||||
@@ -39,6 +39,7 @@ export interface CwProjectApplicationVO {
|
||||
totalMunicipalFiscal?: number;
|
||||
totalSelfFunding?: number;
|
||||
totalOtherFunding?: number;
|
||||
// 分年度预算明细
|
||||
currentYearTotal?: number;
|
||||
currentYearMunicipal?: number;
|
||||
currentYearSelf?: number;
|
||||
@@ -64,6 +65,7 @@ export interface CwProjectApplicationVO {
|
||||
updateBy?: number;
|
||||
updateTime?: string;
|
||||
remark?: string;
|
||||
performanceIndicators?: any[]; // 绩效指标数据
|
||||
}
|
||||
|
||||
// 项目预算申报表单对象
|
||||
@@ -86,6 +88,7 @@ export interface CwProjectApplicationForm {
|
||||
totalMunicipalFiscal?: number;
|
||||
totalSelfFunding?: number;
|
||||
totalOtherFunding?: number;
|
||||
// 分年度预算明细
|
||||
currentYearTotal?: number;
|
||||
currentYearMunicipal?: number;
|
||||
currentYearSelf?: number;
|
||||
@@ -199,4 +202,4 @@ export interface StatusDistribution {
|
||||
statusName: string;
|
||||
count: number;
|
||||
percentage: number;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user