wuzhen updat

This commit is contained in:
wuzhen committed 2025-07-30 23:24:43 +08:00
1 parent 3e4642c624
commit e4e4679da9
173 files changed
+37924 -325

No files matched your search

+185
View File
@@ -0,0 +1,185 @@
/**
* 财务审批记录管理 - 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<string | number>;
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<CwApprovalRecordVO[]> => {
return request({
url: '/cw/approval/list',
method: 'get',
params: query
});
};
// 查询审批记录详情
export const getApprovalRecord = (id: string | number): AxiosPromise<CwApprovalRecordVO> => {
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<CwApprovalHistoryVO[]> => {
return request({
url: '/cw/approval/byApplication/' + applicationId,
method: 'get'
});
};
// 获取当前用户待审批列表
export const getPendingApprovals = (query: CwApprovalRecordQuery): AxiosPromise<CwApprovalRecordVO[]> => {
return request({
url: '/cw/approval/pending',
method: 'get',
params: query
});
};
// 获取当前用户已审批列表
export const getMyApprovals = (query: CwApprovalRecordQuery): AxiosPromise<CwApprovalRecordVO[]> => {
return request({
url: '/cw/approval/my',
method: 'get',
params: query
});
};
// 获取部门审批列表
export const getDepartmentApprovals = (query: CwApprovalRecordQuery): AxiosPromise<CwApprovalRecordVO[]> => {
return request({
url: '/cw/approval/dept/pending',
method: 'get',
params: query
});
};
// 获取可选审批人列表
export const getAvailableApprovers = (applicationId: string | number): AxiosPromise<any[]> => {
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'
});
};
+89
View File
@@ -0,0 +1,89 @@
/**
* 绩效指标管理 - API服务
*
* @author ruoyi
* @date 2025-08-01
*/
import request from '@/utils/request';
import type { AxiosPromise } from 'axios';
// 绩效指标类型定义
export interface PerformanceIndicatorForm {
id?: number;
applicationId: number;
applicationNo: string;
indicatorType: string;
indicatorTypeName: string;
goalName: string;
targetValue: string;
weightPercentage: number;
description?: string;
unit?: string;
measurementMethod?: string;
dataSource?: string;
}
// 查询绩效指标列表
export const listPerformanceIndicator = (query: any): AxiosPromise<PerformanceIndicatorForm[]> => {
return request({
url: '/cw/performance/list',
method: 'get',
params: query
});
};
// 根据申报ID查询绩效指标
export const getPerformanceByApplicationId = (applicationId: number): AxiosPromise<PerformanceIndicatorForm[]> => {
return request({
url: `/cw/performance/application/${applicationId}`,
method: 'get'
});
};
// 批量保存绩效指标
export const batchSavePerformanceIndicator = (applicationId: number, applicationNo: string, data: PerformanceIndicatorForm[]) => {
return request({
url: '/cw/performance/batchSave',
method: 'post',
data: {
applicationId,
applicationNo,
indicators: data
}
});
};
// 新增绩效指标
export const addPerformanceIndicator = (data: PerformanceIndicatorForm) => {
return request({
url: '/cw/performance',
method: 'post',
data: data
});
};
// 修改绩效指标
export const updatePerformanceIndicator = (data: PerformanceIndicatorForm) => {
return request({
url: '/cw/performance',
method: 'put',
data: data
});
};
// 删除绩效指标
export const delPerformanceIndicator = (id: string | number) => {
return request({
url: '/cw/performance/' + id,
method: 'delete'
});
};
// 根据申报ID删除绩效指标
export const delPerformanceByApplicationId = (applicationId: number) => {
return request({
url: `/cw/performance/application/${applicationId}`,
method: 'delete'
});
};
+217
View File
@@ -0,0 +1,217 @@
/**
* 财务项目预算审批 - 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'
});
};
+202
View File
@@ -0,0 +1,202 @@
/**
* 财务项目预算审批 - TypeScript类型定义
*
* @author ruoyi
* @date 2025-01-26
*/
// 项目预算申报查询对象
export interface CwProjectApplicationQuery {
pageNum?: number;
pageSize?: number;
applicationNo?: string;
projectName?: string;
principal?: string;
approvalStatus?: string;
departmentId?: number;
startDate?: string;
endDate?: string;
year?: number;
}
// 项目预算申报视图对象
export interface CwProjectApplicationVO {
id?: number;
applicationNo?: string;
projectName?: string;
principal?: string;
contactPhone?: string;
startDate?: string;
endDate?: string;
targetSme?: boolean;
targetMicroSme?: boolean;
importEquipment?: boolean;
applicationReason?: string;
constructionContent?: string;
totalPerformanceGoal?: string;
currentYearGoal?: string;
totalInvestment?: number;
totalMunicipalFiscal?: number;
totalSelfFunding?: number;
totalOtherFunding?: number;
currentYearTotal?: number;
currentYearMunicipal?: number;
currentYearSelf?: number;
currentYearOther?: number;
nextYearTotal?: number;
nextYearMunicipal?: number;
nextYearSelf?: number;
nextYearOther?: number;
futureYearTotal?: number;
futureYearMunicipal?: number;
futureYearSelf?: number;
futureYearOther?: number;
applicantId?: number;
applicantName?: string;
departmentId?: number;
departmentName?: string;
approvalStatus?: string;
submitTime?: string;
approveTime?: string;
year?: number;
createBy?: number;
createTime?: string;
updateBy?: number;
updateTime?: string;
remark?: string;
}
// 项目预算申报表单对象
export interface CwProjectApplicationForm {
id?: number;
applicationNo?: string;
projectName?: string;
principal?: string;
contactPhone?: string;
startDate?: string;
endDate?: string;
targetSme?: boolean;
targetMicroSme?: boolean;
importEquipment?: boolean;
applicationReason?: string;
constructionContent?: string;
totalPerformanceGoal?: string;
currentYearGoal?: string;
totalInvestment?: number;
totalMunicipalFiscal?: number;
totalSelfFunding?: number;
totalOtherFunding?: number;
currentYearTotal?: number;
currentYearMunicipal?: number;
currentYearSelf?: number;
currentYearOther?: number;
nextYearTotal?: number;
nextYearMunicipal?: number;
nextYearSelf?: number;
nextYearOther?: number;
futureYearTotal?: number;
futureYearMunicipal?: number;
futureYearSelf?: number;
futureYearOther?: number;
applicantId?: number;
applicantName?: string;
departmentId?: number;
departmentName?: string;
approvalStatus?: string;
year?: number;
remark?: string;
performanceIndicators?: any[]; // 绩效指标数据
}
// 审批人配置查询对象
export interface CwApproverConfigQuery {
pageNum?: number;
pageSize?: number;
configType?: string;
deptId?: number;
status?: string;
}
// 审批人配置视图对象
export interface CwApproverConfigVO {
id?: number;
configType?: string;
deptId?: number;
minAmount?: number;
maxAmount?: number;
deptApproverId?: number;
deptApproverName?: string;
financeApproverId?: number;
financeApproverName?: string;
leaderApproverId?: number;
leaderApproverName?: string;
deptDelegateId?: number;
deptDelegateName?: string;
financeDelegateId?: number;
financeDelegateName?: string;
leaderDelegateId?: number;
leaderDelegateName?: string;
status?: string;
remark?: string;
createTime?: string;
updateTime?: string;
}
// 审批人配置表单对象
export interface CwApproverConfigForm {
id?: number;
configType?: string;
deptId?: number;
minAmount?: number;
maxAmount?: number;
deptApproverId?: number;
deptApproverName?: string;
financeApproverId?: number;
financeApproverName?: string;
leaderApproverId?: number;
leaderApproverName?: string;
deptDelegateId?: number;
deptDelegateName?: string;
financeDelegateId?: number;
financeDelegateName?: string;
leaderDelegateId?: number;
leaderDelegateName?: string;
status?: string;
remark?: string;
}
// 项目申报统计对象
export interface CwApplicationStatistics {
totalCount: number;
approvingCount: number;
approvedCount: number;
rejectedCount: number;
totalAmount: number;
monthlyTrend: MonthlyTrend[];
deptStatistics: DeptStatistics[];
statusDistribution: StatusDistribution[];
}
// 部门统计对象
export interface DeptStatistics {
deptName: string;
totalCount: number;
totalAmount: number;
approvedCount: number;
approvedAmount: number;
}
// 月度趋势对象
export interface MonthlyTrend {
month: string;
count: number;
amount: number;
}
// 状态分布对象
export interface StatusDistribution {
status: string;
statusName: string;
count: number;
percentage: number;
}
+297
View File
@@ -0,0 +1,297 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import {
GraduateInfoVO,
GraduateInfoForm,
GraduateInfoQuery,
GraduateStatisticsVO
} from '@/api/zsjy/types';
/**
* 查询毕业生信息列表
* @param query 查询参数
*/
export const listGraduateInfo = (query?: GraduateInfoQuery): AxiosPromise<GraduateInfoVO[]> => {
return request({
url: '/zsjy/graduate/list',
method: 'get',
params: query
});
};
/**
* 查询毕业生信息详细信息
* @param id 毕业生信息ID
*/
export const getGraduateInfo = (id: string | number): AxiosPromise<GraduateInfoVO> => {
return request({
url: `/zsjy/graduate/${id}`,
method: 'get'
});
};
/**
* 新增毕业生信息
* @param data 毕业生信息数据
*/
export const addGraduateInfo = (data: GraduateInfoForm) => {
return request({
url: '/zsjy/graduate',
method: 'post',
data: data
});
};
/**
* 修改毕业生信息
* @param data 毕业生信息数据
*/
export const updateGraduateInfo = (data: GraduateInfoForm) => {
return request({
url: '/zsjy/graduate',
method: 'put',
data: data
});
};
/**
* 删除毕业生信息
* @param id 毕业生信息ID
*/
export const delGraduateInfo = (id: string | number | Array<string | number>) => {
return request({
url: `/zsjy/graduate/${id}`,
method: 'delete'
});
};
/**
* 导出毕业生信息列表
* @param query 查询参数
*/
export const exportGraduateInfo = (query: GraduateInfoQuery) => {
return request({
url: '/zsjy/graduate/export',
method: 'post',
data: query,
responseType: 'blob'
});
};
/**
* 根据学号查询毕业生信息
* @param studentNo 学号
*/
export const getGraduateInfoByStudentNo = (studentNo: string): AxiosPromise<GraduateInfoVO> => {
return request({
url: `/zsjy/graduate/student/${studentNo}`,
method: 'get'
});
};
/**
* 根据身份证号查询毕业生信息
* @param idCard 身份证号
*/
export const getGraduateInfoByIdCard = (idCard: string): AxiosPromise<GraduateInfoVO> => {
return request({
url: `/zsjy/graduate/idcard/${idCard}`,
method: 'get'
});
};
/**
* 校验学号是否唯一
* @param studentNo 学号
* @param id 主键ID(修改时传入)
*/
export const checkStudentNoUnique = (studentNo: string, id?: string | number): AxiosPromise<boolean> => {
return request({
url: '/zsjy/graduate/checkStudentNo',
method: 'get',
params: { studentNo, id }
});
};
/**
* 校验身份证号是否唯一
* @param idCard 身份证号
* @param id 主键ID(修改时传入)
*/
export const checkIdCardUnique = (idCard: string, id?: string | number): AxiosPromise<boolean> => {
return request({
url: '/zsjy/graduate/checkIdCard',
method: 'get',
params: { idCard, id }
});
};
/**
* 审核毕业生信息
* @param id 主键
* @param auditStatus 审核状态
* @param auditRemark 审核意见
*/
export const auditGraduateInfo = (id: string | number, auditStatus: string, auditRemark?: string) => {
return request({
url: `/zsjy/graduate/audit/${id}`,
method: 'put',
params: { auditStatus, auditRemark }
});
};
/**
* 批量审核毕业生信息
* @param ids 主键数组
* @param auditStatus 审核状态
* @param auditRemark 审核意见
*/
export const batchAuditGraduateInfo = (ids: (string | number)[], auditStatus: string, auditRemark?: string) => {
return request({
url: '/zsjy/graduate/batchAudit',
method: 'put',
data: ids,
params: { auditStatus, auditRemark }
});
};
/**
* 统计总体就业情况
*/
export const getOverallStatistics = (): AxiosPromise<GraduateStatisticsVO> => {
return request({
url: '/zsjy/graduate/statistics/overall',
method: 'get'
});
};
/**
* 按专业统计就业情况
* @param graduationYear 毕业年份
*/
export const getStatisticsByMajor = (graduationYear?: number): AxiosPromise<GraduateStatisticsVO[]> => {
return request({
url: '/zsjy/graduate/statistics/major',
method: 'get',
params: { graduationYear }
});
};
/**
* 按学院统计就业情况
* @param graduationYear 毕业年份
*/
export const getStatisticsByCollege = (graduationYear?: number): AxiosPromise<GraduateStatisticsVO[]> => {
return request({
url: '/zsjy/graduate/statistics/college',
method: 'get',
params: { graduationYear }
});
};
/**
* 按就业状态统计
* @param graduationYear 毕业年份
*/
export const getStatisticsByEmploymentStatus = (graduationYear?: number): AxiosPromise<GraduateStatisticsVO[]> => {
return request({
url: '/zsjy/graduate/statistics/employment',
method: 'get',
params: { graduationYear }
});
};
/**
* 按单位性质统计
* @param graduationYear 毕业年份
*/
export const getStatisticsByCompanyType = (graduationYear?: number): AxiosPromise<GraduateStatisticsVO[]> => {
return request({
url: '/zsjy/graduate/statistics/company',
method: 'get',
params: { graduationYear }
});
};
/**
* 按地域分布统计
* @param graduationYear 毕业年份
*/
export const getStatisticsByRegion = (graduationYear?: number): AxiosPromise<GraduateStatisticsVO[]> => {
return request({
url: '/zsjy/graduate/statistics/region',
method: 'get',
params: { graduationYear }
});
};
/**
* 按薪资范围统计
* @param graduationYear 毕业年份
*/
export const getStatisticsBySalaryRange = (graduationYear?: number): AxiosPromise<GraduateStatisticsVO[]> => {
return request({
url: '/zsjy/graduate/statistics/salary',
method: 'get',
params: { graduationYear }
});
};
/**
* 按年份统计历年就业情况
*/
export const getStatisticsByYear = (): AxiosPromise<GraduateStatisticsVO[]> => {
return request({
url: '/zsjy/graduate/statistics/year',
method: 'get'
});
};
/**
* 查询待审核的毕业生信息数量
*/
export const getPendingAuditCount = (): AxiosPromise<number> => {
return request({
url: '/zsjy/graduate/pendingCount',
method: 'get'
});
};
/**
* 查询指定学院的毕业生信息列表
* @param collegeId 学院ID
* @param query 查询条件
*/
export const getListByCollegeId = (collegeId: string | number, query?: GraduateInfoQuery): AxiosPromise<GraduateInfoVO[]> => {
return request({
url: `/zsjy/graduate/college/${collegeId}`,
method: 'get',
params: query
});
};
/**
* 查询指定专业的毕业生信息列表
* @param majorId 专业ID
* @param query 查询条件
*/
export const getListByMajorId = (majorId: string | number, query?: GraduateInfoQuery): AxiosPromise<GraduateInfoVO[]> => {
return request({
url: `/zsjy/graduate/major/${majorId}`,
method: 'get',
params: query
});
};
/**
* 查询指定班级的毕业生信息列表
* @param classId 班级ID
* @param query 查询条件
*/
export const getListByClassId = (classId: string | number, query?: GraduateInfoQuery): AxiosPromise<GraduateInfoVO[]> => {
return request({
url: `/zsjy/graduate/class/${classId}`,
method: 'get',
params: query
});
};