|
@@ -1,21 +1,20 @@
|
|
-import 'package:cpt_uk/modules/report/working_hours_report/widget/working_hours_filter.dart';
|
|
|
|
-import 'package:domain/entity/response/labour_request_index_entity.dart';
|
|
|
|
-import 'package:domain/entity/response/labour_review_list_entity.dart';
|
|
|
|
-import 'package:domain/repository/labour_repository.dart';
|
|
|
|
|
|
+
|
|
|
|
+import 'package:domain/entity/response/u_k_report_working_hours_entity.dart';
|
|
|
|
+import 'package:domain/entity/response/u_k_security_attendance_option_entity.dart';
|
|
|
|
+import 'package:domain/repository/uk_report_repository.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:plugin_platform/engine/dialog/dialog_engine.dart';
|
|
import 'package:plugin_platform/engine/dialog/dialog_engine.dart';
|
|
-import 'package:plugin_platform/engine/notify/notify_engine.dart';
|
|
|
|
-import 'package:plugin_platform/engine/toast/toast_engine.dart';
|
|
|
|
import 'package:plugin_platform/http/dio/dio_cancelable_mixin.dart';
|
|
import 'package:plugin_platform/http/dio/dio_cancelable_mixin.dart';
|
|
import 'package:plugin_platform/http/http_result.dart';
|
|
import 'package:plugin_platform/http/http_result.dart';
|
|
import 'package:shared/utils/date_time_utils.dart';
|
|
import 'package:shared/utils/date_time_utils.dart';
|
|
import 'package:shared/utils/log_utils.dart';
|
|
import 'package:shared/utils/log_utils.dart';
|
|
import 'package:widgets/load_state_layout.dart';
|
|
import 'package:widgets/load_state_layout.dart';
|
|
import 'package:widgets/widget_export.dart';
|
|
import 'package:widgets/widget_export.dart';
|
|
|
|
+import 'widget/working_hours_filter.dart';
|
|
import 'working_hours_report_state.dart';
|
|
import 'working_hours_report_state.dart';
|
|
|
|
|
|
class WorkingHoursReportController extends GetxController with DioCancelableMixin {
|
|
class WorkingHoursReportController extends GetxController with DioCancelableMixin {
|
|
- final LabourRepository _labourRepository = Get.find();
|
|
|
|
|
|
+ final UKReportRepository _reportRepository = Get.find();
|
|
final WorkingHoursReportState state = WorkingHoursReportState();
|
|
final WorkingHoursReportState state = WorkingHoursReportState();
|
|
|
|
|
|
var _curPage = 1;
|
|
var _curPage = 1;
|
|
@@ -64,25 +63,24 @@ class WorkingHoursReportController extends GetxController with DioCancelableMixi
|
|
|
|
|
|
// 并发执行两个请求,拿到选项数据与列表数据
|
|
// 并发执行两个请求,拿到选项数据与列表数据
|
|
var futures = [
|
|
var futures = [
|
|
- _labourRepository.fetchLabourReviewList(
|
|
|
|
- "",
|
|
|
|
- DateTimeUtils.formatDate(state.selectedStartDate, format: "yyyy-MM-dd"),
|
|
|
|
- DateTimeUtils.formatDate(state.selectedEndDate, format: "yyyy-MM-dd"),
|
|
|
|
- state.selectedDepartmentId,
|
|
|
|
|
|
+ _reportRepository.fetchReportWorkingHoursList(
|
|
|
|
+ startDate: DateTimeUtils.formatDate(state.selectedStartDate, format: "yyyy-MM-dd"),
|
|
|
|
+ endDate: DateTimeUtils.formatDate(state.selectedEndDate, format: "yyyy-MM-dd"),
|
|
|
|
+ departmentId: state.selectedDepartmentId,
|
|
curPage: _curPage,
|
|
curPage: _curPage,
|
|
cancelToken: cancelToken,
|
|
cancelToken: cancelToken,
|
|
),
|
|
),
|
|
state.indexOptions == null
|
|
state.indexOptions == null
|
|
- ? _labourRepository.fetchLabourReviewIndex(
|
|
|
|
- cancelToken: cancelToken,
|
|
|
|
- )
|
|
|
|
|
|
+ ? _reportRepository.fetchReportOptions(
|
|
|
|
+ cancelToken: cancelToken,
|
|
|
|
+ )
|
|
: Future(() => HttpResult(isSuccess: true).convert(data: state.indexOptions!)),
|
|
: Future(() => HttpResult(isSuccess: true).convert(data: state.indexOptions!)),
|
|
];
|
|
];
|
|
|
|
|
|
//拿到结果
|
|
//拿到结果
|
|
var results = await Future.wait(futures);
|
|
var results = await Future.wait(futures);
|
|
- var listResult = results[0] as HttpResult<LabourReviewListEntity>;
|
|
|
|
- var optionResult = results[1] as HttpResult<LabourRequestIndexEntity>;
|
|
|
|
|
|
+ var listResult = results[0] as HttpResult<UKReportWorkingHoursEntity>;
|
|
|
|
+ var optionResult = results[1] as HttpResult<UKSecurityAttendanceOptionEntity>;
|
|
|
|
|
|
//选项数据
|
|
//选项数据
|
|
if (state.indexOptions == null && optionResult.isSuccess) {
|
|
if (state.indexOptions == null && optionResult.isSuccess) {
|
|
@@ -102,7 +100,7 @@ class WorkingHoursReportController extends GetxController with DioCancelableMixi
|
|
}
|
|
}
|
|
|
|
|
|
// 处理数据与展示的逻辑
|
|
// 处理数据与展示的逻辑
|
|
- void handleList(List<LabourReviewListRows>? list) {
|
|
|
|
|
|
+ void handleList(List<UKReportWorkingHoursRows>? list) {
|
|
if (list != null && list.isNotEmpty) {
|
|
if (list != null && list.isNotEmpty) {
|
|
//有数据,判断是刷新还是加载更多的数据
|
|
//有数据,判断是刷新还是加载更多的数据
|
|
if (_curPage == 1) {
|
|
if (_curPage == 1) {
|
|
@@ -169,4 +167,5 @@ class WorkingHoursReportController extends GetxController with DioCancelableMixi
|
|
);
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|