|
@@ -44,8 +44,8 @@
|
|
|
维修
|
|
|
</div>
|
|
|
<div class="statistics-list-info">
|
|
|
- <div>数量:<span>90</span>/辆</div>
|
|
|
- <div> 占比:<span>30</span>/%</div>
|
|
|
+ <div>数量:<span>{{ info.repairNum }}</span>个</div>
|
|
|
+ <div>完成率:<span>{{ info.repairCompleteRate }}</span>%</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -53,12 +53,12 @@
|
|
|
<span class="top-left-two"></span><span class="top-right-two"></span><span class="bottom-left-two"></span><span class="bottom-right-two"></span>
|
|
|
<div class="statistics-list">
|
|
|
<div class="statistics-list-title" style="color:#07C1FD">
|
|
|
- <span style="background:#07C1FD;">1</span>
|
|
|
+ <span style="background:#07C1FD;">2</span>
|
|
|
计量
|
|
|
</div>
|
|
|
<div class="statistics-list-info">
|
|
|
- <div>数量:<span style="color:#07C1FD">90</span>/个</div>
|
|
|
- <div> 占比:<span style="color:#07C1FD">30</span>/%</div>
|
|
|
+ <div>数量:<span style="color:#07C1FD">{{ info.calculateSbNum }}</span>个</div>
|
|
|
+ <div>完成率:<span style="color:#07C1FD">{{ info.calculateCompleteRate }}</span>%</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -66,12 +66,12 @@
|
|
|
<span class="top-left-two"></span><span class="top-right-two"></span><span class="bottom-left-two"></span><span class="bottom-right-two"></span>
|
|
|
<div class="statistics-list">
|
|
|
<div class="statistics-list-title" style="color:#FFCD02">
|
|
|
- <span style="background:#FFCD02">1</span>
|
|
|
+ <span style="background:#FFCD02">3</span>
|
|
|
特种
|
|
|
</div>
|
|
|
<div class="statistics-list-info">
|
|
|
- <div>数量:<span style="color:#FFCD02">90</span>/个</div>
|
|
|
- <div> 占比:<span style="color:#FFCD02">30</span>/%</div>
|
|
|
+ <div>数量:<span style="color:#FFCD02">{{ info.specialSbNum }}</span>个</div>
|
|
|
+ <div>完成率:<span style="color:#FFCD02">{{ info.specialCompleteRate }}</span>%</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -79,12 +79,12 @@
|
|
|
<span class="top-left-two"></span><span class="top-right-two"></span><span class="bottom-left-two"></span><span class="bottom-right-two"></span>
|
|
|
<div class="statistics-list">
|
|
|
<div class="statistics-list-title" style="color:#FF5B01 ">
|
|
|
- <span style="background:#FF5B01 ">1</span>
|
|
|
+ <span style="background:#FF5B01 ">4</span>
|
|
|
隐患
|
|
|
</div>
|
|
|
<div class="statistics-list-info">
|
|
|
- <div>数量:<span style="color:#FF5B01 ">90</span>/个</div>
|
|
|
- <div> 占比:<span style="color:#FF5B01 ">30</span>/%</div>
|
|
|
+ <div>数量:<span style="color:#FF5B01 ">{{ info.hiddenDangerNum }}</span>个</div>
|
|
|
+ <div>维修率:<span style="color:#FF5B01 ">{{ info.hiddenDangerCompleteRate }}</span>%</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -135,6 +135,11 @@ import VueDragResize from 'vue-drag-resize'
|
|
|
import * as echarts from 'echarts'
|
|
|
import SbInfoModel from './modules/SbInfoModel'
|
|
|
import WorkshopModel from './modules/WorkshopModel'
|
|
|
+import {
|
|
|
+ getStatisticRepairNum,
|
|
|
+ getStatisticData,
|
|
|
+ getRepairCategory
|
|
|
+} from '@/api/big/screen'
|
|
|
export default {
|
|
|
components: {
|
|
|
VueDragResize,
|
|
@@ -164,16 +169,12 @@ export default {
|
|
|
x: 750,
|
|
|
y: 625
|
|
|
},
|
|
|
+ info: {},
|
|
|
visible: false,
|
|
|
- chartData1: [
|
|
|
- { name: '分类一', value: 27 },
|
|
|
- { name: '分类二', value: 25 },
|
|
|
- { name: '分类三', value: 18 },
|
|
|
- { name: '分类四', value: 15 },
|
|
|
- { name: '分类五', value: 10 },
|
|
|
- { name: 'Other', value: 5 }
|
|
|
- ],
|
|
|
- chartData2: [
|
|
|
+ chartData1: [],
|
|
|
+ chartData2: [],
|
|
|
+ chartData3: [],
|
|
|
+ chartData4: [
|
|
|
{ name: '分类一', value: 27 },
|
|
|
{ name: '分类二', value: 25 },
|
|
|
{ name: '分类三', value: 18 },
|
|
@@ -188,15 +189,44 @@ export default {
|
|
|
|
|
|
},
|
|
|
mounted () {
|
|
|
- this.createChart1(this.chartData1)
|
|
|
- this.createChart2(this.chartData2)
|
|
|
+ this.createChart1(this.chartData2)
|
|
|
this.createChart3(this.chartData2)
|
|
|
- this.createChart4(this.chartData2)
|
|
|
+ this.createChart4(this.chartData4)
|
|
|
+ this.getInfo()
|
|
|
},
|
|
|
methods: {
|
|
|
resizeImg (newRect) {
|
|
|
console.log(newRect)
|
|
|
},
|
|
|
+ getInfo () {
|
|
|
+ Promise.all([getStatisticRepairNum(),
|
|
|
+ getStatisticData(),
|
|
|
+ getRepairCategory()]).then(res => {
|
|
|
+ console.log(res)
|
|
|
+ this.info = res[1].data
|
|
|
+ this.chartData1 = res[2].data.map(item => {
|
|
|
+ return {
|
|
|
+ name: item.categoryName,
|
|
|
+ value: item.repairNum
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.chartData2 = res[0].data.map(item => {
|
|
|
+ return {
|
|
|
+ name: item.sbPositionName,
|
|
|
+ value: item.repairNum
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.chartData3 = res[0].data.map(item => {
|
|
|
+ return {
|
|
|
+ name: item.sbPositionName,
|
|
|
+ value: item.repairRate
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.createChart2(this.chartData1)
|
|
|
+ this.createChart1(this.chartData2)
|
|
|
+ this.createChart3(this.chartData3)
|
|
|
+ })
|
|
|
+ },
|
|
|
handleView (val) {
|
|
|
if (val.count === 3) {
|
|
|
this.$refs.sbInfoModel.base(val)
|
|
@@ -216,7 +246,6 @@ export default {
|
|
|
},
|
|
|
series: [
|
|
|
{
|
|
|
- name: 'Nightingale Chart',
|
|
|
type: 'pie',
|
|
|
radius: [20, 80],
|
|
|
center: ['50%', '50%'],
|
|
@@ -253,15 +282,12 @@ export default {
|
|
|
},
|
|
|
visualMap: {
|
|
|
show: false,
|
|
|
- min: 3,
|
|
|
- max: 40,
|
|
|
inRange: {
|
|
|
colorLightness: [0, 1]
|
|
|
}
|
|
|
},
|
|
|
series: [
|
|
|
{
|
|
|
- name: 'Access From',
|
|
|
type: 'pie',
|
|
|
radius: '55%',
|
|
|
center: ['50%', '50%'],
|
|
@@ -293,14 +319,22 @@ export default {
|
|
|
option && myChart.setOption(option)
|
|
|
},
|
|
|
createChart3 (data) {
|
|
|
- data.forEach((item, index) => {
|
|
|
- item.label = { color: this.colors[index] }
|
|
|
+ const label = data.map(item => {
|
|
|
+ return item.name
|
|
|
+ })
|
|
|
+ const value = data.map(item => {
|
|
|
+ return item.value
|
|
|
})
|
|
|
const myChart = echarts.init(this.$refs.chart3)
|
|
|
const option = {
|
|
|
+ grid: {
|
|
|
+ left: '100', // 固定左边刻度宽度
|
|
|
+ right: '4%',
|
|
|
+ containLabel: true
|
|
|
+ },
|
|
|
yAxis: {
|
|
|
type: 'category',
|
|
|
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
|
|
|
+ data: label,
|
|
|
inverse: true,
|
|
|
axisLine: {
|
|
|
show: true,
|
|
@@ -309,6 +343,14 @@ export default {
|
|
|
width: 1
|
|
|
}
|
|
|
},
|
|
|
+ axisLabel: {
|
|
|
+ inside: true, // 标签刻度朝内
|
|
|
+ margin: 0, // 清除默认间距
|
|
|
+ padding: [0, 10, 0, 0], // 右边内边距10
|
|
|
+ textStyle: {
|
|
|
+ align: 'right' // 文字右对齐
|
|
|
+ }
|
|
|
+ },
|
|
|
axisTick: {
|
|
|
show: false
|
|
|
}
|
|
@@ -331,7 +373,7 @@ export default {
|
|
|
},
|
|
|
series: [
|
|
|
{
|
|
|
- data: [120, 200, 150, 80, 70, 110],
|
|
|
+ data: value,
|
|
|
type: 'bar',
|
|
|
barWidth: 14,
|
|
|
itemStyle: {
|