import request from '@/utils/request' import type { AxiosPromise } from 'axios' // ========== 绩效自评API ========== /** * 项目绩效自评视图对象 */ export interface CwProjectPerformanceSelfEvaluationVO { id?: number tenantId?: string projectApplicationId: number applicationNo: string projectName: string supervisoryDept?: string implementUnit?: string evaluationYear: number initialBudget?: number principal?: string contactPhone?: string startDate?: string endDate?: string totalInvestment?: number annualBudget?: number actualExpenditure?: number budgetExecutionRate?: number // 资金到位(年度资金总额) fundValue?: number fundExecutionRate?: number fundScore?: number // 当年财政拨款 currentYearBudgetInitial?: number currentYearBudgetAnnual?: number currentYearBudgetActual?: number currentYearBudgetValue?: number currentYearBudgetExecutionRate?: number currentYearBudgetScore?: number // 上年结转资金 lastYearCarryoverInitial?: number lastYearCarryoverAnnual?: number lastYearCarryoverActual?: number lastYearCarryoverValue?: number lastYearCarryoverExecutionRate?: number lastYearCarryoverScore?: number // 其他资金 otherFundsInitial?: number otherFundsAnnual?: number otherFundsActual?: number otherFundsValue?: number otherFundsExecutionRate?: number otherFundsScore?: number performanceGoal?: string targetCompletion?: string // 数量指标 quantityIndicator?: string quantityTarget?: string quantityActual?: string quantityValue?: number quantityScore?: number quantityDeviation?: string // 质量指标 qualityIndicator?: string qualityTarget?: string qualityActual?: string qualityValue?: number qualityScore?: number qualityDeviation?: string // 时效指标 timelinessIndicator?: string timelinessTarget?: string timelinessActual?: string timelinessValue?: number timelinessScore?: number timelinessDeviation?: string // 成本指标 costIndicator?: string costTarget?: string costActual?: string costValue?: number costScore?: number costDeviation?: string // 经济效益指标 economicIndicator?: string economicTarget?: string economicActual?: string economicValue?: number economicScore?: number economicDeviation?: string // 社会效益指标 socialIndicator?: string socialTarget?: string socialActual?: string socialValue?: number socialScore?: number socialDeviation?: string // 生态效益指标 ecologicalIndicator?: string ecologicalTarget?: string ecologicalActual?: string ecologicalValue?: number ecologicalScore?: number ecologicalDeviation?: string // 满意度指标 satisfactionIndicator?: string satisfactionTarget?: string satisfactionActual?: string satisfactionValue?: number satisfactionScore?: number satisfactionDeviation?: string decisionScore?: number decisionContent?: string processScore?: number processContent?: string outputScore?: number outputContent?: string benefitScore?: number benefitContent?: string totalScore?: number selfEvaluationLevel?: string existingProblems?: string improvementMeasures?: string evaluationStatus: string allowEditAfterSubmit?: number submitTime?: string submitBy?: number submitByName?: string approveTime?: string approveBy?: number approveByName?: string approveOpinion?: string remark?: string // 锁定相关字段 isLocked?: number lockTime?: string lockBy?: number lockByName?: string createTime?: string updateTime?: string // 前端使用的字段,用于标记是否有运行监控数据 hasMonitoringData?: boolean // 运行监控数据列表 monitoringList?: CwPerformanceMonitoringVO[] } /** * 项目绩效自评表单对象 */ export interface CwProjectPerformanceSelfEvaluationForm { id?: number projectApplicationId: number applicationNo?: string projectName: string supervisoryDept?: string implementUnit?: string evaluationYear: number initialBudget?: number principal?: string contactPhone?: string startDate?: string endDate?: string totalInvestment?: number annualBudget?: number actualExpenditure?: number budgetExecutionRate?: number // 资金到位(年度资金总额) fundValue?: number fundExecutionRate?: number fundScore?: number // 当年财政拨款 currentYearBudgetInitial?: number currentYearBudgetAnnual?: number currentYearBudgetActual?: number currentYearBudgetValue?: number currentYearBudgetExecutionRate?: number currentYearBudgetScore?: number // 上年结转资金 lastYearCarryoverInitial?: number lastYearCarryoverAnnual?: number lastYearCarryoverActual?: number lastYearCarryoverValue?: number lastYearCarryoverExecutionRate?: number lastYearCarryoverScore?: number // 其他资金 otherFundsInitial?: number otherFundsAnnual?: number otherFundsActual?: number otherFundsValue?: number otherFundsExecutionRate?: number otherFundsScore?: number performanceGoal?: string targetCompletion?: string // 数量指标 quantityIndicator?: string quantityTarget?: string quantityActual?: string quantityValue?: number quantityScore?: number quantityDeviation?: string // 质量指标 qualityIndicator?: string qualityTarget?: string qualityActual?: string qualityValue?: number qualityScore?: number qualityDeviation?: string // 时效指标 timelinessIndicator?: string timelinessTarget?: string timelinessActual?: string timelinessValue?: number timelinessScore?: number timelinessDeviation?: string // 成本指标 costIndicator?: string costTarget?: string costActual?: string costValue?: number costScore?: number costDeviation?: string // 经济效益指标 economicIndicator?: string economicTarget?: string economicActual?: string economicValue?: number economicScore?: number economicDeviation?: string // 社会效益指标 socialIndicator?: string socialTarget?: string socialActual?: string socialValue?: number socialScore?: number socialDeviation?: string // 生态效益指标 ecologicalIndicator?: string ecologicalTarget?: string ecologicalActual?: string ecologicalValue?: number ecologicalScore?: number ecologicalDeviation?: string // 满意度指标 satisfactionIndicator?: string satisfactionTarget?: string satisfactionActual?: string satisfactionValue?: number satisfactionScore?: number satisfactionDeviation?: string decisionScore?: number decisionContent?: string processScore?: number processContent?: string outputScore?: number outputContent?: string benefitScore?: number benefitContent?: string totalScore?: number selfEvaluationLevel?: string existingProblems?: string improvementMeasures?: string evaluationStatus?: string remark?: string } /** * 项目绩效自评查询对象 */ export interface CwProjectPerformanceSelfEvaluationQuery { pageNum?: number pageSize?: number projectApplicationId?: number applicationNo?: string projectName?: string evaluationYear?: number evaluationStatus?: string selfEvaluationLevel?: string } /** * 查询项目绩效自评列表 */ export function listEvaluation(query: CwProjectPerformanceSelfEvaluationQuery): AxiosPromise { return request({ url: '/cw/evaluation/list', method: 'get', params: query }) } /** * 查询项目绩效自评详细 */ export function getEvaluation(id: number): AxiosPromise { return request({ url: `/cw/evaluation/${id}`, method: 'get' }) } /** * 新增项目绩效自评 */ export function addEvaluation(data: CwProjectPerformanceSelfEvaluationForm): AxiosPromise { return request({ url: '/cw/evaluation', method: 'post', data }) } /** * 修改项目绩效自评 */ export function updateEvaluation(data: CwProjectPerformanceSelfEvaluationForm): AxiosPromise { return request({ url: '/cw/evaluation', method: 'put', data }) } /** * 保存自评草稿 */ export function saveDraft(data: CwProjectPerformanceSelfEvaluationForm): AxiosPromise { return request({ url: '/cw/evaluation/saveDraft', method: 'post', data }) } /** * 提交自评 */ export function submitEvaluation(id: number): AxiosPromise { return request({ url: `/cw/evaluation/submit/${id}`, method: 'post' }) } /** * 审核自评 */ export function approveEvaluation(id: number, opinion: string, approved: boolean): AxiosPromise { return request({ url: `/cw/evaluation/approve/${id}`, method: 'post', params: { opinion, approved } }) } /** * 删除项目绩效自评 */ export function delEvaluation(ids: number | number[]): AxiosPromise { return request({ url: `/cw/evaluation/${ids}`, method: 'delete' }) } /** * 查询我的自评列表 */ export function getMyEvaluations(): AxiosPromise { return request({ url: '/cw/evaluation/my', method: 'get' }) } /** * 查询待审核自评列表 */ export function getPendingApprovals(): AxiosPromise { return request({ url: '/cw/evaluation/pending', method: 'get' }) } /** * 导出项目绩效自评 */ export function exportEvaluation(query: CwProjectPerformanceSelfEvaluationQuery): AxiosPromise { return request({ url: '/cw/evaluation/export', method: 'post', data: query, responseType: 'blob' }) } // ========== 月度运行监控API ========== /** * 项目月度运行监控视图对象 */ export interface CwProjectMonthlyMonitoringVO { id?: number evaluationId: number projectApplicationId: number monitoringYear: number monitoringMonth: number plannedProgress?: number actualProgress?: number progressVariance?: number monthlyBudget?: number monthlyExpenditure?: number cumulativeBudget?: number cumulativeExpenditure?: number fundExecutionRate?: number keyMilestones?: string milestoneCompletion?: string problemsEncountered?: string riskDescription?: string countermeasures?: string nextMonthPlan?: string fillStatus: string fillTime?: string fillBy?: number fillByName?: string remark?: string createTime?: string updateTime?: string } /** * 项目月度运行监控表单对象 */ export interface CwProjectMonthlyMonitoringForm { id?: number evaluationId: number projectApplicationId: number monitoringYear: number monitoringMonth: number plannedProgress?: number actualProgress?: number progressVariance?: number monthlyBudget?: number monthlyExpenditure?: number cumulativeBudget?: number cumulativeExpenditure?: number fundExecutionRate?: number keyMilestones?: string milestoneCompletion?: string problemsEncountered?: string riskDescription?: string countermeasures?: string nextMonthPlan?: string fillStatus?: string remark?: string } /** * 查询某个自评的全年监控数据 */ export function getYearlyMonitoring(evaluationId: number, year: number): AxiosPromise> { return request({ url: `/cw/monitoring/year/${evaluationId}/${year}`, method: 'get' }) } /** * 根据自评ID查询月度监控列表 */ export function getMonitoringByEvaluationId(evaluationId: number): AxiosPromise { return request({ url: `/cw/monitoring/evaluation/${evaluationId}`, method: 'get' }) } /** * 填报月度数据 */ export function fillMonthlyData(data: CwProjectMonthlyMonitoringForm): AxiosPromise { return request({ url: '/cw/monitoring/fill', method: 'post', data }) } /** * 批量保存月度数据 */ export function batchSaveMonitoring(evaluationId: number, list: CwProjectMonthlyMonitoringForm[]): AxiosPromise { return request({ url: '/cw/monitoring/batch', method: 'post', data: { evaluationId, list } }) } /** * 修改月度监控 */ export function updateMonitoring(data: CwProjectMonthlyMonitoringForm): AxiosPromise { return request({ url: '/cw/monitoring', method: 'put', data }) } // ========== 绩效运行监控API ========== /** * 绩效运行监控视图对象 */ export interface CwPerformanceMonitoringVO { id?: number evaluationId: number monitoringPeriod: string fundUsage: string performanceTargetCompletion: string indicators?: string // JSON字符串,存储指标数组 existingProblems?: string indicatorVarianceAnalysis?: string nextStepSuggestions?: string fillBy?: number fillByName?: string createTime?: string updateTime?: string } /** * 绩效运行监控表单数据结构 */ export interface PerformanceMonitoringForm { id?: number evaluationId: number monitoringPeriod: string fundUsage: string performanceTargetCompletion: string indicators: string // JSON字符串,存储指标数组 existingProblems?: string indicatorVarianceAnalysis?: string nextStepSuggestions?: string fillByName?: string createTime?: string } /** * 查询绩效运行监控列表 */ export function listPerformanceMonitoring(evaluationId: number): AxiosPromise { return request({ url: `/cw/performanceMonitoring/list/${evaluationId}`, method: 'get' }) } /** * 获取绩效运行监控详情 */ export function getPerformanceMonitoring(id: number): AxiosPromise { return request({ url: `/cw/performanceMonitoring/${id}`, method: 'get' }) } /** * 新增绩效运行监控 */ export function addPerformanceMonitoring(data: PerformanceMonitoringForm): AxiosPromise { return request({ url: '/cw/performanceMonitoring', method: 'post', data }) } /** * 修改绩效运行监控 */ export function updatePerformanceMonitoring(data: PerformanceMonitoringForm): AxiosPromise { return request({ url: '/cw/performanceMonitoring', method: 'put', data }) } /** * 删除绩效运行监控 */ export function delPerformanceMonitoring(id: number): AxiosPromise { return request({ url: `/cw/performanceMonitoring/${id}`, method: 'delete' }) }