Browse Source

Revise 的 API

liukai 7 months ago
parent
commit
07795b036f

+ 27 - 0
packages/cs_domain/lib/constants/api_constants.dart

@@ -229,6 +229,33 @@ class ApiConstants {
   //员工做工评价列表
   static const apiJobListStaffReViewHistorySG = "/index.php/api/v1/hotel/member/review/table";
 
+  //员工修改记录-选项
+  static const apiReviseIndexSG = "/index.php/api/v1/hotel/revise/index";
+
+  //员工修改记录-列表
+  static const apiReviseListSG = "/index.php/api/v1/hotel/revise/table";
+
+  //给指定的申请记录添加 Revise 数据(详情)
+  static const apiAddReviseViewSG = "/index.php/api/v1/hotel/revise/add-view";
+
+  //给指定的申请记录添加 Revise 数据(提交)
+  static const apiAddReviseSubmitSG = "/index.php/api/v1/hotel/revise/add-submit";
+
+  //给指定的申请记录编辑 Revise 数据(详情)
+  static const apiEditReviseViewSG = "/index.php/api/v1/hotel/revise/edit-view";
+
+  //给指定的申请记录编辑 Revise 数据(提交)
+  static const apiEditReviseSubmitSG = "/index.php/api/v1/hotel/revise/edit-submit";
+
+  //撤回指定的 Revise 数据
+  static const apiRecallReviseSG = "/index.php/api/v1/hotel/revise/recall";
+
+  //删除指定的 Revise 数据
+  static const apiDeleteReviseSG = "/index.php/api/v1/hotel/revise/delete";
+
+  //Revise 的操作日志
+  static const apiReviseLogListSG = "/index.php/api/v1/hotel/revise/logs";
+
   // =========================== 报表与其他 ↓=========================================
 
   // 设备列表

+ 47 - 0
packages/cs_domain/lib/entity/response/add_edit_revise_view_s_g_entity.dart

@@ -0,0 +1,47 @@
+import 'package:domain/generated/json/base/json_field.dart';
+import 'package:domain/generated/json/add_edit_revise_view_s_g_entity.g.dart';
+import 'dart:convert';
+export 'package:domain/generated/json/add_edit_revise_view_s_g_entity.g.dart';
+
+@JsonSerializable()
+class AddEditReviseViewSGEntity {
+	@JSONField(name: "applied_id")
+	String? appliedId = null;
+	@JSONField(name: "labourer_name")
+	String? labourerName = null;
+	@JSONField(name: "job_date")
+	String? jobDate = null;
+	@JSONField(name: "adjust_hours")
+	String? adjustHours = null;
+	@JSONField(name: "total_hours")
+	String? totalHours = null;
+	@JSONField(name: "start_time")
+	String? startTime = null;
+	@JSONField(name: "end_time")
+	String? endTime = null;
+	@JSONField(name: "security_in")
+	String? securityIn = null;
+	@JSONField(name: "security_out")
+	String? securityOut = null;
+	@JSONField(name: "work_in")
+	String? workIn = null;
+	@JSONField(name: "work_out")
+	String? workOut = null;
+	@JSONField(name: "revise_id")
+	String? reviseId = null;
+	@JSONField(name: "revise_hours")
+	String? reviseHours = null;
+	@JSONField(name: "revise_msg")
+	String? reviseMsg = null;
+
+	AddEditReviseViewSGEntity();
+
+	factory AddEditReviseViewSGEntity.fromJson(Map<String, dynamic> json) => $AddEditReviseViewSGEntityFromJson(json);
+
+	Map<String, dynamic> toJson() => $AddEditReviseViewSGEntityToJson(this);
+
+	@override
+	String toString() {
+		return jsonEncode(this);
+	}
+}

+ 39 - 0
packages/cs_domain/lib/entity/response/revise_index_s_g_entity.dart

@@ -0,0 +1,39 @@
+import 'package:domain/generated/json/base/json_field.dart';
+import 'package:domain/generated/json/revise_index_s_g_entity.g.dart';
+import 'dart:convert';
+export 'package:domain/generated/json/revise_index_s_g_entity.g.dart';
+
+@JsonSerializable()
+class ReviseIndexSGEntity {
+	@JSONField(name: "status_list")
+	List<ReviseIndexSGStatusList> statusList = [];
+
+	ReviseIndexSGEntity();
+
+	factory ReviseIndexSGEntity.fromJson(Map<String, dynamic> json) => $ReviseIndexSGEntityFromJson(json);
+
+	Map<String, dynamic> toJson() => $ReviseIndexSGEntityToJson(this);
+
+	@override
+	String toString() {
+		return jsonEncode(this);
+	}
+}
+
+@JsonSerializable()
+class ReviseIndexSGStatusList {
+	String? value = null;
+	String? txt = null;
+	String? selected = null;
+
+	ReviseIndexSGStatusList();
+
+	factory ReviseIndexSGStatusList.fromJson(Map<String, dynamic> json) => $ReviseIndexSGStatusListFromJson(json);
+
+	Map<String, dynamic> toJson() => $ReviseIndexSGStatusListToJson(this);
+
+	@override
+	String toString() {
+		return jsonEncode(this);
+	}
+}

+ 59 - 0
packages/cs_domain/lib/entity/response/revise_list_s_g_entity.dart

@@ -0,0 +1,59 @@
+import 'package:domain/generated/json/base/json_field.dart';
+import 'package:domain/generated/json/revise_list_s_g_entity.g.dart';
+import 'dart:convert';
+export 'package:domain/generated/json/revise_list_s_g_entity.g.dart';
+
+@JsonSerializable()
+class ReviseListSGEntity {
+	int total = 0;
+	List<ReviseListSGRows> rows = [];
+
+	ReviseListSGEntity();
+
+	factory ReviseListSGEntity.fromJson(Map<String, dynamic> json) => $ReviseListSGEntityFromJson(json);
+
+	Map<String, dynamic> toJson() => $ReviseListSGEntityToJson(this);
+
+	@override
+	String toString() {
+		return jsonEncode(this);
+	}
+}
+
+@JsonSerializable()
+class ReviseListSGRows {
+	@JSONField(name: "revise_id")
+	String? reviseId = null;
+	@JSONField(name: "revise_hours")
+	String? reviseHours = null;
+	String? name = null;
+	String? nric = null;
+	@JSONField(name: "job_date")
+	String? jobDate = null;
+	@JSONField(name: "job_time")
+	String? jobTime = null;
+	@JSONField(name: "start_time")
+	String? startTime = null;
+	@JSONField(name: "end_time")
+	String? endTime = null;
+	@JSONField(name: "adjust_hours")
+	String? adjustHours = null;
+	@JSONField(name: "total_hours")
+	String? totalHours = null;
+	int status = 0;
+	@JSONField(name: "status_show")
+	String? statusShow = null;
+	@JSONField(name: "action_list")
+	List<String>? actionList = [];
+
+	ReviseListSGRows();
+
+	factory ReviseListSGRows.fromJson(Map<String, dynamic> json) => $ReviseListSGRowsFromJson(json);
+
+	Map<String, dynamic> toJson() => $ReviseListSGRowsToJson(this);
+
+	@override
+	String toString() {
+		return jsonEncode(this);
+	}
+}

+ 101 - 0
packages/cs_domain/lib/entity/response/revise_log_s_g_entity.dart

@@ -0,0 +1,101 @@
+import 'package:domain/generated/json/base/json_field.dart';
+import 'package:domain/generated/json/revise_log_s_g_entity.g.dart';
+import 'dart:convert';
+export 'package:domain/generated/json/revise_log_s_g_entity.g.dart';
+
+@JsonSerializable()
+class ReviseLogSGEntity {
+	List<ReviseLogSGRecords> records = [];
+
+	ReviseLogSGEntity();
+
+	factory ReviseLogSGEntity.fromJson(Map<String, dynamic> json) => $ReviseLogSGEntityFromJson(json);
+
+	Map<String, dynamic> toJson() => $ReviseLogSGEntityToJson(this);
+
+	@override
+	String toString() {
+		return jsonEncode(this);
+	}
+}
+
+@JsonSerializable()
+class ReviseLogSGRecords {
+	String? id = null;
+	@JSONField(name: "operation_name")
+	String? operationName = null;
+	@JSONField(name: "data_type")
+	int dataType = 0;
+	String? desc = null;
+	ReviseLogSGRecordsContent? content;
+	@JSONField(name: "created_at")
+	String? createdAt = null;
+	@JSONField(name: "act_class")
+	String? actClass = null;
+	@JSONField(name: "act_text")
+	String? actText = null;
+
+	ReviseLogSGRecords();
+
+	factory ReviseLogSGRecords.fromJson(Map<String, dynamic> json) => $ReviseLogSGRecordsFromJson(json);
+
+	Map<String, dynamic> toJson() => $ReviseLogSGRecordsToJson(this);
+
+	@override
+	String toString() {
+		return jsonEncode(this);
+	}
+}
+
+@JsonSerializable()
+class ReviseLogSGRecordsContent {
+	@JSONField(name: "revise_hours")
+	ReviseLogSGRecordsContentReviseHours? reviseHours;
+	@JSONField(name: "revise_msg")
+	ReviseLogSGRecordsContentReviseMsg? reviseMsg;
+
+	ReviseLogSGRecordsContent();
+
+	factory ReviseLogSGRecordsContent.fromJson(Map<String, dynamic> json) => $ReviseLogSGRecordsContentFromJson(json);
+
+	Map<String, dynamic> toJson() => $ReviseLogSGRecordsContentToJson(this);
+
+	@override
+	String toString() {
+		return jsonEncode(this);
+	}
+}
+
+@JsonSerializable()
+class ReviseLogSGRecordsContentReviseHours {
+	String? field = null;
+	int? value = 0;
+
+	ReviseLogSGRecordsContentReviseHours();
+
+	factory ReviseLogSGRecordsContentReviseHours.fromJson(Map<String, dynamic> json) => $ReviseLogSGRecordsContentReviseHoursFromJson(json);
+
+	Map<String, dynamic> toJson() => $ReviseLogSGRecordsContentReviseHoursToJson(this);
+
+	@override
+	String toString() {
+		return jsonEncode(this);
+	}
+}
+
+@JsonSerializable()
+class ReviseLogSGRecordsContentReviseMsg {
+	String? field = null;
+	String? value = null;
+
+	ReviseLogSGRecordsContentReviseMsg();
+
+	factory ReviseLogSGRecordsContentReviseMsg.fromJson(Map<String, dynamic> json) => $ReviseLogSGRecordsContentReviseMsgFromJson(json);
+
+	Map<String, dynamic> toJson() => $ReviseLogSGRecordsContentReviseMsgToJson(this);
+
+	@override
+	String toString() {
+		return jsonEncode(this);
+	}
+}

+ 117 - 0
packages/cs_domain/lib/generated/json/add_edit_revise_view_s_g_entity.g.dart

@@ -0,0 +1,117 @@
+import 'package:domain/generated/json/base/json_convert_content.dart';
+import 'package:domain/entity/response/add_edit_revise_view_s_g_entity.dart';
+
+AddEditReviseViewSGEntity $AddEditReviseViewSGEntityFromJson(Map<String, dynamic> json) {
+  final AddEditReviseViewSGEntity addEditReviseViewSGEntity = AddEditReviseViewSGEntity();
+  final String? appliedId = jsonConvert.convert<String>(json['applied_id']);
+  if (appliedId != null) {
+    addEditReviseViewSGEntity.appliedId = appliedId;
+  }
+  final String? labourerName = jsonConvert.convert<String>(json['labourer_name']);
+  if (labourerName != null) {
+    addEditReviseViewSGEntity.labourerName = labourerName;
+  }
+  final String? jobDate = jsonConvert.convert<String>(json['job_date']);
+  if (jobDate != null) {
+    addEditReviseViewSGEntity.jobDate = jobDate;
+  }
+  final String? adjustHours = jsonConvert.convert<String>(json['adjust_hours']);
+  if (adjustHours != null) {
+    addEditReviseViewSGEntity.adjustHours = adjustHours;
+  }
+  final String? totalHours = jsonConvert.convert<String>(json['total_hours']);
+  if (totalHours != null) {
+    addEditReviseViewSGEntity.totalHours = totalHours;
+  }
+  final String? startTime = jsonConvert.convert<String>(json['start_time']);
+  if (startTime != null) {
+    addEditReviseViewSGEntity.startTime = startTime;
+  }
+  final String? endTime = jsonConvert.convert<String>(json['end_time']);
+  if (endTime != null) {
+    addEditReviseViewSGEntity.endTime = endTime;
+  }
+  final String? securityIn = jsonConvert.convert<String>(json['security_in']);
+  if (securityIn != null) {
+    addEditReviseViewSGEntity.securityIn = securityIn;
+  }
+  final String? securityOut = jsonConvert.convert<String>(json['security_out']);
+  if (securityOut != null) {
+    addEditReviseViewSGEntity.securityOut = securityOut;
+  }
+  final String? workIn = jsonConvert.convert<String>(json['work_in']);
+  if (workIn != null) {
+    addEditReviseViewSGEntity.workIn = workIn;
+  }
+  final String? workOut = jsonConvert.convert<String>(json['work_out']);
+  if (workOut != null) {
+    addEditReviseViewSGEntity.workOut = workOut;
+  }
+  final String? reviseId = jsonConvert.convert<String>(json['revise_id']);
+  if (reviseId != null) {
+    addEditReviseViewSGEntity.reviseId = reviseId;
+  }
+  final String? reviseHours = jsonConvert.convert<String>(json['revise_hours']);
+  if (reviseHours != null) {
+    addEditReviseViewSGEntity.reviseHours = reviseHours;
+  }
+  final String? reviseMsg = jsonConvert.convert<String>(json['revise_msg']);
+  if (reviseMsg != null) {
+    addEditReviseViewSGEntity.reviseMsg = reviseMsg;
+  }
+  return addEditReviseViewSGEntity;
+}
+
+Map<String, dynamic> $AddEditReviseViewSGEntityToJson(AddEditReviseViewSGEntity entity) {
+  final Map<String, dynamic> data = <String, dynamic>{};
+  data['applied_id'] = entity.appliedId;
+  data['labourer_name'] = entity.labourerName;
+  data['job_date'] = entity.jobDate;
+  data['adjust_hours'] = entity.adjustHours;
+  data['total_hours'] = entity.totalHours;
+  data['start_time'] = entity.startTime;
+  data['end_time'] = entity.endTime;
+  data['security_in'] = entity.securityIn;
+  data['security_out'] = entity.securityOut;
+  data['work_in'] = entity.workIn;
+  data['work_out'] = entity.workOut;
+  data['revise_id'] = entity.reviseId;
+  data['revise_hours'] = entity.reviseHours;
+  data['revise_msg'] = entity.reviseMsg;
+  return data;
+}
+
+extension AddEditReviseViewSGEntityExtension on AddEditReviseViewSGEntity {
+  AddEditReviseViewSGEntity copyWith({
+    String? appliedId,
+    String? labourerName,
+    String? jobDate,
+    String? adjustHours,
+    String? totalHours,
+    String? startTime,
+    String? endTime,
+    String? securityIn,
+    String? securityOut,
+    String? workIn,
+    String? workOut,
+    String? reviseId,
+    String? reviseHours,
+    String? reviseMsg,
+  }) {
+    return AddEditReviseViewSGEntity()
+      ..appliedId = appliedId ?? this.appliedId
+      ..labourerName = labourerName ?? this.labourerName
+      ..jobDate = jobDate ?? this.jobDate
+      ..adjustHours = adjustHours ?? this.adjustHours
+      ..totalHours = totalHours ?? this.totalHours
+      ..startTime = startTime ?? this.startTime
+      ..endTime = endTime ?? this.endTime
+      ..securityIn = securityIn ?? this.securityIn
+      ..securityOut = securityOut ?? this.securityOut
+      ..workIn = workIn ?? this.workIn
+      ..workOut = workOut ?? this.workOut
+      ..reviseId = reviseId ?? this.reviseId
+      ..reviseHours = reviseHours ?? this.reviseHours
+      ..reviseMsg = reviseMsg ?? this.reviseMsg;
+  }
+}

+ 44 - 0
packages/cs_domain/lib/generated/json/base/json_convert_content.dart

@@ -4,6 +4,7 @@
 
 // This file is automatically generated. DO NOT EDIT, all your changes would be lost.
 import 'package:flutter/material.dart' show debugPrint;
+import 'package:domain/entity/response/add_edit_revise_view_s_g_entity.dart';
 import 'package:domain/entity/response/attendance_entity.dart';
 import 'package:domain/entity/response/check_success_entity.dart';
 import 'package:domain/entity/response/device_list_entity.dart';
@@ -37,6 +38,9 @@ import 'package:domain/entity/response/labour_request_list_entity.dart';
 import 'package:domain/entity/response/labour_request_s_g_add_index_entity.dart';
 import 'package:domain/entity/response/labour_request_s_g_entity.dart';
 import 'package:domain/entity/response/labour_request_work_flow_entity.dart';
+import 'package:domain/entity/response/revise_index_s_g_entity.dart';
+import 'package:domain/entity/response/revise_list_s_g_entity.dart';
+import 'package:domain/entity/response/revise_log_s_g_entity.dart';
 import 'package:domain/entity/response/staff_detail_entity.dart';
 import 'package:domain/entity/response/staff_detail_s_g_entity.dart';
 import 'package:domain/entity/response/staff_job_history_s_g_entity.dart';
@@ -171,6 +175,9 @@ class JsonConvert {
 
   //list is returned by type
   static M? _getListChildType<M>(List<Map<String, dynamic>> data) {
+    if (<AddEditReviseViewSGEntity>[] is M) {
+      return data.map<AddEditReviseViewSGEntity>((Map<String, dynamic> e) => AddEditReviseViewSGEntity.fromJson(e)).toList() as M;
+    }
     if (<AttendanceEntity>[] is M) {
       return data.map<AttendanceEntity>((Map<String, dynamic> e) => AttendanceEntity.fromJson(e)).toList() as M;
     }
@@ -390,6 +397,33 @@ class JsonConvert {
     if (<LabourRequestWorkFlowRecords>[] is M) {
       return data.map<LabourRequestWorkFlowRecords>((Map<String, dynamic> e) => LabourRequestWorkFlowRecords.fromJson(e)).toList() as M;
     }
+    if (<ReviseIndexSGEntity>[] is M) {
+      return data.map<ReviseIndexSGEntity>((Map<String, dynamic> e) => ReviseIndexSGEntity.fromJson(e)).toList() as M;
+    }
+    if (<ReviseIndexSGStatusList>[] is M) {
+      return data.map<ReviseIndexSGStatusList>((Map<String, dynamic> e) => ReviseIndexSGStatusList.fromJson(e)).toList() as M;
+    }
+    if (<ReviseListSGEntity>[] is M) {
+      return data.map<ReviseListSGEntity>((Map<String, dynamic> e) => ReviseListSGEntity.fromJson(e)).toList() as M;
+    }
+    if (<ReviseListSGRows>[] is M) {
+      return data.map<ReviseListSGRows>((Map<String, dynamic> e) => ReviseListSGRows.fromJson(e)).toList() as M;
+    }
+    if (<ReviseLogSGEntity>[] is M) {
+      return data.map<ReviseLogSGEntity>((Map<String, dynamic> e) => ReviseLogSGEntity.fromJson(e)).toList() as M;
+    }
+    if (<ReviseLogSGRecords>[] is M) {
+      return data.map<ReviseLogSGRecords>((Map<String, dynamic> e) => ReviseLogSGRecords.fromJson(e)).toList() as M;
+    }
+    if (<ReviseLogSGRecordsContent>[] is M) {
+      return data.map<ReviseLogSGRecordsContent>((Map<String, dynamic> e) => ReviseLogSGRecordsContent.fromJson(e)).toList() as M;
+    }
+    if (<ReviseLogSGRecordsContentReviseHours>[] is M) {
+      return data.map<ReviseLogSGRecordsContentReviseHours>((Map<String, dynamic> e) => ReviseLogSGRecordsContentReviseHours.fromJson(e)).toList() as M;
+    }
+    if (<ReviseLogSGRecordsContentReviseMsg>[] is M) {
+      return data.map<ReviseLogSGRecordsContentReviseMsg>((Map<String, dynamic> e) => ReviseLogSGRecordsContentReviseMsg.fromJson(e)).toList() as M;
+    }
     if (<StaffDetailEntity>[] is M) {
       return data.map<StaffDetailEntity>((Map<String, dynamic> e) => StaffDetailEntity.fromJson(e)).toList() as M;
     }
@@ -461,6 +495,7 @@ class JsonConvert {
 
 class JsonConvertClassCollection {
   Map<String, JsonConvertFunction> convertFuncMap = {
+    (AddEditReviseViewSGEntity).toString(): AddEditReviseViewSGEntity.fromJson,
     (AttendanceEntity).toString(): AttendanceEntity.fromJson,
     (AttendanceList).toString(): AttendanceList.fromJson,
     (CheckSuccessEntity).toString(): CheckSuccessEntity.fromJson,
@@ -534,6 +569,15 @@ class JsonConvertClassCollection {
     (LabourRequestSGCountList).toString(): LabourRequestSGCountList.fromJson,
     (LabourRequestWorkFlowEntity).toString(): LabourRequestWorkFlowEntity.fromJson,
     (LabourRequestWorkFlowRecords).toString(): LabourRequestWorkFlowRecords.fromJson,
+    (ReviseIndexSGEntity).toString(): ReviseIndexSGEntity.fromJson,
+    (ReviseIndexSGStatusList).toString(): ReviseIndexSGStatusList.fromJson,
+    (ReviseListSGEntity).toString(): ReviseListSGEntity.fromJson,
+    (ReviseListSGRows).toString(): ReviseListSGRows.fromJson,
+    (ReviseLogSGEntity).toString(): ReviseLogSGEntity.fromJson,
+    (ReviseLogSGRecords).toString(): ReviseLogSGRecords.fromJson,
+    (ReviseLogSGRecordsContent).toString(): ReviseLogSGRecordsContent.fromJson,
+    (ReviseLogSGRecordsContentReviseHours).toString(): ReviseLogSGRecordsContentReviseHours.fromJson,
+    (ReviseLogSGRecordsContentReviseMsg).toString(): ReviseLogSGRecordsContentReviseMsg.fromJson,
     (StaffDetailEntity).toString(): StaffDetailEntity.fromJson,
     (StaffDetailSGEntity).toString(): StaffDetailSGEntity.fromJson,
     (StaffDetailSGReviews).toString(): StaffDetailSGReviews.fromJson,

+ 65 - 0
packages/cs_domain/lib/generated/json/revise_index_s_g_entity.g.dart

@@ -0,0 +1,65 @@
+import 'package:domain/generated/json/base/json_convert_content.dart';
+import 'package:domain/entity/response/revise_index_s_g_entity.dart';
+
+ReviseIndexSGEntity $ReviseIndexSGEntityFromJson(Map<String, dynamic> json) {
+  final ReviseIndexSGEntity reviseIndexSGEntity = ReviseIndexSGEntity();
+  final List<ReviseIndexSGStatusList>? statusList = (json['status_list'] as List<dynamic>?)?.map(
+          (e) => jsonConvert.convert<ReviseIndexSGStatusList>(e) as ReviseIndexSGStatusList).toList();
+  if (statusList != null) {
+    reviseIndexSGEntity.statusList = statusList;
+  }
+  return reviseIndexSGEntity;
+}
+
+Map<String, dynamic> $ReviseIndexSGEntityToJson(ReviseIndexSGEntity entity) {
+  final Map<String, dynamic> data = <String, dynamic>{};
+  data['status_list'] = entity.statusList.map((v) => v.toJson()).toList();
+  return data;
+}
+
+extension ReviseIndexSGEntityExtension on ReviseIndexSGEntity {
+  ReviseIndexSGEntity copyWith({
+    List<ReviseIndexSGStatusList>? statusList,
+  }) {
+    return ReviseIndexSGEntity()
+      ..statusList = statusList ?? this.statusList;
+  }
+}
+
+ReviseIndexSGStatusList $ReviseIndexSGStatusListFromJson(Map<String, dynamic> json) {
+  final ReviseIndexSGStatusList reviseIndexSGStatusList = ReviseIndexSGStatusList();
+  final String? value = jsonConvert.convert<String>(json['value']);
+  if (value != null) {
+    reviseIndexSGStatusList.value = value;
+  }
+  final String? txt = jsonConvert.convert<String>(json['txt']);
+  if (txt != null) {
+    reviseIndexSGStatusList.txt = txt;
+  }
+  final String? selected = jsonConvert.convert<String>(json['selected']);
+  if (selected != null) {
+    reviseIndexSGStatusList.selected = selected;
+  }
+  return reviseIndexSGStatusList;
+}
+
+Map<String, dynamic> $ReviseIndexSGStatusListToJson(ReviseIndexSGStatusList entity) {
+  final Map<String, dynamic> data = <String, dynamic>{};
+  data['value'] = entity.value;
+  data['txt'] = entity.txt;
+  data['selected'] = entity.selected;
+  return data;
+}
+
+extension ReviseIndexSGStatusListExtension on ReviseIndexSGStatusList {
+  ReviseIndexSGStatusList copyWith({
+    String? value,
+    String? txt,
+    String? selected,
+  }) {
+    return ReviseIndexSGStatusList()
+      ..value = value ?? this.value
+      ..txt = txt ?? this.txt
+      ..selected = selected ?? this.selected;
+  }
+}

+ 143 - 0
packages/cs_domain/lib/generated/json/revise_list_s_g_entity.g.dart

@@ -0,0 +1,143 @@
+import 'package:domain/generated/json/base/json_convert_content.dart';
+import 'package:domain/entity/response/revise_list_s_g_entity.dart';
+
+ReviseListSGEntity $ReviseListSGEntityFromJson(Map<String, dynamic> json) {
+  final ReviseListSGEntity reviseListSGEntity = ReviseListSGEntity();
+  final int? total = jsonConvert.convert<int>(json['total']);
+  if (total != null) {
+    reviseListSGEntity.total = total;
+  }
+  final List<ReviseListSGRows>? rows = (json['rows'] as List<dynamic>?)?.map(
+          (e) => jsonConvert.convert<ReviseListSGRows>(e) as ReviseListSGRows).toList();
+  if (rows != null) {
+    reviseListSGEntity.rows = rows;
+  }
+  return reviseListSGEntity;
+}
+
+Map<String, dynamic> $ReviseListSGEntityToJson(ReviseListSGEntity entity) {
+  final Map<String, dynamic> data = <String, dynamic>{};
+  data['total'] = entity.total;
+  data['rows'] = entity.rows.map((v) => v.toJson()).toList();
+  return data;
+}
+
+extension ReviseListSGEntityExtension on ReviseListSGEntity {
+  ReviseListSGEntity copyWith({
+    int? total,
+    List<ReviseListSGRows>? rows,
+  }) {
+    return ReviseListSGEntity()
+      ..total = total ?? this.total
+      ..rows = rows ?? this.rows;
+  }
+}
+
+ReviseListSGRows $ReviseListSGRowsFromJson(Map<String, dynamic> json) {
+  final ReviseListSGRows reviseListSGRows = ReviseListSGRows();
+  final String? reviseId = jsonConvert.convert<String>(json['revise_id']);
+  if (reviseId != null) {
+    reviseListSGRows.reviseId = reviseId;
+  }
+  final String? reviseHours = jsonConvert.convert<String>(json['revise_hours']);
+  if (reviseHours != null) {
+    reviseListSGRows.reviseHours = reviseHours;
+  }
+  final String? name = jsonConvert.convert<String>(json['name']);
+  if (name != null) {
+    reviseListSGRows.name = name;
+  }
+  final String? nric = jsonConvert.convert<String>(json['nric']);
+  if (nric != null) {
+    reviseListSGRows.nric = nric;
+  }
+  final String? jobDate = jsonConvert.convert<String>(json['job_date']);
+  if (jobDate != null) {
+    reviseListSGRows.jobDate = jobDate;
+  }
+  final String? jobTime = jsonConvert.convert<String>(json['job_time']);
+  if (jobTime != null) {
+    reviseListSGRows.jobTime = jobTime;
+  }
+  final String? startTime = jsonConvert.convert<String>(json['start_time']);
+  if (startTime != null) {
+    reviseListSGRows.startTime = startTime;
+  }
+  final String? endTime = jsonConvert.convert<String>(json['end_time']);
+  if (endTime != null) {
+    reviseListSGRows.endTime = endTime;
+  }
+  final String? adjustHours = jsonConvert.convert<String>(json['adjust_hours']);
+  if (adjustHours != null) {
+    reviseListSGRows.adjustHours = adjustHours;
+  }
+  final String? totalHours = jsonConvert.convert<String>(json['total_hours']);
+  if (totalHours != null) {
+    reviseListSGRows.totalHours = totalHours;
+  }
+  final int? status = jsonConvert.convert<int>(json['status']);
+  if (status != null) {
+    reviseListSGRows.status = status;
+  }
+  final String? statusShow = jsonConvert.convert<String>(json['status_show']);
+  if (statusShow != null) {
+    reviseListSGRows.statusShow = statusShow;
+  }
+  final List<String>? actionList = (json['action_list'] as List<dynamic>?)?.map(
+          (e) => jsonConvert.convert<String>(e) as String).toList();
+  if (actionList != null) {
+    reviseListSGRows.actionList = actionList;
+  }
+  return reviseListSGRows;
+}
+
+Map<String, dynamic> $ReviseListSGRowsToJson(ReviseListSGRows entity) {
+  final Map<String, dynamic> data = <String, dynamic>{};
+  data['revise_id'] = entity.reviseId;
+  data['revise_hours'] = entity.reviseHours;
+  data['name'] = entity.name;
+  data['nric'] = entity.nric;
+  data['job_date'] = entity.jobDate;
+  data['job_time'] = entity.jobTime;
+  data['start_time'] = entity.startTime;
+  data['end_time'] = entity.endTime;
+  data['adjust_hours'] = entity.adjustHours;
+  data['total_hours'] = entity.totalHours;
+  data['status'] = entity.status;
+  data['status_show'] = entity.statusShow;
+  data['action_list'] = entity.actionList;
+  return data;
+}
+
+extension ReviseListSGRowsExtension on ReviseListSGRows {
+  ReviseListSGRows copyWith({
+    String? reviseId,
+    String? reviseHours,
+    String? name,
+    String? nric,
+    String? jobDate,
+    String? jobTime,
+    String? startTime,
+    String? endTime,
+    String? adjustHours,
+    String? totalHours,
+    int? status,
+    String? statusShow,
+    List<String>? actionList,
+  }) {
+    return ReviseListSGRows()
+      ..reviseId = reviseId ?? this.reviseId
+      ..reviseHours = reviseHours ?? this.reviseHours
+      ..name = name ?? this.name
+      ..nric = nric ?? this.nric
+      ..jobDate = jobDate ?? this.jobDate
+      ..jobTime = jobTime ?? this.jobTime
+      ..startTime = startTime ?? this.startTime
+      ..endTime = endTime ?? this.endTime
+      ..adjustHours = adjustHours ?? this.adjustHours
+      ..totalHours = totalHours ?? this.totalHours
+      ..status = status ?? this.status
+      ..statusShow = statusShow ?? this.statusShow
+      ..actionList = actionList ?? this.actionList;
+  }
+}

+ 193 - 0
packages/cs_domain/lib/generated/json/revise_log_s_g_entity.g.dart

@@ -0,0 +1,193 @@
+import 'package:domain/generated/json/base/json_convert_content.dart';
+import 'package:domain/entity/response/revise_log_s_g_entity.dart';
+
+ReviseLogSGEntity $ReviseLogSGEntityFromJson(Map<String, dynamic> json) {
+  final ReviseLogSGEntity reviseLogSGEntity = ReviseLogSGEntity();
+  final List<ReviseLogSGRecords>? records = (json['records'] as List<dynamic>?)?.map(
+          (e) => jsonConvert.convert<ReviseLogSGRecords>(e) as ReviseLogSGRecords).toList();
+  if (records != null) {
+    reviseLogSGEntity.records = records;
+  }
+  return reviseLogSGEntity;
+}
+
+Map<String, dynamic> $ReviseLogSGEntityToJson(ReviseLogSGEntity entity) {
+  final Map<String, dynamic> data = <String, dynamic>{};
+  data['records'] = entity.records.map((v) => v.toJson()).toList();
+  return data;
+}
+
+extension ReviseLogSGEntityExtension on ReviseLogSGEntity {
+  ReviseLogSGEntity copyWith({
+    List<ReviseLogSGRecords>? records,
+  }) {
+    return ReviseLogSGEntity()
+      ..records = records ?? this.records;
+  }
+}
+
+ReviseLogSGRecords $ReviseLogSGRecordsFromJson(Map<String, dynamic> json) {
+  final ReviseLogSGRecords reviseLogSGRecords = ReviseLogSGRecords();
+  final String? id = jsonConvert.convert<String>(json['id']);
+  if (id != null) {
+    reviseLogSGRecords.id = id;
+  }
+  final String? operationName = jsonConvert.convert<String>(json['operation_name']);
+  if (operationName != null) {
+    reviseLogSGRecords.operationName = operationName;
+  }
+  final int? dataType = jsonConvert.convert<int>(json['data_type']);
+  if (dataType != null) {
+    reviseLogSGRecords.dataType = dataType;
+  }
+  final String? desc = jsonConvert.convert<String>(json['desc']);
+  if (desc != null) {
+    reviseLogSGRecords.desc = desc;
+  }
+  final ReviseLogSGRecordsContent? content = jsonConvert.convert<ReviseLogSGRecordsContent>(json['content']);
+  if (content != null) {
+    reviseLogSGRecords.content = content;
+  }
+  final String? createdAt = jsonConvert.convert<String>(json['created_at']);
+  if (createdAt != null) {
+    reviseLogSGRecords.createdAt = createdAt;
+  }
+  final String? actClass = jsonConvert.convert<String>(json['act_class']);
+  if (actClass != null) {
+    reviseLogSGRecords.actClass = actClass;
+  }
+  final String? actText = jsonConvert.convert<String>(json['act_text']);
+  if (actText != null) {
+    reviseLogSGRecords.actText = actText;
+  }
+  return reviseLogSGRecords;
+}
+
+Map<String, dynamic> $ReviseLogSGRecordsToJson(ReviseLogSGRecords entity) {
+  final Map<String, dynamic> data = <String, dynamic>{};
+  data['id'] = entity.id;
+  data['operation_name'] = entity.operationName;
+  data['data_type'] = entity.dataType;
+  data['desc'] = entity.desc;
+  data['content'] = entity.content?.toJson();
+  data['created_at'] = entity.createdAt;
+  data['act_class'] = entity.actClass;
+  data['act_text'] = entity.actText;
+  return data;
+}
+
+extension ReviseLogSGRecordsExtension on ReviseLogSGRecords {
+  ReviseLogSGRecords copyWith({
+    String? id,
+    String? operationName,
+    int? dataType,
+    String? desc,
+    ReviseLogSGRecordsContent? content,
+    String? createdAt,
+    String? actClass,
+    String? actText,
+  }) {
+    return ReviseLogSGRecords()
+      ..id = id ?? this.id
+      ..operationName = operationName ?? this.operationName
+      ..dataType = dataType ?? this.dataType
+      ..desc = desc ?? this.desc
+      ..content = content ?? this.content
+      ..createdAt = createdAt ?? this.createdAt
+      ..actClass = actClass ?? this.actClass
+      ..actText = actText ?? this.actText;
+  }
+}
+
+ReviseLogSGRecordsContent $ReviseLogSGRecordsContentFromJson(Map<String, dynamic> json) {
+  final ReviseLogSGRecordsContent reviseLogSGRecordsContent = ReviseLogSGRecordsContent();
+  final ReviseLogSGRecordsContentReviseHours? reviseHours = jsonConvert.convert<ReviseLogSGRecordsContentReviseHours>(json['revise_hours']);
+  if (reviseHours != null) {
+    reviseLogSGRecordsContent.reviseHours = reviseHours;
+  }
+  final ReviseLogSGRecordsContentReviseMsg? reviseMsg = jsonConvert.convert<ReviseLogSGRecordsContentReviseMsg>(json['revise_msg']);
+  if (reviseMsg != null) {
+    reviseLogSGRecordsContent.reviseMsg = reviseMsg;
+  }
+  return reviseLogSGRecordsContent;
+}
+
+Map<String, dynamic> $ReviseLogSGRecordsContentToJson(ReviseLogSGRecordsContent entity) {
+  final Map<String, dynamic> data = <String, dynamic>{};
+  data['revise_hours'] = entity.reviseHours?.toJson();
+  data['revise_msg'] = entity.reviseMsg?.toJson();
+  return data;
+}
+
+extension ReviseLogSGRecordsContentExtension on ReviseLogSGRecordsContent {
+  ReviseLogSGRecordsContent copyWith({
+    ReviseLogSGRecordsContentReviseHours? reviseHours,
+    ReviseLogSGRecordsContentReviseMsg? reviseMsg,
+  }) {
+    return ReviseLogSGRecordsContent()
+      ..reviseHours = reviseHours ?? this.reviseHours
+      ..reviseMsg = reviseMsg ?? this.reviseMsg;
+  }
+}
+
+ReviseLogSGRecordsContentReviseHours $ReviseLogSGRecordsContentReviseHoursFromJson(Map<String, dynamic> json) {
+  final ReviseLogSGRecordsContentReviseHours reviseLogSGRecordsContentReviseHours = ReviseLogSGRecordsContentReviseHours();
+  final String? field = jsonConvert.convert<String>(json['field']);
+  if (field != null) {
+    reviseLogSGRecordsContentReviseHours.field = field;
+  }
+  final int? value = jsonConvert.convert<int>(json['value']);
+  if (value != null) {
+    reviseLogSGRecordsContentReviseHours.value = value;
+  }
+  return reviseLogSGRecordsContentReviseHours;
+}
+
+Map<String, dynamic> $ReviseLogSGRecordsContentReviseHoursToJson(ReviseLogSGRecordsContentReviseHours entity) {
+  final Map<String, dynamic> data = <String, dynamic>{};
+  data['field'] = entity.field;
+  data['value'] = entity.value;
+  return data;
+}
+
+extension ReviseLogSGRecordsContentReviseHoursExtension on ReviseLogSGRecordsContentReviseHours {
+  ReviseLogSGRecordsContentReviseHours copyWith({
+    String? field,
+    int? value,
+  }) {
+    return ReviseLogSGRecordsContentReviseHours()
+      ..field = field ?? this.field
+      ..value = value ?? this.value;
+  }
+}
+
+ReviseLogSGRecordsContentReviseMsg $ReviseLogSGRecordsContentReviseMsgFromJson(Map<String, dynamic> json) {
+  final ReviseLogSGRecordsContentReviseMsg reviseLogSGRecordsContentReviseMsg = ReviseLogSGRecordsContentReviseMsg();
+  final String? field = jsonConvert.convert<String>(json['field']);
+  if (field != null) {
+    reviseLogSGRecordsContentReviseMsg.field = field;
+  }
+  final String? value = jsonConvert.convert<String>(json['value']);
+  if (value != null) {
+    reviseLogSGRecordsContentReviseMsg.value = value;
+  }
+  return reviseLogSGRecordsContentReviseMsg;
+}
+
+Map<String, dynamic> $ReviseLogSGRecordsContentReviseMsgToJson(ReviseLogSGRecordsContentReviseMsg entity) {
+  final Map<String, dynamic> data = <String, dynamic>{};
+  data['field'] = entity.field;
+  data['value'] = entity.value;
+  return data;
+}
+
+extension ReviseLogSGRecordsContentReviseMsgExtension on ReviseLogSGRecordsContentReviseMsg {
+  ReviseLogSGRecordsContentReviseMsg copyWith({
+    String? field,
+    String? value,
+  }) {
+    return ReviseLogSGRecordsContentReviseMsg()
+      ..field = field ?? this.field
+      ..value = value ?? this.value;
+  }
+}

+ 74 - 0
packages/cs_domain/lib/repository/job_repository.dart

@@ -9,6 +9,7 @@ import 'package:domain/entity/response/job_list_detail_entity.dart';
 import 'package:domain/entity/response/job_list_entity.dart';
 import 'package:domain/entity/response/job_list_index_entity.dart';
 import 'package:domain/entity/response/job_list_remark_view_entity.dart';
+import 'package:domain/entity/response/revise_index_s_g_entity.dart';
 import 'package:domain/entity/response/staff_detail_entity.dart';
 import 'package:domain/entity/response/staff_labour_history_entity.dart';
 import 'package:domain/entity/response/staff_remark_history_entity.dart';
@@ -730,4 +731,77 @@ class JobRepository extends GetxService {
     }
     return result.convert();
   }
+
+  /// Revise 列表选项
+  Future<HttpResult<ReviseIndexSGEntity>> fetchReviseIndex({
+    CancelToken? cancelToken,
+  }) async {
+    final result = await httpProvider.requestNetResult(
+      ApiConstants.apiReviseIndexSG,
+      cancelToken: cancelToken,
+    );
+
+    //根据返回的结果,封装原始数据为Bean/Entity对象
+    if (result.isSuccess) {
+      //重新赋值data或list
+      final json = result.getDataJson();
+      var data = ReviseIndexSGEntity.fromJson(json!);
+      //重新赋值data或list
+      return result.convert<ReviseIndexSGEntity>(data: data);
+    }
+    return result.convert();
+  }
+
+  /// Revise 列表选项
+  Future<HttpResult<StaffRemarkHistoryEntity>> fetchReviseList(
+    String? applied_id,
+    String? status,
+    String? keyword,
+    String? start_date,
+    String? end_date, {
+    required int curPage,
+    CancelToken? cancelToken,
+  }) async {
+    //参数
+    Map<String, String> params = {};
+    params["cur_page"] = curPage.toString();
+    params["page_size"] = "10";
+
+    if (!Utils.isEmpty(applied_id)) {
+      params["applied_id"] = applied_id!;
+    }
+
+    if (!Utils.isEmpty(status)) {
+      params["status"] = status!;
+    }
+
+    if (!Utils.isEmpty(keyword)) {
+      params["keyword"] = keyword!;
+    }
+
+    if (!Utils.isEmpty(start_date)) {
+      params["start_date"] = start_date!;
+    }
+
+    if (!Utils.isEmpty(end_date)) {
+      params["end_date"] = end_date!;
+    }
+
+    final result = await httpProvider.requestNetResult(
+      ApiConstants.apiJobListStaffRemarkHistory,
+      params: params,
+      cancelToken: cancelToken,
+    );
+
+    //根据返回的结果,封装原始数据为Bean/Entity对象
+    if (result.isSuccess) {
+      //重新赋值data或list
+      final json = result.getDataJson();
+      var data = StaffRemarkHistoryEntity.fromJson(json!);
+      //重新赋值data或list
+      return result.convert<StaffRemarkHistoryEntity>(data: data);
+    }
+    return result.convert();
+  }
+
 }