liukai hai 6 meses
pai
achega
13ffbc7089

+ 2 - 0
packages/cpt_job_sg/lib/modules/job_applied/job_applied_page.dart

@@ -150,6 +150,7 @@ class _JobAppliedState extends BaseState<JobAppliedPage, JobAppliedController> {
                       FocusScope.of(context).unfocus();
                       controller.confirmJob();
                     },
+                    padding: const EdgeInsets.symmetric(horizontal: 5.0),
                     text: "Send E-Attendance".tr,
                     textColor: ColorConstants.white,
                     fontSize: 16,
@@ -169,6 +170,7 @@ class _JobAppliedState extends BaseState<JobAppliedPage, JobAppliedController> {
                         controller.gotoAddStaffPage();
                       },
                       text: "Add Staff".tr,
+                      padding: const EdgeInsets.symmetric(horizontal: 5.0),
                       textColor: ColorConstants.white,
                       fontSize: 16,
                       radius: 20,

+ 8 - 7
packages/cpt_labour_sg/lib/modules/job_list_edit/job_list_edit_controller.dart

@@ -1,4 +1,4 @@
-import 'package:domain/entity/response/job_list_s_g_entity.dart';
+import 'package:domain/entity/response/job_list_edit_index_s_g_entity.dart';
 import 'package:domain/repository/labour_sg_repository.dart';
 import 'package:flutter/cupertino.dart';
 import 'package:get/get.dart';
@@ -32,8 +32,8 @@ class JobListEditController extends GetxController with DioCancelableMixin {
       TextEditingController remarkController = state.formData['remark']!['controller'];
 
       //赋值展示
-      state.selectedOutlet = state.editEntity?.outletList.firstWhere((e) => e.selected == "selected").txt;
-      state.selectedOutletId = state.editEntity?.outletList.firstWhere((e) => e.selected == "selected").value;
+      state.selectedOutlet = state.editEntity?.outletList.firstWhere((e) => e.selected == "selected", orElse: () => JobListEditIndexOption()).txt;
+      state.selectedOutletId = state.editEntity?.outletList.firstWhere((e) => e.selected == "selected", orElse: () => JobListEditIndexOption()).value;
       state.genderOptionType = state.editEntity?.sexLimit ?? 0;
       state.selectRequestTypeIndex = state.editEntity!.requestType.indexWhere((e) => e.checked == "checked");
 
@@ -41,10 +41,12 @@ class JobListEditController extends GetxController with DioCancelableMixin {
       state.selectedStartTime = state.editEntity?.startTime == null ? null : DateTimeUtils.getDateTime(state.editEntity?.startTime ?? "");
       state.selectedEndTime = state.editEntity?.endTime == null ? null : DateTimeUtils.getDateTime(state.editEntity?.endTime ?? "");
 
-      maleNoController.text = state.editEntity?.femaleLimit == 0 ? "" : state.editEntity?.femaleLimit.toString() ?? "";
-      femaleNoController.text = state.editEntity?.maleLimit == 0 ? "" : state.editEntity?.maleLimit.toString() ?? "";
+      state.isOtherFormDisEnable = Utils.isEmpty(state.editEntity?.disabled);
+
+      maleNoController.text = state.editEntity?.maleLimit == 0 ? "" : state.editEntity?.maleLimit.toString() ?? "";
+      femaleNoController.text = state.editEntity?.femaleLimit == 0 ? "" : state.editEntity?.femaleLimit.toString() ?? "";
       needNoController.text = state.editEntity?.needNum == 0 ? "" : state.editEntity?.needNum.toString() ?? "";
-      remarkController.text = state.editEntity?.remark.toString() ?? "";
+      remarkController.text = state.editEntity?.remark ?? "";
 
       update();
     } else {
@@ -184,6 +186,5 @@ class JobListEditController extends GetxController with DioCancelableMixin {
     } else {
       ToastEngine.show(result.errorMsg ?? "Network Load Error".tr);
     }
-
   }
 }

+ 22 - 18
packages/cpt_labour_sg/lib/modules/job_list_edit/job_list_edit_page.dart

@@ -129,7 +129,7 @@ class JobListEditPage extends BaseStatelessPage<JobListEditController> {
                               padding: const EdgeInsets.only(left: 16, right: 10),
                               height: 45,
                               decoration: BoxDecoration(
-                                color: const Color(0xFF4DCFF6).withOpacity(state.isEditType ? 0.2 : 0.5),
+                                color: const Color(0xFF4DCFF6).withOpacity(state.isEditType && state.isOtherFormDisEnable ? 0.2 : 0.5),
                                 borderRadius: const BorderRadius.all(Radius.circular(5)),
                               ),
                               child: Row(
@@ -147,14 +147,16 @@ class JobListEditPage extends BaseStatelessPage<JobListEditController> {
                                   ).expanded(),
                                   //下拉选图标
                                   Visibility(
-                                    visible: state.isEditType,
+                                    visible: state.isEditType && state.isOtherFormDisEnable,
                                     child: const MyAssetImage(Assets.baseServiceTriangleDropDownIcon, width: 11.5, height: 6.28),
                                   ),
                                 ],
                               ),
                             ).onTap(() {
-                              FocusScope.of(context).unfocus();
-                              controller.pickStartTime();
+                              if (state.isEditType && state.isOtherFormDisEnable) {
+                                FocusScope.of(context).unfocus();
+                                controller.pickStartTime();
+                              }
                             }),
                           ),
 
@@ -165,7 +167,7 @@ class JobListEditPage extends BaseStatelessPage<JobListEditController> {
                               margin: const EdgeInsets.only(left: 10),
                               height: 45,
                               decoration: BoxDecoration(
-                                color: const Color(0xFF4DCFF6).withOpacity(state.isEditType ? 0.2 : 0.5),
+                                color: const Color(0xFF4DCFF6).withOpacity(state.isEditType && state.isOtherFormDisEnable ? 0.2 : 0.5),
                                 borderRadius: const BorderRadius.all(Radius.circular(5)),
                               ),
                               child: Row(
@@ -183,14 +185,16 @@ class JobListEditPage extends BaseStatelessPage<JobListEditController> {
                                   ).expanded(),
                                   //下拉选图标
                                   Visibility(
-                                    visible: state.isEditType,
+                                    visible: state.isEditType && state.isOtherFormDisEnable,
                                     child: const MyAssetImage(Assets.baseServiceTriangleDropDownIcon, width: 11.5, height: 6.28),
                                   ),
                                 ],
                               ),
                             ).onTap(() {
-                              FocusScope.of(context).unfocus();
-                              controller.pickEndTime();
+                              if (state.isEditType && state.isOtherFormDisEnable) {
+                                FocusScope.of(context).unfocus();
+                                controller.pickEndTime();
+                              }
                             }),
                           ),
                         ],
@@ -246,7 +250,7 @@ class JobListEditPage extends BaseStatelessPage<JobListEditController> {
                           state.genderOptionType = index;
                           controller.update();
                         },
-                        enable: state.isEditType,
+                        enable: state.isEditType && state.isOtherFormDisEnable,
                         selectedPosition: state.editEntity == null ? -1 : state.genderOptionType,
                       ).marginOnly(top: 10),
 
@@ -260,8 +264,8 @@ class JobListEditPage extends BaseStatelessPage<JobListEditController> {
                           paddingTop: 0,
                           paddingBottom: 0,
                           height: 45,
-                          enabled: state.isEditType,
-                          fillBackgroundColor: const Color(0xFF4DCFF6).withOpacity(state.isEditType ? 0.2 : 0.5),
+                          enabled: state.isEditType && state.isOtherFormDisEnable,
+                          fillBackgroundColor: const Color(0xFF4DCFF6).withOpacity(state.isEditType && state.isOtherFormDisEnable ? 0.2 : 0.5),
                           inputFormatters: <TextInputFormatter>[FilteringTextInputFormatter.digitsOnly],
                           textInputType: TextInputType.number,
                           formData: state.formData,
@@ -291,8 +295,8 @@ class JobListEditPage extends BaseStatelessPage<JobListEditController> {
                               paddingTop: 0,
                               paddingBottom: 0,
                               height: 45,
-                              enabled: state.isEditType,
-                              fillBackgroundColor: Color(0xFF4DCFF6).withOpacity(state.isEditType ? 0.2 : 0.5),
+                              enabled: state.isEditType && state.isOtherFormDisEnable,
+                              fillBackgroundColor: const Color(0xFF4DCFF6).withOpacity(state.isEditType && state.isOtherFormDisEnable ? 0.2 : 0.5),
                               inputFormatters: <TextInputFormatter>[FilteringTextInputFormatter.digitsOnly],
                               textInputType: TextInputType.number,
                               formData: state.formData,
@@ -316,8 +320,8 @@ class JobListEditPage extends BaseStatelessPage<JobListEditController> {
                               paddingTop: 0,
                               paddingBottom: 0,
                               height: 45,
-                              enabled: state.isEditType,
-                              fillBackgroundColor: const Color(0xFF4DCFF6).withOpacity(state.isEditType ? 0.2 : 0.5),
+                              enabled: state.isEditType && state.isOtherFormDisEnable,
+                              fillBackgroundColor: const Color(0xFF4DCFF6).withOpacity(state.isEditType && state.isOtherFormDisEnable ? 0.2 : 0.5),
                               inputFormatters: <TextInputFormatter>[FilteringTextInputFormatter.digitsOnly],
                               textInputType: TextInputType.number,
                               formData: state.formData,
@@ -345,7 +349,7 @@ class JobListEditPage extends BaseStatelessPage<JobListEditController> {
                         onOptionSelected: (index, text) {
                           state.selectRequestTypeIndex = index;
                         },
-                        enable: state.isEditType,
+                        enable: state.isEditType && state.isOtherFormDisEnable,
                         selectedPosition: state.editEntity == null ? -1 : state.selectRequestTypeIndex,
                       ).marginOnly(top: 10),
 
@@ -364,14 +368,14 @@ class JobListEditPage extends BaseStatelessPage<JobListEditController> {
                           margin: const EdgeInsets.only(top: 10),
                           padding: const EdgeInsets.symmetric(vertical: 15, horizontal: 15),
                           decoration: BoxDecoration(
-                            color: const Color(0xFF4DCFF6).withOpacity(state.isEditType ? 0.2 : 0.5),
+                            color: const Color(0xFF4DCFF6).withOpacity(state.isEditType && state.isOtherFormDisEnable ? 0.2 : 0.5),
                             borderRadius: const BorderRadius.all(Radius.circular(5)),
                           ),
                           child: TextField(
                             cursorColor: ColorConstants.white,
                             cursorWidth: 1.5,
                             autofocus: false,
-                            enabled: state.isEditType,
+                            enabled: state.isEditType && state.isOtherFormDisEnable,
                             focusNode: state.formData["remark"]!['focusNode'],
                             controller: state.formData["remark"]!['controller'],
                             // 装饰

+ 2 - 0
packages/cpt_labour_sg/lib/modules/job_list_edit/job_list_edit_state.dart

@@ -43,6 +43,8 @@ class JobListEditState {
 
   JobListEditIndexSGEntity? editEntity;
 
+  bool isOtherFormDisEnable = true; //除了 OutLet 其他字段是否能修改
+
   DateTime? selectedStartTime;
   DateTime? selectedEndTime;
 

+ 18 - 18
packages/cpt_labour_sg/lib/modules/labour_request_add/labour_request_add_page.dart

@@ -86,11 +86,11 @@ class LabourRequestAddPage extends BaseStatelessPage<LabourRequestAddController>
 
                       //工作标题
                       Container(
-                        padding: EdgeInsets.only(left: 16, right: 10),
-                        margin: EdgeInsets.only(top: 10),
+                        padding: const EdgeInsets.only(left: 16, right: 10),
+                        margin: const EdgeInsets.only(top: 10),
                         height: 45,
                         decoration: BoxDecoration(
-                          color: Color(0xFF4DCFF6).withOpacity(0.2),
+                          color: const Color(0xFF4DCFF6).withOpacity(0.2),
                           borderRadius: const BorderRadius.all(Radius.circular(5)),
                         ),
                         child: Row(
@@ -108,7 +108,7 @@ class LabourRequestAddPage extends BaseStatelessPage<LabourRequestAddController>
                             ).expanded(),
 
                             //下拉选图标
-                            MyAssetImage(Assets.baseServiceTriangleDropDownIcon, width: 11.5, height: 6.28),
+                            const MyAssetImage(Assets.baseServiceTriangleDropDownIcon, width: 11.5, height: 6.28),
                           ],
                         ),
                       ).onTap(() {
@@ -126,13 +126,13 @@ class LabourRequestAddPage extends BaseStatelessPage<LabourRequestAddController>
                         crossAxisAlignment: CrossAxisAlignment.center,
                         mainAxisAlignment: MainAxisAlignment.start,
                         children: [
-                          //选择开始时间
+                          //选择工作开始时间
                           Expanded(
                             child: Container(
-                              padding: EdgeInsets.only(left: 16, right: 10),
+                              padding: const EdgeInsets.only(left: 16, right: 10),
                               height: 45,
                               decoration: BoxDecoration(
-                                color: Color(0xFF4DCFF6).withOpacity(0.2),
+                                color: const Color(0xFF4DCFF6).withOpacity(0.2),
                                 borderRadius: const BorderRadius.all(Radius.circular(5)),
                               ),
                               child: Row(
@@ -149,7 +149,7 @@ class LabourRequestAddPage extends BaseStatelessPage<LabourRequestAddController>
                                     textColor: ColorConstants.white,
                                   ).expanded(),
                                   //下拉选图标
-                                  MyAssetImage(Assets.baseServiceTriangleDropDownIcon, width: 11.5, height: 6.28),
+                                  const MyAssetImage(Assets.baseServiceTriangleDropDownIcon, width: 11.5, height: 6.28),
                                 ],
                               ),
                             ).onTap(() {
@@ -158,7 +158,7 @@ class LabourRequestAddPage extends BaseStatelessPage<LabourRequestAddController>
                             }),
                           ),
 
-                          // //选择结束时间
+                          //选择工作结束时间
                           Expanded(
                             child: Container(
                               padding: const EdgeInsets.only(left: 16, right: 10),
@@ -207,7 +207,7 @@ class LabourRequestAddPage extends BaseStatelessPage<LabourRequestAddController>
                         crossAxisAlignment: CrossAxisAlignment.center,
                         mainAxisAlignment: MainAxisAlignment.start,
                         children: [
-                          //选择开始时间
+                          //选择重复的开始时间
                           Expanded(
                             child: Container(
                               padding: const EdgeInsets.only(left: 16, right: 10),
@@ -224,7 +224,7 @@ class LabourRequestAddPage extends BaseStatelessPage<LabourRequestAddController>
                                   MyTextView(
                                     state.selectedRepeatStartTime == null
                                         ? ""
-                                        : DateTimeUtils.formatDate(state.selectedRepeatStartTime, format: "yyyy-MM-dd HH:mm"),
+                                        : DateTimeUtils.formatDate(state.selectedRepeatStartTime, format: "yyyy-MM-dd"),
                                     fontSize: 14,
                                     hint: "Repeat Start Time".tr,
                                     textHintColor: ColorConstants.textGrayAECAE5,
@@ -232,7 +232,7 @@ class LabourRequestAddPage extends BaseStatelessPage<LabourRequestAddController>
                                     textColor: ColorConstants.white,
                                   ).expanded(),
                                   //下拉选图标
-                                  MyAssetImage(Assets.baseServiceTriangleDropDownIcon, width: 11.5, height: 6.28),
+                                  const MyAssetImage(Assets.baseServiceTriangleDropDownIcon, width: 11.5, height: 6.28),
                                 ],
                               ),
                             ).onTap(() {
@@ -241,14 +241,14 @@ class LabourRequestAddPage extends BaseStatelessPage<LabourRequestAddController>
                             }),
                           ),
 
-                          // //选择结束时间
+                          //选择重复的结束时间
                           Expanded(
                             child: Container(
-                              padding: EdgeInsets.only(left: 16, right: 10),
-                              margin: EdgeInsets.only(left: 10),
+                              padding: const EdgeInsets.only(left: 16, right: 10),
+                              margin: const EdgeInsets.only(left: 10),
                               height: 45,
                               decoration: BoxDecoration(
-                                color: Color(0xFF4DCFF6).withOpacity(0.2),
+                                color: const Color(0xFF4DCFF6).withOpacity(0.2),
                                 borderRadius: const BorderRadius.all(Radius.circular(5)),
                               ),
                               child: Row(
@@ -259,7 +259,7 @@ class LabourRequestAddPage extends BaseStatelessPage<LabourRequestAddController>
                                   MyTextView(
                                     state.selectedRepeatEndTime == null
                                         ? ""
-                                        : DateTimeUtils.formatDate(state.selectedRepeatEndTime, format: "yyyy-MM-dd HH:mm"),
+                                        : DateTimeUtils.formatDate(state.selectedRepeatEndTime, format: "yyyy-MM-dd"),
                                     fontSize: 14,
                                     hint: "Repeat End Time".tr,
                                     textHintColor: ColorConstants.textGrayAECAE5,
@@ -267,7 +267,7 @@ class LabourRequestAddPage extends BaseStatelessPage<LabourRequestAddController>
                                     textColor: ColorConstants.white,
                                   ).expanded(),
                                   //下拉选图标
-                                  MyAssetImage(Assets.baseServiceTriangleDropDownIcon, width: 11.5, height: 6.28),
+                                  const MyAssetImage(Assets.baseServiceTriangleDropDownIcon, width: 11.5, height: 6.28),
                                 ],
                               ),
                             ).onTap(() {

+ 1 - 0
packages/cs_domain/lib/entity/response/job_list_edit_index_s_g_entity.dart

@@ -26,6 +26,7 @@ class JobListEditIndexSGEntity {
 	@JSONField(name: "need_num")
 	int needNum = 0;
 	String? remark = null;
+	String? disabled;
 	@JSONField(name: "outlet_list")
 	List<JobListEditIndexOption> outletList = [];
 	@JSONField(name: "request_type")

+ 7 - 0
packages/cs_domain/lib/generated/json/job_list_edit_index_s_g_entity.g.dart

@@ -47,6 +47,10 @@ JobListEditIndexSGEntity $JobListEditIndexSGEntityFromJson(Map<String, dynamic>
   if (remark != null) {
     jobListEditIndexSGEntity.remark = remark;
   }
+  final String? disabled = jsonConvert.convert<String>(json['disabled']);
+  if (disabled != null) {
+    jobListEditIndexSGEntity.disabled = disabled;
+  }
   final List<JobListEditIndexOption>? outletList = (json['outlet_list'] as List<dynamic>?)?.map(
           (e) => jsonConvert.convert<JobListEditIndexOption>(e) as JobListEditIndexOption).toList();
   if (outletList != null) {
@@ -78,6 +82,7 @@ Map<String, dynamic> $JobListEditIndexSGEntityToJson(JobListEditIndexSGEntity en
   data['female_limit'] = entity.femaleLimit;
   data['need_num'] = entity.needNum;
   data['remark'] = entity.remark;
+  data['disabled'] = entity.disabled;
   data['outlet_list'] = entity.outletList.map((v) => v.toJson()).toList();
   data['request_type'] = entity.requestType.map((v) => v.toJson()).toList();
   data['limit_list'] = entity.limitList.map((v) => v.toJson()).toList();
@@ -97,6 +102,7 @@ extension JobListEditIndexSGEntityExtension on JobListEditIndexSGEntity {
     int? femaleLimit,
     int? needNum,
     String? remark,
+    String? disabled,
     List<JobListEditIndexOption>? outletList,
     List<JobListEditIndexOption>? requestType,
     List<JobListEditIndexOption>? limitList,
@@ -113,6 +119,7 @@ extension JobListEditIndexSGEntityExtension on JobListEditIndexSGEntity {
       ..femaleLimit = femaleLimit ?? this.femaleLimit
       ..needNum = needNum ?? this.needNum
       ..remark = remark ?? this.remark
+      ..disabled = disabled ?? this.disabled
       ..outletList = outletList ?? this.outletList
       ..requestType = requestType ?? this.requestType
       ..limitList = limitList ?? this.limitList;

+ 2 - 2
packages/cs_domain/lib/repository/labour_sg_repository.dart

@@ -771,12 +771,12 @@ class LabourSGRepository extends GetxService {
     params['end_time'] = endTime ?? "";
     params['outlet_id'] = outletId ?? "";
 
-    params['sexLimit'] = sexLimit.toString();
+    params['sex_limit'] = sexLimit.toString();
 
     if (sexLimit == 1) {
       params['male_limit'] = maleLimit ?? "0";
       params['female_limit'] = femaleLimit ?? "0";
-      params['need_num'] = (int.parse(maleLimit ?? "0") + int.parse(femaleLimit ?? "0")).toString();
+      // params['need_num'] = (int.parse(maleLimit ?? "0") + int.parse(femaleLimit ?? "0")).toString();
     } else {
       params['need_num'] = needNum ?? "0";
     }