Przeglądaj źródła

Merge branch 'dev_services' of http://git.wmzhubo.com/guadoutech/YYHome into dev_services

glglove 1 miesiąc temu
rodzic
commit
ba2d99a680

+ 26 - 28
packages/cpt_services/lib/modules/services/repair_history/history_page.dart

@@ -1,4 +1,5 @@
 import 'package:cs_resources/generated/assets.dart';
+import 'package:domain/entity/garage_sale_history_entity.dart';
 import 'package:domain/entity/garage_sale_rent_entity.dart';
 import 'package:flutter/material.dart';
 import 'package:auto_route/auto_route.dart';
@@ -62,7 +63,7 @@ class RepairHistoryPage extends HookConsumerWidget {
     return Scaffold(
       // appBar: MyAppBar.appBar(
       //   context,
-      //   "RepairHistory",
+      //   "History",
       //   backgroundColor: context.appColors.whiteBG,
       // ),
       backgroundColor: ColorUtils.string2Color("#F2F3F6"),
@@ -73,12 +74,12 @@ class RepairHistoryPage extends HookConsumerWidget {
             key: ValueKey('history'),
             controller: vm.refreshController,
             // 上拉加载
-            onLoad: () async{
+            onLoad: () async {
               Log.d("----onLoad");
               vm.loadMore();
             },
             // 下拉刷新
-            onRefresh: () async{
+            onRefresh: () async {
               Log.d("----onRefresh");
               vm.onRefresh();
             },
@@ -88,24 +89,26 @@ class RepairHistoryPage extends HookConsumerWidget {
               errorRetry: () {
                 vm.retryRequest();
               },
-              successSliverWidget:[
+              successSliverWidget: [
                 SliverList(
                   delegate: SliverChildBuilderDelegate(
-                        (context, index) {
-                      return  _buildRepairHistoryItem(
+                    (context, index) {
+                      return _buildRepairHistoryItem(
+                        context,
+                        ref,
+                        state.list[index],
+                        vm,
+                        cleanServiceType,
+                        serviceStatusCode,
+                      ).onTap(() {
+                        vm.gotoCleanOrderDetailPage(
                           context,
-                          ref,
-                          state.list[index],
-                          vm,
+                          state.list[index].id != null
+                              ? int.tryParse(state.list[index].id!) ?? 0
+                              : 0,
                           cleanServiceType,
                           serviceStatusCode,
-                      ).onTap((){
-                        // vm.gotoCleanOrderDetailPage(
-                        //   context,
-                        //   state.list?[index]['id'],
-                        //   cleanServiceType,
-                        //   serviceStatusCode,
-                        // );
+                        );
                       });
                     },
                     childCount: state.list.length,
@@ -113,12 +116,11 @@ class RepairHistoryPage extends HookConsumerWidget {
                 )
               ],
             ),
-          ).marginOnly(left: 15,right: 15,top: 0,bottom: 15)
-      ),
+          ).marginOnly(left: 15, right: 15, top: 0, bottom: 15)),
     );
   }
 
-  Widget _buildRepairHistoryItem(BuildContext context, WidgetRef ref, Map<String, dynamic> item, vm, String cleanServiceType, int serviceStatusCode){
+  Widget _buildRepairHistoryItem(BuildContext context, WidgetRef ref, GarageSaleHistoryList item, vm, String cleanServiceType, int serviceStatusCode){
     return Container(
       margin: const EdgeInsets.only(top: 9),
       width: double.infinity,
@@ -133,16 +135,12 @@ class RepairHistoryPage extends HookConsumerWidget {
           ),
         ],
       ),
-      child: RepairStausCardItem(
+      child: StausCardItem(
         key: UniqueKey(),
-        cardHeight: 150.0,
-        serviceId: item['id'],
-        cleanServiceType: cleanServiceType,
-        serviceStatusCode: serviceStatusCode,
-        itemObj: item.cast<String, dynamic>(),
-        onClickCard: (dynamic value) async {
-        },
+        cardHeight: 175.0,
+        item: item,
+        onClickCard: (dynamic value) async {},
       ),
     );
   }
-}
+}

+ 4 - 4
packages/cpt_services/lib/modules/services/repair_history/history_state.dart

@@ -1,3 +1,4 @@
+import 'package:domain/entity/garage_sale_history_entity.dart';
 import 'package:widgets/load_state_layout.dart';
 
 class RepairHistoryState {
@@ -7,8 +8,7 @@ class RepairHistoryState {
 
   String? keyword;
   bool? isLiked;
-  List<Map<String, dynamic>> list;
-
+  List<GarageSaleHistoryList> list;
 
   RepairHistoryState({
     this.loadingState = LoadState.State_Loading,
@@ -25,7 +25,7 @@ class RepairHistoryState {
     bool? isLiked,
     Map<String, dynamic>? activeSortMap,
     List<Map<String, dynamic>>? activeCateGoryList,
-    List<Map<String, dynamic>>? list,
+    List<GarageSaleHistoryList>? list,
   }) {
     return RepairHistoryState(
       loadingState: loadingState ?? this.loadingState,
@@ -35,4 +35,4 @@ class RepairHistoryState {
       list: list ?? this.list,
     );
   }
-}
+}

+ 37 - 162
packages/cpt_services/lib/modules/services/repair_history/history_vm.dart

@@ -1,9 +1,10 @@
-
 import 'package:cs_resources/generated/assets.dart';
+import 'package:domain/entity/garage_sale_history_entity.dart';
 import 'package:domain/entity/garage_sale_rent_entity.dart';
 import 'package:domain/entity/newsfeed_detail_entity.dart';
 import 'package:flutter/cupertino.dart';
 import 'package:plugin_platform/engine/toast/toast_engine.dart';
+import 'package:plugin_platform/http/dio/dio_cancelable_mixin.dart';
 import 'package:riverpod_annotation/riverpod_annotation.dart';
 import 'package:router/ext/auto_router_extensions.dart';
 import 'package:shared/utils/log_utils.dart';
@@ -18,10 +19,10 @@ import 'history_state.dart';
 part 'history_vm.g.dart';
 
 @riverpod
-class RepairHistoryVm extends _$RepairHistoryVm {
+class RepairHistoryVm extends _$RepairHistoryVm with DioCancelableMixin {
   late ServicesRespository servicesRespositoryInstance;
   bool _needShowPlaceholder = false; //是否展示LoadingView
-  int _page = 1;  // 当前页
+  int _page = 1; // 当前页
   int _limit = 10; // 每页数量
   int _count = 0; // 总条数
 
@@ -33,33 +34,29 @@ class RepairHistoryVm extends _$RepairHistoryVm {
 
   // Refresh 控制器
   final EasyRefreshController refreshController = EasyRefreshController(
-    controlFinishRefresh: true,  //允许刷新
-    controlFinishLoad: true,   //允许加载
+    controlFinishRefresh: true, //允许刷新
+    controlFinishLoad: true, //允许加载
   );
 
   RepairHistoryState initState() {
-    return RepairHistoryState(
-        list: []
-    );
+    return RepairHistoryState(list: []);
   }
 
   @override
-  RepairHistoryState build(){
+  RepairHistoryState build() {
+    servicesRespositoryInstance = ref.read(servicesRespositoryProvider);
     // 引入数据仓库
     // servicesRespositoryInstance = ref.read(commonGarageRespositoryProvider);
     final state = initState();
     Log.d("--------------------------build---------------------");
+    registerCancellation();
 
     return state;
   }
 
-
   //刷新页面状态
   void changeLoadingState(LoadState loadState, String? errorMsg) {
-    state = state.copyWith(
-        loadingState: loadState,
-        errorMessage: errorMsg
-    );
+    state = state.copyWith(loadingState: loadState, errorMessage: errorMsg);
   }
 
   // 初始化页面数据
@@ -75,7 +72,6 @@ class RepairHistoryVm extends _$RepairHistoryVm {
     getListData();
   }
 
-
   // 下拉刷新
   Future onRefresh() async {
     // 当前pageView 页面正处于显示状态
@@ -85,7 +81,6 @@ class RepairHistoryVm extends _$RepairHistoryVm {
     getListData();
   }
 
-
   // 手动进行刷新
   Future triggerRefresh() async {
     Log.d("trggerRefresh");
@@ -94,7 +89,7 @@ class RepairHistoryVm extends _$RepairHistoryVm {
 
   // 手动进行刷新
   Future directRefresh() async {
-    state = state.copyWith(list:[]);
+    state = state.copyWith(list: []);
     // 注意:由于 nestedscrollview 嵌套easyfresh 组件  refreshController.callRefresh() 自动刷新只能滚动顶部但是不会触发下拉刷新,这里调用是 用到了将其滚动到顶部的作用,进而刷新操作主动掉接口
     // https://github.com/xuelongqy/flutter_easy_refresh/issues/692
     refreshController.callRefresh();
@@ -104,7 +99,6 @@ class RepairHistoryVm extends _$RepairHistoryVm {
     getListData();
   }
 
-
   // 重试请求
   Future retryRequest() async {
     _page = 1;
@@ -112,188 +106,69 @@ class RepairHistoryVm extends _$RepairHistoryVm {
     getListData();
   }
 
-
   // 获取list 列表数据
   Future getListData<T>({bool? isLoadMore}) async {
     if (_needShowPlaceholder) {
       changeLoadingState(LoadState.State_Loading, null);
     }
 
-    List<Map<String, dynamic>> list = [
-      {
-        'id':1,
-        'service_type': 0,  // 0 房屋保洁 1 空调保洁  2 维修
-        'cover_img':  'https://img2.baidu.com/it/u=3489233687,2364672159&fm=253&fmt=auto&app=120&f=JPEG?w=507&h=500',
-        'resources': ['https://img2.baidu.com/it/u=3489233687,2364672159&fm=253&fmt=auto&app=120&f=JPEG?w=507&h=500'],
-        'title': 'House Cleaning Services',
-        'duration': 'Daily cleaning for 2 hours',
-        'totalPrice': 66,
-        'visit_time': '14 0ct 2024 15:00',
-        'order_time': '13 0ct 2024 12:00',
-        'status_text': 'In Progress',
-        'status_code': 2,
-        'company_name': 'HONG YE GROUP PTE LTD',
-      },
-      {
-        'id':2,
-        'service_type': 0,  // 0 房屋保洁 1 空调保洁  2 维修
-        'cover_img':  'https://img2.baidu.com/it/u=3489233687,2364672159&fm=253&fmt=auto&app=120&f=JPEG?w=507&h=500',
-        'resources': ['https://img2.baidu.com/it/u=3489233687,2364672159&fm=253&fmt=auto&app=120&f=JPEG?w=507&h=500'],
-        'title': 'House Cleaning Services',
-        'duration': 'Daily cleaning for 2 hours',
-        'totalPrice': 66,
-        'visit_time': '14 0ct 2024 15:00',
-        'order_time': '13 0ct 2024 12:00',
-        'status_text': 'In Progress',
-        'status_code': 2,
-        'company_name': 'HONG YE GROUP PTE LTD',
-      },
-      {
-        'id':3,
-        'service_type': 0,  // 0 房屋保洁 1 空调保洁  2 维修
-        'cover_img':  'https://img2.baidu.com/it/u=3489233687,2364672159&fm=253&fmt=auto&app=120&f=JPEG?w=507&h=500',
-        'resources': ['https://img2.baidu.com/it/u=3489233687,2364672159&fm=253&fmt=auto&app=120&f=JPEG?w=507&h=500'],
-        'title': 'House Cleaning Services',
-        'duration': 'Daily cleaning for 2 hours',
-        'totalPrice': 66,
-        'visit_time': '14 0ct 2024 15:00',
-        'order_time': '13 0ct 2024 12:00',
-        'status_text': 'In Progress',
-        'status_code': 3,
-        'company_name': 'HONG YE GROUP PTE LTD',
-      },
-    ];
-    handlerResultData(true, list:list);
+    // 获取列表
+    var listResult =
+        await servicesRespositoryInstance.fetchRepairServiceOrderList(
+      status: 1,
+      curPage: _page,
+      cancelToken: cancelToken,
+    );
 
-    // try {
-    //   //请求网络
-    //   Map<String, dynamic>  params = {
-    //     "type": 1,  // 类型(1=Sale,2=Rent)
-    //     "category_id": _queryParams['category_id'],
-    //     "keyword": _queryParams['keyword'],
-    //     "page": _page,
-    //     "limit": _limit,
-    //   };
-    //   Log.d("请求参数------$params");
-    //   final result = await servicesRespositoryInstance.fetchGarageDataList(params);
-    //   //校验成功失败
-    //   if (result.isSuccess) {
-    //     // handlerResultList((result.data as GarageSaleRentEntity).list as List<GarageSaleRentList>, isLoadMore ?? false);
-    //   } else {
-    //     String errorMessage = result.errorMsg!;
-    //     changeLoadingState(LoadState.State_Error, errorMessage);
-    //     ToastEngine.show(result.errorMsg ?? "Network Load Error");
-    //   }
-    // } catch (e) {
-    //   ToastEngine.show("Error: $e");
-    // }
+    // 处理数据
+    if (listResult.isSuccess) {
+      handleList(listResult.data?.list);
+    } else {
+      changeLoadingState(LoadState.State_Error, listResult.errorMsg);
+    }
 
     // 最后赋值
     _needShowPlaceholder = false;
-
   }
 
-  handlerResultData(bool isList, {List<Map<String, dynamic>>? list, dynamic? data}){
-    Future.delayed(const Duration(seconds: 1)).then((value) {
-      if(isList){
-        // list 数据模式
-        if(list != null && list.isNotEmpty){
-          if(_page == 1){
-            state.list.clear();
-            state.list!.addAll(list);
-            refreshController.finishRefresh();
-            changeLoadingState(LoadState.State_Success, null);
-          }else {
-            final allList = state.list;
-            allList!.addAll(list);
-            state = state.copyWith(list: allList);
-            refreshController.finishLoad();
-          }
-        }else {
-          if(_page == 1){
-            state.list.clear();
-            changeLoadingState(LoadState.State_Empty, null);
-            refreshController.finishRefresh();
-          }else {
-            refreshController.finishLoad(IndicatorResult.noMore);
-          }
-        }
-      }else {
-        // 单个数据模式
-        if(data!=null){
-          if(_page == 1){
-            refreshController.finishRefresh();
-          }else{
-            refreshController.finishLoad();
-          }
-          changeLoadingState(LoadState.State_Success, null);
-        }else {
-          if(_page == 1){
-            refreshController.finishRefresh();
-          }else{
-            refreshController.finishLoad();
-          }
-          changeLoadingState(LoadState.State_Empty, null);
-        }
-      }
-    });
-  }
-
-  void handlerResultList(List<GarageSaleRentList>? list, bool isLoadMore) {
+  // 处理数据与展示的逻辑
+  void handleList(List<GarageSaleHistoryList>? list) {
     if (list != null && list.isNotEmpty) {
       //有数据,判断是刷新还是加载更多的数据
       if (_page == 1) {
         //刷新的方式
-        state.list!.clear();
-        state.list!.addAll(list.map((item) => item.toJson()).toList());
+        state = state.copyWith(list: list);
         refreshController.finishRefresh();
+
         //更新展示的状态
         changeLoadingState(LoadState.State_Success, null);
       } else {
         //加载更多
-        final allList = state.list;
-        allList!.addAll(list.map((item) => item.toJson()).toList());
-        state = state.copyWith(list: allList);
+        state.list
+            .addAll(List<GarageSaleHistoryList>.from(state.list)..addAll(list));
         refreshController.finishLoad();
       }
     } else {
       if (_page == 1) {
         //展示无数据的布局
-        state.list!.clear();
+        state = state.copyWith(list: []);
         changeLoadingState(LoadState.State_Empty, null);
         refreshController.finishRefresh();
       } else {
         //展示加载完成,没有更多数据了
-        if (_page == 1) {
-          //展示无数据的布局
-          state.list!.clear();
-          changeLoadingState(LoadState.State_Empty, null);
-          refreshController.finishRefresh();
-        } else {
-          //展示加载完成,没有更多数据了
-          if(state.list!.length == 0){
-            changeLoadingState(LoadState.State_Empty, null);
-            refreshController.finishLoad();
-          }else {
-            if(_needShowPlaceholder){
-              changeLoadingState(LoadState.State_Success, null);
-            }
-          }
-          //更新展示的状态
-          refreshController.finishLoad(IndicatorResult.noMore);
-        }
+        refreshController.finishLoad(IndicatorResult.noMore);
       }
     }
   }
 
   // 设置当前的 _queryParams
-  setCurrentQueryParams(Map<String, dynamic> params){
+  setCurrentQueryParams(Map<String, dynamic> params) {
     _queryParams.addAll(params);
   }
 
   // 获取当前的 _queryParams
-  Map<String, dynamic> getCurrentQueryParams(String? key){
-    if(key!=null && key!.isNotEmpty){
+  Map<String, dynamic> getCurrentQueryParams(String? key) {
+    if (key != null && key!.isNotEmpty) {
       return _queryParams[key];
     }
     return _queryParams;
@@ -303,4 +178,4 @@ class RepairHistoryVm extends _$RepairHistoryVm {
   gotoCleanOrderDetailPage(BuildContext context, int id, String cleanServiceType, int serviesStatusCode){
     CleanOrderDetailPage.startInstance(id: id, cleanServiceType: cleanServiceType, serviesStatusCode: serviesStatusCode);
   }
-}
+}

+ 34 - 32
packages/cpt_services/lib/modules/services/repair_inProgress/in_progress_page.dart

@@ -1,4 +1,5 @@
 import 'package:cs_resources/generated/assets.dart';
+import 'package:domain/entity/garage_sale_history_entity.dart';
 import 'package:domain/entity/garage_sale_rent_entity.dart';
 import 'package:flutter/material.dart';
 import 'package:auto_route/auto_route.dart';
@@ -61,7 +62,7 @@ class RepairInProgressPage extends HookConsumerWidget {
     return Scaffold(
       // appBar: MyAppBar.appBar(
       //   context,
-      //   "RepairInProgress",
+      //   "InProgress",
       //   backgroundColor: context.appColors.whiteBG,
       // ),
       backgroundColor: ColorUtils.string2Color("#F2F3F6"),
@@ -72,12 +73,12 @@ class RepairInProgressPage extends HookConsumerWidget {
             key: ValueKey('inProgress'),
             controller: vm.refreshController,
             // 上拉加载
-            onLoad: () async{
+            onLoad: () async {
               Log.d("----onLoad");
               vm.loadMore();
             },
             // 下拉刷新
-            onRefresh: () async{
+            onRefresh: () async {
               Log.d("----onRefresh");
               vm.onRefresh();
             },
@@ -87,24 +88,26 @@ class RepairInProgressPage extends HookConsumerWidget {
               errorRetry: () {
                 vm.retryRequest();
               },
-              successSliverWidget:[
+              successSliverWidget: [
                 SliverList(
                   delegate: SliverChildBuilderDelegate(
-                        (context, index) {
-                      return  _buildRepairInProgressItem(
+                    (context, index) {
+                      return _buildRepairInProgressItem(
+                              context,
+                              ref,
+                              state.list[index],
+                              vm,
+                              cleanServiceType,
+                              serviceStatusCode)
+                          .onTap(() {
+                        vm.gotoCleanOrderDetailPage(
                           context,
-                          ref,
-                          state.list[index],
-                          vm,
+                          state.list[index].id != null
+                              ? int.tryParse(state.list[index].id!) ?? 0
+                              : 0,
                           cleanServiceType,
-                          serviceStatusCode
-                      ).onTap((){
-                        // vm.gotoCleanOrderDetailPage(
-                        //     context,
-                        //     state.list?[index]['id'],
-                        //     cleanServiceType,
-                        //     serviceStatusCode
-                        // );
+                          serviceStatusCode,
+                        );
                       });
                     },
                     childCount: state.list.length,
@@ -112,12 +115,14 @@ class RepairInProgressPage extends HookConsumerWidget {
                 )
               ],
             ),
-          ).marginOnly(left: 15,right: 15,top: 0,bottom: 15)
-      ),
+          ).marginOnly(left: 15, right: 15, top: 0, bottom: 15)),
     );
   }
 
-  Widget _buildRepairInProgressItem(BuildContext context, WidgetRef ref, Map<String, dynamic> item, vm, String cleanServiceType, int serviceStatusCode){
+  Widget _buildRepairInProgressItem(BuildContext context, WidgetRef ref, GarageSaleHistoryList item,
+      vm,
+      String cleanServiceType,
+      int serviceStatusCode) {
     return Container(
       margin: const EdgeInsets.only(top: 9),
       width: double.infinity,
@@ -132,18 +137,15 @@ class RepairInProgressPage extends HookConsumerWidget {
           ),
         ],
       ),
-      child: RepairStausCardItem(
-          key: UniqueKey(),
-          cardHeight: 120.0,
-          serviceId: item['id'],
-          cleanServiceType: cleanServiceType,
-          serviceStatusCode: serviceStatusCode,
-          itemObj: item.cast<String, dynamic>(),
-          onClickCard: (dynamic value) async {
-            // Log.d("点击了喜欢按钮  --id:${item['id']}- $collectionValue");
-            // int id = item['id'];
-            // return await vm.handlerClickCollection(id, collectionValue);
-          },
+      child: StausCardItem(
+        key: UniqueKey(),
+        cardHeight: 175.0,
+        item: item,
+        onClickCard: (dynamic value) async {
+          // Log.d("点击了喜欢按钮  --id:${item['id']}- $collectionValue");
+          // int id = item['id'];
+          // return await vm.handlerClickCollection(id, collectionValue);
+        },
       ),
     );
   }

+ 4 - 3
packages/cpt_services/lib/modules/services/repair_inProgress/in_progress_state.dart

@@ -1,5 +1,7 @@
+import 'package:domain/entity/garage_sale_history_entity.dart';
 import 'package:widgets/load_state_layout.dart';
 
+
 class RepairInProgressState {
   //页面 LoadView 状态的展示
   LoadState loadingState;
@@ -7,8 +9,7 @@ class RepairInProgressState {
 
   String? keyword;
   bool? isLiked;
-  List<Map<String, dynamic>> list;
-
+  List<GarageSaleHistoryList> list;
 
   RepairInProgressState({
     this.loadingState = LoadState.State_Loading,
@@ -25,7 +26,7 @@ class RepairInProgressState {
     bool? isLiked,
     Map<String, dynamic>? activeSortMap,
     List<Map<String, dynamic>>? activeCateGoryList,
-    List<Map<String, dynamic>>? list,
+    List<GarageSaleHistoryList>? list,
   }) {
     return RepairInProgressState(
       loadingState: loadingState ?? this.loadingState,

+ 37 - 163
packages/cpt_services/lib/modules/services/repair_inProgress/in_progress_vm.dart

@@ -1,9 +1,10 @@
-
 import 'package:cs_resources/generated/assets.dart';
+import 'package:domain/entity/garage_sale_history_entity.dart';
 import 'package:domain/entity/garage_sale_rent_entity.dart';
 import 'package:domain/entity/newsfeed_detail_entity.dart';
 import 'package:flutter/cupertino.dart';
 import 'package:plugin_platform/engine/toast/toast_engine.dart';
+import 'package:plugin_platform/http/dio/dio_cancelable_mixin.dart';
 import 'package:riverpod_annotation/riverpod_annotation.dart';
 import 'package:router/ext/auto_router_extensions.dart';
 import 'package:shared/utils/log_utils.dart';
@@ -18,10 +19,10 @@ import 'in_progress_state.dart';
 part 'in_progress_vm.g.dart';
 
 @riverpod
-class RepairInProgressVm extends _$RepairInProgressVm {
+class RepairInProgressVm extends _$RepairInProgressVm with DioCancelableMixin {
   late ServicesRespository servicesRespositoryInstance;
   bool _needShowPlaceholder = false; //是否展示LoadingView
-  int _page = 1;  // 当前页
+  int _page = 1; // 当前页
   int _limit = 10; // 每页数量
   int _count = 0; // 总条数
 
@@ -33,33 +34,28 @@ class RepairInProgressVm extends _$RepairInProgressVm {
 
   // Refresh 控制器
   final EasyRefreshController refreshController = EasyRefreshController(
-    controlFinishRefresh: true,  //允许刷新
-    controlFinishLoad: true,   //允许加载
+    controlFinishRefresh: true, //允许刷新
+    controlFinishLoad: true, //允许加载
   );
 
   RepairInProgressState initState() {
-    return RepairInProgressState(
-        list: []
-    );
+    return RepairInProgressState(list: []);
   }
 
   @override
-  RepairInProgressState build(){
+  RepairInProgressState build() {
+    servicesRespositoryInstance = ref.read(servicesRespositoryProvider);
     // 引入数据仓库
     // servicesRespositoryInstance = ref.read(commonGarageRespositoryProvider);
     final state = initState();
     Log.d("--------------------------build---------------------");
-
+    registerCancellation();
     return state;
   }
 
-
   //刷新页面状态
   void changeLoadingState(LoadState loadState, String? errorMsg) {
-    state = state.copyWith(
-        loadingState: loadState,
-        errorMessage: errorMsg
-    );
+    state = state.copyWith(loadingState: loadState, errorMessage: errorMsg);
   }
 
   // 初始化页面数据
@@ -75,7 +71,6 @@ class RepairInProgressVm extends _$RepairInProgressVm {
     getListData();
   }
 
-
   // 下拉刷新
   Future onRefresh() async {
     // 当前pageView 页面正处于显示状态
@@ -85,7 +80,6 @@ class RepairInProgressVm extends _$RepairInProgressVm {
     getListData();
   }
 
-
   // 手动进行刷新
   Future triggerRefresh() async {
     Log.d("trggerRefresh");
@@ -94,7 +88,7 @@ class RepairInProgressVm extends _$RepairInProgressVm {
 
   // 手动进行刷新
   Future directRefresh() async {
-    state = state.copyWith(list:[]);
+    state = state.copyWith(list: []);
     // 注意:由于 nestedscrollview 嵌套easyfresh 组件  refreshController.callRefresh() 自动刷新只能滚动顶部但是不会触发下拉刷新,这里调用是 用到了将其滚动到顶部的作用,进而刷新操作主动掉接口
     // https://github.com/xuelongqy/flutter_easy_refresh/issues/692
     refreshController.callRefresh();
@@ -104,7 +98,6 @@ class RepairInProgressVm extends _$RepairInProgressVm {
     getListData();
   }
 
-
   // 重试请求
   Future retryRequest() async {
     _page = 1;
@@ -112,188 +105,69 @@ class RepairInProgressVm extends _$RepairInProgressVm {
     getListData();
   }
 
-
   // 获取list 列表数据
   Future getListData<T>({bool? isLoadMore}) async {
     if (_needShowPlaceholder) {
       changeLoadingState(LoadState.State_Loading, null);
     }
 
-    List<Map<String, dynamic>> list = [
-      {
-        'id':1,
-        'service_type': 0,  // 0 房屋保洁 1 空调保洁  2 维修
-        'cover_img':  'https://img2.baidu.com/it/u=3489233687,2364672159&fm=253&fmt=auto&app=120&f=JPEG?w=507&h=500',
-        'resources': ['https://img2.baidu.com/it/u=3489233687,2364672159&fm=253&fmt=auto&app=120&f=JPEG?w=507&h=500'],
-        'title': 'House Cleaning Services',
-        'duration': 'Daily cleaning for 2 hours',
-        'totalPrice': 66,
-        'visit_time': '14 0ct 2024 15:00',
-        'order_time': '13 0ct 2024 12:00',
-        'status_text': 'In Progress',
-        'status_code': 0,
-        'company_name': 'HONG YE GROUP PTE LTD',
-      },
-      {
-        'id':2,
-        'service_type': 0,  // 0 房屋保洁 1 空调保洁  2 维修
-        'cover_img':  'https://img2.baidu.com/it/u=3489233687,2364672159&fm=253&fmt=auto&app=120&f=JPEG?w=507&h=500',
-        'resources': ['https://img2.baidu.com/it/u=3489233687,2364672159&fm=253&fmt=auto&app=120&f=JPEG?w=507&h=500'],
-        'title': 'House Cleaning Services',
-        'duration': 'Daily cleaning for 2 hours',
-        'totalPrice': 66,
-        'visit_time': '14 0ct 2024 15:00',
-        'order_time': '13 0ct 2024 12:00',
-        'status_text': 'In Progress',
-        'status_code': 1,
-        'company_name': 'HONG YE GROUP PTE LTD',
-      },
-      {
-        'id':3,
-        'service_type': 0,  // 0 房屋保洁 1 空调保洁  2 维修
-        'cover_img':  'https://img2.baidu.com/it/u=3489233687,2364672159&fm=253&fmt=auto&app=120&f=JPEG?w=507&h=500',
-        'resources': ['https://img2.baidu.com/it/u=3489233687,2364672159&fm=253&fmt=auto&app=120&f=JPEG?w=507&h=500'],
-        'title': 'House Cleaning Services',
-        'duration': 'Daily cleaning for 2 hours',
-        'totalPrice': 66,
-        'visit_time': '14 0ct 2024 15:00',
-        'order_time': '13 0ct 2024 12:00',
-        'status_text': 'In Progress',
-        'status_code': 1,
-        'company_name': 'HONG YE GROUP PTE LTD',
-      },
-    ];
-    handlerResultData(true, list:list);
+    // 获取列表
+    var listResult =
+        await servicesRespositoryInstance.fetchRepairServiceOrderList(
+      status: 0,
+      curPage: _page,
+      cancelToken: cancelToken,
+    );
 
-    // try {
-    //   //请求网络
-    //   Map<String, dynamic>  params = {
-    //     "type": 1,  // 类型(1=Sale,2=Rent)
-    //     "category_id": _queryParams['category_id'],
-    //     "keyword": _queryParams['keyword'],
-    //     "page": _page,
-    //     "limit": _limit,
-    //   };
-    //   Log.d("请求参数------$params");
-    //   final result = await servicesRespositoryInstance.fetchGarageDataList(params);
-    //   //校验成功失败
-    //   if (result.isSuccess) {
-    //     // handlerResultList((result.data as GarageSaleRentEntity).list as List<GarageSaleRentList>, isLoadMore ?? false);
-    //   } else {
-    //     String errorMessage = result.errorMsg!;
-    //     changeLoadingState(LoadState.State_Error, errorMessage);
-    //     ToastEngine.show(result.errorMsg ?? "Network Load Error");
-    //   }
-    // } catch (e) {
-    //   ToastEngine.show("Error: $e");
-    // }
+    // 处理数据
+    if (listResult.isSuccess) {
+      handleList(listResult.data?.list);
+    } else {
+      changeLoadingState(LoadState.State_Error, listResult.errorMsg);
+    }
 
     // 最后赋值
     _needShowPlaceholder = false;
-
   }
 
-  handlerResultData(bool isList, {List<Map<String, dynamic>>? list, dynamic? data}){
-    Future.delayed(const Duration(seconds: 1)).then((value) {
-      if(isList){
-        // list 数据模式
-        if(list != null && list.isNotEmpty){
-          if(_page == 1){
-            state.list.clear();
-            state.list!.addAll(list);
-            refreshController.finishRefresh();
-            changeLoadingState(LoadState.State_Success, null);
-          }else {
-            final allList = state.list;
-            allList!.addAll(list);
-            state = state.copyWith(list: allList);
-            refreshController.finishLoad();
-          }
-        }else {
-          if(_page == 1){
-            state.list.clear();
-            changeLoadingState(LoadState.State_Empty, null);
-            refreshController.finishRefresh();
-          }else {
-            refreshController.finishLoad(IndicatorResult.noMore);
-          }
-        }
-      }else {
-        // 单个数据模式
-        if(data!=null){
-          if(_page == 1){
-            refreshController.finishRefresh();
-          }else{
-            refreshController.finishLoad();
-          }
-          changeLoadingState(LoadState.State_Success, null);
-        }else {
-          if(_page == 1){
-            refreshController.finishRefresh();
-          }else{
-            refreshController.finishLoad();
-          }
-          changeLoadingState(LoadState.State_Empty, null);
-        }
-      }
-    });
-  }
-
-  void handlerResultList(List<GarageSaleRentList>? list, bool isLoadMore) {
+  // 处理数据与展示的逻辑
+  void handleList(List<GarageSaleHistoryList>? list) {
     if (list != null && list.isNotEmpty) {
       //有数据,判断是刷新还是加载更多的数据
       if (_page == 1) {
         //刷新的方式
-        state.list!.clear();
-        state.list!.addAll(list.map((item) => item.toJson()).toList());
+        state = state.copyWith(list: list);
         refreshController.finishRefresh();
+
         //更新展示的状态
         changeLoadingState(LoadState.State_Success, null);
       } else {
         //加载更多
-        final allList = state.list;
-        allList!.addAll(list.map((item) => item.toJson()).toList());
-        state = state.copyWith(list: allList);
+        state.list
+            .addAll(List<GarageSaleHistoryList>.from(state.list)..addAll(list));
         refreshController.finishLoad();
       }
     } else {
       if (_page == 1) {
         //展示无数据的布局
-        state.list!.clear();
+        state = state.copyWith(list: []);
         changeLoadingState(LoadState.State_Empty, null);
         refreshController.finishRefresh();
       } else {
         //展示加载完成,没有更多数据了
-        if (_page == 1) {
-          //展示无数据的布局
-          state.list!.clear();
-          changeLoadingState(LoadState.State_Empty, null);
-          refreshController.finishRefresh();
-        } else {
-          //展示加载完成,没有更多数据了
-          if(state.list!.length == 0){
-            changeLoadingState(LoadState.State_Empty, null);
-            refreshController.finishLoad();
-          }else {
-            if(_needShowPlaceholder){
-              changeLoadingState(LoadState.State_Success, null);
-            }
-          }
-          //更新展示的状态
-          refreshController.finishLoad(IndicatorResult.noMore);
-        }
+        refreshController.finishLoad(IndicatorResult.noMore);
       }
     }
   }
 
   // 设置当前的 _queryParams
-  setCurrentQueryParams(Map<String, dynamic> params){
+  setCurrentQueryParams(Map<String, dynamic> params) {
     _queryParams.addAll(params);
   }
 
   // 获取当前的 _queryParams
-  Map<String, dynamic> getCurrentQueryParams(String? key){
-    if(key!=null && key!.isNotEmpty){
+  Map<String, dynamic> getCurrentQueryParams(String? key) {
+    if (key != null && key!.isNotEmpty) {
       return _queryParams[key];
     }
     return _queryParams;
@@ -303,4 +177,4 @@ class RepairInProgressVm extends _$RepairInProgressVm {
   gotoCleanOrderDetailPage(BuildContext context, int id, String cleanServiceType, int serviesStatusCode){
     CleanOrderDetailPage.startInstance(id: id, cleanServiceType: cleanServiceType, serviesStatusCode: serviesStatusCode);
   }
-}
+}

+ 10 - 19
packages/cpt_services/lib/respository/services_respository.dart

@@ -597,21 +597,19 @@ class ServicesRespository {
   }
 
   // 维修服务  订单列表
-  Future<HttpResult<Object>> fetchRepairServiceOrderList(
-    Map<String, dynamic>? data, {
+  Future<HttpResult<GarageSaleHistoryEntity>> fetchRepairServiceOrderList({
+    required int status,
+    required int curPage,
     CancelToken? cancelToken,
   }) async {
-    Map<String, dynamic> params = {};
-    params = data!;
-    Map<String, String> headers = {};
-    headers["Content-Type"] = "application/x-www-form-urlencoded";
-    headers["Accept"] = "application/x.yyjobs-api.v1+json";
+    Map<String, String> params = {};
+    params['status'] = status.toString();
+    params['page'] = curPage.toString();
+    params['limit'] = "10";
 
     final result = await dioEngine.requestNetResult(
-      // ApiConstants.apiServerTime, // api 地址
-      '/api/v1/user/service/inquiry-service-order/index', // api 地址
+      '/api/v1/user/service/inquiry-service-order/index',
       params: params,
-      headers: headers,
       method: HttpMethod.GET,
       isShowLoadingDialog: false,
       //是否展示默认的Loading弹窗
@@ -620,17 +618,10 @@ class ServicesRespository {
       cancelToken: cancelToken,
     );
 
-    //根据返回的结果,封装原始数据为Bean/Entity对象
     if (result.isSuccess) {
-      //重新赋值data或list
       final json = result.getDataJson();
-      var data = GarageSaleRentEntity.fromJson(json!);
-      //重新赋值data或list
-      return result.convert(data: data);
-    } else {
-      if (result.errorMsg != null && result.errorMsg!.isNotEmpty) {
-        ToastEngine.show("${result.errorMsg}");
-      }
+      var data = GarageSaleHistoryEntity.fromJson(json!);
+      return result.convert<GarageSaleHistoryEntity>(data: data);
     }
     return result.convert();
   }