所有一级页面和不分二级页面
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
import '../models/workorder_model.dart';
|
||||
|
||||
/// 工单远程数据源抽象类
|
||||
abstract class WorkOrderRemoteDataSource {
|
||||
/// 获取工单列表
|
||||
Future<List<WorkOrderModel>> getWorkOrderList({
|
||||
String? status,
|
||||
});
|
||||
|
||||
/// 获取工单统计
|
||||
Future<WorkOrderCountModel> getWorkOrderCount();
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
import '../../../../../core/consts/workorder_consts.dart';
|
||||
import 'workorder_remote_datasource.dart';
|
||||
import '../models/workorder_model.dart';
|
||||
|
||||
/// 工单远程数据源实现(模拟数据)
|
||||
class WorkOrderRemoteDataSourceImpl implements WorkOrderRemoteDataSource {
|
||||
@override
|
||||
Future<List<WorkOrderModel>> getWorkOrderList({String? status}) async {
|
||||
// 模拟网络延迟
|
||||
await Future.delayed(const Duration(seconds: 1));
|
||||
|
||||
// 模拟数据
|
||||
final allOrders = [
|
||||
WorkOrderModel(
|
||||
id: '1',
|
||||
title: '逆变器通讯故障处理',
|
||||
orderNo: 'WO-20250521001',
|
||||
priority: WorkOrderPriority.high,
|
||||
executor: null,
|
||||
createTime: DateTime(2025, 5, 21, 10, 12),
|
||||
completeTime: null,
|
||||
location: 'A区 / INV-001',
|
||||
status: WorkOrderStatus.pending,
|
||||
progress: null,
|
||||
),
|
||||
WorkOrderModel(
|
||||
id: '2',
|
||||
title: '组件清洗作业',
|
||||
orderNo: 'WO-20250521002',
|
||||
priority: WorkOrderPriority.medium,
|
||||
executor: '张工',
|
||||
createTime: DateTime(2025, 5, 21, 9, 30),
|
||||
completeTime: null,
|
||||
location: 'B区',
|
||||
status: WorkOrderStatus.executing,
|
||||
progress: 60.0,
|
||||
),
|
||||
WorkOrderModel(
|
||||
id: '3',
|
||||
title: '汇流箱巡检',
|
||||
orderNo: 'WO-20250520098',
|
||||
priority: WorkOrderPriority.low,
|
||||
executor: '李工',
|
||||
createTime: DateTime(2025, 5, 20, 14, 20),
|
||||
completeTime: DateTime(2025, 5, 20, 16, 32),
|
||||
location: 'C区',
|
||||
status: WorkOrderStatus.completed,
|
||||
progress: 100.0,
|
||||
),
|
||||
];
|
||||
|
||||
// 根据状态筛选
|
||||
if (status != null && status != 'all') {
|
||||
return allOrders
|
||||
.where((order) => _statusToString(order.status) == status)
|
||||
.toList();
|
||||
}
|
||||
|
||||
return allOrders;
|
||||
}
|
||||
|
||||
@override
|
||||
Future<WorkOrderCountModel> getWorkOrderCount() async {
|
||||
// 模拟网络延迟
|
||||
await Future.delayed(const Duration(milliseconds: 500));
|
||||
|
||||
// 模拟统计数据
|
||||
return WorkOrderCountModel(
|
||||
pendingCount: 12,
|
||||
executingCount: 8,
|
||||
todayCompletedCount: 18,
|
||||
);
|
||||
}
|
||||
|
||||
String _statusToString(WorkOrderStatus status) {
|
||||
switch (status) {
|
||||
case WorkOrderStatus.pending:
|
||||
return 'pending';
|
||||
case WorkOrderStatus.executing:
|
||||
return 'executing';
|
||||
case WorkOrderStatus.completed:
|
||||
return 'completed';
|
||||
case WorkOrderStatus.all:
|
||||
return 'all';
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user