diff --git a/manifest.json b/manifest.json index 04c4219..64a7580 100644 --- a/manifest.json +++ b/manifest.json @@ -2,9 +2,9 @@ "name" : "心灵空间", "appid" : "__UNI__BBBDFD2", "description" : "心灵空间", - "versionName" : "1.0.51", + "versionName" : "1.0.52", "sassImplementationName" : "node-sass", - "versionCode" : 1051, + "versionCode" : 1052, "transformPx" : false, /* 5+App特有相关 */ "app-plus" : { diff --git a/pages/component/commonComponents/orderSubmit.vue b/pages/component/commonComponents/orderSubmit.vue index 2cff6af..b3ba88d 100644 --- a/pages/component/commonComponents/orderSubmit.vue +++ b/pages/component/commonComponents/orderSubmit.vue @@ -510,6 +510,17 @@ + @@ -607,6 +618,9 @@ orderModalShowInfo: {}, orderModalShow: false, + presaleRemarkModalShow: false, + presaleRemarkModalContent: "", + presaleRemarkModalResolve: null, payType: 1, freightNum: 0, addressData: { @@ -1339,6 +1353,62 @@ this.content = this.remark; } }, + 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() { + if (this.pageType != "goods") { + return true; + } + const productIds = this.goodsDataList + .map((e) => e.productId) + .filter((id) => id) + .join(","); + if (!productIds || !this.urlList.presaleRemark) { + return true; + } + try { + const res = await this.$http.request({ + url: `${this.urlList.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; + } + }, async goBuyJie() { if (this.pageType == "vip") { if (this.radioValue != "1") { @@ -1446,6 +1516,11 @@ }); thisproduct = thisproduct.join(","); } + const passPresaleRemark = await this.checkPresaleRemark(); + if (!passPresaleRemark) { + this.buyingFlag = false; + return; + } if ( this.historyOrderInfo && thisproduct == this.historyOrderInfo.product && @@ -2405,4 +2480,4 @@ color: $themeColor; } - \ No newline at end of file + diff --git a/pages/goods/order.vue b/pages/goods/order.vue index 68d4bea..8bba260 100644 --- a/pages/goods/order.vue +++ b/pages/goods/order.vue @@ -107,6 +107,7 @@ export default { list: "app/phone.do?getCourseDetail_new", initPrepareOrder: "common/buyOrder/initPrepareOrder", buyOrder: "book/buyOrder/placeOrder", + presaleRemark: "book/buyOrder/presaleRemark", curriculumInfo: "app/phone.do?getCourseInfo", detailInfo: "app/phoneDoctor.do?getTaiHuClassInfo_new", userInfo: "common/user/getUserInfo",