466 lines
10 KiB
Vue
466 lines
10 KiB
Vue
|
|
<template>
|
|||
|
|
<div class="cont">
|
|||
|
|
<div class="top_">
|
|||
|
|
<div>车辆检测数据大屏</div>
|
|||
|
|
</div>
|
|||
|
|
<!-- -->
|
|||
|
|
<div class="content_">
|
|||
|
|
<div class="c_left">
|
|||
|
|
<div class="six_box">
|
|||
|
|
<div class="s_title">
|
|||
|
|
成交金额(已收款)
|
|||
|
|
</div>
|
|||
|
|
<div class="echaets_box">
|
|||
|
|
<!-- <div id="khly" style="width: 400px; height: 267px;"></div>-->
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="six_box">
|
|||
|
|
<div class="s_title">
|
|||
|
|
已收款金额统计分析
|
|||
|
|
</div>
|
|||
|
|
<div class="echaets_box">
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="six_box">
|
|||
|
|
<div class="s_title">
|
|||
|
|
订单数量统计分析
|
|||
|
|
</div>
|
|||
|
|
<div class="echaets_box">
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="c_cont">
|
|||
|
|
<div class="tab_">
|
|||
|
|
<!-- <div @click="countOrAmount()" class="tab_buttom tab_acvit">数量</div>-->
|
|||
|
|
<!-- <div @click="countOrAmount()" class="tab_buttom">金额</div>-->
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<div class="tab_bt">
|
|||
|
|
<div class="yb_">
|
|||
|
|
<div class="yb_title">工单总金额(元)</div>
|
|||
|
|
<div class="numlist">
|
|||
|
|
<!-- <div class="num_box" v-for="(item,index) in 6" :key="index">-->
|
|||
|
|
<!-- {{index}}-->
|
|||
|
|
<!-- </div>-->
|
|||
|
|
<div class="num_box">
|
|||
|
|
<!-- {{ statistics.totalAmount }}-->
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="yb_">
|
|||
|
|
<div class="yb_title">今日工单金额(元)</div>
|
|||
|
|
<div class="numlist">
|
|||
|
|
<!-- <div class="num_box" v-for="(item,index) in 6" :key="index">-->
|
|||
|
|
<!-- {{index}}-->
|
|||
|
|
<!-- </div>-->
|
|||
|
|
<div class="num_box">
|
|||
|
|
<!-- {{ statistics.todayAmount }}-->
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="five_box">
|
|||
|
|
<div class="f_box">
|
|||
|
|
<div class="img_left">
|
|||
|
|
<img src="./imgs/1.png" style="width: 60px;height: 60px">
|
|||
|
|
</div>
|
|||
|
|
<div>
|
|||
|
|
<!-- <div class="f_size">{{ statusTickets[3].name }}</div>-->
|
|||
|
|
<!-- <div class="f_num">{{ statusTickets[3].value }}</div>-->
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="f_box">
|
|||
|
|
<div class="img_left">
|
|||
|
|
<img src="./imgs/2.png" style="width: 60px;height: 60px">
|
|||
|
|
</div>
|
|||
|
|
<div>
|
|||
|
|
<!-- <div class="f_size">{{ statusTickets[4].name }}</div>-->
|
|||
|
|
<!-- <div class="f_num">{{ statusTickets[4].value }}</div>-->
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="f_box">
|
|||
|
|
<div class="img_left">
|
|||
|
|
<img src="./imgs/3.png" style="width: 60px;height: 60px">
|
|||
|
|
</div>
|
|||
|
|
<div>
|
|||
|
|
<!-- <div class="f_size">{{ statusTickets[0].name }}</div>-->
|
|||
|
|
<!-- <div class="f_num">{{ statusTickets[0].value }}</div>-->
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="f_box">
|
|||
|
|
<div class="img_left">
|
|||
|
|
<img src="./imgs/4.png" style="width: 60px;height: 60px">
|
|||
|
|
</div>
|
|||
|
|
<div>
|
|||
|
|
<!-- <div class="f_size">{{ statusTickets[1].name }}</div>-->
|
|||
|
|
<!-- <div class="f_num">{{ statusTickets[1].value }}</div>-->
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="f_box">
|
|||
|
|
<div class="img_left">
|
|||
|
|
<img src="./imgs/5.png" style="width: 60px;height: 60px">
|
|||
|
|
</div>
|
|||
|
|
<div>
|
|||
|
|
<!-- <div class="f_size">{{ statusTickets[5].name }}</div>-->
|
|||
|
|
<!-- <div class="f_num">{{ statusTickets[5].value }}</div>-->
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="co_title">
|
|||
|
|
今日工单
|
|||
|
|
</div>
|
|||
|
|
<!-- <div class="list_long">-->
|
|||
|
|
<!-- <div class="long_title">-->
|
|||
|
|
<!-- <div class="l_one">工单号</div>-->
|
|||
|
|
<!-- <div class="l_two">服务客户</div>-->
|
|||
|
|
<!-- <div class="l_three">服务顾问</div>-->
|
|||
|
|
<!-- <div class="l_four">创建时间</div>-->
|
|||
|
|
<!-- </div>-->
|
|||
|
|
<!-- <div class="ot_vox">-->
|
|||
|
|
<!-- <div class="long_box" v-for="(item,index) in todayTickets" :key="index">-->
|
|||
|
|
<!-- <div class="l_one">{{ item.ticketNo }}</div>-->
|
|||
|
|
<!-- <div class="l_two">{{ item.userName }}</div>-->
|
|||
|
|
<!-- <div class="l_three">{{ item.adviserName }}</div>-->
|
|||
|
|
<!-- <div class="l_four">{{ parseTime(item.createTime) }}</div>-->
|
|||
|
|
<!-- </div>-->
|
|||
|
|
<!-- </div>-->
|
|||
|
|
<!-- </div>-->
|
|||
|
|
</div>
|
|||
|
|
<div class="c_right">
|
|||
|
|
<div class="six_box">
|
|||
|
|
<div class="s_title">
|
|||
|
|
维修类型统计
|
|||
|
|
</div>
|
|||
|
|
<div class="echaets_box">
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="six_box">
|
|||
|
|
<div class="s_title">
|
|||
|
|
月工单金额走势
|
|||
|
|
</div>
|
|||
|
|
<div class="echaets_box">
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="six_box">
|
|||
|
|
<div class="s_title">
|
|||
|
|
维修工人排行
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
import * as echarts from 'echarts';
|
|||
|
|
import * as jcBigScreen from '@/views/inspection/screen/api/jcBigScreen';
|
|||
|
|
|
|||
|
|
export default {
|
|||
|
|
name: 'Index',
|
|||
|
|
components: {},
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
created() {
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
mounted() {
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 客户来源分析饼图
|
|||
|
|
*/
|
|||
|
|
async customerSource() {
|
|||
|
|
const res = await RepairBigScreenApi.customerSource();
|
|||
|
|
var chartDom = document.getElementById('khly');
|
|||
|
|
var myChart = echarts.init(chartDom);
|
|||
|
|
var option;
|
|||
|
|
option = {
|
|||
|
|
toolbox: {
|
|||
|
|
show: true,
|
|||
|
|
},
|
|||
|
|
tooltip: {
|
|||
|
|
trigger: 'item',
|
|||
|
|
formatter: "{a} <br/>{b} : {c} ({d}%)"
|
|||
|
|
},
|
|||
|
|
series: [
|
|||
|
|
{
|
|||
|
|
name: '客户来源分析',
|
|||
|
|
type: 'pie',
|
|||
|
|
radius: [20, 100],
|
|||
|
|
center: ['50%', '50%'],
|
|||
|
|
roseType: 'area',
|
|||
|
|
itemStyle: {
|
|||
|
|
borderRadius: 2
|
|||
|
|
},
|
|||
|
|
data: res.data,
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
};
|
|||
|
|
option && myChart.setOption(option);
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style lang="scss" scoped>
|
|||
|
|
.cont {
|
|||
|
|
background: #020F32;
|
|||
|
|
//background: url("./imgs/back.png") no-repeat;
|
|||
|
|
background-size: 100% 100%;
|
|||
|
|
width: 100%;
|
|||
|
|
height: 100vh;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.top_ {
|
|||
|
|
width: 100%;
|
|||
|
|
height: 86px;
|
|||
|
|
background: url("./imgs/top.png") no-repeat;
|
|||
|
|
background-size: 100% 100%;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: center;
|
|||
|
|
font-size: 50px;
|
|||
|
|
color: #FFFFFF;
|
|||
|
|
font-weight: bold;
|
|||
|
|
margin-bottom: 15px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.content_ {
|
|||
|
|
width: 100%;
|
|||
|
|
display: flex;
|
|||
|
|
//align-items: center;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.c_left {
|
|||
|
|
width: 25%;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.c_cont {
|
|||
|
|
width: 50%;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.tab_ {
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: center;
|
|||
|
|
width: 100%;
|
|||
|
|
font-size: 18px;
|
|||
|
|
color: #FFFFFF;
|
|||
|
|
margin: 15px auto;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.yb_title {
|
|||
|
|
text-align: center;
|
|||
|
|
font-size: 18px;
|
|||
|
|
color: #FFFFFF;
|
|||
|
|
margin: 15px auto;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.tab_bt {
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: center;
|
|||
|
|
width: 100%;
|
|||
|
|
border-bottom: 4px solid #0174F6;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
padding-bottom: 20px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.tab_buttom {
|
|||
|
|
width: 120px;
|
|||
|
|
height: 32px;
|
|||
|
|
|
|||
|
|
border: 1px solid #0174F6;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: center;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
yb_title {
|
|||
|
|
font-size: 16px;
|
|||
|
|
color: #FFFFFF;
|
|||
|
|
text-align: center;
|
|||
|
|
width: 100%;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.numlist {
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: center;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.num_box {
|
|||
|
|
width: 38px;
|
|||
|
|
height: 50px;
|
|||
|
|
border-radius: 0px 0px 0px 0px;
|
|||
|
|
font-weight: 600;
|
|||
|
|
font-size: 32px;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: center;
|
|||
|
|
background: url("./imgs/numbcak.png") no-repeat;
|
|||
|
|
background-size: 100% 100%;
|
|||
|
|
color: #FFFFFF;
|
|||
|
|
margin: 0px 10px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.yb_ {
|
|||
|
|
width: 50%;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.tab_acvit {
|
|||
|
|
background: #0174F6 !important;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.five_box {
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: space-around;
|
|||
|
|
margin: 30px auto;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.f_size {
|
|||
|
|
font-size: 14px;
|
|||
|
|
color: #FFFFFF;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.f_num {
|
|||
|
|
font-weight: bold;
|
|||
|
|
font-size: 24px;
|
|||
|
|
color: #FFFFFF;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.img_left {
|
|||
|
|
width: 60px;
|
|||
|
|
height: 60px;
|
|||
|
|
margin-right: 10px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.f_box {
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.co_title {
|
|||
|
|
width: 100%;
|
|||
|
|
height: 32px;
|
|||
|
|
background: url("./imgs/c_title.png") no-repeat;
|
|||
|
|
background-size: 100% 100%;
|
|||
|
|
font-weight: 500;
|
|||
|
|
font-size: 20px;
|
|||
|
|
color: #FFFFFF;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
padding-left: 40px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.s_title {
|
|||
|
|
width: 90%;
|
|||
|
|
height: 32px;
|
|||
|
|
background: url("./imgs/title.png") no-repeat;
|
|||
|
|
background-size: 100% 100%;
|
|||
|
|
font-weight: 500;
|
|||
|
|
font-size: 20px;
|
|||
|
|
color: #FFFFFF;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
padding-left: 40px;
|
|||
|
|
margin: 0px auto;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.echaets_box {
|
|||
|
|
width: 90%;
|
|||
|
|
height: 267px;
|
|||
|
|
margin: 0px auto;
|
|||
|
|
border-bottom: 1px solid #0174F6;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.list_long {
|
|||
|
|
width: 100%;
|
|||
|
|
height: 563px;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.l_one {
|
|||
|
|
width: 30%;
|
|||
|
|
text-align: left;
|
|||
|
|
font-size: 18px;
|
|||
|
|
color: rgba(255, 255, 255, 0.7);
|
|||
|
|
overflow: hidden;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
padding-left: 35px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.l_two {
|
|||
|
|
width: 20%;
|
|||
|
|
text-align: center;
|
|||
|
|
font-size: 18px;
|
|||
|
|
color: rgba(255, 255, 255, 0.7);
|
|||
|
|
overflow: hidden;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.l_three {
|
|||
|
|
width: 20%;
|
|||
|
|
text-align: center;
|
|||
|
|
font-size: 18px;
|
|||
|
|
color: rgba(255, 255, 255, 0.7);
|
|||
|
|
overflow: hidden;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.l_four {
|
|||
|
|
width: 30%;
|
|||
|
|
text-align: right;
|
|||
|
|
font-size: 18px;
|
|||
|
|
color: rgba(255, 255, 255, 0.7);
|
|||
|
|
overflow: hidden;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
padding-right: 35px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.long_title {
|
|||
|
|
width: 100%;
|
|||
|
|
height: 58px;
|
|||
|
|
background: rgba(1, 116, 246, 0.1);
|
|||
|
|
background: url("./imgs/c_list.png") no-repeat;
|
|||
|
|
background-size: 100% 100%;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
margin: 10px auto;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.ot_vox {
|
|||
|
|
width: 100%;
|
|||
|
|
height: 500px;
|
|||
|
|
overflow: auto;
|
|||
|
|
scrollbar-width: none;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.long_box {
|
|||
|
|
width: 100%;
|
|||
|
|
height: 58px;
|
|||
|
|
background: rgba(1, 116, 246, 0.1);
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
margin: 10px auto;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.six_box {
|
|||
|
|
margin-bottom: 15px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.c_right {
|
|||
|
|
width: 25%;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
</style>
|