Subscription Module Update

This commit is contained in:
Leonard Biano
2025-02-22 08:53:39 +08:00
parent 8017b08d61
commit c4ab78b81b
4 changed files with 14 additions and 22 deletions

File diff suppressed because one or more lines are too long

View File

@@ -2,7 +2,7 @@
"/js/manager.js": "/js/manager.js?id=a7b502d3ac84fb0837b00f164abf1322",
"/js/plans.js": "/js/plans.js?id=44f6262765603c3fbbc22fa21c8c6b3d",
"/js/subscribers.js": "/js/subscribers.js?id=c50b8df20b804eab1746e8ca53430b8b",
"/js/subscription.js": "/js/subscription.js?id=40938e689bfa1c4f006f21513734b6c5",
"/js/subscription.js": "/js/subscription.js?id=e6abe572bee72e73dfba9befcbc79fa4",
"/js/coupons.js": "/js/coupons.js?id=42bc1666ee535147ec0f388be7d24b08",
"/css/subscription.css": "/css/subscription.css?id=0342847ae42b28305a436dfd8ea6e63f",
"/css/subscribers.css": "/css/subscribers.css?id=fd57e1a4067d2e49244bfeabab15affd",

View File

@@ -7,7 +7,7 @@
<div class="d-flex flex-wrap align-items-center justify-content-between gap-2">
<h3 class="fs-5">Subscriptions</h3>
<div class="d-flex justify-content-center align-items-center gap-2">
<Button v-show="current_subscription.status == 'active' && current_subscription.payment_method == 'stripe'" label="Update Credit Card" icon="pi pi-credit-card" :disabled="loading_data || updating_card" :loading="updating_card" @click="updateCreditCard" />
<Button v-show="current_subscription?.status == 'active' && current_subscription.payment_method == 'stripe'" label="Update Credit Card" icon="pi pi-credit-card" :disabled="loading_data || updating_card" :loading="updating_card" @click="updateCreditCard" />
<Button label="Prepaid Code" icon="pi pi-qrcode" :disabled="loading_data" @click="prepaidCode" />
<Button label="Add/Change Subscription" icon="pi pi-plus" :disabled="loading_data" @click="newSubscription" />
</div>
@@ -50,7 +50,7 @@
<Tag severity="danger" value="Inactive" v-else-if="slotProps.data.status == 'inactive'"></Tag>
<Tag severity="warning" v-else>
<span class="text-capitalize">
{{slotProps.data.status}}
{{slotProps.data?.status}}
</span>
</Tag>
@@ -81,7 +81,7 @@
<small v-if="slotProps.data.trialing">
Payment and credits will be processed on {{ slotProps.data.trial_end_date }}
</small>
<small v-show="!slotProps.data.trialing && slotProps.data.payment_method != 'prepaid' && slotProps.data.status == 'active'"> {{ slotProps.data.next_payment_date }}</small>
<small v-show="!slotProps.data.trialing && slotProps.data.payment_method != 'prepaid' && slotProps.data?.status == 'active'"> {{ slotProps.data.next_payment_date }}</small>
</template>
</Column>
@@ -98,18 +98,6 @@
</DataTable>
</div>
</template>
<!-- <Column header="Transaction Date" headerClass="header-center" bodyClass="text-center">
<template #body="slotProps">
{{ slotProps.data.created_at }}
</template>
</Column> -->
<!-- <Column header="Actions">
<template #body="slotProps"> -->
<!-- <Button @click="capturePayment(slotProps.data.id)" class="p-button-info" icon="pi pi-check" label="Authorize" v-show="slotProps.data.payment_status == 'uncaptured'" :loading="loading_btn"></Button> -->
<!-- <Button @click="cancelSubscription(slotProps.data.id)" class="p-button-danger" icon="pi pi-times" label="Cancel" v-show="slotProps.data.status == 'active' && slotProps.data.payment_status == 'succeeded'" :loading="loading_btn"></Button> -->
<!-- <Button @click="renewSubscription(slotProps.data.id)" class="p-button-warning" icon="pi pi-check" label="Renew" v-show="slotProps.data.status != 'active'" :loading="loading_btn"></Button> -->
<!-- </template>
</Column> -->
</DataTable>
</div>
</div>
@@ -173,6 +161,11 @@ export default {
this.subscription_plans = data.subscription_plans;
this.categories = data.categories;
this.loading_data = false;
const urlParams = new URLSearchParams(window.location.search);
if(urlParams.get("action") == 'add'){
this.newSubscription();
}
}
})
.catch(error => {

View File

@@ -27,17 +27,16 @@
<InputText v-model="form.promo_code" placeholder="Promo Code" :disabled="applied_coupon || applying_coupon" />
<Button :label="apply_label" severity="warning" rounded @click="handleApplyCoupon" :loading="applying_coupon" :disabled="applying_coupon"/>
</div>
</div>
<div class="col-md-6 py-2 text-center">
<Button label="View Credits Value" class="p-button-rounded p-button-warning" @click="handleViewCredits"/>
</div>
<div class="col-md-3 py-2">
<p class="fieldset">
<input type="radio" v-model="duration" name="duration" value="monthly" id="monthly" checked>
<label for="monthly">Monthly</label>
<input type="radio" v-model="duration" name="duration" value="upfront" id="upfront">
<input type="radio" v-model="duration" name="duration" value="upfront" id="upfront" checked>
<label for="upfront">Yearly</label>
<input type="radio" v-model="duration" name="duration" value="monthly" id="monthly">
<label for="monthly">Monthly</label>
<span class="pricing-switch"></span>
</p>
</div>
@@ -195,7 +194,7 @@ export default {
coupon_discount: null,
selected_plan_price: null,
prorate_credit: 0,
duration: 'monthly'
duration: 'upfront'
}
},
computed: {