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