Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fk-spider-web
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
周田
fk-spider-web
Commits
808b936a
Commit
808b936a
authored
Nov 11, 2025
by
yzh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:esa爬虫静态页面
parent
aa2540fa
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
693 additions
and
25 deletions
+693
-25
index.vue
src/components/Export/index.vue
+3
-3
index.vue
src/components/pagination/index.vue
+16
-2
esDataTab.vue
src/views/os-dataDisplay/components/esDataTab.vue
+657
-0
index.vue
src/views/os-dataDisplay/index.vue
+5
-1
addTaskDialog.vue
src/views/os-taskInformation/components/addTaskDialog.vue
+12
-19
No files found.
src/components/Export/index.vue
View file @
808b936a
...
...
@@ -236,7 +236,7 @@ const handleExport = async () => {
// 4. 使用之前获取的句柄保存文件
await
saveToSelectedLocation
(
res
.
data
,
fileHandle
);
loading
.
close
();
ElMessage
.
success
(
'
ZIP文件保存
成功'
);
ElMessage
.
success
(
'
数据导出
成功'
);
close
()
}
catch
(
e
)
{
console
.
error
(
'导出失败'
,
e
);
...
...
@@ -246,8 +246,8 @@ const handleExport = async () => {
}
});
}
catch
(
error
)
{
console
.
error
(
'操作失败'
,
error
);
ElMessage
.
error
(
'无法打开保存对话框,请使用浏览器默认下载'
);
console
.
error
(
error
);
//
ElMessage.error('无法打开保存对话框,请使用浏览器默认下载');
}
};
...
...
src/components/pagination/index.vue
View file @
808b936a
<!-- 基于 ruoyi-vue3 的 Pagination 重构,核心是简化无用的属性,并使用 ts 重写 -->
<
template
>
<el-pagination
<el-config-provider
:locale=
"zhCn"
>
<el-pagination
v-show=
"total > 0"
v-model:current-page=
"currentPage"
v-model:page-size=
"pageSize"
...
...
@@ -9,15 +10,28 @@
:pager-count=
"pagerCount"
:total=
"total"
class=
"mt-4"
layout=
"total,
sizes, prev, pager, next, jumper"
layout=
"total,sizes, prev, pager, next, jumper"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
jumper-text=
"跳转"
/>
</el-config-provider>
</
template
>
<
script
lang=
"ts"
setup
>
import
{
computed
}
from
'vue'
// ElConfigProvider 组件
import
{
ElConfigProvider
}
from
'element-plus'
;
// 引入中文包
import
zhCn
from
'element-plus/es/locale/lang/zh-cn'
;
defineOptions
({
name
:
'Pagination'
})
// 更改分页文字
zhCn
.
el
.
pagination
.
total
=
'共 `{total} 条`'
;
zhCn
.
el
.
pagination
.
goto
=
'跳至'
;
zhCn
.
el
.
pagination
.
pagesize
=
'条/页'
;
zhCn
.
el
.
pagination
.
pageClassifier
=
'页'
;
const
props
=
defineProps
({
// 总条目数
total
:
{
...
...
src/views/os-dataDisplay/components/esDataTab.vue
0 → 100644
View file @
808b936a
<
template
>
<div
class=
"text-left p-4 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=
"请输入"
v-model=
"searchTargetName"
style=
"width: 180px"
/>
</div>
</el-form-item>
<el-form-item>
<el-text
class=
"mx-1"
>
获取时间:
</el-text>
</el-form-item>
<el-form-item>
<el-date-picker
type=
"datetimerange"
format=
"YYYY-MM-DD HH:mm:ss"
v-model=
"searchTimeValue"
start-placeholder=
"开始时间"
style=
"width: 330px"
end-placeholder=
"结束时间"
date-format=
"YYYY/MM/DD ddd"
time-format=
"A hh:mm:ss"
value-format=
"YYYY-MM-DD HH:mm:ss"
/>
</el-form-item>
<el-form-item>
<el-text
class=
"mx-1"
>
SNS Notice ID:
</el-text>
</el-form-item>
<el-form-item>
<el-input
placeholder=
"请输入"
v-model=
"searchTargetId"
style=
"width: 170.5px"
/>
</el-form-item>
<el-form-item>
<el-space>
<el-button
type=
"primary"
@
click=
"handleSearch"
>
查询
</el-button>
<el-button
type=
"primary"
@
click=
"getData"
>
重置表格
</el-button>
</el-space>
</el-form-item>
</el-form>
</div>
</div>
<div
class=
"m-t-5"
/>
<div>
<el-table
:data=
"tableData"
style=
"width: 100%"
border
:row-style=
"
{ height: '42.5px' }"
:header-cell-style="{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }">
<!--
<el-table-column
type=
"selection"
width=
"40"
/>
-->
<el-table-column
property=
"number"
label=
"序号"
width=
"55"
type=
"index"
/>
<el-table-column
property=
"item.ntc_id"
label=
"目标名称"
show-overflow-tooltip
/>
<el-table-column
property=
"identity.adm_name_e"
label=
"站点名称"
show-overflow-tooltip
/>
<el-table-column
property=
"identity.sat_name"
label=
"距离"
show-overflow-tooltip
/>
<el-table-column
property=
"item.plan_txt"
label=
"往返光时"
show-overflow-tooltip
/>
<el-table-column
property=
"item.plan_txt"
label=
"行动开始时间"
show-overflow-tooltip
/>
<el-table-column
property=
"item.plan_txt"
label=
"行动结束时间"
show-overflow-tooltip
/>
<el-table-column
property=
"item.plan_txt"
label=
"跟踪开始时间"
show-overflow-tooltip
/>
<el-table-column
property=
"item.plan_txt"
label=
"跟踪结束时间"
show-overflow-tooltip
/>
<el-table-column
property=
"item.plan_txt"
label=
"支持类型"
show-overflow-tooltip
/>
<el-table-column
property=
"identity.ntc_type"
label=
"目标在线状态"
show-overflow-tooltip
>
<template
#
default=
"scope"
>
{{
scope
.
row
.
identity
.
ntc_type
===
'G'
?
'是'
:
'否'
}}
</
template
>
</el-table-column>
<el-table-column
property=
"identity.long_nom"
label=
"目标接收状态"
show-overflow-tooltip
>
<
template
#
default=
"scope"
>
{{
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
fixed=
"right"
label=
"操作"
min-width=
"120"
>
<
template
#
default
>
<el-button
link
type=
"primary"
size=
"small"
@
click=
"handleDetails"
>
目标信息
</el-button>
<el-button
link
type=
"primary"
size=
"small"
@
click=
"handleStationDetails"
>
站点信息
</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=
"765px"
align-center
@
close=
"handleClose"
draggable
>
<
template
#
header
>
<div
class=
"text-center font-size-8"
>
详情
</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=
"12"
>
<el-form-item
label=
"描述:"
label-position=
"left"
>
<el-input
v-model=
"targetDescription"
/>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</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>
</
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=
"12"
>
<el-form-item
label=
"描述:"
label-position=
"left"
>
<el-input
v-model=
"stationDescription"
/>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</el-dialog>
</div>
<exportDialog
v-model:dialogVisible=
"showDeleteDialog"
/>
</template>
<
script
setup
lang=
"ts"
>
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
{
ElMessage
}
from
'element-plus'
import
{
ta
}
from
'element-plus/es/locales.mjs'
const
searchTargetName
=
ref
(
''
)
const
searchTimeValue
=
ref
(
''
)
const
searchTargetId
=
ref
(
''
)
const
showDeleteDialog
=
ref
(
false
)
const
detailVisibleValue
=
ref
(
false
)
const
stationVisibleValue
=
ref
(
false
)
// 目标详情信息
const
targetName
=
ref
(
''
)
// 任务类型
const
targetMissionType
=
ref
(
''
)
// 目标运行轨道
const
targetOrbit
=
ref
(
''
)
// 目标尺寸
const
targetDimension
=
ref
(
''
)
// 目标发射质量
const
targetLaunchMass
=
ref
(
''
)
// 目标干质量
const
targetDryMass
=
ref
(
''
)
// 近地点
const
targetPerigee
=
ref
(
''
)
// 远地点
const
targetApogee
=
ref
(
''
)
// 目标功率
const
targetPower
=
ref
(
''
)
// 轨道倾角
const
targetInclination
=
ref
(
''
)
// 轨道周期
const
targetPeriod
=
ref
(
''
)
// 发射日期
const
targetLaunchDate
=
ref
(
''
)
// 发射地点
const
targetLaunchLocation
=
ref
(
''
)
// 相关仪器
const
targetInstruments
=
ref
(
''
)
// 服役日期
const
targetServiceDate
=
ref
(
''
)
// 是否为核心任务
const
targetIsCoreMission
=
ref
(
''
)
// 太阳风速
const
targetSolarWindSpeed
=
ref
(
''
)
// 太阳通量密度
const
targetSolarFluxDensity
=
ref
(
''
)
// 是否在仪表盘中显示
const
targetIsShowInDashboard
=
ref
(
''
)
// 目标类型
const
targetType
=
ref
(
''
)
// 描述
const
targetDescription
=
ref
(
''
)
// 站点详情信息
// 站点名称
const
stationName
=
ref
(
''
)
// 站点所在国家
const
stationCountry
=
ref
(
''
)
// 站点经度
const
stationLongitude
=
ref
(
''
)
// 站点纬度
const
stationLatitude
=
ref
(
''
)
// 站点海拔高度
const
stationAltitude
=
ref
(
''
)
// 站点直径
const
stationDiameter
=
ref
(
''
)
// 天线方位角速度
const
stationAzimuthSpeed
=
ref
(
''
)
// 天线俯仰角速度
const
stationElevationSpeed
=
ref
(
''
)
// 天线信号频段
const
stationBand
=
ref
(
''
)
// TMTC标准
const
stationTMTC
=
ref
(
''
)
// 信号频率与定时
const
stationFrequencyAndTiming
=
ref
(
''
)
// 天气
const
stationWeather
=
ref
(
''
)
// 上行信号S频段极化
const
stationUplinkSPolarization
=
ref
(
''
)
// 上行信号S频段等效全向辐射功率
const
stationUplinkSEirp
=
ref
(
''
)
// 上行信号X频段极化
const
stationUplinkXPolarization
=
ref
(
''
)
// 上行信号X频段等效全向辐射功率
const
stationUplinkXEirp
=
ref
(
''
)
// 上行信号Ka频段极化
const
stationUplinkKaPolarization
=
ref
(
''
)
// 上行信号Ka频段等效全向辐射功率
const
stationUplinkKaEirp
=
ref
(
''
)
// 下行信号S频段极化
const
stationDownlinkSPolarization
=
ref
(
''
)
// 下行信号S频段G/T比
const
stationDownlinkSGt
=
ref
(
''
)
// 下行信号X频段极化
const
stationDownlinkXPolarization
=
ref
(
''
)
// 下行信号X频段G/T比
const
stationDownlinkXGt
=
ref
(
''
)
// 下行信号Ka频段极化
const
stationDownlinkKaPolarization
=
ref
(
''
)
// 下行信号Ka频段G/T比
const
stationDownlinkKaGt
=
ref
(
''
)
// 温度
const
stationTemperature
=
ref
(
''
)
// 气压
const
stationPressure
=
ref
(
''
)
// 湿度
const
stationHumidity
=
ref
(
''
)
// 站点类型
const
stationType
=
ref
(
''
)
// 描述
const
stationDescription
=
ref
(
''
)
const
tableData
=
ref
([])
const
pageObj
=
ref
({
total
:
0
,
pageSize
:
10
,
pageNo
:
1
})
// 查看数据详情的方法
const
handleDetails
=
async
(
id
:
any
)
=>
{
detailVisibleValue
.
value
=
true
}
//
const
handleStationDetails
=
async
(
id
:
any
)
=>
{
stationVisibleValue
.
value
=
true
}
// 获取itu数据列表的方法
const
getData
=
async
()
=>
{
const
res
=
await
getItuList
({
page
:
pageObj
.
value
.
pageNo
,
size
:
pageObj
.
value
.
pageSize
})
searchTargetName
.
value
=
''
searchTargetId
.
value
=
''
searchTimeValue
.
value
=
''
pageObj
.
value
.
total
=
res
.
data
.
total
tableData
.
value
=
res
.
data
.
list
}
const
handleClose
=
()
=>
{
detailVisibleValue
.
value
=
false
}
const
handleSearch
=
async
()
=>
{
if
(
searchTargetName
.
value
===
''
&&
searchTargetId
.
value
===
''
&&
searchTimeValue
.
value
===
''
)
{
ElMessage
.
warning
(
'请输入搜索内容'
)
return
}
const
res
=
await
getItuList
({
sat_name
:
searchTargetName
.
value
,
ntc_id
:
searchTargetId
.
value
,
times
:
searchTimeValue
.
value
,
page
:
pageObj
.
value
.
pageNo
,
size
:
pageObj
.
value
.
pageSize
})
pageObj
.
value
.
total
=
res
.
data
.
total
tableData
.
value
=
res
.
data
.
list
}
onMounted
(()
=>
{
getData
()
})
</
script
>
<
style
scoped
lang=
"scss"
>
//
调整表单项间距
.detailForm
{
//
background-image
:
url("@/assets/picture/dialog1.png")
;
//
background-size
:
100%
100%
;
//
background-repeat
:
no-repeat
;
.el-dialog-title
{
font-size
:
180px
;
}
.el-form-item
{
margin-bottom
:
20px
!important
;
}
}
/* 工具栏样式 */
.toolbarStyle
{
background-image
:
url("@/assets/picture/box3.png")
;
background-size
:
100%
100%
;
background-repeat
:
no-repeat
;
}
/* 表格样式 */
.formStyle
{
display
:
flex
;
justify-content
:
space-around
;
padding
:
3px
;
margin-top
:
1%
;
}
/* 文字样式 */
.el-text
{
color
:
#FFFFFF
;
}
</
style
>
<
style
>
.el-input
{
--el-input-text-color
:
#FFFFFF
;
}
/* 修改el选择器的样式 */
.el-select__wrapper
{
background-color
:
#1d5484
;
box-shadow
:
none
;
}
/* 删除el选择器选中时的边框 */
.is-hovering
{
box-shadow
:
none
!important
;
}
/* 修改el输入框的样式 */
.el-input__wrapper
{
background-color
:
#1d5484
;
box-shadow
:
none
;
}
/* 修改el下拉框的背景颜色 */
.el-select-dropdown
{
background-color
:
#1d5484
;
}
/* 修改el下拉框选项的字体颜色 */
.el-select-dropdown__item
{
color
:
#FFFFFF
;
}
/* 修改el下拉框选项选中时的文字颜色 */
.el-select-dropdown__item
:hover
{
color
:
#409eff
;
}
/* 修改el日期选择器的边框为none */
.el-date-editor
{
--el-input-border-color
:
none
}
.el-button
:focus
{
outline
:
none
;
}
</
style
>
\ No newline at end of file
src/views/os-dataDisplay/index.vue
View file @
808b936a
...
...
@@ -35,6 +35,8 @@
<!-- ST数据页面组件 -->
<stDataTab
v-if=
"mode === 'ST数据'"
>
</stDataTab>
<esDataTab
v-if=
"mode === 'ESA数据'"
>
</esDataTab>
</div>
<exportDialog
v-model:dialogVisible=
"showDeleteDialog"
@
confirm=
"handleExportConfirm"
/>
...
...
@@ -48,13 +50,15 @@ import allDataTab from './components/allDataTab.vue'
import
ituDataTab
from
'./components/ituDataTab.vue'
import
stDataTab
from
'./components/stDataTab.vue'
import
dsnDataTab
from
'./components/dsnData/dsnTab.vue'
import
esDataTab
from
'./components/esDataTab.vue'
import
exportDialog
from
'@/components/Export/index.vue'
import
{
genFileId
}
from
'element-plus'
import
type
{
UploadInstance
,
UploadProps
,
UploadRawFile
}
from
'element-plus'
// const
const
mode
=
ref
(
'DSN数据'
)
const
showDeleteDialog
=
ref
(
false
)
const
sizeOptions
=
[
'DSN数据'
,
'ITU数据'
,
'ST数据'
]
const
sizeOptions
=
[
'DSN数据'
,
'ITU数据'
,
'ST数据'
,
'ES数据'
]
const
route
=
useRoute
()
const
router
=
useRouter
()
const
modeValue
=
ref
<
any
>
(
'数据展示'
)
...
...
src/views/os-taskInformation/components/addTaskDialog.vue
View file @
808b936a
...
...
@@ -7,8 +7,8 @@
</el-form-item>
<el-form-item
label=
"所属爬虫:"
v-if=
"currentMode === AddMode.ADD_TASK"
prop=
"spiderTypeValue"
>
<el-select
v-model=
"ruleForm.spiderTypeValue"
placeholder=
"请选择所属爬虫"
style=
"width: 90%"
>
<el-option
v-for=
"item in spiderTypeOptions"
:key=
"item.
value"
:label=
"item.label
"
:value=
"item.
value"
:id=
"item.value
"
/>
<el-option
v-for=
"item in spiderTypeOptions"
:key=
"item.
spider"
:label=
"item.spider
"
:value=
"item.
spider"
:id=
"item.spider
"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"执行频率:"
prop=
"cronExpression"
>
...
...
@@ -35,6 +35,7 @@ import { AddMode } from './enum'
import
{
Crontab
}
from
'@/components/Crontab/index'
import
type
{
FormInstance
,
FormRules
}
from
'element-plus'
import
{
ElMessage
}
from
'element-plus'
import
{
getSpiderList
}
from
'@/api/system.ts'
interface
RuleForm
{
taskName
:
string
...
...
@@ -59,7 +60,7 @@ const props = defineProps<addDialogPropType>()
const
rules
=
ref
<
FormRules
<
RuleForm
>>
({
taskName
:
[
{
required
:
true
,
message
:
'请输入任务名称'
,
trigger
:
'blur'
},
{
min
:
1
,
max
:
50
,
message
:
'任务名称应在1-5
0个字符之间'
,
trigger
:
'blur'
},
{
min
:
2
,
max
:
50
,
message
:
'任务名称应在2-2
0个字符之间'
,
trigger
:
'blur'
},
],
spiderTypeValue
:
[
{
...
...
@@ -93,20 +94,7 @@ const emit = defineEmits(['update:dialogVisible', 'confirm', 'update:mode', 'get
// 组件的状态
const
currentVisible
=
ref
(
props
.
dialogVisible
)
const
currentMode
=
ref
(
props
.
mode
)
const
spiderTypeOptions
=
ref
([
{
value
:
'api_spider'
,
label
:
'api_spider'
},
{
value
:
'dsn_now'
,
label
:
'dsn_now'
},
{
value
:
'itu_space_explorer'
,
label
:
'itu_space_explorer'
},
])
const
spiderTypeOptions
=
ref
()
const
taskParams
=
ref
({
scrapyd_server_id
:
'1'
,
schedule_type
:
'0'
,
...
...
@@ -162,7 +150,12 @@ const handleConfirm = async () => {
}
})
}
const
getData
=
async
()
=>
{
const
res
=
await
getSpiderList
({
scrapydServerId
:
'1'
,
project
:
'spiders'
})
spiderTypeOptions
.
value
=
res
.
data
console
.
log
(
res
);
}
// 监听props变化,同步给组件内部
watch
(()
=>
props
.
dialogVisible
,
(
newVal
)
=>
{
...
...
@@ -202,7 +195,7 @@ watch(
{
immediate
:
true
}
);
onMounted
(()
=>
{
getData
()
})
</
script
>
...
...
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