123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- var Bizgaze;
- (function (Bizgaze) {
- let Apps;
- (function (Apps) {
- let Transact;
- (function (Transact) {
- let Controls;
- (function (Controls) {
- class CartItem extends Unibase.Platform.Core.BaseComponent {
- init() {
- var instance = this;
- instance.fileCacheHelper.loadJsFile("apps/transact/controls/invoices/pos.component.js", function () {
- instance._pos = Bizgaze.Apps.Transact.Controls.Pos.Instance();
- });
- }
- updateCartContainerHtml(itemId, productId) {
- var cartInfo = document.getElementsByClassName("cart-item-info");
- if (cartInfo.length > 0) {
- let cartContainerItemElement = document.querySelector(".cart-container [data-itemId='" + itemId + "'][data-productId='" + productId + "']");
- let currentCart = Bizgaze.Apps.Transact.Controls.Pos.Instance().userCart.find(x => x.productId == productId && x.itemId == itemId);
- if (cartContainerItemElement) {
- $(cartContainerItemElement).find(".item-quantity").val(currentCart.quantity.toString());
- $(cartContainerItemElement).find(".item-quantity").text(currentCart.quantity.toString());
- $(cartContainerItemElement).find(".total-price").text(((currentCart.quantity * currentCart.itemPrice).toFixed(2)).toString());
- $(cartContainerItemElement).find(".total-accessible-price").text(((currentCart.quantity * currentCart.accessibleAmount).toFixed(2)).toString());
- $(cartContainerItemElement).find('.item-weight .item-quantity').text(currentCart.quantity);
- if (currentCart.discountRate > 0) {
- $(cartContainerItemElement).find('.item-discount').removeClass("d-none");
- }
- }
- else {
- var html = "";
- var itemdetails = this._pos.userCart.find(x => x.itemId == itemId && x.productId == productId);
- if (itemdetails != undefined) {
- if (itemdetails["offerrefid"] != 0) {
- html = this.getCartItemsHtml(itemdetails, itemdetails.isFOC);
- }
- else {
- html = this.getCartItemsHtml(itemdetails);
- }
- $('#cart-container-items').last().append(html);
- }
- }
- if ($(cartContainerItemElement).find('.item-discount').text() != "") {
- $(cartContainerItemElement).find('.item-discount').removeClass("d-none");
- }
- }
- else {
- $(".cart-container").remove();
- $('#poscart_details').find('.Section').first().find(".card-body").first().append(this.getCartHtml());
- Bizgaze.Apps.Transact.Controls.Pos.Instance().cartInfoElement = null;
- Bizgaze.Apps.Transact.Controls.Pos.Instance().allEventsExecuted = false;
- Bizgaze.Apps.Transact.Controls.Pos.Instance().eventListeners();
- }
- Bizgaze.Apps.Transact.Controls.Pos.Instance().updateCheckoutPrice();
- var total = $("#grand_total_checkout").text();
- if ($('.section_PaymentInformation').is(':visible')) {
- $('#billDetailsWrap').removeClass('d-none');
- Bizgaze.Apps.Transact.Controls.Pos.Instance().applyCartBodyHeight();
- }
- $(".total-pay-price").text(total);
- this._pos.runVirtualKeyboard();
- this._pos.applyCartBodyHeight();
- }
- getCartHtml() {
- let html = "";
- var ins = Bizgaze.Apps.Transact.Controls.Pos.Instance();
- var totalQuantity = Bizgaze.Apps.Transact.Controls.Pos.Instance().userCart.length;
- for (var i = 0; i < Bizgaze.Apps.Transact.Controls.Pos.Instance().userCart.length; i++) {
- if (Bizgaze.Apps.Transact.Controls.Pos.Instance().userCart[i]["offerrefid"] != 0) {
- html += this.getCartItemsHtml(Bizgaze.Apps.Transact.Controls.Pos.Instance().userCart[i], Bizgaze.Apps.Transact.Controls.Pos.Instance().userCart[i].isFOC);
- }
- else {
- html += this.getCartItemsHtml(Bizgaze.Apps.Transact.Controls.Pos.Instance().userCart[i]);
- }
- }
- var total = Bizgaze.Apps.Transact.Controls.Pos.Instance().totalPrice(Bizgaze.Apps.Transact.Controls.Pos.Instance().userCart).toFixed(2);
- var display = "";
- if (Bizgaze.Apps.Transact.Controls.Pos.Instance().invoiceid == 0) {
- display = "d-none";
- }
- let taxamount = parseFloat(Bizgaze.Apps.Transact.Controls.Pos.Instance().totalTaxAmount).toFixed(2);
- return `<div class='cart-container'><div class='card-header cart-header px-10'><span id="cart-quantity" class="cart-quantity"><span class="cart-heading"><i class="las la-shopping-cart font-25 mr-5"></i> Order Details</span><span class="item-quantity">${totalQuantity}</span></span></div><div data-simplebar class='simple-scroll-bar card-body p-0 cart-body'><div id="cart-container-items">${html}</div></div><div class="cart-footer"><div id="billDetailsWrap" class="bill-details-wrap d-none"><div class="bill-details"><div class="coupon-wrapper"><a class="apply-coupon-link" href="javascript:;" id="applyCoupanLink" onclick="Bizgaze.Apps.Transact.Controls.CartItem.Instance().applyCoupan();">Apply Coupon</a><div class="coupon-input-wrap d-none"><input type="text" class="form-control coupon-input virtual-keyboard" data-kioskboard-type="all" data-kioskboard-specialcharacters="false" placeholder="Apply coupon"><a class="coupon-code-apply" href="javascript:;">Apply</a></div></div><span class="font-weight-500 text-dark-100 mb-1">Bill Details</span><ul class="bill-details-list"><li><span >Item Total</span><span class="detail-price" id="total_adjustmentprice">${parseFloat(ins.totalAdjustmentAmmount).toFixed(2)}</span></li><li><span>Discounts</span><span class="detail-price" id="total_discountprice">${ins.totalDiscountAmount}</span></li><li><span>Taxes</span><span class="detail-price" id="total_taxprice">${taxamount}</span></li></ul></div><div class="total-pay-price-wrap"><span>Total</span><span class="total-pay-price" id="total_price">${parseFloat(total).toFixed(2)}</span></div></div><div class="cart-checkout-btn ${display}"><a href="javascript:;">Checkout</a><span id="grand_total_checkout" class="total-price-box total-price">${parseFloat(total).toFixed(2)}</span></div></div></div>`;
- }
- getCartItemsHtml(cartItem, isOffer) {
- cartItem.itemPrice = parseFloat(cartItem.itemPrice).toFixed(2);
- let isHidden = '', isFree = '', productId = cartItem.productId, discount = '', hasdiscount = 'd-none';
- var discountvalue = 0;
- var accessibleAmount = (cartItem.quantity * cartItem.itemPrice).toFixed(2);
- if (cartItem.discountRate > 0) {
- discount = ' - (' + cartItem.discountRate + ') %';
- hasdiscount = '';
- }
- if (isOffer) {
- isHidden = 'd-none';
- isFree = '(free)';
- productId = 0;
- accessibleAmount = (cartItem.accessibleAmount * cartItem.quantity).toFixed(2);
- }
- var image = "";
- var imagepath = Bizgaze.Apps.Transact.Controls.Pos.Instance().itemImage.find(x => x.itemId == cartItem.itemId);
- if (imagepath != null && imagepath != undefined) {
- image = imagepath.image;
- }
- return `<div class="cart-item-info" data-itemId="${cartItem.itemId}" data-productId="${productId}">
- <input class="item-tax-amount hidden" style="" value ="${cartItem.TaxAmount}">
- <input class="discount_amount d-none hidden" value="${cartItem.DiscountAmount}">
- <div class="item-left-details"><img src="${image}" class="cart-item-img">
- <div class="cart-item-details">
- <span class="item-name">${cartItem.itemName} ${isFree}</span>
- <span class="item-weight"><span class="item-quantity">${cartItem.quantity}</span><span class="mx-1"><i class="las la-times"></i></span><span class="item-price">${cartItem.itemPrice}<span class="item-discount ${hasdiscount}">${discount}</span> </span></span>
- </div></div>
- <div class="item-right-details"><span class="total-accessible-price">${(accessibleAmount)}</span>
- <div class="cart-counter ${isHidden}">
- <a class="btn item-increment-btn control-btn" href="javascript:;"><i class="las la-plus"></i></a>
- <input type="number" value="${cartItem.quantity}" min="0" max="100" class="prodQuantity item-quantity virtual-keyboard" data-kioskboard-type="numpad">
- <a class="item-decrement-btn control-btn" href="javascript:;"><i class="las la-minus"></i></a>
- </div></div>
- <a class="btn item-remove-btn ${isHidden}" href="javascript:;"><i class="las la-times font-18"></i></a>
- </div>`;
- }
- loadControl(containerid, prop) {
- const self = this;
- var data = self.getCartHtml();
- $("#" + containerid).append(data);
- $('#poscart_details').find('.Section').first().addClass('mb-0 border-0').find('.card-header').first().addClass('d-none').siblings('.card-body').addClass('pa-0');
- }
- applyCoupan() {
- $('.coupon-input-wrap').toggleClass('d-none');
- $('.apply-coupon-link').toggleClass('active');
- this._pos.applyCartBodyHeight();
- }
- loadControlSettings(controlsettingjson, formpropertyid) {
- }
- loadPropertySettings(propertysettings, formpropertyid) {
- }
- bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
- }
- static Instance() {
- if (this.instance === undefined) {
- this.instance = new CartItem();
- }
- return this.instance;
- }
- }
- Controls.CartItem = CartItem;
- })(Controls = Transact.Controls || (Transact.Controls = {}));
- })(Transact = Apps.Transact || (Apps.Transact = {}));
- })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
- })(Bizgaze || (Bizgaze = {}));
|