| @@ -1,6 +1,8 @@ | |||||
| { | { | ||||
| "pages": [ | "pages": [ | ||||
| "pages/index/index", | "pages/index/index", | ||||
| "pages/bargain/bargainDatail/bargainDatail", | |||||
| "pages/bargain/bargain", | |||||
| "pages/cardorder/index/index", | "pages/cardorder/index/index", | ||||
| "pages/scanPay/scanPay", | "pages/scanPay/scanPay", | ||||
| "pages/edit/edit", | "pages/edit/edit", | ||||
| @@ -49,6 +51,11 @@ | |||||
| "wx192b7d2e8dcbefd0", | "wx192b7d2e8dcbefd0", | ||||
| "wxc07f9d67923d676d" | "wxc07f9d67923d676d" | ||||
| ], | ], | ||||
| "permission": { | |||||
| "scope.userLocation": { | |||||
| "desc": "你的位置信息将用于小程序位置接口的效果展示" | |||||
| } | |||||
| }, | |||||
| "tabBar": { | "tabBar": { | ||||
| "color": "#9F9F9F", | "color": "#9F9F9F", | ||||
| "selectedColor": "#00C0FF", | "selectedColor": "#00C0FF", | ||||
| @@ -1,11 +1,12 @@ | |||||
| var extConfig = wx.getExtConfigSync ? wx.getExtConfigSync() : {}; | var extConfig = wx.getExtConfigSync ? wx.getExtConfigSync() : {}; | ||||
| var appId = extConfig.appId; | var appId = extConfig.appId; | ||||
| var config = { | var config = { | ||||
| // url: "https://ciformall.youlane.cn/C/api", | |||||
| url:"https://c.malls.iformall.com/C/api", | |||||
| url: "https://ciformall.youlane.cn/C/api", | |||||
| // url:"https://c.malls.iformall.com/C/api", | |||||
| // url:'https://ctest.malls.iformall.com/C/api', | // url:'https://ctest.malls.iformall.com/C/api', | ||||
| // url:'http://10.100.33.68:7000/C/api', | |||||
| // url:'http://10.100.30.173:7000/C/api', | |||||
| // url: 'http://202.165.179.86:4000/C/api', | // url: 'http://202.165.179.86:4000/C/api', | ||||
| // | |||||
| api: { | api: { | ||||
| /** | /** | ||||
| * 接口用途:login | * 接口用途:login | ||||
| @@ -191,7 +192,7 @@ var config = { | |||||
| /** | /** | ||||
| * 获取用户折扣率 | * 获取用户折扣率 | ||||
| */ | */ | ||||
| getDiscount:"/user/getDiscount", | |||||
| getDiscountInfo:"/user/getDiscountInfo", | |||||
| /** | /** | ||||
| * C端扫B端储值卡交易流水列表接口 | * C端扫B端储值卡交易流水列表接口 | ||||
| */ | */ | ||||
| @@ -199,11 +200,27 @@ var config = { | |||||
| /** | /** | ||||
| * 根据code查询接口 | * 根据code查询接口 | ||||
| */ | */ | ||||
| findByCode:"/merchant/findByCode" | |||||
| findByCode:"/merchant/findByCode", | |||||
| /** | |||||
| * 参与砍价 | |||||
| */ | |||||
| pressOrderJoin:"/press/pressOrderJoin", | |||||
| /** | |||||
| * 我的砍价列表 | |||||
| */ | |||||
| pressOrderList:"/order/pressOrderList", | |||||
| /** | |||||
| * 砍价订单详情 | |||||
| */ | |||||
| pressOrderDetail:"/order/pressOrderDetail", | |||||
| /** | |||||
| * | |||||
| */ | |||||
| getPressOrderStatus:"/press/getPressOrderStatus" | |||||
| }, | }, | ||||
| weapp: { | weapp: { | ||||
| AppId: "wx30caec1cc16c4634" | |||||
| AppId: "wxea71200db93d756b" | |||||
| }, | }, | ||||
| ErrorCode: { | ErrorCode: { | ||||
| @@ -0,0 +1,253 @@ | |||||
| var config = require("../../config/config.js"); | |||||
| const Http = require("../../utils/HttpBasics"); | |||||
| const imgurl = require("../../utils/imgurl"); | |||||
| Page({ | |||||
| /** | |||||
| * 页面的初始数据 | |||||
| */ | |||||
| data: { | |||||
| bannerUrl: imgurl.banner.url, | |||||
| loadingUrl: imgurl.loading.url, | |||||
| bargaingoods: true, | |||||
| mybargain: false, | |||||
| list: [], | |||||
| lists: [], | |||||
| page: 1, // 设置加载的第几次,默认是第一次 | |||||
| pageSize: 10, //返回数据的个数 | |||||
| searchLoadingComplete: false, //“没有数据”的变量,默认false,隐藏 | |||||
| allow_load: true, // 是否允许继续加载标识 默认 true 允许,false 加载完成 | |||||
| myorder: false, | |||||
| actUrl: imgurl.act.url, | |||||
| loadingUrl: imgurl.loading.url, | |||||
| flag: null, | |||||
| }, | |||||
| onShow: function () { | |||||
| let that = this; | |||||
| that.getBannerlist(); | |||||
| var todayDate=new Date().getTime(); | |||||
| that.setData({ | |||||
| todayDate:todayDate | |||||
| }) | |||||
| let myDiscount = wx.getStorageSync('myDiscount'); | |||||
| console.log(myDiscount) | |||||
| if (myDiscount == 'myDiscount') { | |||||
| wx.setStorageSync('myDiscount', "dismyDiscount") | |||||
| that.getList(1, "mybargain"); | |||||
| that.setData({ | |||||
| flag: "mybargain" | |||||
| }) | |||||
| } else { | |||||
| wx.setStorageSync('myDiscount', "dismyDiscount") | |||||
| that.getList(1, "bargaingoods"); | |||||
| that.setData({ | |||||
| flag: "bargaingoods" | |||||
| }) | |||||
| } | |||||
| }, | |||||
| /** | |||||
| * banner | |||||
| */ | |||||
| getBannerlist: function () { | |||||
| let that = this; | |||||
| Http.get({ | |||||
| url: config.api.bannerlist, | |||||
| data: { | |||||
| pageNum: 1, | |||||
| pageSize: 7 | |||||
| } | |||||
| }).then(res => { | |||||
| that.setData({ | |||||
| list: res.data.list | |||||
| }); | |||||
| }); | |||||
| }, | |||||
| getList(pageNum, flag) { | |||||
| var that = this; | |||||
| if (that.data.allow_load) { | |||||
| /** | |||||
| * mybargain: 我的砍价 | |||||
| * bargaingoods: 砍价商品 | |||||
| */ | |||||
| that.setData({ | |||||
| loading: true, | |||||
| content: '小主,我在玩命加载中...' | |||||
| }) | |||||
| var param = {}; | |||||
| if (flag == 'mybargain') { | |||||
| that.setData({ | |||||
| flag: "mybargain" | |||||
| }) | |||||
| var param = { | |||||
| pageNum: pageNum, | |||||
| pageSize: 6 | |||||
| }; | |||||
| var url = config.api.pressOrderList; | |||||
| } else if (flag == 'bargaingoods') { | |||||
| that.setData({ | |||||
| flag: "bargaingoods" | |||||
| }) | |||||
| var param = { | |||||
| pageNum: pageNum, | |||||
| pageSize: 6, | |||||
| targetAd: 6 | |||||
| }; | |||||
| var url = config.api.couponChannelList; | |||||
| } | |||||
| // 请求接口 | |||||
| Http.get({ | |||||
| url: url, | |||||
| data: param | |||||
| }).then(res => { | |||||
| console.log(res) | |||||
| /** | |||||
| * 加载完成 | |||||
| */ | |||||
| if (pageNum >= res.data.pages) { | |||||
| if (res.data.pages == 0 || res.data.pages == 1) { | |||||
| that.setData({ | |||||
| allow_load: true, | |||||
| loading: false, | |||||
| content: "" | |||||
| }); | |||||
| } else { | |||||
| that.setData({ | |||||
| allow_load: false, | |||||
| loading: true, | |||||
| content: "——— 再拉裤子就掉了啦 ———", | |||||
| }); | |||||
| } | |||||
| } | |||||
| if (pageNum == 1) { | |||||
| that.setData({ | |||||
| lists: [], | |||||
| }) | |||||
| } | |||||
| var tmpArr = that.data.lists; | |||||
| tmpArr.push.apply(tmpArr, res.data.list); | |||||
| that.setData({ | |||||
| lists: tmpArr | |||||
| }) | |||||
| }) | |||||
| .catch(err => { | |||||
| wx.showToast({ | |||||
| title: err.errMsg, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| }) | |||||
| setTimeout(function () { | |||||
| that.setData({ | |||||
| loading: false, | |||||
| }) | |||||
| }, 1400); | |||||
| } else { | |||||
| that.setData({ | |||||
| loading: true, | |||||
| content: "——— 再拉裤子就掉了啦 ———" | |||||
| }) | |||||
| setTimeout(function () { | |||||
| that.setData({ | |||||
| loading: false, | |||||
| }) | |||||
| }, 1400) | |||||
| } | |||||
| }, | |||||
| /** | |||||
| * 如果是重新砍价,需要重新下单 | |||||
| */ | |||||
| orderSave: function (couponId,orderId,couponChannelId) { | |||||
| Http.post({ | |||||
| url: config.api.orderSave, | |||||
| data: { | |||||
| couponId: "" + couponId, | |||||
| couponChannelId:""+couponChannelId, | |||||
| press: true | |||||
| } | |||||
| }) | |||||
| .then(res => { | |||||
| console.log(res) | |||||
| wx.navigateTo({ | |||||
| url: `/pages/bargain/bargainDatail/bargainDatail?orderId=${orderId}` | |||||
| }) | |||||
| }) | |||||
| .catch(err => { | |||||
| wx.showToast({ | |||||
| title: err.message, | |||||
| icon: "none" | |||||
| }) | |||||
| }) | |||||
| }, | |||||
| inviteFriend: function (e) { | |||||
| /** | |||||
| * 添加标识 | |||||
| */ | |||||
| wx.navigateTo({ | |||||
| url: `/pages/bargain/bargainDatail/bargainDatail?orderId=${e.currentTarget.dataset.id}` | |||||
| }) | |||||
| }, | |||||
| barginAgain: function (e) { | |||||
| let that = this; | |||||
| console.log(e) | |||||
| let couponId = e.currentTarget.dataset.couponid; | |||||
| let couponChannelId = e.currentTarget.dataset.couponchannelid; | |||||
| let orderId = e.currentTarget.dataset.id; | |||||
| that.orderSave(couponId,orderId,couponChannelId) | |||||
| }, | |||||
| mybargain: function () { | |||||
| let that = this; | |||||
| that.setData({ | |||||
| bargaingoods: false, | |||||
| mybargain: true, | |||||
| flag: "mybargain", | |||||
| allow_load: true, | |||||
| loading: false, | |||||
| content: "" | |||||
| }) | |||||
| that.getList(1, 'mybargain'); | |||||
| wx.setNavigationBarTitle({ | |||||
| title: '我的砍价' | |||||
| }) | |||||
| }, | |||||
| bargaingoods: function () { | |||||
| let that = this; | |||||
| that.setData({ | |||||
| bargaingoods: true, | |||||
| mybargain: false, | |||||
| flag: "bargaingoods", | |||||
| allow_load: true, | |||||
| loading: false, | |||||
| content: "" | |||||
| }) | |||||
| that.getList(1, 'bargaingoods'); | |||||
| wx.setNavigationBarTitle({ | |||||
| title: '砍价专场' | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * | |||||
| * @param {砍价} 邀请好友砍价 | |||||
| */ | |||||
| invite: function (e) { | |||||
| console.log(e.currentTarget.dataset.id); | |||||
| let couponChannelId = e.currentTarget.dataset.id; | |||||
| let couponId = e.currentTarget.dataset.couponid; | |||||
| if (couponChannelId && couponId) { | |||||
| wx.navigateTo({ | |||||
| url: `/pages/coupon/detail/index?couponChannelId=${couponChannelId}&couponId=${couponId}` | |||||
| }) | |||||
| } | |||||
| }, | |||||
| //加载更多 | |||||
| onReachBottom: function () { | |||||
| let that = this; | |||||
| that.data.page++; | |||||
| that.setData({ | |||||
| page: that.data.page | |||||
| }); | |||||
| that.getList(that.data.page, that.data.flag); | |||||
| }, | |||||
| }) | |||||
| @@ -0,0 +1,8 @@ | |||||
| { | |||||
| "navigationBarTitleText": "砍价专场", | |||||
| "usingComponents": { | |||||
| "c-banner": "../../components/banner/index", | |||||
| "i-tab": "../../../dist/tab/index", | |||||
| "i-tabs": "../../../dist/tabs/index" | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,64 @@ | |||||
| <view class="page" hover-class="none" hover-stop-propagation="false"> | |||||
| <view class="bargaingoods" wx:if="{{bargaingoods}}" hover-class="none" hover-stop-propagation="false"> | |||||
| <view class="banner" wx:if="{{list.length>0}}" hover-class="none" hover-stop-propagation="false"> | |||||
| <c-banner wx:key="unique" list="{{list}}" /> | |||||
| </view> | |||||
| <view class="list" hover-class="none" hover-stop-propagation="false"> | |||||
| <view class="listitem clearfix" wx:for="{{lists}}" wx:key="{{index}}" hover-class="none" hover-stop-propagation="false"> | |||||
| <image class="fl" src="{{item.coverImg}}" mode="widthFix" lazy-load="true" binderror="" | |||||
| bindload=""></image> | |||||
| <view class="fl ri" hover-class="none" hover-stop-propagation="false"> | |||||
| <text class="txt01">{{item.title}}</text> | |||||
| <text class="txt02">{{item.subTitle}}</text> | |||||
| <text class="txt03">{{item.priceStr}}元</text> | |||||
| <text class="txt04">可砍至<text class="money">{{item.salePriceStr}}</text>元</text> | |||||
| </view> | |||||
| <view class="botton" hover-class="none" hover-stop-propagation="false" data-couponId='{{item.couponId}}' data-id='{{item.id}}' bindtap='invite'>发起砍价</view> | |||||
| </view> | |||||
| <view class='dingdan' wx:if="{{list.length==0}}"> | |||||
| <image src="{{actUrl}}" mode="widthFix"></image> | |||||
| <text>请您敬请期待</text> | |||||
| <text>我们正在筹备一大波优惠活动</text> | |||||
| </view> | |||||
| <view class="loading" wx:if="{{loading}}"><image src="{{loadingUrl}}" mode="widthFix"></image>{{content}}</view> | |||||
| <view class='loadingtext' wx:if="{{loadingtext}}">{{loadingtext}}</view> | |||||
| </view> | |||||
| </view> | |||||
| <view class="list mybargain" wx:if="{{mybargain}}" hover-class="none" hover-stop-propagation="false"> | |||||
| <view class="listitem clearfix" wx:for="{{lists}}" wx:key="index" wx:if="{{item.orderStatus == 8||item.orderStatus == 6|| item.orderStatus == 7 || item.orderStatus == 9}}" hover-class="none" hover-stop-propagation="false"> | |||||
| <image class="fl" src="{{item.coverImg}}" mode="widthFix" lazy-load="true" binderror="" | |||||
| bindload=""></image> | |||||
| <view class="fl ri" hover-class="none" hover-stop-propagation="false"> | |||||
| <text class="txt01">{{item.title}}</text> | |||||
| <text class="txt02">{{item.subTitle}}</text> | |||||
| <text class="txt04 mr" wx:if="{{item.orderStatus != 7}}">距砍价到{{item.salePrice/100}}元还差:{{item.pressCurrentValue/100}}元</text> | |||||
| <text class="txt04 mr" wx:if="{{item.orderStatus == 7}}">已砍价到底价:{{item.salePrice/100}}元</text> | |||||
| </view> | |||||
| <view class="botton1" wx:if="{{item.orderStatus == 6&&todayDate<=item.pressEndDate}}" hover-class="none" hover-stop-propagation="false" data-id="{{item.id}}" bindtap="inviteFriend">邀请好友砍价</view> | |||||
| <view class="botton3" wx:if="{{item.orderStatus == 6&&todayDate>item.pressEndDate}}" hover-class="none" hover-stop-propagation="false" data-couponChannelId="{{item.couponChannelId}}" data-couponId="{{item.productId}}" data-id="{{item.id}}" bindtap="barginAgain">重新砍价</view> | |||||
| <view wx:if="{{item.orderStatus == 7}}"> | |||||
| <view class="botton2" hover-class="none" hover-stop-propagation="false" data-id="{{item.id}}" bindtap="inviteFriend">立即支付</view> | |||||
| <image class="icon" src="./../../assets/images/bargainsuccess.png" lazy-load="true" binderror="" bindload="" /> | |||||
| </view> | |||||
| <view wx:if="{{item.orderStatus == 8||item.orderStatus == 6&&todayDate>item.pressEndDate}}"> | |||||
| <view class="botton3" hover-class="none" hover-stop-propagation="false" data-couponChannelId="{{item.couponChannelId}}" data-couponId="{{item.productId}}" data-id="{{item.id}}" bindtap="barginAgain">重新砍价</view> | |||||
| <image class="icon" src="./../../assets/images/bargainfail.png" lazy-load="true" binderror="" bindload="" /> | |||||
| </view> | |||||
| <view wx:if="{{item.orderStatus == 9}}"> | |||||
| <!-- <view class="botton3" hover-class="none" hover-stop-propagation="false">砍价取消</view> --> | |||||
| <image class="icon" src="./../../assets/images/bargaincancel.png" lazy-load="true" binderror="" bindload="" /> | |||||
| </view> | |||||
| </view> | |||||
| <view class='dingdan' wx:if="{{list.length==0}}"> | |||||
| <image src="{{actUrl}}" mode="widthFix"></image> | |||||
| <text>请您敬请期待</text> | |||||
| <text>我们正在筹备一大波优惠活动</text> | |||||
| </view> | |||||
| <view class="loading" wx:if="{{loading}}"><image src="{{loadingUrl}}" mode="widthFix"></image>{{content}}</view> | |||||
| <view class='loadingtext' wx:if="{{loadingtext}}">{{loadingtext}}</view> | |||||
| </view> | |||||
| <view class="clearfix buttonfix" hover-class="none" hover-stop-propagation="false"> | |||||
| <view class="{{bargaingoods?'active1':''}}" hover-class="none" hover-stop-propagation="false" bindtap="bargaingoods">砍价商品</view> | |||||
| <view class="{{ mybargain?'active1':''}} line" hover-class="none" hover-stop-propagation="false" bindtap="mybargain">我的砍价</view> | |||||
| </view> | |||||
| </view> | |||||
| @@ -0,0 +1,407 @@ | |||||
| page{ | |||||
| height: auto!important; | |||||
| } | |||||
| .banner .bg { | |||||
| display: block; | |||||
| width: 100%; | |||||
| } | |||||
| .bannerimg { | |||||
| display: block; | |||||
| width: 710rpx; | |||||
| height: 260rpx; | |||||
| border-radius: 15rpx; | |||||
| margin: -120rpx auto 0; | |||||
| } | |||||
| .list{ | |||||
| padding: 0 32rpx; | |||||
| } | |||||
| .listitem .fl { | |||||
| width: 200rpx; | |||||
| height: 180rpx!important; | |||||
| border-radius: 10rpx; | |||||
| overflow: hidden; | |||||
| } | |||||
| .listitem .icon{ | |||||
| width: 140rpx; | |||||
| height: 116rpx; | |||||
| position: absolute; | |||||
| top: 12rpx; | |||||
| right: 0; | |||||
| } | |||||
| .listitem .ri { | |||||
| margin-left: 26rpx; | |||||
| width: 305rpx; | |||||
| } | |||||
| .ri text{ | |||||
| display: block; | |||||
| text-align: left; | |||||
| } | |||||
| .ri .txt01 { | |||||
| width: 100%; | |||||
| font-size:30rpx; | |||||
| color: rgba(51, 51, 51, 1); | |||||
| line-height: 44rpx; | |||||
| white-space: nowrap; | |||||
| text-overflow: ellipsis; | |||||
| overflow: hidden; | |||||
| font-weight: bold; | |||||
| } | |||||
| .ri .txt02 { | |||||
| width: 100%; | |||||
| white-space: nowrap; | |||||
| text-overflow: ellipsis; | |||||
| overflow: hidden; | |||||
| font-size: 24rpx; | |||||
| color: rgba(140, 140, 140, 1); | |||||
| } | |||||
| .ri .txt03 { | |||||
| width: 100%; | |||||
| font-size:24rpx; | |||||
| text-decoration:line-through; | |||||
| color:rgba(140,140,140,1); | |||||
| } | |||||
| .ri .txt04 { | |||||
| width: 100%; | |||||
| color:#FF3232; | |||||
| font-size:24rpx; | |||||
| color:rgba(255,50,50,1); | |||||
| line-height:44rpx; | |||||
| } | |||||
| .money{ | |||||
| display: inline-block!important; | |||||
| font-size:50rpx; | |||||
| font-weight:500; | |||||
| color:rgba(255,50,50,1); | |||||
| } | |||||
| .listitem{ | |||||
| position: relative; | |||||
| padding: 31rpx 0; | |||||
| border-bottom: 1rpx solid #F9F9F9; | |||||
| } | |||||
| .botton{ | |||||
| position: absolute; | |||||
| right: 0; | |||||
| text-align: center; | |||||
| bottom: 40rpx; | |||||
| width:186rpx; | |||||
| height:48rpx; | |||||
| line-height:48rpx; | |||||
| background:linear-gradient(90deg,rgba(236,59,45,1) 0%,rgba(248,98,52,1) 100%); | |||||
| border-radius:24rpx; | |||||
| font-size:26rpx; | |||||
| color:rgba(255,255,255,1); | |||||
| } | |||||
| .botton1{ | |||||
| position: absolute; | |||||
| right: 0; | |||||
| text-align: center; | |||||
| bottom: 31rpx; | |||||
| width:186rpx; | |||||
| height:48rpx; | |||||
| line-height:48rpx; | |||||
| background:linear-gradient(90deg,rgba(236,59,45,1) 0%,rgba(248,98,52,1) 100%); | |||||
| border-radius:24rpx; | |||||
| font-size:26rpx; | |||||
| color:rgba(255,255,255,1); | |||||
| } | |||||
| .botton2{ | |||||
| position: absolute; | |||||
| right: 0; | |||||
| text-align: center; | |||||
| bottom: 31rpx; | |||||
| border-radius:24rpx; | |||||
| font-size:26rpx; | |||||
| line-height:48rpx; | |||||
| color:rgba(255,255,255,1); | |||||
| width:134rpx; | |||||
| height:48rpx; | |||||
| background:linear-gradient(90deg,rgba(117,158,69,1) 0%,rgba(138,183,79,1) 100%); | |||||
| } | |||||
| .botton3{ | |||||
| position: absolute; | |||||
| right: 0; | |||||
| text-align: center; | |||||
| bottom: 31rpx; | |||||
| line-height:48rpx; | |||||
| border-radius:24rpx; | |||||
| font-size:26rpx; | |||||
| color:rgba(255,255,255,1); | |||||
| width:134rpx; | |||||
| height:48rpx; | |||||
| background:linear-gradient(90deg,rgba(255,145,2,1) 0%,rgba(255,176,22,1) 100%); | |||||
| } | |||||
| .buttonfix{ | |||||
| position: fixed; | |||||
| height: 95rpx; | |||||
| line-height: 95rpx; | |||||
| bottom: 0; | |||||
| left: 0; | |||||
| right: 0; | |||||
| display: flex; | |||||
| flex: 2; | |||||
| background: #fff; | |||||
| border-top:1rpx solid #C6C6C6; | |||||
| justify-content: space-around; | |||||
| text-align: center; | |||||
| } | |||||
| .buttonfix > view{ | |||||
| text-align: center; | |||||
| font-size: 32rpx; | |||||
| flex: 1; | |||||
| } | |||||
| .active1{ | |||||
| color: #02C0FF!important; | |||||
| } | |||||
| .line{ | |||||
| border-left:1rpx solid #C6C6C6; | |||||
| box-sizing:border-box; | |||||
| -moz-box-sizing:border-box; | |||||
| -webkit-box-sizing:border-box; | |||||
| } | |||||
| .page{ | |||||
| padding-bottom: 100rpx; | |||||
| } | |||||
| .mr{ | |||||
| margin-top: 60rpx; | |||||
| } | |||||
| .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 { | |||||
| position: relative; | |||||
| width: 690rpx; | |||||
| height: 197rpx !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:54rpx; | |||||
| line-height:54rpx; | |||||
| font-size: 26rpx; | |||||
| 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: 30rpx; | |||||
| 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: 26rpx; | |||||
| 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; | |||||
| } | |||||
| .sendImg{ | |||||
| position: absolute; | |||||
| width: 100rpx; | |||||
| top:109rpx; | |||||
| right:72rpx; | |||||
| } | |||||
| .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; | |||||
| } | |||||
| @@ -0,0 +1,503 @@ | |||||
| var config = require("../../../config/config.js"); | |||||
| var app = getApp(); | |||||
| const Http = require("../../../utils/HttpBasics"); | |||||
| const util = require("../../../utils/util"); | |||||
| const imgurl = require("../../../utils/imgurl"); | |||||
| Page({ | |||||
| /** | |||||
| * 页面的初始数据 | |||||
| */ | |||||
| data: { | |||||
| bannerUrl: imgurl.banner.url, | |||||
| data: null, | |||||
| from: null, | |||||
| hour: null, | |||||
| min: null, | |||||
| sec: null, | |||||
| showPage: false, | |||||
| }, | |||||
| /** | |||||
| * 生命周期函数--监听页面加载 | |||||
| */ | |||||
| onLoad: function(options) { | |||||
| let that = this; | |||||
| console.log(options) | |||||
| if (options.orderId || options.orderId && options.from == 'discount') { | |||||
| if (options.from) { | |||||
| that.setData({ | |||||
| orderId: options.orderId, | |||||
| from: "discount" | |||||
| }) | |||||
| } else { | |||||
| that.setData({ | |||||
| orderId: options.orderId | |||||
| }) | |||||
| } | |||||
| that.pressOrderDetail(options.orderId); | |||||
| // that.getPressOrderStatus(options.orderId) | |||||
| } | |||||
| }, | |||||
| /** | |||||
| * 更多砍价商品 | |||||
| */ | |||||
| gotomore: function() { | |||||
| wx.navigateTo({ | |||||
| url: '/pages/bargain/bargain', | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * @param {砍价状态(1:我发起的砍价,2:未参与的砍价, 3:已参与的砍价)} orderId | |||||
| */ | |||||
| getPressOrderStatus: function(orderId) { | |||||
| let that = this; | |||||
| Http.post({ | |||||
| url: config.api.getPressOrderStatus, | |||||
| data: { | |||||
| orderId: orderId | |||||
| } | |||||
| }) | |||||
| .then(res => { | |||||
| if (res.data.status == 1) { | |||||
| that.setData({ | |||||
| discountStatus: 1 | |||||
| }) | |||||
| } else if (res.data.status == 2) { | |||||
| that.setData({ | |||||
| discountStatus: 2 | |||||
| }) | |||||
| } else if (res.data.status == 3) { | |||||
| that.setData({ | |||||
| discountStatus: 3 | |||||
| }) | |||||
| } | |||||
| wx.stopPullDownRefresh(); | |||||
| }) | |||||
| .catch(err => { | |||||
| wx.stopPullDownRefresh(); | |||||
| wx.showToast({ | |||||
| title: err.message, | |||||
| icon: "none" | |||||
| }) | |||||
| }) | |||||
| }, | |||||
| helpDiscount: function() { | |||||
| let that = this; | |||||
| that.pressOrderJoin(that.data.orderId); | |||||
| }, | |||||
| //参与砍价 | |||||
| pressOrderJoin: function(orderId) { | |||||
| let that = this; | |||||
| Http.post({ | |||||
| url: config.api.pressOrderJoin, | |||||
| data: { | |||||
| orderId: orderId | |||||
| } | |||||
| }) | |||||
| .then(res => { | |||||
| console.log(res); | |||||
| // id 是订单号 | |||||
| that.pressOrderDetail(orderId); | |||||
| }) | |||||
| .catch(err => { | |||||
| console.log(err) | |||||
| wx.showToast({ | |||||
| title: err.message, | |||||
| icon: "none" | |||||
| }) | |||||
| }) | |||||
| }, | |||||
| // 订单详情 | |||||
| pressOrderDetail: function(orderId) { | |||||
| let that = this; | |||||
| Http.get({ | |||||
| url: config.api.pressOrderDetail, | |||||
| data: { | |||||
| orderId: orderId | |||||
| } | |||||
| }) | |||||
| .then(res => { | |||||
| console.log(res); | |||||
| that.getPressOrderStatus(orderId); | |||||
| res.data.orderPressList.map(file => { | |||||
| file.createDate = diffTime(file.createDate) | |||||
| }) | |||||
| that.countdown(res.data.pressEndDate); | |||||
| that.setData({ | |||||
| data: res.data, | |||||
| already: (res.data.price / 100 - res.data.salePrice / 100 - res.data.pressCurrentValue / 100).toFixed(2), | |||||
| remain: (res.data.pressCurrentValue / 100).toFixed(2), | |||||
| showPage: true | |||||
| }) | |||||
| }) | |||||
| .catch(err => { | |||||
| wx.showToast({ | |||||
| title: err.message, | |||||
| icon: "none" | |||||
| }) | |||||
| wx.stopPullDownRefresh(); | |||||
| }) | |||||
| }, | |||||
| onShow: function() { | |||||
| let that = this; | |||||
| wx.setStorageSync('myDiscount', "myDiscount"); | |||||
| var todayDate = new Date().getTime(); | |||||
| that.setData({ | |||||
| todayDate: todayDate, | |||||
| }) | |||||
| }, | |||||
| countdown(end_time) { | |||||
| let that = this; | |||||
| var EndTime = end_time; | |||||
| var NowTime = new Date().getTime(); | |||||
| var total_micro_second = EndTime - NowTime || []; | |||||
| // 渲染倒计时时钟 | |||||
| let obj = that.dateformat(total_micro_second); | |||||
| if (total_micro_second > 0) { | |||||
| that.setData({ | |||||
| clock: obj, | |||||
| day: obj.a1, | |||||
| hour: obj.b1, | |||||
| min: obj.c1, | |||||
| sec: obj.d1, | |||||
| }) | |||||
| } else { | |||||
| that.setData({ | |||||
| clock: "00", | |||||
| day: "00", | |||||
| hour: "00", | |||||
| min: "00", | |||||
| sec: "00", | |||||
| }) | |||||
| } | |||||
| setTimeout(function() { | |||||
| total_micro_second -= 1000; | |||||
| that.countdown(end_time); | |||||
| }, 1000) | |||||
| }, | |||||
| // 时间格式化输出,如11:03 25:19 每1s都会调用一次 | |||||
| dateformat(micro_second) { | |||||
| // 总秒数 | |||||
| var second = Math.floor(micro_second / 1000); | |||||
| // 天数 | |||||
| var day = Math.floor(second / 3600 / 24) < 10 ? "0" + Math.floor(second / 3600 / 24) : Math.floor(second / 3600 / 24); | |||||
| // 小时 | |||||
| var hr = Math.floor(second / 3600 % 24) < 10 ? "0" + Math.floor(second / 3600 % 24) : Math.floor(second / 3600 % 24); | |||||
| // 分钟 | |||||
| var min = Math.floor(second / 60 % 60) < 10 ? "0" + Math.floor(second / 60 % 60) : Math.floor(second / 60 % 60); | |||||
| // 秒 | |||||
| var sec = Math.floor(second % 60) < 10 ? "0" + Math.floor(second % 60) : Math.floor(second % 60); | |||||
| // return day + "天" + hr + "小时" + min + "分钟" + sec + "秒"; | |||||
| return { | |||||
| a1: day, | |||||
| b1: hr, | |||||
| c1: min, | |||||
| d1: sec | |||||
| } | |||||
| }, | |||||
| payOrderUpdate: (orderId, payOrderId, status, reason, type, _this) => { | |||||
| let that = this; | |||||
| // 支付成功 | |||||
| Http.post({ | |||||
| url: config.api.payOrderUpdate, | |||||
| data: { | |||||
| payOrderId: payOrderId, | |||||
| orderId: orderId, | |||||
| status: status, | |||||
| reason: reason | |||||
| } | |||||
| }) | |||||
| .then(res => { | |||||
| wx.hideLoading() | |||||
| // 有价券 | |||||
| if (!type && type != 'free') { | |||||
| wx.navigateTo({ | |||||
| url: `/pages/order/detail/index?orderId=${ | |||||
| orderId | |||||
| }` | |||||
| }); | |||||
| } else if (type == 'free') { | |||||
| wx.navigateTo({ | |||||
| url: `/pages/order/detail/index?orderId=${ | |||||
| orderId | |||||
| }` | |||||
| }); | |||||
| } | |||||
| }) | |||||
| .catch(err => { | |||||
| console.log(err); | |||||
| if (!type) { | |||||
| setTimeout(function() { | |||||
| _this.payOrderUpdate(orderId, payOrderId, status, reason, type, _this); | |||||
| }, 2000) | |||||
| } | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * 发起支付 | |||||
| */ | |||||
| orderFunc(e) { | |||||
| var that = this; | |||||
| console.log(e) | |||||
| Http.post({ | |||||
| url: config.api.checkPhoneStatus, | |||||
| data: {} | |||||
| }) | |||||
| .then(res => { | |||||
| if (typeof(res) != "undefined") { | |||||
| let orderId = "" + e.currentTarget.dataset.orderid; | |||||
| that.setData({ | |||||
| orderId: orderId | |||||
| }); | |||||
| if (e.currentTarget.dataset.saleprice / 100 > 0 || e.currentTarget.dataset.price / 100 > 0) { | |||||
| /** | |||||
| * 支付订单创建 | |||||
| */ | |||||
| Http.post({ | |||||
| url: config.api.payOrderCreate, | |||||
| data: { | |||||
| orderId: orderId | |||||
| } | |||||
| }) | |||||
| .then(res => { | |||||
| var payOrderId = "" + res.data.payOrderId; | |||||
| wx.hideLoading(); | |||||
| wx.requestPayment({ | |||||
| timeStamp: res.data.timeStamp, | |||||
| nonceStr: res.data.nonceStr, | |||||
| package: res.data.package, | |||||
| signType: (res.data.signType) ? res.data.signType : "MD5", | |||||
| paySign: res.data.paySign, | |||||
| success: res => { | |||||
| wx.showLoading({ | |||||
| title: '订单正在处理中...', | |||||
| }) | |||||
| setTimeout(function() { | |||||
| wx.hideLoading() | |||||
| }, 5000) | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 1, '', '', that); | |||||
| if (res.errMsg == "requestPayment:ok") { | |||||
| setTimeout(function() { | |||||
| wx.hideLoading(); | |||||
| }, 2000); | |||||
| /** | |||||
| * 用户支付成功以后跳转到券包列表 | |||||
| */ | |||||
| if (that.data.cardType == 7) { | |||||
| wx.setStorage({ | |||||
| key: 'couponNum2', | |||||
| data: "couponNum2" | |||||
| }) | |||||
| } else { | |||||
| wx.setStorage({ | |||||
| key: 'couponNum', | |||||
| data: "couponNum" | |||||
| }) | |||||
| } | |||||
| } | |||||
| }, | |||||
| fail: res => { | |||||
| /** | |||||
| * 支付失败,需要更新订单的状态 | |||||
| */ | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 2, '', 'fail', that); | |||||
| that.setData({ | |||||
| showbutton: false | |||||
| }) | |||||
| return; | |||||
| }, | |||||
| complete: res => {} | |||||
| }); | |||||
| /// End payment -------- | |||||
| }) | |||||
| .catch(err => { | |||||
| console.log(err); | |||||
| wx.showToast({ | |||||
| title: err.message, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| }) | |||||
| } else { | |||||
| // 免费券 | |||||
| that.payOrderUpdate(orderId, "0", 1, '', 'free'); | |||||
| if (that.data.cardType == 7) { | |||||
| wx.setStorage({ | |||||
| key: 'couponNum2', | |||||
| data: "couponNum2" | |||||
| }) | |||||
| } else { | |||||
| wx.setStorage({ | |||||
| key: 'couponNum', | |||||
| data: "couponNum" | |||||
| }) | |||||
| } | |||||
| } | |||||
| } | |||||
| }) | |||||
| .catch(err => { | |||||
| 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.couponChannelId + | |||||
| "&couponId=" + | |||||
| that.data.couponId | |||||
| }); | |||||
| } else if (err.code == 11006) { | |||||
| // 用户手机已加密 | |||||
| wx.redirectTo({ | |||||
| url: "/pages/phoneinput/phoneinput?couponChannelId=" + | |||||
| that.data.couponChannelId + | |||||
| "&couponId=" + | |||||
| that.data.couponId | |||||
| }); | |||||
| } else { | |||||
| wx.showToast({ | |||||
| title: err.message, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * | |||||
| * @param {朋友邀请砍价} e | |||||
| */ | |||||
| barginAgain: function(e) { | |||||
| let couponChannelId = e.currentTarget.dataset.couponchannelid; | |||||
| let couponId = e.currentTarget.dataset.couponid; | |||||
| wx.navigateTo({ | |||||
| url: `/pages/coupon/detail/index?couponChannelId=${couponChannelId}&couponId=${couponId}`, | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * 刷新 | |||||
| */ | |||||
| onPullDownRefresh: function (e) { | |||||
| let that = this; | |||||
| if (that.data.orderId || that.data.orderId && that.data.from == 'discount') { | |||||
| if (that.data.from) { | |||||
| that.setData({ | |||||
| orderId: that.data.orderId, | |||||
| from: "discount" | |||||
| }) | |||||
| } else { | |||||
| that.setData({ | |||||
| orderId: that.data.orderId | |||||
| }) | |||||
| } | |||||
| that.pressOrderDetail(that.data.orderId); | |||||
| } | |||||
| }, | |||||
| onShareAppMessage: function(options) { | |||||
| console.log(options) | |||||
| var that = this; | |||||
| console.log(that.data.data.id) | |||||
| var shareObj = { | |||||
| title: that.data.data.title, | |||||
| path: `/pages/index/index?orderId=${that.data.data.id}&from=${"discount"}`, | |||||
| success: function(res) { | |||||
| if (res.errMsg == 'shareAppMessage:ok') {} | |||||
| }, | |||||
| fail: function(error) { | |||||
| if (res.errMsg == 'shareAppMessage:fail cancel') {} else if (res.errMsg == 'shareAppMessage:fail') {} | |||||
| } | |||||
| }; | |||||
| // 来自页面内的按钮的转发 | |||||
| if (options.from == 'button') { | |||||
| var orderId = options.target.dataset.orderid; | |||||
| shareObj.path = `/pages/index/index?orderId=${orderId}&from=${"discount"}`; | |||||
| } | |||||
| // 返回shareObj | |||||
| return shareObj; | |||||
| }, | |||||
| }) | |||||
| function diffTime(startDate) { | |||||
| var diff = new Date().getTime() - startDate; | |||||
| var days = Math.floor(diff / (24 * 3600 * 1000)); | |||||
| var leave1 = diff % (24 * 3600 * 1000); | |||||
| var hours = Math.floor(leave1 / (3600 * 1000)); | |||||
| var leave2 = leave1 % (3600 * 1000); | |||||
| var minutes = Math.floor(leave2 / (60 * 1000)); | |||||
| var leave3 = leave2 % (60 * 1000); | |||||
| var seconds = Math.round(leave3 / 1000); | |||||
| var returnStr = seconds + "秒"; | |||||
| if (minutes > 0) { | |||||
| returnStr = minutes + "分" + returnStr; | |||||
| } | |||||
| if (hours > 0) { | |||||
| returnStr = hours + "小时" + returnStr; | |||||
| } | |||||
| if (days > 0) { | |||||
| returnStr = days + "天" + returnStr; | |||||
| } | |||||
| return returnStr; | |||||
| } | |||||
| @@ -0,0 +1,4 @@ | |||||
| { | |||||
| "navigationBarTitleText": "砍价详情", | |||||
| "enablePullDownRefresh": true | |||||
| } | |||||
| @@ -0,0 +1,63 @@ | |||||
| <view class="bargainDetail" hover-class="none" hover-stop-propagation="false" wx:if="{{showPage}}"> | |||||
| <view class="listitem clearfix" hover-class="none" hover-stop-propagation="false"> | |||||
| <image class="fl" src="{{data.coverImg}}" lazy-load="true" binderror="" | |||||
| bindload=""></image> | |||||
| <view class="fl ri" hover-class="none" hover-stop-propagation="false"> | |||||
| <text class="txt01">{{data.title}}</text> | |||||
| <text class="txt02">{{data.subTitle}}</text> | |||||
| <text class="txt03">{{data.price/100}}元</text> | |||||
| <text class="txt04">可砍至<text class="money">{{data.salePrice/100}}</text>元</text> | |||||
| </view> | |||||
| </view> | |||||
| <view class="progress" hover-class="none" hover-stop-propagation="false" wx:if="{{data.orderStatus != 8}}"> | |||||
| <view class="clearfix progesstext" hover-class="none" hover-stop-propagation="false"> | |||||
| <text class="fl">已砍 <text>{{already}}元</text></text> | |||||
| <text class="fr" wx:if="{{data.pressCurrentValue/100!=0}}">还剩 <text>{{remain}}元</text></text> | |||||
| </view> | |||||
| <progress percent="{{((data.price-data.salePrice-data.pressCurrentValue)/(data.price-data.salePrice))*100}}" color="#FF3535" class="progressbar"border-radius="10px" backgroundColor="#FECFCF" stroke-width="10" /> | |||||
| <view class="time" hover-class="none" hover-stop-propagation="false" wx:if="{{data.orderStatus != 7}}"> | |||||
| 还剩 <text>{{hour}}</text>:<text>{{min}}</text>:<text>{{sec}}</text> 结束 | |||||
| </view> | |||||
| </view> | |||||
| <view class="fail" hover-class="none" hover-stop-propagation="false" wx:if="{{todayDate>data.pressEndDate && from=='discount'&& discountStatus !=1}}"> | |||||
| 好友的砍价已过期 | |||||
| </view> | |||||
| <view class="status" hover-class="none" hover-stop-propagation="false" wx:if="{{discountStatus==3}}"> | |||||
| <button bindtap="barginAgain" data-couponChannelId="{{data.couponChannelId}}" data-couponId="{{data.productId}}" data-id="{{data.id}}">发起砍价</button> | |||||
| <button bindtap="gotomore">更多砍价商品</button> | |||||
| </view> | |||||
| <view class="success" wx:if="{{data.orderStatus == 7}}" hover-class="none" hover-stop-propagation="false"> | |||||
| <image src="./../../../assets/images/success01.png" mode="widthFix"></image> | |||||
| <text class="" selectable="false" space="false" decode="false"> | |||||
| 砍价成功 | |||||
| </text> | |||||
| </view> | |||||
| <view wx:if="{{data.orderStatus == 6&&discountStatus == 2}}"> | |||||
| <button bindtap='helpDiscount' class='helpDiscount'>帮好友砍价</button> | |||||
| </view> | |||||
| <view class="people" hover-class="none" hover-stop-propagation="false"> | |||||
| <view class="clearfix person" wx:for="{{data.orderPressList}}" wx:key="index"> | |||||
| <view class="head fl"> | |||||
| <image class="headicon" src="{{item.avatarUrl}}" mode="widthFix" lazy-load="true" binderror="" bindload="" /> | |||||
| <text wx:if="{{item.first==1}}">发起人</text> | |||||
| </view> | |||||
| <view class="text fl clearfix"> | |||||
| <text class="text01 fl"><text>{{item.nickName}}</text>砍价成功!</text> | |||||
| <text class="text02 fl"><text class="fl">砍掉</text><text class="fl">{{item.pressValue/100}}元</text></text> | |||||
| <text class="text03 fr">{{item.createDate}}前</text> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| <view wx:if="{{data.orderStatus != 7&&discountStatus==1}}" class="btns clearfix" hover-class="none" hover-stop-propagation="false"> | |||||
| <view class="fl" bindtap='orderFunc' data-orderId="{{data.id}}" data-price="{{data.price/100}}"> | |||||
| <text>{{data.price/100}}元</text> | |||||
| <text>立即购买</text> | |||||
| </view> | |||||
| <button class='share user-motto fr' data-orderId='{{data.id}}' id="shareBtn" open-type="share" hover-class="other-button-hover">邀请好友继续砍价</button> | |||||
| </view> | |||||
| <view wx:if="{{data.orderStatus == 7&&discountStatus == 1}}" class="btns01 clearfix" hover-class="none" hover-stop-propagation="false"> | |||||
| <button bindtap='orderFunc' data-orderId="{{data.id}}" data-salePrice="{{data.salePrice/100}}" hover-class="other-button-hover">{{data.salePrice/100}}元 底价购买</button> | |||||
| </view> | |||||
| </view> | |||||
| @@ -0,0 +1,300 @@ | |||||
| .bargainDetail { | |||||
| padding: 0 33rpx 0; | |||||
| } | |||||
| .listitem .fl { | |||||
| width: 180rpx; | |||||
| height: 180rpx; | |||||
| border-radius:10rpx; | |||||
| } | |||||
| .listitem .icon { | |||||
| width: 140rpx; | |||||
| height: 116rpx; | |||||
| position: absolute; | |||||
| top: 12rpx; | |||||
| right: 0; | |||||
| } | |||||
| .listitem .ri { | |||||
| margin-left: 26rpx; | |||||
| width: 305rpx; | |||||
| } | |||||
| .ri text { | |||||
| display: block; | |||||
| text-align: left; | |||||
| } | |||||
| .ri .txt01 { | |||||
| width: 100%; | |||||
| color: rgba(51, 51, 51, 1); | |||||
| line-height: 44rpx; | |||||
| white-space: nowrap; | |||||
| text-overflow: ellipsis; | |||||
| overflow: hidden; | |||||
| } | |||||
| .ri .txt02 { | |||||
| width: 100%; | |||||
| white-space: nowrap; | |||||
| text-overflow: ellipsis; | |||||
| overflow: hidden; | |||||
| font-size: 24rpx; | |||||
| color: rgba(140, 140, 140, 1); | |||||
| } | |||||
| .ri .txt03 { | |||||
| width: 100%; | |||||
| font-size: 24rpx; | |||||
| text-decoration: line-through; | |||||
| color: rgba(140, 140, 140, 1); | |||||
| } | |||||
| .ri .txt04 { | |||||
| width: 100%; | |||||
| font-size: 24rpx; | |||||
| color: rgba(255, 50, 50, 1); | |||||
| line-height: 44rpx; | |||||
| } | |||||
| .money { | |||||
| display: inline-block !important; | |||||
| font-size: 50rpx; | |||||
| font-weight: 500; | |||||
| color: rgba(255, 50, 50, 1); | |||||
| } | |||||
| .listitem { | |||||
| position: relative; | |||||
| padding: 31rpx 0; | |||||
| } | |||||
| .progress { | |||||
| width: 519rpx; | |||||
| padding: 30rpx 84rpx 50rpx; | |||||
| /* height: 136rpx; */ | |||||
| background: rgba(255, 245, 240, 1); | |||||
| border-radius: 10rpx; | |||||
| margin: 0 auto; | |||||
| } | |||||
| .progesstext { | |||||
| margin-bottom: 13rpx; | |||||
| } | |||||
| .progesstext>text { | |||||
| font-size: 24rpx; | |||||
| color: rgba(51, 51, 51, 1); | |||||
| } | |||||
| .progesstext text text { | |||||
| color: #FF3535; | |||||
| } | |||||
| .time { | |||||
| margin-top: 20rpx; | |||||
| font-size: 24rpx; | |||||
| color: #333; | |||||
| text-align:center; | |||||
| } | |||||
| .time text { | |||||
| font-size: 30rpx; | |||||
| color: #fff; | |||||
| display: inline-block; | |||||
| width: 40rpx; | |||||
| text-align: center; | |||||
| height: 40rpx; | |||||
| line-height: 40rpx; | |||||
| background: rgba(51, 51, 51, 1); | |||||
| border-radius: 10rpx; | |||||
| } | |||||
| .head{ | |||||
| width:10%; | |||||
| height: 90rpx; | |||||
| position: relative; | |||||
| } | |||||
| .head image{ | |||||
| width: 70rpx; | |||||
| border-radius:10rpx; | |||||
| } | |||||
| .head text{ | |||||
| width: 70rpx; | |||||
| position: absolute; | |||||
| bottom: 0; | |||||
| left: 0; | |||||
| right: 0; | |||||
| font-size: 20rpx; | |||||
| background: #ED3F2E; | |||||
| color: #fff; | |||||
| text-align: center; | |||||
| border-radius: 20rpx; | |||||
| } | |||||
| .text{ | |||||
| width: 87%; | |||||
| padding-left: 3%; | |||||
| display: inline-block; | |||||
| height: 90rpx; | |||||
| line-height: 90rpx; | |||||
| font-size: 26rpx; | |||||
| } | |||||
| .text01{ | |||||
| width: 220rpx; | |||||
| margin-right: 6rpx; | |||||
| overflow: hidden; | |||||
| } | |||||
| .text01 text{ | |||||
| width: 100rpx; | |||||
| float: left; | |||||
| height: 90rpx; | |||||
| line-height: 90rpx; | |||||
| white-space: nowrap; | |||||
| text-overflow: ellipsis; | |||||
| overflow: hidden; | |||||
| } | |||||
| .text02{ | |||||
| display: inline-block; | |||||
| width: 140rpx; | |||||
| overflow: hidden; | |||||
| } | |||||
| .text03{ | |||||
| width: 212rpx; | |||||
| overflow: hidden; | |||||
| text-align: right; | |||||
| font-size:24rpx; | |||||
| } | |||||
| .person{ | |||||
| border-bottom: 1px solid #F9F9F9; | |||||
| padding-bottom: 31rpx; | |||||
| padding-top: 31rpx; | |||||
| } | |||||
| .text02 text:nth-of-type(2){ | |||||
| width: 80rpx; | |||||
| overflow: hidden; | |||||
| color: #FF3535; | |||||
| white-space: nowrap; | |||||
| text-overflow: ellipsis; | |||||
| text-align: left; | |||||
| } | |||||
| .people{ | |||||
| margin-top: 20rpx; | |||||
| padding-bottom: 130rpx; | |||||
| } | |||||
| .btns{ | |||||
| padding:33rpx; | |||||
| position: fixed; | |||||
| left: 0; | |||||
| right: 0; | |||||
| bottom: 0; | |||||
| z-index: 100; | |||||
| background: #fff; | |||||
| } | |||||
| .btns > view,.btns > button{ | |||||
| width: 330rpx; | |||||
| height: 95rpx; | |||||
| border-radius:48rpx; | |||||
| text-align: center; | |||||
| } | |||||
| .btns .fl{ | |||||
| color: #fff; | |||||
| background:rgba(255,169,2,1); | |||||
| box-shadow:0px 8px 8px 1px rgba(255,169,2,0.32); | |||||
| } | |||||
| .btns .fl text{ | |||||
| display: block; | |||||
| font-size: 30rpx; | |||||
| line-height: 34rpx; | |||||
| } | |||||
| .btns .fl text:nth-of-type(1){ | |||||
| margin-top: 12rpx; | |||||
| } | |||||
| .btns .fr{ | |||||
| font-size: 30rpx; | |||||
| color: #fff; | |||||
| line-height: 95rpx; | |||||
| background:linear-gradient(90deg,rgba(236,59,45,1) 0%,rgba(248,98,52,1) 100%); | |||||
| box-shadow:0px 8px 8px 1px rgba(246,93,51,0.32); | |||||
| } | |||||
| .helpDiscount{ | |||||
| display: block; | |||||
| width: 200rpx; | |||||
| height: 200rpx; | |||||
| border-radius:50%; | |||||
| font-size: 24rpx; | |||||
| text-align: center; | |||||
| line-height: 200rpx; | |||||
| margin-top: 30rpx; | |||||
| } | |||||
| .helpDiscount::after{ border: none; } | |||||
| .success{ | |||||
| margin-top: 50rpx; | |||||
| } | |||||
| .success image{ | |||||
| display: block; | |||||
| width: 74rpx; | |||||
| height: 74rpx; | |||||
| margin: 0 auto; | |||||
| } | |||||
| .success text{ | |||||
| display: block; | |||||
| text-align: center; | |||||
| font-size:30rpx; | |||||
| line-height: 30rpx; | |||||
| color:rgba(51,51,51,1); | |||||
| } | |||||
| .btns01{ | |||||
| position: fixed; | |||||
| left: 0; | |||||
| right: 0; | |||||
| bottom: 0; | |||||
| background: #fff; | |||||
| padding: 30rpx 0; | |||||
| } | |||||
| .btns01 button{ | |||||
| color: #fff; | |||||
| color:rgba(254,254,254,1); | |||||
| width:650rpx; | |||||
| height:85rpx; | |||||
| line-height: 85rpx; | |||||
| background:linear-gradient(90deg,rgba(236,59,45,1) 0%,rgba(248,98,52,1) 100%); | |||||
| box-shadow:0px 8px 8px 1px rgba(246,93,51,0.32); | |||||
| border-radius:43rpx; | |||||
| } | |||||
| .fail{ | |||||
| width:687rpx; | |||||
| height:166rpx; | |||||
| background:rgba(226,226,226,1); | |||||
| border-radius:10rpx; | |||||
| font-size:30rpx; | |||||
| text-align: center; | |||||
| line-height: 166rpx; | |||||
| color:rgba(51,51,51,1); | |||||
| margin: 20rpx auto 0; | |||||
| } | |||||
| .status{ | |||||
| width: 520rpx; | |||||
| margin: 40rpx auto 0; | |||||
| } | |||||
| .status button{ | |||||
| display: block; | |||||
| width: 520rpx; | |||||
| height: 95rpx; | |||||
| line-height: 95rpx; | |||||
| text-align: center; | |||||
| border: none; | |||||
| } | |||||
| .status button:nth-of-type(1){ | |||||
| background:linear-gradient(90deg,rgba(236,59,45,1) 0%,rgba(248,98,52,1) 100%); | |||||
| border:1rpx solid rgba(236,59,45,1); | |||||
| border-radius:48rpx; | |||||
| margin-bottom: 38rpx; | |||||
| color: #fff; | |||||
| } | |||||
| .status button:nth-of-type(2){ | |||||
| background:rgba(255,255,255,1); | |||||
| border:1rpx solid rgba(190,190,190,1); | |||||
| border-radius:48rpx; | |||||
| width:520rpx; | |||||
| color: #333; | |||||
| } | |||||
| @@ -234,6 +234,15 @@ Page({ | |||||
| that.countdown(res.data.endTime); | that.countdown(res.data.endTime); | ||||
| //当前时间与优惠券下架时间做计算 | //当前时间与优惠券下架时间做计算 | ||||
| var endTime = util.formatTime(res.data.endTime, "yyyy-MM-dd hh:mm:ss"); | var endTime = util.formatTime(res.data.endTime, "yyyy-MM-dd hh:mm:ss"); | ||||
| if (util.timechuo(endTime).indexOf('-') == 0) { | |||||
| that.setData({ | |||||
| endtime: "活动已结束", | |||||
| }); | |||||
| } else { | |||||
| that.setData({ | |||||
| endtime: util.timechuo(endTime) | |||||
| }); | |||||
| } | |||||
| } | } | ||||
| wx.hideLoading(); | wx.hideLoading(); | ||||
| that.setData({ | that.setData({ | ||||
| @@ -1,4 +1,5 @@ | |||||
| <view wx:if="{{showPage}}"> | <view wx:if="{{showPage}}"> | ||||
| <!-- 券的详情页面 --> | |||||
| <view class='coupons'> | <view class='coupons'> | ||||
| <view class="coupons-body"> | <view class="coupons-body"> | ||||
| <view class='banner'> | <view class='banner'> | ||||
| @@ -122,14 +122,14 @@ Page({ | |||||
| var data = { | var data = { | ||||
| pageNum: pageNum, | pageNum: pageNum, | ||||
| pageSize: 6, | pageSize: 6, | ||||
| couponType: "7", | |||||
| couponType: "100", | |||||
| couponOrderStatus: 4 | couponOrderStatus: 4 | ||||
| } | } | ||||
| } else if (key == '5,6,7') { | } else if (key == '5,6,7') { | ||||
| var data = { | var data = { | ||||
| pageNum: pageNum, | pageNum: pageNum, | ||||
| pageSize: 6, | pageSize: 6, | ||||
| couponType: "7", | |||||
| couponType: "100", | |||||
| statusStr: "5,6,7" | statusStr: "5,6,7" | ||||
| } | } | ||||
| } | } | ||||
| @@ -5,17 +5,17 @@ const util = require("../../../utils/util"); | |||||
| const imgurl = require("../../../utils/imgurl"); | const imgurl = require("../../../utils/imgurl"); | ||||
| Page({ | Page({ | ||||
| data: { | data: { | ||||
| fenxiangUrl:imgurl.fenxiang.url, | |||||
| clockUrl:imgurl.clock.url, | |||||
| teljpgUrl:imgurl.teljpg.url, | |||||
| closedUrl:imgurl.closed.url, | |||||
| quesGouUrl:imgurl.ques_gou.url, | |||||
| headbgUrl:imgurl.headbg.url, | |||||
| quesBgUrl:imgurl.ques_bg.url, | |||||
| fenxiangUrl: imgurl.fenxiang.url, | |||||
| clockUrl: imgurl.clock.url, | |||||
| teljpgUrl: imgurl.teljpg.url, | |||||
| closedUrl: imgurl.closed.url, | |||||
| quesGouUrl: imgurl.ques_gou.url, | |||||
| headbgUrl: imgurl.headbg.url, | |||||
| quesBgUrl: imgurl.ques_bg.url, | |||||
| data: { | data: { | ||||
| title: null | title: null | ||||
| }, | }, | ||||
| showPage:false, | |||||
| showPage: false, | |||||
| questions1: null, | questions1: null, | ||||
| questions2: null, | questions2: null, | ||||
| carList: [], | carList: [], | ||||
| @@ -42,11 +42,11 @@ Page({ | |||||
| scaleData: null, | scaleData: null, | ||||
| skewData: null, | skewData: null, | ||||
| matrixData: null, | matrixData: null, | ||||
| opacity:0, | |||||
| queueData:null, | |||||
| zIndex:11, | |||||
| display:"none", | |||||
| showbutton:false | |||||
| opacity: 0, | |||||
| queueData: null, | |||||
| zIndex: 11, | |||||
| display: "none", | |||||
| showbutton: false | |||||
| }, | }, | ||||
| phone: function (e) { | phone: function (e) { | ||||
| let that = this; | let that = this; | ||||
| @@ -122,7 +122,7 @@ Page({ | |||||
| let that = this; | let that = this; | ||||
| that.setData({ | that.setData({ | ||||
| queueData: null, | queueData: null, | ||||
| showbutton:true | |||||
| showbutton: true | |||||
| }) | }) | ||||
| Http.get({ | Http.get({ | ||||
| url: config.api.getQuestion, | url: config.api.getQuestion, | ||||
| @@ -144,9 +144,9 @@ Page({ | |||||
| }) | }) | ||||
| that.setData({ | that.setData({ | ||||
| queueData: animation.export(), | queueData: animation.export(), | ||||
| zIndex:9, | |||||
| opacity:1, | |||||
| display:"block", | |||||
| zIndex: 9, | |||||
| opacity: 1, | |||||
| display: "block", | |||||
| questionnaire: JSON.parse(res.data.content), | questionnaire: JSON.parse(res.data.content), | ||||
| questionId: res.data.id | questionId: res.data.id | ||||
| }); | }); | ||||
| @@ -223,7 +223,7 @@ Page({ | |||||
| couponId: options.couponId, | couponId: options.couponId, | ||||
| title: that.data.data.title ? that.data.data.title : '', | title: that.data.data.title ? that.data.data.title : '', | ||||
| }); | }); | ||||
| if(options.cardType){ | |||||
| if (options.cardType) { | |||||
| that.setData({ | that.setData({ | ||||
| cardType: options.cardType | cardType: options.cardType | ||||
| }) | }) | ||||
| @@ -235,54 +235,63 @@ Page({ | |||||
| } | } | ||||
| }; | }; | ||||
| Http.get(parmer) | Http.get(parmer) | ||||
| .then(res => { | |||||
| if(res.code==200){ | |||||
| .then(res => { | |||||
| if (res.code == 200) { | |||||
| that.setData({ | |||||
| showPage: true | |||||
| }) | |||||
| } | |||||
| if (res.data.type == 7) { | |||||
| wx.setNavigationBarTitle({ | |||||
| title: "卡详情" | |||||
| }) | |||||
| } | |||||
| if (res.data.endTime) { | |||||
| that.countdown(res.data.endTime); | |||||
| //当前时间与优惠券下架时间做计算 | |||||
| var endTime = util.formatTime(res.data.endTime, "yyyy-MM-dd hh:mm:ss"); | |||||
| if (util.timechuo(endTime).indexOf('-') == 0) { | |||||
| that.setData({ | |||||
| endtime: "活动已结束", | |||||
| }); | |||||
| } else { | |||||
| that.setData({ | |||||
| endtime: util.timechuo(endTime) | |||||
| }); | |||||
| } | |||||
| } | |||||
| wx.hideLoading(); | |||||
| that.setData({ | that.setData({ | ||||
| showPage:true | |||||
| }) | |||||
| } | |||||
| if(res.data.type==7){ | |||||
| wx.setNavigationBarTitle({ | |||||
| title: "卡详情" | |||||
| }) | |||||
| } | |||||
| if (res.data.endTime) { | |||||
| that.countdown(res.data.endTime); | |||||
| //当前时间与优惠券下架时间做计算 | |||||
| var endTime = util.formatTime(res.data.endTime, "yyyy-MM-dd hh:mm:ss"); | |||||
| if (util.timechuo(endTime).indexOf('-') == 0) { | |||||
| data: res.data | |||||
| }); | |||||
| if (res.data.validType == 1) { | |||||
| that.setData({ | that.setData({ | ||||
| endtime: "活动已结束", | |||||
| validStartDate: util.formatTime(res.data.validStartDate, "yyyy-MM-dd"), | |||||
| validEndDate: util.formatTime(res.data.validEndDate, "yyyy-MM-dd"), | |||||
| }); | }); | ||||
| } else { | } else { | ||||
| that.setData({ | |||||
| endtime: util.timechuo(endTime) | |||||
| }); | |||||
| if (res.data.validDays) { | |||||
| that.setData({ | |||||
| validDays: res.data.validDays | |||||
| }); | |||||
| } | |||||
| } | } | ||||
| } | |||||
| wx.hideLoading(); | |||||
| that.setData({ | |||||
| data: res.data | |||||
| }); | |||||
| if (res.data.validType == 1) { | |||||
| that.setData({ | |||||
| validStartDate: util.formatTime(res.data.validStartDate, "yyyy-MM-dd"), | |||||
| validEndDate: util.formatTime(res.data.validEndDate, "yyyy-MM-dd"), | |||||
| }); | |||||
| } else { | |||||
| that.setData({ | |||||
| validDays: res.data.validDays | |||||
| }).catch(err => { | |||||
| wx.showToast({ | |||||
| title: err.message, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | }); | ||||
| } | |||||
| }).catch(err => { | |||||
| wx.showToast({ | |||||
| title: err.message, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| }) | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * 邀请好友继续砍价 | |||||
| */ | |||||
| inviteFriend: function () { | |||||
| let that = this; | |||||
| that.orderFunc("discount"); | |||||
| }, | }, | ||||
| /** | /** | ||||
| * 支付订单更新 | * 支付订单更新 | ||||
| @@ -302,13 +311,13 @@ Page({ | |||||
| .then(res => { | .then(res => { | ||||
| wx.hideLoading() | wx.hideLoading() | ||||
| // 有价券 | // 有价券 | ||||
| if (!type&&type!='free') { | |||||
| if (!type && type != 'free') { | |||||
| wx.navigateTo({ | wx.navigateTo({ | ||||
| url: `/pages/order/detail/index?orderId=${ | url: `/pages/order/detail/index?orderId=${ | ||||
| orderId | orderId | ||||
| }` | }` | ||||
| }); | }); | ||||
| }else if(type=='free'){ | |||||
| } else if (type == 'free') { | |||||
| wx.navigateTo({ | wx.navigateTo({ | ||||
| url: `/pages/order/detail/index?orderId=${ | url: `/pages/order/detail/index?orderId=${ | ||||
| orderId | orderId | ||||
| @@ -328,119 +337,126 @@ Page({ | |||||
| /** | /** | ||||
| * 发起支付 | * 发起支付 | ||||
| */ | */ | ||||
| orderFunc(flag) { | |||||
| orderFunc(discount) { | |||||
| var that = this; | var that = this; | ||||
| // wx.showLoading({ | |||||
| // title: "加载中..." | |||||
| // }); | |||||
| Http.post({ | |||||
| url: config.api.checkPhoneStatus, | |||||
| data: {} | |||||
| }) | |||||
| .then(res => { | |||||
| Http.post({ | |||||
| url: config.api.checkPhoneStatus, | |||||
| data: {} | |||||
| }) | |||||
| .then(res => { | |||||
| if (discount == 'discount') { | |||||
| var data = { | var data = { | ||||
| couponChannelId: "" + that.data.couponChannelId, | couponChannelId: "" + that.data.couponChannelId, | ||||
| couponId: "" + that.data.couponId, | |||||
| press: true | |||||
| } | |||||
| } else if (that.data.couponChannelId == null) { | |||||
| var data = { | |||||
| couponId: "" + that.data.couponId | couponId: "" + that.data.couponId | ||||
| }; | }; | ||||
| if (that.data.couponChannelId == null) { | |||||
| var data = { | |||||
| couponId: "" + that.data.couponId | |||||
| }; | |||||
| } else { | |||||
| var data = { | |||||
| couponChannelId: "" + that.data.couponChannelId, | |||||
| couponId: "" + that.data.couponId, | |||||
| } | } | ||||
| } | |||||
| /** | |||||
| * orderSave 下单 | |||||
| */ | |||||
| return Http.post({ | |||||
| url: config.api.orderSave, | |||||
| data: data | |||||
| }); | |||||
| }) | |||||
| .catch(err => { | |||||
| console.log(err); | |||||
| 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) { | |||||
| /** | /** | ||||
| * orderSave 下单 | |||||
| * 将值传到用户手机号授权的页面 | |||||
| * | |||||
| */ | */ | ||||
| return Http.post({ | |||||
| url: config.api.orderSave, | |||||
| data: data | |||||
| wx.redirectTo({ | |||||
| url: "/pages/getphoneInfo/index?couponChannelId=" + | |||||
| that.data.couponChannelId + | |||||
| "&couponId=" + | |||||
| that.data.couponId | |||||
| }); | }); | ||||
| }) | |||||
| .catch(err => { | |||||
| 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.couponChannelId + | |||||
| "&couponId=" + | |||||
| that.data.couponId | |||||
| }); | |||||
| } else if (err.code == 11006) { | |||||
| // 用户手机已加密 | |||||
| wx.redirectTo({ | |||||
| url: "/pages/phoneinput/phoneinput?couponChannelId=" + | |||||
| that.data.couponChannelId + | |||||
| "&couponId=" + | |||||
| that.data.couponId | |||||
| }); | |||||
| } else { | |||||
| wx.showToast({ | |||||
| title: err.message, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } | |||||
| }) | |||||
| .then(res => { | |||||
| } else if (err.code == 11006) { | |||||
| // 用户手机已加密 | |||||
| wx.redirectTo({ | |||||
| url: "/pages/phoneinput/phoneinput?couponChannelId=" + | |||||
| that.data.couponChannelId + | |||||
| "&couponId=" + | |||||
| that.data.couponId | |||||
| }); | |||||
| } else { | |||||
| wx.showToast({ | |||||
| title: err.message, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } | |||||
| }) | |||||
| .then(res => { | |||||
| console.log(res) | |||||
| if (discount != 'discount') { | |||||
| if (typeof (res) != "undefined") { | if (typeof (res) != "undefined") { | ||||
| let orderId = "" + res.data.id; | let orderId = "" + res.data.id; | ||||
| that.setData({ | that.setData({ | ||||
| @@ -456,7 +472,8 @@ Page({ | |||||
| data: { | data: { | ||||
| orderId: orderId | orderId: orderId | ||||
| } | } | ||||
| }).then(res => { | |||||
| }) | |||||
| .then(res => { | |||||
| var payOrderId = "" + res.data.payOrderId; | var payOrderId = "" + res.data.payOrderId; | ||||
| wx.hideLoading(); | wx.hideLoading(); | ||||
| wx.requestPayment({ | wx.requestPayment({ | ||||
| @@ -469,9 +486,9 @@ Page({ | |||||
| wx.showLoading({ | wx.showLoading({ | ||||
| title: '订单正在处理中...', | title: '订单正在处理中...', | ||||
| }) | }) | ||||
| setTimeout(function(){ | |||||
| setTimeout(function () { | |||||
| wx.hideLoading() | wx.hideLoading() | ||||
| },5000) | |||||
| }, 5000) | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 1, '', '', that); | that.payOrderUpdate(that.data.orderId, payOrderId, 1, '', '', that); | ||||
| if (res.errMsg == "requestPayment:ok") { | if (res.errMsg == "requestPayment:ok") { | ||||
| setTimeout(function () { | setTimeout(function () { | ||||
| @@ -480,12 +497,12 @@ Page({ | |||||
| /** | /** | ||||
| * 用户支付成功以后跳转到券包列表 | * 用户支付成功以后跳转到券包列表 | ||||
| */ | */ | ||||
| if(that.data.cardType == 7){ | |||||
| if (that.data.cardType == 7) { | |||||
| wx.setStorage({ | wx.setStorage({ | ||||
| key: 'couponNum2', | key: 'couponNum2', | ||||
| data: "couponNum2" | data: "couponNum2" | ||||
| }) | }) | ||||
| }else{ | |||||
| } else { | |||||
| wx.setStorage({ | wx.setStorage({ | ||||
| key: 'couponNum', | key: 'couponNum', | ||||
| data: "couponNum" | data: "couponNum" | ||||
| @@ -518,12 +535,12 @@ Page({ | |||||
| } else { | } else { | ||||
| // 免费券 | // 免费券 | ||||
| that.payOrderUpdate(orderId, "0", 1, '', 'free'); | that.payOrderUpdate(orderId, "0", 1, '', 'free'); | ||||
| if(that.data.cardType == 7){ | |||||
| if (that.data.cardType == 7) { | |||||
| wx.setStorage({ | wx.setStorage({ | ||||
| key: 'couponNum2', | key: 'couponNum2', | ||||
| data: "couponNum2" | data: "couponNum2" | ||||
| }) | }) | ||||
| }else{ | |||||
| } else { | |||||
| wx.setStorage({ | wx.setStorage({ | ||||
| key: 'couponNum', | key: 'couponNum', | ||||
| data: "couponNum" | data: "couponNum" | ||||
| @@ -531,19 +548,18 @@ Page({ | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| }) | |||||
| .catch(err => { | |||||
| wx.showToast({ | |||||
| title: err.message, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| }) | |||||
| } else { | |||||
| if(res){ | |||||
| wx.navigateTo({ | |||||
| url: `/pages/bargain/bargainDatail/bargainDatail?orderId=${res.data.id}`, | |||||
| }) | |||||
| } | |||||
| } | |||||
| }) | |||||
| }, | }, | ||||
| onShow(){ | |||||
| onShow() { | |||||
| this.setData({ | this.setData({ | ||||
| showbutton:false | |||||
| showbutton: false | |||||
| }) | }) | ||||
| }, | }, | ||||
| onShareAppMessage: function (options) { | onShareAppMessage: function (options) { | ||||
| @@ -30,11 +30,16 @@ | |||||
| <text class='title'>{{data.title}}<text class="elecard" wx:if="{{data.type==7}}">电子卡</text></text> | <text class='title'>{{data.title}}<text class="elecard" wx:if="{{data.type==7}}">电子卡</text></text> | ||||
| <text class="subTitle">{{data.subTitle}}</text> | <text class="subTitle">{{data.subTitle}}</text> | ||||
| <view class='salePriceStr clearfix'> | <view class='salePriceStr clearfix'> | ||||
| <view class="fl">售价: | |||||
| <view class="fl" wx:if="{{data.type!=8}}">售价: | |||||
| <text class="pri01">{{data.salePriceStr}}</text> | <text class="pri01">{{data.salePriceStr}}</text> | ||||
| <text class="yuan">元</text> | <text class="yuan">元</text> | ||||
| <text class='throgh' wx:if="{{data.unit==0}}">{{data.priceStr}}元</text> | <text class='throgh' wx:if="{{data.unit==0}}">{{data.priceStr}}元</text> | ||||
| <text wx:if="{{data.unit==1}}">{{data.priceStr}}小时</text> | <text wx:if="{{data.unit==1}}">{{data.priceStr}}小时</text> | ||||
| <text class='throgh' wx:if="{{data.unit==0}}">{{data.priceStr}}元</text> | |||||
| </view> | |||||
| <view class="fl" wx:if="{{data.type==8}}">可砍至 | |||||
| <text class="pri01">{{data.salePriceStr}}</text>元 | |||||
| <text class='throgh'>{{data.priceStr}}元</text> | |||||
| </view> | </view> | ||||
| <text class="restNum fr">剩余<text>{{data.remainInventory}}件</text></text> | <text class="restNum fr">剩余<text>{{data.remainInventory}}件</text></text> | ||||
| </view> | </view> | ||||
| @@ -79,7 +84,7 @@ | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view class="buy-view app-border-top" style="position:fixed;z-index:{{zIndex}};"> | |||||
| <view wx:if="{{data.type!=8}}" class="buy-view app-border-top" style="position:fixed;z-index:{{zIndex}};"> | |||||
| <button bindtap='gotopay' disabled='{{showbutton}}' hover-class='active' class='buy' wx:if="{{data.salePriceStr!=0&&data.remainInventory!=0&&endtime!='活动已结束'}}"> | <button bindtap='gotopay' disabled='{{showbutton}}' hover-class='active' class='buy' wx:if="{{data.salePriceStr!=0&&data.remainInventory!=0&&endtime!='活动已结束'}}"> | ||||
| <text class='txt'>{{data.salePriceStr}}元</text>马上购买</button> | <text class='txt'>{{data.salePriceStr}}元</text>马上购买</button> | ||||
| <button bindtap='gotopay' disabled='{{showbutton}}' class='buy' wx:if="{{data.salePriceStr==0&&data.remainInventory!=0&&endtime!='活动已结束'}}">免费领取</button> | <button bindtap='gotopay' disabled='{{showbutton}}' class='buy' wx:if="{{data.salePriceStr==0&&data.remainInventory!=0&&endtime!='活动已结束'}}">免费领取</button> | ||||
| @@ -88,8 +93,16 @@ | |||||
| <button class='buy' disabled='true' wx:if="{{total_micro_second<=0}}">活动已结束</button> | <button class='buy' disabled='true' wx:if="{{total_micro_second<=0}}">活动已结束</button> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view wx:if="{{data.type==8}}" class="btns clearfix" hover-class="none" hover-stop-propagation="false"> | |||||
| <button class="fl" bindtap='gotopay' disabled='{{showbutton}}'> | |||||
| <text>{{data.priceStr}}元</text> | |||||
| <text>立即购买</text> | |||||
| </button> | |||||
| <button class="fr" bindtap='inviteFriend' disabled='{{showbutton}}'> | |||||
| 邀请好友继续砍价 | |||||
| </button> | |||||
| </view> | |||||
| <!-- 问卷调查 --> | <!-- 问卷调查 --> | ||||
| <view class="b1" style="opacity:{{opacity}};display: {{display}};" animation="{{queueData}}"> | <view class="b1" style="opacity:{{opacity}};display: {{display}};" animation="{{queueData}}"> | ||||
| <view id='con' class='con'> | <view id='con' class='con'> | ||||
| @@ -101,16 +114,9 @@ | |||||
| <text class='titles'>{{questionnaire.title}}</text> | <text class='titles'>{{questionnaire.title}}</text> | ||||
| <!-- 单选 --> | <!-- 单选 --> | ||||
| <radio-group class="radio-group" wx:if="{{questionnaire.flag=='single'}}" data-flags="single" bindchange="formSubmit" data-questionId="{{questionId}}"> | <radio-group class="radio-group" wx:if="{{questionnaire.flag=='single'}}" data-flags="single" bindchange="formSubmit" data-questionId="{{questionId}}"> | ||||
| <!-- <label wx:for="{{questionnaire.answers}}" wx:key="{{index}}" data-answer="{{item.name}}" data-answerId="{{item.id}}"> | |||||
| <radio class="radio ques" value="{{item.id}}" />{{item.name}} | |||||
| </label> --> | |||||
| <label class="radios" wx:for="{{questionnaire.answers}}" wx:key="{{index}}"> | |||||
| <radio value="{{item.id}}" checked="{{item.checked}}" />{{item.name}} | |||||
| </label> | |||||
| <label class="radios" wx:for="{{questionnaire.answers}}" wx:key="{{index}}"> | |||||
| <radio value="{{item.id}}" checked="{{item.checked}}" />{{item.name}} | |||||
| </label> | |||||
| </radio-group> | </radio-group> | ||||
| <!-- 多选 --> | <!-- 多选 --> | ||||
| <checkbox-group bindchange="checkboxChange" wx:if="{{questionnaire.flag=='multi'}}" bindchange="checkboxChange"> | <checkbox-group bindchange="checkboxChange" wx:if="{{questionnaire.flag=='multi'}}" bindchange="checkboxChange"> | ||||
| @@ -118,7 +124,7 @@ | |||||
| <checkbox value="{{item.id}}" />{{item.name}} | <checkbox value="{{item.id}}" />{{item.name}} | ||||
| </label> | </label> | ||||
| </checkbox-group> | </checkbox-group> | ||||
| <view class='ques btns' wx:if="{{questionnaire.flag=='multi'}}" data-flags='multi' bindtap='formSubmit' data-questionId="{{questionId}}">确定</view> | |||||
| <view class='ques btnss' wx:if="{{questionnaire.flag=='multi'}}" data-flags='multi' bindtap='formSubmit' data-questionId="{{questionId}}">确定</view> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| @@ -130,7 +130,6 @@ page { | |||||
| font-size: 40rpx; | font-size: 40rpx; | ||||
| color: #ff4949; | color: #ff4949; | ||||
| letter-spacing: 0; | letter-spacing: 0; | ||||
| margin-left: 10rpx; | |||||
| } | } | ||||
| .salePriceStr .yuan { | .salePriceStr .yuan { | ||||
| @@ -148,10 +147,12 @@ page { | |||||
| .throgh { | .throgh { | ||||
| text-decoration: line-through; | text-decoration: line-through; | ||||
| margin-left: 10rpx; | margin-left: 10rpx; | ||||
| color: #999!important; | |||||
| } | } | ||||
| .fl { | .fl { | ||||
| float: left; | float: left; | ||||
| color: red; | |||||
| } | } | ||||
| .fr { | .fr { | ||||
| @@ -434,7 +435,7 @@ page { | |||||
| left: 23rpx; | left: 23rpx; | ||||
| } | } | ||||
| .btns { | |||||
| .btnss { | |||||
| color: #f8755b; | color: #f8755b; | ||||
| font-weight: bold; | font-weight: bold; | ||||
| font-size: 30rpx !important; | font-size: 30rpx !important; | ||||
| @@ -468,3 +469,40 @@ page { | |||||
| line-height: 70rpx; | line-height: 70rpx; | ||||
| color: #333; | color: #333; | ||||
| } | } | ||||
| .btns{ | |||||
| padding: 0 33rpx; | |||||
| position: fixed; | |||||
| left: 0; | |||||
| right: 0; | |||||
| bottom: 0; | |||||
| padding-bottom: 37rpx; | |||||
| padding-top:37rpx; | |||||
| z-index: 100; | |||||
| background: #fff; | |||||
| } | |||||
| .btns > button{ | |||||
| width: 330rpx; | |||||
| height: 95rpx; | |||||
| border-radius:48rpx; | |||||
| text-align: center; | |||||
| } | |||||
| .btns .fl{ | |||||
| color: #fff; | |||||
| background:rgba(255,169,2,1); | |||||
| box-shadow:0px 8px 8px 1px rgba(255,169,2,0.32); | |||||
| } | |||||
| .btns .fl text{ | |||||
| display: block; | |||||
| font-size: 30rpx; | |||||
| line-height: 34rpx; | |||||
| } | |||||
| .btns .fl text:nth-of-type(1){ | |||||
| margin-top: 12rpx; | |||||
| } | |||||
| .btns .fr{ | |||||
| font-size: 30rpx; | |||||
| color: #fff; | |||||
| line-height: 95rpx; | |||||
| background:linear-gradient(90deg,rgba(236,59,45,1) 0%,rgba(248,98,52,1) 100%); | |||||
| box-shadow:0px 8px 8px 1px rgba(246,93,51,0.32); | |||||
| } | |||||
| @@ -10,85 +10,89 @@ Page({ | |||||
| }, | }, | ||||
| onLoad: function(options) { | onLoad: function(options) { | ||||
| var that = this; | var that = this; | ||||
| if (options.couponChannelId && options.couponId){ | |||||
| if (options.couponChannelId && options.couponId||options.orderId) { | |||||
| that.setData({ | that.setData({ | ||||
| couponChannelId: options.couponChannelId, | couponChannelId: options.couponChannelId, | ||||
| couponId: options.couponId, | couponId: options.couponId, | ||||
| orderId:options.orderId | |||||
| }) | }) | ||||
| } | } | ||||
| if (options.path == 'index') { | if (options.path == 'index') { | ||||
| that.path = options.path | that.path = options.path | ||||
| } | } | ||||
| Http.get({ | Http.get({ | ||||
| url: config.api.marketicon, | |||||
| data: { | |||||
| appId: config.weapp.AppId | |||||
| } | |||||
| }).then(res => { | |||||
| that.setData({ | |||||
| mallImgUrl: res.data.mallImgUrl | |||||
| }); | |||||
| wx.setNavigationBarTitle({ | |||||
| title: res.data.mallName | |||||
| url: config.api.marketicon, | |||||
| data: { | |||||
| appId: config.weapp.AppId | |||||
| } | |||||
| }).then(res => { | |||||
| that.setData({ | |||||
| mallImgUrl: res.data.mallImgUrl | |||||
| }); | |||||
| wx.setNavigationBarTitle({ | |||||
| title: res.data.mallName | |||||
| }) | |||||
| }) | |||||
| .catch(err => { | |||||
| wx.showToast({ | |||||
| title: err.errMsg, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| }) | }) | ||||
| }) | |||||
| .catch(err => { | |||||
| wx.showToast({ | |||||
| title: err.errMsg, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| }) | |||||
| }, | }, | ||||
| bindGetUserInfo: function(e) { | |||||
| let that=this; | |||||
| bindGetUserInfo: function (e) { | |||||
| let that = this; | |||||
| var iv = e.detail.iv; | var iv = e.detail.iv; | ||||
| var encryptedData = e.detail.encryptedData; | var encryptedData = e.detail.encryptedData; | ||||
| Http.post({ | Http.post({ | ||||
| url: config.api.getUserInfo, | |||||
| data: { | |||||
| encryptedData: encryptedData, | |||||
| iv: iv | |||||
| } | |||||
| }) | |||||
| .then( | |||||
| function(res) { | |||||
| console.log(res) | |||||
| if(that.path=='index'){ | |||||
| wx.reLaunch({ | |||||
| url: "/pages/game/index" | |||||
| }); | |||||
| url: config.api.getUserInfo, | |||||
| data: { | |||||
| encryptedData: encryptedData, | |||||
| iv: iv | |||||
| } | } | ||||
| else{ | |||||
| //返回主页 | |||||
| if (that.data.couponChannelId && that.data.couponId){ | |||||
| wx.redirectTo({ | |||||
| url: `/pages/coupon/detail/index?couponChannelId=${that.data.couponChannelId}&couponId=${that.data.couponId}` | |||||
| }); | |||||
| }else{ | |||||
| wx.switchTab({ | |||||
| url: "/pages/index/index" | |||||
| }) | |||||
| .then( | |||||
| function (res) { | |||||
| console.log(res) | |||||
| if (that.path == 'index') { | |||||
| wx.reLaunch({ | |||||
| url: "/pages/game/index" | |||||
| }); | }); | ||||
| } else { | |||||
| //返回主页 | |||||
| if (that.data.couponChannelId && that.data.couponId) { | |||||
| wx.redirectTo({ | |||||
| url: `/pages/coupon/detail/index?couponChannelId=${that.data.couponChannelId}&couponId=${that.data.couponId}` | |||||
| }); | |||||
| } else if (that.data.orderId) { | |||||
| wx.redirectTo({ | |||||
| url: `/pages/bargain/bargainDatail/bargainDatail?orderId=${that.data.orderId}&from=${"friend"}` | |||||
| }); | |||||
| } else { | |||||
| wx.switchTab({ | |||||
| url: "/pages/index/index" | |||||
| }); | |||||
| } | |||||
| } | } | ||||
| }, | |||||
| function (error) { | |||||
| console.log(error) | |||||
| wx.showToast({ | |||||
| title: "请授权个人信息", | |||||
| icon: "none" | |||||
| }); | |||||
| } | } | ||||
| }, | |||||
| function(error) { | |||||
| console.log(error) | |||||
| ) | |||||
| .catch(err => { | |||||
| wx.showToast({ | wx.showToast({ | ||||
| title: "请授权个人信息", | |||||
| icon: "none" | |||||
| title: err.errMsg, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | }); | ||||
| } | |||||
| ) | |||||
| .catch(err => { | |||||
| wx.showToast({ | |||||
| title: err.errMsg, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| }) | |||||
| }) | |||||
| } | } | ||||
| }); | }); | ||||
| @@ -10,6 +10,7 @@ Page({ | |||||
| icon001: imgurl.icon001.url, | icon001: imgurl.icon001.url, | ||||
| icon002: imgurl.icon002.url, | icon002: imgurl.icon002.url, | ||||
| icon003: imgurl.icon003.url, | icon003: imgurl.icon003.url, | ||||
| icon004: imgurl.icon004.url, | |||||
| market: app.globalData.market, | market: app.globalData.market, | ||||
| list: [], | list: [], | ||||
| loading: true, | loading: true, | ||||
| @@ -167,8 +168,7 @@ Page({ | |||||
| * 生命周期函数--监听页面初次渲染完成 | * 生命周期函数--监听页面初次渲染完成 | ||||
| */ | */ | ||||
| onLoad: function (options) { | onLoad: function (options) { | ||||
| console.log("AppId:" + config.weapp.AppId) | |||||
| console.log("-------------------Yesyyy----------------------------------") | |||||
| wx.setStorageSync('imgurl', imgurl) | wx.setStorageSync('imgurl', imgurl) | ||||
| if (options.played == "true") { | if (options.played == "true") { | ||||
| this.setData({ | this.setData({ | ||||
| @@ -186,8 +186,8 @@ Page({ | |||||
| }); | }); | ||||
| } | } | ||||
| app.getLocation(); | app.getLocation(); | ||||
| if (options.couponChannelId && options.couponId) { | |||||
| that.userLogin(options.couponChannelId, options.couponId); | |||||
| if (options.couponChannelId && options.couponId||options.orderId) { | |||||
| that.userLogin(options.couponChannelId, options.couponId,options.orderId); | |||||
| } else { | } else { | ||||
| that.userLogin() | that.userLogin() | ||||
| } | } | ||||
| @@ -270,7 +270,7 @@ Page({ | |||||
| /** | /** | ||||
| * 用户登录 | * 用户登录 | ||||
| */ | */ | ||||
| userLogin: function (couponChannelId, couponId) { | |||||
| userLogin: function (couponChannelId, couponId,orderId) { | |||||
| var that = this; | var that = this; | ||||
| // 登录 | // 登录 | ||||
| wx.login({ | wx.login({ | ||||
| @@ -327,15 +327,19 @@ Page({ | |||||
| if (app.businessListCallback) { | if (app.businessListCallback) { | ||||
| app.businessListCallback(app.globalData.token); | app.businessListCallback(app.globalData.token); | ||||
| } | } | ||||
| that.checkuerstatus(couponChannelId, couponId); | |||||
| that.checkuerstatus(couponChannelId, couponId,orderId); | |||||
| }) | }) | ||||
| .catch(err => { | .catch(err => { | ||||
| wx.showToast({ | |||||
| title: err.message, | |||||
| icon:"none" | |||||
| }) | |||||
| }); | }); | ||||
| } | } | ||||
| }); | }); | ||||
| }, | }, | ||||
| checkuerstatus(couponChannelId, couponId) { | |||||
| checkuerstatus(couponChannelId, couponId,orderId) { | |||||
| Http.post({ | Http.post({ | ||||
| url: config.api.checkUserStatus, | url: config.api.checkUserStatus, | ||||
| data: {} | data: {} | ||||
| @@ -345,6 +349,10 @@ Page({ | |||||
| wx.navigateTo({ | wx.navigateTo({ | ||||
| url: `/pages/coupon/detail/index?couponChannelId=${couponChannelId}&couponId=${couponId}`, | url: `/pages/coupon/detail/index?couponChannelId=${couponChannelId}&couponId=${couponId}`, | ||||
| }) | }) | ||||
| }else if(orderId){ | |||||
| wx.navigateTo({ | |||||
| url: `/pages/bargain/bargainDatail/bargainDatail?orderId=${orderId}&from='${"discount"}`, | |||||
| }) | |||||
| } | } | ||||
| }) | }) | ||||
| .catch(err => { | .catch(err => { | ||||
| @@ -354,6 +362,10 @@ Page({ | |||||
| wx.redirectTo({ | wx.redirectTo({ | ||||
| url: `/pages/getuserinfo/index?couponChannelId=${couponChannelId}&couponId=${couponId}` | url: `/pages/getuserinfo/index?couponChannelId=${couponChannelId}&couponId=${couponId}` | ||||
| }); | }); | ||||
| } else if (orderId) { | |||||
| wx.redirectTo({ | |||||
| url: `/pages/getuserinfo/index?orderId=${orderId}&from='${"discount"}` | |||||
| }); | |||||
| } else { | } else { | ||||
| wx.redirectTo({ | wx.redirectTo({ | ||||
| url: '/pages/getuserinfo/index' | url: '/pages/getuserinfo/index' | ||||
| @@ -481,6 +493,11 @@ Page({ | |||||
| } | } | ||||
| }); | }); | ||||
| }, | }, | ||||
| gotoBargain:function(){ | |||||
| wx.navigateTo({ | |||||
| url: '/pages/bargain/bargain' | |||||
| }) | |||||
| }, | |||||
| /** | /** | ||||
| * 刷新 | * 刷新 | ||||
| */ | */ | ||||
| @@ -10,6 +10,10 @@ | |||||
| <view bindtap='gotodiscountCardList'> | <view bindtap='gotodiscountCardList'> | ||||
| <image src='{{icon002}}'></image> | <image src='{{icon002}}'></image> | ||||
| <text>消费卡</text> | <text>消费卡</text> | ||||
| </view> | |||||
| <view bindtap='gotoBargain'> | |||||
| <image src='{{icon004}}'></image> | |||||
| <text>砍价专场</text> | |||||
| </view> | </view> | ||||
| <view bindtap='qrcode'> | <view bindtap='qrcode'> | ||||
| <image src='{{icon003}}'></image> | <image src='{{icon003}}'></image> | ||||
| @@ -70,10 +70,10 @@ | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <!-- 待付款 显示立即购买的按钮 --> | <!-- 待付款 显示立即购买的按钮 --> | ||||
| <view wx:if="{{order.orderStatus==0&&order.salePrice!=0}}" class="buy-view app-border-top"> | |||||
| <view wx:if="{{order.orderStatus==0&&order.salePrice!=0||order.orderStatus==7&&order.salePrice!=0}}" class="buy-view app-border-top"> | |||||
| <button bindtap='orderFunc' hover-class='active' data-couponChannelId="{{order.id}}" class='buy'>立即支付</button> | <button bindtap='orderFunc' hover-class='active' data-couponChannelId="{{order.id}}" class='buy'>立即支付</button> | ||||
| </view> | </view> | ||||
| <view class='game' bindtap="gotogame" wx-if="{{showIf}}"> | |||||
| <view class='game' bindtap="gotogame" wx-if="{{showIf&&order.orderStatus!=0}}"> | |||||
| <view class='game-entry'> | <view class='game-entry'> | ||||
| <image src="{{newUrl}}" class='gameimg' mode='widthFix'></image> | <image src="{{newUrl}}" class='gameimg' mode='widthFix'></image> | ||||
| </view> | </view> | ||||
| @@ -22,10 +22,10 @@ Page({ | |||||
| ], | ], | ||||
| list: [], | list: [], | ||||
| current: "", | current: "", | ||||
| loading: true, //"上拉加载"的变量,默认false,隐藏 | |||||
| current_scroll: "1", | current_scroll: "1", | ||||
| page: 1, | |||||
| allow_load: true, | allow_load: true, | ||||
| loading: true, //"上拉加载"的变量,默认false,隐藏 | |||||
| page: 1, | |||||
| content: "", | content: "", | ||||
| }, | }, | ||||
| onLoad(e) { | onLoad(e) { | ||||
| @@ -10,10 +10,16 @@ | |||||
| </view> | </view> | ||||
| <view class='info'> | <view class='info'> | ||||
| <view> | <view> | ||||
| <image wx:if="{{item.orderStatus == 6 || item.orderStatus == 7 || item.orderStatus == 8 || item.orderStatus == 9}}" src="./../../../assets/images/discount.png" class="discount" mode="widthFix"></image> | |||||
| <image wx:if="{{item.orderStatus == 1&& item.type == 8}}" src="./../../../assets/images/discount.png" class="discount" mode="widthFix"></image> | |||||
| <text>{{item.title}}</text> | <text>{{item.title}}</text> | ||||
| <text class='wait' wx:if="{{item.orderStatus==0}}">等待付款</text> | <text class='wait' wx:if="{{item.orderStatus==0}}">等待付款</text> | ||||
| <text class='sucess' wx:if="{{item.orderStatus==3}}">待退款</text> | <text class='sucess' wx:if="{{item.orderStatus==3}}">待退款</text> | ||||
| <text class='close' wx:if="{{item.orderStatus==2}}">交易关闭</text> | <text class='close' wx:if="{{item.orderStatus==2}}">交易关闭</text> | ||||
| <text class='close' wx:if="{{item.orderStatus==6}}">砍价中</text> | |||||
| <text class='sucess' wx:if="{{item.orderStatus==7}}">砍价成功</text> | |||||
| <text class='close' wx:if="{{item.orderStatus==8}}">砍价失败</text> | |||||
| <text class='close' wx:if="{{item.orderStatus==9}}">砍价取消</text> | |||||
| <text class='close' wx:if="{{item.orderStatus==4}}">已退款</text> | <text class='close' wx:if="{{item.orderStatus==4}}">已退款</text> | ||||
| <text class='wait' wx:if="{{item.orderStatus==5}}">退款失败</text> | <text class='wait' wx:if="{{item.orderStatus==5}}">退款失败</text> | ||||
| <text class='sucess' wx:if="{{item.orderStatus==1&&item.salePrice==0}}">免费领取</text> | <text class='sucess' wx:if="{{item.orderStatus==1&&item.salePrice==0}}">免费领取</text> | ||||
| @@ -41,7 +47,7 @@ | |||||
| <view wx:if="{{item.orderStatus==1}}" class="btn" data-id="{{item.id}}" bindtap="gotopay"> | <view wx:if="{{item.orderStatus==1}}" class="btn" data-id="{{item.id}}" bindtap="gotopay"> | ||||
| <text>查看详情</text> | <text>查看详情</text> | ||||
| </view> | </view> | ||||
| <view wx:if="{{item.orderStatus==0}}" class="btn" data-id="{{item.id}}" bindtap="gotopay"> | |||||
| <view wx:if="{{item.orderStatus==0 || item.orderStatus==7}}" class="btn" data-id="{{item.id}}" bindtap="gotopay"> | |||||
| <text>去支付</text> | <text>去支付</text> | ||||
| </view> | </view> | ||||
| <view wx:if="{{item.orderStatus==5}}" style="background:#999;opacity: .6;" class="btn"> | <view wx:if="{{item.orderStatus==5}}" style="background:#999;opacity: .6;" class="btn"> | ||||
| @@ -84,7 +84,12 @@ text-overflow: ellipsis; | |||||
| white-space: nowrap; | white-space: nowrap; | ||||
| text-overflow: ellipsis; | text-overflow: ellipsis; | ||||
| } | } | ||||
| .discount{ | |||||
| position: absolute; | |||||
| width: 100rpx; | |||||
| top:86rpx; | |||||
| right:2rpx; | |||||
| } | |||||
| .info .sucess { | .info .sucess { | ||||
| display: inline-block; | display: inline-block; | ||||
| width: 123rpx !important; | width: 123rpx !important; | ||||
| @@ -550,7 +550,7 @@ Page({ | |||||
| syncId: res.data.orderId, | syncId: res.data.orderId, | ||||
| payType: 6, // 小程序支付 | payType: 6, // 小程序支付 | ||||
| CarNumber: carNumber, | CarNumber: carNumber, | ||||
| returnUrl: "https://admin.malls.iformall.com/api/carCallback/etcpPaidCallback", | |||||
| returnUrl: "https://admintest.malls.iformall.com/api/carCallback/etcpPaidCallback", | |||||
| source: "FUMAO-001", | source: "FUMAO-001", | ||||
| actionId: "1" //操作ID,1:小程序支付 | actionId: "1" //操作ID,1:小程序支付 | ||||
| } | } | ||||
| @@ -36,14 +36,15 @@ Page({ | |||||
| */ | */ | ||||
| onShow: function () { | onShow: function () { | ||||
| let that = this; | let that = this; | ||||
| Http.get({ | |||||
| url: config.api.discountMerchantList, | |||||
| Http.post({ | |||||
| url: config.api.getDiscountInfo, | |||||
| data: {} | data: {} | ||||
| }) | }) | ||||
| .then(res=>{ | .then(res=>{ | ||||
| console.log(res) | console.log(res) | ||||
| that.setData({ | that.setData({ | ||||
| discountMerchantList:res.data | |||||
| discountMerchantList: res.data.levelMerchantList, | |||||
| level: res.data.level ? res.data.level:'' | |||||
| }) | }) | ||||
| }) | }) | ||||
| }, | }, | ||||
| @@ -2,16 +2,16 @@ | |||||
| <image src="{{myspeacialUrl}}" mode='widthFix'></image> | <image src="{{myspeacialUrl}}" mode='widthFix'></image> | ||||
| </view> | </view> | ||||
| <view class='con'> | <view class='con'> | ||||
| <view class="title">以下为商城会员对应门店的优惠折扣</view> | |||||
| <view class="title">以下为商城<text class='level'>{{level}}</text>对应门店的优惠折扣</view> | |||||
| </view> | </view> | ||||
| <view class='cards clearfix'> | <view class='cards clearfix'> | ||||
| <view class='card' wx:for="{{discountMerchantList}}" wx:key="{{index}}" wx:if="{{item.vipDiscountRate1/1000!=10}}"> | |||||
| <view class='card' wx:for="{{discountMerchantList}}" wx:key="{{index}}" wx:if="{{item.discount/10!=10&&discountMerchantList.length>0}}"> | |||||
| <view class='txt01'> | <view class='txt01'> | ||||
| <view class="triangle"> | <view class="triangle"> | ||||
| <text><i>></i></text> | <text><i>></i></text> | ||||
| </view> | </view> | ||||
| <view class='discount'> | <view class='discount'> | ||||
| <text style='display:inline-block;'>{{item.vipDiscountRate1/1000}}</text>折</view> | |||||
| <text style='display:inline-block;'>{{item.discount/10}}</text>折</view> | |||||
| <text class='tit'>{{item.merchantName}}</text> | <text class='tit'>{{item.merchantName}}</text> | ||||
| <view class='clearfix footer'> | <view class='clearfix footer'> | ||||
| <text class='fl'>{{item.buildingName}}{{item.floorName}}</text> | <text class='fl'>{{item.buildingName}}{{item.floorName}}</text> | ||||
| @@ -21,4 +21,7 @@ | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <!-- <view class='none' wx:if="{{item.discount/10==10&&discountMerchantList.length>0}}"> | |||||
| 暂无数据 | |||||
| </view> --> | |||||
| </view> | </view> | ||||
| @@ -1,6 +1,13 @@ | |||||
| Page{ | Page{ | ||||
| background: #C8223C; | background: #C8223C; | ||||
| } | } | ||||
| .none{ | |||||
| font-size: 28rpx; | |||||
| text-align: center; | |||||
| margin-top: 30rpx; | |||||
| color: #fff; | |||||
| float:none!important; | |||||
| } | |||||
| .headerbg image{ | .headerbg image{ | ||||
| display: block; | display: block; | ||||
| width: 100%; | width: 100%; | ||||
| @@ -91,3 +98,6 @@ Page{ | |||||
| .discount text{ | .discount text{ | ||||
| font-size: 28rpx; | font-size: 28rpx; | ||||
| } | } | ||||
| .level{ | |||||
| color: yellow; | |||||
| } | |||||
| @@ -76,7 +76,7 @@ | |||||
| <view class="margin"></view> | <view class="margin"></view> | ||||
| <!-- <button bindtap="navigateTo" class="user-out-btn">退出登陆</button> --> | <!-- <button bindtap="navigateTo" class="user-out-btn">退出登陆</button> --> | ||||
| <view bindlongtap='showVersion' class='version'> | <view bindlongtap='showVersion' class='version'> | ||||
| <view wx:if="{{flag=='show'}}">版本号:3.2.2</view> | |||||
| <view wx:if="{{flag=='show'}}">版本号:3.2.3</view> | |||||
| <view wx:if="{{flag=='hidden'}}"></view> | <view wx:if="{{flag=='hidden'}}"></view> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| @@ -13,7 +13,7 @@ | |||||
| }, | }, | ||||
| "compileType": "miniprogram", | "compileType": "miniprogram", | ||||
| "libVersion": "2.0.9", | "libVersion": "2.0.9", | ||||
| "appid": "wx649b3be73c1afe47", | |||||
| "appid": "wxea71200db93d756b", | |||||
| "projectname": "C", | "projectname": "C", | ||||
| "isGameTourist": false, | "isGameTourist": false, | ||||
| "condition": { | "condition": { | ||||
| @@ -335,5 +335,9 @@ module.exports = { | |||||
| 'icon003': { | 'icon003': { | ||||
| 'url': baseUrl + 'icon003.png', | 'url': baseUrl + 'icon003.png', | ||||
| 'name': '' | 'name': '' | ||||
| }, | |||||
| 'icon004': { | |||||
| 'url': baseUrl + 'icon004.png', | |||||
| 'name': '' | |||||
| } | } | ||||
| } | } | ||||