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>
|
<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, {
|
||||||
|
@ -130,6 +130,7 @@ export default {
|
|||||||
fixed: 'left',
|
fixed: 'left',
|
||||||
width: 60
|
width: 60
|
||||||
},
|
},
|
||||||
|
/*
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '签到情况(30分)',
|
title: '签到情况(30分)',
|
||||||
@ -145,6 +146,7 @@ export default {
|
|||||||
}, row.C);
|
}, row.C);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
*/
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '网格案件调度情况',
|
title: '网格案件调度情况',
|
||||||
@ -156,19 +158,19 @@ export default {
|
|||||||
keyName: 'baseScore',
|
keyName: 'baseScore',
|
||||||
width: 60
|
width: 60
|
||||||
},
|
},
|
||||||
{
|
|
||||||
align: 'center',
|
|
||||||
title: '处理量',
|
|
||||||
key: 'N',
|
|
||||||
keyName: 'baseScore',
|
|
||||||
width: 60
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '案件调度',
|
title: '案件调度',
|
||||||
key: 'dispatchCase',
|
key: 'dispatchCase',
|
||||||
width: 60,
|
width: 60,
|
||||||
children: [
|
children: [
|
||||||
|
{
|
||||||
|
align: 'center',
|
||||||
|
title: '数量(未超过24小时)',
|
||||||
|
key: 'timelyCount',
|
||||||
|
keyName: 'dispatchCaseCount',
|
||||||
|
width: 60
|
||||||
|
},
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '数量(超过24小时)',
|
title: '数量(超过24小时)',
|
||||||
@ -287,7 +289,7 @@ export default {
|
|||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
width: 60,
|
width: 60,
|
||||||
render(row, index) {
|
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.rowIndex = index;
|
||||||
this.modal.scoring.score = others;
|
this.modal.scoring.score = others;
|
||||||
this.modal.scoring.reason = row.reasonJ;
|
this.modal.scoring.reason = row.reasonJ;
|
||||||
this.modal.scoring.maxScore = 20;
|
this.modal.scoring.maxScore = 50;
|
||||||
this.modal.scoring.minScore = 0;
|
this.modal.scoring.minScore = 0;
|
||||||
this.modal.scoring.userName = row.B;
|
this.modal.scoring.userName = row.B;
|
||||||
this.modal.scoring.title = '组织评价';
|
this.modal.scoring.title = '组织评价';
|
||||||
},
|
},
|
||||||
computeK(row) {
|
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() {
|
onSearchClick() {
|
||||||
this.listData();
|
this.listData();
|
||||||
@ -396,7 +398,7 @@ export default {
|
|||||||
let tableDatas = [];
|
let tableDatas = [];
|
||||||
vueSelf.table.data.forEach(item => {
|
vueSelf.table.data.forEach(item => {
|
||||||
item.K = vueSelf.computeK(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});
|
tableDatas.push({...item});
|
||||||
})
|
})
|
||||||
vueSelf.dialog.warning({
|
vueSelf.dialog.warning({
|
||||||
|
@ -173,6 +173,7 @@ export default {
|
|||||||
return `${row.B}(${row.gridCount})`
|
return `${row.B}(${row.gridCount})`
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
/*
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '片区巡查(40分)',
|
title: '片区巡查(40分)',
|
||||||
@ -190,6 +191,7 @@ export default {
|
|||||||
}, row.C);
|
}, row.C);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
*/
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '巡查上报、案件受理过程质量',
|
title: '巡查上报、案件受理过程质量',
|
||||||
@ -216,6 +218,13 @@ export default {
|
|||||||
keyName: 'caseSingleScore',
|
keyName: 'caseSingleScore',
|
||||||
width: 60
|
width: 60
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
align: 'center',
|
||||||
|
title: '复杂案件数量',
|
||||||
|
key: 'complex',
|
||||||
|
keyName: 'complexScore',
|
||||||
|
width: 60
|
||||||
|
},
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '本月实报案件',
|
title: '本月实报案件',
|
||||||
@ -355,7 +364,7 @@ export default {
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
/*{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '案件处置实效(指挥协调实效)',
|
title: '案件处置实效(指挥协调实效)',
|
||||||
key: 'dispatch',
|
key: 'dispatch',
|
||||||
@ -373,7 +382,7 @@ export default {
|
|||||||
onClick() {
|
onClick() {
|
||||||
vueSelf.onOverScoreClick(row, index);
|
vueSelf.onOverScoreClick(row, index);
|
||||||
}
|
}
|
||||||
}, row.U);
|
}, row.Q);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -403,6 +412,9 @@ export default {
|
|||||||
keyName: 'superviseDeductScore',
|
keyName: 'superviseDeductScore',
|
||||||
width: 60,
|
width: 60,
|
||||||
className: 'score-minus',
|
className: 'score-minus',
|
||||||
|
render(row, index) {
|
||||||
|
vueSelf.computeS(row);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -454,7 +466,7 @@ export default {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
},
|
},*/
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '人口信息管理',
|
title: '人口信息管理',
|
||||||
@ -462,7 +474,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: '人口信息录入(15)',
|
||||||
key: 'W',
|
key: 'W',
|
||||||
keyName: 'populationSave',
|
keyName: 'populationSave',
|
||||||
width: 80,
|
width: 80,
|
||||||
@ -478,7 +511,7 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '人口信息质量管理',
|
title: '人口信息质量管理(35)', // 15 -> 35
|
||||||
key: 'X',
|
key: 'X',
|
||||||
keyName: 'populationQuality',
|
keyName: 'populationQuality',
|
||||||
width: 80,
|
width: 80,
|
||||||
@ -492,9 +525,9 @@ export default {
|
|||||||
}, row.X);
|
}, row.X);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
/*{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '人口信息维护',
|
title: '人口信息维护(4)',
|
||||||
key: 'Y',
|
key: 'Y',
|
||||||
keyName: 'populationEdit',
|
keyName: 'populationEdit',
|
||||||
width: 80,
|
width: 80,
|
||||||
@ -524,16 +557,17 @@ export default {
|
|||||||
}, row.Z);
|
}, row.Z);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
*/
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
/*{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '党组织建设',
|
title: '党组织建设',
|
||||||
key: 'party',
|
key: 'party',
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '党建信息上报',
|
title: '党建信息上报(3)',
|
||||||
key: 'AA',
|
key: 'AA',
|
||||||
keyName: 'partySave',
|
keyName: 'partySave',
|
||||||
width: 80,
|
width: 80,
|
||||||
@ -549,7 +583,7 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '党建信息质量管理',
|
title: '党建信息质量管理(3)',
|
||||||
key: 'AB',
|
key: 'AB',
|
||||||
keyName: 'partyQuality',
|
keyName: 'partyQuality',
|
||||||
width: 80,
|
width: 80,
|
||||||
@ -565,7 +599,7 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '党建信息维护',
|
title: '党建信息维护(4)',
|
||||||
key: 'AC',
|
key: 'AC',
|
||||||
keyName: 'partyEdit',
|
keyName: 'partyEdit',
|
||||||
width: 80,
|
width: 80,
|
||||||
@ -596,7 +630,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
},
|
},*/
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '总得分',
|
title: '总得分',
|
||||||
@ -631,9 +665,9 @@ export default {
|
|||||||
if(score <= 100 && score >= 85) {
|
if(score <= 100 && score >= 85) {
|
||||||
return `${333 * row.gridCount}(${500 * row.gridCount})`;
|
return `${333 * row.gridCount}(${500 * row.gridCount})`;
|
||||||
} else if(score >= 75) {
|
} else if(score >= 75) {
|
||||||
return `${333 * row.gridCount}(0)`;
|
return `${333 * row.gridCount}(${333 * row.gridCount})`;
|
||||||
} else if(score >= 60) {
|
} else if(score >= 60) {
|
||||||
return `${333 * row.gridCount}(0)`;
|
return `${333 * row.gridCount}(${233 * row.gridCount})`;
|
||||||
}
|
}
|
||||||
return `${333 * row.gridCount}(0)`;
|
return `${333 * row.gridCount}(0)`;
|
||||||
}
|
}
|
||||||
@ -646,7 +680,7 @@ export default {
|
|||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
width: 100,
|
width: 100,
|
||||||
render(row, index) {
|
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.rowIndex = index;
|
||||||
this.modal.scoring.score = populationSave;
|
this.modal.scoring.score = populationSave;
|
||||||
this.modal.scoring.reason = row.reasonW;
|
this.modal.scoring.reason = row.reasonW;
|
||||||
this.modal.scoring.maxScore = null;
|
this.modal.scoring.maxScore = 15;
|
||||||
this.modal.scoring.minScore = null;
|
this.modal.scoring.minScore = 0;
|
||||||
this.modal.scoring.userName = row.B;
|
this.modal.scoring.userName = row.B;
|
||||||
this.modal.scoring.title = '人口信息录入';
|
this.modal.scoring.title = '人口信息录入';
|
||||||
},
|
},
|
||||||
@ -834,7 +868,7 @@ export default {
|
|||||||
this.modal.scoring.rowIndex = index;
|
this.modal.scoring.rowIndex = index;
|
||||||
this.modal.scoring.score = populationQuality;
|
this.modal.scoring.score = populationQuality;
|
||||||
this.modal.scoring.reason = row.reasonX;
|
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.minScore = 0;
|
||||||
this.modal.scoring.userName = row.B;
|
this.modal.scoring.userName = row.B;
|
||||||
this.modal.scoring.title = '人口信息质量';
|
this.modal.scoring.title = '人口信息质量';
|
||||||
@ -917,11 +951,32 @@ export default {
|
|||||||
this.modal.scoring.userName = row.B;
|
this.modal.scoring.userName = row.B;
|
||||||
this.modal.scoring.title = '党建信息抽查';
|
this.modal.scoring.title = '党建信息抽查';
|
||||||
},
|
},
|
||||||
|
computeS(row) {
|
||||||
|
return (row.R * 0.2).toFixed(2);
|
||||||
|
},
|
||||||
computeAE(row) {
|
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);
|
result = Math.min(result, 100);
|
||||||
return result < 0 ? 0 : result.toFixed(2);
|
return result < 0 ? 0 : result.toFixed(2);
|
||||||
},
|
},
|
||||||
|
computeComplex(row) {
|
||||||
|
let complex = row.complex;
|
||||||
|
return complex * 200;
|
||||||
|
},
|
||||||
computeAF(row) {
|
computeAF(row) {
|
||||||
let score = this.computeAE(row);
|
let score = this.computeAE(row);
|
||||||
if(score <= 100 && score >= 85) {
|
if(score <= 100 && score >= 85) {
|
||||||
@ -929,7 +984,7 @@ export default {
|
|||||||
} else if(score >= 75) {
|
} else if(score >= 75) {
|
||||||
return 333 * row.gridCount;
|
return 333 * row.gridCount;
|
||||||
} else if(score >= 60) {
|
} else if(score >= 60) {
|
||||||
return 333 * row.gridCount;
|
return 233 * row.gridCount;
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
},
|
},
|
||||||
@ -1048,15 +1103,40 @@ export default {
|
|||||||
vueSelf.$axios.get(`api/kpi/khxz/list-wgy`, {
|
vueSelf.$axios.get(`api/kpi/khxz/list-wgy`, {
|
||||||
params: vueSelf.getQuery()
|
params: vueSelf.getQuery()
|
||||||
}).then(({ data }) => {
|
}).then(({ data }) => {
|
||||||
|
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)).toFixed(2);
|
||||||
item.J = Math.min(item.F * item.I, item.D);
|
item.J = (Math.min(item.F * item.I, item.D)).toFixed(2);
|
||||||
item.L = (item.K > 10 ? 10 : item.K) * 0.5;
|
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;
|
this.table.data = data;
|
||||||
|
console.log(`totalGridCount: ${totalGridCount}`)
|
||||||
}).catch(({ data }) => {
|
}).catch(({ data }) => {
|
||||||
vueSelf.message.error(data.msg);
|
vueSelf.message.error(data.msg);
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
|
@ -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>
|
||||||
@ -148,6 +148,7 @@ export default {
|
|||||||
fixed: 'left',
|
fixed: 'left',
|
||||||
width: 60
|
width: 60
|
||||||
},
|
},
|
||||||
|
/*
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '巡片签到(100分)',
|
title: '巡片签到(100分)',
|
||||||
@ -163,6 +164,14 @@ export default {
|
|||||||
}, row.C);
|
}, row.C);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
*/
|
||||||
|
{
|
||||||
|
align: 'center',
|
||||||
|
title: '复杂案件数量',
|
||||||
|
key: 'complex',
|
||||||
|
keyName: 'complexScore',
|
||||||
|
width: 60
|
||||||
|
},
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '网格案件调度情况',
|
title: '网格案件调度情况',
|
||||||
@ -191,6 +200,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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -325,7 +342,7 @@ export default {
|
|||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
width: 60,
|
width: 60,
|
||||||
render(row, index) {
|
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,
|
score: 0,
|
||||||
reason: '',
|
reason: '',
|
||||||
minScore: null,
|
minScore: null,
|
||||||
maxScore: null
|
maxScore: null,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -371,6 +388,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 +414,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 +427,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 +442,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 +458,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 +472,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,9 +486,14 @@ 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(100 - row.G - row.H - row.I - row.J - row.K - row.L, 0);
|
||||||
|
},
|
||||||
|
computeComplex(row) {
|
||||||
|
let complex = row.complex;
|
||||||
|
return complex * 200;
|
||||||
},
|
},
|
||||||
resize() {
|
resize() {
|
||||||
let body = document.body;
|
let body = document.body;
|
||||||
|
@ -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>
|
||||||
@ -155,6 +155,13 @@ export default {
|
|||||||
keyName: 'caseCount',
|
keyName: 'caseCount',
|
||||||
width: 60,
|
width: 60,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
align: 'center',
|
||||||
|
title: '复杂案件数量',
|
||||||
|
key: 'complex',
|
||||||
|
keyName: 'complexScore',
|
||||||
|
width: 60,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
align: 'center',
|
align: 'center',
|
||||||
title: '办结并验收',
|
title: '办结并验收',
|
||||||
@ -175,6 +182,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',
|
||||||
@ -300,7 +315,8 @@ export default {
|
|||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
width: 60,
|
width: 60,
|
||||||
render(row, index) {
|
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() {
|
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 +374,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 +388,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 +402,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 +416,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);
|
||||||
@ -393,6 +427,10 @@ export default {
|
|||||||
computeN(row) {
|
computeN(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);
|
||||||
},
|
},
|
||||||
|
computeComplex(row) {
|
||||||
|
let complex = row.complex;
|
||||||
|
return complex * 200;
|
||||||
|
},
|
||||||
resize() {
|
resize() {
|
||||||
let body = document.body;
|
let body = document.body;
|
||||||
this.table.minHeight = body.clientHeight - 378;
|
this.table.minHeight = body.clientHeight - 378;
|
||||||
|
@ -12,8 +12,8 @@ import Znbm from './components/table/Znbm.vue';
|
|||||||
|
|
||||||
// 路由
|
// 路由
|
||||||
const router = createRouter({
|
const router = createRouter({
|
||||||
// history: createWebHashHistory(),
|
history: createWebHashHistory(),
|
||||||
history: createWebHistory(),
|
// history: createWebHistory(),
|
||||||
routes: [
|
routes: [
|
||||||
{ name: 'wgy', path: '/', component: Wgy },
|
{ name: 'wgy', path: '/', component: Wgy },
|
||||||
{ name: 'ddy', path: '/ddy', component: Ddy },
|
{ name: 'ddy', path: '/ddy', component: Ddy },
|
||||||
@ -26,6 +26,7 @@ const router = createRouter({
|
|||||||
// axios
|
// axios
|
||||||
const createAxios = {
|
const createAxios = {
|
||||||
install(app, options) {
|
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 = 'http://127.0.0.1:8087/bigdata';
|
||||||
// axios.defaults.baseURL = '/bigdata';
|
// axios.defaults.baseURL = '/bigdata';
|
||||||
axios.defaults.timeout = 20000;
|
axios.defaults.timeout = 20000;
|
||||||
|
Loading…
Reference in New Issue
Block a user