|
|
@@ -30,6 +30,7 @@ const currentStatus = computed(() => String(detail.value?.status || ''));
|
|
|
const hasActiveFlow = computed(() => !!detail.value?.activeFlowInstanceId);
|
|
|
const activeBizType = computed(() => detail.value?.activeFlowBizType ?? '');
|
|
|
const canClaim = computed(() => currentStatus.value === 'NEW');
|
|
|
+const canStartProgress = computed(() => currentStatus.value === 'ASSIGNED');
|
|
|
const canTransfer = computed(() => !['', 'CLOSED'].includes(currentStatus.value));
|
|
|
const canUpgrade = computed(() => !hasActiveFlow.value && ['ASSIGNED', 'IN_PROGRESS'].includes(currentStatus.value));
|
|
|
const canReject = computed(() => ['NEW', 'ASSIGNED', 'IN_PROGRESS'].includes(currentStatus.value));
|
|
|
@@ -85,6 +86,7 @@ function actionTitle() {
|
|
|
return (
|
|
|
{
|
|
|
claim: '认领',
|
|
|
+ startProgress: '开始处理',
|
|
|
transfer: '转派',
|
|
|
upgrade: '升级',
|
|
|
reject: '驳回',
|
|
|
@@ -121,6 +123,8 @@ async function submitAction() {
|
|
|
try {
|
|
|
if (dialogMode.value === 'claim') {
|
|
|
await s8ExceptionApi.claim(id, { assigneeId: actionForm.assigneeId!, remark: actionForm.remark || undefined });
|
|
|
+ } else if (dialogMode.value === 'startProgress') {
|
|
|
+ await s8ExceptionApi.startProgress(id, { remark: actionForm.remark || undefined }, currentUserId.value);
|
|
|
} else if (dialogMode.value === 'transfer') {
|
|
|
await s8ExceptionApi.transfer(id, { assigneeId: actionForm.assigneeId!, remark: actionForm.remark || undefined });
|
|
|
} else if (dialogMode.value === 'upgrade') {
|
|
|
@@ -204,6 +208,7 @@ onMounted(async () => {
|
|
|
<template v-else>
|
|
|
<div class="action-grid">
|
|
|
<el-button type="primary" :disabled="!canClaim" @click="openAction('claim')">认领</el-button>
|
|
|
+ <el-button type="primary" :disabled="!canStartProgress" @click="openAction('startProgress')">开始处理</el-button>
|
|
|
<el-button :disabled="!canTransfer" @click="openAction('transfer')">转派</el-button>
|
|
|
<el-button type="warning" :disabled="!canUpgrade" @click="openAction('upgrade')">升级</el-button>
|
|
|
<el-button type="danger" :disabled="!canReject" @click="openAction('reject')">驳回</el-button>
|