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 @@
+
+
+
+
+
+
+ v{{ scope.row.version }}.0
+
+
+
+ 激活
+ 挂起
+
+
+
+
+
+ 切换
+
+
+
+
@@ -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;
+ });
+};