feat(1.4.0-beta1): 1. 修复描述

This commit is contained in:
opensnail 2025-02-20 23:43:45 +08:00
parent afe83954ce
commit c64ad0cc81
13 changed files with 193 additions and 114 deletions

View File

@ -90,10 +90,10 @@ export const groupConfigYesOrNoRecord: Record<Api.GroupConfig.YesOrNoType, App.I
export const groupConfigYesOrNoOptions = transformRecordToNumberOption(groupConfigYesOrNoRecord, true);
export const retryStatusTypeRecord: Record<Api.Retry.RetryStatusType, App.I18n.I18nKey> = {
0: 'page.retryTask.retryStatusType.retrying',
1: 'page.retryTask.retryStatusType.finished',
2: 'page.retryTask.retryStatusType.maxRetry',
3: 'page.retryTask.retryStatusType.paused'
0: 'page.retry.retryStatusType.retrying',
1: 'page.retry.retryStatusType.finished',
2: 'page.retry.retryStatusType.maxRetry',
3: 'page.retry.retryStatusType.paused'
};
export const retryStatusTypeOptions = transformRecordToNumberOption(retryStatusTypeRecord);
@ -108,8 +108,8 @@ export const retryTaskStatusTypeRecord: Record<Api.Retry.RetryTaskStatusType, Ap
export const retryTaskStatusTypeOptions = transformRecordToNumberOption(retryTaskStatusTypeRecord);
export const retryTaskTypeRecord: Record<Api.Retry.TaskType, App.I18n.I18nKey> = {
1: 'page.retryTask.taskTypeDict.retry',
2: 'page.retryTask.taskTypeDict.callback'
1: 'page.retry.taskTypeDict.retry',
2: 'page.retry.taskTypeDict.callback'
};
export const retryTaskTypeOptions = transformRecordToNumberOption(retryTaskTypeRecord);
@ -273,6 +273,21 @@ export const operationReasonRecord: Record<Api.Common.OperationReason, App.I18n.
};
export const operationReasonOptions = transformRecordToNumberOption(operationReasonRecord);
export const retryOperationReasonRecord: Record<Api.Common.RetryOperationReason, App.I18n.I18nKey> = {
0: 'common.retryOperationReason.items.none',
1: 'common.retryOperationReason.items.taskExecutionTimeout',
2: 'common.retryOperationReason.items.notClient',
3: 'common.retryOperationReason.items.closed',
4: 'common.retryOperationReason.items.discard',
5: 'common.retryOperationReason.items.overlay',
6: 'common.retryOperationReason.items.taskExecutionError',
7: 'common.retryOperationReason.items.mannerStop',
8: 'common.retryOperationReason.items.noRunningRetry',
9: 'common.retryOperationReason.items.sceneClosed',
10: 'common.retryOperationReason.items.retryFail'
};
export const retryOperationReasonOptions = transformRecordToNumberOption(retryOperationReasonRecord);
export const jobOperationReasonEnum: Workflow.JobTagType = {
0: {
name: operationReasonRecord[0],

View File

@ -220,6 +220,25 @@ const local: App.I18n.Schema = {
workflowDecisionFailed: 'Workflow decision failed'
}
},
retryOperationReason: {
label: 'Job Operation Reason',
form: 'Please enter job operation reason',
items: {
none: 'None',
taskExecutionTimeout: 'Task execution timeout',
notClient: 'No client',
closed: 'Job closed',
discard: 'Job discard',
overlay: 'Job overlapped',
notExecutionTask: 'No execution task',
taskExecutionError: 'Execution error',
mannerStop: 'Manual stop',
noRunningRetry: 'No running retry',
sceneClosed: 'Scene closed',
retryFail: 'Retry failed',
clientTriggerRetryStop: 'Client trigger stop'
}
},
updateDt: 'Updated Time',
createDt: 'Created Time',
today: 'Today',
@ -652,10 +671,9 @@ const local: App.I18n.Schema = {
createDt: 'Please enter createDt'
}
},
retryTask: {
title: 'RetryTask List',
detail: 'RetryTask Detail',
uniqueId: 'UniqueId',
retry: {
title: 'Retry List',
detail: 'Retry Detail',
groupName: 'Group name',
sceneName: 'Scene name',
idempotentId: 'Idempotent ID',
@ -689,9 +707,9 @@ const local: App.I18n.Schema = {
callback: 'Callback data'
},
generateIdempotentId: 'Generate by client',
addRetryTask: 'Add Retry task',
editRetryTask: 'Add Retry task',
batchAddRetryTask: 'Batch add retry task'
addRetry: 'Add Retry task',
editRetry: 'Add Retry task',
batchAddRetry: 'Batch add retry task'
},
retryScene: {
title: 'Scene List',
@ -741,10 +759,9 @@ const local: App.I18n.Schema = {
random: 'Random delay'
}
},
retryLog: {
title: 'RetryLog List',
detail: 'Retry Log Detail',
UniqueId: 'UniqueId',
retryTask: {
title: 'Retry Task List',
detail: 'Retry Task Detail',
groupName: 'Group name',
sceneName: 'Scene name',
retryStatus: 'Retry status',
@ -752,16 +769,15 @@ const local: App.I18n.Schema = {
idempotentId: 'Idempotent ID',
bizNo: 'Business Number',
createDt: 'Creation time',
operationReason: 'Operation reason',
form: {
groupName: 'Please enter Group name',
idempotentId: 'Please enter Idempotent ID',
sceneName: 'Please enter Scene name',
bizNo: 'Please enter Business Number',
UniqueId: 'Please enter UniqueId'
bizNo: 'Please enter Business Number'
},
addRetryLog: 'Add Retry log',
editRetryLog: 'Add Retry log'
addRetryTask: 'Add Retry Task',
editRetryTask: 'Add Retry Task'
},
workflowBatch: {
title: 'Workflow Batch List',

View File

@ -220,6 +220,25 @@ const local: App.I18n.Schema = {
workflowDecisionFailed: '判定未通过'
}
},
retryOperationReason: {
label: '操作原因',
form: '请选择执行状态',
items: {
none: '无',
taskExecutionTimeout: '任务执行超时',
notClient: '无客户端节点',
closed: '任务已关闭',
discard: '任务丢弃',
overlay: '任务被覆盖',
notExecutionTask: '无可执行任务项',
taskExecutionError: '任务执行期间发生非预期异常',
mannerStop: '手动停止',
noRunningRetry: '当前重试非运行中',
sceneClosed: '当前场景已关闭',
retryFail: '重试失败',
clientTriggerRetryStop: '客户端触发任务停止'
}
},
updateDt: '更新时间',
createDt: '创建时间',
today: '今天',
@ -660,10 +679,9 @@ const local: App.I18n.Schema = {
createDt: '请输入创建时间'
}
},
retryTask: {
title: '重试任务列表',
detail: '重试任务详情',
uniqueId: 'UniqueId',
retry: {
title: '重试列表',
detail: '重试详情',
groupName: '组名称',
sceneName: '场景名称',
idempotentId: '幂等ID',
@ -671,9 +689,9 @@ const local: App.I18n.Schema = {
executorName: '执行器名称',
argsStr: '方法参数',
nextTriggerAt: '下次触发时间',
retryCount: '重试次数',
retryStatus: '重试状态',
taskType: '任务类型',
retryCount: '次数',
retryStatus: '状态',
taskType: '类型',
form: {
retryStatus: '请输入重试状态',
bizNo: '请输入业务编号',
@ -697,9 +715,9 @@ const local: App.I18n.Schema = {
callback: '回调数据'
},
generateIdempotentId: '通过客户端生成',
addRetryTask: '新增重试任务',
editRetryTask: '编辑重试任务',
batchAddRetryTask: '批量新增重试任务'
addRetry: '新增重试',
editRetry: '编辑重试',
batchAddRetry: '批量新增'
},
retryScene: {
title: '场景列表',
@ -749,26 +767,25 @@ const local: App.I18n.Schema = {
random: '随机等待'
}
},
retryLog: {
title: '重试日志列表',
detail: '重试日志详情',
UniqueId: 'UniqueId',
retryTask: {
title: '重试任务列表',
detail: '重试详情',
groupName: '组名称',
sceneName: '场景名称',
retryStatus: '重试状态',
taskType: '任务类型',
idempotentId: '幂等id',
retryStatus: '状态',
taskType: '类型',
idempotentId: '幂等ID',
bizNo: '业务编号',
createDt: '创建时间',
operationReason: '操作原因',
form: {
groupName: '请输入组名称',
idempotentId: '请输入幂等id',
sceneName: '请输入场景名称',
bizNo: '请输入业务编号',
UniqueId: '请输入UniqueId'
bizNo: '请输入业务编号'
},
addRetryLog: '新增重试日志',
editRetryLog: '编辑重试日志'
addRetryTask: '新增重试任务',
editRetryTask: '编辑重试任务'
},
workflow: {
title: '工作流列表',

View File

@ -114,6 +114,9 @@ declare namespace Api {
* 13 14
*/
type OperationReason = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14;
/** 1、任务执行超时 2、无客户端节点 3、JOB已关闭 4、任务丢弃 5、任务被覆盖 6、无可执行任务项 7、任务执行期间发生非预期异常 8、手动停止 8、当前重试非运行中 9、当前场景已关闭 10、重试失败 */
type RetryOperationReason = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
}
/**

37
src/typings/app.d.ts vendored
View File

@ -501,6 +501,25 @@ declare namespace App {
workflowDecisionFailed: string;
};
};
retryOperationReason: {
label: string;
form: string;
items: {
none: string;
taskExecutionTimeout: string;
notClient: string;
closed: string;
discard: string;
overlay: string;
notExecutionTask: string;
taskExecutionError: string;
mannerStop: string;
noRunningRetry: string;
sceneClosed: string;
retryFail: string;
clientTriggerRetryStop: string;
};
};
updateDt: string;
createDt: string;
today: string;
@ -860,10 +879,9 @@ declare namespace App {
createDt: string;
};
};
retryTask: {
retry: {
title: string;
detail: string;
uniqueId: string;
groupName: string;
sceneName: string;
idempotentId: string;
@ -897,9 +915,9 @@ declare namespace App {
callback: string;
};
generateIdempotentId: string;
addRetryTask: string;
editRetryTask: string;
batchAddRetryTask: string;
addRetry: string;
editRetry: string;
batchAddRetry: string;
};
retryScene: {
title: string;
@ -949,10 +967,9 @@ declare namespace App {
random: string;
};
};
retryLog: {
retryTask: {
title: string;
detail: string;
UniqueId: string;
groupName: string;
sceneName: string;
retryStatus: string;
@ -960,15 +977,15 @@ declare namespace App {
idempotentId: string;
bizNo: string;
createDt: string;
operationReason: string;
form: {
groupName: string;
idempotentId: string;
sceneName: string;
bizNo: string;
UniqueId: string;
};
addRetryLog: string;
editRetryLog: string;
addRetryTask: string;
editRetryTask: string;
};
workflow: {
title: string;

View File

@ -33,7 +33,7 @@ const title = computed(() => {
}
if (type.value === 'retry') {
return `${$t('common.systemTaskType.retry') + $t('page.log.title')} ------ ${$t('page.retryLog.groupName')}: ${groupName}, ${$t('page.retryLog.UniqueId')}: ${uniqueId}`;
return `${$t('common.systemTaskType.retry') + $t('page.log.title')} ------ ${$t('page.retryTask.groupName')}: ${groupName}, ${$t('page.retryTask.title')}: ${uniqueId}`;
}
return $t('page.log.title');

View File

@ -51,6 +51,7 @@ const { columns, columnChecks, data, getData, loading, mobilePagination, searchP
title: $t('common.index'),
align: 'center',
width: 128,
fixed: 'left',
render: row => {
async function showDetailDrawer() {
await loadRetryInfo(row);
@ -66,36 +67,36 @@ const { columns, columnChecks, data, getData, loading, mobilePagination, searchP
},
{
key: 'groupName',
title: $t('page.retryTask.groupName'),
align: 'left',
title: $t('page.retry.groupName'),
align: 'center',
resizable: true,
minWidth: 120,
maxWidth: 250
},
{
key: 'sceneName',
title: $t('page.retryTask.sceneName'),
align: 'left',
title: $t('page.retry.sceneName'),
align: 'center',
minWidth: 120
},
{
key: 'nextTriggerAt',
title: $t('page.retryTask.nextTriggerAt'),
align: 'left',
title: $t('page.retry.nextTriggerAt'),
align: 'center',
resizable: true,
minWidth: 120,
minWidth: 80,
maxWidth: 150
},
{
key: 'retryCount',
title: $t('page.retryTask.retryCount'),
title: $t('page.retry.retryCount'),
align: 'center',
width: 80
},
{
key: 'retryStatus',
title: $t('page.retryTask.retryStatus'),
align: 'left',
title: $t('page.retry.retryStatus'),
align: 'center',
width: 120,
render: row => {
if (row.retryStatus === null) {
@ -108,8 +109,8 @@ const { columns, columnChecks, data, getData, loading, mobilePagination, searchP
},
{
key: 'taskType',
title: $t('page.retryTask.taskType'),
align: 'left',
title: $t('page.retry.taskType'),
align: 'center',
width: 100,
render: row => {
if (row.taskType === null) {
@ -126,16 +127,15 @@ const { columns, columnChecks, data, getData, loading, mobilePagination, searchP
},
{
key: 'idempotentId',
title: $t('page.retryTask.idempotentId'),
align: 'left',
title: $t('page.retry.idempotentId'),
align: 'center',
resizable: true,
minWidth: 150,
maxWidth: 300
minWidth: 120
},
{
key: 'bizNo',
title: $t('page.retryTask.bizNo'),
align: 'left',
title: $t('page.retry.bizNo'),
align: 'center',
resizable: true,
minWidth: 150,
maxWidth: 300
@ -317,7 +317,7 @@ onMounted(async () => {
<div class="min-h-500px flex-col-stretch gap-16px overflow-hidden lt-sm:overflow-auto">
<RetryTaskSearch v-model:model="searchParams" @reset="resetSearchParams" @search="getData" />
<NCard
:title="$t('page.retryTask.title')"
:title="$t('page.retry.title')"
:bordered="false"
size="small"
class="sm:flex-1-hidden card-wrapper"

View File

@ -69,7 +69,7 @@ watch(visible, () => {
</script>
<template>
<OperateDrawer v-model="visible" :title="$t('page.retryTask.batchAddRetryTask')" @handle-submit="handleSubmit">
<OperateDrawer v-model="visible" :title="$t('page.retryTask.batchAddRetry')" @handle-submit="handleSubmit">
<NForm ref="formRef" :model="model" :rules="rules">
<NFormItem :label="$t('page.retryTask.groupName')" path="groupName">
<SelectGroup v-model:value="model.groupName" />

View File

@ -20,36 +20,36 @@ const visible = defineModel<boolean>('visible', {
</script>
<template>
<OperateDrawer v-model="visible" :title="$t('page.retryTask.detail')">
<OperateDrawer v-model="visible" :title="$t('page.retry.detail')">
<NDescriptions label-placement="top" bordered :column="2">
<NDescriptionsItem :label="$t('page.retryTask.groupName')" :span="2">
<NDescriptionsItem :label="$t('page.retry.groupName')" :span="2">
{{ rowData?.groupName }}
</NDescriptionsItem>
<NDescriptionsItem :label="$t('page.retryTask.sceneName')" :span="2">
<NDescriptionsItem :label="$t('page.retry.sceneName')" :span="2">
{{ rowData?.sceneName }}
</NDescriptionsItem>
<NDescriptionsItem :label="$t('page.retryTask.nextTriggerAt')" :span="1">
<NDescriptionsItem :label="$t('page.retry.nextTriggerAt')" :span="1">
{{ rowData?.nextTriggerAt }}
</NDescriptionsItem>
<NDescriptionsItem :label="$t('page.retryTask.retryCount')" :span="1">
<NDescriptionsItem :label="$t('page.retry.retryCount')" :span="1">
{{ rowData?.retryCount }}
</NDescriptionsItem>
<NDescriptionsItem :label="$t('page.retryTask.retryStatus')" :span="1">
<NDescriptionsItem :label="$t('page.retry.retryStatus')" :span="1">
<NTag :type="tagColor(rowData?.retryStatus!)">
{{ $t(retryStatusTypeRecord[rowData?.retryStatus!]) }}
</NTag>
</NDescriptionsItem>
<NDescriptionsItem :label="$t('page.retryTask.taskType')" :span="1">
<NDescriptionsItem :label="$t('page.retry.taskType')" :span="1">
<NTag :type="tagColor(rowData?.taskType!)">{{ $t(retryTaskTypeRecord[rowData?.taskType!]) }}</NTag>
</NDescriptionsItem>
<NDescriptionsItem :label="$t('page.retryTask.bizNo')" :span="2">{{ rowData?.bizNo }}</NDescriptionsItem>
<NDescriptionsItem :label="$t('page.retryTask.idempotentId')" :span="2">
<NDescriptionsItem :label="$t('page.retry.bizNo')" :span="2">{{ rowData?.bizNo }}</NDescriptionsItem>
<NDescriptionsItem :label="$t('page.retry.idempotentId')" :span="2">
{{ rowData?.idempotentId }}
</NDescriptionsItem>
<NDescriptionsItem :label="$t('page.retryTask.executorName')" :span="2">
<NDescriptionsItem :label="$t('page.retry.executorName')" :span="2">
{{ rowData?.executorName }}
</NDescriptionsItem>
<NDescriptionsItem :label="$t('page.retryTask.argsStr')" :span="2">{{ rowData?.argsStr }}</NDescriptionsItem>
<NDescriptionsItem :label="$t('page.retry.argsStr')" :span="2">{{ rowData?.argsStr }}</NDescriptionsItem>
<NDescriptionsItem :label="$t('common.createDt')" :span="1">{{ rowData?.createDt }}</NDescriptionsItem>
<NDescriptionsItem :label="$t('common.updateDt')" :span="1">{{ rowData?.updateDt }}</NDescriptionsItem>
</NDescriptions>

View File

@ -39,8 +39,8 @@ const { defaultRequiredRule } = useFormRules();
const title = computed(() => {
const titles: Record<NaiveUI.TableOperateType, string> = {
add: $t('page.retryTask.addRetryTask'),
edit: $t('page.retryTask.editRetryTask')
add: $t('page.retry.addRetry'),
edit: $t('page.retry.editRetry')
};
return titles[props.operateType];
});

View File

@ -29,25 +29,22 @@ function search() {
<template>
<SearchForm :model="model" @search="search" @reset="reset">
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retryTask.groupName')" path="groupName" class="pr-24px">
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retry.groupName')" path="groupName" class="pr-24px">
<SelectGroup v-model:value="model.groupName" clearable />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retryTask.sceneName')" path="sceneName" class="pr-24px">
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retry.sceneName')" path="sceneName" class="pr-24px">
<SelectScene v-model:value="model.sceneName" :group-name="model.groupName as string" clearable />
</NFormItemGi>
<!-- <NFormItemGi span="24 s:12 m:6" :label="$t('page.retryTask.uniqueId')" path="uniqueId" class="pr-24px">-->
<!-- <NInput v-model:value="model.uniqueId" :placeholder="$t('page.retryTask.form.uniqueId')" clearable />-->
<!-- </NFormItemGi>-->
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retryTask.idempotentId')" path="idempotentId" class="pr-24px">
<NInput v-model:value="model.idempotentId" :placeholder="$t('page.retryTask.form.idempotentId')" clearable />
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retry.idempotentId')" path="idempotentId" class="pr-24px">
<NInput v-model:value="model.idempotentId" :placeholder="$t('page.retry.form.idempotentId')" clearable />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retryTask.bizNo')" path="bizNo" class="pr-24px">
<NInput v-model:value="model.bizNo" :placeholder="$t('page.retryTask.form.bizNo')" clearable />
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retry.bizNo')" path="bizNo" class="pr-24px">
<NInput v-model:value="model.bizNo" :placeholder="$t('page.retry.form.bizNo')" clearable />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retryTask.retryStatus')" path="retryStatus" class="pr-24px">
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retry.retryStatus')" path="retryStatus" class="pr-24px">
<NSelect
v-model:value="model.retryStatus"
:placeholder="$t('page.retryTask.form.retryStatus')"
:placeholder="$t('page.retry.form.retryStatus')"
:options="translateOptions(retryStatusTypeOptions)"
clearable
/>

View File

@ -6,7 +6,7 @@ import { fetchBatchDeleteRetryLog, fetchDeleteRetryLog, fetchRetryLogById, fetch
import { $t } from '@/locales';
import { useAppStore } from '@/store/modules/app';
import { useTable, useTableOperate } from '@/hooks/common/table';
import { retryTaskStatusTypeRecord, retryTaskTypeRecord } from '@/constants/business';
import { operationReasonRecord, retryTaskStatusTypeRecord, retryTaskTypeRecord } from '@/constants/business';
import { monthRangeISO8601, tagColor } from '@/utils/common';
import RetryLogSearch from './modules/retry-task-search.vue';
import RetryLogDetailDrawer from './modules/retry-task-detail-drawer.vue';
@ -61,19 +61,19 @@ const { columns, columnChecks, data, getData, loading, mobilePagination, searchP
},
{
key: 'groupName',
title: $t('page.retryLog.groupName'),
title: $t('page.retryTask.groupName'),
align: 'left',
minWidth: 120
},
{
key: 'sceneName',
title: $t('page.retryLog.sceneName'),
title: $t('page.retryTask.sceneName'),
align: 'left',
minWidth: 120
},
{
key: 'taskStatus',
title: $t('page.retryLog.retryStatus'),
title: $t('page.retryTask.retryStatus'),
align: 'left',
minWidth: 120,
render: row => {
@ -94,9 +94,23 @@ const { columns, columnChecks, data, getData, loading, mobilePagination, searchP
return <NTag type={tagMap[row.taskStatus!]}>{label}</NTag>;
}
},
{
key: 'operationReason',
title: $t('page.retryTask.operationReason'),
align: 'center',
width: 120,
render: row => {
if (row.operationReason === null) {
return null;
}
const label = $t(operationReasonRecord[row.operationReason!]);
return <NTag type={tagColor(row.operationReason!)}>{label}</NTag>;
}
},
{
key: 'taskType',
title: $t('page.retryLog.taskType'),
title: $t('page.retryTask.taskType'),
align: 'left',
minWidth: 120,
render: row => {
@ -110,7 +124,7 @@ const { columns, columnChecks, data, getData, loading, mobilePagination, searchP
},
{
key: 'createDt',
title: $t('page.retryLog.createDt'),
title: $t('page.retryTask.createDt'),
align: 'left',
minWidth: 120
},
@ -165,7 +179,7 @@ async function loadRetryInfo(row: Api.RetryTask.RetryTask) {
<div class="min-h-500px flex-col-stretch gap-16px overflow-hidden lt-sm:overflow-auto">
<RetryLogSearch v-model:model="searchParams" @reset="resetSearchParams" @search="getData" />
<NCard
:title="$t('page.retryLog.title')"
:title="$t('page.retryTask.title')"
:bordered="false"
size="small"
class="sm:flex-1-hidden card-wrapper"

View File

@ -30,22 +30,22 @@ function search() {
<template>
<SearchForm btn-span="24 xl:3" :model="model" @search="search" @reset="reset">
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retryLog.groupName')" path="groupName" class="pr-24px">
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retryTask.groupName')" path="groupName" class="pr-24px">
<SelectGroup v-model:value="model.groupName" clearable />
</NFormItemGi>
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retryLog.sceneName')" path="sceneName" class="pr-24px">
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retryTask.sceneName')" path="sceneName" class="pr-24px">
<SelectScene v-model:value="model.sceneName" :group-name="model.groupName as string" clearable />
</NFormItemGi>
<!-- <NFormItemGi span="24 s:12 m:6" :label="$t('page.retryLog.UniqueId')" path="UniqueId" class="pr-24px">-->
<!-- <NInput v-model:value="model.uniqueId" :placeholder="$t('page.retryLog.form.UniqueId')" clearable />-->
<!-- <NFormItemGi span="24 s:12 m:6" :label="$t('page.retryTask.UniqueId')" path="UniqueId" class="pr-24px">-->
<!-- <NInput v-model:value="model.uniqueId" :placeholder="$t('page.retryTask.form.UniqueId')" clearable />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" :label="$t('page.retryLog.idempotentId')" path="idempotentId" class="pr-24px">-->
<!-- <NInput v-model:value="model.idempotentId" :placeholder="$t('page.retryLog.form.idempotentId')" clearable />-->
<!-- <NFormItemGi span="24 s:12 m:6" :label="$t('page.retryTask.idempotentId')" path="idempotentId" class="pr-24px">-->
<!-- <NInput v-model:value="model.idempotentId" :placeholder="$t('page.retryTask.form.idempotentId')" clearable />-->
<!-- </NFormItemGi>-->
<!-- <NFormItemGi span="24 s:12 m:6" :label="$t('page.retryLog.bizNo')" path="bizNo" class="pr-24px">-->
<!-- <NInput v-model:value="model.bizNo" :placeholder="$t('page.retryLog.form.bizNo')" clearable />-->
<!-- <NFormItemGi span="24 s:12 m:6" :label="$t('page.retryTask.bizNo')" path="bizNo" class="pr-24px">-->
<!-- <NInput v-model:value="model.bizNo" :placeholder="$t('page.retryTask.form.bizNo')" clearable />-->
<!-- </NFormItemGi>-->
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retryLog.retryStatus')" path="taskBatchStatus" class="pr-24px">
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retryTask.retryStatus')" path="taskBatchStatus" class="pr-24px">
<NSelect
v-model:value="model.taskStatus"
:placeholder="$t('page.retryTask.form.retryStatus')"