提交
8
.idea/.gitignore
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Datasource local storage ignored files
|
||||
/../../../../../../:\Users\董博\Desktop\乌兰察布H5\.idea/dataSources/
|
||||
/dataSources.local.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
6
.idea/misc.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
8
.idea/modules.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/乌兰察布H5.iml" filepath="$PROJECT_DIR$/.idea/乌兰察布H5.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
9
.idea/乌兰察布H5.iml
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
74
activity-detail.html
Normal file
@ -0,0 +1,74 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/swiper.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script src="js/rem.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" v-cloak>
|
||||
<div class="activity-slide">
|
||||
<div class="swiper mySwiper">
|
||||
<div class="swiper-wrapper">
|
||||
<div class="swiper-slide" v-for="item in activityDetail.activityImage">
|
||||
<a href="javascript: void(0);">
|
||||
<img :src="requestUrl + 'culturalactivity/route/file/downloadfile/true/' + item" alt="">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="activity-detail">
|
||||
<h3>{{activityDetail.activityTitle}}</h3>
|
||||
<p class="activity-time">{{activityDetail.activityApplyStartTime}}至{{activityDetail.activityApplyEndTime}}</p>
|
||||
<p class="activity-people"><span>活动人数:</span>{{activityDetail.activityUserNum}}人</p>
|
||||
<p class="activity-address"><span>活动地址:</span>{{activityDetail.activityAddress}}</p>
|
||||
<h4>活动详情</h4>
|
||||
<div class="activity-detail-container" v-html="activityDetail.activityDetails"></div>
|
||||
<h4>活动单位</h4>
|
||||
<p><span>主办单位:</span>{{activityDetail.activitySponsor}}</p>
|
||||
<p><span>承办单位:</span>{{activityDetail.activityOrganizer}}</p>
|
||||
<p><span>协办单位:</span>{{activityDetail.activityCoOrganizer}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/jquery-2.1.4.min.js"></script>
|
||||
<script src="js/ajax.js"></script>
|
||||
<script src="js/swiper.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
requestUrl: 'http://219.159.20.131:8081/',
|
||||
activityId: '',
|
||||
activityDetail: {}
|
||||
},
|
||||
methods: {
|
||||
getActivityDetail: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'culturalactivity/app/activitylibrary/getactivitylibrarybyidrelease/' + self.activityId, {}, {}, function (code, data) {
|
||||
console.log(data)
|
||||
data.activityImage = data.activityImage.split(',')
|
||||
self.activityDetail = data
|
||||
self.$nextTick(function () {
|
||||
var swiper = new Swiper(".mySwiper", {
|
||||
pagination: '.swiper-pagination',
|
||||
paginationClickable: true,
|
||||
autoplay: 3000
|
||||
});
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
mounted: function () {
|
||||
this.activityId = window.location.search.replace('?','').split('=')[1]
|
||||
this.getActivityDetail()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
166
activity.html
Normal file
@ -0,0 +1,166 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script src="js/rem.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" v-cloak>
|
||||
<div class="area">
|
||||
<div class="area-box" :class="{active: page.county == ''}" @click="loadAll">全部</div>
|
||||
<div class="area-box" v-for="area in areaList" :class="{active: page.county == area.areaId}" @click="changeArea(area.areaId,area.areaLevel)">{{area.areaName}}</div>
|
||||
</div>
|
||||
<div class="activity" v-if="activityList && activityList.length > 0">
|
||||
<div class="activity-box" v-for="activity in activityList" @click="goDetail(activity.activityLibraryId)">
|
||||
<div class="activity-img">
|
||||
<img :src="requestUrl + 'culturalactivity/route/file/downloadfile/true/' + activity.activityImage" alt="">
|
||||
<div class="status" v-if="activity.activityState == '3'">报名中</div>
|
||||
<div class="status" v-if="activity.activityState == '4'">报名人数已满</div>
|
||||
<div class="status" v-if="activity.activityState == '5'">停止报名</div>
|
||||
<div class="status" v-if="activity.activityState == '6'">进行中</div>
|
||||
<div class="status" v-if="activity.activityState == '7'">直接进入</div>
|
||||
<div class="status" v-if="activity.activityState == '99'">已结束</div>
|
||||
</div>
|
||||
<div class="activity-info">
|
||||
<h4>{{activity.activityTitle}}</h4>
|
||||
<p>{{activity.activityStartTime}}至{{activity.activityEndTime}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="load-more" v-if="haveMore && activityList && activityList.length > 0" @click="loadMore">加载更多</div>
|
||||
</div>
|
||||
<div class="no-data" v-else>
|
||||
<img src="image/no-data.png" alt="">
|
||||
</div>
|
||||
<div class="bottom-nav">
|
||||
<div class="bottom-nav-box" @click="goBottomNav('1')">
|
||||
<div class="nav-icon"></div>
|
||||
<span>首页</span>
|
||||
</div>
|
||||
<div class="bottom-nav-box active">
|
||||
<div class="nav-icon"></div>
|
||||
<span>活动</span>
|
||||
</div>
|
||||
<div class="bottom-nav-box" @click="goBottomNav('3')">
|
||||
<div class="nav-icon"></div>
|
||||
<span>场馆</span>
|
||||
</div>
|
||||
<div class="bottom-nav-box" @click="goBottomNav('4')">
|
||||
<div class="nav-icon"></div>
|
||||
<span>文化</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="image/loading.gif" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/jquery-2.1.4.min.js"></script>
|
||||
<script src="js/ajax.js"></script>
|
||||
<script src="js/layer/layer.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el:'#app',
|
||||
data: {
|
||||
requestUrl: 'http://219.159.20.131:8081/',
|
||||
areaList: [],
|
||||
activityList: [],
|
||||
page: {
|
||||
page: 1,
|
||||
rows: 10,
|
||||
newsDirectoriesId: '6b80b810-ab37-455a-ada7-a224b904c3ce',
|
||||
county: ''
|
||||
},
|
||||
haveMore: true,
|
||||
isLoading: true
|
||||
},
|
||||
methods: {
|
||||
getAreaList: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'usercenter/app/dataarea/listareabyparentidrelease/110889', {}, null, function (code, data) {
|
||||
self.areaList = data
|
||||
})
|
||||
},
|
||||
changeArea: function (id, lv) {
|
||||
if (!this.isLoading) {
|
||||
var level = parseInt(lv) + 1
|
||||
level = 'area' + level
|
||||
this.page.county = id
|
||||
this.page[level] = id
|
||||
this.page.page = 1
|
||||
this.haveMore = true
|
||||
this.getActivityList()
|
||||
}
|
||||
},
|
||||
loadAll: function () {
|
||||
if (!this.isLoading) {
|
||||
this.page = {
|
||||
page: 1,
|
||||
rows: 10,
|
||||
newsDirectoriesId: '6b80b810-ab37-455a-ada7-a224b904c3ce',
|
||||
county: ''
|
||||
}
|
||||
this.haveMore = true
|
||||
this.getActivityList()
|
||||
}
|
||||
},
|
||||
getActivityList: function () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
doGetForm(self.requestUrl + 'culturalactivity/app/activitylibrary/listpageactivitylibraryfornetrelease', self.page, null, function (code, data) {
|
||||
if (self.page.page == '1') {
|
||||
self.activityList = data.rows
|
||||
if (data.rows.length > 0) {
|
||||
self.haveMore = true
|
||||
} else {
|
||||
self.haveMore = false
|
||||
}
|
||||
self.isLoading = false
|
||||
return
|
||||
}
|
||||
if (data.rows.length > 0) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
self.activityList.push(data.rows[i])
|
||||
}
|
||||
self.haveMore = true
|
||||
} else {
|
||||
self.page.page--
|
||||
self.haveMore = false
|
||||
layer.msg('暂无更多')
|
||||
}
|
||||
self.isLoading = false
|
||||
})
|
||||
},
|
||||
loadMore: function () {
|
||||
if (!this.isLoading) {
|
||||
this.page.page++
|
||||
this.getActivityList()
|
||||
}
|
||||
},
|
||||
// 底部导航
|
||||
goBottomNav: function (nav) {
|
||||
if (nav == '1') {
|
||||
window.location.href = 'index.html'
|
||||
} else if (nav == '3') {
|
||||
window.location.href= 'venue.html'
|
||||
} else {
|
||||
window.location.href= 'culture.html'
|
||||
}
|
||||
},
|
||||
goDetail: function (id) {
|
||||
if (!this.isLoading) {
|
||||
window.location.href = 'activity-detail.html?id=' + id
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted: function () {
|
||||
this.getAreaList()
|
||||
this.getActivityList()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
187
comprehensive.html
Normal file
@ -0,0 +1,187 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script src="js/rem.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" v-cloak>
|
||||
<div class="area">
|
||||
<!-- <div class="area-box" v-for="type in typeList" :class="{active: curType == type.newsDirectoriesId}" @click="changeType(type.newsDirectoriesId)">{{type.directoriesName}}</div>-->
|
||||
<div class="area-box" :class="{active: curType == '588555a2-cfce-426c-8f60-4f76e8e59842'}" @click="changeType('588555a2-cfce-426c-8f60-4f76e8e59842')">通知公告</div>
|
||||
<div class="area-box" :class="{active: curType == '1e494b7f-d0e4-4baa-acfe-57268247e0e4'}" @click="changeType('1e494b7f-d0e4-4baa-acfe-57268247e0e4')">工作动态</div>
|
||||
<div class="area-box" :class="{active: curType == '05501705-aa68-4ee9-a7bf-07f45d3a8e88'}" @click="changeType('05501705-aa68-4ee9-a7bf-07f45d3a8e88')">政务公开</div>
|
||||
</div>
|
||||
<!-- <div class="area news-area">-->
|
||||
<!-- <div class="area-box" :class="{active: page.county == ''}" @click="loadAll">全部</div>-->
|
||||
<!-- <div class="area-box" v-for="area in areaList" :class="{active: page.county == area.areaId}" @click="changeArea(area.areaId,area.areaLevel)">{{area.areaName}}</div>-->
|
||||
<!-- </div>-->
|
||||
<div class="news-list" :style="{'margin-top': toTop}" v-if="newsList && newsList.length > 0">
|
||||
<div class="news-list-box" v-for="news in newsList" @click="goDetail(news.newsContentLink, news.templateRecordUrl, news.newsContentType, news.newsContentContent)">
|
||||
<img :src="requestUrl + 'news/route/file/downloadfile/true/' + news.newsContentCoverList" alt="">
|
||||
<div class="news-list-info">
|
||||
<h3>{{news.newsContentTitle}}</h3>
|
||||
<p>作者:{{news.newsContentAuthor}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="load-more" v-if="haveMore && newsList && newsList.length > 0" @click="loadMore">加载更多</div>
|
||||
</div>
|
||||
<div class="no-data" v-else>
|
||||
<img src="image/no-data.png" alt="">
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="image/loading.gif" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/jquery-2.1.4.min.js"></script>
|
||||
<script src="js/ajax.js"></script>
|
||||
<script src="js/layer/layer.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
areaList: [],
|
||||
typeList: [],
|
||||
newsList: [],
|
||||
curType: '588555a2-cfce-426c-8f60-4f76e8e59842',
|
||||
page: {
|
||||
page: 1,
|
||||
rows: 10,
|
||||
newsDirectoriesId: '588555a2-cfce-426c-8f60-4f76e8e59842',
|
||||
county: ''
|
||||
},
|
||||
requestUrl: 'http://219.159.20.131:8081/',
|
||||
haveMore: true,
|
||||
isLoading: false,
|
||||
toTop: ''
|
||||
},
|
||||
methods: {
|
||||
getAreaList: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'usercenter/app/dataarea/listareabyparentidrelease/110889', {}, null, function (code, data) {
|
||||
self.areaList = data
|
||||
})
|
||||
},
|
||||
changeArea: function (id, lv) {
|
||||
if (!this.isLoading) {
|
||||
var level = parseInt(lv) + 1
|
||||
level = 'area' + level
|
||||
this.page.county = id
|
||||
this.page[level] = id
|
||||
this.page.page = 1
|
||||
this.haveMore = true
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
getTypeList: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'news/app/newsdirectories/listnewsdirectoriesrelease', {
|
||||
directoriesParentId: self.page.newsDirectoriesId
|
||||
}, {}, function (code, data) {
|
||||
self.typeList = data
|
||||
self.curType = data[0].newsDirectoriesId
|
||||
self.page.newsDirectoriesId = data[0].newsDirectoriesId
|
||||
self.getNewsList()
|
||||
})
|
||||
},
|
||||
changeType: function (type) {
|
||||
if (!this.isLoading) {
|
||||
this.curType = type
|
||||
this.page.newsDirectoriesId = type
|
||||
this.page.page = 1
|
||||
this.haveMore = true
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
getNewsList: function () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
doGetForm(self.requestUrl + 'news/app/newscontent/listpagenewscontentrelease', self.page, {}, function (code, data) {
|
||||
if (self.page.page == '1') {
|
||||
if (data.rows.length > 0) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
data.rows[i].newsContentCoverList = data.rows[i].newsContentCoverList[0].contentCoverId
|
||||
self.newsList.push(data.rows[i])
|
||||
}
|
||||
self.newsList = data.rows
|
||||
if (data.rows.length > 0) {
|
||||
self.haveMore = true
|
||||
self.isLoading = false
|
||||
} else {
|
||||
self.haveMore = false
|
||||
self.isLoading = false
|
||||
}
|
||||
return
|
||||
} else {
|
||||
self.newsList = []
|
||||
self.haveMore = false
|
||||
self.isLoading = false
|
||||
}
|
||||
} else {
|
||||
if (data.rows.length > 0) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
data.rows[i].newsContentCoverList = data.rows[i].newsContentCoverList[0].contentCoverId
|
||||
self.newsList.push(data.rows[i])
|
||||
}
|
||||
self.haveMore = true
|
||||
self.isLoading = false
|
||||
} else {
|
||||
self.page.page--
|
||||
self.haveMore = false
|
||||
self.isLoading = false
|
||||
layer.msg('暂无更多')
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
},
|
||||
loadMore: function () {
|
||||
if (!this.isLoading) {
|
||||
this.page.page++
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
loadAll: function () {
|
||||
if (!this.isLoading) {
|
||||
var self = this
|
||||
this.page = {
|
||||
page: 1,
|
||||
rows: 10,
|
||||
newsDirectoriesId: self.curType,
|
||||
county: ''
|
||||
}
|
||||
this.haveMore = true
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
// 新闻详情
|
||||
goDetail: function (link, url, type, outlink) {
|
||||
if (!this.isLoading) {
|
||||
if (type === '6') {
|
||||
window.open(outlink)
|
||||
} else {
|
||||
if (link) {
|
||||
window.open(link)
|
||||
} else {
|
||||
window.location.href = this.requestUrl + url
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
mounted: function () {
|
||||
// this.page.newsDirectoriesId = window.location.search.replace('?','').split('=')[1]
|
||||
// this.getAreaList()
|
||||
// this.getTypeList()
|
||||
this.getNewsList()
|
||||
this.toTop = $('.area').height() + 'px'
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
1
css/reset.css
Normal file
@ -0,0 +1 @@
|
||||
@charset "utf-8";a,body,dd,div,dl,dt,em,form,h1,h2,h3,h4,h5,h6,img,input,li,ol,option,p,select,span,strong,table,td,textarea,th,ul,var{margin:0;padding:0}body,html{font:400 100% "微软雅黑",Arail,Tabhoma;text-align:left;color:#535353;-webkit-font-smoothing:antialiased;line-height:normal}ol,ul{list-style:none}img{border:0;vertical-align:top}input,select,textarea{outline:0}textarea{resize:none}table{border-collapse:collapse;border-spacing:0}em,strong,th,var{font-weight:400;font-style:normal}a{text-decoration:none;color:#555}a,input{-webkit-tap-highlight-color:transparent}[v-cloak]{display: none}
|
249
css/style.css
Normal file
@ -0,0 +1,249 @@
|
||||
body{background:#fafafa}
|
||||
#app{padding:.2rem;font-size:0}
|
||||
.swiper{border-radius:.2rem;overflow:hidden;position:relative}
|
||||
.swiper-slide a{display:block}
|
||||
.swiper-slide a img{width:100%;height:3.5rem}
|
||||
.swiper-pagination{width: 100%;bottom: 10px;}
|
||||
.nav,.venue-container{margin-top:.3rem;width:100%;overflow-x:scroll;overflow-y:visible;white-space:nowrap}
|
||||
.nav-box{display:inline-block;width:25%}
|
||||
.nav-box img{width:1rem;height:1rem;display:block;margin:0 auto .2rem}
|
||||
.nav-box p{font-size:.28rem;color:#122939;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
||||
.venue{margin-top:.4rem}
|
||||
.venue h3{font-size:.34rem;color:#122939}
|
||||
.venue-box{display:inline-block;width:2.7rem;background:#fff;box-shadow:0 2px 8px 0 rgba(35,24,21,.1);border-radius:.12rem;overflow:hidden;margin-right:.2rem}
|
||||
.venue-box:last-child{margin-right:0}
|
||||
.venue-box img{width:100%;height:1.2rem}
|
||||
.venue-info{padding:.15rem}
|
||||
.venue-info h4{font-size:.24rem;color:#122939;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
||||
.venue-info p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.22rem;color:#999;padding-left:.25rem}
|
||||
.venue-info p.phone{background:url(../image/phone.png) no-repeat left center;background-size:.16rem .2rem}
|
||||
.venue-info p.time{background:url(../image/time.png) no-repeat left center;background-size:.14rem .14rem}
|
||||
.bottom-text{margin: .2rem 0 1rem;}
|
||||
.bottom-text p{text-align: center;font-size: .22rem;color: #122939;line-height: .5rem;}
|
||||
.news-box{padding:.2rem;overflow:hidden;border-bottom:1px solid #eee;background:#fff}
|
||||
.news-box h4{font-size:.3rem;color:#122939;margin-bottom:.2rem}
|
||||
.big-img-box img{width:100%}
|
||||
.news-box p{font-size:.24rem;color:#999;margin-top:.2rem}
|
||||
.style3 .news-info{float:left;width:68%}
|
||||
.style3 .news-img{float:right;width:30%;height:1.5rem}
|
||||
.style3 .news-img img{width:100%;height:100%}
|
||||
.style2 .news-info{float:right!important}
|
||||
.style2 .news-img{float:left!important}
|
||||
.three-img img{width:32%;height:1.5rem;margin-right:2%}
|
||||
.three-img img:last-child{margin-right:0}
|
||||
.live{margin-bottom:1.2rem}
|
||||
.live-container{overflow:hidden;margin-top:.2rem}
|
||||
.live-box{width:49%}
|
||||
.live-box:nth-child(odd){float:left}
|
||||
.live-box:nth-child(even){float:right}
|
||||
.live-box p{font-size:.26rem;color:#122939;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 .1rem}
|
||||
.live-img{position:relative;border-radius:.2rem;overflow:hidden}
|
||||
.live-img img{width:100%;height:2.2rem}
|
||||
.live-img span{position:absolute;left:.2rem;bottom:.2rem;background:linear-gradient(90deg,rgba(9,86,224,.97),rgba(65,127,237,.97));color:#fff;font-size:.22rem;padding:.05rem;border-radius:.1rem}
|
||||
.bottom-nav{position:fixed;bottom:0;left:0;right:0;overflow:hidden;background:#f5f5f5;z-index:1;height:1rem}
|
||||
.bottom-nav-box{float:left;width:25%;text-align:center;padding:.15rem 0}
|
||||
.bottom-nav-box span{font-size:.22rem;color:#333}
|
||||
.nav-icon{height:.4rem}
|
||||
.bottom-nav-box:first-child .nav-icon{background:url(../image/index.png) no-repeat center;background-size:.37rem .4rem}
|
||||
.bottom-nav-box:first-child.active .nav-icon{background:url(../image/index-on.png) no-repeat center;background-size:.37rem .4rem}
|
||||
.bottom-nav-box:nth-child(2) .nav-icon{background:url(../image/activity.png) no-repeat center;background-size:.37rem .4rem}
|
||||
.bottom-nav-box:nth-child(2).active .nav-icon{background:url(../image/activity-on.png) no-repeat center;background-size:.37rem .4rem}
|
||||
.bottom-nav-box:nth-child(3) .nav-icon{background:url(../image/venue.png) no-repeat center;background-size:.37rem .37rem}
|
||||
.bottom-nav-box:nth-child(3).active .nav-icon{background:url(../image/venue-on.png) no-repeat center;background-size:.37rem .37rem}
|
||||
.bottom-nav-box:nth-child(4) .nav-icon{background:url(../image/culture.png) no-repeat center;background-size:.37rem .4rem}
|
||||
.bottom-nav-box:nth-child(4).active .nav-icon{background:url(../image/culture-on.png) no-repeat center;background-size:.37rem .4rem}
|
||||
|
||||
.area{position:fixed;top:0;left:0;right:0;background:#fff;border-bottom:1px solid #eee;z-index:1}
|
||||
.area-box{display:inline-block;min-width:25%;padding:0 .1rem;box-sizing:border-box;text-align:center;line-height:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#122939;font-size:.26rem}
|
||||
.area-box.active{color:#125ce1}
|
||||
.activity{margin:1rem 0}
|
||||
.activity-box{background:#fff;box-shadow:0 2px 8px 0 rgba(35,24,21,.1);border-radius:.12rem;overflow:hidden;margin-bottom:.2rem}
|
||||
.activity-img{position:relative}
|
||||
.activity-img img{width:100%;height:4rem}
|
||||
.status{position:absolute;top:0;right:0;padding:.1rem .2rem;background:linear-gradient(90deg,rgba(21,113,250,.97),rgba(21,183,250,.97));color:#fff;font-size:.26rem;border-bottom-left-radius:.3rem}
|
||||
.activity-info{padding:.2rem}
|
||||
.activity-info h4{color:#122939;font-size:.28rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
||||
.activity-info p{font-size:.24rem;color:#999;padding-left:.25rem;background:url(../image/time.png) no-repeat left center;background-size:.2rem .2rem}
|
||||
.load-more{text-align:center;color:#333;font-size:.28rem;margin-top:.2rem}
|
||||
.no-data{margin-top:3rem;text-align:center}
|
||||
.no-data img{width:3rem}
|
||||
|
||||
.activity-slide{position:absolute;top:0;left:0;right:0;height:3.5rem;background:red}
|
||||
.activity-slide .swiper{border-radius:0}
|
||||
.activity-detail{width:7.1rem;margin:3rem auto 0;background:#fff;box-shadow:0 2px 8px 0 rgba(35,24,21,.1);border-radius:.3rem .3rem 0 0;position:relative;z-index:1000;padding:.35rem;box-sizing:border-box}
|
||||
.activity-detail h3{font-size:.3rem;color:#122939}
|
||||
.activity-detail .activity-time{font-size:.24rem;color:#999;margin:.2rem 0}
|
||||
.activity-address,.activity-people{padding-left:.3rem}
|
||||
.activity-detail p{font-size:.24rem;color:#122939}
|
||||
.activity-detail p span{color:#999}
|
||||
.activity-people{background:url(../image/people.png) no-repeat left center;background-size:.24rem .19rem;margin-bottom:.1rem}
|
||||
.activity-address{background:url(../image/address.png) no-repeat left .05rem;background-size:.2rem .24rem}
|
||||
.activity-detail h4{font-size:.28rem;color:#122939;margin:.4rem 0 .1rem}
|
||||
.activity-detail-container{font-size:.26rem;color:#122939;line-height:.45rem}
|
||||
.activity-detail-container img{width:100%}
|
||||
|
||||
.venue-type{overflow:hidden;background:#fff;box-shadow:0 2px 8px 0 rgba(35,24,21,.1);border-radius:.1rem;padding:.2rem .2rem 0;position:fixed;top:.2rem;left:.2rem;right:.2rem}
|
||||
.venue-type-box{float:left;width:20%;text-align:center;margin-bottom:.2rem}
|
||||
.venue-type-box img{width:.88rem;height:.88rem;display:block;margin:0 auto}
|
||||
.venue-type-box p{font-size:.26rem;color:#122939;margin-top:.1rem}
|
||||
.select{position:fixed;right:.2rem;left:.2rem;top:3.4rem;overflow:hidden;background:#fafafa}
|
||||
.select-box{float:left;width:33.3333333%;font-size:.26rem;color:#122939;line-height:.6rem;text-align:center}
|
||||
.select-box.active{color:#125ce1}
|
||||
.venue-outer{margin:3.8rem auto 1rem}
|
||||
.box-venue{padding:.2rem;background:#fff;box-shadow:0 2px 8px 0 rgba(35,24,21,.1);border-radius:.12rem;margin-bottom:.2rem}
|
||||
.box-venue-top{overflow:hidden;padding-bottom:.2rem;border-bottom:1px solid #eee}
|
||||
.box-venue-left{width:4.1rem;float:left}
|
||||
.box-venue-left h3{font-size:.3rem;color:#122939}
|
||||
.box-venue-left p{font-size:.26rem;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
||||
.box-venue-left p.time{color:#122939;margin:.1rem 0}
|
||||
.box-venue-right{float:right;width:2.2rem}
|
||||
.box-venue-right img{width:100%;height:1.55rem;border-radius:.12rem}
|
||||
.box-venue-bottom{padding-top:.2rem}
|
||||
.box-venue-bottom p{padding-left:.3rem;font-size:.24rem;color:#122939;background:url(../image/phone1.png) no-repeat left center;background-size:.2rem .2rem}
|
||||
.select-area{position:fixed;top:0;right:0;left:0;bottom:0;background:rgba(0,0,0,.6);z-index:100000}
|
||||
.select-area-container{padding:.2rem .2rem .1rem;background:#fff;overflow:hidden}
|
||||
.select-area-box{width:32%;float:left;border:1px solid #eee;box-sizing:border-box;line-height:.55rem;text-align:center;border-radius:.12rem;margin-bottom:.1rem;margin-right:2%;font-size:.26rem;color:#122939;padding:0 .1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
||||
.select-area-box:nth-child(3n){margin-right:0}
|
||||
.select-area-box.active{border:1px solid #125ce1;color:#125ce1}
|
||||
|
||||
.venue-detail-top{height:3.4rem;width:100%;box-sizing:border-box;background:url(../image/venue-detail-top.png) no-repeat center;background-size:100% 100%;padding:.5rem .4rem 0;position:absolute;top:0;right:0;left:0}
|
||||
.venue-detail-left{float:left;width:4rem}
|
||||
.venue-detail-left h2{font-size:.34rem;color:#fff}
|
||||
.venue-detail-left p{padding-left:.28rem;font-size:.26rem;color:#fff}
|
||||
.venue-detail-left p.venue-time{background:url(../image/time2.png) no-repeat left center;background-size:.2rem .2rem;margin:.2rem 0}
|
||||
.venue-detail-left p.venue-phone{background:url(../image/phone2.png) no-repeat left .07rem;background-size:.2rem .2rem}
|
||||
.venue-detail-left p a{color: #fff}
|
||||
.venue-detail-right{float:right;width:2.4rem;height:3.1rem;border-radius:.14rem;overflow:hidden}
|
||||
.swiper-slide img{width:2.4rem;height:3.1rem}
|
||||
.venue-detail-content{margin-top:3.8rem}
|
||||
.position,.venue-service{margin-bottom:.6rem}
|
||||
.position p{font-size:.26rem;color:#122939}
|
||||
.position p span{color:#999}
|
||||
.venue-intro h3,.venue-service h3{font-size:.3rem;color:#122939;margin-bottom:.2rem}
|
||||
.venue-service p{font-size:.26rem;color:#122939}
|
||||
.venue-intro-content{font-size:.26rem;color:#122939;line-height:.5rem}
|
||||
|
||||
.heritage{margin-bottom:1rem}
|
||||
.heritage-box{overflow:hidden;margin-bottom:.2rem}
|
||||
.heritage-box-left{float:left;width:2.3rem;height:2.8rem}
|
||||
.heritage-box-left img{width:100%;height:100%;border-radius:.14rem}
|
||||
.heritage-box-right{width:4.6rem;float:right}
|
||||
.heritage-box-right h3{font-size:.32rem;color:#122939;margin-bottom:.2rem}
|
||||
.heritage-box-right p{font-size:.28rem;color:#999}
|
||||
.heritage-box-right span{display:inline-block;padding:.05rem .1rem;background:#abc8fd;color:#fff;font-size:.26rem;border-radius:.1rem;margin:.1rem 0}
|
||||
|
||||
.detail-swiper img{height:4.86rem!important}
|
||||
.heritage-info{margin:.5rem 0}
|
||||
.heritage-desc h3,.heritage-info h3,.heritage-people h3{font-size:.3rem;color:#122939;margin-bottom:.2rem}
|
||||
.heritage-info p{font-size:.26rem;color:#122939;line-height:.5rem;padding-left:.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
||||
.heritage-info p span{color:#999}
|
||||
.heritage-info p.num{background:url(../image/hritage-icon1.png) no-repeat left center;background-size:.24rem .24rem}
|
||||
.heritage-info p.time{background:url(../image/hritage-icon2.png) no-repeat left center;background-size:.24rem .24rem}
|
||||
.heritage-info p.heritage-area{background:url(../image/hritage-icon3.png) no-repeat left center;background-size:.24rem .24rem}
|
||||
.heritage-info p.org{background:url(../image/hritage-icon4.png) no-repeat left center;background-size:.24rem .24rem}
|
||||
.heritage-info p.from{background:url(../image/hritage-icon5.png) no-repeat left center;background-size:.24rem .24rem}
|
||||
.heritage-info p.lv{background:url(../image/hritage-icon6.png) no-repeat left center;background-size:.24rem .24rem}
|
||||
.heritage-info p.type{background:url(../image/hritage-icon7.png) no-repeat left center;background-size:.24rem .24rem}
|
||||
.heritage-info p.protect{background:url(../image/hritage-icon8.png) no-repeat left center;background-size:.24rem .24rem}
|
||||
.heritage-desc-box{font-size:.26rem;color:#122939;line-height:.5rem}
|
||||
.heritage-people-box{box-shadow:0 2px 8px 0 rgba(35,24,21,.1);border-radius:.12rem;margin-bottom:.2rem;padding-bottom:.2rem;overflow:hidden}
|
||||
.heritage-people-name{margin-bottom:.2rem}
|
||||
.heritage-people-num{display:inline-block;padding:0 .15rem;color:#fff;font-size:.24rem;background:linear-gradient(90deg,rgba(21,113,250,.97),rgba(21,183,250,.97));border-bottom-right-radius:.2rem;line-height:.5rem;margin-right:.4rem}
|
||||
.heritage-people-name-box{display:inline-block;font-size:.28rem;color:#122939;font-weight:700;line-height:.5rem}
|
||||
.heritage-people-name-box img{width:.2rem;height:.2rem;vertical-align:middle;margin-left:.1rem}
|
||||
.heritage-people-info{overflow:hidden}
|
||||
.heritage-people-info-box{float:left;width:50%;padding:0 .15rem;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.24rem}
|
||||
.heritage-people-info-box span{color:#999}
|
||||
|
||||
.news-area{top:.8rem}
|
||||
.news-list{margin-top:1.6rem;padding-top:.2rem}
|
||||
.news-list-box{background:#fff;box-shadow:0 2px 8px 0 rgba(35,24,21,.1);border-radius:.12rem;overflow:hidden;margin-bottom:.2rem}
|
||||
.news-list-box img{width:100%;height:3rem}
|
||||
.news-list-info{padding:.2rem}
|
||||
.news-list-info h3{font-size:.28rem;color:#122939;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
||||
.news-list-info p{font-size:.24rem;color:#999}
|
||||
|
||||
.loading{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(255,255,255,.6);padding:.3rem;border-radius:.1rem;box-shadow:0 0 .17rem #dedede}
|
||||
.toilet, .read{margin: .2rem 0;font-size: .32rem}
|
||||
.toilet a, .read a{display: block;}
|
||||
.toilet a img, .read a img{width: 100%}
|
||||
|
||||
.feedback{position: fixed;bottom: 2rem;right:.5rem;box-shadow: 0 0 10px #EEE;border-radius: 50%}
|
||||
.feedback a{display: block;width:1.5rem;height:1.5rem;text-align: center;line-height: 1.5rem;font-size: .4rem;background: #fff;border-radius: 50%;color: #000;}
|
||||
.feedback a img{width: 1.5rem;}
|
||||
|
||||
.feedback-main{width: 7.1rem;margin: 0 auto;}
|
||||
.feedback-title{font-size: .32rem;color: #000;margin-bottom: .2rem;}
|
||||
.feedback-main textarea{width:100%;height: 3rem;font-size:.28rem;border:none;outline:none;padding: .15rem;box-sizing: border-box;background: #eee;border-radius: .1rem;}
|
||||
|
||||
.contact{margin-top: .2rem;}
|
||||
.contact input{width: 100%;border-radius:.1rem;margin-bottom:.2rem;padding: 0 .15rem;font-size:.28rem;box-sizing: border-box;height: .8rem;border:none;outline:none;background: #eee;}
|
||||
.tip{font-size: .24rem;color: #aaa;text-align: center}
|
||||
.submit-feedback{position: fixed;bottom:0;left:0;right:0;padding: .2rem;}
|
||||
.submit-feedback-btn{width: 100%;height: .8rem;line-height: .8rem;text-align: center;background: linear-gradient(to right, #26b9f5, #116bf2);border-radius: .4rem;color: #fff;font-size: .32rem;}
|
||||
.photo input{display: none}
|
||||
.photo label{vertical-align:top;display: inline-block;width: 1rem;height: 1rem;position:relative;line-height:1rem;text-align: center;border: 2px solid #000;box-sizing: border-box;border-radius: .2rem;color: #000;font-size: .6rem}
|
||||
.photo label span{position: absolute;top:50%;left:50%;transform: translate(-50%,-50%)}
|
||||
|
||||
.feedback-type{position: fixed;top:0;left:0;right:0;overflow: hidden;border-bottom: 1px solid #EEE;background: #fff;z-index: 100}
|
||||
.type-box{float:left;width: 50%;text-align: center;line-height: .8rem;font-size: .3rem;color: #888;position: relative;}
|
||||
.type-box.active{color: #000;}
|
||||
.type-box.active:after{content: '';display: block;width: 1.6rem;height: 2px;background: #000;position: absolute;bottom: 0;left:50%;margin-left:-.8rem;}
|
||||
.feedback-list{margin-top:.8rem;padding: 0 .2rem;}
|
||||
.feedback-box{padding: .15rem 0;border-bottom: 1px solid #EEE;overflow: hidden;}
|
||||
.feedback-avatar{float:left;width: 1.2rem;height: 1.2rem;}
|
||||
.feedback-avatar img{width: 100%;height:100%;border-radius: 50%;}
|
||||
.feedback-info{float:right;width: 5.3rem;}
|
||||
.feedback-text{font-size: .28rem;color: #000;margin: .18rem 0;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
|
||||
.feedback-time{font-size: .24rem;color: #666;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
|
||||
.have-more{text-align: center;font-size: .28rem;color: #666;line-height: .8rem;}
|
||||
|
||||
.detail{padding: .2rem;background: #fff;}
|
||||
.user-info{overflow: hidden;margin-bottom: .2rem;}
|
||||
.user-avatar{float:left;margin-right: .2rem;width: 1rem;height:1rem;}
|
||||
.user-avatar img{width: 100%;height:100%;border-radius: 50%}
|
||||
.user-name{float:left;}
|
||||
.user-name p{font-size: .28rem;color: #000;}
|
||||
.user-name p.name{margin: .1rem 0;}
|
||||
.detail-text{font-size: .32rem;line-height: .55rem;color: #000;}
|
||||
.detail p{font-size: .26rem;color: #666;}
|
||||
.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;}
|
||||
|
||||
.feedback-type-outer{position: fixed;top:0;left:0;right:0;bottom:0;background: rgba(0,0,0,0.6);z-index: 10000000;}
|
||||
.feedback-type-container{width:100%;position: absolute;top:50%;left:50%;transform: translate(-50%,-50%);}
|
||||
.feedback-type-box{display: inline-block;width: 50%;text-align: center;margin-bottom: .2rem}
|
||||
.feedback-type-box img{width: 1.5rem;margin-bottom: .2rem}
|
||||
.feedback-type-box p{font-size: .32rem;color: #fff}
|
||||
|
||||
.photo{margin-top:.2rem;}
|
||||
.upload-photo-box{vertical-align:top;display: inline-block;width:32%;margin-right: 2%;position: relative;height:2rem;}
|
||||
.img-box img{height:100%;position: absolute;top:50%;left:50%;transform: translate(-50%,-50%);}
|
||||
.img-box{width:100%;height:100%;position: relative;overflow: hidden;}
|
||||
.delete{position: absolute;width: .3rem;height:.3rem;top:-.15rem;right:-.15rem;}
|
||||
|
||||
.reply{margin-top: .2rem;background: #fff}
|
||||
.reply-title{padding: .2rem;border-bottom: 1px solid #EEE;overflow: hidden}
|
||||
.reply-title h3{float:left;font-size: .28rem;padding-left:.2rem;border-left: 4px solid greenyellow;}
|
||||
.reply-title span{float:right;font-size: .28rem;color: #666}
|
||||
.reply-content{padding: .2rem;}
|
||||
.reply-content p{font-size: .28rem;color: #000;line-height: .55rem;word-break: break-all;}
|
||||
|
||||
.link-record{display:block;padding: .2rem;background: #eee;overflow: hidden;}
|
||||
.record-title{float:left;padding-left: .2rem;border-left: 4px solid #1671f5;font-size: .32rem;color: #000;}
|
||||
.link-record img{float:right;}
|
||||
|
||||
.toilet-box{overflow:hidden;display:block;margin-bottom: .2rem;padding: .2rem;background: #fff;box-shadow: 0 0 10px #FFF;border-radius: .1rem;}
|
||||
.toilet-img{float:left;width: 1.5rem;height:1.5rem;overflow: hidden;border-radius: 50%;}
|
||||
.toilet-img img{width:100%;height:100%;}
|
||||
.toilet-info{float: right;width:5rem;}
|
||||
.toilet-container{margin-top: 1rem;}
|
||||
.toilet-box h3{font-size: .32rem;color: #000;font-weight: normal;}
|
||||
.toilet-box p{font-size: .28rem;color: #999;}
|
||||
.toilet-name{font-size: .36rem;color: #000;}
|
||||
.toilet-address{font-size: .32rem;color: #999;margin: .1rem 0 .2rem;}
|
||||
#map{position: absolute;bottom:0;left:0;right:0;height:92%;}
|
||||
.anchorBL{display: none!important;}
|
||||
.toilet-search{position: fixed;top:0;left:0;right:0;padding: .2rem;background: #fff;z-index: 1000;}
|
||||
.toilet-search input{height: .6rem;width: 100%;padding: 0 .15rem;box-sizing: border-box;font-size: .3rem;border-radius: .1rem;border: 1px solid #EEE;}
|
||||
|
||||
.toilet-top{position: absolute;top:0;left:0;right:0;padding: .2rem;height:8%;}
|
15
css/swiper.css
Normal file
123
culture-detail.html
Normal file
@ -0,0 +1,123 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/swiper.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script src="js/rem.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" v-cloak>
|
||||
<div class="swiper mySwiper detail-swiper">
|
||||
<div class="swiper-wrapper">
|
||||
<div class="swiper-slide" v-for="item in heritageDetail.libraryCover">
|
||||
<a href="javascript: void(0);">
|
||||
<img :src="requestUrl + 'library/route/file/downloadfile/true/' + item" alt="">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-pagination"></div>
|
||||
</div>
|
||||
<div class="heritage-info">
|
||||
<h3>{{heritageDetail.libraryTitle}}</h3>
|
||||
<p class="num">
|
||||
<span>项目编号:</span>{{heritageDetail.libraryNumber}}
|
||||
</p>
|
||||
<p class="time">
|
||||
<span>公布时间:</span>{{heritageDetail.libraryApplyTime}}
|
||||
</p>
|
||||
<p class="heritage-area">
|
||||
<span>所属地区:</span>{{heritageDetail.libraryArea}}
|
||||
</p>
|
||||
<p class="org">
|
||||
<span>申报地区或单位:</span>{{heritageDetail.libraryAddress}}
|
||||
</p>
|
||||
<p class="from">
|
||||
<span>数据来源:</span>{{heritageDetail.librarySource}}
|
||||
</p>
|
||||
<p class="lv">
|
||||
<span>非遗等级:</span>{{heritageDetail.libraryLevel}}级
|
||||
</p>
|
||||
<p class="type">
|
||||
<span>类型:</span>{{heritageDetail.libraryTypeValue}}
|
||||
</p>
|
||||
<p class="protect">
|
||||
<span>保护单位:</span>{{heritageDetail.libraryAuthor}}
|
||||
</p>
|
||||
</div>
|
||||
<div class="heritage-desc">
|
||||
<h3>相关描述</h3>
|
||||
<div class="heritage-desc-box" v-html="heritageDetail.librarySummary"></div>
|
||||
</div>
|
||||
<div class="heritage-people">
|
||||
<h3>相关传承人</h3>
|
||||
<div class="heritage-people-box" v-for="people in heritagePeople">
|
||||
<div class="heritage-people-name">
|
||||
<div class="heritage-people-num">{{people.libraryPersonNumber}}</div>
|
||||
<div class="heritage-people-name-box">
|
||||
{{people.libraryPersonName}}
|
||||
<img src="image/man.png" alt="" v-if="people.libraryPersonSex == '1'">
|
||||
<img src="image/woman.png" alt="" v-else>
|
||||
</div>
|
||||
</div>
|
||||
<div class="heritage-people-info">
|
||||
<div class="heritage-people-info-box">
|
||||
<span>民族:</span>{{people.libraryPersonNationDictionaryName}}
|
||||
</div>
|
||||
<div class="heritage-people-info-box">
|
||||
<span>出生日期:</span>{{people.libraryPersonBirthday}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/jquery-2.1.4.min.js"></script>
|
||||
<script src="js/ajax.js"></script>
|
||||
<script src="js/swiper.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
requestUrl: 'http://219.159.20.131:8081/',
|
||||
heritageId: '',
|
||||
heritageDetail: {},
|
||||
heritagePeople: []
|
||||
},
|
||||
methods: {
|
||||
getHeritageDetail: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'library/app/intangiblelibrary/getintangiblelibrarybyidrelease/' + self.heritageId, {}, {}, function (code, data) {
|
||||
data.libraryCover = data.libraryCover.split(',')
|
||||
data.libraryApplyTime = data.libraryApplyTime.split(' ')[0]
|
||||
self.heritageDetail = data
|
||||
self.$nextTick(function () {
|
||||
var swiper = new Swiper(".mySwiper", {
|
||||
pagination: '.swiper-pagination',
|
||||
paginationClickable: true,
|
||||
autoplay: 3000
|
||||
});
|
||||
})
|
||||
})
|
||||
},
|
||||
getHeritagePeople: function () {
|
||||
var self= this
|
||||
doGetForm(self.requestUrl + 'library/app/intangiblelibraryperson/listintangiblelibrarypersonrelease', {
|
||||
intangibleLibraryId: self.heritageId
|
||||
}, {}, function (code, data) {
|
||||
self.heritagePeople = data
|
||||
})
|
||||
}
|
||||
},
|
||||
mounted: function () {
|
||||
this.heritageId = window.location.search.replace('?','').split('=')[1]
|
||||
this.getHeritageDetail()
|
||||
this.getHeritagePeople()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
143
culture.html
Normal file
@ -0,0 +1,143 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script src="js/rem.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" v-cloak>
|
||||
<div class="heritage">
|
||||
<div class="heritage-box" v-for="item in heritageList" @click="goDetail(item.intangibleLibraryId)">
|
||||
<div class="heritage-box-left">
|
||||
<img :src="requestUrl + 'library/route/file/downloadfile/true/' + item.libraryCover" alt="">
|
||||
</div>
|
||||
<div class="heritage-box-right">
|
||||
<h3>{{item.libraryTitle}}</h3>
|
||||
<p>{{item.libraryApplyTime}}</p>
|
||||
<span>非遗级别:{{item.libraryLevel}}级</span>
|
||||
<p>所属地区:{{item.libraryArea}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="load-more" v-if="haveMore && heritageList && heritageList.length > 0" @click="loadMore">加载更多</div>
|
||||
</div>
|
||||
<div class="bottom-nav">
|
||||
<div class="bottom-nav-box">
|
||||
<div class="nav-icon" @click="goBottomNav('1')"></div>
|
||||
<span>首页</span>
|
||||
</div>
|
||||
<div class="bottom-nav-box" @click="goBottomNav('2')">
|
||||
<div class="nav-icon"></div>
|
||||
<span>活动</span>
|
||||
</div>
|
||||
<div class="bottom-nav-box" @click="goBottomNav('3')">
|
||||
<div class="nav-icon"></div>
|
||||
<span>场馆</span>
|
||||
</div>
|
||||
<div class="bottom-nav-box active">
|
||||
<div class="nav-icon"></div>
|
||||
<span>文化</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="image/loading.gif" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/jquery-2.1.4.min.js"></script>
|
||||
<script src="js/ajax.js"></script>
|
||||
<script src="js/layer/layer.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
requestUrl: 'http://219.159.20.131:8081/',
|
||||
page: {
|
||||
page: 1,
|
||||
rows: 10
|
||||
},
|
||||
heritageList: [],
|
||||
haveMore: true,
|
||||
isLoading: true
|
||||
},
|
||||
methods: {
|
||||
getHeritageList: function () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
doGetForm(self.requestUrl + 'library/app/intangiblelibrary/listpageintangiblelibraryrelease', self.page, {}, function (code, data) {
|
||||
if (self.page.page == 1) {
|
||||
if (data.rows.length > 0) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
data.rows[i].libraryApplyTime = data.rows[i].libraryApplyTime.split(' ')[0]
|
||||
data.rows[i].libraryCover = data.rows[i].libraryCover.split(',')[0]
|
||||
}
|
||||
self.heritageList = data.rows
|
||||
if (data.rows.length == self.page.rows) {
|
||||
self.haveMore = true
|
||||
self.isLoading = false
|
||||
} else {
|
||||
self.haveMore = false
|
||||
self.isLoading = false
|
||||
}
|
||||
} else {
|
||||
self.heritageList = []
|
||||
self.haveMore = false
|
||||
self.isLoading = false
|
||||
}
|
||||
} else {
|
||||
if (data.rows.length > 0) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
data.rows[i].libraryApplyTime = data.rows[i].libraryApplyTime.split(' ')[0]
|
||||
data.rows[i].libraryCover = data.rows[i].libraryCover.split(',')[0]
|
||||
}
|
||||
self.heritageList.push(data.rows[i])
|
||||
if (data.rows.length == self.page.rows) {
|
||||
self.haveMore = true
|
||||
self.isLoading = false
|
||||
} else {
|
||||
self.haveMore = false
|
||||
self.isLoading = false
|
||||
}
|
||||
} else {
|
||||
self.page.page--
|
||||
self.haveMore = false
|
||||
self.isLoading = false
|
||||
layer.msg('暂无更多')
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
},
|
||||
// 底部导航
|
||||
goBottomNav: function (nav) {
|
||||
if (nav == '2') {
|
||||
window.location.href = 'activity.html'
|
||||
} else if (nav == '1') {
|
||||
window.location.href = 'index.html'
|
||||
} else {
|
||||
window.location.href = 'venue.html'
|
||||
}
|
||||
},
|
||||
loadMore: function () {
|
||||
if (!this.isLoading) {
|
||||
this.page.page++
|
||||
this.getHeritageList()
|
||||
}
|
||||
|
||||
},
|
||||
goDetail: function (id) {
|
||||
if (!this.isLoading) {
|
||||
window.location.href = 'culture-detail.html?id=' + id
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted: function () {
|
||||
this.getHeritageList()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
193
cultureType.html
Normal file
@ -0,0 +1,193 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script src="js/rem.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" v-cloak>
|
||||
<div class="area">
|
||||
<!-- <div class="area-box" v-for="type in typeList" :class="{active: curType == type.newsDirectoriesId}" @click="changeType(type.newsDirectoriesId)">{{type.directoriesName}}</div>-->
|
||||
<div class="area-box" :class="{active: curType == 'b6f8e254-ad9e-47c0-8c16-f7a6085f4cef'}" @click="changeType('b6f8e254-ad9e-47c0-8c16-f7a6085f4cef')">地方剧场</div>
|
||||
<div class="area-box" :class="{active: curType == 'ae52c58e-5286-43d9-bff4-2d0257764621'}" @click="changeType('ae52c58e-5286-43d9-bff4-2d0257764621')">敕勒歌</div>
|
||||
<!-- <div class="area-box" :class="{active: curType == '8e7e8b5c-cee8-47ed-b5bc-0d41cab29b97'}" @click="changeType('8e7e8b5c-cee8-47ed-b5bc-0d41cab29b97')">全民阅读</div>-->
|
||||
<div class="area-box" :class="{active: curType == '93bfb037-12f8-48c3-b4e9-8db10d3f3c1f'}" @click="changeType('93bfb037-12f8-48c3-b4e9-8db10d3f3c1f')">群众文化</div>
|
||||
<div class="area-box" :class="{active: curType == 'd3da3e1a-b15d-43ba-82a2-357469021c80'}" @click="changeType('d3da3e1a-b15d-43ba-82a2-357469021c80')">寻根</div>
|
||||
<div class="area-box" :class="{active: curType == '74d455b3-02fe-429e-9f28-42dc97641027'}" @click="changeType('74d455b3-02fe-429e-9f28-42dc97641027')">北疆画韵</div>
|
||||
<div class="area-box" :class="{active: curType == 'e67e95f7-4a9b-4d58-8d1b-0cb29299514c'}" @click="changeType('e67e95f7-4a9b-4d58-8d1b-0cb29299514c')">遗韵</div>
|
||||
<div class="area-box" :class="{active: curType == 'e3e42fb8-50e2-43c8-9d1f-c3df0ff7c862'}" @click="changeType('e3e42fb8-50e2-43c8-9d1f-c3df0ff7c862')">乡村乡俗</div>
|
||||
<div class="area-box" :class="{active: curType == '4d097a9f-7507-4499-a707-3fbff788414f'}" @click="changeType('4d097a9f-7507-4499-a707-3fbff788414f')">E行天下</div>
|
||||
</div>
|
||||
<!-- <div class="area news-area">-->
|
||||
<!-- <div class="area-box" :class="{active: page.county == ''}" @click="loadAll">全部</div>-->
|
||||
<!-- <div class="area-box" v-for="area in areaList" :class="{active: page.county == area.areaId}" @click="changeArea(area.areaId,area.areaLevel)">{{area.areaName}}</div>-->
|
||||
<!-- </div>-->
|
||||
<div class="news-list" :style="{'margin-top': toTop}" v-if="newsList && newsList.length > 0">
|
||||
<div class="news-list-box" v-for="news in newsList" @click="goDetail(news.newsContentLink, news.templateRecordUrl, news.newsContentType, news.newsContentContent)">
|
||||
<img :src="requestUrl + 'news/route/file/downloadfile/true/' + news.newsContentCoverList" alt="">
|
||||
<div class="news-list-info">
|
||||
<h3>{{news.newsContentTitle}}</h3>
|
||||
<p>作者:{{news.newsContentAuthor}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="load-more" v-if="haveMore && newsList && newsList.length > 0" @click="loadMore">加载更多</div>
|
||||
</div>
|
||||
<div class="no-data" v-else>
|
||||
<img src="image/no-data.png" alt="">
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="image/loading.gif" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/jquery-2.1.4.min.js"></script>
|
||||
<script src="js/ajax.js"></script>
|
||||
<script src="js/layer/layer.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
areaList: [],
|
||||
typeList: [],
|
||||
newsList: [],
|
||||
curType: 'b6f8e254-ad9e-47c0-8c16-f7a6085f4cef',
|
||||
page: {
|
||||
page: 1,
|
||||
rows: 10,
|
||||
newsDirectoriesId: 'b6f8e254-ad9e-47c0-8c16-f7a6085f4cef',
|
||||
county: ''
|
||||
},
|
||||
requestUrl: 'http://219.159.20.131:8081/',
|
||||
haveMore: true,
|
||||
isLoading: false,
|
||||
toTop: ''
|
||||
},
|
||||
methods: {
|
||||
getAreaList: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'usercenter/app/dataarea/listareabyparentidrelease/110889', {}, null, function (code, data) {
|
||||
self.areaList = data
|
||||
})
|
||||
},
|
||||
changeArea: function (id, lv) {
|
||||
if (!this.isLoading) {
|
||||
var level = parseInt(lv) + 1
|
||||
level = 'area' + level
|
||||
this.page.county = id
|
||||
this.page[level] = id
|
||||
this.page.page = 1
|
||||
this.haveMore = true
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
getTypeList: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'news/app/newsdirectories/listnewsdirectoriesrelease', {
|
||||
directoriesParentId: self.page.newsDirectoriesId
|
||||
}, {}, function (code, data) {
|
||||
self.typeList = data
|
||||
self.curType = data[0].newsDirectoriesId
|
||||
self.page.newsDirectoriesId = data[0].newsDirectoriesId
|
||||
self.getNewsList()
|
||||
})
|
||||
},
|
||||
changeType: function (type) {
|
||||
if (!this.isLoading) {
|
||||
this.curType = type
|
||||
this.page.newsDirectoriesId = type
|
||||
this.page.page = 1
|
||||
this.haveMore = true
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
getNewsList: function () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
doGetForm(self.requestUrl + 'news/app/newscontent/listpagenewscontentrelease', self.page, {}, function (code, data) {
|
||||
if (self.page.page == '1') {
|
||||
if (data.rows.length > 0) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
data.rows[i].newsContentCoverList = data.rows[i].newsContentCoverList[0].contentCoverId
|
||||
self.newsList.push(data.rows[i])
|
||||
}
|
||||
self.newsList = data.rows
|
||||
if (data.rows.length > 0) {
|
||||
self.haveMore = true
|
||||
self.isLoading = false
|
||||
} else {
|
||||
self.haveMore = false
|
||||
self.isLoading = false
|
||||
}
|
||||
return
|
||||
} else {
|
||||
self.newsList = []
|
||||
self.haveMore = false
|
||||
self.isLoading = false
|
||||
}
|
||||
} else {
|
||||
if (data.rows.length > 0) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
data.rows[i].newsContentCoverList = data.rows[i].newsContentCoverList[0].contentCoverId
|
||||
self.newsList.push(data.rows[i])
|
||||
}
|
||||
self.haveMore = true
|
||||
self.isLoading = false
|
||||
} else {
|
||||
self.page.page--
|
||||
self.haveMore = false
|
||||
self.isLoading = false
|
||||
layer.msg('暂无更多')
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
},
|
||||
loadMore: function () {
|
||||
if (!this.isLoading) {
|
||||
this.page.page++
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
loadAll: function () {
|
||||
if (!this.isLoading) {
|
||||
var self = this
|
||||
this.page = {
|
||||
page: 1,
|
||||
rows: 10,
|
||||
newsDirectoriesId: self.curType,
|
||||
county: ''
|
||||
}
|
||||
this.haveMore = true
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
// 新闻详情
|
||||
goDetail: function (link, url, type, outlink) {
|
||||
if (!this.isLoading) {
|
||||
if (type === '6') {
|
||||
window.open(outlink)
|
||||
} else {
|
||||
if (link) {
|
||||
window.open(link)
|
||||
} else {
|
||||
window.location.href = this.requestUrl + url
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
mounted: function () {
|
||||
// this.page.newsDirectoriesId = window.location.search.replace('?','').split('=')[1]
|
||||
// this.getAreaList()
|
||||
// this.getTypeList()
|
||||
this.getNewsList()
|
||||
this.toTop = $('.area').height() + 'px'
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
75
feedback-detail.html
Normal file
@ -0,0 +1,75 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/swiper.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script src="js/rem.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" v-cloak style="padding: 0;">
|
||||
<div class="detail">
|
||||
<!-- <div class="user-info">-->
|
||||
<!-- <div class="user-avatar">-->
|
||||
<!-- <img src="image/venueall.png" alt="">-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="user-name">-->
|
||||
<!-- <p class="name">张三</p>-->
|
||||
<!-- <p>{{feedbackDetail.gmtCreate}}</p>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<div class="detail-text">{{feedbackDetail.opinionContent}}</div>
|
||||
<p>{{feedbackDetail.gmtCreate}}2022-01-01</p>
|
||||
</div>
|
||||
<div class="reply" v-if="replyContent">
|
||||
<div class="reply-title">
|
||||
<h3>问题解答</h3>
|
||||
<span>回复时间:{{replyTime}}</span>
|
||||
</div>
|
||||
<div class="reply-content">
|
||||
<p>{{replyContent}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/jquery-2.1.4.min.js"></script>
|
||||
<script src="js/ajax.js"></script>
|
||||
<script src="js/swiper.js"></script>
|
||||
<script src="js/layer/layer.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
requestUrl: 'http://219.159.20.131:8081/',
|
||||
token: sessionStorage.getItem('token'),
|
||||
contentOpinionId: '',
|
||||
feedbackDetail: {},
|
||||
replyContent: '',
|
||||
replyTime: ''
|
||||
},
|
||||
methods: {
|
||||
getDetail: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'news/app/contentopinion/get/' + self.contentOpinionId, {}, null, function (code, data) {
|
||||
console.log(data)
|
||||
self.feedbackDetail = data
|
||||
}, null, function (res) {
|
||||
res.setRequestHeader('token',self.token)
|
||||
})
|
||||
}
|
||||
},
|
||||
mounted: function () {
|
||||
var arr = window.location.search.replace('?','').split('&')
|
||||
|
||||
this.contentOpinionId = arr[0].split('=')[1]
|
||||
this.replyContent = arr[1].split('=')[1]
|
||||
this.replyTime = decodeURI(arr[2].split('=')[1])
|
||||
this.getDetail()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
129
feedback-masses.html
Normal file
@ -0,0 +1,129 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/swiper.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script src="js/rem.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" v-cloak style="padding: 0;">
|
||||
<a href="feedback-record.html?type=1" class="link-record">
|
||||
<div class="record-title">反馈记录</div>
|
||||
<img src="image/right-arrow.png" alt="">
|
||||
</a>
|
||||
<div class="feedback-main" style="padding: .2rem;">
|
||||
<div class="feedback-title">您的问题或建议:</div>
|
||||
<textarea placeholder="请输入个人意见反馈,字数在200字以内" v-model="opinion.opinionContent"></textarea>
|
||||
<!-- <div class="photo">-->
|
||||
<!-- <div class="feedback-title">上传照片</div>-->
|
||||
<!-- <div class="upload-photo-box" v-for="(photo,idx) in imgList">-->
|
||||
<!-- <div class="img-box">-->
|
||||
<!-- <img :src="requestUrl + 'news/route/file/downloadfile/true/' + photo" alt="">-->
|
||||
<!-- </div>-->
|
||||
|
||||
<!-- <img src="image/delete.png" alt="" class="delete" @click="deleteImg(idx)">-->
|
||||
<!-- </div>-->
|
||||
<!-- <input type="file" id="upload-photo" @change="uploadPhoto()">-->
|
||||
<!-- <label for="upload-photo" v-if="imgList.length < 9"><span>+</span></label>-->
|
||||
<!-- </div>-->
|
||||
<div class="contact">
|
||||
<div class="feedback-title">您的联系方式:</div>
|
||||
<input type="text" placeholder="请输入电话号码" v-model="opinion.opinionPhone">
|
||||
<input type="text" placeholder="请输入电子邮箱" v-model="opinion.opinionEmail">
|
||||
<div class="tip">留下您的联系方式,以使我们了解问题后及时反馈结果</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="submit-feedback">
|
||||
<div class="submit-feedback-btn" @click="submitFeedback">提交建议</div>
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="image/loading.gif" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/jquery-2.1.4.min.js"></script>
|
||||
<script src="js/ajax.js"></script>
|
||||
<script src="js/swiper.js"></script>
|
||||
<script src="js/layer/layer.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
requestUrl: 'http://219.159.20.131:8081/',
|
||||
token: sessionStorage.getItem('token'),
|
||||
imgList: [],
|
||||
opinion: {
|
||||
opinionContent: '',
|
||||
opinionPhone: '',
|
||||
opinionEmail: '',
|
||||
opinionImage: ''
|
||||
},
|
||||
isLoading: false
|
||||
},
|
||||
methods: {
|
||||
uploadPhoto: function (e) {
|
||||
var file
|
||||
var self = this
|
||||
var url = self.requestUrl
|
||||
this.isLoading = true
|
||||
// self.isLoading = true
|
||||
file = $('#upload-photo')[0].files[0]
|
||||
url += 'news/app/file/uploadimage'
|
||||
var formData = new FormData()
|
||||
formData.append('image', file)
|
||||
$.ajax({
|
||||
url: url,
|
||||
type: 'post',
|
||||
data: formData,
|
||||
contentType: false,
|
||||
processData: false,
|
||||
headers: {
|
||||
token: self.token
|
||||
},
|
||||
success: function (data) {
|
||||
self.imgList.push(data.data)
|
||||
},
|
||||
complete: function () {
|
||||
self.isLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
submitFeedback: function () {
|
||||
var self = this
|
||||
var photo = ''
|
||||
if (this.imgList.length > 0) {
|
||||
for (let i = 0; i < this.imgList.length;i++) {
|
||||
if (i != this.imgList.length - 1) {
|
||||
photo += this.imgList[i] + ','
|
||||
} else {
|
||||
photo += this.imgList[i]
|
||||
}
|
||||
}
|
||||
this.opinion.opinionImage = photo
|
||||
}
|
||||
if (!this.isLoading) {
|
||||
doPostJson(self.requestUrl + 'news/app/contentopinion/save/massesOpinionFeedback', self.opinion, {},function (code, data) {
|
||||
console.log(data)
|
||||
if (code == '200') {
|
||||
layer.msg('提交成功')
|
||||
}
|
||||
}, null, function (res) {
|
||||
res.setRequestHeader('token',self.token)
|
||||
})
|
||||
}
|
||||
},
|
||||
deleteImg: function (idx) {
|
||||
this.imgList.splice(idx,1)
|
||||
}
|
||||
},
|
||||
mounted: function () {
|
||||
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
154
feedback-record.html
Normal file
@ -0,0 +1,154 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/swiper.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script src="js/rem.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" v-cloak>
|
||||
<div class="feedback-type">
|
||||
<div class="type-box" :class="{active: tab == '0'}" @click="changeTab('0')">未回复</div>
|
||||
<div class="type-box" :class="{active: tab == '1'}" @click="changeTab('1')">已回复</div>
|
||||
</div>
|
||||
<div class="feedback-list">
|
||||
<div class="feedback-box" v-for="item in feedbackList" @click="checkDetail(item.contentOpinionId, item.opinionReply, item.opinionReplyTime)">
|
||||
<div class="feedback-avatar">
|
||||
<img src="image/default.png" alt="" v-if="!item.opinionImage">
|
||||
<img :src="requestUrl + 'news/route/file/downloadfile/true/' + item.opinionImage" alt="" v-else>
|
||||
</div>
|
||||
<div class="feedback-info">
|
||||
<div class="feedback-text">{{item.opinionContent}}</div>
|
||||
<div class="feedback-time">{{item.gmtCreate}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="have-more" v-if="haveMore" @click="loadMore">加载更多</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="image/loading.gif" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/jquery-2.1.4.min.js"></script>
|
||||
<script src="js/ajax.js"></script>
|
||||
<script src="js/swiper.js"></script>
|
||||
<script src="js/layer/layer.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
requestUrl: 'http://219.159.20.131:8081/',
|
||||
token: sessionStorage.getItem('token'),
|
||||
tab: '0',
|
||||
feedbackList: [],
|
||||
page: {
|
||||
page: 1,
|
||||
rows: 10,
|
||||
opinionReplyStatus: 0
|
||||
},
|
||||
haveMore: true,
|
||||
isLoading:false,
|
||||
pageType: ''
|
||||
},
|
||||
methods: {
|
||||
changeTab: function (tab) {
|
||||
if (!this.isLoading) {
|
||||
if (this.tab != tab) {
|
||||
this.tab = tab
|
||||
this.page.page = 1
|
||||
this.page.opinionReplyStatus = tab
|
||||
if (this.pageType == '1') {
|
||||
this.getFeedbackList()
|
||||
} else {
|
||||
this.getTravelFeedbackList()
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
getFeedbackList: function () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
doGetForm(self.requestUrl + 'news/app/contentopinion/listpage/massesOpinionFeedback', self.page, null, function (code, data) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
if (data.rows[i].opinionImage) {
|
||||
data.rows[i].opinionImage = data.rows[i].opinionImage.split(',')[0]
|
||||
}
|
||||
}
|
||||
if (self.page.page == 1) {
|
||||
self.feedbackList = data.rows
|
||||
} else {
|
||||
if (data.rows.length > 0) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
self.feedbackList.push(data.rows[i])
|
||||
}
|
||||
} else {
|
||||
self.page.page--
|
||||
layer.msg('暂无更多')
|
||||
}
|
||||
}
|
||||
if (data.rows.length < self.page.rows) {
|
||||
self.haveMore = false
|
||||
}
|
||||
self.isLoading = false
|
||||
}, null, function (res) {
|
||||
res.setRequestHeader('token',self.token)
|
||||
})
|
||||
},
|
||||
getTravelFeedbackList: function () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
doGetForm(self.requestUrl + 'news/app/contentopinion/listpage/travelOpinionFeedback', self.page, null, function (code, data) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
if (data.rows[i].opinionImage) {
|
||||
data.rows[i].opinionImage = data.rows[i].opinionImage.split(',')[0]
|
||||
}
|
||||
}
|
||||
if (self.page.page == 1) {
|
||||
self.feedbackList = data.rows
|
||||
} else {
|
||||
if (data.rows.length > 0) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
self.feedbackList.push(data.rows[i])
|
||||
}
|
||||
} else {
|
||||
self.page.page--
|
||||
layer.msg('暂无更多')
|
||||
}
|
||||
}
|
||||
if (data.rows.length < self.page.rows) {
|
||||
self.haveMore = false
|
||||
}
|
||||
self.isLoading = false
|
||||
}, null, function (res) {
|
||||
res.setRequestHeader('token',self.token)
|
||||
})
|
||||
},
|
||||
checkDetail: function (id,reply,time) {
|
||||
if (!this.isLoading) {
|
||||
window.location.href = 'feedback-detail.html?contentOpinionId=' + id + '&reply=' + reply + '&time=' + encodeURI(time)
|
||||
}
|
||||
},
|
||||
loadMore: function () {
|
||||
if (!this.isLoading) {
|
||||
this.page.page++
|
||||
this.getFeedbackList()
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted: function () {
|
||||
this.pageType = window.location.search.replace('?','').split('=')[1]
|
||||
if (this.pageType == '1') {
|
||||
this.getFeedbackList()
|
||||
} else {
|
||||
this.getTravelFeedbackList()
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
128
feedback-travel.html
Normal file
@ -0,0 +1,128 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/swiper.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script src="js/rem.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" v-cloak style="padding: 0;">
|
||||
<a href="feedback-record.html?type=2" class="link-record">
|
||||
<div class="record-title">反馈记录</div>
|
||||
<img src="image/right-arrow.png" alt="">
|
||||
</a>
|
||||
<div class="feedback-main" style="padding: .2rem;">
|
||||
<div class="feedback-title">您的问题或建议:</div>
|
||||
<textarea placeholder="请输入个人意见反馈,字数在200字以内" v-model="opinion.opinionContent"></textarea>
|
||||
<!-- <div class="photo">-->
|
||||
<!-- <div class="feedback-title">上传照片</div>-->
|
||||
<!-- <div class="upload-photo-box" v-for="(photo,idx) in imgList">-->
|
||||
<!-- <div class="img-box">-->
|
||||
<!-- <img :src="requestUrl + 'news/route/file/downloadfile/true/' + photo" alt="">-->
|
||||
<!-- </div>-->
|
||||
|
||||
<!-- <img src="image/delete.png" alt="" class="delete" @click="deleteImg(idx)">-->
|
||||
<!-- </div>-->
|
||||
<!-- <input type="file" id="upload-photo" @change="uploadPhoto">-->
|
||||
<!-- <label for="upload-photo" v-if="imgList.length < 9"><span>+</span></label>-->
|
||||
<!-- </div>-->
|
||||
<div class="contact">
|
||||
<div class="feedback-title">您的联系方式:</div>
|
||||
<input type="text" placeholder="请输入电话号码" v-model="opinion.opinionPhone">
|
||||
<input type="text" placeholder="请输入电子邮箱" v-model="opinion.opinionEmail">
|
||||
<div class="tip">留下您的联系方式,以使我们了解问题后及时反馈结果</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="submit-feedback">
|
||||
<div class="submit-feedback-btn" @click="submitFeedback">提交建议</div>
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="image/loading.gif" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/jquery-2.1.4.min.js"></script>
|
||||
<script src="js/ajax.js"></script>
|
||||
<script src="js/swiper.js"></script>
|
||||
<script src="js/layer/layer.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
requestUrl: 'http://219.159.20.131:8081/',
|
||||
token: sessionStorage.getItem('token'),
|
||||
imgList: [],
|
||||
opinion: {
|
||||
opinionContent: '',
|
||||
opinionPhone: '',
|
||||
opinionEmail: '',
|
||||
opinionImage: ''
|
||||
},
|
||||
isLoading: false
|
||||
},
|
||||
methods: {
|
||||
uploadPhoto: function (e) {
|
||||
var file
|
||||
var self = this
|
||||
var url = self.requestUrl
|
||||
this.isLoading = true
|
||||
// self.isLoading = true
|
||||
file = $('#upload-photo')[0].files[0]
|
||||
url += 'news/app/file/uploadimage'
|
||||
var formData = new FormData()
|
||||
formData.append('image', file)
|
||||
$.ajax({
|
||||
url: url,
|
||||
type: 'post',
|
||||
data: formData,
|
||||
contentType: false,
|
||||
processData: false,
|
||||
headers: {
|
||||
token: self.token
|
||||
},
|
||||
success: function (data) {
|
||||
self.imgList.push(data.data)
|
||||
},
|
||||
complete: function () {
|
||||
self.isLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
submitFeedback: function () {
|
||||
var self = this
|
||||
var photo = ''
|
||||
if (this.imgList.length > 0) {
|
||||
for (let i = 0; i < this.imgList.length;i++) {
|
||||
if (i != this.imgList.length - 1) {
|
||||
photo += this.imgList[i] + ','
|
||||
} else {
|
||||
photo += this.imgList[i]
|
||||
}
|
||||
}
|
||||
this.opinion.opinionImage = photo
|
||||
}
|
||||
if (!this.isLoading) {
|
||||
doPostJson(self.requestUrl + 'news/app/contentopinion/save/travelOpinionFeedback', self.opinion, {},function (code, data) {
|
||||
if (code == '200') {
|
||||
layer.msg('提交成功')
|
||||
}
|
||||
}, null, function (res) {
|
||||
res.setRequestHeader('token',self.token)
|
||||
})
|
||||
}
|
||||
},
|
||||
deleteImg: function (idx) {
|
||||
this.imgList.splice(idx,1)
|
||||
}
|
||||
},
|
||||
mounted: function () {
|
||||
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
BIN
image/activity-on.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
image/activity.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
image/address.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
image/culture-on.png
Normal file
After Width: | Height: | Size: 7.9 KiB |
BIN
image/culture.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
image/default.png
Normal file
After Width: | Height: | Size: 7.1 KiB |
BIN
image/delete.png
Normal file
After Width: | Height: | Size: 930 B |
BIN
image/feedback.png
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
image/hritage-icon1.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
image/hritage-icon2.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
image/hritage-icon3.png
Normal file
After Width: | Height: | Size: 1005 B |
BIN
image/hritage-icon4.png
Normal file
After Width: | Height: | Size: 725 B |
BIN
image/hritage-icon5.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
image/hritage-icon6.png
Normal file
After Width: | Height: | Size: 790 B |
BIN
image/hritage-icon7.png
Normal file
After Width: | Height: | Size: 683 B |
BIN
image/hritage-icon8.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
image/index-on.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
image/index.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
image/loading.gif
Normal file
After Width: | Height: | Size: 6.6 KiB |
BIN
image/man.png
Normal file
After Width: | Height: | Size: 1010 B |
BIN
image/nav-icon1.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
image/nav-icon2.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
image/nav-icon3.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
image/nav-icon4.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
image/no-data.png
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
image/people.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
image/phone.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
image/phone1.png
Normal file
After Width: | Height: | Size: 633 B |
BIN
image/phone2.png
Normal file
After Width: | Height: | Size: 451 B |
BIN
image/read.png
Normal file
After Width: | Height: | Size: 72 KiB |
BIN
image/right-arrow.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
image/time.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
image/time1.png
Normal file
After Width: | Height: | Size: 686 B |
BIN
image/time2.png
Normal file
After Width: | Height: | Size: 499 B |
BIN
image/toilet-default.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
image/toilet.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
image/venue-detail-top.png
Normal file
After Width: | Height: | Size: 143 KiB |
BIN
image/venue-on.png
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
image/venue.png
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
image/venueall.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
image/woman.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
329
index.html
Normal file
@ -0,0 +1,329 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/swiper.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script src="js/rem.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" v-cloak>
|
||||
<div class="swiper mySwiper">
|
||||
<div class="swiper-wrapper">
|
||||
<div class="swiper-slide" v-for="item in slideList">
|
||||
<a href="javascript: void(0);" @click="goDetail(item.newsContentLink, item.templateRecordUrl, item.newsContentType, item.newsContentContent)">
|
||||
<img :src="requestUrl + 'news/route/file/downloadfile/true/' + item.newsContentCoverList" alt="">
|
||||
</a>
|
||||
</div>
|
||||
<div class="swiper-pagination"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="nav">
|
||||
<div class="nav-box" @click="goNavList('1')">
|
||||
<img src="image/nav-icon1.png" alt="">
|
||||
<p>综合类</p>
|
||||
</div>
|
||||
<div class="nav-box" @click="goNavList('2')">
|
||||
<img src="image/nav-icon2.png" alt="">
|
||||
<p>文化类</p>
|
||||
</div>
|
||||
<div class="nav-box" @click="goNavList('3')">
|
||||
<img src="image/nav-icon3.png" alt="">
|
||||
<p>旅游类</p>
|
||||
</div>
|
||||
<div class="nav-box" @click="goNavList('4')">
|
||||
<img src="image/nav-icon4.png" alt="">
|
||||
<p>体育类</p>
|
||||
</div>
|
||||
<!-- <div class="nav-box" v-for="nav in navList" @click="goNavList(nav.newsDirectoriesId)">-->
|
||||
<!-- <img :src="requestUrl + 'news/route/file/downloadfile/true/' + nav.directoriesPhoto" alt="">-->
|
||||
<!-- <p>{{nav.directoriesName}}</p>-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
<div class="toilet">
|
||||
<a href="toilet-list.html">
|
||||
<img src="image/toilet.png" alt="">
|
||||
</a>
|
||||
</div>
|
||||
<div class="toilet">
|
||||
<a href="https://m.5read.com/7844">
|
||||
<img src="image/read.png" alt="">
|
||||
</a>
|
||||
</div>
|
||||
<div class="venue">
|
||||
<h3>精彩推荐</h3>
|
||||
<div class="venue-container">
|
||||
<div class="venue-box" v-for="venue in venueList" @click="goVenueDetail(venue.venuesInfoId)">
|
||||
<img :src="requestUrl + 'venuebooking/route/file/downloadfile/true/' + venue.venuePanorama" alt="">
|
||||
<div class="venue-info">
|
||||
<h4>{{venue.venueName}}</h4>
|
||||
<p class="phone">{{venue.venueTelephone}}</p>
|
||||
<p class="time">{{venue.businessHours}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="news venue">
|
||||
<h3>政务信息</h3>
|
||||
<div class="news-container" v-for="news in newsList" @click="goDetail(news.newsContentLink, news.templateRecordUrl, news.newsContentType, news.newsContentContent)">
|
||||
<div class="news-box style1" v-if="news.typesettingCode == 'key_1'">
|
||||
<h4>{{news.newsContentTitle}}</h4>
|
||||
<div class="three-img">
|
||||
<img :src="requestUrl + 'news/route/file/downloadfile/true/' + img.contentCoverId" alt="" v-for="(img,idx) in news.newsContentCoverList">
|
||||
</div>
|
||||
</div>
|
||||
<div class="news-box style2 style3" v-if="news.typesettingCode == 'key_2'">
|
||||
<div class="news-img">
|
||||
<img :src="requestUrl + 'news/route/file/downloadfile/true/' + img.contentCoverId" alt="" v-for="(img,idx) in news.newsContentCoverList" v-if="idx == 0">
|
||||
</div>
|
||||
<div class="news-info">
|
||||
<h4>{{news.newsContentTitle}}</h4>
|
||||
<p>发布时间:{{news.newsContentPublishTime}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="news-box style3" v-if="news.typesettingCode == 'key_3'">
|
||||
<div class="news-info">
|
||||
<h4>{{news.newsContentTitle}}</h4>
|
||||
<p>发布时间:{{news.newsContentPublishTime}}</p>
|
||||
</div>
|
||||
<div class="news-img">
|
||||
<img :src="requestUrl + 'news/route/file/downloadfile/true/' + img.contentCoverId" alt="" v-for="(img,idx) in news.newsContentCoverList" v-if="idx == 0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="news-box style4" v-if="news.typesettingCode == 'key_4'">
|
||||
<h4>{{news.newsContentTitle}}</h4>
|
||||
<div class="big-img-box">
|
||||
<img :src="requestUrl + 'news/route/file/downloadfile/true/' + img.contentCoverId" alt="" v-for="(img,idx) in news.newsContentCoverList" v-if="idx == 0">
|
||||
</div>
|
||||
<p>发布时间:{{news.newsContentPublishTime}}</p>
|
||||
</div>
|
||||
<div class="news-box style4" v-if="news.typesettingCode == 'key_5'">
|
||||
<h4>{{news.newsContentTitle}}</h4>
|
||||
<p>发布时间:{{news.newsContentPublishTime}}</p>
|
||||
</div>
|
||||
<div class="news-box style4" v-if="news.typesettingCode == 'key_6'">
|
||||
<h4>{{news.newsContentTitle}}</h4>
|
||||
<div class="big-img-box">
|
||||
<img :src="requestUrl + 'news/route/file/downloadfile/true/' + img.contentCoverId" alt="" v-for="(img,idx) in news.newsContentCoverList" v-if="idx == 0">
|
||||
</div>
|
||||
<p>发布时间:{{news.newsContentPublishTime}}</p>
|
||||
</div>
|
||||
<div class="news-box style4" v-if="news.typesettingCode == 'key_7'">
|
||||
<h4>{{news.newsContentTitle}}</h4>
|
||||
<div class="big-img-box">
|
||||
<img :src="requestUrl + 'news/route/file/downloadfile/true/' + img.contentCoverId" alt="" v-for="(img,idx) in news.newsContentCoverList" v-if="idx == 0">
|
||||
</div>
|
||||
<p>发布时间:{{news.newsContentPublishTime}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-text">
|
||||
<p>数据来源:乌兰察布市文化旅游体育局</p>
|
||||
<p>联系电话:0474-8182809</p>
|
||||
</div>
|
||||
<div class="feedback" @click="showFeedback = true">
|
||||
<a href="javascript:void(0);">
|
||||
反馈
|
||||
<!-- <img src="image/feedback.png" alt="">-->
|
||||
</a>
|
||||
</div>
|
||||
<div class="feedback-type-outer" v-if="showFeedback" @click="showFeedback = false">
|
||||
<div class="feedback-type-container">
|
||||
<a href="feedback-masses.html" class="feedback-type-box">
|
||||
<img src="image/feedback.png" alt="">
|
||||
<p>群众反馈</p>
|
||||
</a>
|
||||
<a href="feedback-travel.html" class="feedback-type-box">
|
||||
<img src="image/feedback.png" alt="">
|
||||
<p>旅游反馈</p>
|
||||
</a>
|
||||
<!-- <a href="feedback-record.html" class="feedback-type-box">-->
|
||||
<!-- <img src="image/feedback.png" alt="">-->
|
||||
<!-- <p>群众反馈记录</p>-->
|
||||
<!-- </a>-->
|
||||
<!-- <a href="travel-record.html" class="feedback-type-box">-->
|
||||
<!-- <img src="image/feedback.png" alt="">-->
|
||||
<!-- <p>旅游反馈记录</p>-->
|
||||
<!-- </a>-->
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="live venue">-->
|
||||
<!-- <h3>直播专区</h3>-->
|
||||
<!-- <div class="live-container">-->
|
||||
<!-- <div class="live-box" v-for="live in liveList">-->
|
||||
<!-- <div class="live-img">-->
|
||||
<!-- <img :src="requestUrl + 'live/route/file/downloadfile/true/' + live.livePlanPhoto" alt="">-->
|
||||
<!-- <span v-if="live.liveStatus == '0'">已结束</span>-->
|
||||
<!-- <span v-if="live.liveStatus == '1'">未开始</span>-->
|
||||
<!-- <span v-if="live.liveStatus == '2'">直播中</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <p>{{live.livePlanName}}</p>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<div class="bottom-nav">
|
||||
<div class="bottom-nav-box active">
|
||||
<div class="nav-icon"></div>
|
||||
<span>首页</span>
|
||||
</div>
|
||||
<div class="bottom-nav-box" @click="goBottomNav('2')">
|
||||
<div class="nav-icon"></div>
|
||||
<span>活动</span>
|
||||
</div>
|
||||
<div class="bottom-nav-box" @click="goBottomNav('3')">
|
||||
<div class="nav-icon"></div>
|
||||
<span>场馆</span>
|
||||
</div>
|
||||
<div class="bottom-nav-box" @click="goBottomNav('4')">
|
||||
<div class="nav-icon"></div>
|
||||
<span>文化</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/jquery-2.1.4.min.js"></script>
|
||||
<script src="js/ajax.js"></script>
|
||||
<script src="js/swiper.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
requestUrl: 'http://219.159.20.131:8081/',
|
||||
slideList: [],
|
||||
navList: [],
|
||||
venueList: [],
|
||||
newsList: [],
|
||||
liveList: [],
|
||||
showFeedback: false,
|
||||
token: ''
|
||||
},
|
||||
methods: {
|
||||
// banner
|
||||
getSlideNews: function () {
|
||||
var self= this
|
||||
doGetForm(self.requestUrl + 'news/app/newscontent/listpagenewscontentrelease', {
|
||||
newsDirectoriesId: 'eab0ca3c-d35d-4c02-9397-ace2bdd10fc1',
|
||||
page: 1,
|
||||
rows: 5
|
||||
}, {}, function (code, data) {
|
||||
var arr = data.rows
|
||||
for (let i = 0; i < arr.length; i++) {
|
||||
arr[i].newsContentCoverList = arr[i].newsContentCoverList[0].contentCoverId
|
||||
}
|
||||
self.slideList = arr
|
||||
self.$nextTick(function () {
|
||||
var swiper = new Swiper(".mySwiper", {
|
||||
pagination: '.swiper-pagination',
|
||||
paginationClickable: true,
|
||||
autoplay: 3000
|
||||
});
|
||||
})
|
||||
})
|
||||
},
|
||||
// 获取导航
|
||||
getNav: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'news/app/newsdirectories/listnewsdirectoriesrelease', {
|
||||
directoriesParentId: '213f660a-1660-48da-b244-56de7cf5c27e'
|
||||
}, {}, function (code, data) {
|
||||
self.navList = data
|
||||
})
|
||||
},
|
||||
// 获取场馆
|
||||
getVenue: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'venuebooking/app/venuesinfo/listpagevenuesinforelease', {
|
||||
page: 1,
|
||||
rows: 5
|
||||
}, {}, function (code, data) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
data.rows[i].venuePanorama = data.rows[i].venuePanorama.split(',')[0]
|
||||
}
|
||||
self.venueList = data.rows
|
||||
})
|
||||
},
|
||||
// 获取政务信息
|
||||
getNews: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'news/app/newscontent/listpagenewscontentrelease', {
|
||||
newsDirectoriesId: '1e494b7f-d0e4-4baa-acfe-57268247e0e4',
|
||||
page: 1,
|
||||
rows: 5
|
||||
}, {}, function (code, data) {
|
||||
self.newsList = data.rows
|
||||
})
|
||||
},
|
||||
// 获取直播
|
||||
getLive: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'live/app/liveplan/listpageliveplanrelease', {
|
||||
page: 1,
|
||||
rows: 4
|
||||
}, {}, function (code, data) {
|
||||
self.liveList = data.rows
|
||||
})
|
||||
},
|
||||
// 新闻详情
|
||||
goDetail: function (link, url, type, outlink) {
|
||||
if (type === '6') {
|
||||
window.open(outlink)
|
||||
} else {
|
||||
if (link) {
|
||||
window.open(link)
|
||||
} else {
|
||||
window.location.href = this.requestUrl + url
|
||||
}
|
||||
}
|
||||
},
|
||||
// 底部导航
|
||||
goBottomNav: function (nav) {
|
||||
if (nav == '2') {
|
||||
window.location.href = 'activity.html'
|
||||
} else if (nav == '3') {
|
||||
window.location.href = 'venue.html'
|
||||
} else {
|
||||
window.location.href = 'culture.html'
|
||||
}
|
||||
},
|
||||
// 场馆详情
|
||||
goVenueDetail: function (id) {
|
||||
window.location.href = 'venue-detail.html?id=' + id
|
||||
},
|
||||
// 导航详情
|
||||
goNavList: function (id) {
|
||||
// if (id == 'c131dd1d-83c6-46c0-b535-76dc089f2637') {
|
||||
// window.location.href = 'culture.html'
|
||||
// } else if (id == '1ab9fcab-4d7e-4305-9d57-abe71cfd539a') {
|
||||
// window.location.href = 'venue.html'
|
||||
// } else {
|
||||
// window.location.href = 'newsList.html?newsDirectoriesId=' + id
|
||||
// }
|
||||
if (id == '1') {
|
||||
window.location.href = 'comprehensive.html'
|
||||
} else if (id == '2') {
|
||||
window.location.href = 'cultureType.html'
|
||||
} else if (id == '3') {
|
||||
window.location.href = 'travel.html'
|
||||
} else {
|
||||
window.location.href = 'sport.html'
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted: function () {
|
||||
var token = window.location.search.replace('?','').split('=')[1]
|
||||
// var token = 'cVJWWXQ1UWpQWTQ1TDZMbEVtTmxiMlJVNkdvTzUwSTNHYzZaK3VTZmF0RitvTkNabU1KNENtLzFrQmI4akFvUzl4SlRYMlhtV0ZoRHZrVC9iYjVWZVovWngzbHBBckFZN2FiUkZ6ZUF4ZHU1V2NtZ2pqL2RROWpmZmluc2pXY2xDMkN1M1pDOUZBOE9RZGJYVDdPSlJHMU5iNmFyaUJaNzUrajk3WjVYOGJFNnpKS21JTVpRTGd2eE5vMlZ3bUNDVUVyWGM1YWlLbUhJU1h1Q3h4M0thSW1yWm1Dbzc0TWtFRjRldTREeCtMWT0'
|
||||
this.token = token
|
||||
sessionStorage.setItem('token',token)
|
||||
this.getSlideNews()
|
||||
this.getNav()
|
||||
this.getVenue()
|
||||
this.getNews()
|
||||
// this.getLive()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
88
js/ajax.js
Normal file
@ -0,0 +1,88 @@
|
||||
function ObjToForm(obj) {
|
||||
var formStr;
|
||||
for (var name in obj) {
|
||||
if (formStr == undefined || formStr == null) {
|
||||
formStr = name + '=' + obj[name];
|
||||
} else {
|
||||
formStr += '&' + name + '=' + obj[name];
|
||||
}
|
||||
}
|
||||
return formStr;
|
||||
}
|
||||
|
||||
/**
|
||||
* 发起get请求,普通form表单格式
|
||||
* @param url 地址
|
||||
* @param dataObj 请求对象
|
||||
* @param successCallback 请求成功回调
|
||||
* @param errorCallback 请求失败回调
|
||||
* @param beforeSendCallback 发送前执行
|
||||
* @param completeCallback 发送后执行
|
||||
*/
|
||||
function doGetForm(url, dataObj, args, successCallback, errorCallback, beforeCallback, completeCallback) {
|
||||
dataObj.tm = new Date().getTime();
|
||||
$.ajax({
|
||||
url: url,
|
||||
type: 'GET',
|
||||
contentType: "application/json;charset=utf-8",
|
||||
data: (dataObj == undefined || dataObj == null) ? {} : ObjToForm(dataObj),
|
||||
success: function(data, status, XMLHttpRequest) {
|
||||
var responseCode = XMLHttpRequest.status;
|
||||
successCallback(responseCode, data, args);
|
||||
},
|
||||
error: function(XMLHttpRequest) {
|
||||
var responseCode = XMLHttpRequest.status;
|
||||
if (errorCallback != undefined && errorCallback != null && typeof(errorCallback) == 'function') {
|
||||
errorCallback(responseCode);
|
||||
}
|
||||
},
|
||||
beforeSend: function(XMLHttpRequest) {
|
||||
if (beforeCallback != undefined && beforeCallback != null && typeof(beforeCallback) == 'function') {
|
||||
beforeCallback(XMLHttpRequest);
|
||||
}
|
||||
},
|
||||
complete: function(XMLHttpRequest, status) {
|
||||
if (completeCallback != undefined && completeCallback != null && typeof(completeCallback) == 'function') {
|
||||
completeCallback(XMLHttpRequest, status);
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 发起post请求
|
||||
* @param url 请求地址
|
||||
* @param dataObj 请求对象
|
||||
* @param successCallback 请求成功回调
|
||||
* @param errorCallback 请求失败回调
|
||||
* @param beforeSendCallback 发送前执行
|
||||
* @param completeCallback 发送后执行
|
||||
*/
|
||||
function doPostJson(url, dataObj, args, successCallback, errorCallback, beforeCallback, completeCallback, isJson) {
|
||||
$.ajax({
|
||||
url: url,
|
||||
type: 'POST',
|
||||
contentType: "application/json;charset=utf-8",
|
||||
data: (dataObj == undefined || dataObj == null) ? {} : JSON.stringify(dataObj),
|
||||
success: function(data, status, XMLHttpRequest) {
|
||||
var responseCode = XMLHttpRequest.status;
|
||||
successCallback(responseCode, data, args);
|
||||
},
|
||||
error: function(XMLHttpRequest) {
|
||||
var responseCode = XMLHttpRequest.status;
|
||||
if (errorCallback != undefined && errorCallback != null && typeof(errorCallback) == 'function') {
|
||||
errorCallback(responseCode);
|
||||
}
|
||||
},
|
||||
beforeSend: function(XMLHttpRequest) {
|
||||
if (beforeCallback != undefined && beforeCallback != null && typeof(beforeCallback) == 'function') {
|
||||
beforeCallback(XMLHttpRequest);
|
||||
}
|
||||
},
|
||||
complete: function(XMLHttpRequest, status) {
|
||||
if (completeCallback != undefined && completeCallback != null && typeof(completeCallback) == 'function') {
|
||||
completeCallback(XMLHttpRequest, status);
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
3
js/jquery-2.1.4.min.js
vendored
Normal file
2
js/layer/layer.js
Normal file
2
js/layer/mobile/layer.js
Normal file
@ -0,0 +1,2 @@
|
||||
/*! layer mobile-v2.0.0 Web弹层组件 MIT License http://layer.layui.com/mobile By 贤心 */
|
||||
;!function(e){"use strict";var t=document,n="querySelectorAll",i="getElementsByClassName",a=function(e){return t[n](e)},s={type:0,shade:!0,shadeClose:!0,fixed:!0,anim:"scale"},l={extend:function(e){var t=JSON.parse(JSON.stringify(s));for(var n in e)t[n]=e[n];return t},timer:{},end:{}};l.touch=function(e,t){e.addEventListener("click",function(e){t.call(this,e)},!1)};var r=0,o=["layui-m-layer"],c=function(e){var t=this;t.config=l.extend(e),t.view()};c.prototype.view=function(){var e=this,n=e.config,s=t.createElement("div");e.id=s.id=o[0]+r,s.setAttribute("class",o[0]+" "+o[0]+(n.type||0)),s.setAttribute("index",r);var l=function(){var e="object"==typeof n.title;return n.title?'<h3 style="'+(e?n.title[1]:"")+'">'+(e?n.title[0]:n.title)+"</h3>":""}(),c=function(){"string"==typeof n.btn&&(n.btn=[n.btn]);var e,t=(n.btn||[]).length;return 0!==t&&n.btn?(e='<span yes type="1">'+n.btn[0]+"</span>",2===t&&(e='<span no type="0">'+n.btn[1]+"</span>"+e),'<div class="layui-m-layerbtn">'+e+"</div>"):""}();if(n.fixed||(n.top=n.hasOwnProperty("top")?n.top:100,n.style=n.style||"",n.style+=" top:"+(t.body.scrollTop+n.top)+"px"),2===n.type&&(n.content='<i></i><i class="layui-m-layerload"></i><i></i><p>'+(n.content||"")+"</p>"),n.skin&&(n.anim="up"),"msg"===n.skin&&(n.shade=!1),s.innerHTML=(n.shade?"<div "+("string"==typeof n.shade?'style="'+n.shade+'"':"")+' class="layui-m-layershade"></div>':"")+'<div class="layui-m-layermain" '+(n.fixed?"":'style="position:static;"')+'><div class="layui-m-layersection"><div class="layui-m-layerchild '+(n.skin?"layui-m-layer-"+n.skin+" ":"")+(n.className?n.className:"")+" "+(n.anim?"layui-m-anim-"+n.anim:"")+'" '+(n.style?'style="'+n.style+'"':"")+">"+l+'<div class="layui-m-layercont">'+n.content+"</div>"+c+"</div></div></div>",!n.type||2===n.type){var d=t[i](o[0]+n.type),y=d.length;y>=1&&layer.close(d[0].getAttribute("index"))}document.body.appendChild(s);var u=e.elem=a("#"+e.id)[0];n.success&&n.success(u),e.index=r++,e.action(n,u)},c.prototype.action=function(e,t){var n=this;e.time&&(l.timer[n.index]=setTimeout(function(){layer.close(n.index)},1e3*e.time));var a=function(){var t=this.getAttribute("type");0==t?(e.no&&e.no(),layer.close(n.index)):e.yes?e.yes(n.index):layer.close(n.index)};if(e.btn)for(var s=t[i]("layui-m-layerbtn")[0].children,r=s.length,o=0;o<r;o++)l.touch(s[o],a);if(e.shade&&e.shadeClose){var c=t[i]("layui-m-layershade")[0];l.touch(c,function(){layer.close(n.index,e.end)})}e.end&&(l.end[n.index]=e.end)},e.layer={v:"2.0",index:r,open:function(e){var t=new c(e||{});return t.index},close:function(e){var n=a("#"+o[0]+e)[0];n&&(n.innerHTML="",t.body.removeChild(n),clearTimeout(l.timer[e]),delete l.timer[e],"function"==typeof l.end[e]&&l.end[e](),delete l.end[e])},closeAll:function(){for(var e=t[i](o[0]),n=0,a=e.length;n<a;n++)layer.close(0|e[0].getAttribute("index"))}},"function"==typeof define?define(function(){return layer}):function(){var e=document.scripts,n=e[e.length-1],i=n.src,a=i.substring(0,i.lastIndexOf("/")+1);n.getAttribute("merge")||document.head.appendChild(function(){var e=t.createElement("link");return e.href=a+"need/layer.css?2.0",e.type="text/css",e.rel="styleSheet",e.id="layermcss",e}())}()}(window);
|
1
js/layer/mobile/need/layer.css
Normal file
BIN
js/layer/skin/default/icon-ext.png
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
js/layer/skin/default/icon.png
Normal file
After Width: | Height: | Size: 11 KiB |
1
js/layer/skin/default/layer.css
Normal file
BIN
js/layer/skin/default/loading-0.gif
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
js/layer/skin/default/loading-1.gif
Normal file
After Width: | Height: | Size: 701 B |
BIN
js/layer/skin/default/loading-2.gif
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
js/layer/theme/default/icon-ext.png
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
js/layer/theme/default/icon.png
Normal file
After Width: | Height: | Size: 11 KiB |
1
js/layer/theme/default/layer.css
Normal file
BIN
js/layer/theme/default/loading-0.gif
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
js/layer/theme/default/loading-1.gif
Normal file
After Width: | Height: | Size: 701 B |
BIN
js/layer/theme/default/loading-2.gif
Normal file
After Width: | Height: | Size: 1.7 KiB |
12
js/rem.js
Normal file
@ -0,0 +1,12 @@
|
||||
function setPage() {
|
||||
var html = document.getElementsByTagName('html')[0];
|
||||
var deviceWidth = document.documentElement.clientWidth;
|
||||
var scale = deviceWidth / 750;//psd图上的宽度
|
||||
html.style.fontSize = scale * 100 + 'px';
|
||||
}
|
||||
|
||||
setPage();
|
||||
|
||||
window.onresize = function () {
|
||||
setPage();
|
||||
}
|
19
js/swiper.js
Normal file
181
newsList.html
Normal file
@ -0,0 +1,181 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script src="js/rem.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" v-cloak>
|
||||
<div class="area">
|
||||
<div class="area-box" v-for="type in typeList" :class="{active: curType == type.newsDirectoriesId}" @click="changeType(type.newsDirectoriesId)">{{type.directoriesName}}</div>
|
||||
</div>
|
||||
<div class="area news-area">
|
||||
<div class="area-box" :class="{active: page.county == ''}" @click="loadAll">全部</div>
|
||||
<div class="area-box" v-for="area in areaList" :class="{active: page.county == area.areaId}" @click="changeArea(area.areaId,area.areaLevel)">{{area.areaName}}</div>
|
||||
</div>
|
||||
<div class="news-list" v-if="newsList && newsList.length > 0">
|
||||
<div class="news-list-box" v-for="news in newsList" @click="goDetail(news.newsContentLink, news.templateRecordUrl, news.newsContentType, news.newsContentContent)">
|
||||
<img :src="requestUrl + 'news/route/file/downloadfile/true/' + news.newsContentCoverList" alt="">
|
||||
<div class="news-list-info">
|
||||
<h3>{{news.newsContentTitle}}</h3>
|
||||
<p>作者:{{news.newsContentAuthor}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="load-more" v-if="haveMore && newsList && newsList.length > 0" @click="loadMore">加载更多</div>
|
||||
</div>
|
||||
<div class="no-data" v-else>
|
||||
<img src="image/no-data.png" alt="">
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="image/loading.gif" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/jquery-2.1.4.min.js"></script>
|
||||
<script src="js/ajax.js"></script>
|
||||
<script src="js/layer/layer.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
areaList: [],
|
||||
typeList: [],
|
||||
newsList: [],
|
||||
curType: '',
|
||||
page: {
|
||||
page: 1,
|
||||
rows: 10,
|
||||
newsDirectoriesId: '',
|
||||
county: ''
|
||||
},
|
||||
requestUrl: 'http://219.159.20.131:8081/',
|
||||
haveMore: true,
|
||||
isLoading: true
|
||||
},
|
||||
methods: {
|
||||
getAreaList: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'usercenter/app/dataarea/listareabyparentidrelease/110889', {}, null, function (code, data) {
|
||||
self.areaList = data
|
||||
})
|
||||
},
|
||||
changeArea: function (id, lv) {
|
||||
if (!this.isLoading) {
|
||||
var level = parseInt(lv) + 1
|
||||
level = 'area' + level
|
||||
this.page.county = id
|
||||
this.page[level] = id
|
||||
this.page.page = 1
|
||||
this.haveMore = true
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
getTypeList: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'news/app/newsdirectories/listnewsdirectoriesrelease', {
|
||||
directoriesParentId: self.page.newsDirectoriesId
|
||||
}, {}, function (code, data) {
|
||||
self.typeList = data
|
||||
self.curType = data[0].newsDirectoriesId
|
||||
self.page.newsDirectoriesId = data[0].newsDirectoriesId
|
||||
self.getNewsList()
|
||||
})
|
||||
},
|
||||
changeType: function (type) {
|
||||
if (!this.isLoading) {
|
||||
this.curType = type
|
||||
this.page.newsDirectoriesId = type
|
||||
this.page.page = 1
|
||||
this.haveMore = true
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
getNewsList: function () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
doGetForm(self.requestUrl + 'news/app/newscontent/listpagenewscontentrelease', self.page, {}, function (code, data) {
|
||||
if (self.page.page == '1') {
|
||||
if (data.rows.length > 0) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
data.rows[i].newsContentCoverList = data.rows[i].newsContentCoverList[0].contentCoverId
|
||||
self.newsList.push(data.rows[i])
|
||||
}
|
||||
self.newsList = data.rows
|
||||
if (data.rows.length > 0) {
|
||||
self.haveMore = true
|
||||
self.isLoading = false
|
||||
} else {
|
||||
self.haveMore = false
|
||||
self.isLoading = false
|
||||
}
|
||||
return
|
||||
} else {
|
||||
self.newsList = []
|
||||
self.haveMore = false
|
||||
self.isLoading = false
|
||||
}
|
||||
} else {
|
||||
if (data.rows.length > 0) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
data.rows[i].newsContentCoverList = data.rows[i].newsContentCoverList[0].contentCoverId
|
||||
self.newsList.push(data.rows[i])
|
||||
}
|
||||
self.haveMore = true
|
||||
self.isLoading = false
|
||||
} else {
|
||||
self.page.page--
|
||||
self.haveMore = false
|
||||
self.isLoading = false
|
||||
layer.msg('暂无更多')
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
},
|
||||
loadMore: function () {
|
||||
if (!this.isLoading) {
|
||||
this.page.page++
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
loadAll: function () {
|
||||
if (!this.isLoading) {
|
||||
var self = this
|
||||
this.page = {
|
||||
page: 1,
|
||||
rows: 10,
|
||||
newsDirectoriesId: self.curType,
|
||||
county: ''
|
||||
}
|
||||
this.haveMore = true
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
// 新闻详情
|
||||
goDetail: function (link, url, type, outlink) {
|
||||
if (!this.isLoading) {
|
||||
if (type === '6') {
|
||||
window.open(outlink)
|
||||
} else {
|
||||
if (link) {
|
||||
window.open(link)
|
||||
} else {
|
||||
window.location.href = this.requestUrl + url
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
mounted: function () {
|
||||
this.page.newsDirectoriesId = window.location.search.replace('?','').split('=')[1]
|
||||
this.getAreaList()
|
||||
this.getTypeList()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
191
sport.html
Normal file
@ -0,0 +1,191 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script src="js/rem.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" v-cloak>
|
||||
<div class="area">
|
||||
<!-- <div class="area-box" v-for="type in typeList" :class="{active: curType == type.newsDirectoriesId}" @click="changeType(type.newsDirectoriesId)">{{type.directoriesName}}</div>-->
|
||||
<div class="area-box" :class="{active: curType == '6b80b810-ab37-455a-ada7-a224b904c3ce'}" @click="changeType('6b80b810-ab37-455a-ada7-a224b904c3ce')">全民健身</div>
|
||||
<div class="area-box" :class="{active: curType == 'eb7af95e-a4d7-46ed-a257-cb0e55d1b7e9'}" @click="changeType('eb7af95e-a4d7-46ed-a257-cb0e55d1b7e9')">良师推介</div>
|
||||
<div class="area-box" :class="{active: curType == '4bacae47-2c96-4b4c-bd6d-d13a78364e9f'}" @click="changeType('4bacae47-2c96-4b4c-bd6d-d13a78364e9f')">精品赛事</div>
|
||||
<div class="area-box" :class="{active: curType == '9b04c8d5-f1ea-46ce-9612-5af84c12ff0f'}" @click="changeType('9b04c8d5-f1ea-46ce-9612-5af84c12ff0f')">夺金榜</div>
|
||||
<div class="area-box" :class="{active: curType == '013e7652-ddf3-4622-8884-27450dfeb8fb'}" @click="changeType('013e7652-ddf3-4622-8884-27450dfeb8fb')">少年强</div>
|
||||
<div class="area-box" :class="{active: curType == '6402a8f9-bc33-4ee5-be38-197ac39471a3'}" @click="changeType('6402a8f9-bc33-4ee5-be38-197ac39471a3')">足球</div>
|
||||
<!-- <div class="area-box" :class="{active: curType == 'f5e67561-d291-4f6d-bd31-b9fcb403598f'}" @click="changeType('f5e67561-d291-4f6d-bd31-b9fcb403598f')">场馆预订</div>-->
|
||||
</div>
|
||||
<!-- <div class="area news-area">-->
|
||||
<!-- <div class="area-box" :class="{active: page.county == ''}" @click="loadAll">全部</div>-->
|
||||
<!-- <div class="area-box" v-for="area in areaList" :class="{active: page.county == area.areaId}" @click="changeArea(area.areaId,area.areaLevel)">{{area.areaName}}</div>-->
|
||||
<!-- </div>-->
|
||||
<div class="news-list" :style="{'margin-top': toTop}" v-if="newsList && newsList.length > 0">
|
||||
<div class="news-list-box" v-for="news in newsList" @click="goDetail(news.newsContentLink, news.templateRecordUrl, news.newsContentType, news.newsContentContent)">
|
||||
<img :src="requestUrl + 'news/route/file/downloadfile/true/' + news.newsContentCoverList" alt="">
|
||||
<div class="news-list-info">
|
||||
<h3>{{news.newsContentTitle}}</h3>
|
||||
<p>作者:{{news.newsContentAuthor}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="load-more" v-if="haveMore && newsList && newsList.length > 0" @click="loadMore">加载更多</div>
|
||||
</div>
|
||||
<div class="no-data" v-else>
|
||||
<img src="image/no-data.png" alt="">
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="image/loading.gif" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/jquery-2.1.4.min.js"></script>
|
||||
<script src="js/ajax.js"></script>
|
||||
<script src="js/layer/layer.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
areaList: [],
|
||||
typeList: [],
|
||||
newsList: [],
|
||||
curType: '6b80b810-ab37-455a-ada7-a224b904c3ce',
|
||||
page: {
|
||||
page: 1,
|
||||
rows: 10,
|
||||
newsDirectoriesId: '6b80b810-ab37-455a-ada7-a224b904c3ce',
|
||||
county: ''
|
||||
},
|
||||
requestUrl: 'http://219.159.20.131:8081/',
|
||||
haveMore: true,
|
||||
isLoading: false,
|
||||
toTop: ''
|
||||
},
|
||||
methods: {
|
||||
getAreaList: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'usercenter/app/dataarea/listareabyparentidrelease/110889', {}, null, function (code, data) {
|
||||
self.areaList = data
|
||||
})
|
||||
},
|
||||
changeArea: function (id, lv) {
|
||||
if (!this.isLoading) {
|
||||
var level = parseInt(lv) + 1
|
||||
level = 'area' + level
|
||||
this.page.county = id
|
||||
this.page[level] = id
|
||||
this.page.page = 1
|
||||
this.haveMore = true
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
getTypeList: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'news/app/newsdirectories/listnewsdirectoriesrelease', {
|
||||
directoriesParentId: self.page.newsDirectoriesId
|
||||
}, {}, function (code, data) {
|
||||
self.typeList = data
|
||||
self.curType = data[0].newsDirectoriesId
|
||||
self.page.newsDirectoriesId = data[0].newsDirectoriesId
|
||||
self.getNewsList()
|
||||
})
|
||||
},
|
||||
changeType: function (type) {
|
||||
if (!this.isLoading) {
|
||||
this.curType = type
|
||||
this.page.newsDirectoriesId = type
|
||||
this.page.page = 1
|
||||
this.haveMore = true
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
getNewsList: function () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
doGetForm(self.requestUrl + 'news/app/newscontent/listpagenewscontentrelease', self.page, {}, function (code, data) {
|
||||
if (self.page.page == '1') {
|
||||
if (data.rows.length > 0) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
data.rows[i].newsContentCoverList = data.rows[i].newsContentCoverList[0].contentCoverId
|
||||
self.newsList.push(data.rows[i])
|
||||
}
|
||||
self.newsList = data.rows
|
||||
if (data.rows.length > 0) {
|
||||
self.haveMore = true
|
||||
self.isLoading = false
|
||||
} else {
|
||||
self.haveMore = false
|
||||
self.isLoading = false
|
||||
}
|
||||
return
|
||||
} else {
|
||||
self.newsList = []
|
||||
self.haveMore = false
|
||||
self.isLoading = false
|
||||
}
|
||||
} else {
|
||||
if (data.rows.length > 0) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
data.rows[i].newsContentCoverList = data.rows[i].newsContentCoverList[0].contentCoverId
|
||||
self.newsList.push(data.rows[i])
|
||||
}
|
||||
self.haveMore = true
|
||||
self.isLoading = false
|
||||
} else {
|
||||
self.page.page--
|
||||
self.haveMore = false
|
||||
self.isLoading = false
|
||||
layer.msg('暂无更多')
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
},
|
||||
loadMore: function () {
|
||||
if (!this.isLoading) {
|
||||
this.page.page++
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
loadAll: function () {
|
||||
if (!this.isLoading) {
|
||||
var self = this
|
||||
this.page = {
|
||||
page: 1,
|
||||
rows: 10,
|
||||
newsDirectoriesId: self.curType,
|
||||
county: ''
|
||||
}
|
||||
this.haveMore = true
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
// 新闻详情
|
||||
goDetail: function (link, url, type, outlink) {
|
||||
if (!this.isLoading) {
|
||||
if (type === '6') {
|
||||
window.open(outlink)
|
||||
} else {
|
||||
if (link) {
|
||||
window.open(link)
|
||||
} else {
|
||||
window.location.href = this.requestUrl + url
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
mounted: function () {
|
||||
// this.page.newsDirectoriesId = window.location.search.replace('?','').split('=')[1]
|
||||
// this.getAreaList()
|
||||
// this.getTypeList()
|
||||
this.getNewsList()
|
||||
this.toTop = $('.area').height() + 'px'
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
112
toilet-list.html
Normal file
@ -0,0 +1,112 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/swiper.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script src="js/rem.js"></script>
|
||||
<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=aFhfSbQy2GVc92I4ue7i5w8WiQjouRYF&s=1"></script>
|
||||
</head>
|
||||
<body style="background: #f1f1f1">
|
||||
<div id="app" v-cloak>
|
||||
<div class="toilet-search">
|
||||
<input type="text" v-model="page.search" @keyup.enter="doSearch" placeholder="请输入搜索内容">
|
||||
</div>
|
||||
<div class="toilet-container">
|
||||
<a :href="'toilet.html?uid=' + toilet.uid" class="toilet-box" v-for="toilet in toiletList">
|
||||
<div class="toilet-img">
|
||||
<img :src="'http://www.wlcbsyzl.cn/systemetl/route/file/download/true/' + toilet.photo" alt="" v-if="toilet.photo">
|
||||
<img src="image/toilet-default.png" alt="" v-else>
|
||||
</div>
|
||||
<div class="toilet-info">
|
||||
<h3>{{toilet.name}}</h3>
|
||||
<p>位置:{{toilet.address}}</p>
|
||||
<p>距离:{{toilet.distance}}km</p>
|
||||
</div>
|
||||
</a>
|
||||
<div class="load-more" v-if="haveMore" @click="loadMore">加载更多</div>
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="image/loading.gif" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/jquery-2.1.4.min.js"></script>
|
||||
<script src="js/ajax.js"></script>
|
||||
<script src="js/swiper.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
requestUrl: 'http://219.159.20.131:8081/',
|
||||
token: sessionStorage.getItem('token'),
|
||||
toiletList: [],
|
||||
page: {
|
||||
page: 1,
|
||||
rows: 15,
|
||||
search:'',
|
||||
lng: '',
|
||||
lat: ''
|
||||
},
|
||||
isLoading: false,
|
||||
haveMore: true
|
||||
},
|
||||
methods: {
|
||||
getToiletList: function () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
doGetForm('http://www.wlcbsyzl.cn/systemetl/app/datacensus/sql/CS00001', self.page, null, function (code, data) {
|
||||
if (data.length == 0) {
|
||||
self.haveMore = false
|
||||
self.page.page--
|
||||
}
|
||||
if (self.page.page == '1') {
|
||||
self.toiletList = data
|
||||
} else {
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
self.toiletList.push(data[i])
|
||||
}
|
||||
}
|
||||
self.isLoading = false
|
||||
if (data.length < self.page.rows) {
|
||||
self.haveMore = false
|
||||
}
|
||||
}, null, function (res) {
|
||||
res.setRequestHeader('token',self.token)
|
||||
})
|
||||
},
|
||||
loadMore: function () {
|
||||
this.page.page++
|
||||
this.getToiletList()
|
||||
},
|
||||
doSearch: function () {
|
||||
this.page.page = 1
|
||||
this.getToiletList()
|
||||
},
|
||||
getLocationInfo: function () {
|
||||
var self = this
|
||||
var geolocation = new BMap.Geolocation();
|
||||
geolocation.getCurrentPosition(function(r){
|
||||
if(this.getStatus() == BMAP_STATUS_SUCCESS){
|
||||
mk = new BMap.Marker(r.point);
|
||||
self.page.lat = r.point.lat
|
||||
self.page.lng = r.point.lng
|
||||
self.getToiletList()
|
||||
// getAddress(r.point);
|
||||
}else {
|
||||
alert('获取当前位置失败');
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
mounted: function () {
|
||||
|
||||
this.getLocationInfo()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
61
toilet.html
Normal file
@ -0,0 +1,61 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script src="js/rem.js"></script>
|
||||
<script type="text/javascript" src="https://api.map.baidu.com/api?v=1.0&&type=webgl&ak=aFhfSbQy2GVc92I4ue7i5w8WiQjouRYF"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" v-cloak>
|
||||
<div class="toilet-top">
|
||||
<h1 class="toilet-name">{{toiletDetail.name}}</h1>
|
||||
<p class="toilet-address">{{toiletDetail.address}}</p>
|
||||
</div>
|
||||
|
||||
<div id="map"></div>
|
||||
</div>
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/jquery-2.1.4.min.js"></script>
|
||||
<script src="js/ajax.js"></script>
|
||||
<script src="js/layer/layer.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
requestUrl: 'http://219.159.20.131:8081/',
|
||||
toiletDetail: {},
|
||||
token: sessionStorage.getItem('token'),
|
||||
uid: ''
|
||||
},
|
||||
methods: {
|
||||
getToiletDetail: function () {
|
||||
var self = this
|
||||
doGetForm('http://www.wlcbsyzl.cn/systemetl/app/datacensus/sql/CS00002', {
|
||||
uid: self.uid
|
||||
},null, function (code, data) {
|
||||
console.log(data)
|
||||
var result = data.dataList[0]
|
||||
self.toiletDetail = result
|
||||
var map = new BMapGL.Map("map");
|
||||
var point = new BMapGL.Point(result.lng, result.lat);
|
||||
var marker = new BMapGL.Marker(point); // 创建标注
|
||||
map.enableScrollWheelZoom();
|
||||
map.addOverlay(marker);
|
||||
map.centerAndZoom(point, 12);
|
||||
}, null, function (res) {
|
||||
res.setRequestHeader('token',self.token)
|
||||
})
|
||||
}
|
||||
},
|
||||
mounted: function () {
|
||||
this.uid = window.location.search.replace('?','').split('=')[1]
|
||||
this.getToiletDetail()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
114
travel-record.html
Normal file
@ -0,0 +1,114 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/swiper.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script src="js/rem.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" v-cloak>
|
||||
<div class="feedback-type">
|
||||
<div class="type-box" :class="{active: tab == '0'}" @click="changeTab('0')">未回复</div>
|
||||
<div class="type-box" :class="{active: tab == '1'}" @click="changeTab('1')">已回复</div>
|
||||
</div>
|
||||
<div class="feedback-list">
|
||||
<div class="feedback-box" v-for="item in feedbackList" @click="checkDetail(item.contentOpinionId, item.opinionReply, item.opinionReplyTime)">
|
||||
<div class="feedback-avatar">
|
||||
<img src="image/default.png" alt="" v-if="!item.opinionImage">
|
||||
<img :src="requestUrl + 'news/route/file/downloadfile/true/' + item.opinionImage" alt="" v-else>
|
||||
</div>
|
||||
<div class="feedback-info">
|
||||
<div class="feedback-text">{{item.opinionContent}}</div>
|
||||
<div class="feedback-time">{{item.gmtCreate}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="have-more" v-if="haveMore" @click="loadMore">加载更多</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="image/loading.gif" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/jquery-2.1.4.min.js"></script>
|
||||
<script src="js/ajax.js"></script>
|
||||
<script src="js/swiper.js"></script>
|
||||
<script src="js/layer/layer.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
requestUrl: 'http://219.159.20.131:8081/',
|
||||
token: sessionStorage.getItem('token'),
|
||||
tab: '0',
|
||||
feedbackList: [],
|
||||
page: {
|
||||
page: 1,
|
||||
rows: 10,
|
||||
opinionReplyStatus: 0
|
||||
},
|
||||
haveMore: true,
|
||||
isLoading:false
|
||||
},
|
||||
methods: {
|
||||
changeTab: function (tab) {
|
||||
if (!this.isLoading) {
|
||||
if (this.tab != tab) {
|
||||
this.tab = tab
|
||||
this.page.page = 1
|
||||
this.page.opinionReplyStatus = tab
|
||||
this.getFeedbackList()
|
||||
}
|
||||
}
|
||||
},
|
||||
getFeedbackList: function () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
doGetForm(self.requestUrl + 'news/app/contentopinion/listpage/travelOpinionFeedback', self.page, null, function (code, data) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
if (data.rows[i].opinionImage) {
|
||||
data.rows[i].opinionImage = data.rows[i].opinionImage.split(',')[0]
|
||||
}
|
||||
}
|
||||
if (self.page.page == 1) {
|
||||
self.feedbackList = data.rows
|
||||
} else {
|
||||
if (data.rows.length > 0) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
self.feedbackList.push(data.rows[i])
|
||||
}
|
||||
} else {
|
||||
self.page.page--
|
||||
layer.msg('暂无更多')
|
||||
}
|
||||
}
|
||||
if (data.rows.length < self.page.rows) {
|
||||
self.haveMore = false
|
||||
}
|
||||
self.isLoading = false
|
||||
}, null, function (res) {
|
||||
res.setRequestHeader('token',self.token)
|
||||
})
|
||||
},
|
||||
checkDetail: function (id,reply,time) {
|
||||
if (!this.isLoading) {
|
||||
window.location.href = 'feedback-detail.html?contentOpinionId=' + id + '&reply=' + reply + '&time=' + encodeURI(time)
|
||||
}
|
||||
},
|
||||
loadMore: function () {
|
||||
if (!this.isLoading) {
|
||||
this.page.page++
|
||||
this.getFeedbackList()
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted: function () {
|
||||
this.getFeedbackList()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
189
travel.html
Normal file
@ -0,0 +1,189 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script src="js/rem.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" v-cloak>
|
||||
<div class="area">
|
||||
<!-- <div class="area-box" v-for="type in typeList" :class="{active: curType == type.newsDirectoriesId}" @click="changeType(type.newsDirectoriesId)">{{type.directoriesName}}</div>-->
|
||||
<div class="area-box" :class="{active: curType == 'b5d03555-52c8-4562-b162-1ed19da533bc'}" @click="changeType('b5d03555-52c8-4562-b162-1ed19da533bc')">热门景区</div>
|
||||
<div class="area-box" :class="{active: curType == '3e0931bc-9e9e-4f10-ba47-b9f914958667'}" @click="changeType('3e0931bc-9e9e-4f10-ba47-b9f914958667')">归园田居</div>
|
||||
<div class="area-box" :class="{active: curType == 'a62bbdf6-d95c-480a-80d4-effc4016b412'}" @click="changeType('a62bbdf6-d95c-480a-80d4-effc4016b412')">精品路线</div>
|
||||
<div class="area-box" :class="{active: curType == '5f489c72-4f11-4b3a-a01c-05fde2900d21'}" @click="changeType('5f489c72-4f11-4b3a-a01c-05fde2900d21')">食客行</div>
|
||||
<div class="area-box" :class="{active: curType == '10a06f60-a37f-48ee-a356-4d9b2d5a40b8'}" @click="changeType('10a06f60-a37f-48ee-a356-4d9b2d5a40b8')">旅行社</div>
|
||||
</div>
|
||||
<!-- <div class="area news-area">-->
|
||||
<!-- <div class="area-box" :class="{active: page.county == ''}" @click="loadAll">全部</div>-->
|
||||
<!-- <div class="area-box" v-for="area in areaList" :class="{active: page.county == area.areaId}" @click="changeArea(area.areaId,area.areaLevel)">{{area.areaName}}</div>-->
|
||||
<!-- </div>-->
|
||||
<div class="news-list" :style="{'margin-top': toTop}" v-if="newsList && newsList.length > 0">
|
||||
<div class="news-list-box" v-for="news in newsList" @click="goDetail(news.newsContentLink, news.templateRecordUrl, news.newsContentType, news.newsContentContent)">
|
||||
<img :src="requestUrl + 'news/route/file/downloadfile/true/' + news.newsContentCoverList" alt="">
|
||||
<div class="news-list-info">
|
||||
<h3>{{news.newsContentTitle}}</h3>
|
||||
<p>作者:{{news.newsContentAuthor}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="load-more" v-if="haveMore && newsList && newsList.length > 0" @click="loadMore">加载更多</div>
|
||||
</div>
|
||||
<div class="no-data" v-else>
|
||||
<img src="image/no-data.png" alt="">
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="image/loading.gif" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/jquery-2.1.4.min.js"></script>
|
||||
<script src="js/ajax.js"></script>
|
||||
<script src="js/layer/layer.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
areaList: [],
|
||||
typeList: [],
|
||||
newsList: [],
|
||||
curType: 'b5d03555-52c8-4562-b162-1ed19da533bc',
|
||||
page: {
|
||||
page: 1,
|
||||
rows: 10,
|
||||
newsDirectoriesId: 'b5d03555-52c8-4562-b162-1ed19da533bc',
|
||||
county: ''
|
||||
},
|
||||
requestUrl: 'http://219.159.20.131:8081/',
|
||||
haveMore: true,
|
||||
isLoading: false,
|
||||
toTop: ''
|
||||
},
|
||||
methods: {
|
||||
getAreaList: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'usercenter/app/dataarea/listareabyparentidrelease/110889', {}, null, function (code, data) {
|
||||
self.areaList = data
|
||||
})
|
||||
},
|
||||
changeArea: function (id, lv) {
|
||||
if (!this.isLoading) {
|
||||
var level = parseInt(lv) + 1
|
||||
level = 'area' + level
|
||||
this.page.county = id
|
||||
this.page[level] = id
|
||||
this.page.page = 1
|
||||
this.haveMore = true
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
getTypeList: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'news/app/newsdirectories/listnewsdirectoriesrelease', {
|
||||
directoriesParentId: self.page.newsDirectoriesId
|
||||
}, {}, function (code, data) {
|
||||
self.typeList = data
|
||||
self.curType = data[0].newsDirectoriesId
|
||||
self.page.newsDirectoriesId = data[0].newsDirectoriesId
|
||||
self.getNewsList()
|
||||
})
|
||||
},
|
||||
changeType: function (type) {
|
||||
if (!this.isLoading) {
|
||||
this.curType = type
|
||||
this.page.newsDirectoriesId = type
|
||||
this.page.page = 1
|
||||
this.haveMore = true
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
getNewsList: function () {
|
||||
var self = this
|
||||
self.isLoading = true
|
||||
doGetForm(self.requestUrl + 'news/app/newscontent/listpagenewscontentrelease', self.page, {}, function (code, data) {
|
||||
if (self.page.page == '1') {
|
||||
if (data.rows.length > 0) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
data.rows[i].newsContentCoverList = data.rows[i].newsContentCoverList[0].contentCoverId
|
||||
self.newsList.push(data.rows[i])
|
||||
}
|
||||
self.newsList = data.rows
|
||||
if (data.rows.length > 0) {
|
||||
self.haveMore = true
|
||||
self.isLoading = false
|
||||
} else {
|
||||
self.haveMore = false
|
||||
self.isLoading = false
|
||||
}
|
||||
return
|
||||
} else {
|
||||
self.newsList = []
|
||||
self.haveMore = false
|
||||
self.isLoading = false
|
||||
}
|
||||
} else {
|
||||
if (data.rows.length > 0) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
data.rows[i].newsContentCoverList = data.rows[i].newsContentCoverList[0].contentCoverId
|
||||
self.newsList.push(data.rows[i])
|
||||
}
|
||||
self.haveMore = true
|
||||
self.isLoading = false
|
||||
} else {
|
||||
self.page.page--
|
||||
self.haveMore = false
|
||||
self.isLoading = false
|
||||
layer.msg('暂无更多')
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
},
|
||||
loadMore: function () {
|
||||
if (!this.isLoading) {
|
||||
this.page.page++
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
loadAll: function () {
|
||||
if (!this.isLoading) {
|
||||
var self = this
|
||||
this.page = {
|
||||
page: 1,
|
||||
rows: 10,
|
||||
newsDirectoriesId: self.curType,
|
||||
county: ''
|
||||
}
|
||||
this.haveMore = true
|
||||
this.getNewsList()
|
||||
}
|
||||
},
|
||||
// 新闻详情
|
||||
goDetail: function (link, url, type, outlink) {
|
||||
if (!this.isLoading) {
|
||||
if (type === '6') {
|
||||
window.open(outlink)
|
||||
} else {
|
||||
if (link) {
|
||||
window.open(link)
|
||||
} else {
|
||||
window.location.href = this.requestUrl + url
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
mounted: function () {
|
||||
// this.page.newsDirectoriesId = window.location.search.replace('?','').split('=')[1]
|
||||
// this.getAreaList()
|
||||
// this.getTypeList()
|
||||
this.getNewsList()
|
||||
this.toTop = $('.area').height() + 'px'
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
85
venue-detail.html
Normal file
@ -0,0 +1,85 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
|
||||
<meta name="format-detection" content="telephone=yes"/>
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/swiper.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script src="js/rem.js"></script>
|
||||
</head>
|
||||
<body style="background: #fff">
|
||||
<div id="app" v-cloak>
|
||||
<div class="venue-detail-top">
|
||||
<div class="venue-detail-left">
|
||||
<h2>{{venueDetail.venueName}}</h2>
|
||||
<p class="venue-time">营业时间:{{venueDetail.businessHours}}</p>
|
||||
<p class="venue-phone"><a :href="'tel:' + venueDetail.venueTelephone">联系方式:{{venueDetail.venueTelephone}}</a></p>
|
||||
</div>
|
||||
<div class="venue-detail-right">
|
||||
<div class="swiper mySwiper">
|
||||
<div class="swiper-wrapper">
|
||||
<div class="swiper-slide" v-for="item in venueDetail.venuePanorama">
|
||||
<img :src="requestUrl + 'venuebooking/route/file/downloadfile/true/' + item" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="venue-detail-content">
|
||||
<div class="position">
|
||||
<p><span>场馆地址:</span>{{venueDetail.venuePosition}}</p>
|
||||
<p><span>交通方式:</span>{{venueDetail.venueRoute}}</p>
|
||||
</div>
|
||||
<div class="venue-service">
|
||||
<h3>场馆服务</h3>
|
||||
<p>{{venueDetail.venueService}}</p>
|
||||
</div>
|
||||
<div class="venue-intro">
|
||||
<h3>场馆服务</h3>
|
||||
<div class="venue-intro-content" v-html="venueDetail.venueDescription"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/jquery-2.1.4.min.js"></script>
|
||||
<script src="js/ajax.js"></script>
|
||||
<script src="js/swiper.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
requestUrl: 'http://219.159.20.131:8081/',
|
||||
venueId: '',
|
||||
venueDetail: {}
|
||||
},
|
||||
methods: {
|
||||
getVenueDetail: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'venuebooking/app/venuesinfo/getvenuesinfobyidrelease/' + self.venueId, {}, {}, function (code, data) {
|
||||
data.venuePanorama = data.venuePanorama.split(',')
|
||||
var src = 'img src="' + self.requestUrl + 'venuebooking/'
|
||||
if(data.venueDescription.indexOf('src="') != -1){
|
||||
data.venueDescription = data.venueDescription.replace(/src="/g, src)
|
||||
}
|
||||
self.venueDetail = data
|
||||
self.$nextTick(function () {
|
||||
var swiper = new Swiper(".mySwiper", {
|
||||
pagination: '.swiper-pagination',
|
||||
paginationClickable: true,
|
||||
autoplay: 3000
|
||||
});
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
mounted: function () {
|
||||
this.venueId = window.location.search.replace('?','').split('=')[1]
|
||||
this.getVenueDetail()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
202
venue.html
Normal file
@ -0,0 +1,202 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
|
||||
<title>Title</title>
|
||||
<link rel="stylesheet" href="css/reset.css">
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<script src="js/rem.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" v-cloak>
|
||||
<div class="venue-type">
|
||||
<div class="venue-type-box" @click="changeType('')">
|
||||
<img src="image/venueall.png" alt="">
|
||||
<p>全部</p>
|
||||
</div>
|
||||
<div class="venue-type-box" v-for="type in venueType" @click="changeType(type.dictionaryId)">
|
||||
<img :src="requestUrl + 'venuebooking/route/file/downloadfile/true/' + type.dictionaryIcon" alt="">
|
||||
<p>{{type.dictionaryName}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="select">
|
||||
<div class="select-box" :class="{active: page.orderKey == ''}" @click="orderCheck('')">默认排序</div>
|
||||
<div class="select-box" :class="{active: page.orderKey == 'timeDesc'}" @click="orderCheck('timeDesc')">最新发布</div>
|
||||
<div class="select-box" @click="showAreaSelect = true">{{selectedAreaName}}</div>
|
||||
</div>
|
||||
<div class="venue-outer">
|
||||
<div class="box-venue" v-for="venue in venueList" @click="checkDetail(venue.venuesInfoId)">
|
||||
<div class="box-venue-top">
|
||||
<div class="box-venue-left">
|
||||
<h3>{{venue.venueName}}</h3>
|
||||
<p class="time">{{venue.businessHours}}</p>
|
||||
<p>{{venue.venuePosition}}</p>
|
||||
</div>
|
||||
<div class="box-venue-right">
|
||||
<img :src="requestUrl + 'venuebooking/route/file/downloadfile/true/' + venue.venuePanorama" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-venue-bottom">
|
||||
<p>{{venue.venueTelephone}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="load-more" v-if="haveMore && venueList && venueList.length > 0" @click="loadMore">加载更多</div>
|
||||
</div>
|
||||
<div class="bottom-nav">
|
||||
<div class="bottom-nav-box" @click="goBottomNav('1')">
|
||||
<div class="nav-icon"></div>
|
||||
<span>首页</span>
|
||||
</div>
|
||||
<div class="bottom-nav-box" @click="goBottomNav('2')">
|
||||
<div class="nav-icon"></div>
|
||||
<span>活动</span>
|
||||
</div>
|
||||
<div class="bottom-nav-box active">
|
||||
<div class="nav-icon"></div>
|
||||
<span>场馆</span>
|
||||
</div>
|
||||
<div class="bottom-nav-box" @click="goBottomNav('4')">
|
||||
<div class="nav-icon"></div>
|
||||
<span>文化</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="select-area" v-if="showAreaSelect" @click="showAreaSelect = false">
|
||||
<div class="select-area-container">
|
||||
<div class="select-area-box" :class="{active: page.venueArea == ''}" @click.stop="changeArea('','')">全部</div>
|
||||
<div class="select-area-box" v-for="area in areaList" :class="{active: page.venueArea == area.areaId}" @click.stop="changeArea(area.areaId, area.areaName)">{{area.areaName}}</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="loading" v-if="isLoading">
|
||||
<img src="image/loading.gif" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<script src="js/vue.js"></script>
|
||||
<script src="js/jquery-2.1.4.min.js"></script>
|
||||
<script src="js/ajax.js"></script>
|
||||
<script src="js/layer/layer.js"></script>
|
||||
<script>
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
requestUrl: 'http://219.159.20.131:8081/',
|
||||
venueType: [],
|
||||
page: {
|
||||
page: 1,
|
||||
rows: 10,
|
||||
orderKey: '',
|
||||
venueArea: '',
|
||||
venueType: ''
|
||||
},
|
||||
venueList: [],
|
||||
areaList: [],
|
||||
showAreaSelect: false,
|
||||
selectedAreaName: '选择区域',
|
||||
haveMore: true,
|
||||
isLoading: true
|
||||
},
|
||||
methods: {
|
||||
getAreaList: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'usercenter/app/dataarea/listareabyparentidrelease/110889', {}, null, function (code, data) {
|
||||
self.areaList = data
|
||||
})
|
||||
},
|
||||
changeArea: function (area, name) {
|
||||
if (!this.isLoading) {
|
||||
this.page.page = 1
|
||||
this.page.venueArea = area
|
||||
this.showAreaSelect = false
|
||||
if (name) {
|
||||
this.selectedAreaName = name
|
||||
} else {
|
||||
this.selectedAreaName = '选择区域'
|
||||
}
|
||||
this.getVenueList()
|
||||
}
|
||||
},
|
||||
getVenueType: function () {
|
||||
var self = this
|
||||
doGetForm(self.requestUrl + 'venuebooking/app/venuedictionary/listvenuedictionarybyparentidrelease/df8b758c-f6d8-465a-9aa8-c451fde47076', {}, {} ,function (code, data) {
|
||||
self.venueType = data.data
|
||||
})
|
||||
},
|
||||
changeType: function (type) {
|
||||
if (!this.isLoading) {
|
||||
this.page.venueType = type
|
||||
this.page.page = 1
|
||||
this.getVenueList()
|
||||
}
|
||||
},
|
||||
getVenueList: function () {
|
||||
var self= this
|
||||
self.isLoading = true
|
||||
doGetForm(self.requestUrl + 'venuebooking/app/venuesinfo/listpagevenuesinforelease', self.page, {}, function (code, data) {
|
||||
if (self.page.page == 1) {
|
||||
if (data.rows.length > 0) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
data.rows[i].venuePanorama = data.rows[i].venuePanorama.split(',')[0]
|
||||
}
|
||||
self.venueList = data.rows
|
||||
self.haveMore = true
|
||||
} else {
|
||||
layer.msg('暂无数据')
|
||||
self.haveMore = false
|
||||
self.venueList = []
|
||||
}
|
||||
self.isLoading = false
|
||||
return
|
||||
}
|
||||
if (data.rows.length > 0) {
|
||||
for (let i = 0; i < data.rows.length; i++) {
|
||||
data.rows[i].venuePanorama = data.rows[i].venuePanorama.split(',')[0]
|
||||
self.venueList.push(data.rows[i])
|
||||
}
|
||||
self.haveMore = true
|
||||
} else {
|
||||
layer.msg('暂无更多')
|
||||
self.haveMore = false
|
||||
self.page.page--
|
||||
}
|
||||
self.isLoading = false
|
||||
})
|
||||
},
|
||||
orderCheck: function (order) {
|
||||
if (!this.isLoading) {
|
||||
this.page.orderKey = order
|
||||
this.page.page = 1
|
||||
this.getVenueList()
|
||||
}
|
||||
},
|
||||
// 底部导航
|
||||
goBottomNav: function (nav) {
|
||||
if (nav == '2') {
|
||||
window.location.href = 'activity.html'
|
||||
} else if (nav == '1') {
|
||||
window.location.href = 'index.html'
|
||||
} else {
|
||||
window.location.href = 'culture.html'
|
||||
}
|
||||
},
|
||||
checkDetail: function (id) {
|
||||
if (!this.isLoading) {
|
||||
window.location.href = 'venue-detail.html?id=' + id
|
||||
}
|
||||
},
|
||||
loadMore: function () {
|
||||
if (!this.isLoading) {
|
||||
this.page.page++
|
||||
this.getVenueList()
|
||||
}
|
||||
},
|
||||
},
|
||||
mounted: function () {
|
||||
this.getVenueType()
|
||||
this.getVenueList()
|
||||
this.getAreaList()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|