From 905426ad454dbc2d1ec2ee912927b9518f04db4b Mon Sep 17 00:00:00 2001 From: gssong <1742057357@qq.com> Date: 星期一, 08 四月 2024 22:43:37 +0800 Subject: [PATCH] update 修改流程定义删除 --- src/views/workflow/task/allTaskWaiting.vue | 73 +++++++++++++++++++++--------------- 1 files changed, 43 insertions(+), 30 deletions(-) diff --git a/src/views/workflow/task/allTaskWaiting.vue b/src/views/workflow/task/allTaskWaiting.vue index cee2d26..3adadf5 100644 --- a/src/views/workflow/task/allTaskWaiting.vue +++ b/src/views/workflow/task/allTaskWaiting.vue @@ -39,13 +39,17 @@ </el-row> </template> - <el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange"> + <el-table v-loading="loading" border :data="taskList" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" align="center" /> - <el-table-column fixed align="center" type="index" label="搴忓彿" width="50"></el-table-column> - <el-table-column fixed align="center" prop="processDefinitionName" label="娴佺▼瀹氫箟鍚嶇О"></el-table-column> - <el-table-column fixed align="center" prop="processDefinitionKey" label="娴佺▼瀹氫箟KEY"></el-table-column> - <el-table-column fixed align="center" prop="name" label="浠诲姟鍚嶇О"></el-table-column> - <el-table-column fixed align="center" prop="assigneeName" label="鍔炵悊浜�"> + <el-table-column align="center" type="index" label="搴忓彿" width="60"></el-table-column> + <el-table-column :show-overflow-tooltip="true" align="center" label="娴佺▼瀹氫箟鍚嶇О"> + <template #default="scope"> + <span>{{ scope.row.processDefinitionName }}v{{ scope.row.processDefinitionVersion }}.0</span> + </template> + </el-table-column> + <el-table-column align="center" prop="processDefinitionKey" label="娴佺▼瀹氫箟KEY"></el-table-column> + <el-table-column align="center" prop="name" label="浠诲姟鍚嶇О"></el-table-column> + <el-table-column align="center" prop="assigneeName" label="鍔炵悊浜�"> <template v-if="tab === 'waiting'" #default="scope"> <template v-if="scope.row.participantVo && scope.row.assignee === null"> <el-tag v-for="(item, index) in scope.row.participantVo.candidateName" :key="index" type="success"> @@ -54,37 +58,40 @@ </template> <template v-else> <el-tag type="success"> - {{ scope.row.assigneeName }} + {{ scope.row.assigneeName || '鏃�'}} </el-tag> </template> </template> <template v-else-if="tab === 'finish'" #default="scope"> <el-tag type="success"> - {{ scope.row.assigneeName }} + {{ scope.row.assigneeName || '鏃�'}} </el-tag> </template> </el-table-column> - <el-table-column align="center" prop="businessStatusName" label="娴佺▼鐘舵��" min-width="70"> + <el-table-column align="center" label="娴佺▼鐘舵��" min-width="70"> <template #default="scope"> - <el-tag v-if="tab === 'waiting'" type="success">{{ scope.row.businessStatusName }}</el-tag> + <dict-tag v-if="tab === 'waiting'" :options="wf_business_status" :value="scope.row.businessStatus"></dict-tag> <el-tag v-else type="success">宸插畬鎴�</el-tag> </template> </el-table-column> - <el-table-column align="center" prop="createTime" label="鍒涘缓鏃堕棿" width="160"></el-table-column> - <el-table-column label="鎿嶄綔" align="center" width="160" class-name="small-padding fixed-width"> + <el-table-column align="center" v-if="tab === 'waiting'" prop="createTime" label="鍒涘缓鏃堕棿" width="160"></el-table-column> + <el-table-column align="center" v-if="tab === 'finish'" prop="startTime" label="鍒涘缓鏃堕棿" width="160"></el-table-column> + <el-table-column label="鎿嶄綔" align="center" :width="tab === 'finish' ? '80' : '151'"> <template #default="scope"> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> - <el-button link type="primary" size="small" icon="Document" @click="handleApprovalRecord(scope.row)">瀹℃壒璁板綍</el-button> + <el-button link type="primary" size="small" icon="View" @click="handleView(scope.row)">鏌ョ湅</el-button> </el-col> - <el-col v-if="scope.row.multiInstance" :span="1.5"> - <el-button link type="primary" size="small" icon="CirclePlus" @click="addMultiInstanceUser(scope.row)">鍔犵</el-button> + <el-col v-if="tab === 'waiting'" :span="1.5"> + <el-button link type="primary" size="small" icon="Document" @click="handleInstanceVariable(scope.row)">娴佺▼鍙橀噺</el-button> </el-col> - <el-col v-if="scope.row.multiInstance" :span="1.5"> + </el-row> + <el-row :gutter="10" class="mb8" v-if="scope.row.multiInstance" > + <el-col :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-button link type="primary" size="small" icon="CirclePlus" @click="addMultiInstanceUser(scope.row)">鍔犵</el-button> </el-col> </el-row> </template> @@ -98,8 +105,6 @@ @pagination="handleQuery" /> </el-card> - <!-- 瀹℃壒璁板綍 --> - <approvalRecord ref="approvalRecordRef" /> <!-- 鍔犵缁勪欢 --> <multiInstanceUser ref="multiInstanceUserRef" :title="title" @submit-callback="handleQuery" /> <!-- 閫変汉缁勪欢 --> @@ -125,12 +130,12 @@ <script lang="ts" setup> 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, VariableVo } from '@/api/workflow/task/types'; +import workflowCommon from '@/api/workflow/workflowCommon'; +import { RouterJumpVo } from '@/api/workflow/workflowCommon/types'; //瀹℃壒璁板綍缁勪欢 -const approvalRecordRef = ref<InstanceType<typeof ApprovalRecord>>(); //鍔犵缁勪欢 const multiInstanceUserRef = ref<InstanceType<typeof MultiInstanceUser>>(); //閫変汉缁勪欢 @@ -138,6 +143,7 @@ const queryFormRef = ref<ElFormInstance>(); const { proxy } = getCurrentInstance() as ComponentInternalInstance; +const { wf_business_status } = toRefs<any>(proxy?.useDict('wf_business_status')); // 閬僵灞� const loading = ref(true); // 閫変腑鏁扮粍 @@ -172,15 +178,7 @@ processDefinitionKey: undefined }); const tab = ref('waiting'); -onMounted(() => { - getWaitingList(); -}); -//瀹℃壒璁板綍 -const handleApprovalRecord = (row: TaskVO) => { - if (approvalRecordRef.value) { - approvalRecordRef.value.init(row.processInstanceId); - } -}; + //鍔犵 const addMultiInstanceUser = (row: TaskVO) => { if (multiInstanceUserRef.value) { @@ -217,6 +215,7 @@ multiple.value = !selection.length; }; const changeTab = async (data: string) => { + taskList.value = [] queryParams.value.pageNum = 1; if ('waiting' === data) { getWaitingList(); @@ -266,4 +265,18 @@ variableList.value = data.data variableLoading.value = false }; +/** 鏌ョ湅鎸夐挳鎿嶄綔 */ +const handleView = (row) => { + const routerJumpVo = reactive<RouterJumpVo>({ + wfDefinitionConfigVo: row.wfDefinitionConfigVo, + wfNodeConfigVo: row.wfNodeConfigVo, + businessKey: row.businessKey, + taskId: row.id, + type: 'view' + }); + workflowCommon.routerJump(routerJumpVo,proxy) +}; +onMounted(() => { + getWaitingList(); +}); </script> -- Gitblit v1.9.3