修改地震灾害链影响点列表

This commit is contained in:
wzy-warehouse
2026-06-12 10:42:54 +08:00
parent c5615345c8
commit 1ca5ed016f
2 changed files with 33 additions and 106 deletions
@@ -1,7 +1,3 @@
import { ref } from 'vue';
import type { XianHiddenDangerSpots } from '@/types/base/XianHiddenDangerSpots';
import type { PaginationType } from '@/types/common/PaginationType';
import { PointType } from '@/types/common/DisasterType';
import { ControlPanelCategory } from '@/types/common/ControlPanelCategory'; import { ControlPanelCategory } from '@/types/common/ControlPanelCategory';
import { useStatusStore } from '@/stores/useStatusStore'; import { useStatusStore } from '@/stores/useStatusStore';
import { useLayerControl } from '../rain-earthquake/useLayerControl.ts'; import { useLayerControl } from '../rain-earthquake/useLayerControl.ts';
@@ -25,7 +21,7 @@ import { useLoadingResourceStore } from '@/stores/useLoadingResourceStore.ts';
import { LoadingResource } from '@/types/common/LoadingResourceType.ts'; import { LoadingResource } from '@/types/common/LoadingResourceType.ts';
/** /**
* 暴雨灾害链 * 地震灾害链
* @returns * @returns
*/ */
export const useEarthquakeDisasterChain = () => { export const useEarthquakeDisasterChain = () => {
@@ -34,68 +30,6 @@ export const useEarthquakeDisasterChain = () => {
const resourceStore = useLoadingResourceStore(); const resourceStore = useLoadingResourceStore();
const rightHandle = useRightHandle(); const rightHandle = useRightHandle();
// ================灾害链影响点列表================================
/**
* 搜索条件
*/
const conditions = ref({
tableData: '',
hiddenPoint: PointType.LANDSLIDE,
});
/**
* 下拉选项
*/
const selectOptions = [
{ value: PointType.LANDSLIDE, label: '滑坡' },
{ value: PointType.DEBRIS_FLOW, label: '泥石流' },
{ value: PointType.RISK_AREA, label: '风险区' },
];
/**
* 表格数据
*/
const tableDatas = ref<XianHiddenDangerSpots[]>([]);
/**
* 表头配置
*/
const tableColumns = [
{ title: '名称', key: 'disasterName' },
{ title: '位置', key: 'position' },
{ title: '规模等级', key: 'scaleGrade' },
{ title: '险情等级', key: 'riskGrade' },
];
/**
* 分页配置
*/
const paginationConfig = ref<PaginationType>({
currentPage: 1,
pageSize: 10,
total: 10,
totalPage: 1,
});
/**
* 修改搜索条件
* @param value - 新的搜索条件
*/
const changeConditions = (value: {
tableData: string;
hiddenPoint: PointType;
}): void => {
conditions.value = value;
};
/**
* 修改页码
* @param value - 新的页码
*/
const changeCurrentPage = (value: number) => {
paginationConfig.value.currentPage = value;
};
// ================左侧按钮================================ // ================左侧按钮================================
/** /**
* 左侧按钮信息 * 左侧按钮信息
@@ -356,15 +290,8 @@ export const useEarthquakeDisasterChain = () => {
}; };
return { return {
conditions,
selectOptions,
tableDatas,
tableColumns,
paginationConfig,
leftButtonInfo, leftButtonInfo,
rightButtonInfo, rightButtonInfo,
controlPanel: getControlPanel(), controlPanel: getControlPanel(),
changeConditions,
changeCurrentPage,
}; };
}; };
+32 -32
View File
@@ -9,23 +9,23 @@
<!-- 断裂带 --> <!-- 断裂带 -->
<FaultComponent <FaultComponent
v-if=" v-if="
useStatusStore().appLoadingCompleted && statusStore.appLoadingCompleted &&
useStatusStore().mapLayers.faultShow.loading statusStore.mapLayers.faultShow.loading
" "
/> />
<!-- 灾害链影响列表组件 --> <!-- 灾害链影响列表组件 -->
<DisasterChainPointComponent <DisasterChainPointComponent
v-if=" v-if="
useStatusStore().appLoadingCompleted && statusStore.appLoadingCompleted &&
useStatusStore().uiComponents.disasterChainPointShow.loading statusStore.uiComponents.disasterChainPointShow.loading
" "
:select-options="selectOptions" :select-options="disasterChainTableStore.selectOptions"
:table-data-list="tableDatas" :table-data-list="disasterChainTableStore.tableDatas"
:table-columns="tableColumns" :table-columns="disasterChainTableStore.tableColumns"
:page-option="paginationConfig" :page-option="disasterChainTableStore.paginationConfig"
@change-conditions="changeConditions" @change-conditions="disasterChainTableStore.changeConditions"
@change-current-page="changeCurrentPage" @change-current-page="disasterChainTableStore.changeCurrentPage"
/> />
<!-- 左侧按钮组件 --> <!-- 左侧按钮组件 -->
@@ -63,36 +63,36 @@
import LeftButtonComponent from '@/component/rain-earthquake/LeftButtonComponent.vue'; import LeftButtonComponent from '@/component/rain-earthquake/LeftButtonComponent.vue';
import RightButtonComponent from '@/component/rain-earthquake/RightButtonComponent.vue'; import RightButtonComponent from '@/component/rain-earthquake/RightButtonComponent.vue';
import { useEarthquakeDisasterChain } from '@/hooks/earthquake/useEarthquakeDisasterChain'; import { useEarthquakeDisasterChain } from '@/hooks/earthquake/useEarthquakeDisasterChain';
import { useDisasterChainTableStore } from '@/stores/useDisasterChainTableStore';
import { useStatusStore } from '@/stores/useStatusStore'; import { useStatusStore } from '@/stores/useStatusStore';
import { DisasterType } from '@/types/common/DisasterType.ts'; import { DisasterType, PointType } from '@/types/common/DisasterType.ts';
import { watch } from 'vue'; import { onBeforeMount } from 'vue';
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
const route = useRoute(); const route = useRoute();
const { const { leftButtonInfo, rightButtonInfo, controlPanel } =
conditions, useEarthquakeDisasterChain();
selectOptions,
tableDatas,
tableColumns,
paginationConfig,
leftButtonInfo,
rightButtonInfo,
controlPanel,
changeConditions,
changeCurrentPage,
} = useEarthquakeDisasterChain();
const statusStore = useStatusStore(); const statusStore = useStatusStore();
// 监听条件变化 const disasterChainTableStore = useDisasterChainTableStore();
watch(
conditions, onBeforeMount(() => {
() => { // 设置相关数据
console.log('条件改变'); disasterChainTableStore.selectOptions = [
}, { value: PointType.LANDSLIDE, label: '滑坡' },
{ deep: true } { value: PointType.DEBRIS_FLOW, label: '泥石流' },
); { value: PointType.RISK_AREA, label: '风险区' },
];
disasterChainTableStore.tableColumns = [
{ title: '名称', key: 'disasterName' },
{ title: '位置', key: 'position' },
{ title: '规模等级', key: 'scaleGrade' },
{ title: '险情等级', key: 'riskGrade' },
];
});
</script> </script>
<style scoped></style> <style scoped></style>