From 4ef54926c202eb8f332b25e8af18e75134754551 Mon Sep 17 00:00:00 2001 From: songgaoshuai <1742057357@qq.com> Date: Thu, 24 Aug 2023 18:09:29 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E6=B7=BB=E5=8A=A0=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E5=AE=9E=E4=BE=8B=E8=BF=81=E7=A7=BB=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/workflow/processDefinition/index.ts | 13 ++++ src/views/workflow/processInstance/index.vue | 68 +++++++++++++++++++- 2 files changed, 80 insertions(+), 1 deletion(-) diff --git a/src/api/workflow/processDefinition/index.ts b/src/api/workflow/processDefinition/index.ts index 10d7478..1d50554 100644 --- a/src/api/workflow/processDefinition/index.ts +++ b/src/api/workflow/processDefinition/index.ts @@ -100,3 +100,16 @@ export function deployProcessFile(data: any) { data: data }); } + +/** + * 迁移流程 + * @param currentProcessDefinitionId + * @param fromProcessDefinitionId + * @returns + */ +export const migrationProcessDefinition = (currentProcessDefinitionId: string, fromProcessDefinitionId: string) => { + return request({ + url: `/workflow/processDefinition/migrationProcessDefinition/${currentProcessDefinitionId}/${fromProcessDefinitionId}`, + method: 'put' + }); +}; diff --git a/src/views/workflow/processInstance/index.vue b/src/views/workflow/processInstance/index.vue index 29b9091..fde3d57 100644 --- a/src/views/workflow/processInstance/index.vue +++ b/src/views/workflow/processInstance/index.vue @@ -93,6 +93,15 @@ + + 切换版本 + @@ -119,6 +128,28 @@ + + + + + + + + + + + + + + + + + @@ -132,11 +163,16 @@ import { deleteFinishProcessAndHisInst, deleteRuntimeProcessInst } from '@/api/workflow/processInstance'; +import { + getProcessDefinitionListByKey, + migrationProcessDefinition +} from '@/api/workflow/processDefinition'; import { ComponentInternalInstance } from 'vue'; import ApprovalRecord from '@/components/Process/approvalRecord.vue'; import { listCategory } from "@/api/workflow/category"; import { ElTree } from 'element-plus'; import { CategoryVO } from '@/api/workflow/category/types'; +import { string } from 'vue-types'; //审批记录组件 const approvalRecordRef = ref>(); const { proxy } = getCurrentInstance() as ComponentInternalInstance; @@ -154,13 +190,20 @@ const multiple = ref(true); const showSearch = ref(true); // 总条数 const total = ref(0); +// 流程定义id +const processDefinitionId = ref(''); // 模型定义表格数据 const processInstanceList = ref([]); - +const processDefinitionHistoryList = ref>([]); const categoryOptions = ref([]); const categoryName = ref(''); const categoryTreeRef = ref(ElTree); +const processDefinitionDialog = reactive({ + visible: false, + title: '流程定义' +}); + type CategoryOption = { categoryCode: string; categoryName: string; @@ -301,4 +344,27 @@ const handleInvalid = async (row: any) => { const cancelPopover = async (index: any) => { (proxy?.$refs[`popoverRef${index}`] as any).hide(); //关闭弹窗 }; +//获取流程定义 +const getProcessDefinitionHitoryList = (id:string,key:string) => { + processDefinitionDialog.visible = true + processDefinitionId.value = id + loading.value = true; + getProcessDefinitionListByKey(key).then((resp) => { + if(resp.data && resp.data.length > 0){ + processDefinitionHistoryList.value = resp.data.filter((item:any)=>item.id !== id); + } + loading.value = false; + }); +}; +//切换流程版本 +const handleChange = async (id:string) => { + await proxy?.$modal.confirm('是否确认切换?'); + loading.value = true; + migrationProcessDefinition(processDefinitionId.value,id).then((resp) => { + proxy?.$modal.msgSuccess('操作成功'); + getProcessInstanceRunningList(); + processDefinitionDialog.visible = false + loading.value = false; + }); +};