| @@ -16,6 +16,7 @@ | |||||
| "pages/couponorder/detail/index", | "pages/couponorder/detail/index", | ||||
| "pages/cardorder/index/index", | "pages/cardorder/index/index", | ||||
| "pages/cardorder/detail/index", | "pages/cardorder/detail/index", | ||||
| "pages/cardorder/userule/userule", | |||||
| "pages/order/detail/index", | "pages/order/detail/index", | ||||
| "pages/order/index/index", | "pages/order/index/index", | ||||
| "pages/success/index", | "pages/success/index", | ||||
| @@ -12,6 +12,7 @@ Page({ | |||||
| quesGouUrl: imgurl.ques_gou.url, | quesGouUrl: imgurl.ques_gou.url, | ||||
| headbgUrl: imgurl.headbg.url, | headbgUrl: imgurl.headbg.url, | ||||
| quesBgUrl: imgurl.ques_bg.url, | quesBgUrl: imgurl.ques_bg.url, | ||||
| dingdanUrl: imgurl.dingdan.url, | |||||
| cardDetail:null, | cardDetail:null, | ||||
| data: { | data: { | ||||
| title: null | title: null | ||||
| @@ -1,3 +1,3 @@ | |||||
| { | { | ||||
| "navigationBarTitleText": "消费记录" | |||||
| "navigationBarTitleText": "交易明细" | |||||
| } | } | ||||
| @@ -1,46 +1,16 @@ | |||||
| <view wx:if="{{showPage}}" class='notes'> | <view wx:if="{{showPage}}" class='notes'> | ||||
| <!-- 券的详情页面 --> | |||||
| <view class='head'> | |||||
| <view class='titles'>{{cardDetail.title}}</view> | |||||
| <view class='titles clearfix'> | |||||
| <text class='fl'>有效期:{{cardDetail.expiredTime}}</text> | |||||
| <text class='fr'>余额:¥{{cardDetail.remainingAmount/100}}</text> | |||||
| <view wx:for="{{data}}" wx:key="{{index}}" class='list'> | |||||
| <view class='record clearfix record1'> | |||||
| <text class='fl'>{{item.merchantName}}</text> | |||||
| <text class='fr'>-{{item.deductionAmount/100}}元</text> | |||||
| </view> | </view> | ||||
| </view> | |||||
| <view class='notess'> | |||||
| <view> | |||||
| <text class='title'>购买须知</text> | |||||
| </view> | |||||
| <view> | |||||
| <text><text class='spot'></text>{{cardDetail.remark}}</text> | |||||
| <view class='clearfix record2'> | |||||
| <text class='fl'>{{item.updateDate}}</text> | |||||
| <text class='fr'>余 {{item.cardRemainAmount/100}}元</text> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view> | |||||
| <text class='title'>适用门店:</text> | |||||
| <view class='posi'> | |||||
| <view class='posi_logo' wx:for="{{cardDetail.merchantVoList}}" wx:key="index"> | |||||
| <view> | |||||
| <image src='{{item.merchantImgUrl}}'></image> | |||||
| </view> | |||||
| <view> | |||||
| <text>{{item.merchantName}}</text> | |||||
| <text>{{item.addr}}{{item.buildingName}}{{item.floorName}}</text> | |||||
| </view> | |||||
| <image bindtap='phone' data-merchantLinkPhone='{{item.merchantLinkPhone}}' class="tel" src="{{teljpgUrl}}" mode="widthFix" /> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| <view> | |||||
| <text wx:if="{{data.length>0}}" class="title">交易明细:</text> | |||||
| <view wx:for="{{data}}" wx:key="{{index}}"> | |||||
| <view class='record clearfix record1'> | |||||
| <text>{{item.merchantName}}</text> | |||||
| <text>-{{item.deductionAmount/100}}元</text> | |||||
| </view> | |||||
| <view class='record clearfix record2'> | |||||
| <text>{{item.updateDate}}</text> | |||||
| <text>余额:{{item.cardRemainAmount/100}}元</text> | |||||
| </view> | |||||
| </view> | |||||
| <view class="dingdan" wx:if="{{data.length==0}}"> | |||||
| <image src="{{dingdanUrl}}" mode="widthFix"></image> | |||||
| <text>暂无交易明细</text> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| @@ -1,6 +1,3 @@ | |||||
| .notes { | |||||
| padding: 32rpx; | |||||
| } | |||||
| .record text:nth-of-type(2n+1) { | .record text:nth-of-type(2n+1) { | ||||
| float: left; | float: left; | ||||
| @@ -20,13 +17,14 @@ | |||||
| } | } | ||||
| .record1 text:nth-of-type(1) { | .record1 text:nth-of-type(1) { | ||||
| font-size: 32rpx; | |||||
| font-size:30rpx; | |||||
| font-family:PingFang-SC-Bold; | |||||
| color:rgba(51,51,51,1); | |||||
| } | } | ||||
| .record1 { | |||||
| margin-top: 15rpx; | |||||
| .list { | |||||
| padding: 18rpx 0; | |||||
| } | } | ||||
| .title { | .title { | ||||
| display: block; | display: block; | ||||
| font-weight: bold; | font-weight: bold; | ||||
| @@ -37,6 +35,10 @@ | |||||
| .record2 { | .record2 { | ||||
| margin-top: 16rpx; | margin-top: 16rpx; | ||||
| color:rgba(153,153,153,1)!important; | |||||
| } | |||||
| .record2 text{ | |||||
| font-size: 30rpx; | |||||
| } | } | ||||
| .posi { | .posi { | ||||
| @@ -147,4 +149,37 @@ | |||||
| margin: auto; | margin: auto; | ||||
| width: 50rpx; | width: 50rpx; | ||||
| height: 50rpx; | height: 50rpx; | ||||
| } | |||||
| .list{ | |||||
| padding: 20rpx 32rpx; | |||||
| border-bottom:1px solid #EAEAEA; | |||||
| } | |||||
| .notess{ | |||||
| padding: 0 32rpx; | |||||
| } | |||||
| .dingdan { | |||||
| margin-top: 33rpx; | |||||
| } | |||||
| .dingdan text:nth-of-type(1) { | |||||
| display: block; | |||||
| font-size: 34rpx; | |||||
| color: #333; | |||||
| letter-spacing: 0; | |||||
| text-align: center; | |||||
| } | |||||
| .dingdan text:nth-of-type(2) { | |||||
| display: block; | |||||
| font-size: 28rpx; | |||||
| color: #999; | |||||
| letter-spacing: 0; | |||||
| text-align: center; | |||||
| } | |||||
| .dingdan image { | |||||
| display: block; | |||||
| width: 300rpx; | |||||
| height: 300rpx; | |||||
| margin: 0 auto 16rpx; | |||||
| } | } | ||||
| @@ -29,7 +29,11 @@ Page({ | |||||
| }, | }, | ||||
| onShow: function() { | onShow: function() { | ||||
| let that = this; | let that = this; | ||||
| that.getList(4,1); | |||||
| if (that.data.current_scroll==4){ | |||||
| that.getList(4, 1); | |||||
| }else{ | |||||
| that.getList('5,6,7', 1); | |||||
| } | |||||
| wx.setStorage({ | wx.setStorage({ | ||||
| key: 'couponNum2', | key: 'couponNum2', | ||||
| data: "couponNum3", | data: "couponNum3", | ||||
| @@ -38,6 +42,11 @@ Page({ | |||||
| index: 2 | index: 2 | ||||
| }) | }) | ||||
| }, | }, | ||||
| userule:function(){ | |||||
| wx.navigateTo({ | |||||
| url: '/pages/cardorder/userule/userule', | |||||
| }) | |||||
| }, | |||||
| // 扫一扫去支付 | // 扫一扫去支付 | ||||
| gotoPay: function(e) { | gotoPay: function(e) { | ||||
| let that = this; | let that = this; | ||||
| @@ -24,7 +24,7 @@ | |||||
| </view> | </view> | ||||
| <view class='expiretime'> | <view class='expiretime'> | ||||
| <text class="txt2">{{item.expiredTime}}到期</text> | <text class="txt2">{{item.expiredTime}}到期</text> | ||||
| <text class='txt2 fr'>金额<text class='money'>{{item.remainingAmount/100}}</text>元</text> | |||||
| <text class='txt2 fr'>余额<text class='money'>{{item.remainingAmount/100}}</text>元</text> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view hover-class='active' bindtap='gotoPay' data-remainingAmount="{{item.remainingAmount/100}}" data-cardId="{{item.id}}" data-couponorderstatus="{{item.couponOrderStatus}}" wx:if="{{item.couponOrderStatus==4}}" class="btns">扫一扫付款</view> | <view hover-class='active' bindtap='gotoPay' data-remainingAmount="{{item.remainingAmount/100}}" data-cardId="{{item.id}}" data-couponorderstatus="{{item.couponOrderStatus}}" wx:if="{{item.couponOrderStatus==4}}" class="btns">扫一扫付款</view> | ||||
| @@ -41,6 +41,7 @@ | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view class='userule' bindtap='userule'>适用规则</view> | |||||
| <view class="loading" wx:if="{{loading}}"> | <view class="loading" wx:if="{{loading}}"> | ||||
| <image src="{{loadingUrl}}" mode="widthFix"></image>{{content}} | <image src="{{loadingUrl}}" mode="widthFix"></image>{{content}} | ||||
| </view> | </view> | ||||
| @@ -235,3 +235,14 @@ | |||||
| color: rgba(255, 53, 53, 1); | color: rgba(255, 53, 53, 1); | ||||
| margin-left: 30rpx; | margin-left: 30rpx; | ||||
| } | } | ||||
| .userule { | |||||
| text-align: center; | |||||
| font-size: 28rpx; | |||||
| font-family: PingFang-SC-Regular; | |||||
| font-weight: 400; | |||||
| color: rgba(2, 192, 255, 1); | |||||
| line-height: 44rpx; | |||||
| margin-top: 30rpx; | |||||
| padding-bottom: 30rpx; | |||||
| } | |||||
| @@ -0,0 +1,66 @@ | |||||
| // pages/cardorder/userule/userule.js | |||||
| Page({ | |||||
| /** | |||||
| * 页面的初始数据 | |||||
| */ | |||||
| data: { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面加载 | |||||
| */ | |||||
| onLoad: function (options) { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面初次渲染完成 | |||||
| */ | |||||
| onReady: function () { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面显示 | |||||
| */ | |||||
| onShow: function () { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面隐藏 | |||||
| */ | |||||
| onHide: function () { | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面卸载 | |||||
| */ | |||||
| onUnload: function () { | |||||
| }, | |||||
| /** | |||||
| * 页面相关事件处理函数--监听用户下拉动作 | |||||
| */ | |||||
| onPullDownRefresh: function () { | |||||
| }, | |||||
| /** | |||||
| * 页面上拉触底事件的处理函数 | |||||
| */ | |||||
| onReachBottom: function () { | |||||
| }, | |||||
| /** | |||||
| * 用户点击右上角分享 | |||||
| */ | |||||
| onShareAppMessage: function () { | |||||
| } | |||||
| }) | |||||
| @@ -0,0 +1,3 @@ | |||||
| { | |||||
| "navigationBarTitleText": "使用规则" | |||||
| } | |||||
| @@ -0,0 +1,42 @@ | |||||
| <view class="lists"> | |||||
| <view class="list"> | |||||
| <view class="title"> | |||||
| 1、如何使用xx卡? | |||||
| </view> | |||||
| <view class="content"> | |||||
| 在门店消费后结算时,打开xx小程序,选择“我的”-“卡包”,选择扣款的消费卡,点击卡面上的”付款“,扫描 | |||||
| </view> | |||||
| </view> | |||||
| <view class="list"> | |||||
| <view class="title"> | |||||
| 2、xx卡内余额不够支付最后一次消费额时怎么办? | |||||
| </view> | |||||
| <view class="content"> | |||||
| 建议部分消费额用xx卡支付,部分消费额用微信、支付宝、刷卡或现金支付。 | |||||
| </view> | |||||
| </view> | |||||
| <view class="list"> | |||||
| <view class="title"> | |||||
| 3、购买xx卡后,是否能退? | |||||
| </view> | |||||
| <view class="content"> | |||||
| xx卡一经出售,即完成开卡,不能退款。 | |||||
| </view> | |||||
| </view> | |||||
| <view class="list"> | |||||
| <view class="title"> | |||||
| 4、xx卡会过期吗? | |||||
| </view> | |||||
| <view class="content"> | |||||
| 会过期。请在卡面有效期内将面额使用完毕。 | |||||
| </view> | |||||
| </view> | |||||
| <view class="list"> | |||||
| <view class="title"> | |||||
| 5、注意事项 | |||||
| </view> | |||||
| <view class="content"> | |||||
| 在法律允许的范围内,XX商场保留对上述规则的解释权。 更多详情可至xx商场服务台咨询。 | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| @@ -0,0 +1,14 @@ | |||||
| .list { | |||||
| margin-top: 30rpx; | |||||
| } | |||||
| .lists{ | |||||
| padding: 0 30rpx 36rpx; | |||||
| } | |||||
| .content { | |||||
| font-size: 24rpx; | |||||
| color: rgba(51, 51, 51, 1); | |||||
| line-height: 50rpx; | |||||
| } | |||||
| .title{ | |||||
| font-size: 30rpx; | |||||
| } | |||||
| @@ -7,7 +7,7 @@ | |||||
| </view> | </view> | ||||
| <view class='coupons_info' style='position:relative;z-index:9'> | <view class='coupons_info' style='position:relative;z-index:9'> | ||||
| <view class='fenxiang'> | <view class='fenxiang'> | ||||
| <image class="fenxiang" src='{{fenxiangUrl}}' mode="widthFix"></image> | |||||
| <image class="fenxiang" src='./../../../assets/images/share.png' mode="widthFix"></image> | |||||
| <button class='share user-motto' data-id='{{data.id}}' data-couponId='{{data.couponId}}' data-title='{{data.title}}' id="shareBtn" open-type="share" hover-class="other-button-hover"></button> | <button class='share user-motto' data-id='{{data.id}}' data-couponId='{{data.couponId}}' data-title='{{data.title}}' id="shareBtn" open-type="share" hover-class="other-button-hover"></button> | ||||
| </view> | </view> | ||||
| <view> | <view> | ||||
| @@ -33,20 +33,20 @@ page { | |||||
| .fenxiang { | .fenxiang { | ||||
| position: absolute; | position: absolute; | ||||
| right: 36rpx; | |||||
| right: 28rpx; | |||||
| top: 27rpx; | top: 27rpx; | ||||
| width: 77rpx; | |||||
| width: 108rpx; | |||||
| } | } | ||||
| .fenxiang image { | .fenxiang image { | ||||
| width: 50rpx; | |||||
| width: 108rpx; | |||||
| position: absolute; | position: absolute; | ||||
| top: 0; | top: 0; | ||||
| right: 0; | right: 0; | ||||
| } | } | ||||
| .user-motto { | .user-motto { | ||||
| width: 100rpx; | |||||
| width: 118rpx; | |||||
| border: 0; | border: 0; | ||||
| background: none; | background: none; | ||||
| height: 60rpx; | height: 60rpx; | ||||
| @@ -191,7 +191,7 @@ visibility: hidden; | |||||
| margin-left: 10rpx; | margin-left: 10rpx; | ||||
| } | } | ||||
| .growthbg{ | .growthbg{ | ||||
| margin-top: 40rpx; | |||||
| margin:0 40rpx; | |||||
| padding: 0 30rpx; | padding: 0 30rpx; | ||||
| } | } | ||||
| .growthbg image{ | .growthbg image{ | ||||
| @@ -29,6 +29,6 @@ | |||||
| <view class="canvas-box"> | <view class="canvas-box"> | ||||
| <text class='memberIds'>{{levelName}}</text> | <text class='memberIds'>{{levelName}}</text> | ||||
| <canvas hidden="{{canvasHidden}}" style="width:500rpx;height:460rpx;background:0 0 0 .6;margin:-10rpx auto;overflow:hidden" canvas-id="mycanvas2" /> | <canvas hidden="{{canvasHidden}}" style="width:500rpx;height:460rpx;background:0 0 0 .6;margin:-10rpx auto;overflow:hidden" canvas-id="mycanvas2" /> | ||||
| <button class='button' bindtap='mySpecial' wx:if="{{discountEnable}}">专享折扣</button> | |||||
| <button class='button' bindtap='mySpecial' wx:if="{{discountEnable}}">特享礼遇</button> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| @@ -79,7 +79,7 @@ | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <!-- 如果是消费卡 就显示跳转到首页--> | <!-- 如果是消费卡 就显示跳转到首页--> | ||||
| <view style="margin-top:30rpx;" wx:if="{{order.orderStatus!=0&&order.type==7}}" class="app-border-top"> | |||||
| <!-- <view style="margin-top:30rpx;" wx:if="{{order.orderStatus!=0&&order.type==7}}" class="app-border-top"> | |||||
| <button class='btns' bindtap='gotoUse' hover-class='active'>立即使用</button> | <button class='btns' bindtap='gotoUse' hover-class='active'>立即使用</button> | ||||
| </view> | |||||
| </view> --> | |||||
| </view> | </view> | ||||
| @@ -35,7 +35,6 @@ Page({ | |||||
| gotoPayMoney: function() { | gotoPayMoney: function() { | ||||
| let that = this; | let that = this; | ||||
| // 卡余额充足的时候,才可以付钱 | // 卡余额充足的时候,才可以付钱 | ||||
| console.log(Number(that.data.remainingAmount) >= Number(that.data.inputValue)) | |||||
| if (that.data.inputValue != "" && Number(that.data.remainingAmount) >= Number(that.data.inputValue)) { | if (that.data.inputValue != "" && Number(that.data.remainingAmount) >= Number(that.data.inputValue)) { | ||||
| Http.post({ | Http.post({ | ||||
| url: config.api.cardPayOrder, | url: config.api.cardPayOrder, | ||||
| @@ -95,11 +94,12 @@ Page({ | |||||
| success: (res) => { | success: (res) => { | ||||
| console.log(res) | console.log(res) | ||||
| if (parseInt(res.isEnrolled) <= 0) { | if (parseInt(res.isEnrolled) <= 0) { | ||||
| wx.showModal({ | |||||
| title: '错误', | |||||
| content: '您暂未录入指纹信息,请录入后重试', | |||||
| showCancel: false | |||||
| }) | |||||
| // wx.showModal({ | |||||
| // title: '错误', | |||||
| // content: '您暂未录入指纹信息,请录入后重试', | |||||
| // showCancel: false | |||||
| // }) | |||||
| that.gotoPayMoney(); | |||||
| return | return | ||||
| } | } | ||||
| startSoterAuthentication(); | startSoterAuthentication(); | ||||
| @@ -116,11 +116,12 @@ Page({ | |||||
| }, | }, | ||||
| fail: (err) => { | fail: (err) => { | ||||
| console.error(err); | console.error(err); | ||||
| wx.showModal({ | |||||
| title: '抱歉', | |||||
| content: '您的设备不支持指纹识别', | |||||
| showCancel: false | |||||
| }) | |||||
| // wx.showModal({ | |||||
| // title: '抱歉', | |||||
| // content: '您的设备不支持指纹识别', | |||||
| // showCancel: false | |||||
| // }) | |||||
| that.gotoPayMoney(); | |||||
| } | } | ||||
| }) | }) | ||||
| }, | }, | ||||