Commit e6142b53088f9b7de60c1b6e1a72ffb4dca82c60
1 parent
54377751
实现 OA 请假的取消申请
Showing
18 changed files
with
74 additions
and
196 deletions
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/BpmOALeaveController.java
| 1 | 1 | package cn.iocoder.yudao.adminserver.modules.bpm.controller.oa; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveCreateReqVO; |
| 4 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.OALeavePageReqVO; | |
| 5 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.OALeaveRespVO; | |
| 6 | -import cn.iocoder.yudao.adminserver.modules.bpm.convert.oa.OALeaveConvert; | |
| 7 | -import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.OALeaveDO; | |
| 4 | +import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeavePageReqVO; | |
| 5 | +import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveRespVO; | |
| 6 | +import cn.iocoder.yudao.adminserver.modules.bpm.convert.oa.BpmOALeaveConvert; | |
| 7 | +import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.BpmOALeaveDO; | |
| 8 | 8 | import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.BpmOALeaveService; |
| 9 | 9 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 10 | 10 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| ... | ... | @@ -43,27 +43,19 @@ public class BpmOALeaveController { |
| 43 | 43 | return success(leaveService.createLeave(getLoginUserId(), createReqVO)); |
| 44 | 44 | } |
| 45 | 45 | |
| 46 | - @DeleteMapping("/cancel") | |
| 47 | - @ApiOperation("取消请假申请") | |
| 48 | - @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class) | |
| 49 | - public CommonResult<Boolean> cancelLeave(@RequestParam("id") Long id) { | |
| 50 | - leaveService.cancelLeave(id); | |
| 51 | - return success(true); | |
| 52 | - } | |
| 53 | - | |
| 54 | 46 | @GetMapping("/get") |
| 55 | 47 | @ApiOperation("获得请假申请") |
| 56 | 48 | @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class) |
| 57 | - public CommonResult<OALeaveRespVO> getLeave(@RequestParam("id") Long id) { | |
| 58 | - OALeaveDO leave = leaveService.getLeave(id); | |
| 59 | - return success(OALeaveConvert.INSTANCE.convert(leave)); | |
| 49 | + public CommonResult<BpmOALeaveRespVO> getLeave(@RequestParam("id") Long id) { | |
| 50 | + BpmOALeaveDO leave = leaveService.getLeave(id); | |
| 51 | + return success(BpmOALeaveConvert.INSTANCE.convert(leave)); | |
| 60 | 52 | } |
| 61 | 53 | |
| 62 | 54 | @GetMapping("/page") |
| 63 | 55 | @ApiOperation("获得请假申请分页") |
| 64 | - public CommonResult<PageResult<OALeaveRespVO>> getLeavePage(@Valid OALeavePageReqVO pageVO) { | |
| 65 | - PageResult<OALeaveDO> pageResult = leaveService.getLeavePage(getLoginUserId(), pageVO); | |
| 66 | - return success(OALeaveConvert.INSTANCE.convertPage(pageResult)); | |
| 56 | + public CommonResult<PageResult<BpmOALeaveRespVO>> getLeavePage(@Valid BpmOALeavePageReqVO pageVO) { | |
| 57 | + PageResult<BpmOALeaveDO> pageResult = leaveService.getLeavePage(getLoginUserId(), pageVO); | |
| 58 | + return success(BpmOALeaveConvert.INSTANCE.convertPage(pageResult)); | |
| 67 | 59 | } |
| 68 | 60 | |
| 69 | 61 | } | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/vo/OALeavePageReqVO.java renamed to yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/vo/BpmOALeavePageReqVO.java
| ... | ... | @@ -12,7 +12,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ |
| 12 | 12 | @Data |
| 13 | 13 | @EqualsAndHashCode(callSuper = true) |
| 14 | 14 | @ToString(callSuper = true) |
| 15 | -public class OALeavePageReqVO extends PageParam { | |
| 15 | +public class BpmOALeavePageReqVO extends PageParam { | |
| 16 | 16 | |
| 17 | 17 | @ApiModelProperty(value = "状态", example = "1", notes = "参见 bpm_process_instance_result 枚举") |
| 18 | 18 | private Integer result; | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/vo/OALeaveRespVO.java renamed to yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/vo/BpmOALeaveRespVO.java
| ... | ... | @@ -13,7 +13,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ |
| 13 | 13 | @Data |
| 14 | 14 | @EqualsAndHashCode(callSuper = true) |
| 15 | 15 | @ToString(callSuper = true) |
| 16 | -public class OALeaveRespVO extends BpmOALeaveBaseVO { | |
| 16 | +public class BpmOALeaveRespVO extends BpmOALeaveBaseVO { | |
| 17 | 17 | |
| 18 | 18 | @ApiModelProperty(value = "请假表单主键", required = true, example = "1024") |
| 19 | 19 | private Long id; | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/oa/OALeaveConvert.java renamed to yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/oa/BpmOALeaveConvert.java
| 1 | 1 | package cn.iocoder.yudao.adminserver.modules.bpm.convert.oa; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveCreateReqVO; |
| 4 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.OALeaveRespVO; | |
| 5 | -import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.OALeaveDO; | |
| 4 | +import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveRespVO; | |
| 5 | +import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.BpmOALeaveDO; | |
| 6 | 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 7 | 7 | import org.mapstruct.Mapper; |
| 8 | 8 | import org.mapstruct.factory.Mappers; |
| ... | ... | @@ -15,16 +15,16 @@ import java.util.List; |
| 15 | 15 | * @author 芋艿 |
| 16 | 16 | */ |
| 17 | 17 | @Mapper |
| 18 | -public interface OALeaveConvert { | |
| 18 | +public interface BpmOALeaveConvert { | |
| 19 | 19 | |
| 20 | - OALeaveConvert INSTANCE = Mappers.getMapper(OALeaveConvert.class); | |
| 20 | + BpmOALeaveConvert INSTANCE = Mappers.getMapper(BpmOALeaveConvert.class); | |
| 21 | 21 | |
| 22 | - OALeaveDO convert(BpmOALeaveCreateReqVO bean); | |
| 22 | + BpmOALeaveDO convert(BpmOALeaveCreateReqVO bean); | |
| 23 | 23 | |
| 24 | - OALeaveRespVO convert(OALeaveDO bean); | |
| 24 | + BpmOALeaveRespVO convert(BpmOALeaveDO bean); | |
| 25 | 25 | |
| 26 | - List<OALeaveRespVO> convertList(List<OALeaveDO> list); | |
| 26 | + List<BpmOALeaveRespVO> convertList(List<BpmOALeaveDO> list); | |
| 27 | 27 | |
| 28 | - PageResult<OALeaveRespVO> convertPage(PageResult<OALeaveDO> page); | |
| 28 | + PageResult<BpmOALeaveRespVO> convertPage(PageResult<BpmOALeaveDO> page); | |
| 29 | 29 | |
| 30 | 30 | } | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/leave/OALeaveDO.java renamed to yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/leave/BpmOALeaveDO.java
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/leave/package-info.java deleted
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/mysql/oa/BpmOALeaveMapper.java
| 1 | 1 | package cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.oa; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.OALeavePageReqVO; | |
| 4 | -import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.OALeaveDO; | |
| 3 | +import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeavePageReqVO; | |
| 4 | +import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.BpmOALeaveDO; | |
| 5 | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 6 | 6 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| 7 | 7 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; |
| ... | ... | @@ -14,16 +14,16 @@ import org.apache.ibatis.annotations.Mapper; |
| 14 | 14 | * @author 芋道源码 |
| 15 | 15 | */ |
| 16 | 16 | @Mapper |
| 17 | -public interface BpmOALeaveMapper extends BaseMapperX<OALeaveDO> { | |
| 17 | +public interface BpmOALeaveMapper extends BaseMapperX<BpmOALeaveDO> { | |
| 18 | 18 | |
| 19 | - default PageResult<OALeaveDO> selectPage(Long userId, OALeavePageReqVO reqVO) { | |
| 20 | - return selectPage(reqVO, new LambdaQueryWrapperX<OALeaveDO>() | |
| 21 | - .eqIfPresent(OALeaveDO::getUserId, userId) | |
| 22 | - .eqIfPresent(OALeaveDO::getResult, reqVO.getResult()) | |
| 23 | - .eqIfPresent(OALeaveDO::getType, reqVO.getType()) | |
| 24 | - .likeIfPresent(OALeaveDO::getReason, reqVO.getReason()) | |
| 25 | - .betweenIfPresent(OALeaveDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) | |
| 26 | - .orderByDesc(OALeaveDO::getId)); | |
| 19 | + default PageResult<BpmOALeaveDO> selectPage(Long userId, BpmOALeavePageReqVO reqVO) { | |
| 20 | + return selectPage(reqVO, new LambdaQueryWrapperX<BpmOALeaveDO>() | |
| 21 | + .eqIfPresent(BpmOALeaveDO::getUserId, userId) | |
| 22 | + .eqIfPresent(BpmOALeaveDO::getResult, reqVO.getResult()) | |
| 23 | + .eqIfPresent(BpmOALeaveDO::getType, reqVO.getType()) | |
| 24 | + .likeIfPresent(BpmOALeaveDO::getReason, reqVO.getReason()) | |
| 25 | + .betweenIfPresent(BpmOALeaveDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime()) | |
| 26 | + .orderByDesc(BpmOALeaveDO::getId)); | |
| 27 | 27 | } |
| 28 | 28 | |
| 29 | 29 | } | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/oa/BpmOALeaveService.java
| ... | ... | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.adminserver.modules.bpm.service.oa; |
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.*; |
| 5 | -import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.OALeaveDO; | |
| 5 | +import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.BpmOALeaveDO; | |
| 6 | 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 7 | 7 | |
| 8 | 8 | import javax.validation.Valid; |
| ... | ... | @@ -33,19 +33,12 @@ public interface BpmOALeaveService { |
| 33 | 33 | void updateLeaveResult(Long id, Integer result); |
| 34 | 34 | |
| 35 | 35 | /** |
| 36 | - * 删除请假申请 | |
| 37 | - * | |
| 38 | - * @param id 编号 | |
| 39 | - */ | |
| 40 | - void cancelLeave(Long id); | |
| 41 | - | |
| 42 | - /** | |
| 43 | 36 | * 获得请假申请 |
| 44 | 37 | * |
| 45 | 38 | * @param id 编号 |
| 46 | 39 | * @return 请假申请 |
| 47 | 40 | */ |
| 48 | - OALeaveDO getLeave(Long id); | |
| 41 | + BpmOALeaveDO getLeave(Long id); | |
| 49 | 42 | |
| 50 | 43 | /** |
| 51 | 44 | * 获得请假申请分页 |
| ... | ... | @@ -54,6 +47,6 @@ public interface BpmOALeaveService { |
| 54 | 47 | * @param pageReqVO 分页查询 |
| 55 | 48 | * @return 请假申请分页 |
| 56 | 49 | */ |
| 57 | - PageResult<OALeaveDO> getLeavePage(Long userId, OALeavePageReqVO pageReqVO); | |
| 50 | + PageResult<BpmOALeaveDO> getLeavePage(Long userId, BpmOALeavePageReqVO pageReqVO); | |
| 58 | 51 | |
| 59 | 52 | } | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/oa/impl/OALeaveServiceImpl.java renamed to yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/oa/impl/BpmOALeaveServiceImpl.java
| ... | ... | @@ -2,14 +2,13 @@ package cn.iocoder.yudao.adminserver.modules.bpm.service.oa.impl; |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.date.DateUtil; |
| 4 | 4 | import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.*; |
| 5 | -import cn.iocoder.yudao.adminserver.modules.bpm.convert.oa.OALeaveConvert; | |
| 6 | -import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.OALeaveDO; | |
| 5 | +import cn.iocoder.yudao.adminserver.modules.bpm.convert.oa.BpmOALeaveConvert; | |
| 6 | +import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.BpmOALeaveDO; | |
| 7 | 7 | import cn.iocoder.yudao.adminserver.modules.bpm.dal.mysql.oa.BpmOALeaveMapper; |
| 8 | 8 | import cn.iocoder.yudao.adminserver.modules.bpm.enums.task.BpmProcessInstanceResultEnum; |
| 9 | 9 | import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.BpmOALeaveService; |
| 10 | 10 | import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService; |
| 11 | 11 | import cn.iocoder.yudao.adminserver.modules.bpm.service.task.dto.BpmProcessInstanceCreateReqDTO; |
| 12 | -import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; | |
| 13 | 12 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 14 | 13 | import org.springframework.stereotype.Service; |
| 15 | 14 | import org.springframework.transaction.annotation.Transactional; |
| ... | ... | @@ -29,7 +28,7 @@ import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionU |
| 29 | 28 | */ |
| 30 | 29 | @Service |
| 31 | 30 | @Validated |
| 32 | -public class OALeaveServiceImpl implements BpmOALeaveService { | |
| 31 | +public class BpmOALeaveServiceImpl implements BpmOALeaveService { | |
| 33 | 32 | |
| 34 | 33 | /** |
| 35 | 34 | * OA 请假对应的流程定义 KEY |
| ... | ... | @@ -47,7 +46,7 @@ public class OALeaveServiceImpl implements BpmOALeaveService { |
| 47 | 46 | public Long createLeave(Long userId, BpmOALeaveCreateReqVO createReqVO) { |
| 48 | 47 | // 插入 OA 请假单 |
| 49 | 48 | long day = DateUtil.betweenDay(createReqVO.getStartTime(), createReqVO.getEndTime(), false); |
| 50 | - OALeaveDO leave = OALeaveConvert.INSTANCE.convert(createReqVO).setUserId(userId).setDay(day) | |
| 49 | + BpmOALeaveDO leave = BpmOALeaveConvert.INSTANCE.convert(createReqVO).setUserId(userId).setDay(day) | |
| 51 | 50 | .setResult(BpmProcessInstanceResultEnum.PROCESS.getResult()); |
| 52 | 51 | leaveMapper.insert(leave); |
| 53 | 52 | |
| ... | ... | @@ -59,22 +58,13 @@ public class OALeaveServiceImpl implements BpmOALeaveService { |
| 59 | 58 | .setVariables(processInstanceVariables).setBusinessKey(String.valueOf(leave.getId()))); |
| 60 | 59 | |
| 61 | 60 | // 将工作流的编号,更新到 OA 请假单中 |
| 62 | - leaveMapper.updateById(new OALeaveDO().setId(leave.getId()).setProcessInstanceId(processInstanceId)); | |
| 61 | + leaveMapper.updateById(new BpmOALeaveDO().setId(leave.getId()).setProcessInstanceId(processInstanceId)); | |
| 63 | 62 | return leave.getId(); |
| 64 | 63 | } |
| 65 | 64 | |
| 66 | 65 | @Override |
| 67 | 66 | public void updateLeaveResult(Long id, Integer result) { |
| 68 | - leaveMapper.updateById(new OALeaveDO().setId(id).setResult(result)); | |
| 69 | - } | |
| 70 | - | |
| 71 | - @Override | |
| 72 | - public void cancelLeave(Long id) { | |
| 73 | - // TODO 需要重新实现 | |
| 74 | - // 校验存在 | |
| 75 | - this.validateLeaveExists(id); | |
| 76 | - // 删除 | |
| 77 | - leaveMapper.deleteById(id); | |
| 67 | + leaveMapper.updateById(new BpmOALeaveDO().setId(id).setResult(result)); | |
| 78 | 68 | } |
| 79 | 69 | |
| 80 | 70 | private void validateLeaveExists(Long id) { |
| ... | ... | @@ -84,12 +74,12 @@ public class OALeaveServiceImpl implements BpmOALeaveService { |
| 84 | 74 | } |
| 85 | 75 | |
| 86 | 76 | @Override |
| 87 | - public OALeaveDO getLeave(Long id) { | |
| 77 | + public BpmOALeaveDO getLeave(Long id) { | |
| 88 | 78 | return leaveMapper.selectById(id); |
| 89 | 79 | } |
| 90 | 80 | |
| 91 | 81 | @Override |
| 92 | - public PageResult<OALeaveDO> getLeavePage(Long userId, OALeavePageReqVO pageReqVO) { | |
| 82 | + public PageResult<BpmOALeaveDO> getLeavePage(Long userId, BpmOALeavePageReqVO pageReqVO) { | |
| 93 | 83 | return leaveMapper.selectPage(userId, pageReqVO); |
| 94 | 84 | } |
| 95 | 85 | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/oa/listener/BpmOALeaveResultListener.java
| ... | ... | @@ -3,7 +3,7 @@ package cn.iocoder.yudao.adminserver.modules.bpm.service.oa.listener; |
| 3 | 3 | import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.BpmProcessInstanceResultEvent; |
| 4 | 4 | import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.BpmProcessInstanceResultEventListener; |
| 5 | 5 | import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.BpmOALeaveService; |
| 6 | -import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.impl.OALeaveServiceImpl; | |
| 6 | +import cn.iocoder.yudao.adminserver.modules.bpm.service.oa.impl.BpmOALeaveServiceImpl; | |
| 7 | 7 | import org.springframework.stereotype.Component; |
| 8 | 8 | |
| 9 | 9 | import javax.annotation.Resource; |
| ... | ... | @@ -21,7 +21,7 @@ public class BpmOALeaveResultListener extends BpmProcessInstanceResultEventListe |
| 21 | 21 | |
| 22 | 22 | @Override |
| 23 | 23 | protected String getProcessDefinitionKey() { |
| 24 | - return OALeaveServiceImpl.PROCESS_KEY; | |
| 24 | + return BpmOALeaveServiceImpl.PROCESS_KEY; | |
| 25 | 25 | } |
| 26 | 26 | |
| 27 | 27 | @Override | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/impl/BpmProcessInstanceServiceImpl.java
| ... | ... | @@ -255,7 +255,8 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService |
| 255 | 255 | } |
| 256 | 256 | |
| 257 | 257 | // 需要主动查询,因为 instance 只有 id 属性 |
| 258 | - ProcessInstance processInstance = getProcessInstance(instance.getId()); | |
| 258 | + // 另外,此时如果去查询 ProcessInstance 的话,字段是不全的,所以去查询了 HistoricProcessInstance | |
| 259 | + HistoricProcessInstance processInstance = getHistoricProcessInstance(instance.getId()); | |
| 259 | 260 | // 更新拓展表 |
| 260 | 261 | BpmProcessInstanceExtDO instanceExtDO = BpmProcessInstanceConvert.INSTANCE.convert(instance) |
| 261 | 262 | .setEndTime(new Date()) // 由于 ProcessInstance 里没有办法拿到 endTime,所以这里设置 | ... | ... |
yudao-admin-ui/src/api/oa/leave.js renamed to yudao-admin-ui/src/api/bpm/leave.js
| ... | ... | @@ -9,14 +9,6 @@ export function createLeave(data) { |
| 9 | 9 | }) |
| 10 | 10 | } |
| 11 | 11 | |
| 12 | -// 删除请假申请 | |
| 13 | -export function deleteLeave(id) { | |
| 14 | - return request({ | |
| 15 | - url: '/oa/leave/delete?id=' + id, | |
| 16 | - method: 'delete' | |
| 17 | - }) | |
| 18 | -} | |
| 19 | - | |
| 20 | 12 | // 获得请假申请 |
| 21 | 13 | export function getLeave(id) { |
| 22 | 14 | return request({ | ... | ... |
yudao-admin-ui/src/api/oa/flow.js deleted
yudao-admin-ui/src/api/oa/todo.js deleted
| 1 | -import request from '@/utils/request' | |
| 2 | - | |
| 3 | -// 创建请假申请 | |
| 4 | -export function createLeave(data) { | |
| 5 | - return request({ | |
| 6 | - url: '/oa/leave/create', | |
| 7 | - method: 'post', | |
| 8 | - data: data | |
| 9 | - }) | |
| 10 | -} | |
| 11 | - | |
| 12 | -// 更新请假申请 | |
| 13 | -export function updateLeave(data) { | |
| 14 | - return request({ | |
| 15 | - url: '/oa/leave/update', | |
| 16 | - method: 'put', | |
| 17 | - data: data | |
| 18 | - }) | |
| 19 | -} | |
| 20 | - | |
| 21 | -// 删除请假申请 | |
| 22 | -export function deleteLeave(id) { | |
| 23 | - return request({ | |
| 24 | - url: '/oa/leave/delete?id=' + id, | |
| 25 | - method: 'delete' | |
| 26 | - }) | |
| 27 | -} | |
| 28 | - | |
| 29 | -// 获得请假申请 | |
| 30 | -export function getLeave(id) { | |
| 31 | - return request({ | |
| 32 | - url: '/oa/leave/get?id=' + id, | |
| 33 | - method: 'get' | |
| 34 | - }) | |
| 35 | -} | |
| 36 | - | |
| 37 | -// 获得待办任务分页 | |
| 38 | -export function getTodoTaskPage(query) { | |
| 39 | - return request({ | |
| 40 | - url: '/workflow/task/todo/page', | |
| 41 | - method: 'get', | |
| 42 | - params: query | |
| 43 | - }) | |
| 44 | -} | |
| 45 | - | |
| 46 | -// 签收任务 | |
| 47 | -export function claimTask(id) { | |
| 48 | - return request({ | |
| 49 | - url: '/workflow/task/claim?id=' + id, | |
| 50 | - method: 'get' | |
| 51 | - }) | |
| 52 | -} | |
| 53 | - | |
| 54 | -export function completeTask(data) { | |
| 55 | - return request({ | |
| 56 | - url: '/workflow/task/complete', | |
| 57 | - method: 'post', | |
| 58 | - data: data | |
| 59 | - }) | |
| 60 | -} | |
| 61 | - | |
| 62 | -export function taskSteps(data) { | |
| 63 | - return request({ | |
| 64 | - url: '/workflow/task/task-steps', | |
| 65 | - method: 'post', | |
| 66 | - data: data | |
| 67 | - }) | |
| 68 | -} | |
| 69 | - | |
| 70 | -export function getTaskFormKey(data) { | |
| 71 | - return request({ | |
| 72 | - url: '/workflow/task/formKey', | |
| 73 | - method: 'post', | |
| 74 | - data: data | |
| 75 | - }) | |
| 76 | -} | |
| 77 | - | |
| 78 | -export function processHistorySteps(id) { | |
| 79 | - return request({ | |
| 80 | - url: '/workflow/task/process/history-steps?id='+id, | |
| 81 | - method: 'get' | |
| 82 | - }) | |
| 83 | -} | |
| 84 | - | |
| 85 | - | |
| 86 | -export function getHighlightImg(id) { | |
| 87 | - return request({ | |
| 88 | - url: '/workflow/task/process/highlight-img?processInstanceId='+id, | |
| 89 | - method: 'get' | |
| 90 | - }) | |
| 91 | -} |
yudao-admin-ui/src/views/bpm/oa/leave/create.vue
| ... | ... | @@ -26,8 +26,9 @@ |
| 26 | 26 | </template> |
| 27 | 27 | |
| 28 | 28 | <script> |
| 29 | -import { createLeave} from "@/api/oa/leave" | |
| 29 | +import { createLeave} from "@/api/bpm/leave" | |
| 30 | 30 | import { getDictDatas, DICT_TYPE } from '@/utils/dict' |
| 31 | + | |
| 31 | 32 | export default { |
| 32 | 33 | name: "LeaveCreate", |
| 33 | 34 | components: { | ... | ... |
yudao-admin-ui/src/views/bpm/oa/leave/detail.vue
yudao-admin-ui/src/views/bpm/oa/leave/index.vue
| ... | ... | @@ -56,8 +56,10 @@ |
| 56 | 56 | <span>{{ parseTime(scope.row.createTime) }}</span> |
| 57 | 57 | </template> |
| 58 | 58 | </el-table-column> |
| 59 | - <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> | |
| 59 | + <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200"> | |
| 60 | 60 | <template slot-scope="scope"> |
| 61 | + <el-button size="mini" type="text" icon="el-icon-delete" @click="handleCancel(scope.row)" | |
| 62 | + v-if="scope.row.result === 1">取消请假</el-button> | |
| 61 | 63 | <el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)">详情</el-button> |
| 62 | 64 | <el-button size="mini" type="text" icon="el-icon-edit" @click="handleProcessDetail(scope.row)">审批进度</el-button> |
| 63 | 65 | </template> |
| ... | ... | @@ -71,8 +73,9 @@ |
| 71 | 73 | </template> |
| 72 | 74 | |
| 73 | 75 | <script> |
| 74 | -import { createLeave, getLeaveApplyMembers, getLeave, getLeavePage} from "@/api/oa/leave" | |
| 76 | +import { getLeavePage } from "@/api/bpm/leave" | |
| 75 | 77 | import { getDictDataLabel, getDictDatas, DICT_TYPE } from '@/utils/dict' |
| 78 | +import {cancelProcessInstance} from "@/api/bpm/processInstance"; | |
| 76 | 79 | |
| 77 | 80 | export default { |
| 78 | 81 | name: "Leave", |
| ... | ... | @@ -88,20 +91,14 @@ export default { |
| 88 | 91 | total: 0, |
| 89 | 92 | // 请假申请列表 |
| 90 | 93 | list: [], |
| 91 | - // 弹出层标题 | |
| 92 | - title: "", | |
| 93 | - // 是否显示弹出层 | |
| 94 | - open: false, | |
| 95 | 94 | //审批进度弹出层 |
| 96 | 95 | dateRangeCreateTime: [], |
| 97 | 96 | // 查询参数 |
| 98 | 97 | queryParams: { |
| 99 | 98 | pageNo: 1, |
| 100 | 99 | pageSize: 10, |
| 101 | - processInstanceId: null, | |
| 102 | - status: null, | |
| 103 | - userId: null, | |
| 104 | - leaveType: null, | |
| 100 | + result: null, | |
| 101 | + type: null, | |
| 105 | 102 | reason: null, |
| 106 | 103 | }, |
| 107 | 104 | |
| ... | ... | @@ -149,6 +146,22 @@ export default { |
| 149 | 146 | handleProcessDetail(row) { |
| 150 | 147 | this.$router.push({ path: "/bpm/process-instance/detail", query: { id: row.processInstanceId}}); |
| 151 | 148 | }, |
| 149 | + /** 取消请假 */ | |
| 150 | + handleCancel(row) { | |
| 151 | + const id = row.processInstanceId; | |
| 152 | + this.$prompt('请输入取消原因?', "取消流程", { | |
| 153 | + type: 'warning', | |
| 154 | + confirmButtonText: "确定", | |
| 155 | + cancelButtonText: "取消", | |
| 156 | + inputPattern: /^[\s\S]*.*[^\s][\s\S]*$/, // 判断非空,且非空格 | |
| 157 | + inputErrorMessage: "取消原因不能为空", | |
| 158 | + }).then(({ value }) => { | |
| 159 | + return cancelProcessInstance(id, value); | |
| 160 | + }).then(() => { | |
| 161 | + this.getList(); | |
| 162 | + this.msgSuccess("取消成功"); | |
| 163 | + }) | |
| 164 | + }, | |
| 152 | 165 | resultFormat(row, column) { |
| 153 | 166 | return getDictDataLabel(DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT, row.result) |
| 154 | 167 | }, | ... | ... |
yudao-admin-ui/src/views/bpm/processInstance/index.vue
| ... | ... | @@ -192,7 +192,7 @@ export default { |
| 192 | 192 | /** 取消按钮操作 */ |
| 193 | 193 | handleCancel(row) { |
| 194 | 194 | const id = row.id; |
| 195 | - this.$prompt('请输出取消原因?', "取消流程", { | |
| 195 | + this.$prompt('请输入取消原因?', "取消流程", { | |
| 196 | 196 | type: 'warning', |
| 197 | 197 | confirmButtonText: "确定", |
| 198 | 198 | cancelButtonText: "取消", | ... | ... |