fix: BUG修改
This commit is contained in:
parent
c93d47bd28
commit
f66d62bd3f
@ -11,10 +11,14 @@ export const environmentDevList = (params: {}) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
//趋势图-查询环境设备实时数据---近24小时数据
|
//趋势图-查询环境设备实时数据---近24小时数据
|
||||||
|
// export const selectDustNoiseDataApi = (params: {}) => {
|
||||||
|
// return http.post(BASEURL + `/xmgl/dustNoiseData/selectDustNoiseData`, params);
|
||||||
|
// };
|
||||||
export const selectDustNoiseDataApi = (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: {}) => {
|
export const getRealTimeDustNoiseDataApi = (params: {}) => {
|
||||||
return http.post(BASEURL + `/xmgl/dustNoiseData/getRealTimeDustNoiseData`, params);
|
return http.post(BASEURL + `/xmgl/dustNoiseData/getRealTimeDustNoiseData`, params);
|
||||||
|
|||||||
@ -27,11 +27,19 @@ let pubKey = ref("");
|
|||||||
let initCount = ref(0);
|
let initCount = ref(0);
|
||||||
let oWebControl = ref(null);
|
let oWebControl = ref(null);
|
||||||
let cameraIndexCode = ref<Array<string>>([]);
|
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({
|
let objData = ref({
|
||||||
appkey: "23914849", //海康提供的appkey
|
appkey: "24017757", //海康提供的appkey
|
||||||
ip: "221.12.137.200", //海康提供的ip
|
ip: "182.101.141.23", //海康提供的ip
|
||||||
secret: "UV4xyujBtOGA4D0kvXG7", //海康提供的secret
|
secret: "VJz0FbzmE6drPQ7egsBi", //海康提供的secret
|
||||||
port: 444,
|
port: 18443,
|
||||||
playMode: 0, // 0 预览 1回放
|
playMode: 0, // 0 预览 1回放
|
||||||
layout: "1x1" //页面展示的模块数【16】
|
layout: "1x1" //页面展示的模块数【16】
|
||||||
});
|
});
|
||||||
|
|||||||
@ -22,20 +22,20 @@
|
|||||||
<div class="lineA"><img src="@/assets/images/elevatorMonitoring/lineA.png" alt="" /></div>
|
<div class="lineA"><img src="@/assets/images/elevatorMonitoring/lineA.png" alt="" /></div>
|
||||||
<div class="lineAdata">
|
<div class="lineAdata">
|
||||||
<div>载重</div>
|
<div>载重</div>
|
||||||
<div style="color: #65d7f9">{{elevatorList.loading||0}}kg</div>
|
<div style="color: #65d7f9">{{ elevatorList.loading || 0 }}kg</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="lineAdata" style="left: 62%">
|
<div class="lineAdata" style="left: 62%">
|
||||||
<div>速度</div>
|
<div>速度</div>
|
||||||
<div style="color: #65d7f9">{{elevatorList.speed||0}}m/s</div>
|
<div style="color: #65d7f9">{{ elevatorList.speed || 0 }}m/s</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="lineB"><img src="@/assets/images/elevatorMonitoring/lineB.png" alt="" /></div>
|
<div class="lineB"><img src="@/assets/images/elevatorMonitoring/lineB.png" alt="" /></div>
|
||||||
<div class="lineBdata">
|
<div class="lineBdata">
|
||||||
<div>X倾角</div>
|
<div>X倾角</div>
|
||||||
<div style="color: #ec6266">{{elevatorList.dipAngleX||0}}°</div>
|
<div style="color: #ec6266">{{ elevatorList.dipAngleX || 0 }}°</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="lineBdata" style="left: 61%">
|
<div class="lineBdata" style="left: 61%">
|
||||||
<div>Y倾角</div>
|
<div>Y倾角</div>
|
||||||
<div style="color: #ec6266">{{elevatorList.dipAngleY}}°</div>
|
<div style="color: #ec6266">{{ elevatorList.dipAngleY }}°</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="rightVideo">
|
<div class="rightVideo">
|
||||||
@ -47,14 +47,14 @@
|
|||||||
<div class="titleStatus">运行状态</div>
|
<div class="titleStatus">运行状态</div>
|
||||||
<div class="infoBox">
|
<div class="infoBox">
|
||||||
<div style="color: #65d7f9">人脸识别系统</div>
|
<div style="color: #65d7f9">人脸识别系统</div>
|
||||||
<div><span class="textColor"> 今日工作时长:</span>{{lifeList.workTime||0}}min</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.loadingNum || 0 }}次</div>
|
||||||
<div><span class="textColor"> 今日装载工效:</span>{{lifeList.loadingErgonomic||0}}kg/min</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.loadingWeight || 0 }}kg</div>
|
||||||
<div><span class="textColor"> 今日违章次数:</span>{{lifeList.violationNum||0}}次</div>
|
<div><span class="textColor"> 今日违章次数:</span>{{ lifeList.violationNum || 0 }}次</div>
|
||||||
</div>
|
</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">
|
<div class="titleStatus">
|
||||||
司机信息
|
司机信息
|
||||||
<span
|
<span
|
||||||
@ -63,15 +63,23 @@
|
|||||||
<span style="margin-left: 6%; color: #ccc">设备信息</span>
|
<span style="margin-left: 6%; color: #ccc">设备信息</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="infoBox">
|
<div class="infoBox">
|
||||||
<div><span class="textColor">认证状态:</span>-</div>
|
<!-- <div><span class="textColor">认证状态:</span>-</div> -->
|
||||||
<div><span class="textColor"> 姓名:</span>{{ item.workerName||'未知'}}</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.sex == 1 ? "男" : item.sex == 2 ? "女" : "未知" }}</div>
|
||||||
<div><span class="textColor"> 年龄:</span>{{ item.age||'未知'}}</div>
|
<div><span class="textColor"> 年龄:</span>{{ item.age || "未知" }}</div>
|
||||||
<div><span class="textColor"> 工作年限:</span>{{item.workYear||0}}年</div>
|
<div><span class="textColor"> 本次连续工作时长:</span>{{ item.continuousWorkingTime || "未知" }}</div>
|
||||||
<div>
|
<div>
|
||||||
<span class="textColor" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap">
|
<span class="textColor" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap">
|
||||||
身份证号:</span
|
身份证号:</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>
|
</div>
|
||||||
<div class="driverPhoto"><img :src="item.imageUrl" alt="" /></div>
|
<div class="driverPhoto"><img :src="item.imageUrl" alt="" /></div>
|
||||||
@ -87,27 +95,27 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="bottomList">
|
<div class="bottomList">
|
||||||
<p>下限位</p>
|
<p>下限位</p>
|
||||||
<p class="number">{{elevatorList.bottomAlarm==1?'报警':'正常'}}</p>
|
<p class="number">{{ elevatorList.bottomAlarm == 1 ? "报警" : "正常" }}</p>
|
||||||
<div class="bg"></div>
|
<div class="bg"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottomList">
|
<div class="bottomList">
|
||||||
<p>速度</p>
|
<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 class="bg"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottomList">
|
<div class="bottomList">
|
||||||
<p>载重</p>
|
<p>载重</p>
|
||||||
<p class="number">{{elevatorList.loading||0}}kg</p>
|
<p class="number">{{ elevatorList.loading || 0 }}kg</p>
|
||||||
<div class="bg"></div>
|
<div class="bg"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottomList">
|
<div class="bottomList">
|
||||||
<p>X倾角</p>
|
<p>X倾角</p>
|
||||||
<p class="number">{{elevatorList.dipAngleX||0}}°</p>
|
<p class="number">{{ elevatorList.dipAngleX || 0 }}°</p>
|
||||||
<div class="bg"></div>
|
<div class="bg"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottomList">
|
<div class="bottomList">
|
||||||
<p>Y倾角</p>
|
<p>Y倾角</p>
|
||||||
<p class="number">{{elevatorList.dipAngleY||0}}°</p>
|
<p class="number">{{ elevatorList.dipAngleY || 0 }}°</p>
|
||||||
<div class="bg"></div>
|
<div class="bg"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottomList">
|
<div class="bottomList">
|
||||||
@ -122,19 +130,14 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import mitts from "@/utils/bus"; //兄弟组件传值
|
import mitts from "@/utils/bus"; //兄弟组件传值
|
||||||
import Monitor from "@/views/sevenLargeScreen/elevatorMonitoring/eleMonitor.vue";
|
import Monitor from "@/views/sevenLargeScreen/elevatorMonitoring/eleMonitor.vue";
|
||||||
import {
|
import { getLifterListApi, getNewestLifterApi, getQueryTodayOperatingApi, getRelatedInfoApi } from "@/api/modules/elevator";
|
||||||
getLifterListApi,
|
|
||||||
getNewestLifterApi,
|
|
||||||
getQueryTodayOperatingApi,
|
|
||||||
getRelatedInfoApi
|
|
||||||
} from "@/api/modules/elevator";
|
|
||||||
import { ref, reactive, onMounted } from "vue";
|
import { ref, reactive, onMounted } from "vue";
|
||||||
import { GlobalStore } from "@/stores";
|
import { GlobalStore } from "@/stores";
|
||||||
const store = GlobalStore();
|
const store = GlobalStore();
|
||||||
@ -143,15 +146,18 @@ const noiseList = ref([] as any);
|
|||||||
let lifterDevSn = ref("" as any);
|
let lifterDevSn = ref("" as any);
|
||||||
|
|
||||||
// 下拉框选中
|
// 下拉框选中
|
||||||
function checkItem(val: any) {
|
async function checkItem(val: any) {
|
||||||
console.log('下拉框选中',val);
|
console.log("下拉框选中", val);
|
||||||
|
|
||||||
lifterDevSn.value = val.devSn;
|
lifterDevSn.value = val.devSn;
|
||||||
mitts.emit("elevaTorSelectId", val.id);
|
mitts.emit("elevaTorSelectId", val.id);
|
||||||
|
|
||||||
console.log('发送的id',val.id);
|
console.log("发送的id", val.id);
|
||||||
|
|
||||||
getLifterList()
|
// getLifterList()
|
||||||
|
await getLifterData();
|
||||||
|
await getSelectTower();
|
||||||
|
await getDriverInfoList();
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取设备下拉列表
|
//获取设备下拉列表
|
||||||
@ -162,11 +168,11 @@ const getLifterList = async () => {
|
|||||||
if (res.result) {
|
if (res.result) {
|
||||||
noiseList.value = res.result;
|
noiseList.value = res.result;
|
||||||
lifeValue.value = res.result[0].id;
|
lifeValue.value = res.result[0].id;
|
||||||
lifterDevSn.value=res.result[0].devSn
|
lifterDevSn.value = res.result[0].devSn;
|
||||||
}
|
}
|
||||||
await getLifterData();
|
await getLifterData();
|
||||||
await getSelectTower();
|
await getSelectTower();
|
||||||
await getDriverInfoList();
|
await getDriverInfoList();
|
||||||
};
|
};
|
||||||
|
|
||||||
//获取升降机实时数据
|
//获取升降机实时数据
|
||||||
@ -175,8 +181,8 @@ const getLifterData = async () => {
|
|||||||
const res = await getNewestLifterApi({
|
const res = await getNewestLifterApi({
|
||||||
devSn: lifterDevSn.value
|
devSn: lifterDevSn.value
|
||||||
});
|
});
|
||||||
if(res.result){
|
if (res.result) {
|
||||||
elevatorList.value=res.result
|
elevatorList.value = res.result;
|
||||||
}
|
}
|
||||||
console.log("获取升降机实时数据", elevatorList.value);
|
console.log("获取升降机实时数据", elevatorList.value);
|
||||||
};
|
};
|
||||||
@ -186,11 +192,11 @@ let lifeList = ref({} as any);
|
|||||||
const getSelectTower = async () => {
|
const getSelectTower = async () => {
|
||||||
const res = await getQueryTodayOperatingApi({
|
const res = await getQueryTodayOperatingApi({
|
||||||
projectSn: store.sn,
|
projectSn: store.sn,
|
||||||
devSn:lifeValue.value
|
devSn: lifeValue.value
|
||||||
});
|
});
|
||||||
if (res.result) {
|
if (res.result) {
|
||||||
console.log('获取运行状态',res);
|
console.log("获取运行状态", res);
|
||||||
lifeList.value=res.result
|
lifeList.value = res.result;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -201,12 +207,20 @@ const getDriverInfoList = async () => {
|
|||||||
devSn: lifterDevSn.value
|
devSn: lifterDevSn.value
|
||||||
});
|
});
|
||||||
if (res.result) {
|
if (res.result) {
|
||||||
driverInfo.value=res.result.devWorker.workerList
|
driverInfo.value = res.result.devWorker.workerList;
|
||||||
console.log('获取司机信息',res);
|
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(() => {
|
onMounted(() => {
|
||||||
getLifterList();
|
getLifterList();
|
||||||
});
|
});
|
||||||
|
|||||||
@ -64,6 +64,7 @@ const getList = async () => {
|
|||||||
noiseList.value = res.result;
|
noiseList.value = res.result;
|
||||||
deviceName.value = res.result[0].deviceName;
|
deviceName.value = res.result[0].deviceName;
|
||||||
currentDevDetail = res.result[0];
|
currentDevDetail = res.result[0];
|
||||||
|
|
||||||
getRealTimeDustNoiseData();
|
getRealTimeDustNoiseData();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -19,14 +19,14 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { GlobalStore } from "@/stores";
|
import { GlobalStore } from "@/stores";
|
||||||
import { selectDustNoiseDataApi } from "@/api/modules/headNoise";
|
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 * as echarts from "echarts";
|
||||||
import Card from "@/components/card.vue";
|
import Card from "@/components/card.vue";
|
||||||
import mitts from "@/utils/bus"; //兄弟组件传值
|
import mitts from "@/utils/bus"; //兄弟组件传值
|
||||||
const store = GlobalStore();
|
const store = GlobalStore();
|
||||||
let dustData_24 = ref([]);
|
let dustData_24 = ref([]);
|
||||||
let xData = ref([]);
|
let xData: any = [];
|
||||||
let yData = ref([]);
|
let yData: any = [];
|
||||||
let option = ref({
|
let option = ref({
|
||||||
// backgroundColor: '#071c3a',
|
// backgroundColor: '#071c3a',
|
||||||
title: {
|
title: {
|
||||||
@ -107,7 +107,7 @@ let option = ref({
|
|||||||
show: false
|
show: false
|
||||||
},
|
},
|
||||||
boundaryGap: false,
|
boundaryGap: false,
|
||||||
data: xData.value
|
data: xData
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
@ -148,13 +148,12 @@ let option = ref({
|
|||||||
],
|
],
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
name: "扬尘",
|
|
||||||
type: "line",
|
type: "line",
|
||||||
// smooth: true, //是否平滑
|
// smooth: true, //是否平滑
|
||||||
showAllSymbol: true,
|
showAllSymbol: true,
|
||||||
// symbol: 'image://./static/images/guang-circle.png',
|
// symbol: 'image://./static/images/guang-circle.png',
|
||||||
symbol: "circle",
|
symbol: "circle",
|
||||||
symbolSize: 10,
|
symbolSize: 5,
|
||||||
lineStyle: {
|
lineStyle: {
|
||||||
normal: {
|
normal: {
|
||||||
color: "#fff",
|
color: "#fff",
|
||||||
@ -206,7 +205,7 @@ let option = ref({
|
|||||||
shadowBlur: 20
|
shadowBlur: 20
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data: yData.value
|
data: yData
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
@ -231,6 +230,9 @@ const noiseList = [
|
|||||||
// const labelName = ref("扬尘PM2.5");
|
// const labelName = ref("扬尘PM2.5");
|
||||||
let receive = ref("扬尘PM2.5" as any);
|
let receive = ref("扬尘PM2.5" as any);
|
||||||
function drawChart() {
|
function drawChart() {
|
||||||
|
console.log("趋势图", xData);
|
||||||
|
console.log("趋势图", yData);
|
||||||
|
console.log("趋势图", option.value);
|
||||||
let myEchart = echarts.init(document.getElementById("myEcharts"));
|
let myEchart = echarts.init(document.getElementById("myEcharts"));
|
||||||
myEchart.setOption(option.value);
|
myEchart.setOption(option.value);
|
||||||
// window.onresize = function () {
|
// window.onresize = function () {
|
||||||
@ -240,45 +242,51 @@ function drawChart() {
|
|||||||
//获取趋势图数据
|
//获取趋势图数据
|
||||||
const getList = async type => {
|
const getList = async type => {
|
||||||
//当前日期
|
//当前日期
|
||||||
let now = new Date();
|
// let now = new Date();
|
||||||
let yy = now.getFullYear(); //年
|
// let yy = now.getFullYear(); //年
|
||||||
let mm = now.getMonth() + 1; //月
|
// let mm = now.getMonth() + 1; //月
|
||||||
let dd = now.getDate(); //日
|
// let dd = now.getDate(); //日
|
||||||
let time = yy + "-";
|
// let time = yy + "-";
|
||||||
if (mm < 10) time += "0";
|
// if (mm < 10) time += "0";
|
||||||
time += mm + "-";
|
// time += mm + "-";
|
||||||
if (dd < 10) time += "0";
|
// if (dd < 10) time += "0";
|
||||||
time += dd;
|
// time += dd;
|
||||||
const res = await selectDustNoiseDataApi({
|
const res = await selectDustNoiseDataApi({
|
||||||
searchDate: time,
|
// searchDate: time,
|
||||||
deviceId: receive.value,
|
deviceId: type,
|
||||||
projectSn: store.sn
|
projectSn: store.sn
|
||||||
});
|
});
|
||||||
|
console.log("左下角趋势图", res.result);
|
||||||
dustData_24.value = res.result;
|
// dustData_24.value = res.result;
|
||||||
drawChart();
|
res.result.forEach(item => {
|
||||||
};
|
xData.push(item.time);
|
||||||
const checkChange = type => {
|
yData.push(item.pm25);
|
||||||
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)
|
drawChart();
|
||||||
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 () => {
|
onMounted(async () => {
|
||||||
checkChange(0);
|
// checkChange(0);
|
||||||
mitts.on("currentDevDetail", e => {
|
mitts.on("currentDevDetail", e => {
|
||||||
|
xData.length = 0;
|
||||||
|
yData.length = 0;
|
||||||
receive.value = e.deviceId;
|
receive.value = e.deviceId;
|
||||||
getList(e.deviceId);
|
getList(e.deviceId);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -44,12 +44,13 @@ let objData = ref({
|
|||||||
layout: "1x1" //页面展示的模块数【16】
|
layout: "1x1" //页面展示的模块数【16】
|
||||||
});
|
});
|
||||||
|
|
||||||
let selectId = ref("" as any);
|
let detailId = ref("1680765579331624962" as any);
|
||||||
|
|
||||||
// 获取塔吊监控点
|
// 获取塔吊监控点
|
||||||
const getTowerDetail = async () => {
|
const getTowerDetail = async () => {
|
||||||
|
console.log("当前ID", detailId.value);
|
||||||
const res: any = await getQueryByIdApi({
|
const res: any = await getQueryByIdApi({
|
||||||
id: selectId.value
|
id: detailId.value
|
||||||
});
|
});
|
||||||
if (res.result) {
|
if (res.result) {
|
||||||
cameraIndexCode.value = res.result.videoList[0].serialNumber;
|
cameraIndexCode.value = res.result.videoList[0].serialNumber;
|
||||||
@ -72,17 +73,22 @@ const gerUserVideo = async () => {
|
|||||||
};
|
};
|
||||||
let serialNumberValue = ref("" as any);
|
let serialNumberValue = ref("" as any);
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
|
// setTimeout(() => {
|
||||||
|
// gerUserVideo();
|
||||||
|
// }, 2000);
|
||||||
mitts.on("serialNumberId", val => {
|
mitts.on("serialNumberId", val => {
|
||||||
|
console.log("收到的视频播放ID", val);
|
||||||
previewVideo(val); //此项进入页面播放无效,待解决
|
previewVideo(val); //此项进入页面播放无效,待解决
|
||||||
serialNumberValue.value = val;
|
serialNumberValue.value = val;
|
||||||
});
|
});
|
||||||
mitts.on("selectId", e => {
|
mitts.on("selectId", e => {
|
||||||
selectId.value = e;
|
detailId.value = e;
|
||||||
gerUserVideo();
|
console.log("收到设备ID", e);
|
||||||
|
// gerUserVideo();
|
||||||
|
// setTimeout(() => {
|
||||||
|
// gerUserVideo();
|
||||||
|
// }, 500);
|
||||||
});
|
});
|
||||||
// setTimeout(() => {
|
|
||||||
// gerUserVideo();
|
|
||||||
// }, 2500);
|
|
||||||
// 获取页面的实例对象 ee
|
// 获取页面的实例对象 ee
|
||||||
const pageInstance = getCurrentInstance();
|
const pageInstance = getCurrentInstance();
|
||||||
// 获取dom节点对象
|
// 获取dom节点对象
|
||||||
|
|||||||
@ -101,7 +101,6 @@
|
|||||||
<div><span class="textColor"> 姓名:</span>{{ item.workerName || "未知" }}</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.sex == 1 ? "男" : item.sex == 2 ? "女" : "未知" }}</div>
|
||||||
<div><span class="textColor"> 年龄:</span>{{ item.age || "未知" }}</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"> 本次连续工作时长:</span>{{ item.continuousWorkingTime || "未知" }}</div>
|
||||||
<div>
|
<div>
|
||||||
<span class="textColor" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap">
|
<span class="textColor" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap">
|
||||||
@ -113,6 +112,9 @@
|
|||||||
特种资格证书编号:</span
|
特种资格证书编号:</span
|
||||||
>{{ item.specialCertificateNumber || "未知" }}
|
>{{ item.specialCertificateNumber || "未知" }}
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<span class="textColor"> 资格证书:</span> <a style="color: #64d6f8; cursor: pointer;" @click="driverDetail">{{ "查看详情" }}</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="driverPhoto"><img :src="item.imageUrl" alt="" /></div>
|
<div class="driverPhoto"><img :src="item.imageUrl" alt="" /></div>
|
||||||
</div>
|
</div>
|
||||||
@ -122,17 +124,17 @@
|
|||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<div class="bottomList">
|
<div class="bottomList">
|
||||||
<p>力矩</p>
|
<p>力矩</p>
|
||||||
<p class="number">{{list.torque||0}}%</p>
|
<p class="number">{{ list.torque || 0 }}%</p>
|
||||||
<div class="bg"></div>
|
<div class="bg"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottomList">
|
<div class="bottomList">
|
||||||
<p>高度</p>
|
<p>高度</p>
|
||||||
<p class="number">{{list.height||0}}m</p>
|
<p class="number">{{ list.height || 0 }}m</p>
|
||||||
<div class="bg"></div>
|
<div class="bg"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottomList">
|
<div class="bottomList">
|
||||||
<p>幅度</p>
|
<p>幅度</p>
|
||||||
<p class="number">{{list.ranger||0}}m</p>
|
<p class="number">{{ list.ranger || 0 }}m</p>
|
||||||
<div class="bg"></div>
|
<div class="bg"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottomList">
|
<div class="bottomList">
|
||||||
@ -172,15 +174,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="bottomList">
|
<div class="bottomList">
|
||||||
<p>风速</p>
|
<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 class="bg"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottomList">
|
<div class="bottomList">
|
||||||
<p>倾角</p>
|
<p>倾角</p>
|
||||||
<p class="number">{{list.obliguity||0}}°</p>
|
<p class="number">{{ list.obliguity || 0 }}°</p>
|
||||||
<div class="bg"></div>
|
<div class="bg"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -226,16 +227,18 @@ function moveAnimation() {
|
|||||||
getTowerData();
|
getTowerData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 下拉框选中
|
// 下拉框选中
|
||||||
function selectTower(e: any) {
|
function selectTower(e: any) {
|
||||||
mitts.emit("selectId", e);
|
// mitts.emit("selectId", e);
|
||||||
console.log('发送的id',e);
|
// console.log('发送的id',e);
|
||||||
|
|
||||||
getTowerDetail();
|
getTowerDetail();
|
||||||
getTowerData();
|
getTowerData();
|
||||||
|
getDriverInfoList();
|
||||||
}
|
}
|
||||||
// 获取塔吊详情
|
// 获取塔吊详情
|
||||||
|
// 进入页面播放ID
|
||||||
|
let towerVideoId = ref("" as any);
|
||||||
let towerDevSn = ref("" as any);
|
let towerDevSn = ref("" as any);
|
||||||
let towerDetailData = ref(null as any);
|
let towerDetailData = ref(null as any);
|
||||||
const getTowerDetail = async () => {
|
const getTowerDetail = async () => {
|
||||||
@ -246,7 +249,8 @@ const getTowerDetail = async () => {
|
|||||||
if (res.result) {
|
if (res.result) {
|
||||||
towerDetailData.value = res.result;
|
towerDetailData.value = res.result;
|
||||||
towerDevSn.value = res.result.devSn;
|
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);
|
console.log("塔吊信息详情", res.result);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -276,12 +280,12 @@ const getTowerNumAndAlarmList = async () => {
|
|||||||
});
|
});
|
||||||
console.log("塔吊option", noiseList.value);
|
console.log("塔吊option", noiseList.value);
|
||||||
towerValue.value = noiseList.value[0].value;
|
towerValue.value = noiseList.value[0].value;
|
||||||
mitts.emit("selectId",towerValue.value);
|
mitts.emit("selectId", towerValue.value);
|
||||||
await getTowerDetail();
|
await getTowerDetail();
|
||||||
await getTowerData();
|
await getTowerData();
|
||||||
await getSelectTower();
|
await getSelectTower();
|
||||||
await getDriverInfoList();
|
await getDriverInfoList();
|
||||||
await getNewestData()
|
await getNewestData();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -307,22 +311,30 @@ const getDriverInfoList = async () => {
|
|||||||
devSn: towerDevSn.value
|
devSn: towerDevSn.value
|
||||||
});
|
});
|
||||||
if (res.result) {
|
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 getNewestData = async () => {
|
||||||
const res = await getNewestDataApi({
|
const res = await getNewestDataApi({
|
||||||
devSn: towerDevSn.value
|
devSn: towerDevSn.value
|
||||||
});
|
});
|
||||||
if(res.result){
|
if (res.result) {
|
||||||
list.value=res.result
|
list.value = res.result;
|
||||||
|
setTimeout(() => {
|
||||||
|
mitts.emit("serialNumberId", towerVideoId.value);
|
||||||
|
}, 2000);
|
||||||
}
|
}
|
||||||
console.log("获取右下实时数据", res);
|
console.log("获取右下实时数据", res);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//查看详情跳转
|
||||||
|
function driverDetail() {
|
||||||
|
window.open("https://zlaq.mohurd.gov.cn/fwmh/bjxcjgl/fwmh/pages/construction_safety/qytzzyry/qytzzyry.html");
|
||||||
|
}
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await getTowerNumAndAlarmList();
|
await getTowerNumAndAlarmList();
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user