|
|
|
|
@ -8,35 +8,43 @@
|
|
|
|
|
<div class="detail-achievement-modal__body">
|
|
|
|
|
<table id="detail-achievement-table" ref="detail-achievement-table">
|
|
|
|
|
<tr>
|
|
|
|
|
<th style="text-align: center;font-weight: 600;line-height: 2;font-size: 17px;" colspan="8">江苏省省级项目预算绩效目标表</th>
|
|
|
|
|
<th style="text-align: center;font-weight: 600;line-height: 2;font-size: 17px;" colspan="9">江苏省省级项目预算绩效目标表</th>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td style="text-align: center;font-weight: 600;" colspan="8">{{ detail.year }} 年度</td>
|
|
|
|
|
<td style="text-align: center;font-weight: 600;" colspan="9">{{ detail.year }} 年度</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<th>单位名称</th>
|
|
|
|
|
<td colspan="7">江苏省苏州环境监测中心</td>
|
|
|
|
|
<th>{{ type === 1 ? '年中' : '年度' }}绩效目标</th>
|
|
|
|
|
<td colspan="8">{{ type === 1 ? detail.year_midst : detail.year_end }}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<th>主要职能</th>
|
|
|
|
|
<td colspan="7">{{ detail.content }}</td>
|
|
|
|
|
<th>{{ type === 1 ? '年中' : '年度' }}绩效目标完成情况</th>
|
|
|
|
|
<td colspan="8"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<th>机构设置及人员配置</th>
|
|
|
|
|
<td colspan="7"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<th :rowspan="contractList.length+1">预算安排及支出情况</th>
|
|
|
|
|
<td colspan="2">
|
|
|
|
|
<!-- <tr>-->
|
|
|
|
|
<!-- <th>单位名称</th>-->
|
|
|
|
|
<!-- <td colspan="7">江苏省苏州环境监测中心</td>-->
|
|
|
|
|
<!-- </tr>-->
|
|
|
|
|
<!-- <tr>-->
|
|
|
|
|
<!-- <th>主要职能</th>-->
|
|
|
|
|
<!-- <td colspan="7">{{ detail.content }}</td>-->
|
|
|
|
|
<!-- </tr>-->
|
|
|
|
|
<!-- <tr>-->
|
|
|
|
|
<!-- <th>机构设置及人员配置</th>-->
|
|
|
|
|
<!-- <td colspan="7"></td>-->
|
|
|
|
|
<!-- </tr>-->
|
|
|
|
|
<!-- <tr>-->
|
|
|
|
|
<!-- <th :rowspan="contractList.length+1">预算安排及支出情况</th>-->
|
|
|
|
|
<!-- <td colspan="2">-->
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
<th colspan="3">
|
|
|
|
|
全年预算数
|
|
|
|
|
</th>
|
|
|
|
|
<th colspan="2">
|
|
|
|
|
实际支出数
|
|
|
|
|
</th>
|
|
|
|
|
</tr>
|
|
|
|
|
<!-- </td>-->
|
|
|
|
|
<!-- <th colspan="3">-->
|
|
|
|
|
<!-- 全年预算数-->
|
|
|
|
|
<!-- </th>-->
|
|
|
|
|
<!-- <th colspan="2">-->
|
|
|
|
|
<!-- 实际支出数-->
|
|
|
|
|
<!-- </th>-->
|
|
|
|
|
<!-- </tr>-->
|
|
|
|
|
<tr v-for="(item, index) in contractList">
|
|
|
|
|
<td colspan="2">
|
|
|
|
|
{{ item.name }}
|
|
|
|
|
@ -52,11 +60,12 @@
|
|
|
|
|
<th>一级指标</th>
|
|
|
|
|
<th>二级指标</th>
|
|
|
|
|
<th>三级指标</th>
|
|
|
|
|
<th>{{ type ? '半年' : '全年' }}(程)指标值</th>
|
|
|
|
|
<th>分值</th>
|
|
|
|
|
<th style="max-width: 30%;">评价要点及评分规则</th>
|
|
|
|
|
<th style="min-width: 100px;">{{ type === 1 ? '半年' : '全年' }}(程)指标值</th>
|
|
|
|
|
<th>实际完成值</th>
|
|
|
|
|
<th>分值</th>
|
|
|
|
|
<th>得分</th>
|
|
|
|
|
<th style="max-width: 30%;">评价要点及评分规则</th>
|
|
|
|
|
<th style="max-width: 24%;">未完成指标原因分析</th>
|
|
|
|
|
<th style="width: 46px;" class="no-export-xlsx">附件</th>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr v-for="(item, index) in planTargetList" :key="item.id">
|
|
|
|
|
@ -64,10 +73,11 @@
|
|
|
|
|
<td :rowspan="spanArr1[index]" v-if="spanArr1[index]" :style="{ 'display': spanArr1[index] ? '' : 'none' }">{{ (item.target && item.target.target_type2_detail) ? item.target.target_type2_detail.name : '' }}</td>
|
|
|
|
|
<td>{{ item.target ? item.target.name : '' }}</td>
|
|
|
|
|
<td>{{ targetValue(item) }}</td>
|
|
|
|
|
<td>{{ item.score }}</td>
|
|
|
|
|
<td style="max-width: 300px;">{{ evaluationMain(item) }}</td>
|
|
|
|
|
<td>{{ actResultFormat(item) }}</td>
|
|
|
|
|
<td>{{ item.score }}</td>
|
|
|
|
|
<td>{{ socre(item) }}</td>
|
|
|
|
|
<td style="max-width: 300px;">{{ evaluationMain(item) }}</td>
|
|
|
|
|
<td></td>
|
|
|
|
|
<td class="no-export-xlsx">
|
|
|
|
|
<el-popover
|
|
|
|
|
placement="bottom-start"
|
|
|
|
|
@ -90,26 +100,26 @@
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<th colspan="4">合计</th>
|
|
|
|
|
<th colspan="5">合计</th>
|
|
|
|
|
<td>{{ targetTotal }}</td>
|
|
|
|
|
<th colspan="2"></th>
|
|
|
|
|
<td>{{ scoreTotal }}</td>
|
|
|
|
|
<th colspan="2"></th>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<th>绩效等级</th>
|
|
|
|
|
<td colspan="7">{{ type ? detail.middle_achievement : detail.end_achievement }}</td>
|
|
|
|
|
<td colspan="8">{{ type === 1 ? detail.middle_achievement : detail.end_achievement }}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<th>主要成效</th>
|
|
|
|
|
<td colspan="7">{{ type ? detail.middle_effect : detail.end_effect }}</td>
|
|
|
|
|
<th>主要成效(通过绩效评价总结的成效)</th>
|
|
|
|
|
<td colspan="8">{{ type === 1 ? detail.middle_effect : detail.end_effect }}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<th>存在问题</th>
|
|
|
|
|
<td colspan="7">{{ type ? detail.middle_question : detail.end_question }}</td>
|
|
|
|
|
<th>存在问题(按照决策、过程、履职、效益分别归类撰写)</th>
|
|
|
|
|
<td colspan="8">{{ type === 1 ? detail.middle_question : detail.end_question }}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<th>整改措施</th>
|
|
|
|
|
<td colspan="7">{{ type ? detail.middle_measure : detail.end_measure }}</td>
|
|
|
|
|
<th>整改措施(针对存在的问题,分别提出相关整改措施)</th>
|
|
|
|
|
<td colspan="8">{{ type === 1 ? detail.middle_measure : detail.end_measure }}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
</div>
|
|
|
|
|
@ -258,23 +268,23 @@ export default {
|
|
|
|
|
if (item.target?.unit_detail?.value !== '无') {
|
|
|
|
|
return `${item.target?.symbol_detail?.value}${this.type ? item.target?.half_target : item.target?.year_target}${item.target?.unit_detail?.value}`
|
|
|
|
|
} else {
|
|
|
|
|
return this.type ? item.target?.half_target : item.target?.year_target
|
|
|
|
|
return this.type === 1 ? item.target?.half_target : item.target?.year_target
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
actResultFormat () {
|
|
|
|
|
return function(item) {
|
|
|
|
|
return item.plan_evaluates?.find(j => j.plan_target_id === item.id)?.result
|
|
|
|
|
return item.plan_evaluates?.find(j => (j.plan_target_id === item.id && j.type === this.type))?.result
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
socre () {
|
|
|
|
|
return function(item) {
|
|
|
|
|
return item.plan_evaluates?.find(j => j.plan_target_id === item.id)?.socre
|
|
|
|
|
return item.plan_evaluates?.find(j => (j.plan_target_id === item.id && j.type === this.type))?.socre
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
evaluationMain () {
|
|
|
|
|
return function(item) {
|
|
|
|
|
return item.plan_evaluates?.find(j => j.plan_target_id === item.id)?.evaluation_main
|
|
|
|
|
return item.plan_evaluates?.find(j => (j.plan_target_id === item.id && j.type === this.type))?.evaluation_main
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
files () {
|
|
|
|
|
@ -290,7 +300,7 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
scoreTotal () {
|
|
|
|
|
return this.planTargetList.reduce((pre, cur) => {
|
|
|
|
|
return pre + (parseFloat(cur?.plan_evaluates?.find(j => j.plan_target_id === cur.id)?.socre) || 0)
|
|
|
|
|
return pre + (parseFloat(cur?.plan_evaluates?.find(j => (j.plan_target_id === cur.id && j.type === this.type))?.socre) || 0)
|
|
|
|
|
}, 0).toFixed(2)
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|