Просмотр исходного кода

拼团详情页新增适用门店列表

tags/富茂链客4.1.0
刘晖 6 лет назад
Родитель
Сommit
9bb5a6cb27
5 измененных файлов: 373 добавлений и 24 удалений
  1. +9
    -0
      pages/getphoneInfo/index.js
  2. +9
    -0
      pages/phoneinput/phoneinput.js
  3. +247
    -11
      pages/spellGroup/mySpellGroup/index.js
  4. +24
    -10
      pages/spellGroup/mySpellGroup/index.wxml
  5. +84
    -3
      pages/spellGroup/mySpellGroup/index.wxss

+ 9
- 0
pages/getphoneInfo/index.js Просмотреть файл

@@ -59,6 +59,15 @@ Page({
}).then( }).then(
function (res) { function (res) {
app.globalData.phone = res.data.phone; app.globalData.phone = res.data.phone;
/**
* 来自拼团详情
*/
if (that.path == 'spell') {
wx.redirectTo({
url: "pages/spellGroup/mySpellGroup/index?couponChannelId=" + that.data.paramData.couponChannelId + "&couponId" + that.data.paramData.couponId
})
return;
}
/** /**
* fromId若存在来自卡转赠 * fromId若存在来自卡转赠
*/ */


+ 9
- 0
pages/phoneinput/phoneinput.js Просмотреть файл

@@ -45,6 +45,15 @@ Page({
} }
}) })
.then(res => { .then(res => {
/**
* 来自拼团详情
*/
if (that.path == 'spell'){
wx.redirectTo({
url: "pages/spellGroup/mySpellGroup/index?couponChannelId=" + that.data.paramData.couponChannelId + "&couponId" + that.data.paramData.couponId
})
return;
}
if (that.path != 'index'){ if (that.path != 'index'){
wx.redirectTo({ wx.redirectTo({
url: "/pages/game/index?url=" + that.data.paramData.url + "&id=" + that.data.paramData.id + "&gameId=" + that.data.paramData.gameId, url: "/pages/game/index?url=" + that.data.paramData.url + "&id=" + that.data.paramData.id + "&gameId=" + that.data.paramData.gameId,


+ 247
- 11
pages/spellGroup/mySpellGroup/index.js Просмотреть файл

@@ -8,10 +8,13 @@ Page({
* 页面的初始数据 * 页面的初始数据
*/ */
data: { data: {
teljpgUrl: imgurl.teljpg.url,
couponChannelId:'', couponChannelId:'',
couponId:'', couponId:'',
detailData:[],
spellData:null
data:[],
spellData:null,
canSpell:true,
canBuyIf:true
}, },


/** /**
@@ -25,6 +28,34 @@ Page({
this.getDetail(options.couponChannelId); this.getDetail(options.couponChannelId);
this.getOneSpell(options.couponId) this.getOneSpell(options.couponId)
}, },
/**
* 拨打电话
*/
phone: function (e) {
let that = this;
wx.makePhoneCall({
phoneNumber: e.target.dataset.merchantlinkphone
});
},
/**
* 直接购买
*/
gotoBuy(){
console.log(22222)
this.setData({
canBuyIf: false
})
},
/**
* 发起拼团
*/
gotoSpell(){
console.log(111111111)
this.setData({
canSpell:false
})
this.orderFunc()
},
/** /**
* 获取一个拼团信息 * 获取一个拼团信息
*/ */
@@ -58,10 +89,219 @@ Page({
data.price = (data.price / 100).toFixed(2) data.price = (data.price / 100).toFixed(2)
data.salePrice = (data.salePrice / 100).toFixed(2) data.salePrice = (data.salePrice / 100).toFixed(2)
that.setData({ that.setData({
detailData: data
data
}); });
}); });
}, },
/**
* 发起支付
*/
orderFunc(discount) {
var that = this;
Http.post({
url: config.api.checkPhoneStatus,
data: {}
})
.then(res => {
/**
* orderSave 下单
*/
debugger
// return Http.post({
// url: config.api.orderSave,
// data: data
// });
})
.catch(err => {
console.log(err);
that.setData({
showbutton: false,
showbutton1: false
})
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?path=spell&couponChannelId=" +
that.data.couponChannelId + '&couponId=' + that.data.couponId
});
} else if (err.code == 11006) {
// 用户手机已加密
wx.redirectTo({
url: "/pages/phoneinput/phoneinput?path=spell&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({
orderId: orderId
});
if (res.data.payment > 0) {
// 支付金额不为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 == 100) {
wx.setStorage({
key: 'couponNum2',
data: "couponNum2"
})
} else if (that.data.data.type != 5) {
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 => {
wx.showToast({
title: err.message,
icon: 'none',
duration: 2000,
mask: false
});
})
} else {
console.log(that.data.type)
// 免费券
that.payOrderUpdate(orderId, "0", 1, '', 'free');
if (that.data.cardType == 100) {
wx.setStorage({
key: 'couponNum2',
data: "couponNum2"
})
} else if (that.data.data.type != "5") {
wx.setStorage({
key: 'couponNum',
data: "couponNum"
})
}
}
}
} else {
if (res) {
wx.navigateTo({
url: `/pages/bargain/bargainDatail/bargainDatail?orderId=${res.data.id}`,
})
}
}
})
},
/** /**
* 生命周期函数--监听页面初次渲染完成 * 生命周期函数--监听页面初次渲染完成
*/ */
@@ -73,7 +313,10 @@ Page({
* 生命周期函数--监听页面显示 * 生命周期函数--监听页面显示
*/ */
onShow: function () { onShow: function () {

this.setData({
canSpell:true,
canBuyIf:true
})
}, },


/** /**
@@ -102,12 +345,5 @@ Page({
*/ */
onReachBottom: function () { onReachBottom: function () {


},

/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {

} }
}) })

+ 24
- 10
pages/spellGroup/mySpellGroup/index.wxml Просмотреть файл

@@ -1,14 +1,14 @@
<view class="content-box"> <view class="content-box">
<view class='content'> <view class='content'>
<view class='top-img'> <view class='top-img'>
<image src='{{detailData.coverImg}}'></image>
<image src='{{data.coverImg}}'></image>
</view> </view>
<view class='title'>{{detailData.title}}</view>
<view class='title'>{{data.title}}</view>
<view class='text'> <view class='text'>
<view class='remark'>{{detailData.subTitle}}</view>
<view class='remark'>{{data.subTitle}}</view>
<view class='des'> <view class='des'>
<view class='des-peoplenum'>【拼团购】{{detailData.pressLimitNum}}人拼团成功,单价仅需</view>
<view class='des-saleprice'>{{detailData.salePriceStr}}元</view>
<view class='des-peoplenum'>【拼团购】{{data.pressLimitNum}}人拼团成功,单价仅需</view>
<view class='des-saleprice'>{{data.salePriceStr}}元</view>
</view> </view>
<view class='status'> <view class='status'>
<view class='status01 st'> <view class='status01 st'>
@@ -26,19 +26,33 @@
</view> </view>
<view class='p-des'> <view class='p-des'>
<view class='p-title'>商品详情:</view> <view class='p-title'>商品详情:</view>
<view class='p-list'>{{detailData.remark}}</view>
<view class='p-list'>{{data.remark}}</view>
</view>
<view class='posi'>
<view class='applyshop'>适用门店</view>
<view class='posi_logo' wx:for="{{data.merchantVoList}}" wx:key="index">
<view>
<image src='{{item.merchantImgUrl}}'></image>
</view>
<view>
<text>{{item.merchantName}}</text>
<text>{{item.addr}}{{item.buildingName}}{{item.floorName}}</text>
</view>
<image bindtap='phone' data-merchantLinkPhone='{{item.merchantLinkPhone}}' class="tel" src="{{teljpgUrl}}" mode="widthFix" />
</view>
</view> </view>
<view class='edit'> <view class='edit'>
<view class='edit-left'>
<view class='edit-left' bindtap='{{canBuyIf?"gotoBuy":""}}'>
<view class='edit-left-top'> <view class='edit-left-top'>
<view class='price'>{{detailData.price}}</view>
<view class='price'>{{data.price}}</view>
<view class='price-unit'>元</view> <view class='price-unit'>元</view>
</view> </view>
<view class='edit-left-bottom'>立即购买</view> <view class='edit-left-bottom'>立即购买</view>
</view> </view>
<view class='edit-right'>
<!-- <button class='edit-right' id="shareBtn" open-type="share"></button> -->
<view class='edit-right' bindtap='{{canSpell?"gotoSpell":""}}'>
<view class='edit-right-top'> <view class='edit-right-top'>
<view class='real-price'>{{detailData.salePrice}}</view>
<view class='real-price'>{{data.salePrice}}</view>
<view class='real-price-unit'>元</view> <view class='real-price-unit'>元</view>
</view> </view>
<view class='edit-right-bottom'>发起拼团</view> <view class='edit-right-bottom'>发起拼团</view>


+ 84
- 3
pages/spellGroup/mySpellGroup/index.wxss Просмотреть файл

@@ -171,6 +171,7 @@
float: right; float: right;
width: 330rpx; width: 330rpx;
height: 95rpx; height: 95rpx;
line-height: 46rpx;
background:linear-gradient(90deg,rgba(236,59,45,1) 0%,rgba(248,98,52,1) 100%); background:linear-gradient(90deg,rgba(236,59,45,1) 0%,rgba(248,98,52,1) 100%);
box-shadow:0px 8rpx 8rpx 1rpx rgba(246,93,51,0.32); box-shadow:0px 8rpx 8rpx 1rpx rgba(246,93,51,0.32);
border-radius:48rpx; border-radius:48rpx;
@@ -207,17 +208,16 @@
} }


.edit-right-top{ .edit-right-top{
height: 46rpx;
line-height: 32rpx;
text-align: center; text-align: center;
margin-top: 13rpx;
} }
.real-price{ .real-price{
display: inline; display: inline;
font-size:32rpx; font-size:32rpx;
line-height: 32rpx;
font-family:PingFang-SC-Medium; font-family:PingFang-SC-Medium;
font-weight:500; font-weight:500;
color:rgba(254,254,254,1); color:rgba(254,254,254,1);
margin-top: 6rpx;
} }
.real-price-unit{ .real-price-unit{
display: inline; display: inline;
@@ -235,4 +235,85 @@
font-family:PingFang-SC-Medium; font-family:PingFang-SC-Medium;
font-weight:500; font-weight:500;
color:rgba(254,254,254,1); color:rgba(254,254,254,1);
}
.posi {
position: relative;
}
.applyshop{
font-size:32rpx;
font-family:PingFang-SC-Bold;
font-weight:bold;
color:rgba(51,51,51,1);
margin: 10rpx 0 20rpx 0;
}

.posi>view:nth-child(2) {
width: 100%;
height: 87rpx;
display: flex;
justify-content: space-between;
line-height: 87rpx;
}

.posi>view:nth-child(2) text:nth-child(1) {
font-size: 30rpx;
color: #a9a9a9;
}

.posi>view:nth-child(2) text:nth-child(2) {
font-size: 30rpx;
color: #a9a9a9;
}

.posi_logo {
width: 100%;
display: flex;
padding: 20rpx 0;
background: #fff;
height: 100rpx;
margin-bottom: 20rpx;
}

.posi_logo view:nth-child(1) {
width: 100rpx;
height: 100rpx;
border-radius: 16rpx;
}

.posi_logo view:nth-child(1) image {
display: block;
width: 100rpx;
height: 100rpx;
border-radius: 16rpx;
border: 1px solid #e5e5e5;
}

.posi_logo view:nth-child(2) {
display: flex;
flex-direction: column;
flex: 8;
padding-left: 30rpx;
}

.posi_logo view:nth-child(2) text:nth-child(1) {
font-size: 32rpx;
color: #333;
letter-spacing: 0;
}

.posi_logo view:nth-child(2) text:nth-child(2) {
font-size: 24rpx;
color: #b8b8b8;
padding-top: 3rpx;
width: 450rpx;
height: 36rpx;
overflow: hidden;
}
.tel {
right: 0;
top: 0;
bottom: 0;
margin: auto;
width: 50rpx;
height: 50rpx;
} }

Загрузка…
Отмена
Сохранить