From c8b262ec4aead59c1ba6b062868b7bcbe8d460c3 Mon Sep 17 00:00:00 2001 From: jiazhipeng Date: Fri, 7 Nov 2025 13:05:38 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E6=8F=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/order/postOrder/index.js | 3 ++ project.private.config.json | 11 ++++- subPackages/feiyiNew/index.js | 82 +++++++++++++++++++++++--------- subPackages/feiyiNew/index.wxml | 30 ++++++++++-- subPackages/feiyiNew/index.wxss | 56 +++++++++++++++++++++- subPackages/techanNew/index.wxml | 2 +- utils/https.js | 4 +- utils/util.js | 12 ++--- 8 files changed, 161 insertions(+), 39 deletions(-) diff --git a/pages/order/postOrder/index.js b/pages/order/postOrder/index.js index 3d62ee7..c9e6397 100644 --- a/pages/order/postOrder/index.js +++ b/pages/order/postOrder/index.js @@ -103,6 +103,9 @@ Page({ this.couponCom = this.selectAllComponents("#coupon")[0]; } + this.getPostFee() + this.changePrice() + }, changeUserPost (e) { diff --git a/project.private.config.json b/project.private.config.json index 25fe308..66b3e05 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -6,12 +6,19 @@ "condition": { "miniprogram": { "list": [ + { + "name": "pages/info/postProductInfo/index", + "pathName": "pages/info/postProductInfo/index", + "query": "id=464888", + "scene": null, + "launchMode": "default" + }, { "name": "pages/order/orderList/index", "pathName": "pages/order/orderList/index", "query": "flag=mix", - "scene": null, - "launchMode": "default" + "launchMode": "default", + "scene": null }, { "name": "subPackages/techanNew/selfPickPoint/index", diff --git a/subPackages/feiyiNew/index.js b/subPackages/feiyiNew/index.js index 8402dc5..3114fec 100644 --- a/subPackages/feiyiNew/index.js +++ b/subPackages/feiyiNew/index.js @@ -44,7 +44,9 @@ Page({ seachFlag:false, //搜索模式 totalPrice:0, //获取购物车总价 name:'非遗专卖', - nowAddListId:[] + nowAddListId:[], + + user_type: null, }, /** @@ -69,10 +71,10 @@ Page({ delAll() { let ids = [] this.data.gwcList.forEach(item => { - ids.push(item.sku_id) + ids.push(item.id) }) commonApi.user_post("cart_within/del_sku", { - sku_id: ids+'', + id: ids+'', type:'2' }).then(res => { if (res.code == 1) { @@ -92,10 +94,11 @@ Page({ del(e) { let item = e.currentTarget.dataset.item let gwcList = this.data.gwcList + let valueNum = e.currentTarget.dataset.value commonApi.user_post("cart_within/update_sku", { - num:item.num-1, - sku_id: item.sku_id, - type:'2' + num:item.num + valueNum, + id: item.id, + type:'1' }).then(res => { if (res.code == 1) { // this.getCount() @@ -117,6 +120,9 @@ Page({ if (item.selected ==1) { totalPrice += item.num*item.sku.price } + if (item.delivery_method === null) { + item.delivery_method = item.sku.sku_model.use_type == 1?1:0 + } }) } let status = res.data.every(el => el.selected === 1) @@ -132,6 +138,13 @@ Page({ }, // 添加产品到购物车 addCart: function (e) { + if (![0,1].includes(this.data.user_type)) { + wx.showToast({ + title: "请选择配送方式", + icon:"none" + }) + return + } let item = e.currentTarget.dataset.item app.globalData.postProduct = [] app.globalData.list = [] @@ -144,7 +157,8 @@ Page({ commonApi.user_post("cart_within/add_sku", { sku_id: this.data.showPopup ? item.sku.id :this.data.info.sku[this.data.skuIndex].id, num: this.data.producNum, - type:"2" + type:"2", + delivery_method: this.data.user_type }).then(res => { if (res.code == 1) { let sku_id = this.data.showPopup ? item.sku.id :this.data.info.sku[this.data.skuIndex].id @@ -187,6 +201,9 @@ Page({ if (element.selected == 1) { totalPrice += Number(element.num*element.sku.price) } + if (element.delivery_method === null) { + element.delivery_method = element.sku.sku_model.use_type == 1?1:0 + } }) let status = res.data.every(el => el.selected === 1) this.setData({ @@ -252,7 +269,7 @@ Page({ if (item.product.type == 'post') { product.push({ product: item.product, - sku: item.sku, + sku: {...item.sku, use_type: item.delivery_method||0}, productNum: item.num }) } else { @@ -271,21 +288,27 @@ Page({ // }) return; } - if (product.length > 0 && product1.length > 0) { - this.setData({ - flag: 'mix', - isCar: 'multiple' - }) - } - if (product1.length > 1) { - this.setData({ - isCar: 'multiple' - }) - } else { - this.setData({ - isCar: 'single' + let repeatSku = product.find(x=>product.filter(v=>v.sku.id == x.sku.id).length>1) + if(repeatSku) { + let str = `${repeatSku.product.title}-${repeatSku.sku.sku_name}邮寄和自提只能选择一种` + wx.showModal({ + content: str, + showCancel: false, + complete: (res) => {} }) + return + } + + let useType = product[0].sku.use_type + let flag = this.data.flag, isCar = "single"; + if (product.some(x=>x.sku.use_type!=useType)) { + flag = "mix" + isCar = "multiple" } + this.setData({ + flag: flag, + isCar: isCar + }) console.log(product1); app.globalData.postProduct = product; if (app.globalData.list) { @@ -427,6 +450,9 @@ Page({ if(item.selected == 1) { totalPrice += item.num*item.sku.price } + if (item.delivery_method === null) { + item.delivery_method = item.sku.sku_model.use_type == 1?1:0 + } }) } this.setData({ @@ -581,6 +607,9 @@ Page({ }, // 添加产品弹窗 1.首先获取到该产品下的规格 addBuyCart(e) { + this.setData({ + user_type: null + }) let item = e.currentTarget.dataset.item console.log(item); commonApi._post("product/get_product_detail", { @@ -637,9 +666,16 @@ Page({ selectSku: function (e) { let index = e.currentTarget.dataset.index; this.setData({ - skuIndex: index - }) + skuIndex: index, + user_type: null, + }) }, + changeSelectSkuPost: function(e) { + let value = e.currentTarget.dataset.value; + this.setData({ + user_type: value, + }) +}, // 关闭弹窗 hideSku: function () { this.setData({ diff --git a/subPackages/feiyiNew/index.wxml b/subPackages/feiyiNew/index.wxml index 39b1351..d8511f2 100644 --- a/subPackages/feiyiNew/index.wxml +++ b/subPackages/feiyiNew/index.wxml @@ -197,6 +197,25 @@ {{producNum}} + + 配送方式 + + + + + + + 邮寄 + + + + + + + 自提 + + + - + @@ -228,7 +247,10 @@ - + + + {{item.delivery_method==1?"自提":"邮寄"}} + {{item.product.title}} @@ -237,9 +259,9 @@ {{item.sku.price/100}} - + {{item.num}} - + diff --git a/subPackages/feiyiNew/index.wxss b/subPackages/feiyiNew/index.wxss index 2a0bd5b..94b4285 100644 --- a/subPackages/feiyiNew/index.wxss +++ b/subPackages/feiyiNew/index.wxss @@ -440,7 +440,7 @@ page { display: flex; font-size: 29rpx; color: #333; - margin: 0 40rpx; + margin: 0 30rpx; text-align: center; flex-wrap: wrap; margin-bottom: 20rpx; @@ -777,3 +777,57 @@ page { .phcolor { color: #ccc; } +.delivery-method{ + font-weight: 400; + font-size: 29rpx; + color: #1E1E1E; + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 40rpx 40rpx; +} +.delivery-method .select-cycle{ + width: 32rpx; + height: 32rpx; + border-radius: 50%; + border: 1px solid #999999; + overflow: hidden; + flex-shrink: 0; + +} +.delivery-method .select-cycle image{ + width: 100%; + height: 100%; +} +.delivery-method .select-cycle.selected { + border: none; +} +.delivery-method .select-cycle.selected image{ + width: 32rpx; + height: 32rpx; + border-radius: 50%; +} +.delivery-method .method-str{ + padding-left: 10rpx; + flex-shrink: 0; +} +.delivery-method .flex-center{ + width: 150rpx; + justify-content: flex-end; + display: flex; + align-items: center; +} + .use-type{ + position: absolute; + left: 0; + bottom: 0; + width: 100%; + border-radius: 0rpx 0rpx 7rpx 7rpx; + height: 33rpx; + background: rgba(0,0,0,0.3); + font-weight: 400; + font-size: 24rpx; + color: #FFFFFF; + text-align: center; + line-height: 33rpx; +} \ No newline at end of file diff --git a/subPackages/techanNew/index.wxml b/subPackages/techanNew/index.wxml index dc8afb7..106f2fc 100644 --- a/subPackages/techanNew/index.wxml +++ b/subPackages/techanNew/index.wxml @@ -210,7 +210,7 @@ - + diff --git a/utils/https.js b/utils/https.js index b0f9a8b..d55ab84 100644 --- a/utils/https.js +++ b/utils/https.js @@ -1,8 +1,8 @@ var app = getApp(); import util from "../utils/util" // import userApi from "../utils/https/user.js"; -const baseUrl = "https://test.api.cloud.sz-trip.com/api/"; -// let baseUrl = "https://api.cloud.sz-trip.com/api/"; +// const baseUrl = "https://test.api.cloud.sz-trip.com/api/"; +let baseUrl = "https://api.cloud.sz-trip.com/api/"; const env = wx.getAccountInfoSync().miniProgram.envVersion if (env == 'develop1') { baseUrl = "https://test.api.cloud.sz-trip.com/api/" diff --git a/utils/util.js b/utils/util.js index 47e540e..4f1ac45 100644 --- a/utils/util.js +++ b/utils/util.js @@ -405,15 +405,15 @@ const gotoOrder = function(item){ // 数量超过两个 购物车下单 跳H5 (小程序二维码没分开) if (item.order_product_list.length>1) { - // wx.navigateTo({ - // url: "/pages/pbService/web/index?weburl=" + encodeURIComponent("https://m.cloud.sz-trip.com/TicketCartOrderDetail?order_id="+item.order_id), - // }) - // return; - wx.navigateTo({ - url: "/pages/pbService/web/index?weburl=" + encodeURIComponent("https://test.m.cloud.sz-trip.com/TicketCartOrderDetail?order_id="+item.order_id), + url: "/pages/pbService/web/index?weburl=" + encodeURIComponent("https://m.cloud.sz-trip.com/TicketCartOrderDetail?order_id="+item.order_id), }) return; + + // wx.navigateTo({ + // url: "/pages/pbService/web/index?weburl=" + encodeURIComponent("https://test.m.cloud.sz-trip.com/TicketCartOrderDetail?order_id="+item.order_id), + // }) + // return; } if(item.order_product_list[0].product_model=='ticket'){ wx.navigateTo({