24
This commit is contained in:
@@ -17,3 +17,11 @@ export function getGpsStatusListApi(data) {
|
|||||||
params: data
|
params: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
//监控
|
||||||
|
export function getSourceGpsApi(data) {
|
||||||
|
return request({
|
||||||
|
url: '/fjtcc-api/api/largeScreen/source/gps',
|
||||||
|
method: 'get',
|
||||||
|
params: data
|
||||||
|
})
|
||||||
|
}
|
||||||
BIN
src/assets/images/jk-ico-2.png
Normal file
BIN
src/assets/images/jk-ico-2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
BIN
src/assets/images/jk-ico.png
Normal file
BIN
src/assets/images/jk-ico.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
@@ -7,7 +7,13 @@
|
|||||||
</div> -->
|
</div> -->
|
||||||
<div class="type-item" v-for="(item,index) in videoList">
|
<div class="type-item" v-for="(item,index) in videoList">
|
||||||
<div class="type-title">{{item.label}}</div>
|
<div class="type-title">{{item.label}}</div>
|
||||||
<draggable :data-item-index="index" class="item-element" :item-key="item.key" :list="item.videos" ghost-class="ghost" :force-fallback="true" chosen-class="chosenClass" animation="300"
|
<draggable
|
||||||
|
:data-item-index="index"
|
||||||
|
class="item-element"
|
||||||
|
:item-key="item.key"
|
||||||
|
:list="item.videos"
|
||||||
|
ghost-class="ghost"
|
||||||
|
:force-fallback="true" chosen-class="chosenClass" animation="300"
|
||||||
@start="onStart" @end="onEnd">
|
@start="onStart" @end="onEnd">
|
||||||
<template #item="{ element }">
|
<template #item="{ element }">
|
||||||
<div class="video-item" :style="{
|
<div class="video-item" :style="{
|
||||||
@@ -470,7 +476,7 @@
|
|||||||
.video-item {
|
.video-item {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: vw(210);
|
width: vw(210);
|
||||||
height: vh(380);
|
height: vh(300);
|
||||||
padding: vh(12) vw(12);
|
padding: vh(12) vw(12);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background-image: url('@/assets/images/item-primary.png');
|
background-image: url('@/assets/images/item-primary.png');
|
||||||
@@ -548,7 +554,7 @@
|
|||||||
// width: vw(720);
|
// width: vw(720);
|
||||||
// width:48%;
|
// width:48%;
|
||||||
// margin-right: 1%;
|
// margin-right: 1%;
|
||||||
height: vh(380);
|
height: vh(275);
|
||||||
padding: vh(10) vw(10);
|
padding: vh(10) vw(10);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
// margin-bottom:1%;
|
// margin-bottom:1%;
|
||||||
@@ -608,7 +614,8 @@
|
|||||||
}
|
}
|
||||||
&-item__video {
|
&-item__video {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: vh(366);
|
height: vh(260);
|
||||||
|
// height:100%;
|
||||||
object-fit: fill;
|
object-fit: fill;
|
||||||
}
|
}
|
||||||
&-detail {
|
&-detail {
|
||||||
|
|||||||
@@ -82,7 +82,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="flex pt-20">
|
<div class="flex pt-20">
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<<<<<<< HEAD
|
|
||||||
<Title3 title="拥堵告警" />
|
<Title3 title="拥堵告警" />
|
||||||
<!-- <Line :width="760" :height="180" :data="jamlData" :xAxisData="jamXAxisData" /> -->
|
<!-- <Line :width="760" :height="180" :data="jamlData" :xAxisData="jamXAxisData" /> -->
|
||||||
|
|
||||||
@@ -90,10 +89,8 @@
|
|||||||
:series="jamlData[0].data"
|
:series="jamlData[0].data"
|
||||||
:data="jamXAxisData" :height="180" />
|
:data="jamXAxisData" :height="180" />
|
||||||
|
|
||||||
=======
|
|
||||||
<Title3 title="平均车速(KM/H)" />
|
<Title3 title="平均车速(KM/H)" />
|
||||||
<Line :width="760" :height="180" :data="jamlData" :xAxisData="jamXAxisData" />
|
<Line :width="760" :height="180" :data="jamlData" :xAxisData="jamXAxisData" />
|
||||||
>>>>>>> 7c696b91971ef42b6e755b7bd49f244dd77c25b4
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -406,6 +403,9 @@
|
|||||||
}
|
}
|
||||||
&:nth-child(4) {
|
&:nth-child(4) {
|
||||||
.monitor-statistics-item__error {
|
.monitor-statistics-item__error {
|
||||||
|
margin-top: vh(10);
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: vw(24);
|
||||||
color: #e21b1b;
|
color: #e21b1b;
|
||||||
}
|
}
|
||||||
.monitor-statistics-item__value {
|
.monitor-statistics-item__value {
|
||||||
|
|||||||
@@ -40,11 +40,19 @@
|
|||||||
:class="{ item__active: current === index }"
|
:class="{ item__active: current === index }"
|
||||||
v-for="(item, index) in listTabs"
|
v-for="(item, index) in listTabs"
|
||||||
:key="index"
|
:key="index"
|
||||||
@click="handleItem(item, index)"
|
@click.stop="handleItem(item, index)"
|
||||||
>
|
>
|
||||||
<div class="child-box new-item">
|
<div style="justify-content: center;" class="child-box new-item">
|
||||||
<p class="item__label">{{ item.licenseNumber }}</p>
|
<p class="item__label"
|
||||||
|
style="justify-content: flex-start;">
|
||||||
|
{{ item.licenseNumber }}
|
||||||
|
<img
|
||||||
|
v-if="item.hasVideo==1"
|
||||||
|
@click.stop="handleMonitor(item)"
|
||||||
|
class="item__map_video"
|
||||||
|
src="@/assets/images/jk-ico-2.png" alt="">
|
||||||
|
</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="new-item">
|
<div class="new-item">
|
||||||
<span v-if="item.type == 0" class="label_img">
|
<span v-if="item.type == 0" class="label_img">
|
||||||
@@ -77,11 +85,20 @@
|
|||||||
<div id="big-car-ship" class="big-car-ship" />
|
<div id="big-car-ship" class="big-car-ship" />
|
||||||
</div>
|
</div>
|
||||||
<!-- </el-dialog> -->
|
<!-- </el-dialog> -->
|
||||||
|
|
||||||
|
<el-dialog :title="'车辆监控'+gpsLicenseNumber" center v-model="dialogTableVisible2">
|
||||||
|
<div class="bom-box bom-box2">
|
||||||
|
<div class="table2">
|
||||||
|
<!-- <div class="header-title">三峡之巅广播</div> -->
|
||||||
|
<iframe style="width:100%;height:100%;" :src="gpsMonitorSrc"></iframe>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { getGpsListApi, getGpsStatusListApi } from '@/api/scenic'
|
import { getGpsListApi, getGpsStatusListApi,getSourceGpsApi } from '@/api/scenic'
|
||||||
|
|
||||||
import closeIcon from '@/assets/images/close.png'
|
import closeIcon from '@/assets/images/close.png'
|
||||||
|
|
||||||
@@ -92,7 +109,8 @@
|
|||||||
import shipIcon from '@/assets/images/ship.png'
|
import shipIcon from '@/assets/images/ship.png'
|
||||||
import shipStopIcon from '@/assets/images/ship-stop.png'
|
import shipStopIcon from '@/assets/images/ship-stop.png'
|
||||||
import shipOfflineIcon from '@/assets/images/ship-offline.png'
|
import shipOfflineIcon from '@/assets/images/ship-offline.png'
|
||||||
|
|
||||||
|
import mapVideoIcon from '@/assets/images/map-video.png'
|
||||||
import icon13 from '@/assets/images/icon-13.png'
|
import icon13 from '@/assets/images/icon-13.png'
|
||||||
import icon14 from '@/assets/images/icon-14.png'
|
import icon14 from '@/assets/images/icon-14.png'
|
||||||
import icon15 from '@/assets/images/icon-15.png'
|
import icon15 from '@/assets/images/icon-15.png'
|
||||||
@@ -116,6 +134,7 @@ import PubSub from 'pubsub-js'
|
|||||||
{id:2,text:'三峡之巅',scenicSpotId:'root00000000'},
|
{id:2,text:'三峡之巅',scenicSpotId:'root00000000'},
|
||||||
{id:3,text:'直通车',scenicSpotId:'奉节县'}
|
{id:3,text:'直通车',scenicSpotId:'奉节县'}
|
||||||
])
|
])
|
||||||
|
|
||||||
let tabsListIndex = ref(0)
|
let tabsListIndex = ref(0)
|
||||||
const handleTabsList = (item)=>{
|
const handleTabsList = (item)=>{
|
||||||
scenicSpotId.value = item.scenicSpotId
|
scenicSpotId.value = item.scenicSpotId
|
||||||
@@ -175,6 +194,17 @@ import PubSub from 'pubsub-js'
|
|||||||
// number: 0
|
// number: 0
|
||||||
// }
|
// }
|
||||||
])
|
])
|
||||||
|
// 监控
|
||||||
|
let dialogTableVisible2 = ref(false)
|
||||||
|
let gpsMonitorSrc = ref(null)
|
||||||
|
let gpsLicenseNumber = ref(null)
|
||||||
|
const handleMonitor = async(item)=>{
|
||||||
|
console.log(item,'00000')
|
||||||
|
let res = await getSourceGpsApi({licenseNumber:item.licenseNumber,colorCode:item.colorCode})
|
||||||
|
gpsMonitorSrc.value = res.data
|
||||||
|
gpsLicenseNumber.value = item.licenseNumber
|
||||||
|
dialogTableVisible2.value = true
|
||||||
|
}
|
||||||
watch(
|
watch(
|
||||||
()=>[scenicStore.vehicleData,tabsIndex.value,map.value],
|
()=>[scenicStore.vehicleData,tabsIndex.value,map.value],
|
||||||
(val)=>{
|
(val)=>{
|
||||||
@@ -432,8 +462,72 @@ import PubSub from 'pubsub-js'
|
|||||||
PubSub.unsubscribe(scenicChange)
|
PubSub.unsubscribe(scenicChange)
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
<style lasng="scss" scoped>
|
||||||
|
|
||||||
|
:deep(.el-dialog__headerbtn .el-dialog__close){
|
||||||
|
color:#fff;
|
||||||
|
font-size:30px;
|
||||||
|
position:relative;
|
||||||
|
top:0;
|
||||||
|
right:0;
|
||||||
|
}
|
||||||
|
:deep(.el-dialog) {
|
||||||
|
background: url('/src/assets/images/map-bg-2.png') no-repeat top center;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
}
|
||||||
|
:deep(.el-dialog__title) {
|
||||||
|
color: #fff;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
.bom-box {
|
||||||
|
// padding-top:vh(20);
|
||||||
|
.table2{
|
||||||
|
width:100%;
|
||||||
|
height:vh(740);
|
||||||
|
overflow-y: auto;
|
||||||
|
margin-top:vh(20);
|
||||||
|
/* 滚动条整体样式 */
|
||||||
|
&::-webkit-scrollbar {
|
||||||
|
width: vw(4); /* 滚动条的宽度 */
|
||||||
|
}
|
||||||
|
/* 滚动条轨道 */
|
||||||
|
&::-webkit-scrollbar-track {
|
||||||
|
background: 'transparent'; /* 轨道的背景色 */
|
||||||
|
}
|
||||||
|
/* 滚动条滑块 */
|
||||||
|
&::-webkit-scrollbar-thumb {
|
||||||
|
background: rgba(0, 150, 255, 0.63); /* 滑块的背景色 */
|
||||||
|
border-radius: 5px; /* 滑块的圆角 */
|
||||||
|
}
|
||||||
|
.item {
|
||||||
|
height: vh(50);
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: vw(14);
|
||||||
|
color: #f1f7ff;
|
||||||
|
display: flex;
|
||||||
|
&:nth-child(2n + 1) {
|
||||||
|
background: linear-gradient(
|
||||||
|
90deg,
|
||||||
|
rgba(0, 150, 255, 0) 0%,
|
||||||
|
rgba(0, 150, 255, 0.22) 100%
|
||||||
|
);
|
||||||
|
}
|
||||||
|
& > div {
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
white-space: nowrap; /* 保证文本在一行内显示 */
|
||||||
|
overflow: hidden; /* 隐藏溢出的内容 */
|
||||||
|
text-overflow: ellipsis; /* 使用省略号表示文本溢出 */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
.coll-box{
|
.coll-box{
|
||||||
width:100% !important;
|
width:100% !important;
|
||||||
flex:1 !important;
|
flex:1 !important;
|
||||||
@@ -463,11 +557,18 @@ import PubSub from 'pubsub-js'
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
flex:1;
|
flex:1;
|
||||||
height:100%;
|
height:100%;
|
||||||
|
.item__map_video{
|
||||||
|
width:vw(20);
|
||||||
|
height:vh(20);
|
||||||
|
margin-left:vw(4);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.item__label{
|
.item__label{
|
||||||
display:flex;
|
display:flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
min-width:vw(110);
|
min-width:vw(110);
|
||||||
|
justify-content: flex-end;
|
||||||
|
text-align: right;
|
||||||
}
|
}
|
||||||
.label_img{
|
.label_img{
|
||||||
background: #0063ff;
|
background: #0063ff;
|
||||||
|
|||||||
Reference in New Issue
Block a user