Bladeren bron

预选列表 和 工作添加员工 时增加location 筛选条件

glglove 1 dag geleden
bovenliggende
commit
36716c1938

+ 28 - 2
packages/cpt_uk/lib/modules/job/job_applied/widget/applied_add_staff.dart

@@ -246,6 +246,7 @@ class _AppliedAddStaffState extends State<AppliedAddStaff> {
           children: [
             Expanded(
               child: SearchAppBar(
+                  key: Key("keyword"),
                   value: controller.keyword,
                   searchBarHeight: 38,
                   searchBarBgColor: Colors.white,
@@ -257,13 +258,38 @@ class _AppliedAddStaffState extends State<AppliedAddStaff> {
                   textHintColor: Color(0XFFAFB3B7),
                   textColor: ColorConstants.black33,
                   textFontSize: 12.0,
+                  showSearchIcon: false,
+                  margin: EdgeInsets.only(right: 5),
                   onSearch: (keyword) {
-                    controller.searchInputSearch(keyword);
+                    controller.searchKeywordInputSearch(keyword);
                   },
-                  hintText: "Staff Name/Loction".tr,
+                  hintText: "Staff Name".tr,
                   controller: controller.searchController,
               ),
             ),
+            Expanded(
+              child: SearchAppBar(
+                key: Key("searchLocation"),
+                value: controller.searchLocation,
+                searchBarHeight: 38,
+                searchBarBgColor: Colors.white,
+                searchBarBorderRadius: 15,
+                searchBarBorder: Border.all(
+                  color: Color(0XFFC3C3C3), // 设置边框颜色为灰色
+                  width: 0.5, // 设置边框宽度
+                ),
+                textHintColor: Color(0XFFAFB3B7),
+                textColor: ColorConstants.black33,
+                textFontSize: 12.0,
+                showSearchIcon: false,
+                margin: EdgeInsets.only(right: 5),
+                onSearch: (searchLocation) {
+                  controller.searchLocationInputSearch(searchLocation);
+                },
+                hintText: "Location".tr,
+                controller: controller.searchLocationController,
+              ),
+            ),
             Row(
               mainAxisAlignment: MainAxisAlignment.end,
               crossAxisAlignment: CrossAxisAlignment.center,

+ 12 - 2
packages/cpt_uk/lib/modules/job/job_applied/widget/applied_add_staff_controller.dart

@@ -27,6 +27,7 @@ class AppliedAddStaffController extends GetxController with DioCancelableMixin {
   final UKJobRepository _jobRepository = Get.find();
 
   TextEditingController searchController = TextEditingController();
+  TextEditingController searchLocationController = TextEditingController();
 
   var _curPage = 1;
   var _needShowPlaceholder = true;
@@ -36,6 +37,7 @@ class AppliedAddStaffController extends GetxController with DioCancelableMixin {
   String? errorMessage;
 
   String keyword = "";
+  String searchLocation = "";
   String? jobId = null;
 
 
@@ -120,6 +122,7 @@ class AppliedAddStaffController extends GetxController with DioCancelableMixin {
     var listResult = await _jobRepository.searchStaffList(
       jobId,
       keyword,
+      searchLocation,
       selectedIndustryId,
       selectedJobTitleId,
       curPage: _curPage,
@@ -256,12 +259,18 @@ class AppliedAddStaffController extends GetxController with DioCancelableMixin {
 
 
 
-  //搜索
-  void searchInputSearch(String keyword) {
+  // keyword搜索
+  void searchKeywordInputSearch(String keyword) {
     this.keyword = keyword;
     doSearch();
   }
 
+  // location搜索
+  void searchLocationInputSearch(String searchLocation) {
+    this.searchLocation = searchLocation;
+    doSearch();
+  }
+
   // 搜索
   void doSearch() {
     refreshController.callRefresh();
@@ -269,6 +278,7 @@ class AppliedAddStaffController extends GetxController with DioCancelableMixin {
   // 重置搜索
   void resetSearch() {
     keyword = "";
+    searchLocation = "";
     selectedJobTitleStr = "";
     selectedJobIndustryStr = "";
     update();

+ 29 - 3
packages/cpt_uk/lib/modules/job/labour_request_preselected_list/widget/preselected_add_staff.dart

@@ -242,6 +242,7 @@ class _PreselectedAddStaffState extends State<PreselectedAddStaff> {
           children: [
             Expanded(
               child: SearchAppBar(
+                key: Key("keyword"),
                 value: controller.keyword,
                 searchBarHeight: 38,
                 searchBarBgColor: Colors.white,
@@ -251,15 +252,40 @@ class _PreselectedAddStaffState extends State<PreselectedAddStaff> {
                   width: 0.5, // 设置边框宽度
                 ),
                 textHintColor: Color(0XFFAFB3B7),
-                textFontSize: 12.0,
                 textColor: ColorConstants.black33,
+                textFontSize: 12.0,
+                showSearchIcon: false,
+                margin: EdgeInsets.only(right: 5),
                 onSearch: (keyword) {
-                  controller.searchInputSearch(keyword);
+                  controller.searchKeywordInputSearch(keyword);
                 },
-                hintText: "Staff Name/Loction".tr,
+                hintText: "Staff Name".tr,
                 controller: controller.searchController,
               ),
             ),
+            Expanded(
+              child: SearchAppBar(
+                key: Key("searchLocation"),
+                value: controller.searchLocation,
+                searchBarHeight: 38,
+                searchBarBgColor: Colors.white,
+                searchBarBorderRadius: 15,
+                searchBarBorder: Border.all(
+                  color: Color(0XFFC3C3C3), // 设置边框颜色为灰色
+                  width: 0.5, // 设置边框宽度
+                ),
+                textHintColor: Color(0XFFAFB3B7),
+                textColor: ColorConstants.black33,
+                textFontSize: 12.0,
+                showSearchIcon: false,
+                margin: EdgeInsets.only(right: 5),
+                onSearch: (searchLocation) {
+                  controller.searchLocationInputSearch(searchLocation);
+                },
+                hintText: "Location".tr,
+                controller: controller.searchLocationController,
+              ),
+            ),
             Row(
               mainAxisAlignment: MainAxisAlignment.end,
               crossAxisAlignment: CrossAxisAlignment.center,

+ 13 - 3
packages/cpt_uk/lib/modules/job/labour_request_preselected_list/widget/preselected_add_staff_controller.dart

@@ -25,7 +25,7 @@ class PreselectedAddStaffController extends GetxController with DioCancelableMix
   final UKJobRepository _jobRepository = Get.find();
 
   TextEditingController searchController = TextEditingController();
-
+  TextEditingController searchLocationController = TextEditingController();
   var _curPage = 1;
   var _needShowPlaceholder = true;
 
@@ -34,6 +34,7 @@ class PreselectedAddStaffController extends GetxController with DioCancelableMix
   String? errorMessage;
 
   String keyword = "";
+  String searchLocation = "";
   String? jobId = null;
 
   String? get selectedIndustryId {
@@ -115,6 +116,7 @@ class PreselectedAddStaffController extends GetxController with DioCancelableMix
     // 获取 Staff 列表
     var listResult = await _labourRepository.fetchtPreselectedAddStaffList(
       keyword,
+      searchLocation,
       jobId,
       selectedIndustryId,
       selectedJobTitleId,
@@ -252,12 +254,18 @@ class PreselectedAddStaffController extends GetxController with DioCancelableMix
 
 
 
-  //搜索
-  void searchInputSearch(String keyword) {
+  // keyword搜索
+  void searchKeywordInputSearch(String keyword) {
     this.keyword = keyword;
     doSearch();
   }
 
+  // location搜索
+  void searchLocationInputSearch(String searchLocation) {
+    this.searchLocation = searchLocation;
+    doSearch();
+  }
+
   // 搜索
   void doSearch() {
     refreshController.callRefresh();
@@ -265,6 +273,7 @@ class PreselectedAddStaffController extends GetxController with DioCancelableMix
   // 重置搜索
   void resetSearch() {
     keyword = "";
+    searchLocation = "";
     selectedJobTitleStr = "";
     selectedJobIndustryStr = "";
     update();
@@ -272,6 +281,7 @@ class PreselectedAddStaffController extends GetxController with DioCancelableMix
   }
 
 
+
   // 打标签
   Future handlerSetFavourite(UkLabourRequestPreselectAddstaffListRows  data) async{
     Log.d("点击前 isFavourite: ${data}");

+ 4 - 0
packages/cs_domain/lib/repository/uk_job_repository.dart

@@ -517,6 +517,7 @@ class UKJobRepository extends GetxService {
   Future<HttpResult<UkJobListAppliedStaffSearchEntity>> searchStaffList(
       String? jobId,
       String? keyword,
+      String? location,
       String? industryId,
       String? skillId,
       {
@@ -534,6 +535,9 @@ class UKJobRepository extends GetxService {
     if (!Utils.isEmpty(keyword)) {
       params["keyword"] = keyword!;
     }
+    if (!Utils.isEmpty(location)) {
+      params["location"] = location!;
+    }
     if (!Utils.isEmpty(industryId)) {
       params["industry_id"] = industryId!;
     }

+ 5 - 0
packages/cs_domain/lib/repository/uk_labour_repository.dart

@@ -704,6 +704,7 @@ class UkLabourRepository extends GetxService {
   /// 预选人-添加员工的列表
   Future<HttpResult<UkLabourRequestPreselectAddstaffListEntity>> fetchtPreselectedAddStaffList(
       String? keyword,
+      String? location,
       String? reQuestId,
       String? industryId,
       String? skillId,
@@ -720,6 +721,10 @@ class UkLabourRepository extends GetxService {
       params["keyword"] = keyword!;
     }
 
+    if (!Utils.isEmpty(location)) {
+      params["location"] = location!;
+    }
+
     if (!Utils.isEmpty(reQuestId)) {
       params["request_id"] = reQuestId!;
     }

+ 1 - 1
packages/cs_resources/lib/local/language/en_US.dart

@@ -372,7 +372,7 @@ const Map<String, String> en_US = {
   'Choose File...': 'Please choose...',
   'Choose Industry': 'Choose Industry',
   'Choose JobTitle': 'Choose JobTitle',
-  'Staff Name/Loction': 'Staff Name/Loction',
+  'Location': 'Location',
 
   //插件的国际化
   'Pull to refresh': 'Pull to refresh',

+ 1 - 1
packages/cs_resources/lib/local/language/zh_CN.dart

@@ -373,7 +373,7 @@ const Map<String, String> zh_CN = {
   'Choose File...': '请选择...',
   'Choose Industry': '选择行业',
   'Choose JobTitle': '选择职位',
-  'Staff Name/Loction': '员工姓名/工作地点',
+  'Location': '地点',
 
   //插件的国际化
   'Pull to refresh': '下拉刷新',

+ 5 - 2
packages/cs_widgets/lib/search_app_bar.dart

@@ -26,6 +26,7 @@ class SearchAppBar extends StatefulWidget {
     this.margin,
     this.textColor = Colors.white,
     this.textFontSize = 15.0,
+    this.showSearchIcon = true,
     this.onChanged,
     this.onSearch,
   }) : super(key: key);
@@ -61,6 +62,8 @@ class SearchAppBar extends StatefulWidget {
 
   String? value;
 
+  bool showSearchIcon = true;
+
   // 输入框内容改变
   final ValueChanged<String>? onChanged;
 
@@ -178,10 +181,10 @@ class _SearchAppBarState extends State<SearchAppBar> {
           ).expanded(),
 
           //搜索图标
-          MyAssetImage(Assets.cptJobSearchIcon, width: 15, height: 15).marginOnly(left: 10).onTap(() {
+          widget.showSearchIcon? MyAssetImage(Assets.cptJobSearchIcon, width: 15, height: 15).marginOnly(left: 10).onTap(() {
             widget.onSearch?.call(_controller?.text ?? "");
             _unFocus();
-          }),
+          }): SizedBox.shrink(),
         ],
       ),
     );