<template>
|
<div id="warp">
|
<div class="data-chart-container">
|
<el-card class="data-card" :body-style="{ height: '100%' }">
|
<div class="card-content">
|
<div class="title-container">
|
<h1>考核成绩</h1>
|
<div class="select-container">
|
<el-date-picker v-model="date" type="date" placeholder="选择日期">
|
</el-date-picker>
|
</div>
|
</div>
|
|
<div class="echart-container">
|
<div id="barChart" ref="barChart"></div>
|
</div>
|
</div>
|
</el-card>
|
</div>
|
<el-row :gutter="100">
|
<el-col :span="6">
|
<div class="city-warp">
|
<div class="city">
|
<div class="title">
|
自流井
|
</div>
|
<div class="score-warp">
|
<div class="score-item">
|
<div style="font-size: 15px;margin-bottom: 15px">2024年4月12日</div>
|
</div>
|
<div class="score-item">
|
<div>视频:</div>
|
<div class="score">99.5</div>
|
</div>
|
<div class="score-item">
|
<div>人脸:</div>
|
<div class="score">87</div>
|
</div>
|
<div class="score-item">
|
<div>车辆:</div>
|
<div class="score">94</div>
|
</div>
|
</div>
|
<div class="bottom-publish">
|
<el-button size="medium" type="success">发布</el-button>
|
<el-button size="medium" @click="jumpDetail" type="info">详情</el-button>
|
</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="6">
|
<div class="city-warp">
|
<div class="city">
|
<div class="title">
|
富顺
|
</div>
|
<div class="score-warp">
|
<div class="score-item">
|
<div style="font-size: 15px;margin-bottom: 15px">2024年4月12日</div>
|
</div>
|
<div class="score-item">
|
<div>视频:</div>
|
<div class="score">99.5</div>
|
</div>
|
<div class="score-item">
|
<div>人脸:</div>
|
<div class="score">87</div>
|
</div>
|
<div class="score-item">
|
<div>车辆:</div>
|
<div class="score">94</div>
|
</div>
|
|
</div>
|
<div class="bottom-publish">
|
<el-button size="medium" v-hasPermi="['calculate:rule:add']" type="success">发布</el-button>
|
<el-button size="medium" v-hasPermi="['calculate:rule:query']" @click="jumpDetail" type="info">详情</el-button>
|
</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="6">
|
<div class="city-warp">
|
<div class="city">
|
<div class="title">
|
荣县
|
</div>
|
<div class="score-warp">
|
<div class="score-item">
|
<div style="font-size: 15px;margin-bottom: 15px">2024年4月12日</div>
|
</div>
|
<div class="score-item">
|
<div>视频:</div>
|
<div class="score">99.5</div>
|
</div>
|
<div class="score-item">
|
<div>人脸:</div>
|
<div class="score">87</div>
|
</div>
|
<div class="score-item">
|
<div>车辆:</div>
|
<div class="score">94</div>
|
</div>
|
|
</div>
|
<div class="bottom-publish">
|
<el-button size="medium" type="success">发布</el-button>
|
<el-button size="medium" @click="jumpDetail" type="info">详情</el-button>
|
</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="6">
|
<div class="city-warp">
|
<div class="city">
|
<div class="title">
|
沿滩区
|
</div>
|
<div class="score-warp">
|
<div class="score-item">
|
<div style="font-size: 15px;margin-bottom: 15px">2024年4月12日</div>
|
</div>
|
<div class="score-item">
|
<div>视频:</div>
|
<div class="score">99.5</div>
|
</div>
|
<div class="score-item">
|
<div>人脸:</div>
|
<div class="score">87</div>
|
</div>
|
<div class="score-item">
|
<div>车辆:</div>
|
<div class="score">94</div>
|
</div>
|
|
</div>
|
<div class="bottom-publish">
|
<el-button size="medium" type="success">发布</el-button>
|
<el-button size="medium" @click="jumpDetail" type="info">详情</el-button>
|
</div>
|
</div>
|
</div>
|
</el-col>
|
|
|
</el-row>
|
|
<el-row style="margin-top: 30px" :gutter="100">
|
<el-col :span="6">
|
<div class="city-warp">
|
<div class="city">
|
<div class="title">
|
高新区
|
</div>
|
<div class="score-warp">
|
<div class="score-item">
|
<div style="font-size: 15px;margin-bottom: 15px">2024年4月12日</div>
|
</div>
|
<div class="score-item">
|
<div>视频:</div>
|
<div class="score">99.5</div>
|
</div>
|
<div class="score-item">
|
<div>人脸:</div>
|
<div class="score">87</div>
|
</div>
|
<div class="score-item">
|
<div>车辆:</div>
|
<div class="score">94</div>
|
</div>
|
</div>
|
<div class="bottom-publish">
|
<el-button size="medium" type="success">发布</el-button>
|
<el-button size="medium" @click="jumpDetail" type="info">详情</el-button>
|
</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="6">
|
<div class="city-warp">
|
<div class="city">
|
<div class="title">
|
大安区
|
</div>
|
<div class="score-warp">
|
<div class="score-item">
|
<div style="font-size: 15px;margin-bottom: 15px">2024年4月12日</div>
|
</div>
|
<div class="score-item">
|
<div>视频:</div>
|
<div class="score">99.5</div>
|
</div>
|
<div class="score-item">
|
<div>人脸:</div>
|
<div class="score">87</div>
|
</div>
|
<div class="score-item">
|
<div>车辆:</div>
|
<div class="score">94</div>
|
</div>
|
</div>
|
<div class="bottom-publish">
|
<el-button size="medium" type="success">发布</el-button>
|
<el-button size="medium" @click="jumpDetail" type="info">详情</el-button>
|
</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="6">
|
<div class="city-warp">
|
<div class="city">
|
<div class="title">
|
贡井区
|
</div>
|
<div class="score-warp">
|
<div class="score-item">
|
<div style="font-size: 15px;margin-bottom: 15px">2024年4月12日</div>
|
</div>
|
<div class="score-item">
|
<div>视频:</div>
|
<div class="score">99.5</div>
|
</div>
|
<div class="score-item">
|
<div>人脸:</div>
|
<div class="score">87</div>
|
</div>
|
<div class="score-item">
|
<div>车辆:</div>
|
<div class="score">94</div>
|
</div>
|
|
</div>
|
<div class="bottom-publish">
|
<el-button size="medium" type="success">发布</el-button>
|
<el-button size="medium" @click="jumpDetail" type="info">详情</el-button>
|
</div>
|
</div>
|
</div>
|
</el-col>
|
</el-row>
|
</div>
|
|
</template>
|
|
<script>
|
import * as echarts from 'echarts';
|
let observer = null;
|
let chart = null;
|
export default {
|
name: 'index',
|
data() {
|
return {
|
activeIndex: '1',
|
activeIndex2: '1',
|
date: '',
|
company: '',
|
dataList: {
|
name: ['富顺县', '荣县', '高新区', '自流井区', '贡井区', '大安区', '沿滩区'],
|
data1: [95, 96, 97, 95, 94.5, 93.6, 94.5],
|
data2: [93.7, 93.5, 94.3, 96.5, 95.3, 94.2, 93.3],
|
data3: [98.3, 94.3, 93.3, 95.5, 96.8, 96.1, 95.8],
|
},
|
}
|
},
|
methods: {
|
jumpDetail() {
|
this.$router.push("/examine/detail")
|
},
|
initEchart() {
|
const option = {
|
grid: {
|
left: 0,
|
right: 0,
|
bottom: 0,
|
top: '20%',
|
containLabel: true
|
},
|
legend: {
|
right: 'right',
|
top: 'top',
|
icon: 'rect',
|
orient: "vertical",
|
},
|
tooltip: {},
|
xAxis: {
|
type: 'category',
|
axisLabel: {
|
},
|
data: this.dataList.name
|
},
|
yAxis: {
|
min: 90,
|
},
|
series: [
|
{
|
type: 'bar',
|
name: '视频考核',
|
data: this.dataList.data1,
|
itemStyle: {
|
color: 'rgba(255, 165, 0, 1)'
|
}
|
},
|
{
|
type: 'bar',
|
name: '人脸考核',
|
data: this.dataList.data2,
|
itemStyle: {
|
color: 'rgba(85, 192, 191, 1)'
|
}
|
},
|
{
|
type: 'bar',
|
name: '车辆考核',
|
data: this.dataList.data3,
|
itemStyle: {
|
color: 'rgba(62, 144, 247, 1)'
|
}
|
},
|
]
|
}
|
chart.setOption(option, true);
|
|
}
|
},
|
mounted() {
|
chart = echarts.init(this.$refs.barChart);
|
this.initEchart();
|
}
|
}
|
</script>
|
|
<style lang = "scss" scoped>
|
.score-warp {
|
display: flex;
|
flex-direction: column;
|
justify-content: center;
|
align-items: center;
|
color: #797777
|
}
|
.score-item {
|
display: flex;
|
flex-direction: row;
|
|
}
|
.score {
|
width: 60px;
|
text-align: right;
|
}
|
#warp {
|
padding: 20px;
|
}
|
.city-warp {
|
display: flex;
|
flex-direction: column;
|
align-items: center;
|
justify-content: center;
|
height: 210px;
|
}
|
.city {
|
width: 240px;
|
height: 100%;
|
box-shadow: 0 2px 6px hsla(0, 0%, 7%, .1);
|
border-radius: 10px;
|
position: relative;
|
text-align: center;
|
padding: 10px 0px;
|
}
|
.bottom-publish {
|
width: 100%;
|
position: absolute;
|
bottom: 10px;
|
}
|
.title {
|
font-size: larger;
|
margin-bottom: 5px;
|
}
|
.data-chart-container {
|
height: 400px;
|
margin-bottom: 20px;
|
|
.data-card {
|
height: 100%;
|
|
.card-content {
|
width: 100%;
|
height: 100%;
|
position: relative;
|
}
|
}
|
}
|
.title-container {
|
position: absolute;
|
display: flex;
|
justify-content: space-between;
|
align-items: center;
|
z-index: 2;
|
|
|
.more-button {
|
cursor: pointer;
|
font-size: 16px;
|
padding: 0 10px;
|
}
|
}
|
|
.echart-container {
|
width: 100%;
|
height: 100%;
|
|
#barChart {
|
width: 100%;
|
height: 100%;
|
}
|
}
|
.select-container {
|
margin: 0 20px;
|
width: 180px;
|
}
|
</style>
|