6a9f5df9 by lttnew

查看发票

1 parent e6c6de8d
......@@ -261,12 +261,12 @@
<!-- 按钮组:靠右紧凑展示 -->
<view class="btn-group">
<view>
<text class="more" @click="goToDetail(item)">更多</text>
<text class="more" @click.stop="goToDetail(item)">更多</text>
</view>
<view class="btn-flex">
<!-- 已缴费:申请开票/已开票(需要审核通过才能开票) -->
<template>
<button class="btn btn-info" @click="goToDetail(item)">查看明细</button>
<button class="btn btn-info" @click.stop="goToDetail(item)">查看明细</button>
</template>
<!-- 已缴费:申请开票/已开票(需要审核通过才能开票) -->
<template v-if="item.payStatus == 1 && item.invoiceStatus != 1&& item.auditStatus == 2 &&item.price>0">
......@@ -302,7 +302,7 @@
</view>
</scroll-view>
<!-- 发票查看弹窗 -->
<!-- 发票信息弹窗(级位/段位/越段考试) -->
<view v-if="showInvoicePopup" class="invoice-popup-mask" @click="closeInvoicePopup">
<view class="invoice-popup-content" @click.stop>
<view class="invoice-popup-header">
......@@ -310,8 +310,6 @@
<view class="invoice-popup-close" @click="closeInvoicePopup"></view>
</view>
<view class="invoice-popup-body">
<view class="invoice-info-list">
<view class="invoice-info-row">
<view class="invoice-info-label">发票类型</view>
......@@ -344,6 +342,19 @@
</view>
</view>
<!-- 发票Webview弹窗(个人/单位会员) -->
<view v-if="showInvoiceWebview" class="invoice-popup-mask" @click="closeInvoiceWebview">
<view class="invoice-webview-content" @click.stop>
<view class="invoice-popup-header">
<text class="invoice-popup-title">发票</text>
<view class="invoice-popup-close" @click="closeInvoiceWebview"></view>
</view>
<view class="invoice-webview-body">
<web-view :src="invoiceWebviewUrl"></web-view>
</view>
</view>
</view>
<!-- 自定义删除确认弹窗 -->
<view v-if="showDelPopup" class="popup-mask" @touchmove.stop.prevent @click.stop="closeDelPopup">
<view class="custom-modal" @click.stop>
......@@ -440,6 +451,8 @@ const showDelPopup = ref(false);
const showCancelPopup = ref(false);
const isPopupOpen = ref(false);
const showInvoicePopup = ref(false);
const showInvoiceWebview = ref(false);
const invoiceWebviewUrl = ref('');
const invoiceData = ref({});
// 弹窗内容
......@@ -661,6 +674,19 @@ const makeInvoiceFN = (item) => {
// 查看发票
const viewInvoice = (item) => {
// 个人/单位会员(type 0或1)直接跳转webview页面展示发票
if (item.type === 0 || item.type === '0' || item.type === 1 || item.type === '1') {
if (item.invoiceUrl) {
const encodedUrl = encodeURIComponent(item.invoiceUrl);
uni.navigateTo({
url: `/pages/webview/webview?url=${encodedUrl}`
});
} else {
uni.showToast({ title: '暂无发票', icon: 'none' });
}
return;
}
// 其他类型显示发票信息弹窗
invoiceData.value = {
invoiceType: item.invoiceType || 1,
invoiceBuyerName: item.invoiceTitle || item.invoiceBuyerName || '—',
......@@ -679,6 +705,12 @@ const closeInvoicePopup = () => {
isPopupOpen.value = false;
};
// 关闭发票Webview弹窗
const closeInvoiceWebview = () => {
showInvoiceWebview.value = false;
isPopupOpen.value = false;
};
// 取消订单
const handleCancel = (item) => {
currentOrder.value = item;
......@@ -1209,6 +1241,21 @@ const closeCancelPopup = () => {
box-shadow: 0 10rpx 30rpx rgba(0, 0, 0, 0.2);
}
.invoice-webview-content {
width: 90%;
height: 85vh;
background: #fff;
border-radius: 20rpx;
overflow: hidden;
display: flex;
flex-direction: column;
}
.invoice-webview-body {
flex: 1;
overflow: hidden;
}
.invoice-popup-header {
display: flex;
justify-content: space-between;
......
......@@ -955,7 +955,7 @@ function submitCertification() {
parentId: form.value.parentId,
creditCode: form.value.creditCode,
legal: form.value.legal,
businessLicense: JSON.stringify(form.value.businessLicense),
businessLicense: form.value.businessLicense,
pictures: form.value.pictures,
memId: form.value.memId,
id: form.value.deptId,
......@@ -1034,8 +1034,10 @@ function onBusinessLicenseSelect() {
}
// 存储为数组格式的JSON字符串
form.value.businessLicense = JSON.stringify([{
uid: Date.now(),
name: name,
url: url,
name: name
status: 'success'
}])
}).catch(() => {
uni.hideLoading()
......
......@@ -17,6 +17,9 @@
if (options.url) {
url.value = decodeURIComponent(options.url);
}
if (options.title) {
uni.setNavigationBarTitle({ title: decodeURIComponent(options.title) });
}
});
const handleMessage = (event) => {
......
......@@ -438,16 +438,14 @@ const makeInvoiceFN = (item) => {
// 查看发票
const viewInvoice = (item) => {
invoiceData.value = {
invoiceType: item.invoiceType || 1,
invoiceBuyerName: item.invoiceTitle || item.invoiceBuyerName || '—',
invoiceBuyerTaxno: item.invoiceTaxno || item.invoiceBuyerTaxno || '',
invoicePushPhone: item.invoiceEmail || item.invoicePushPhone || '—',
price: item.price || '-',
invoiceTime: item.invoiceTime || '—'
};
showInvoicePopup.value = true;
isPopupOpen.value = true;
if (item.invoiceUrl) {
const encodedUrl = encodeURIComponent(item.invoiceUrl);
uni.navigateTo({
url: `/pages/webview/webview?url=${encodedUrl}`
});
} else {
uni.showToast({ title: '暂无发票', icon: 'none' });
}
};
// 关闭发票弹窗
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!