diff --git a/src/api/data-collect/collector.ts b/src/api/data-collect/collector.ts index 75d9abc7..6c1ed981 100644 --- a/src/api/data-collect/collector.ts +++ b/src/api/data-collect/collector.ts @@ -4,7 +4,7 @@ export const queryCollector = (data: any) => server.post(`/data-collect/collector/_query/no-paging?paging=false`, data); export const queryChannelNoPaging = () => - server.post(`/data-collect/channel/_query/no-paging?paging=false`, {}); + server.post(`/data-collect/channel/_query/no-paging`, { paging: false }); export const save = (data: any) => server.post(`/data-collect/collector`, data); diff --git a/src/views/DataCollect/Collector/Point/Save/SaveModBus.vue b/src/views/DataCollect/Collector/Point/Save/SaveModBus.vue index 2e1e1120..07a0ce3c 100644 --- a/src/views/DataCollect/Collector/Point/Save/SaveModBus.vue +++ b/src/views/DataCollect/Collector/Point/Save/SaveModBus.vue @@ -57,8 +57,18 @@ v-model:value="formData.pointKey" :min="0" :max="255" + :precision="0" /> +

+ PLC地址:{{ + InitAddress[formData.configuration.function] + + formData.pointKey + }} +

@@ -258,6 +269,12 @@ const collectorId = props.data.collectorId; const provider = props.data.provider; const oldPointKey = props.data.pointKey; +const InitAddress = { + Coils: 1, + HoldingRegisters: 40001, + InputRegisters: 30001, +}; + const formData = ref({ name: '', configuration: { @@ -371,9 +388,20 @@ const getProviderList = async () => { value: item.id, label: item.name, })); + + setProviderList(formData.value.configuration.function); }; getProviderList(); +const setProviderList = (value: string | undefined) => { + providerList.value = + value === 'HoldingRegisters' + ? providerListAll.value + : providerListAll.value.filter( + (item: any) => item.value !== 'bool', + ); +}; + watch( () => formData.value.configuration.parameter.quantity, (value) => { @@ -384,14 +412,9 @@ watch( watch( () => formData.value.configuration.function, (value) => { - providerList.value = - value === 'HoldingRegisters' - ? providerListAll.value - : providerListAll.value.filter( - (item: any) => item.value !== 'bool', - ); + setProviderList(value); }, - { deep: true }, + { immediate: true, deep: true }, ); watch( () => props.data, diff --git a/src/views/DataCollect/Collector/Tree/Save/index.vue b/src/views/DataCollect/Collector/Tree/Save/index.vue index b821a575..5142f14d 100644 --- a/src/views/DataCollect/Collector/Tree/Save/index.vue +++ b/src/views/DataCollect/Collector/Tree/Save/index.vue @@ -77,7 +77,7 @@ v-model:value="formData.circuitBreaker.type" :options="[ { label: '降频', value: 'LowerFrequency' }, - { label: '熔断', value: 'Break' }, + { label: '断开', value: 'Break' }, { label: '忽略', value: 'Ignore' }, ]" @change="changeCardSelectType" @@ -203,7 +203,7 @@ const getTypeTooltip = (value: string) => value === 'LowerFrequency' ? '连续20次异常,降低连接频率至原有频率的1/10(重试间隔不超过1分钟),故障处理后自动恢复至设定连接频率' : value === 'Break' - ? '连续10分钟异常,停止采集数据进入熔断状态,设备重新启用后恢复采集状态' + ? '连续10分钟异常,停止采集数据进入断开状态,设备重新启用后恢复采集状态' : '忽略异常,保持原采集频率超时时间为5s'; const handleCancel = () => { diff --git a/src/views/device/components/Metadata/Base/Edit/BaseForm.vue b/src/views/device/components/Metadata/Base/Edit/BaseForm.vue index de2cf923..cf298395 100644 --- a/src/views/device/components/Metadata/Base/Edit/BaseForm.vue +++ b/src/views/device/components/Metadata/Base/Edit/BaseForm.vue @@ -70,6 +70,7 @@ import { EventLevel, ExpandsTypeList } from '@/views/device/data'; import { useMetadataStore } from '@/store/metadata'; import { validateJson } from './validator'; import { Rule } from 'ant-design-vue/es/form'; +import { debounce } from 'lodash'; const props = defineProps({ type: { @@ -98,7 +99,7 @@ if (props.modelType === 'events' || props.modelType === 'tags') { const productStore = useProductStore() const config = ref[]>([]) -const asyncOtherConfig = async () => { +const asyncOtherConfig = debounce(async () => { if (props.type !== 'product') return const { valueType, id } = props.value const { type } = valueType || {} @@ -115,7 +116,7 @@ const asyncOtherConfig = async () => { if (resp.status === 200) { config.value = resp.result } -} +}, 500) onMounted(() => { if (props.modelType === 'properties') { diff --git a/src/views/link/Type/data.ts b/src/views/link/Type/data.ts index 46420ab7..0b54fc9b 100644 --- a/src/views/link/Type/data.ts +++ b/src/views/link/Type/data.ts @@ -113,8 +113,8 @@ export const Validator = { regOnlyNumber: new RegExp(/^\d+$/), }; -const validateAddress = (_rule: any, value: string): Promise => - new Promise(async (resolve, reject) => { +const validateAddress = (_rule: any, value: string): Promise => { + return new Promise(async (resolve, reject) => { if ( Validator.regIpv4.test(value) || Validator.regIPv6.test(value) || @@ -122,9 +122,10 @@ const validateAddress = (_rule: any, value: string): Promise => ) { return resolve(''); } else { - return reject('请输入正确的IP地址或者域名'); + return value ? reject('请输入正确的IP地址或者域名') : resolve(''); } }); +}; export const Rules = { name: [ @@ -176,11 +177,6 @@ export const Rules = { validator: validateAddress, message: '请输入正确的IP地址或者域名', }, - // { - // pattern: - // Validator.regIpv4 || Validator.regIPv6 || Validator.regDomain, - // message: '请输入正确格式的域名或ip', - // }, ], publicPort: [ { diff --git a/src/views/media/Stream/Detail/index.vue b/src/views/media/Stream/Detail/index.vue index ba13c1dd..e5620008 100644 --- a/src/views/media/Stream/Detail/index.vue +++ b/src/views/media/Stream/Detail/index.vue @@ -302,7 +302,7 @@ const validateAddress = (_rule: any, value: string): Promise => ) { return resolve(''); } else { - return reject('请输入正确的IP地址或者域名'); + return value ? reject('请输入正确的IP地址或者域名') : resolve(''); } }); diff --git a/src/views/rule-engine/Scene/Save/action/Notify/variableItem/BuildIn.vue b/src/views/rule-engine/Scene/Save/action/Notify/variableItem/BuildIn.vue index 0b85cc88..87b81d56 100644 --- a/src/views/rule-engine/Scene/Save/action/Notify/variableItem/BuildIn.vue +++ b/src/views/rule-engine/Scene/Save/action/Notify/variableItem/BuildIn.vue @@ -15,10 +15,12 @@ :treeData="builtInList" placeholder="请选择参数" style="width: calc(100% - 120px)" + :fieldNames="{ label: 'name', value: 'id' }" + @change="(val) => itemOnChange(undefined, val)" > -