From 3c27c188890b96fe2f96c8f8008e48c637ec6cc7 Mon Sep 17 00:00:00 2001
From: gssong <1742057357@qq.com>
Date: 星期六, 09 三月 2024 13:41:20 +0800
Subject: [PATCH] add 添加查看流程变量
---
src/views/workflow/task/allTaskWaiting.vue | 42 ++++++++++++++++++++-
src/api/workflow/task/types.ts | 5 ++
src/components/Process/approvalRecord.vue | 8 ++--
src/api/workflow/task/index.ts | 12 ++++++
4 files changed, 61 insertions(+), 6 deletions(-)
diff --git a/src/api/workflow/task/index.ts b/src/api/workflow/task/index.ts
index 6c4538f..aabdd15 100644
--- a/src/api/workflow/task/index.ts
+++ b/src/api/workflow/task/index.ts
@@ -192,6 +192,7 @@
data: data
});
};
+
/**
* 缁堟浠诲姟
* @returns
@@ -203,3 +204,14 @@
data: data
});
};
+
+/**
+ * 鏌ヨ娴佺▼鍙橀噺
+ * @returns
+ */
+export const getInstanceVariable = (taskId: string) => {
+ return request({
+ url: `/workflow/task/getInstanceVariable/${taskId}`,
+ method: 'get'
+ });
+};
diff --git a/src/api/workflow/task/types.ts b/src/api/workflow/task/types.ts
index 11cc48b..f1aede9 100644
--- a/src/api/workflow/task/types.ts
+++ b/src/api/workflow/task/types.ts
@@ -37,3 +37,8 @@
participantVo: ParticipantVo;
multiInstance: boolean;
}
+
+export interface VariableVo {
+ key: string;
+ value: string;
+}
diff --git a/src/components/Process/approvalRecord.vue b/src/components/Process/approvalRecord.vue
index 04694d1..5da0a56 100644
--- a/src/components/Process/approvalRecord.vue
+++ b/src/components/Process/approvalRecord.vue
@@ -8,7 +8,7 @@
<el-tab-pane label="瀹℃壒淇℃伅" name="info">
<div>
<el-table :data="historyList" style="width: 100%" border fit>
- <el-table-column type="index" label="搴忓彿" align="center" width="50"></el-table-column>
+ <el-table-column type="index" label="搴忓彿" align="center" width="60"></el-table-column>
<el-table-column prop="name" label="浠诲姟鍚嶇О" sortable align="center"></el-table-column>
<el-table-column prop="nickName" label="鍔炵悊浜�" sortable align="center"></el-table-column>
<el-table-column label="鐘舵��" sortable align="center">
@@ -17,6 +17,9 @@
</template>
</el-table-column>
<el-table-column prop="comment" label="瀹℃壒鎰忚" sortable align="center"></el-table-column>
+ <el-table-column prop="startTime" label="寮�濮嬫椂闂�" sortable align="center"></el-table-column>
+ <el-table-column prop="endTime" label="缁撴潫鏃堕棿" sortable align="center"></el-table-column>
+ <el-table-column prop="runDuration" label="杩愯鏃堕暱" sortable align="center"></el-table-column>
<el-table-column prop="attachmentList" label="闄勪欢" sortable align="center">
<template #default="scope">
<el-popover v-if="scope.row.attachmentList && scope.row.attachmentList.length > 0" placement="right" :width="310" trigger="click">
@@ -34,9 +37,6 @@
</el-popover>
</template>
</el-table-column>
- <el-table-column prop="startTime" label="寮�濮嬫椂闂�" sortable align="center"></el-table-column>
- <el-table-column prop="endTime" label="缁撴潫鏃堕棿" sortable align="center"></el-table-column>
- <el-table-column prop="runDuration" label="杩愯鏃堕暱" sortable align="center"></el-table-column>
</el-table>
</div>
</el-tab-pane>
diff --git a/src/views/workflow/task/allTaskWaiting.vue b/src/views/workflow/task/allTaskWaiting.vue
index 057bc29..cee2d26 100644
--- a/src/views/workflow/task/allTaskWaiting.vue
+++ b/src/views/workflow/task/allTaskWaiting.vue
@@ -83,6 +83,9 @@
<el-col v-if="scope.row.multiInstance" :span="1.5">
<el-button link type="primary" size="small" icon="Remove" @click="deleteMultiInstanceUser(scope.row)">鍑忕</el-button>
</el-col>
+ <el-col :span="1.5">
+ <el-button link type="primary" size="small" icon="Document" @click="handleInstanceVariable(scope.row)">娴佺▼鍙橀噺</el-button>
+ </el-col>
</el-row>
</template>
</el-table-column>
@@ -101,15 +104,31 @@
<multiInstanceUser ref="multiInstanceUserRef" :title="title" @submit-callback="handleQuery" />
<!-- 閫変汉缁勪欢 -->
<UserSelect ref="userSelectRef" :multiple="false" @confirm-call-back="submitCallback"></UserSelect>
+ <!-- 娴佺▼鍙橀噺寮�濮� -->
+ <el-dialog v-model="variableVisible" draggable title="娴佺▼鍙橀噺" width="60%" :close-on-click-modal="false">
+ <el-card class="box-card" v-loading="variableLoading">
+ <div slot="header" class="clearfix">
+ <span>娴佺▼瀹氫箟鍚嶇О锛�<el-tag>{{processDefinitionName}}</el-tag></span>
+ </div>
+ <div v-for="(v,index) in variableList" :key="index" >
+ <el-form :label-position="'right'" v-if="v.key!=='_FLOWABLE_SKIP_EXPRESSION_ENABLED'" label-width="150px">
+ <el-form-item :label="v.key+'锛�'">
+ {{v.value}}
+ </el-form-item>
+ </el-form>
+ </div>
+ </el-card>
+ </el-dialog>
+ <!-- 娴佺▼鍙橀噺缁撴潫 -->
</div>
</template>
<script lang="ts" setup>
-import { getPageByAllTaskWait, getPageByAllTaskFinish, updateAssignee } from '@/api/workflow/task';
+import { getPageByAllTaskWait, getPageByAllTaskFinish, updateAssignee, getInstanceVariable } from '@/api/workflow/task';
import ApprovalRecord from '@/components/Process/approvalRecord.vue';
import MultiInstanceUser from '@/components/Process/multiInstanceUser.vue';
import UserSelect from '@/components/UserSelect';
-import { TaskQuery, TaskVO } from '@/api/workflow/task/types';
+import { TaskQuery, TaskVO, VariableVo } from '@/api/workflow/task/types';
//瀹℃壒璁板綍缁勪欢
const approvalRecordRef = ref<InstanceType<typeof ApprovalRecord>>();
//鍔犵缁勪欢
@@ -134,6 +153,16 @@
// 妯″瀷瀹氫箟琛ㄦ牸鏁版嵁
const taskList = ref([]);
const title = ref('');
+// 娴佺▼鍙橀噺鏄惁鏄剧ず
+const variableVisible = ref(false);
+const variableLoading = ref(true);
+// 娴佺▼鍙橀噺
+const variableList = ref<VariableVo>({
+ key: '',
+ value: '',
+})
+//娴佺▼瀹氫箟鍚嶇О
+const processDefinitionName = ref(undefined);
// 鏌ヨ鍙傛暟
const queryParams = ref<TaskQuery>({
pageNum: 1,
@@ -228,4 +257,13 @@
proxy?.$modal.msgWarning('璇烽�夋嫨鐢ㄦ埛锛�');
}
};
+//鏌ヨ娴佺▼鍙橀噺
+const handleInstanceVariable = async (row: TaskVO) => {
+ variableLoading.value = true
+ variableVisible.value = true
+ processDefinitionName.value = row.processDefinitionName
+ let data = await getInstanceVariable(row.id)
+ variableList.value = data.data
+ variableLoading.value = false
+};
</script>
--
Gitblit v1.9.3