地图订单修改

This commit is contained in:
2025-12-10 22:49:22 +08:00
parent 271b88232c
commit 528e4757dd
17 changed files with 325 additions and 183 deletions

View File

@@ -4,6 +4,8 @@ import userService from '../../../services/userService';
import { showToast } from '../../../utils/helpers';
import { Marker } from '../../../types';
import { DataModule } from './dataModule';
import warehouseService from '../../../services/warehouseService';
import deliveryService from '../../../services/deliveryPersonService';
export class MapModule {
private pageContext: any;
@@ -152,15 +154,65 @@ export class MapModule {
/**
* 加载地图数据(仓库和货运人员)
*/
loadMapData(): void {
// 这里会调用具体的服务来获取数据
// 目前使用模拟数据
const markers = this.generateInitialMarkers();
async loadMapData(): Promise<void> {
try {
// 调用具体的服务来获取数据
const warehouses = await warehouseService.getWarehouses();
const deliveryPersons = await deliveryService.getDeliveryPersons();
// 生成标记点
const markers = this.generateMarkersFromData(warehouses, deliveryPersons);
// 更新数据模块中的标记点
this.dataModule.updateMarkers(markers);
console.log('地图数据加载完成');
} catch (error) {
console.error('加载地图数据失败:', error);
// 如果API调用失败使用空标记点
this.dataModule.updateMarkers([]);
}
}
/**
* 从数据生成标记点
*/
private generateMarkersFromData(warehouses: any[], deliveryPersons: any[]): Marker[] {
const markers: Marker[] = [];
// 更新数据模块中的标记点
this.dataModule.updateMarkers(markers);
// 添加仓库标记点
warehouses.forEach(warehouse => {
if (warehouse.longitude && warehouse.latitude) {
markers.push({
id: warehouse.id,
latitude: warehouse.latitude,
longitude: warehouse.longitude,
title: warehouse.name,
iconPath: '/images/warehouse-marker.png',
width: 30,
height: 30,
type: 'warehouse'
});
}
});
console.log('地图数据加载完成');
// 添加货运人员标记点
deliveryPersons.forEach(person => {
if (person.longitude && person.latitude) {
markers.push({
id: person.id,
latitude: person.latitude,
longitude: person.longitude,
title: person.name,
iconPath: '/images/delivery-marker.png',
width: 30,
height: 30,
type: 'employee'
});
}
});
return markers;
}
/**