@@ -1,6 +1,7 @@ | |||
{ | |||
"pages": [ | |||
"pages/index/index", | |||
"pages/integralmall/integraHistory/index", | |||
"pages/integralmall/payIntegcouponStatus/index", | |||
"pages/integralmall/payIntegcoupondetail/index", | |||
"pages/joinFrDpell/index", | |||
@@ -61,7 +61,7 @@ Page({ | |||
formId: e.detail.formId | |||
}) | |||
wx.navigateTo({ | |||
url: '/pages/integralmall/payIntegcoupondetail/index?couponChannelId=' + this.data.couponChannelId, | |||
url: '/pages/integralmall/payIntegcoupondetail/index?couponChannelId=' + this.data.couponChannelId + '&couponId=' + this.data.couponId, | |||
}) | |||
}, | |||
// 时间格式化输出,如11:03 25:19 每1s都会调用一次 | |||
@@ -0,0 +1,98 @@ | |||
var config = require("../../../config/config.js"); | |||
var app = getApp(); | |||
const Http = require("../../../utils/HttpBasics"); | |||
let util = require("../../../utils/util"); | |||
const imgurl = require("../../../utils/imgurl"); | |||
Page({ | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
score: 10, | |||
pageNum: 1, | |||
list: [], | |||
showcontent: false, | |||
loadingUrl: imgurl.loading.url, | |||
bgg: imgurl.bgg.url, | |||
allow_load: true | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad: function (options) { | |||
}, | |||
gotorule: function () { | |||
wx.navigateTo({ | |||
url: '/pages/grade/grade', | |||
}) | |||
}, | |||
/** | |||
* 生命周期函数--监听页面显示 | |||
*/ | |||
onShow: function () { | |||
let that = this; | |||
that.getScore(); | |||
that.record(1, 15); | |||
}, | |||
record(pageNum) { | |||
var that = this; | |||
if (that.data.allow_load) { | |||
Http.get({ | |||
url: config.api.scoreHistory, | |||
data: { | |||
pageNum: pageNum, | |||
pageSize: 20, | |||
} | |||
}).then(res => { | |||
res.data.list.map(file => { | |||
file.createDate = util.formatTime( | |||
file.createDate, | |||
"yyyy-MM-dd hh:mm:ss" | |||
); | |||
}); | |||
if (pageNum >= res.data.pages) { | |||
that.setData({ | |||
allow_load: false, | |||
}); | |||
} | |||
that.data.list = that.data.list.concat(res.data.list); | |||
that.setData({ | |||
list: that.data.list | |||
}); | |||
}) | |||
.catch(err => { | |||
wx.showToast({ | |||
title: err.errMsg, | |||
icon: 'none', | |||
duration: 2000, | |||
mask: false | |||
}); | |||
}) | |||
} | |||
}, | |||
getScore: function () { | |||
let that = this; | |||
Http.get({ | |||
url: config.api.getScore, | |||
data: {} | |||
}) | |||
.then(res => { | |||
console.log(res) | |||
that.setData({ | |||
score: res.data.score, | |||
levelName: res.data.levelName, | |||
}) | |||
}) | |||
}, | |||
onReachBottom: function () { | |||
var that = this; | |||
that.data.pageNum++; | |||
that.setData({ | |||
pageNum: that.data.pageNum | |||
}); | |||
that.record(that.data.pageNum); | |||
} | |||
}) |
@@ -0,0 +1,5 @@ | |||
{ | |||
"navigationBarTitleText": "积分记录", | |||
"enablePullDownRefresh": true, | |||
"usingComponents": {} | |||
} |
@@ -0,0 +1,28 @@ | |||
<view class='head'> | |||
<text>当前</text> | |||
<text>{{score}}</text> | |||
<!-- <view class='rule' bindtap='gotorule'>规则</view> --> | |||
<image class='bg' src='{{bgg}}' mode='widthFix'></image> | |||
</view> | |||
<view class=''> | |||
<text class='title'>积分明细</text> | |||
<view class='content clearfix' wx:for="{{list}}" wx:key="{{index}}"> | |||
<view class='le'> | |||
<text wx:if="{{item.scoreType==1}}">每日登录</text> | |||
<text wx:if="{{item.scoreType==2}}">消费</text> | |||
<text wx:if="{{item.scoreType==3}}">绑车牌</text> | |||
<text wx:if="{{item.scoreType==4}}">连接WIFI</text> | |||
<text wx:if="{{item.scoreType==5}}">微信用户昵称授权</text> | |||
<text wx:if="{{item.scoreType==6}}">微信用户手机授权</text> | |||
<text wx:if="{{item.scoreType==7}}">完善个人信息</text> | |||
<text wx:if="{{item.scoreType==8}}">会员导入</text> | |||
<text wx:if="{{item.scoreType==9}}">{{item.reason}}</text> | |||
<text>{{item.createDate}}</text> | |||
</view> | |||
<view class='fr'> | |||
<text wx:if="{{item.scoreAmount>0&&item.scoreType==8}}">重置为{{item.scoreAmount}}分</text> | |||
<text wx:if="{{item.scoreAmount>0&&item.scoreType!=8}}">+{{item.scoreAmount}}分</text> | |||
<text wx:if="{{0>=item.scoreAmount}}">{{item.scoreAmount}}分</text> | |||
</view> | |||
</view> | |||
</view> |
@@ -0,0 +1,119 @@ | |||
/* pages/czdetail/czdetail.wxss */ | |||
.head { | |||
height: 252rpx; | |||
background: #02c0ff; | |||
position: relative; | |||
} | |||
.rule { | |||
position: absolute; | |||
right: 0; | |||
top: 0; | |||
bottom: 0; | |||
margin: auto; | |||
width: 124rpx; | |||
height: 48rpx; | |||
line-height: 48rpx; | |||
text-align: center; | |||
background: #fff; | |||
font-size: 28rpx; | |||
font-weight: 400; | |||
color: rgba(2, 192, 255, 1); | |||
border-bottom-left-radius: 50rpx; | |||
border-top-left-radius: 50rpx; | |||
} | |||
.head text { | |||
display: block; | |||
text-align: center; | |||
color: #fff; | |||
} | |||
.head text:nth-of-type(1) { | |||
font-size: 28rpx; | |||
font-family: PingFang-SC-Regular; | |||
font-weight: 400; | |||
color: rgba(255, 255, 255, 1); | |||
} | |||
.head text:nth-of-type(2) { | |||
font-size: 70rpx; | |||
font-family: PingFang-SC-Bold; | |||
font-weight: bold; | |||
color: rgba(255, 255, 255, 1); | |||
} | |||
.bg { | |||
position: absolute; | |||
bottom: 0; | |||
left: 0; | |||
right: 0; | |||
width: 100%; | |||
height: 55rpx; | |||
z-index: 100; | |||
} | |||
.content { | |||
position: relative; | |||
padding: 0 35rpx; | |||
height: 145rpx; | |||
border-bottom: 1px solid #eaeaea; | |||
} | |||
.content>view:nth-of-type(2n+1) text { | |||
display: block; | |||
} | |||
.content>view:nth-of-type(2n+1) text:nth-of-type(1) { | |||
margin-top: 24rpx; | |||
} | |||
.content>view:nth-of-type(2n+1) text:nth-of-type(2) { | |||
margin-top: 10rpx; | |||
font-size: 26rpx; | |||
font-family: PingFang-SC-Bold; | |||
color: rgba(153, 153, 153, 1); | |||
} | |||
.content>view:nth-of-type(2n+1) { | |||
float: left; | |||
width: 60%; | |||
height: 145rpx; | |||
overflow: hidden; | |||
} | |||
.content>view:nth-of-type(2n) { | |||
width: 38%; | |||
float: right; | |||
text-align: right; | |||
height: 145rpx; | |||
line-height: 145rpx; | |||
overflow: hidden; | |||
} | |||
.title { | |||
display: block; | |||
text-align: center; | |||
font-size: 30rpx; | |||
font-family: PingFang-SC-Regular; | |||
font-weight: 400; | |||
color: rgba(51, 51, 51, 1); | |||
} | |||
.fr text{ | |||
color: #FF3535; | |||
} | |||
.loading { | |||
text-align: center; | |||
height: 80rpx; | |||
line-height: 80rpx; | |||
font-size: 26rpx; | |||
color: #999; | |||
} | |||
.loading image { | |||
width: 60rpx; | |||
height: 60rpx; | |||
vertical-align: middle; | |||
margin-right: 10rpx; | |||
} |
@@ -17,7 +17,9 @@ Page({ | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad: function (options) { | |||
this.setData({ | |||
formData:options | |||
}) | |||
}, | |||
/** | |||
@@ -2,12 +2,12 @@ | |||
<view class='tilte'>兑换成功</view> | |||
<view class='coupon'> | |||
<view class='c-left'> | |||
<image src='{{teljpgUrl}}' mode="widthFix"></image> | |||
<image src='{{formData.coverImg}}' mode="widthFix"></image> | |||
</view> | |||
<view class='c-right'>会员积分兑换2小时停车券</view> | |||
<view class='c-right'>{{'会员积分兑换'+formData.title}}</view> | |||
</view> | |||
<view class='detail-text'>已存入"我的券包"请您查看使用</view> | |||
<view class='detail-num'>剩余积分:23234</view> | |||
<view class='detail-num'>{{'剩余积分:'+formData.remainingPoints}}</view> | |||
<button class='button01' bindtap='gotoUse'>立即使用</button> | |||
<button class='button02' bindtap='gotoIndex'>返回首页</button> | |||
</view> |
@@ -23,6 +23,7 @@ | |||
height: auto; | |||
float: left; | |||
box-sizing: border-box; | |||
padding-top: 18rpx; | |||
} | |||
.c-left image{ | |||
width: 120rpx; | |||
@@ -37,12 +38,14 @@ | |||
padding-left: 30rpx; | |||
line-height: 40rpx; | |||
margin-top: 30rpx; | |||
color:rgba(85,85,85,1); | |||
} | |||
.detail-num{ | |||
font-size:30rpx; | |||
padding-left: 30rpx; | |||
line-height: 40rpx; | |||
margin-top: 10rpx; | |||
color:rgba(85,85,85,1); | |||
} | |||
.button01{ | |||
width:710rpx; | |||
@@ -59,34 +59,167 @@ Page({ | |||
// 关闭来自于左上角的分享 | |||
wx.hideShareMenu() | |||
}, | |||
/** | |||
* 发起支付 | |||
*/ | |||
gotoPay() { | |||
let that = this; | |||
wx.showLoading({ | |||
title: '订单提交中...', | |||
var that = this; | |||
Http.get({ | |||
url: config.api.checkPhoneStatus, | |||
data: {} | |||
}) | |||
//操作人类型 1:C端用户,2:A端会员,3:B端用户,4:A端用户 | |||
let param={ | |||
cuserId:that.data.userInfo.id,//用户id | |||
operatorType:1,//操作人类型 | |||
creditType: 11,//积分类型-积分兑换 | |||
spend:this.data.data.credit,//积分数值 | |||
couponId: this.data.data.couponId | |||
} | |||
.then(res => { | |||
var data = { | |||
couponChannelId: "" + that.data.paramData.couponChannelId, | |||
couponId: "" + that.data.paramData.couponId | |||
} | |||
/** | |||
* orderSave 下单 | |||
*/ | |||
return Http.post({ | |||
url: config.api.orderSave, | |||
data: data | |||
}); | |||
}) | |||
.catch(err => { | |||
console.log(err); | |||
that.setData({ | |||
showbutton: false, | |||
showbutton1: false | |||
}) | |||
if (err.code == 2011) { | |||
wx.showToast({ | |||
title: "商户信息没找到", | |||
image: './../../../assets/images/fail.png', | |||
duration: 2000, | |||
mask: false | |||
}); | |||
} else if (err.code == 2013) { | |||
wx.showToast({ | |||
title: "商户信息禁用", | |||
image: './../../../assets/images/fail.png', | |||
duration: 2000, | |||
mask: false | |||
}); | |||
} else if (err.code == 3000) { | |||
wx.showToast({ | |||
title: "库存不足", | |||
image: './../../../assets/images/fail.png', | |||
duration: 2000, | |||
mask: false | |||
}); | |||
} else if (err.code == 3001) { | |||
wx.showToast({ | |||
title: "超过限购条件", | |||
image: './../../../assets/images/fail.png', | |||
duration: 2000, | |||
mask: false | |||
}); | |||
} else if (err.code == 3002) { | |||
wx.showToast({ | |||
title: "订单失败", | |||
image: './../../../assets/images/fail.png', | |||
duration: 2000, | |||
mask: false | |||
}); | |||
} else if (err.code == 3003) { | |||
wx.showToast({ | |||
title: "订单不存在", | |||
image: './../../../assets/images/fail.png', | |||
duration: 2000, | |||
mask: false | |||
}); | |||
} else if (err.code == 3004) { | |||
wx.showToast({ | |||
title: "订单不存在", | |||
image: './../../../assets/images/fail.png', | |||
duration: 2000, | |||
mask: false | |||
}); | |||
} else if (err.code == 4003) { | |||
wx.showToast({ | |||
title: "卡券已作废", | |||
image: './../../../assets/images/fail.png', | |||
duration: 2000, | |||
mask: false | |||
}); | |||
} else if (err.code == 11005) { | |||
/** | |||
* 将值传到用户手机号授权的页面 | |||
* | |||
*/ | |||
wx.redirectTo({ | |||
url: "/pages/getphoneInfo/index?couponChannelId=" + | |||
that.data.paramData.couponChannelId | |||
}); | |||
} else if (err.code == 11006) { | |||
// 用户手机已加密 | |||
wx.redirectTo({ | |||
url: "/pages/phoneinput/phoneinput?couponChannelId=" + | |||
that.data.paramData.couponChannelId | |||
}); | |||
} else { | |||
wx.showToast({ | |||
title: err.message, | |||
icon: 'none', | |||
duration: 2000, | |||
mask: false | |||
}); | |||
} | |||
}) | |||
.then(res => { | |||
console.log(res) | |||
if (typeof (res) != "undefined") { | |||
let orderId = "" + res.data.id; | |||
that.setData({ | |||
orderId: orderId | |||
}); | |||
console.log(that.data.type) | |||
// 免费券 | |||
that.payOrderUpdate(orderId, "0", 1, '',that); | |||
// that.payOrderUpdate(that.data.orderId, '', 1, '', that); | |||
if (that.data.cardType == 100) { | |||
wx.setStorage({ | |||
key: 'couponNum2', | |||
data: "couponNum2" | |||
}) | |||
} else if (that.data.data.type != "5") { | |||
wx.setStorage({ | |||
key: 'couponNum', | |||
data: "couponNum" | |||
}) | |||
} | |||
} | |||
}) | |||
}, | |||
/** | |||
* 支付订单更新 | |||
*/ | |||
payOrderUpdate: (orderId, payOrderId, status, reason, _this) => { | |||
let that = this; | |||
// 支付成功 | |||
Http.post({ | |||
url: config.api.addIntegral, | |||
data: param | |||
url: config.api.payOrderUpdate, | |||
data: { | |||
payOrderId: payOrderId, | |||
orderId: orderId, | |||
status: status, | |||
reason: reason | |||
} | |||
}) | |||
.then(res => { | |||
wx.hideLoading() | |||
/// End payment -------- | |||
wx.navigateTo({ | |||
url: '/pages/integralmall/payIntegcouponStatus/index?title=' + _this.data.data.title + '&coverImg=' + _this.data.data.coverImg + '&remainingPoints=' + _this.data.remainingPoints, | |||
}) | |||
}) | |||
.catch(err => { | |||
wx.showToast({ | |||
title: err.message, | |||
icon: 'none', | |||
duration: 2000, | |||
mask: false | |||
}); | |||
console.log(err); | |||
if (err.code != 12002) { | |||
setTimeout(function () { | |||
_this.payOrderUpdate(orderId, payOrderId, status, reason, _this); | |||
}, 2000) | |||
} | |||
}) | |||
}, | |||
/** | |||
@@ -124,9 +124,12 @@ Page({ | |||
}, | |||
//跳往个人中心 | |||
gotouser:function(){ | |||
wx.switchTab({ | |||
url: '/pages/user/index', | |||
wx.navigateTo({ | |||
url: '/pages/integralmall/integraHistory/index', | |||
}) | |||
// wx.switchTab({ | |||
// url: '/pages/user/index', | |||
// }) | |||
}, | |||
//跳往砍价专场 | |||
gobargain: function () { | |||
@@ -22,7 +22,7 @@ | |||
</view> | |||
</view> | |||
<!-- 会员信息 --> | |||
<view class='userinfo'bindtap='gotouser'> | |||
<view class='userinfo' bindtap='gotouser'> | |||
<view class="user-avatar" bindtap='gotograde'> | |||
<open-data class="open" type="userAvatarUrl"></open-data> | |||
</view> | |||