修改位置交互,修改代码逻辑
This commit is contained in:
@@ -3,17 +3,32 @@ import { LoginModule } from './loginModule';
|
||||
import { MapModule } from './mapModule';
|
||||
import { OrderModule } from './orderModule';
|
||||
import { WarehouseModule } from './warehouseModule';
|
||||
import { DeliveryPersonModule } from './deliveryPersonModule';
|
||||
import { EmployeeModule } from './deliveryPersonModule';
|
||||
import { LocationModule } from './locationModule';
|
||||
import { DataModule } from './dataModule';
|
||||
import { showToast } from '../../../utils/helpers';
|
||||
|
||||
// 主页面模块接口定义
|
||||
export interface MainPageModule {
|
||||
getLoginModule(): LoginModule;
|
||||
onLoad(): Promise<void>;
|
||||
onShow(): void;
|
||||
onHide(): void;
|
||||
onLogout(): void;
|
||||
hideAllPanels(): void;
|
||||
resetMarkers(): void;
|
||||
cleanup(): void;
|
||||
refreshAllData(): Promise<void>;
|
||||
}
|
||||
|
||||
export class MainPageModule {
|
||||
private pageContext: any;
|
||||
private loginModule: LoginModule;
|
||||
private mapModule: MapModule;
|
||||
private orderModule: OrderModule;
|
||||
private warehouseModule: WarehouseModule;
|
||||
private deliveryPersonModule: DeliveryPersonModule;
|
||||
private employeeModule: EmployeeModule;
|
||||
private locationModule: LocationModule;
|
||||
private dataModule: DataModule;
|
||||
|
||||
constructor(pageContext: any) {
|
||||
@@ -25,7 +40,8 @@ export class MainPageModule {
|
||||
this.mapModule = new MapModule(pageContext, this.dataModule);
|
||||
this.orderModule = new OrderModule(pageContext, this.dataModule);
|
||||
this.warehouseModule = new WarehouseModule(pageContext, this.dataModule);
|
||||
this.deliveryPersonModule = new DeliveryPersonModule(pageContext, this.dataModule);
|
||||
this.employeeModule = new EmployeeModule(pageContext, this.dataModule);
|
||||
this.locationModule = new LocationModule(pageContext, this.dataModule);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -38,6 +54,9 @@ export class MainPageModule {
|
||||
// 初始化应用
|
||||
await this.initApp();
|
||||
|
||||
// 初始化位置模块
|
||||
await this.locationModule.initialize();
|
||||
|
||||
// 加载地图数据
|
||||
await this.loadAllData();
|
||||
|
||||
@@ -58,12 +77,22 @@ export class MainPageModule {
|
||||
this.refreshDataIfNeeded();
|
||||
}
|
||||
|
||||
/**
|
||||
* 页面隐藏
|
||||
*/
|
||||
onHide(): void {
|
||||
console.log('主页面隐藏');
|
||||
|
||||
// 清理位置模块
|
||||
this.locationModule.cleanup();
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化应用
|
||||
*/
|
||||
private async initApp(): Promise<void> {
|
||||
// 初始化数据
|
||||
this.dataModule.initializeData();
|
||||
await this.dataModule.initializeData();
|
||||
console.log('应用初始化');
|
||||
}
|
||||
|
||||
@@ -119,7 +148,7 @@ export class MainPageModule {
|
||||
// 并行加载各种业务数据(需要登录)
|
||||
await Promise.all([
|
||||
this.orderModule.loadPendingOrders(),
|
||||
this.deliveryPersonModule.loadDeliveryPersons()
|
||||
this.employeeModule.loadAllEmployees()
|
||||
]);
|
||||
|
||||
console.log('所有业务数据加载完成');
|
||||
@@ -160,7 +189,7 @@ export class MainPageModule {
|
||||
this.dataModule.updatePendingOrders([]);
|
||||
|
||||
const filteredMarkers = this.pageContext.data.markers.filter((marker: any) =>
|
||||
marker.type !== 'warehouse' && marker.type !== 'delivery_person'
|
||||
marker.type !== 'warehouse' && marker.type !== 'employee'
|
||||
);
|
||||
this.dataModule.updateMarkers(filteredMarkers);
|
||||
}
|
||||
@@ -230,7 +259,7 @@ export class MainPageModule {
|
||||
this.warehouseModule.onWarehouseMarkerClick(marker.data, e);
|
||||
break;
|
||||
case 'delivery_person':
|
||||
this.deliveryPersonModule.onDeliveryPersonMarkerClick(marker.data, e);
|
||||
this.employeeModule.onDeliveryPersonMarkerClick(marker.data, e);
|
||||
break;
|
||||
default:
|
||||
this.mapModule.onMarkerTap(e);
|
||||
@@ -267,10 +296,17 @@ export class MainPageModule {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取货运人员模块
|
||||
* 获取员工模块
|
||||
*/
|
||||
getDeliveryPersonModule(): DeliveryPersonModule {
|
||||
return this.deliveryPersonModule;
|
||||
getEmployeeModule(): EmployeeModule {
|
||||
return this.employeeModule;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取位置模块
|
||||
*/
|
||||
getLocationModule(): LocationModule {
|
||||
return this.locationModule;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user