From eedb40b9d067d06fe3e679ff5aa2b560baf8eeeb Mon Sep 17 00:00:00 2001 From: ghusermoon <2673031505@qq.com> Date: Fri, 11 Sep 2020 11:24:05 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=B7=BB=E5=8A=A0=E5=A4=87?= =?UTF-8?q?=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/api/shop.js | 4 +- pageC/cart/ConfirmOrder.vue | 79 ++++++++++++++++++++++++++-- pageE/mine/Contact.vue | 101 ++++++++++++++++++++++++++++++++++++ pages.json | 13 +++++ pages/mine/index.vue | 33 ++++++++---- 5 files changed, 213 insertions(+), 17 deletions(-) create mode 100644 pageE/mine/Contact.vue diff --git a/common/api/shop.js b/common/api/shop.js index a64ba45..9ef73a1 100644 --- a/common/api/shop.js +++ b/common/api/shop.js @@ -139,9 +139,9 @@ export default { }); }, // 订单步骤2:发起订单,返回订单信息 - sendOrder({ ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id, member_deliver_type, invoice_id }) { + sendOrder({ ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id, member_deliver_type, invoice_id, pay_message }) { return vm.$u.post('buy/buy_step2', { - ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id, member_deliver_type, invoice_id, + ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id, member_deliver_type, invoice_id, pay_message }); }, // 订单步骤3:发起支付(第三方统一下单) diff --git a/pageC/cart/ConfirmOrder.vue b/pageC/cart/ConfirmOrder.vue index fb5723c..e70795c 100644 --- a/pageC/cart/ConfirmOrder.vue +++ b/pageC/cart/ConfirmOrder.vue @@ -34,24 +34,29 @@ - + 优惠券折扣 -¥{{ storeCoupon[item[0].store_id] ? storeCoupon[item[0].store_id].voucher_price.toFixed(2) : '0.00' }} - + 运费 ¥{{ freight | setFreight(index) }} + + 订单备注 + + 自提地址 {{ orderInfo.store_list[index].store_address }} + 共{{ item | getTotalNum }}件 小计:¥{{ orderInfo.store_goods_total[index] | getStorePrice(storeCoupon, index) }} @@ -146,12 +151,34 @@ export default { orderType: '', // 订单类型 1 普通订单 2 拼团订单 3 秒杀订单 4 优惠券 5 购物车订单 debounce: true, hasInvoice: 0, + remark: {} } }, components: { Coupon }, filters: { + // 店铺总数量 + getTotalNum(data, coupon) { + let num = 0; + data.forEach(item => { + num += item.goods_num; + }) + return num; + }, + // 店铺总金额 + getStorePrice(price, coupon, index) { + for (const key in coupon) { + if (coupon.hasOwnProperty(key)) { + const element = coupon[key]; + if(index == key) { + price -= Number(element.voucher_price); + } + } + } + return price; + }, + // 订单总数量 setTotalNumber(data) { let num = 0; for (const key in data) { @@ -175,6 +202,7 @@ export default { if(!this.orderInfo.is_selfraising) this.deliveryList[2].disabled = true; // console.log('orderType' + this.orderType); // console.log(this.orderInfo); + this.initRemark(); this.getGoodsClass(); this.setTotalPrice(); }, @@ -188,8 +216,9 @@ export default { } else { if(this.$store.getters.getOrderAddress) this.addressInfo = this.$store.state.orderAddress; } + // 是否开发票 this.hasInvoice = this.$store.getters.hasInvoice; - console.log(this.hasInvoice); + // console.log(this.hasInvoice); }, beforeDestroy() { this.$store.commit('updateAddress', {}); @@ -202,6 +231,17 @@ export default { }, }, methods: { + initRemark() { + // 初始化备注 + const obj = this.orderInfo.store_cart_list; + for (const key in obj) { + if (obj.hasOwnProperty(key)) { + const element = obj[key]; + this.remark[key] = ''; + } + } + console.log(this.remark); + }, // 如果有pintuangroup_headid为参团不然为开团 async withImmediate(type) { let params = { @@ -228,6 +268,7 @@ export default { }) }, intermediate() { + console.log(this.remark); if(!this.debounce) return; this.debounce = false; if(this.orderType == 2) { @@ -281,6 +322,7 @@ export default { buy_city_id: this.addressInfo.city_id, member_deliver_type: this.delivery.type, invoice_id: this.$store.getters.getInvoiceId, // 发票抬头ID,不开票传0 + pay_message: this.remark, } if(coupon.length) Object.assign(params, { voucher_id: coupon }); if(this.orderType == 2) { @@ -288,6 +330,7 @@ export default { if(this.orderInfo.pintuangroup_id) Object.assign(params, { pintuangroup_id: this.orderInfo.pintuangroup_id }); } // console.log(params); + // return; this.$u.api.sendOrder(params).then(res => { if(res.errCode == 0) { this.$u.route({ @@ -587,7 +630,7 @@ export default { } } .order-info { - > view { + .show-view { height: 98rpx; background: rgba(255,255,255,1); padding: 35rpx 30rpx; @@ -612,6 +655,24 @@ export default { } } } + .remark { + background: rgba(255,255,255,1); + padding: 35rpx 30rpx; + display: flex; + justify-content: space-between; + margin-bottom: 2rpx; + .title { + font-size: 28rpx; + color: rgba(102,102,102,1); + margin-right: 20rpx; + } + /deep/ .u-input { + font-size: 28rpx; + .u-input__textarea { + padding: 0; + } + } + } } .pick-up { padding: 30rpx; @@ -627,6 +688,16 @@ export default { line-height: 40rpx; } } + .store-total { + text-align: right; + padding: 34rpx 30rpx; + background: rgba(255,255,255,1); + font-size: 28rpx; + color: #656565; + > text { + color: #FF770F; + } + } } } .common-active { diff --git a/pageE/mine/Contact.vue b/pageE/mine/Contact.vue new file mode 100644 index 0000000..599164e --- /dev/null +++ b/pageE/mine/Contact.vue @@ -0,0 +1,101 @@ + + + \ No newline at end of file diff --git a/pages.json b/pages.json index c1cbc0b..d8dd05a 100644 --- a/pages.json +++ b/pages.json @@ -780,6 +780,19 @@ } } }, + { + "path": "mine/Contact", + "style": { + "navigationBarTitleText": "联系我们", + "app-plus": { + "titleSize": "36px", + "titleNView": { + "titleColor": "#333333", + "backgroundColor": "#FFFFFF" + } + } + } + }, { "path": "mine/Integral", "style": { diff --git a/pages/mine/index.vue b/pages/mine/index.vue index 926369e..c6d2c14 100644 --- a/pages/mine/index.vue +++ b/pages/mine/index.vue @@ -16,7 +16,10 @@ 等级:{{ userInfo.member_level || 0 }}级 - 会员服务 + + 会员服务 + 联系我们 + @@ -243,6 +246,7 @@ export default { // width: 100%; height: 272rpx; background-color: #FF7807; + position: relative; .top { padding: 40rpx 0 0 30rpx; display: flex; @@ -299,16 +303,23 @@ export default { } } } - .member-service { - height: 52rpx; - line-height: 52rpx; - box-sizing: content-box; - margin-left: auto; - padding: 0 51rpx 0 22rpx; - background: rgba(255,255,255,0.32); - border-radius: 26rpx 0 0 26rpx; - font-size: 26rpx; - color:rgba(51,51,51,1); + .btn { + position: absolute; + right: 0; + top: 43rpx; + .member-service { + height: 52rpx; + line-height: 52rpx; + box-sizing: content-box; + padding: 0 51rpx 0 22rpx; + background: rgba(255,255,255,0.32); + border-radius: 26rpx 0 0 26rpx; + font-size: 26rpx; + color:rgba(51,51,51,1); + &:not(:last-child) { + margin-bottom: 20rpx; + } + } } } .bottom {