630 lines
14 KiB
TypeScript
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'
|
|
})
|
|
}
|
|
|