feat: 添加监听器请求地址非空校验
parent
35a0e69cd4
commit
5fa2a78e84
|
@ -436,155 +436,161 @@
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="监听器" name="listener">
|
<el-tab-pane label="监听器" name="listener">
|
||||||
<div v-for="(listener, listenerIdx) in taskListener" :key="listenerIdx">
|
<el-form :model="configForm" label-position="top">
|
||||||
<el-form label-position="top">
|
<div v-for="(listener, listenerIdx) in taskListener" :key="listenerIdx">
|
||||||
<div>
|
<el-divider content-position="left">
|
||||||
<el-divider content-position="left">
|
<el-text tag="b" size="large">{{ listener.name }}</el-text>
|
||||||
<el-text tag="b" size="large">{{ listener.name }}</el-text>
|
</el-divider>
|
||||||
</el-divider>
|
<el-form-item>
|
||||||
|
<el-switch
|
||||||
|
v-model="configForm[`task${listener.type}ListenerEnable`]"
|
||||||
|
active-text="开启"
|
||||||
|
inactive-text="关闭"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<div v-if="configForm[`task${listener.type}ListenerEnable`]">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-switch
|
<el-alert
|
||||||
v-model="configForm[`task${listener.type}ListenerEnable`]"
|
title="仅支持 POST 请求,以请求体方式接收参数"
|
||||||
active-text="开启"
|
type="warning"
|
||||||
inactive-text="关闭"
|
show-icon
|
||||||
|
:closable="false"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<div v-if="configForm[`task${listener.type}ListenerEnable`]">
|
<el-form-item
|
||||||
<el-form-item>
|
label="请求地址"
|
||||||
<el-alert
|
:prop="`task${listener.type}ListenerPath`"
|
||||||
title="仅支持 POST 请求,以请求体方式接收参数"
|
:rules="{
|
||||||
type="warning"
|
required: true,
|
||||||
show-icon
|
message: '请求地址不能为空',
|
||||||
:closable="false"
|
trigger: 'blur'
|
||||||
/>
|
}"
|
||||||
</el-form-item>
|
>
|
||||||
<el-form-item label="请求地址">
|
<el-input v-model="configForm[`task${listener.type}ListenerPath`]" />
|
||||||
<el-input v-model="configForm[`task${listener.type}ListenerPath`]" />
|
</el-form-item>
|
||||||
</el-form-item>
|
<el-form-item label="请求头">
|
||||||
<el-form-item label="请求头">
|
<div
|
||||||
<div
|
class="flex pt-2"
|
||||||
class="flex pt-2"
|
v-for="(item, index) in configForm[`task${listener.type}ListenerHeader`]"
|
||||||
v-for="(item, index) in configForm[`task${listener.type}ListenerHeader`]"
|
:key="index"
|
||||||
:key="index"
|
>
|
||||||
>
|
<div class="mr-2">
|
||||||
<div class="mr-2">
|
<el-input class="w-160px" v-model="item.key" />
|
||||||
<el-input class="w-160px" v-model="item.key" />
|
|
||||||
</div>
|
|
||||||
<div class="mr-2">
|
|
||||||
<el-select class="w-100px!" v-model="item.type">
|
|
||||||
<el-option
|
|
||||||
v-for="types in LISTENER_MAP_TYPES"
|
|
||||||
:key="types.value"
|
|
||||||
:label="types.label"
|
|
||||||
:value="types.value"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</div>
|
|
||||||
<div class="mr-2">
|
|
||||||
<el-input
|
|
||||||
v-if="item.type === ListenerParamTypeEnum.FIXED_VALUE"
|
|
||||||
class="w-160px"
|
|
||||||
v-model="item.value"
|
|
||||||
/>
|
|
||||||
<el-select
|
|
||||||
v-if="item.type === ListenerParamTypeEnum.FROM_FORM"
|
|
||||||
class="w-160px!"
|
|
||||||
v-model="item.value"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="(field, fIdx) in formFieldOptions"
|
|
||||||
:key="fIdx"
|
|
||||||
:label="field.title"
|
|
||||||
:value="field.field"
|
|
||||||
:disabled="!field.required"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</div>
|
|
||||||
<div class="mr-1 flex items-center">
|
|
||||||
<Icon
|
|
||||||
icon="ep:delete"
|
|
||||||
:size="18"
|
|
||||||
@click="
|
|
||||||
deleteTaskListenerParam(
|
|
||||||
configForm[`task${listener.type}ListenerHeader`],
|
|
||||||
index
|
|
||||||
)
|
|
||||||
"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<el-button
|
<div class="mr-2">
|
||||||
type="primary"
|
<el-select class="w-100px!" v-model="item.type">
|
||||||
text
|
<el-option
|
||||||
@click="addTaskListenerParam(configForm[`task${listener.type}ListenerHeader`])"
|
v-for="types in LISTENER_MAP_TYPES"
|
||||||
>
|
:key="types.value"
|
||||||
<Icon icon="ep:plus" class="mr-5px" />添加一行
|
:label="types.label"
|
||||||
</el-button>
|
:value="types.value"
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="请求体">
|
|
||||||
<div
|
|
||||||
class="flex pt-2"
|
|
||||||
v-for="(item, index) in configForm[`task${listener.type}ListenerBody`]"
|
|
||||||
:key="index"
|
|
||||||
>
|
|
||||||
<div class="mr-2">
|
|
||||||
<el-input class="w-160px" v-model="item.key" />
|
|
||||||
</div>
|
|
||||||
<div class="mr-2">
|
|
||||||
<el-select class="w-100px!" v-model="item.type">
|
|
||||||
<el-option
|
|
||||||
v-for="types in LISTENER_MAP_TYPES"
|
|
||||||
:key="types.value"
|
|
||||||
:label="types.label"
|
|
||||||
:value="types.value"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</div>
|
|
||||||
<div class="mr-2">
|
|
||||||
<el-input
|
|
||||||
v-if="item.type === ListenerParamTypeEnum.FIXED_VALUE"
|
|
||||||
class="w-160px"
|
|
||||||
v-model="item.value"
|
|
||||||
/>
|
/>
|
||||||
<el-select
|
</el-select>
|
||||||
v-if="item.type === ListenerParamTypeEnum.FROM_FORM"
|
|
||||||
class="w-160px!"
|
|
||||||
v-model="item.value"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="(field, fIdx) in formFieldOptions"
|
|
||||||
:key="fIdx"
|
|
||||||
:label="field.title"
|
|
||||||
:value="field.field"
|
|
||||||
:disabled="!field.required"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</div>
|
|
||||||
<div class="mr-1 flex items-center">
|
|
||||||
<Icon
|
|
||||||
icon="ep:delete"
|
|
||||||
:size="18"
|
|
||||||
@click="
|
|
||||||
deleteTaskListenerParam(
|
|
||||||
configForm[`task${listener.type}ListenerBody`],
|
|
||||||
index
|
|
||||||
)
|
|
||||||
"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<el-button
|
<div class="mr-2">
|
||||||
type="primary"
|
<el-input
|
||||||
text
|
v-if="item.type === ListenerParamTypeEnum.FIXED_VALUE"
|
||||||
@click="addTaskListenerParam(configForm[`task${listener.type}ListenerBody`])"
|
class="w-160px"
|
||||||
>
|
v-model="item.value"
|
||||||
<Icon icon="ep:plus" class="mr-5px" />添加一行
|
/>
|
||||||
</el-button>
|
<el-select
|
||||||
</el-form-item>
|
v-if="item.type === ListenerParamTypeEnum.FROM_FORM"
|
||||||
</div>
|
class="w-160px!"
|
||||||
|
v-model="item.value"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="(field, fIdx) in formFieldOptions"
|
||||||
|
:key="fIdx"
|
||||||
|
:label="field.title"
|
||||||
|
:value="field.field"
|
||||||
|
:disabled="!field.required"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</div>
|
||||||
|
<div class="mr-1 flex items-center">
|
||||||
|
<Icon
|
||||||
|
icon="ep:delete"
|
||||||
|
:size="18"
|
||||||
|
@click="
|
||||||
|
deleteTaskListenerParam(
|
||||||
|
configForm[`task${listener.type}ListenerHeader`],
|
||||||
|
index
|
||||||
|
)
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
@click="addTaskListenerParam(configForm[`task${listener.type}ListenerHeader`])"
|
||||||
|
>
|
||||||
|
<Icon icon="ep:plus" class="mr-5px" />添加一行
|
||||||
|
</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="请求体">
|
||||||
|
<div
|
||||||
|
class="flex pt-2"
|
||||||
|
v-for="(item, index) in configForm[`task${listener.type}ListenerBody`]"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
<div class="mr-2">
|
||||||
|
<el-input class="w-160px" v-model="item.key" />
|
||||||
|
</div>
|
||||||
|
<div class="mr-2">
|
||||||
|
<el-select class="w-100px!" v-model="item.type">
|
||||||
|
<el-option
|
||||||
|
v-for="types in LISTENER_MAP_TYPES"
|
||||||
|
:key="types.value"
|
||||||
|
:label="types.label"
|
||||||
|
:value="types.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</div>
|
||||||
|
<div class="mr-2">
|
||||||
|
<el-input
|
||||||
|
v-if="item.type === ListenerParamTypeEnum.FIXED_VALUE"
|
||||||
|
class="w-160px"
|
||||||
|
v-model="item.value"
|
||||||
|
/>
|
||||||
|
<el-select
|
||||||
|
v-if="item.type === ListenerParamTypeEnum.FROM_FORM"
|
||||||
|
class="w-160px!"
|
||||||
|
v-model="item.value"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="(field, fIdx) in formFieldOptions"
|
||||||
|
:key="fIdx"
|
||||||
|
:label="field.title"
|
||||||
|
:value="field.field"
|
||||||
|
:disabled="!field.required"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</div>
|
||||||
|
<div class="mr-1 flex items-center">
|
||||||
|
<Icon
|
||||||
|
icon="ep:delete"
|
||||||
|
:size="18"
|
||||||
|
@click="
|
||||||
|
deleteTaskListenerParam(
|
||||||
|
configForm[`task${listener.type}ListenerBody`],
|
||||||
|
index
|
||||||
|
)
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
text
|
||||||
|
@click="addTaskListenerParam(configForm[`task${listener.type}ListenerBody`])"
|
||||||
|
>
|
||||||
|
<Icon icon="ep:plus" class="mr-5px" />添加一行
|
||||||
|
</el-button>
|
||||||
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
</el-form>
|
</div>
|
||||||
</div>
|
</el-form>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
|
|
Loading…
Reference in New Issue