some fix
This commit is contained in:
parent
1e27f4ab9c
commit
94746d9a85
@ -13,7 +13,7 @@ const selectedDateType = ref('month')
|
||||
const selectedStation = ref('武汉左岭镇站')
|
||||
const selectedYear = ref('2017')
|
||||
const selectedWindType = ref('uwind')
|
||||
const selectedH = ref(94000)
|
||||
const selectedH = ref(94)
|
||||
const selectedDate = ref('20170316')
|
||||
const selectedMonth = ref('1')
|
||||
|
||||
@ -42,7 +42,7 @@ const queryUrl = computed(() => {
|
||||
query.set('year', year)
|
||||
query.set('model_name', mode)
|
||||
query.set('wind_type', windType)
|
||||
query.set('H', selectedH.value.toString())
|
||||
query.set('H', (selectedH.value * 1000).toString())
|
||||
query.set('mode', selectedDateType.value)
|
||||
if (props.isDay) {
|
||||
const queryDay = `${selectedDate.value.slice(0, 4)}-${selectedDate.value.slice(4, 6)}-${selectedDate.value.slice(6, 8)}`
|
||||
@ -99,7 +99,7 @@ watch(selectedYear, (newV) => {
|
||||
<div>
|
||||
<div flex="~ col gap-3" py-3>
|
||||
<div v-if="selectedWave === '行星波'">
|
||||
<Label>行星波类型</Label>
|
||||
<Label>行星波周期</Label>
|
||||
<Tabs v-model="selectedMode" default-value="2日行星波">
|
||||
<TabsList class="grid grid-cols-4 w-full">
|
||||
<TabsTrigger v-for="m in modes" :key="m" :value="m">
|
||||
@ -122,7 +122,7 @@ watch(selectedYear, (newV) => {
|
||||
<div v-if="!props.isDay">
|
||||
<Label for="H">日期类型</Label>
|
||||
<Tabs id="date_type" v-model="selectedDateType" default-value="month">
|
||||
<TabsList class="grid grid-cols-3 w-full">
|
||||
<TabsList class="grid grid-cols-2 w-full">
|
||||
<!-- <TabsTrigger value="day">
|
||||
日
|
||||
</TabsTrigger> -->
|
||||
@ -149,12 +149,15 @@ watch(selectedYear, (newV) => {
|
||||
</SelectGroup>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
<Label>高度</Label>
|
||||
<Label>高度(km)</Label>
|
||||
<NumberField
|
||||
id="start"
|
||||
v-model:model-value="selectedH" :format-options="{
|
||||
useGrouping: false,
|
||||
}" :default-value="94000"
|
||||
}" :default-value="94"
|
||||
:step="2"
|
||||
:max="110"
|
||||
:min="70"
|
||||
>
|
||||
<NumberFieldContent>
|
||||
<NumberFieldDecrement />
|
||||
|
||||
@ -43,7 +43,7 @@ onMounted(async () => {
|
||||
<template>
|
||||
<DenseFramework :image-query="urll">
|
||||
<div>
|
||||
<div flex="~ row items-center gap-3" py-3>
|
||||
<div flex="~ col items-stretch gap-3" py-3>
|
||||
<Label>纬度带</Label>
|
||||
<Select v-model="selected.lat_range">
|
||||
<SelectTrigger>
|
||||
|
||||
@ -31,8 +31,11 @@ interface UseAPIOnlineOptions {
|
||||
}
|
||||
|
||||
export function useAPIOnline(options: UseAPIOnlineOptions = {}) {
|
||||
// check current protocal, if is https, use wss, if is http, use ws
|
||||
const wsProtocal = API_BASE_URL.startsWith('https') ? 'wss' : 'ws'
|
||||
|
||||
const {
|
||||
url = `ws://${API_BASE_URL.replace('https://', '').replace('http://', '')}/ping/ws`,
|
||||
url = `${wsProtocal}://${API_BASE_URL.replace('https://', '').replace('http://', '')}/ping/ws`,
|
||||
heartbeatInterval = 30000,
|
||||
reconnectDelay = 5000,
|
||||
onConnected,
|
||||
|
||||
@ -3,7 +3,7 @@ meta:
|
||||
title: 探空气球-重力波单次
|
||||
description: 探空气球-重力波单次
|
||||
group: 探空气球
|
||||
item_name: 重力波单次
|
||||
item_name: 重力波提取
|
||||
</route>
|
||||
|
||||
<script setup lang="ts">
|
||||
@ -11,7 +11,7 @@ import { API_BASE_URL } from '~/CONSTANT'
|
||||
/**
|
||||
if mode == "布伦特-维萨拉频率分布":
|
||||
await run_sync(p.plot_heatmap_tempNz)()
|
||||
elif mode == "位温分布":
|
||||
elif mode == "不同高度下的逐日统计分析":
|
||||
await run_sync(p.plot_heatmap_tempPtz)()
|
||||
elif mode == "每月浮力频率变化趋势":
|
||||
await run_sync(p.plot_floatage_trend)()
|
||||
@ -19,7 +19,7 @@ import { API_BASE_URL } from '~/CONSTANT'
|
||||
await run_sync(p.plot_monthly_energy)()
|
||||
*/
|
||||
const MODES = [
|
||||
'位温分布',
|
||||
'不同高度下的逐日统计分析',
|
||||
'每月浮力频率变化趋势',
|
||||
'每月平均重力势能的折线图',
|
||||
'布伦特-维萨拉频率分布',
|
||||
@ -28,7 +28,7 @@ const MODES = [
|
||||
const selected = reactive({
|
||||
year: '2008',
|
||||
// begin_day
|
||||
mode: '位温分布',
|
||||
mode: '不同高度下的逐日统计分析',
|
||||
})
|
||||
const queryUrl = computed(() => {
|
||||
const q = new URLSearchParams()
|
||||
90
src/pages/cosmic/planet_wave/0-daily.vue
Normal file
90
src/pages/cosmic/planet_wave/0-daily.vue
Normal file
@ -0,0 +1,90 @@
|
||||
<route lang="json">
|
||||
{"meta":{
|
||||
"title":"COSMIC",
|
||||
"description":"行星波统计",
|
||||
"group":"COSMIC",
|
||||
"item_name":"行星波统计"
|
||||
}}
|
||||
</route>
|
||||
|
||||
<script setup lang="ts">
|
||||
import DenseFramework from '~/components/DenseFramework.vue'
|
||||
import { API_BASE_URL } from '~/CONSTANT'
|
||||
|
||||
const selectedT = ref<'5' | '10' | '16'>('5')
|
||||
const selectedH = ref(90)
|
||||
const selectedRange = ref('-30')
|
||||
const selectedK = ref(0)
|
||||
const ranges = ['-30', '-60', '30', '60']
|
||||
|
||||
const fetchUrl = computed(() => {
|
||||
const query = new URLSearchParams()
|
||||
query.set('T', selectedT.value)
|
||||
query.set('H', selectedH.value.toString())
|
||||
query.set('lat_range', selectedRange.value)
|
||||
query.set('k', selectedK.value.toString())
|
||||
return `${API_BASE_URL}/cosmic/render/planet_wave/daily?${query}`
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<DenseFramework :image-query="fetchUrl">
|
||||
<Label for="T_range">行星波周期</Label>
|
||||
<Tabs id="T_range" v-model="selectedT" default-value="5">
|
||||
<TabsList class="grid grid-cols-3 w-full">
|
||||
<TabsTrigger value="5">
|
||||
5日
|
||||
</TabsTrigger>
|
||||
<TabsTrigger value="10">
|
||||
10日
|
||||
</TabsTrigger>
|
||||
<TabsTrigger value="16">
|
||||
16日
|
||||
</TabsTrigger>
|
||||
</TabsList>
|
||||
</Tabs>
|
||||
<!-- TODO: not implemented -->
|
||||
<Label>高度(km)</Label>
|
||||
<NumberField
|
||||
id="start"
|
||||
v-model:model-value="selectedH" :format-options="{
|
||||
useGrouping: false,
|
||||
}" :default-value="94"
|
||||
:step="10"
|
||||
:max="110"
|
||||
:min="70"
|
||||
>
|
||||
<NumberFieldContent>
|
||||
<NumberFieldDecrement />
|
||||
<NumberFieldInput />
|
||||
<NumberFieldIncrement />
|
||||
</NumberFieldContent>
|
||||
</NumberField>
|
||||
<Label>纬度带</Label>
|
||||
<Select v-model="selectedRange">
|
||||
<SelectTrigger>
|
||||
<SelectValue placeholder="选择纬度带" />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectGroup>
|
||||
<SelectLabel>纬度带</SelectLabel>
|
||||
<SelectItem v-for="range in ranges" :key="range" :value="range">
|
||||
{{ range }}
|
||||
</SelectItem>
|
||||
</SelectGroup>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
<Label>波数 k</Label>
|
||||
<NumberField
|
||||
v-model="selectedK"
|
||||
:default-value="0"
|
||||
:max="4" :min="-4" :step="1"
|
||||
>
|
||||
<NumberFieldContent>
|
||||
<NumberFieldIncrement />
|
||||
<NumberFieldInput />
|
||||
<NumberFieldDecrement />
|
||||
</NumberFieldContent>
|
||||
</NumberField>
|
||||
</DenseFramework>
|
||||
</template>
|
||||
@ -1,40 +0,0 @@
|
||||
<route lang="json">
|
||||
{"meta":{
|
||||
"title":"COSMIC",
|
||||
"description":"行星波统计",
|
||||
"group":"COSMIC",
|
||||
"item_name":"行星波统计"
|
||||
}}
|
||||
</route>
|
||||
|
||||
<script setup lang="ts">
|
||||
import DenseFramework from '~/components/DenseFramework.vue'
|
||||
import { API_BASE_URL } from '~/CONSTANT'
|
||||
|
||||
const selectedT = ref<'5' | '10' | '16'>('5')
|
||||
|
||||
const fetchUrl = computed(() => {
|
||||
const query = new URLSearchParams()
|
||||
query.set('T_', selectedT.value)
|
||||
return `${API_BASE_URL}/cosmic/render/planet_wave/daily?${query}`
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<DenseFramework :image-query="fetchUrl">
|
||||
<Label for="T_range">行星波周期</Label>
|
||||
<Tabs id="T_range" v-model="selectedT" default-value="5">
|
||||
<TabsList class="grid grid-cols-3 w-full">
|
||||
<TabsTrigger value="5">
|
||||
5
|
||||
</TabsTrigger>
|
||||
<TabsTrigger value="10">
|
||||
10
|
||||
</TabsTrigger>
|
||||
<TabsTrigger value="16">
|
||||
16
|
||||
</TabsTrigger>
|
||||
</TabsList>
|
||||
</Tabs>
|
||||
</DenseFramework>
|
||||
</template>
|
||||
@ -15,8 +15,17 @@ import { API_BASE_URL } from '~/CONSTANT'
|
||||
const selected = reactive({
|
||||
year: '2018',
|
||||
T: '16',
|
||||
k: 0,
|
||||
H: 90,
|
||||
range: '60',
|
||||
})
|
||||
|
||||
const ranges = [
|
||||
'-20',
|
||||
'30',
|
||||
'60',
|
||||
]
|
||||
|
||||
const queryUrl = computed(() => {
|
||||
const q = new URLSearchParams()
|
||||
q.set('year', selected.year)
|
||||
@ -41,22 +50,64 @@ const queryUrl = computed(() => {
|
||||
</SelectGroup>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
<Label>时间窗口大小</Label>
|
||||
<Label>行星波周期</Label>
|
||||
<!-- can be 5,10,16 -->
|
||||
<!-- use Tabs -->
|
||||
<Tabs v-model="selected.T" default-value="16">
|
||||
<TabsList class="grid grid-cols-3 w-full">
|
||||
<TabsTrigger value="5">
|
||||
5
|
||||
5日
|
||||
</TabsTrigger>
|
||||
<TabsTrigger value="10">
|
||||
10
|
||||
10日
|
||||
</TabsTrigger>
|
||||
<TabsTrigger value="16">
|
||||
16
|
||||
16日
|
||||
</TabsTrigger>
|
||||
</TabsList>
|
||||
</Tabs>
|
||||
<Label>高度(km)</Label>
|
||||
<NumberField
|
||||
id="start"
|
||||
v-model:model-value="selected.H" :format-options="{
|
||||
useGrouping: false,
|
||||
}" :default-value="94"
|
||||
:step="20"
|
||||
:max="110"
|
||||
:min="70"
|
||||
>
|
||||
<NumberFieldContent>
|
||||
<NumberFieldDecrement />
|
||||
<NumberFieldInput />
|
||||
<NumberFieldIncrement />
|
||||
</NumberFieldContent>
|
||||
</NumberField>
|
||||
<Label>纬度带</Label>
|
||||
<Select v-model="selected.range">
|
||||
<SelectTrigger>
|
||||
<SelectValue placeholder="选择纬度带" />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectGroup>
|
||||
<SelectLabel>纬度带</SelectLabel>
|
||||
<SelectItem v-for="range in ranges" :key="range" :value="range">
|
||||
{{ range }}
|
||||
</SelectItem>
|
||||
</SelectGroup>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
<Label>波数 k</Label>
|
||||
<NumberField
|
||||
v-model="selected.k"
|
||||
:default-value="0"
|
||||
:max="4" :min="-4" :step="1"
|
||||
>
|
||||
<NumberFieldContent>
|
||||
<NumberFieldIncrement />
|
||||
<NumberFieldInput />
|
||||
<NumberFieldDecrement />
|
||||
</NumberFieldContent>
|
||||
</NumberField>
|
||||
</DenseFramework>
|
||||
</template>
|
||||
|
||||
@ -76,17 +76,21 @@ onMounted(async () => {
|
||||
</SelectGroup>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
<Label>波数 k</Label>
|
||||
<NumberField
|
||||
v-model="selectedK"
|
||||
:max="4" :min="-4" :step="1"
|
||||
>
|
||||
<NumberFieldContent>
|
||||
<NumberFieldIncrement />
|
||||
<NumberFieldInput />
|
||||
<NumberFieldDecrement />
|
||||
</NumberFieldContent>
|
||||
</NumberField>
|
||||
<Label>行星波周期</Label>
|
||||
<Tabs v-model:model-value="selectedT" default-value="15">
|
||||
<TabsList class="grid grid-cols-3 w-full">
|
||||
<TabsTrigger value="5">
|
||||
5日
|
||||
</TabsTrigger>
|
||||
<TabsTrigger value="10">
|
||||
10日
|
||||
</TabsTrigger>
|
||||
<TabsTrigger value="16">
|
||||
16日
|
||||
</TabsTrigger>
|
||||
</TabsList>
|
||||
</Tabs>
|
||||
|
||||
<Label>高度</Label>
|
||||
<Select v-model="selectedHeight">
|
||||
<SelectTrigger>
|
||||
@ -115,20 +119,17 @@ onMounted(async () => {
|
||||
</SelectGroup>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
<Label>滑动窗口 T</Label>
|
||||
<Tabs v-model:model-value="selectedT" default-value="15">
|
||||
<TabsList class="grid grid-cols-3 w-full">
|
||||
<TabsTrigger value="5">
|
||||
5
|
||||
</TabsTrigger>
|
||||
<TabsTrigger value="10">
|
||||
10
|
||||
</TabsTrigger>
|
||||
<TabsTrigger value="16">
|
||||
16
|
||||
</TabsTrigger>
|
||||
</TabsList>
|
||||
</Tabs>
|
||||
<Label>波数 k</Label>
|
||||
<NumberField
|
||||
v-model="selectedK"
|
||||
:max="4" :min="-4" :step="1"
|
||||
>
|
||||
<NumberFieldContent>
|
||||
<NumberFieldIncrement />
|
||||
<NumberFieldInput />
|
||||
<NumberFieldDecrement />
|
||||
</NumberFieldContent>
|
||||
</NumberField>
|
||||
</div>
|
||||
</DenseFramework>
|
||||
</template>
|
||||
|
||||
24
typed-router.d.ts
vendored
24
typed-router.d.ts
vendored
@ -21,21 +21,21 @@ declare module 'vue-router/auto-routes' {
|
||||
'/': RouteRecordInfo<'/', '/', Record<never, never>, Record<never, never>>,
|
||||
'/[...all]': RouteRecordInfo<'/[...all]', '/:all(.*)', { all: ParamValue<true> }, { all: ParamValue<false> }>,
|
||||
'/auth': RouteRecordInfo<'/auth', '/auth', Record<never, never>, Record<never, never>>,
|
||||
'/balloon/gravity_wave/single': RouteRecordInfo<'/balloon/gravity_wave/single', '/balloon/gravity_wave/single', Record<never, never>, Record<never, never>>,
|
||||
'/balloon/gravity_wave/year': RouteRecordInfo<'/balloon/gravity_wave/year', '/balloon/gravity_wave/year', Record<never, never>, Record<never, never>>,
|
||||
'/cosmic/gravity_wave/multiday': RouteRecordInfo<'/cosmic/gravity_wave/multiday', '/cosmic/gravity_wave/multiday', Record<never, never>, Record<never, never>>,
|
||||
'/cosmic/gravity_wave/perday': RouteRecordInfo<'/cosmic/gravity_wave/perday', '/cosmic/gravity_wave/perday', Record<never, never>, Record<never, never>>,
|
||||
'/cosmic/planet_wave/daily': RouteRecordInfo<'/cosmic/planet_wave/daily', '/cosmic/planet_wave/daily', Record<never, never>, Record<never, never>>,
|
||||
'/balloon/gravity_wave/0-perday': RouteRecordInfo<'/balloon/gravity_wave/0-perday', '/balloon/gravity_wave/0-perday', Record<never, never>, Record<never, never>>,
|
||||
'/balloon/gravity_wave/1-year': RouteRecordInfo<'/balloon/gravity_wave/1-year', '/balloon/gravity_wave/1-year', Record<never, never>, Record<never, never>>,
|
||||
'/cosmic/gravity_wave/0-perday': RouteRecordInfo<'/cosmic/gravity_wave/0-perday', '/cosmic/gravity_wave/0-perday', Record<never, never>, Record<never, never>>,
|
||||
'/cosmic/gravity_wave/1-multiday': RouteRecordInfo<'/cosmic/gravity_wave/1-multiday', '/cosmic/gravity_wave/1-multiday', Record<never, never>, Record<never, never>>,
|
||||
'/cosmic/planet_wave/0-daily': RouteRecordInfo<'/cosmic/planet_wave/0-daily', '/cosmic/planet_wave/0-daily', Record<never, never>, Record<never, never>>,
|
||||
'/debug': RouteRecordInfo<'/debug', '/debug', Record<never, never>, Record<never, never>>,
|
||||
'/radar/planet_wave/single': RouteRecordInfo<'/radar/planet_wave/single', '/radar/planet_wave/single', Record<never, never>, Record<never, never>>,
|
||||
'/radar/planet_wave/stats': RouteRecordInfo<'/radar/planet_wave/stats', '/radar/planet_wave/stats', Record<never, never>, Record<never, never>>,
|
||||
'/radar/tidal_wave/single': RouteRecordInfo<'/radar/tidal_wave/single', '/radar/tidal_wave/single', Record<never, never>, Record<never, never>>,
|
||||
'/radar/tidal_wave/stats': RouteRecordInfo<'/radar/tidal_wave/stats', '/radar/tidal_wave/stats', Record<never, never>, Record<never, never>>,
|
||||
'/radar/planet_wave/0-single': RouteRecordInfo<'/radar/planet_wave/0-single', '/radar/planet_wave/0-single', Record<never, never>, Record<never, never>>,
|
||||
'/radar/planet_wave/1-stats': RouteRecordInfo<'/radar/planet_wave/1-stats', '/radar/planet_wave/1-stats', Record<never, never>, Record<never, never>>,
|
||||
'/radar/tidal_wave/0-single': RouteRecordInfo<'/radar/tidal_wave/0-single', '/radar/tidal_wave/0-single', Record<never, never>, Record<never, never>>,
|
||||
'/radar/tidal_wave/1-stats': RouteRecordInfo<'/radar/tidal_wave/1-stats', '/radar/tidal_wave/1-stats', Record<never, never>, Record<never, never>>,
|
||||
'/radar/v1': RouteRecordInfo<'/radar/v1', '/radar/v1', Record<never, never>, Record<never, never>>,
|
||||
'/radar/v2': RouteRecordInfo<'/radar/v2', '/radar/v2', Record<never, never>, Record<never, never>>,
|
||||
'/saber/gravity_wave/monthly': RouteRecordInfo<'/saber/gravity_wave/monthly', '/saber/gravity_wave/monthly', Record<never, never>, Record<never, never>>,
|
||||
'/saber/gravity_wave/perday': RouteRecordInfo<'/saber/gravity_wave/perday', '/saber/gravity_wave/perday', Record<never, never>, Record<never, never>>,
|
||||
'/saber/planet_wave/monthly': RouteRecordInfo<'/saber/planet_wave/monthly', '/saber/planet_wave/monthly', Record<never, never>, Record<never, never>>,
|
||||
'/saber/gravity_wave/0-perday': RouteRecordInfo<'/saber/gravity_wave/0-perday', '/saber/gravity_wave/0-perday', Record<never, never>, Record<never, never>>,
|
||||
'/saber/gravity_wave/1-monthly': RouteRecordInfo<'/saber/gravity_wave/1-monthly', '/saber/gravity_wave/1-monthly', Record<never, never>, Record<never, never>>,
|
||||
'/saber/planet_wave/1-monthly': RouteRecordInfo<'/saber/planet_wave/1-monthly', '/saber/planet_wave/1-monthly', Record<never, never>, Record<never, never>>,
|
||||
'/tidi/gravity_wave/monthly': RouteRecordInfo<'/tidi/gravity_wave/monthly', '/tidi/gravity_wave/monthly', Record<never, never>, Record<never, never>>,
|
||||
'/tidi/planet_wave/daily': RouteRecordInfo<'/tidi/planet_wave/daily', '/tidi/planet_wave/daily', Record<never, never>, Record<never, never>>,
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user