@@ -1,6 +1,8 @@ | |||
{ | |||
"pages": [ | |||
"pages/index/index", | |||
"pages/bargain/bargainDatail/bargainDatail", | |||
"pages/bargain/bargain", | |||
"pages/cardorder/index/index", | |||
"pages/scanPay/scanPay", | |||
"pages/edit/edit", | |||
@@ -49,6 +51,11 @@ | |||
"wx192b7d2e8dcbefd0", | |||
"wxc07f9d67923d676d" | |||
], | |||
"permission": { | |||
"scope.userLocation": { | |||
"desc": "你的位置信息将用于小程序位置接口的效果展示" | |||
} | |||
}, | |||
"tabBar": { | |||
"color": "#9F9F9F", | |||
"selectedColor": "#00C0FF", | |||
@@ -1,11 +1,12 @@ | |||
var extConfig = wx.getExtConfigSync ? wx.getExtConfigSync() : {}; | |||
var appId = extConfig.appId; | |||
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:'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', | |||
// | |||
api: { | |||
/** | |||
* 接口用途:login | |||
@@ -191,7 +192,7 @@ var config = { | |||
/** | |||
* 获取用户折扣率 | |||
*/ | |||
getDiscount:"/user/getDiscount", | |||
getDiscountInfo:"/user/getDiscountInfo", | |||
/** | |||
* C端扫B端储值卡交易流水列表接口 | |||
*/ | |||
@@ -199,11 +200,27 @@ var config = { | |||
/** | |||
* 根据code查询接口 | |||
*/ | |||
findByCode:"/merchant/findByCode" | |||
findByCode:"/merchant/findByCode", | |||
/** | |||
* 参与砍价 | |||
*/ | |||
pressOrderJoin:"/press/pressOrderJoin", | |||
/** | |||
* 我的砍价列表 | |||
*/ | |||
pressOrderList:"/order/pressOrderList", | |||
/** | |||
* 砍价订单详情 | |||
*/ | |||
pressOrderDetail:"/order/pressOrderDetail", | |||
/** | |||
* | |||
*/ | |||
getPressOrderStatus:"/press/getPressOrderStatus" | |||
}, | |||
weapp: { | |||
AppId: "wx30caec1cc16c4634" | |||
AppId: "wxea71200db93d756b" | |||
}, | |||
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); | |||
//当前时间与优惠券下架时间做计算 | |||
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({ | |||
@@ -1,4 +1,5 @@ | |||
<view wx:if="{{showPage}}"> | |||
<!-- 券的详情页面 --> | |||
<view class='coupons'> | |||
<view class="coupons-body"> | |||
<view class='banner'> | |||
@@ -122,14 +122,14 @@ Page({ | |||
var data = { | |||
pageNum: pageNum, | |||
pageSize: 6, | |||
couponType: "7", | |||
couponType: "100", | |||
couponOrderStatus: 4 | |||
} | |||
} else if (key == '5,6,7') { | |||
var data = { | |||
pageNum: pageNum, | |||
pageSize: 6, | |||
couponType: "7", | |||
couponType: "100", | |||
statusStr: "5,6,7" | |||
} | |||
} | |||
@@ -5,17 +5,17 @@ const util = require("../../../utils/util"); | |||
const imgurl = require("../../../utils/imgurl"); | |||
Page({ | |||
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: { | |||
title: null | |||
}, | |||
showPage:false, | |||
showPage: false, | |||
questions1: null, | |||
questions2: null, | |||
carList: [], | |||
@@ -42,11 +42,11 @@ Page({ | |||
scaleData: null, | |||
skewData: 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) { | |||
let that = this; | |||
@@ -122,7 +122,7 @@ Page({ | |||
let that = this; | |||
that.setData({ | |||
queueData: null, | |||
showbutton:true | |||
showbutton: true | |||
}) | |||
Http.get({ | |||
url: config.api.getQuestion, | |||
@@ -144,9 +144,9 @@ Page({ | |||
}) | |||
that.setData({ | |||
queueData: animation.export(), | |||
zIndex:9, | |||
opacity:1, | |||
display:"block", | |||
zIndex: 9, | |||
opacity: 1, | |||
display: "block", | |||
questionnaire: JSON.parse(res.data.content), | |||
questionId: res.data.id | |||
}); | |||
@@ -223,7 +223,7 @@ Page({ | |||
couponId: options.couponId, | |||
title: that.data.data.title ? that.data.data.title : '', | |||
}); | |||
if(options.cardType){ | |||
if (options.cardType) { | |||
that.setData({ | |||
cardType: options.cardType | |||
}) | |||
@@ -235,54 +235,63 @@ Page({ | |||
} | |||
}; | |||
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({ | |||
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({ | |||
endtime: "活动已结束", | |||
validStartDate: util.formatTime(res.data.validStartDate, "yyyy-MM-dd"), | |||
validEndDate: util.formatTime(res.data.validEndDate, "yyyy-MM-dd"), | |||
}); | |||
} 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 => { | |||
wx.hideLoading() | |||
// 有价券 | |||
if (!type&&type!='free') { | |||
if (!type && type != 'free') { | |||
wx.navigateTo({ | |||
url: `/pages/order/detail/index?orderId=${ | |||
orderId | |||
}` | |||
}); | |||
}else if(type=='free'){ | |||
} else if (type == 'free') { | |||
wx.navigateTo({ | |||
url: `/pages/order/detail/index?orderId=${ | |||
orderId | |||
@@ -328,119 +337,126 @@ Page({ | |||
/** | |||
* 发起支付 | |||
*/ | |||
orderFunc(flag) { | |||
orderFunc(discount) { | |||
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 = { | |||
couponChannelId: "" + that.data.couponChannelId, | |||
couponId: "" + that.data.couponId, | |||
press: true | |||
} | |||
} else if (that.data.couponChannelId == null) { | |||
var data = { | |||
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") { | |||
let orderId = "" + res.data.id; | |||
that.setData({ | |||
@@ -456,7 +472,8 @@ Page({ | |||
data: { | |||
orderId: orderId | |||
} | |||
}).then(res => { | |||
}) | |||
.then(res => { | |||
var payOrderId = "" + res.data.payOrderId; | |||
wx.hideLoading(); | |||
wx.requestPayment({ | |||
@@ -469,9 +486,9 @@ Page({ | |||
wx.showLoading({ | |||
title: '订单正在处理中...', | |||
}) | |||
setTimeout(function(){ | |||
setTimeout(function () { | |||
wx.hideLoading() | |||
},5000) | |||
}, 5000) | |||
that.payOrderUpdate(that.data.orderId, payOrderId, 1, '', '', that); | |||
if (res.errMsg == "requestPayment:ok") { | |||
setTimeout(function () { | |||
@@ -480,12 +497,12 @@ Page({ | |||
/** | |||
* 用户支付成功以后跳转到券包列表 | |||
*/ | |||
if(that.data.cardType == 7){ | |||
if (that.data.cardType == 7) { | |||
wx.setStorage({ | |||
key: 'couponNum2', | |||
data: "couponNum2" | |||
}) | |||
}else{ | |||
} else { | |||
wx.setStorage({ | |||
key: 'couponNum', | |||
data: "couponNum" | |||
@@ -518,12 +535,12 @@ Page({ | |||
} else { | |||
// 免费券 | |||
that.payOrderUpdate(orderId, "0", 1, '', 'free'); | |||
if(that.data.cardType == 7){ | |||
if (that.data.cardType == 7) { | |||
wx.setStorage({ | |||
key: 'couponNum2', | |||
data: "couponNum2" | |||
}) | |||
}else{ | |||
} else { | |||
wx.setStorage({ | |||
key: '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({ | |||
showbutton:false | |||
showbutton: false | |||
}) | |||
}, | |||
onShareAppMessage: function (options) { | |||
@@ -30,11 +30,16 @@ | |||
<text class='title'>{{data.title}}<text class="elecard" wx:if="{{data.type==7}}">电子卡</text></text> | |||
<text class="subTitle">{{data.subTitle}}</text> | |||
<view class='salePriceStr clearfix'> | |||
<view class="fl">售价: | |||
<view class="fl" wx:if="{{data.type!=8}}">售价: | |||
<text class="pri01">{{data.salePriceStr}}</text> | |||
<text class="yuan">元</text> | |||
<text class='throgh' wx:if="{{data.unit==0}}">{{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> | |||
<text class="restNum fr">剩余<text>{{data.remainInventory}}件</text></text> | |||
</view> | |||
@@ -79,7 +84,7 @@ | |||
</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!='活动已结束'}}"> | |||
<text class='txt'>{{data.salePriceStr}}元</text>马上购买</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> | |||
</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 id='con' class='con'> | |||
@@ -101,16 +114,9 @@ | |||
<text class='titles'>{{questionnaire.title}}</text> | |||
<!-- 单选 --> | |||
<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> | |||
<!-- 多选 --> | |||
<checkbox-group bindchange="checkboxChange" wx:if="{{questionnaire.flag=='multi'}}" bindchange="checkboxChange"> | |||
@@ -118,7 +124,7 @@ | |||
<checkbox value="{{item.id}}" />{{item.name}} | |||
</label> | |||
</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> |
@@ -130,7 +130,6 @@ page { | |||
font-size: 40rpx; | |||
color: #ff4949; | |||
letter-spacing: 0; | |||
margin-left: 10rpx; | |||
} | |||
.salePriceStr .yuan { | |||
@@ -148,10 +147,12 @@ page { | |||
.throgh { | |||
text-decoration: line-through; | |||
margin-left: 10rpx; | |||
color: #999!important; | |||
} | |||
.fl { | |||
float: left; | |||
color: red; | |||
} | |||
.fr { | |||
@@ -434,7 +435,7 @@ page { | |||
left: 23rpx; | |||
} | |||
.btns { | |||
.btnss { | |||
color: #f8755b; | |||
font-weight: bold; | |||
font-size: 30rpx !important; | |||
@@ -468,3 +469,40 @@ page { | |||
line-height: 70rpx; | |||
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) { | |||
var that = this; | |||
if (options.couponChannelId && options.couponId){ | |||
if (options.couponChannelId && options.couponId||options.orderId) { | |||
that.setData({ | |||
couponChannelId: options.couponChannelId, | |||
couponId: options.couponId, | |||
orderId:options.orderId | |||
}) | |||
} | |||
if (options.path == 'index') { | |||
that.path = options.path | |||
} | |||
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 encryptedData = e.detail.encryptedData; | |||
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({ | |||
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, | |||
icon002: imgurl.icon002.url, | |||
icon003: imgurl.icon003.url, | |||
icon004: imgurl.icon004.url, | |||
market: app.globalData.market, | |||
list: [], | |||
loading: true, | |||
@@ -167,8 +168,7 @@ Page({ | |||
* 生命周期函数--监听页面初次渲染完成 | |||
*/ | |||
onLoad: function (options) { | |||
console.log("AppId:" + config.weapp.AppId) | |||
console.log("-------------------Yesyyy----------------------------------") | |||
wx.setStorageSync('imgurl', imgurl) | |||
if (options.played == "true") { | |||
this.setData({ | |||
@@ -186,8 +186,8 @@ Page({ | |||
}); | |||
} | |||
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 { | |||
that.userLogin() | |||
} | |||
@@ -270,7 +270,7 @@ Page({ | |||
/** | |||
* 用户登录 | |||
*/ | |||
userLogin: function (couponChannelId, couponId) { | |||
userLogin: function (couponChannelId, couponId,orderId) { | |||
var that = this; | |||
// 登录 | |||
wx.login({ | |||
@@ -327,15 +327,19 @@ Page({ | |||
if (app.businessListCallback) { | |||
app.businessListCallback(app.globalData.token); | |||
} | |||
that.checkuerstatus(couponChannelId, couponId); | |||
that.checkuerstatus(couponChannelId, couponId,orderId); | |||
}) | |||
.catch(err => { | |||
wx.showToast({ | |||
title: err.message, | |||
icon:"none" | |||
}) | |||
}); | |||
} | |||
}); | |||
}, | |||
checkuerstatus(couponChannelId, couponId) { | |||
checkuerstatus(couponChannelId, couponId,orderId) { | |||
Http.post({ | |||
url: config.api.checkUserStatus, | |||
data: {} | |||
@@ -345,6 +349,10 @@ Page({ | |||
wx.navigateTo({ | |||
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 => { | |||
@@ -354,6 +362,10 @@ Page({ | |||
wx.redirectTo({ | |||
url: `/pages/getuserinfo/index?couponChannelId=${couponChannelId}&couponId=${couponId}` | |||
}); | |||
} else if (orderId) { | |||
wx.redirectTo({ | |||
url: `/pages/getuserinfo/index?orderId=${orderId}&from='${"discount"}` | |||
}); | |||
} else { | |||
wx.redirectTo({ | |||
url: '/pages/getuserinfo/index' | |||
@@ -481,6 +493,11 @@ Page({ | |||
} | |||
}); | |||
}, | |||
gotoBargain:function(){ | |||
wx.navigateTo({ | |||
url: '/pages/bargain/bargain' | |||
}) | |||
}, | |||
/** | |||
* 刷新 | |||
*/ | |||
@@ -10,6 +10,10 @@ | |||
<view bindtap='gotodiscountCardList'> | |||
<image src='{{icon002}}'></image> | |||
<text>消费卡</text> | |||
</view> | |||
<view bindtap='gotoBargain'> | |||
<image src='{{icon004}}'></image> | |||
<text>砍价专场</text> | |||
</view> | |||
<view bindtap='qrcode'> | |||
<image src='{{icon003}}'></image> | |||
@@ -70,10 +70,10 @@ | |||
</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> | |||
</view> | |||
<view class='game' bindtap="gotogame" wx-if="{{showIf}}"> | |||
<view class='game' bindtap="gotogame" wx-if="{{showIf&&order.orderStatus!=0}}"> | |||
<view class='game-entry'> | |||
<image src="{{newUrl}}" class='gameimg' mode='widthFix'></image> | |||
</view> | |||
@@ -22,10 +22,10 @@ Page({ | |||
], | |||
list: [], | |||
current: "", | |||
loading: true, //"上拉加载"的变量,默认false,隐藏 | |||
current_scroll: "1", | |||
page: 1, | |||
allow_load: true, | |||
loading: true, //"上拉加载"的变量,默认false,隐藏 | |||
page: 1, | |||
content: "", | |||
}, | |||
onLoad(e) { | |||
@@ -10,10 +10,16 @@ | |||
</view> | |||
<view class='info'> | |||
<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 class='wait' wx:if="{{item.orderStatus==0}}">等待付款</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==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='wait' wx:if="{{item.orderStatus==5}}">退款失败</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"> | |||
<text>查看详情</text> | |||
</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> | |||
</view> | |||
<view wx:if="{{item.orderStatus==5}}" style="background:#999;opacity: .6;" class="btn"> | |||
@@ -84,7 +84,12 @@ text-overflow: ellipsis; | |||
white-space: nowrap; | |||
text-overflow: ellipsis; | |||
} | |||
.discount{ | |||
position: absolute; | |||
width: 100rpx; | |||
top:86rpx; | |||
right:2rpx; | |||
} | |||
.info .sucess { | |||
display: inline-block; | |||
width: 123rpx !important; | |||
@@ -550,7 +550,7 @@ Page({ | |||
syncId: res.data.orderId, | |||
payType: 6, // 小程序支付 | |||
CarNumber: carNumber, | |||
returnUrl: "https://admin.malls.iformall.com/api/carCallback/etcpPaidCallback", | |||
returnUrl: "https://admintest.malls.iformall.com/api/carCallback/etcpPaidCallback", | |||
source: "FUMAO-001", | |||
actionId: "1" //操作ID,1:小程序支付 | |||
} | |||
@@ -36,14 +36,15 @@ Page({ | |||
*/ | |||
onShow: function () { | |||
let that = this; | |||
Http.get({ | |||
url: config.api.discountMerchantList, | |||
Http.post({ | |||
url: config.api.getDiscountInfo, | |||
data: {} | |||
}) | |||
.then(res=>{ | |||
console.log(res) | |||
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> | |||
</view> | |||
<view class='con'> | |||
<view class="title">以下为商城会员对应门店的优惠折扣</view> | |||
<view class="title">以下为商城<text class='level'>{{level}}</text>对应门店的优惠折扣</view> | |||
</view> | |||
<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="triangle"> | |||
<text><i>></i></text> | |||
</view> | |||
<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> | |||
<view class='clearfix footer'> | |||
<text class='fl'>{{item.buildingName}}{{item.floorName}}</text> | |||
@@ -21,4 +21,7 @@ | |||
</view> | |||
</view> | |||
</view> | |||
<!-- <view class='none' wx:if="{{item.discount/10==10&&discountMerchantList.length>0}}"> | |||
暂无数据 | |||
</view> --> | |||
</view> |
@@ -1,6 +1,13 @@ | |||
Page{ | |||
background: #C8223C; | |||
} | |||
.none{ | |||
font-size: 28rpx; | |||
text-align: center; | |||
margin-top: 30rpx; | |||
color: #fff; | |||
float:none!important; | |||
} | |||
.headerbg image{ | |||
display: block; | |||
width: 100%; | |||
@@ -91,3 +98,6 @@ Page{ | |||
.discount text{ | |||
font-size: 28rpx; | |||
} | |||
.level{ | |||
color: yellow; | |||
} |
@@ -76,7 +76,7 @@ | |||
<view class="margin"></view> | |||
<!-- <button bindtap="navigateTo" class="user-out-btn">退出登陆</button> --> | |||
<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> | |||
</view> | |||
@@ -13,7 +13,7 @@ | |||
}, | |||
"compileType": "miniprogram", | |||
"libVersion": "2.0.9", | |||
"appid": "wx649b3be73c1afe47", | |||
"appid": "wxea71200db93d756b", | |||
"projectname": "C", | |||
"isGameTourist": false, | |||
"condition": { | |||
@@ -335,5 +335,9 @@ module.exports = { | |||
'icon003': { | |||
'url': baseUrl + 'icon003.png', | |||
'name': '' | |||
}, | |||
'icon004': { | |||
'url': baseUrl + 'icon004.png', | |||
'name': '' | |||
} | |||
} |