diff --git a/pages/order/components/smoothlyOrder/index.js b/pages/order/components/smoothlyOrder/index.js
index 34310b5..879ec6d 100644
--- a/pages/order/components/smoothlyOrder/index.js
+++ b/pages/order/components/smoothlyOrder/index.js
@@ -23,7 +23,8 @@ Component({
sommthlyIndex: 0,
showAddressPopup: false,
showItem: null,
- showSkuPopup: false
+ showSkuPopup: false,
+ content: ''
},
lifetimes: {
attached() {
@@ -64,6 +65,20 @@ Component({
this.couponCom = this.selectAllComponents("#coupon")[0];
},
methods: {
+ // 查看规格信息
+ showSkuInfo(e) {
+ this.setData({
+ showItem: e.currentTarget.dataset.item,
+ showSkuPopup: true,
+ content: '




'
+ })
+ console.log(this.data.showItem)
+ },
+ closePopup() {
+ this.setData({
+ showSkuPopup: false
+ })
+ },
// 是否有选中商品
hasSelectedGoods() {
return this.data.smoothlyList.some(item => (item.buyNum || 0) > 0);
@@ -202,10 +217,11 @@ Component({
consignee_id: type == 'post' ? postId : (this.data.address ? this.data
.address.id : '')
}).then(res => {
- if (res) {
+ if (res.code == 1) {
// 更新对应商品的邮费
const newList = [...smoothlyList]
const idx = newList.findIndex(i => i.sku_id === item.sku_id)
+ console.log(res.data.price)
if (idx > -1) {
newList[idx].postMoney = res.data.price
this.setData({
diff --git a/pages/order/components/smoothlyOrder/index.wxml b/pages/order/components/smoothlyOrder/index.wxml
index 6df6936..476dbf4 100644
--- a/pages/order/components/smoothlyOrder/index.wxml
+++ b/pages/order/components/smoothlyOrder/index.wxml
@@ -1,4 +1,5 @@
-
+
+
顺手带一件
@@ -38,7 +39,7 @@
-
@@ -67,12 +68,13 @@
-
- -->
+
\ No newline at end of file
diff --git a/pages/order/components/smoothlyOrder/index.wxss b/pages/order/components/smoothlyOrder/index.wxss
index 4860b23..993b443 100644
--- a/pages/order/components/smoothlyOrder/index.wxss
+++ b/pages/order/components/smoothlyOrder/index.wxss
@@ -112,7 +112,7 @@
}
.address-boxs .content .right .bottom {
- margin-top: 6.67rpx
+ margin-top: 6.67rpx;
font-weight: 500;
font-size: 24rpx;
color: #666666;
@@ -198,4 +198,57 @@
.product-item .product-content .product-btn image {
width: 46.67rpx;
flex-shrink: 0;
+}
+
+.sku-box {
+ width: 100vw;
+ height: 100vh;
+ background: rgba(0, 0, 0, 0.3);
+ position: fixed;
+ z-index: 99;
+ left: 0;
+ bottom: 0;
+}
+
+.sku-popup {
+ position: fixed;
+ left: 0;
+ bottom: 0;
+ width: 100%;
+ height: 60vh;
+ background-color: #fff;
+ padding: 20rpx;
+ box-sizing: border-box;
+ overflow-x: hidden;
+}
+
+.sku-name {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ font-size: 35rpx;
+ font-weight: bold;
+ height: 80rpx;
+ padding: 0 20rpx;
+ box-sizing: border-box;
+}
+.sku-name span {
+ font-weight: 400;
+}
+
+.sku-content {
+ width: 100%;
+ height: 50vh;
+ overflow-y: auto;
+ overflow-x: hidden;
+ max-width: 100%;
+}
+
+.sz-xcx-fwb-img {
+ width: 100% !important;
+ height: auto !important;
+ display: block !important;
+ margin: 0 auto !important;
+ object-fit: contain !important;
+ max-width: 100% !important;
}
\ No newline at end of file
diff --git a/pages/order/postOrder/index.js b/pages/order/postOrder/index.js
index c9e6397..c1b21ad 100644
--- a/pages/order/postOrder/index.js
+++ b/pages/order/postOrder/index.js
@@ -29,12 +29,16 @@ Page({
showYhq:null,
pickupIndex: null,
+
+ smoothlyTotal: 0,
+ maxCouponObject: null
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
+ console.log(this.data.product)
this.setData({
from: options.from,
kjId: app.globalData.kjId,
@@ -45,8 +49,21 @@ Page({
showYhq:app.globalData.listName?false:true
})
this.handleProduct()
+ console.log(this.data.product)
+ },
+
+ // 子组件发生改变时更新价格
+ handleUpdateTotalPrice(e) {
+ this.setData({
+ smoothlyTotal: e.detail.total
+ });
+ // 重新计算总价
+ this.changePrice();
+ },
+ // 调用子组件清除优惠券方法
+ callOtherCompMethod: function(e) {
+ this.couponCom.setNullCoupon()
},
-
handleProduct () {
app.globalData.postProduct.forEach((item,index) => {
item.keyIndex = index
@@ -218,7 +235,12 @@ Page({
this.changePrice()
},
changePrice: function () {
- let product = this.data.product, price = 0;
+ let product = this.data.product, price = 0, allPrice = 0;
+
+ // 顺手购价格
+ price += this.data.smoothlyTotal || 0;
+ allPrice = price
+
product.map(item => {
price = price + item.sku.price * item.productNum;
if (this.data.allowance_data && this.data.select_allowance && this.data.allowance_price) {
@@ -242,8 +264,38 @@ Page({
this.setData({
showPrice: app.globalData.kjId ? 0 : price
})
+
+ const smoothlyComp = this.selectComponent("#smoothlyOrderComp");
+ const skuIds = []
+ skuIds.push(this.data.sku_id)
+ if(smoothlyComp) {
+ // 检查是否有选中的顺手购商品
+ const hasSkuIds = smoothlyComp.hasSelectedGoods();
+ if(hasSkuIds) {
+ skuIds.push(...smoothlyComp.emitSkuIds())
+ }
+ }
+ this.setData({
+ maxCouponObject: {
+ price: allPrice,
+ skuIds: skuIds.toString()
+ }
+ })
},
order: function () {
+ // 顺手带一件是否选择收货地址
+ const smoothlyComp = this.selectComponent("#smoothlyOrderComp");
+ if(smoothlyComp && this.data.product[0].user_select_type == 1) {
+ // 检查是否有选中的顺手购商品
+ const hasSelected = smoothlyComp.hasSelectedGoods();
+ if(hasSelected && !smoothlyComp.data.address) {
+ wx.showToast({
+ title: '请选择收货地址',
+ icon: 'none'
+ })
+ return;
+ }
+ }
for(let info of this.data.product) {
if (info.user_select_type == 0) {
@@ -327,6 +379,12 @@ Page({
gp_id: app.globalData.gp_id,
team_id: app.globalData.team_id
};
+
+ // 顺手购下单参数
+ if(smoothlyComp && smoothlyComp.emitOrder() && smoothlyComp.emitOrder().length) {
+ product_list.push(...smoothlyComp.emitOrder())
+ }
+
if (this.data.select_allowance) data.is_allowance = 1
if (app.globalData.from) {
data.system_name = app.globalData.from;
@@ -348,10 +406,11 @@ Page({
data.channel = ZTPointProduct.product.ZTPoint
}
console.log(app.globalData.list,this.data.flag)
+
if(!app.globalData.list || app.globalData.list.length == 0){
// 判断混合下单
let use_type = product_list[0].use_type
- if (product_list.some(x=>x.use_type!=use_type)) {
+ if (product_list.some(x=>x.use_type!=use_type) && !(smoothlyComp && smoothlyComp.emitOrder() && smoothlyComp.emitOrder().length)) {
app.globalData.productPrice = (this.data.showPrice + this.data.postFee - (this.data.coupon?this.data.coupon.activity.money:0))/100;
app.globalData.createDate = data
wx.redirectTo({
diff --git a/pages/order/postOrder/index.json b/pages/order/postOrder/index.json
index e69fb76..7cfd16d 100644
--- a/pages/order/postOrder/index.json
+++ b/pages/order/postOrder/index.json
@@ -2,6 +2,7 @@
"usingComponents": {
"title":"/pages/component/TitleHeader",
"address":"../components/address/index",
- "coupon":"../components/coupon/index"
+ "coupon":"../components/coupon/index",
+ "smoothly-order": "/pages/order/components/smoothlyOrder/index"
}
}
\ No newline at end of file
diff --git a/pages/order/postOrder/index.wxml b/pages/order/postOrder/index.wxml
index 582fcf4..2f51bb5 100644
--- a/pages/order/postOrder/index.wxml
+++ b/pages/order/postOrder/index.wxml
@@ -114,7 +114,19 @@
-
+
+
+
+
+
diff --git a/pages/order/postOrder/index.wxss b/pages/order/postOrder/index.wxss
index 5cb30b8..f82157b 100644
--- a/pages/order/postOrder/index.wxss
+++ b/pages/order/postOrder/index.wxss
@@ -1,6 +1,7 @@
/* pages/order/post/index.wxss */
page {
background: #f6f6f6;
+ padding-bottom: 150rpx;
}
.sendwayArea{
diff --git a/pages/order/roadOrder/index.js b/pages/order/roadOrder/index.js
index ed17b65..118d93f 100644
--- a/pages/order/roadOrder/index.js
+++ b/pages/order/roadOrder/index.js
@@ -22,13 +22,16 @@ Page({
price:0,
coupon:app.globalData.couponInfo,
sku_ids:"",
- prizeId:null
+ prizeId:null,
+ smoothlyTotal: 0,
+ maxCouponObject: null
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
+ this.couponCom = this.selectAllComponents("#coupon")[0];
this.setData({
prizeId:wx.getStorageSync('prizeId')
})
@@ -54,8 +57,62 @@ Page({
console.log(this.data)
// 获取默认联系人
this.getLinkmanList()
+ // this.showAllPrice()
+ },
+ // 子组件发生改变时更新价格
+ handleUpdateTotalPrice(e) {
+ this.setData({
+ smoothlyTotal: e.detail.total
+ });
+ // 重新计算总价
+ this.showAllPrice();
+ },
+ // 调用子组件清除优惠券方法
+ callOtherCompMethod: function(e) {
+ this.couponCom.setNullCoupon()
+ },
+ showAllPrice() {
+ let price = app.globalData.product.price
+ let allPrice = 0
+
+ // 顺手购价格
+ price += this.data.smoothlyTotal || 0;
+ allPrice = price
+
+ if (this.data.coupon) {
+ if (this.data.coupon.activity.discount_type == 'pricebreak') {
+ price = price - this.data.coupon.activity.money
+ } else {
+ price =(price * this.data.coupon.activity.fold)/ 10
+ }
+ } else {
+ price = price
+ }
+ if (price >0) {
+ this.setData({ price:price/100})
+ }else {
+ this.setData({ price:0 })
+ }
+
+ const smoothlyComp = this.selectComponent("#smoothlyOrderComp");
+ const skuIds = []
+ skuIds.push(this.data.sku_ids)
+ console.log(skuIds)
+ if(smoothlyComp) {
+ // 检查是否有选中的顺手购商品
+ const hasSkuIds = smoothlyComp.hasSelectedGoods();
+ if(hasSkuIds) {
+ skuIds.push(...smoothlyComp.emitSkuIds())
+ }
+ }
+ this.setData({
+ maxCouponObject: {
+ price: allPrice,
+ skuIds: skuIds.toString()
+ }
+ })
+ console.log(this.data.maxCouponObject)
},
-
showLinkman:function(e){
if(!this.data.linkmanFlag) {
let skuIndex = e.currentTarget.dataset.index,linkmans = this.data.linkmans[skuIndex],linkmanList = this.data.linkmanList;
@@ -200,6 +257,19 @@ Page({
})
},
order:function(){
+ const smoothlyComp = this.selectComponent("#smoothlyOrderComp");
+ if(smoothlyComp) {
+ // 检查是否有选中的顺手购商品
+ const hasSelected = smoothlyComp.hasSelectedGoods();
+ if(hasSelected && !smoothlyComp.data.address) {
+ wx.showToast({
+ title: '请选择收货地址',
+ icon: 'none'
+ })
+ return;
+ }
+ }
+
let sku = this.data.sku,product = this.data.product,linkmans = this.data.linkmans,product_list = [],reserve_mobile = this.data.reserve_mobile;
if(!reserve_mobile) {
wx.showToast({
@@ -246,6 +316,12 @@ Page({
if(orderFlag==false){
return;
}
+
+ // 顺手购下单参数
+ if(smoothlyComp && smoothlyComp.emitOrder() && smoothlyComp.emitOrder().length) {
+ product_list.push(...smoothlyComp.emitOrder())
+ }
+
let data = {
product_list:product_list,
coupon_id:this.data.coupon?this.data.coupon.id:null,
@@ -281,6 +357,7 @@ Page({
this.setData({
coupon:e.detail
})
+ this.showAllPrice()
},
// 一日游合同确认签字
// ondayConfirm:function(){
diff --git a/pages/order/roadOrder/index.json b/pages/order/roadOrder/index.json
index 8172ad6..f35301a 100644
--- a/pages/order/roadOrder/index.json
+++ b/pages/order/roadOrder/index.json
@@ -1,6 +1,7 @@
{
"usingComponents": {
"title":"/pages/component/TitleHeader",
- "coupon":"/pages/order/components/coupon/index"
+ "coupon":"/pages/order/components/coupon/index",
+ "smoothly-order": "/pages/order/components/smoothlyOrder/index"
}
}
\ No newline at end of file
diff --git a/pages/order/roadOrder/index.wxml b/pages/order/roadOrder/index.wxml
index 52331d5..0b7f40f 100644
--- a/pages/order/roadOrder/index.wxml
+++ b/pages/order/roadOrder/index.wxml
@@ -29,7 +29,16 @@
-
+
+
+
+