Browse Source

活动详情逻辑编写,接口未对接

feature/v1.1.0
lfs3 7 years ago
parent
commit
9ffa27dcf4
6 changed files with 280 additions and 65 deletions
  1. BIN
      images/空.png
  2. 258
      pages/activity_detail/activity_detail.js
  3. 31
      pages/activity_detail/activity_detail.wxml
  4. 49
      pages/activity_detail/activity_detail.wxss
  5. 5
      pages/index/index.wxss
  6. 2
      pages/mcenter/mcenter.js

BIN
images/空.png

Before After
Width: 81  |  Height: 98  |  Size: 7.3 KiB

258
pages/activity_detail/activity_detail.js

@ -8,45 +8,85 @@ Page({
* 页面的初始数据 * 页面的初始数据
*/ */
data: { data: {
bottomBGColor: '#21BE8D',//
buttomText: '我要开团',
rule_image_height:0,//活动规则图片高度
activityNo: "",
groupNo: "",
memberList: [],
activityDetail: {},
currentMemberType: -1,//参与人角色,-1游客,0发起者,10参与者
groupStatus:0,//团状态,0发起拼团,10正在拼团,20拼团成功,90拼团失败
rule_image_height: 0,//活动规则图片高度
detail_image_height: 0,//活动详情图片高度 detail_image_height: 0,//活动详情图片高度
bannerImage: '/images/activity_banner.png', bannerImage: '/images/activity_banner.png',
ruleImage: '/images/banner1.png', ruleImage: '/images/banner1.png',
countDownDay: 0, countDownDay: 0,
countDownHour: 0, countDownHour: 0,
countDownMinute: 0, countDownMinute: 0,
countDownSecond: 0,
memberList:[],
activityDetail:{},
grounpInfo:"block",
activityNo:"",
groupNo: "",
countDownSecond: 0,
//根据状态切换样式
grounpInfo: "block",
grounpInfo2: "none",
one_content: "block",
two_content: "none",
bottomBGColor: '#F36619',
buttomText: '我要开团',
tagColor: "#F8B551",
remark: "none",
remarkText:"已退款",
//分享
show: false,
cancelWithMask: true,
actions: [{
name: '微信好友',
icon: '../../images/wechat_ico.png',
openType: 'share'
}, {
name: '朋友圈',
icon: '../../images/moments_ico.png'
}],
}, },
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */
onLoad: function (options) { onLoad: function (options) {
this.setData({ this.setData({
activityNo: options.activityNo == undefined ? "" : options.activityNo, activityNo: options.activityNo == undefined ? "" : options.activityNo,
groupNo: options.groupNo == undefined ? "" : options.groupNo, groupNo: options.groupNo == undefined ? "" : options.groupNo,
}); });
console.log("activityNo1231" + this.data.activityNo);
this.getActivityDetail()
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
//this.countActivityTime(1527609600);
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
//获取活动详情
this.getActivityDetail();
}, },
getActivityDetail: function (){
let that = this;
wx.showNavigationBarLoading() //在标题栏中显示加载
getActivityDetail: function () {
let that = this;
wx.showNavigationBarLoading(); //在标题栏中显示加载
var url = "";
var data = {};
if (that.data.groupNo != "") {
url = "/mall/wxa/activity/group/detail";
} else {
url = "/mall/wxa/activity/detail";
}
wx.request({ wx.request({
url: app.gw.hostUrl + '/mall/wxa/activity/detail',
url: app.gw.hostUrl + url,
method: 'get', method: 'get',
data: { data: {
activityNo: that.data.activityNo, activityNo: that.data.activityNo,
groupNo: that.data.groupNo,
}, },
header: { header: {
'Content-Type': 'application/x-www-form-urlencoded' 'Content-Type': 'application/x-www-form-urlencoded'
@ -56,13 +96,106 @@ Page({
var status = data.code; var status = data.code;
console.log(res); console.log(res);
if (status == 0) { if (status == 0) {
that.setData({ that.setData({
activityDetail: data.response, activityDetail: data.response,
grounpInfo: "none",
});
activityNo: data.response.activityNo,
groupNo: data.response.groupNo == undefined ? "" : data.response.groupNo,
memberList: data.response.memberList,
groupStatus: data.response.status,
currentMemberType: data.response.currentMemberType == undefined ? -1 : data.response.currentMemberType,
});
let activityContent = data.response.activityContent; let activityContent = data.response.activityContent;
WxParse.wxParse('activityContent', 'html', activityContent, that); WxParse.wxParse('activityContent', 'html', activityContent, that);
//根据状态切换样式
if (that.data.groupNo !=""){
//开团后页面变化
if (that.data.status == 10){
//团倒计时时
countActivityTime()
//正在拼团
that.setData({
grounpInfo: "block",
grounpInfo2: "none",
tagColor: "#F8B551",
});
if (that.data.currentMemberTyp == -1){
//游客
that.setData({
one_content: "none",
two_content: "block",
buttomText: '我要开团',
});
} else if (that.data.currentMemberType == 0 || that.data.currentMemberType == 10){
//发起人和邀请人
that.setData({
one_content: "block",
two_content: "none",
bottomBGColor: '#21BE8D',
buttomText: '邀请好友拼团',
});
}
} else if (that.data.status == 20){
//拼团成功
if (that.data.currentMemberTyp == -1) {
//游客
that.setData({
one_content: "block",
two_content: "none",
bottomBGColor: '#F36619',
buttomText: '我要开团',
grounpInfo: "none",
grounpInfo2: "block",
});
} else if (that.data.currentMemberType == 0 || that.data.currentMemberType == 10) {
//发起人和邀请人
that.setData({
tagColor: "#21BE8D",
one_content: "block",
two_content: "none",
bottomBGColor: '#21BE8D',
buttomText: '立即预约',
grounpInfo: "block",
grounpInfo2: "none",
remarkText: "",
});
}
} else if (that.data.status == 90){
//拼团失败
if (that.data.currentMemberTyp == -1) {
//游客
that.setData({
one_content: "block",
two_content: "none",
bottomBGColor: '#F36619',
buttomText: '我要开团',
grounpInfo: "none",
grounpInfo2: "block",
});
} else if (that.data.currentMemberType == 0 || that.data.currentMemberType == 10) {
//发起人和邀请人
that.setData({
tagColor: "#999999",
one_content: "block",
two_content: "none",
bottomBGColor: '#F36619',
buttomText: '重新开团',
grounpInfo: "block",
grounpInfo2: "none",
remarkText: "已退款",
});
}
}
}else{
that.setData({
grounpInfo: "none",
grounpInfo2: "none",
});
}
} else { } else {
wx.showToast({ wx.showToast({
title: data.msg, title: data.msg,
@ -88,7 +221,7 @@ Page({
/** /**
*活动倒计时方法 *活动倒计时方法
*/ */
countActivityTime: function (timeStamp){
countActivityTime: function (timeStamp) {
var totalSecond = timeStamp - Date.parse(new Date()) / 1000; var totalSecond = timeStamp - Date.parse(new Date()) / 1000;
var interval = setInterval(function () { var interval = setInterval(function () {
// 秒数 // 秒数
@ -133,7 +266,7 @@ Page({
countDownSecond: '00', countDownSecond: '00',
}); });
} }
}.bind(this), 1000);
}.bind(this), 1000);
}, },
// 图片加载 // 图片加载
ruleImageLoad: function (image) { ruleImageLoad: function (image) {
@ -153,19 +286,57 @@ Page({
}) })
}, },
groupTap:function(e){
//点击团按钮操作
groupTap: function (e) {
var url = "";
if (that.data.groupNo == ""){
url = '/mall/wxa/activity/group/group';
//首次开团
this.groupOpenOrJoin(url);
}else{
if (that.data.status == 10) {
//正在拼团
if (that.data.currentMemberTyp == -1) {
//游客
url = '/mall/wxa/activity/group/join';
this.groupOpenOrJoin(url);
}else{
//团长与参与人点击分享
}
} else if (that.data.status == 20) {
//拼团成功
if (that.data.currentMemberTyp == -1) {
//游客
url = '/mall/wxa/activity/group/group';
this.groupOpenOrJoin(url);
} else {
//团长与参与人立即预约
}
} else if (that.data.status == 90){
//拼团失败
url = '/mall/wxa/activity/group/group';
this.groupOpenOrJoin(url);
}
}
},
//开团与参团
groupOpenOrJoin: function (url) {
let that = this; let that = this;
wx.showToast({ wx.showToast({
title: '正在调起支付', title: '正在调起支付',
icon: 'loading' icon: 'loading'
}) })
wx.request({//获取微信支付想要的数据 wx.request({//获取微信支付想要的数据
url: app.gw.hostUrl + '/mall/wxa/activity/group/open',
url: app.gw.hostUrl + url,
method: 'get', method: 'get',
data: { data: {
openid: app.globalData.openid, openid: app.globalData.openid,
activityNo: that.data.activityNo
activityNo: that.data.activityNo,
groupNo: that.data.groupNo,
}, },
header: { header: {
'Content-Type': 'application/x-www-form-urlencoded', 'Content-Type': 'application/x-www-form-urlencoded',
@ -199,15 +370,10 @@ Page({
icon: 'success', icon: 'success',
duration: 2000 duration: 2000
}) })
// wx.switchTab({//跳转到订单页面
// url: '../order/order',
// success: function (e) {
// var page = getCurrentPages().pop();
// if (page == undefined || page == null) return;
// console.log(page);
// page.onShow();
// }
// })
wx.navigateTo({
url: '../pay_result/pay_result?activityNo=' + that.data.activityNo + '&groupNo=' + that.data.groupNo
})
}, },
"fail": function (res) { "fail": function (res) {
console.log(res); console.log(res);
@ -236,53 +402,41 @@ Page({
}, },
}); });
}, },
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
//this.countActivityTime(1527609600);
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/** /**
* 生命周期函数--监听页面隐藏 * 生命周期函数--监听页面隐藏
*/ */
onHide: function () { onHide: function () {
}, },
/** /**
* 生命周期函数--监听页面卸载 * 生命周期函数--监听页面卸载
*/ */
onUnload: function () { onUnload: function () {
}, },
/** /**
* 页面相关事件处理函数--监听用户下拉动作 * 页面相关事件处理函数--监听用户下拉动作
*/ */
onPullDownRefresh: function () { onPullDownRefresh: function () {
}, },
/** /**
* 页面上拉触底事件的处理函数 * 页面上拉触底事件的处理函数
*/ */
onReachBottom: function () { onReachBottom: function () {
}, },
/** /**
* 用户点击右上角分享 * 用户点击右上角分享
*/ */
onShareAppMessage: function () { onShareAppMessage: function () {
} }
}) })

31
pages/activity_detail/activity_detail.wxml

@ -29,16 +29,19 @@
</view> </view>
<view class='grounp_info' style='display: {{grounpInfo}};'> <view class='grounp_info' style='display: {{grounpInfo}};'>
<view class='status'> <view class='status'>
<text class="tag">拼团中</text>
<view class='remark'>还差
<text class='num'>4</text>人拼团成功
<text class="tag" style='border-color: {{tagColor}};color: {{tagColor}};'>拼团中</text>
<view class='remark' style='display: {{remark}};'>还差
<text class='num'>{{activityDetail.limitNum - memberList.length}}</text>人拼团成功
</view> </view>
<view class="countDownTimeView">
<view class="countDownTimeView" style='display: {{remark}};'>
<text class="countDownTimeText">{{countDownDay}}天</text> <text class="countDownTimeText">{{countDownDay}}天</text>
<text class="countDownTimeText">{{countDownHour}}时</text> <text class="countDownTimeText">{{countDownHour}}时</text>
<text class="countDownTimeText">{{countDownMinute}}分</text> <text class="countDownTimeText">{{countDownMinute}}分</text>
<text class="countDownTimeText">{{countDownSecond}}秒</text> <text class="countDownTimeText">{{countDownSecond}}秒</text>
</view> </view>
<view class='remarkText' style='display: {{remark == "none" ? "block" : "none"}};'>
{{remarkText}}
</view>
</view> </view>
<view class='list'> <view class='list'>
<scroll-view scroll-x="{{true}}" scroll-y="{{false}}" class='list'> <scroll-view scroll-x="{{true}}" scroll-y="{{false}}" class='list'>
@ -51,16 +54,26 @@
</scroll-view> </scroll-view>
</view> </view>
</view> </view>
<view class='grounp_info2' style='display: {{grounpInfo2}};'>
<view class='row1'>
<image src='/images/空.png' class='image'></image>
<text class='text'>你来晚了</text>
</view>
<view class='row2'>176****6411发起的拼团已结束</view>
</view>
<image src="{{ruleImage}}" bindload="ruleImageLoad" style="width:100%;margin: 5rpx auto;height:{{rule_image_height}}px"></image> <image src="{{ruleImage}}" bindload="ruleImageLoad" style="width:100%;margin: 5rpx auto;height:{{rule_image_height}}px"></image>
<view class="global_focus intro-box" style='margin: 5rpx auto;'> <view class="global_focus intro-box" style='margin: 5rpx auto;'>
<template is="wxParse" data="{{wxParseData:activityContent.nodes}}" /> <template is="wxParse" data="{{wxParseData:activityContent.nodes}}" />
</view> </view>
</scroll-view> </scroll-view>
<view class='bottom_view'> <view class='bottom_view'>
<view class='one_content' id='one_button' style='background-color:{{bottomBGColor}};' bindtap='groupTap'>{{buttomText}}</view>
<view class='two_content' id='two_content'>
<view class='left'>¥499</view>
<view class='right' >{{buttomText}}</view>
<view class='one_content' id='one_button' style='display: {{one_content}};background-color:{{bottomBGColor}};' bindtap='groupTap;'>{{buttomText}}</view>
<view class='two_content' id='two_content' style='display: {{one_content}};'>
<view class='left'>¥{{activityDetail.participantPrice / 100}}</view>
<view class='right' bindtap='groupTap'>{{buttomText}}</view>
</view> </view>
</view> </view>
</view>
</view>
<!--底部弹出框-->
<zan-actionsheet show="{{ show }}" actions="{{ actions }}" cancel-with-mask="{{ cancelWithMask }}" bind:cancel="closeActionSheet" bind:actionclick="clickAction" mask-class="tiny" />

49
pages/activity_detail/activity_detail.wxss

@ -90,6 +90,44 @@ image{
margin: 30rpx auto; margin: 30rpx auto;
} }
.grounp_info2{
width: 100%;
background: white;
height: 220rpx;
margin: 30rpx auto;
}
.grounp_info2 .row1{
width: 100%;
height: 33px;
margin: 20px auto;
display: flex;
flex-direction: row;
justify-content:center;
}
.grounp_info2 .row1 .image{
margin-top: 14px;
width: 27px;
height: 33px;
}
.grounp_info2 .row1 .text{
margin-top: 18px;
width: 90px;
height: 33px;
margin-left: 10px;
color: #999999;
font-size: 18px;
}
.grounp_info2 .row2{
margin-top: 10px;
width: 100%;
height: 20px;
color: #F44054;
font-size: 16px;
text-align: center;
}
.grounp_info .status{ .grounp_info .status{
width: 100%; width: 100%;
height: 80rpx; height: 80rpx;
@ -104,9 +142,8 @@ image{
border-radius:18px; border-radius:18px;
border-width: 2rpx; border-width: 2rpx;
border-style: solid; border-style: solid;
border-color: #F8B551;
margin-left: 26rpx; margin-left: 26rpx;
color: #F8B551;
} }
.grounp_info .status .remark{ .grounp_info .status .remark{
@ -117,6 +154,14 @@ image{
font-size: 26rpx; font-size: 26rpx;
} }
.grounp_info .status .remarkText{
width: 300rpx;
height: 30rpx;
margin: -40rpx 150rpx auto;
color: #F44054;
font-size: 26rpx;
}
.grounp_info .status .remark .num{ .grounp_info .status .remark .num{
color: #F44053; color: #F44053;
font-size: 26rpx; font-size: 26rpx;

5
pages/index/index.wxss

@ -49,12 +49,15 @@ image{
.menu .list{ .menu .list{
width: 100%; width: 100%;
height: 100%; height: 100%;
display: flex;
flex-direction: row;
justify-content:center;
} }
.menu .list .view{ .menu .list .view{
height: 46rpx; height: 46rpx;
width: 150rpx; width: 150rpx;
float: left;
/* float: left; */
margin: 22rpx auto; margin: 22rpx auto;
} }
.menu .list .view .green_button{ .menu .list .view .green_button{

2
pages/mcenter/mcenter.js

@ -34,7 +34,7 @@ Page({
}) })
}, },
goOrder: function (e) { goOrder: function (e) {
wx.switchTab({
wx.navigateTo({
url: '../order/order' url: '../order/order'
}) })
}, },

Loading…
Cancel
Save