Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 26 additions & 11 deletions app/pages/product-fees.vue
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,14 @@ interface ProductFee {
corpType: string
corpTypeDescription: string
fee: number | string
feeGst: number
filingType: string
productCode: string
service: string
serviceCharge: number
gst: number
total: number | string
variable: boolean
serviceChargeGst: number
total?: number | string
variable: boolean | null
url?: string
}

Expand All @@ -41,16 +42,18 @@ function groupAndTotalProducts(inputProducts: ProductFee[]): GroupedProductFee[]
const {
service,
fee,
feeGst,
serviceCharge,
gst,
serviceChargeGst,
url,
productCode,
corpType,
corpTypeDescription,
filingType,
variable
} = currentItem
const total = typeof fee === 'string' ? fee : fee + serviceCharge + gst

const total = calculateTotal(fee, feeGst, serviceCharge, serviceChargeGst)

let serviceString = corpTypeDescription + ' - ' + service
if (variable) {
Expand All @@ -59,8 +62,9 @@ function groupAndTotalProducts(inputProducts: ProductFee[]): GroupedProductFee[]
const productFee: ProductFee = {
service: serviceString,
fee,
feeGst,
serviceCharge,
gst,
serviceChargeGst,
total,
url,
filingType,
Expand Down Expand Up @@ -92,6 +96,9 @@ function groupAndTotalProducts(inputProducts: ProductFee[]): GroupedProductFee[]

const groupedProducts = computed(() => groupAndTotalProducts(productsRaw.value))

const calculateTotal = (fee: number | string, feeGst: number, serviceCharge: number, serviceChargeGst: number) =>
typeof fee === 'string' ? fee : fee + feeGst + serviceCharge + serviceChargeGst

const formatCurrency = (value: number | null | undefined) =>
new Intl.NumberFormat('en-CA', { style: 'currency', currency: 'CAD' })
.format(value ?? 0)
Expand Down Expand Up @@ -123,24 +130,32 @@ const serviceColumns = [
},
{
accessorKey: 'fee',
header: textHeader(t('page.productFees.table.header.fee'), 'right'),
header: textHeader(t('page.productFees.table.header.statutoryFee'), 'right'),
cell: currencyCell('fee'),
meta: {
class: { td: 'w-[170px]' }
}
},
{
accessorKey: 'feeGst',
header: textHeader(t('page.productFees.table.header.statutoryFeeGst'), 'right'),
cell: currencyCell('feeGst'),
meta: {
class: { td: 'w-[170px]' }
}
},
{
accessorKey: 'serviceCharge',
header: textHeader(t('page.productFees.table.header.serviceCharge'), 'right'),
header: textHeader(t('page.productFees.table.header.serviceFee'), 'right'),
cell: currencyCell('serviceCharge'),
meta: {
class: { td: 'w-[170px]' }
}
},
{
accessorKey: 'gst',
header: textHeader(t('page.productFees.table.header.gst'), 'right'),
cell: currencyCell('gst'),
accessorKey: 'serviceChargeGst',
header: textHeader(t('page.productFees.table.header.serviceFeeGst'), 'right'),
cell: currencyCell('serviceChargeGst'),
meta: {
class: { td: 'w-[170px]' }
}
Expand Down
7 changes: 4 additions & 3 deletions i18n/locales/en-CA.ts
Original file line number Diff line number Diff line change
Expand Up @@ -322,9 +322,10 @@ export default {
table: {
header: {
service: 'Description',
fee: 'Fee',
serviceCharge: 'Service Charge',
gst: 'GST',
statutoryFee: 'Statutory Fee',
statutoryFeeGst: 'Statutory Fee GST',
serviceFee: 'Service Fee',
serviceFeeGst: 'Service Fee GST',
total: 'Total'
}
}
Expand Down
7 changes: 4 additions & 3 deletions i18n/locales/fr-CA.ts
Original file line number Diff line number Diff line change
Expand Up @@ -318,9 +318,10 @@ export default {
table: {
header: {
service: 'Service',
fee: 'Frais',
serviceCharge: 'Frais de Service',
gst: 'TPS',
statutoryFee: 'Frais statutaires',
statutoryFeeGst: 'TPS frais statutaires',
serviceFee: 'Frais de service',
serviceFeeGst: 'TPS frais de service',
total: 'Total'
}
}
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "bc-registry",
"version": "3.0.20",
"version": "3.0.21",
"private": true,
"type": "module",
"scripts": {
Expand Down
Loading