From 35721b372d3568e8ffc705d519537022f7d82cbd Mon Sep 17 00:00:00 2001 From: "liujw155@outlook.com" Date: Fri, 1 Aug 2025 16:42:48 +0800 Subject: [PATCH] add computed price --- src/subpackage/groupon/api/index.js | 1 + .../groupon/pages/confirm_order/venue.vue | 34 ++++++++++++++++++++-- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/src/subpackage/groupon/api/index.js b/src/subpackage/groupon/api/index.js index 33831a2..66e0b07 100644 --- a/src/subpackage/groupon/api/index.js +++ b/src/subpackage/groupon/api/index.js @@ -12,6 +12,7 @@ export const orderAdd = params => server.post({ url: '/stadium/order/add', ...pa export const orderPayMini = params => server.post({ url: '/stadium/order/pay/mini', ...params }); // A预约场馆-预约场馆-微信支付[小程序] export const getOrder = params => server.post({ url: '/douyinMiniapp/202506/getOrder', ...params }); // 轮询获取订单号, 轮询了多久以后就直接放弃了 export const orderGet = params => server.post({ url: '/stadium/order/get', ...params }); // 预约订单详情 +export const computedPayInfo = params => server.post({ url: '/stadium/order/pay/info', ...params }); // 订单支付接口-积分优惠券计算 diff --git a/src/subpackage/groupon/pages/confirm_order/venue.vue b/src/subpackage/groupon/pages/confirm_order/venue.vue index 92c2e8e..e93b870 100644 --- a/src/subpackage/groupon/pages/confirm_order/venue.vue +++ b/src/subpackage/groupon/pages/confirm_order/venue.vue @@ -4,8 +4,9 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue"; import confirmTemplate from "../../components/confirm_template.vue"; import ticketItem from "../../components/ticket_item.vue"; import venueInfo from "../../components/venue_info.vue"; -import { jsapiPreVerifyCertificates, orderAdd, orderPayMini } from "../../api"; +import { jsapiPreVerifyCertificates, orderAdd, orderPayMini, computedPayInfo } from "../../api"; import { routeTo, showModal, showLoad, hideLoad } from '@/utils/polish'; +import { accAdd } from "@/utils/calculation"; const stadiumInfo = ref({}); const ticketInfo = ref({}); const venueData = ref({}); @@ -34,8 +35,35 @@ onMounted(() =>{ classify: venueInfo?.classify ?? '', class_tags: _classTags.filter(e=>e!=='').join(','), }) - - + let _totalPrice = 0; + venueInfo.venues.forEach(e=>{ + _totalPrice = accAdd(_totalPrice, e?.price ?? 0); + }); + computedPayInfo({ + data: { + brand_id: stadium?.brand_id ?? '', + stadium_id: stadium?.id ?? '', + amount: _totalPrice, + scenes: 'venue_number', + type_key: venueInfo?.classify ?? '', + class_tags_enable: _classTags.filter(e=>e!=='').join(','), + integral: 0, + times: venueInfo.venues.map(e=>{ + let [ start, end ] = e?.time?.split('-') ?? []; + let _date = e?.date?.substring(0, 10) ?? ''; + return { + start: `${_date} ${start}:00`, + end: `${_date} ${end}:00`, + tag: e?._class_tag ?? '', + price: e?.price ?? 0, + } + }), + douyin_groupon_coupon_code: ticket?.certificate_id ?? '' + } + }) + .then(res=>{ + console.warn('computedPayInfo--->', res); + }) }) })