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

修改展览分类

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