修改考核规则
This commit is contained in:
parent
315812f608
commit
e43175ef76
@ -1,3 +1,3 @@
|
|||||||
# 包头高新去考核
|
# 20231205调整
|
||||||
|
|
||||||
1. 4、5级网格员考核
|
表 **kpi_khxz_wgy_3**、**kpi_khxz_wgy_4** 中的 **X** 字段,默认值原来的 **3** 改为 **0**
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<n-form label-placement="left" label-width="auto" :model="form">
|
<n-form label-placement="left" label-width="auto" :model="form">
|
||||||
<n-form-item label="分值*" path="scroe.value">
|
<n-form-item :label="`${type}*`" path="scroe.value">
|
||||||
<n-input-number v-model:value="form.score.value" placeholder="输入分值" :max="form.score.maxValue"
|
<n-input-number v-model:value="form.score.value" :placeholder="`输入${type}`" :max="form.score.maxValue"
|
||||||
:min="form.score.minValue" :precision="2"/>
|
:min="form.score.minValue" :precision="2"/>
|
||||||
</n-form-item>
|
</n-form-item>
|
||||||
<n-form-item label="分值原因*" path="score.reason">
|
<n-form-item :label="`${type}原因*`" path="score.reason">
|
||||||
<n-input type="textarea" v-model:value="form.score.reason" placeholder="输入分值原因" @keydown.enter.prevent />
|
<n-input type="textarea" v-model:value="form.score.reason" :placeholder="`输入${type}原因`" @keydown.enter.prevent />
|
||||||
</n-form-item>
|
</n-form-item>
|
||||||
<!--
|
<!--
|
||||||
<n-space>
|
<n-space>
|
||||||
@ -66,6 +66,10 @@ export default {
|
|||||||
maxScore: {
|
maxScore: {
|
||||||
required: false,
|
required: false,
|
||||||
default: 100
|
default: 100
|
||||||
|
},
|
||||||
|
type: {
|
||||||
|
required: false,
|
||||||
|
default: '分数'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@ -88,7 +92,7 @@ export default {
|
|||||||
value: [
|
value: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入分值'
|
message: `请输入${this.type}`
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -98,11 +102,11 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
onConfirmClick() {
|
onConfirmClick() {
|
||||||
if(this.form.score.value === null) {
|
if(this.form.score.value === null) {
|
||||||
this.message.error('请输入分值')
|
this.message.error(`请输入${this.type}`)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(!this.form.score.reason) {
|
if(!this.form.score.reason) {
|
||||||
this.message.error('请输入分值原因')
|
this.message.error(`请输入${this.type}原因`)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.$emit('confirm', this.rowKey, this.rowIndex, {
|
this.$emit('confirm', this.rowKey, this.rowIndex, {
|
||||||
|
@ -465,7 +465,28 @@ export default {
|
|||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '人口信息录入',
|
title: '社区基数人口数',
|
||||||
|
key: 'communityBasePopulationCount',
|
||||||
|
keyName: 'communityBasePopulationCount',
|
||||||
|
width: 80,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
align: 'center',
|
||||||
|
title: '社区人口数',
|
||||||
|
key: 'communityPopulationCount',
|
||||||
|
keyName: 'communityPopulationCount',
|
||||||
|
width: 80,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
align: 'center',
|
||||||
|
title: '社区人口录入比例',
|
||||||
|
key: 'communityPopulationRate',
|
||||||
|
keyName: 'communityPopulationRate',
|
||||||
|
width: 80,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
align: 'center',
|
||||||
|
title: '人口信息录入(3)',
|
||||||
key: 'W',
|
key: 'W',
|
||||||
keyName: 'populationSave',
|
keyName: 'populationSave',
|
||||||
width: 80,
|
width: 80,
|
||||||
@ -481,7 +502,7 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '人口信息质量管理',
|
title: '人口信息质量管理(3)',
|
||||||
key: 'X',
|
key: 'X',
|
||||||
keyName: 'populationQuality',
|
keyName: 'populationQuality',
|
||||||
width: 80,
|
width: 80,
|
||||||
@ -497,7 +518,7 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '人口信息维护',
|
title: '人口信息维护(4)',
|
||||||
key: 'Y',
|
key: 'Y',
|
||||||
keyName: 'populationEdit',
|
keyName: 'populationEdit',
|
||||||
width: 80,
|
width: 80,
|
||||||
@ -536,7 +557,7 @@ export default {
|
|||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '党建信息上报',
|
title: '党建信息上报(3)',
|
||||||
key: 'AA',
|
key: 'AA',
|
||||||
keyName: 'partySave',
|
keyName: 'partySave',
|
||||||
width: 80,
|
width: 80,
|
||||||
@ -552,7 +573,7 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '党建信息质量管理',
|
title: '党建信息质量管理(3)',
|
||||||
key: 'AB',
|
key: 'AB',
|
||||||
keyName: 'partyQuality',
|
keyName: 'partyQuality',
|
||||||
width: 80,
|
width: 80,
|
||||||
@ -568,7 +589,7 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '党建信息维护',
|
title: '党建信息维护(4)',
|
||||||
key: 'AC',
|
key: 'AC',
|
||||||
keyName: 'partyEdit',
|
keyName: 'partyEdit',
|
||||||
width: 80,
|
width: 80,
|
||||||
@ -1058,10 +1079,18 @@ export default {
|
|||||||
let totalGridCount = 0;
|
let totalGridCount = 0;
|
||||||
data.forEach((item, index) => {
|
data.forEach((item, index) => {
|
||||||
item.A = index + 1;
|
item.A = index + 1;
|
||||||
item.F = item.E === 0 ? 0 : (item.D / item.E).toFixed(2);
|
item.F = item.E === 0 ? 0 : parseFloat((item.D / item.E).toFixed(2));
|
||||||
item.H = Math.min(item.F * item.G, item.D);
|
item.H = Math.min(item.F * item.G, item.D);
|
||||||
item.J = Math.min(item.F * item.I, item.D);
|
item.J = Math.min(item.F * item.I, item.D);
|
||||||
item.L = (item.K > 10 ? 10 : item.K) * 0.5;
|
item.L = (item.K > 10 ? 10 : item.K) * 0.5;
|
||||||
|
item.Q = item.communityPopulationRate >= 0.75 ? 10 : (item.communityPopulationRate >= 0.6 ? 5 : 0);
|
||||||
|
// 人口信息管理
|
||||||
|
item.W = parseFloat((3 * item.communityPopulationRate).toFixed(2));
|
||||||
|
item.Y = parseFloat((4 * item.communityPopulationRate).toFixed(2));
|
||||||
|
// 党组织建设
|
||||||
|
item.AA = item.communityPopulationRate >= 0.75 ? 3 : (item.communityPopulationRate >= 0.6 ? 1.5 : 0);
|
||||||
|
item.AB = item.communityPopulationRate >= 0.75 ? 3 : (item.communityPopulationRate >= 0.6 ? 1.5 : 0);
|
||||||
|
item.AC = item.communityPopulationRate >= 0.75 ? 4 : (item.communityPopulationRate >= 0.6 ? 2 : 0);
|
||||||
item.S = item.R * 0.2;
|
item.S = item.R * 0.2;
|
||||||
totalGridCount += item.gridCount;
|
totalGridCount += item.gridCount;
|
||||||
})
|
})
|
||||||
|
@ -45,7 +45,7 @@
|
|||||||
:show="modal.scoring.show" :show-icon="false" :mask-closable="true" :closable="false"
|
:show="modal.scoring.show" :show-icon="false" :mask-closable="true" :closable="false"
|
||||||
:on-update-show="onScroingCloseClick">
|
:on-update-show="onScroingCloseClick">
|
||||||
<scoring :row-key="modal.scoring.rowKey" :row-index="modal.scoring.rowIndex" :score="modal.scoring.score"
|
<scoring :row-key="modal.scoring.rowKey" :row-index="modal.scoring.rowIndex" :score="modal.scoring.score"
|
||||||
:reason="modal.scoring.reason" :min-score="modal.scoring.minScore" :max-score="modal.scoring.maxScore"
|
:reason="modal.scoring.reason" :min-score="modal.scoring.minScore" :max-score="modal.scoring.maxScore" :type="modal.scoring.type"
|
||||||
@confirm="onScroingConfimClick" />
|
@confirm="onScroingConfimClick" />
|
||||||
</n-modal>
|
</n-modal>
|
||||||
</template>
|
</template>
|
||||||
@ -191,6 +191,14 @@ export default {
|
|||||||
key: 'F',
|
key: 'F',
|
||||||
keyName: 'reward',
|
keyName: 'reward',
|
||||||
width: 60,
|
width: 60,
|
||||||
|
render(row, index) {
|
||||||
|
return h('a', {
|
||||||
|
href: 'javascript:void(0)',
|
||||||
|
onClick() {
|
||||||
|
vueSelf.onRewardClick(row, index);
|
||||||
|
}
|
||||||
|
}, row.F);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -344,7 +352,7 @@ export default {
|
|||||||
score: 0,
|
score: 0,
|
||||||
reason: '',
|
reason: '',
|
||||||
minScore: null,
|
minScore: null,
|
||||||
maxScore: null
|
maxScore: null,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -371,6 +379,20 @@ export default {
|
|||||||
onScroingCloseClick() {
|
onScroingCloseClick() {
|
||||||
this.modal.scoring.show = false;
|
this.modal.scoring.show = false;
|
||||||
},
|
},
|
||||||
|
// 奖励
|
||||||
|
onRewardClick(row, index) {
|
||||||
|
let backTimeout = row.F;
|
||||||
|
this.modal.scoring.show = true;
|
||||||
|
this.modal.scoring.rowKey = 'F';
|
||||||
|
this.modal.scoring.rowIndex = index;
|
||||||
|
this.modal.scoring.score = backTimeout;
|
||||||
|
this.modal.scoring.reason = row.reasonF;
|
||||||
|
this.modal.scoring.maxScore = null;
|
||||||
|
this.modal.scoring.minScore = null;
|
||||||
|
this.modal.scoring.userName = row.B;
|
||||||
|
this.modal.scoring.title = '案件奖励金额设置';
|
||||||
|
this.modal.scoring.type = '金额';
|
||||||
|
},
|
||||||
// 未在规定的时限内退单,影响处置时效 -
|
// 未在规定的时限内退单,影响处置时效 -
|
||||||
onBackTimeoutClick(row, index) {
|
onBackTimeoutClick(row, index) {
|
||||||
let backTimeout = row.G;
|
let backTimeout = row.G;
|
||||||
@ -383,6 +405,7 @@ export default {
|
|||||||
this.modal.scoring.minScore = null;
|
this.modal.scoring.minScore = null;
|
||||||
this.modal.scoring.userName = row.B;
|
this.modal.scoring.userName = row.B;
|
||||||
this.modal.scoring.title = '未在规定的时限内退单,影响处置时效';
|
this.modal.scoring.title = '未在规定的时限内退单,影响处置时效';
|
||||||
|
delete this.modal.scoring.type;
|
||||||
},
|
},
|
||||||
// 自行上报案件未完成办理 -
|
// 自行上报案件未完成办理 -
|
||||||
onSelfUnHandleClick(row, index) {
|
onSelfUnHandleClick(row, index) {
|
||||||
@ -395,7 +418,9 @@ export default {
|
|||||||
this.modal.scoring.maxScore = null;
|
this.modal.scoring.maxScore = null;
|
||||||
this.modal.scoring.minScore = null;
|
this.modal.scoring.minScore = null;
|
||||||
this.modal.scoring.userName = row.B;
|
this.modal.scoring.userName = row.B;
|
||||||
|
this.modal.scoring.type = null;
|
||||||
this.modal.scoring.title = '自行上报案件未完成办理';
|
this.modal.scoring.title = '自行上报案件未完成办理';
|
||||||
|
delete this.modal.scoring.type;
|
||||||
},
|
},
|
||||||
// 未办理案件造成严重影响 -
|
// 未办理案件造成严重影响 -
|
||||||
onUnHandleErrorClick(row, index) {
|
onUnHandleErrorClick(row, index) {
|
||||||
@ -408,7 +433,9 @@ export default {
|
|||||||
this.modal.scoring.maxScore = null;
|
this.modal.scoring.maxScore = null;
|
||||||
this.modal.scoring.minScore = null;
|
this.modal.scoring.minScore = null;
|
||||||
this.modal.scoring.userName = row.B;
|
this.modal.scoring.userName = row.B;
|
||||||
|
this.modal.scoring.type = null;
|
||||||
this.modal.scoring.title = '未办理案件造成严重影响';
|
this.modal.scoring.title = '未办理案件造成严重影响';
|
||||||
|
delete this.modal.scoring.type;
|
||||||
},
|
},
|
||||||
// 其它情况 -
|
// 其它情况 -
|
||||||
onOthersClick(row, index) {
|
onOthersClick(row, index) {
|
||||||
@ -422,6 +449,7 @@ export default {
|
|||||||
this.modal.scoring.minScore = null;
|
this.modal.scoring.minScore = null;
|
||||||
this.modal.scoring.userName = row.B;
|
this.modal.scoring.userName = row.B;
|
||||||
this.modal.scoring.title = '其它情况';
|
this.modal.scoring.title = '其它情况';
|
||||||
|
delete this.modal.scoring.type;
|
||||||
},
|
},
|
||||||
// 处理情况 -
|
// 处理情况 -
|
||||||
onHandleResultClick(row, index) {
|
onHandleResultClick(row, index) {
|
||||||
@ -435,6 +463,7 @@ export default {
|
|||||||
this.modal.scoring.minScore = null;
|
this.modal.scoring.minScore = null;
|
||||||
this.modal.scoring.userName = row.B;
|
this.modal.scoring.userName = row.B;
|
||||||
this.modal.scoring.title = '处理情况';
|
this.modal.scoring.title = '处理情况';
|
||||||
|
delete this.modal.scoring.type;
|
||||||
},
|
},
|
||||||
// 督察案件结案情况 -
|
// 督察案件结案情况 -
|
||||||
onSuperviseResultClick(row, index) {
|
onSuperviseResultClick(row, index) {
|
||||||
@ -448,6 +477,7 @@ export default {
|
|||||||
this.modal.scoring.minScore = null;
|
this.modal.scoring.minScore = null;
|
||||||
this.modal.scoring.userName = row.B;
|
this.modal.scoring.userName = row.B;
|
||||||
this.modal.scoring.title = '督察案件结案情况';
|
this.modal.scoring.title = '督察案件结案情况';
|
||||||
|
delete this.modal.scoring.type;
|
||||||
},
|
},
|
||||||
computeM(row) {
|
computeM(row) {
|
||||||
return Math.max(row.C - row.G - row.H - row.I - row.J - row.K - row.L, 0);
|
return Math.max(row.C - row.G - row.H - row.I - row.J - row.K - row.L, 0);
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
:show="modal.scoring.show" :show-icon="false" :mask-closable="true" :closable="false"
|
:show="modal.scoring.show" :show-icon="false" :mask-closable="true" :closable="false"
|
||||||
:on-update-show="onScroingCloseClick">
|
:on-update-show="onScroingCloseClick">
|
||||||
<scoring :row-key="modal.scoring.rowKey" :row-index="modal.scoring.rowIndex" :score="modal.scoring.score"
|
<scoring :row-key="modal.scoring.rowKey" :row-index="modal.scoring.rowIndex" :score="modal.scoring.score"
|
||||||
:reason="modal.scoring.reason" :min-score="modal.scoring.minScore" :max-score="modal.scoring.maxScore"
|
:reason="modal.scoring.reason" :min-score="modal.scoring.minScore" :max-score="modal.scoring.maxScore" :type="modal.scoring.type"
|
||||||
@confirm="onScroingConfimClick" />
|
@confirm="onScroingConfimClick" />
|
||||||
</n-modal>
|
</n-modal>
|
||||||
</template>
|
</template>
|
||||||
@ -175,6 +175,14 @@ export default {
|
|||||||
key: 'F',
|
key: 'F',
|
||||||
keyName: 'reward',
|
keyName: 'reward',
|
||||||
width: 60,
|
width: 60,
|
||||||
|
render(row, index) {
|
||||||
|
return h('a', {
|
||||||
|
href: 'javascript:void(0)',
|
||||||
|
onClick() {
|
||||||
|
vueSelf.onRewardClick(row, index);
|
||||||
|
}
|
||||||
|
}, row.F);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
@ -332,6 +340,20 @@ export default {
|
|||||||
onScroingCloseClick() {
|
onScroingCloseClick() {
|
||||||
this.modal.scoring.show = false;
|
this.modal.scoring.show = false;
|
||||||
},
|
},
|
||||||
|
// 金额
|
||||||
|
onRewardClick(row, index) {
|
||||||
|
let backTimeout = row.F;
|
||||||
|
this.modal.scoring.show = true;
|
||||||
|
this.modal.scoring.rowKey = 'F';
|
||||||
|
this.modal.scoring.rowIndex = index;
|
||||||
|
this.modal.scoring.score = backTimeout;
|
||||||
|
this.modal.scoring.reason = row.reasonF;
|
||||||
|
this.modal.scoring.maxScore = null;
|
||||||
|
this.modal.scoring.minScore = null;
|
||||||
|
this.modal.scoring.userName = row.B;
|
||||||
|
this.modal.scoring.title = '案件奖励金额设置';
|
||||||
|
this.modal.scoring.type = '金额';
|
||||||
|
},
|
||||||
// 未在规定的时限内退单,影响处置时效 -
|
// 未在规定的时限内退单,影响处置时效 -
|
||||||
onUnBackErrorClick(row, index) {
|
onUnBackErrorClick(row, index) {
|
||||||
let unBackError = row.H;
|
let unBackError = row.H;
|
||||||
@ -344,6 +366,7 @@ export default {
|
|||||||
this.modal.scoring.minScore = null;
|
this.modal.scoring.minScore = null;
|
||||||
this.modal.scoring.userName = row.B;
|
this.modal.scoring.userName = row.B;
|
||||||
this.modal.scoring.title = '未在规定的时限内退单,影响处置时效';
|
this.modal.scoring.title = '未在规定的时限内退单,影响处置时效';
|
||||||
|
delete this.modal.scoring.type;
|
||||||
},
|
},
|
||||||
// 自行上报案件没完成扣分 -
|
// 自行上报案件没完成扣分 -
|
||||||
onOthersClick(row, index) {
|
onOthersClick(row, index) {
|
||||||
@ -357,6 +380,7 @@ export default {
|
|||||||
this.modal.scoring.minScore = null;
|
this.modal.scoring.minScore = null;
|
||||||
this.modal.scoring.userName = row.B;
|
this.modal.scoring.userName = row.B;
|
||||||
this.modal.scoring.title = '自行上报案件没完成扣分';
|
this.modal.scoring.title = '自行上报案件没完成扣分';
|
||||||
|
delete this.modal.scoring.type;
|
||||||
},
|
},
|
||||||
// 处理情况 -
|
// 处理情况 -
|
||||||
onHandleResultClick(row, index) {
|
onHandleResultClick(row, index) {
|
||||||
@ -370,6 +394,7 @@ export default {
|
|||||||
this.modal.scoring.minScore = null;
|
this.modal.scoring.minScore = null;
|
||||||
this.modal.scoring.userName = row.B;
|
this.modal.scoring.userName = row.B;
|
||||||
this.modal.scoring.title = '处理情况';
|
this.modal.scoring.title = '处理情况';
|
||||||
|
delete this.modal.scoring.type;
|
||||||
},
|
},
|
||||||
// 督察案件 -
|
// 督察案件 -
|
||||||
onSuperviseResultClick(row, index) {
|
onSuperviseResultClick(row, index) {
|
||||||
@ -383,6 +408,7 @@ export default {
|
|||||||
this.modal.scoring.minScore = null;
|
this.modal.scoring.minScore = null;
|
||||||
this.modal.scoring.userName = row.B;
|
this.modal.scoring.userName = row.B;
|
||||||
this.modal.scoring.title = '督察案件';
|
this.modal.scoring.title = '督察案件';
|
||||||
|
delete this.modal.scoring.type;
|
||||||
},
|
},
|
||||||
computeL(row) {
|
computeL(row) {
|
||||||
return Math.max(row.G - row.H - row.J - row.K + row.L + row.M, 0);
|
return Math.max(row.G - row.H - row.J - row.K + row.L + row.M, 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user