Commit 0ec8ab8a authored by xxx's avatar xxx

1

parent b95a37a6
......@@ -54,6 +54,10 @@
</div>
</div>
<div class="echarts1" id="echarts1"></div>
<div class="echarts1_neiquan">
<div style="color:white;">总数</div>
<div style="color:#FDBF46;font-size:24px;">{{alarmData.total}}</div>
</div>
</div>
</div>
<div class="aiAnalysisRightViews_1">
......@@ -78,8 +82,8 @@
<dd v-for="(item,index) in aiAnalysisTableData" :key="index">
<div>{{item.vehiIdno}}</div>
<div>{{item.name}}</div>
<div>{{item.fileTimeStr}}</div>
<div style="text-decoration:underline;cursor: pointer;" @click="dianjichakan(item.downloadUrl)">点击查看</div>
<div>{{item.fileTime}}</div>
<div style="text-decoration:underline;cursor: pointer;" @click="dianjichakan(item)">点击查看</div>
</dd>
</dl>
</div>
......@@ -89,6 +93,18 @@
</el-container>
</el-container>
<div class="videoMengCeng" v-if="videoSrcShow">
<div class="closeVideoDiv" @click="closeVideo"><i class="el-icon-close"></i></div>
<video :src="videoSrc" autoplay controls height="800px" width="1450px"></video>
</div>
<div class="elimageMengCeng" v-if="elimageSrcShow">
<div class="closeElimageDiv" @click="closeElimage"><i class="el-icon-close"></i></div>
<el-image style="width: 80vw; height: 85vh" :src="elimageSrc"></el-image>
</div>
</div>
</template>
......@@ -126,39 +142,17 @@ export default {
handle:0,
},
//所有车的信息
allCarData:[],
allCarDataText:'',
searchCarText:'',
//会话号
jsession:'',
tableTimer:null,
//视频数据
videoSrc:'',
videoSrcShow:false,
//图片数据
elimageSrc:'',
elimageSrcShow:false,
};
},
mounted() {
let that = this;
this.getCode();
HttpReq.truckDispatching.carMonitoringCarsQuery({size: 9999}).then((res) => {
let arr1 = [];
let text1 = '';
res.content.forEach((item,index)=>{
text1 = text1 + item.carnumber + ',';
arr1.push(item.carnumber);
})
text1 = text1.substring(0, text1.length - 1);
this.allCarData = arr1;
this.allCarDataText = text1;
//获取会话号
axios.get('/jiankong/StandardApiAction_login.action', {
params: {
account:'admin',
password:'admin'
}
}).then(function (response) {
that.jsession = response.data.jsession;
that.aiTabPositionFn();
})
})
//this.mouseoutTable();
},
methods: {
getCode() {
......@@ -219,164 +213,18 @@ export default {
if(this.aiTabPosition == '今天'){
let start = this.currentTime1(new Date(new Date(new Date().toLocaleDateString()).getTime()));
let end = this.currentTime1(new Date(new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1));
//报警列表
let allAlarmData1 = [];
this.allCarData.forEach((item1,index1)=>{
//获取每辆车的设备号
axios.get('/jiankong/StandardApiAction_getDeviceByVehicle.action', {
params: {
jsession:that.jsession,
vehiIdno:item1
}
}).then(function (response1) {
if(response1.data.devices.length != 0){
//有设备号的车获取报警列表
axios.get('/jiankong/StandardApiAction_queryPhoto.action', {
params: {
jsession:that.jsession,
devIdno:response1.data.devices[0].did,
alarmType:'620,621,624,625,400,172,190,430,431,432,433',
begintime:start,
endtime:end,
currentPage:0,
pageRecords:9999,
}
}).then(function (response2) {
if(response2.data.infos){
response2.data.infos.forEach((item2,index2)=>{
if(item2.alarmType == 620){
let obj1 = {...item2};
obj1.alarmTypeText = '接打电话';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 621){
let obj1 = {...item2};
obj1.alarmTypeText = '接打电话';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 624){
let obj1 = {...item2};
obj1.alarmTypeText = '分神驾驶';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 625){
let obj1 = {...item2};
obj1.alarmTypeText = '分神驾驶';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 600){
let obj1 = {...item2};
obj1.alarmTypeText = '前向碰撞';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 601){
let obj1 = {...item2};
obj1.alarmTypeText = '前向碰撞';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 172){
let obj1 = {...item2};
obj1.alarmTypeText = '疲劳驾驶';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 190){
let obj1 = {...item2};
obj1.alarmTypeText = '疲劳驾驶';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 430){
let obj1 = {...item2};
obj1.alarmTypeText = '接近报警';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 431){
let obj1 = {...item2};
obj1.alarmTypeText = '接近报警';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 432){
let obj1 = {...item2};
obj1.alarmTypeText = '接近报警';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 433){
let obj1 = {...item2};
obj1.alarmTypeText = '接近报警';
allAlarmData1.push(obj1);
}
})
that.aiAnalysisTableData = allAlarmData1;
}
})
}
})
})
//报警echarts
axios.get('/jiankong/StandardApiAction_queryAlarmDetail.action', {
params: {
jsession:that.jsession,
vehiIdno:that.allCarDataText,
begintime:start,
endtime:end,
armType:'620,621,624,625,400,172,190,430,431,432,433',
currentPage:0,
pageRecords:9999,
}
}).then(function (response1) {
if(response1.data.alarms){
let arr1 = [];
let echartsName1 = [];
//报警数量
let alarmHandleNum = 0;
response1.data.alarms.forEach((item1,index1)=>{
if(item1.atp == 620){
let obj1 = {...item1};
obj1.alarmTypeText = '接打电话';
arr1.push(obj1);
}else if(item1.atp == 621){
let obj1 = {...item1};
obj1.alarmTypeText = '接打电话';
arr1.push(obj1);
}else if(item1.atp == 624){
let obj1 = {...item1};
obj1.alarmTypeText = '分神驾驶';
arr1.push(obj1);
}else if(item1.atp == 625){
let obj1 = {...item1};
obj1.alarmTypeText = '分神驾驶';
arr1.push(obj1);
}else if(item1.atp == 600){
let obj1 = {...item1};
obj1.alarmTypeText = '前向碰撞';
arr1.push(obj1);
}else if(item1.atp == 601){
let obj1 = {...item1};
obj1.alarmTypeText = '前向碰撞';
arr1.push(obj1);
}else if(item1.atp == 172){
let obj1 = {...item1};
obj1.alarmTypeText = '疲劳驾驶';
arr1.push(obj1);
}else if(item1.atp == 190){
let obj1 = {...item1};
obj1.alarmTypeText = '疲劳驾驶';
arr1.push(obj1);
}else if(item1.atp == 430){
let obj1 = {...item1};
obj1.alarmTypeText = '接近报警';
arr1.push(obj1);
}else if(item1.atp == 430){
let obj1 = {...item1};
obj1.alarmTypeText = '接近报警';
arr1.push(obj1);
}else if(item1.atp == 430){
let obj1 = {...item1};
obj1.alarmTypeText = '接近报警';
arr1.push(obj1);
}else if(item1.atp == 430){
let obj1 = {...item1};
obj1.alarmTypeText = '接近报警';
arr1.push(obj1);
}
})
that.alarmData.total = arr1.length;
arr1.forEach((item2,index2)=>{
echartsName1.push(item2.vid);
if(item2.hd != 0){
alarmHandleNum++;
}
})
that.alarmData.handle = alarmHandleNum;
//获取报警信息列表
HttpReq.truckDispatching.apiCameraUrllistQuery({page:0,size:99999,startTime:start,endTime:end}).then((res1) => {
if(res1.code == 200){
this.aiAnalysisTableData = res1.data;
this.alarmData.total = res1.data.length;
let handleNum = 0;
res1.data.forEach((item1,index1)=>{
if(item1.status == 1){
handleNum++;
}
})
this.alarmData.handle = handleNum;
//圆角环形图
let echarts1Data1 = [{ value: 0, name: '接打电话' }, { value: 0, name: '分神驾驶' }, { value: 0, name: '前向碰撞' }, { value: 0, name: '疲劳驾驶' }, { value: 0, name: '接近报警' }];
let num1 = 0;
......@@ -384,16 +232,16 @@ export default {
let num3 = 0;
let num4 = 0;
let num5 = 0;
arr1.forEach((item3,index3)=>{
if(item3.alarmTypeText == '接打电话'){
res1.data.forEach((item3,index3)=>{
if(item3.name == '接打电话'){
num1++;
}else if(item3.alarmTypeText == '分神驾驶'){
}else if(item3.name == '分神驾驶'){
num2++;
}else if(item3.alarmTypeText == '前向碰撞'){
}else if(item3.name == '前向碰撞'){
num3++;
}else if(item3.alarmTypeText == '疲劳驾驶'){
}else if(item3.name == '疲劳驾驶'){
num4++;
}else if(item3.alarmTypeText == '接近报警'){
}else if(item3.name == '接近报警'){
num5++;
}
})
......@@ -405,6 +253,10 @@ export default {
that.echarts1Data = echarts1Data1;
that.echarts1Fn();
//报警车辆排行榜
let echartsName1 = [];
res1.data.forEach((item2,index2)=>{
echartsName1.push(item2.vehiIdno);
})
let set1 = new Set();
echartsName1.forEach((item)=>set1.add(item))
let a1 = Array.from(set1);
......@@ -421,17 +273,17 @@ export default {
aa4.push(0);
aa5.push(0);
})
arr1.forEach((item4,index4)=>{
res1.data.forEach((item4,index4)=>{
a1.forEach((item5,index5)=>{
if(item4.vid == item5 && item4.alarmTypeText == '接打电话'){
if(item4.vehiIdno == item5 && item4.name == '接打电话'){
aa1[index5] = aa1[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '分神驾驶'){
}else if(item4.vehiIdno == item5 && item4.name == '分神驾驶'){
aa2[index5] = aa2[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '前向碰撞'){
}else if(item4.vehiIdno == item5 && item4.name == '前向碰撞'){
aa3[index5] = aa3[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '疲劳驾驶'){
}else if(item4.vehiIdno == item5 && item4.name == '疲劳驾驶'){
aa4[index5] = aa4[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '接近报警'){
}else if(item4.vehiIdno == item5 && item4.name == '接近报警'){
aa5[index5] = aa5[index5] + 1;
}
})
......@@ -452,164 +304,18 @@ export default {
let fmt = moment().subtract(7, 'days').format('YYYY-MM-DD');
let start = this.currentTime1(new Date(new Date(new Date(fmt).toLocaleDateString()).getTime()));
let end = this.currentTime1(new Date(new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1));
//报警列表
let allAlarmData1 = [];
this.allCarData.forEach((item1,index1)=>{
//获取每辆车的设备号
axios.get('/jiankong/StandardApiAction_getDeviceByVehicle.action', {
params: {
jsession:that.jsession,
vehiIdno:item1
}
}).then(function (response1) {
if(response1.data.devices.length != 0){
//有设备号的车获取报警列表
axios.get('/jiankong/StandardApiAction_queryPhoto.action', {
params: {
jsession:that.jsession,
devIdno:response1.data.devices[0].did,
alarmType:'620,621,624,625,400,172,190,430,431,432,433',
begintime:start,
endtime:end,
currentPage:0,
pageRecords:9999,
}
}).then(function (response2) {
if(response2.data.infos){
response2.data.infos.forEach((item2,index2)=>{
if(item2.alarmType == 620){
let obj1 = {...item2};
obj1.alarmTypeText = '接打电话';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 621){
let obj1 = {...item2};
obj1.alarmTypeText = '接打电话';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 624){
let obj1 = {...item2};
obj1.alarmTypeText = '分神驾驶';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 625){
let obj1 = {...item2};
obj1.alarmTypeText = '分神驾驶';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 600){
let obj1 = {...item2};
obj1.alarmTypeText = '前向碰撞';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 601){
let obj1 = {...item2};
obj1.alarmTypeText = '前向碰撞';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 172){
let obj1 = {...item2};
obj1.alarmTypeText = '疲劳驾驶';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 190){
let obj1 = {...item2};
obj1.alarmTypeText = '疲劳驾驶';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 430){
let obj1 = {...item2};
obj1.alarmTypeText = '接近报警';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 431){
let obj1 = {...item2};
obj1.alarmTypeText = '接近报警';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 432){
let obj1 = {...item2};
obj1.alarmTypeText = '接近报警';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 433){
let obj1 = {...item2};
obj1.alarmTypeText = '接近报警';
allAlarmData1.push(obj1);
}
})
that.aiAnalysisTableData = allAlarmData1;
}
})
}
})
})
//报警echarts
axios.get('/jiankong/StandardApiAction_queryAlarmDetail.action', {
params: {
jsession:that.jsession,
vehiIdno:that.allCarDataText,
begintime:start,
endtime:end,
armType:'620,621,624,625,400,172,190,430,431,432,433',
currentPage:0,
pageRecords:9999,
}
}).then(function (response1) {
if(response1.data.alarms){
let arr1 = [];
let echartsName1 = [];
//报警数量
let alarmHandleNum = 0;
response1.data.alarms.forEach((item1,index1)=>{
if(item1.atp == 620){
let obj1 = {...item1};
obj1.alarmTypeText = '接打电话';
arr1.push(obj1);
}else if(item1.atp == 621){
let obj1 = {...item1};
obj1.alarmTypeText = '接打电话';
arr1.push(obj1);
}else if(item1.atp == 624){
let obj1 = {...item1};
obj1.alarmTypeText = '分神驾驶';
arr1.push(obj1);
}else if(item1.atp == 625){
let obj1 = {...item1};
obj1.alarmTypeText = '分神驾驶';
arr1.push(obj1);
}else if(item1.atp == 600){
let obj1 = {...item1};
obj1.alarmTypeText = '前向碰撞';
arr1.push(obj1);
}else if(item1.atp == 601){
let obj1 = {...item1};
obj1.alarmTypeText = '前向碰撞';
arr1.push(obj1);
}else if(item1.atp == 172){
let obj1 = {...item1};
obj1.alarmTypeText = '疲劳驾驶';
arr1.push(obj1);
}else if(item1.atp == 190){
let obj1 = {...item1};
obj1.alarmTypeText = '疲劳驾驶';
arr1.push(obj1);
}else if(item1.atp == 430){
let obj1 = {...item1};
obj1.alarmTypeText = '接近报警';
arr1.push(obj1);
}else if(item1.atp == 430){
let obj1 = {...item1};
obj1.alarmTypeText = '接近报警';
arr1.push(obj1);
}else if(item1.atp == 430){
let obj1 = {...item1};
obj1.alarmTypeText = '接近报警';
arr1.push(obj1);
}else if(item1.atp == 430){
let obj1 = {...item1};
obj1.alarmTypeText = '接近报警';
arr1.push(obj1);
}
})
that.alarmData.total = arr1.length;
arr1.forEach((item2,index2)=>{
echartsName1.push(item2.vid);
if(item2.hd != 0){
alarmHandleNum++;
}
})
that.alarmData.handle = alarmHandleNum;
//获取报警信息列表
HttpReq.truckDispatching.apiCameraUrllistQuery({page:0,size:99999,startTime:start,endTime:end}).then((res1) => {
if(res1.code == 200){
this.aiAnalysisTableData = res1.data;
this.alarmData.total = res1.data.length;
let handleNum = 0;
res1.data.forEach((item1,index1)=>{
if(item1.status == 1){
handleNum++;
}
})
this.alarmData.handle = handleNum;
//圆角环形图
let echarts1Data1 = [{ value: 0, name: '接打电话' }, { value: 0, name: '分神驾驶' }, { value: 0, name: '前向碰撞' }, { value: 0, name: '疲劳驾驶' }, { value: 0, name: '接近报警' }];
let num1 = 0;
......@@ -617,16 +323,16 @@ export default {
let num3 = 0;
let num4 = 0;
let num5 = 0;
arr1.forEach((item3,index3)=>{
if(item3.alarmTypeText == '接打电话'){
res1.data.forEach((item3,index3)=>{
if(item3.name == '接打电话'){
num1++;
}else if(item3.alarmTypeText == '分神驾驶'){
}else if(item3.name == '分神驾驶'){
num2++;
}else if(item3.alarmTypeText == '前向碰撞'){
}else if(item3.name == '前向碰撞'){
num3++;
}else if(item3.alarmTypeText == '疲劳驾驶'){
}else if(item3.name == '疲劳驾驶'){
num4++;
}else if(item3.alarmTypeText == '接近报警'){
}else if(item3.name == '接近报警'){
num5++;
}
})
......@@ -638,6 +344,10 @@ export default {
that.echarts1Data = echarts1Data1;
that.echarts1Fn();
//报警车辆排行榜
let echartsName1 = [];
res1.data.forEach((item2,index2)=>{
echartsName1.push(item2.vehiIdno);
})
let set1 = new Set();
echartsName1.forEach((item)=>set1.add(item))
let a1 = Array.from(set1);
......@@ -654,17 +364,17 @@ export default {
aa4.push(0);
aa5.push(0);
})
arr1.forEach((item4,index4)=>{
res1.data.forEach((item4,index4)=>{
a1.forEach((item5,index5)=>{
if(item4.vid == item5 && item4.alarmTypeText == '接打电话'){
if(item4.vehiIdno == item5 && item4.name == '接打电话'){
aa1[index5] = aa1[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '分神驾驶'){
}else if(item4.vehiIdno == item5 && item4.name == '分神驾驶'){
aa2[index5] = aa2[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '前向碰撞'){
}else if(item4.vehiIdno == item5 && item4.name == '前向碰撞'){
aa3[index5] = aa3[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '疲劳驾驶'){
}else if(item4.vehiIdno == item5 && item4.name == '疲劳驾驶'){
aa4[index5] = aa4[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '接近报警'){
}else if(item4.vehiIdno == item5 && item4.name == '接近报警'){
aa5[index5] = aa5[index5] + 1;
}
})
......@@ -685,164 +395,18 @@ export default {
let fmt = moment().subtract(30, 'days').format('YYYY-MM-DD');
let start = this.currentTime1(new Date(new Date(new Date(fmt).toLocaleDateString()).getTime()));
let end = this.currentTime1(new Date(new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1));
//报警列表
let allAlarmData1 = [];
this.allCarData.forEach((item1,index1)=>{
//获取每辆车的设备号
axios.get('/jiankong/StandardApiAction_getDeviceByVehicle.action', {
params: {
jsession:that.jsession,
vehiIdno:item1
}
}).then(function (response1) {
if(response1.data.devices.length != 0){
//有设备号的车获取报警列表
axios.get('/jiankong/StandardApiAction_queryPhoto.action', {
params: {
jsession:that.jsession,
devIdno:response1.data.devices[0].did,
alarmType:'620,621,624,625,400,172,190,430,431,432,433',
begintime:start,
endtime:end,
currentPage:0,
pageRecords:9999,
}
}).then(function (response2) {
if(response2.data.infos){
response2.data.infos.forEach((item2,index2)=>{
if(item2.alarmType == 620){
let obj1 = {...item2};
obj1.alarmTypeText = '接打电话';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 621){
let obj1 = {...item2};
obj1.alarmTypeText = '接打电话';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 624){
let obj1 = {...item2};
obj1.alarmTypeText = '分神驾驶';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 625){
let obj1 = {...item2};
obj1.alarmTypeText = '分神驾驶';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 600){
let obj1 = {...item2};
obj1.alarmTypeText = '前向碰撞';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 601){
let obj1 = {...item2};
obj1.alarmTypeText = '前向碰撞';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 172){
let obj1 = {...item2};
obj1.alarmTypeText = '疲劳驾驶';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 190){
let obj1 = {...item2};
obj1.alarmTypeText = '疲劳驾驶';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 430){
let obj1 = {...item2};
obj1.alarmTypeText = '接近报警';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 431){
let obj1 = {...item2};
obj1.alarmTypeText = '接近报警';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 432){
let obj1 = {...item2};
obj1.alarmTypeText = '接近报警';
allAlarmData1.push(obj1);
}else if(item2.alarmType == 433){
let obj1 = {...item2};
obj1.alarmTypeText = '接近报警';
allAlarmData1.push(obj1);
}
})
that.aiAnalysisTableData = allAlarmData1;
}
})
}
})
})
//报警echarts
axios.get('/jiankong/StandardApiAction_queryAlarmDetail.action', {
params: {
jsession:that.jsession,
vehiIdno:that.allCarDataText,
begintime:start,
endtime:end,
armType:'620,621,624,625,400,172,190,430,431,432,433',
currentPage:0,
pageRecords:9999,
}
}).then(function (response1) {
if(response1.data.alarms){
let arr1 = [];
let echartsName1 = [];
//报警数量
let alarmHandleNum = 0;
response1.data.alarms.forEach((item1,index1)=>{
if(item1.atp == 620){
let obj1 = {...item1};
obj1.alarmTypeText = '接打电话';
arr1.push(obj1);
}else if(item1.atp == 621){
let obj1 = {...item1};
obj1.alarmTypeText = '接打电话';
arr1.push(obj1);
}else if(item1.atp == 624){
let obj1 = {...item1};
obj1.alarmTypeText = '分神驾驶';
arr1.push(obj1);
}else if(item1.atp == 625){
let obj1 = {...item1};
obj1.alarmTypeText = '分神驾驶';
arr1.push(obj1);
}else if(item1.atp == 600){
let obj1 = {...item1};
obj1.alarmTypeText = '前向碰撞';
arr1.push(obj1);
}else if(item1.atp == 601){
let obj1 = {...item1};
obj1.alarmTypeText = '前向碰撞';
arr1.push(obj1);
}else if(item1.atp == 172){
let obj1 = {...item1};
obj1.alarmTypeText = '疲劳驾驶';
arr1.push(obj1);
}else if(item1.atp == 190){
let obj1 = {...item1};
obj1.alarmTypeText = '疲劳驾驶';
arr1.push(obj1);
}else if(item1.atp == 430){
let obj1 = {...item1};
obj1.alarmTypeText = '接近报警';
arr1.push(obj1);
}else if(item1.atp == 430){
let obj1 = {...item1};
obj1.alarmTypeText = '接近报警';
arr1.push(obj1);
}else if(item1.atp == 430){
let obj1 = {...item1};
obj1.alarmTypeText = '接近报警';
arr1.push(obj1);
}else if(item1.atp == 430){
let obj1 = {...item1};
obj1.alarmTypeText = '接近报警';
arr1.push(obj1);
}
})
that.alarmData.total = arr1.length;
arr1.forEach((item2,index2)=>{
echartsName1.push(item2.vid);
if(item2.hd != 0){
alarmHandleNum++;
}
})
that.alarmData.handle = alarmHandleNum;
//获取报警信息列表
HttpReq.truckDispatching.apiCameraUrllistQuery({page:0,size:99999,startTime:start,endTime:end}).then((res1) => {
if(res1.code == 200){
this.aiAnalysisTableData = res1.data;
this.alarmData.total = res1.data.length;
let handleNum = 0;
res1.data.forEach((item1,index1)=>{
if(item1.status == 1){
handleNum++;
}
})
this.alarmData.handle = handleNum;
//圆角环形图
let echarts1Data1 = [{ value: 0, name: '接打电话' }, { value: 0, name: '分神驾驶' }, { value: 0, name: '前向碰撞' }, { value: 0, name: '疲劳驾驶' }, { value: 0, name: '接近报警' }];
let num1 = 0;
......@@ -850,16 +414,16 @@ export default {
let num3 = 0;
let num4 = 0;
let num5 = 0;
arr1.forEach((item3,index3)=>{
if(item3.alarmTypeText == '接打电话'){
res1.data.forEach((item3,index3)=>{
if(item3.name == '接打电话'){
num1++;
}else if(item3.alarmTypeText == '分神驾驶'){
}else if(item3.name == '分神驾驶'){
num2++;
}else if(item3.alarmTypeText == '前向碰撞'){
}else if(item3.name == '前向碰撞'){
num3++;
}else if(item3.alarmTypeText == '疲劳驾驶'){
}else if(item3.name == '疲劳驾驶'){
num4++;
}else if(item3.alarmTypeText == '接近报警'){
}else if(item3.name == '接近报警'){
num5++;
}
})
......@@ -871,6 +435,10 @@ export default {
that.echarts1Data = echarts1Data1;
that.echarts1Fn();
//报警车辆排行榜
let echartsName1 = [];
res1.data.forEach((item2,index2)=>{
echartsName1.push(item2.vehiIdno);
})
let set1 = new Set();
echartsName1.forEach((item)=>set1.add(item))
let a1 = Array.from(set1);
......@@ -887,17 +455,17 @@ export default {
aa4.push(0);
aa5.push(0);
})
arr1.forEach((item4,index4)=>{
res1.data.forEach((item4,index4)=>{
a1.forEach((item5,index5)=>{
if(item4.vid == item5 && item4.alarmTypeText == '接打电话'){
if(item4.vehiIdno == item5 && item4.name == '接打电话'){
aa1[index5] = aa1[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '分神驾驶'){
}else if(item4.vehiIdno == item5 && item4.name == '分神驾驶'){
aa2[index5] = aa2[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '前向碰撞'){
}else if(item4.vehiIdno == item5 && item4.name == '前向碰撞'){
aa3[index5] = aa3[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '疲劳驾驶'){
}else if(item4.vehiIdno == item5 && item4.name == '疲劳驾驶'){
aa4[index5] = aa4[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '接近报警'){
}else if(item4.vehiIdno == item5 && item4.name == '接近报警'){
aa5[index5] = aa5[index5] + 1;
}
})
......@@ -913,8 +481,8 @@ export default {
that.echarts2Fn();
}
})
}
},
//饼图1
echarts1Fn(){
......@@ -924,40 +492,17 @@ export default {
tooltip: {
trigger: 'item'
},
legend: {
top: '1%',
left: 'center',
textStyle:{
color: 'white',
fontSize:12,
},
},
color:['rgb(84,112,198)', 'rgb(145,204,117)','rgb(250,200,88)','rgb(255,150,195)', 'rgb(146,119,255)','rgb(250,200,88)','rgb(84,112,198)', 'rgb(145,204,117)','rgb(250,200,88)','rgb(84,112,198)', 'rgb(145,204,117)','rgb(250,200,88)','rgb(84,112,198)', 'rgb(145,204,117)','rgb(250,200,88)',],
color:['rgb(225,226,58)', 'rgb(44,195,253)','rgb(249,82,43)','rgb(255,150,195)', 'rgb(146,119,255)','rgb(250,200,88)','rgb(84,112,198)', 'rgb(145,204,117)','rgb(250,200,88)','rgb(84,112,198)', 'rgb(145,204,117)','rgb(250,200,88)','rgb(84,112,198)', 'rgb(145,204,117)','rgb(250,200,88)',],
series: [
{
type: 'pie',
radius: ['40%', '70%'],
radius: ['65%', '75%'],
avoidLabelOverlap: false,
itemStyle: {
borderRadius:20,
borderColor: '#fff',
borderColor: 'rgba(32,42,67,0.95)',
borderWidth: 2,
},
label: {
show: false,
position: 'center'
},
emphasis: {
label: {
show: true,
fontSize: '35',
fontWeight: 'bold',
color:'black',
}
},
labelLine: {
show: false
},
data: this.echarts1Data,
}
]
......@@ -1096,7 +641,13 @@ export default {
},
//点击查看
dianjichakan(item){
console.log(item);
if(item.type == 1){
this.videoSrcShow = true;
this.videoSrc = item.downloadUrl;
}else{
this.elimageSrcShow = true;
this.elimageSrc = item.downloadUrl;
}
},
//转换时间格式(yyyy-mm-dd hh:mm:ss)
currentTime1(time){
......@@ -1147,38 +698,25 @@ export default {
}
})
},
//表格自滚动
mouseoverTable() {
clearInterval(this.tableTimer)
},
mouseoutTable() {
this.autoScrollTable(false)
//关闭视频
closeVideo(){
this.videoSrcShow = false;
this.videoSrc = '';
},
autoScrollTable(init) {
this.$nextTick(() => {
const t = 50
const box = this.$el.querySelector('.el-table__body-wrapper')
const content = this.$el.querySelector('.el-table__body')
if (init) box.scrollTop = 0
this.tableTimer = setInterval(() => {
this.rollStartTable(box, content)
}, t)
})
},
rollStartTable(box, content) {
if (box.scrollTop >= (content.scrollHeight - box.offsetHeight)) {
box.scrollTop = 0
} else {
box.scrollTop++
}
//关闭图片
closeElimage(){
this.elimageSrcShow = false;
this.elimageSrc = '';
}
},
//销毁
beforeDestroy() {
this.iframeSrc = '';
this.noPtz = false;
clearInterval(this.tableTimer);
this.tableTimer = null;
this.videoSrcShow = false;
this.videoSrc = '';
this.elimageSrcShow = false;
this.elimageSrc = '';
}
};
......@@ -1295,6 +833,7 @@ export default {
.video111 .aiAnalysisRightViews_1_content{
width: 100%;
height: 31.5vh;
position: relative;
}
.video111 .aiAnalysisRightViews_1_content_top{
display: flex;
......@@ -1418,4 +957,60 @@ export default {
font-size: 14px;
color: #A6F6F9;
}
.video111 .echarts1_neiquan{
position: absolute;
height: 12.5vh;
width: 6vw;
top: 12.3vh;
right: 6.7vw;
border: 5px solid rgb(43,178,203);
border-radius: 50%;
background-color: rgb(23,52,90);
padding-top: 3vh;
box-sizing: border-box;
text-align: center;
font-size: 20px;
}
.video111 .videoMengCeng{
width: 100%;
height: 100%;
padding: 2vh 0px 0px 12vw;
box-sizing: border-box;
background-color: rgba(0,0,0,0.8);
z-index: 50;
position: absolute;
top: 0px;
left: 0px;
}
.video111 .closeVideoDiv{
position: absolute;
right: 2vw;
top: 2vh;
color: white;
z-index: 51;
font-size: 50px;
font-weight: 600;
cursor: pointer;
}
.video111 .elimageMengCeng{
width: 100%;
height: 100%;
padding: 4vh 0px 0px 10vw;
box-sizing: border-box;
background-color: rgba(0,0,0,0.8);
z-index: 50;
position: absolute;
top: 0px;
left: 0px;
}
.video111 .closeElimageDiv{
position: absolute;
right: 2vw;
top: 2vh;
color: white;
z-index: 51;
font-size: 50px;
font-weight: 600;
cursor: pointer;
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment