fix(iot): 修复规则数据回显与 JSON 参数校验
- 修复 HTTP 数据目的编辑 URL 回显时机 - 复用 isEmptyVal 校验 JSON 必填参数,允许 0 和 falsepull/880/head^2
parent
dc1a582fbd
commit
06a008b030
|
|
@ -56,21 +56,28 @@ watch([urlPrefix, urlPath], () => {
|
||||||
config.value.url = fullUrl.value
|
config.value.url = fullUrl.value
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const syncUrlFields = (url?: string) => {
|
||||||
|
if (url?.startsWith('https://')) {
|
||||||
|
urlPrefix.value = 'https://'
|
||||||
|
urlPath.value = url.substring(8)
|
||||||
|
} else if (url?.startsWith('http://')) {
|
||||||
|
urlPrefix.value = 'http://'
|
||||||
|
urlPath.value = url.substring(7)
|
||||||
|
} else {
|
||||||
|
urlPath.value = url ?? ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => config.value?.url,
|
||||||
|
(url) => syncUrlFields(url),
|
||||||
|
{ immediate: true }
|
||||||
|
)
|
||||||
|
|
||||||
/** 组件初始化 */
|
/** 组件初始化 */
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
if (!isEmpty(config.value)) {
|
if (!isEmpty(config.value)) {
|
||||||
// 初始化 URL
|
syncUrlFields(config.value.url)
|
||||||
if (config.value.url) {
|
|
||||||
if (config.value.url.startsWith('https://')) {
|
|
||||||
urlPrefix.value = 'https://'
|
|
||||||
urlPath.value = config.value.url.substring(8)
|
|
||||||
} else if (config.value.url.startsWith('http://')) {
|
|
||||||
urlPrefix.value = 'http://'
|
|
||||||
urlPath.value = config.value.url.substring(7)
|
|
||||||
} else {
|
|
||||||
urlPath.value = config.value.url
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -141,6 +141,7 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useVModel } from '@vueuse/core'
|
import { useVModel } from '@vueuse/core'
|
||||||
import { InfoFilled } from '@element-plus/icons-vue'
|
import { InfoFilled } from '@element-plus/icons-vue'
|
||||||
|
import { isEmptyVal } from '@/utils/is'
|
||||||
import {
|
import {
|
||||||
IoTDataSpecsDataTypeEnum,
|
IoTDataSpecsDataTypeEnum,
|
||||||
JSON_PARAMS_INPUT_CONSTANTS,
|
JSON_PARAMS_INPUT_CONSTANTS,
|
||||||
|
|
@ -329,7 +330,8 @@ const handleParamsChange = () => {
|
||||||
|
|
||||||
// 验证必填参数
|
// 验证必填参数
|
||||||
for (const param of paramsList.value) {
|
for (const param of paramsList.value) {
|
||||||
if (param.required && (!parsed[param.identifier] || parsed[param.identifier] === '')) {
|
const value = parsed[param.identifier]
|
||||||
|
if (param.required && isEmptyVal(value)) {
|
||||||
jsonError.value = JSON_PARAMS_INPUT_CONSTANTS.PARAM_REQUIRED_ERROR(param.name)
|
jsonError.value = JSON_PARAMS_INPUT_CONSTANTS.PARAM_REQUIRED_ERROR(param.name)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue