feat(sj_1.0.0): 完成场景接入
This commit is contained in:
parent
7e973cede9
commit
4643f0ab12
@ -668,7 +668,8 @@ const local: App.I18n.Schema = {
|
||||
sceneStatus: 'Please enter State',
|
||||
deadlineRequest: 'Please enter Call chain timeout',
|
||||
routeKey: 'Please enter Routing strategy',
|
||||
backOff: 'Please enter Backoff strategy'
|
||||
backOff: 'Please enter Backoff strategy',
|
||||
sceneName2: '场景名称: 仅支持长度为:1~64位字符.格式为:数字、字母、下划线。'
|
||||
},
|
||||
addScene: 'Add Scenes',
|
||||
editScene: 'Add Scenes',
|
||||
|
@ -664,7 +664,8 @@ const local: App.I18n.Schema = {
|
||||
sceneStatus: '请输入状态',
|
||||
deadlineRequest: '请输入调用链超时时间',
|
||||
routeKey: '请输入路由策略',
|
||||
backOff: '请输入退避策略'
|
||||
backOff: '请输入退避策略',
|
||||
sceneName2: '场景名称: 仅支持长度为:1~64位字符.格式为:数字、字母、下划线。'
|
||||
},
|
||||
addScene: '新增场景',
|
||||
editScene: '编辑场景',
|
||||
|
1
src/typings/app.d.ts
vendored
1
src/typings/app.d.ts
vendored
@ -837,6 +837,7 @@ declare namespace App {
|
||||
deadlineRequest: string;
|
||||
routeKey: string;
|
||||
backOff: string;
|
||||
sceneName2: string;
|
||||
};
|
||||
addScene: string;
|
||||
editScene: string;
|
||||
|
@ -150,18 +150,10 @@ const {
|
||||
handleAdd,
|
||||
handleEdit,
|
||||
checkedRowKeys,
|
||||
onBatchDeleted,
|
||||
onDeleted
|
||||
// closeDrawer
|
||||
} = useTableOperate(data, getData);
|
||||
|
||||
async function handleBatchDelete() {
|
||||
// request
|
||||
console.log(checkedRowKeys.value);
|
||||
|
||||
onBatchDeleted();
|
||||
}
|
||||
|
||||
function handleDelete(id: string) {
|
||||
// request
|
||||
console.log(id);
|
||||
@ -189,8 +181,8 @@ function edit(id: string) {
|
||||
v-model:columns="columnChecks"
|
||||
:disabled-delete="checkedRowKeys.length === 0"
|
||||
:loading="loading"
|
||||
:show-delete="false"
|
||||
@add="handleAdd"
|
||||
@delete="handleBatchDelete"
|
||||
@refresh="getData"
|
||||
/>
|
||||
</template>
|
||||
|
@ -102,17 +102,25 @@ type RuleKey = Extract<
|
||||
| 'routeKey'
|
||||
>;
|
||||
|
||||
const rules: Record<RuleKey, App.Global.FormRule> = {
|
||||
groupName: defaultRequiredRule,
|
||||
sceneName: defaultRequiredRule,
|
||||
sceneStatus: defaultRequiredRule,
|
||||
backOff: defaultRequiredRule,
|
||||
maxRetryCount: defaultRequiredRule,
|
||||
triggerInterval: defaultRequiredRule,
|
||||
deadlineRequest: defaultRequiredRule,
|
||||
executorTimeout: defaultRequiredRule,
|
||||
routeKey: defaultRequiredRule
|
||||
};
|
||||
const rules = {
|
||||
groupName: [defaultRequiredRule],
|
||||
sceneName: [
|
||||
defaultRequiredRule,
|
||||
{
|
||||
required: true,
|
||||
pattern: /^[A-Za-z0-9_]{1,64}$/,
|
||||
trigger: 'change',
|
||||
message: $t('page.retryScene.form.sceneName2')
|
||||
}
|
||||
],
|
||||
sceneStatus: [defaultRequiredRule],
|
||||
backOff: [defaultRequiredRule],
|
||||
maxRetryCount: [defaultRequiredRule],
|
||||
triggerInterval: [defaultRequiredRule],
|
||||
deadlineRequest: [defaultRequiredRule],
|
||||
executorTimeout: [defaultRequiredRule],
|
||||
routeKey: [defaultRequiredRule]
|
||||
} satisfies Record<RuleKey, App.Global.FormRule[]>;
|
||||
|
||||
function handleUpdateModelWhenEdit() {
|
||||
if (props.operateType === 'add') {
|
||||
@ -204,7 +212,13 @@ watch(visible, () => {
|
||||
<OperateDrawer v-model="visible" :title="title" @handle-submit="handleSubmit">
|
||||
<NForm ref="formRef" :model="model" :rules="rules">
|
||||
<NFormItem :label="$t('page.retryScene.sceneName')" path="sceneName">
|
||||
<NInput v-model:value="model.sceneName" :placeholder="$t('page.retryScene.form.sceneName')" />
|
||||
<NInput
|
||||
v-model:value="model.sceneName"
|
||||
:disabled="props.operateType === 'edit'"
|
||||
:maxlength="64"
|
||||
show-count
|
||||
:placeholder="$t('page.retryScene.form.sceneName')"
|
||||
/>
|
||||
</NFormItem>
|
||||
<NFormItem :label="$t('page.retryScene.sceneStatus')" path="sceneStatus">
|
||||
<NRadioGroup v-model:value="model.sceneStatus" name="sceneStatus">
|
||||
@ -221,6 +235,7 @@ watch(visible, () => {
|
||||
<NFormItem :label="$t('page.retryScene.groupName')" path="groupName">
|
||||
<NSelect
|
||||
v-model:value="model.groupName"
|
||||
:disabled="props.operateType === 'edit'"
|
||||
:placeholder="$t('page.retryScene.form.groupName')"
|
||||
:options="translateOptions2(groupNameList)"
|
||||
clearable
|
||||
@ -247,6 +262,7 @@ watch(visible, () => {
|
||||
v-if="model.backOff === 2 || model.backOff === 4"
|
||||
v-model:value="model.triggerInterval as any"
|
||||
:placeholder="$t('page.retryScene.form.triggerInterval')"
|
||||
clearable
|
||||
/>
|
||||
|
||||
<CronInput v-if="model.backOff === 3" v-model:value="model.triggerInterval as any" :lang="app.locale" />
|
||||
@ -257,6 +273,7 @@ watch(visible, () => {
|
||||
:min="1"
|
||||
:max="model.backOff === 1 ? 26 : 9999999"
|
||||
:placeholder="$t('page.retryScene.form.maxRetryCount')"
|
||||
clearable
|
||||
/>
|
||||
</NFormItem>
|
||||
<NFormItem :label="$t('page.retryScene.executorTimeout')" path="executorTimeout">
|
||||
@ -265,6 +282,7 @@ watch(visible, () => {
|
||||
:min="1"
|
||||
:max="3600"
|
||||
:placeholder="$t('page.retryScene.form.executorTimeout')"
|
||||
clearable
|
||||
/>
|
||||
</NFormItem>
|
||||
<NFormItem :label="$t('page.retryScene.deadlineRequest')" path="deadlineRequest">
|
||||
@ -273,13 +291,17 @@ watch(visible, () => {
|
||||
:min="100"
|
||||
:max="60000"
|
||||
:placeholder="$t('page.retryScene.form.deadlineRequest')"
|
||||
clearable
|
||||
/>
|
||||
</NFormItem>
|
||||
<NFormItem :label="$t('page.retryScene.description')" path="description">
|
||||
<NInput
|
||||
v-model:value="model.description"
|
||||
type="textarea"
|
||||
:maxlength="256"
|
||||
:placeholder="$t('page.retryScene.form.description')"
|
||||
show-count
|
||||
clearable
|
||||
/>
|
||||
</NFormItem>
|
||||
</NForm>
|
||||
|
@ -1,5 +1,8 @@
|
||||
<script setup lang="ts">
|
||||
import { onMounted, ref } from 'vue';
|
||||
import { $t } from '@/locales';
|
||||
import { fetchGetAllGroupNameList, fetchGetRetrySceneList } from '@/service/api';
|
||||
import { translateOptions2 } from '@/utils/common';
|
||||
|
||||
defineOptions({
|
||||
name: 'SceneSearch'
|
||||
@ -14,6 +17,16 @@ const emit = defineEmits<Emits>();
|
||||
|
||||
const model = defineModel<Api.RetryScene.SceneSearchParams>('model', { required: true });
|
||||
|
||||
/** 组列表 */
|
||||
const groupNameList = ref<string[]>([]);
|
||||
/** 场景列表 */
|
||||
const sceneNameList = ref<string[]>([]);
|
||||
|
||||
async function getGroupNameList() {
|
||||
const res = await fetchGetAllGroupNameList();
|
||||
groupNameList.value = res.data as string[];
|
||||
}
|
||||
|
||||
function reset() {
|
||||
emit('reset');
|
||||
}
|
||||
@ -21,18 +34,41 @@ function reset() {
|
||||
function search() {
|
||||
emit('search');
|
||||
}
|
||||
|
||||
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>
|
||||
|
||||
<template>
|
||||
<SearchForm :model="model" @search="search" @reset="reset">
|
||||
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retryScene.groupName')" path="userName" class="pr-24px">
|
||||
<NInput v-model:value="model.groupName" :placeholder="$t('page.retryScene.form.groupName')" />
|
||||
<NSelect
|
||||
v-model:value="model.groupName"
|
||||
:placeholder="$t('page.retryScene.form.groupName')"
|
||||
:options="translateOptions2(groupNameList)"
|
||||
clearable
|
||||
filterable
|
||||
@update:value="handleGroupNameUpdate"
|
||||
/>
|
||||
</NFormItemGi>
|
||||
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retryScene.sceneName')" path="userName" class="pr-24px">
|
||||
<NInput v-model:value="model.sceneName" :placeholder="$t('page.retryScene.form.sceneName')" />
|
||||
</NFormItemGi>
|
||||
<NFormItemGi span="24 s:12 m:6" :label="$t('page.retryScene.sceneStatus')" path="userName" class="pr-24px">
|
||||
<!-- <NInput v-model:value="model.sceneStatus" :placeholder="$t('page.scene.scene.form.sceneStatus')" />-->
|
||||
<NSelect
|
||||
v-model:value="model.sceneName"
|
||||
:placeholder="$t('page.retryScene.form.sceneName')"
|
||||
:options="translateOptions2(sceneNameList)"
|
||||
clearable
|
||||
/>
|
||||
</NFormItemGi>
|
||||
</SearchForm>
|
||||
</template>
|
||||
|
Loading…
Reference in New Issue
Block a user