| @@ -619,20 +619,6 @@ Page({ | |||||
| this.setData({ | this.setData({ | ||||
| mallList: mallList | mallList: mallList | ||||
| }) | }) | ||||
| // if (res.data && res.data.length) { | |||||
| // let merchantVoList = res.data | |||||
| // let idList = [] | |||||
| // merchantVoList.map(item => { | |||||
| // idList.push(item.id) | |||||
| // }) | |||||
| // this.setData({ | |||||
| // idList: idList | |||||
| // }) | |||||
| // this.getCouponList(idList) //获取推荐列表 | |||||
| // } | |||||
| // this.setData({ | |||||
| // merchantVoList: res.data | |||||
| // }) | |||||
| }) | }) | ||||
| }, | }, | ||||
| @@ -6,94 +6,111 @@ const util = require("../../../utils/util"); | |||||
| Page({ | Page({ | ||||
| data: { | data: { | ||||
| navigationBarHeight, | navigationBarHeight, | ||||
| boatLsit:[ | |||||
| { | |||||
| name:"未使用", | |||||
| value:"0" | |||||
| boatLsit: [{ | |||||
| name: "未使用", | |||||
| value: "0" | |||||
| }, | }, | ||||
| { | { | ||||
| name:"已使用", | |||||
| value:"1" | |||||
| name: "已使用", | |||||
| value: "1" | |||||
| }, | }, | ||||
| { | { | ||||
| name:"已过期", | |||||
| value:"2" | |||||
| name: "已过期", | |||||
| value: "2" | |||||
| }, | }, | ||||
| { | { | ||||
| name:"已退款", | |||||
| value:"3" | |||||
| name: "已退款", | |||||
| value: "3" | |||||
| }, | }, | ||||
| ], | ], | ||||
| boatFlag:"0", | |||||
| content:"", | |||||
| boatFlag: "0", | |||||
| content: "", | |||||
| loading: false, //"上拉加载"的变量,默认false,隐藏 | loading: false, //"上拉加载"的变量,默认false,隐藏 | ||||
| pageNum:1, | |||||
| pageNum: 1, | |||||
| allow_load: true, | allow_load: true, | ||||
| list:[], | |||||
| list: [], | |||||
| shopList: [], | |||||
| index: 0, | |||||
| mallTenantId: '' | |||||
| }, | }, | ||||
| setBoatFlag(e){ | |||||
| setBoatFlag(e) { | |||||
| let index = e.currentTarget.dataset.index | let index = e.currentTarget.dataset.index | ||||
| console.log(index); | console.log(index); | ||||
| this.setData({ | this.setData({ | ||||
| boatFlag:index, | |||||
| pageNum:1, | |||||
| list:[], | |||||
| boatFlag: index, | |||||
| pageNum: 1, | |||||
| list: [], | |||||
| allow_load: true, | allow_load: true, | ||||
| loading: false, //"上拉加载"的变量,默认false,隐藏 | loading: false, //"上拉加载"的变量,默认false,隐藏 | ||||
| }) | }) | ||||
| this.getList() | this.getList() | ||||
| }, | }, | ||||
| getList(){ | |||||
| bindPickerChange(e) { | |||||
| const index = e.detail.value | |||||
| const mallTenantId = this.data.shopList[index].tenantId | |||||
| tt.setStorageSync('mallTenantId', mallTenantId) | |||||
| tt.setStorageSync('mallIndex', index) | |||||
| this.setData({ | |||||
| index: index, | |||||
| mallTenantId: mallTenantId, | |||||
| allow_load: true | |||||
| }); | |||||
| console.log(this.data.mallTenantId); | |||||
| this.getList(this.data.boatFlag, 1); | |||||
| }, | |||||
| getList() { | |||||
| let that = this | let that = this | ||||
| if (that.data.allow_load) { | if (that.data.allow_load) { | ||||
| that.setData({ | that.setData({ | ||||
| loading: true, | loading: true, | ||||
| content: '小主,我在玩命加载中...' | content: '小主,我在玩命加载中...' | ||||
| }) | }) | ||||
| const mallTenantId = tt.getStorageSync('mallTenantId') | |||||
| Http.get({ | Http.get({ | ||||
| url:config.api.couponOrderList, | |||||
| data:{ | |||||
| pageNum:that.data.pageNum, | |||||
| url: config.api.couponOrderList, | |||||
| data: { | |||||
| pageNum: that.data.pageNum, | |||||
| pageSize: 10, | pageSize: 10, | ||||
| couponOrderStatus:that.data.boatFlag=="all"?"":that.data.boatFlag, | |||||
| couponOrderStatus: that.data.boatFlag == "all" ? "" : that.data.boatFlag, | |||||
| mallTenantId: mallTenantId || that.data.mallTenantId | |||||
| } | } | ||||
| }).then(res=>{ | |||||
| if(that.data.pageNum==1){ | |||||
| }).then(res => { | |||||
| if (that.data.pageNum == 1) { | |||||
| that.setData({ | that.setData({ | ||||
| list: [] | list: [] | ||||
| }) | }) | ||||
| } | } | ||||
| let tempArr= that.data.list | |||||
| if(tempArr.length>0){ | |||||
| tempArr.map(item=>{ | |||||
| let tempArr = that.data.list | |||||
| if (tempArr.length > 0) { | |||||
| tempArr.map(item => { | |||||
| item.expiredTime = util.formatTime(item.expiredTime, "yyyy-MM-dd "); | item.expiredTime = util.formatTime(item.expiredTime, "yyyy-MM-dd "); | ||||
| }) | }) | ||||
| } | } | ||||
| if(that.data.pageNum>=res.data.pages){ | |||||
| if (that.data.pageNum >= res.data.pages) { | |||||
| that.setData({ | that.setData({ | ||||
| allow_load: false | allow_load: false | ||||
| }) | }) | ||||
| } | } | ||||
| if(that.data.pageNum>1){//分页 | |||||
| if (that.data.pageNum > 1) { //分页 | |||||
| that.setData({ | that.setData({ | ||||
| list: res.data.list?[...tempArr ,...res.data.list]:tempArr, | |||||
| loading:false | |||||
| list: res.data.list ? [...tempArr, ...res.data.list] : tempArr, | |||||
| loading: false | |||||
| }) | }) | ||||
| }else{ | |||||
| let tempLsit = res.data.list?res.data.list:[] | |||||
| if(tempLsit.length>0){ | |||||
| tempLsit.map(item=>{ | |||||
| } else { | |||||
| let tempLsit = res.data.list ? res.data.list : [] | |||||
| if (tempLsit.length > 0) { | |||||
| tempLsit.map(item => { | |||||
| item.expiredTime = util.formatTime(item.expiredTime, "yyyy-MM-dd"); | item.expiredTime = util.formatTime(item.expiredTime, "yyyy-MM-dd"); | ||||
| }) | }) | ||||
| } | } | ||||
| that.setData({ | that.setData({ | ||||
| list: tempLsit, | list: tempLsit, | ||||
| loading:false | |||||
| loading: false | |||||
| }) | }) | ||||
| } | } | ||||
| }).catch(err => { | }).catch(err => { | ||||
| @@ -102,7 +119,7 @@ Page({ | |||||
| icon: "none" | icon: "none" | ||||
| }); | }); | ||||
| }) | }) | ||||
| }else { | |||||
| } else { | |||||
| that.setData({ | that.setData({ | ||||
| loading: true, | loading: true, | ||||
| content: "——— 再拉裤子就掉了啦 ———" | content: "——— 再拉裤子就掉了啦 ———" | ||||
| @@ -113,21 +130,31 @@ Page({ | |||||
| }) | }) | ||||
| }, 1400) | }, 1400) | ||||
| } | } | ||||
| }, | }, | ||||
| onLoad: function (options) { | onLoad: function (options) { | ||||
| Http.get({ | |||||
| url: '/mall/subMall?isAll=1', | |||||
| }).then(res => { | |||||
| this.setData({ | |||||
| shopList: res.data, | |||||
| mallTenantId: tt.getStorageSync('mallTenantId') || res.data[0].tenantId | |||||
| }); | |||||
| console.log(this.data.shopList, 'list'); | |||||
| }).catch(err => { | |||||
| console.log(err, 'err'); | |||||
| }) | |||||
| }, | }, | ||||
| onReachBottom(){//触底 | |||||
| onReachBottom() { //触底 | |||||
| console.log(111); | console.log(111); | ||||
| this.setData({ | this.setData({ | ||||
| pageNum:this.data.pageNum+1 | |||||
| pageNum: this.data.pageNum + 1 | |||||
| }) | }) | ||||
| this.getList() | this.getList() | ||||
| }, | |||||
| onShow:function(){ | |||||
| }, | |||||
| onShow: function () { | |||||
| this.getList() | this.getList() | ||||
| } | |||||
| } | |||||
| }) | }) | ||||
| @@ -2,7 +2,7 @@ | |||||
| <!-- <navbar back home text="我的券包" background='#fff' color="#000"></navbar> | <!-- <navbar back home text="我的券包" background='#fff' color="#000"></navbar> | ||||
| <view style="height:{{navigationBarHeight}} "></view> --> | <view style="height:{{navigationBarHeight}} "></view> --> | ||||
| <view class="boatBoxf" > | |||||
| <view class="boatBoxf"> | |||||
| <view class="boatBox"> | <view class="boatBox"> | ||||
| <view class="boatItemBox" tt:for="{{boatLsit}}" tt:key="index" bindtap="setBoatFlag" data-index="{{index}}"> | <view class="boatItemBox" tt:for="{{boatLsit}}" tt:key="index" bindtap="setBoatFlag" data-index="{{index}}"> | ||||
| <view class="{{boatFlag==item.value? 'boatTitleA':'boatTitle'}}">{{item.name}}</view> | <view class="{{boatFlag==item.value? 'boatTitleA':'boatTitle'}}">{{item.name}}</view> | ||||
| @@ -12,6 +12,18 @@ | |||||
| </view> | </view> | ||||
| <view style="height:90rpx "></view> | <view style="height:90rpx "></view> | ||||
| <view class="picker" tt:if="{{shopList.length>1}}"> | |||||
| <picker mode="selector" bindchange="bindPickerChange" value="{{index}}" range="{{shopList}}" range-key="name" | |||||
| disabled="{{false}}"> | |||||
| <view class="inside"> | |||||
| <view class="picker_item"> | |||||
| {{shopList[index].name}} | |||||
| </view> | |||||
| <image class="img" src="/assets/itemImg/chevron.png"></image> | |||||
| </view> | |||||
| </picker> | |||||
| </view> | |||||
| <view class="ticketList" tt:for="{{list}}" tt:key="{{index}}"> | <view class="ticketList" tt:for="{{list}}" tt:key="{{index}}"> | ||||
| <view class="ticketItem"> | <view class="ticketItem"> | ||||
| <view class="shopImg"> | <view class="shopImg"> | ||||
| @@ -42,4 +54,4 @@ | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <tabbar tt:if="{{ifshowtab}}"/> | |||||
| <tabbar tt:if="{{ifshowtab}}" /> | |||||
| @@ -1,66 +1,91 @@ | |||||
| .boatBoxf{ | |||||
| .boatBoxf { | |||||
| width: 100%; | width: 100%; | ||||
| height: 90rpx; | height: 90rpx; | ||||
| position: fixed; | position: fixed; | ||||
| top: 0; | top: 0; | ||||
| left: 0; | left: 0; | ||||
| } | } | ||||
| .boatBox{ | |||||
| width: 100%; | |||||
| height: 90rpx; | |||||
| display: flex; | |||||
| justify-content: space-around; | |||||
| background-color: #fff; | |||||
| } | |||||
| .boatTitle{ | |||||
| font-size: 30rpx; | |||||
| text-align: center; | |||||
| height: 80rpx; | |||||
| line-height: 80rpx; | |||||
| color: #999; | |||||
| } | |||||
| .boatTitleA{ | |||||
| font-size: 32rpx; | |||||
| text-align: center; | |||||
| height: 80rpx; | |||||
| line-height: 80rpx; | |||||
| font-weight: 500; | |||||
| } | |||||
| .boatA{ | |||||
| width: 80rpx; | |||||
| height: 6rpx; | |||||
| background-color: #fb3e5c; | |||||
| margin: 0 auto; | |||||
| border-radius: 20rpx; | |||||
| } | |||||
| .ticketList{ | |||||
| width: 90%; | |||||
| margin: 20rpx auto ; | |||||
| overflow: hidden; | |||||
| } | |||||
| .ticketItem{ | |||||
| float: left; | |||||
| background-color: #fff; | |||||
| border-radius: 20rpx; | |||||
| width: 80%; | |||||
| height: 140rpx; | |||||
| overflow: hidden; | |||||
| } | |||||
| .useBtn{ | |||||
| float: left; | |||||
| border-radius: 20rpx; | |||||
| width: 20%; | |||||
| height: 140rpx; | |||||
| line-height: 140rpx; | |||||
| text-align: center; | |||||
| color: #FFFFFF; | |||||
| font-size: 30rpx; | |||||
| background: linear-gradient(127deg,rgba(252,177,74,1) 0%,rgba(254,70,20,1) 100%) | |||||
| } | |||||
| .nouseBtn{ | |||||
| .boatBox { | |||||
| width: 100%; | |||||
| height: 90rpx; | |||||
| display: flex; | |||||
| justify-content: space-around; | |||||
| background-color: #fff; | |||||
| } | |||||
| .boatTitle { | |||||
| font-size: 30rpx; | |||||
| text-align: center; | |||||
| height: 80rpx; | |||||
| line-height: 80rpx; | |||||
| color: #999; | |||||
| } | |||||
| .boatTitleA { | |||||
| font-size: 32rpx; | |||||
| text-align: center; | |||||
| height: 80rpx; | |||||
| line-height: 80rpx; | |||||
| font-weight: 500; | |||||
| } | |||||
| .picker { | |||||
| margin-top: 25rpx; | |||||
| padding: 25rpx 45rpx; | |||||
| margin-bottom: 15rpx; | |||||
| background-color: #fff; | |||||
| } | |||||
| .picker .inside { | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| } | |||||
| .picker .inside .img { | |||||
| width: 20rpx; | |||||
| height: 40rpx; | |||||
| } | |||||
| .boatA { | |||||
| width: 80rpx; | |||||
| height: 6rpx; | |||||
| background-color: #fb3e5c; | |||||
| margin: 0 auto; | |||||
| border-radius: 20rpx; | |||||
| } | |||||
| .ticketList { | |||||
| width: 90%; | |||||
| margin: 20rpx auto; | |||||
| overflow: hidden; | |||||
| } | |||||
| .ticketItem { | |||||
| float: left; | |||||
| background-color: #fff; | |||||
| border-radius: 20rpx; | |||||
| width: 80%; | |||||
| height: 140rpx; | |||||
| overflow: hidden; | |||||
| } | |||||
| .useBtn { | |||||
| float: left; | |||||
| border-radius: 20rpx; | |||||
| width: 20%; | |||||
| height: 140rpx; | |||||
| line-height: 140rpx; | |||||
| text-align: center; | |||||
| color: #FFFFFF; | |||||
| font-size: 30rpx; | |||||
| background: linear-gradient(127deg, rgba(252, 177, 74, 1) 0%, rgba(254, 70, 20, 1) 100%) | |||||
| } | |||||
| .nouseBtn { | |||||
| float: left; | float: left; | ||||
| border-radius: 20rpx; | border-radius: 20rpx; | ||||
| width: 20%; | width: 20%; | ||||
| @@ -72,122 +97,129 @@ | |||||
| background: #CECECE; | background: #CECECE; | ||||
| } | } | ||||
| .shopImg{ | |||||
| width: 88rpx; | |||||
| height: 88rpx; | |||||
| border: 1px solid #f8f8f8; | |||||
| border-radius: 50rpx; | |||||
| margin-left: 20rpx; | |||||
| margin-top: 30rpx; | |||||
| float: left; | |||||
| .shopImg { | |||||
| width: 88rpx; | |||||
| height: 88rpx; | |||||
| border: 1px solid #f8f8f8; | |||||
| border-radius: 50rpx; | |||||
| margin-left: 20rpx; | |||||
| margin-top: 30rpx; | |||||
| float: left; | |||||
| } | } | ||||
| .shopImg image{ | |||||
| .shopImg image { | |||||
| width: 100%; | width: 100%; | ||||
| height: 100%; | height: 100%; | ||||
| border: 1px solid #f8f8f8; | border: 1px solid #f8f8f8; | ||||
| border-radius: 50rpx; | border-radius: 50rpx; | ||||
| } | } | ||||
| .ticketData{ | |||||
| margin-left: 20rpx; | |||||
| overflow: hidden; | |||||
| float: left; | |||||
| .ticketData { | |||||
| margin-left: 20rpx; | |||||
| overflow: hidden; | |||||
| float: left; | |||||
| } | } | ||||
| .ticketTitle{ | |||||
| font-size: 32rpx; | |||||
| margin-top: 30rpx; | |||||
| white-space: nowrap; | |||||
| text-overflow: ellipsis; | |||||
| overflow: hidden; | |||||
| width: 270rpx; | |||||
| .ticketTitle { | |||||
| font-size: 32rpx; | |||||
| margin-top: 30rpx; | |||||
| white-space: nowrap; | |||||
| text-overflow: ellipsis; | |||||
| overflow: hidden; | |||||
| width: 270rpx; | |||||
| } | } | ||||
| .date{ | |||||
| font-size: 22rpx; | |||||
| margin-top: 10rpx; | |||||
| .date { | |||||
| font-size: 22rpx; | |||||
| margin-top: 10rpx; | |||||
| } | } | ||||
| .date::before{ | |||||
| content: "有效期至:"; | |||||
| font-size: 26rpx; | |||||
| .date::before { | |||||
| content: "有效期至:"; | |||||
| font-size: 26rpx; | |||||
| } | } | ||||
| .loading { | .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; | |||||
| } | |||||
| .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; | |||||
| } | |||||
| .wait{ | |||||
| display: inline-block; | |||||
| width: 123rpx !important; | |||||
| overflow: visible!important; | |||||
| font-size: 28rpx; | |||||
| color: #FD832D; | |||||
| letter-spacing: 0; | |||||
| text-align: right; | |||||
| line-height: 28rpx!important; | |||||
| float: right; | |||||
| margin: 20rpx; | |||||
| } | |||||
| .sucess { | |||||
| display: inline-block; | |||||
| width: 123rpx !important; | |||||
| /* overflow: hidden; */ | |||||
| font-family:PingFangSC-Regular; | |||||
| font-size: 28rpx; | |||||
| font-weight:400; | |||||
| color: #2C8DFF; | |||||
| letter-spacing: 0; | |||||
| text-align: right; | |||||
| line-height: 26px; | |||||
| float: right; | |||||
| margin: 20rpx; | |||||
| } | |||||
| .close { | |||||
| display: inline-block; | |||||
| width: 123rpx !important; | |||||
| overflow: hidden; | |||||
| font-size: 28rpx; | |||||
| color: #999; | |||||
| letter-spacing: 0; | |||||
| text-align: right; | |||||
| line-height: 28rpx; | |||||
| float: right; | |||||
| margin: 20rpx; | |||||
| } | |||||
| 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; | |||||
| } | |||||
| .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; | |||||
| } | |||||
| .wait { | |||||
| display: inline-block; | |||||
| width: 123rpx !important; | |||||
| overflow: visible !important; | |||||
| font-size: 28rpx; | |||||
| color: #FD832D; | |||||
| letter-spacing: 0; | |||||
| text-align: right; | |||||
| line-height: 28rpx !important; | |||||
| float: right; | |||||
| margin: 20rpx; | |||||
| } | |||||
| .sucess { | |||||
| display: inline-block; | |||||
| width: 123rpx !important; | |||||
| /* overflow: hidden; */ | |||||
| font-family: PingFangSC-Regular; | |||||
| font-size: 28rpx; | |||||
| font-weight: 400; | |||||
| color: #2C8DFF; | |||||
| letter-spacing: 0; | |||||
| text-align: right; | |||||
| line-height: 26px; | |||||
| float: right; | |||||
| margin: 20rpx; | |||||
| } | |||||
| .close { | |||||
| display: inline-block; | |||||
| width: 123rpx !important; | |||||
| overflow: hidden; | |||||
| font-size: 28rpx; | |||||
| color: #999; | |||||
| letter-spacing: 0; | |||||
| text-align: right; | |||||
| line-height: 28rpx; | |||||
| float: right; | |||||
| margin: 20rpx; | |||||
| } | |||||
| @@ -21,11 +21,9 @@ | |||||
| </view> | </view> | ||||
| <image class="img" src="/assets/itemImg/chevron.png"></image> | <image class="img" src="/assets/itemImg/chevron.png"></image> | ||||
| </view> | </view> | ||||
| </picker> | </picker> | ||||
| </view> | </view> | ||||
| <view> | <view> | ||||
| <view tt:for='{{list}}' tt:if="{{list.length!=0}}" class='section' tt:key='index'> | <view tt:for='{{list}}' tt:if="{{list.length!=0}}" class='section' tt:key='index'> | ||||
| <view class='detail_top'> | <view class='detail_top'> | ||||