| @@ -15,6 +15,8 @@ | |||
| "pages/shop/index/index", | |||
| "pages/couponorder/index/index", | |||
| "pages/couponorder/detail/index", | |||
| "pages/cardorder/index/index", | |||
| "pages/cardorder/detail/index", | |||
| "pages/order/detail/index", | |||
| "pages/order/index/index", | |||
| "pages/success/index", | |||
| @@ -168,7 +168,11 @@ var config = { | |||
| * | |||
| 获取打折商户列表 | |||
| */ | |||
| discountMerchantList:"/mall/discountMerchantList" | |||
| discountMerchantList:"/mall/discountMerchantList", | |||
| /** | |||
| * 卡包分页列表接口 | |||
| */ | |||
| cardorderList:"/couponOrder/cardList" | |||
| }, | |||
| weapp: { | |||
| @@ -0,0 +1,161 @@ | |||
| const util = require("../../../utils/util"); | |||
| const config = require("../../../config/config.js"); | |||
| const Http = require("../../../utils/HttpBasics"); | |||
| let app = getApp(); | |||
| //券详情页面 | |||
| Page({ | |||
| data: { | |||
| code: "", | |||
| data: { | |||
| salePrice: null, | |||
| price: null, | |||
| usePrice: null | |||
| }, | |||
| createDate: "", | |||
| expiredTime: "", | |||
| updateDate: "", | |||
| //存储计时器 | |||
| setInter: "", | |||
| staticGamedata: {}, | |||
| showIf: false, | |||
| }, | |||
| onUnload:function(){ | |||
| let that = this; | |||
| clearInterval(that.data.setInter); | |||
| }, | |||
| onHide:function(){ | |||
| let that = this; | |||
| clearInterval(that.data.setInter); | |||
| }, | |||
| gotogame: function () { | |||
| let that = this; | |||
| wx.navigateTo({ | |||
| url: '/pages/game/index?url=' + that.data.staticGamedata.url + "&id=" + that.data.staticGamedata.id + "&gameId=" + that.data.staticGamedata.gameId, | |||
| }) | |||
| }, | |||
| // 获取游戏 | |||
| getStaticGame(token) { | |||
| let _this = this; | |||
| Http.get({ | |||
| url: config.api.getGame, | |||
| data: { | |||
| triggleAction: 4 | |||
| } | |||
| }).then(res => { | |||
| if (res.data.id) { | |||
| _this.setData({ | |||
| showIf: true | |||
| }) | |||
| } | |||
| _this.setData({ | |||
| staticGamedata: res.data | |||
| }) | |||
| }) | |||
| .catch(err => { | |||
| wx.showToast({ | |||
| title: err.errMsg, | |||
| icon: 'none', | |||
| duration: 2000, | |||
| mask: false | |||
| }); | |||
| }) | |||
| }, | |||
| // onShow(options) { | |||
| // setTimeout(function () { | |||
| // wx.setScreenBrightness({ | |||
| // value: 0.7, | |||
| // }) | |||
| // }, 200) | |||
| // }, | |||
| onLoad: function (options) { | |||
| let that = this; | |||
| that.setData({ | |||
| code: options.quancode, | |||
| couponorderstatus: options.couponorderstatus | |||
| }); | |||
| //获得优惠券的详情 | |||
| that.data.setInter = setInterval(function () { | |||
| if ( | |||
| options.quancode && | |||
| that.data.couponorderstatus == 0 | |||
| ) { | |||
| Http.get({ | |||
| url: config.api.couponOrderDetail, | |||
| data: { | |||
| couponOrderId: options.quancode | |||
| } | |||
| }).then(res => { | |||
| console.log(res); | |||
| that.setData({ | |||
| couponorderstatus: res.data.couponOrderStatus, | |||
| data: res.data | |||
| }); | |||
| if (res.data.couponOrderStatus == 1) { | |||
| /** | |||
| * 动态改变上一级页面的核销状态 | |||
| */ | |||
| that.getStaticGame() | |||
| var pages = getCurrentPages(); | |||
| var prevPage = pages[pages.length - 2]; //上一个页面 | |||
| //直接调用上一个页面的setData()方法,把数据存到上一个页面中去 | |||
| prevPage.setData({ | |||
| mystatus: res.data.couponOrderStatus | |||
| }); | |||
| } | |||
| that.setData({ | |||
| expiredTime: util.formatTime(that.data.data.expiredTime, "yyyy-MM-dd hh:mm:ss"), | |||
| updateDate: util.formatTime(that.data.data.updateDate, "yyyy-MM-dd hh:mm:ss"), | |||
| createDate: util.formatTime(that.data.data.createDate, "yyyy-MM-dd hh:mm:ss") | |||
| }); | |||
| }) | |||
| .catch(err => { | |||
| wx.showToast({ | |||
| title: err.errMsg, | |||
| icon: 'none', | |||
| duration: 2000, | |||
| mask: false | |||
| }); | |||
| }) | |||
| } | |||
| }, 2000); | |||
| /** | |||
| * 页面需要初始渲染的效果 | |||
| */ | |||
| Http.get({ | |||
| url: config.api.couponOrderDetail, | |||
| data: { | |||
| couponOrderId: options.quancode | |||
| } | |||
| }).then(res => { | |||
| that.setData({ | |||
| couponorderstatus: res.data.couponOrderStatus, | |||
| data: res.data | |||
| }); | |||
| that.setData({ | |||
| expiredTime: util.formatTime(that.data.data.expiredTime, "yyyy-MM-dd hh:mm:ss"), | |||
| updateDate: util.formatTime(that.data.data.updateDate, "yyyy-MM-dd hh:mm:ss"), | |||
| createDate: util.formatTime(that.data.data.createDate, "yyyy-MM-dd hh:mm:ss") | |||
| }); | |||
| util.barcode("barcode", options.quancode, 510, 100); | |||
| util.qrcode("qrcode", options.quancode, 350, 350); | |||
| }) | |||
| .catch(err => { | |||
| wx.showToast({ | |||
| title: err.errMsg, | |||
| icon: 'none', | |||
| duration: 2000, | |||
| mask: false | |||
| }); | |||
| }) | |||
| }, | |||
| phone: function (e) { | |||
| let that = this; | |||
| if (e.currentTarget.dataset.merchantlinkphone) { | |||
| wx.makePhoneCall({ | |||
| phoneNumber: e.currentTarget.dataset.merchantlinkphone | |||
| }); | |||
| } | |||
| } | |||
| }); | |||
| @@ -0,0 +1,3 @@ | |||
| { | |||
| "navigationBarTitleText": "使用优惠券" | |||
| } | |||
| @@ -0,0 +1,100 @@ | |||
| <view class="container page"> | |||
| <view class="coupon_detail clearfix"> | |||
| <view class="fl wmfl"> | |||
| <image src="{{data.coverImg}}" mode='aspectFill' /> | |||
| </view> | |||
| <view class="fr"> | |||
| <text class="title">{{data.title}}</text> | |||
| <view class="time">{{data.subTitle}}</view> | |||
| <view class="money"> | |||
| <text>¥{{data.salePrice/100}}</text> | |||
| <del>¥{{data.price/100}}</del> | |||
| <text wx:if="{{data.usePrice!=undefined}}" class="manjian">满{{data.usePrice/100}}元可用</text> | |||
| <text wx:if="{{data.usePrice==undefined}}" class="manjian">仅限本店使用</text> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="timevalidity"> | |||
| <text>有效期至:</text> | |||
| <text>{{expiredTime}}</text> | |||
| </view> | |||
| <image class='line' mode="widthFix" src="./../../../assets/img/line.png"></image> | |||
| <view class="zhuangtai"> | |||
| <image wx:if="{{data.couponOrderStatus==1}}" src="./../../../assets/img/wm01.jpg" mode='widthFix'></image> | |||
| <image wx:if="{{data.couponOrderStatus==2}}" src="./../../../assets/img/wm02.jpg" mode='widthFix'></image> | |||
| <image wx:if="{{data.couponOrderStatus==3}}" src="./../../../assets/img/wm03.jpg" mode='widthFix'></image> | |||
| <view class="panel" wx:if="{{data.couponOrderStatus==0}}"> | |||
| <view class="barcode"> | |||
| <canvas canvas-id="barcode" /> | |||
| </view> | |||
| <view class="qrcode"> | |||
| <canvas canvas-id="qrcode" /> | |||
| </view> | |||
| <view class="barnum buy"> | |||
| <text>优惠券码:</text>{{code}}</view> | |||
| </view> | |||
| </view> | |||
| <view class="posi"> | |||
| <view class="tit"> | |||
| 适用门店 | |||
| </view> | |||
| <view wx:for="{{data.merchantVoList}}" wx:key="{{index}}"> | |||
| <view class='posi_logo'> | |||
| <view> | |||
| <image src='{{item.merchantImgUrl}}'></image> | |||
| </view> | |||
| <view> | |||
| <text>{{item.merchantName}}</text> | |||
| <text>{{item.addr}}{{item.buildingName}}{{item.floorName}}</text> | |||
| </view> | |||
| <view bindtap='phone' data-merchantLinkPhone='{{item.merchantLinkPhone}}'> | |||
| <image class="tel" src="./../../../assets/img/tel.jpg" mode="widthFix" /> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <image class='line' mode="widthFix" src="./../../../assets/img/line.png"></image> | |||
| <view class='note'> | |||
| <view style='height:60rpx;line-height:60rpx;'> | |||
| <text class="shiji">实付金额:</text> | |||
| <text class='moneys'>{{data.couponPrice/100}}</text> | |||
| <text style='font-size:24rpx;text-align:right;color: #FF4949;'>元</text> | |||
| </view> | |||
| <view wx:if="{{data.couponOrderStatus==0}}"> | |||
| <text>下单时间:</text> | |||
| <text>{{createDate}}</text> | |||
| </view> | |||
| <view wx:if="{{data.couponOrderStatus==1}}"> | |||
| <text>核销时间:</text> | |||
| <text>{{updateDate}}</text> | |||
| </view> | |||
| <view wx:if="{{data.couponOrderStatus==2}}"> | |||
| <text>过期时间:</text> | |||
| <text>{{updateDate}}</text> | |||
| </view> | |||
| <view wx:if="{{data.couponOrderStatus==3}}"> | |||
| <text>退款时间:</text> | |||
| <text>{{updateDate}}</text> | |||
| </view> | |||
| <view> | |||
| <text>订单编号:</text> | |||
| <text>{{data.orderId}}</text> | |||
| </view> | |||
| <!-- <view><text>手机号</text><text>2018.05.25</text></view> --> | |||
| </view> | |||
| <view class='notes' style="border-bottom:0"> | |||
| <view> | |||
| <text>购买须知</text> | |||
| </view> | |||
| <view> | |||
| <text><text class='spot'></text>{{data.remark}}</text> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class='game' bindtap="gotogame" wx-if="{{showIf}}"> | |||
| <view class='game-entry'> | |||
| <image src="./../../../assets/img/new.png" class='gameimg' mode='widthFix'></image> | |||
| </view> | |||
| </view> | |||
| @@ -0,0 +1,356 @@ | |||
| .container { | |||
| background: #fff; | |||
| width: 92%; | |||
| margin: 8% auto 6%; | |||
| border-radius: 16rpx; | |||
| } | |||
| page { | |||
| background: #02c0ff; | |||
| height: auto !important; | |||
| padding-bottom: 20rpx; | |||
| } | |||
| .panel, .zhuangtai image { | |||
| position: relative; | |||
| width: 600rpx; | |||
| display: block; | |||
| border-radius: 10rpx; | |||
| margin: 38rpx auto 0; | |||
| padding: 0; | |||
| z-index: 10000000000; | |||
| } | |||
| .pane2 { | |||
| background: #fff; | |||
| opacity: 0.6; | |||
| } | |||
| .pane2 image { | |||
| width: 500rpx; | |||
| display: block; | |||
| margin: 40rpx auto 0; | |||
| } | |||
| .buy { | |||
| background: #fff; | |||
| height: 88rpx; | |||
| width: 98%; | |||
| color: #7e7e7e; | |||
| line-height: 88rpx; | |||
| border-radius: 16rpx; | |||
| border: 1px solid #eee; | |||
| } | |||
| .barcode { | |||
| height: 100rpx; | |||
| width: 510rpx; | |||
| margin: 0 auto; | |||
| } | |||
| .barnum { | |||
| background: #fff; | |||
| height: 88rpx; | |||
| width: 100%; | |||
| margin: 0 auto; | |||
| line-height: 88rpx; | |||
| border: 2rpx solid #ccc; | |||
| border-radius: 10px; | |||
| font-size: 36rpx; | |||
| color: #333; | |||
| letter-spacing: 0; | |||
| text-align: center; | |||
| } | |||
| .barnum text { | |||
| display: inline-block; | |||
| vertical-align: top; | |||
| font-size: 24rpx; | |||
| color: #999; | |||
| letter-spacing: 0; | |||
| margin-right: 6rpx; | |||
| } | |||
| .barcode > canvas { | |||
| width: 510rpx; | |||
| height: 100rpx; | |||
| } | |||
| .qrcode { | |||
| position: relative; | |||
| height: 350rpx; | |||
| width: 350rpx; | |||
| display: flex; | |||
| flex-direction: column; | |||
| justify-content: flex-end; | |||
| align-items: center; | |||
| margin: 0 auto; | |||
| } | |||
| .qrcode > canvas { | |||
| width: 350rpx; | |||
| height: 350rpx; | |||
| } | |||
| .coupon_detail { | |||
| position: relative; | |||
| } | |||
| .coupon_detail .wmfl { | |||
| position: absolute; | |||
| width: 120rpx; | |||
| height: 120rpx; | |||
| left: 0; | |||
| right: 0; | |||
| margin: auto; | |||
| top: -50rpx; | |||
| border-radius: 50%; | |||
| overflow: hidden; | |||
| } | |||
| .coupon_detail image { | |||
| display: block; | |||
| width: 100%; | |||
| height: 100%; | |||
| } | |||
| .coupon_detail .fr { | |||
| width: 100%; | |||
| text-align: center; | |||
| } | |||
| .coupon_detail .title { | |||
| font-size: 32rpx; | |||
| color: #1f2d3d; | |||
| letter-spacing: 0; | |||
| text-align: center; | |||
| display: block; | |||
| padding-top: 92rpx; | |||
| line-height: 45rpx; | |||
| } | |||
| .line { | |||
| height: 10rpx; | |||
| display: block; | |||
| width: 100%; | |||
| margin-top: 20rpx; | |||
| } | |||
| .time { | |||
| font-size: 26rpx; | |||
| color: #999; | |||
| letter-spacing: 0; | |||
| text-align: center; | |||
| line-height: 37rpx; | |||
| padding: 0 10rpx; | |||
| } | |||
| .time text { | |||
| font-size: 26rpx; | |||
| color: red; | |||
| } | |||
| .money text { | |||
| color: red; | |||
| font-size: 36rpx; | |||
| } | |||
| .money del { | |||
| color: #999; | |||
| font-size: 26rpx; | |||
| text-decoration: line-through; | |||
| margin-left: 20rpx; | |||
| } | |||
| .clearfix:after { | |||
| content: "."; | |||
| display: block; | |||
| height: 0; | |||
| clear: both; | |||
| visibility: hidden; | |||
| } | |||
| .timevalidity { | |||
| text-align: center; | |||
| } | |||
| .timevalidity text:nth-of-type(1) { | |||
| font-size: 22rpx; | |||
| color: #999; | |||
| letter-spacing: 0; | |||
| text-align: left; | |||
| } | |||
| .timevalidity text:nth-of-type(2) { | |||
| font-size: 22rpx; | |||
| color: #999; | |||
| letter-spacing: 0; | |||
| text-align: left; | |||
| } | |||
| .posi { | |||
| width: 100%; | |||
| display: flex; | |||
| flex-direction: column; | |||
| background: #fff; | |||
| position: relative; | |||
| } | |||
| .posi_logo { | |||
| width: 92%; | |||
| padding: 30rpx 4% 0; | |||
| display: flex; | |||
| position: relative; | |||
| } | |||
| .shiji { | |||
| font-size: 24rpx !important; | |||
| color: #919191 !important; | |||
| letter-spacing: 0; | |||
| } | |||
| .posi_logo view:nth-child(1) { | |||
| width: 126rpx; | |||
| height: 126rpx; | |||
| overflow: hidden; | |||
| flex: 2; | |||
| border: 2rpx solid #e7e7e7; | |||
| border-radius: 16rpx; | |||
| } | |||
| .posi_logo view:nth-child(1) image { | |||
| width: 100%; | |||
| height: 100%; | |||
| } | |||
| .posi_logo view:nth-child(2) { | |||
| position: relative; | |||
| display: flex; | |||
| flex-direction: column; | |||
| flex: 8; | |||
| padding-left: 30rpx; | |||
| } | |||
| .posi_logo view:nth-child(2) text:nth-child(1) { | |||
| font-size: 30rpx; | |||
| width: 320rpx; | |||
| white-space: nowrap; | |||
| text-overflow: ellipsis; | |||
| overflow: hidden; | |||
| } | |||
| .posi_logo view:nth-child(2) text:nth-child(2) { | |||
| font-size: 24rpx; | |||
| color: #b8b8b8; | |||
| padding-top: 10rpx; | |||
| width: 386rpx; | |||
| white-space: wrap; | |||
| text-overflow: ellipsis; | |||
| overflow: hidden; | |||
| height: 78rpx; | |||
| } | |||
| .tit { | |||
| padding: 53rpx 0 0; | |||
| text-indent: 30rpx; | |||
| font-size: 24rpx; | |||
| color: #919191; | |||
| letter-spacing: 0; | |||
| } | |||
| .tel { | |||
| position: absolute; | |||
| right: 30rpx; | |||
| top: 0; | |||
| bottom: 0; | |||
| margin: auto; | |||
| width: 50rpx; | |||
| height: 50rpx; | |||
| z-index: 10; | |||
| } | |||
| .notes view:nth-child(1) { | |||
| width: 92%; | |||
| height: 87rpx; | |||
| padding: 0 4%; | |||
| line-height: 87rpx; | |||
| background: #fff; | |||
| } | |||
| .notes view:nth-child(1) text { | |||
| font-size: 24rpx; | |||
| color: #919191; | |||
| letter-spacing: 0; | |||
| } | |||
| .notes view:nth-child(2) { | |||
| width: 92%; | |||
| padding: 0 4%; | |||
| background: #fff; | |||
| display: flex; | |||
| flex-direction: column; | |||
| padding-top: 2%; | |||
| } | |||
| .notes view:nth-child(2) > text { | |||
| font-size: 24rpx; | |||
| color: #333; | |||
| letter-spacing: 0; | |||
| line-height: 42rpx; | |||
| } | |||
| .notes { | |||
| border-bottom-left-radius: 16rpx; | |||
| border-bottom-right-radius: 16rpx; | |||
| padding-bottom: 30rpx; | |||
| } | |||
| .note view { | |||
| height: 48rpx; | |||
| line-height: 48rpx; | |||
| } | |||
| .note view text { | |||
| display: inline-block; | |||
| } | |||
| .note text:nth-of-type(1) { | |||
| width: 22%; | |||
| text-indent: 30rpx; | |||
| text-align: left; | |||
| font-size: 24rpx; | |||
| color: #333; | |||
| letter-spacing: 1.16rpx; | |||
| } | |||
| .note text:nth-of-type(2) { | |||
| width: 67%; | |||
| font-size: 24rpx; | |||
| color: #333; | |||
| letter-spacing: 1.16rpx; | |||
| } | |||
| .manjian { | |||
| margin-left: 26rpx; | |||
| color: #666 !important; | |||
| font-size: 26rpx !important; | |||
| } | |||
| .moneys { | |||
| font-size: 40rpx !important; | |||
| color: #ff4949 !important; | |||
| letter-spacing: 0; | |||
| text-align: right; | |||
| } | |||
| .game-entry{ | |||
| width: 690rpx; | |||
| height: 140rpx; | |||
| margin: 10rpx auto 0; | |||
| } | |||
| .gameimg{ | |||
| display: block; | |||
| width: 100%; | |||
| height: 140rpx; | |||
| } | |||
| @@ -0,0 +1,134 @@ | |||
| const util = require("../../../utils/util.js"); | |||
| const config = require("../../../config/config.js"); | |||
| const Http = require("../../../utils/HttpBasics"); | |||
| let app = getApp(); | |||
| Page({ | |||
| data: { | |||
| tabs: [{ | |||
| key: 0, | |||
| name: "使用中" | |||
| }, | |||
| { | |||
| key: 1, | |||
| name: "已失效" | |||
| } | |||
| ], | |||
| list: [], | |||
| current: "0", | |||
| current_scroll: "0", | |||
| page: 1, | |||
| allow_load: true, | |||
| loading: true, //"上拉加载"的变量,默认false,隐藏 | |||
| content: "", | |||
| mystatus: '', | |||
| showPage:false | |||
| }, | |||
| onLoad() { | |||
| this.getList(0, 1); | |||
| }, | |||
| onShow: function () { | |||
| let that = this; | |||
| wx.setStorage({ | |||
| key: 'couponNum', | |||
| data: "couponNum1", | |||
| }) | |||
| wx.hideTabBarRedDot({ | |||
| index:2 | |||
| }) | |||
| }, | |||
| //点击跳转到券详情页面 | |||
| gotouse: function (e) { | |||
| if (this.data.mystatus == '' || this.data.mystatus == 'undefined') { | |||
| var mystatus = e.currentTarget.dataset.couponorderstatus; | |||
| } else { | |||
| var mystatus = this.data.mystatus; | |||
| } | |||
| wx.navigateTo({ | |||
| url: `/pages/couponorder/detail/index?quancode=${ | |||
| e.currentTarget.dataset.quancode}&couponorderstatus=${mystatus}` | |||
| }); | |||
| }, | |||
| getList(key, pageNum) { | |||
| var that = this; | |||
| if (that.data.allow_load) { | |||
| that.setData({ | |||
| loading: true, | |||
| content: "小主,我在玩命加载中...", | |||
| }); | |||
| Http.get({ | |||
| url: config.api.cardorderList, | |||
| data: { | |||
| pageNum: pageNum, | |||
| pageSize: 6, | |||
| couponType:7 | |||
| } | |||
| }) | |||
| .then(res => { | |||
| if(res.code == 200){ | |||
| that.setData({ | |||
| showPage:true | |||
| }) | |||
| } | |||
| res.data.list.map(file => { | |||
| file.expiredTime = util.fmtDate(file.expiredTime); | |||
| }); | |||
| setTimeout(function () { | |||
| that.setData({ | |||
| loading: false | |||
| }); | |||
| }, 1400); | |||
| if (pageNum >= res.data.pages) { | |||
| that.setData({ | |||
| allow_load: false | |||
| }); | |||
| } | |||
| if (pageNum == 1) { | |||
| that.setData({ | |||
| list: [] | |||
| }) | |||
| } | |||
| var tmpArr = that.data.list; | |||
| tmpArr.push.apply(tmpArr, res.data.list); | |||
| that.setData({ | |||
| list: tmpArr | |||
| }) | |||
| }) | |||
| .catch(err => { | |||
| wx.showModal({ | |||
| title: '提示', | |||
| content: err.errMsg, | |||
| showCancel:false | |||
| }) | |||
| }) | |||
| } else { | |||
| that.setData({ | |||
| loading: true, | |||
| content: "——— 再拉裤子就掉了啦 ———" | |||
| }); | |||
| setTimeout(function () { | |||
| that.setData({ | |||
| loading: false | |||
| }); | |||
| }, 1400); | |||
| } | |||
| }, | |||
| handleChangeScroll({ | |||
| detail | |||
| }) { | |||
| this.setData({ | |||
| list: [], | |||
| allow_load: true, | |||
| current_scroll: detail.key, | |||
| page:1, | |||
| }); | |||
| this.getList(detail.key, 1); | |||
| }, | |||
| onReachBottom: function () { | |||
| var that = this; | |||
| that.data.page++; | |||
| that.setData({ | |||
| page: that.data.page | |||
| }); | |||
| that.getList(that.data.current_scroll, that.data.page); | |||
| } | |||
| }); | |||
| @@ -0,0 +1,7 @@ | |||
| { | |||
| "usingComponents": { | |||
| "i-tab": "../../../dist/tab/index", | |||
| "i-tabs": "../../../dist/tabs/index" | |||
| }, | |||
| "navigationBarTitleText": "我的卡包" | |||
| } | |||
| @@ -0,0 +1,44 @@ | |||
| <view class="market" wx:if="{{showPage}}"> | |||
| <!-- 券包 我的优惠券 --> | |||
| <i-tabs class='tabs' current="{{ current_scroll }}" scroll bindchange="handleChangeScroll"> | |||
| <i-tab class='i-tab' wx:for="{{tabs}}" wx:key="unique" key="{{item.key}}" title="{{item.name}}"></i-tab> | |||
| </i-tabs> | |||
| <view style='padding-top:120rpx;'> | |||
| <view class="nocoupon" wx:if="{{list.length==0}}"> | |||
| <image src="./../../../assets/img/coupon.png" mode="widthFix" /> | |||
| <text class="txt001">请您敬请期待</text> | |||
| <text class='txt002'>我们正在筹备一大波优惠活动</text> | |||
| <navigator class='nav' url="/pages/index/index" open-type="switchTab" hover-class="other-navigator-hover"> | |||
| <button hover-class='active'>前往首页看看</button> | |||
| </navigator> | |||
| </view> | |||
| <view class='section' wx:for='{{list}}' wx:key='{{index}}' bindtap="gotouse" data-quancode="{{item.id}}" data-couponorderstatus="{{item.couponOrderStatus}}"> | |||
| <view class='mms'> | |||
| <view class='detail_msg'> | |||
| <view class='logo'> | |||
| <image mode="aspectFill" src='{{item.coverImg}}'></image> | |||
| </view> | |||
| <view class='info'> | |||
| <view class='title'> | |||
| <text>{{item.title}}</text> | |||
| </view> | |||
| <view class='subtitle'> | |||
| <text>{{item.subTitle}}</text> | |||
| </view> | |||
| <view hover-class='active' wx:if="{{item.couponOrderStatus==0}}" class="btns">去使用</view> | |||
| <view hover-class='active' wx:elif="{{item.couponOrderStatus==1||item.couponOrderStatus==2||item.couponOrderStatus==3}}" class="btns">查看</view> | |||
| </view> | |||
| </view> | |||
| <image class="liness" src='./../../../assets/img/liness.png' mode="widthFix"></image> | |||
| <view class='expiretime'> | |||
| <text class="txt1">有效期至:</text> | |||
| <text class="txt2">{{item.expiredTime}}</text> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class="loading" wx:if="{{loading}}"> | |||
| <image src="./../../../assets/img/loading.gif" mode="widthFix"></image>{{content}} | |||
| </view> | |||
| </view> | |||
| </view> | |||
| @@ -0,0 +1,205 @@ | |||
| .market { | |||
| width: 100%; | |||
| height: 100%; | |||
| /* background: #f5f5f5; */ | |||
| } | |||
| .tabs { | |||
| width: 100% !important; | |||
| height: 88rpx; | |||
| text-align: center; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| right: 0; | |||
| z-index: 100000; | |||
| } | |||
| .i-tab { | |||
| width: 25% !important; | |||
| display: inline-block; | |||
| } | |||
| .section { | |||
| position: relative; | |||
| } | |||
| .mms { | |||
| width: 690rpx; | |||
| height: 170rpx !important; | |||
| background: #fff; | |||
| padding: 30rpx 0 0; | |||
| margin: 0 auto 40rpx; | |||
| border-radius: 16rpx; | |||
| border-top: 8rpx solid #02b7ff; | |||
| box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.10); | |||
| } | |||
| .detail_msg { | |||
| display: flex; | |||
| padding-bottom: 26rpx; | |||
| } | |||
| .expiretime { | |||
| display: block; | |||
| width: 100%; | |||
| text-align: left; | |||
| text-indent: 1em; | |||
| height: 40rpx; | |||
| line-height: 36rpx; | |||
| font-size: 22rpx; | |||
| color: #333; | |||
| letter-spacing: 0; | |||
| } | |||
| .liness { | |||
| display: block; | |||
| width: 100%; | |||
| } | |||
| .logo { | |||
| width: 60rpx; | |||
| height: 60rpx; | |||
| border: 1px solid #f8f8f8; | |||
| border-radius: 50rpx; | |||
| display: block; | |||
| margin-left: 20rpx; | |||
| } | |||
| .logo image { | |||
| width: 60rpx; | |||
| height: 60rpx; | |||
| border-radius: 50%; | |||
| } | |||
| .info view:nth-child(1) { | |||
| display: flex; | |||
| justify-content: space-between; | |||
| padding: 0 2%; | |||
| } | |||
| .info { | |||
| width: 100%; | |||
| } | |||
| .info view:nth-child(1) text { | |||
| font-size: 32rpx; | |||
| line-height: 32rpx; | |||
| height: 32rpx; | |||
| color: #333; | |||
| letter-spacing: 0; | |||
| width: 400rpx; | |||
| display: inline-block; | |||
| white-space: nowrap; | |||
| text-overflow: ellipsis; | |||
| overflow: hidden; | |||
| } | |||
| .info view:nth-child(2) { | |||
| padding-left: 2%; | |||
| font-size: 22rpx; | |||
| color: #333; | |||
| letter-spacing: 0; | |||
| margin-top: 6rpx; | |||
| display: inline-block; | |||
| white-space: nowrap; | |||
| text-overflow: ellipsis; | |||
| overflow: hidden; | |||
| width: 400rpx; | |||
| } | |||
| .info view:nth-child(3) { | |||
| margin-left: 20rpx; | |||
| } | |||
| .btns { | |||
| position: absolute; | |||
| right: 57rpx; | |||
| top: 38rpx; | |||
| width: 120rpx; | |||
| height: 48rpx; | |||
| line-height: 48rpx; | |||
| text-align: center; | |||
| border: 2rpx solid #02c0ff; | |||
| border-radius: 60rpx; | |||
| color: #02c0ff; | |||
| font-size: 28rpx; | |||
| } | |||
| .active { | |||
| color: #fff; | |||
| background: #02c0ff; | |||
| } | |||
| .txt1 { | |||
| font-size: 22rpx; | |||
| color: #333; | |||
| letter-spacing: 0; | |||
| } | |||
| .nocoupon image { | |||
| width: 300rpx; | |||
| display: block; | |||
| margin: 3% auto 0; | |||
| } | |||
| .txt001 { | |||
| display: block; | |||
| line-height: 48rpx; | |||
| font-size: 34rpx; | |||
| color: #333; | |||
| letter-spacing: 0; | |||
| text-align: center; | |||
| } | |||
| .txt002 { | |||
| display: block; | |||
| margin-top: 1%; | |||
| font-size: 28rpx; | |||
| color: #999; | |||
| letter-spacing: 0; | |||
| line-height: 40rpx; | |||
| text-align: center; | |||
| } | |||
| .nocoupon button { | |||
| background: #00c0ff; | |||
| color: #fff; | |||
| font-style: 30rpx; | |||
| width: 100%; | |||
| border-radius: 60rpx; | |||
| } | |||
| .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; | |||
| } | |||
| .active { | |||
| opacity: 0.6; | |||
| } | |||
| .nav { | |||
| position: absolute; | |||
| bottom: 3.3%; | |||
| left: 0; | |||
| right: 0; | |||
| margin: auto; | |||
| width: 670rpx; | |||
| border-radius: 60rpx; | |||
| background: #02c0ff; | |||
| font-size: 32px; | |||
| color: #fff; | |||
| text-align: center; | |||
| line-height: 32px; | |||
| } | |||
| @@ -54,7 +54,17 @@ | |||
| <navigator url="/pages/couponorder/index/index"> | |||
| <view class="user-btn app-border-bottom"> | |||
| <view> | |||
| <image class='icons' style='width:44rpx;' src="./../../assets/img/quans.png" mode='widthFix'></image>券包</view> | |||
| <image class='icons' style='width:44rpx;' src="./../../assets/img/quans.png" mode='widthFix'></image>我的券包</view> | |||
| <view> | |||
| <text class="couponnum" wx:if="{{couponNum=='couponNum'}}"></text> | |||
| <text class="iconfont icon-right"></text> | |||
| </view> | |||
| </view> | |||
| </navigator> | |||
| <navigator url="/pages/cardorder/index/index"> | |||
| <view class="user-btn app-border-bottom"> | |||
| <view> | |||
| <image class='icons' style='width:44rpx;' src="./../../assets/img/quans.png" mode='widthFix'></image>我的卡包</view> | |||
| <view> | |||
| <text class="couponnum" wx:if="{{couponNum=='couponNum'}}"></text> | |||
| <text class="iconfont icon-right"></text> | |||