Commit bc233df98035cee8e9791dc7825b797def02db47
1 parent
22429140
feat: 添加 vue3 时间区间查询
Showing
4 changed files
with
21 additions
and
3 deletions
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/query/LambdaQueryWrapperX.java
| @@ -94,6 +94,19 @@ public class LambdaQueryWrapperX<T> extends LambdaQueryWrapper<T> { | @@ -94,6 +94,19 @@ public class LambdaQueryWrapperX<T> extends LambdaQueryWrapper<T> { | ||
| 94 | return this; | 94 | return this; |
| 95 | } | 95 | } |
| 96 | 96 | ||
| 97 | + public LambdaQueryWrapperX<T> betweenIfPresent(SFunction<T, ?> column, Object[] values) { | ||
| 98 | + if (values!= null && values.length >0 && values[0] != null && values[1] != null) { | ||
| 99 | + return (LambdaQueryWrapperX<T>) super.between(column, values[0], values[1]); | ||
| 100 | + } | ||
| 101 | + if (values != null && values[0] != null) { | ||
| 102 | + return (LambdaQueryWrapperX<T>) ge(column, values[0]); | ||
| 103 | + } | ||
| 104 | + if (values != null && values[1] != null) { | ||
| 105 | + return (LambdaQueryWrapperX<T>) le(column, values[2]); | ||
| 106 | + } | ||
| 107 | + return this; | ||
| 108 | + } | ||
| 109 | + | ||
| 97 | // ========== 重写父类方法,方便链式调用 ========== | 110 | // ========== 重写父类方法,方便链式调用 ========== |
| 98 | 111 | ||
| 99 | @Override | 112 | @Override |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserPageReqVO.java
| @@ -37,6 +37,10 @@ public class UserPageReqVO extends PageParam { | @@ -37,6 +37,10 @@ public class UserPageReqVO extends PageParam { | ||
| 37 | @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | 37 | @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
| 38 | private Date endTime; | 38 | private Date endTime; |
| 39 | 39 | ||
| 40 | + @ApiModelProperty(value = "开始时间", example = "2020-10-24") | ||
| 41 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 42 | + private Date[] createTime; | ||
| 43 | + | ||
| 40 | @ApiModelProperty(value = "部门编号", example = "1024", notes = "同时筛选子部门") | 44 | @ApiModelProperty(value = "部门编号", example = "1024", notes = "同时筛选子部门") |
| 41 | private Long deptId; | 45 | private Long deptId; |
| 42 | 46 |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java
| @@ -33,7 +33,8 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> { | @@ -33,7 +33,8 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> { | ||
| 33 | .likeIfPresent(AdminUserDO::getUsername, reqVO.getUsername()) | 33 | .likeIfPresent(AdminUserDO::getUsername, reqVO.getUsername()) |
| 34 | .likeIfPresent(AdminUserDO::getMobile, reqVO.getMobile()) | 34 | .likeIfPresent(AdminUserDO::getMobile, reqVO.getMobile()) |
| 35 | .eqIfPresent(AdminUserDO::getStatus, reqVO.getStatus()) | 35 | .eqIfPresent(AdminUserDO::getStatus, reqVO.getStatus()) |
| 36 | - .betweenIfPresent(AdminUserDO::getCreateTime, reqVO.getBeginTime(), reqVO.getEndTime()) | 36 | + .betweenIfPresent(AdminUserDO::getCreateTime, reqVO.getBeginTime(),reqVO.getEndTime()) |
| 37 | + .betweenIfPresent(AdminUserDO::getCreateTime, reqVO.getCreateTime()) | ||
| 37 | .inIfPresent(AdminUserDO::getDeptId, deptIds) | 38 | .inIfPresent(AdminUserDO::getDeptId, deptIds) |
| 38 | .orderByDesc(AdminUserDO::getId)); | 39 | .orderByDesc(AdminUserDO::getId)); |
| 39 | 40 |
yudao-ui-admin-vue3/src/views/system/user/user.data.ts
| @@ -101,7 +101,7 @@ const crudSchemas = reactive<CrudSchema[]>([ | @@ -101,7 +101,7 @@ const crudSchemas = reactive<CrudSchema[]>([ | ||
| 101 | }, | 101 | }, |
| 102 | { | 102 | { |
| 103 | label: t('common.createTime'), | 103 | label: t('common.createTime'), |
| 104 | - field: 'daterange', | 104 | + field: 'createTime', |
| 105 | table: { | 105 | table: { |
| 106 | show: false | 106 | show: false |
| 107 | }, | 107 | }, |
| @@ -115,7 +115,7 @@ const crudSchemas = reactive<CrudSchema[]>([ | @@ -115,7 +115,7 @@ const crudSchemas = reactive<CrudSchema[]>([ | ||
| 115 | show: true, | 115 | show: true, |
| 116 | component: 'DatePicker', | 116 | component: 'DatePicker', |
| 117 | componentProps: { | 117 | componentProps: { |
| 118 | - type: 'daterange', | 118 | + type: 'datetimerange', |
| 119 | valueFormat: 'YYYY-MM-DD HH:mm:ss' | 119 | valueFormat: 'YYYY-MM-DD HH:mm:ss' |
| 120 | } | 120 | } |
| 121 | } | 121 | } |