Files
xian_vue_new/src/component/rain-earthquake/BasicComponent.vue
T

116 lines
3.4 KiB
Vue
Raw Normal View History

2026-04-11 10:09:40 +08:00
<!-- 基础组件 -->
<template>
<div>
<!-- 地图组件 -->
<MapComponent />
2026-04-28 10:05:49 +08:00
<!-- 暴雨场景隐患点组件 -->
<template v-if="props.disasterType === DisasterType.RAINSTORM">
<!-- 滑坡隐患点 -->
<LandslideComponent
v-if="
2026-05-07 13:59:14 +08:00
statusStore.appLoadingCompleted &&
statusStore.poiLayers.showLandslideHiddenPoint.loading
2026-04-28 10:05:49 +08:00
"
/>
2026-06-16 10:19:02 +08:00
<!-- 崩塌隐患点 -->
<CollapseComponent
v-if="
statusStore.appLoadingCompleted &&
statusStore.poiLayers.showCollapseHiddenPoint.loading
"
/>
2026-04-28 10:05:49 +08:00
<!-- 泥石流隐患点 -->
<DebrisFlowComponent
v-if="
2026-05-07 13:59:14 +08:00
statusStore.appLoadingCompleted &&
statusStore.poiLayers.showDebrisFlowHiddenPoint.loading
2026-04-28 10:05:49 +08:00
"
/>
<!-- 内涝隐患点 -->
<WaterLoggingComponent
v-if="
2026-05-07 13:59:14 +08:00
statusStore.appLoadingCompleted &&
statusStore.poiLayers.showWaterLoggingHiddenPoint.loading
2026-04-28 10:05:49 +08:00
"
/>
<!-- 山洪隐患点 -->
<FlashFloodComponent
v-if="
2026-05-07 13:59:14 +08:00
statusStore.appLoadingCompleted &&
statusStore.poiLayers.showFlashFloodHiddenPoint.loading
2026-04-28 10:05:49 +08:00
"
/>
2026-05-06 13:12:13 +08:00
<!-- 降雨栅格图层组件 -->
<RainfallGridComponent
v-if="
2026-05-07 13:59:14 +08:00
statusStore.appLoadingCompleted &&
statusStore.weatherLayers.showRainfallGrid.loading
2026-05-06 13:12:13 +08:00
"
/>
2026-04-28 10:05:49 +08:00
</template>
<!-- 地震场景隐患点组件 -->
<template v-else-if="props.disasterType === DisasterType.EARTHQUAKE">
<!-- 滑坡隐患点 -->
<LandslideComponent
v-if="
2026-05-07 13:59:14 +08:00
statusStore.appLoadingCompleted &&
statusStore.poiLayers.showLandslideHiddenPoint.loading
2026-04-28 10:05:49 +08:00
"
/>
2026-06-16 10:19:02 +08:00
<!-- 崩塌隐患点 -->
<CollapseComponent
v-if="
statusStore.appLoadingCompleted &&
statusStore.poiLayers.showCollapseHiddenPoint.loading
"
/>
2026-04-28 10:05:49 +08:00
<!-- 泥石流隐患点 -->
<DebrisFlowComponent
v-if="
2026-05-07 13:59:14 +08:00
statusStore.appLoadingCompleted &&
statusStore.poiLayers.showDebrisFlowHiddenPoint.loading
2026-04-28 10:05:49 +08:00
"
/>
</template>
2026-04-11 10:09:40 +08:00
<!-- 风险点组件 -->
<RiskPointComponent
v-if="
2026-05-07 13:59:14 +08:00
statusStore.appLoadingCompleted &&
statusStore.mapLayers.riskPointShow.loading
"
/>
2026-04-11 10:09:40 +08:00
</div>
</template>
<script setup lang="ts">
import MapComponent from '@/component/map/MapComponent.vue';
2026-04-28 10:05:49 +08:00
import { DisasterType } from '@/types/common/DisasterType.ts';
import RiskPointComponent from '@/component/rain-earthquake/basic/RiskPointComponent.vue';
2026-04-28 10:05:49 +08:00
import LandslideComponent from '@/component/rain-earthquake/basic/LandslideComponent.vue';
2026-06-16 10:19:02 +08:00
import CollapseComponent from '@/component/rain-earthquake/basic/CollapseComponent.vue';
2026-04-28 10:05:49 +08:00
import DebrisFlowComponent from '@/component/rain-earthquake/basic/DebrisFlowComponent.vue';
import WaterLoggingComponent from '@/component/rain-earthquake/basic/WaterLoggingComponent.vue';
import FlashFloodComponent from '@/component/rain-earthquake/basic/FlashFloodComponent.vue';
import RainfallGridComponent from '@/component/rain-earthquake/detail-panels/RainfallGridComponent.vue';
2026-04-14 08:59:05 +08:00
import { useStatusStore } from '@/stores/useStatusStore';
2026-04-11 10:09:40 +08:00
2026-05-07 13:59:14 +08:00
const statusStore = useStatusStore();
2026-05-07 12:53:25 +08:00
// 获取父组件传递德数据
const props = defineProps<{
disasterType: DisasterType;
}>();
2026-04-11 10:09:40 +08:00
</script>
<style scoped></style>