From f0e2b7ecfcedfe373a3710c1203102724252ddfa Mon Sep 17 00:00:00 2001 From: "AERWEN\\26795" <123456789a> Date: Wed, 18 Oct 2023 03:20:00 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E6=B7=BB=E5=8A=A0=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4=E9=A1=B5=E9=9D=A2=E5=8C=BA=E5=88=86=E5=BA=97?= =?UTF-8?q?=E9=93=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model/order/orderConfirm.js | 97 +++++++++++--- pages/order/order-confirm/index.js | 10 +- pages/order/order-confirm/index.wxml | 174 ++++++++++--------------- pages/order/order-confirm/index.wxss | 8 ++ pages/order/pay-result/index.wxml | 1 + services/cart/updateCartGoodsSelect.js | 2 +- 6 files changed, 158 insertions(+), 134 deletions(-) diff --git a/model/order/orderConfirm.js b/model/order/orderConfirm.js index 392054d..572e21d 100644 --- a/model/order/orderConfirm.js +++ b/model/order/orderConfirm.js @@ -2,6 +2,9 @@ import { mockIp, mockReqId } from '../../utils/mock'; +import { + getGoodsFreight +} from '~/services/order/getGoodsFreight'; export const transformGoodsDataToConfirmData = (goodsDataList) => { const list = []; @@ -40,10 +43,11 @@ export const transformGoodsDataToConfirmData = (goodsDataList) => { }; /** 生成结算数据 */ -export function genSettleDetail(params) { +export async function genSettleDetail(params) { const { userAddressReq, couponList, + storeInfoList, goodsRequestList, totalDeliveryFee } = params; @@ -67,23 +71,25 @@ export function genSettleDetail(params) { invoiceRequest: null, skuImages: null, deliveryFeeList: null, - storeGoodsList: [{ - storeId: '1000', - storeName: '云Mall深圳旗舰店', - remark: null, - goodsCount: 1, - deliveryFee: '0', - deliveryWords: null, - storeTotalAmount: '0', - storeTotalPayAmount: '179997', - storeTotalDiscountAmount: '110000', - storeTotalCouponAmount: '0', - skuDetailVos: [], - couponList: [{ - couponId: 11, - storeId: '1000', - }, ], - }, ], + storeGoodsList: [ + // { + // storeId: '1000', + // storeName: '云Mall深圳旗舰店', + // remark: null, + // goodsCount: 1, + // deliveryFee: '0', + // deliveryWords: null, + // storeTotalAmount: '0', + // storeTotalPayAmount: '179997', + // storeTotalDiscountAmount: '110000', + // storeTotalCouponAmount: '0', + // skuDetailVos: [], + // couponList: [{ + // couponId: 11, + // storeId: '1000', + // }, ], + // }, + ], inValidGoodsList: null, outOfStockGoodsList: null, limitGoodsList: null, @@ -98,10 +104,63 @@ export function genSettleDetail(params) { success: true, }; + console.log(storeInfoList, '测试前端用店铺判断'); + + const storeGoodsList = [] + // 将商品塞进对应的店铺 + storeInfoList.forEach((store) => { + const storeGoods = { + storeId: "", + storeName: "", + goodsCount: 0, + deliveryFee: 0, + storeTotalAmount: 0, + storeTotalDiscountAmount: 0, + storeTotalCouponAmount: 0, + couponList: [{ + couponId: 11, + storeId: '1000', + }, ], + } + const storeGoodsRequestList = [] + storeGoods.storeId = store.storeId + storeGoods.storeName = store.storeName + + goodsRequestList.forEach(item => { + if (item.storeId === store.storeId) { + storeGoods.goodsCount += item.quantity + storeGoods.storeTotalAmount += item.quantity * item.price + storeGoodsRequestList.push(item) + } + }); + + if (userAddressReq) { + let data = { + GoodsRequestList: storeGoodsRequestList, + CustomerAddressGuid: userAddressReq.customerAddressGuid + } + getGoodsFreight(data).then((res) => { + if (res.code === 0) { + resp.data.abnormalDeliveryGoodsList = storeGoodsRequestList + } + storeGoods.deliveryFee = res.data + storeGoods.storeTotalAmount += res.data + console.log(storeGoods.deliveryFee, '运费'); + }) + } + + const list = transformGoodsDataToConfirmData(storeGoodsRequestList); + storeGoods.skuDetailVos = list + storeGoodsList.push(storeGoods) + }) + console.log(storeGoodsList, '看看成果'); + const list = transformGoodsDataToConfirmData(goodsRequestList); console.log(list, '看看list'); // 获取购物车传递的商品数据 - resp.data.storeGoodsList[0].skuDetailVos = list; + // resp.data.storeGoodsList[0].skuDetailVos = list; + // resp.data.storeGoodsList[1].skuDetailVos = list; + resp.data.storeGoodsList = storeGoodsList; // 判断是否携带优惠券数据 const discountPrice = []; diff --git a/pages/order/order-confirm/index.js b/pages/order/order-confirm/index.js index 45dd893..87f69d1 100644 --- a/pages/order/order-confirm/index.js +++ b/pages/order/order-confirm/index.js @@ -128,8 +128,6 @@ Page({ if (userAddressReq) { // 计算运费接口 - console.log(goodsRequestList, '看看看看') - console.log(userAddressReq.customerAddressGuid, '看看看看地址') let data = { GoodsRequestList: goodsRequestList, CustomerAddressGuid: userAddressReq.customerAddressGuid @@ -147,7 +145,8 @@ Page({ }); this.initData(res.data); }, - () => { + (e) => { + console.log(e,'异常'); //接口异常处理 this.handleError(); }, @@ -157,6 +156,7 @@ Page({ // 转换商品卡片显示数据 const data = this.handleResToGoodsCard(resData); this.userAddressReq = resData.userAddress; + console.log(data,'看看data'); if (resData.userAddress) { this.setData({ @@ -336,9 +336,7 @@ Page({ }); }, onNotes(e) { - const { - storenoteindex: storeNoteIndex - } = e.currentTarget.dataset; + const storeNoteIndex = e.currentTarget.dataset.storenoteindex; // 添加备注信息 this.setData({ dialogShow: true, diff --git a/pages/order/order-confirm/index.wxml b/pages/order/order-confirm/index.wxml index c6d6832..62fc308 100644 --- a/pages/order/order-confirm/index.wxml +++ b/pages/order/order-confirm/index.wxml @@ -4,25 +4,13 @@ - - - + + {{goods.title}} @@ -33,76 +21,75 @@ x{{goods.num}} - - - - 商品总额 - - - - 运费 - - - + - - - 免运费 + + + + 商品总额 + + - - - + + + + + + - 选择优惠券 - - 无可用 - + 免运费 + - --> - - - 订单备注 - - {{getNotes(storeInfoList, 0) ? getNotes(storeInfoList, 0) :'选填,建议先和商家沟通确认'}} - + + 订单备注 + + + {{getNotes(storeInfoList, 0) ? getNotes(storeInfoList, 0) :'选填,建议先和商家沟通确认'}} + + + + + + + + 共{{stores.goodsCount}}件 + 小计 + + + - - - 共{{settleDetailData.totalGoodsCount}}件 - 小计 - - - + @@ -111,42 +98,13 @@ - - + + - + - + \ No newline at end of file diff --git a/pages/order/order-confirm/index.wxss b/pages/order/order-confirm/index.wxss index 8b201c8..a065de2 100644 --- a/pages/order/order-confirm/index.wxss +++ b/pages/order/order-confirm/index.wxss @@ -46,6 +46,14 @@ background: #cccccc; } +.order-wrapper{ + width: 98%; + margin: 0 auto; + margin-bottom: 30rpx; + border-radius: 30rpx; + overflow: hidden; +} + .order-wrapper .store-wrapper { width: 100%; height: 96rpx; diff --git a/pages/order/pay-result/index.wxml b/pages/order/pay-result/index.wxml index 3153fe6..dc1324b 100644 --- a/pages/order/pay-result/index.wxml +++ b/pages/order/pay-result/index.wxml @@ -7,6 +7,7 @@ 微信支付: { request({