diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/StaffController.java b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/StaffController.java index 8f516fa..72b6642 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/controller/StaffController.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/controller/StaffController.java @@ -5,7 +5,6 @@ import com.cfive.pinnacle.entity.common.ResponseCode; import com.cfive.pinnacle.entity.common.ResponseResult; import com.cfive.pinnacle.entity.permission.User; import com.cfive.pinnacle.service.IStaffService; -import com.cfive.pinnacle.utils.WebUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; @@ -32,8 +31,8 @@ public class StaffController { @GetMapping @PreAuthorize("hasAnyAuthority('staff:manege:get', 'staff:admin:get')") - public ResponseResult> getAllStaff(Long currentPage, Long pageSize) { - return ResponseResult.databaseSelectSuccess(staffService.getAllStaff(currentPage, pageSize, WebUtil.hasAuthority("staff:admin:get") ? null : WebUtil.getLoginUser().getUser().getDepartmentId())); + public ResponseResult> getAllStaff(Long currentPage, Long pageSize, Integer searchType, String searchInput, Integer searchGender, String searchBirthFrom, String searchBirthTo) { + return ResponseResult.databaseSelectSuccess(staffService.getAllStaff(currentPage, pageSize, searchType, searchInput, searchGender, searchBirthFrom, searchBirthTo)); } @PutMapping diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/StaffMapper.java b/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/StaffMapper.java index 2aab3dc..8b8a376 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/StaffMapper.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/mapper/StaffMapper.java @@ -17,5 +17,5 @@ import org.apache.ibatis.annotations.Param; */ @Mapper public interface StaffMapper extends BaseMapper { - IPage getAllStaff(IPage page, @Param("departmentId")Long departmentId); + IPage getAllStaff(IPage page, @Param("departmentId") Long departmentId, @Param("searchType") Integer searchType, @Param("searchInput") String searchInput, @Param("searchGender") Integer searchGender, @Param("searchBirthFrom") String searchBirthFrom, @Param("searchBirthTo") String searchBirthTo); } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/IStaffService.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/IStaffService.java index 520e622..ae42b2f 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/IStaffService.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/IStaffService.java @@ -14,7 +14,7 @@ import com.cfive.pinnacle.entity.permission.User; * @since 2023-04-30 */ public interface IStaffService extends IService { - IPage getAllStaff(Long currentPage, Long pageSize, Long departmentId); + IPage getAllStaff(Long currentPage, Long pageSize, Integer searchType, String searchInput, Integer searchGender, String searchBirthFrom, String searchBirthTo); boolean modifyStaff(User user); } diff --git a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/StaffServiceImpl.java b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/StaffServiceImpl.java index bbcef2c..71c4eee 100644 --- a/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/StaffServiceImpl.java +++ b/Pinnacle/src/main/java/com/cfive/pinnacle/service/impl/StaffServiceImpl.java @@ -39,14 +39,16 @@ public class StaffServiceImpl extends ServiceImpl implements } @Override - public IPage getAllStaff(Long currentPage, Long pageSize, Long departmentId) { + public IPage getAllStaff(Long currentPage, Long pageSize, Integer searchType, String searchInput, Integer searchGender, String searchBirthFrom, String searchBirthTo) { + Long departmentId = WebUtil.hasAuthority("staff:admin:get") ? null : WebUtil.getLoginUser().getUser().getDepartmentId(); IPage userIPage; if (currentPage == null || pageSize == null) { userIPage = PageDTO.of(0, -1); } else { userIPage = PageDTO.of(currentPage, pageSize); } - return staffMapper.getAllStaff(userIPage, departmentId); + searchInput = searchInput.trim(); + return staffMapper.getAllStaff(userIPage, departmentId, searchType, searchInput, searchGender, searchBirthFrom, searchBirthTo); } @Override diff --git a/Pinnacle/src/main/resources/mapper/StaffMapper.xml b/Pinnacle/src/main/resources/mapper/StaffMapper.xml index e564449..3517bb7 100644 --- a/Pinnacle/src/main/resources/mapper/StaffMapper.xml +++ b/Pinnacle/src/main/resources/mapper/StaffMapper.xml @@ -4,33 +4,70 @@ diff --git a/ui/src/pages/info/StaffManagement.vue b/ui/src/pages/info/StaffManagement.vue index d9cbe93..9f3ab6d 100644 --- a/ui/src/pages/info/StaffManagement.vue +++ b/ui/src/pages/info/StaffManagement.vue @@ -1,11 +1,64 @@