huang
8 天以前 f13ba9e05f653bc3083c4d17fe8658e67054131e
mes-web/src/views/plcTest/components/MultiDeviceTest/ExecutionMonitor.vue
@@ -86,7 +86,7 @@
            查看详情
          </el-button>
          <el-button
            v-if="row.status === 'RUNNING'"
            v-if="row.status === 'RUNNING' || row.status === 'FAILED'"
            link
            type="danger"
            size="small"
@@ -127,6 +127,9 @@
          <div class="step-desc">耗时:{{ formatDuration(step.durationMs) }}</div>
          <div class="step-desc" v-if="step.retryCount > 0">
            重试次数:{{ step.retryCount }}
          </div>
          <div class="step-desc" v-if="step.successMessage">
            提示:{{ step.successMessage }}
          </div>
          <div class="step-desc error-message" v-if="step.errorMessage">
            <el-icon><Warning /></el-icon>
@@ -367,6 +370,7 @@
      endTime: data.endTime ? new Date(data.endTime) : existingStep.endTime,
      durationMs: data.durationMs !== undefined ? data.durationMs : existingStep.durationMs,
      retryCount: data.retryCount !== undefined ? data.retryCount : existingStep.retryCount,
      successMessage: data.successMessage !== undefined ? data.successMessage : existingStep.successMessage,
      errorMessage: data.errorMessage || existingStep.errorMessage
    }
  } else if (data.stepOrder !== undefined) {
@@ -419,6 +423,20 @@
  } finally {
    stepsLoading.value = false
  }
}
// 根据taskId打开任务详情抽屉(供父组件调用)
const openTaskDrawer = async (taskId) => {
  if (!taskId) return
  // 如果任务列表为空,先加载一次
  if (!tasks.value || tasks.value.length === 0) {
    await fetchTasks()
  }
  const task = tasks.value.find(t => t.taskId === taskId)
  if (!task) {
    return
  }
  await handleRowClick(task)
}
const statusType = (status) => {
@@ -562,7 +580,8 @@
defineExpose({
  fetchTasks,
  connectSSE,
  disconnectSSE
  disconnectSSE,
  openTaskDrawer
})
</script>