feat(sj_1.0.0_beta4): 重试任务列表搜索, 默认选中第一个组

This commit is contained in:
dhb52 2024-06-04 22:56:38 +08:00
parent 406b27670a
commit 76f8f95ddd
2 changed files with 15 additions and 42 deletions

View File

@ -1,10 +1,11 @@
<script setup lang="tsx"> <script setup lang="tsx">
import { NButton, NPopconfirm, NTag } from 'naive-ui'; import { NButton, NPopconfirm, NTag } from 'naive-ui';
import { useBoolean } from '@sa/hooks'; import { useBoolean } from '@sa/hooks';
import { ref } from 'vue'; import { onMounted, ref } from 'vue';
import { import {
fetchBatchDeleteRetryTask, fetchBatchDeleteRetryTask,
fetchExecuteRetryTask, fetchExecuteRetryTask,
fetchGetAllGroupNameList,
fetchGetRetryTaskById, fetchGetRetryTaskById,
fetchGetRetryTaskList, fetchGetRetryTaskList,
fetchUpdateRetryTaskStatus fetchUpdateRetryTaskStatus
@ -297,6 +298,14 @@ async function updateRetryTaskStatus(id: number, groupName: string, retryStatus:
window.$message?.success($t('common.updateSuccess')); window.$message?.success($t('common.updateSuccess'));
getData(); getData();
} }
onMounted(async () => {
const { error, data: groupList } = await fetchGetAllGroupNameList();
if (!error && groupList.length > 0) {
searchParams.groupName = groupList[0];
getData();
}
});
</script> </script>
<template> <template>

View File

@ -1,9 +1,9 @@
<script setup lang="ts"> <script setup lang="ts">
import { onMounted, ref } from 'vue';
import { $t } from '@/locales'; import { $t } from '@/locales';
import { translateOptions, translateOptions2 } from '@/utils/common'; import { translateOptions } from '@/utils/common';
import { retryTaskStatusTypeOptions } from '@/constants/business'; import { retryTaskStatusTypeOptions } from '@/constants/business';
import { fetchGetAllGroupNameList, fetchGetRetrySceneList } from '@/service/api'; import SelectGroup from '@/components/common/select-group.vue';
import SelectScene from '@/components/common/select-scene.vue';
defineOptions({ defineOptions({
name: 'RetryTaskSearch' name: 'RetryTaskSearch'
@ -18,11 +18,6 @@ const emit = defineEmits<Emits>();
const model = defineModel<Api.RetryTask.RetryTaskSearchParams>('model', { required: true }); const model = defineModel<Api.RetryTask.RetryTaskSearchParams>('model', { required: true });
/** 组列表 */
const groupNameList = ref<string[]>([]);
/** 场景列表 */
const sceneNameList = ref<string[]>([]);
function reset() { function reset() {
emit('reset'); emit('reset');
} }
@ -30,46 +25,15 @@ function reset() {
function search() { function search() {
emit('search'); emit('search');
} }
async function getGroupNameList() {
const res = await fetchGetAllGroupNameList();
groupNameList.value = res.data as string[];
}
async function handleGroupNameUpdate(groupName: string) {
if (groupName) {
const res = await fetchGetRetrySceneList({ groupName });
sceneNameList.value = res.data!.map((scene: Api.RetryScene.Scene) => scene.sceneName);
} else {
model.value.sceneName = '';
sceneNameList.value = [];
}
}
onMounted(() => {
getGroupNameList();
});
</script> </script>
<template> <template>
<SearchForm :model="model" @search="search" @reset="reset"> <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.retryTask.groupName')" path="groupName" class="pr-24px">
<NSelect <SelectGroup v-model:value="model.groupName" />
v-model:value="model.groupName"
:placeholder="$t('page.retryTask.form.groupName')"
:options="translateOptions2(groupNameList)"
clearable
filterable
@update:value="handleGroupNameUpdate"
/>
</NFormItemGi> </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.retryTask.sceneName')" path="sceneName" class="pr-24px">
<NSelect <SelectScene v-model:value="model.sceneName" :group-name="model.groupName as string" />
v-model:value="model.sceneName"
:placeholder="$t('page.retryTask.form.sceneName')"
:options="translateOptions2(sceneNameList)"
clearable
/>
</NFormItemGi> </NFormItemGi>
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retryTask.uniqueId')" path="uniqueId" class="pr-24px"> <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')" /> <NInput v-model:value="model.uniqueId" :placeholder="$t('page.retryTask.form.uniqueId')" />