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()