2026-04-13 10:30:03 +08:00
|
|
|
import type { ClickObject } from '@/types/cesium/ClickObject';
|
|
|
|
|
import { defineStore } from 'pinia';
|
2026-04-18 16:40:04 +08:00
|
|
|
import { reactive } from 'vue';
|
2026-04-11 18:58:43 +08:00
|
|
|
|
|
|
|
|
/**
|
2026-04-13 22:28:56 +08:00
|
|
|
* 加载信息弹窗相关状态管理
|
2026-04-18 16:40:04 +08:00
|
|
|
* @returns 点击对象、隐患点/风险点/医院状态及相关方法
|
2026-04-11 18:58:43 +08:00
|
|
|
*/
|
2026-04-13 10:30:03 +08:00
|
|
|
export const useLoadingInformationStore = defineStore(
|
|
|
|
|
'loadingInformation',
|
|
|
|
|
() => {
|
2026-04-18 16:40:04 +08:00
|
|
|
// ============================ 点击对象状态 ================================
|
|
|
|
|
|
2026-04-13 22:28:56 +08:00
|
|
|
/**
|
|
|
|
|
* 点击的对象
|
|
|
|
|
*/
|
2026-04-18 16:40:04 +08:00
|
|
|
const clickObject = reactive<ClickObject>({ id: '', primitive: null });
|
|
|
|
|
|
|
|
|
|
// ============================ 隐患点加载状态 ================================
|
2026-04-11 18:58:43 +08:00
|
|
|
|
2026-04-13 22:28:56 +08:00
|
|
|
/**
|
2026-04-18 16:40:04 +08:00
|
|
|
* 隐患点加载信息状态
|
2026-04-13 22:28:56 +08:00
|
|
|
*/
|
2026-04-18 16:40:04 +08:00
|
|
|
const hiddenPoint = reactive({
|
|
|
|
|
/** 加载状态 */
|
|
|
|
|
loading: false,
|
|
|
|
|
/** 隐患点ID */
|
|
|
|
|
id: -1,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// ============================ 风险点加载状态 ================================
|
2026-04-11 18:58:43 +08:00
|
|
|
|
2026-04-13 22:28:56 +08:00
|
|
|
/**
|
2026-04-18 16:40:04 +08:00
|
|
|
* 风险点加载信息状态
|
2026-04-13 22:28:56 +08:00
|
|
|
*/
|
2026-04-18 16:40:04 +08:00
|
|
|
const riskPoint = reactive({
|
|
|
|
|
/** 加载状态 */
|
|
|
|
|
loading: false,
|
|
|
|
|
/** 风险点ID */
|
|
|
|
|
id: -1,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// ============================ 医院加载状态 ================================
|
|
|
|
|
|
2026-04-13 22:28:56 +08:00
|
|
|
/**
|
2026-04-18 16:40:04 +08:00
|
|
|
* 医院加载信息状态
|
2026-04-13 22:28:56 +08:00
|
|
|
*/
|
2026-04-18 16:40:04 +08:00
|
|
|
const hospital = reactive({
|
|
|
|
|
/** 加载状态 */
|
|
|
|
|
loading: false,
|
|
|
|
|
/** 医院ID */
|
|
|
|
|
id: -1,
|
|
|
|
|
});
|
2026-04-11 18:58:43 +08:00
|
|
|
|
2026-04-18 19:03:06 +08:00
|
|
|
// ============================== 危险源加载状态 ================================
|
|
|
|
|
const dangerousSource = reactive({
|
|
|
|
|
/** 加载状态 */
|
|
|
|
|
loading: false,
|
|
|
|
|
/** 危险源ID */
|
|
|
|
|
id: -1,
|
|
|
|
|
});
|
|
|
|
|
|
2026-04-13 22:28:56 +08:00
|
|
|
/**
|
2026-04-18 16:40:04 +08:00
|
|
|
* 重置所有状态
|
2026-04-13 22:28:56 +08:00
|
|
|
*/
|
2026-04-11 18:58:43 +08:00
|
|
|
const resetStatue = () => {
|
2026-04-18 16:40:04 +08:00
|
|
|
// 点击对象重置
|
|
|
|
|
clickObject.id = '';
|
|
|
|
|
clickObject.primitive = null;
|
2026-04-11 18:58:43 +08:00
|
|
|
|
2026-04-18 16:40:04 +08:00
|
|
|
// 隐患点状态重置
|
|
|
|
|
hiddenPoint.loading = false;
|
|
|
|
|
hiddenPoint.id = -1;
|
|
|
|
|
|
|
|
|
|
// 风险点状态重置
|
|
|
|
|
riskPoint.loading = false;
|
|
|
|
|
riskPoint.id = -1;
|
|
|
|
|
|
|
|
|
|
// 医院状态重置
|
|
|
|
|
hospital.loading = false;
|
|
|
|
|
hospital.id = -1;
|
2026-04-18 19:03:06 +08:00
|
|
|
|
|
|
|
|
// 危险源状态重置
|
|
|
|
|
dangerousSource.loading = false;
|
|
|
|
|
dangerousSource.id = -1;
|
2026-04-13 10:30:03 +08:00
|
|
|
};
|
2026-04-11 18:58:43 +08:00
|
|
|
|
2026-04-13 10:30:03 +08:00
|
|
|
return {
|
2026-04-18 16:40:04 +08:00
|
|
|
clickObject,
|
|
|
|
|
hiddenPoint,
|
|
|
|
|
riskPoint,
|
|
|
|
|
hospital,
|
2026-04-18 19:03:06 +08:00
|
|
|
dangerousSource,
|
2026-04-13 10:30:03 +08:00
|
|
|
resetStatue,
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
);
|