This commit is contained in:
dong_bo0602 2020-06-14 14:47:16 +08:00
parent 5630ae6250
commit 846548087e
7 changed files with 438 additions and 37 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -6,7 +6,7 @@
您的位置<router-link to="/">首页</router-link> >
</div>
</div>
<div class="character" v-for="(list,idx) in classList" :key="idx" v-if="list.isShow">
<div class="character" v-for="(list,idx) in classList" :key="idx" v-if="list.isShow && classList.length > 0">
<div class="character-title">
<h2>{{list.directoriesName}}</h2>
<router-link :to="{path: '/artTrainList/' + list.newsDirectoriesId}">MORE>></router-link>
@ -37,6 +37,9 @@
</div>
</div>
</div>
<div class="no-data" v-else>
<img src="@/assets/images/no-data.png" alt="">
</div>
<Footer></Footer>
</div>
</template>
@ -109,6 +112,11 @@ export default {
<style lang="stylus" rel="stylesheet/stylus" scoped>
@import "~styles/public.styl"
.no-data
padding 80px 0
text-align center
img
width 200px
.location
background #e5e5e5
line-height 30px

View File

@ -195,7 +195,7 @@ export default {
self.selectedProject.venuesProjectId = id
self.selectedList = []
self.resetDate()
axios.get('http://192.168.0.109:8082/venuebooking/app/venuesproject/listgrouninfoanditemrelease/' + id).then(function (res) {
axios.get('http://192.168.0.109:8082/venuebooking/app/booking/listgrouninfoanditemrelease/' + id).then(function (res) {
self.ground = res.data.data
self.selectedGround.groundInfoId = res.data.data[0].groundInfoId
self.selectedGround.groundName = res.data.data[0].groundName
@ -365,7 +365,7 @@ export default {
smsCode: this.verificationCodeInfo.verificationCode
}
var token = localStorage.getItem('token')
axios.post('http://192.168.0.109:8082/venuebooking/app/venuesproject/savebookinginfo', orderInfo, {
axios.post('http://192.168.0.109:8082/venuebooking/app/booking/savebookinginfo', orderInfo, {
headers: {
'token': token
}

View File

@ -83,10 +83,10 @@
<p>项目{{list.projectName}}</p>
<p>流水号{{list.serial}}</p>
<p>订单时间{{list.gmtCreate}}</p>
<p v-if="list.price>0">总价{{list.price}}</p>
<p v-else>免费</p>
<p v-if="list.price > 0 && list.orderType != '1'">总价{{list.price}}</p>
<p v-if="list.price == 0 && list.orderType != '1'">免费</p>
<div class="time-slot">
<div class="time-box" v-for="(time,index) in list.itemDTOList" :key="index">
<div class="time-box" v-for="(time,index) in list.itemDTOList" :key="index" :class="{bad: time.orderType != '0'}">
<p>{{time.timeStr}}{{time.timeEnd}}</p>
<p v-if="time.price > 0">{{time.price}}</p>
<p v-else>免费</p>
@ -279,7 +279,7 @@
</div>
</div>
<div class="team-detail" v-else>
<div class="back-list" @click="checkTeamDetail = false">返回</div>
<div class="back-list" @click="backToTeamList">返回</div>
<div class="team-avatar-name">
<img :src="'http://192.168.0.111:8888/volunteer/route/file/downloadfile/false/' + teamDetail.photo" alt="">{{teamDetail.teamName}}
</div>
@ -510,7 +510,6 @@ export default {
},
//
uploadImg: function (e, type) {
console.log(e)
var self = this
let file = e.target.files[0]
let url = ''
@ -540,7 +539,6 @@ export default {
'token': self.token
}
}).then(function (res) {
console.log(res)
self.volunteerTeamRegister.photo = res.data.data
})
}
@ -667,7 +665,6 @@ export default {
token: self.token
}
}).then(function (res) {
console.log(res)
if (res.data.data === 'yes') {
self.isVolunteer = true
self.getVolunteerInfo()
@ -685,7 +682,6 @@ export default {
token: self.token
}
}).then(function (res) {
console.log(res)
if (res.status === 200) {
self.$layer.msg('注册成功!')
self.userIsVolunteer()
@ -715,7 +711,6 @@ export default {
token: self.token
}
}).then(function (res) {
console.log(res)
if (res.status === 200) {
self.$layer.msg('修改成功!')
self.getVolunteerInfo()
@ -734,7 +729,6 @@ export default {
token: self.token
}
}).then(function (res) {
console.log(res)
if (res.status === 200) {
self.$layer.msg('注册成功!')
self.volunteerTeamRegister.teamName = ''
@ -756,7 +750,6 @@ export default {
token: self.token
}
}).then(function (res) {
console.log(res)
self.myTeam = res.data.rows
self.page.totalPage = Math.ceil(res.data.total / self.page.rows)
self.changePage = res.data.page
@ -772,7 +765,6 @@ export default {
token: self.token
}
}).then(function (res) {
console.log(res)
self.$layer.msg('解散成功!')
self.getMyTeam()
})
@ -806,11 +798,17 @@ export default {
},
params: memberPage
}).then(function (res) {
console.log(res)
self.memberList = res.data.rows
self.page.totalPage = Math.ceil(res.data.total / self.page.rows)
self.changePag = res.data.page
})
},
//
backToTeamList: function () {
this.checkTeamDetail = false
this.page.page = 1
this.page.rows = 7
this.getMyTeam()
}
},
mounted: function () {
@ -1015,6 +1013,8 @@ export default {
padding 10px
border-radius 3px
box-sizing border-box
&.bad
background #EFEFEF
p
margin 0
color #ffffff
@ -1229,7 +1229,7 @@ export default {
font-size 16px
color #0a0a0a
height 40px
border 1px solid #0a0a0a
border 1px solid #dedede
vertical-align top
line-height 40px
padding 0 5px

View File

@ -70,7 +70,7 @@ export default {
page: {
page: 1,
totalPage: 1,
rows: 8
rows: 12
}
}
},

View File

@ -9,8 +9,8 @@
<div class="venue">
<div class="venue-img">
<swiper ref="mySwiper" :options="swiperOptions">
<swiper-slide v-for="(banner,idx) in volunteerDetail.photo" :key="idx" class="swiper-box">
<img :src="'http://192.168.0.111:8888/volunteer/route/file/downloadfile/false/' + banner" alt="" class="banner-img">
<swiper-slide class="swiper-box">
<img :src="'http://192.168.0.111:8888/volunteer/route/file/downloadfile/false/' + cover" alt="" class="banner-img" v-if="cover">
</swiper-slide>
<!--<div class="swiper-pagination" slot="pagination"></div>-->
</swiper>
@ -23,24 +23,103 @@
<p>服务奖补{{volunteerDetail.serviceReward}}</p>
<p>联系人{{volunteerDetail.linkMan}}</p>
<p>联系电话{{volunteerDetail.linkTel}}</p>
<button class="join-btn" v-if="volunteerDetail.status == 'over'">活动已结束</button>
<button class="join-btn" v-if="volunteerDetail.status == 'isEnroll'">已报名</button>
<button class="join-btn" v-if="volunteerDetail.status == 'enroll'" @click="joinTeam">报名</button>
<button class="join-btn" v-if="volunteerDetail.status == 'stop'">停止报名</button>
<button class="join-btn" v-if="volunteerDetail.status == 'ing'">活动正在进行中</button>
</div>
</div>
<div class="volunteer-need">
<div class="volunteer-tab">
<span :class="{active: tab == 1}" @click="tab = 1">岗位招聘</span>
<span :class="{active: tab == 2}" @click="tab = 2">活动介绍</span>
<span :class="{active: tab == 1}" @click="tab = 1">活动介绍</span>
<span :class="{active: tab == 2}" @click="tab = 2">团队风采</span>
<span :class="{active: tab == 3}" @click="tab = 3">活动评论</span>
</div>
<div class="volunteer-recruit" v-show="tab === 1">
<div class="volunteer-recruit-title">招募人数{{volunteerDetail.count}}</div>
<div class="volunteer-recruit-detail">
<!--<h2>已招募 {{volunteerDetail.signed}}</h2>-->
<h2>招募条件</h2>
<p>{{volunteerDetail.serviceRequirement}}</p>
<!--<h2>岗位描述</h2>-->
<!--<p>{{volunteerDetail.desc}}</p>-->
<div class="volunteer-intro" v-show="tab == 1" v-html="volunteerDetail.introduce"></div>
<div class="team-photo" v-show="tab == 2">
<ul>
<li v-for="(photo,idx) in volunteerDetail.photo" :key="idx">
<img :src="'http://192.168.0.111:8888/volunteer/route/file/downloadfile/false/' + photo" alt="">
</li>
</ul>
</div>
<div class="comment" v-show="tab == 3">
<img src="@/assets/images/do-comment.png" alt="" class="tab-title">
<div class="do-comment">
<textarea placeholder="请输入评论的内容" v-model="commentText"></textarea>
<button @click="submitComment">提交评论</button>
</div>
<img src="@/assets/images/comment-img.png" alt="" class="tab-title">
<ul>
<li v-for="(comment,idx) in comment" :key="idx">
<div class="user-avatar">
<img src="@/assets/images/avatar.png" alt="" v-if="comment.photo == ''">
<img :src="'http://192.168.0.111:8888/volunteer/route/file/downloadfile/false/' + comment.photo" alt="" v-else>
</div>
<div class="user-comment">
<p>{{comment.volunteerName}}</p>
<div class="comment-content">{{comment.content}}</div>
<span>{{comment.uploadTime}}</span>
</div>
</li>
</ul>
<div class="pager">
<span @click="paging(1)">首页</span>
<span @click="paging(page.page - 1)" v-if="page.page > 1">上一页</span>
<ul v-if="page.totalPage > 0 && page.totalPage <= 5">
<li v-for="cpage in page.totalPage" :class="{'active': page.page == cpage}" :key="cpage" @click="paging(cpage)">
{{cpage}}
</li>
</ul>
<ul v-if="page.totalPage > 5">
<li v-if="page.page < 3" v-for="cpage in 5" :class="{'active': page.page == cpage}" :key="cpage" @click="paging(cpage)">
{{cpage}}
</li>
<li v-if="page.page > page.totalPage - 2" v-for="cpage in 5" :class="{'active': page.page == (page.totalPage - 5 + cpage)}" :key="cpage" @click="paging(cpage)">
{{page.totalPage - 5 + cpage}}
</li>
<li v-if="page.page >= 3 && page.page <= page.totalPage - 2" v-for="cpage in 5" :class="{'active': page.page == (page.page - (3 - cpage))}" :key="cpage" @click="paging(cpage)">
{{page.page - (3 - cpage)}}
</li>
</ul>
<span @click="paging(page.page + 1)" v-if="page.page < page.totalPage">下一页</span>
<span @click="paging(page.totalPage)">尾页</span>
</div>
</div>
</div>
<div class="hide-select" v-if="showSelectTeam">
<div class="hide-container">
<h3>请选择要报名的团队</h3>
<table>
<tr v-for="(team,idx) in myTeam" :key="idx">
<td width="80%">{{team.teamName}}</td>
<td width="20%"><button @click="selectTeam(team.teamId, team.teamName)">选择</button></td>
</tr>
</table>
<div class="pager">
<span @click="paging(1)">首页</span>
<span @click="paging(page.page - 1)" v-if="page.page > 1">上一页</span>
<ul v-if="page.totalPage > 0 && page.totalPage <= 5">
<li v-for="cpage in page.totalPage" :class="{'active': page.page == cpage}" :key="cpage" @click="paging(cpage)">
{{cpage}}
</li>
</ul>
<ul v-if="page.totalPage > 5">
<li v-if="page.page < 3" v-for="cpage in 5" :class="{'active': page.page == cpage}" :key="cpage" @click="paging(cpage)">
{{cpage}}
</li>
<li v-if="page.page > page.totalPage - 2" v-for="cpage in 5" :class="{'active': page.page == (page.totalPage - 5 + cpage)}" :key="cpage" @click="paging(cpage)">
{{page.totalPage - 5 + cpage}}
</li>
<li v-if="page.page >= 3 && page.page <= page.totalPage - 2" v-for="cpage in 5" :class="{'active': page.page == (page.page - (3 - cpage))}" :key="cpage" @click="paging(cpage)">
{{page.page - (3 - cpage)}}
</li>
</ul>
<span @click="paging(page.page + 1)" v-if="page.page < page.totalPage">下一页</span>
<span @click="paging(page.totalPage)">尾页</span>
</div>
</div>
<div class="volunteer-intro" v-show="tab == 2" v-html="volunteerDetail.introduce"></div>
</div>
<Footer></Footer>
</div>
@ -50,6 +129,7 @@
import Header from '@/common/components/Header'
import Footer from '@/common/components/Footer'
import axios from 'axios'
import layer from 'vue-layer'
export default {
name: 'Broadcast',
components: {
@ -58,13 +138,25 @@ export default {
},
data () {
return {
tab: 1,
tab: 3,
volunteerDetail: {},
swiperOptions: {
// pagination: '.swiper-pagination',
loop: true,
autoplay: 3000
}
autoplay: false
},
cover: '',
changePage: 1,
page: {
page: 1,
rows: 5,
totalPage: 1
},
myTeam: [],
showSelectTeam: false,
token: localStorage.getItem('token'),
comment: [],
commentText: ''
}
},
methods: {
@ -76,16 +168,137 @@ export default {
res.data.introduce = res.data.introduce.replace(/src="/g, 'src="http://192.168.0.111:8888/volunteer/')
}
self.volunteerDetail = res.data
self.cover = self.volunteerDetail.photo[0]
console.log(self.cover)
})
},
joinTeam: function () {
var self = this
if (self.token) {
if (self.volunteerDetail.voluntaryType === '2') {
self.showSelectTeam = true
self.getMyTeam()
} else {
var info = {
voluntaryType: self.volunteerDetail.voluntaryType
}
axios.post('http://192.168.0.111:8888/volunteer/app/servicemember/saveservicemember', info, {
headers: {
token: self.token
}
}).then(function (res) {
console.log(res)
if (res.status === 200) {
self.$layer.msg('申请成功!')
}
})
}
} else {
this.$layer.msg('请先登录')
setTimeout(function () {
self.$router.push('/login')
}, 1500)
}
},
getMyTeam: function () {
var self = this
axios.get('http://192.168.0.111:8888/volunteer/app/team/myteamm', {
params: self.page,
headers: {
token: self.token
}
}).then(function (res) {
console.log(res)
self.myTeam = res.data.rows
self.page.totalPage = Math.ceil(res.data.total / self.page.rows)
self.changePage = res.data.page
})
},
paging: function (page) {
this.page.page = page
if (this.showSelectTeam) {
this.getMyTeam()
} else if (this.tab === 3) {
this.getComment()
}
},
selectTeam: function (id, name) {
var self = this
self.page.page = 1
if (self.volunteerDetail.voluntaryType === '2') {
self.showSelectTeam = true
var info = {
teamId: id,
teamName: name,
volunteerServiceId: self.volunteerDetail.volunteerServiceId,
voluntaryType: self.volunteerDetail.voluntaryType
}
axios.post('http://192.168.0.111:8888/volunteer/app/servicemember/saveservicemember', info, {
headers: {
token: self.token
}
}).then(function (res) {
if (res.status === 200) {
self.$layer.msg('申请成功!')
self.showSelectTeam = false
self.page.page = 1
self.getComment()
}
})
}
},
getComment: function () {
var self = this
var info = {
page: self.page.page,
rows: self.page.rows,
serviceId: self.volunteerDetail.serviceId
}
axios.get('http://192.168.0.111:8888/volunteer/app/teamactivityhis/listpageteamactivityhisrelease', {
params: info
}).then(function (res) {
console.log(res)
self.comment = res.data.rows
self.page.totalPage = Math.ceil(res.data.total / self.page.rows)
})
},
submitComment: function () {
var self = this
if (self.token) {
if (self.commentText) {
var info = {
content: self.commentText
}
axios.post('http://192.168.0.111:8888/volunteer/app/teamactivityhis/saveteamactivityhis', info, {
headers: {
token: self.token
}
}).then(function (res) {
console.log(res)
if (res.status === 200) {
self.$layer.msg('评论成功!')
self.commentText = ''
self.getComment()
}
})
} else {
self.$layer.msg('评论内容不能为空!')
}
} else {
self.$layer.msg('请先登录!')
self.$router.push('/login')
}
}
},
mounted () {
this.getVolunteerDetail()
this.getComment()
}
}
</script>
<style lang="stylus" rel="stylesheet/stylus" scoped>
@import "~styles/public.styl"
.location
background #e5e5e5
line-height 30px
@ -129,8 +342,8 @@ export default {
margin-right 20px
cursor pointer
&.active
color #01a9f8
border-bottom 2px solid #01a9f8
color $main-color
border-bottom 2px solid $main-color
.volunteer-recruit
width 585px
border solid 1px #dedede
@ -155,7 +368,6 @@ export default {
margin-bottom 15px
.volunteer-intro
padding 20px
border solid 1px #dedede
margin 20px 0
min-height 200px;
.volunteer-intro >>> h2
@ -166,4 +378,185 @@ export default {
font-size 14px
color #565656
line-height 30px
.team-photo
margin 20px 0
ul
overflow hidden
li
width 285px
height 200px
float left
margin-right 20px
margin-bottom 20px
&:nth-child(4n)
margin-right 0
img
width 100%
height 100%
.join-btn
border none
outline none
width 100px
height 30px
cursor pointer
border-radius 3px
font-size 16px
background $main-color
color #fff
.hide-select
position fixed
top 0
left 0
right 0
bottom 0
background rgba(0,0,0,0.6)
z-index 1000
.hide-container
position absolute
top 50%
left 50%
transform translate(-50%, -50%)
background #fff
border-radius 5px
padding 20px
width 800px
box-sizing border-box
height 340px
h3
font-size: 26px
font-weight normal
margin-bottom 10px
table
width 100%
table-layout fixed
td
height 40px
border 1px solid #DEDEDE
font-size 16px
color #000
padding 0 5px
button
display block
margin 0 auto
width 100px
height 30px
background $main-color
color #ffffff
font-size 16px
border none
outline none
cursor pointer
border-radius 3px
.pager
margin 20px auto
text-align center
font-size 0
span
display inline-block
padding 0 15px
line-height 25px
color #676767
border 1px solid #d2d2d2
font-size 14px
margin 0 5px
vertical-align middle
cursor pointer
ul
display inline-block
overflow hidden
vertical-align middle
li
width 45px
line-height 25px
float left
margin-right 10px
border 1px solid #d2d2d2
cursor pointer
text-align center
font-size 14px
color #676767
padding 0 !important
&.active
background $main-color
color #fff
border 1px solid $main-color
&:last-child
margin 0
input
width 50px
height 25px
border 1px solid #d2d2d2
text-align center
vertical-align middle
i
font-style normal
color #676767
font-size 14px
line-height 25px
display inline-block
vertical-align middle
margin 0 5px
button
border none
outline none
background #4792C2
width 50px
height 25px
vertical-align middle
color #fff
font-size 14px
.comment
.tab-title
width 115px
height 45px
margin 10px 0
ul
li
padding 15px 0
border-bottom 1px solid #DEDEDE
overflow hidden
.user-avatar
float left
width 45px
img
width 45px
height 45px
.user-comment
width 1135px
float right
p
font-size 16px
color #242424
line-height 35px
.comment-content
font-size 16px
color #606060
margin-bottom 10px
span
font-size 14px
color #969696
.do-comment
padding-bottom 10px
border-bottom 1px solid #DEDEDE
textarea
width 570px
height 150px
padding 10px
box-sizing border-box
background #F3F3F3
border-radius 3px
border none
font-size 16px
button
width 100px
height 30px
border none
background $main-color
font-size 16px
color #fff
border-radius 3px
cursor pointer
display block
margin-top 10px
outline none
</style>