报名工具小程序初始代码
This commit is contained in:
391
pages/test/DetailActivity.vue
Normal file
391
pages/test/DetailActivity.vue
Normal file
@@ -0,0 +1,391 @@
|
||||
<template>
|
||||
<RefreshView ref="mescrollRef" :hasBack="true" :text="data.name" :useDownScroll="false" :useUpScroll="false"
|
||||
useTitleRightBtn="0">
|
||||
<view class="banner">
|
||||
<swiper class="swiper" indicator-dots="true" autoplay="true">
|
||||
<swiper-item class="swiper-item" v-for="(item,index) in data.listCoverImage" :key="index">
|
||||
<image style="width: 100%;height: 450rpx;" :src="item" mode="aspectFill"></image>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
</view>
|
||||
<view style="display: flex;flex-direction: column;background: #FFFFFF; width: 100%;height: 100%;">
|
||||
<view>
|
||||
<view style="display: flex; flex-direction: row; margin-left: 20rpx;margin-top: 20rpx;">
|
||||
<text
|
||||
style="color: #101010; font-size: 36rpx;font-weight: 520; white-space: nowrap;overflow: hidden;text-overflow: ellipsis">{{data.name}}</text>
|
||||
<text
|
||||
style=" word-break:keep-all;
|
||||
white-space:nowrap;display: flex;align-items: center; margin-left: 30rpx; color: #fff; font-size: 20rpx; background-color: #F2BF5C; padding: 3rpx 15rpx;border-radius: 5rpx;">{{data.sportCategoryName}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view style="background-color: #F1F1F1; height: 5rpx; width: 100%; margin-top: 20rpx;"></view>
|
||||
|
||||
<view
|
||||
style="display: flex;flex-direction: row;margin-top: 15rpx;align-items: center;margin-left: 20rpx;margin-right: 30rpx;">
|
||||
<text style="font-size: 30rpx;color: #080808;">报名截止:</text>
|
||||
<text style="color: #666666;font-size: 26rpx;">{{data.enrollEndTime}}</text>
|
||||
<text style="color: #E99D42;font-size: 26rpx;flex: 1;text-align: right;">还有1天</text>
|
||||
</view>
|
||||
|
||||
<view style="background-color: #F1F1F1; height: 5rpx; width: 100%; margin-top: 20rpx;"></view>
|
||||
|
||||
<view style="display: flex;flex-direction: row;margin-top: 15rpx;margin-left: 20rpx;margin-right: 30rpx;">
|
||||
<text style="font-size: 30rpx;color: #080808;">整体活动:</text>
|
||||
<view style="display: flex;flex-direction: column;">
|
||||
<text style="color: #666666; font-size: 26rpx;">{{data.startTime}}</text>
|
||||
<text style="color: #666666;margin-top: 20rpx;font-size: 26rpx;">{{data.endTime}}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view style="">
|
||||
<view v-for="(item,index) in data.listActivityItemsDetails " :key="index" style="margin-top: 20rpx;">
|
||||
<view
|
||||
style="display: flex;flex-direction: row;margin-top: 20rpx;background-color: #F1F1F1;padding: 20rpx 30rpx;">
|
||||
<text style="font-size: 30rpx;flex: 1;">{{item.name}}</text>
|
||||
<view style="display: flex;flex-direction: row;">
|
||||
<text style="font-size: 25rpx; color: #E99D42; ">{{item.enrollMoldName}}</text>
|
||||
<text
|
||||
style="color: #E99D42; margin-left: 10rpx;margin-right: 10rpx; font-size: 25rpx;">/</text>
|
||||
<text
|
||||
style="color: #E99D42; font-size: 25rpx;">{{item.enrollMoney==0?"免费":item.enrollMoney+'元'}}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view
|
||||
style="display: flex;flex-direction: column;margin-top: 20rpx;margin-left: 30rpx;margin-right: 30rpx;">
|
||||
<text style="color: #666666; margin-top: 15rpx;font-size: 28rpx;">{{item.introduction}}</text>
|
||||
</view>
|
||||
|
||||
<view style="background-color: #F1F1F1; height: 5rpx; width: 100%;margin-top: 15rpx; ">
|
||||
</view>
|
||||
<!-- <view
|
||||
style="display: flex;margin-top: 20rpx;margin-left: 30rpx;margin-right: 30rpx;align-items: center;">
|
||||
<text style="font-size: 30rpx;">活动时间:</text>
|
||||
<text
|
||||
style="color: #666666; font-size: 25rpx;flex: 1;">{{item.startTime+" 至 "+item.endTime}}</text>
|
||||
</view>
|
||||
-->
|
||||
<view
|
||||
style="display: flex;flex-direction: row;margin-top: 20rpx;margin-left: 30rpx;margin-right: 30rpx;align-items: center;">
|
||||
<view style="display: flex;flex-direction: row;align-items: center;flex: 1;">
|
||||
<text style="font-size: 30rpx;color: #E3A428 ;">{{item.startTime}}</text>
|
||||
<text
|
||||
style="color: #666666; font-size: 30rpx;text-align: right;flex: 1;">{{item.gymnasiumName}}</text>
|
||||
</view>
|
||||
<image v-if="!showAddress(item.gymnasiumSid)" style="width: 30rpx;height: 30rpx;"
|
||||
src="../../static/home-icon/more.png" @click="gymnasiumName(item.gymnasiumSid)">
|
||||
</image>
|
||||
<!-- <image v-if="showAddress(item.gymnasiumSid)" style="width: 30rpx;height: 30rpx;" src="../../static/home-icon/more.png">
|
||||
</image> -->
|
||||
</view>
|
||||
|
||||
<view style="background-color: #F1F1F1; height: 5rpx; width: 100%;margin-top: 15rpx; "></view>
|
||||
|
||||
<view
|
||||
style="display: flex;flex-direction: row;margin-top: 20rpx;margin-left: 30rpx;margin-right: 30rpx;align-items: center;">
|
||||
<view style="display: flex;flex-direction: row;align-items: center;flex: 1;">
|
||||
|
||||
<text style="font-size: 30rpx;">报名数</text>
|
||||
<text
|
||||
style="color: #919191 ; font-size: 25rpx; margin-left: 20rpx;">{{item.enrollNumbers==0?"暂无":item.enrollNumbersLimit+'人'}}</text>
|
||||
<text
|
||||
style="color: #919191 ; font-size: 25rpx;margin-left: 10rpx;margin-right: 10rpx;">/</text>
|
||||
<text
|
||||
style="color: #919191 ; font-size: 25rpx;">{{item.enrollNumbersLimit==0?"不限":item.enrollNumbersLimit+'人'}}</text>
|
||||
</view>
|
||||
|
||||
<view v-if="item.listUserHeadImageUrl.length>0" style="display: flex;flex-direction: row; "
|
||||
@click="userList(item.sid)">
|
||||
<view v-for="(url,i) in item.listUserHeadImageUrl " :key="i">
|
||||
<view
|
||||
style="display: flex; width: 100%; margin-left: 5rpx; margin-right: 5rpx;justify-content: center;">
|
||||
<image style="border-radius: 50%; width: 50rpx;height: 50rpx;" :src="url"
|
||||
mode="aspectFit"></image>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<image style="width: 30rpx;height: 30rpx;" src="../../static/home-icon/more.png"
|
||||
@click="userList(item.sid)">
|
||||
</image>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view style="margin-top: 20rpx;background-color: #F1F1F1;height: 20rpx;">
|
||||
</view>
|
||||
<view style="display: flex;flex-direction: row;margin: 20rpx 30rpx 0rpx 30rpx; align-items: center;">
|
||||
<text style="font-size: 30rpx;">活动介绍</text>
|
||||
<view style="background-color: #F1F1F1; height: 10rpx; flex: 1;margin-left: 20rpx; "></view>
|
||||
</view>
|
||||
<text style="margin: 30rpx; color: #999999;font-size: 28rpx; ">{{data.introduction}}</text>
|
||||
|
||||
<view style="display: flex;flex-direction: row;margin: 20rpx 30rpx 0rpx 30rpx; align-items: center;">
|
||||
<text style="font-size: 30rpx;">奖品奖项</text>
|
||||
<view style="background-color: #F1F1F1; height: 10rpx; flex: 1;margin-left: 20rpx; "></view>
|
||||
</view>
|
||||
<text style="margin: 30rpx; color: #999999;font-size: 28rpx; ">{{data.notes}}</text>
|
||||
<!--
|
||||
<textarea style="margin: 30rpx; color: #999999 ; font-size: 25rpx;white-space: pre-wrap; "
|
||||
read-only="readOnly" disabled="disabled " placeholder="无" v-model="data.notes" /> -->
|
||||
|
||||
|
||||
|
||||
<view style="display: flex;flex-direction: row;margin: 10rpx 30rpx 0rpx 30rpx; align-items: center;">
|
||||
<text style="font-size: 30rpx;">特别鸣谢</text>
|
||||
<view style="background-color: #F1F1F1; height: 10rpx; flex: 1;margin-left: 20rpx; "></view>
|
||||
</view>
|
||||
<view
|
||||
style="display: flex;margin-left: 40rpx;margin-right: 40rpx;flex-direction: column; margin-top: 30rpx;">
|
||||
<view v-for="(item,pos) in data.listSpecialThanks " :key="pos">
|
||||
<view
|
||||
style="display: flex; width: 100%; padding-top: 10rpx;padding-bottom: 10rpx;justify-content: center;">
|
||||
<text style="color: #898989;font: size 28rpx;flex: 1;">{{item.name}}</text>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view style="background-color: #F1F1F1; height: 5rpx; width: 100%;margin-top: 20rpx; "></view>
|
||||
<view
|
||||
style="display: flex;flex-direction: row;margin-top: 20rpx;margin-left: 30rpx; margin-right: 30rpx; align-items: center;">
|
||||
<text style="color: #898989; font-size: 28rpx;">主办方:</text>
|
||||
|
||||
<text style="color: #898989;font-size: 25rpx;">{{data.organizer}}</text>
|
||||
</view>
|
||||
<view style="background-color: #F1F1F1; height: 5rpx; width: 100%; margin-top: 20rpx;"></view>
|
||||
<view
|
||||
style="display: flex;flex-direction: row;margin-top: 20rpx;margin-left: 30rpx; margin-right: 30rpx; align-items: center;">
|
||||
<text style="color: #898989;font-size: 28rpx;">联系人:</text>
|
||||
|
||||
<view style="display: flex;flex-direction: row;">
|
||||
<text style="color: #898989;font-size: 25rpx;">{{data.linkerName}}</text>
|
||||
<view style="width: 30rpx;"></view>
|
||||
<text style="color: #898989; font-size: 25rpx;">{{data.linkerPhone}}</text>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view style="background-color: #F1F1F1; height: 5rpx; width: 100%; margin-top: 20rpx;"></view>
|
||||
<view class="agreeMent">
|
||||
<checkbox-group @change="checkboxChange">
|
||||
<checkbox style="transform:scale(0.7)" :checked="checked1"></checkbox>
|
||||
</checkbox-group>
|
||||
<text class="text2">我已阅读并同意</text>
|
||||
<text style="color: #007AFF;">《参赛须知》</text>
|
||||
<text style="display: flex;text-align: center; margin-left: 20rpx; padding: 5rpx 10rpx;background: #0081D5;
|
||||
color: #FFFFFF; font-size: 28rpx;" @click="click()"> 我要报名 </text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view style="height: 300rpx;"></view>
|
||||
|
||||
</RefreshView>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
checked1: true,
|
||||
data: {
|
||||
|
||||
},
|
||||
raceSid: ""
|
||||
|
||||
}
|
||||
},
|
||||
onLoad: function(option) {
|
||||
this.raceSid = option.raceSid;
|
||||
this.HTTP({
|
||||
url: 'aos/v1/activityManagement/getActivityDetails/' + this.raceSid,
|
||||
method: 'GET',
|
||||
paramsType: "FORM",
|
||||
loading: true
|
||||
}).then((res) => {
|
||||
if (200 == res.code) {
|
||||
this.data = res.data
|
||||
} else {
|
||||
this.Toast(res.msg)
|
||||
uni.navigateBack({
|
||||
delta: 1
|
||||
})
|
||||
}
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
methods: {
|
||||
showAddress(s) {
|
||||
console.log("..." + s);
|
||||
return this.IsEmpty(s)
|
||||
},
|
||||
checkboxChange(e) {
|
||||
this.checked1 = !this.checked1
|
||||
console.log(this.checked1)
|
||||
},
|
||||
gymnasiumName(e) {
|
||||
uni.navigateTo({
|
||||
url: "ArenaDetailActivity?sid=" + e
|
||||
})
|
||||
console.log("gymnasiumName>>", e)
|
||||
},
|
||||
userList(sid) {
|
||||
console.log("zazzz>>", this.data.sid)
|
||||
console.log("userList>>", sid)
|
||||
uni.navigateTo({
|
||||
url: "BaoMingListActivity?activitySid=" + this.data.sid + "&activityItemSid=" + sid
|
||||
})
|
||||
|
||||
},
|
||||
click() {
|
||||
let _this = this;
|
||||
|
||||
if (!this.checked1) {
|
||||
this.Toast("请认真阅读参赛须知,并勾选。")
|
||||
return
|
||||
}
|
||||
|
||||
// if (this.data.listActivityItemsDetails.length == 1) {
|
||||
// let evendSid = this.data.sid
|
||||
// let eventsSubprojectSid = this.data.listActivityItemsDetails[0].sid
|
||||
// this.HTTP({
|
||||
// url: 'aos/events/v1/eventsenroll/save',
|
||||
// method: 'POST',
|
||||
// data: {
|
||||
// 'eventsSid': evendSid,
|
||||
// 'eventsSubprojectSid': eventsSubprojectSid,
|
||||
// 'participantSid': getApp().globalData.memberSid,
|
||||
// 'paymentMemberSid': "",
|
||||
// },
|
||||
// paramsType: "JSON",
|
||||
// loading: true
|
||||
// }).then((res) => {
|
||||
|
||||
// if (res.code == 200) {
|
||||
// this.Toast("报名成功!")
|
||||
// // 返回的页面数,如果 delta 大于现有页面数,则返回到首页。
|
||||
// uni.navigateBack({
|
||||
// delta: 10
|
||||
// });
|
||||
// } else {
|
||||
// this.Toast(res.msg)
|
||||
// }
|
||||
|
||||
|
||||
// }, (err) => {
|
||||
// // 错误提示
|
||||
// _this.Toast("出错了:" + err.data.errmsg)
|
||||
// });
|
||||
// } else {
|
||||
console.log("===========" + this.data.listActivityItemsDetails.length)
|
||||
let list = this.data.listActivityItemsDetails
|
||||
let newList = []
|
||||
for (var i = 0; i < list.length; i++) {
|
||||
newList.push(list[i].name)
|
||||
}
|
||||
uni.showActionSheet({
|
||||
itemList: newList,
|
||||
success: function(res) {
|
||||
console.log("itemList==" + newList)
|
||||
console.log("res==" + JSON.stringify(res))
|
||||
_this.listSelect(res.tapIndex, newList)
|
||||
},
|
||||
fail(e) {
|
||||
console.log("reeees==" + JSON.stringify(e))
|
||||
}
|
||||
});
|
||||
// }
|
||||
|
||||
},
|
||||
listSelect(id, info) {
|
||||
console.log(id)
|
||||
console.log(info)
|
||||
let _this = this
|
||||
let evendSid = this.data.sid
|
||||
let eventsSubprojectSid = this.data.listActivityItemsDetails[id].sid
|
||||
console.log(eventsSubprojectSid)
|
||||
|
||||
if (getApp().globalData.isLogin){
|
||||
this.HTTP({
|
||||
url: 'aos/v1/activityItemManagement/enroll',
|
||||
method: 'POST',
|
||||
data: {
|
||||
'activitySid': evendSid,
|
||||
'activityItemSid': eventsSubprojectSid,
|
||||
'participantSid': getApp().globalData.sysUserSid,
|
||||
'paymentMemberSid': getApp().globalData.sysUserSid,
|
||||
},
|
||||
paramsType: "JSON",
|
||||
loading: true
|
||||
}).then((res) => {
|
||||
|
||||
if (res.code == 200) {
|
||||
this.Toast("报名成功!")
|
||||
// 返回的页面数,如果 delta 大于现有页面数,则返回到首页。
|
||||
uni.navigateBack({
|
||||
delta: 10
|
||||
});
|
||||
} else {
|
||||
this.Toast(res.msg)
|
||||
}
|
||||
|
||||
|
||||
}, (err) => {
|
||||
// 错误提示
|
||||
_this.Toast("出错了:" + err.data.errmsg)
|
||||
})
|
||||
}
|
||||
else{
|
||||
uni.navigateTo({
|
||||
url: "../me/AuthLogin"
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.items {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.agreeMent {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin-top: 50rpx;
|
||||
margin-left: 30rpx;
|
||||
|
||||
.text2 {
|
||||
color: #666666;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.banner {
|
||||
height: 450rpx;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
|
||||
.swiper {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
|
||||
.swiper-item {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
|
||||
.banner-image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-bottom-left-radius: 20rpx;
|
||||
border-bottom-right-radius: 20rpx;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
153
pages/test/test.vue
Normal file
153
pages/test/test.vue
Normal file
@@ -0,0 +1,153 @@
|
||||
<template>
|
||||
<!-- <view class="tip-top">我是提示框1</view>
|
||||
<view class="tip-bottom"> 我是提示框2</view>
|
||||
<view class="tip-left">我是提示框3</view>
|
||||
<view class="tip-right">我是提示框4</view> -->
|
||||
<view class="tip-bottom" style="margin-top: 100rpx;">我是提示框</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background: grey;
|
||||
}
|
||||
|
||||
/*提示框容器-上三角形*/
|
||||
.tip-top {
|
||||
margin: 20px;
|
||||
padding: 5px;
|
||||
width: 300px;
|
||||
height: 60px;
|
||||
border: 2px solid #f99;
|
||||
position: relative;
|
||||
background-color: #FFF;
|
||||
/*设置圆角*/
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
/*生成2个叠加的三角形*/
|
||||
.tip-top:before, .tip-top:after {
|
||||
content: "";
|
||||
display: block;
|
||||
border-width: 15px;
|
||||
position: absolute;
|
||||
top: -30px;
|
||||
left: 100px;
|
||||
border-style: solid dashed dashed solid;
|
||||
border-color: transparent transparent #f99 transparent;
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
}
|
||||
|
||||
/*将上面的三角形颜色设置和容器背景色相同*/
|
||||
.tip-top:after {
|
||||
top: -27px;
|
||||
border-color: transparent transparent #FFF transparent;
|
||||
}
|
||||
|
||||
/*下三角*/
|
||||
.tip-bottom {
|
||||
margin: 20px;
|
||||
padding: 5px;
|
||||
width: 300px;
|
||||
height: 60px;
|
||||
border: 2px solid #f99;
|
||||
position: relative;
|
||||
background-color: #0FF;
|
||||
/*设置圆角*/
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.tip-bottom:before, .tip-bottom:after {
|
||||
content: "";
|
||||
display: block;
|
||||
border-width: 15px;
|
||||
position: absolute;
|
||||
bottom: -30px;
|
||||
left: 100px;
|
||||
border-style: solid dashed dashed solid;
|
||||
border-color: #f99 transparent transparent transparent;
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
}
|
||||
|
||||
.tip-bottom:after {
|
||||
bottom: -27px;
|
||||
border-color: #0FF transparent transparent transparent;
|
||||
}
|
||||
|
||||
/*左三角*/
|
||||
.tip-left {
|
||||
margin: 20px;
|
||||
padding: 5px;
|
||||
width: 300px;
|
||||
height: 60px;
|
||||
border: 2px solid #f99;
|
||||
position: relative;
|
||||
background-color: #FFF;
|
||||
/*设置圆角*/
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.tip-left:before, .tip-left:after {
|
||||
content: "";
|
||||
display: block;
|
||||
border-width: 15px;
|
||||
position: absolute;
|
||||
left: -30px;
|
||||
top: 20px;
|
||||
border-style: dashed solid solid dashed;
|
||||
border-color: transparent #f99 transparent transparent;
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
}
|
||||
|
||||
.tip-left:after {
|
||||
left: -27px;
|
||||
border-color: transparent #FFF transparent transparent;
|
||||
}
|
||||
|
||||
/*右三角*/
|
||||
.tip-right {
|
||||
margin: 20px;
|
||||
padding: 5px;
|
||||
width: 300px;
|
||||
height: 60px;
|
||||
border: 2px solid #f99;
|
||||
position: relative;
|
||||
background-color: #FFF;
|
||||
/*设置圆角*/
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.tip-right:before, .tip-right:after {
|
||||
content: "";
|
||||
display: block;
|
||||
border-width: 15px;
|
||||
position: absolute;
|
||||
right: -30px;
|
||||
top: 20px;
|
||||
border-style: dashed solid solid dashed;
|
||||
border-color: transparent transparent transparent #f99;
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
}
|
||||
|
||||
.tip-right:after {
|
||||
right: -27px;
|
||||
border-color: transparent transparent transparent #FFF;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user