feat: 添加电子卡券功能及相关逻辑

- 在 pages.json 中新增卡密详情页面路径
- 在多个组件中实现电子卡券(E_COUPON)逻辑,包括库存管理、结算页面处理、订单详情展示等
- 优化商品页面和订单页面以支持电子卡券的特性,隐藏不适用的功能
- 新增 utils/goodsType.js 文件,集中管理与电子卡券相关的类型和工具函数
- 更新样式以适应电子卡券的展示需求
This commit is contained in:
田香琪
2026-07-31 13:57:14 +08:00
parent 6754a54f1b
commit a6ba2b3dbe
12 changed files with 550 additions and 96 deletions

View File

@@ -1,5 +1,5 @@
<template>
<u-popup closeable border-radius="28" @close="close" mode="bottom" height="80%" v-model:show="show">
<u-popup closeable border-radius="28" @close="onPopupClose" mode="bottom" height="80%" v-model:show="show">
<div class="wrapper">
<!-- 发票类型 -->
@@ -143,6 +143,7 @@ const submitData = reactive<SubmitData>({
receiptEmail: '',
})
const show = ref(true)
const confirmed = ref(false)
const title = ref('')
const tips =
'电子发票即电子增值税发票,是税局认可的有效凭证,其法律效力、基本用途及使用规定同纸质发票。'
@@ -341,8 +342,10 @@ function handleClickHeader(
val.active = true
}
function close(val: SubmitData | boolean) {
emit('callbackInvoice', val)
function onPopupClose() {
if (confirmed.value) return
show.value = false
emit('callbackInvoice', false)
}
function submitInvoice() {
@@ -438,8 +441,9 @@ function submitInvoice() {
return false
}
confirmed.value = true
show.value = false
close(submitData)
emit('callbackInvoice', { ...submitData })
}
</script>
<style scoped lang="scss">