diff --git a/src/layouts/payment/payment.vue b/src/layouts/payment/payment.vue
index 0cd632dc6..120105aa7 100644
--- a/src/layouts/payment/payment.vue
+++ b/src/layouts/payment/payment.vue
@@ -25,6 +25,7 @@
{
vm.setCmsContent(resultMap.cmsContent);
- vm.fetchSignatureInfo(resultMap.signature);
- vm.setIFrameListener();
-
vm.availableVaps = taxedVaps;
vm.lineItems = lineItems;
+
+ vm.$nextTick(() => {
+ if (vm.$refs.cart) {
+ const cartItems = vm.$refs.cart.cartItems;
+ vm.getPiaLineItems(cartItems);
+ }
+
+ vm.fetchSignatureInfo(resultMap.signature);
+ vm.setIFrameListener();
+ });
});
},
computed: {
@@ -506,27 +514,23 @@ export default {
return store.getters.payment.piaType;
}
},
- getPiaLineItems() {
- const itemMap = new Map();
+ getPiaLineItems(cartItems) {
const glassParts = store.getters.order.lineItems.glassParts;
- const supportingItems = store.getters.order.lineItems.supportingItems;
- const vaps = store.getters.order.lineItems.vaps;
- const items = [...(glassParts ?? []), ...(supportingItems ?? []), ...(vaps ?? [])];
+ let lineItems = [];
- for (const item of items) {
- const amount = item.laborAmount + item.sellingPrice;
- const key = `${item.partType}|${amount}`;
-
- if (itemMap.has(key)) {
- itemMap.get(key).quantity++;
- } else {
- itemMap.set(key, { partType: item.partType, amount, quantity: 1 });
- }
+ if (glassParts === null) {
+ lineItems = ["Labor|0|1", "Repair supplies|0|1"];
+ } else {
+ lineItems = ["Parts and labor|0|1"];
}
- return Array.from(itemMap.values())
- .map((item) => `${item.partType}|${item.amount}|${item.quantity}`)
- .join("||");
+ cartItems.forEach((item) => {
+ if (item.name !== null) {
+ lineItems.push(`${item.name}|${(item.salesTax + item.subTotal).toFixed(2)}|1`);
+ }
+ });
+
+ this.piaLineItems = lineItems.join("||");
},
getAmountDue() {
return baseMixin.methods.getAmountDue(store.getters.order.lineItems);