Commit 0ec8ab8a authored by xxx's avatar xxx

1

parent b95a37a6
...@@ -54,6 +54,10 @@ ...@@ -54,6 +54,10 @@
</div> </div>
</div> </div>
<div class="echarts1" id="echarts1"></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> </div>
<div class="aiAnalysisRightViews_1"> <div class="aiAnalysisRightViews_1">
...@@ -78,8 +82,8 @@ ...@@ -78,8 +82,8 @@
<dd v-for="(item,index) in aiAnalysisTableData" :key="index"> <dd v-for="(item,index) in aiAnalysisTableData" :key="index">
<div>{{item.vehiIdno}}</div> <div>{{item.vehiIdno}}</div>
<div>{{item.name}}</div> <div>{{item.name}}</div>
<div>{{item.fileTimeStr}}</div> <div>{{item.fileTime}}</div>
<div style="text-decoration:underline;cursor: pointer;" @click="dianjichakan(item.downloadUrl)">点击查看</div> <div style="text-decoration:underline;cursor: pointer;" @click="dianjichakan(item)">点击查看</div>
</dd> </dd>
</dl> </dl>
</div> </div>
...@@ -89,6 +93,18 @@ ...@@ -89,6 +93,18 @@
</el-container> </el-container>
</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> </div>
</template> </template>
...@@ -126,39 +142,17 @@ export default { ...@@ -126,39 +142,17 @@ export default {
handle:0, handle:0,
}, },
//所有车的信息 //所有车的信息
allCarData:[],
allCarDataText:'',
searchCarText:'', searchCarText:'',
//会话号 //视频数据
jsession:'', videoSrc:'',
tableTimer:null, videoSrcShow:false,
//图片数据
elimageSrc:'',
elimageSrcShow:false,
}; };
}, },
mounted() { mounted() {
let that = this;
this.getCode(); 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: { methods: {
getCode() { getCode() {
...@@ -219,164 +213,18 @@ export default { ...@@ -219,164 +213,18 @@ export default {
if(this.aiTabPosition == '今天'){ if(this.aiTabPosition == '今天'){
let start = this.currentTime1(new Date(new Date(new Date().toLocaleDateString()).getTime())); 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 end = this.currentTime1(new Date(new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1));
//报警列表 //获取报警信息列表
let allAlarmData1 = []; HttpReq.truckDispatching.apiCameraUrllistQuery({page:0,size:99999,startTime:start,endTime:end}).then((res1) => {
this.allCarData.forEach((item1,index1)=>{ if(res1.code == 200){
//获取每辆车的设备号 this.aiAnalysisTableData = res1.data;
axios.get('/jiankong/StandardApiAction_getDeviceByVehicle.action', { this.alarmData.total = res1.data.length;
params: { let handleNum = 0;
jsession:that.jsession, res1.data.forEach((item1,index1)=>{
vehiIdno:item1 if(item1.status == 1){
} handleNum++;
}).then(function (response1) { }
if(response1.data.devices.length != 0){ })
//有设备号的车获取报警列表 this.alarmData.handle = handleNum;
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;
//圆角环形图 //圆角环形图
let echarts1Data1 = [{ value: 0, name: '接打电话' }, { value: 0, name: '分神驾驶' }, { value: 0, name: '前向碰撞' }, { value: 0, name: '疲劳驾驶' }, { value: 0, name: '接近报警' }]; let echarts1Data1 = [{ value: 0, name: '接打电话' }, { value: 0, name: '分神驾驶' }, { value: 0, name: '前向碰撞' }, { value: 0, name: '疲劳驾驶' }, { value: 0, name: '接近报警' }];
let num1 = 0; let num1 = 0;
...@@ -384,16 +232,16 @@ export default { ...@@ -384,16 +232,16 @@ export default {
let num3 = 0; let num3 = 0;
let num4 = 0; let num4 = 0;
let num5 = 0; let num5 = 0;
arr1.forEach((item3,index3)=>{ res1.data.forEach((item3,index3)=>{
if(item3.alarmTypeText == '接打电话'){ if(item3.name == '接打电话'){
num1++; num1++;
}else if(item3.alarmTypeText == '分神驾驶'){ }else if(item3.name == '分神驾驶'){
num2++; num2++;
}else if(item3.alarmTypeText == '前向碰撞'){ }else if(item3.name == '前向碰撞'){
num3++; num3++;
}else if(item3.alarmTypeText == '疲劳驾驶'){ }else if(item3.name == '疲劳驾驶'){
num4++; num4++;
}else if(item3.alarmTypeText == '接近报警'){ }else if(item3.name == '接近报警'){
num5++; num5++;
} }
}) })
...@@ -405,6 +253,10 @@ export default { ...@@ -405,6 +253,10 @@ export default {
that.echarts1Data = echarts1Data1; that.echarts1Data = echarts1Data1;
that.echarts1Fn(); that.echarts1Fn();
//报警车辆排行榜 //报警车辆排行榜
let echartsName1 = [];
res1.data.forEach((item2,index2)=>{
echartsName1.push(item2.vehiIdno);
})
let set1 = new Set(); let set1 = new Set();
echartsName1.forEach((item)=>set1.add(item)) echartsName1.forEach((item)=>set1.add(item))
let a1 = Array.from(set1); let a1 = Array.from(set1);
...@@ -421,17 +273,17 @@ export default { ...@@ -421,17 +273,17 @@ export default {
aa4.push(0); aa4.push(0);
aa5.push(0); aa5.push(0);
}) })
arr1.forEach((item4,index4)=>{ res1.data.forEach((item4,index4)=>{
a1.forEach((item5,index5)=>{ a1.forEach((item5,index5)=>{
if(item4.vid == item5 && item4.alarmTypeText == '接打电话'){ if(item4.vehiIdno == item5 && item4.name == '接打电话'){
aa1[index5] = aa1[index5] + 1; aa1[index5] = aa1[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '分神驾驶'){ }else if(item4.vehiIdno == item5 && item4.name == '分神驾驶'){
aa2[index5] = aa2[index5] + 1; aa2[index5] = aa2[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '前向碰撞'){ }else if(item4.vehiIdno == item5 && item4.name == '前向碰撞'){
aa3[index5] = aa3[index5] + 1; aa3[index5] = aa3[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '疲劳驾驶'){ }else if(item4.vehiIdno == item5 && item4.name == '疲劳驾驶'){
aa4[index5] = aa4[index5] + 1; aa4[index5] = aa4[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '接近报警'){ }else if(item4.vehiIdno == item5 && item4.name == '接近报警'){
aa5[index5] = aa5[index5] + 1; aa5[index5] = aa5[index5] + 1;
} }
}) })
...@@ -452,164 +304,18 @@ export default { ...@@ -452,164 +304,18 @@ export default {
let fmt = moment().subtract(7, 'days').format('YYYY-MM-DD'); let fmt = moment().subtract(7, 'days').format('YYYY-MM-DD');
let start = this.currentTime1(new Date(new Date(new Date(fmt).toLocaleDateString()).getTime())); 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 end = this.currentTime1(new Date(new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1));
//报警列表 //获取报警信息列表
let allAlarmData1 = []; HttpReq.truckDispatching.apiCameraUrllistQuery({page:0,size:99999,startTime:start,endTime:end}).then((res1) => {
this.allCarData.forEach((item1,index1)=>{ if(res1.code == 200){
//获取每辆车的设备号 this.aiAnalysisTableData = res1.data;
axios.get('/jiankong/StandardApiAction_getDeviceByVehicle.action', { this.alarmData.total = res1.data.length;
params: { let handleNum = 0;
jsession:that.jsession, res1.data.forEach((item1,index1)=>{
vehiIdno:item1 if(item1.status == 1){
} handleNum++;
}).then(function (response1) { }
if(response1.data.devices.length != 0){ })
//有设备号的车获取报警列表 this.alarmData.handle = handleNum;
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;
//圆角环形图 //圆角环形图
let echarts1Data1 = [{ value: 0, name: '接打电话' }, { value: 0, name: '分神驾驶' }, { value: 0, name: '前向碰撞' }, { value: 0, name: '疲劳驾驶' }, { value: 0, name: '接近报警' }]; let echarts1Data1 = [{ value: 0, name: '接打电话' }, { value: 0, name: '分神驾驶' }, { value: 0, name: '前向碰撞' }, { value: 0, name: '疲劳驾驶' }, { value: 0, name: '接近报警' }];
let num1 = 0; let num1 = 0;
...@@ -617,16 +323,16 @@ export default { ...@@ -617,16 +323,16 @@ export default {
let num3 = 0; let num3 = 0;
let num4 = 0; let num4 = 0;
let num5 = 0; let num5 = 0;
arr1.forEach((item3,index3)=>{ res1.data.forEach((item3,index3)=>{
if(item3.alarmTypeText == '接打电话'){ if(item3.name == '接打电话'){
num1++; num1++;
}else if(item3.alarmTypeText == '分神驾驶'){ }else if(item3.name == '分神驾驶'){
num2++; num2++;
}else if(item3.alarmTypeText == '前向碰撞'){ }else if(item3.name == '前向碰撞'){
num3++; num3++;
}else if(item3.alarmTypeText == '疲劳驾驶'){ }else if(item3.name == '疲劳驾驶'){
num4++; num4++;
}else if(item3.alarmTypeText == '接近报警'){ }else if(item3.name == '接近报警'){
num5++; num5++;
} }
}) })
...@@ -638,6 +344,10 @@ export default { ...@@ -638,6 +344,10 @@ export default {
that.echarts1Data = echarts1Data1; that.echarts1Data = echarts1Data1;
that.echarts1Fn(); that.echarts1Fn();
//报警车辆排行榜 //报警车辆排行榜
let echartsName1 = [];
res1.data.forEach((item2,index2)=>{
echartsName1.push(item2.vehiIdno);
})
let set1 = new Set(); let set1 = new Set();
echartsName1.forEach((item)=>set1.add(item)) echartsName1.forEach((item)=>set1.add(item))
let a1 = Array.from(set1); let a1 = Array.from(set1);
...@@ -654,17 +364,17 @@ export default { ...@@ -654,17 +364,17 @@ export default {
aa4.push(0); aa4.push(0);
aa5.push(0); aa5.push(0);
}) })
arr1.forEach((item4,index4)=>{ res1.data.forEach((item4,index4)=>{
a1.forEach((item5,index5)=>{ a1.forEach((item5,index5)=>{
if(item4.vid == item5 && item4.alarmTypeText == '接打电话'){ if(item4.vehiIdno == item5 && item4.name == '接打电话'){
aa1[index5] = aa1[index5] + 1; aa1[index5] = aa1[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '分神驾驶'){ }else if(item4.vehiIdno == item5 && item4.name == '分神驾驶'){
aa2[index5] = aa2[index5] + 1; aa2[index5] = aa2[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '前向碰撞'){ }else if(item4.vehiIdno == item5 && item4.name == '前向碰撞'){
aa3[index5] = aa3[index5] + 1; aa3[index5] = aa3[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '疲劳驾驶'){ }else if(item4.vehiIdno == item5 && item4.name == '疲劳驾驶'){
aa4[index5] = aa4[index5] + 1; aa4[index5] = aa4[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '接近报警'){ }else if(item4.vehiIdno == item5 && item4.name == '接近报警'){
aa5[index5] = aa5[index5] + 1; aa5[index5] = aa5[index5] + 1;
} }
}) })
...@@ -685,164 +395,18 @@ export default { ...@@ -685,164 +395,18 @@ export default {
let fmt = moment().subtract(30, 'days').format('YYYY-MM-DD'); let fmt = moment().subtract(30, 'days').format('YYYY-MM-DD');
let start = this.currentTime1(new Date(new Date(new Date(fmt).toLocaleDateString()).getTime())); 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 end = this.currentTime1(new Date(new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1));
//报警列表 //获取报警信息列表
let allAlarmData1 = []; HttpReq.truckDispatching.apiCameraUrllistQuery({page:0,size:99999,startTime:start,endTime:end}).then((res1) => {
this.allCarData.forEach((item1,index1)=>{ if(res1.code == 200){
//获取每辆车的设备号 this.aiAnalysisTableData = res1.data;
axios.get('/jiankong/StandardApiAction_getDeviceByVehicle.action', { this.alarmData.total = res1.data.length;
params: { let handleNum = 0;
jsession:that.jsession, res1.data.forEach((item1,index1)=>{
vehiIdno:item1 if(item1.status == 1){
} handleNum++;
}).then(function (response1) { }
if(response1.data.devices.length != 0){ })
//有设备号的车获取报警列表 this.alarmData.handle = handleNum;
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;
//圆角环形图 //圆角环形图
let echarts1Data1 = [{ value: 0, name: '接打电话' }, { value: 0, name: '分神驾驶' }, { value: 0, name: '前向碰撞' }, { value: 0, name: '疲劳驾驶' }, { value: 0, name: '接近报警' }]; let echarts1Data1 = [{ value: 0, name: '接打电话' }, { value: 0, name: '分神驾驶' }, { value: 0, name: '前向碰撞' }, { value: 0, name: '疲劳驾驶' }, { value: 0, name: '接近报警' }];
let num1 = 0; let num1 = 0;
...@@ -850,16 +414,16 @@ export default { ...@@ -850,16 +414,16 @@ export default {
let num3 = 0; let num3 = 0;
let num4 = 0; let num4 = 0;
let num5 = 0; let num5 = 0;
arr1.forEach((item3,index3)=>{ res1.data.forEach((item3,index3)=>{
if(item3.alarmTypeText == '接打电话'){ if(item3.name == '接打电话'){
num1++; num1++;
}else if(item3.alarmTypeText == '分神驾驶'){ }else if(item3.name == '分神驾驶'){
num2++; num2++;
}else if(item3.alarmTypeText == '前向碰撞'){ }else if(item3.name == '前向碰撞'){
num3++; num3++;
}else if(item3.alarmTypeText == '疲劳驾驶'){ }else if(item3.name == '疲劳驾驶'){
num4++; num4++;
}else if(item3.alarmTypeText == '接近报警'){ }else if(item3.name == '接近报警'){
num5++; num5++;
} }
}) })
...@@ -871,6 +435,10 @@ export default { ...@@ -871,6 +435,10 @@ export default {
that.echarts1Data = echarts1Data1; that.echarts1Data = echarts1Data1;
that.echarts1Fn(); that.echarts1Fn();
//报警车辆排行榜 //报警车辆排行榜
let echartsName1 = [];
res1.data.forEach((item2,index2)=>{
echartsName1.push(item2.vehiIdno);
})
let set1 = new Set(); let set1 = new Set();
echartsName1.forEach((item)=>set1.add(item)) echartsName1.forEach((item)=>set1.add(item))
let a1 = Array.from(set1); let a1 = Array.from(set1);
...@@ -887,17 +455,17 @@ export default { ...@@ -887,17 +455,17 @@ export default {
aa4.push(0); aa4.push(0);
aa5.push(0); aa5.push(0);
}) })
arr1.forEach((item4,index4)=>{ res1.data.forEach((item4,index4)=>{
a1.forEach((item5,index5)=>{ a1.forEach((item5,index5)=>{
if(item4.vid == item5 && item4.alarmTypeText == '接打电话'){ if(item4.vehiIdno == item5 && item4.name == '接打电话'){
aa1[index5] = aa1[index5] + 1; aa1[index5] = aa1[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '分神驾驶'){ }else if(item4.vehiIdno == item5 && item4.name == '分神驾驶'){
aa2[index5] = aa2[index5] + 1; aa2[index5] = aa2[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '前向碰撞'){ }else if(item4.vehiIdno == item5 && item4.name == '前向碰撞'){
aa3[index5] = aa3[index5] + 1; aa3[index5] = aa3[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '疲劳驾驶'){ }else if(item4.vehiIdno == item5 && item4.name == '疲劳驾驶'){
aa4[index5] = aa4[index5] + 1; aa4[index5] = aa4[index5] + 1;
}else if(item4.vid == item5 && item4.alarmTypeText == '接近报警'){ }else if(item4.vehiIdno == item5 && item4.name == '接近报警'){
aa5[index5] = aa5[index5] + 1; aa5[index5] = aa5[index5] + 1;
} }
}) })
...@@ -913,8 +481,8 @@ export default { ...@@ -913,8 +481,8 @@ export default {
that.echarts2Fn(); that.echarts2Fn();
} }
}) })
} }
}, },
//饼图1 //饼图1
echarts1Fn(){ echarts1Fn(){
...@@ -924,40 +492,17 @@ export default { ...@@ -924,40 +492,17 @@ export default {
tooltip: { tooltip: {
trigger: 'item' trigger: 'item'
}, },
legend: { 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)',],
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)',],
series: [ series: [
{ {
type: 'pie', type: 'pie',
radius: ['40%', '70%'], radius: ['65%', '75%'],
avoidLabelOverlap: false, avoidLabelOverlap: false,
itemStyle: { itemStyle: {
borderRadius:20, borderRadius:20,
borderColor: '#fff', borderColor: 'rgba(32,42,67,0.95)',
borderWidth: 2, borderWidth: 2,
}, },
label: {
show: false,
position: 'center'
},
emphasis: {
label: {
show: true,
fontSize: '35',
fontWeight: 'bold',
color:'black',
}
},
labelLine: {
show: false
},
data: this.echarts1Data, data: this.echarts1Data,
} }
] ]
...@@ -1096,7 +641,13 @@ export default { ...@@ -1096,7 +641,13 @@ export default {
}, },
//点击查看 //点击查看
dianjichakan(item){ 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) //转换时间格式(yyyy-mm-dd hh:mm:ss)
currentTime1(time){ currentTime1(time){
...@@ -1147,38 +698,25 @@ export default { ...@@ -1147,38 +698,25 @@ export default {
} }
}) })
}, },
//表格自滚动 //关闭视频
mouseoverTable() { closeVideo(){
clearInterval(this.tableTimer) this.videoSrcShow = false;
}, this.videoSrc = '';
mouseoutTable() {
this.autoScrollTable(false)
}, },
autoScrollTable(init) { //关闭图片
this.$nextTick(() => { closeElimage(){
const t = 50 this.elimageSrcShow = false;
const box = this.$el.querySelector('.el-table__body-wrapper') this.elimageSrc = '';
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++
}
} }
}, },
//销毁 //销毁
beforeDestroy() { beforeDestroy() {
this.iframeSrc = ''; this.iframeSrc = '';
this.noPtz = false; this.noPtz = false;
clearInterval(this.tableTimer); this.videoSrcShow = false;
this.tableTimer = null; this.videoSrc = '';
this.elimageSrcShow = false;
this.elimageSrc = '';
} }
}; };
...@@ -1295,6 +833,7 @@ export default { ...@@ -1295,6 +833,7 @@ export default {
.video111 .aiAnalysisRightViews_1_content{ .video111 .aiAnalysisRightViews_1_content{
width: 100%; width: 100%;
height: 31.5vh; height: 31.5vh;
position: relative;
} }
.video111 .aiAnalysisRightViews_1_content_top{ .video111 .aiAnalysisRightViews_1_content_top{
display: flex; display: flex;
...@@ -1418,4 +957,60 @@ export default { ...@@ -1418,4 +957,60 @@ export default {
font-size: 14px; font-size: 14px;
color: #A6F6F9; 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> </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