Files
xian_vue_new/src/views/home/rainstorm/RainstormView.vue
T

100 lines
2.8 KiB
Vue
Raw Normal View History

<template>
<div>
2026-04-14 16:00:39 +08:00
<!-- 基础组件 -->
<BasicComponent
:disaster-type="DisasterType.RAINSTORM"
:key="route.fullPath"
/>
2026-04-13 19:27:32 +08:00
2026-04-14 16:00:39 +08:00
<!-- 灾害链影响列表组件 -->
2026-04-13 19:27:32 +08:00
<DisasterChainPointComponent
v-if="
useStatusStore().appLoadingCompleted &&
useStatusStore().uiComponents.disasterChainPointShow.loading
"
2026-04-13 19:27:32 +08:00
:select-options="selectOptions"
:table-data-list="tableDatas"
:table-columns="tableColumns"
:page-option="paginationConfig"
@change-conditions="changeConditions"
@change-current-page="changeCurrentPage"
/>
2026-04-13 20:55:32 +08:00
2026-04-14 16:00:39 +08:00
<!-- 图例组件 -->
<LegendComponent
v-if="
useStatusStore().appLoadingCompleted &&
useStatusStore().uiComponents.legendShow.loading
"
:legend-list="legendList"
:cols-num="2"
/>
2026-04-14 16:00:39 +08:00
<!-- 左侧按钮组件 -->
<LeftButtonComponent
v-if="
useStatusStore().appLoadingCompleted &&
useStatusStore().uiComponents.leftButton.loading
"
:button-list="leftButtonInfo"
/>
2026-04-14 16:33:23 +08:00
<!-- 右侧按钮组件 -->
<RightButtonComponent
v-if="
useStatusStore().appLoadingCompleted &&
useStatusStore().uiComponents.rightButton.loading
"
:button-list="rightButtonInfo"
/>
<!-- 控制显示组件 -->
<ControlShowComponent :constrol-show-list="controlPanel" />
<!-- 控制显示详情组件 -->
<ControlShowDetailComponent />
</div>
</template>
<script setup lang="ts">
import BasicComponent from '@/component/rain-earthquake/BasicComponent.vue';
import ControlShowComponent from '@/component/rain-earthquake/ControlShowComponent.vue';
import ControlShowDetailComponent from '@/component/rain-earthquake/ControlShowDetailComponent.vue';
2026-04-13 19:27:32 +08:00
import DisasterChainPointComponent from '@/component/rain-earthquake/DisasterChainPointComponent.vue';
2026-04-14 16:00:39 +08:00
import LeftButtonComponent from '@/component/rain-earthquake/LeftButtonComponent.vue';
2026-04-13 20:55:32 +08:00
import LegendComponent from '@/component/rain-earthquake/LegendComponent.vue';
2026-04-14 16:33:23 +08:00
import RightButtonComponent from '@/component/rain-earthquake/RightButtonComponent.vue';
2026-04-13 20:55:32 +08:00
import { useRainDisasterChain } from '@/hooks/rainstorm/useRainDisasterChain';
import { useStatusStore } from '@/stores/useStatusStore';
2026-04-14 08:08:01 +08:00
import { DisasterType } from '@/types/common/DisasterType.ts';
import { watch } from 'vue';
import { useRoute } from 'vue-router';
const route = useRoute();
2026-04-13 19:27:32 +08:00
2026-04-13 20:55:32 +08:00
const {
2026-04-14 08:08:01 +08:00
conditions,
2026-04-13 20:55:32 +08:00
selectOptions,
tableDatas,
tableColumns,
paginationConfig,
2026-04-16 09:09:00 +08:00
legendList,
2026-04-14 16:00:39 +08:00
leftButtonInfo,
2026-04-14 16:33:23 +08:00
rightButtonInfo,
controlPanel,
2026-04-13 20:55:32 +08:00
changeConditions,
changeCurrentPage,
} = useRainDisasterChain();
2026-04-14 08:08:01 +08:00
// 监听条件变化
watch(
conditions,
() => {
console.log('条件改变');
},
{ deep: true }
);
2026-04-13 19:27:32 +08:00
</script>
<style scoped></style>