Commit 40c8610d by liucan

pref:修改数据展示页面的数据详情布局

parent 4c265c8e
const getCurTime = () => {
const now = new Date();
const year = now.getFullYear();
const month = now.getMonth() + 1;
const date = now.getDate();
const weekdays = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"];
const weekday = weekdays[now.getDay()];
const hours = String(now.getHours()).padStart(2, "0");
const minutes = String(now.getMinutes()).padStart(2, "0");
const seconds = String(now.getSeconds()).padStart(2, "0");
return `${year}${month}${date}${weekday} ${hours}${minutes}${seconds}`;
};
export default getCurTime;
\ No newline at end of file
<template>
<!-- <div class="text-left p-1 toolbarStyle">
<div class="formStyle">
<el-form inline>
<el-form-item>
<el-text class="mx-1">目标名称:</el-text>
</el-form-item>
<el-form-item>
<div>
<el-input placeholder="请输入" style="width: 190px" />
</div>
</el-form-item>
<el-form-item>
<el-text class="mx-1">获取时间:</el-text>
</el-form-item>
<el-form-item>
<el-date-picker v-model="timeValue" type="datetimerange" format="YYYY-MM-DD HH:mm:ss"
start-placeholder="开始时间" end-placeholder="结束时间" date-format="YYYY/MM/DD ddd"
time-format="A hh:mm:ss" style="width: 330px" value-format="YYYY-MM-DD HH:mm:ss" />
</el-form-item>
<el-form-item>
<el-text class="mx-1">站点名称:</el-text>
</el-form-item>
<el-form-item>
<el-input placeholder="请输入" style="width: 180.5px" />
</el-form-item>
<el-form-item>
<el-space>
<el-button type="primary">查询</el-button>
</el-space>
</el-form-item>
</el-form>
</div>
</div> -->
<div class="flex justify-left" style="padding-left: 10px">
<el-button :type="statusMode === false ? 'primary' : 'danger'" @click="handleRefresh" size="small">{{
statusMode === false ? "开始刷新" : "停止刷新"
......@@ -61,193 +28,119 @@
<!-- <el-table-column property="targetDistance" label="目标距离" show-overflow-tooltip /> -->
<el-table-column property="windSpeed" label="风速(km/hr)" show-overflow-tooltip>
<template #default="scope">
{{ scope.row.windSpeed === "" ? "" : scope.row.windSpeed }}
{{ scope.row.windSpeed === "" ? "-" : scope.row.windSpeed }}
</template>
</el-table-column>
<el-table-column property="targets[0].name" label="上行信号来源" show-overflow-tooltip />
<el-table-column property="signals[0].band" label="上行信号频段" show-overflow-tooltip>
<template #default="scope">
{{ scope.row.signals.length === 0 ? "" : scope.row.signals[0].band }}
{{ scope.row.signals.length === 0 ? "-" : scope.row.signals[0].band }}
</template>
</el-table-column>
<el-table-column property="signals[0].power" label="上行发射功率" show-overflow-tooltip>
<template #default="scope">
{{ scope.row.signals.length === 0 ? "" : scope.row.signals[0].power }}
{{ scope.row.signals.length === 0 ? "-" : scope.row.signals[0].power }}
</template>
</el-table-column>
<el-table-column property="targets[0].name" label="下行信号来源" show-overflow-tooltip />
<el-table-column property="signals[1].band" label="下行信号频段" show-overflow-tooltip>
<template #default="scope"> {{ scope.row.signals.length < 2 ? "" : scope.row.signals[1].band }} </template>
<template #default="scope"> {{ scope.row.signals.length < 2 ? "-" : scope.row.signals[1].band }} </template>
</el-table-column>
<el-table-column property="signals[1].power" label="下行接收功率" show-overflow-tooltip>
<template #default="scope"> {{ scope.row.signals.length < 2 ? "" : scope.row.signals[1].power }} </template>
<template #default="scope"> {{ scope.row.signals.length < 2 ? "-" : scope.row.signals[1].power }} </template>
</el-table-column>
<!-- <el-table-column property="dataTime" label="数据时间" show-overflow-tooltip /> -->
<el-table-column label="操作" width="60">
<template #default="scope">
<el-button type="primary" plain link @click="handleDetails(scope.row)"> 详情 </el-button>
</template>
</el-table-column>
</el-table>
<!-- <div class="pagination w-full flex flex-row-reverse pr-4 m-t-4">
<Pagination :total="pageObj.total" v-model:page="pageObj.pageNo" v-model:limit="pageObj.pageSize"
@pagination="getData" />
</div> -->
</div>
<div class="detailForm">
<el-dialog v-model="detailVisibleValue" center width="800px" align-center @close="handleClose" draggable>
<template #header>
<div class="text-center font-size-8">详情</div>
<div class="text-center font-size-6">详情-{{ antennaName }}</div>
</template>
<el-form label-width="94px" size="small" class="px-4">
<div>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="天线名称:" label-position="left">
<el-input v-model="antennaName" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="风速(km/hr):" label-position="left">
<el-input v-model="windSpeed" />
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="距离(km):" label-position="left">
<el-input v-model="distance" />
</el-form-item>
</el-col> -->
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="目标名称:" label-position="left">
<el-input v-model="targetName" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="天线状态:" label-position="left">
<el-input v-model="antennaStatus" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<!-- <el-col :span="12">
<el-form-item label="往返光时:" label-position="left">
<el-input v-model="roundTripTime" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="站点名称:" label-position="left">
<el-input v-model="stationName" />
</el-form-item>
</el-col> -->
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="目标方位:" label-position="left">
<el-input v-model="targetAzimuth" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="目标俯仰:" label-position="left">
<el-input v-model="targetElevation" />
</el-form-item>
</el-col>
</el-row>
<!-- <el-row :gutter="20"> -->
<!-- <el-col :span="12">
<el-form-item label="目标距离:" label-position="left">
<el-input v-model="targetDistance" />
</el-form-item>
</el-col> -->
<!-- <el-col :span="12">
<el-form-item label="风速(km/hr):" label-position="left">
<el-input v-model="windSpeed" />
</el-form-item>
</el-col> -->
<!-- </el-row> -->
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="上行信号状态:" label-position="left">
<el-input v-model="upSignalStatus" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="上行信号来源:" label-position="left">
<el-input v-model="upSignalSource" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="上行信号频段:" label-position="left">
<el-input v-model="upSignalFrequencyBand" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="上行发射功率:" label-position="left">
<el-input v-model="upSignalLaunchPower" />
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="下行信号来源:" label-position="left">
<el-input v-model="downSignalSignalSource" />
</el-form-item>
</el-col> -->
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="下行信号状态:" label-position="left">
<el-input v-model="downSignalStatus" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="下行信号来源:" label-position="left">
<el-input v-model="downSignalSource" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="下行信号频段:" label-position="left">
<el-input v-model="downSignalFrequencyBand" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="下行接收功率:" label-position="left">
<el-input v-model="downSignalReceptionPower" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="往返光时(s):" label-position="left">
<el-input v-model="roundTripTime" />
</el-form-item>
</el-col>
</el-row>
<!-- <el-row :gutter="20">
<el-col :span="12">
<el-form-item label="数据时间:" label-position="left">
<el-input v-model="dataTime" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="记录时间:" label-position="left">
<el-input v-model="recordTime" />
</el-form-item>
</el-col>
</el-row> -->
<!-- <el-row :gutter="20">
<el-col :span="12">
<el-form-item label="是否暂停使用:" label-position="left">
<el-input v-model="isSuspended" />
</el-form-item>
</el-col>
</el-row> -->
</div>
</el-form>
<el-row>
<el-col :span="12">
<el-card>
<div class="title">航天器信息:</div>
<el-divider style="margin: 0"></el-divider>
<div class="info-item">
<span class="item-title">目标名称:</span>
<span class="item">{{ targetName }}</span>
</div>
<div class="info-item">
<span class="item-title">距离:</span>
<span class="item">{{ targetDistance }}</span>
</div>
<div class="info-item">
<span class="item-title">往返光时:</span>
<span class="item">{{ roundTripTime }}</span>
</div>
</el-card>
<el-card>
<div class="title">天线信息:</div>
<el-divider style="margin: 0"></el-divider>
<div class="info-item">
<span class="item-title">天线名称:</span>
<span class="item">{{ antennaName }}</span>
</div>
<div class="info-item">
<span class="item-title">状态:</span>
<span class="item">{{ antennaStatus }}</span>
</div>
<div class="info-item">
<span class="item-title">方位:</span>
<span class="item">{{ targetAzimuth }}</span>
</div>
<div class="info-item">
<span class="item-title">仰俯:</span>
<span class="item">{{ targetElevation }}</span>
</div>
<div class="info-item">
<span class="item-title">风速(km/hr):</span>
<span class="item">{{ windSpeed }}</span>
</div>
</el-card>
</el-col>
<el-col :span="12">
<el-card>
<div class="title">上行信号信息:</div>
<el-divider style="margin: 0"></el-divider>
<div class="info-item">
<span class="item-title">信号来源:</span>
<span class="item">{{ upSignalSource }}</span>
</div>
<div class="info-item">
<span class="item-title">信号频段:</span>
<span class="item">{{ upSignalFrequencyBand }}</span>
</div>
<div class="info-item">
<span class="item-title">发射功率:</span>
<span class="item">{{ upSignalLaunchPower }}</span>
</div>
</el-card>
<el-card>
<div class="title">下行信号信息:</div>
<el-divider style="margin: 0"></el-divider>
<div class="info-item">
<span class="item-title">信号来源:</span>
<span class="item">{{ downSignalSource }}</span>
</div>
<div class="info-item">
<span class="item-title">信号频段:</span>
<span class="item">{{ downSignalFrequencyBand }}</span>
</div>
<div class="info-item">
<span class="item-title">接收功率:</span>
<span class="item">{{ downSignalReceptionPower }}</span>
</div>
</el-card>
</el-col>
</el-row>
</el-dialog>
</div>
</template>
......@@ -319,21 +212,21 @@ const pageObj = ref({
});
// 查看数据详情的方法
const handleDetails = (row: any) => {
console.log(row);
targetName.value = row.targets[0].name;
windSpeed.value = row.windSpeed === "" ? "" : row.windSpeed;
windSpeed.value = row.windSpeed === "" ? "-" : row.windSpeed;
antennaName.value = row.name;
antennaStatus.value = row.activity;
targetAzimuth.value = row.azimuthAngle;
targetDistance.value = row.targets[0].uplegRange;
targetElevation.value = row.elevationAngle;
upSignalStatus.value = row.signals.length < 1 ? "" : row.signals[0].active;
upSignalSource.value = row.signals.length < 1 ? "" : row.targets[0].name;
upSignalFrequencyBand.value = row.signals.length < 1 ? "" : row.signals[0].band;
upSignalLaunchPower.value = row.signals.length < 1 ? "" : row.signals[0].power;
downSignalStatus.value = row.signals.length < 2 ? "" : row.signals[1].active;
downSignalSource.value = row.signals.length < 2 ? "" : row.targets[0].name;
downSignalFrequencyBand.value = row.signals.length < 2 ? "" : row.signals[1].band;
downSignalReceptionPower.value = row.signals.length < 2 ? "" : row.signals[1].power;
upSignalStatus.value = row.signals.length < 1 ? "-" : row.signals[0].active;
upSignalSource.value = row.signals.length < 1 ? "-" : row.targets[0].name;
upSignalFrequencyBand.value = row.signals.length < 1 ? "-" : row.signals[0].band;
upSignalLaunchPower.value = row.signals.length < 1 ? "-" : row.signals[0].power;
downSignalStatus.value = row.signals.length < 2 ? "-" : row.signals[1].active;
downSignalSource.value = row.signals.length < 2 ? "-" : row.targets[0].name;
downSignalFrequencyBand.value = row.signals.length < 2 ? "-" : row.signals[1].band;
downSignalReceptionPower.value = row.signals.length < 2 ? "-" : row.signals[1].power;
roundTripTime.value = row.targets[0].rtlt;
detailVisibleValue.value = true;
};
......@@ -416,6 +309,27 @@ onMounted(async () => {
.el-text {
color: #ffffff;
}
.title {
color: white;
font-size: 18px;
font-weight: 500;
}
.info-item {
display: flex;
align-items: center;
margin: 10px 0;
justify-content: space-between;
}
.item-title {
color: #fff;
}
.item {
color: #eee;
}
</style>
<style>
......
......@@ -118,329 +118,236 @@
<div class="detailForm">
<el-dialog v-model="detailVisibleValue" center width="765px" align-center @close="handleClose" draggable>
<template #header>
<div class="text-center font-size-8">详情</div>
<div class="text-center font-size-6">目标详情-{{ targetName }}</div>
</template>
<el-form label-width="155px" size="small" class="px-4">
<div>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="目标名称:" label-position="left">
<el-input v-model="targetName" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="任务类型:" label-position="left">
<el-input v-model="targetMissionType" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="目标运行轨道:" label-position="left">
<el-input v-model="targetOrbit" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="目标尺寸:" label-position="left">
<el-input v-model="targetDimension" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="目标发射质量:" label-position="left">
<el-input v-model="targetLaunchMass" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="目标干质量:" label-position="left">
<el-input v-model="targetDryMass" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="近地点:" label-position="left">
<el-input v-model="targetPerigee" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="远地点:" label-position="left">
<el-input v-model="targetApogee" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="目标功率:" label-position="left">
<el-input v-model="targetPower" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="轨道倾角:" label-position="left">
<el-input v-model="targetInclination" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="发射日期:" label-position="left">
<el-input v-model="targetLaunchDate" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="发射站点:" label-position="left">
<el-input v-model="targetLaunchLocation" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="轨道周期:" label-position="left">
<el-input v-model="targetPeriod" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="相关仪器:" label-position="left">
<el-input v-model="targetInstruments" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="服役日期:" label-position="left">
<el-input v-model="targetServiceDate" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否为核心任务:" label-position="left">
<el-input v-model="targetIsCoreMission" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="太阳风速:" label-position="left">
<el-input v-model="targetSolarWindSpeed" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="太阳通量密度:" label-position="left">
<el-input v-model="targetSolarFluxDensity" />
</el-form-item>
</el-col>
</el-row>
<!-- <el-row :gutter="20">
<el-col :span="12">
<el-form-item label="是否在仪表盘中显示:" label-position="left">
<el-input v-model="targetIsShowInDashboard" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="类型:" label-position="left">
<el-input v-model="targetType" />
</el-form-item>
</el-col>
</el-row> -->
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="描述:" label-position="left">
<el-input v-model="targetDescription" type="textarea" :rows="3" />
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<el-row>
<el-col>
<el-card>
<div class="title">目标信息:</div>
<el-divider style="margin: 0"></el-divider>
<el-row :gutter="20" style="display: flex; justify-content: space-between">
<el-col :span="12">
<div class="info-item">
<span class="item-title">目标名称:</span>
<span class="item">{{ targetName }}</span>
</div>
<div class="info-item">
<span class="item-title">任务类型:</span>
<span class="item">{{ targetMissionType }}</span>
</div>
<div class="info-item">
<span class="item-title">运行轨道:</span>
<span class="item">{{ targetOrbit }}</span>
</div>
<div class="info-item">
<span class="item-title">目标尺寸:</span>
<span class="item">{{ targetDimension ?? "-" }}</span>
</div>
<div class="info-item">
<span class="item-title">发射质量:</span>
<span class="item">{{ targetLaunchMass ?? "-" }}</span>
</div>
<div class="info-item">
<span class="item-title">干质量:</span>
<span class="item">{{ targetDryMass }}</span>
</div>
<div class="info-item">
<span class="item-title">近地点:</span>
<span class="item">{{ targetPerigee }}</span>
</div>
<div class="info-item">
<span class="item-title">远地点:</span>
<span class="item">{{ targetApogee }}</span>
</div>
<div class="info-item">
<span class="item-title">目标功率:</span>
<span class="item">{{ targetPower }}</span>
</div>
</el-col>
<el-col :span="12">
<div class="info-item">
<span class="item-title">发射日期::</span>
<span class="item">{{ targetLaunchDate }}</span>
</div>
<div class="info-item">
<span class="item-title">发射站点:</span>
<span class="item">{{ targetLaunchLocation ?? "-" }}</span>
</div>
<div class="info-item">
<span class="item-title">轨道周期:</span>
<span class="item">{{ targetPeriod }}</span>
</div>
<div class="info-item">
<span class="item-title">相关仪器:</span>
<span class="item">{{ targetInstruments ?? "-" }}</span>
</div>
<div class="info-item">
<span class="item-title">服役日期:</span>
<span class="item">{{ targetServiceDate ?? "-" }}</span>
</div>
<div class="info-item">
<span class="item-title">是否为核心任务:</span>
<span class="item">{{ targetIsCoreMission ?? "-" }}</span>
</div>
<div class="info-item">
<span class="item-title">太阳风速:</span>
<span class="item">{{ targetSolarWindSpeed ?? "-" }}</span>
</div>
<div class="info-item">
<span class="item-title">太阳通量密度:</span>
<span class="item">{{ targetSolarFluxDensity ?? "-" }}</span>
</div>
<div class="info-item">
<span class="item-title">轨道倾角:</span>
<span class="item">{{ targetInclination }}</span>
</div>
</el-col>
</el-row>
<div class="title">描述信息:</div>
<el-divider style="margin: 0"></el-divider>
<p class="target-desc">{{ targetDescription }}</p>
</el-card>
</el-col>
</el-row>
</el-dialog>
</div>
<div class="detailForm">
<el-dialog v-model="stationVisibleValue" center width="880px" align-center @close="handleClose" draggable>
<template #header>
<div class="text-center font-size-8">详情</div>
<div class="text-center font-size-6">站点详情-{{ stationName }}</div>
</template>
<el-form label-width="196px" size="small" class="px-4">
<div>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="站点名称:" label-position="left">
<el-input v-model="stationName" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所在国家:" label-position="left">
<el-input v-model="stationCountry" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="站点经度:" label-position="left">
<el-input v-model="stationLongitude" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="站点纬度:" label-position="left">
<el-input v-model="stationLatitude" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="站点海拔:" label-position="left">
<el-input v-model="stationAltitude" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="站点直径:" label-position="left">
<el-input v-model="stationDiameter" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="天线方位角速度:" label-position="left">
<el-input v-model="stationAzimuthSpeed" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="天线俯仰角速度:" label-position="left">
<el-input v-model="stationElevationSpeed" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="信号频段:" label-position="left">
<el-input v-model="stationBand" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="TMTC标准:" label-position="left">
<el-input v-model="stationTMTC" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="信号频率与定时:" label-position="left">
<el-input v-model="stationFrequencyAndTiming" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="站点天气情况:" label-position="left">
<el-input v-model="stationWeather" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="上行信号S频段极化:" label-position="left">
<el-input v-model="stationUplinkSPolarization" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="上行信号S频段等效全向辐射功率:" label-position="left">
<el-input v-model="stationUplinkSEirp" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="上行信号X频段极化:" label-position="left">
<el-input v-model="stationUplinkXPolarization" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="上行信号X频段等效全向辐射功率:" label-position="left">
<el-input v-model="stationUplinkXEirp" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="上行信号Ka频段极化:" label-position="left">
<el-input v-model="stationUplinkKaPolarization" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="上行信号Ka频段等效全向辐射功率:" label-position="left">
<el-input v-model="stationUplinkKaEirp" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="下行信号S频段极化:" label-position="left">
<el-input v-model="stationDownlinkSPolarization" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="下行信号S频段G/T比:" label-position="left">
<el-input v-model="stationDownlinkSGt" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="下行信号X频段极化:" label-position="left">
<el-input v-model="stationDownlinkXPolarization" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="下行信号X频段G/T比:" label-position="left">
<el-input v-model="stationDownlinkXGt" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="下行信号Ka频段极化:" label-position="left">
<el-input v-model="stationDownlinkKaPolarization" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="下行信号Ka频段G/T比:" label-position="left">
<el-input v-model="stationDownlinkKaGt" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="站点温度:" label-position="left">
<el-input v-model="stationTemperature" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="站点气压:" label-position="left">
<el-input v-model="stationPressure" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="站点湿度:" label-position="left">
<el-input v-model="stationHumidity" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="站点类型:" label-position="left">
<el-input v-model="stationType" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="描述:" label-position="left">
<el-input v-model="stationDescription" type="textarea" :rows="3" />
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<el-row>
<el-col>
<el-card>
<div class="title">站点信息:</div>
<el-divider style="margin: 0"></el-divider>
<el-row :gutter="20" style="display: flex; justify-content: space-between">
<el-col :span="12">
<div class="info-item">
<span class="item-title">站点名称:</span>
<span class="item">{{ stationName }}</span>
</div>
<div class="info-item">
<span class="item-title">所在国家:</span>
<span class="item">{{ stationCountry }}</span>
</div>
<div class="info-item">
<span class="item-title">站点经度:</span>
<span class="item">{{ stationLongitude }}</span>
</div>
<div class="info-item">
<span class="item-title">站点纬度:</span>
<span class="item">{{ stationLatitude }}</span>
</div>
<div class="info-item">
<span class="item-title">站点海拔:</span>
<span class="item">{{ stationAltitude }}</span>
</div>
<div class="info-item">
<span class="item-title">站点直径:</span>
<span class="item">{{ stationDiameter }}</span>
</div>
<div class="info-item">
<span class="item-title">天线方位角速度:</span>
<span class="item">{{ stationAzimuthSpeed }}</span>
</div>
<div class="info-item">
<span class="item-title">天线俯仰角速度:</span>
<span class="item">{{ stationElevationSpeed }}</span>
</div>
<div class="info-item">
<span class="item-title">信号频段:</span>
<span class="item">{{ stationBand }}</span>
</div>
<div class="info-item">
<span class="item-title">TMTC标准:</span>
<span class="item">{{ stationTMTC }}</span>
</div>
<div class="info-item">
<span class="item-title">信号频率与定时:</span>
<span class="item">{{ stationFrequencyAndTiming }}</span>
</div>
<div class="info-item">
<span class="item-title">站点类型:</span>
<span class="item">{{ stationType }}</span>
</div>
<div class="info-item">
<span class="item-title">站点气压:</span>
<span class="item">{{ stationPressure === "" ? "-" : stationPressure }}</span>
</div>
<div class="info-item">
<span class="item-title">站点天气情况:</span>
<span class="item">{{ stationWeather }}</span>
</div>
</el-col>
<el-col :span="12">
<div class="info-item">
<span class="item-title">上行信号S频段极化:</span>
<span class="item">{{ stationUplinkSPolarization }}</span>
</div>
<div class="info-item">
<span class="item-title">上行信号S频段等效全向辐射功率:</span>
<span class="item">{{ stationUplinkSPolarization }}</span>
</div>
<div class="info-item">
<span class="item-title">上行信号X频段极化:</span>
<span class="item">{{ stationUplinkXPolarization }}</span>
</div>
<div class="info-item">
<span class="item-title">上行信号X频段等效全向辐射功率:</span>
<span class="item">{{ stationUplinkXEirp }}</span>
</div>
<div class="info-item">
<span class="item-title">上行信号Ka频段极化:</span>
<span class="item">{{ stationUplinkKaPolarization }}</span>
</div>
<div class="info-item">
<span class="item-title">上行信号Ka频段等效全向辐射功率:</span>
<span class="item">{{ stationUplinkKaEirp }}</span>
</div>
<div class="info-item">
<span class="item-title">下行信号S频段极化:</span>
<span class="item">{{ stationDownlinkSPolarization }}</span>
</div>
<div class="info-item">
<span class="item-title">下行信号S频段G/T比:</span>
<span class="item">{{ stationDownlinkSGt }}</span>
</div>
<div class="info-item">
<span class="item-title">下行信号X频段极化:</span>
<span class="item">{{ stationDownlinkXPolarization }}</span>
</div>
<div class="info-item">
<span class="item-title">下行信号X频段G/T比:</span>
<span class="item">{{ stationDownlinkXGt }}</span>
</div>
<div class="info-item">
<span class="item-title">下行信号Ka频段极化:</span>
<span class="item">{{ stationDownlinkKaPolarization }}</span>
</div>
<div class="info-item">
<span class="item-title">下行信号Ka频段G/T比:</span>
<span class="item">{{ stationDownlinkKaGt }}</span>
</div>
<div class="info-item">
<span class="item-title">站点温度:</span>
<span class="item">{{ stationTemperature === "" ? "-" : stationTemperature }}</span>
</div>
<div class="info-item">
<span class="item-title">站点湿度:</span>
<span class="item">{{ stationHumidity === "" ? "-" : stationHumidity }}</span>
</div>
</el-col>
</el-row>
<div class="title">描述信息:</div>
<el-divider style="margin: 0"></el-divider>
<p class="target-desc">{{ stationDescription }}</p>
</el-card>
</el-col>
</el-row>
</el-dialog>
</div>
<exportDialog v-model:dialogVisible="showDeleteDialog" />
</template>
......@@ -471,6 +378,7 @@ const stationVisibleValue = ref(false);
const targetName = ref("");
// 任务类型
const targetMissionType = ref("");
// 目标运行轨道
const targetOrbit = ref("");
// 目标尺寸
......@@ -572,48 +480,94 @@ const stationDescription = ref("");
// 查看esa站点详情的方法
const handleStationDetails = async (id: any) => {
const res = await getESAStationDetail({ name: id });
// 防止残留数据
stationDescription.value = "";
// 字段赋值
stationName.value = res.data.data[0].name;
stationCountry.value = res.data.data[0].country;
stationLongitude.value = res.data.data[0].longitude;
stationLatitude.value = res.data.data[0].latitude;
stationAltitude.value = res.data.data[0].altitude;
stationDiameter.value = res.data.data[0].diameter;
stationAzimuthSpeed.value = res.data.data[0].antennaSpeedAzimuth;
stationElevationSpeed.value = res.data.data[0].antennaSpeedElevation;
stationBand.value = res.data.data[0].band;
stationTMTC.value = res.data.data[0].tmtcStandards;
stationFrequencyAndTiming.value = res.data.data[0].frequencyAndTiming;
stationWeather.value = res.data.data[0].weather === null ? "无" : res.data.data[0].weather;
stationUplinkSPolarization.value =
res.data.data[0].uplinkSBandPolarization === null ? "无" : res.data.data[0].uplinkSBandPolarization;
stationUplinkSEirp.value = res.data.data[0].uplinkSBandEirp === null ? "无" : res.data.data[0].uplinkSBandEirp;
stationUplinkXPolarization.value =
res.data.data[0].uplinkXBandPolarization === null ? "无" : res.data.data[0].uplinkXBandPolarization;
stationUplinkXEirp.value = res.data.data[0].uplinkXBandEirp === null ? "无" : res.data.data[0].uplinkXBandEirp;
stationUplinkKaPolarization.value =
res.data.data[0].uplinkKaBandPolarization === null ? "无" : res.data.data[0].uplinkKaBandPolarization;
stationUplinkKaEirp.value = res.data.data[0].uplinkKaBandEirp === null ? "无" : res.data.data[0].uplinkKaBandEirp;
stationDownlinkSPolarization.value =
res.data.data[0].downlinkSBandPolarization === null ? "无" : res.data.data[0].downlinkSBandPolarization;
stationDownlinkSGt.value = res.data.data[0].downlinkSBandGT === null ? "无" : res.data.data[0].downlinkSBandGT;
stationDownlinkXPolarization.value =
res.data.data[0].downlinkXBandPolarization === null ? "无" : res.data.data[0].downlinkXBandPolarization;
stationDownlinkXGt.value = res.data.data[0].downlinkXBandGT === null ? "无" : res.data.data[0].downlinkXBandGT;
stationDownlinkKaPolarization.value =
res.data.data[0].downlinkKaBandPolarization === null ? "无" : res.data.data[0].downlinkKaBandPolarization;
stationDownlinkKaGt.value = res.data.data[0].downlinkKaBandGT === null ? "无" : res.data.data[0].downlinkKaBandGT;
stationTemperature.value = res.data.data[0].temperature;
stationPressure.value = res.data.data[0].airPressure;
stationHumidity.value = res.data.data[0].humidity;
stationType.value = res.data.data[0].type;
for (let i = 0; i < res.data.data[0].description.length; i++) {
stationDescription.value += res.data.data[0].description[i];
try {
const res = await getESAStationDetail({ name: id });
// 1. 初始化清空数据
stationName.value = "";
stationCountry.value = "";
stationLongitude.value = "";
stationLatitude.value = "";
stationAltitude.value = "";
stationDiameter.value = "";
stationAzimuthSpeed.value = "";
stationElevationSpeed.value = "";
stationBand.value = "";
stationTMTC.value = "";
stationFrequencyAndTiming.value = "";
stationWeather.value = "";
stationUplinkSPolarization.value = "";
stationUplinkSEirp.value = "";
stationUplinkXPolarization.value = "";
stationUplinkXEirp.value = "";
stationUplinkKaPolarization.value = "";
stationUplinkKaEirp.value = "";
stationDownlinkSPolarization.value = "";
stationDownlinkSGt.value = "";
stationDownlinkXPolarization.value = "";
stationDownlinkXGt.value = "";
stationDownlinkKaPolarization.value = "";
stationDownlinkKaGt.value = "";
stationTemperature.value = "";
stationPressure.value = "";
stationHumidity.value = "";
stationType.value = "";
stationDescription.value = "";
// 2.判断 data 是否存在且非空
if (!res?.data?.data || res.data.data.length === 0) {
ElMessage.warning("未查询到该站点的详细信息");
return;
}
// 3. 安全赋值
const stationData = res.data.data[0];
stationName.value = stationData.name || "";
stationCountry.value = stationData.country || "";
stationLongitude.value = stationData.longitude || "";
stationLatitude.value = stationData.latitude || "";
stationAltitude.value = stationData.altitude || "";
stationDiameter.value = stationData.diameter || "";
stationAzimuthSpeed.value = stationData.antennaSpeedAzimuth || "";
stationElevationSpeed.value = stationData.antennaSpeedElevation || "";
stationBand.value = stationData.band || "";
stationTMTC.value = stationData.tmtcStandards || "";
stationFrequencyAndTiming.value = stationData.frequencyAndTiming || "";
stationWeather.value = stationData.weather === null ? "-" : stationData.weather || "-";
stationUplinkSPolarization.value =
stationData.uplinkSBandPolarization === null ? "-" : stationData.uplinkSBandPolarization || "-";
stationUplinkSEirp.value = stationData.uplinkSBandEirp === null ? "-" : stationData.uplinkSBandEirp || "-";
stationUplinkXPolarization.value =
stationData.uplinkXBandPolarization === null ? "-" : stationData.uplinkXBandPolarization || "-";
stationUplinkXEirp.value = stationData.uplinkXBandEirp === null ? "-" : stationData.uplinkXBandEirp || "-";
stationUplinkKaPolarization.value =
stationData.uplinkKaBandPolarization === null ? "-" : stationData.uplinkKaBandPolarization || "-";
stationUplinkKaEirp.value = stationData.uplinkKaBandEirp === null ? "-" : stationData.uplinkKaBandEirp || "-";
stationDownlinkSPolarization.value =
stationData.downlinkSBandPolarization === null ? "-" : stationData.downlinkSBandPolarization || "-";
stationDownlinkSGt.value = stationData.downlinkSBandGT === null ? "-" : stationData.downlinkSBandGT || "-";
stationDownlinkXPolarization.value =
stationData.downlinkXBandPolarization === null ? "-" : stationData.downlinkXBandPolarization || "-";
stationDownlinkXGt.value = stationData.downlinkXBandGT === null ? "-" : stationData.downlinkXBandGT || "-";
stationDownlinkKaPolarization.value =
stationData.downlinkKaBandPolarization === null ? "-" : stationData.downlinkKaBandPolarization || "-";
stationDownlinkKaGt.value = stationData.downlinkKaBandGT === null ? "-" : stationData.downlinkKaBandGT || "-";
stationTemperature.value = stationData.temperature || "";
stationPressure.value = stationData.airPressure || "";
stationHumidity.value = stationData.humidity || "";
stationType.value = stationData.type || "";
// 处理描述信息(避免 description 为 undefined 时报错)
if (Array.isArray(stationData.description)) {
stationDescription.value = stationData.description.join("");
} else {
stationDescription.value = stationData.description || "-";
}
stationVisibleValue.value = true;
} catch (error) {
ElMessage.error("查询站点详情失败,请稍后重试");
console.error("站点详情查询错误:", error);
}
stationVisibleValue.value = true;
};
const tableData = ref([]);
......@@ -728,10 +682,35 @@ onMounted(() => {
margin-top: 1%;
}
.title {
color: white;
font-size: 18px;
font-weight: 500;
}
.info-item {
display: flex;
align-items: center;
margin: 10px 0;
justify-content: space-between;
}
.item-title {
color: #fff;
}
.item {
color: #eee;
}
/* 文字样式 */
.el-text {
color: #ffffff;
}
.target-desc {
color: white;
}
</style>
<style>
......
......@@ -70,26 +70,6 @@
{{ scope.row.identity.long_nom === null ? "-" : scope.row.identity.long_nom }}
</template>
</el-table-column>
<!-- <el-table-column property="item.minPerigee" label="近地点" show-overflow-tooltip>
<template #default="scope">
{{ scope.row.item.minPerigee === null ? '-' : scope.row.item.minPerigee }}
</template>
</el-table-column>
<el-table-column property="item.maxApog" label="远地点" show-overflow-tooltip>
<template #default="scope">
{{ scope.row.item.maxApog === null ? '-' : scope.row.identity.maxApog }}
</template>
</el-table-column>
<el-table-column property="item.minAltitude" label="最低海拔" show-overflow-tooltip>
<template #default="scope">
{{ scope.row.item.minAltitude === null ? '-' : scope.row.item.minAltitude }}
</template>
</el-table-column>
<el-table-column property="item.ref_body" label="参考主体" show-overflow-tooltip>
<template #default="scope">
{{ scope.row.item.ref_body === null ? '-' : scope.row.item.ref_body }}
</template>
</el-table-column> -->
<el-table-column property="item.freq_min" label="最低频率" show-overflow-tooltip>
<template #default="scope">
{{ scope.row.item.freq_min === null ? "-" : scope.row.item.freq_min }}
......@@ -128,151 +108,114 @@
<div class="detailForm">
<el-dialog v-model="detailVisibleValue" center width="765px" align-center @close="handleClose" draggable>
<template #header>
<div class="text-center font-size-8">详情</div>
<div class="text-center font-size-6">详情-{{ targetName }}</div>
</template>
<el-form label-width="155px" size="small" class="px-4">
<div>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="SNS Notice ID:" label-position="left">
<el-input disabled v-model="snsId" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="主管部门:" label-position="left">
<el-input disabled v-model="department" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="目标名称:" label-position="left">
<el-input disabled v-model="targetName" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="计划/非计划类型:" label-position="left">
<el-input disabled v-model="planType" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="是否为同步:" label-position="left">
<el-input disabled v-model="syncType" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="同步位置:" label-position="left">
<el-input disabled v-model="syncPosition" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="近地点:" label-position="left">
<el-input disabled v-model="perigee" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="远地点:" label-position="left">
<el-input disabled v-model="apogee" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="最低海拔:" label-position="left">
<el-input disabled v-model="lowestAltitude" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="参考主体:" label-position="left">
<el-input disabled v-model="referenceSubject" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="最低频率:" label-position="left">
<el-input disabled v-model="lowestFrequency" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="最高频率:" label-position="left">
<el-input disabled v-model="highestFrequency" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="状态:" label-position="left">
<el-input v-model="status" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="有效期:" label-position="left">
<el-input disabled v-model="validityPeriod" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="最早使用日期:" label-position="left">
<el-input disabled v-model="earliestUsageDate" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否确认使用:" label-position="left">
<el-input disabled v-model="isUsed" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="是否暂停使用:" label-position="left">
<el-input disabled v-model="isPauseUsed" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="记录时间:" label-position="left">
<el-input disabled v-model="recordTime" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="是否纳入国际频率总表:" label-position="left">
<el-input disabled v-model="IsInTheInternationalFrequencyList" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="最早监管日期:" label-position="left">
<el-input disabled v-model="earliestRegulatoryDate" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="是否恢复使用:" label-position="left">
<el-input disabled v-model="isRestoreUsed" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="最新相关 BR IFIC 发布日期:" label-position="left">
<el-input disabled v-model="BFIFICdate" />
</el-form-item>
</el-col>
</el-row>
<!-- <el-row :gutter="20">
<el-col :span="24">
<el-form-item label="最新相关 BR IFIC 发布日期:" label-position="top">
<el-input v-model="BRIFICdate" />
</el-form-item>
</el-col>
</el-row> -->
</div>
</el-form>
<el-row>
<el-col :span="12">
<el-card>
<div class="title">身份信息:</div>
<el-divider style="margin: 0"></el-divider>
<div class="info-item">
<span class="item-title">卫星网络名称:</span>
<span class="item">{{ targetName }}</span>
</div>
<div class="info-item">
<span class="item-title">主管部门:</span>
<span class="item">{{ department }}({{ departmentDetail }})</span>
</div>
<div class="info-item">
<span class="item-title">网络组织:</span>
<span class="item">{{ ntwkOrg ?? "-" }}</span>
</div>
<div class="info-item">
<span class="item-title">计划/非计划类型:</span>
<span class="item">{{ planType }}</span>
</div>
<div class="info-item">
<span class="item-title">卫星网络类型:</span>
<span class="item">{{ ntwkType }}</span>
</div>
</el-card>
<el-card>
<div class="title">监管状态跟踪:</div>
<el-divider style="margin: 0"></el-divider>
<div class="info-item">
<span class="item-title">状态:</span>
<span class="item">{{ status }}</span>
</div>
<div class="info-item">
<span class="item-title">是否纳入国际频率总表:</span>
<span class="item">{{ IsInTheInternationalFrequencyList }}</span>
</div>
<div class="info-item">
<span class="item-title">有效期:</span>
<span class="item">{{ validityPeriod }} 年</span>
</div>
<div class="info-item">
<span class="item-title">是否确认使用:</span>
<span class="item">{{ isUsed }}</span>
</div>
<div class="info-item">
<span class="item-title">是否暂停使用:</span>
<span class="item">{{ isPauseUsed }}</span>
</div>
<div class="info-item">
<span class="item-title">最早监管日期:</span>
<span class="item">{{ earliestRegulatoryDate }}</span>
</div>
</el-card>
</el-col>
<el-col :span="12">
<el-card>
<div class="title">特征信息:</div>
<el-divider style="margin: 0"></el-divider>
<div class="info-item">
<span class="item-title">近地点:</span>
<span class="item">{{ perigee }}</span>
</div>
<div class="info-item">
<span class="item-title">远地点:</span>
<span class="item">{{ apogee }}</span>
</div>
<div class="info-item">
<span class="item-title">最低频率:</span>
<span class="item">{{ lowestFrequency }}</span>
</div>
<div class="info-item">
<span class="item-title">最高频率:</span>
<span class="item">{{ highestFrequency }}</span>
</div>
<div class="info-item">
<span class="item-title">最低海拔:</span>
<span class="item">{{ lowestAltitude }}</span>
</div>
</el-card>
<el-card>
<div class="title">其他信息:</div>
<el-divider style="margin: 0"></el-divider>
<div class="info-item">
<span class="item-title">是否为同步:</span>
<span class="item">{{ isNtcType === "G" ? "是" : "否" }}</span>
</div>
<div class="info-item">
<span class="item-title">同步位置:</span>
<span class="item">{{ syncPosition }}</span>
</div>
<div class="info-item">
<span class="item-title">参考主体:</span>
<span class="item">{{ referenceSubject }}</span>
</div>
<div class="info-item">
<span class="item-title">是否恢复使用:</span>
<span class="item">{{ isRestoreUsed }}</span>
</div>
<div class="info-item">
<span class="item-title">最新相关 BR IFIC 发布日期:</span>
<span class="item">{{ BFIFICdate }}</span>
</div>
</el-card>
</el-col>
</el-row>
</el-dialog>
</div>
<exportDialog v-model:dialogVisible="showDeleteDialog" />
......@@ -282,7 +225,7 @@
import { onMounted, ref } from "vue";
import Pagination from "@/components/pagination/index.vue";
import exportDialog from "@/components/Export/index.vue";
import { getItuList, getItuDetail, deleteItuData } from "@/api/spiderData";
import { getItuList, getItuDetail } from "@/api/spiderData";
import { ElMessage } from "element-plus";
// ElConfigProvider 组件
import { ElConfigProvider } from "element-plus";
......@@ -303,6 +246,12 @@ const detailVisibleValue = ref(false);
const snsId = ref("");
// 主管部门
const department = ref("");
//详细主管部门
const departmentDetail = ref("");
//网络组织
const ntwkOrg = ref("");
//卫星网络类型
const ntwkType = ref("");
// 目标名称
const targetName = ref("");
// 计划/非计划类型
......@@ -325,6 +274,8 @@ const lowestFrequency = ref("");
const highestFrequency = ref("");
// 状态
const status = ref("");
//是否为同步
const isNtcType = ref("");
// 有效期
const validityPeriod = ref("");
// 最早使用日期
......@@ -354,23 +305,26 @@ const pageObj = ref({
// 查看数据详情的方法
const handleDetails = async (id: any) => {
const res = await getItuDetail({ id: id._id });
console.log(res);
snsId.value = res.data.item.ntc_id;
department.value = res.data.item.adm;
departmentDetail.value = res.data.item.notifying_adm_tooltip;
ntwkOrg.value = res.data.item.ntwk_org;
ntwkType.value = res.data.item.notice_type_tooltip;
targetName.value = res.data.identity.sat_name;
planType.value = res.data.identity.plan_type;
syncType.value = res.data.identity.ntc_type;
syncPosition.value = res.data.identity.long_nom === null ? "无" : res.data.identity.long_nom;
perigee.value = res.data.item.minPerigee === null ? "无" : res.data.item.minPerigee;
apogee.value = res.data.item.maxApog === null ? "无" : res.data.item.maxApog;
lowestAltitude.value = res.data.item.minAltitude === null ? "无" : res.data.item.minAltitude;
referenceSubject.value = res.data.item.ref_body === null ? "无" : res.data.item.ref_body;
lowestFrequency.value = res.data.item.freq_min === null ? "无" : res.data.item.freq_min;
highestFrequency.value = res.data.item.freq_max === null ? "无" : res.data.item.freq_max;
isNtcType.value = res.data.item.ntc_type;
syncPosition.value = res.data.identity.long_nom === null ? "-" : res.data.identity.long_nom;
perigee.value = res.data.item.minPerigee === null ? "-" : res.data.item.minPerigee;
apogee.value = res.data.item.maxApog === null ? "-" : res.data.item.maxApog;
lowestAltitude.value = res.data.item.minAltitude === null ? "-" : res.data.item.minAltitude;
referenceSubject.value = res.data.item.ref_body === null ? "-" : res.data.item.ref_body;
lowestFrequency.value = res.data.item.freq_min === null ? "-" : res.data.item.freq_min;
highestFrequency.value = res.data.item.freq_max === null ? "-" : res.data.item.freq_max;
status.value = res.data.regulatory_status.active_status;
validityPeriod.value = res.data.regulatory_status.prd_valid;
earliestUsageDate.value =
res.data.regulatory_status.d_reg_limit === null ? "" : res.data.regulatory_status.d_reg_limit;
res.data.regulatory_status.d_reg_limit === null ? "-" : res.data.regulatory_status.d_reg_limit;
isUsed.value = res.data.regulatory_status.f_biu_grps;
isPauseUsed.value = res.data.regulatory_status.resumption_list;
recordTime.value = res.data.crawl_time;
......@@ -378,7 +332,7 @@ const handleDetails = async (id: any) => {
earliestRegulatoryDate.value = res.data.regulatory_status.d_inuse_list;
isRestoreUsed.value = res.data.regulatory_status.resumption_list;
validityPeriodSatelliteNetworkOldName.value = res.data.regulatory_status.old_satellite_network_name;
BFIFICdate.value = res.data.regulatory_status.d_wic === null ? "" : res.data.regulatory_status.d_wic;
BFIFICdate.value = res.data.regulatory_status.d_wic === null ? "-" : res.data.regulatory_status.d_wic;
detailVisibleValue.value = true;
};
// 获取itu数据列表的方法
......@@ -389,7 +343,6 @@ const getData = async () => {
searchTimeValue.value = "";
pageObj.value.total = res.data.total;
tableData.value = res.data.list;
console.log(res.data.list);
};
const handleClose = () => {
detailVisibleValue.value = false;
......@@ -409,6 +362,7 @@ const handleSearch = async () => {
pageObj.value.total = res.data.total;
tableData.value = res.data.list;
};
onMounted(() => {
getData();
});
......@@ -452,6 +406,27 @@ onMounted(() => {
.el-text {
color: #ffffff;
}
.title {
color: white;
font-size: 18px;
font-weight: 500;
}
.info-item {
display: flex;
align-items: center;
margin: 10px 0;
justify-content: space-between;
}
.item-title {
color: #fff;
}
.item {
color: #eee;
}
</style>
<style>
......
......@@ -69,14 +69,11 @@
<!-- <el-table-column property="runningTime" label="运行时间" show-overflow-tooltip /> -->
<el-table-column property="data[0].SITE" label="SITE" show-overflow-tooltip />
<!-- <el-table-column property="failTime" label="失效时间" show-overflow-tooltip /> -->
<el-table-column property="data[0].PERIOD" label="周期" show-overflow-tooltip />
<el-table-column property="data[0].PERIOD" label="周期(min)" show-overflow-tooltip />
<el-table-column property="data[0].PERIAPSIS" label="近地点" show-overflow-tooltip />
<el-table-column property="data[0].APOAPSIS" label="远地点" show-overflow-tooltip />
<!-- <el-table-column property="incl" label="INCL" show-overflow-tooltip /> -->
<el-table-column property="data[0].RCS_SIZE" label="RCS" show-overflow-tooltip />
<el-table-column property="data[0].TLE_LINE0" label="TLE_LINE0" show-overflow-tooltip />
<el-table-column property="data[0].TLE_LINE1" label="TLE_LINE1" show-overflow-tooltip />
<el-table-column property="data[0].TLE_LINE2" label="TLE_LINE2" show-overflow-tooltip />
<el-table-column label="操作" width="60">
<template #default="scope">
<el-button type="primary" plain link @click="handleDetails(scope.row)"> 详情 </el-button>
......@@ -96,91 +93,78 @@
<div class="detailForm">
<el-dialog v-model="detailVisibleValue" center width="765px" align-center @close="handleClose" draggable>
<template #header>
<div class="text-center font-size-8">详情</div>
<div class="text-center font-size-6">详情-{{ targetName }}</div>
</template>
<el-form label-width="70px" size="small" class="px-4">
<div>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="NoradCatID:" label-position="left">
<el-input v-model="NoradCatID" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="目标名称:" label-position="left">
<el-input v-model="targetName" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="周期(min):" label-position="left">
<el-input v-model="period" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="类型:" label-position="left">
<el-input v-model="type" />
</el-form-item>
</el-col>
</el-row>
<!-- <el-row :gutter="20">
<el-col :span="12">
<el-form-item label="运行时间:" label-position="left">
<el-input v-model="workTime" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="失效时间:" label-position="left">
<el-input v-model="failTime" />
</el-form-item>
</el-col>
</el-row> -->
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="记录时间:" label-position="left">
<el-input v-model="recordTime" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属国家:" label-position="left">
<el-input v-model="belongCountry" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="近地点:" label-position="left">
<el-input v-model="perigee" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="远地点:" label-position="left">
<el-input v-model="apogee" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="RCS:" label-position="left">
<el-input v-model="rcs" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="SITE:" label-position="left">
<el-input v-model="site" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="TLE:" label-position="left">
<el-input type="textarea" :rows="3" v-model="tle" />
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<el-row>
<el-col>
<el-card>
<div class="title">目标信息:</div>
<el-divider style="margin: 0"></el-divider>
<el-row :gutter="20" style="display: flex;justify-content: space-between;">
<el-col :span="12">
<div class="info-item">
<span class="item-title">目标名称:</span>
<span class="item">{{ targetName }}</span>
</div>
<div class="info-item">
<span class="item-title">近地点幅角:</span>
<span class="item">{{ argOfPericenter }}</span>
</div>
<div class="info-item">
<span class="item-title">带星号的弹道系数:</span>
<span class="item">{{ bStar }}</span>
</div>
<div class="info-item">
<span class="item-title">偏心率:</span>
<span class="item">{{ eccentricity }}</span>
</div>
<div class="info-item">
<span class="item-title">倾斜角:</span>
<span class="item">{{ inclination }}</span>
</div>
<div class="info-item">
<span class="item-title">发射日期:</span>
<span class="item">{{ launchDate }}</span>
</div>
<div class="info-item">
<span class="item-title">卫星站点:</span>
<span class="item">{{ site }}</span>
</div>
</el-col>
<el-col :span="12">
<div class="info-item">
<span class="item-title">升交点赤经:</span>
<span class="item">{{ raOfAscNode }}</span>
</div>
<div class="info-item">
<span class="item-title">平近点角:</span>
<span class="item">{{ meanAnomaly }}</span>
</div>
<div class="info-item">
<span class="item-title">轨道半长轴:</span>
<span class="item">{{ semimajorAxis }}</span>
</div>
<div class="info-item">
<span class="item-title">雷达截面积:</span>
<span class="item">{{ rcsSize }}</span>
</div>
<div class="info-item">
<span class="item-title">TLE第一行数据:</span>
<span class="item">{{ tleLine0 }}</span>
</div>
<div class="info-item">
<span class="item-title">TLE第二行数据:</span>
<span class="item">{{ tleLine1 }}</span>
</div>
<div class="info-item">
<span class="item-title">TLE第三行数据:</span>
<span class="item">{{ tleLine2 }}</span>
</div>
</el-col>
</el-row>
</el-card>
</el-col>
</el-row>
</el-dialog>
</div>
<exportDialog v-model:dialogVisible="showDeleteDialog" />
......@@ -190,7 +174,7 @@
import { onMounted, ref } from "vue";
import Pagination from "@/components/pagination/index.vue";
import exportDialog from "@/components/Export/index.vue";
import { getStList, getStDetail, deleteStData } from "@/api/spiderData";
import { getStList, getStDetail } from "@/api/spiderData";
import { ElMessage } from "element-plus";
// ElConfigProvider 组件
import { ElConfigProvider } from "element-plus";
......@@ -225,14 +209,40 @@ const perigee = ref("");
const apogee = ref("");
// 周期
const period = ref("");
// INCL
const incl = ref("");
// RCS
const rcs = ref("");
// SITE
const site = ref("");
// TLE
const tle = ref("");
//近地点幅角
const argOfPericenter = ref("");
//弹道系数
const bStar = ref("");
//备注
const comment = ref("");
//偏心率 ECCENTRICITY
const eccentricity = ref("");
//倾斜角 INCLINATION
const inclination = ref("");
//升交点赤经 RA_OF_ASC_NODE
const raOfAscNode = ref("");
//平近点角 MEAN_ANOMALY
const meanAnomaly = ref("");
//RCS_SIZE
const rcsSize = ref("");
//LAUNCH_DATE
const launchDate = ref("");
//卫星站点
//半长轴SEMIMAJOR_AXIS
const semimajorAxis = ref("");
//第一行数据 TLE_LINE0
const tleLine0 = ref("");
//第二行数据 TLE_LINE0
const tleLine1 = ref("");
//第三行数据 TLE_LINE0
const tleLine2 = ref("");
const tableData = ref([]);
const pageObj = ref({
......@@ -243,9 +253,23 @@ const pageObj = ref({
// 查看数据详情的方法
const handleDetails = async (row: any) => {
const res = await getStDetail({ id: row._id });
console.log(res);
NoradCatID.value = res.data.data[0].NORAD_CAT_ID;
rcsSize.value = res.data.data[0].RCS_SIZE;
launchDate.value = res.data.data[0].LAUNCH_DATE;
semimajorAxis.value = res.data.data[0].SEMIMAJOR_AXIS;
targetName.value = res.data.data[0].OBJECT_NAME;
tleLine0.value = res.data.data[0].TLE_LINE0;
tleLine1.value = res.data.data[0].TLE_LINE1;
tleLine2.value = res.data.data[0].TLE_LINE2;
inclination.value = res.data.data[0].INCLINATION;
meanAnomaly.value = res.data.data[0].MEAN_ANOMALY;
eccentricity.value = res.data.data[0].ECCENTRICITY;
raOfAscNode.value = res.data.data[0].RA_OF_ASC_NODE;
comment.value = res.data.data[0].COMMENT;
type.value = res.data.data[0].OBJECT_TYPE;
argOfPericenter.value = res.data.data[0].ARG_OF_PERICENTER;
bStar.value = res.data.data[0].BSTAR;
period.value = res.data.data[0].PERIOD;
intleds.value = res.data.data[0].INTLDES;
recordTime.value = res.data.data[0].CREATION_DATE;
......@@ -322,6 +346,27 @@ onMounted(() => {
.el-text {
color: #ffffff;
}
.title {
color: white;
font-size: 18px;
font-weight: 500;
}
.info-item {
display: flex;
align-items: center;
margin: 10px 0;
justify-content: space-between;
}
.item-title {
color: #fff;
}
.item {
color: #eee;
}
</style>
<style>
......
......@@ -57,7 +57,6 @@
@del-no="handleSateDel"
:reset-selected="resetSelected"
></NoItem>
/>
</TransitionGroup>
</div>
<div class="footer">
......@@ -159,13 +158,16 @@ const delNoList = async () => {
sateNoList.value = sateNoList.value.filter((item) => !curSelSateNo.value.includes(item));
const res = await addSateNo({ id: sateNoList.value as string[] });
if (res.code === 0) {
ElMessage.success("删除编号成功");
}
resetSelected.value = true;
curSelSateNo.value = [];
nextTick(() => {
resetSelected.value = false;
});
} catch (error: any) {}
} catch (error: any) {
ElMessage.error(error.message);
}
};
const noContentRef = ref<HTMLDivElement | null>(null);
......
<template>
<div class="flex gap-10">
<div class="flex">
<span class="textStyle">数据统计</span>
<div class="dataCard" @click="goToAllDataPage">
<div class="titleStyle">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment