Merge branch 'shenzhen-dev' of http://139.9.66.234:18023/yjlHub/zhgdlarge into bjxz-rain

This commit is contained in:
X_Rian 2024-10-24 17:54:22 +08:00
commit 5a0e953334
9 changed files with 160 additions and 62 deletions

BIN
dist.rar Normal file

Binary file not shown.

View File

@ -67,6 +67,11 @@ export const getSuroundInfoApi = (params: {}) => {
export const getAlarmRecordInfoApi = (params: {}) => {
return http.get(BASEURL + `/xmgl/safetyHatAlarm/list`, params);
};
// 智能安全帽--查询报警信息-分页
export const getAlarmRecordInfoApiPage = (params: {}) => {
return http.get(BASEURL + `/xmgl/safetyHatAlarm/page`, params);
};
// 智能安全帽--查询实时数据信息
export const getRealtimeDataApi = (params: {}) => {
return http.get(BASEURL + `/xmgl/safetyHatData/list`, params);

View File

@ -1895,7 +1895,7 @@ export const WHZTMenu: Array<any> = [
export const ZTSYJMenu: Array<any> = [
{
moduleName: "综合管理",
modulePath: "/projectOverviewer",
modulePath: "/projectOverview",
},
{
moduleName: "视频管理",

View File

@ -92,11 +92,11 @@ export const staticRouter: RouteRecordRaw[] = [
name: "工程概况",
component: () => import("@/views/sevenLargeScreen/comprehensiveManage/projectOverview/index.vue")
},
{
path: "/projectOverviewer",
name: "工程概况-1",
component: () => import("@/views/sevenLargeScreen/comprehensiveManage/projectOverview/indexer.vue")
},
// {
// path: "/projectOverviewer",
// name: "工程概况-1",
// component: () => import("@/views/sevenLargeScreen/comprehensiveManage/projectOverview/indexer.vue")
// },
{
path: "/smartPartyBuilding",
name: "智慧党建",

View File

@ -438,7 +438,7 @@
<div style="width: 20%">报警时间</div>
<div style="width: 30%">报警信息</div>
</div>
<el-scrollbar class="list-box">
<el-scrollbar class="list-box" @scroll="handleScroll" ref="refScrollbar">
<div v-for="(item, index) in listData" class="list-style" :key="item.id">
<div style="width: 7%">{{ index + 1 }}</div>
<div style="width: 13%">{{ item.workerName }}</div>
@ -465,6 +465,7 @@
// import { getWorkerInfoList } from "@/assets/js/api/laborPerson";
import {
getAlarmRecordInfoApi,
getAlarmRecordInfoApiPage,
getHatDevOptionApi,
addstandardDevApi,
getRealtimeRecordInfo,
@ -500,7 +501,7 @@ import type { FormInstance, FormRules } from "element-plus";
import Card from "@/components/card.vue";
import * as echarts from "echarts";
const store = GlobalStore();
import { computed, reactive, ref, onMounted, onBeforeMount, watch } from "vue";
import { computed, reactive, ref, onMounted, onBeforeMount, watch, nextTick } from "vue";
var mouseTool;
var marker;
var lineArr;
@ -555,7 +556,7 @@ let addForm = ref({
});
let pagInfo = ref({
pageNo: 1, //
pageSize: 10, //
pageSize: 30, //
total: 0 //
});
let pagLabor = ref({
@ -573,7 +574,7 @@ let queryInfo = ref({
devSn: ""
});
let alarmDevSn = ref(" " as any);
let listData = ref([]);
let listData = ref([]) as any;
let Popup = ref({
type: "add",
show: false
@ -1309,24 +1310,70 @@ function getCrewListData() {
}
});
}
const refScrollbar = ref(null as any); //
const moreScroll = ref(true as any);
// --
function getProgressListData() {
let data = {
// pageNo: pagInfo.value.pageNo,
// pageSize: pagInfo.value.pageSize,
pageNo: pagInfo.value.pageNo,
pageSize: pagInfo.value.pageSize,
devSns: alarmDevSn.value,
type: 1, // (1;2:)
projectSn: store.sn
};
getAlarmRecordInfoApi(data).then(res => {
getAlarmRecordInfoApiPage(data).then(res => {
moreScroll.value = false;
console.log("👇智能安全帽--查询报警信息");
console.log(res);
if (res.code == 200) {
listData.value = res.result;
listData.value = listData.value.concat(res.result.records);
// listData.value = res.result.records
console.log("listData.value=============", listData.value);
pagInfo.value.total = res.result.total;
nextTick(() => {
moreScroll.value = true;
});
}
});
}
// -
function handleScroll(event) {
refScrollbar.value.wrapRef.addEventListener("scroll", (e: any) => {
const scrollTop = e.target.scrollTop;
const scrollHeight = e.target.scrollHeight;
const clientHeight = e.target.clientHeight;
// console.log("event", event);
// console.log("e.target.scrollTop", e.target.scrollTop);
// console.log("e.target.scrollHeight", e.target.scrollHeight);
// console.log("e.target.clientHeight", e.target.clientHeight);
// console.log("moreScroll.value", moreScroll.value);
//
if (scrollTop >= scrollHeight - clientHeight - 1) {
if (moreScroll.value) {
console.log("===================加载第二页===================");
pagInfo.value.pageNo += 1;
console.log("pagInfo.value.pageNo", pagInfo.value.pageNo);
moreScroll.value = false;
getProgressListData();
}
}
});
// const { scrollTop, scrollHeight, clientHeight } = event.target;
// //
// if (scrollTop + clientHeight >= scrollHeight) {
// //
// console.log("======================================");
// }
}
function fenceNameChange(e) {
console.log("围栏名称", e);
fenceSearch.value = e;

View File

@ -137,11 +137,16 @@ const getMeterTotal = async () => {
// let alarmData6 = ref({}) as any;
// let alarmData7 = ref({}) as any;
import { MapViewdata } from "@/stores/modules/map3D";
const EntityMap = MapViewdata();
let realTimeData = ref({} as any);
const getRealTimeData = async () => {
const res: any = await getSewageNewestData({ projectSn: store.sn, devSn: selectDay.value});
if (res.result) {
realTimeData.value = res.result;
EntityMap.waterlevel = res.result.waterLevel
EntityMap.conductivity = res.result.conductivity
}
console.log("获取实时监测", res);
};

View File

@ -127,6 +127,9 @@ const sewageWarnThreshold = async () => {
onMounted(async () => {
mitts.on("sewageMonitorId", e => {
// console.log("devSn", e);
// console.log("============EntityMap===========", EntityMap.waterlevel);
// console.log("============EntityMap===========", EntityMap.conductivity);
meterId.value = e;
getMeterTotal();
sewageWarnThreshold();

View File

@ -279,10 +279,10 @@ let menuList = ref([
menuName: "智慧党建",
companyPath: "/smartPartyBuilding"
},
{
menuName: "工程概况-1",
companyPath: "/projectOverviewer"
}
// {
// menuName: "-1",
// companyPath: "/projectOverviewer"
// }
]
},
{

View File

@ -35,12 +35,12 @@
</div>
<div class="Icon">
<img src="@/assets/images/dustNoise/dpIcon.png" alt="" />
</div> -->
</div>-->
<div class="Icon">
<img src="@/assets/images/dustNoise/tbsjIcon.png" alt="" />
<img src="@/assets/images/dustNoise/tbsjIcon.png" alt />
</div>
<div class="Icon" @click="showUserBox = !showUserBox">
<img src="@/assets/images/dustNoise/ryIcon.png" alt="" />
<img src="@/assets/images/dustNoise/ryIcon.png" alt />
</div>
<!-- <el-dropdown trigger="click">
@ -48,40 +48,68 @@
<template #dropdown>
<div class="userDialog" @click="loginOut">退出登录</div>
</template>
</el-dropdown> -->
</el-dropdown>-->
</div>
<div class="userBox" v-show="showUserBox">
<div class="userItem">
<div class="sanJiao"></div>
<div class="userIcon">
<div class="icon"><img src="@/assets/images/dustNoise/userIcon.png" /></div>
<div class="icon">
<img src="@/assets/images/dustNoise/userIcon.png" />
</div>
<div class="userName">{{ adminName }}</div>
</div>
<div class="loginOut" @click="jumpBgd">
<div class="loginOutIcon"><img src="@/assets/images/dustNoise/jumpIcon.png" /></div>
<div class="loginOutIcon">
<img src="@/assets/images/dustNoise/jumpIcon.png" />
</div>
<div class="userName">项目后台</div>
</div>
<div class="loginOut" @click="loginOut">
<div class="loginOutIcon"><img src="@/assets/images/dustNoise/loginOut.png" /></div>
<div class="loginOutIcon">
<img src="@/assets/images/dustNoise/loginOut.png" />
</div>
<div class="userName">退出登录</div>
</div>
</div>
</div>
</div>
<div class="menuList">
<div v-for="(item, index) in menuList" :key="index" style=":nth-child(3):margin-left: 35% !important;" class="menStyle">
<div class="subMenu" :index="item.modulePath" :class="{ active: activeTab === item.modulePath }">
<div
v-for="(item, index) in menuList"
:key="index"
style=":nth-child(3):margin-left: 35% !important;"
class="menStyle"
>
<div
class="subMenu"
:index="item.modulePath"
:class="{ active: activeTab === item.modulePath }"
>
<span @click="navigateTo(item, 1)">{{ item.moduleName }}</span>
</div>
</div>
<div class="subMenuList" v-show="itemList != null && itemList.length >= 1">
<div class="subItem" :style="COMPANY === 'hfqc' ? 'width:120px' : ''" v-for="(data, i) in itemList" :key="i" :index="data.companyPath" @click="navigateTo(data, 2)">
<span style="white-space: nowrap" :class="{ active2: activeTab2 === data.companyPath }">{{ data.menuName }}</span>
<div
class="subItem"
:style="COMPANY === 'hfqc' ? 'width:120px' : ''"
v-for="(data, i) in itemList"
:key="i"
:index="data.companyPath"
@click="navigateTo(data, 2)"
>
<span
style="white-space: nowrap"
:class="{ active2: activeTab2 === data.companyPath }"
>{{ data.menuName }}</span>
</div>
</div>
</div>
<div class="contentDate" v-show="itemList != null && itemList.length >= 1">
<span>自2022.02.28起开始计算至今日2023.04.16<span class="numColor">412</span>个日历天</span>
<span>
自2022.02.28起开始计算至今日2023.04.16
<span class="numColor">412</span>个日历天
</span>
</div>
<div class="dataBoardContent">
<router-view></router-view>
@ -180,8 +208,18 @@ let panHuMenuList = ref([
modulePath: "/laborManagement"
},
{
moduleName: "视频管理",
modulePath: "/videoManagement"
moduleName: "数字工地",
modulePath: "/videoManagement",
menuList: [
{
menuName: "视频管理",
companyPath: "/videoManagement"
},
{
menuName: "AI预警",
companyPath: "/aIEarlyWarning"
}
]
},
{
moduleName: "车辆管理",
@ -238,7 +276,7 @@ let heFeiMenuList = ref([
{
menuName: "AI智能预警",
companyPath: "/aIEarlyWarning"
},
}
]
},
{
@ -283,7 +321,7 @@ let heFeiMenuList = ref([
}
]
}
])
]);
//
let anShanMenuList = ref([
@ -484,7 +522,7 @@ let anShanMenuList = ref([
]
},
{ moduleName: "BIM模型", modulePath: "/bImModel" }
])
]);
const itemList = ref([]);
const activeTab = ref(0);
@ -578,10 +616,10 @@ onMounted(async () => {
getNowTime();
document.addEventListener("click", bodyCloseMenus);
const subMenus = document.querySelectorAll(".menStyle");
if (subMenus.length >= 5 && COMPANY !== 'hfqc') {
if (subMenus.length >= 5 && COMPANY !== "hfqc") {
subMenus[4].style.marginLeft = "30%";
}
if (COMPANY === 'hfqc') {
if (COMPANY === "hfqc") {
subMenus[3].style.marginLeft = "44%";
}
});
@ -768,7 +806,7 @@ function jumpBgd() {
height: 85%; //
// height: calc(100% - 15px - 50px - 60px - 20px);
// margin: 75px auto 16px auto;//
margin: 30px auto 16px auto; //
margin: 70px auto 16px auto; //
width: calc(100% - 40px);
// background-color: #01131F;
// opacity: 0.9;