From be7b1bd283a22268299c8bfe04880af570cb951b Mon Sep 17 00:00:00 2001 From: XieYongHong <18010623010@163.com> Date: Sat, 15 Jul 2023 22:52:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DTSL=E4=B8=8D=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E8=99=9A=E6=8B=9F=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/components/Metadata/Cat/index.vue | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/views/device/components/Metadata/Cat/index.vue b/src/views/device/components/Metadata/Cat/index.vue index 3f390e7c..8c53ea85 100644 --- a/src/views/device/components/Metadata/Cat/index.vue +++ b/src/views/device/components/Metadata/Cat/index.vue @@ -18,7 +18,7 @@
- +
@@ -33,6 +33,8 @@ import type { Key } from 'ant-design-vue/es/_util/type'; import { convertMetadata, getCodecs, detail as productDetail } from '@/api/device/product'; import { detail } from '@/api/device/instance' import { onlyMessage } from '@/utils/comm'; +import {cloneDeep} from "lodash"; +import {omit} from "lodash-es"; interface Props { visible: boolean; @@ -70,6 +72,8 @@ const metadata = computed(() => { }) // const metadata = metadataMap[props.type]; const value = ref(metadata.value) +const monacoValue = ref() + const handleExport = async () => { try { downloadObject( @@ -97,6 +101,7 @@ const handleConvertMetadata = (key: Key) => { } } else { value.value = metadata.value; + hideVirtualRule(metadata.value) } }; @@ -113,6 +118,7 @@ const routeChange = async (id: string) => { instanceStore.setCurrent(resp.result); const _metadata = resp.result?.metadata; value.value = _metadata; + hideVirtualRule(_metadata) } }); } @@ -124,6 +130,19 @@ const routeChange = async (id: string) => { // { immediate: true } // ) +const hideVirtualRule = (metadata: string) => { + const _metadata = JSON.parse(metadata) + if (_metadata.properties) { + _metadata.properties = _metadata.properties.map((item: any) => { + if (item.expands.virtualRule) { + item.expands = cloneDeep(omit(item.expands, ['virtualRule'])) + } + return item + }) + } + monacoValue.value = JSON.stringify(_metadata) +} + onMounted(() => { routeChange(route.params.id as string) }) @@ -151,6 +170,10 @@ watch( }, { immediate: true } ) + +watch(() => metadata.value, () => { + hideVirtualRule(metadata.value) +}, { immediate: true})