Skip to content

Commit 21a38e2

Browse files
authored
fix: Trigger record list (#4694)
1 parent 6ed9276 commit 21a38e2

File tree

2 files changed

+62
-17
lines changed

2 files changed

+62
-17
lines changed

apps/trigger/handler/impl/task/application_task.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212

1313
from application.models import ChatUserType, Chat, ChatRecord, ChatSourceChoices
1414
from chat.serializers.chat import ChatSerializers
15-
from knowledge.models import State
15+
from knowledge.models.knowledge_action import State
16+
1617
from trigger.handler.base_task import BaseTriggerTask
1718
from trigger.models import TaskRecord
1819

@@ -101,7 +102,9 @@ def execute(self, trigger_task, **kwargs):
101102
},
102103
})
103104
task_record_id = uuid.uuid7()
104-
TaskRecord(id=task_record_id, source_type="APPLICATION", source_id=application_id,
105+
TaskRecord(id=task_record_id, trigger_id=trigger_task.get('trigger'), trigger_task_id=trigger_task.get('id'),
106+
source_type="APPLICATION",
107+
source_id=application_id,
105108
task_record_id=chat_record_id,
106109
meta={'chat_id': chat_id},
107110
state=State.STARTED).save()
@@ -116,7 +119,9 @@ def execute(self, trigger_task, **kwargs):
116119
},
117120
'debug': False
118121
}).chat(instance=parameters))
119-
finally:
120122
chat_record = QuerySet(ChatRecord).filter(id=chat_record_id).first()
121123
state = get_workflow_state(chat_record.details)
122124
QuerySet(TaskRecord).filter(id=task_record_id).update(state=state, run_time=chat_record.run_time)
125+
except Exception as e:
126+
state = State.FAILURE
127+
QuerySet(TaskRecord).filter(id=task_record_id).update(state=state, run_time=0)

ui/src/views/trigger/component/TriggerTaskRecordDrawer.vue

Lines changed: 54 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<el-drawer v-model="drawer" title="执行记录" direction="rtl" :before-close="close">
2+
<el-drawer v-model="drawer" title="执行记录" direction="rtl" size="800px" :before-close="close">
33
<div class="lighter mb-12">
44
{{ $t('views.system.resourceMapping.sub_title') }}
55
</div>
@@ -54,7 +54,6 @@
5454
<template #default="{ row }">
5555
<el-button link>
5656
<div class="flex align-center">
57-
<KnowledgeIcon class="mr-8" :size="22" :type="row.icon" />
5857
<el-avatar shape="square" :size="22" style="background: none" class="mr-8">
5958
<img
6059
v-if="row.source_type === 'TOOL'"
@@ -68,17 +67,12 @@
6867
/>
6968
</el-avatar>
7069

71-
<span>{{ row.name }}</span>
70+
<span>{{ row.source_name }}</span>
7271
</div>
7372
</el-button>
7473
</template>
7574
</el-table-column>
76-
<el-table-column
77-
prop="desc"
78-
min-width="120"
79-
show-overflow-tooltip
80-
:label="$t('common.desc')"
81-
/>
75+
8276
<el-table-column
8377
prop="source_type"
8478
min-width="120"
@@ -94,19 +88,65 @@
9488
</template>
9589
</el-table-column>
9690

91+
<el-table-column prop="state" :label="$t('common.status.label')" width="180">
92+
<template #default="{ row }">
93+
<el-text class="color-text-primary" v-if="row.state === 'SUCCESS'">
94+
<el-icon class="color-success"><SuccessFilled /></el-icon>
95+
{{ $t('common.status.success') }}
96+
</el-text>
97+
<el-text class="color-text-primary" v-else-if="row.state === 'FAILURE'">
98+
<el-icon class="color-danger"><CircleCloseFilled /></el-icon>
99+
{{ $t('common.status.fail') }}
100+
</el-text>
101+
<el-text class="color-text-primary" v-else-if="row.state === 'REVOKED'">
102+
<el-icon class="color-danger"><CircleCloseFilled /></el-icon>
103+
{{ $t('common.status.REVOKED') }}
104+
</el-text>
105+
<el-text class="color-text-primary" v-else-if="row.state === 'REVOKE'">
106+
<el-icon class="is-loading color-primary"><Loading /></el-icon>
107+
{{ $t('common.status.REVOKE') }}
108+
</el-text>
109+
<el-text class="color-text-primary" v-else>
110+
<el-icon class="is-loading color-primary"><Loading /></el-icon>
111+
{{ $t('common.status.STARTED') }}
112+
</el-text>
113+
</template>
114+
</el-table-column>
115+
<el-table-column prop="run_time" :label="$t('chat.KnowledgeSource.consumeTime')">
116+
<template #default="{ row }">
117+
{{ row.run_time != undefined ? row.run_time?.toFixed(2) + 's' : '-' }}
118+
</template>
119+
</el-table-column>
97120
<el-table-column
98-
prop="username"
99-
min-width="120"
100-
show-overflow-tooltip
101-
:label="$t('common.creator')"
102-
/>
121+
prop="create_time"
122+
:label="$t('chat.executionDetails.createTime')"
123+
width="180"
124+
>
125+
<template #default="{ row }">
126+
{{ datetimeFormat(row.create_time) }}
127+
</template>
128+
</el-table-column>
129+
130+
<el-table-column :label="$t('common.operation')" width="90">
131+
<template #default="{ row }">
132+
<div class="flex">
133+
<el-tooltip effect="dark" :content="$t('chat.executionDetails.title')" placement="top">
134+
<el-button type="primary" text @click.stop="toDetails(row)">
135+
<AppIcon iconName="app-operate-log"></AppIcon>
136+
</el-button>
137+
</el-tooltip>
138+
</div>
139+
</template>
140+
</el-table-column>
103141
</app-table>
104142
</el-drawer>
105143
</template>
106144
<script setup lang="ts">
107145
import { ref, reactive } from 'vue'
108146
import { isAppIcon, resetUrl } from '@/utils/common'
109147
import triggerAPI from '@/api/trigger/trigger'
148+
import { datetimeFormat } from '@/utils/time'
149+
const toDetails = (row: any) => {}
110150
const searchType = ref<string>('name')
111151
const drawer = ref<boolean>(false)
112152
const paginationConfig = reactive({

0 commit comments

Comments
 (0)