2121 {{ title }}
2222 </h2 >
2323 </header >
24- <section v-if =" showCredit && credit !== 0 " >
24+ <section v-if =" showCredit && (hasPadCredit || hasObCredit) " >
2525 <v-divider class =" mb-8" />
26- <h2 >Account Credit: <span class =" cad-credit ml-4" >CAD</span > ${{ credit.toFixed(2) }}</h2 >
26+ <div class =" credit-header-row" >
27+ <span class =" font-weight-bold" >Account Credit Available:</span >
28+ <span
29+ v-if =" hasPadCredit"
30+ class =" credit-method-amount ml-4"
31+ >
32+ <span class =" font-weight-bold credit-method-name" >{{ paymentTypeDisplay.PAD }}</span >
33+ <span class =" font-weight-bold ml-1" >CAD ${{ padCredit.toFixed(2) }}</span >
34+ </span >
35+ <span
36+ v-if =" hasObCredit"
37+ class =" credit-method-amount ml-4"
38+ >
39+ <span class =" font-weight-bold credit-method-name" >{{ paymentTypeDisplay.ONLINE_BANKING }}</span >
40+ <span class =" font-weight-bold ml-1" >${{ obCredit.toFixed(2) }}</span >
41+ </span >
42+ </div >
2743 <p class =" credit-details mt-1" >
28- You have a credit of ${{ credit.toFixed(2) }} on this account.
44+ Credit for different payment methods are not transferable. To use your credit, please navigate
45+ to the Product and Payment page and select the related payment method.
2946 </p >
3047 <v-divider class =" mb-8 mt-8" />
3148 </section >
@@ -126,6 +143,7 @@ import { StatusCodes } from 'http-status-codes'
126143import TransactionsDataTable from ' ./TransactionsDataTable.vue'
127144import { getTransactionTableHeaders } from ' @/resources/table-headers'
128145import moment from ' moment'
146+ import { paymentTypeDisplay } from ' @/resources/display-mappers/payment-type-display'
129147import { useOrgStore } from ' @/stores/org'
130148
131149export default defineComponent ({
@@ -151,7 +169,12 @@ export default defineComponent({
151169 const { clearAllFilters, getTransactionReport, loadTransactionList, setViewAll, defaultSearchToOneYear } = useTransactions ()
152170
153171 const state = reactive ({
154- isLoading: false
172+ isLoading: false ,
173+ obCredit: 0 ,
174+ padCredit: 0 ,
175+ paymentMethod: null ,
176+ hasPadCredit: computed (() => state .padCredit > 0 ),
177+ hasObCredit: computed (() => state .obCredit > 0 )
155178 })
156179
157180 // FUTURE: vue3 we can set this fn explicitly in the resource instead of doing it here
@@ -186,8 +209,6 @@ export default defineComponent({
186209 })
187210 })
188211
189- const credit = ref (0 )
190-
191212 const isTransactionsAllowed = computed ((): boolean => {
192213 return orgStore .hasPermission (Permission .TRANSACTION_HISTORY )
193214 })
@@ -196,9 +217,13 @@ export default defineComponent({
196217 const accountId = currentOrgPaymentDetails .value ?.accountId
197218 if (! accountId || Number (accountId ) !== currentOrganization .value ?.id ) {
198219 const paymentDetails: OrgPaymentDetails = await orgStore .getOrgPayments (currentOrganization .value ?.id )
199- credit .value = Number (paymentDetails ?.credit || 0 )
220+ state .obCredit = Number (paymentDetails ?.obCredit || 0 )
221+ state .padCredit = Number (paymentDetails ?.padCredit || 0 )
222+ state .paymentMethod = paymentDetails .paymentMethod || ' '
200223 } else {
201- credit .value = Number (currentOrgPaymentDetails .value ?.credit || 0 )
224+ state .obCredit = Number (currentOrgPaymentDetails .value ?.obCredit || 0 )
225+ state .padCredit = Number (currentOrgPaymentDetails .value ?.padCredit || 0 )
226+ state .paymentMethod = currentOrgPaymentDetails .value ?.paymentMethod || ' '
202227 }
203228 }
204229
@@ -245,8 +270,8 @@ export default defineComponent({
245270 headerSelections ,
246271 headersSelected ,
247272 sortedHeaders ,
248- credit ,
249- exportCSV
273+ exportCSV ,
274+ paymentTypeDisplay
250275 }
251276 }
252277})
@@ -341,4 +366,16 @@ export default defineComponent({
341366 .loading-container {
342367 background : rgba (255 ,255 ,255 , 0.8 );
343368 }
369+
370+ .credit-header-row {
371+ display : flex ;
372+ align-items : center ;
373+ font-size : 1.15rem ;
374+ }
375+ .credit-method-amount {
376+ font-size : 1.15rem ;
377+ }
378+ .credit-method-name {
379+ color : $gray7 ;
380+ }
344381 </style >
0 commit comments