修改回来 不合并统计数据和点位接口 调整两个异步函数的先后顺序

This commit is contained in:
huangchenhao 2025-12-08 16:59:59 +08:00
parent fda22241f7
commit 33f0e16448

View File

@ -682,7 +682,7 @@ const handleForcePresetToggle = async () => {
// , // ,
// 50km // 50km
disasterData.updateSearchRadius(50); // disasterData.updateSearchRadius(50);
// 1. (使) // 1. (使)
if (isCompareMode.value) { if (isCompareMode.value) {
@ -945,14 +945,16 @@ const handleDistanceChange = async (newDistance) => {
createOrUpdateRangeCircle(mapStore.viewer, newDistance); createOrUpdateRangeCircle(mapStore.viewer, newDistance);
} }
// 3. // 3.
// await loadEmergencyResources(DISASTER_CENTER.lon, DISASTER_CENTER.lat) await loadEmergencyBaseAndPreset(DISASTER_CENTER.lon, DISASTER_CENTER.lat);
// 4.
await loadReserveCentersAndPresets(DISASTER_CENTER.lon, DISASTER_CENTER.lat);
// 3. () // 3. ()
await loadReserveCentersAndPresetsAndStatistics(DISASTER_CENTER.lon, DISASTER_CENTER.lat); // await loadReserveCentersAndPresetsAndStatistics(DISASTER_CENTER.lon, DISASTER_CENTER.lat);
// // 5. ()
// await loadEmergencyBaseAndPreset(DISASTER_CENTER.lon, DISASTER_CENTER.lat);
}; };
/** /**
@ -977,14 +979,23 @@ const showAllMarkersAndRange = async () => {
// 2. // 2.
// hideMarkers() // hideMarkers()
// 2. /
// console.log("[index.vue] /...");
// await loadReserveCentersAndPresetsAndStatistics(
// DISASTER_CENTER.lon,
// DISASTER_CENTER.lat,
// true
// );
// 2. / // 2. /
console.log("[index.vue] 加载全部储备中心/预置点到地图..."); console.log("[index.vue] 加载全部储备中心/预置点到地图...");
await loadReserveCentersAndPresetsAndStatistics( await loadReserveCentersAndPresets(
DISASTER_CENTER.lon, DISASTER_CENTER.lon,
DISASTER_CENTER.lat, DISASTER_CENTER.lat,
true true
); );
// 3. // 3.
showRangeCircle(); showRangeCircle();
@ -1182,6 +1193,85 @@ const loadEmergencyResources = async (longitude, latitude) => {
} }
}; };
/**
* 加载储备中心和预置点数据 以及加载应急力量统计数据
* @param {number} longitude - 经度可选不传则查询全部
* @param {number} latitude - 纬度可选不传则查询全部
* @param {boolean} loadAllForMap - 是否加载全部点位到地图true时不限制距离
*/
const loadReserveCentersAndPresets = async (longitude,
latitude,
loadAllForMap = false) => {
try {
//
const params = {};
if (!loadAllForMap && longitude !== undefined && latitude !== undefined) {
//
params.longitude = longitude;
params.latitude = latitude;
params.maxDistance = disasterData.forcePreset.value.searchRadius;
}
// loadAllForMap true
const response = await request({
url: `snow-ops-platform/yhYjll/list`,
method: "GET",
params,
});
if (response?.data && Array.isArray(response.data)) {
console.log(
"[index.vue] 储备中心和预置点数据加载成功:",
response.data?.length,
"个点位"
);
// 1. stations
const transformedStations = disasterData.transformReserveDataToStations(
response.data,
{ longitude, latitude }
);
// 2. "" forcePreset.stations station-list
if (!loadAllForMap && transformedStations.length > 0) {
disasterData.forcePreset.value.stations = transformedStations;
console.log(
"[index.vue] 已更新 forcePreset.stations:",
transformedStations.length,
"个"
);
}
// 3.
if (mapStore.viewer) {
console.log("[index.vue] 添加储备中心和预置点地图标记...");
clearReserveCenterMarkers(mapStore.viewer);
await addReserveCenterMarkers(
mapStore.viewer,
response.data,
{
heightOffset: 10,
},
{ longitude, latitude }
);
} else {
console.warn("[index.vue] 地图viewer未就绪跳过标记更新");
}
} else {
console.warn("[index.vue] 储备中心和预置点接口返回数据为空");
}
return response;
} catch (error) {
console.error("[index.vue] 加载储备中心和预置点数据失败:", error);
ElMessage.warning({
message: "储备中心和预置点数据加载失败",
duration: 3000,
});
return null;
}
}
/** /**
* 加载储备中心和预置点数据 以及加载应急力量统计数据 * 加载储备中心和预置点数据 以及加载应急力量统计数据
* @param {number} longitude - 经度可选不传则查询全部 * @param {number} longitude - 经度可选不传则查询全部
@ -1277,36 +1367,36 @@ const loadReserveCentersAndPresetsAndStatistics = async (
* 加载应急基地与预置点应急装备应急物资应急人员的统计数量 * 加载应急基地与预置点应急装备应急物资应急人员的统计数量
* /snow-ops-platform/yhYjll/statistics * /snow-ops-platform/yhYjll/statistics
*/ */
// const loadEmergencyBaseAndPreset = async (longitude, latitude) => { const loadEmergencyBaseAndPreset = async (longitude, latitude) => {
// try { try {
// const response = await request({ const response = await request({
// url: `/snow-ops-platform/yhYjll/statistics`, url: `/snow-ops-platform/yhYjll/statistics`,
// method: "GET", method: "GET",
// params: { params: {
// longitude, longitude,
// latitude, latitude,
// maxDistance: disasterData.forcePreset.value.searchRadius, maxDistance: disasterData.forcePreset.value.searchRadius,
// }, },
// }); });
// if (response?.data) { if (response?.data) {
// // (,stations) // (,stations)
// disasterData.updateForcePreset(response.data, { onlyStatistics: true }); disasterData.updateForcePreset(response.data, { onlyStatistics: true });
// console.log("[index.vue] :", response.data); console.log("[index.vue] 应急统计数据加载成功:", response.data);
// } else { } else {
// console.warn("[index.vue] "); console.warn("[index.vue] 应急统计数据接口返回数据为空");
// } }
// return response; return response;
// } catch (error) { } catch (error) {
// console.error("[index.vue] :", error); console.error("[index.vue] 加载应急统计数据失败:", error);
// ElMessage.warning({ ElMessage.warning({
// message: "", message: "应急统计数据加载失败",
// duration: 3000, duration: 3000,
// }); });
// return null; return null;
// } }
// }; };
/** /**
* 查询应急装备和应急物资列表 /snow-ops-platform/yhYjll/listMaterials * 查询应急装备和应急物资列表 /snow-ops-platform/yhYjll/listMaterials
@ -1558,13 +1648,17 @@ const initializeScene = async () => {
hideMarkers(); hideMarkers();
console.log("[index.vue] 已隐藏应急资源标记(等待快速匹配激活)"); console.log("[index.vue] 已隐藏应急资源标记(等待快速匹配激活)");
// 12. // // 12.
console.log("[index.vue] 加载储备中心和预置点数据..."); // console.log("[index.vue] ...");
await loadReserveCentersAndPresetsAndStatistics(DISASTER_CENTER.lon, DISASTER_CENTER.lat); // await loadReserveCentersAndPresetsAndStatistics(DISASTER_CENTER.lon, DISASTER_CENTER.lat);
// // 13. // 12.
// console.log("[index.vue] ..."); console.log("[index.vue] 加载应急统计数据...");
// await loadEmergencyBaseAndPreset(DISASTER_CENTER.lon, DISASTER_CENTER.lat); await loadEmergencyBaseAndPreset(DISASTER_CENTER.lon, DISASTER_CENTER.lat);
// 13.
console.log("[index.vue] 加载储备中心和预置点数据...");
await loadReserveCentersAndPresets(DISASTER_CENTER.lon, DISASTER_CENTER.lat);
cesiumViewer.value = viewer; cesiumViewer.value = viewer;
console.log("[index.vue] 场景初始化完成"); console.log("[index.vue] 场景初始化完成");