fix: bug#11205、11211

This commit is contained in:
jackhoo_98 2023-03-30 13:46:46 +08:00
parent d0c53252ec
commit bf4b1d9c13
2 changed files with 58 additions and 16 deletions

View File

@ -122,6 +122,21 @@
" "
/> />
</j-form-item> </j-form-item>
<j-form-item
label="小数保留位数"
:name="['configuration', 'codec', 'configuration', 'scale']"
>
<j-input-number
style="width: 100%"
placeholder="请输入小数保留位数"
:min="0"
:max="255"
:precision="0"
v-model:value="
formData.configuration.codec.configuration.scale
"
/>
</j-form-item>
<j-form-item <j-form-item
v-if="formData.configuration.function" v-if="formData.configuration.function"
label="访问类型" label="访问类型"
@ -293,6 +308,7 @@ const formData = ref({
provider: undefined, provider: undefined,
configuration: { configuration: {
scaleFactor: 1, scaleFactor: 1,
scale: undefined,
}, },
}, },
}, },

View File

@ -169,18 +169,21 @@
<j-ellipsis <j-ellipsis
style="max-width: 150px" style="max-width: 150px"
> >
{{ {{ getParseData(slotProps) }}
getParseData( </j-ellipsis>
slotProps.id, </div>
)[0] <div
}}({{ class="ard-box-content-left-1-title"
getParseData( v-else
slotProps.id, >
)[1] <j-ellipsis
}}) style="max-width: 150px"
>
{{
getReadParseData(slotProps)
}}
</j-ellipsis> </j-ellipsis>
</div> </div>
<span v-else>--</span>
<a <a
v-if=" v-if="
getAccessModes( getAccessModes(
@ -196,7 +199,7 @@
slotProps, slotProps,
).includes('read') ).includes('read')
" "
@click.stop="clickRedo(slotProps)" @click.stop="clickRead(slotProps)"
><AIcon type="RedoOutlined" ><AIcon type="RedoOutlined"
/></a> /></a>
</div> </div>
@ -333,6 +336,7 @@ const accessModesOption = ref();
const _selectedRowKeys = ref<string[]>([]); const _selectedRowKeys = ref<string[]>([]);
const checkAll = ref(false); const checkAll = ref(false);
const spinning = ref(false); const spinning = ref(false);
const ReadIdMap = new Map();
const defaultParams = ref({ const defaultParams = ref({
sorts: [{ name: 'id', order: 'desc' }], sorts: [{ name: 'id', order: 'desc' }],
@ -495,9 +499,14 @@ const clickEdit = async (data: object) => {
visible.writePoint = true; visible.writePoint = true;
current.value = cloneDeep(data); 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) { if (res.status === 200) {
const readData: any = res.result[0];
const _data = ReadIdMap.get(data?.id);
ReadIdMap.set(data?.id, { ..._data, ...readData });
cancelSelect(); cancelSelect();
tableRef.value?.reload(); tableRef.value?.reload();
onlyMessage('操作成功', 'success'); onlyMessage('操作成功', 'success');
@ -526,14 +535,24 @@ const getInterval = (item: Partial<Record<string, any>>) => {
const { interval } = item.configuration || ''; const { interval } = item.configuration || '';
return !!interval ? '采集频率' + interval + 'ms' : ''; return !!interval ? '采集频率' + interval + 'ms' : '';
}; };
const getAccessModes = (item: Partial<Record<string, any>>) => { const getAccessModes = (item: Partial<Record<string, any>>) => {
return item?.accessModes?.map((i: any) => i?.value); return item?.accessModes?.map((i: any) => i?.value);
}; };
const getParseData = (id: string) => { const getParseData = (item: any) => {
const { parseData, dataType } = propertyValue.value.get(id); const { parseData, dataType } = propertyValue.value.get(item.id);
const data = isNumber(parseData) ? parseData || 0 : parseData; 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) => { const saveChange = (value: object) => {
@ -618,6 +637,13 @@ watch(
(value) => { (value) => {
if (value.length !== 0) { if (value.length !== 0) {
subscribeProperty(value); subscribeProperty(value);
value.forEach((item: any) => {
item?.accessModes?.forEach((i: any) => {
if (i?.value === 'read') {
ReadIdMap.set(item.id, item);
}
});
});
} }
cancelSelect(); cancelSelect();
checkAll.value = false; checkAll.value = false;