2026-04-14 08:59:05 +08:00
|
|
|
import { defineStore } from 'pinia';
|
2026-04-15 22:41:06 +08:00
|
|
|
import { reactive, ref } from 'vue';
|
2026-04-14 08:59:05 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 全局状态管理
|
|
|
|
|
* @returns 应用状态及相关方法
|
|
|
|
|
*/
|
|
|
|
|
export const useStatusStore = defineStore('status', () => {
|
2026-04-15 22:41:06 +08:00
|
|
|
// ============================ 应用级状态 ================================
|
2026-04-14 08:59:05 +08:00
|
|
|
|
|
|
|
|
/**
|
2026-04-15 22:41:06 +08:00
|
|
|
* 应用加载完成状态
|
2026-04-14 08:59:05 +08:00
|
|
|
*/
|
2026-04-15 22:41:06 +08:00
|
|
|
const appLoadingCompleted = ref(false);
|
2026-04-14 08:59:05 +08:00
|
|
|
|
2026-04-15 22:41:06 +08:00
|
|
|
// ============================ UI 组件显示状态 ================================
|
2026-04-14 08:59:05 +08:00
|
|
|
|
|
|
|
|
/**
|
2026-04-15 22:41:06 +08:00
|
|
|
* UI 组件显示状态集合
|
2026-04-14 08:59:05 +08:00
|
|
|
*/
|
2026-04-15 22:41:06 +08:00
|
|
|
const uiComponents = reactive({
|
|
|
|
|
/** 图例显示状态 */
|
|
|
|
|
legendShow: true,
|
|
|
|
|
/** 灾情链影响点表格显示状态 */
|
|
|
|
|
disasterChainPointShow: false,
|
|
|
|
|
});
|
2026-04-14 08:59:05 +08:00
|
|
|
|
2026-04-15 22:41:06 +08:00
|
|
|
// ============================ 地图图层显示状态 ================================
|
2026-04-14 08:59:05 +08:00
|
|
|
|
|
|
|
|
/**
|
2026-04-15 22:41:06 +08:00
|
|
|
* 地图基础图层显示状态
|
2026-04-14 08:59:05 +08:00
|
|
|
*/
|
2026-04-15 22:41:06 +08:00
|
|
|
const mapLayers = reactive({
|
|
|
|
|
/** 显示行政区划 */
|
|
|
|
|
showAdministrativeDivision: true,
|
|
|
|
|
/** 隐患点显示状态 */
|
|
|
|
|
hiddenDangerPointShow: true,
|
|
|
|
|
/** 风险点显示状态 */
|
|
|
|
|
riskPointShow: true,
|
|
|
|
|
});
|
2026-04-14 08:59:05 +08:00
|
|
|
|
|
|
|
|
/**
|
2026-04-15 22:41:06 +08:00
|
|
|
* POI图层显示状态
|
|
|
|
|
*/
|
|
|
|
|
const poiLayers = reactive({
|
|
|
|
|
/** 显示医院 */
|
|
|
|
|
showHospital: false,
|
|
|
|
|
/** 显示危险源 */
|
|
|
|
|
showDangerSource: false,
|
|
|
|
|
/** 显示避难所 */
|
|
|
|
|
showRefugeeShelter: false,
|
|
|
|
|
/** 显示消防站 */
|
|
|
|
|
showFireStation: false,
|
|
|
|
|
/** 显示储备点 */
|
|
|
|
|
showReservePoint: false,
|
|
|
|
|
/** 显示学校 */
|
|
|
|
|
showSchool: false,
|
|
|
|
|
/** 显示人口网格 */
|
|
|
|
|
showPopulationGrid: false,
|
|
|
|
|
/** 显示地铁站 */
|
|
|
|
|
showSubwayStation: false,
|
|
|
|
|
});
|
2026-04-14 08:59:05 +08:00
|
|
|
|
|
|
|
|
/**
|
2026-04-15 22:41:06 +08:00
|
|
|
* 基础设施图层显示状态
|
|
|
|
|
*/
|
|
|
|
|
const infrastructureLayers = reactive({
|
|
|
|
|
/** 显示管网系统 */
|
|
|
|
|
showNetworkSystem: false,
|
|
|
|
|
/** 显示交通道路 */
|
|
|
|
|
showTrafficRoad: false,
|
|
|
|
|
/** 显示桥梁 */
|
|
|
|
|
showBridge: false,
|
|
|
|
|
/** 显示高速 */
|
|
|
|
|
showHighway: false,
|
|
|
|
|
/** 显示国道 */
|
|
|
|
|
showMainRoad: false,
|
|
|
|
|
/** 显示水库 */
|
|
|
|
|
showReservoir: false,
|
|
|
|
|
});
|
2026-04-14 08:59:05 +08:00
|
|
|
|
|
|
|
|
return {
|
2026-04-15 22:41:06 +08:00
|
|
|
appLoadingCompleted,
|
|
|
|
|
uiComponents,
|
|
|
|
|
mapLayers,
|
|
|
|
|
poiLayers,
|
|
|
|
|
infrastructureLayers,
|
2026-04-14 08:59:05 +08:00
|
|
|
};
|
|
|
|
|
});
|