From bc584dc90042e1afbec04e47aae756415c6bfaa1 Mon Sep 17 00:00:00 2001 From: wzy-warehouse <18135009705@163.com> Date: Sun, 14 Jun 2026 15:08:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=B4=E9=9B=A8=E7=81=BE=E5=AE=B3=E9=93=BE?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E6=8E=A8=E6=BC=94=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/api.ts | 15 +++++++++++++++ src/api/rainfall.ts | 16 ++++++++++++++++ src/component/map/AdministrativeDivision.vue | 4 +++- .../detail-panels/RainfallGridComponent.vue | 17 +++++++++++++++++ src/types/rainstorm/RainPredictResponse.ts | 6 ++++++ 5 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 src/api/rainfall.ts create mode 100644 src/types/rainstorm/RainPredictResponse.ts diff --git a/src/api/api.ts b/src/api/api.ts index ddeca55..da6d729 100644 --- a/src/api/api.ts +++ b/src/api/api.ts @@ -55,6 +55,8 @@ import type { XianSchool } from '@/types/base/XianSchool'; import type { XianBridge } from '@/types/base/XianBridge.ts'; import type { XianReservoirList } from '@/types/base/XianReservoirList'; import type { XianSubwayStations } from '@/types/base/XianSubwayStations'; +import { modelDeduction as rainfallModelDeduction } from './rainfall'; +import type { RainPredictResponse } from '@/types/rainstorm/RainPredictResponse'; /** * API接口统一导出对象 @@ -277,4 +279,17 @@ export const $api = { ): Promise> => getSubwayStationsPointDetailById(id), }, + + // 暴雨推演 + rainfall: { + /** + * 进行模型推演 + * @param disasterName 灾害名称 + * @returns 推演点的概率 + */ + modelDeduction: ( + disasterName: string + ): Promise> => + rainfallModelDeduction(disasterName), + }, }; diff --git a/src/api/rainfall.ts b/src/api/rainfall.ts new file mode 100644 index 0000000..b7360ce --- /dev/null +++ b/src/api/rainfall.ts @@ -0,0 +1,16 @@ +import type { ApiResponse } from '@/types/ApiResponse'; +import type { RainPredictResponse } from '@/types/rainstorm/RainPredictResponse'; +import httpInstance from '@/utils/request/http'; + +/** + * 进行模型推演 + * @param disasterName 灾害名称 + * @returns 推演点的概率 + */ +export const modelDeduction = ( + disasterName: string +): Promise> => { + return httpInstance.post('/algorithm-api/rainfall/predict', { + disaster_name: disasterName, + }); +}; diff --git a/src/component/map/AdministrativeDivision.vue b/src/component/map/AdministrativeDivision.vue index 63720ab..e081c8f 100644 --- a/src/component/map/AdministrativeDivision.vue +++ b/src/component/map/AdministrativeDivision.vue @@ -40,7 +40,9 @@ polygonStyle: { fill: true, fillColor: areasColor[index].withAlpha(areaTransparency), - outline: false, + outline: true, + outlineColor: Color.WHITE, + outlineWidth: 3, }, }, })); diff --git a/src/component/rain-earthquake/detail-panels/RainfallGridComponent.vue b/src/component/rain-earthquake/detail-panels/RainfallGridComponent.vue index 7ce9c71..e9f0384 100644 --- a/src/component/rain-earthquake/detail-panels/RainfallGridComponent.vue +++ b/src/component/rain-earthquake/detail-panels/RainfallGridComponent.vue @@ -4,12 +4,14 @@