From bf4b1d9c13962c337792ab280e87021c34acc297 Mon Sep 17 00:00:00 2001 From: jackhoo_98 Date: Thu, 30 Mar 2023 13:46:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20bug#11205=E3=80=8111211?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Collector/Point/Save/SaveModBus.vue | 16 +++++ .../DataCollect/Collector/Point/index.vue | 58 ++++++++++++++----- 2 files changed, 58 insertions(+), 16 deletions(-) diff --git a/src/views/DataCollect/Collector/Point/Save/SaveModBus.vue b/src/views/DataCollect/Collector/Point/Save/SaveModBus.vue index e4f552e8..d4962823 100644 --- a/src/views/DataCollect/Collector/Point/Save/SaveModBus.vue +++ b/src/views/DataCollect/Collector/Point/Save/SaveModBus.vue @@ -122,6 +122,21 @@ " /> + + + - {{ - getParseData( - slotProps.id, - )[0] - }}({{ - getParseData( - slotProps.id, - )[1] - }}) + {{ getParseData(slotProps) }} + + +
+ + {{ + getReadParseData(slotProps) + }}
- -- @@ -333,6 +336,7 @@ const accessModesOption = ref(); const _selectedRowKeys = ref([]); const checkAll = ref(false); const spinning = ref(false); +const ReadIdMap = new Map(); const defaultParams = ref({ sorts: [{ name: 'id', order: 'desc' }], @@ -495,9 +499,14 @@ const clickEdit = async (data: object) => { visible.writePoint = true; current.value = cloneDeep(data); }; -const clickRedo = async (data: any) => { - const res = await readPoint(data?.collectorId, [data?.id]); + +// ReadIdMap +const clickRead = async (data: any) => { + const res: any = await readPoint(data?.collectorId, [data?.id]); if (res.status === 200) { + const readData: any = res.result[0]; + const _data = ReadIdMap.get(data?.id); + ReadIdMap.set(data?.id, { ..._data, ...readData }); cancelSelect(); tableRef.value?.reload(); onlyMessage('操作成功', 'success'); @@ -526,14 +535,24 @@ const getInterval = (item: Partial>) => { const { interval } = item.configuration || ''; return !!interval ? '采集频率' + interval + 'ms' : ''; }; + const getAccessModes = (item: Partial>) => { return item?.accessModes?.map((i: any) => i?.value); }; -const getParseData = (id: string) => { - const { parseData, dataType } = propertyValue.value.get(id); +const getParseData = (item: any) => { + const { parseData, dataType } = propertyValue.value.get(item.id); const data = isNumber(parseData) ? parseData || 0 : parseData; - return [data, dataType]; + const _data = `${data}(${dataType}) `; + return _data; +}; +const getReadParseData = (item: any) => { + let _data = '--'; + if (ReadIdMap.has(item.id)) { + const { parseData, dataType } = ReadIdMap.get(item.id); + _data = !!parseData ? `${parseData}(${dataType || '-'}) ` : '--'; + } + return _data; }; const saveChange = (value: object) => { @@ -618,6 +637,13 @@ watch( (value) => { if (value.length !== 0) { subscribeProperty(value); + value.forEach((item: any) => { + item?.accessModes?.forEach((i: any) => { + if (i?.value === 'read') { + ReadIdMap.set(item.id, item); + } + }); + }); } cancelSelect(); checkAll.value = false;