From 84484bf597aedd606be4cfa80eadec6b6167b681 Mon Sep 17 00:00:00 2001 From: chenghuan Date: Wed, 25 Mar 2026 11:40:40 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E9=A2=84=E5=94=AE?= =?UTF-8?q?=E4=B9=A6=E9=87=8D=E5=A4=8D=E8=B4=AD=E4=B9=B0=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在结算页面中新增预售备注的弹窗功能,用户在结算时可查看相关备注信息。更新manifest.json中的版本号至1.2.87。 --- manifest.json | 4 +- pages/bookShop/settlement.vue | 75 ++++++++++++++++++++++++++++++++++- 2 files changed, 76 insertions(+), 3 deletions(-) diff --git a/manifest.json b/manifest.json index 66c0cb3..5073785 100644 --- a/manifest.json +++ b/manifest.json @@ -13,8 +13,8 @@ } ], "sassImplementationName" : "node-sass", - "versionName" : "1.2.86", - "versionCode" : 1286, + "versionName" : "1.2.87", + "versionCode" : 1287, "app-plus" : { "compatible" : { "ignoreVersion" : true diff --git a/pages/bookShop/settlement.vue b/pages/bookShop/settlement.vue index 34fbf29..3dda87b 100644 --- a/pages/bookShop/settlement.vue +++ b/pages/bookShop/settlement.vue @@ -374,6 +374,18 @@ + + @@ -413,6 +425,9 @@ export default { realPrice: 0, payType: 1, nowClick: true, + presaleRemarkModalShow: false, + presaleRemarkModalContent: "", + presaleRemarkModalResolve: null, paylist: [ { title: "支付宝", @@ -556,6 +571,59 @@ export default { } }, // 获取优惠券列表 + openPresaleRemarkModal(content) { + this.presaleRemarkModalContent = content; + this.presaleRemarkModalShow = true; + return new Promise((resolve) => { + this.presaleRemarkModalResolve = resolve; + }); + }, + handlePresaleRemarkConfirm() { + this.presaleRemarkModalShow = false; + if (this.presaleRemarkModalResolve) { + const resolve = this.presaleRemarkModalResolve; + this.presaleRemarkModalResolve = null; + resolve(true); + } + }, + handlePresaleRemarkCancel() { + this.presaleRemarkModalShow = false; + if (this.presaleRemarkModalResolve) { + const resolve = this.presaleRemarkModalResolve; + this.presaleRemarkModalResolve = null; + resolve(false); + } + }, + async checkPresaleRemark() { + const productIds = this.cartList + .map((e) => e.productId) + .filter((id) => id) + .join(","); + if (!productIds) { + return true; + } + try { + const res = await $http.request({ + url: "book/buyOrder/presaleRemark", + method: "POST", + data: { + productIds, + }, + header: { + "Content-Type": "application/json", + }, + }); + const remark = + res && typeof res.remark == "string" ? res.remark.trim() : ""; + if (!remark) { + return true; + } + return await this.openPresaleRemarkModal(remark); + } catch (error) { + console.log("presaleRemark error:", error); + return true; + } + }, getCourpe() { let proId = ""; for (let i = 0; i < this.cartList.length; i++) { @@ -894,7 +962,7 @@ export default { this.youhuiShow = false; }, // 提交结算 - goBuyJie() { + async goBuyJie() { if (this.addressList.length == 0) { this.dizhiShow = true; // 如果没有地址信息 return; @@ -923,6 +991,11 @@ export default { quantity: this.cartList[i].productAmount, }); } + const passPresaleRemark = await this.checkPresaleRemark(); + if (!passPresaleRemark) { + this.nowClick = true; + return; + } let data = { buyType: this.typeId, //0- 商品页直接下单 1- 购物车结算 userId: this.userInfo.id, //下单人ID