Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
JINRUN-DP
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xinzhedeai
JINRUN-DP
Commits
9fef3eef
Commit
9fef3eef
authored
Dec 12, 2025
by
xinzhedeai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
在线监测
parent
7a7555ff
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
166 additions
and
31 deletions
+166
-31
LeftOnlineMonitor.vue
src/components/MineMonitor/LeftOnlineMonitor.vue
+165
-27
index.vue
src/views/_builtin/cesiumDeom/index.vue
+1
-4
No files found.
src/components/MineMonitor/LeftOnlineMonitor.vue
View file @
9fef3eef
<
template
>
<
template
>
<n-card
:bordered=
"false"
class=
"online-monitor-card"
>
<div
class=
"wrapper"
>
<div
class=
"card-header"
>
<h2
class=
"card-title"
>
在线监测实时数据
</h2>
<h2
class=
"card-title"
>
在线监测实时数据
</h2>
<!-- SOS报警列表 -->
<div
class=
"list-container"
>
<div
class=
"scroll-wrapper"
ref=
"vehicleScrollWrapper"
>
<dl
class=
"alarm-list"
>
<dt
class=
"list-header"
>
<span>
设备名称
</span>
<span>
监测值
</span>
<span>
监测时间
</span>
</dt>
<template
v-for=
"(item, index) in tableData"
:key=
"index"
>
<dd
class=
"list-item"
:class=
"getItemClass(item)"
>
<span>
{{
item
.
name
}}
</span>
<span>
{{
item
.
value
}}
</span>
<span>
{{
item
.
time
}}
</span>
</dd>
</
template
>
</dl>
</div>
</div>
</div>
</div>
<n-table
:columns=
"columns"
:data=
"tableData"
size=
"small"
:pagination=
"false"
class=
"monitor-table"
/>
</n-card>
</template>
</template>
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
{
ref
}
from
'
vue
'
;
import
{
ref
,
onMounted
,
onBeforeUnmount
}
from
'
vue
'
// 根据status获取对应的class
const
getItemClass
=
(
item
)
=>
{
if
(
item
.
status
===
'
chengse
'
)
{
return
'
status-chengse
'
}
else
if
(
item
.
status
===
'
lanse
'
)
{
return
'
status-lanse
'
}
else
if
(
item
.
status
===
'
huangse
'
)
{
return
'
status-huangse
'
}
return
''
}
const
columns
=
ref
([
const
columns
=
ref
([
{
title
:
'
设备名称
'
,
key
:
'
name
'
,
align
:
'
left
'
},
{
title
:
'
设备名称
'
,
key
:
'
name
'
,
align
:
'
left
'
},
...
@@ -26,31 +52,143 @@ const tableData = ref([
...
@@ -26,31 +52,143 @@ const tableData = ref([
{
name
:
'
边坡表面位移01
'
,
value
:
'
0.0047mm
'
,
time
:
'
2025-01-10 14:21:31
'
,
status
:
'
正常
'
},
{
name
:
'
边坡表面位移01
'
,
value
:
'
0.0047mm
'
,
time
:
'
2025-01-10 14:21:31
'
,
status
:
'
正常
'
},
{
name
:
'
降雨量
'
,
value
:
'
0.0047mm
'
,
time
:
'
2025-01-10 14:21:31
'
,
status
:
'
正常
'
},
{
name
:
'
降雨量
'
,
value
:
'
0.0047mm
'
,
time
:
'
2025-01-10 14:21:31
'
,
status
:
'
正常
'
},
{
name
:
'
排土场表面位移03
'
,
value
:
'
0.0047mm
'
,
time
:
'
2025-01-10 14:21:31
'
,
status
:
'
预警
'
},
{
name
:
'
排土场表面位移03
'
,
value
:
'
0.0047mm
'
,
time
:
'
2025-01-10 14:21:31
'
,
status
:
'
预警
'
},
{
name
:
'
边坡表面位移01
'
,
value
:
'
0.0047mm
'
,
time
:
'
2025-01-10 14:21:31
'
,
status
:
'
正常
'
},
{
name
:
'
边坡表面位移01
'
,
value
:
'
0.0047mm
'
,
time
:
'
2025-01-10 14:21:31
'
,
status
:
'
正常
'
},
{
name
:
'
边坡表面位移01
'
,
value
:
'
0.0047mm
'
,
time
:
'
2025-01-10 14:21:31
'
,
status
:
'
正常
'
},
{
name
:
'
边坡表面位移01
'
,
value
:
'
0.0047mm
'
,
time
:
'
2025-01-10 14:21:31
'
,
status
:
'
正常
'
},
{
name
:
'
边坡表面位移01
'
,
value
:
'
0.0047mm
'
,
time
:
'
2025-01-10 14:21:31
'
,
status
:
'
正常
'
}
{
name
:
'
边坡表面位移01
'
,
value
:
'
0.0047mm
'
,
time
:
'
2025-01-10 14:21:31
'
,
status
:
'
正常
'
}
]);
]);
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
.online-monitor-card
{
.wrapper
{
overflow
:
visible
;
width
:
4
.6rem
;
height
:
3rem
;
position
:
relative
;
padding
:
0
.15rem
;
padding
:
0
.15rem
;
background
:
var
(
--
n-bg-color-secondary
);
background-size
:
contain
;
width
:
100%
;
.card-header
{
margin-top
:
0
.3rem
;
margin-bottom
:
0
.15rem
;
background-image
:
url("@/assets/jinrun/module-bg.png")
;
.card-title
{
background-size
:
cover
;
font-size
:
0
.18rem
;
background-repeat
:
no-repeat
;
font-weight
:
600
;
color
:
var
(
--
n-text-color-primary
);
margin-top
:
.26rem
;
}
.card-title
{
position
:
absolute
;
left
:
0
.25rem
;
top
:
-0
.15rem
;
font-weight
:
500
;
font-size
:
0
.2rem
;
color
:
#ffffff
;
text-shadow
:
0rem
0rem
0rem
rgba
(
5
,
38
,
68
,
0
.5
);
}
}
}
.monitor-table
{
.list-container
{
max-height
:
1
.5
rem
;
height
:
2
.2
rem
;
overflow-y
:
auto
;
overflow
:
hidden
;
--n-table-row-hover-bg-color
:
rgba
(
10
,
25
,
71
,
0
.4
);
}
.normal
{
color
:
#6dd230
;
}
.scroll-wrapper
{
.warning
{
color
:
#facc15
;
}
height
:
100%
;
overflow-y
:
auto
;
scrollbar-width
:
none
;
/* Firefox */
-ms-overflow-style
:
none
;
/* IE 10+ */
&
:
:-
webkit-scrollbar
{
display
:
none
;
/* Chrome Safari */
}
}
}
}
.list-header
{
display
:
flex
;
justify-content
:
space-between
;
padding
:
0
.1rem
;
// background: rgba(10, 25, 71, 0.8);
background-image
:
url("@/assets/jinrun/table-header-bg.png")
;
// border-radius: 0.05rem;
margin-bottom
:
0
.05rem
;
position
:
sticky
;
top
:
0
;
z-index
:
10
;
span
{
font-weight
:
500
;
font-size
:
0
.14rem
;
color
:
#fff
;
flex
:
1
;
text-align
:
center
;
&
:first-child
{
text-align
:
left
;
}
&
:last-child
{
text-align
:
right
;
}
}
}
.list-item
{
display
:
flex
;
justify-content
:
space-between
;
padding
:
0
.1rem
;
margin-bottom
:
0
.05rem
;
// background: rgba(10, 25, 71, 0.6);
background-color
:
#2a496d
78
;
// border-radius: 0.05rem;
// border-left: 0.03rem solid #36a2eb;
span
{
font-size
:
0
.14rem
;
color
:
#fff
;
flex
:
1
;
text-align
:
center
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
&
:first-child
{
text-align
:
left
;
}
&
:last-child
{
text-align
:
right
;
}
}
&
.status-chengse
{
span
{
color
:
#FF852B
;
}
}
&
.status-lanse
{
span
{
color
:
#28CAFF
;
}
}
&
.status-huangse
{
span
{
color
:
#FFD118
;
}
}
}
.no-data
{
text-align
:
center
;
color
:
var
(
--
n-text-color-secondary
);
padding
:
0
.2rem
;
background
:
rgba
(
10
,
25
,
71
,
0
.3
);
border-radius
:
0
.05rem
;
margin
:
0
.1rem
;
}
</
style
>
</
style
>
\ No newline at end of file
src/views/_builtin/cesiumDeom/index.vue
View file @
9fef3eef
...
@@ -80,8 +80,7 @@
...
@@ -80,8 +80,7 @@
<div
class=
"left-modules"
v-show=
"isLeftModulesVisible"
>
<div
class=
"left-modules"
v-show=
"isLeftModulesVisible"
>
<LeftDeviceStatus
/>
<LeftDeviceStatus
/>
<LeftRainfallTrend
/>
<LeftRainfallTrend
/>
<!--
<LeftOnlineMonitor
/>
<LeftOnlineMonitor
/>
-->
</div>
</div>
</transition>
</transition>
...
@@ -90,8 +89,6 @@
...
@@ -90,8 +89,6 @@
<div
class=
"right-modules"
v-show=
"isRightModulesVisible"
>
<div
class=
"right-modules"
v-show=
"isRightModulesVisible"
>
<RightAiWarning
/>
<RightAiWarning
/>
<RightEnvMonitor
/>
<RightEnvMonitor
/>
<RightTodayAlarm
/>
<RightTodayAlarm
/>
</div>
</div>
</transition>
</transition>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment