完善购买和套餐功能
This commit is contained in:
@@ -79,10 +79,11 @@
|
||||
type="primary"
|
||||
size="large"
|
||||
:loading="buyingIds[pkg.id]"
|
||||
:disabled="isPurchasedOnce(pkg)"
|
||||
@click="handleBuy(pkg)"
|
||||
class="buy-btn"
|
||||
>
|
||||
立即购买
|
||||
{{ isPurchasedOnce(pkg) ? "已购买(限购一次)" : "立即购买" }}
|
||||
</el-button>
|
||||
</div>
|
||||
</el-card>
|
||||
@@ -141,6 +142,7 @@ import { ElMessage } from "element-plus";
|
||||
import { ArrowLeft, OfficeBuilding, Box, User, InfoFilled } from "@element-plus/icons-vue";
|
||||
import QRCode from "qrcode";
|
||||
import { useAuthStore } from "@/stores/auth";
|
||||
import { reloadMenusAndDynamicRoutes } from "@/router";
|
||||
import {
|
||||
getPackageList,
|
||||
createPackageOrder,
|
||||
@@ -223,6 +225,10 @@ const renderQR = async () => {
|
||||
}
|
||||
};
|
||||
|
||||
/** 仅可购买一次的套餐(体验套餐)在已购买过之后禁用购买按钮 */
|
||||
const isPurchasedOnce = (pkg: any) =>
|
||||
Number(pkg?.allow_repurchase) === 0 && pkg?.purchased === true;
|
||||
|
||||
const handleBuy = async (pkg: any) => {
|
||||
buyingIds.value[pkg.id] = true;
|
||||
try {
|
||||
@@ -295,6 +301,8 @@ const checkOrder = async (orderNo: string, silent = false) => {
|
||||
ElMessage.success("购买成功,套餐已开通");
|
||||
payVisible.value = false;
|
||||
loadMyOrders();
|
||||
// 重建动态路由,把新开通模块的「功能未开通」菜单占位页切换为真实页面
|
||||
reloadMenusAndDynamicRoutes().catch(() => {});
|
||||
return;
|
||||
}
|
||||
if (status === "paid") {
|
||||
|
||||
Reference in New Issue
Block a user