fix: BUG修改

This commit is contained in:
cjp 2023-07-29 11:56:50 +08:00
parent c93d47bd28
commit f66d62bd3f
7 changed files with 165 additions and 112 deletions

View File

@ -11,10 +11,14 @@ export const environmentDevList = (params: {}) => {
};
//趋势图-查询环境设备实时数据---近24小时数据
// export const selectDustNoiseDataApi = (params: {}) => {
// return http.post(BASEURL + `/xmgl/dustNoiseData/selectDustNoiseData`, params);
// };
export const selectDustNoiseDataApi = (params: {}) => {
return http.post(BASEURL + `/xmgl/dustNoiseData/selectDustNoiseData`, params);
return http.post(BASEURL + `/xmgl/dustNoiseData/queryTodayTrendGroupByHour`, params);
};
//查询环境设备最新一条实时数据
export const getRealTimeDustNoiseDataApi = (params: {}) => {
return http.post(BASEURL + `/xmgl/dustNoiseData/getRealTimeDustNoiseData`, params);

View File

@ -27,11 +27,19 @@ let pubKey = ref("");
let initCount = ref(0);
let oWebControl = ref(null);
let cameraIndexCode = ref<Array<string>>([]);
// let objData = ref({
// appkey: "23914849", //appkey
// ip: "221.12.137.200", //ip
// secret: "UV4xyujBtOGA4D0kvXG7", //secret
// port: 444,
// playMode: 0, // 0 1
// layout: "1x1" //16
// });
let objData = ref({
appkey: "23914849", //appkey
ip: "221.12.137.200", //ip
secret: "UV4xyujBtOGA4D0kvXG7", //secret
port: 444,
appkey: "24017757", //appkey
ip: "182.101.141.23", //ip
secret: "VJz0FbzmE6drPQ7egsBi", //secret
port: 18443,
playMode: 0, // 0 1
layout: "1x1" //16
});

View File

@ -22,20 +22,20 @@
<div class="lineA"><img src="@/assets/images/elevatorMonitoring/lineA.png" alt="" /></div>
<div class="lineAdata">
<div>载重</div>
<div style="color: #65d7f9">{{elevatorList.loading||0}}kg</div>
<div style="color: #65d7f9">{{ elevatorList.loading || 0 }}kg</div>
</div>
<div class="lineAdata" style="left: 62%">
<div>速度</div>
<div style="color: #65d7f9">{{elevatorList.speed||0}}m/s</div>
<div style="color: #65d7f9">{{ elevatorList.speed || 0 }}m/s</div>
</div>
<div class="lineB"><img src="@/assets/images/elevatorMonitoring/lineB.png" alt="" /></div>
<div class="lineBdata">
<div>X倾角</div>
<div style="color: #ec6266">{{elevatorList.dipAngleX||0}}°</div>
<div style="color: #ec6266">{{ elevatorList.dipAngleX || 0 }}°</div>
</div>
<div class="lineBdata" style="left: 61%">
<div>Y倾角</div>
<div style="color: #ec6266">{{elevatorList.dipAngleY}}°</div>
<div style="color: #ec6266">{{ elevatorList.dipAngleY }}°</div>
</div>
</div>
<div class="rightVideo">
@ -47,14 +47,14 @@
<div class="titleStatus">运行状态</div>
<div class="infoBox">
<div style="color: #65d7f9">人脸识别系统</div>
<div><span class="textColor"> 今日工作时长</span>{{lifeList.workTime||0}}min</div>
<div><span class="textColor"> 今日装载次数</span>{{lifeList.loadingNum||0}}</div>
<div><span class="textColor"> 今日装载工效</span>{{lifeList.loadingErgonomic||0}}kg/min</div>
<div><span class="textColor"> 今日装载重量</span>{{lifeList.loadingWeight||0}}kg</div>
<div><span class="textColor"> 今日违章次数</span>{{lifeList.violationNum||0}}</div>
<div><span class="textColor"> 今日工作时长</span>{{ lifeList.workTime || 0 }}min</div>
<div><span class="textColor"> 今日装载次数</span>{{ lifeList.loadingNum || 0 }}</div>
<div><span class="textColor"> 今日装载工效</span>{{ lifeList.loadingErgonomic || 0 }}kg/min</div>
<div><span class="textColor"> 今日装载重量</span>{{ lifeList.loadingWeight || 0 }}kg</div>
<div><span class="textColor"> 今日违章次数</span>{{ lifeList.violationNum || 0 }}</div>
</div>
</div>
<div class="rightInfo" v-for="(item,index) in driverInfo" :key="index">
<div class="rightInfo" v-for="(item, index) in driverInfo" :key="index">
<div class="titleStatus">
司机信息
<span
@ -63,15 +63,23 @@
<span style="margin-left: 6%; color: #ccc">设备信息</span>
</div>
<div class="infoBox">
<div><span class="textColor">认证状态</span>-</div>
<div><span class="textColor"> 姓名</span>{{ item.workerName||'未知'}}</div>
<div><span class="textColor"> 性别</span>{{ item.sex==1?'男':item.sex==2?'女':'未知'}}</div>
<div><span class="textColor"> 年龄</span>{{ item.age||'未知'}}</div>
<div><span class="textColor"> 工作年限</span>{{item.workYear||0}}</div>
<!-- <div><span class="textColor">认证状态</span>-</div> -->
<div><span class="textColor"> 姓名</span>{{ item.workerName || "未知" }}</div>
<div><span class="textColor"> 性别</span>{{ item.sex == 1 ? "男" : item.sex == 2 ? "女" : "未知" }}</div>
<div><span class="textColor"> 年龄</span>{{ item.age || "未知" }}</div>
<div><span class="textColor"> 本次连续工作时长</span>{{ item.continuousWorkingTime || "未知" }}</div>
<div>
<span class="textColor" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap">
身份证号:</span
>{{ item.idCard||'未知' }}
>{{ item.idCard || "未知" }}
</div>
<div>
<span class="textColor" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap">
特种资格证书编号:</span
>{{ item.specialCertificateNumber || "未知" }}
</div>
<div>
<span class="textColor"> 资格证书</span> <a style="color: #64d6f8; cursor: pointer;" @click="driverDetail">{{ "查看详情" }}</a>
</div>
</div>
<div class="driverPhoto"><img :src="item.imageUrl" alt="" /></div>
@ -87,27 +95,27 @@
</div>
<div class="bottomList">
<p>下限位</p>
<p class="number">{{elevatorList.bottomAlarm==1?'报警':'正常'}}</p>
<p class="number">{{ elevatorList.bottomAlarm == 1 ? "报警" : "正常" }}</p>
<div class="bg"></div>
</div>
<div class="bottomList">
<p>速度</p>
<p class="number">{{elevatorList.speed||0}}m/s</p>
<p class="number">{{ elevatorList.speed || 0 }}m/s</p>
<div class="bg"></div>
</div>
<div class="bottomList">
<p>载重</p>
<p class="number">{{elevatorList.loading||0}}kg</p>
<p class="number">{{ elevatorList.loading || 0 }}kg</p>
<div class="bg"></div>
</div>
<div class="bottomList">
<p>X倾角</p>
<p class="number">{{elevatorList.dipAngleX||0}}°</p>
<p class="number">{{ elevatorList.dipAngleX || 0 }}°</p>
<div class="bg"></div>
</div>
<div class="bottomList">
<p>Y倾角</p>
<p class="number">{{elevatorList.dipAngleY||0}}°</p>
<p class="number">{{ elevatorList.dipAngleY || 0 }}°</p>
<div class="bg"></div>
</div>
<div class="bottomList">
@ -129,12 +137,7 @@
<script lang="ts" setup>
import mitts from "@/utils/bus"; //
import Monitor from "@/views/sevenLargeScreen/elevatorMonitoring/eleMonitor.vue";
import {
getLifterListApi,
getNewestLifterApi,
getQueryTodayOperatingApi,
getRelatedInfoApi
} from "@/api/modules/elevator";
import { getLifterListApi, getNewestLifterApi, getQueryTodayOperatingApi, getRelatedInfoApi } from "@/api/modules/elevator";
import { ref, reactive, onMounted } from "vue";
import { GlobalStore } from "@/stores";
const store = GlobalStore();
@ -143,15 +146,18 @@ const noiseList = ref([] as any);
let lifterDevSn = ref("" as any);
//
function checkItem(val: any) {
console.log('下拉框选中',val);
async function checkItem(val: any) {
console.log("下拉框选中", val);
lifterDevSn.value = val.devSn;
mitts.emit("elevaTorSelectId", val.id);
console.log('发送的id',val.id);
console.log("发送的id", val.id);
getLifterList()
// getLifterList()
await getLifterData();
await getSelectTower();
await getDriverInfoList();
}
//
@ -162,7 +168,7 @@ const getLifterList = async () => {
if (res.result) {
noiseList.value = res.result;
lifeValue.value = res.result[0].id;
lifterDevSn.value=res.result[0].devSn
lifterDevSn.value = res.result[0].devSn;
}
await getLifterData();
await getSelectTower();
@ -175,8 +181,8 @@ const getLifterData = async () => {
const res = await getNewestLifterApi({
devSn: lifterDevSn.value
});
if(res.result){
elevatorList.value=res.result
if (res.result) {
elevatorList.value = res.result;
}
console.log("获取升降机实时数据", elevatorList.value);
};
@ -186,11 +192,11 @@ let lifeList = ref({} as any);
const getSelectTower = async () => {
const res = await getQueryTodayOperatingApi({
projectSn: store.sn,
devSn:lifeValue.value
devSn: lifeValue.value
});
if (res.result) {
console.log('获取运行状态',res);
lifeList.value=res.result
console.log("获取运行状态", res);
lifeList.value = res.result;
}
};
@ -201,12 +207,20 @@ const getDriverInfoList = async () => {
devSn: lifterDevSn.value
});
if (res.result) {
driverInfo.value=res.result.devWorker.workerList
console.log('获取司机信息',res);
driverInfo.value = res.result.devWorker.workerList;
console.log("获取司机信息", res);
// ID
setTimeout(() => {
mitts.emit("elevaTorSelectId", lifeValue.value);
}, 2500);
}
};
//
function driverDetail() {
window.open("https://zlaq.mohurd.gov.cn/fwmh/bjxcjgl/fwmh/pages/construction_safety/qytzzyry/qytzzyry.html");
}
onMounted(() => {
getLifterList();
});

View File

@ -64,6 +64,7 @@ const getList = async () => {
noiseList.value = res.result;
deviceName.value = res.result[0].deviceName;
currentDevDetail = res.result[0];
getRealTimeDustNoiseData();
}
};

View File

@ -19,14 +19,14 @@
<script lang="ts" setup>
import { GlobalStore } from "@/stores";
import { selectDustNoiseDataApi } from "@/api/modules/headNoise";
import { onMounted, reactive, ref,onBeforeUnmount } from "vue";
import { onMounted, reactive, ref, onBeforeUnmount } from "vue";
import * as echarts from "echarts";
import Card from "@/components/card.vue";
import mitts from "@/utils/bus"; //
const store = GlobalStore();
let dustData_24 = ref([]);
let xData = ref([]);
let yData = ref([]);
let xData: any = [];
let yData: any = [];
let option = ref({
// backgroundColor: '#071c3a',
title: {
@ -107,7 +107,7 @@ let option = ref({
show: false
},
boundaryGap: false,
data: xData.value
data: xData
}
],
@ -148,13 +148,12 @@ let option = ref({
],
series: [
{
name: "扬尘",
type: "line",
// smooth: true, //
showAllSymbol: true,
// symbol: 'image://./static/images/guang-circle.png',
symbol: "circle",
symbolSize: 10,
symbolSize: 5,
lineStyle: {
normal: {
color: "#fff",
@ -206,7 +205,7 @@ let option = ref({
shadowBlur: 20
}
},
data: yData.value
data: yData
}
]
});
@ -231,6 +230,9 @@ const noiseList = [
// const labelName = ref("PM2.5");
let receive = ref("扬尘PM2.5" as any);
function drawChart() {
console.log("趋势图", xData);
console.log("趋势图", yData);
console.log("趋势图", option.value);
let myEchart = echarts.init(document.getElementById("myEcharts"));
myEchart.setOption(option.value);
// window.onresize = function () {
@ -240,45 +242,51 @@ function drawChart() {
//
const getList = async type => {
//
let now = new Date();
let yy = now.getFullYear(); //
let mm = now.getMonth() + 1; //
let dd = now.getDate(); //
let time = yy + "-";
if (mm < 10) time += "0";
time += mm + "-";
if (dd < 10) time += "0";
time += dd;
// let now = new Date();
// let yy = now.getFullYear(); //
// let mm = now.getMonth() + 1; //
// let dd = now.getDate(); //
// let time = yy + "-";
// if (mm < 10) time += "0";
// time += mm + "-";
// if (dd < 10) time += "0";
// time += dd;
const res = await selectDustNoiseDataApi({
searchDate: time,
deviceId: receive.value,
// searchDate: time,
deviceId: type,
projectSn: store.sn
});
dustData_24.value = res.result;
console.log("左下角趋势图", res.result);
// dustData_24.value = res.result;
res.result.forEach(item => {
xData.push(item.time);
yData.push(item.pm25);
});
drawChart();
};
const checkChange = type => {
dustData_24.value.forEach(item => {
xData.value.push(item.uploadDate.split(" ")[1]);
yData.value.push(item.pm25);
// if (type == 0) {
// yData.value.push(item.pm25);
// } else if (type == 1) {
// yData.value.push(item.pm10);
// } else if (type == 2) {
// yData.value.push(item.windspeed);
// } else if (type == 3) {
// yData.value.push(item.noise);
// }
});
console.log("selectType", type)
getList(type);
};
// const checkChange = type => {
// dustData_24.value.forEach(item => {
// xData.value.push(item.uploadDate.split(" ")[1]);
// yData.value.push(item.pm25);
// // if (type == 0) {
// // yData.value.push(item.pm25);
// // } else if (type == 1) {
// // yData.value.push(item.pm10);
// // } else if (type == 2) {
// // yData.value.push(item.windspeed);
// // } else if (type == 3) {
// // yData.value.push(item.noise);
// // }
// });
// console.log("selectType", type);
// getList(type);
// };
onMounted(async () => {
checkChange(0);
// checkChange(0);
mitts.on("currentDevDetail", e => {
xData.length = 0;
yData.length = 0;
receive.value = e.deviceId;
getList(e.deviceId);
});

View File

@ -44,12 +44,13 @@ let objData = ref({
layout: "1x1" //16
});
let selectId = ref("" as any);
let detailId = ref("1680765579331624962" as any);
//
const getTowerDetail = async () => {
console.log("当前ID", detailId.value);
const res: any = await getQueryByIdApi({
id: selectId.value
id: detailId.value
});
if (res.result) {
cameraIndexCode.value = res.result.videoList[0].serialNumber;
@ -72,17 +73,22 @@ const gerUserVideo = async () => {
};
let serialNumberValue = ref("" as any);
onMounted(async () => {
// setTimeout(() => {
// gerUserVideo();
// }, 2000);
mitts.on("serialNumberId", val => {
console.log("收到的视频播放ID", val);
previewVideo(val); //
serialNumberValue.value = val;
});
mitts.on("selectId", e => {
selectId.value = e;
gerUserVideo();
});
detailId.value = e;
console.log("收到设备ID", e);
// gerUserVideo();
// setTimeout(() => {
// gerUserVideo();
// }, 2500);
// }, 500);
});
// ee
const pageInstance = getCurrentInstance();
// dom

View File

@ -101,7 +101,6 @@
<div><span class="textColor"> 姓名</span>{{ item.workerName || "未知" }}</div>
<div><span class="textColor"> 性别</span>{{ item.sex == 1 ? "男" : item.sex == 2 ? "女" : "未知" }}</div>
<div><span class="textColor"> 年龄</span>{{ item.age || "未知" }}</div>
<div><span class="textColor"> 工作年限</span>{{ item.workYear || "未知" }}</div>
<div><span class="textColor"> 本次连续工作时长</span>{{ item.continuousWorkingTime || "未知" }}</div>
<div>
<span class="textColor" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap">
@ -113,6 +112,9 @@
特种资格证书编号:</span
>{{ item.specialCertificateNumber || "未知" }}
</div>
<div>
<span class="textColor"> 资格证书</span> <a style="color: #64d6f8; cursor: pointer;" @click="driverDetail">{{ "查看详情" }}</a>
</div>
</div>
<div class="driverPhoto"><img :src="item.imageUrl" alt="" /></div>
</div>
@ -122,17 +124,17 @@
<div class="bottom">
<div class="bottomList">
<p>力矩</p>
<p class="number">{{list.torque||0}}%</p>
<p class="number">{{ list.torque || 0 }}%</p>
<div class="bg"></div>
</div>
<div class="bottomList">
<p>高度</p>
<p class="number">{{list.height||0}}m</p>
<p class="number">{{ list.height || 0 }}m</p>
<div class="bg"></div>
</div>
<div class="bottomList">
<p>幅度</p>
<p class="number">{{list.ranger||0}}m</p>
<p class="number">{{ list.ranger || 0 }}m</p>
<div class="bg"></div>
</div>
<div class="bottomList">
@ -172,15 +174,14 @@
</div>
<div class="bottomList">
<p>风速</p>
<p class="number">{{list.windspeed||0}}m/s</p>
<p class="number">{{ list.windspeed || 0 }}m/s</p>
<div class="bg"></div>
</div>
<div class="bottomList">
<p>倾角</p>
<p class="number">{{list.obliguity||0}}°</p>
<p class="number">{{ list.obliguity || 0 }}°</p>
<div class="bg"></div>
</div>
</div>
</div>
</div>
@ -226,16 +227,18 @@ function moveAnimation() {
getTowerData();
}
//
function selectTower(e: any) {
mitts.emit("selectId", e);
console.log('发送的id',e);
// mitts.emit("selectId", e);
// console.log('id',e);
getTowerDetail();
getTowerData();
getDriverInfoList();
}
//
// ID
let towerVideoId = ref("" as any);
let towerDevSn = ref("" as any);
let towerDetailData = ref(null as any);
const getTowerDetail = async () => {
@ -246,7 +249,8 @@ const getTowerDetail = async () => {
if (res.result) {
towerDetailData.value = res.result;
towerDevSn.value = res.result.devSn;
mitts.emit("serialNumberId", res.result.videoList[0].serialNumber);
towerVideoId.value = res.result.videoList[0].serialNumber;
mitts.emit("serialNumberId", towerVideoId.value);
console.log("塔吊信息详情", res.result);
}
};
@ -276,12 +280,12 @@ const getTowerNumAndAlarmList = async () => {
});
console.log("塔吊option", noiseList.value);
towerValue.value = noiseList.value[0].value;
mitts.emit("selectId",towerValue.value);
mitts.emit("selectId", towerValue.value);
await getTowerDetail();
await getTowerData();
await getSelectTower();
await getDriverInfoList();
await getNewestData()
await getNewestData();
}
};
@ -307,22 +311,30 @@ const getDriverInfoList = async () => {
devSn: towerDevSn.value
});
if (res.result) {
driverInfo.value = res.result.devWorker.workerList.slice(0,1);
driverInfo.value = res.result.devWorker.workerList.slice(0, 1);
}
};
//
let list= ref({} as any)
let list = ref({} as any);
const getNewestData = async () => {
const res = await getNewestDataApi({
devSn: towerDevSn.value
});
if(res.result){
list.value=res.result
if (res.result) {
list.value = res.result;
setTimeout(() => {
mitts.emit("serialNumberId", towerVideoId.value);
}, 2000);
}
console.log("获取右下实时数据", res);
};
//
function driverDetail() {
window.open("https://zlaq.mohurd.gov.cn/fwmh/bjxcjgl/fwmh/pages/construction_safety/qytzzyry/qytzzyry.html");
}
onMounted(async () => {
await getTowerNumAndAlarmList();
});