Commit fc6a7680582069f9e2329186cb48d7f454fdd64f

Authored by YunaiV
1 parent e931414b

调整流程任务的审批结果,拆成 approve 和 reject 接口

Showing 15 changed files with 177 additions and 34 deletions
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/BpmTaskController.java
@@ -42,10 +42,17 @@ public class BpmTaskController { @@ -42,10 +42,17 @@ public class BpmTaskController {
42 return success(taskService.getDoneTaskPage(getLoginUserId(), pageVO)); 42 return success(taskService.getDoneTaskPage(getLoginUserId(), pageVO));
43 } 43 }
44 44
45 - @PutMapping("/complete")  
46 - @ApiOperation(value = "完成任务", notes = "审批通过 or 不通过")  
47 - public CommonResult<Boolean> completeTask(@Valid @RequestBody BpmTaskCompleteReqVO reqVO) {  
48 - taskService.completeTask(reqVO); 45 + @PutMapping("/approve")
  46 + @ApiOperation("通过任务")
  47 + public CommonResult<Boolean> approveTask(@Valid @RequestBody BpmTaskApproveReqVO reqVO) {
  48 + taskService.approveTask(reqVO);
  49 + return success(true);
  50 + }
  51 +
  52 + @PutMapping("/reject")
  53 + @ApiOperation("不通过任务")
  54 + public CommonResult<Boolean> rejectTask(@Valid @RequestBody BpmTaskRejectReqVO reqVO) {
  55 + taskService.rejectTask(reqVO);
49 return success(true); 56 return success(true);
50 } 57 }
51 58
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskCompleteReqVO.java renamed to yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskApproveReqVO.java
@@ -10,18 +10,14 @@ import javax.validation.constraints.NotEmpty; @@ -10,18 +10,14 @@ import javax.validation.constraints.NotEmpty;
10 import javax.validation.constraints.NotNull; 10 import javax.validation.constraints.NotNull;
11 import java.util.Map; 11 import java.util.Map;
12 12
13 -@ApiModel("流程任务的 Done 已办的分页 Request VO") 13 +@ApiModel("通过流程任务的 Request VO")
14 @Data 14 @Data
15 -public class BpmTaskCompleteReqVO { 15 +public class BpmTaskApproveReqVO {
16 16
17 @ApiModelProperty(value = "任务编号", required = true, example = "1024") 17 @ApiModelProperty(value = "任务编号", required = true, example = "1024")
18 @NotEmpty(message = "任务编号不能为空") 18 @NotEmpty(message = "任务编号不能为空")
19 private String id; 19 private String id;
20 20
21 - @ApiModelProperty(value = "是否通过", required = true, example = "true", notes = "true 通过;false 不通过")  
22 - @NotNull(message = "是否通过不能为空")  
23 - private Boolean pass;  
24 -  
25 @ApiModelProperty(value = "审批意见", required = true, example = "不错不错!") 21 @ApiModelProperty(value = "审批意见", required = true, example = "不错不错!")
26 @NotEmpty(message = "审批意见不能为空") 22 @NotEmpty(message = "审批意见不能为空")
27 private String comment; 23 private String comment;
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/task/vo/task/BpmTaskRejectReqVO.java 0 → 100644
  1 +package cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +
  7 +import javax.validation.constraints.NotEmpty;
  8 +
  9 +@ApiModel("不通过流程任务的 Request VO")
  10 +@Data
  11 +public class BpmTaskRejectReqVO {
  12 +
  13 + @ApiModelProperty(value = "任务编号", required = true, example = "1024")
  14 + @NotEmpty(message = "任务编号不能为空")
  15 + private String id;
  16 +
  17 + @ApiModelProperty(value = "审批意见", required = true, example = "不错不错!")
  18 + @NotEmpty(message = "审批意见不能为空")
  19 + private String comment;
  20 +
  21 +}
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/task/BpmProcessInstanceDeleteReasonEnum.java 0 → 100644
  1 +package cn.iocoder.yudao.adminserver.modules.bpm.enums.task;
  2 +
  3 +import lombok.AllArgsConstructor;
  4 +import lombok.Getter;
  5 +
  6 +/**
  7 + * 流程实例的删除原因
  8 + *
  9 + * @author 芋道源码
  10 + */
  11 +@Getter
  12 +@AllArgsConstructor
  13 +public enum BpmProcessInstanceDeleteReasonEnum {
  14 +
  15 + REJECT_TASK("驳回任务");
  16 +
  17 + private final String reason;
  18 +
  19 +}
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/task/BpmProcessInstanceResultEnum.java
@@ -13,7 +13,7 @@ import lombok.Getter; @@ -13,7 +13,7 @@ import lombok.Getter;
13 public enum BpmProcessInstanceResultEnum { 13 public enum BpmProcessInstanceResultEnum {
14 14
15 PROCESS(1, "处理中"), 15 PROCESS(1, "处理中"),
16 - PASS(2, "通过"), 16 + APPROVE(2, "通过"),
17 REJECT(3, "不通过"), 17 REJECT(3, "不通过"),
18 CANCEL(4, "已取消"); 18 CANCEL(4, "已取消");
19 19
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/oa/LeaveApplyEndProcessor.java
@@ -29,7 +29,7 @@ public class LeaveApplyEndProcessor implements ExecutionListener { @@ -29,7 +29,7 @@ public class LeaveApplyEndProcessor implements ExecutionListener {
29 OALeaveDO updateDo = new OALeaveDO(); 29 OALeaveDO updateDo = new OALeaveDO();
30 updateDo.setId(Long.valueOf(businessKey)); 30 updateDo.setId(Long.valueOf(businessKey));
31 if (Objects.equals(approved, true)) { 31 if (Objects.equals(approved, true)) {
32 - updateDo.setStatus(BpmProcessInstanceResultEnum.PASS.getResult()); 32 + updateDo.setStatus(BpmProcessInstanceResultEnum.APPROVE.getResult());
33 } else { 33 } else {
34 updateDo.setStatus(BpmProcessInstanceResultEnum.REJECT.getResult()); 34 updateDo.setStatus(BpmProcessInstanceResultEnum.REJECT.getResult());
35 } 35 }
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/BpmProcessInstanceService.java
@@ -4,6 +4,8 @@ import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.BpmP @@ -4,6 +4,8 @@ import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.BpmP
4 import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.BpmProcessInstanceCreateReqVO; 4 import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.BpmProcessInstanceCreateReqVO;
5 import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.BpmProcessInstanceMyPageReqVO; 5 import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.BpmProcessInstanceMyPageReqVO;
6 import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.BpmProcessInstancePageItemRespVO; 6 import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.BpmProcessInstancePageItemRespVO;
  7 +import cn.iocoder.yudao.adminserver.modules.bpm.enums.task.BpmProcessInstanceDeleteReasonEnum;
  8 +import cn.iocoder.yudao.adminserver.modules.bpm.enums.task.BpmProcessInstanceResultEnum;
7 import cn.iocoder.yudao.framework.common.pojo.PageResult; 9 import cn.iocoder.yudao.framework.common.pojo.PageResult;
8 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; 10 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
9 import org.activiti.engine.runtime.ProcessInstance; 11 import org.activiti.engine.runtime.ProcessInstance;
@@ -38,6 +40,22 @@ public interface BpmProcessInstanceService { @@ -38,6 +40,22 @@ public interface BpmProcessInstanceService {
38 void cancelProcessInstance(Long userId, @Valid BpmProcessInstanceCancelReqVO cancelReqVO); 40 void cancelProcessInstance(Long userId, @Valid BpmProcessInstanceCancelReqVO cancelReqVO);
39 41
40 /** 42 /**
  43 + * 删除流程实例
  44 + *
  45 + * @param id 流程编号
  46 + * @param reason 删除原因。可选 {@link BpmProcessInstanceDeleteReasonEnum}
  47 + */
  48 + void deleteProcessInstance(String id, String reason);
  49 +
  50 + /**
  51 + * 更新流程实例的结果
  52 + *
  53 + * @param id 流程编号
  54 + * @param result 结果,{@link BpmProcessInstanceResultEnum}
  55 + */
  56 + void updateProcessInstanceResult(String id, Integer result);
  57 +
  58 + /**
41 * 获得流程实例的分页 59 * 获得流程实例的分页
42 * 60 *
43 * @param userId 用户编号 61 * @param userId 用户编号
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/BpmTaskService.java
@@ -71,11 +71,18 @@ public interface BpmTaskService { @@ -71,11 +71,18 @@ public interface BpmTaskService {
71 void updateTaskAssign(String id, Long userId); 71 void updateTaskAssign(String id, Long userId);
72 72
73 /** 73 /**
74 - * 完成任务(审批通过 / 不通过) 74 + * 通过任务
75 * 75 *
76 - * @param taskReq 完成请求 76 + * @param reqVO 通过请求
77 */ 77 */
78 - void completeTask(@Valid BpmTaskCompleteReqVO taskReq); 78 + void approveTask(@Valid BpmTaskApproveReqVO reqVO);
  79 +
  80 + /**
  81 + * 不通过任务
  82 + *
  83 + * @param reqVO 不通过请求
  84 + */
  85 + void rejectTask(@Valid BpmTaskRejectReqVO reqVO);
79 86
80 /** 87 /**
81 * 根据任务id, 查询已经完成的用户任务,未完成的用户任务 88 * 根据任务id, 查询已经完成的用户任务,未完成的用户任务
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/impl/BpmProcessInstanceServiceImpl.java
@@ -140,9 +140,18 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService @@ -140,9 +140,18 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
140 // 通过删除流程实例,实现流程实例的取消 140 // 通过删除流程实例,实现流程实例的取消
141 runtimeService.deleteProcessInstance(cancelReqVO.getId(), cancelReqVO.getReason()); 141 runtimeService.deleteProcessInstance(cancelReqVO.getId(), cancelReqVO.getReason());
142 // 更新流程实例的拓展表为取消状态 142 // 更新流程实例的拓展表为取消状态
143 - processInstanceExtMapper.updateByProcessInstanceId(cancelReqVO.getId(),  
144 - new BpmProcessInstanceExtDO().setStatus(BpmProcessInstanceStatusEnum.FINISH.getStatus())  
145 - .setResult(BpmProcessInstanceResultEnum.CANCEL.getResult())); 143 + updateProcessInstanceResult(cancelReqVO.getId(), BpmProcessInstanceResultEnum.CANCEL.getResult());
  144 + }
  145 +
  146 + @Override
  147 + public void deleteProcessInstance(String id, String reason) {
  148 + runtimeService.deleteProcessInstance(id, reason);
  149 + }
  150 +
  151 + @Override
  152 + public void updateProcessInstanceResult(String id, Integer result) {
  153 + processInstanceExtMapper.updateByProcessInstanceId(id, new BpmProcessInstanceExtDO()
  154 + .setStatus(BpmProcessInstanceStatusEnum.FINISH.getStatus()).setResult(result));
146 } 155 }
147 156
148 @Override 157 @Override
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/impl/BpmTaskServiceImpl.java
@@ -5,6 +5,8 @@ import cn.hutool.core.io.IoUtil; @@ -5,6 +5,8 @@ import cn.hutool.core.io.IoUtil;
5 import cn.hutool.core.util.StrUtil; 5 import cn.hutool.core.util.StrUtil;
6 import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.*; 6 import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.*;
7 import cn.iocoder.yudao.adminserver.modules.bpm.convert.task.BpmTaskConvert; 7 import cn.iocoder.yudao.adminserver.modules.bpm.convert.task.BpmTaskConvert;
  8 +import cn.iocoder.yudao.adminserver.modules.bpm.enums.task.BpmProcessInstanceDeleteReasonEnum;
  9 +import cn.iocoder.yudao.adminserver.modules.bpm.enums.task.BpmProcessInstanceResultEnum;
8 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService; 10 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService;
9 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmTaskService; 11 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmTaskService;
10 import cn.iocoder.yudao.adminserver.modules.system.service.user.SysUserService; 12 import cn.iocoder.yudao.adminserver.modules.system.service.user.SysUserService;
@@ -37,6 +39,7 @@ import org.springframework.transaction.annotation.Transactional; @@ -37,6 +39,7 @@ import org.springframework.transaction.annotation.Transactional;
37 import org.springframework.util.ObjectUtils; 39 import org.springframework.util.ObjectUtils;
38 40
39 import javax.annotation.Resource; 41 import javax.annotation.Resource;
  42 +import javax.validation.Valid;
40 import java.io.IOException; 43 import java.io.IOException;
41 import java.io.InputStream; 44 import java.io.InputStream;
42 import java.util.*; 45 import java.util.*;
@@ -158,7 +161,7 @@ public class BpmTaskServiceImpl implements BpmTaskService { @@ -158,7 +161,7 @@ public class BpmTaskServiceImpl implements BpmTaskService {
158 161
159 @Override 162 @Override
160 @Transactional(rollbackFor = Exception.class) 163 @Transactional(rollbackFor = Exception.class)
161 - public void completeTask(BpmTaskCompleteReqVO reqVO) { 164 + public void approveTask(BpmTaskApproveReqVO reqVO) {
162 // 校验任务存在 165 // 校验任务存在
163 Task task = getTask(reqVO.getId()); 166 Task task = getTask(reqVO.getId());
164 if (task == null) { 167 if (task == null) {
@@ -170,8 +173,31 @@ public class BpmTaskServiceImpl implements BpmTaskService { @@ -170,8 +173,31 @@ public class BpmTaskServiceImpl implements BpmTaskService {
170 throw exception(PROCESS_INSTANCE_NOT_EXISTS); 173 throw exception(PROCESS_INSTANCE_NOT_EXISTS);
171 } 174 }
172 175
173 - // 完成(审批)任务  
174 - taskService.complete(task.getId(), instance.getProcessVariables()); 176 + // 完成任务,审批通过
  177 + taskService.complete(task.getId(), instance.getProcessVariables()); // TODO 芋艿:variables 的选择
  178 +
  179 + // TODO 芋艿:添加评论
  180 +// taskService.addComment(task.getId(), task.getProcessInstanceId(), reqVO.getComment());
  181 + }
  182 +
  183 + @Override
  184 + public void rejectTask(@Valid BpmTaskRejectReqVO reqVO) {
  185 + // 校验任务存在
  186 + Task task = getTask(reqVO.getId());
  187 + if (task == null) {
  188 + throw exception(TASK_COMPLETE_FAIL_NOT_EXISTS);
  189 + }
  190 + // 校验流程实例存在
  191 + ProcessInstance instance = processInstanceService.getProcessInstance(task.getProcessInstanceId());
  192 + if (instance == null) {
  193 + throw exception(PROCESS_INSTANCE_NOT_EXISTS);
  194 + }
  195 +
  196 + // 删除流程实例,以实现驳回任务时,取消整个审批流程
  197 + processInstanceService.deleteProcessInstance(instance.getId(), BpmProcessInstanceDeleteReasonEnum.REJECT_TASK.getReason());
  198 + // 更新流程实例为不通过
  199 + processInstanceService.updateProcessInstanceResult(instance.getProcessInstanceId(),
  200 + BpmProcessInstanceResultEnum.REJECT.getResult());
175 201
176 // TODO 芋艿:添加评论 202 // TODO 芋艿:添加评论
177 // taskService.addComment(task.getId(), task.getProcessInstanceId(), reqVO.getComment()); 203 // taskService.addComment(task.getId(), task.getProcessInstanceId(), reqVO.getComment());
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/listener/BpmProcessInstanceEventListener.java
1 package cn.iocoder.yudao.adminserver.modules.bpm.service.task.listener; 1 package cn.iocoder.yudao.adminserver.modules.bpm.service.task.listener;
2 2
3 import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.task.BpmProcessInstanceExtDO; 3 import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.task.BpmProcessInstanceExtDO;
  4 +import cn.iocoder.yudao.adminserver.modules.bpm.enums.task.BpmProcessInstanceResultEnum;
4 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService; 5 import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService;
5 import org.activiti.engine.delegate.event.ActivitiEvent; 6 import org.activiti.engine.delegate.event.ActivitiEvent;
6 import org.activiti.engine.delegate.event.ActivitiEventListener; 7 import org.activiti.engine.delegate.event.ActivitiEventListener;
@@ -31,7 +32,9 @@ public class BpmProcessInstanceEventListener implements ActivitiEventListener { @@ -31,7 +32,9 @@ public class BpmProcessInstanceEventListener implements ActivitiEventListener {
31 // 正常完成 32 // 正常完成
32 if (event.getType() == ActivitiEventType.PROCESS_COMPLETED 33 if (event.getType() == ActivitiEventType.PROCESS_COMPLETED
33 || event.getType() == ActivitiEventType.PROCESS_COMPLETED_WITH_ERROR_END_EVENT) { 34 || event.getType() == ActivitiEventType.PROCESS_COMPLETED_WITH_ERROR_END_EVENT) {
34 - // TODO 芋艿:更新 35 + // 正常完成,说明所有流程任务都是审批通过
  36 + processInstanceService.updateProcessInstanceResult(event.getProcessInstanceId(),
  37 + BpmProcessInstanceResultEnum.APPROVE.getResult());
35 } 38 }
36 } 39 }
37 40
yudao-admin-ui/src/api/bpm/task.js
@@ -8,3 +8,26 @@ export function getTodoTaskPage(query) { @@ -8,3 +8,26 @@ export function getTodoTaskPage(query) {
8 }) 8 })
9 } 9 }
10 10
  11 +export function completeTask(data) {
  12 + return request({
  13 + url: '/bpm/task/complete',
  14 + method: 'PUT',
  15 + data: data
  16 + })
  17 +}
  18 +
  19 +export function approveTask(data) {
  20 + return request({
  21 + url: '/bpm/task/approve',
  22 + method: 'PUT',
  23 + data: data
  24 + })
  25 +}
  26 +
  27 +export function rejectTask(data) {
  28 + return request({
  29 + url: '/bpm/task/reject',
  30 + method: 'PUT',
  31 + data: data
  32 + })
  33 +}
yudao-admin-ui/src/views/bpm/processInstance/create.vue
@@ -41,15 +41,14 @@ @@ -41,15 +41,14 @@
41 </div> 41 </div>
42 </el-col> 42 </el-col>
43 </el-card> 43 </el-card>
  44 + <el-card class="box-card">
  45 + <div slot="header" class="clearfix">
  46 + <span class="el-icon-picture-outline">流程图</span>
  47 + </div>
  48 + <my-process-viewer key="designer" v-model="bpmnXML" v-bind="bpmnControlForm" />
  49 + </el-card>
44 </div> 50 </div>
45 51
46 - <el-card class="box-card">  
47 - <div slot="header" class="clearfix">  
48 - <span class="el-icon-picture-outline">流程图</span>  
49 - </div>  
50 - <my-process-viewer key="designer" v-model="bpmnXML" v-bind="bpmnControlForm" />  
51 - </el-card>  
52 -  
53 </div> 52 </div>
54 </template> 53 </template>
55 54
yudao-admin-ui/src/views/bpm/processInstance/index.vue
@@ -64,11 +64,11 @@ @@ -64,11 +64,11 @@
64 <el-table-column label="状态" align="center" prop="status"> 64 <el-table-column label="状态" align="center" prop="status">
65 <template slot-scope="scope"> 65 <template slot-scope="scope">
66 <span> 66 <span>
67 - <el-tag type="primary" v-if="scope.row.result === 1"> <!-- 进行中 -->  
68 - {{ getDictDataLabel(DICT_TYPE.BPM_PROCESS_INSTANCE_STATUS, scope.row.result) }} 67 + <el-tag type="primary" v-if="scope.row.status === 1"> <!-- 进行中 -->
  68 + {{ getDictDataLabel(DICT_TYPE.BPM_PROCESS_INSTANCE_STATUS, scope.row.status) }}
69 </el-tag> 69 </el-tag>
70 - <el-tag type="success" v-if="scope.row.result === 2"> <!-- 已结束 -->  
71 - {{ getDictDataLabel(DICT_TYPE.BPM_PROCESS_INSTANCE_STATUS, scope.row.result) }} 70 + <el-tag type="success" v-if="scope.row.status === 2"> <!-- 已结束 -->
  71 + {{ getDictDataLabel(DICT_TYPE.BPM_PROCESS_INSTANCE_STATUS, scope.row.status) }}
72 </el-tag> 72 </el-tag>
73 </span> 73 </span>
74 </template> 74 </template>
yudao-admin-ui/src/views/bpm/task/todo.vue
@@ -37,6 +37,8 @@ @@ -37,6 +37,8 @@
37 <template slot-scope="scope"> 37 <template slot-scope="scope">
38 <!-- TODO 权限、颜色 --> 38 <!-- TODO 权限、颜色 -->
39 <el-button size="mini" type="text" icon="el-icon-edit">审批</el-button> 39 <el-button size="mini" type="text" icon="el-icon-edit">审批</el-button>
  40 + <el-button size="mini" type="text" icon="el-icon-edit" @click="audit(scope.row, true)">通过</el-button>
  41 + <el-button size="mini" type="text" icon="el-icon-edit" @click="audit(scope.row, false)">不通过</el-button>
40 <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.suspensionState === 2">激活</el-button> 42 <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.suspensionState === 2">激活</el-button>
41 <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.suspensionState === 1">挂起</el-button> 43 <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.suspensionState === 1">挂起</el-button>
42 </template> 44 </template>
@@ -50,7 +52,7 @@ @@ -50,7 +52,7 @@
50 </template> 52 </template>
51 53
52 <script> 54 <script>
53 -import { getTodoTaskPage } from '@/api/bpm/task' 55 +import {approveTask, completeTask, getTodoTaskPage, rejectTask} from '@/api/bpm/task'
54 56
55 export default { 57 export default {
56 name: "Todo", 58 name: "Todo",
@@ -124,6 +126,19 @@ export default { @@ -124,6 +126,19 @@ export default {
124 this.resetForm("queryForm"); 126 this.resetForm("queryForm");
125 this.handleQuery(); 127 this.handleQuery();
126 }, 128 },
  129 + audit(row, pass) {
  130 + if (pass) {
  131 + approveTask({
  132 + id: row.id,
  133 + comment: '通过'
  134 + })
  135 + } else {
  136 + rejectTask({
  137 + id: row.id,
  138 + comment: '不通过'
  139 + })
  140 + }
  141 + }
127 } 142 }
128 }; 143 };
129 </script> 144 </script>