feat(办公管理): 新增 流程列表信息导出功能。(I5RH0X)
This commit is contained in:
@@ -1,22 +1,28 @@
|
|||||||
package com.ruoyi.web.controller.workflow;
|
package com.ruoyi.web.controller.workflow;
|
||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.PageQuery;
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.R;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
import com.ruoyi.common.utils.JsonUtils;
|
import com.ruoyi.common.utils.JsonUtils;
|
||||||
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||||
import com.ruoyi.flowable.core.domain.ProcessQuery;
|
import com.ruoyi.flowable.core.domain.ProcessQuery;
|
||||||
import com.ruoyi.workflow.domain.bo.WfCopyBo;
|
import com.ruoyi.workflow.domain.bo.WfCopyBo;
|
||||||
import com.ruoyi.workflow.domain.vo.WfCopyVo;
|
import com.ruoyi.workflow.domain.vo.*;
|
||||||
import com.ruoyi.workflow.domain.vo.WfDefinitionVo;
|
|
||||||
import com.ruoyi.workflow.domain.vo.WfTaskVo;
|
|
||||||
import com.ruoyi.workflow.service.IWfCopyService;
|
import com.ruoyi.workflow.service.IWfCopyService;
|
||||||
import com.ruoyi.workflow.service.IWfProcessService;
|
import com.ruoyi.workflow.service.IWfProcessService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -99,6 +105,80 @@ public class WfProcessController extends BaseController {
|
|||||||
return copyService.selectPageList(copyBo, pageQuery);
|
return copyService.selectPageList(copyBo, pageQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出可发起流程列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("workflow:process:startExport")
|
||||||
|
@Log(title = "可发起流程", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/startExport")
|
||||||
|
public void startExport(@Validated ProcessQuery processQuery, HttpServletResponse response) {
|
||||||
|
List<WfDefinitionVo> list = processService.selectStartProcessList(processQuery);
|
||||||
|
ExcelUtil.exportExcel(list, "可发起流程", WfDefinitionVo.class, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出我拥有流程列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("workflow:process:ownExport")
|
||||||
|
@Log(title = "我拥有流程", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/ownExport")
|
||||||
|
public void ownExport(@Validated ProcessQuery processQuery, HttpServletResponse response) {
|
||||||
|
List<WfTaskVo> list = processService.selectOwnProcessList(processQuery);
|
||||||
|
List<WfOwnTaskExportVo> listVo = BeanUtil.copyToList(list, WfOwnTaskExportVo.class);
|
||||||
|
for (WfOwnTaskExportVo exportVo : listVo) {
|
||||||
|
exportVo.setStatus(ObjectUtil.isNull(exportVo.getFinishTime()) ? "进行中" : "已完成");
|
||||||
|
}
|
||||||
|
ExcelUtil.exportExcel(listVo, "我拥有流程", WfOwnTaskExportVo.class, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出待办流程列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("workflow:process:todoExport")
|
||||||
|
@Log(title = "待办流程", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/todoExport")
|
||||||
|
public void todoExport(@Validated ProcessQuery processQuery, HttpServletResponse response) {
|
||||||
|
List<WfTaskVo> list = processService.selectTodoProcessList(processQuery);
|
||||||
|
List<WfTodoTaskExportVo> listVo = BeanUtil.copyToList(list, WfTodoTaskExportVo.class);
|
||||||
|
ExcelUtil.exportExcel(listVo, "待办流程", WfTodoTaskExportVo.class, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出待签流程列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("workflow:process:claimExport")
|
||||||
|
@Log(title = "待签流程", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/claimExport")
|
||||||
|
public void claimExport(@Validated ProcessQuery processQuery, HttpServletResponse response) {
|
||||||
|
List<WfTaskVo> list = processService.selectClaimProcessList(processQuery);
|
||||||
|
List<WfClaimTaskExportVo> listVo = BeanUtil.copyToList(list, WfClaimTaskExportVo.class);
|
||||||
|
ExcelUtil.exportExcel(listVo, "待签流程", WfClaimTaskExportVo.class, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出已办流程列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("workflow:process:finishedExport")
|
||||||
|
@Log(title = "已办流程", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/finishedExport")
|
||||||
|
public void finishedExport(@Validated ProcessQuery processQuery, HttpServletResponse response) {
|
||||||
|
List<WfTaskVo> list = processService.selectFinishedProcessList(processQuery);
|
||||||
|
List<WfFinishedTaskExportVo> listVo = BeanUtil.copyToList(list, WfFinishedTaskExportVo.class);
|
||||||
|
ExcelUtil.exportExcel(listVo, "已办流程", WfFinishedTaskExportVo.class, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出抄送流程列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("workflow:process:copyExport")
|
||||||
|
@Log(title = "抄送流程", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/copyExport")
|
||||||
|
public void copyExport(WfCopyBo copyBo, HttpServletResponse response) {
|
||||||
|
copyBo.setUserId(getUserId());
|
||||||
|
List<WfCopyVo> list = copyService.selectList(copyBo);
|
||||||
|
ExcelUtil.exportExcel(list, "抄送流程", WfCopyVo.class, response);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询流程部署关联表单信息
|
* 查询流程部署关联表单信息
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -0,0 +1,57 @@
|
|||||||
|
package com.ruoyi.workflow.domain.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 待签流程对象导出VO
|
||||||
|
*
|
||||||
|
* @author konbai
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class WfClaimTaskExportVo implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务编号
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "任务编号")
|
||||||
|
private String taskId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程名称
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "流程名称")
|
||||||
|
private String procDefName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务节点
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "任务节点")
|
||||||
|
private String taskName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程版本
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "流程版本")
|
||||||
|
private int procDefVersion;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程发起人名称
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "流程发起人")
|
||||||
|
private String startUserName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 接收时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ExcelProperty(value = "接收时间")
|
||||||
|
private Date createTime;
|
||||||
|
}
|
||||||
@@ -2,6 +2,8 @@ package com.ruoyi.workflow.domain.vo;
|
|||||||
|
|
||||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||||
|
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@@ -69,9 +71,10 @@ public class WfDefinitionVo {
|
|||||||
private String deploymentId;
|
private String deploymentId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 流程定义状态: 1:激活 , 2:中止
|
* 流程是否暂停(true:挂起 false:激活 )
|
||||||
*/
|
*/
|
||||||
@ExcelProperty(value = "流程定义状态: 1:激活 , 2:中止")
|
@ExcelProperty(value = "流程是否挂起", converter = ExcelDictConvert.class)
|
||||||
|
@ExcelDictFormat(readConverterExp = "true=挂起,false=激活")
|
||||||
private Boolean suspended;
|
private Boolean suspended;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -0,0 +1,70 @@
|
|||||||
|
package com.ruoyi.workflow.domain.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 已办流程对象导出VO
|
||||||
|
*
|
||||||
|
* @author konbai
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class WfFinishedTaskExportVo implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务编号
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "任务编号")
|
||||||
|
private String taskId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程名称
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "流程名称")
|
||||||
|
private String procDefName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务节点
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "任务节点")
|
||||||
|
private String taskName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程版本
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "流程版本")
|
||||||
|
private int procDefVersion;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程发起人名称
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "流程发起人")
|
||||||
|
private String startUserName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 接收时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ExcelProperty(value = "接收时间")
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审批时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ExcelProperty(value = "审批时间")
|
||||||
|
private Date finishTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务耗时
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "任务耗时")
|
||||||
|
private String duration;
|
||||||
|
}
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
package com.ruoyi.workflow.domain.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 我拥有流程对象导出VO
|
||||||
|
*
|
||||||
|
* @author konbai
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class WfOwnTaskExportVo implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程实例ID
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "流程编号")
|
||||||
|
private String procInsId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程名称
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "流程名称")
|
||||||
|
private String procDefName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程类别
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "流程类别")
|
||||||
|
private String category;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程版本
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "流程版本")
|
||||||
|
private int procDefVersion;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 提交时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ExcelProperty(value = "提交时间")
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程状态
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "流程状态")
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务耗时
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "任务耗时")
|
||||||
|
private String duration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 当前节点
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "当前节点")
|
||||||
|
private String taskName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务完成时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date finishTime;
|
||||||
|
}
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
package com.ruoyi.workflow.domain.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 待办流程对象导出VO
|
||||||
|
*
|
||||||
|
* @author konbai
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class WfTodoTaskExportVo implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务编号
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "任务编号")
|
||||||
|
private String taskId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程名称
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "流程名称")
|
||||||
|
private String procDefName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务节点
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "任务节点")
|
||||||
|
private String taskName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程版本
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "流程版本")
|
||||||
|
private int procDefVersion;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程发起人名称
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "流程发起人")
|
||||||
|
private String startUserName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 接收时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ExcelProperty(value = "接收时间")
|
||||||
|
private Date createTime;
|
||||||
|
}
|
||||||
@@ -7,6 +7,7 @@ import com.ruoyi.workflow.domain.vo.WfDefinitionVo;
|
|||||||
import com.ruoyi.workflow.domain.vo.WfDetailVo;
|
import com.ruoyi.workflow.domain.vo.WfDetailVo;
|
||||||
import com.ruoyi.workflow.domain.vo.WfTaskVo;
|
import com.ruoyi.workflow.domain.vo.WfTaskVo;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -22,30 +23,55 @@ public interface IWfProcessService {
|
|||||||
*/
|
*/
|
||||||
TableDataInfo<WfDefinitionVo> selectPageStartProcessList(ProcessQuery processQuery, PageQuery pageQuery);
|
TableDataInfo<WfDefinitionVo> selectPageStartProcessList(ProcessQuery processQuery, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询可发起流程列表
|
||||||
|
*/
|
||||||
|
List<WfDefinitionVo> selectStartProcessList(ProcessQuery processQuery);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询我的流程列表
|
* 查询我的流程列表
|
||||||
* @param pageQuery 分页参数
|
* @param pageQuery 分页参数
|
||||||
*/
|
*/
|
||||||
TableDataInfo<WfTaskVo> selectPageOwnProcessList(ProcessQuery processQuery, PageQuery pageQuery);
|
TableDataInfo<WfTaskVo> selectPageOwnProcessList(ProcessQuery processQuery, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询我的流程列表
|
||||||
|
*/
|
||||||
|
List<WfTaskVo> selectOwnProcessList(ProcessQuery processQuery);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询代办任务列表
|
* 查询代办任务列表
|
||||||
* @param pageQuery 分页参数
|
* @param pageQuery 分页参数
|
||||||
*/
|
*/
|
||||||
TableDataInfo<WfTaskVo> selectPageTodoProcessList(ProcessQuery processQuery, PageQuery pageQuery);
|
TableDataInfo<WfTaskVo> selectPageTodoProcessList(ProcessQuery processQuery, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询代办任务列表
|
||||||
|
*/
|
||||||
|
List<WfTaskVo> selectTodoProcessList(ProcessQuery processQuery);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询待签任务列表
|
* 查询待签任务列表
|
||||||
* @param pageQuery 分页参数
|
* @param pageQuery 分页参数
|
||||||
*/
|
*/
|
||||||
TableDataInfo<WfTaskVo> selectPageClaimProcessList(ProcessQuery processQuery, PageQuery pageQuery);
|
TableDataInfo<WfTaskVo> selectPageClaimProcessList(ProcessQuery processQuery, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询待签任务列表
|
||||||
|
*/
|
||||||
|
List<WfTaskVo> selectClaimProcessList(ProcessQuery processQuery);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询已办任务列表
|
* 查询已办任务列表
|
||||||
* @param pageQuery 分页参数
|
* @param pageQuery 分页参数
|
||||||
*/
|
*/
|
||||||
TableDataInfo<WfTaskVo> selectPageFinishedProcessList(ProcessQuery processQuery, PageQuery pageQuery);
|
TableDataInfo<WfTaskVo> selectPageFinishedProcessList(ProcessQuery processQuery, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询已办任务列表
|
||||||
|
*/
|
||||||
|
List<WfTaskVo> selectFinishedProcessList(ProcessQuery processQuery);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询流程部署关联表单信息
|
* 查询流程部署关联表单信息
|
||||||
* @param definitionId 流程定义ID
|
* @param definitionId 流程定义ID
|
||||||
|
|||||||
@@ -121,6 +121,38 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
|
|||||||
return TableDataInfo.build(page);
|
return TableDataInfo.build(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<WfDefinitionVo> selectStartProcessList(ProcessQuery processQuery) {
|
||||||
|
// 流程定义列表数据查询
|
||||||
|
ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery()
|
||||||
|
.latestVersion()
|
||||||
|
.active()
|
||||||
|
.orderByProcessDefinitionKey()
|
||||||
|
.asc();
|
||||||
|
// 构建搜索条件
|
||||||
|
ProcessUtils.buildProcessSearch(processDefinitionQuery, processQuery);
|
||||||
|
|
||||||
|
List<ProcessDefinition> definitionList = processDefinitionQuery.list();
|
||||||
|
|
||||||
|
List<WfDefinitionVo> definitionVoList = new ArrayList<>();
|
||||||
|
for (ProcessDefinition processDefinition : definitionList) {
|
||||||
|
String deploymentId = processDefinition.getDeploymentId();
|
||||||
|
Deployment deployment = repositoryService.createDeploymentQuery().deploymentId(deploymentId).singleResult();
|
||||||
|
WfDefinitionVo vo = new WfDefinitionVo();
|
||||||
|
vo.setDefinitionId(processDefinition.getId());
|
||||||
|
vo.setProcessKey(processDefinition.getKey());
|
||||||
|
vo.setProcessName(processDefinition.getName());
|
||||||
|
vo.setVersion(processDefinition.getVersion());
|
||||||
|
vo.setDeploymentId(processDefinition.getDeploymentId());
|
||||||
|
vo.setSuspended(processDefinition.isSuspended());
|
||||||
|
// 流程定义时间
|
||||||
|
vo.setCategory(deployment.getCategory());
|
||||||
|
vo.setDeploymentTime(deployment.getDeploymentTime());
|
||||||
|
definitionVoList.add(vo);
|
||||||
|
}
|
||||||
|
return definitionVoList;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo<WfTaskVo> selectPageOwnProcessList(ProcessQuery processQuery, PageQuery pageQuery) {
|
public TableDataInfo<WfTaskVo> selectPageOwnProcessList(ProcessQuery processQuery, PageQuery pageQuery) {
|
||||||
Page<WfTaskVo> page = new Page<>();
|
Page<WfTaskVo> page = new Page<>();
|
||||||
@@ -172,6 +204,52 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
|
|||||||
return TableDataInfo.build(page);
|
return TableDataInfo.build(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<WfTaskVo> selectOwnProcessList(ProcessQuery processQuery) {
|
||||||
|
HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery()
|
||||||
|
.startedBy(TaskUtils.getUserId())
|
||||||
|
.orderByProcessInstanceStartTime()
|
||||||
|
.desc();
|
||||||
|
// 构建搜索条件
|
||||||
|
ProcessUtils.buildProcessSearch(historicProcessInstanceQuery, processQuery);
|
||||||
|
List<HistoricProcessInstance> historicProcessInstances = historicProcessInstanceQuery.list();
|
||||||
|
List<WfTaskVo> taskVoList = new ArrayList<>();
|
||||||
|
for (HistoricProcessInstance hisIns : historicProcessInstances) {
|
||||||
|
WfTaskVo taskVo = new WfTaskVo();
|
||||||
|
taskVo.setCreateTime(hisIns.getStartTime());
|
||||||
|
taskVo.setFinishTime(hisIns.getEndTime());
|
||||||
|
taskVo.setProcInsId(hisIns.getId());
|
||||||
|
|
||||||
|
// 计算耗时
|
||||||
|
if (Objects.nonNull(hisIns.getEndTime())) {
|
||||||
|
taskVo.setDuration(DateUtils.getDatePoor(hisIns.getEndTime(), hisIns.getStartTime()));
|
||||||
|
} else {
|
||||||
|
taskVo.setDuration(DateUtils.getDatePoor(DateUtils.getNowDate(), hisIns.getStartTime()));
|
||||||
|
}
|
||||||
|
// 流程部署实例信息
|
||||||
|
Deployment deployment = repositoryService.createDeploymentQuery()
|
||||||
|
.deploymentId(hisIns.getDeploymentId()).singleResult();
|
||||||
|
taskVo.setDeployId(hisIns.getDeploymentId());
|
||||||
|
taskVo.setProcDefId(hisIns.getProcessDefinitionId());
|
||||||
|
taskVo.setProcDefName(hisIns.getProcessDefinitionName());
|
||||||
|
taskVo.setProcDefVersion(hisIns.getProcessDefinitionVersion());
|
||||||
|
taskVo.setCategory(deployment.getCategory());
|
||||||
|
// 当前所处流程
|
||||||
|
List<Task> taskList = taskService.createTaskQuery().processInstanceId(hisIns.getId()).list();
|
||||||
|
if (CollUtil.isNotEmpty(taskList)) {
|
||||||
|
taskVo.setTaskId(taskList.get(0).getId());
|
||||||
|
} else {
|
||||||
|
List<HistoricTaskInstance> historicTaskInstance = historyService.createHistoricTaskInstanceQuery()
|
||||||
|
.processInstanceId(hisIns.getId()).orderByHistoricTaskInstanceEndTime().desc().list();
|
||||||
|
if (CollUtil.isNotEmpty(historicTaskInstance)) {
|
||||||
|
taskVo.setTaskId(historicTaskInstance.get(0).getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
taskVoList.add(taskVo);
|
||||||
|
}
|
||||||
|
return taskVoList;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo<WfTaskVo> selectPageTodoProcessList(ProcessQuery processQuery, PageQuery pageQuery) {
|
public TableDataInfo<WfTaskVo> selectPageTodoProcessList(ProcessQuery processQuery, PageQuery pageQuery) {
|
||||||
Page<WfTaskVo> page = new Page<>();
|
Page<WfTaskVo> page = new Page<>();
|
||||||
@@ -222,6 +300,51 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
|
|||||||
return TableDataInfo.build(page);
|
return TableDataInfo.build(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<WfTaskVo> selectTodoProcessList(ProcessQuery processQuery) {
|
||||||
|
TaskQuery taskQuery = taskService.createTaskQuery()
|
||||||
|
.active()
|
||||||
|
.includeProcessVariables()
|
||||||
|
.taskCandidateOrAssigned(TaskUtils.getUserId())
|
||||||
|
.taskCandidateGroupIn(TaskUtils.getCandidateGroup())
|
||||||
|
.orderByTaskCreateTime().desc();
|
||||||
|
// 构建搜索条件
|
||||||
|
ProcessUtils.buildProcessSearch(taskQuery, processQuery);
|
||||||
|
List<Task> taskList = taskQuery.list();
|
||||||
|
List<WfTaskVo> taskVoList = new ArrayList<>();
|
||||||
|
for (Task task : taskList) {
|
||||||
|
WfTaskVo taskVo = new WfTaskVo();
|
||||||
|
// 当前流程信息
|
||||||
|
taskVo.setTaskId(task.getId());
|
||||||
|
taskVo.setTaskDefKey(task.getTaskDefinitionKey());
|
||||||
|
taskVo.setCreateTime(task.getCreateTime());
|
||||||
|
taskVo.setProcDefId(task.getProcessDefinitionId());
|
||||||
|
taskVo.setTaskName(task.getName());
|
||||||
|
// 流程定义信息
|
||||||
|
ProcessDefinition pd = repositoryService.createProcessDefinitionQuery()
|
||||||
|
.processDefinitionId(task.getProcessDefinitionId())
|
||||||
|
.singleResult();
|
||||||
|
taskVo.setDeployId(pd.getDeploymentId());
|
||||||
|
taskVo.setProcDefName(pd.getName());
|
||||||
|
taskVo.setProcDefVersion(pd.getVersion());
|
||||||
|
taskVo.setProcInsId(task.getProcessInstanceId());
|
||||||
|
|
||||||
|
// 流程发起人信息
|
||||||
|
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
|
||||||
|
.processInstanceId(task.getProcessInstanceId())
|
||||||
|
.singleResult();
|
||||||
|
SysUser startUser = userService.selectUserById(Long.parseLong(historicProcessInstance.getStartUserId()));
|
||||||
|
taskVo.setStartUserId(startUser.getNickName());
|
||||||
|
taskVo.setStartUserName(startUser.getNickName());
|
||||||
|
taskVo.setStartDeptName(startUser.getDept().getDeptName());
|
||||||
|
// 流程变量
|
||||||
|
taskVo.setProcVars(this.getProcessVariables(task.getId()));
|
||||||
|
|
||||||
|
taskVoList.add(taskVo);
|
||||||
|
}
|
||||||
|
return taskVoList;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo<WfTaskVo> selectPageClaimProcessList(ProcessQuery processQuery, PageQuery pageQuery) {
|
public TableDataInfo<WfTaskVo> selectPageClaimProcessList(ProcessQuery processQuery, PageQuery pageQuery) {
|
||||||
Page<WfTaskVo> page = new Page<>();
|
Page<WfTaskVo> page = new Page<>();
|
||||||
@@ -269,6 +392,49 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
|
|||||||
return TableDataInfo.build(page);
|
return TableDataInfo.build(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<WfTaskVo> selectClaimProcessList(ProcessQuery processQuery) {
|
||||||
|
TaskQuery taskQuery = taskService.createTaskQuery()
|
||||||
|
.active()
|
||||||
|
.includeProcessVariables()
|
||||||
|
.taskCandidateUser(TaskUtils.getUserId())
|
||||||
|
.taskCandidateGroupIn(TaskUtils.getCandidateGroup())
|
||||||
|
.orderByTaskCreateTime().desc();
|
||||||
|
// 构建搜索条件
|
||||||
|
ProcessUtils.buildProcessSearch(taskQuery, processQuery);
|
||||||
|
List<Task> taskList = taskQuery.list();
|
||||||
|
List<WfTaskVo> flowList = new ArrayList<>();
|
||||||
|
for (Task task : taskList) {
|
||||||
|
WfTaskVo flowTask = new WfTaskVo();
|
||||||
|
// 当前流程信息
|
||||||
|
flowTask.setTaskId(task.getId());
|
||||||
|
flowTask.setTaskDefKey(task.getTaskDefinitionKey());
|
||||||
|
flowTask.setCreateTime(task.getCreateTime());
|
||||||
|
flowTask.setProcDefId(task.getProcessDefinitionId());
|
||||||
|
flowTask.setTaskName(task.getName());
|
||||||
|
// 流程定义信息
|
||||||
|
ProcessDefinition pd = repositoryService.createProcessDefinitionQuery()
|
||||||
|
.processDefinitionId(task.getProcessDefinitionId())
|
||||||
|
.singleResult();
|
||||||
|
flowTask.setDeployId(pd.getDeploymentId());
|
||||||
|
flowTask.setProcDefName(pd.getName());
|
||||||
|
flowTask.setProcDefVersion(pd.getVersion());
|
||||||
|
flowTask.setProcInsId(task.getProcessInstanceId());
|
||||||
|
|
||||||
|
// 流程发起人信息
|
||||||
|
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
|
||||||
|
.processInstanceId(task.getProcessInstanceId())
|
||||||
|
.singleResult();
|
||||||
|
SysUser startUser = userService.selectUserById(Long.parseLong(historicProcessInstance.getStartUserId()));
|
||||||
|
flowTask.setStartUserId(startUser.getNickName());
|
||||||
|
flowTask.setStartUserName(startUser.getNickName());
|
||||||
|
flowTask.setStartDeptName(startUser.getDept().getDeptName());
|
||||||
|
|
||||||
|
flowList.add(flowTask);
|
||||||
|
}
|
||||||
|
return flowList;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo<WfTaskVo> selectPageFinishedProcessList(ProcessQuery processQuery, PageQuery pageQuery) {
|
public TableDataInfo<WfTaskVo> selectPageFinishedProcessList(ProcessQuery processQuery, PageQuery pageQuery) {
|
||||||
Page<WfTaskVo> page = new Page<>();
|
Page<WfTaskVo> page = new Page<>();
|
||||||
@@ -327,6 +493,57 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
|
|||||||
return TableDataInfo.build(page);
|
return TableDataInfo.build(page);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<WfTaskVo> selectFinishedProcessList(ProcessQuery processQuery) {
|
||||||
|
HistoricTaskInstanceQuery taskInstanceQuery = historyService.createHistoricTaskInstanceQuery()
|
||||||
|
.includeProcessVariables()
|
||||||
|
.finished()
|
||||||
|
.taskAssignee(TaskUtils.getUserId())
|
||||||
|
.orderByHistoricTaskInstanceEndTime()
|
||||||
|
.desc();
|
||||||
|
// 构建搜索条件
|
||||||
|
ProcessUtils.buildProcessSearch(taskInstanceQuery, processQuery);
|
||||||
|
List<HistoricTaskInstance> historicTaskInstanceList = taskInstanceQuery.list();
|
||||||
|
List<WfTaskVo> hisTaskList = new ArrayList<>();
|
||||||
|
for (HistoricTaskInstance histTask : historicTaskInstanceList) {
|
||||||
|
WfTaskVo flowTask = new WfTaskVo();
|
||||||
|
// 当前流程信息
|
||||||
|
flowTask.setTaskId(histTask.getId());
|
||||||
|
// 审批人员信息
|
||||||
|
flowTask.setCreateTime(histTask.getCreateTime());
|
||||||
|
flowTask.setFinishTime(histTask.getEndTime());
|
||||||
|
flowTask.setDuration(DateUtil.formatBetween(histTask.getDurationInMillis(), BetweenFormatter.Level.SECOND));
|
||||||
|
flowTask.setProcDefId(histTask.getProcessDefinitionId());
|
||||||
|
flowTask.setTaskDefKey(histTask.getTaskDefinitionKey());
|
||||||
|
flowTask.setTaskName(histTask.getName());
|
||||||
|
|
||||||
|
// 流程定义信息
|
||||||
|
ProcessDefinition pd = repositoryService.createProcessDefinitionQuery()
|
||||||
|
.processDefinitionId(histTask.getProcessDefinitionId())
|
||||||
|
.singleResult();
|
||||||
|
flowTask.setDeployId(pd.getDeploymentId());
|
||||||
|
flowTask.setProcDefName(pd.getName());
|
||||||
|
flowTask.setProcDefVersion(pd.getVersion());
|
||||||
|
flowTask.setProcInsId(histTask.getProcessInstanceId());
|
||||||
|
flowTask.setHisProcInsId(histTask.getProcessInstanceId());
|
||||||
|
|
||||||
|
// 流程发起人信息
|
||||||
|
HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
|
||||||
|
.processInstanceId(histTask.getProcessInstanceId())
|
||||||
|
.singleResult();
|
||||||
|
SysUser startUser = userService.selectUserById(Long.parseLong(historicProcessInstance.getStartUserId()));
|
||||||
|
flowTask.setStartUserId(startUser.getNickName());
|
||||||
|
flowTask.setStartUserName(startUser.getNickName());
|
||||||
|
flowTask.setStartDeptName(startUser.getDept().getDeptName());
|
||||||
|
|
||||||
|
// 流程变量
|
||||||
|
flowTask.setProcVars(this.getProcessVariables(histTask.getId()));
|
||||||
|
|
||||||
|
hisTaskList.add(flowTask);
|
||||||
|
}
|
||||||
|
return hisTaskList;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String selectFormContent(String definitionId, String deployId) {
|
public String selectFormContent(String definitionId, String deployId) {
|
||||||
InputStream inputStream = repositoryService.getProcessModel(definitionId);
|
InputStream inputStream = repositoryService.getProcessModel(definitionId);
|
||||||
|
|||||||
@@ -30,6 +30,16 @@
|
|||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
plain
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
v-hasPermi="['workflow:process:claimExport']"
|
||||||
|
@click="handleExport"
|
||||||
|
>导出</el-button>
|
||||||
|
</el-col>
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
@@ -149,6 +159,12 @@ export default {
|
|||||||
path: '/work/todo'
|
path: '/work/todo'
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
/** 导出按钮操作 */
|
||||||
|
handleExport() {
|
||||||
|
this.download('workflow/process/claimExport', {
|
||||||
|
...this.queryParams
|
||||||
|
}, `wf_claim_process_${new Date().getTime()}.xlsx`)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -30,8 +30,8 @@
|
|||||||
plain
|
plain
|
||||||
icon="el-icon-download"
|
icon="el-icon-download"
|
||||||
size="mini"
|
size="mini"
|
||||||
|
v-hasPermi="['workflow:process:copyExport']"
|
||||||
@click="handleExport"
|
@click="handleExport"
|
||||||
v-hasPermi="['workflow:process:export']"
|
|
||||||
>导出</el-button>
|
>导出</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
@@ -201,9 +201,9 @@ export default {
|
|||||||
},
|
},
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
handleExport() {
|
handleExport() {
|
||||||
this.download('workflow/copy/export', {
|
this.download('workflow/process/copyExport', {
|
||||||
...this.queryParams
|
...this.queryParams
|
||||||
}, `copy_${new Date().getTime()}.xlsx`)
|
}, `wf_copy_process_${new Date().getTime()}.xlsx`)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -29,6 +29,16 @@
|
|||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
plain
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
v-hasPermi="['workflow:process:finishedExport']"
|
||||||
|
@click="handleExport"
|
||||||
|
>导出</el-button>
|
||||||
|
</el-col>
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
@@ -223,6 +233,12 @@ export default {
|
|||||||
this.$modal.msgSuccess(res.msg);
|
this.$modal.msgSuccess(res.msg);
|
||||||
this.getList();
|
this.getList();
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
/** 导出按钮操作 */
|
||||||
|
handleExport() {
|
||||||
|
this.download('workflow/process/finishedExport', {
|
||||||
|
...this.queryParams
|
||||||
|
}, `wf_finished_process_${new Date().getTime()}.xlsx`)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -35,6 +35,16 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
plain
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
v-hasPermi="['workflow:process:startExport']"
|
||||||
|
@click="handleExport"
|
||||||
|
>导出</el-button>
|
||||||
|
</el-col>
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-table v-loading="loading" fit :data="processList">
|
<el-table v-loading="loading" fit :data="processList">
|
||||||
@@ -176,6 +186,12 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
/** 导出按钮操作 */
|
||||||
|
handleExport() {
|
||||||
|
this.download('workflow/process/startExport', {
|
||||||
|
...this.queryParams
|
||||||
|
}, `wf_start_process_${new Date().getTime()}.xlsx`)
|
||||||
|
},
|
||||||
categoryFormat(row, column) {
|
categoryFormat(row, column) {
|
||||||
return this.categoryOptions.find(k => k.code === row.category)?.categoryName ?? '';
|
return this.categoryOptions.find(k => k.code === row.category)?.categoryName ?? '';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,6 +64,7 @@
|
|||||||
plain
|
plain
|
||||||
icon="el-icon-download"
|
icon="el-icon-download"
|
||||||
size="mini"
|
size="mini"
|
||||||
|
v-hasPermi="['workflow:process:ownExport']"
|
||||||
@click="handleExport"
|
@click="handleExport"
|
||||||
>导出</el-button>
|
>导出</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
@@ -280,16 +281,9 @@ export default {
|
|||||||
},
|
},
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
handleExport() {
|
handleExport() {
|
||||||
const queryParams = this.queryParams;
|
this.download('workflow/process/ownExport', {
|
||||||
this.$confirm('是否确认导出所有流程定义数据项?', "警告", {
|
...this.queryParams
|
||||||
confirmButtonText: "确定",
|
}, `wf_own_process_${new Date().getTime()}.xlsx`)
|
||||||
cancelButtonText: "取消",
|
|
||||||
type: "warning"
|
|
||||||
}).then(function() {
|
|
||||||
// return exportDeployment(queryParams);
|
|
||||||
}).then(response => {
|
|
||||||
this.download(response.msg);
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
categoryFormat(row, column) {
|
categoryFormat(row, column) {
|
||||||
return this.categoryOptions.find(k => k.code === row.category)?.categoryName ?? '';
|
return this.categoryOptions.find(k => k.code === row.category)?.categoryName ?? '';
|
||||||
|
|||||||
@@ -29,6 +29,16 @@
|
|||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
plain
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
v-hasPermi="['workflow:process:todoExport']"
|
||||||
|
@click="handleExport"
|
||||||
|
>导出</el-button>
|
||||||
|
</el-col>
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
@@ -186,16 +196,9 @@ export default {
|
|||||||
},
|
},
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
handleExport() {
|
handleExport() {
|
||||||
const queryParams = this.queryParams;
|
this.download('workflow/process/todoExport', {
|
||||||
this.$confirm('是否确认导出所有流程定义数据项?', "警告", {
|
...this.queryParams
|
||||||
confirmButtonText: "确定",
|
}, `wf_todo_process_${new Date().getTime()}.xlsx`)
|
||||||
cancelButtonText: "取消",
|
|
||||||
type: "warning"
|
|
||||||
}).then(function () {
|
|
||||||
return exportDeployment(queryParams);
|
|
||||||
}).then(response => {
|
|
||||||
this.download(response.msg);
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user