Files
hzdyjs/web/src/api/cw/performanceEvaluation.ts
T

630 lines
14 KiB
TypeScript

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<any> {
return request({
url: '/cw/evaluation/list',
method: 'get',
params: query
})
}
/**
* 查询项目绩效自评详细
*/
export function getEvaluation(id: number): AxiosPromise<CwProjectPerformanceSelfEvaluationVO> {
return request({
url: `/cw/evaluation/${id}`,
method: 'get'
})
}
/**
* 新增项目绩效自评
*/
export function addEvaluation(data: CwProjectPerformanceSelfEvaluationForm): AxiosPromise<any> {
return request({
url: '/cw/evaluation',
method: 'post',
data
})
}
/**
* 修改项目绩效自评
*/
export function updateEvaluation(data: CwProjectPerformanceSelfEvaluationForm): AxiosPromise<any> {
return request({
url: '/cw/evaluation',
method: 'put',
data
})
}
/**
* 保存自评草稿
*/
export function saveDraft(data: CwProjectPerformanceSelfEvaluationForm): AxiosPromise<any> {
return request({
url: '/cw/evaluation/saveDraft',
method: 'post',
data
})
}
/**
* 提交自评
*/
export function submitEvaluation(id: number): AxiosPromise<any> {
return request({
url: `/cw/evaluation/submit/${id}`,
method: 'post'
})
}
/**
* 审核自评
*/
export function approveEvaluation(id: number, opinion: string, approved: boolean): AxiosPromise<any> {
return request({
url: `/cw/evaluation/approve/${id}`,
method: 'post',
params: { opinion, approved }
})
}
/**
* 删除项目绩效自评
*/
export function delEvaluation(ids: number | number[]): AxiosPromise<any> {
return request({
url: `/cw/evaluation/${ids}`,
method: 'delete'
})
}
/**
* 查询我的自评列表
*/
export function getMyEvaluations(): AxiosPromise<CwProjectPerformanceSelfEvaluationVO[]> {
return request({
url: '/cw/evaluation/my',
method: 'get'
})
}
/**
* 查询待审核自评列表
*/
export function getPendingApprovals(): AxiosPromise<CwProjectPerformanceSelfEvaluationVO[]> {
return request({
url: '/cw/evaluation/pending',
method: 'get'
})
}
/**
* 导出项目绩效自评
*/
export function exportEvaluation(query: CwProjectPerformanceSelfEvaluationQuery): AxiosPromise<any> {
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<Record<number, CwProjectMonthlyMonitoringVO>> {
return request({
url: `/cw/monitoring/year/${evaluationId}/${year}`,
method: 'get'
})
}
/**
* 根据自评ID查询月度监控列表
*/
export function getMonitoringByEvaluationId(evaluationId: number): AxiosPromise<CwProjectMonthlyMonitoringVO[]> {
return request({
url: `/cw/monitoring/evaluation/${evaluationId}`,
method: 'get'
})
}
/**
* 填报月度数据
*/
export function fillMonthlyData(data: CwProjectMonthlyMonitoringForm): AxiosPromise<any> {
return request({
url: '/cw/monitoring/fill',
method: 'post',
data
})
}
/**
* 批量保存月度数据
*/
export function batchSaveMonitoring(evaluationId: number, list: CwProjectMonthlyMonitoringForm[]): AxiosPromise<any> {
return request({
url: '/cw/monitoring/batch',
method: 'post',
data: {
evaluationId,
list
}
})
}
/**
* 修改月度监控
*/
export function updateMonitoring(data: CwProjectMonthlyMonitoringForm): AxiosPromise<any> {
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<PerformanceMonitoringForm[]> {
return request({
url: `/cw/performanceMonitoring/list/${evaluationId}`,
method: 'get'
})
}
/**
* 获取绩效运行监控详情
*/
export function getPerformanceMonitoring(id: number): AxiosPromise<PerformanceMonitoringForm> {
return request({
url: `/cw/performanceMonitoring/${id}`,
method: 'get'
})
}
/**
* 新增绩效运行监控
*/
export function addPerformanceMonitoring(data: PerformanceMonitoringForm): AxiosPromise<any> {
return request({
url: '/cw/performanceMonitoring',
method: 'post',
data
})
}
/**
* 修改绩效运行监控
*/
export function updatePerformanceMonitoring(data: PerformanceMonitoringForm): AxiosPromise<any> {
return request({
url: '/cw/performanceMonitoring',
method: 'put',
data
})
}
/**
* 删除绩效运行监控
*/
export function delPerformanceMonitoring(id: number): AxiosPromise<any> {
return request({
url: `/cw/performanceMonitoring/${id}`,
method: 'delete'
})
}