| @@ -1,7 +1,7 @@ | |||||
| { | { | ||||
| "pages": [ | "pages": [ | ||||
| "pages/scanPay/scanPay", | |||||
| "pages/index/index", | "pages/index/index", | ||||
| "pages/scanPay/scanPay", | |||||
| "pages/edit/edit", | "pages/edit/edit", | ||||
| "pages/cartest/cartest", | "pages/cartest/cartest", | ||||
| "pages/actdetail/actdetail", | "pages/actdetail/actdetail", | ||||
| @@ -16,7 +16,7 @@ | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view> | <view> | ||||
| <text class='title'>使用门店:</text> | |||||
| <text class='title'>适用门店:</text> | |||||
| <view class='posi'> | <view class='posi'> | ||||
| <view class='posi_logo' wx:for="{{cardDetail.merchantVoList}}" wx:key="index"> | <view class='posi_logo' wx:for="{{cardDetail.merchantVoList}}" wx:key="index"> | ||||
| <view> | <view> | ||||
| @@ -31,7 +31,7 @@ | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view> | <view> | ||||
| <text class="title">交易明细:</text> | |||||
| <text wx:if="{{data.length>0}}" class="title">交易明细:</text> | |||||
| <view wx:for="{{data}}" wx:key="{{index}}"> | <view wx:for="{{data}}" wx:key="{{index}}"> | ||||
| <view class='record clearfix record1'> | <view class='record clearfix record1'> | ||||
| <text>{{item.merchantName}}</text> | <text>{{item.merchantName}}</text> | ||||
| @@ -30,7 +30,7 @@ | |||||
| <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> | ||||
| <view hover-class='active' wx:if="{{item.couponOrderStatus!=4}}" class="btns clearfix"> | <view hover-class='active' wx:if="{{item.couponOrderStatus!=4}}" class="btns clearfix"> | ||||
| <text class='txtstatus fl' wx:if="{{item.couponOrderStatus == 5}}">已过期</text> | <text class='txtstatus fl' wx:if="{{item.couponOrderStatus == 5}}">已过期</text> | ||||
| <text class='txtstatus fl' wx:if="{{item.couponOrderStatus == 6}}">余额不足</text> | |||||
| <text class='txtstatus fl' wx:if="{{item.couponOrderStatus == 6}}">余额已用完</text> | |||||
| <text class='txtstatus fl' wx:if="{{item.couponOrderStatus == 7}}">已线下退款</text> | <text class='txtstatus fl' wx:if="{{item.couponOrderStatus == 7}}">已线下退款</text> | ||||
| <button class='buyagain fr' bindtap='gotoBuy'>再次购买</button> | <button class='buyagain fr' bindtap='gotoBuy'>再次购买</button> | ||||
| </view> | </view> | ||||
| @@ -37,7 +37,7 @@ | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view class='expect' wx:if="{{list.length==0}}"> | <view class='expect' wx:if="{{list.length==0}}"> | ||||
| <image src='./../../assets/images/shixiao.png' mode='widthFix'></image> | |||||
| <image src='./../../assets/images/gift.png' mode='widthFix'></image> | |||||
| <text>请您敬请期待</text> | <text>请您敬请期待</text> | ||||
| <text>我们正在筹备一大堆优惠活动</text> | <text>我们正在筹备一大堆优惠活动</text> | ||||
| </view> | </view> | ||||
| @@ -10,7 +10,9 @@ Page({ | |||||
| data: { | data: { | ||||
| merChant: {}, | merChant: {}, | ||||
| focus: true, | focus: true, | ||||
| inputValue: '' | |||||
| inputValue: '', | |||||
| cardList: [], | |||||
| showModel: false, | |||||
| }, | }, | ||||
| /** | /** | ||||
| @@ -23,8 +25,6 @@ Page({ | |||||
| cardid: options.cardid, | cardid: options.cardid, | ||||
| remainingAmount: options.remainingAmount | remainingAmount: options.remainingAmount | ||||
| }) | }) | ||||
| console.log(that.data.remainingAmount) | |||||
| console.log("------------------remainingAmount-------------------") | |||||
| }, | }, | ||||
| bindKeyInput(e) { | bindKeyInput(e) { | ||||
| console.log(e) | console.log(e) | ||||
| @@ -34,99 +34,160 @@ Page({ | |||||
| }, | }, | ||||
| gotoPayMoney: function() { | gotoPayMoney: function() { | ||||
| let that = this; | let that = this; | ||||
| Http.post({ | |||||
| url: config.api.cardPayOrder, | |||||
| data: { | |||||
| cardId: that.data.cardid, | |||||
| merchantCode: that.data.merChant.merchant_id, | |||||
| totalFee: that.data.inputValue | |||||
| } | |||||
| }) | |||||
| .then(res => { | |||||
| console.log(res); | |||||
| wx.navigateTo({ | |||||
| url: '/pages/paySuccess/paySuccess', | |||||
| // 卡余额充足的时候,才可以付钱 | |||||
| console.log(Number(that.data.remainingAmount) >= Number(that.data.inputValue)) | |||||
| if (that.data.inputValue != "" && Number(that.data.remainingAmount) >= Number(that.data.inputValue)) { | |||||
| Http.post({ | |||||
| url: config.api.cardPayOrder, | |||||
| data: { | |||||
| cardId: that.data.cardid, | |||||
| merchantCode: that.data.merChant.merchant_id, | |||||
| totalFee: that.data.inputValue | |||||
| } | |||||
| }) | }) | ||||
| }) | |||||
| .catch(err => { | |||||
| wx.showModal({ | |||||
| title: "抱歉", | |||||
| content: err.message, | |||||
| showCancel: false | |||||
| .then(res => { | |||||
| console.log(res); | |||||
| if(res.code==200){ | |||||
| that.startAuth(); | |||||
| } | |||||
| }) | }) | ||||
| .catch(err => { | |||||
| wx.showModal({ | |||||
| title: "抱歉", | |||||
| content: err.message, | |||||
| showCancel: false | |||||
| }) | |||||
| }) | |||||
| } else if (that.data.inputValue == "") { | |||||
| wx.showModal({ | |||||
| title: '抱歉', | |||||
| content: '请输入金额', | |||||
| showCancel: false | |||||
| }) | |||||
| } else if (that.data.inputValue != "" && Number(that.data.remainingAmount) < Number(that.data.inputValue)) { | |||||
| // wx.showModal({ | |||||
| // title: '抱歉', | |||||
| // content: '余额不足', | |||||
| // showCancel: false | |||||
| // }) | |||||
| that.setData({ | |||||
| showModel: true | |||||
| }) | }) | ||||
| that.getList(); | |||||
| } | |||||
| }, | }, | ||||
| // 指纹识别 | // 指纹识别 | ||||
| startAuth() { | startAuth() { | ||||
| let that = this; | let that = this; | ||||
| // 卡余额充足的时候,才可以付钱 | |||||
| if (that.data.inputValue != "" && that.data.remainingAmount >= that.data.inputValue) { | |||||
| const startSoterAuthentication = () => { | |||||
| wx.startSoterAuthentication({ | |||||
| requestAuthModes: [AUTH_MODE], | |||||
| challenge: 'test', | |||||
| authContent: '小程序支付', | |||||
| success: (res) => { | |||||
| this.gotoPayMoney(); | |||||
| }, | |||||
| fail: (err) => { | |||||
| const startSoterAuthentication = () => { | |||||
| wx.startSoterAuthentication({ | |||||
| requestAuthModes: [AUTH_MODE], | |||||
| challenge: 'test', | |||||
| authContent: '请验证已有的指纹以继续', | |||||
| success: (res) => { | |||||
| wx.navigateTo({ | |||||
| url: '/pages/paySuccess/paySuccess', | |||||
| }) | |||||
| }, | |||||
| fail: (err) => { | |||||
| } | |||||
| }) | |||||
| } | |||||
| const checkIsEnrolled = () => { | |||||
| wx.checkIsSoterEnrolledInDevice({ | |||||
| checkAuthMode: AUTH_MODE, | |||||
| success: (res) => { | |||||
| console.log(res) | |||||
| if (parseInt(res.isEnrolled) <= 0) { | |||||
| wx.showModal({ | |||||
| title: '错误', | |||||
| content: '您暂未录入指纹信息,请录入后重试', | |||||
| showCancel: false | |||||
| }) | |||||
| return | |||||
| } | |||||
| startSoterAuthentication(); | |||||
| }, | |||||
| fail: (err) => { | |||||
| console.error(err) | |||||
| } | |||||
| }) | |||||
| } | |||||
| wx.checkIsSupportSoterAuthentication({ | |||||
| } | |||||
| }) | |||||
| } | |||||
| const checkIsEnrolled = () => { | |||||
| wx.checkIsSoterEnrolledInDevice({ | |||||
| checkAuthMode: AUTH_MODE, | |||||
| success: (res) => { | success: (res) => { | ||||
| console.log(res) | console.log(res) | ||||
| checkIsEnrolled() | |||||
| if (parseInt(res.isEnrolled) <= 0) { | |||||
| wx.showModal({ | |||||
| title: '错误', | |||||
| content: '您暂未录入指纹信息,请录入后重试', | |||||
| showCancel: false | |||||
| }) | |||||
| return | |||||
| } | |||||
| startSoterAuthentication(); | |||||
| }, | }, | ||||
| fail: (err) => { | fail: (err) => { | ||||
| console.error(err); | |||||
| wx.showModal({ | |||||
| title: '错误', | |||||
| content: '您的设备不支持指纹识别', | |||||
| showCancel: false | |||||
| }) | |||||
| console.error(err) | |||||
| } | } | ||||
| }) | }) | ||||
| } else if (that.data.inputValue == ""){ | |||||
| wx.showModal({ | |||||
| title: '抱歉', | |||||
| content: '请输入金额', | |||||
| showCancel: false | |||||
| } | |||||
| wx.checkIsSupportSoterAuthentication({ | |||||
| success: (res) => { | |||||
| console.log(res) | |||||
| checkIsEnrolled() | |||||
| }, | |||||
| fail: (err) => { | |||||
| console.error(err); | |||||
| wx.showModal({ | |||||
| title: '抱歉', | |||||
| content: '您的设备不支持指纹识别', | |||||
| showCancel: false | |||||
| }) | |||||
| } | |||||
| }) | |||||
| }, | |||||
| gotonewcard: function() { | |||||
| wx.navigateTo({ | |||||
| url: '/pages/discountCardList/discountCardList' | |||||
| }) | |||||
| this.setData({ | |||||
| showModel: false | |||||
| }) | |||||
| }, | |||||
| getList() { | |||||
| var that = this; | |||||
| var data = { | |||||
| pageNum: 1, | |||||
| pageSize: 100, | |||||
| couponType: "7", | |||||
| couponOrderStatus: 4 | |||||
| } | |||||
| Http.get({ | |||||
| url: config.api.cardorderList, | |||||
| data: data | |||||
| }) | }) | ||||
| } else if (that.data.inputValue != ""&&that.data.remainingAmount < that.data.inputValue){ | |||||
| wx.showModal({ | |||||
| title: '抱歉', | |||||
| content: '余额不足', | |||||
| showCancel:false | |||||
| .then(res => { | |||||
| console.log(res) | |||||
| if (res.code == 200) { | |||||
| res.data.list.map(file => { | |||||
| file.merchantVoList.map(files => { | |||||
| console.log(files.id) | |||||
| if (files.id == that.data.merChant.merchant_id) { | |||||
| file.flag = true | |||||
| } | |||||
| }) | |||||
| }) | |||||
| that.setData({ | |||||
| showPage: true, | |||||
| cardList: res.data.list | |||||
| }) | |||||
| } | |||||
| }) | |||||
| .catch(err => { | |||||
| wx.showModal({ | |||||
| title: '提示', | |||||
| content: err.errMsg, | |||||
| showCancel: false | |||||
| }) | |||||
| }) | }) | ||||
| } | |||||
| }, | }, | ||||
| /** | |||||
| * 生命周期函数--监听页面显示 | |||||
| */ | |||||
| onShow: function() { | |||||
| check: function(e) { | |||||
| let ids = e.currentTarget.dataset.id; | |||||
| this.setData({ | |||||
| ids: ids, | |||||
| cardId: ids, | |||||
| remainingAmount: e.currentTarget.dataset.remainingamount | |||||
| }) | |||||
| }, | |||||
| showModel: function() { | |||||
| this.setData({ | |||||
| showModel: false | |||||
| }) | |||||
| }, | }, | ||||
| /** | /** | ||||
| @@ -8,88 +8,35 @@ | |||||
| <view class='money'> | <view class='money'> | ||||
| <text class='icon'>¥</text> | <text class='icon'>¥</text> | ||||
| <input bindinput="bindKeyInput" class='num' type="digit" focus placeholder="" /> | <input bindinput="bindKeyInput" class='num' type="digit" focus placeholder="" /> | ||||
| <button bindtap='startAuth' hover-class='active'>确认付款</button> | |||||
| <button bindtap='gotoPayMoney' hover-class='active'>确认付款</button> | |||||
| </view> | </view> | ||||
| <view class='model'> | |||||
| <view class='model' wx:if="{{showModel}}"> | |||||
| <view class='zhezhao'></view> | <view class='zhezhao'></view> | ||||
| <view class='card-model'> | <view class='card-model'> | ||||
| <view class='card-top'> | |||||
| <view class='card-top' bindtap='showModel'> | |||||
| 余额不足,请选择其他优惠卡支付 | 余额不足,请选择其他优惠卡支付 | ||||
| </view> | </view> | ||||
| <view class='card-content'> | <view class='card-content'> | ||||
| <scroll-view | |||||
| scroll-y | |||||
| style="height: 500rpx;" | |||||
| bindscrolltoupper="upper" | |||||
| bindscrolltolower="lower" | |||||
| bindscroll="scroll" | |||||
| scroll-into-view="{{toView}}" | |||||
| scroll-top="{{scrollTop}}" | |||||
| > | |||||
| <view class='card-items'> | |||||
| <scroll-view scroll-y style="height: 500rpx;" bindscroll="scroll" scroll-into-view="{{toView}}" scroll-top="{{scrollTop}}"> | |||||
| <view class='card-items {{item.remainingAmount/100>=inputValue&&item.flag?"":"opcacity"}}' wx:for="{{cardList}}" wx:key="{{index}}" data-remainingAmount='{{item.remainingAmount/100}}' data-id="{{item.id}}" bindtap='check'> | |||||
| <view class='card-items-left'> | <view class='card-items-left'> | ||||
| <view class='card-items-left-img'><image src=''></image></view> | |||||
| <view class='card-items-left-text'>万达标准卡</view> | |||||
| <view class='card-items-left-img'> | |||||
| <image src='{{item.coverImg}}'></image> | |||||
| </view> | |||||
| <view class='card-items-left-text'>{{item.title}}</view> | |||||
| </view> | </view> | ||||
| <view class='card-items-right'> | <view class='card-items-right'> | ||||
| <view class='card-items-right-text'>余额:2000</view> | |||||
| <view class='card-items-right-radio'><image src=''></image></view> | |||||
| </view> | |||||
| </view> | |||||
| <view class='card-items'> | |||||
| <view class='card-items-left'> | |||||
| <view class='card-items-left-img'><image src=''></image></view> | |||||
| <view class='card-items-left-text'>万达标准卡</view> | |||||
| </view> | |||||
| <view class='card-items-right'> | |||||
| <view class='card-items-right-text'>余额:2000</view> | |||||
| <view class='card-items-right-radio'><image src=''></image></view> | |||||
| </view> | |||||
| </view> | |||||
| <view class='card-items'> | |||||
| <view class='card-items-left'> | |||||
| <view class='card-items-left-img'><image src=''></image></view> | |||||
| <view class='card-items-left-text'>万达标准卡</view> | |||||
| </view> | |||||
| <view class='card-items-right'> | |||||
| <view class='card-items-right-text'>余额:2000</view> | |||||
| <view class='card-items-right-radio'><image src=''></image></view> | |||||
| </view> | |||||
| </view> | |||||
| <view class='card-items'> | |||||
| <view class='card-items-left'> | |||||
| <view class='card-items-left-img'><image src=''></image></view> | |||||
| <view class='card-items-left-text'>万达标准卡</view> | |||||
| </view> | |||||
| <view class='card-items-right'> | |||||
| <view class='card-items-right-text'>余额:2000</view> | |||||
| <view class='card-items-right-radio'><image src=''></image></view> | |||||
| </view> | |||||
| </view> | |||||
| <view class='card-items'> | |||||
| <view class='card-items-left'> | |||||
| <view class='card-items-left-img'><image src=''></image></view> | |||||
| <view class='card-items-left-text'>万达标准卡</view> | |||||
| </view> | |||||
| <view class='card-items-right'> | |||||
| <view class='card-items-right-text'>余额:2000</view> | |||||
| <view class='card-items-right-radio'><image src=''></image></view> | |||||
| </view> | |||||
| </view> | |||||
| <view class='card-items'> | |||||
| <view class='card-items-left'> | |||||
| <view class='card-items-left-img'><image src=''></image></view> | |||||
| <view class='card-items-left-text'>万达标准卡</view> | |||||
| </view> | |||||
| <view class='card-items-right'> | |||||
| <view class='card-items-right-text'>余额:2000</view> | |||||
| <view class='card-items-right-radio'><image src=''></image></view> | |||||
| <view class='card-items-right-text'>余额:{{item.remainingAmount/100}}元</view> | |||||
| <view class='card-items-right-radio' class='icons'> | |||||
| <image wx:if="{{item.id != ids}}" src='./../../assets/images/no.png' mode='widthFix'></image> | |||||
| <image wx:if="{{item.id == ids&&item.remainingAmount/100>=inputValue&&item.flag}}" src='./../../assets/images/yes.png' mode='widthFix'></image> | |||||
| </view> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </scroll-view> | </scroll-view> | ||||
| </view> | </view> | ||||
| <view class='card-bottom'> | <view class='card-bottom'> | ||||
| <button type='primary' class='checkcard-box'>购买新卡</button> | |||||
| <button type='primary' bindtap='gotonewcard' class='checkcard-box'>购买新卡</button> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| @@ -81,7 +81,7 @@ | |||||
| .card-top{ | .card-top{ | ||||
| height: 75rpx; | height: 75rpx; | ||||
| width: 100%; | width: 100%; | ||||
| background: rgb(200, 89, 99); | |||||
| background: #E67663; | |||||
| line-height: 75rpx; | line-height: 75rpx; | ||||
| text-align: center; | text-align: center; | ||||
| font-size:30rpx; | font-size:30rpx; | ||||
| @@ -96,22 +96,31 @@ | |||||
| .card-content image{ | .card-content image{ | ||||
| width: 64rpx; | width: 64rpx; | ||||
| height: 64rpx; | height: 64rpx; | ||||
| border-radius:10rpx; | |||||
| position: absolute; | |||||
| left: 20rpx; | |||||
| top: 0; | |||||
| bottom: 0; | |||||
| margin: auto; | |||||
| } | } | ||||
| .card-items{ | .card-items{ | ||||
| position: relative; | |||||
| height: 130rpx; | height: 130rpx; | ||||
| line-height: 130rpx; | line-height: 130rpx; | ||||
| overflow: hidden; | overflow: hidden; | ||||
| width: 94%; | width: 94%; | ||||
| margin: 0 auto; | margin: 0 auto; | ||||
| border-bottom: 1rpx solid #cecece; | |||||
| border-bottom: 1rpx solid #eee; | |||||
| } | } | ||||
| .card-items-left{ | .card-items-left{ | ||||
| width: 50%; | width: 50%; | ||||
| float: left; | float: left; | ||||
| font-size: 30rpx; | |||||
| } | } | ||||
| .card-items-right{ | .card-items-right{ | ||||
| width: 50%; | width: 50%; | ||||
| float: left; | |||||
| float: right; | |||||
| font-size: 30rpx; | |||||
| } | } | ||||
| .card-items-left-img{ | .card-items-left-img{ | ||||
| width: 30%; | width: 30%; | ||||
| @@ -133,6 +142,21 @@ | |||||
| width: 20%; | width: 20%; | ||||
| } | } | ||||
| .checkcard-box{ | .checkcard-box{ | ||||
| width: 80%; | |||||
| width: 84%; | |||||
| background: #02C0FF!important; | background: #02C0FF!important; | ||||
| } | |||||
| .opcacity{ | |||||
| opacity: .2!important; | |||||
| } | |||||
| .icons{ | |||||
| width: 40rpx; | |||||
| height: 40rpx; | |||||
| position: absolute; | |||||
| top: 0; | |||||
| bottom: 0; | |||||
| right: 20rpx; | |||||
| margin: auto; | |||||
| } | |||||
| .icons image{ | |||||
| width:100%; | |||||
| } | } | ||||
| @@ -5,7 +5,7 @@ | |||||
| <view class="title">以下为商城会员对应门店的优惠折扣</view> | <view class="title">以下为商城会员对应门店的优惠折扣</view> | ||||
| </view> | </view> | ||||
| <view class='cards clearfix'> | <view class='cards clearfix'> | ||||
| <view class='card' wx:for="{{discountMerchantList}}" wx:key="{{index}}"> | |||||
| <view class='card' wx:for="{{discountMerchantList}}" wx:key="{{index}}" wx:if="{{item.vipDiscountRate1/1000!=10}}"> | |||||
| <view class='txt01'> | <view class='txt01'> | ||||
| <view class="triangle"> | <view class="triangle"> | ||||
| <text><i>></i></text> | <text><i>></i></text> | ||||