diff --git a/public/tunnelModel/chanel-have-wall优化版.gltf b/public/tunnelModel/chanel-have-wall-now-use.gltf
similarity index 100%
rename from public/tunnelModel/chanel-have-wall优化版.gltf
rename to public/tunnelModel/chanel-have-wall-now-use.gltf
diff --git a/src/components/content/tunnelScene/PreviewScene.vue b/src/components/content/tunnelScene/PreviewScene.vue
index 2794ab4..cbca21b 100644
--- a/src/components/content/tunnelScene/PreviewScene.vue
+++ b/src/components/content/tunnelScene/PreviewScene.vue
@@ -19,6 +19,8 @@
+
+
@@ -78,7 +80,7 @@ const modelStore = useModelSceneStore();
const params = defineProps(["isedit", "tunnelId", "tunnelLen", "largeScreen"]); //接收参数看是不是编辑模式,如果是编辑模式,则需要做一些处理
-
+// console.log(load);
let isedit = ref(params.isedit)
let fanData;
let tunnelAlias = reactive('')
@@ -152,10 +154,10 @@ async function handleMounted() {
demo = new ThreeDScene(three, content.value);
//看是不是预览模式,然后继续相关的操作(会在demo中的初始化中进行)
demo.isedit = params.isedit;
- let tunnelasync = await demo.loadModel(GLTFLoader, "./assets/tunnelModel/chanel-have-wall.gltf");
+ let tunnelasync = await demo.loadModel(GLTFLoader, "/tunnelModel/chanel-have-wall-now-use.gltf");
demo.addOrbitControls(OrbitControls);
demo.addTween(TWEEN);
- demo.addCSS3Renderer(CSS3DRenderer, CSS3DSprite, doms);
+ demo.addCSS3Renderer(CSS2DRenderer, CSS2DObject, doms);
demo.setDistance(10);
lClickCallback(demo); //绑定左键回调
rClickCallback(demo); //绑定右键回调
@@ -228,7 +230,11 @@ function loadModel(path) {
(obj) => {
resolve(obj);
},
- (xhr) => { },
+ (xhr) => {
+ //这里可以拿到加载的进度条!!!
+ console.log(xhr);
+ console.log((xhr.loaded / xhr.total) * 100 + "% loaded");
+ },
(err) => {
reject(err);
}
diff --git a/src/components/content/tunnelScene/TunnelScene.vue b/src/components/content/tunnelScene/TunnelScene.vue
index 3b0c41a..9419cfc 100644
--- a/src/components/content/tunnelScene/TunnelScene.vue
+++ b/src/components/content/tunnelScene/TunnelScene.vue
@@ -50,6 +50,7 @@ import { RGBELoader } from "three/examples/jsm/loaders/RGBELoader";
import { onMounted, reactive, ref, toRaw, watch } from "vue";
import { ElMessage } from "element-plus";
import { useModelSceneStore } from "@/store/modelSceneStore";
+import { LOD } from "three";
// 获取html标签跟随组件dom
const content = ref(null);
const info = ref(null);
@@ -85,12 +86,13 @@ async function handleMounted() {
demo = new ThreeDScene(three, content.value);
//看是不是预览模式,然后继续相关的操作(会在demo中的初始化中进行)
demo.isedit = params.isedit;
-
+ // "../../../../public/tunnelModel/chanel-have-wall-now-use.gltf"
const loaded = await demo.loadModel(
GLTFLoader,
- "./assets/tunnelModel/chanel-have-wall.gltf"
+ "/tunnelModel/chanel-have-wall-now-use.gltf",
+ true
);
- demo.addOrbitControls(OrbitControls);
+ demo.addOrbitControls(OrbitControls, true);
demo.addTween(TWEEN);
demo.addCSS3Renderer(CSS3DRenderer, CSS3DSprite, doms);
demo.setDistance(10);
@@ -165,6 +167,8 @@ function editDevInfo(
//左键/双击左键回调函数
function lClickCallback(demo) {
+ // console.log('左键点击查看信息');
+
//demo动态添加函数,为操作组件内部
function displayDevInfo(targetPoint = null) {
hasDevice.value = targetPoint.hasDevice;
diff --git a/src/components/content/tunnelScene/editEquComp/editDialog.vue b/src/components/content/tunnelScene/editEquComp/editDialog.vue
index ddf571a..e0de9ad 100644
--- a/src/components/content/tunnelScene/editEquComp/editDialog.vue
+++ b/src/components/content/tunnelScene/editEquComp/editDialog.vue
@@ -4,7 +4,7 @@
当前距离洞口:{{ pointDistance_str }}
- 当前风压:{{ p }}Pa
+
传感器类型
diff --git a/src/components/content/tunnelScene/preEquComp/preDialog.vue b/src/components/content/tunnelScene/preEquComp/preDialog.vue
index 217d3dc..a4a3c0c 100644
--- a/src/components/content/tunnelScene/preEquComp/preDialog.vue
+++ b/src/components/content/tunnelScene/preEquComp/preDialog.vue
@@ -1,27 +1,27 @@
-
当前距离洞口:
+
-
当前风压:
+
-
-
传感器类型
-
+
+
-
{{ params.equipmentType }}
-
+
+
-
设备选择
+
设备名称
@@ -15,15 +15,15 @@
{{
- item.label
- }}
+ item.label
+ }}
-
+ @click="isVisited = true; getAlarmList()">
+
@@ -36,25 +36,25 @@
+ :largeScreen="largeScreen">
+ :close-on-click-modal="false" :close-on-press-escape="false">
-
+ :transducer-data="largeScreenData" :loading="showFanLoading" :tunnel-id="tunnelId" />
+
+ :close-on-click-modal="false" :close-on-press-escape="false">
-
+ :loading="showWindLoading" />
+
+ :loading="showBadLoading" />
@@ -62,7 +62,7 @@
+ @change="changeTunnel">
{{ item.label }}
@@ -73,8 +73,7 @@
-
+
报警时间:
{{ alarmDetail.alarmTime }}
@@ -86,18 +85,16 @@
-
+
+ v-if="roleKey !== 'administrator'">
-
-
+ :teleported="false" clearable filterable>
+
+
@@ -105,35 +102,37 @@
重置
-
+
-
-
-
+ style="background-color: #011c29;--el-table-border-color: none;"
+ :header-cell-style="{ backgroundColor: '#064B66', color: '#fff', fontSize: '40px', borderBottom: 'none' }"
+ :data="alarmList">
+
+
+
+ v-if="roleKey !== 'administrator'">
+
- {{ scope.row.lookupStatus ? '已读' : '未读' }}
+ {{ scope.row.lookupStatus ? '已读' : '未读' }}
+
详情
- 删除
+ 删除
-
@@ -151,9 +150,9 @@ import AirInfo from "@/components/content/airInfo/AirInfo.vue";
import BadGasInfo from "@/components/content/badGasInfo/BadGasInfo.vue";
import ManageBtn from "@/components/manageBtn/index.vue";
import TunnelTitle from "@/components/tunnelTitle/index.vue";
-import {dateFormat} from "@/utils/date.js";
-import {getToken} from "@/utils/auth";
-import {useAuthStore} from "@/store/userstore.js";
+import { dateFormat } from "@/utils/date.js";
+import { getToken } from "@/utils/auth";
+import { useAuthStore } from "@/store/userstore.js";
import {
getLargeScreen,
getLargeScreenInfo,
@@ -163,10 +162,10 @@ import {
getAlarmDetail,
updateAlarmState
} from "@/api/largeScreen";
-import {ElMessage, ElMessageBox} from "element-plus";
-import {getUserInfo} from "@/api/login";
-import {initSceneData} from "@/api/tunnelScene";
-import {getTunnelList} from "@/api/tunnelManage";
+import { ElMessage, ElMessageBox } from "element-plus";
+import { getUserInfo } from "@/api/login";
+import { initSceneData } from "@/api/tunnelScene";
+import { getTunnelList } from "@/api/tunnelManage";
const authStore = useAuthStore();
const router = useRouter();
@@ -412,13 +411,13 @@ const getScreenInfo = (id) => {
// })
res.data.sensorList.forEach((item) => {
if (
- item.equipmentType === "dust" ||
- item.equipmentType === "carbonDioxide" ||
- item.equipmentType === "carbonMonoxide" ||
- item.equipmentType === "hydrogenSulfide" ||
- item.equipmentType === "sulfurDioxide" ||
- item.equipmentType === "sulfurMonoxide" ||
- item.equipmentType === "nitrogenDioxide"
+ item.equipmentType === "dust" ||
+ item.equipmentType === "carbonDioxide" ||
+ item.equipmentType === "carbonMonoxide" ||
+ item.equipmentType === "hydrogenSulfide" ||
+ item.equipmentType === "sulfurDioxide" ||
+ item.equipmentType === "sulfurMonoxide" ||
+ item.equipmentType === "nitrogenDioxide"
) {
showBadLoading.value = 0
} else {
@@ -668,7 +667,7 @@ const initWebSocket = () => {
}
.alarm-dialog {
- :deep(.el-dialog ) {
+ :deep(.el-dialog) {
height: auto !important;
margin: 820px auto 0 auto;
}
@@ -698,6 +697,7 @@ const initWebSocket = () => {
:deep(.el-table__empty-block) {
height: 200px !important;
+
//display: none;
.el-table__empty-text {
font-size: 60px;
@@ -722,7 +722,7 @@ const initWebSocket = () => {
}
}
- :deep(.el-select-dropdown__item.is-hovering ) {
+ :deep(.el-select-dropdown__item.is-hovering) {
background-color: #064B66 !important;
}
@@ -763,12 +763,13 @@ const initWebSocket = () => {
height: 70px !important;
line-height: 70px !important;
- > span {
+ >span {
color: #FFFFFF;
}
}
- .el-select-dropdown__item.hover, .el-select-dropdown__item:hover {
+ .el-select-dropdown__item.hover,
+ .el-select-dropdown__item:hover {
background-color: #064B66 !important;
}
}
@@ -836,7 +837,7 @@ const initWebSocket = () => {
line-height: 40px;
font-size: 36px;
- & > div {
+ &>div {
flex: 1;
text-align: center;
cursor: pointer;
@@ -907,8 +908,10 @@ const initWebSocket = () => {
font-size: 38px;
font-weight: bold;
- :deep(.el-pagination.is-background ) {
- .btn-next, .btn-prev {
+ :deep(.el-pagination.is-background) {
+
+ .btn-next,
+ .btn-prev {
background-color: transparent;
}
@@ -923,11 +926,11 @@ const initWebSocket = () => {
}
}
- > span:first-child {
+ >span:first-child {
margin-right: 60px;
}
- > span:last-child {
+ >span:last-child {
margin-left: 71px;
}
@@ -948,7 +951,7 @@ const initWebSocket = () => {
margin-left: 30px;
}
- :deep(.el-pager li.is-active ) {
+ :deep(.el-pager li.is-active) {
width: 70px;
height: 70px;
background: #60DDDE;
@@ -962,7 +965,7 @@ const initWebSocket = () => {
margin-left: 40px !important;
}
- :deep(.el-pager li:not(.is-active) ) {
+ :deep(.el-pager li:not(.is-active)) {
width: 70px;
height: 70px;
border: 1px solid #60DDDE;