diff --git a/buyer/src/api/pickupCard.js b/buyer/src/api/pickupCard.js new file mode 100644 index 000000000..36b39a5a9 --- /dev/null +++ b/buyer/src/api/pickupCard.js @@ -0,0 +1,13 @@ +/** + * 提货卡选品、试算及一次兑换接口。 + * @author Bulbasaur + * @since 2026-11-05 + */ +import request, { Method } from '@/plugins/request.js'; + +/** 查询当前会员的卡规则及候选 SKU。 */ +export const getPickupCard = id => request({ url: `/buyer/promotion/pickupCard/${encodeURIComponent(id)}`, method: Method.GET, needToken: true }); +/** 服务端校验商品与地址,返回零现金试算。 */ +export const previewPickupCard = data => request({ url: '/buyer/promotion/pickupCard/preview', method: Method.POST, needToken: true, headers: { 'Content-Type': 'application/json' }, data }); +/** 一次兑换;重试返回同一卡已创建的交易。 */ +export const redeemPickupCard = data => request({ url: '/buyer/promotion/pickupCard/redeem', method: Method.POST, needToken: true, headers: { 'Content-Type': 'application/json' }, data }); diff --git a/buyer/src/pages/home/orderCenter/MyOrder.vue b/buyer/src/pages/home/orderCenter/MyOrder.vue index d0e1a319a..fbcdf44a8 100644 --- a/buyer/src/pages/home/orderCenter/MyOrder.vue +++ b/buyer/src/pages/home/orderCenter/MyOrder.vue @@ -176,6 +176,7 @@ + {{ item.reason }} @@ -227,6 +228,7 @@ const changeWay = ref(['全部', '待付款', '待发货', '待收货/使用']); const activeOrderTab = ref(0); const total = ref(0); // 数据总数 const spinShow = ref(false); // 加载状态 +const cancelIsPickup = ref(false); const cancelAvail = ref(false); // 取消订单modal控制 const cancelReason = ref([]); // 取消订单原因 @@ -365,6 +367,7 @@ function changePageSize (val) { // 修改页数 } function handleCancelOrder (sn) { // 取消订单 + cancelIsPickup.value = !!orderList.value.find(order => order.sn === sn)?.pickupCardId; cancelParams.orderSn = sn; afterSaleReason('CANCEL').then(res => { if (res.success) { diff --git a/buyer/src/pages/home/orderCenter/OrderDetail.vue b/buyer/src/pages/home/orderCenter/OrderDetail.vue index 9276a99ad..bd80996a9 100644 --- a/buyer/src/pages/home/orderCenter/OrderDetail.vue +++ b/buyer/src/pages/home/orderCenter/OrderDetail.vue @@ -341,6 +341,7 @@ v-model="cancelAvail" title="请选择取消订单原因" > + diff --git a/buyer/src/pages/home/userCenter/MyGiftCards.vue b/buyer/src/pages/home/userCenter/MyGiftCards.vue index 2c5e95e2e..ba7f75a88 100644 --- a/buyer/src/pages/home/userCenter/MyGiftCards.vue +++ b/buyer/src/pages/home/userCenter/MyGiftCards.vue @@ -1,19 +1,20 @@ @@ -387,8 +389,9 @@ function formatValidity(row) { } return parts.join(" "); } -function addActivity() { - router.push({ name: "add-gift-card-cash-activity" }); +/** 从独立入口创建指定类型的卡,类型在创建页固定展示。 */ +function addActivity(cardType) { + router.push({ name: "add-gift-card-cash-activity", query: { cardType } }); } function goEdit(row) { if (!canEdit(row)) { diff --git a/manager/src/views/promotions/gift-card-cash/gift-card-cash-batch-credentials.vue b/manager/src/views/promotions/gift-card-cash/gift-card-cash-batch-credentials.vue index 28615a254..3c97b68db 100644 --- a/manager/src/views/promotions/gift-card-cash/gift-card-cash-batch-credentials.vue +++ b/manager/src/views/promotions/gift-card-cash/gift-card-cash-batch-credentials.vue @@ -2,52 +2,56 @@