diff --git a/core/core-frontend/src/router/mobile.ts b/core/core-frontend/src/router/mobile.ts index 7d2e5981a1..187efe98b7 100644 --- a/core/core-frontend/src/router/mobile.ts +++ b/core/core-frontend/src/router/mobile.ts @@ -38,6 +38,13 @@ export const routes: AppRouteRecordRaw[] = [ meta: {}, component: () => import('@/views/share/link/mobile.vue') }, + { + path: '/pc/de-link/:uuid', + name: 'linkPc', + hidden: true, + meta: {}, + component: () => import('@/views/share/link/index.vue') + }, { path: '/panel/mobile', name: 'mobile', diff --git a/core/core-frontend/src/views/mobile/directory/index.vue b/core/core-frontend/src/views/mobile/directory/index.vue index bb465b1b78..816d4134a1 100644 --- a/core/core-frontend/src/views/mobile/directory/index.vue +++ b/core/core-frontend/src/views/mobile/directory/index.vue @@ -88,6 +88,15 @@ const handleDir = index => { activeDirectName.value = directName.value[directName.value.length - 1] } +const dfsTableData = arr => { + return arr.filter(ele => { + if (!!ele.children?.length) { + ele.children = dfsTableData(ele.children) + } + return ele.extraFlag === 1 || ele.children?.length + }) +} + const getTree = async () => { const request = { busiFlag: 'dashboard' } as BusiTreeRequest await interactiveStore.setInteractive(request) @@ -99,10 +108,10 @@ const getTree = async () => { dvMainStore.resetDvInfo() } if (nodeData.length && nodeData[0]['id'] === '0' && nodeData[0]['name'] === 'root') { - tableData.value = nodeData[0]['children'] || [] + tableData.value = dfsTableData(nodeData[0]['children'] || []) return } - tableData.value = nodeData + tableData.value = dfsTableData(nodeData) } onMounted(() => { diff --git a/core/core-frontend/src/views/mobile/home/index.vue b/core/core-frontend/src/views/mobile/home/index.vue index 87380b07ac..ab641864a7 100644 --- a/core/core-frontend/src/views/mobile/home/index.vue +++ b/core/core-frontend/src/views/mobile/home/index.vue @@ -35,7 +35,7 @@ const loadTableData = () => { shortcutOption .loadData({ type: 'panel', keyword: '', asc: false }) .then(res => { - state.tableData = res.data + state.tableData = (res.data || []).filter(ele => ele.extraFlag === 1) }) .finally(() => { emits('setLoading', false) @@ -63,7 +63,7 @@ const loadShareTableData = () => { data: { type: 'panel', keyword: '', asc: false } }) .then(res => { - state.tableData = res.data + state.tableData = (res.data || []).filter(ele => ele.extraFlag === 1) }) .finally(() => { emits('setLoading', false) diff --git a/core/core-frontend/src/views/share/link/mobile.vue b/core/core-frontend/src/views/share/link/mobile.vue index 7a95efecd1..d039fcbb3b 100644 --- a/core/core-frontend/src/views/share/link/mobile.vue +++ b/core/core-frontend/src/views/share/link/mobile.vue @@ -5,7 +5,7 @@ { state.dvInfo = dvInfo state.curPreviewGap = curPreviewGap dataInitState.value = true + if (!state.dvInfo.mobileLayout) { + const href = window.location.href.replace('/de-link', '/pc/de-link') + window.location.href = href + return + } nextTick(() => { document.title = dvInfo.name dashboardPreview.value.restore()