|
@@ -68,11 +68,12 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="bottom-com">
|
|
<div class="bottom-com">
|
|
- <div v-if="metadata?.navigationTrees?.length > 1" :style="`width:${catalogRootW}px;`" class="root-group-list swiper-container" ref="root-group">
|
|
|
|
|
|
+ <!-- <div v-if="metadata?.navigationTrees?.length > 1" :style="`width:${catalogRootW}px;`" class="root-group-list swiper-container" ref="root-group"> -->
|
|
|
|
+ <div v-if="rootTabShow" :style="`width:${catalogRootW}px;`" class="root-group-list swiper-container" ref="root-group">
|
|
<div class="swiper-wrapper root-group-wrapper">
|
|
<div class="swiper-wrapper root-group-wrapper">
|
|
<template v-for="(item, index) in metadata?.navigationTrees">
|
|
<template v-for="(item, index) in metadata?.navigationTrees">
|
|
<div
|
|
<div
|
|
- v-if="item.children.length"
|
|
|
|
|
|
+ v-if="getCurrentTabScenes(item).length"
|
|
class="swiper-slide root-group-slide"
|
|
class="swiper-slide root-group-slide"
|
|
:class="{
|
|
:class="{
|
|
active: currentRootId == item.id,
|
|
active: currentRootId == item.id,
|
|
@@ -111,7 +112,9 @@ const spanlength = ref(5);
|
|
|
|
|
|
const metadata = computed(() => store.getters["scene/metadata"]);
|
|
const metadata = computed(() => store.getters["scene/metadata"]);
|
|
const scenes = computed(() => store.getters["scene/list"]);
|
|
const scenes = computed(() => store.getters["scene/list"]);
|
|
-const currentScene = computed(() => store.getters["scene/currentScene"]);
|
|
|
|
|
|
+const currentScene = computed(() => {
|
|
|
|
+ return store.getters["scene/currentScene"];
|
|
|
|
+});
|
|
const currentSecondId = computed(() => store.getters["scene/currentSecondId"]);
|
|
const currentSecondId = computed(() => store.getters["scene/currentSecondId"]);
|
|
const currentRootId = computed(() => store.getters["scene/currentRootId"]);
|
|
const currentRootId = computed(() => store.getters["scene/currentRootId"]);
|
|
|
|
|
|
@@ -124,7 +127,9 @@ const secondaryList = computed(() => store.getters["scene/secondaryList"]);
|
|
|
|
|
|
const isShowScenesList = computed(() => store.getters["functions/isShowScenesList"]);
|
|
const isShowScenesList = computed(() => store.getters["functions/isShowScenesList"]);
|
|
|
|
|
|
-const currentScenesList = computed(() => store.getters["scene/currentScenesList"]);
|
|
|
|
|
|
+const currentScenesList = computed(() => {
|
|
|
|
+ return store.getters["scene/currentScenesList"];
|
|
|
|
+});
|
|
|
|
|
|
const show = ref(false);
|
|
const show = ref(false);
|
|
const swidth = ref({
|
|
const swidth = ref({
|
|
@@ -144,7 +149,18 @@ const rootTabIndex = computed(() => {
|
|
}
|
|
}
|
|
return idx;
|
|
return idx;
|
|
});
|
|
});
|
|
-
|
|
|
|
|
|
+const getCurrentTabScenes = (item) => {
|
|
|
|
+ let list = [];
|
|
|
|
+ item.children.forEach((i) => {
|
|
|
|
+ if (i.type != "group") {
|
|
|
|
+ list.push(i);
|
|
|
|
+ } else {
|
|
|
|
+ let res = i.children.filter((t) => t.type != "group");
|
|
|
|
+ list = list.concat(res);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ return list;
|
|
|
|
+};
|
|
const secondTabIndex = computed(() => {
|
|
const secondTabIndex = computed(() => {
|
|
let idx = 0;
|
|
let idx = 0;
|
|
if (metadata.value && metadata.value?.navigationTrees) {
|
|
if (metadata.value && metadata.value?.navigationTrees) {
|
|
@@ -166,8 +182,59 @@ const secondaryW = computed(() => {
|
|
let list = metadata.value?.navigationTrees[rootTabIndex.value].children.filter((item) => item.children.length);
|
|
let list = metadata.value?.navigationTrees[rootTabIndex.value].children.filter((item) => item.children.length);
|
|
return list.length * (swidth.value["swSecondary"] + 10) - 10;
|
|
return list.length * (swidth.value["swSecondary"] + 10) - 10;
|
|
});
|
|
});
|
|
|
|
+const rootTabShow = computed(() => {
|
|
|
|
+ let list = [];
|
|
|
|
+
|
|
|
|
+ metadata.value.navigationTrees.forEach((item) => {
|
|
|
|
+ let show = false;
|
|
|
|
+ item.children.forEach((i) => {
|
|
|
|
+ if (i.type != "group") {
|
|
|
|
+ // list.push(i);
|
|
|
|
+ show = true;
|
|
|
|
+ } else {
|
|
|
|
+ let res = i.children.filter((t) => t.type != "group");
|
|
|
|
+ if (res.length) {
|
|
|
|
+ show = true;
|
|
|
|
+ }
|
|
|
|
+ // list = list.concat(res);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ if (show) {
|
|
|
|
+ list.push(item);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ return list.length > 1 ? true : false;
|
|
|
|
+});
|
|
const catalogRootW = computed(() => {
|
|
const catalogRootW = computed(() => {
|
|
- let list = metadata.value.navigationTrees.filter((item) => item.children.length);
|
|
|
|
|
|
+ let list = [];
|
|
|
|
+
|
|
|
|
+ metadata.value.navigationTrees.forEach((item) => {
|
|
|
|
+ let show = false;
|
|
|
|
+ item.children.forEach((i) => {
|
|
|
|
+ if (i.type != "group") {
|
|
|
|
+ // list.push(i);
|
|
|
|
+ show = true;
|
|
|
|
+ } else {
|
|
|
|
+ let res = i.children.filter((t) => t.type != "group");
|
|
|
|
+ if (res.length) {
|
|
|
|
+ show = true;
|
|
|
|
+ }
|
|
|
|
+ // list = list.concat(res);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ if (show) {
|
|
|
|
+ list.push(item);
|
|
|
|
+ }
|
|
|
|
+ // return list.length * (swidth.value["swcatalogRoot"] + 10);
|
|
|
|
+ });
|
|
|
|
+ // if (i.type != "group") {
|
|
|
|
+ // list.push(i);
|
|
|
|
+ // } else {
|
|
|
|
+ // let res = i.children.filter((t) => t.type != "group");
|
|
|
|
+ // list = list.concat(res);
|
|
|
|
+ // }
|
|
|
|
+ // let list = metadata.value.navigationTrees.filter((item) => item.children.length);
|
|
return list.length * (swidth.value["swcatalogRoot"] + 10);
|
|
return list.length * (swidth.value["swcatalogRoot"] + 10);
|
|
});
|
|
});
|
|
|
|
|
|
@@ -270,13 +337,16 @@ const changeSceneList = () => {
|
|
let currentList = null;
|
|
let currentList = null;
|
|
|
|
|
|
if (metadata.value.navigationTrees[rootTabIndex.value].children.length && metadata.value.navigationTrees[rootTabIndex.value].children[0].type == "group") {
|
|
if (metadata.value.navigationTrees[rootTabIndex.value].children.length && metadata.value.navigationTrees[rootTabIndex.value].children[0].type == "group") {
|
|
- store.commit("scene/setData", { currentSecondId: metadata.value.navigationTrees[rootTabIndex.value].children[0].id });
|
|
|
|
|
|
+ // store.commit("scene/setData", { currentSecondId: metadata.value.navigationTrees[rootTabIndex.value].children[0].id });
|
|
|
|
|
|
//如果有当前视图则选择二级目录
|
|
//如果有当前视图则选择二级目录
|
|
metadata.value.navigationTrees[rootTabIndex.value].children.forEach((item, index) => {
|
|
metadata.value.navigationTrees[rootTabIndex.value].children.forEach((item, index) => {
|
|
if (item.children.length) {
|
|
if (item.children.length) {
|
|
|
|
+
|
|
|
|
+ store.commit("scene/setData", { currentSecondId: item.id });
|
|
item.children.forEach((t_item, t_index) => {
|
|
item.children.forEach((t_item, t_index) => {
|
|
if (t_item.id == currentScene.value.id || (t_item.sid && currentScene.value.sid && t_item.sid == currentScene.value.sid)) {
|
|
if (t_item.id == currentScene.value.id || (t_item.sid && currentScene.value.sid && t_item.sid == currentScene.value.sid)) {
|
|
|
|
+ // store.commit("scene/setData", { currentSecondId: item.id });
|
|
store.commit("scene/setData", { currentSecondId: item.id });
|
|
store.commit("scene/setData", { currentSecondId: item.id });
|
|
}
|
|
}
|
|
});
|
|
});
|
|
@@ -288,7 +358,7 @@ const changeSceneList = () => {
|
|
}
|
|
}
|
|
|
|
|
|
if (secondTabIndex.value == -1) {
|
|
if (secondTabIndex.value == -1) {
|
|
- console.log("没有二级目录");
|
|
|
|
|
|
+ console.error("没有二级目录");
|
|
let rootList = metadata.value.navigationTrees.find((item) => item.id == currentRootId.value);
|
|
let rootList = metadata.value.navigationTrees.find((item) => item.id == currentRootId.value);
|
|
store.commit("scene/setCurrentScenesList", rootList.children);
|
|
store.commit("scene/setCurrentScenesList", rootList.children);
|
|
}
|
|
}
|