| @@ -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> | |||