提交 f214a33e authored 作者: liujiaxing's avatar liujiaxing

更新

上级 84c9135c
......@@ -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
......@@ -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') {
const filteredData = primitiveFaultData.value.filter(item =>
let 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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论