提交 cb2d2746 authored 作者: 龙菲's avatar 龙菲

更换查看大图插件

上级 d01a7338
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
"sass-loader": "^13.0.2", "sass-loader": "^13.0.2",
"svgo": "^2.8.0", "svgo": "^2.8.0",
"uglifyjs-webpack-plugin": "^2.2.0", "uglifyjs-webpack-plugin": "^2.2.0",
"v-viewer": "^1.6.4",
"vue": "^2.6.14", "vue": "^2.6.14",
"vue-router": "^3.5.1", "vue-router": "^3.5.1",
"vue-slidepage": "^1.0.0", "vue-slidepage": "^1.0.0",
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
:key="index" :key="index"
> >
<img :src="$getFullUrl(item[imgKey])" alt="" /> <img :src="$getFullUrl(item[imgKey])" alt="" />
<div class="enlarge" @click="handelPreviewImages(imgList,index)"> <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>
...@@ -52,8 +52,8 @@ ...@@ -52,8 +52,8 @@
/> />
</div> </div>
</template> </template>
<script> <script>
import { swiper, swiperSlide } from "vue-awesome-swiper"; import { swiper, swiperSlide } from "vue-awesome-swiper";
import "swiper/dist/css/swiper.css"; import "swiper/dist/css/swiper.css";
export default { export default {
...@@ -95,7 +95,7 @@ export default { ...@@ -95,7 +95,7 @@ export default {
slideToClickedSlide: true, slideToClickedSlide: true,
}, },
imgViewerVisible: false, imgViewerVisible: false,
initialIndex:0 initialIndex: 0,
}; };
}, },
...@@ -108,10 +108,15 @@ export default { ...@@ -108,10 +108,15 @@ export default {
}); });
}, },
methods: { methods: {
handelPreviewImages(items,i) { handelPreviewImages(items, index) {
this.imgViewerVisible = true;
this.previewList = items.map((item) => this.$getFullUrl(item.url)); this.previewList = items.map((item) => this.$getFullUrl(item.url));
this.initialIndex = i const $viewer = this.$viewerApi({
images: this.previewList,
options: {
initialViewIndex: index,
zoomRatio: 1.4,
},
});
}, },
closeImgViewer() { closeImgViewer() {
this.imgViewerVisible = false; this.imgViewerVisible = false;
...@@ -119,8 +124,8 @@ export default { ...@@ -119,8 +124,8 @@ export default {
}, },
}; };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.firstDiv { .firstDiv {
/* width: 1920px; */ /* width: 1920px; */
/* height: 1080px; */ /* height: 1080px; */
...@@ -181,7 +186,6 @@ export default { ...@@ -181,7 +186,6 @@ export default {
} }
} }
.gallery-top { .gallery-top {
height: 80%; height: 80%;
width: 100%; width: 100%;
...@@ -200,7 +204,3 @@ export default { ...@@ -200,7 +204,3 @@ export default {
opacity: 1; opacity: 1;
} }
</style> </style>
\ No newline at end of file
...@@ -16,6 +16,14 @@ import VideoPlayer from 'vue-video-player' ...@@ -16,6 +16,14 @@ import VideoPlayer from 'vue-video-player'
import 'video.js/dist/video-js.css' import 'video.js/dist/video-js.css'
import 'vue-video-player/src/custom-theme.css' import 'vue-video-player/src/custom-theme.css'
//大图浏览,不使用elmentUI自带的imageViwer因为其不自带调整zoomRate
import Viewer from 'v-viewer'
import 'viewerjs/dist/viewer.css'
Vue.use(Viewer)
Viewer.setDefaults({
Options: { 'inline': true, 'button': true, 'navbar': true, 'title': true, 'toolbar': true, 'tooltip': true, 'movable': true, 'zoomable': true, 'rotatable': true, 'scalable': true, 'transition': true, 'fullscreen': true, 'keyboard': true, 'url': 'data-source' }
})
Vue.use(VideoPlayer) Vue.use(VideoPlayer)
import LImg from '@/components/LazyImg' import LImg from '@/components/LazyImg'
......
...@@ -188,11 +188,11 @@ ...@@ -188,11 +188,11 @@
</template> </template>
<script> <script>
import part1 from "./jyycc-nation.json"; import MDialog from "@/components/MDialog";
import part2 from "./jyycc-dmby.json"; import part2 from "./jyycc-dmby.json";
import part1 from "./jyycc-nation.json";
import videoPlayer from "@/components/VideoPlayer"; import videoPlayer from "@/components/VideoPlayer";
import ImageViewer from '@/components/ImageViewer' import ImageViewer from '@/components/ImageViewer'
import MDialog from "@/components/MDialog";
export default { export default {
components: { components: {
videoPlayer, videoPlayer,
......
...@@ -44,21 +44,25 @@ ...@@ -44,21 +44,25 @@
><svg-icon icon-class="address"></svg-icon ><svg-icon icon-class="address"></svg-icon
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;址: >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;址:
</span> </span>
<span class="value">{{ museumDetail.address ||'暂无'}}</span> <span class="value">{{ museumDetail.address || "暂无" }}</span>
</div> </div>
<div> <div>
<span class="label" <span class="label"
><svg-icon icon-class="time"></svg-icon>开放时间:</span ><svg-icon icon-class="time"></svg-icon>开放时间:</span
> >
<span class="value">{{ museumDetail.openPeriod ||'暂无'}}</span> <span class="value">{{
museumDetail.openPeriod || "暂无"
}}</span>
</div> </div>
<div> <div>
<span class="label"> <span class="label">
<svg-icon icon-class="ticket"></svg-icon>入园方式:</span <svg-icon icon-class="ticket"></svg-icon>入园方式:</span
> >
<span class="value">{{ museumDetail.entryMode ||'暂无'}}</span> <span class="value">{{
museumDetail.entryMode || "暂无"
}}</span>
</div> </div>
<div > <div>
<span class="label"> <span class="label">
<svg-icon icon-class="tel"></svg-icon>联系方式:</span <svg-icon icon-class="tel"></svg-icon>联系方式:</span
> >
...@@ -91,12 +95,6 @@ ...@@ -91,12 +95,6 @@
</ul> </ul>
</div> </div>
</div> </div>
<el-image-viewer
v-if="imgViewerVisible"
:on-close="closeImgViewer"
:url-list="imgList"
:initial-index="imgIndex"
/>
</div> </div>
</template> </template>
...@@ -112,7 +110,6 @@ export default { ...@@ -112,7 +110,6 @@ export default {
data() { data() {
let vm = this; let vm = this;
return { return {
imgViewerVisible: false,
museumDetail: {}, museumDetail: {},
tabbars: ["简介", "相关信息"], tabbars: ["简介", "相关信息"],
curTab: "简介", curTab: "简介",
...@@ -126,7 +123,6 @@ export default { ...@@ -126,7 +123,6 @@ export default {
path: "/museum", path: "/museum",
}, },
], ],
imgIndex: 0,
}; };
}, },
watch: { watch: {
...@@ -153,19 +149,30 @@ export default { ...@@ -153,19 +149,30 @@ export default {
} }
}, },
closeImgViewer() { handelPreviewImages(items, index) {
this.imgViewerVisible = false; this.imgList = items
}, const $viewer = this.$viewerApi({
images: this.imgList,
handelPreviewImages(items, i) { options: {
this.imgViewerVisible = true; initialViewIndex: index,
this.imgList = items.map((item) => this.$getFullUrl(item.url)); zoomRatio: 1.4,
this.imgIndex = i; },
});
}, },
handleClickTab(item) { handleClickTab(item) {
this.curTab = item; this.curTab = item;
}, },
//禁止页面滚动
handleOverflowHidden() {
document.documentElement.style.overflowY = "hidden";
},
//恢复页面滚动
handleOverflowAuto() {
document.documentElement.style.overflowY = "auto";
},
}, },
}; };
</script> </script>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论