兼兼街公众号代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

282 lines
6.0 KiB

<template>
<view class="buy-course">
<view class="course-box ">
<view class="course-box-item flex">
<u--image :showLoading="true" :src="dataInfo.photo" width="281rpx" height="178rpx"></u--image>
<view class="box-right">
<view class="active-title">{{dataInfo.title}}</view>
<view class="active-time">
<!-- <u-icon size="40" name="https://cdn.uviewui.com/uview/example/button.png"></u-icon> -->
<text>{{dataInfo.activityTime}}</text>
</view>
<view class="active-add">
<text>{{dataInfo.place}}</text>
</view>
</view>
</view>
</view>
<view class="from-box">
<view class="from-title">填写报名人信息</view>
<u--form
labelPosition="left"
:model="userInfo"
ref="form1"
labelWidth="80"
:labelStyle="formLabelStyle"
>
<u-form-item
label="姓名:"
borderBottom
ref="item1"
>
<u--input
v-model="userInfo.name"
border="none"
placeholder="请输入姓名"
></u--input>
</u-form-item>
<u-form-item
label="联系电话:"
borderBottom
ref="item1"
>
<u--input
v-model="userInfo.phone"
border="none"
placeholder="请输入手机号码"
type="number"
></u--input>
</u-form-item>
<u-form-item
label="公司名称:"
borderBottom
ref="item1"
>
<u--input
v-model="userInfo.companyName"
border="none"
placeholder="请输入公司名称"
></u--input>
</u-form-item>
<u-form-item
label="公司职务"
borderBottom
ref="item1"
>
<u--input
v-model="userInfo.companyPost"
border="none"
placeholder="请输入所在公司职务名称"
></u--input>
</u-form-item>
</u--form>
</view>
<view class="pay-box">
<view class="pay-price flex align-center justify-between">
<view class="pay-price-tip">费用</view>
<view>
<text class="unit">¥</text>
<text>{{dataInfo.money}}</text>
</view>
</view>
<view class="pay-type flex flex-column align-center">
<image src="../../static/img/pay-success.png" mode=""></image>
<view>支付成功</view>
</view>
</view>
</view>
</template>
<script>
export default{
data(){
return{
chooseType: 0,
dataInfo: {},
userInfo:{
name:'',
companyName:'',
phone:'',
companyPost:''
},
formLabelStyle:{
color: '#707070',
fontSize: '30rpx'
},
baomingStyle: {
fontSize:"30rpx",
fontWeight:"700",
height: "100rpx"
},
payList: [
{
id:0,
src:require('@/static/img/wechat-icon.png')
},
// {
// id:1,
// src:require('@/static/img/alipy-icon.png')
// }
]
}
},
onLoad(e) {
this.getactivityFindById('1584923974407417857')
},
// 隐藏微信h5的标题栏
onReady() {
this.$com.displayNav()
},
methods:{
choosePay(item){
this.chooseType = item.id;
},
// apply(){
// uni.redirectTo({
// url:'/pages/home/pay-success'
// })
// },
apply(){//添加报名信息
let params = {
activityId:'1565169118319157250',
payType:this.chooseType,
...this.userInfo,
}
this.$api('saveEnroll',params)
.then(res=>{
if(res.code == 200){
this.wxPay(res.result)
}
})
},
wxPay(id){
this.$api('recharge',{id})
.then(res=>{
this.$jweixin.invoke(
"getBrandWCPayRequest", {
appId: res.result.appId, //公众号名称,由商户传入
timeStamp: res.result.timeStamp, //时间戳,自1970年以来的秒数
nonceStr: res.result.nonceStr, //随机串
package: res.result.packageValue, //这个package是比较坑的他的格式必须是 prepay_id=wx22104854834640694c34f15a1066605800,是必须!!!!!!!!!!!!!!
signType: res.result.signType, //微信签名方式
paySign: res.result.paySign,//微信签名
},
function(res) {
if (res.err_msg == "get_brand_wcpay_request:ok") {
uni.showToast({
title: '支付成功',
icon: 'none',
duration: 1500
})
// 使用以上方式判断前端返回,微信团队郑重提示:
//res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
}
}
);
})
},
getactivityFindById(id){
uni.showLoading()
this.$api('activityFindById',{id})
.then(res=>{
uni.hideLoading()
if(res.code == 200){
this.dataInfo = res.result;
}
})
}
}
}
</script>
<style lang="scss" scoped>
.buy-course {
.course-box {
padding: 0 26rpx;
.course-box-item {
background: #ffffff;
border-radius: 12rpx;
box-shadow: 0px 3rpx 6rpx 0px rgba(0,0,0,0.16);
padding: 33rpx 13rpx;
.box-right {
margin-left: 16rpx;
.active-title {
font-size: 30rpx;
color: #000;
line-height: 40rpx;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
.active-time {
color: #707070;
font-size: 26rpx;
margin: 10rpx 0 14rpx 0;
}
.active-add {
color: #707070;
font-size: 26rpx;
}
}
}
}
.from-box {
padding: 0 26rpx;
.from-title {
font-size: 30rpx;
color: #000;
margin-top: 35rpx;
margin-bottom: 15rpx;
}
}
.pay-box {
border-top: 20rpx solid #F5F5F5;
padding: 0 26rpx;
.pay-price {
color: #D33D3E;
font-size: 40rpx;
font-weight: 700;
padding: 47rpx 0 20rpx 0;
border-bottom: 1px solid #E6E6E6;
.pay-price-tip {
color: #000000;
font-size: 30rpx;
font-weight: 400;
}
.unit {
font-size: 30rpx;
font-weight: 400;
}
}
.pay-type {
color: #20D76D;
font-size: 30rpx;
padding-top: 40rpx;
image {
width: 165rpx;
height: 165rpx;
margin-bottom: 42rpx;
}
}
}
}
</style>