Compare commits
10 Commits
27402b350a
...
12bae65db0
Author | SHA1 | Date | |
---|---|---|---|
|
12bae65db0 | ||
|
24823060ce | ||
|
3fbe02a330 | ||
|
6eefdc4da3 | ||
|
ebb778519a | ||
|
df8fa9f6fc | ||
|
e43175ef76 | ||
|
315812f608 | ||
|
03b3f420b0 | ||
|
5c628f81a9 |
@ -1,3 +1,3 @@
|
||||
# 包头高新去考核
|
||||
# 20231205调整
|
||||
|
||||
1. 4、5级网格员考核
|
||||
表 **kpi_khxz_wgy_3**、**kpi_khxz_wgy_4** 中的 **X** 字段,默认值原来的 **3** 改为 **0**
|
||||
|
1177
package-lock.json
generated
1177
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<n-form label-placement="left" label-width="auto" :model="form">
|
||||
<n-form-item label="分值*" path="scroe.value">
|
||||
<n-input-number v-model:value="form.score.value" placeholder="输入分值" :max="form.score.maxValue"
|
||||
<n-form-item :label="`${type}*`" path="scroe.value">
|
||||
<n-input-number v-model:value="form.score.value" :placeholder="`输入${type}`" :max="form.score.maxValue"
|
||||
:min="form.score.minValue" :precision="2"/>
|
||||
</n-form-item>
|
||||
<n-form-item label="分值原因*" path="score.reason">
|
||||
<n-input type="textarea" v-model:value="form.score.reason" placeholder="输入分值原因" @keydown.enter.prevent />
|
||||
<n-form-item :label="`${type}原因*`" path="score.reason">
|
||||
<n-input type="textarea" v-model:value="form.score.reason" :placeholder="`输入${type}原因`" @keydown.enter.prevent />
|
||||
</n-form-item>
|
||||
<!--
|
||||
<n-space>
|
||||
@ -66,6 +66,10 @@ export default {
|
||||
maxScore: {
|
||||
required: false,
|
||||
default: 100
|
||||
},
|
||||
type: {
|
||||
required: false,
|
||||
default: '分数'
|
||||
}
|
||||
},
|
||||
data() {
|
||||
@ -88,7 +92,7 @@ export default {
|
||||
value: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入分值'
|
||||
message: `请输入${this.type}`
|
||||
}
|
||||
],
|
||||
},
|
||||
@ -98,11 +102,11 @@ export default {
|
||||
methods: {
|
||||
onConfirmClick() {
|
||||
if(this.form.score.value === null) {
|
||||
this.message.error('请输入分值')
|
||||
this.message.error(`请输入${this.type}`)
|
||||
return;
|
||||
}
|
||||
if(!this.form.score.reason) {
|
||||
this.message.error('请输入分值原因')
|
||||
this.message.error(`请输入${this.type}原因`)
|
||||
return;
|
||||
}
|
||||
this.$emit('confirm', this.rowKey, this.rowIndex, {
|
||||
|
@ -130,6 +130,7 @@ export default {
|
||||
fixed: 'left',
|
||||
width: 60
|
||||
},
|
||||
/*
|
||||
{
|
||||
align: 'center',
|
||||
title: '签到情况(30分)',
|
||||
@ -145,6 +146,7 @@ export default {
|
||||
}, row.C);
|
||||
}
|
||||
},
|
||||
*/
|
||||
{
|
||||
align: 'center',
|
||||
title: '网格案件调度情况',
|
||||
@ -156,19 +158,19 @@ export default {
|
||||
keyName: 'baseScore',
|
||||
width: 60
|
||||
},
|
||||
{
|
||||
align: 'center',
|
||||
title: '处理量',
|
||||
key: 'N',
|
||||
keyName: 'baseScore',
|
||||
width: 60
|
||||
},
|
||||
{
|
||||
align: 'center',
|
||||
title: '案件调度',
|
||||
key: 'dispatchCase',
|
||||
width: 60,
|
||||
children: [
|
||||
{
|
||||
align: 'center',
|
||||
title: '数量(未超过24小时)',
|
||||
key: 'timelyCount',
|
||||
keyName: 'dispatchCaseCount',
|
||||
width: 60
|
||||
},
|
||||
{
|
||||
align: 'center',
|
||||
title: '数量(超过24小时)',
|
||||
@ -287,7 +289,7 @@ export default {
|
||||
fixed: 'right',
|
||||
width: 60,
|
||||
render(row, index) {
|
||||
return vueSelf.computeK(row) * row.L / 100;
|
||||
return (vueSelf.computeK(row) * row.L / 100 + row.timelyCount * 200).toFixed(2);
|
||||
}
|
||||
}
|
||||
],
|
||||
@ -380,13 +382,13 @@ export default {
|
||||
this.modal.scoring.rowIndex = index;
|
||||
this.modal.scoring.score = others;
|
||||
this.modal.scoring.reason = row.reasonJ;
|
||||
this.modal.scoring.maxScore = 20;
|
||||
this.modal.scoring.maxScore = 50;
|
||||
this.modal.scoring.minScore = 0;
|
||||
this.modal.scoring.userName = row.B;
|
||||
this.modal.scoring.title = '组织评价';
|
||||
},
|
||||
computeK(row) {
|
||||
return Math.max(row.C + row.D - row.F - row.G - row.H - row.I + row.J, 0);
|
||||
return Math.max(row.C + row.D - row.F - row.G - row.H - row.I + row.J, 0).toFixed(2);
|
||||
},
|
||||
onSearchClick() {
|
||||
this.listData();
|
||||
@ -396,7 +398,7 @@ export default {
|
||||
let tableDatas = [];
|
||||
vueSelf.table.data.forEach(item => {
|
||||
item.K = vueSelf.computeK(item);
|
||||
item.M = (item.K * item.L / 100).toFixed(2);
|
||||
item.M = (item.K * item.L / 100 + item.timelyCount * 200).toFixed(2);
|
||||
tableDatas.push({...item});
|
||||
})
|
||||
vueSelf.dialog.warning({
|
||||
|
@ -173,6 +173,7 @@ export default {
|
||||
return `${row.B}(${row.gridCount})`
|
||||
}
|
||||
},
|
||||
/*
|
||||
{
|
||||
align: 'center',
|
||||
title: '片区巡查(40分)',
|
||||
@ -190,6 +191,7 @@ export default {
|
||||
}, row.C);
|
||||
}
|
||||
},
|
||||
*/
|
||||
{
|
||||
align: 'center',
|
||||
title: '巡查上报、案件受理过程质量',
|
||||
@ -216,6 +218,13 @@ export default {
|
||||
keyName: 'caseSingleScore',
|
||||
width: 60
|
||||
},
|
||||
{
|
||||
align: 'center',
|
||||
title: '复杂案件数量',
|
||||
key: 'complex',
|
||||
keyName: 'complexScore',
|
||||
width: 60
|
||||
},
|
||||
{
|
||||
align: 'center',
|
||||
title: '本月实报案件',
|
||||
@ -355,7 +364,7 @@ export default {
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
/*{
|
||||
align: 'center',
|
||||
title: '案件处置实效(指挥协调实效)',
|
||||
key: 'dispatch',
|
||||
@ -373,7 +382,7 @@ export default {
|
||||
onClick() {
|
||||
vueSelf.onOverScoreClick(row, index);
|
||||
}
|
||||
}, row.U);
|
||||
}, row.Q);
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -403,6 +412,9 @@ export default {
|
||||
keyName: 'superviseDeductScore',
|
||||
width: 60,
|
||||
className: 'score-minus',
|
||||
render(row, index) {
|
||||
vueSelf.computeS(row);
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -454,7 +466,7 @@ export default {
|
||||
]
|
||||
},
|
||||
]
|
||||
},
|
||||
},*/
|
||||
{
|
||||
align: 'center',
|
||||
title: '人口信息管理',
|
||||
@ -462,7 +474,28 @@ export default {
|
||||
children: [
|
||||
{
|
||||
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: '人口信息录入(15)',
|
||||
key: 'W',
|
||||
keyName: 'populationSave',
|
||||
width: 80,
|
||||
@ -478,7 +511,7 @@ export default {
|
||||
},
|
||||
{
|
||||
align: 'center',
|
||||
title: '人口信息质量管理',
|
||||
title: '人口信息质量管理(35)', // 15 -> 35
|
||||
key: 'X',
|
||||
keyName: 'populationQuality',
|
||||
width: 80,
|
||||
@ -492,9 +525,9 @@ export default {
|
||||
}, row.X);
|
||||
}
|
||||
},
|
||||
{
|
||||
/*{
|
||||
align: 'center',
|
||||
title: '人口信息维护',
|
||||
title: '人口信息维护(4)',
|
||||
key: 'Y',
|
||||
keyName: 'populationEdit',
|
||||
width: 80,
|
||||
@ -524,16 +557,17 @@ export default {
|
||||
}, row.Z);
|
||||
}
|
||||
},
|
||||
*/
|
||||
]
|
||||
},
|
||||
{
|
||||
/*{
|
||||
align: 'center',
|
||||
title: '党组织建设',
|
||||
key: 'party',
|
||||
children: [
|
||||
{
|
||||
align: 'center',
|
||||
title: '党建信息上报',
|
||||
title: '党建信息上报(3)',
|
||||
key: 'AA',
|
||||
keyName: 'partySave',
|
||||
width: 80,
|
||||
@ -549,7 +583,7 @@ export default {
|
||||
},
|
||||
{
|
||||
align: 'center',
|
||||
title: '党建信息质量管理',
|
||||
title: '党建信息质量管理(3)',
|
||||
key: 'AB',
|
||||
keyName: 'partyQuality',
|
||||
width: 80,
|
||||
@ -565,7 +599,7 @@ export default {
|
||||
},
|
||||
{
|
||||
align: 'center',
|
||||
title: '党建信息维护',
|
||||
title: '党建信息维护(4)',
|
||||
key: 'AC',
|
||||
keyName: 'partyEdit',
|
||||
width: 80,
|
||||
@ -596,7 +630,7 @@ export default {
|
||||
}
|
||||
},
|
||||
]
|
||||
},
|
||||
},*/
|
||||
{
|
||||
align: 'center',
|
||||
title: '总得分',
|
||||
@ -631,9 +665,9 @@ export default {
|
||||
if(score <= 100 && score >= 85) {
|
||||
return `${333 * row.gridCount}(${500 * row.gridCount})`;
|
||||
} else if(score >= 75) {
|
||||
return `${333 * row.gridCount}(0)`;
|
||||
return `${333 * row.gridCount}(${333 * row.gridCount})`;
|
||||
} else if(score >= 60) {
|
||||
return `${333 * row.gridCount}(0)`;
|
||||
return `${333 * row.gridCount}(${233 * row.gridCount})`;
|
||||
}
|
||||
return `${333 * row.gridCount}(0)`;
|
||||
}
|
||||
@ -646,7 +680,7 @@ export default {
|
||||
fixed: 'right',
|
||||
width: 100,
|
||||
render(row, index) {
|
||||
return (vueSelf.computeAE(row) * vueSelf.computeAF(row) / 100).toFixed(2);
|
||||
return ((vueSelf.computeAE(row) * vueSelf.computeAF(row) / 100) + vueSelf.computeComplex(row)).toFixed(2);
|
||||
}
|
||||
}
|
||||
],
|
||||
@ -821,8 +855,8 @@ export default {
|
||||
this.modal.scoring.rowIndex = index;
|
||||
this.modal.scoring.score = populationSave;
|
||||
this.modal.scoring.reason = row.reasonW;
|
||||
this.modal.scoring.maxScore = null;
|
||||
this.modal.scoring.minScore = null;
|
||||
this.modal.scoring.maxScore = 15;
|
||||
this.modal.scoring.minScore = 0;
|
||||
this.modal.scoring.userName = row.B;
|
||||
this.modal.scoring.title = '人口信息录入';
|
||||
},
|
||||
@ -834,7 +868,7 @@ export default {
|
||||
this.modal.scoring.rowIndex = index;
|
||||
this.modal.scoring.score = populationQuality;
|
||||
this.modal.scoring.reason = row.reasonX;
|
||||
this.modal.scoring.maxScore = 3;
|
||||
this.modal.scoring.maxScore = 35; // 15 -> 35
|
||||
this.modal.scoring.minScore = 0;
|
||||
this.modal.scoring.userName = row.B;
|
||||
this.modal.scoring.title = '人口信息质量';
|
||||
@ -917,11 +951,32 @@ export default {
|
||||
this.modal.scoring.userName = row.B;
|
||||
this.modal.scoring.title = '党建信息抽查';
|
||||
},
|
||||
computeS(row) {
|
||||
return (row.R * 0.2).toFixed(2);
|
||||
},
|
||||
computeAE(row) {
|
||||
let result = row.C + row.H - row.J + row.L - row.M - row.N - row.O - row.P + row.Q - row.S - row.T - row.U - row.V + row.W + row.X + row.Y - row.Z + row.AA + row.AB + row.AC - row.AD;
|
||||
let s = this.computeS(row);
|
||||
// let result = row.C + row.H + row.L - row.M - row.N - row.O - row.P + row.Q - s - row.T - row.U - row.V + row.W + row.X + row.Y - row.Z + row.AA + row.AB + row.AC - row.AD;
|
||||
let C = Number(row.C);
|
||||
let H = Number(row.H);
|
||||
let L = Number(row.L);
|
||||
let M = Number(row.M);
|
||||
let N = Number(row.N);
|
||||
let O = Number(row.O);
|
||||
let P = Number(row.P);
|
||||
let W = Number(row.W);
|
||||
let X = Number(row.X);
|
||||
let Z = Number(row.Z);
|
||||
let result = C + H + L - M - N - O - P + W + X - Z;
|
||||
console.log(row.C + "--" + row.H + "--"+ row.L + "--"+ row.M + "--"+ row.N + "--"+ row.O + "--"+ row.P + "--"+ row.W + "--"+ row.X + "--"+ row.Z)
|
||||
console.log(result)
|
||||
result = Math.min(result, 100);
|
||||
return result < 0 ? 0 : result.toFixed(2);
|
||||
},
|
||||
computeComplex(row) {
|
||||
let complex = row.complex;
|
||||
return complex * 200;
|
||||
},
|
||||
computeAF(row) {
|
||||
let score = this.computeAE(row);
|
||||
if(score <= 100 && score >= 85) {
|
||||
@ -929,7 +984,7 @@ export default {
|
||||
} else if(score >= 75) {
|
||||
return 333 * row.gridCount;
|
||||
} else if(score >= 60) {
|
||||
return 333 * row.gridCount;
|
||||
return 233 * row.gridCount;
|
||||
}
|
||||
return 0
|
||||
},
|
||||
@ -1048,15 +1103,40 @@ export default {
|
||||
vueSelf.$axios.get(`api/kpi/khxz/list-wgy`, {
|
||||
params: vueSelf.getQuery()
|
||||
}).then(({ data }) => {
|
||||
let totalGridCount = 0;
|
||||
data.forEach((item, index) => {
|
||||
item.A = index + 1;
|
||||
item.F = item.E === 0 ? 0 : (item.D / item.E).toFixed(2);
|
||||
item.H = Math.min(item.F * item.G, item.D);
|
||||
item.J = Math.min(item.F * item.I, item.D);
|
||||
item.F = item.E === 0 ? 0 : parseFloat((item.D / item.E).toFixed(2));
|
||||
item.H = (Math.min(item.F * item.G, item.D)).toFixed(2);
|
||||
item.J = (Math.min(item.F * item.I, item.D)).toFixed(2);
|
||||
item.L = (item.K > 10 ? 10 : item.K) * 0.5;
|
||||
item.S = item.R * 0.2;
|
||||
/*item.Q = item.communityPopulationRate >= 0.75 ? 10 : (item.communityPopulationRate >= 0.6 ? 5 : 0);*/
|
||||
// 人口信息管理
|
||||
// 未录入数据数量 = 社区基数人口数 - 社区人口数
|
||||
/*var differenceValue = item.communityBasePopulationCount - item.communityPopulationCount;
|
||||
var no100Score;
|
||||
if(differenceValue > 0 && differenceValue <= 15) {
|
||||
no100Score = differenceValue;
|
||||
}else {
|
||||
no100Score = 0;
|
||||
}
|
||||
item.W = item.communityPopulationRate === 1 ? 15 : no100Score;*/
|
||||
item.W = (item.communityPopulationRate * 15).toFixed(2);
|
||||
item.X = 35; // 15 -> 35
|
||||
// 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;*/
|
||||
totalGridCount += item.gridCount;
|
||||
if(null == item.complex || '' == item.complex || typeof(item.complex) == 'undefined') {
|
||||
item.complex = 0;
|
||||
}
|
||||
})
|
||||
console.log(data)
|
||||
this.table.data = data;
|
||||
console.log(`totalGridCount: ${totalGridCount}`)
|
||||
}).catch(({ data }) => {
|
||||
vueSelf.message.error(data.msg);
|
||||
}).finally(() => {
|
||||
|
@ -45,7 +45,7 @@
|
||||
:show="modal.scoring.show" :show-icon="false" :mask-closable="true" :closable="false"
|
||||
:on-update-show="onScroingCloseClick">
|
||||
<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" />
|
||||
</n-modal>
|
||||
</template>
|
||||
@ -148,6 +148,7 @@ export default {
|
||||
fixed: 'left',
|
||||
width: 60
|
||||
},
|
||||
/*
|
||||
{
|
||||
align: 'center',
|
||||
title: '巡片签到(100分)',
|
||||
@ -163,6 +164,14 @@ export default {
|
||||
}, row.C);
|
||||
}
|
||||
},
|
||||
*/
|
||||
{
|
||||
align: 'center',
|
||||
title: '复杂案件数量',
|
||||
key: 'complex',
|
||||
keyName: 'complexScore',
|
||||
width: 60
|
||||
},
|
||||
{
|
||||
align: 'center',
|
||||
title: '网格案件调度情况',
|
||||
@ -191,6 +200,14 @@ export default {
|
||||
key: 'F',
|
||||
keyName: 'reward',
|
||||
width: 60,
|
||||
render(row, index) {
|
||||
return h('a', {
|
||||
href: 'javascript:void(0)',
|
||||
onClick() {
|
||||
vueSelf.onRewardClick(row, index);
|
||||
}
|
||||
}, row.F);
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -325,7 +342,7 @@ export default {
|
||||
fixed: 'right',
|
||||
width: 60,
|
||||
render(row, index) {
|
||||
return (vueSelf.computeM(row) * row.N / 100 + row.F).toFixed(2);
|
||||
return ((vueSelf.computeM(row) * row.N / 100 + row.F) + vueSelf.computeComplex(row)).toFixed(2);
|
||||
}
|
||||
}
|
||||
],
|
||||
@ -344,7 +361,7 @@ export default {
|
||||
score: 0,
|
||||
reason: '',
|
||||
minScore: null,
|
||||
maxScore: null
|
||||
maxScore: null,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -371,6 +388,20 @@ export default {
|
||||
onScroingCloseClick() {
|
||||
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) {
|
||||
let backTimeout = row.G;
|
||||
@ -383,6 +414,7 @@ export default {
|
||||
this.modal.scoring.minScore = null;
|
||||
this.modal.scoring.userName = row.B;
|
||||
this.modal.scoring.title = '未在规定的时限内退单,影响处置时效';
|
||||
delete this.modal.scoring.type;
|
||||
},
|
||||
// 自行上报案件未完成办理 -
|
||||
onSelfUnHandleClick(row, index) {
|
||||
@ -395,7 +427,9 @@ export default {
|
||||
this.modal.scoring.maxScore = null;
|
||||
this.modal.scoring.minScore = null;
|
||||
this.modal.scoring.userName = row.B;
|
||||
this.modal.scoring.type = null;
|
||||
this.modal.scoring.title = '自行上报案件未完成办理';
|
||||
delete this.modal.scoring.type;
|
||||
},
|
||||
// 未办理案件造成严重影响 -
|
||||
onUnHandleErrorClick(row, index) {
|
||||
@ -408,7 +442,9 @@ export default {
|
||||
this.modal.scoring.maxScore = null;
|
||||
this.modal.scoring.minScore = null;
|
||||
this.modal.scoring.userName = row.B;
|
||||
this.modal.scoring.type = null;
|
||||
this.modal.scoring.title = '未办理案件造成严重影响';
|
||||
delete this.modal.scoring.type;
|
||||
},
|
||||
// 其它情况 -
|
||||
onOthersClick(row, index) {
|
||||
@ -422,6 +458,7 @@ export default {
|
||||
this.modal.scoring.minScore = null;
|
||||
this.modal.scoring.userName = row.B;
|
||||
this.modal.scoring.title = '其它情况';
|
||||
delete this.modal.scoring.type;
|
||||
},
|
||||
// 处理情况 -
|
||||
onHandleResultClick(row, index) {
|
||||
@ -435,6 +472,7 @@ export default {
|
||||
this.modal.scoring.minScore = null;
|
||||
this.modal.scoring.userName = row.B;
|
||||
this.modal.scoring.title = '处理情况';
|
||||
delete this.modal.scoring.type;
|
||||
},
|
||||
// 督察案件结案情况 -
|
||||
onSuperviseResultClick(row, index) {
|
||||
@ -448,9 +486,14 @@ export default {
|
||||
this.modal.scoring.minScore = null;
|
||||
this.modal.scoring.userName = row.B;
|
||||
this.modal.scoring.title = '督察案件结案情况';
|
||||
delete this.modal.scoring.type;
|
||||
},
|
||||
computeM(row) {
|
||||
return Math.max(row.C - row.G - row.H - row.I - row.J - row.K - row.L, 0);
|
||||
return Math.max(100 - row.G - row.H - row.I - row.J - row.K - row.L, 0);
|
||||
},
|
||||
computeComplex(row) {
|
||||
let complex = row.complex;
|
||||
return complex * 200;
|
||||
},
|
||||
resize() {
|
||||
let body = document.body;
|
||||
|
@ -40,7 +40,7 @@
|
||||
:show="modal.scoring.show" :show-icon="false" :mask-closable="true" :closable="false"
|
||||
:on-update-show="onScroingCloseClick">
|
||||
<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" />
|
||||
</n-modal>
|
||||
</template>
|
||||
@ -155,6 +155,13 @@ export default {
|
||||
keyName: 'caseCount',
|
||||
width: 60,
|
||||
},
|
||||
{
|
||||
align: 'center',
|
||||
title: '复杂案件数量',
|
||||
key: 'complex',
|
||||
keyName: 'complexScore',
|
||||
width: 60,
|
||||
},
|
||||
{
|
||||
align: 'center',
|
||||
title: '办结并验收',
|
||||
@ -175,6 +182,14 @@ export default {
|
||||
key: 'F',
|
||||
keyName: 'reward',
|
||||
width: 60,
|
||||
render(row, index) {
|
||||
return h('a', {
|
||||
href: 'javascript:void(0)',
|
||||
onClick() {
|
||||
vueSelf.onRewardClick(row, index);
|
||||
}
|
||||
}, row.F);
|
||||
}
|
||||
},
|
||||
{
|
||||
align: 'center',
|
||||
@ -300,7 +315,8 @@ export default {
|
||||
fixed: 'right',
|
||||
width: 60,
|
||||
render(row, index) {
|
||||
return vueSelf.computeN(row) * row.O / 100 + row.F;
|
||||
return vueSelf.computeN(row) * row.O / 100 + row.F + vueSelf.computeComplex(row);
|
||||
// return vueSelf.computeN(row) * row.O / 100 + row.F;
|
||||
}
|
||||
}
|
||||
],
|
||||
@ -332,6 +348,20 @@ export default {
|
||||
onScroingCloseClick() {
|
||||
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) {
|
||||
let unBackError = row.H;
|
||||
@ -344,6 +374,7 @@ export default {
|
||||
this.modal.scoring.minScore = null;
|
||||
this.modal.scoring.userName = row.B;
|
||||
this.modal.scoring.title = '未在规定的时限内退单,影响处置时效';
|
||||
delete this.modal.scoring.type;
|
||||
},
|
||||
// 自行上报案件没完成扣分 -
|
||||
onOthersClick(row, index) {
|
||||
@ -357,6 +388,7 @@ export default {
|
||||
this.modal.scoring.minScore = null;
|
||||
this.modal.scoring.userName = row.B;
|
||||
this.modal.scoring.title = '自行上报案件没完成扣分';
|
||||
delete this.modal.scoring.type;
|
||||
},
|
||||
// 处理情况 -
|
||||
onHandleResultClick(row, index) {
|
||||
@ -370,6 +402,7 @@ export default {
|
||||
this.modal.scoring.minScore = null;
|
||||
this.modal.scoring.userName = row.B;
|
||||
this.modal.scoring.title = '处理情况';
|
||||
delete this.modal.scoring.type;
|
||||
},
|
||||
// 督察案件 -
|
||||
onSuperviseResultClick(row, index) {
|
||||
@ -383,6 +416,7 @@ export default {
|
||||
this.modal.scoring.minScore = null;
|
||||
this.modal.scoring.userName = row.B;
|
||||
this.modal.scoring.title = '督察案件';
|
||||
delete this.modal.scoring.type;
|
||||
},
|
||||
computeL(row) {
|
||||
return Math.max(row.G - row.H - row.J - row.K + row.L + row.M, 0);
|
||||
@ -393,6 +427,10 @@ export default {
|
||||
computeN(row) {
|
||||
return Math.max(row.G - row.H - row.J - row.K + row.L + row.M, 0);
|
||||
},
|
||||
computeComplex(row) {
|
||||
let complex = row.complex;
|
||||
return complex * 200;
|
||||
},
|
||||
resize() {
|
||||
let body = document.body;
|
||||
this.table.minHeight = body.clientHeight - 378;
|
||||
|
@ -12,8 +12,8 @@ import Znbm from './components/table/Znbm.vue';
|
||||
|
||||
// 路由
|
||||
const router = createRouter({
|
||||
// history: createWebHashHistory(),
|
||||
history: createWebHistory(),
|
||||
history: createWebHashHistory(),
|
||||
// history: createWebHistory(),
|
||||
routes: [
|
||||
{ name: 'wgy', path: '/', component: Wgy },
|
||||
{ name: 'ddy', path: '/ddy', component: Ddy },
|
||||
@ -26,6 +26,7 @@ const router = createRouter({
|
||||
// axios
|
||||
const createAxios = {
|
||||
install(app, options) {
|
||||
// axios.defaults.baseURL = 'http://61.138.88.81:8081/bigdata';
|
||||
axios.defaults.baseURL = 'http://127.0.0.1:8087/bigdata';
|
||||
// axios.defaults.baseURL = '/bigdata';
|
||||
axios.defaults.timeout = 20000;
|
||||
|
Loading…
Reference in New Issue
Block a user