提交 7c0f15b0 authored 作者: 龙菲's avatar 龙菲

修改展览分类

上级 c30f6983
......@@ -24,7 +24,8 @@
}" v-for="(item, index) in pages" :key="index" @click="handleClickTab(item)"
@mouseenter="handleEnterTabItem(item)" @mouseleave="handleLeaveTabItem(item)">
<span @click="handleToPage(item.path)">{{ item.name }} </span>
<i v-if="item.name == '陈列展览'" class="el-icon-arrow-down" style="transform: translate(30%,30%);cursor: pointer;"></i>
<i v-if="item.name == '陈列展览'" class="el-icon-arrow-down"
style="transform: translate(30%,30%);cursor: pointer;"></i>
</div>
</div>
......@@ -52,7 +53,11 @@
<transition name="el-zoom-in-top">
<div class="submenu" v-show="showSubMenu" @mouseenter="handleEnterSubmenu" @mouseleave="handleMouseLeaveSubMenu">
<ul>
<li>
<li v-for="(item, index) in typeList" :key="index" @click="handleToPage('/display/', item.value, true)">
<span>{{ item.label }}</span>
<svg-icon icon-class="wenshi" v-if="index != typeList.length - 1"></svg-icon>
</li>
<!-- <li>
<span @click="handleToPage('/display', true)">基本陈列</span>
<svg-icon icon-class="wenshi"></svg-icon>
</li>
......@@ -60,7 +65,7 @@
<span @click="handleToPage('/boutique', true)">十大精品展</span>
<svg-icon icon-class="wenshi"></svg-icon>
</li>
<li><span @click="handleToPage('/virtual', true)">虚拟展厅</span></li>
<li><span @click="handleToPage('/virtual', true)">虚拟展厅</span></li> -->
</ul>
</div>
</transition>
......@@ -113,6 +118,7 @@
<script>
import { mapGetters } from "vuex";
import { getVerify } from "@/api/user";
import { getDisplayExistDict } from "@/api/display";
export default {
name: "NavBar",
computed: {
......@@ -278,6 +284,10 @@ export default {
isLoginByUsername: true,
loadingText: "",
showSubMenu: false,
typeList: [{
label: '全部',
value: ''
}],
};
},
mounted() {
......@@ -288,6 +298,8 @@ export default {
let navBarHeight = document.querySelector("#navbar").offsetHeight;
this.$store.commit("app/SET_NAVBAR_HEIGHT", navBarHeight);
});
this.loadDisplayTypeList()
},
methods: {
initHeight() {
......@@ -406,11 +418,14 @@ export default {
}
},
handleToPage(path, isOpenNewPage) {
handleToPage(path, type, isOpenNewPage) {
if (path) {
if (isOpenNewPage) {
const newPage = this.$router.resolve({
path,
query: {
type
}
});
window.open(newPage.href, "_blank");
} else {
......@@ -442,6 +457,12 @@ export default {
this.showSubMenu = false;
}
},
async loadDisplayTypeList() {
let res = await getDisplayExistDict()
// debugger
this.typeList = [...this.typeList, ...res.data.typeList]
}
},
destroyed() {
......@@ -645,7 +666,7 @@ export default {
&:hover {
span {
color: #2069c4;
color: $themeSecondaryColor;
}
}
......
......@@ -14,7 +14,7 @@
:key="index"
>
<img :src="$getFullUrl(item.pressUrl)" alt="" />
<div class="enlarge" @click="handelPreviewImages(imgList)">
<div class="enlarge" @click="handelPreviewImages(imgList,index)">
<img src="@/assets/imgs/enlarge-s.png" alt="" />
</div>
</swiper-slide>
......@@ -48,6 +48,7 @@
v-if="imgViewerVisible"
:on-close="closeImgViewer"
:url-list="previewList"
:initial-index="initialIndex"
/>
</div>
</template>
......@@ -94,6 +95,7 @@ export default {
slideToClickedSlide: true,
},
imgViewerVisible: false,
initialIndex:0
};
},
......@@ -106,9 +108,10 @@ export default {
});
},
methods: {
handelPreviewImages(items) {
handelPreviewImages(items,i) {
this.imgViewerVisible = true;
this.previewList = items.map((item) => this.$getFullUrl(item.url));
this.initialIndex = i
},
closeImgViewer() {
this.imgViewerVisible = false;
......
......@@ -13,7 +13,7 @@
@click="handleClickItem(item)"
>
<!-- <img :src="item.pressUrl || item.faceImagePressUrl" alt="" /> -->
<div class="img-container" @click="handelPreviewImages(imgList)">
<div class="img-container" @click="handelPreviewImages(imgList,index)">
<slot name="img" :item="item"></slot>
</div>
<slot name="info" :item="item" />
......@@ -41,6 +41,7 @@
v-if="imgViewerVisible"
:on-close="closeImgViewer"
:url-list="previewList"
:initial-index="initialIndex"
/>
</div>
</template>
......@@ -87,14 +88,16 @@ export default {
},
},
imgViewerVisible: false,
initialIndex:0
};
},
mounted() {},
methods: {
handelPreviewImages(items) {
handelPreviewImages(items,index) {
this.imgViewerVisible = true;
this.previewList = items.map((item) => this.$getFullUrl(item.url));
this.initialIndex =index
},
closeImgViewer() {
this.imgViewerVisible = false;
......
......@@ -16,7 +16,7 @@
<swiper :options="swiperOption2" ref="crSwiper">
<swiper-slide v-for="(item, i) in imagesVo" :key="i">
<div class="img-container" @click="handelPreviewImages(imagesVo)">
<div class="img-container" @click="handelPreviewImages(imagesVo,i)">
<img :src="$getFullUrl(item.middleUrl)" alt="" />
</div>
</swiper-slide>
......@@ -218,7 +218,7 @@
</div>
</div>
</div>
<el-image-viewer v-if="imgViewerVisible" :on-close="closeImgViewer" :url-list="imgList" />
<el-image-viewer v-if="imgViewerVisible" :on-close="closeImgViewer" :url-list="imgList" :initial-index="imgIndex"/>
</div>
</template>
......@@ -307,7 +307,8 @@ export default {
name: '文物展示',
path: '/culturalRelic',
},
]
],
imgIndex:0
};
},
watch: {
......@@ -433,9 +434,10 @@ export default {
this.imgViewerVisible = false;
},
handelPreviewImages(items) {
handelPreviewImages(items,i) {
this.imgViewerVisible = true;
this.imgList = items.map((item) => this.$getFullUrl(item.url));
this.imgIndex = i
},
handleToDetail(crId) {
const newPage = this.$router.resolve({
......
......@@ -117,8 +117,13 @@ export default {
this.typeList = [...this.typeList, ...res.data.typeList]
},
mounted() {
let paramsType = this.$route.query.type
if (paramsType) {
this.currentType =paramsType
}
this.loadData();
this.loadRegionTree();
},
// watch: {
// keyword(value) {
......@@ -170,6 +175,7 @@ export default {
path: `display/${themeType}/${exhibitionId}`,
});
window.open(newPage.href, "_blank");
// this.$router.push(`display/${themeType}/${exhibitionId}`);
},
defImg(e) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论