Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
S
SatelliteDigital
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
nijiawen
SatelliteDigital
Commits
f214a33e
提交
f214a33e
authored
4月 09, 2026
作者:
liujiaxing
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新
上级
84c9135c
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
98 行增加
和
78 行删除
+98
-78
timers.vue
src/pages/footer/component/timers.vue
+20
-8
index.vue
src/pages/lefts/index.vue
+78
-70
没有找到文件。
src/pages/footer/component/timers.vue
浏览文件 @
f214a33e
...
...
@@ -48,6 +48,7 @@
changeSpeed()
}" />
</el-select>
<div
class=
"resetClass"
@
click=
"resetclick"
>
重置模式
</div>
</div>
</div>
</div>
...
...
@@ -66,7 +67,6 @@
</div>
<span
class=
"marker-label"
:class=
"
{ 'selected-label': isMarkerInSelectedRange(marker) }"
v-if="((index) % showLength === 0 || index === timeMarkers.length - 1)" v-html="marker.label">
</span>
</div>
</div>
...
...
@@ -97,8 +97,6 @@
</
template
>
<
script
setup
>
import
{
VideoPlay
,
VideoPause
,
CaretLeft
,
CaretRight
}
from
'@element-plus/icons-vue'
;
import
{
ElLoading
,
ElMessage
}
from
'element-plus'
import
Loading
from
'@/pages/all/components/loadingComponent/index.js'
import
{
ref
,
onMounted
,
onUnmounted
,
computed
,
watch
,
nextTick
,
watchEffect
}
from
'vue'
;
...
...
@@ -106,7 +104,6 @@ import wss from '@/utils/requestSocekt.js'
import
wsTime
from
'@/utils/requestSocektTime.js'
import
useAppStore
from
'@/store/module/app'
import
dayjs
from
'dayjs'
;
import
{
timeInfoApi
}
from
'../../../api/Zodiac.js'
;
const
wssInstance
=
ref
(
wss
)
const
wsTimeInstance
=
ref
(
wsTime
)
...
...
@@ -347,7 +344,8 @@ const wssMessageHandle = () => {
//console.log('我是timer获取的wssRespone:', data);
//console.log("我走了seekConfirm",!(data?.isLagrangeInterpolation === true));
let
flagToNext
=
0
Loading
.
hide
()
Loading
.
hide
()
//接受到后端ws传递的消息,这时候隐藏loading
if
(
data
.
type
===
'control'
&&
!
(
data
.
controlType
===
'stop'
)
&&
!
(
data
.
controlType
===
'continue'
))
{
if
(
data
.
nextTimestamp
)
{
preTimeWindowEnd
.
value
=
data
.
nextTimestamp
||
data
.
dataTime
;
...
...
@@ -732,7 +730,7 @@ const timeMarkers = computed(() => {
current
.
setHours
(
current
.
getHours
()
+
1
);
// 每次 +1 小时
}
// console.log('markers',
markers)
console
.
log
(
'markers时间刻度信息----'
,
markers
)
return
markers
;
});
...
...
@@ -1330,6 +1328,10 @@ const formatDateTimeOne = (timeStr) => {
// }
// }
// 重置模式为实时模式
const
resetclick
=
()
=>
{
}
const
tempDateTime
=
ref
(
new
Date
(
useAppStoreInstance
.
globalTimeLineEndSelectTime
))
onMounted
(()
=>
{
wsTimeInstanceFn
();
//接受实时模式下的数据
...
...
@@ -1397,7 +1399,7 @@ onMounted(() => {
isRealtime
:
is_flag_isRealtime
.
value
,
taskCode
:
String
(
taskCode_everyChange
.
value
)
===
""
?
useAppStoreInstance
.
globalRecordMainSysTaskCode
||
(
useAppStoreInstance
.
globalSubsystemTaskCode
)
:
String
(
taskCode_everyChange
.
value
),
speed
:
playbackSpeed
.
value
,
status
:
isPlaying
.
value
?
"continue"
:
"stop"
,
//
status: isPlaying.value ? "continue" : "stop",
})))
console
.
log
(
"走了这里1"
);
}
...
...
@@ -1442,7 +1444,7 @@ const realTimeData = () => {
taskCode
:
String
(
taskCode_everyChange
.
value
)
===
""
?
useAppStoreInstance
.
globalRecordMainSysTaskCode
||
(
useAppStoreInstance
.
globalSubsystemTaskCode
)
:
String
(
taskCode_everyChange
.
value
),
currentTime
:
dayjs
(
selectedEndTime
.
value
).
format
(
'YYYY-MM-DD HH:mm'
),
status
:
isPlaying
.
value
?
"continue"
:
"stop"
,
//
status: isPlaying.value ? "continue" : "stop",
//时间参数
})))
...
...
@@ -1602,6 +1604,7 @@ onUnmounted(() => {
.right_block
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
padding
:
0
10px
;
}
...
...
@@ -1863,4 +1866,12 @@ onUnmounted(() => {
:deep
(
.el-select__suffix
)
{
opacity
:
0
;
}
.resetClass
{
height
:
100%
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
cursor
:
pointer
;
}
</
style
>
\ No newline at end of file
src/pages/lefts/index.vue
浏览文件 @
f214a33e
...
...
@@ -296,18 +296,24 @@ const errorDialogVisible = ref(false);
const
coreMetrics
=
ref
([
// { label: '在轨卫星数', value: '36' },
]);
// useAppStoreInstance.setGlobalTimeLineEndSelectTime(formatDateTime(selectedEndTime.value));
// 监听时间轴时间变化
watch
(()
=>
useAppStoreInstance
.
globalTimeLineEndSelectTime
,
(
val
)
=>
{
// console.log(val, '时间变化----------------', faultData.value);
//故障情况判定--每一个信关站的故障设备判定
searchEquipmentList
()
//每一秒进行搜索判定
})
const
globalIntervalTime
=
ref
(
''
)
const
globalIntervalTimeTemp
=
ref
(
''
)
const
globaleAutoPlay
=
ref
(
true
)
const
carouselKey
=
ref
(
0
)
const
currentGroundEquipmentObj
=
ref
(
''
)
//地面系统设备对象,包括设备或者故障
const
currentGroundEquipmentObj
=
ref
(
''
)
//地面系统设备对象,包括设备或者故障,列表中点击这一行的数据赋值
watch
(
globalIntervalTime
,
(
newValue
,
oldValue
)
=>
{
// //console.log("globalIntervalTime发生变化了");
carouselKey
.
value
+=
1
})
// watch(globaleAutoPlay, (newValue, oldValue) => {
...
...
@@ -337,6 +343,7 @@ const activeTabHandleClickTab = (value) => {
activeTab
.
value
=
value
//判断wx是否是链接状态,如果不连接直接获取最后的一条数据的值
if
(
!
useAppStoreInstance
.
globalStartWss
)
{
console
.
log
(
primitiveFaultData
.
value
,
"问题1"
,
primitiveSatelliteData
.
value
,
'问题2'
);
if
(
value
===
'fault'
)
{
// siteDataPageErrorInfoApi({
...
...
@@ -414,6 +421,7 @@ const equipmentData = ref(primitiveEquipmentData.value);
const
searchEquipmentValue
=
ref
(
''
)
//回显列表数组数据--搜索
function
searchEquipmentList
()
{
if
(
activeTab
.
value
===
'equipment'
)
{
const
filteredData
=
primitiveEquipmentData
.
value
.
filter
(
item
=>
item
.
station
.
toLowerCase
().
includes
(
searchEquipmentValue
.
value
.
toLowerCase
())
||
...
...
@@ -424,13 +432,26 @@ function searchEquipmentList() {
// //console.log(filteredData);
equipmentData
.
value
=
filteredData
}
//故障情况搜索
if
(
activeTab
.
value
===
'fault'
)
{
cons
t
filteredData
=
primitiveFaultData
.
value
.
filter
(
item
=>
le
t
filteredData
=
primitiveFaultData
.
value
.
filter
(
item
=>
item
.
station
.
toLowerCase
().
includes
(
searchEquipmentValue
.
value
.
toLowerCase
())
||
item
.
ku
.
toString
().
includes
(
searchEquipmentValue
.
value
.
toLowerCase
())
||
item
.
qv
.
toString
().
includes
(
searchEquipmentValue
.
value
.
toLowerCase
())
)
console
.
log
(
filteredData
,
'故障列表'
);
filteredData
.
map
(
item
=>
{
item
.
allData
.
arr
.
forEach
(
it
=>
{
//判断故障时间是否包含当前时间
if
(
isTimeInRange
(
useAppStoreInstance
.
globalTimeLineEndSelectTime
,
it
.
startTime
,
it
.
endTime
))
{
item
.
ku
=
item
.
controlAntennaNum
item
.
qv
=
item
.
controlBaseStationNum2
item
.
monitor
=
item
.
controlBaseStationNum
item
.
baseband
=
item
.
baseStationNum
}
})
})
faultData
.
value
=
filteredData
}
...
...
@@ -438,37 +459,27 @@ function searchEquipmentList() {
// 故障情况数据
const
primitiveFaultData
=
ref
([
]);
const
primitiveFaultData
=
ref
([]);
const
faultData
=
ref
(
primitiveFaultData
.
value
);
const
baseDeviceList
=
ref
({})
const
satlTitle
=
ref
(
''
)
//点击列表中某一行触发
function
tableHandleRowClickFn
(
row
,
column
,
event
)
{
// console.log("错误设备的", errorDeviceListDetailsDialog.value);
// console.log("错误设备的", faultData.value)
// if (activeTab.value === 'fault') {
// ElMessage.error('故障面板正在开启!')
errorDialogVisible
.
value
=
true
currentGroundEquipmentObj
.
value
=
row
errorDialogVisible
.
value
=
true
// 打开面板
currentGroundEquipmentObj
.
value
=
row
//行数据赋值
//找到对应信关站的地面网元信息
errorDeviceList
.
value
=
errorDeviceListDetailsDialog
.
value
.
filter
(
item
=>
item
.
siteId
===
row
.
siteId
)[
0
]?.
groundNetworkElementResponses
||
[]
// //console.log("11111EIRP111111row", row);
satlTitle
.
value
=
row
.
station
?
row
.
station
:
'未知名称'
//crossDeviceExtractResponseList 天线基本信息
satlTitle
.
value
=
row
.
station
?
row
.
station
:
'未知名称'
//卫星名称
// 天线基本信息赋值
baseDeviceList
.
value
=
errorDeviceListDetailsDialog
.
value
.
filter
(
item
=>
item
.
siteId
===
row
.
siteId
)[
0
]?.
crossDeviceExtractResponseList
||
[]
//console.log('11111EIRP111111row过滤数据:',errorDeviceListDetailsDialog.value);
if
(
window
.
ue5
)
{
//打开左侧小弹框
window
.
ue5
(
"callBackAllDialogFn"
,
String
(
JSON
.
stringify
({
type
:
"DeviceFaultDialog"
,
status
:
"open"
})));
}
// }
}
function
errorDialoghandleClose
()
{
...
...
@@ -560,7 +571,7 @@ const wssTransformSatelliteData = (data) => {
// 如果 data 不是对象也不是数组,返回空数组
return
[];
};
//对应信关站的地面网元信息
const
errorDeviceList
=
ref
(
''
)
// watch(()=>errorDeviceList.value, (newVal, oldVal) => {
// //console.log('*******111112errorDeviceList 变化了:', newVal, oldVal);
...
...
@@ -656,6 +667,7 @@ const transformgroudSatelliteData = (data) => {
// 如果 data 不是对象也不是数组,返回空数组
return
[];
};
//地面站设备数量,故障情况统计数据格式转换
const
wssTransformgroudSatelliteData
=
(
data
)
=>
{
if
(
typeof
data
===
'object'
&&
data
!==
null
&&
!
Array
.
isArray
(
data
))
{
...
...
@@ -734,7 +746,7 @@ const wssTransformGroundSatelliteData = (data) => {
// 如果 data 不是对象也不是数组,返回空数组
};
// websocket发生时--关闭时调取接口来展示数据
const
leftGetAllListInfo
=
()
=>
{
stellationInfoApi
().
then
(
res
=>
{
orbitMetrics
.
value
=
transformConstellationData
(
res
.
data
);
...
...
@@ -835,18 +847,13 @@ watch(() => useAppStoreInstance.globalLeftWssCONTINE, val => {
const
JSONdata
=
val
// console.log("useAppStoreInstance.globalLeftWssCONTINE", JSONdata,(JSONdata.type === 'history' && !(JSONdata?.isLagrangeInterpolation === true) ),JSONdata.type === 'realtime');
if
(
JSONdata
.
type
===
'history'
)
{
//历史模式
// 卫星列表数据--------------------------------------------------------------------
const
satelliteList
=
[]
JSONdata
.
CurrData
.
forEach
(
items
=>
{
const
temp
=
items
.
satelliteBasicInfoResponse
temp
.
siteName
=
items
?.
currentGatewayAssociations
||
null
satelliteList
.
push
(
temp
)
});
primitiveSatelliteData
.
value
=
wssTransformSatelliteData
(
satelliteList
)
primitiveSatelliteData
.
value
.
sort
((
a
,
b
)
=>
{
return
a
.
name
.
localeCompare
(
b
.
name
,
undefined
,
{
...
...
@@ -854,87 +861,88 @@ watch(() => useAppStoreInstance.globalLeftWssCONTINE, val => {
sensitivity
:
'base'
// 忽略大小写和重音符号
});
});
satelliteData
.
value
=
primitiveSatelliteData
.
value
primitiveEquipmentData
.
value
=
equipmentData
.
value
//console.log('我是left,type == history获取的wssRespone:', JSONdata.groundStationDeviceCount);
// 地面数据,上层数据
// 卫星列表数据结束------------------------------------------------------------------------
// 地面数据,上层数据回显------------------------------------------------------------------
groundMetrics
.
value
=
wssTransformGroundSatelliteData
(
JSONdata
.
groundSystem
)
primitiveFaultData
.
value
=
[]
primitiveFaultData
.
value
=
wssTransformgroudSatelliteData
(
JSONdata
.
deviceFaultCondition
)
faultData
.
value
=
primitiveFaultData
.
value
// 地面系统第二部分--地面站设备数量,设备故障情况数据---------------------------------------------------------------
if
(
searchEquipmentValue
.
value
!==
''
)
{
searchEquipmentList
()
}
// console.log('JSONData',JSONdata)
primitiveFaultData
.
value
=
[]
//故障情况数据,先清空再赋值,避免历史数据残留
primitiveFaultData
.
value
=
wssTransformgroudSatelliteData
(
JSONdata
.
deviceFaultCondition
)
//设备故障数据
faultData
.
value
=
primitiveFaultData
.
value
console
.
log
(
"历史模式-此时的设备故障数据"
,
primitiveFaultData
.
value
);
//信关站详情
errorDeviceListDetailsDialog
.
value
=
JSONdata
?.
gatewayStationDetails
//列表点击行的数据
if
(
currentGroundEquipmentObj
.
value
!==
''
)
{
//这代码屎上加屎,别怪我,怪第一个人,我不敢碰之前写的
// 找到对应信关站的地面网元信息
errorDeviceList
.
value
=
errorDeviceListDetailsDialog
.
value
.
filter
(
item
=>
item
.
siteId
===
currentGroundEquipmentObj
.
value
.
siteId
)[
0
]?.
groundNetworkElementResponses
||
[]
// 找到对应卫星名称
satlTitle
.
value
=
currentGroundEquipmentObj
.
value
.
station
?
currentGroundEquipmentObj
.
value
.
station
:
'未知名称'
//天线基本信息
baseDeviceList
.
value
=
errorDeviceListDetailsDialog
.
value
.
filter
(
item
=>
item
.
siteId
===
currentGroundEquipmentObj
.
value
.
siteId
)[
0
]?.
crossDeviceExtractResponseList
||
[]
}
primitiveEquipmentData
.
value
=
[]
primitiveEquipmentData
.
value
=
wssTransformgroudSatelliteData
(
JSONdata
.
groundStationDeviceCount
)
primitiveEquipmentData
.
value
=
[]
//地面站设备数量数据,先清空再赋值,避免历史数据残留
primitiveEquipmentData
.
value
=
wssTransformgroudSatelliteData
(
JSONdata
.
groundStationDeviceCount
)
//地面站设备数量
//console.log("此时的equipment", primitiveEquipmentData.value);
console
.
log
(
"历史模式--此时的地面站设备数量数据"
,
primitiveEquipmentData
.
value
);
equipmentData
.
value
=
primitiveEquipmentData
.
value
if
(
searchEquipmentValue
.
value
!==
''
)
{
searchEquipmentList
()
searchEquipmentList
()
//搜索框
}
}
if
(
JSONdata
.
type
===
'realtime'
)
{
//实时模式
//卫星轨迹数据,实时模式下的wss数据结构和历史模式不太一样,历史模式是CurrData数组里套satelliteBasicInfoResponse对象,实时模式是CurrData数组里直接就是satelliteBasicInfoResponse对象
const
satelliteList
=
[]
JSONdata
.
CurrData
.
forEach
(
items
=>
{
const
temp
=
items
.
satelliteBasicInfoResponse
temp
.
siteName
=
items
.
siteName
satelliteList
.
push
(
temp
)
});
primitiveSatelliteData
.
value
=
wssTransformSatelliteData
(
satelliteList
)
primitiveSatelliteData
.
value
=
wssTransformSatelliteData
(
satelliteList
)
//筛选卫星轨迹
primitiveSatelliteData
.
value
.
sort
((
a
,
b
)
=>
{
return
a
.
name
.
localeCompare
(
b
.
name
,
undefined
,
{
numeric
:
true
,
// 启用数字排序
sensitivity
:
'base'
// 忽略大小写和重音符号
});
});
satelliteData
.
value
=
primitiveSatelliteData
.
value
primitiveEquipmentData
.
value
=
equipmentData
.
value
//卫星轨迹数据结束----------
// primitiveEquipmentData.value = equipmentData.value----------------------前面赋值后面就置空,无用
// //console.log('我是left,type == history获取的wssRespone:', JSONdata.groundStationDeviceCount);
// 地面系统数据第一部分------------
groundMetrics
.
value
=
wssTransformGroundSatelliteData
(
JSONdata
.
groundSystem
)
//地面系统
// 地面数据,上层数据
groundMetrics
.
value
=
wssTransformGroundSatelliteData
(
JSONdata
.
groundSystem
)
// 地面数据,下层数据
console
.
log
(
"此时的groundMetrics"
,
groundMetrics
.
value
);
primitiveFaultData
.
value
=
[]
primitiveFaultData
.
value
=
wssTransformgroudSatelliteData
(
JSONdata
.
deviceFaultCondition
)
// 地面系统第二部分--地面站设备数量,设备故障情况数据---------------------------------------------------------------
primitiveFaultData
.
value
=
[]
//故障情况数据,先清空再赋值,避免历史数据残留
primitiveFaultData
.
value
=
wssTransformgroudSatelliteData
(
JSONdata
.
deviceFaultCondition
)
//设备故障数据
faultData
.
value
=
primitiveFaultData
.
value
//console.log("此时的fault", primitiveFaultData.value);
// if (searchEquipmentValue.value !== '') {
searchEquipmentList
()
// }
console
.
log
(
"此时的设备故障数据"
,
primitiveFaultData
.
value
);
//点击列表表格一行时展示悬浮框数据---------------------------------
errorDeviceListDetailsDialog
.
value
=
JSONdata
?.
gatewayStationDetails
if
(
currentGroundEquipmentObj
.
value
!==
''
)
{
//这代码屎上加屎,别怪我,怪第一个人,我不敢碰之前写的
// 找到对应信关站的地面网元信息
errorDeviceList
.
value
=
errorDeviceListDetailsDialog
.
value
.
filter
(
item
=>
item
.
siteId
===
currentGroundEquipmentObj
.
value
.
siteId
)[
0
]?.
groundNetworkElementResponses
||
[]
// 找到对应卫星名称
satlTitle
.
value
=
currentGroundEquipmentObj
.
value
.
station
?
currentGroundEquipmentObj
.
value
.
station
:
'未知名称'
//天线基本信息
baseDeviceList
.
value
=
errorDeviceListDetailsDialog
.
value
.
filter
(
item
=>
item
.
siteId
===
currentGroundEquipmentObj
.
value
.
siteId
)[
0
]?.
crossDeviceExtractResponseList
||
[]
}
primitiveEquipmentData
.
value
=
[]
primitiveEquipmentData
.
value
=
wssTransformgroudSatelliteData
(
JSONdata
.
groundStationDeviceCount
)
//console.log("此时的equipment", primitiveEquipmentData.value);
primitiveEquipmentData
.
value
=
[]
//地面站设备数量数据,先清空再赋值,避免历史数据残留
primitiveEquipmentData
.
value
=
wssTransformgroudSatelliteData
(
JSONdata
.
groundStationDeviceCount
)
//地面站设备数量
console
.
log
(
"此时的地面站设备数量数据"
,
primitiveEquipmentData
.
value
);
equipmentData
.
value
=
primitiveEquipmentData
.
value
// if (searchEquipmentValue.value !== '') {
searchEquipmentList
()
// }
searchEquipmentList
()
//搜索函数,返回数据筛选时只用执行一次就行
}
tempCount
.
value
++
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论