0714
This commit is contained in:
parent
d335b8fc46
commit
7432faa301
@ -23,6 +23,9 @@ module.exports = {
|
||||
context: path.resolve(__dirname, '../'),
|
||||
entry: {
|
||||
app: './src/main.js'
|
||||
},
|
||||
externals:{
|
||||
"BMap": "BMap",
|
||||
},
|
||||
devServer: {
|
||||
historyApiFallback: true,
|
||||
|
12
index.html
12
index.html
@ -7,22 +7,14 @@
|
||||
<title>xz_culture</title>
|
||||
<script src="./static/ckplayer/ckplayer/ckplayer.js"></script>
|
||||
<script src="./static/laydate/laydate.js"></script>
|
||||
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=RrkB6G1UWWnGW2VN3ce9znbpWIfgRG4g">
|
||||
<script>
|
||||
(function(window) {
|
||||
var theUA = window.navigator.userAgent.toLowerCase();
|
||||
if ((theUA.match(/msie\s\d+/) && theUA.match(/msie\s\d+/)[0]) || (theUA.match(/trident\s?\d+/) && theUA.match(/trident\s?\d+/)[0])) {
|
||||
var ieVersion = theUA.match(/msie\s\d+/)[0].match(/\d+/)[0] || theUA.match(/trident\s?\d+/)[0];
|
||||
if (ieVersion < 11) {
|
||||
var html = '<div class="container" style="position: absolute;top:50%;left:50%;transform: translate(-50%,-50%);width:780px;padding: 30px 60px;text-align: center"><img src="static/browser-box-bg.png" style="position: absolute;top:0;left:0;width:100%;height:100%;z-index: -1">';
|
||||
html += '<img src="static/browser-update.png" style="margin:30px 0 20px">';
|
||||
html += '<h3 style="font-size: 26px;color: #015293;margin-bottom: 20px;text-align: center">升级或更换浏览器以继续使用</h3><p style="text-align: center;font-size: 18px;color: #333;">当前浏览器版本过低,可能会有安全风险且无法正常显示。建议您升级或使用其他浏览器。</p>';
|
||||
html += '<ul style="display: inline-block;list-style: none"><li style="float:left;margin-right:90px"><a href="https://browser.qq.com/?adtag=SEM170314031" style="display:block;text-align: center"><img src="static/browser-qq.png" alt="" style="width:98px;height:98px;border: none"><h5 style="font-size: 18px;color: #333;font-weight: normal;margin-bottom: 10px">QQ浏览器</h5><span style="display: inline-block;width: 75px;height:25px;line-height: 25px;color: #015293;font-size: 16px;padding: 0 5px">点击下载</span></a></li>';
|
||||
html += '<li style="float:left;margin-right:90px"><a href="https://www.google.cn/chrome/" style="display:block;text-align: center"><img src="static/browser-google.png" alt="" style="width:98px;height:98px;border: none"><h5 style="font-size: 18px;color: #333;font-weight: normal;margin-bottom: 10px">谷歌浏览器</h5>\<span style="display: inline-block;width: 75px;height:25px;line-height: 25px;color: #015293;font-size: 16px;padding: 0 5px">点击下载</span></a></li>'
|
||||
html += '<li style="float:left;margin-right:90px"><a href="http://www.firefox.com.cn/" style="display:block;text-align: center"><img src="static/browser-firefox.png" alt="" style="width:98px;height:98px;border: none"><h5 style="font-size: 18px;color: #333;font-weight: normal;margin-bottom: 10px">火狐浏览器</h5><span style="display: inline-block;width: 75px;height:25px;line-height: 25px;color: #015293;font-size: 16px;padding: 0 5px">点击下载</span></a></li>'
|
||||
html += '<li style="float:left;"><a href="https://www.google.cn/chrome/" style="display:block;text-align: center"><img src="static/browser-1.png" alt="" style="width:98px;height:98px;border: none"><h5 style="font-size: 18px;color: #333;font-weight: normal;margin-bottom: 10px">谷歌浏览器</h5><span style="display: inline-block;width: 75px;height:25px;line-height: 25px;color: #015293;font-size: 16px;padding: 0 5px">点击下载</span></a></li>'
|
||||
html += '</ul>'
|
||||
document.write(html)
|
||||
document.execCommand("Stop");
|
||||
window.location.href = '/download/index.html'
|
||||
};
|
||||
}
|
||||
})(window);
|
||||
|
5
package-lock.json
generated
5
package-lock.json
generated
@ -12636,6 +12636,11 @@
|
||||
"resolved": "https://registry.npm.taobao.org/vue-wechat-title/download/vue-wechat-title-2.0.5.tgz",
|
||||
"integrity": "sha1-Yo3UvtyhDvObmpj2fKVkpNt3Jgs="
|
||||
},
|
||||
"vuescroll": {
|
||||
"version": "4.16.0",
|
||||
"resolved": "https://registry.npm.taobao.org/vuescroll/download/vuescroll-4.16.0.tgz",
|
||||
"integrity": "sha1-4OyoIPN1fSmOkSjAeRb8ubxWsUs="
|
||||
},
|
||||
"watchpack": {
|
||||
"version": "1.6.1",
|
||||
"resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.6.1.tgz?cache=0&sync_timestamp=1585253929080&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwatchpack%2Fdownload%2Fwatchpack-1.6.1.tgz",
|
||||
|
@ -30,7 +30,8 @@
|
||||
"vue-layer": "^1.2.0",
|
||||
"vue-resource": "^1.5.1",
|
||||
"vue-router": "^3.0.1",
|
||||
"vue-wechat-title": "^2.0.5"
|
||||
"vue-wechat-title": "^2.0.5",
|
||||
"vuescroll": "^4.16.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"autoprefixer": "^7.1.2",
|
||||
|
BIN
src/assets/images/qr-code-app.jpg
Normal file
BIN
src/assets/images/qr-code-app.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
BIN
src/assets/images/qr-code-gzh.jpg
Normal file
BIN
src/assets/images/qr-code-gzh.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.5 KiB |
BIN
src/assets/images/qr-code-xcx.jpg
Normal file
BIN
src/assets/images/qr-code-xcx.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 72 KiB |
BIN
src/assets/images/venue-active.png
Normal file
BIN
src/assets/images/venue-active.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
@ -5,8 +5,8 @@
|
||||
<img src="@/assets/images/footer-logo.png" alt="" class="footer-logo">
|
||||
<div class="footer-us">
|
||||
<h4>日喀则市公共文化数字云平台</h4>
|
||||
<p>联系方式:0471-6965539</p>
|
||||
<p>地址:呼和浩特市回民区锡林北路97号</p>
|
||||
<!--<p>联系方式:18888888888</p>-->
|
||||
<p>地址:日喀则市群众艺术馆</p>
|
||||
</div>
|
||||
<div class="footer-link">
|
||||
<h4>友情链接</h4>
|
||||
@ -17,22 +17,22 @@
|
||||
<div class="footer-right">
|
||||
<ul>
|
||||
<li>
|
||||
<h4>文化云微信公众号</h4>
|
||||
<img src="@/assets/images/qr-code.png" alt="">
|
||||
<h4>日喀则公共文化小程序</h4>
|
||||
<img src="@/assets/images/qr-code-xcx.jpg" alt="">
|
||||
</li>
|
||||
<li>
|
||||
<h4>文化云微信公众号</h4>
|
||||
<img src="@/assets/images/qr-code.png" alt="">
|
||||
<h4>日喀则公共文化公众号</h4>
|
||||
<img src="@/assets/images/qr-code-gzh.jpg" alt="">
|
||||
</li>
|
||||
<li>
|
||||
<h4>文化云微信公众号</h4>
|
||||
<img src="@/assets/images/qr-code.png" alt="">
|
||||
<h4>日喀则公共文化APP</h4>
|
||||
<img src="@/assets/images/qr-code-app.jpg" alt="">
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-bottom">
|
||||
<p>版权所有:日喀则群众艺术馆 Copyright © 2017-2018 蒙ICP备18001375号 技术支持:山西腾狮科技</p>
|
||||
<p>版权所有:日喀则群众艺术馆 Copyright© 2020 晋ICP备17001370号-2 技术支持:山西腾狮科技</p>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -62,7 +62,7 @@
|
||||
</li>
|
||||
<li :class="{active: this.$route.path == '/resource' || this.$route.path == '/resourceDetail/' + this.$route.params.id}">
|
||||
<router-link to="/resource" >
|
||||
民间文学
|
||||
数图资源
|
||||
</router-link>
|
||||
</li>
|
||||
<li :class="{active: this.$route.path == '/volunteer' || this.$route.path == '/volunteerDetail/' + this.$route.params.id}">
|
||||
@ -85,6 +85,11 @@
|
||||
非遗清单
|
||||
</router-link>
|
||||
</li>
|
||||
<li :class="{active: this.$route.path == '/cultureMap'}">
|
||||
<router-link to="/cultureMap" >
|
||||
文化地图
|
||||
</router-link>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -13,6 +13,9 @@ import 'swiper/dist/css/swiper.css'
|
||||
import 'vue-layer/lib/vue-layer.css'
|
||||
import axios from 'axios'
|
||||
import flvjs from 'flv.js/dist/flv.min'
|
||||
import vuescroll from 'vuescroll'
|
||||
import 'vuescroll/dist/vuescroll.css'
|
||||
Vue.use(vuescroll)
|
||||
Vue.use(flvjs)
|
||||
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'
|
||||
Vue.prototype.$axios = axios
|
||||
|
@ -6,40 +6,45 @@
|
||||
您的位置:<router-link to="/">首页</router-link> > 艺术培训
|
||||
</div>
|
||||
</div>
|
||||
<div class="character" v-for="(list,idx) in classList" :key="idx" v-if="list.isShow && classList.length > 0">
|
||||
<div class="character-title">
|
||||
<h2>{{list.directoriesName}}</h2>
|
||||
<router-link :to="{path: '/artTrainList/' + list.newsDirectoriesId}">MORE>></router-link>
|
||||
</div>
|
||||
<div class="character-content">
|
||||
<div class="character-left">
|
||||
<span>{{list.directoriesName}}</span>
|
||||
<div class="character-intro">
|
||||
<p>{{list.directoriesDescription}}</p>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="character" v-for="(list,idx) in classList" :key="idx" v-if="list.isShow && classList.length > 0">
|
||||
<div class="character-title">
|
||||
<h2>{{list.directoriesName}}</h2>
|
||||
<router-link :to="{path: '/artTrainList/' + list.newsDirectoriesId}">MORE>></router-link>
|
||||
</div>
|
||||
<div class="character-right">
|
||||
<ul v-if="list.innerList.length > 0">
|
||||
<li v-for="(inner,idx) in list.innerList" :key="idx" @click="goDetail(inner.templateRecordUrl)">
|
||||
<div class="recommend-img">
|
||||
<img :src="url + '/news/route/file/downloadfile/false/' + inner.newsContentCoverList" alt="">
|
||||
<img src="@/assets/images/play.png" alt="" class="play-btn">
|
||||
</div>
|
||||
<div class="recommend-info">
|
||||
<h3>{{inner.newsContentTitle}}</h3>
|
||||
<div class="recommend-info-bottom">
|
||||
<span>讲师:{{inner.newsContentAuthor}}</span>
|
||||
<!--<i>{{list.view}}</i>-->
|
||||
<div class="character-content">
|
||||
<div class="character-left">
|
||||
<span>{{list.directoriesName}}</span>
|
||||
<div class="character-intro">
|
||||
<p>{{list.directoriesDescription}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="character-right">
|
||||
<ul v-if="list.innerList.length > 0">
|
||||
<li v-for="(inner,idx) in list.innerList" :key="idx" @click="goDetail(inner.templateRecordUrl)">
|
||||
<div class="recommend-img">
|
||||
<img :src="url + '/news/route/file/downloadfile/false/' + inner.newsContentCoverList" alt="">
|
||||
<img src="@/assets/images/play.png" alt="" class="play-btn">
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="no-data" v-else>
|
||||
<img src="@/assets/images/no-data.png" alt="">
|
||||
<div class="recommend-info">
|
||||
<h3>{{inner.newsContentTitle}}</h3>
|
||||
<div class="recommend-info-bottom">
|
||||
<span>讲师:{{inner.newsContentAuthor}}</span>
|
||||
<!--<i>{{list.view}}</i>-->
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="no-data" v-else>
|
||||
<img src="@/assets/images/no-data.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="@/assets/images/loading.gif" alt="">
|
||||
</div>
|
||||
<Footer></Footer>
|
||||
</div>
|
||||
</template>
|
||||
@ -63,7 +68,8 @@ export default {
|
||||
health: [],
|
||||
photography: [],
|
||||
innerContent: [],
|
||||
url: common.url
|
||||
url: common.url,
|
||||
isLoading: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@ -83,6 +89,7 @@ export default {
|
||||
},
|
||||
getNewsList: function (item) {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
axios.get(self.url + 'news/app/newscontent/listpagenewscontentrelease', {
|
||||
params: {
|
||||
page: 1,
|
||||
@ -90,6 +97,7 @@ export default {
|
||||
newsDirectoriesId: item.newsDirectoriesId
|
||||
}
|
||||
}).then(function (res) {
|
||||
self.isLoading = false
|
||||
for (var i = 0; i < res.data.rows.length; i++) {
|
||||
res.data.rows[i].newsContentCoverList = res.data.rows[i].newsContentCoverList[0].contentCoverId
|
||||
}
|
||||
@ -119,6 +127,8 @@ export default {
|
||||
text-align center
|
||||
img
|
||||
width 200px
|
||||
.container
|
||||
min-height 500px
|
||||
.location
|
||||
background #e5e5e5
|
||||
line-height 30px
|
||||
@ -225,4 +235,13 @@ export default {
|
||||
i
|
||||
font-style normal
|
||||
float right
|
||||
.loading
|
||||
position fixed
|
||||
top 50%
|
||||
left 50%
|
||||
transform translate(-50%, -50%)
|
||||
background rgba(255,255,255,0.6)
|
||||
padding 30px
|
||||
border-radius 10px
|
||||
box-shadow 0 0 17px #DEDEDE
|
||||
</style>
|
||||
|
@ -18,25 +18,30 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="broadcast">
|
||||
<ul v-if="hasData">
|
||||
<router-link :to="{path: '/broadcastDetail/' + list.livePlanId}" tag="li" v-for="list in selectedList" :key="list.id">
|
||||
<div class="broadcast-img">
|
||||
<img :src="url + 'live/route/file/downloadfile/false/' + list.livePlanPhoto" alt="">
|
||||
<img src="@/assets/images/play.svg" alt="" class="play-btn">
|
||||
</div>
|
||||
<div class="broadcast-info">
|
||||
<h3>{{list.livePlanName}}</h3>
|
||||
<p>开始时间:{{list.livePlanStart}}</p>
|
||||
<button v-if="list.liveStatus == 0">已结束</button>
|
||||
<button v-else-if="list.liveStatus == 1" class="not-start">尚未开始</button>
|
||||
<button v-else class="playing">进行中</button>
|
||||
</div>
|
||||
</router-link>
|
||||
</ul>
|
||||
<div class="no-data" v-else>
|
||||
<img src="@/assets/images/no-data.png" alt="">
|
||||
<div v-if="!isLoading">
|
||||
<ul v-if="hasData">
|
||||
<router-link :to="{path: '/broadcastDetail/' + list.livePlanId}" tag="li" v-for="list in selectedList" :key="list.id">
|
||||
<div class="broadcast-img">
|
||||
<img :src="url + 'live/route/file/downloadfile/false/' + list.livePlanPhoto" alt="">
|
||||
<img src="@/assets/images/play.svg" alt="" class="play-btn">
|
||||
</div>
|
||||
<div class="broadcast-info">
|
||||
<h3>{{list.livePlanName}}</h3>
|
||||
<p>开始时间:{{list.livePlanStart}}</p>
|
||||
<button v-if="list.liveStatus == 0">已结束</button>
|
||||
<button v-else-if="list.liveStatus == 1" class="not-start">尚未开始</button>
|
||||
<button v-else class="playing">进行中</button>
|
||||
</div>
|
||||
</router-link>
|
||||
</ul>
|
||||
<div class="no-data" v-else>
|
||||
<img src="@/assets/images/no-data.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="@/assets/images/loading.gif" alt="">
|
||||
</div>
|
||||
<Footer></Footer>
|
||||
</div>
|
||||
</template>
|
||||
@ -63,7 +68,8 @@ export default {
|
||||
rows: 8,
|
||||
totalPage: 1
|
||||
},
|
||||
url: common.url
|
||||
url: common.url,
|
||||
isLoading: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@ -89,7 +95,9 @@ export default {
|
||||
},
|
||||
getBoradcastList: function () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
axios.get(self.url + 'live/app/liveplan/listliveplanrelease').then(function (res) {
|
||||
self.isLoading = false
|
||||
self.broadcast = res.data
|
||||
self.selectedList = res.data
|
||||
})
|
||||
@ -103,6 +111,15 @@ export default {
|
||||
|
||||
<style lang="stylus" rel="stylesheet/stylus" scoped>
|
||||
@import "~styles/public.styl"
|
||||
.loading
|
||||
position fixed
|
||||
top 50%
|
||||
left 50%
|
||||
transform translate(-50%, -50%)
|
||||
background rgba(255,255,255,0.6)
|
||||
padding 30px
|
||||
border-radius 10px
|
||||
box-shadow 0 0 17px #DEDEDE
|
||||
.location
|
||||
background #e5e5e5
|
||||
line-height 30px
|
||||
|
@ -99,7 +99,7 @@ export default {
|
||||
},
|
||||
changeVideo: function (idx) {
|
||||
this.selectedVideo = this.videoList[idx]
|
||||
this.selectedVideo.videoSrc = this.url + this.selectedVideo.recordFilePath
|
||||
this.selectedVideo.videoSrc = this.selectedVideo.recordFilePath
|
||||
var video = document.getElementById('myVideo')
|
||||
video.src = this.selectedVideo.videoSrc
|
||||
this.flv_load()
|
||||
|
@ -26,26 +26,28 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="service-content">
|
||||
<ul class="service-container" v-if="hasData">
|
||||
<router-link :to="{path: '/cultureActivityDetail/' + list.activityLibraryId}" tag="li" class="service-list" v-for="(list,idx) in activityList" :key="idx">
|
||||
<div class="service-img-box">
|
||||
<img :src="url + 'culturalactivity/route/file/downloadfile/false/' + list.activityImage" alt="" class="service-img">
|
||||
</div>
|
||||
<div class="service-info">
|
||||
<h3 class="service-name">{{list.activityTitle}}</h3>
|
||||
<p class="time">{{list.activityStartTime}}至{{list.activityEndTime}}</p>
|
||||
<p class="activity-location">{{list.activityAddress}}</p>
|
||||
<button class="sign-btn" v-if="list.activityState == 3">报名中</button>
|
||||
<button class="sign-btn" v-else-if="list.activityState == 4">报名人数已满</button>
|
||||
<button class="sign-btn" v-else-if="list.activityState == 5">报名结束</button>
|
||||
<button class="sign-btn" v-else-if="list.activityState == 6">进行中</button>
|
||||
<button class="sign-btn" v-else-if="list.activityState == 7">进入查看</button>
|
||||
<button class="sign-btn" v-else-if="list.activityState == 99">已结束</button>
|
||||
</div>
|
||||
</router-link>
|
||||
</ul>
|
||||
<div class="no-data" v-else>
|
||||
<img src="@/assets/images/no-data.png" alt="">
|
||||
<div v-if="!isLoading">
|
||||
<ul class="service-container" v-if="hasData">
|
||||
<router-link :to="{path: '/cultureActivityDetail/' + list.activityLibraryId}" tag="li" class="service-list" v-for="(list,idx) in activityList" :key="idx">
|
||||
<div class="service-img-box">
|
||||
<img :src="url + 'culturalactivity/route/file/downloadfile/false/' + list.activityImage" alt="" class="service-img">
|
||||
</div>
|
||||
<div class="service-info">
|
||||
<h3 class="service-name">{{list.activityTitle}}</h3>
|
||||
<p class="time">{{list.activityStartTime}}至{{list.activityEndTime}}</p>
|
||||
<p class="activity-location">{{list.activityAddress}}</p>
|
||||
<button class="sign-btn" v-if="list.activityState == 3">报名中</button>
|
||||
<button class="sign-btn" v-else-if="list.activityState == 4">报名人数已满</button>
|
||||
<button class="sign-btn" v-else-if="list.activityState == 5">报名结束</button>
|
||||
<button class="sign-btn" v-else-if="list.activityState == 6">进行中</button>
|
||||
<button class="sign-btn" v-else-if="list.activityState == 7">进入查看</button>
|
||||
<button class="sign-btn" v-else-if="list.activityState == 99">已结束</button>
|
||||
</div>
|
||||
</router-link>
|
||||
</ul>
|
||||
<div class="no-data" v-else>
|
||||
<img src="@/assets/images/no-data.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pager" v-if="hasData">
|
||||
@ -73,6 +75,9 @@
|
||||
<i v-if="showJumpBtn">/{{page.totalPage}}页</i>
|
||||
<button v-if="showJumpBtn" @click="doJumpPage">跳转</button>
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="@/assets/images/loading.gif" alt="">
|
||||
</div>
|
||||
<Footer></Footer>
|
||||
</div>
|
||||
</template>
|
||||
@ -101,7 +106,8 @@ export default {
|
||||
totalPage: 1,
|
||||
activityType: ''
|
||||
},
|
||||
url: common.url
|
||||
url: common.url,
|
||||
isLoading: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@ -129,6 +135,7 @@ export default {
|
||||
},
|
||||
getActivityList: function () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
axios.get(self.url + 'culturalactivity/app/activitylibrary/listpageactivitylibraryfornetrelease', {
|
||||
params: self.page
|
||||
}).then(function (res) {
|
||||
@ -137,6 +144,7 @@ export default {
|
||||
self.page.totalPage = Math.ceil(res.data.total / self.page.rows)
|
||||
self.page.page = res.data.page
|
||||
self.changePage = res.data.page
|
||||
self.isLoading = false
|
||||
})
|
||||
},
|
||||
changeTab: function (btn) {
|
||||
@ -329,4 +337,13 @@ export default {
|
||||
vertical-align middle
|
||||
color #fff
|
||||
font-size 14px
|
||||
.loading
|
||||
position fixed
|
||||
top 50%
|
||||
left 50%
|
||||
transform translate(-50%, -50%)
|
||||
background rgba(255,255,255,0.6)
|
||||
padding 30px
|
||||
border-radius 10px
|
||||
box-shadow 0 0 17px #DEDEDE
|
||||
</style>
|
||||
|
@ -17,7 +17,7 @@
|
||||
</div>
|
||||
<div class="dynamics">
|
||||
<div class="dynamics-left">
|
||||
<div class="dynamics-list">
|
||||
<div class="dynamics-list" v-if="!isLoading">
|
||||
<ul v-if="hasData">
|
||||
<li v-for="(list,idx) in requestList" :key="idx" @click="goDetail(list.templateRecordUrl)">
|
||||
<div class="dynamics-list-left">
|
||||
@ -60,6 +60,9 @@
|
||||
<i v-if="showJumpBtn">/{{page.totalPage}}页</i>
|
||||
<button v-if="showJumpBtn" @click="doJumpPage">跳转</button>
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="@/assets/images/loading.gif" alt="">
|
||||
</div>
|
||||
<Footer></Footer>
|
||||
</div>
|
||||
</template>
|
||||
@ -89,7 +92,8 @@ export default {
|
||||
newsDirectoriesId: '',
|
||||
newsDirectoriesParentId: 'f497904b-7727-4832-891c-604c36ae4167'
|
||||
},
|
||||
url: common.url
|
||||
url: common.url,
|
||||
isLoading: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@ -107,6 +111,7 @@ export default {
|
||||
},
|
||||
getNews: function () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
axios.get(self.url + 'news/app/newscontent/listpagenewscontentrelease', {
|
||||
params: self.page
|
||||
}).then(function (res) {
|
||||
@ -116,6 +121,7 @@ export default {
|
||||
self.requestList = res.data.rows
|
||||
self.page.page = res.data.page
|
||||
self.page.totalPage = Math.ceil(res.data.total / self.page.rows)
|
||||
self.isLoading = false
|
||||
})
|
||||
},
|
||||
paging: function (page) {
|
||||
@ -190,32 +196,41 @@ export default {
|
||||
color #fff
|
||||
.dynamics
|
||||
width 1200px
|
||||
min-height 500px
|
||||
margin 20px auto
|
||||
overflow hidden
|
||||
.dynamics-list
|
||||
min-height 500px
|
||||
ul
|
||||
&:after
|
||||
content ''
|
||||
display block
|
||||
clear both
|
||||
li
|
||||
width: 280px;
|
||||
box-shadow: 0px 0px 10px 0px rgba(176,176,176,0.3);
|
||||
box-sizing: border-box;
|
||||
float: left;
|
||||
margin-right: 25px;
|
||||
margin-bottom: 25px;
|
||||
cursor: pointer;
|
||||
&:nth-child(4n)
|
||||
margin-right 0
|
||||
width 49%
|
||||
box-shadow 0px 0px 10px 0px rgba(176,176,176,0.3)
|
||||
box-sizing border-box
|
||||
cursor pointer
|
||||
overflow hidden
|
||||
margin-bottom 20px
|
||||
border-radius 5px
|
||||
&:nth-child(odd)
|
||||
float left
|
||||
&:nth-child(even)
|
||||
float right
|
||||
&:hover
|
||||
box-shadow 0px 0px 20px 0px rgba(176,176,176,0.9)
|
||||
.dynamics-list-left
|
||||
width 100%
|
||||
height 185px
|
||||
width 130px
|
||||
height 130px
|
||||
float left
|
||||
img
|
||||
width 100%
|
||||
height 100%
|
||||
.dynamics-list-right
|
||||
padding 10px 20px
|
||||
text-align center
|
||||
float right
|
||||
width 450px
|
||||
padding 10px
|
||||
box-sizing border-box
|
||||
h3
|
||||
font-size 18px
|
||||
color #565656
|
||||
@ -312,4 +327,13 @@ export default {
|
||||
vertical-align middle
|
||||
color #fff
|
||||
font-size 14px
|
||||
.loading
|
||||
position fixed
|
||||
top 50%
|
||||
left 50%
|
||||
transform translate(-50%, -50%)
|
||||
background rgba(255,255,255,0.6)
|
||||
padding 30px
|
||||
border-radius 10px
|
||||
box-shadow 0 0 17px #DEDEDE
|
||||
</style>
|
||||
|
195
src/pages/CultureMap/CultureMap.vue
Normal file
195
src/pages/CultureMap/CultureMap.vue
Normal file
@ -0,0 +1,195 @@
|
||||
<template>
|
||||
<div>
|
||||
<Header></Header>
|
||||
<div class="location">
|
||||
<div class="location-content">
|
||||
您的位置:<router-link to="/">首页</router-link> > 文化地图
|
||||
</div>
|
||||
</div>
|
||||
<div class="map">
|
||||
<div id="map" ref="map" class="map-container"></div>
|
||||
<div class="venue-list">
|
||||
<div class="title">全部场馆</div>
|
||||
<vue-scroll class="venue-list-box">
|
||||
<ul>
|
||||
<li v-for="(venue,idx) in venueList" :key="idx" @click="initMap(venue.longitude, venue.latitude, 16, idx)" :id="'list' + idx">
|
||||
<img src="@/assets/images/venue-active.png" alt="" class="selected" v-if="selectedVenue == idx">
|
||||
<img :src="url + '/route/file/downloadfile/false/' + venue.venuePanorama" alt="">
|
||||
<p>{{venue.venueName}}</p>
|
||||
</li>
|
||||
</ul>
|
||||
</vue-scroll>
|
||||
</div>
|
||||
</div>
|
||||
<Footer></Footer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Header from '@/common/components/Header'
|
||||
import Footer from '@/common/components/Footer'
|
||||
import axios from 'axios'
|
||||
import common from '@/common/components/common.js'
|
||||
export default {
|
||||
name: 'CultureMap',
|
||||
components: {
|
||||
Header,
|
||||
Footer
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
ops: {
|
||||
vuescroll: {},
|
||||
scrollPanel: {},
|
||||
rail: {
|
||||
keepShow: true
|
||||
},
|
||||
bar: {
|
||||
hoverStyle: true,
|
||||
onlyShowBarOnScroll: false, // 是否只有滚动的时候才显示滚动条
|
||||
background: 'black'
|
||||
}
|
||||
},
|
||||
arrayList: [],
|
||||
venueList: [],
|
||||
url: 'http://192.168.1.3:8082/venuebooking',
|
||||
lng: '88.886487',
|
||||
lat: '29.276981',
|
||||
mapLevel: 14,
|
||||
selectedVenue: '*'
|
||||
}
|
||||
},
|
||||
// watch: {
|
||||
// selectedVenue () {
|
||||
// this.$nextTick(() => {
|
||||
// this.$refs.activeRef[0].focus()
|
||||
// })
|
||||
// }
|
||||
// },
|
||||
methods: {
|
||||
initMap: function (lng, lat, lv, idx) {
|
||||
var self = this
|
||||
if (!lng) {
|
||||
lng = this.lng
|
||||
}
|
||||
if (!lat) {
|
||||
lat = this.lat
|
||||
}
|
||||
if (!lv) {
|
||||
lv = this.mapLevel
|
||||
}
|
||||
if (idx !== '') {
|
||||
this.selectedVenue = idx
|
||||
} else {
|
||||
this.selectedVenue = '*'
|
||||
}
|
||||
let map = new BMap.Map(this.$refs.map)
|
||||
map.centerAndZoom(new BMap.Point(lng, lat), lv)// 初始化地图,设置中心点坐标和地图级别
|
||||
map.setCurrentCity('日喀则')// 设置地图显示的城市 此项是必须设置的
|
||||
map.enableScrollWheelZoom(true) // 开启鼠标滚轮缩放
|
||||
function showPoly (pointList) {
|
||||
// 循环显示点对象
|
||||
for (var c = 0; c < pointList.length; c++) {
|
||||
var marker = new BMap.Marker(pointList[c])
|
||||
var markers = pointList[c]
|
||||
map.addOverlay(marker)
|
||||
var html = '<div><a href="http://192.168.1.150:8080/#/cultureVenueDetail/' + self.venueList[c].venuesInfoId + '" style="display: block">'
|
||||
html += '<h3 style="">' + self.venueList[c].venueName + '</h3>'
|
||||
html += '<img src="' + self.url + '/route/file/downloadfile/false/' + self.venueList[c].venuePanorama + '" style="width: 100%;height: 130px">'
|
||||
html += '<p style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"><span title="' + self.venueList[c].venuePosition + '">' + self.venueList[c].venuePosition + '</span></p></a></div>'
|
||||
let infoWindow = new BMap.InfoWindow('', {
|
||||
width: 180, // 信息窗口宽度
|
||||
height: 180, // 信息窗口高度
|
||||
title: html // 信息窗口标题
|
||||
})
|
||||
markerFun(markers, infoWindow, c)
|
||||
}
|
||||
}
|
||||
function markerFun (marker, infoWindows, idx) {
|
||||
let markers = new BMap.Marker(marker)
|
||||
map.addOverlay(markers) // 将标注添加到地图中
|
||||
// 标注的点击事件
|
||||
markers.addEventListener('click', function (event) {
|
||||
self.selectedVenue = idx
|
||||
document.getElementById('list' + idx).scrollIntoView({
|
||||
block: 'end',
|
||||
behavior: 'smooth'
|
||||
})
|
||||
map.openInfoWindow(infoWindows, marker) // 参数:窗口、点 根据点击的点出现对应的窗口
|
||||
})
|
||||
}
|
||||
showPoly(this.arrayList)
|
||||
},
|
||||
getPointe: function () {
|
||||
var self = this
|
||||
axios.get('http://192.168.1.3:8082/venuebooking/app/venuesmap/listrangevenuesinforelease').then(function (res) {
|
||||
for (var i = 0; i < res.data.data.length; i++) {
|
||||
var p = new BMap.Point(res.data.data[i].longitude, res.data.data[i].latitude)
|
||||
self.arrayList.push(p)
|
||||
res.data.data[i].venuePanorama = res.data.data[i].venuePanorama.split(',')[0]
|
||||
}
|
||||
self.venueList = res.data.data
|
||||
self.initMap()
|
||||
})
|
||||
}
|
||||
},
|
||||
mounted: function () {
|
||||
this.getPointe()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="stylus" rel="stylesheet/stylus" scoped>
|
||||
.location
|
||||
font-family 'zangwen'
|
||||
background #e5e5e5
|
||||
line-height 30px
|
||||
.location-content
|
||||
width 1200px
|
||||
margin 0 auto
|
||||
font-size 14px
|
||||
color #565656
|
||||
|
||||
.map
|
||||
width 100%
|
||||
height 500px
|
||||
position relative
|
||||
.map-container
|
||||
width 100%
|
||||
height 100%
|
||||
.venue-list
|
||||
position absolute
|
||||
top 20px
|
||||
right 80px
|
||||
bottom 20px
|
||||
width 240px
|
||||
background #fff
|
||||
border-radius 6px
|
||||
box-shadow 0 3px 5px -1px rgba(0,0,0,.2), 0 6px 10px 0 rgba(0,0,0,.14), 0 1px 18px 0 rgba(0,0,0,.12)
|
||||
padding 5px 0 20px
|
||||
.title
|
||||
font-size 16px
|
||||
line-height 24px
|
||||
color #4d4d4d
|
||||
padding 5px 20px
|
||||
.venue-list-box
|
||||
height 400px !important
|
||||
ul
|
||||
li
|
||||
padding 10px 20px
|
||||
border-bottom 1px solid #DEDEDE
|
||||
cursor pointer
|
||||
position relative
|
||||
img
|
||||
width 100%
|
||||
height 115px
|
||||
border-radius 10px
|
||||
margin-bottom 10px
|
||||
&.selected
|
||||
position absolute
|
||||
top 50px
|
||||
left 0
|
||||
width 40px
|
||||
height 40px
|
||||
margin 0
|
||||
</style>
|
@ -13,32 +13,33 @@
|
||||
<button :class="{active: page.venueType == ''}" @click="changeType(null)">全部</button>
|
||||
<button v-for="(btn,idx) in typeList" :key="idx" @click="changeType(btn.dictionaryId)" :class="{active: page.venueType == btn.dictionaryId}">{{btn.dictionaryName}}</button>
|
||||
</div>
|
||||
<div class="select-line">
|
||||
<span>选择城市></span>
|
||||
<button :class="{active: page.venueCity == ''}" @click="getAreaList(null)">全部</button>
|
||||
<button v-for="(btn,idx) in cityList" :key="idx" @click="getAreaList(btn.dictionaryId)" :class="{active: page.venueCity == btn.dictionaryId}">{{btn.dictionaryName}}</button>
|
||||
</div>
|
||||
<!--<div class="select-line">-->
|
||||
<!--<span>选择城市></span>-->
|
||||
<!--<button :class="{active: page.venueCity == ''}" @click="getAreaList(null)">全部</button>-->
|
||||
<!--<button v-for="(btn,idx) in cityList" :key="idx" @click="getAreaList(btn.dictionaryId)" :class="{active: page.venueCity == btn.dictionaryId}">{{btn.dictionaryName}}</button>-->
|
||||
<!--</div>-->
|
||||
<div class="select-line">
|
||||
<span>选择区域></span>
|
||||
<div style="display: inline-block" v-if="hasArea">
|
||||
<div style="display: inline-block;width: 95%;">
|
||||
<button :class="{active: page.venueArea == ''}" @click="changeArea(null)">全部</button>
|
||||
<button v-for="(btn,idx) in areaList" :key="idx" @click="changeArea(btn.dictionaryId)" :class="{active: page.venueArea == btn.dictionaryId}">{{btn.dictionaryName}}</button>
|
||||
</div>
|
||||
<div style="display: inline-block;line-height: 30px" v-else>请选择城市</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="venue">
|
||||
<ul v-if="hasData">
|
||||
<router-link :to="{path: '/cultureVenueDetail/' + list.venuesInfoId}" tag="li" class="venue-list" v-for="list in venueList" :key="list.id">
|
||||
<img :src="url + '/venuebooking/route/file/downloadfile/false/' + list.venuePanorama" alt="">
|
||||
<div class="venue-name">
|
||||
<p>{{list.venueName}}</p>
|
||||
</div>
|
||||
</router-link>
|
||||
</ul>
|
||||
<div class="no-data" v-else>
|
||||
<img src="@/assets/images/no-data.png" alt="">
|
||||
<div v-if="!isLoading">
|
||||
<ul v-if="hasData">
|
||||
<router-link :to="{path: '/cultureVenueDetail/' + list.venuesInfoId}" tag="li" class="venue-list" v-for="list in venueList" :key="list.id">
|
||||
<img :src="url + '/venuebooking/route/file/downloadfile/false/' + list.venuePanorama" alt="">
|
||||
<div class="venue-name">
|
||||
<p>{{list.venueName}}</p>
|
||||
</div>
|
||||
</router-link>
|
||||
</ul>
|
||||
<div class="no-data" v-else>
|
||||
<img src="@/assets/images/no-data.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pager" v-if="hasData">
|
||||
@ -66,6 +67,9 @@
|
||||
<i v-if="showJumpBtn">/{{page.totalPage}}页</i>
|
||||
<button v-if="showJumpBtn" @click="doJumpPage">跳转</button>
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="@/assets/images/loading.gif" alt="">
|
||||
</div>
|
||||
<Footer></Footer>
|
||||
</div>
|
||||
</template>
|
||||
@ -96,13 +100,11 @@ export default {
|
||||
venueCity: '',
|
||||
venueArea: ''
|
||||
},
|
||||
url: common.url
|
||||
url: common.url,
|
||||
isLoading: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
hasArea: function () {
|
||||
return this.page.venueCity !== ''
|
||||
},
|
||||
hasData () {
|
||||
return this.venueList.length > 0
|
||||
},
|
||||
@ -141,25 +143,21 @@ export default {
|
||||
self.typeList = res.data.data
|
||||
})
|
||||
},
|
||||
getCityList: function () {
|
||||
// getCityList: function () {
|
||||
// var self = this
|
||||
// axios.get(self.url + 'venuebooking/app/venuedictionary/listvenuedictionarybyparentidrelease/5f61c256-2c91-4065-b8f3-0ccbd535e582').then(function (res) {
|
||||
// self.cityList = res.data.data
|
||||
// })
|
||||
// },
|
||||
getAreaList: function () {
|
||||
var self = this
|
||||
axios.get(self.url + 'venuebooking/app/venuedictionary/listvenuedictionarybyparentidrelease/5f61c256-2c91-4065-b8f3-0ccbd535e582').then(function (res) {
|
||||
self.cityList = res.data.data
|
||||
})
|
||||
},
|
||||
getAreaList: function (id) {
|
||||
var self = this
|
||||
if (id) {
|
||||
self.page.venueCity = id
|
||||
} else {
|
||||
self.page.venueCity = ''
|
||||
}
|
||||
axios.get(self.url + 'venuebooking/app/venuedictionary/listvenuedictionarybyparentidrelease/' + id).then(function (res) {
|
||||
axios.get(self.url + 'venuebooking/app/venuedictionary/listvenuedictionarybyparentidrelease/fbd845d6-a74b-457a-8da1-fec66ab0d400').then(function (res) {
|
||||
self.areaList = res.data.data
|
||||
})
|
||||
},
|
||||
getVenueList: function () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
axios.get(self.url + 'venuebooking/app/venuesinfo/listpagevenuesinforelease', {
|
||||
params: self.page
|
||||
}).then(function (res) {
|
||||
@ -170,12 +168,14 @@ export default {
|
||||
self.page.page = res.data.page
|
||||
self.changePage = res.data.page
|
||||
self.page.totalPage = Math.ceil(res.data.total / self.page.rows)
|
||||
self.isLoading = false
|
||||
})
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.getTypeList()
|
||||
this.getCityList()
|
||||
// this.getCityList()
|
||||
this.getAreaList()
|
||||
this.getVenueList()
|
||||
}
|
||||
}
|
||||
@ -205,6 +205,8 @@ export default {
|
||||
font-size 14px
|
||||
span
|
||||
color #565656
|
||||
vertical-align top
|
||||
line-height 30px
|
||||
button
|
||||
font-family 'zangwen'
|
||||
width 80px
|
||||
@ -325,4 +327,13 @@ export default {
|
||||
vertical-align middle
|
||||
color #fff
|
||||
font-size 14px
|
||||
.loading
|
||||
position fixed
|
||||
top 50%
|
||||
left 50%
|
||||
transform translate(-50%, -50%)
|
||||
background rgba(255,255,255,0.6)
|
||||
padding 30px
|
||||
border-radius 10px
|
||||
box-shadow 0 0 17px #DEDEDE
|
||||
</style>
|
||||
|
@ -33,7 +33,7 @@
|
||||
<div class="venue-map">
|
||||
<img src="@/assets/images/guide-img.png" alt="">
|
||||
<baidu-map class="map-container" :center="center" :zoom="zoom" @ready="getVenueDetail">
|
||||
<bm-marker :position="center" :dragging="true" animation="BMAP_ANIMATION_BOUNCE">
|
||||
<bm-marker :position="center" :dragging="false" animation="BMAP_ANIMATION_BOUNCE">
|
||||
<bm-label :content="venueInfo.venueName" :labelStyle="labelStyle" :offset="{width: -50, height: 30}"/>
|
||||
</bm-marker>
|
||||
</baidu-map>
|
||||
|
@ -7,17 +7,22 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="exhibition">
|
||||
<ul>
|
||||
<li v-for="(list,idx) in exhibition" :key="idx" @click="goDetail(list.templateRecordUrl)">
|
||||
<div class="exhibition-img">
|
||||
<img :src="url + 'news/route/file/downloadfile/false/' + list.newsContentCoverList" alt="">
|
||||
</div>
|
||||
<div class="exhibition-info">
|
||||
<h1>{{list.newsContentTitle}}</h1>
|
||||
<p>作者:{{list.newsContentAuthor}}</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div v-if="!isLoading">
|
||||
<ul v-if="hasData">
|
||||
<li v-for="(list,idx) in exhibition" :key="idx" @click="goDetail(list.templateRecordUrl)">
|
||||
<div class="exhibition-img">
|
||||
<img :src="url + 'news/route/file/downloadfile/false/' + list.newsContentCoverList" alt="">
|
||||
</div>
|
||||
<div class="exhibition-info">
|
||||
<h1>{{list.newsContentTitle}}</h1>
|
||||
<p>作者:{{list.newsContentAuthor}}</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="no-data" v-else>
|
||||
<img src="@/assets/images/no-data.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pager" v-if="hasData">
|
||||
<span @click="paging(1)">首页</span>
|
||||
@ -44,6 +49,9 @@
|
||||
<i v-if="showJumpBtn">/{{page.totalPage}}页</i>
|
||||
<button v-if="showJumpBtn" @click="doJumpPage">跳转</button>
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="@/assets/images/loading.gif" alt="">
|
||||
</div>
|
||||
<Footer></Footer>
|
||||
</div>
|
||||
</template>
|
||||
@ -69,7 +77,8 @@ export default {
|
||||
totalPage: 1,
|
||||
newsDirectoriesId: 'f1d5d313-f728-4dda-9843-1116d97e17b0'
|
||||
},
|
||||
url: common.url
|
||||
url: common.url,
|
||||
isLoading: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@ -94,12 +103,14 @@ export default {
|
||||
},
|
||||
getList: function () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
axios.get(self.url + 'news/app/newscontent/listpagenewscontentrelease', {
|
||||
params: self.page
|
||||
}).then(function (res) {
|
||||
for (var i = 0; i < res.data.rows.length; i++) {
|
||||
res.data.rows[i].newsContentCoverList = res.data.rows[i].newsContentCoverList[0].contentCoverId
|
||||
}
|
||||
self.isLoading = false
|
||||
self.exhibition = res.data.rows
|
||||
self.page.page = res.data.page
|
||||
self.page.totalPage = Math.ceil(res.data.total / self.page.rows)
|
||||
@ -114,6 +125,20 @@ export default {
|
||||
|
||||
<style lang="stylus" rel="stylesheet/stylus" scoped>
|
||||
@import "~styles/public.styl"
|
||||
.no-data
|
||||
padding 80px 0
|
||||
text-align center
|
||||
img
|
||||
width 200px
|
||||
.loading
|
||||
position fixed
|
||||
top 50%
|
||||
left 50%
|
||||
transform translate(-50%, -50%)
|
||||
background rgba(255,255,255,0.6)
|
||||
padding 30px
|
||||
border-radius 10px
|
||||
box-shadow 0 0 17px #DEDEDE
|
||||
.location
|
||||
background #e5e5e5
|
||||
line-height 30px
|
||||
|
@ -46,7 +46,8 @@ export default {
|
||||
literature: [],
|
||||
dynamicsPage: {
|
||||
page: 1,
|
||||
rows: 5
|
||||
rows: 5,
|
||||
newsDirectoriesParentId: 'f497904b-7727-4832-891c-604c36ae4167'
|
||||
},
|
||||
activityPage: {
|
||||
page: 1,
|
||||
@ -115,7 +116,7 @@ export default {
|
||||
params: {
|
||||
page: 1,
|
||||
rows: 3,
|
||||
newsDirectoriesParentId: '51ae7beb-f277-47a4-937a-088e6d47656d'
|
||||
newsDirectoriesId: 'eab0ca3c-d35d-4c02-9397-ace2bdd10fc1'
|
||||
}
|
||||
}).then(function (res) {
|
||||
for (var i = 0; i < res.data.rows.length; i++) {
|
||||
|
@ -2,7 +2,7 @@
|
||||
<div class="index-swiper">
|
||||
<swiper ref="mySwiper" :options="swiperOptions" class="swiper-outer">
|
||||
<swiper-slide class="swiper-box" v-for="(swiper,idx) in swiperList" :key="idx">
|
||||
<img :src="url + 'news/route/file/downloadfile/false/' + swiper.newsContentCoverList" alt="" class="banner-img">
|
||||
<img :src="url + 'news/route/file/downloadfile/false/' + swiper.newsContentCoverList" alt="" class="banner-img" @click="goDetail(swiper.templateRecordUrl)">
|
||||
</swiper-slide>
|
||||
<div class="swiper-pagination" slot="pagination"></div>
|
||||
</swiper>
|
||||
@ -20,11 +20,16 @@ export default {
|
||||
return {
|
||||
swiperOptions: {
|
||||
pagination: '.swiper-pagination',
|
||||
loop: true,
|
||||
// loop: true,
|
||||
autoplay: 3000
|
||||
},
|
||||
url: common.url
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
goDetail: function (url) {
|
||||
window.location.href = this.url + url
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@ -51,6 +56,7 @@ export default {
|
||||
width 100%
|
||||
height 100%
|
||||
.swiper-box
|
||||
cursor pointer
|
||||
.banner-img
|
||||
width 100%
|
||||
height 100%
|
||||
|
@ -15,8 +15,8 @@
|
||||
<p>国家级名录将非物质文化遗产分为十大门类,其中五个门类的名称在2008年有所调整,并沿用至今。十大门类分别为:民间文学,传统音乐,传统舞蹈,传统戏剧,曲艺,传统体育、游艺与杂技,传统美术,传统技艺,传统医药,民俗。每个代表性项目都有一个专属的项目编号。编号中的罗马数字代表所属门类,如传统音乐类国家级项目“侗族大歌”的项目编号为“Ⅱ-28”。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="heritage-list">
|
||||
<table>
|
||||
<div class="heritage-list" v-if="!isLoading">
|
||||
<table v-if="hasData">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="8%">序号</th>
|
||||
@ -42,8 +42,11 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="no-data" v-else>
|
||||
<img src="@/assets/images/no-data.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="pager">
|
||||
<div class="pager" v-if="hasData">
|
||||
<span @click="paging(1)">首页</span>
|
||||
<span @click="paging(page.page - 1)" v-if="page.page > 1">上一页</span>
|
||||
<ul v-if="page.totalPage > 0 && page.totalPage <= 5">
|
||||
@ -66,6 +69,9 @@
|
||||
<span @click="paging(page.totalPage)">尾页</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="@/assets/images/loading.gif" alt="">
|
||||
</div>
|
||||
<Footer></Footer>
|
||||
</div>
|
||||
</template>
|
||||
@ -89,21 +95,27 @@ export default {
|
||||
totalPage: 1
|
||||
},
|
||||
heritageList: [],
|
||||
url: common.url
|
||||
url: common.url,
|
||||
isLoading: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
showJumpBtn () {
|
||||
return this.heritageList.length > 1
|
||||
},
|
||||
hasData () {
|
||||
return this.heritageList.length > 0
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getHeritageInfo () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
axios.get(self.url + 'library/app/intangiblelibrary/listpageintangiblelibraryrelease', {
|
||||
params: self.page
|
||||
}).then(function (res) {
|
||||
if (res.status === 200) {
|
||||
self.isLoading = false
|
||||
self.heritageList = res.data.rows
|
||||
self.page.currentPage = res.data.page
|
||||
}
|
||||
@ -118,6 +130,20 @@ export default {
|
||||
|
||||
<style lang="stylus" rel="stylesheet/stylus" scoped>
|
||||
@import "~styles/public.styl"
|
||||
.loading
|
||||
position fixed
|
||||
top 50%
|
||||
left 50%
|
||||
transform translate(-50%, -50%)
|
||||
background rgba(255,255,255,0.6)
|
||||
padding 30px
|
||||
border-radius 10px
|
||||
box-shadow 0 0 17px #DEDEDE
|
||||
.no-data
|
||||
padding 80px 0
|
||||
text-align center
|
||||
img
|
||||
width 200px
|
||||
.location
|
||||
background #e5e5e5
|
||||
line-height 30px
|
||||
|
@ -16,17 +16,25 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="resource">
|
||||
<ul>
|
||||
<router-link :to="{path: '/resourceDetail/' + list.intangibleLibraryDataId}" tag="li" v-for="(list,idx) in resource" :key="idx">
|
||||
<div class="resource-img">
|
||||
<img :src="url + 'library/route/file/downloadfile/false/' + list.libraryDataCover" alt="">
|
||||
</div>
|
||||
<div class="resource-info">
|
||||
<h3>{{list.libraryDataTitle}}</h3>
|
||||
<p>{{list.libraryDataAuthor}}</p>
|
||||
</div>
|
||||
</router-link>
|
||||
</ul>
|
||||
<div v-if="!isLoading">
|
||||
<ul v-if="hasData">
|
||||
<router-link :to="{path: '/resourceDetail/' + list.intangibleLibraryDataId}" tag="li" v-for="(list,idx) in resource" :key="idx">
|
||||
<div class="resource-img">
|
||||
<img :src="url + 'library/route/file/downloadfile/false/' + list.libraryDataCover" alt="">
|
||||
</div>
|
||||
<div class="resource-info">
|
||||
<h3>{{list.libraryDataTitle}}</h3>
|
||||
<p>{{list.libraryDataAuthor}}</p>
|
||||
</div>
|
||||
</router-link>
|
||||
</ul>
|
||||
<div class="no-data" v-else>
|
||||
<img src="@/assets/images/no-data.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="@/assets/images/loading.gif" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="pager" v-if="hasData">
|
||||
<span @click="paging(1)">首页</span>
|
||||
@ -79,7 +87,8 @@ export default {
|
||||
rows: 10,
|
||||
totalPage: 1
|
||||
},
|
||||
url: common.url
|
||||
url: common.url,
|
||||
isLoading: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@ -106,6 +115,7 @@ export default {
|
||||
},
|
||||
getTypeList: function () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
axios.get(self.url + 'library/app/intangiblelibrary/listpageintangiblelibraryrelease?libraryDirectoriesId=b05bdd02-28b6-451e-9fe1-3d96543c1658').then(function (res) {
|
||||
self.typeList = res.data.rows
|
||||
self.selected = res.data.rows[0].intangibleLibraryId
|
||||
@ -117,6 +127,7 @@ export default {
|
||||
axios.get(self.url + 'library/app/intangiblelibrarydata/listpageintangiblelibrarydatarelease/' + self.selected, {
|
||||
params: self.page
|
||||
}).then(function (res) {
|
||||
self.isLoading = false
|
||||
self.resource = res.data.rows
|
||||
self.page.totalPage = Math.ceil(res.data.total / self.page.rows)
|
||||
})
|
||||
@ -138,6 +149,15 @@ export default {
|
||||
|
||||
<style lang="stylus" rel="stylesheet/stylus" scoped>
|
||||
@import "~styles/public.styl"
|
||||
.loading
|
||||
position fixed
|
||||
top 50%
|
||||
left 50%
|
||||
transform translate(-50%, -50%)
|
||||
background rgba(255,255,255,0.6)
|
||||
padding 30px
|
||||
border-radius 10px
|
||||
box-shadow 0 0 17px #DEDEDE
|
||||
.location
|
||||
background #e5e5e5
|
||||
line-height 30px
|
||||
@ -146,6 +166,11 @@ export default {
|
||||
margin 0 auto
|
||||
font-size 14px
|
||||
color #565656
|
||||
.no-data
|
||||
padding 80px 0
|
||||
text-align center
|
||||
img
|
||||
width 200px
|
||||
.select
|
||||
padding 10px 0 0
|
||||
background #f0f0f0
|
||||
@ -180,7 +205,10 @@ export default {
|
||||
margin 20px auto
|
||||
min-height 500px
|
||||
ul
|
||||
overflow hidden
|
||||
&:after
|
||||
content: ''
|
||||
display block
|
||||
clear both
|
||||
li
|
||||
width 215px
|
||||
float left
|
||||
|
@ -203,10 +203,11 @@
|
||||
<th width="8%">序号</th>
|
||||
<th width="8%">编号</th>
|
||||
<th width="20%">名称</th>
|
||||
<th width="17%">公布时间</th>
|
||||
<th width="10%">公布时间</th>
|
||||
<th width="10%">类型</th>
|
||||
<th width="17%">申报地区或单位</th>
|
||||
<th width="15%">申报地区或单位</th>
|
||||
<th width="20%">保护单位</th>
|
||||
<th width="9%">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@ -218,6 +219,7 @@
|
||||
<td>{{list.libraryTypeValue}}</td>
|
||||
<td>{{list.libraryArea}}</td>
|
||||
<td>{{list.libraryAuthor}}</td>
|
||||
<td><router-link :to="{path: '/intangibleHeritageDetail/' + list.intangibleLibraryId}" class="go-detail">查看详情</router-link></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -534,19 +536,22 @@ export default {
|
||||
font-size 12px
|
||||
border-radius 4px
|
||||
.service-container
|
||||
overflow hidden
|
||||
&:after
|
||||
content ''
|
||||
display block
|
||||
clear both
|
||||
.service-list
|
||||
float left
|
||||
width 280px
|
||||
box-sizing border-box
|
||||
border 1px solid #a8a8a8
|
||||
box-shadow:0px 0px 10px 0px rgba(176,176,176,0.3);
|
||||
margin-right 26px
|
||||
cursor pointer
|
||||
margin-bottom 26px
|
||||
&:nth-child(4n)
|
||||
margin-right 0
|
||||
&:hover
|
||||
background #eee
|
||||
box-shadow:0px 0px 20px 0px rgba(176,176,176,0.9);
|
||||
.service-img-box
|
||||
width 100%
|
||||
height 185px
|
||||
@ -598,7 +603,10 @@ export default {
|
||||
cursor pointer
|
||||
.venue
|
||||
ul
|
||||
overflow hidden
|
||||
&:after
|
||||
content ''
|
||||
display block
|
||||
clear both
|
||||
.venue-list
|
||||
float left
|
||||
width 280px
|
||||
@ -607,8 +615,11 @@ export default {
|
||||
margin-right 26px
|
||||
margin-bottom 26px
|
||||
cursor pointer
|
||||
box-shadow:0px 0px 10px 0px rgba(176,176,176,0.3);
|
||||
&:nth-child(4n)
|
||||
margin-right 0
|
||||
&:hover
|
||||
box-shadow:0px 0px 20px 0px rgba(176,176,176,0.9);
|
||||
img
|
||||
width 100%
|
||||
height 185px
|
||||
@ -632,15 +643,20 @@ export default {
|
||||
text-overflow: ellipsis
|
||||
.art
|
||||
ul
|
||||
overflow hidden
|
||||
&:after
|
||||
content ''
|
||||
display block
|
||||
clear both
|
||||
li
|
||||
float left
|
||||
width: 280px
|
||||
border solid 1px #dedede
|
||||
box-shadow:0px 0px 10px 0px rgba(176,176,176,0.3);
|
||||
margin-right 26px
|
||||
cursor pointer
|
||||
box-sizing border-box
|
||||
margin-bottom 10px
|
||||
&:hover
|
||||
box-shadow:0px 0px 20px 0px rgba(176,176,176,0.9);
|
||||
&:nth-child(4n)
|
||||
margin-right 0
|
||||
.recommend-img
|
||||
@ -671,7 +687,10 @@ export default {
|
||||
float right
|
||||
.broadcast
|
||||
ul
|
||||
overflow hidden
|
||||
&:after
|
||||
content ''
|
||||
display block
|
||||
clear both
|
||||
li
|
||||
width 280px
|
||||
box-sizing border-box
|
||||
@ -679,7 +698,9 @@ export default {
|
||||
margin-right 26px
|
||||
margin-bottom 20px
|
||||
cursor pointer
|
||||
border solid 1px #dedede
|
||||
box-shadow:0px 0px 10px 0px rgba(176,176,176,0.3);
|
||||
&:hover
|
||||
box-shadow:0px 0px 20px 0px rgba(176,176,176,0.9);
|
||||
&:last-child
|
||||
margin-right 0
|
||||
.broadcast-img
|
||||
@ -722,16 +743,21 @@ export default {
|
||||
margin 0 auto
|
||||
.literature
|
||||
ul
|
||||
overflow hidden
|
||||
&:after
|
||||
content ''
|
||||
display block
|
||||
clear both
|
||||
li
|
||||
width 280px
|
||||
float left
|
||||
margin-right 26px
|
||||
margin-bottom 15px
|
||||
border 1px solid #e3e3e3
|
||||
box-shadow:0px 0px 10px 0px rgba(176,176,176,0.3);
|
||||
padding 15px
|
||||
box-sizing border-box
|
||||
cursor pointer
|
||||
&:hover
|
||||
box-shadow:0px 0px 20px 0px rgba(176,176,176,0.9);
|
||||
&:nth-child(4n)
|
||||
margin-right 0
|
||||
.resource-img
|
||||
@ -756,15 +782,20 @@ export default {
|
||||
color: #999;
|
||||
.volunteer
|
||||
ul
|
||||
overflow hidden
|
||||
&:after
|
||||
content ''
|
||||
display block
|
||||
clear both
|
||||
li
|
||||
width 280px
|
||||
float left
|
||||
margin-right 20px
|
||||
border 1px solid #a8a8a8
|
||||
box-shadow:0px 0px 10px 0px rgba(176,176,176,0.3);
|
||||
box-sizing border-box
|
||||
margin-bottom 20px
|
||||
cursor pointer
|
||||
&:hover
|
||||
box-shadow:0px 0px 20px 0px rgba(176,176,176,0.9);
|
||||
.volunteer-img
|
||||
width 100%
|
||||
height 185px
|
||||
@ -812,15 +843,20 @@ export default {
|
||||
cursor pointer
|
||||
.exhibition
|
||||
ul
|
||||
overflow hidden
|
||||
&:after
|
||||
content ''
|
||||
display block
|
||||
clear both
|
||||
li
|
||||
width 280px
|
||||
border 1px solid #a8a8a8
|
||||
box-shadow:0px 0px 10px 0px rgba(176,176,176,0.3);
|
||||
box-sizing border-box
|
||||
float left
|
||||
margin-right 25px
|
||||
margin-bottom 25px
|
||||
cursor pointer
|
||||
&:hover
|
||||
box-shadow:0px 0px 20px 0px rgba(176,176,176,0.9);
|
||||
&:nth-child(4n)
|
||||
margin-right 0
|
||||
.exhibition-img
|
||||
|
@ -7,7 +7,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="travel">
|
||||
<div class="travel-content">
|
||||
<div class="travel-content" v-if="!isLoading">
|
||||
<ul v-if="hasData">
|
||||
<li v-for="list in travel" :key="list.id" @click="goDetail(list.templateRecordUrl)">
|
||||
<div class="travel-img">
|
||||
@ -48,6 +48,9 @@
|
||||
<i v-if="showJumpBtn">/{{page.totalPage}}页</i>
|
||||
<button v-if="showJumpBtn" @click="doJumpPage">跳转</button>
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="@/assets/images/loading.gif" alt="">
|
||||
</div>
|
||||
<Footer></Footer>
|
||||
</div>
|
||||
</template>
|
||||
@ -73,7 +76,8 @@ export default {
|
||||
totalPage: 1,
|
||||
newsDirectoriesId: '51ae7beb-f277-47a4-937a-088e6d47656d'
|
||||
},
|
||||
url: common.url
|
||||
url: common.url,
|
||||
isLoading: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@ -95,12 +99,14 @@ export default {
|
||||
},
|
||||
getTravelList: function () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
axios.get(self.url + 'news/app/newscontent/listpagenewscontentrelease', {
|
||||
params: self.page
|
||||
}).then(function (res) {
|
||||
for (var i = 0; i < res.data.rows.length; i++) {
|
||||
res.data.rows[i].newsContentCoverList = res.data.rows[i].newsContentCoverList[0].contentCoverId
|
||||
}
|
||||
self.isLoading = false
|
||||
self.travel = res.data.rows
|
||||
self.changePage = res.data.page
|
||||
self.page.totalPage = Math.ceil(res.data.total / self.page.rows)
|
||||
@ -118,6 +124,15 @@ export default {
|
||||
|
||||
<style lang="stylus" rel="stylesheet/stylus" scoped>
|
||||
@import "~styles/public.styl"
|
||||
.loading
|
||||
position fixed
|
||||
top 50%
|
||||
left 50%
|
||||
transform translate(-50%, -50%)
|
||||
background rgba(255,255,255,0.6)
|
||||
padding 30px
|
||||
border-radius 10px
|
||||
box-shadow 0 0 17px #DEDEDE
|
||||
.location
|
||||
background #e5e5e5
|
||||
line-height 30px
|
||||
@ -129,6 +144,7 @@ export default {
|
||||
.travel
|
||||
background #f0f0f0
|
||||
padding 20px 0
|
||||
min-height 400px
|
||||
.travel-content
|
||||
margin 0 auto
|
||||
width 1200px
|
||||
|
@ -10,19 +10,24 @@
|
||||
<img src="@/assets/images/volunteer.png" alt="">
|
||||
</div>
|
||||
<div class="volunteer">
|
||||
<ul>
|
||||
<router-link :to="{path: '/volunteerDetail/' + list.volunteerServiceId}" tag="li" v-for="list in volunteer" :key="list.id">
|
||||
<div class="volunteer-img">
|
||||
<img :src="url + 'volunteer/route/file/downloadfile/false/' + list.photo" alt="">
|
||||
</div>
|
||||
<div class="volunteer-info">
|
||||
<h3>{{list.serviceName}}</h3>
|
||||
<p>计划招募:{{list.count}}人</p>
|
||||
<p>时间:{{list.startTime}}至{{list.endTime}}</p>
|
||||
<button>查看详情</button>
|
||||
</div>
|
||||
</router-link>
|
||||
</ul>
|
||||
<div v-if="!isLoading">
|
||||
<ul v-if="hasData">
|
||||
<router-link :to="{path: '/volunteerDetail/' + list.volunteerServiceId}" tag="li" v-for="list in volunteer" :key="list.id">
|
||||
<div class="volunteer-img">
|
||||
<img :src="url + 'volunteer/route/file/downloadfile/false/' + list.photo" alt="">
|
||||
</div>
|
||||
<div class="volunteer-info">
|
||||
<h3>{{list.serviceName}}</h3>
|
||||
<p>计划招募:{{list.count}}人</p>
|
||||
<p>时间:{{list.startTime}}至{{list.endTime}}</p>
|
||||
<button>查看详情</button>
|
||||
</div>
|
||||
</router-link>
|
||||
</ul>
|
||||
<div class="no-data" v-else>
|
||||
<img src="@/assets/images/no-data.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pager" v-if="hasData">
|
||||
<span @click="paging(1)">首页</span>
|
||||
@ -49,6 +54,9 @@
|
||||
<i v-if="showJumpBtn">/{{page.totalPage}}页</i>
|
||||
<button v-if="showJumpBtn" @click="doJumpPage">跳转</button>
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="@/assets/images/loading.gif" alt="">
|
||||
</div>
|
||||
<Footer></Footer>
|
||||
</div>
|
||||
</template>
|
||||
@ -73,7 +81,8 @@ export default {
|
||||
totalPage: 1,
|
||||
rows: 12
|
||||
},
|
||||
url: common.url
|
||||
url: common.url,
|
||||
isLoading: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@ -95,12 +104,14 @@ export default {
|
||||
},
|
||||
getVolunteerList: function () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
axios.get(self.url + 'volunteer/app/volunteerservice/listpagevolunteerservicerelease', {
|
||||
params: self.page
|
||||
}).then(function (res) {
|
||||
for (var i = 0; i < res.data.rows.length; i++) {
|
||||
res.data.rows[i].photo = res.data.rows[i].photo.split(',')[0]
|
||||
}
|
||||
self.isLoading = false
|
||||
self.volunteer = res.data.rows
|
||||
self.page.page = res.data.page
|
||||
self.changePage = res.data.page
|
||||
@ -282,4 +293,18 @@ export default {
|
||||
vertical-align middle
|
||||
color #fff
|
||||
font-size 14px
|
||||
.loading
|
||||
position fixed
|
||||
top 50%
|
||||
left 50%
|
||||
transform translate(-50%, -50%)
|
||||
background rgba(255,255,255,0.6)
|
||||
padding 30px
|
||||
border-radius 10px
|
||||
box-shadow 0 0 17px #DEDEDE
|
||||
.no-data
|
||||
padding 80px 0
|
||||
text-align center
|
||||
img
|
||||
width 200px
|
||||
</style>
|
||||
|
@ -29,6 +29,8 @@ import SearchResult from '@/pages/SearchResult/SearchResult'
|
||||
import ArtTrainList from '@/pages/ArtTrainList/ArtTrainList'
|
||||
import SearchList from '@/pages/SearchList/SearchList'
|
||||
import PersonCenter from '@/pages/PersonCenter/PersonCenter'
|
||||
import CultureMap from '@/pages/CultureMap/CultureMap'
|
||||
|
||||
Vue.use(Router)
|
||||
|
||||
export default new Router({
|
||||
@ -293,6 +295,15 @@ export default new Router({
|
||||
title: '日喀则市公共文化数字云平台',
|
||||
keepAlive: false
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/cultureMap',
|
||||
name: 'CultureMap',
|
||||
component: CultureMap,
|
||||
meta: {
|
||||
title: '日喀则市公共文化数字云平台',
|
||||
keepAlive: false
|
||||
}
|
||||
}
|
||||
]
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user