fix: An error is displayed in the loop node of the execution details.

v3.2
wangdan-fit2cloud 2025-09-23 17:17:59 +08:00
parent 6a9b59163c
commit ccb43a05a5
4 changed files with 37 additions and 16 deletions

View File

@ -37,14 +37,10 @@
</div> </div>
<el-collapse-transition> <el-collapse-transition>
<div class="mt-12" v-if="data['show']"> <div class="mt-12" v-if="data['show']">
<template v-if="data.status === 200"> <template v-if="data.status === 200 || data.type == WorkflowType.LoopNode">
<!-- 开始 --> <!-- 开始 -->
<template <template
v-if=" v-if="data.type === WorkflowType.Start || data.type === WorkflowType.Application"
data.type === WorkflowType.Start ||
data.type === WorkflowType.Application ||
data.type === WorkflowType.LoopStartNode
"
> >
<div class="card-never border-r-6"> <div class="card-never border-r-6">
<h5 class="p-8-12"> <h5 class="p-8-12">
@ -827,7 +823,9 @@
</template> </template>
</el-radio-group> </el-radio-group>
<template <template
v-for="(cLoop, cIndex) in Object.values(data.loop_node_data[currentLoopNode])" v-for="(cLoop, cIndex) in Object.values(
data.loop_node_data?.[currentLoopNode] || [],
)"
:key="cIndex" :key="cIndex"
> >
<ExecutionDetailCard :data="cLoop"></ExecutionDetailCard> <ExecutionDetailCard :data="cLoop"></ExecutionDetailCard>
@ -835,6 +833,31 @@
</template> </template>
</div> </div>
</div> </div>
<!-- 循环开始 节点-->
<template v-if="data.type === WorkflowType.LoopStartNode">
<div class="card-never border-r-6">
<h5 class="p-8-12">
{{ $t('common.param.inputParam') }}
</h5>
<div class="p-8-12 border-t-dashed lighter">
<div class="mb-8">
<span class="color-secondary">
{{ $t('views.applicationWorkflow.nodes.loopStartNode.loopItem') }}:</span
>
{{ data.current_item }}
</div>
<div class="mb-8">
<span class="color-secondary">
{{ $t('views.applicationWorkflow.nodes.loopStartNode.loopIndex') }}:</span
>
{{ data.current_index }}
</div>
</div>
</div>
</template>
<slot></slot> <slot></slot>
</template> </template>
<template v-else> <template v-else>

View File

@ -317,7 +317,7 @@ h5 {
} }
.border-r-6 { .border-r-6 {
border-radius: var(); border-radius: var(--app-border-radius-small);
} }
.border-r-8 { .border-r-8 {
border-radius: var(--app-border-radius-base); border-radius: var(--app-border-radius-base);

View File

@ -1,5 +1,5 @@
<template> <template>
<div v-show="show" class="workflow-dropdown-menu border border-r-6 white-bg"> <div v-show="show" class="workflow-dropdown-menu border border-r-6 white-bg" :style="{ width: activeName === 'base' ? '400px':'640px' }">
<el-tabs v-model="activeName" class="workflow-dropdown-tabs" @tab-change="handleClick"> <el-tabs v-model="activeName" class="workflow-dropdown-tabs" @tab-change="handleClick">
<div <div
v-show="activeName === 'base'" v-show="activeName === 'base'"
@ -39,7 +39,7 @@
<component <component
:is="iconComponent(`${item.type}-icon`)" :is="iconComponent(`${item.type}-icon`)"
class="mr-8" class="mr-8"
:size="32" :size="20"
/> />
<div class="lighter">{{ item.label }}</div> <div class="lighter">{{ item.label }}</div>
</div> </div>

View File

@ -22,16 +22,15 @@
@click.stop="emit('clickNodes', item)" @click.stop="emit('clickNodes', item)"
@mousedown.stop="emit('onmousedown', item)" @mousedown.stop="emit('onmousedown', item)"
> >
<!-- <LogoIcon v-if="item.resource_type === 'application'" height="32px" />-->
<el-avatar <el-avatar
v-if="isAppIcon(item?.icon)" v-if="isAppIcon(item?.icon)"
shape="square" shape="square"
:size="32" :size="20"
style="background: none" style="background: none"
> >
<img :src="resetUrl(item?.icon, resetUrl('./favicon.ico'))" alt="" /> <img :src="resetUrl(item?.icon, resetUrl('./favicon.ico'))" alt="" />
</el-avatar> </el-avatar>
<el-avatar v-else class="avatar-green" shape="square" :size="32"> <el-avatar v-else class="avatar-green" shape="square" :size="20">
<img src="@/assets/workflow/icon_tool.svg" style="width: 58%" alt="" /> <img src="@/assets/workflow/icon_tool.svg" style="width: 58%" alt="" />
</el-avatar> </el-avatar>
<span class="ml-8 ellipsis" :title="item.name">{{ item.name }}</span> <span class="ml-8 ellipsis" :title="item.name">{{ item.name }}</span>
@ -41,16 +40,15 @@
<template #default> <template #default>
<div class="flex-between"> <div class="flex-between">
<div class="flex align-center"> <div class="flex align-center">
<!-- <LogoIcon v-if="item.resource_type === 'application'" height="32px"/>-->
<el-avatar <el-avatar
v-if="isAppIcon(item?.icon)" v-if="isAppIcon(item?.icon)"
shape="square" shape="square"
:size="32" :size="20"
style="background: none" style="background: none"
> >
<img :src="resetUrl(item?.icon, resetUrl('./favicon.ico'))" alt="" /> <img :src="resetUrl(item?.icon, resetUrl('./favicon.ico'))" alt="" />
</el-avatar> </el-avatar>
<el-avatar v-else class="avatar-green" shape="square" :size="32"> <el-avatar v-else class="avatar-green" shape="square" :size="20">
<img src="@/assets/workflow/icon_tool.svg" style="width: 58%" alt="" /> <img src="@/assets/workflow/icon_tool.svg" style="width: 58%" alt="" />
</el-avatar> </el-avatar>
<span class="font-medium ml-8 break-all" :title="item.name">{{ item.name }}</span> <span class="font-medium ml-8 break-all" :title="item.name">{{ item.name }}</span>