add 添加查看流程变量

This commit is contained in:
gssong 2024-03-09 13:41:20 +08:00
parent 9defb9a669
commit 3c27c18889
4 changed files with 61 additions and 6 deletions

View File

@ -192,6 +192,7 @@ export const transferTask = (data: any) => {
data: data data: data
}); });
}; };
/** /**
* *
* @returns * @returns
@ -203,3 +204,14 @@ export const terminationTask = (data: any) => {
data: data data: data
}); });
}; };
/**
*
* @returns
*/
export const getInstanceVariable = (taskId: string) => {
return request({
url: `/workflow/task/getInstanceVariable/${taskId}`,
method: 'get'
});
};

View File

@ -37,3 +37,8 @@ export interface TaskVO extends BaseEntity {
participantVo: ParticipantVo; participantVo: ParticipantVo;
multiInstance: boolean; multiInstance: boolean;
} }
export interface VariableVo {
key: string;
value: string;
}

View File

@ -8,7 +8,7 @@
<el-tab-pane label="审批信息" name="info"> <el-tab-pane label="审批信息" name="info">
<div> <div>
<el-table :data="historyList" style="width: 100%" border fit> <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="name" label="任务名称" sortable align="center"></el-table-column>
<el-table-column prop="nickName" 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"> <el-table-column label="状态" sortable align="center">
@ -17,6 +17,9 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="comment" label="审批意见" sortable align="center"></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"> <el-table-column prop="attachmentList" label="附件" sortable align="center">
<template #default="scope"> <template #default="scope">
<el-popover v-if="scope.row.attachmentList && scope.row.attachmentList.length > 0" placement="right" :width="310" trigger="click"> <el-popover v-if="scope.row.attachmentList && scope.row.attachmentList.length > 0" placement="right" :width="310" trigger="click">
@ -34,9 +37,6 @@
</el-popover> </el-popover>
</template> </template>
</el-table-column> </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> </el-table>
</div> </div>
</el-tab-pane> </el-tab-pane>

View File

@ -83,6 +83,9 @@
<el-col v-if="scope.row.multiInstance" :span="1.5"> <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-button link type="primary" size="small" icon="Remove" @click="deleteMultiInstanceUser(scope.row)">减签</el-button>
</el-col> </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> </el-row>
</template> </template>
</el-table-column> </el-table-column>
@ -101,15 +104,31 @@
<multiInstanceUser ref="multiInstanceUserRef" :title="title" @submit-callback="handleQuery" /> <multiInstanceUser ref="multiInstanceUserRef" :title="title" @submit-callback="handleQuery" />
<!-- 选人组件 --> <!-- 选人组件 -->
<UserSelect ref="userSelectRef" :multiple="false" @confirm-call-back="submitCallback"></UserSelect> <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> </div>
</template> </template>
<script lang="ts" setup> <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 ApprovalRecord from '@/components/Process/approvalRecord.vue';
import MultiInstanceUser from '@/components/Process/multiInstanceUser.vue'; import MultiInstanceUser from '@/components/Process/multiInstanceUser.vue';
import UserSelect from '@/components/UserSelect'; 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>>(); const approvalRecordRef = ref<InstanceType<typeof ApprovalRecord>>();
// //
@ -134,6 +153,16 @@ const total = ref(0);
// //
const taskList = ref([]); const taskList = ref([]);
const title = 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>({ const queryParams = ref<TaskQuery>({
pageNum: 1, pageNum: 1,
@ -228,4 +257,13 @@ const submitCallback = async (data) => {
proxy?.$modal.msgWarning('请选择用户!'); 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> </script>