|
|
|
|
@ -61,8 +61,8 @@
|
|
|
|
|
</div> |
|
|
|
|
<div class="box-container"> |
|
|
|
|
<el-tabs v-model="rateName" class="echart-tabs" type="card" @tab-click="categoryChange"> |
|
|
|
|
<el-tab-pane label="分县市局三率排名" name="county"> |
|
|
|
|
<div> |
|
|
|
|
<div @mouseenter="clearRateTimer" @mouseleave="startRateAutoSwitch"> |
|
|
|
|
<el-tab-pane label="分县市局三率排名" name="county"> |
|
|
|
|
<el-tabs v-model="rateActiveName" class="echart-tabs" @tab-click="rateResetTimer" type="card"> |
|
|
|
|
<el-tab-pane label="办结率" name="completionRate"> |
|
|
|
|
<div class="ratesbox rates"> |
|
|
|
|
@ -113,63 +113,70 @@
|
|
|
|
|
</div> |
|
|
|
|
</el-tab-pane> |
|
|
|
|
</el-tabs> |
|
|
|
|
</div> |
|
|
|
|
</el-tab-pane> |
|
|
|
|
</el-tab-pane> |
|
|
|
|
|
|
|
|
|
<el-tab-pane label="部委支队三率排名" name="branch"> |
|
|
|
|
<div> |
|
|
|
|
<el-tabs v-model="rateActiveName" class="echart-tabs" @tab-click="rateResetTimer" type="card"> |
|
|
|
|
<el-tab-pane label="办结率" name="completionRate"> |
|
|
|
|
<div class="ratesbox rates"> |
|
|
|
|
<ul class="h100 animated-list"> |
|
|
|
|
<li v-for="item in rateBranch.completeList" :key="item.id"> |
|
|
|
|
<span style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">{{ item.name }}</span> |
|
|
|
|
<div class="ratenav" width="80%"> |
|
|
|
|
<div class="ratebar"><span :style="{ width: item.rate }"></span></div> |
|
|
|
|
</div> |
|
|
|
|
<div class="ratesum"> |
|
|
|
|
<p>{{ item.rate }}<span class="ratespan"><i>{{ item.completed }} / </i>{{ item.sum }}</span> |
|
|
|
|
</p> |
|
|
|
|
</div> |
|
|
|
|
</li> |
|
|
|
|
</ul> |
|
|
|
|
</div> |
|
|
|
|
</el-tab-pane> |
|
|
|
|
<el-tab-pane label="解决率" name="resolutionRate"> |
|
|
|
|
<div class="ratesbox rates"> |
|
|
|
|
<ul class="h100 animated-list"> |
|
|
|
|
<li v-for="item in rateBranch.resolvedList" :key="item.id"> |
|
|
|
|
<span style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">{{ item.name }}</span> |
|
|
|
|
<div class="ratenav" width="80%"> |
|
|
|
|
<div class="ratebar"><span :style="{ width: item.rate }"></span></div> |
|
|
|
|
</div> |
|
|
|
|
<div class="ratesum"> |
|
|
|
|
<p>{{ item.rate }}<span class="ratespan"><i>{{ item.resolved }} / </i>{{ item.sum }}</span> |
|
|
|
|
</p> |
|
|
|
|
</div> |
|
|
|
|
</li> |
|
|
|
|
</ul> |
|
|
|
|
</div> |
|
|
|
|
</el-tab-pane> |
|
|
|
|
<el-tab-pane label="满意率" name="satisfactionRate"> |
|
|
|
|
<div class="ratesbox rates"> |
|
|
|
|
<ul class="h100 animated-list"> |
|
|
|
|
<li v-for="item in rateBranch.satisfiedList" :key="item.id"> |
|
|
|
|
<span style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">{{ item.name }}</span> |
|
|
|
|
<div class="ratenav" width="80%"> |
|
|
|
|
<div class="ratebar"><span :style="{ width: item.rate }"></span></div> |
|
|
|
|
</div> |
|
|
|
|
<div class="ratesum"> |
|
|
|
|
<p>{{ item.rate }}<span class="ratespan"><i>{{ item.satisfied }} / </i>{{ item.sum }}</span> |
|
|
|
|
</p> |
|
|
|
|
</div> |
|
|
|
|
</li> |
|
|
|
|
</ul> |
|
|
|
|
</div> |
|
|
|
|
</el-tab-pane> |
|
|
|
|
</el-tabs> |
|
|
|
|
</div> |
|
|
|
|
</el-tab-pane> |
|
|
|
|
|
|
|
|
|
<el-tab-pane label="部委支队三率排名" name="branch"> |
|
|
|
|
<div> |
|
|
|
|
<el-tabs v-model="rateActiveName" class="echart-tabs" @tab-click="rateResetTimer" type="card"> |
|
|
|
|
<el-tab-pane label="办结率" name="completionRate"> |
|
|
|
|
<div class="ratesbox rates"> |
|
|
|
|
<ul class="h100 animated-list"> |
|
|
|
|
<li v-for="item in rateBranch.completeList" :key="item.id"> |
|
|
|
|
<span style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">{{ item.name |
|
|
|
|
}}</span> |
|
|
|
|
<div class="ratenav" width="80%"> |
|
|
|
|
<div class="ratebar"><span :style="{ width: item.rate }"></span></div> |
|
|
|
|
</div> |
|
|
|
|
<div class="ratesum"> |
|
|
|
|
<p>{{ item.rate }}<span class="ratespan"><i>{{ item.completed }} / </i>{{ item.sum |
|
|
|
|
}}</span> |
|
|
|
|
</p> |
|
|
|
|
</div> |
|
|
|
|
</li> |
|
|
|
|
</ul> |
|
|
|
|
</div> |
|
|
|
|
</el-tab-pane> |
|
|
|
|
<el-tab-pane label="解决率" name="resolutionRate"> |
|
|
|
|
<div class="ratesbox rates"> |
|
|
|
|
<ul class="h100 animated-list"> |
|
|
|
|
<li v-for="item in rateBranch.resolvedList" :key="item.id"> |
|
|
|
|
<span style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">{{ item.name |
|
|
|
|
}}</span> |
|
|
|
|
<div class="ratenav" width="80%"> |
|
|
|
|
<div class="ratebar"><span :style="{ width: item.rate }"></span></div> |
|
|
|
|
</div> |
|
|
|
|
<div class="ratesum"> |
|
|
|
|
<p>{{ item.rate }}<span class="ratespan"><i>{{ item.resolved }} / </i>{{ item.sum |
|
|
|
|
}}</span> |
|
|
|
|
</p> |
|
|
|
|
</div> |
|
|
|
|
</li> |
|
|
|
|
</ul> |
|
|
|
|
</div> |
|
|
|
|
</el-tab-pane> |
|
|
|
|
<el-tab-pane label="满意率" name="satisfactionRate"> |
|
|
|
|
<div class="ratesbox rates"> |
|
|
|
|
<ul class="h100 animated-list"> |
|
|
|
|
<li v-for="item in rateBranch.satisfiedList" :key="item.id"> |
|
|
|
|
<span style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">{{ item.name |
|
|
|
|
}}</span> |
|
|
|
|
<div class="ratenav" width="80%"> |
|
|
|
|
<div class="ratebar"><span :style="{ width: item.rate }"></span></div> |
|
|
|
|
</div> |
|
|
|
|
<div class="ratesum"> |
|
|
|
|
<p>{{ item.rate }}<span class="ratespan"><i>{{ item.satisfied }} / </i>{{ item.sum |
|
|
|
|
}}</span> |
|
|
|
|
</p> |
|
|
|
|
</div> |
|
|
|
|
</li> |
|
|
|
|
</ul> |
|
|
|
|
</div> |
|
|
|
|
</el-tab-pane> |
|
|
|
|
</el-tabs> |
|
|
|
|
</div> |
|
|
|
|
</el-tab-pane> |
|
|
|
|
</div> |
|
|
|
|
</el-tabs> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
@ -184,7 +191,7 @@
|
|
|
|
|
<h2 class="yellowbg">{{ consoleMap.allSum }}</h2><span>来信总数</span> |
|
|
|
|
</li> |
|
|
|
|
<li> |
|
|
|
|
<h2 class="bulebg">{{ consoleMap.completed }}</h2><span>办结总数</span> |
|
|
|
|
<h2 class="bulebg">{{ consoleMap.completedsum }}</h2><span>办结总数</span> |
|
|
|
|
</li> |
|
|
|
|
<li> |
|
|
|
|
<el-popover placement="right-start" title="办结率计算方式" :width="200" trigger="hover" show-after="700" |
|
|
|
|
@ -358,7 +365,7 @@ const completedrateContent = ref('')
|
|
|
|
|
const satisfiedrateContent = ref('') |
|
|
|
|
const resolvedrateContent = ref('') |
|
|
|
|
|
|
|
|
|
const intervalTimeRate = 4000; // 自动切换的间隔时间,单位为毫秒 |
|
|
|
|
const intervalTimeRate = 6000; // 自动切换的间隔时间,单位为毫秒 |
|
|
|
|
const intervalTimeTrend = 3000; // 自动切换的间隔时间,单位为毫秒 |
|
|
|
|
const intervalTimeDuty = 3200; // 自动切换的间隔时间,单位为毫秒 |
|
|
|
|
let intervalIdRate: NodeJS.Timeout | null = null; |
|
|
|
|
@ -555,6 +562,7 @@ const formatDate = (value) => {
|
|
|
|
|
return date.toLocaleString(); |
|
|
|
|
} |
|
|
|
|
const startRateAutoSwitch = () => { |
|
|
|
|
console.log("startRateAutoSwitch") |
|
|
|
|
intervalIdRate = setInterval(() => { |
|
|
|
|
if (rateActiveName.value === 'completionRate') { |
|
|
|
|
rateActiveName.value = 'resolutionRate'; |
|
|
|
|
@ -566,6 +574,8 @@ const startRateAutoSwitch = () => {
|
|
|
|
|
}, intervalTimeRate); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const startTrendAutoSwitch = () => { |
|
|
|
|
var dayChart = echarts.init(day_echart.value); |
|
|
|
|
var monthChart = echarts.init(month_echart.value); |
|
|
|
|
@ -619,6 +629,7 @@ const clearCarouselTime = () => {
|
|
|
|
|
}; |
|
|
|
|
const clearRateTimer = () => { |
|
|
|
|
if (intervalIdRate) { |
|
|
|
|
console.log("clearCarouselTime") |
|
|
|
|
clearInterval(intervalIdRate); |
|
|
|
|
intervalIdRate = null; |
|
|
|
|
} |
|
|
|
|
@ -692,24 +703,16 @@ const changsMap = () => {
|
|
|
|
|
trigger: 'item', |
|
|
|
|
position: 'right', |
|
|
|
|
formatter: function (params) { |
|
|
|
|
const data = params.data || { |
|
|
|
|
todaysum: 0, |
|
|
|
|
allsum: 0, |
|
|
|
|
completed: 0, |
|
|
|
|
completedrate: '0%', |
|
|
|
|
resolvedrate: '0%', |
|
|
|
|
satisfiedrate: '0%' |
|
|
|
|
}; |
|
|
|
|
var tt = '<div class="tooltip">' + |
|
|
|
|
'<div class="tooltip-title" > ' + params.name + '</div>' + |
|
|
|
|
'<div class="tooltip-content" >' + |
|
|
|
|
'<ul class="tooltip-ul">' + |
|
|
|
|
'<li>今日来信 <span>' + data.todaysum + '</span></li>' + |
|
|
|
|
'<li>来信总数 <span>' + data.allsum + '</span></li>' + |
|
|
|
|
'<li>办结总数 <span>' + data.completed + '</span></li>' + |
|
|
|
|
'<li>办结率 <span>' + data.completedrate + '</span></li>' + |
|
|
|
|
'<li>解决率 <span>' + data.resolvedrate + '</span></li>' + |
|
|
|
|
'<li>满意率 <span>' + data.satisfiedrate + '</span></li>' + |
|
|
|
|
'<li>今日来信 <span>' + params.data.todaysum + '</span></li>' + |
|
|
|
|
'<li>来信总数 <span>' + params.data.allsum + '</span></li>' + |
|
|
|
|
'<li>办结总数 <span>' + params.data.completed + '</span></li>' + |
|
|
|
|
'<li>办结率 <span>' + params.data.completedrate + '</span></li>' + |
|
|
|
|
'<li>解决率 <span>' + params.data.resolvedrate + '</span></li>' + |
|
|
|
|
'<li>满意率 <span>' + params.data.satisfiedrate + '</span></li>' + |
|
|
|
|
' </ul></div></div>' |
|
|
|
|
return tt; |
|
|
|
|
}, |
|
|
|
|
|