/** * 财务审批记录管理 - API服务 * * @author ruoyi * @date 2025-01-28 */ import request from '@/utils/request'; import type { AxiosPromise } from 'axios'; // 审批记录查询参数 export interface CwApprovalRecordQuery { pageNum?: number; pageSize?: number; applicationNo?: string; projectName?: string; applicantName?: string; approvalStatus?: string; approverName?: string; currentApprover?: string; deptId?: string; submitTimeBegin?: string; submitTimeEnd?: string; needApproval?: boolean; } // 审批记录VO export interface CwApprovalRecordVO { id: string | number; applicationId: string | number; applicationNo: string; projectName: string; applicantName: string; deptName: string; totalInvestment: number; currentApproverName: string; approvalStatus: string; submitTime: string; approvalTime?: string; approverName?: string; approvalComment?: string; approvalResult?: string; } // 审批表单 export interface CwApprovalForm { applicationId?: string | number; applicationIds?: Array; approvalResult: string; approvalComment: string; nextApprover?: string | number; } // 审批历史记录 export interface CwApprovalHistoryVO { id: string | number; applicationId: string | number; approverName: string; approvalResult: string; approvalComment: string; approvalTime: string; stepName: string; stepOrder: number; } // 查询审批记录列表 export const listApprovalRecord = (query: CwApprovalRecordQuery): AxiosPromise => { return request({ url: '/cw/approval/list', method: 'get', params: query }); }; // 查询审批记录详情 export const getApprovalRecord = (id: string | number): AxiosPromise => { return request({ url: '/cw/approval/' + id, method: 'get' }); }; // 审批申报(单个) export const approveApplication = (data: CwApprovalForm) => { return request({ url: '/cw/approval/process', method: 'post', data: data }); }; // 批量审批申报 export const batchApproveApplication = (data: CwApprovalForm) => { return request({ url: '/cw/approval/batchApprove', method: 'post', data: data }); }; // 获取审批历史记录 export const getApprovalHistory = (applicationId: string | number): AxiosPromise => { return request({ url: '/cw/approval/byApplication/' + applicationId, method: 'get' }); }; // 获取当前用户待审批列表 export const getPendingApprovals = (query: CwApprovalRecordQuery): AxiosPromise => { return request({ url: '/cw/approval/pending', method: 'get', params: query }); }; // 获取当前用户已审批列表 export const getMyApprovals = (query: CwApprovalRecordQuery): AxiosPromise => { return request({ url: '/cw/approval/my', method: 'get', params: query }); }; // 获取部门审批列表 export const getDepartmentApprovals = (query: CwApprovalRecordQuery): AxiosPromise => { return request({ url: '/cw/approval/dept/pending', method: 'get', params: query }); }; // 获取可选审批人列表 export const getAvailableApprovers = (applicationId: string | number): AxiosPromise => { return request({ url: '/cw/approval/approvers/' + applicationId, method: 'get' }); }; // 导出审批记录 export const exportApprovalRecord = (query: CwApprovalRecordQuery) => { return request({ url: '/cw/approval/export', method: 'post', data: query }); }; // 获取审批统计数据 export const getApprovalStatistics = (year?: number) => { return request({ url: '/cw/approval/statistics', method: 'get', params: { year } }); }; // 按部门统计审批数据 export const getApprovalStatsByDept = () => { return request({ url: '/cw/approval/statsByDept', method: 'get' }); }; // 按月份统计审批数据 export const getApprovalStatsByMonth = (year?: number) => { return request({ url: '/cw/approval/statsByMonth', method: 'get', params: { query: { year } } }); }; // 获取审批效率统计 export const getApprovalEfficiency = () => { return request({ url: '/cw/approval/efficiency', method: 'get' }); };