123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690 |
- var Bizgaze;
- (function (Bizgaze) {
- let Apps;
- (function (Apps) {
- let PayBacks;
- (function (PayBacks) {
- let Components;
- (function (Components) {
- class CouponRedemption extends Unibase.Platform.Core.BaseComponent {
- constructor() {
- super(...arguments);
- this._totalamount = 0;
- this._isScannedCoupon = false;
- this._isSecondCoupon = false;
- this._totalAppliedCoupons = 0;
- }
- cssFiles() {
- return null;
- }
- jsFiles() {
- return ["apps/paybacks/components/couponredemption.js", "apps/transact/managers/invoicemanager.js", "apps/paybacks/managers/schememanager.js"];
- }
- html(id, containerid) {
- var html = "";
- return html;
- }
- load(id, containerid, callback) {
- }
- init(containerid) {
- var instance = this;
- Unibase.Platform.Helpers.FileCacheHelper.Instance().loadCssFile("libs/simplebar/simplebar.min.css", null);
- this.fileCacheHelper.loadCssFile("tenants/themes/compact/css/coupons.css", null);
- this.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", null);
- this.fileCacheHelper.loadCssFile("platform/automation/components/notifier.js", null);
- this.fileCacheHelper.loadJsFile("platform/automation/enums/noitfyalerts.js", null);
- $('[data-toggle="tooltip"]').tooltip();
- $(document).on("click", '.coupon-modal-close', function (e) {
- $('.timeline-wrap').removeClass('d-none');
- $(this).closest('.coupon-modal').removeClass('d-block');
- $('.spn_cpnrd_errormsg').html('');
- return false;
- });
- $(document).ready(function () {
- $('#cpnRedemp_txtCouponNo').on("input", function () {
- if ($("#cpnRedemp_txtCouponNo").val().toString().length >= 15) {
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().redeemCoupon();
- }
- });
- $(document).on("click", '#cpnrd_btn_ApplyNewCoupon', function (e) {
- var idTarget = $(this).attr('data-target');
- $('.div_cpnrd_coupon_submissions').addClass('d-none');
- $('.div_cpnrd_apply_coupon').removeClass('d-block');
- $(idTarget).addClass('d-block');
- $(idTarget).find('.input-focus').focus();
- $('.cpnrd_div_btn_acitons').addClass('hidden');
- $('.btn_cpnrd_SubmitCoupons').addClass('hidden');
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().refreshData();
- return false;
- });
- $('#crpnrd_btn_OpenScanner').on("click", function () {
- $('#cpnRedemp_txtCouponNo').focusin();
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().openScanner();
- });
- $('.btn_cpnrd_close_apply_coupon').on('click', function () {
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().refreshData();
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().loadCouponSubmissions($('#cpnRedemp_hfOrganizationId').val());
- $('.cpnrd_div_btn_acitons').removeClass('hidden');
- $('#cpnrd_divErrorsList').addClass('hidden');
- });
- });
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().render(containerid);
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().organizationAutoComplete();
- }
- organizationAutoComplete() {
- var instance = this;
- var isCustomer = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().isRestrictedUser;
- var UserId = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().userId;
- if (isCustomer) {
- instance.fileCacheHelper.loadJsFile("apps/crm/contacts/managers/contactmanager.js", function () {
- Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getOrgContact(UserId).then(function (response) {
- var contactId = response.result.OrgContactId;
- var orgContactName = response.result.OrgContactName;
- var organizationName = response.result.OrganizationName;
- var PhoneNumber = response.result.PhoneNumber;
- var SapCode = "";
- if (response.result.SAPCIN != null) {
- SapCode = response.result.SAPCIN;
- }
- var organiozationid = response.result.OrgId;
- var contactName = organizationName + '-' + SapCode + '-' + PhoneNumber;
- var contact = new Option(contactName, organiozationid.toString(), true);
- $('#cpnRedemp_hfOrganizationId').val(organiozationid);
- $("#cpnRedemp_txtOrganizationName").append(contact);
- if (contactId != 0) {
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().loadOrganizationDetails(organiozationid);
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().loadCouponSubmissions(organiozationid);
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().refreshData();
- $('.timeline-wrap').removeClass('d-none');
- $('.coupon-modal-close').closest('.coupon-modal').removeClass('d-block');
- $('.spn_cpnrd_errormsg').html('');
- $('.btn_cpnrd_SubmitCoupons').addClass('hidden');
- $('.cpnRedemp_CouponSummary').removeClass('d-none');
- $(".cpnRedemp_ContactDetails").removeClass('hidden');
- }
- else {
- $('.cpnRedemp_CouponSummary').addClass('d-none');
- $(".cpnRedemp_ContactDetails").addClass('hidden');
- }
- });
- });
- }
- else {
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().bindContact();
- }
- }
- bindContact() {
- var url = _appsettings.server_url() + '/apis/v4/bizgaze/paybacks/coupons/couponcontact';
- AutoCompleteHelper.getHelper().Create("#cpnRedemp_txtOrganizationName", "#cpnRedemp_hfOrganizationId", url, function (response) {
- var autocompletedata = response;
- if ($('#cpnRedemp_hfOrganizationId').val() != 0) {
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().loadOrganizationDetails($('#cpnRedemp_hfOrganizationId').val());
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().loadCouponSubmissions($('#cpnRedemp_hfOrganizationId').val());
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().refreshData();
- $('.timeline-wrap').removeClass('d-none');
- $('.coupon-modal-close').closest('.coupon-modal').removeClass('d-block');
- $('.spn_cpnrd_errormsg').html('');
- $('.btn_cpnrd_SubmitCoupons').addClass('hidden');
- $('.cpnRedemp_CouponSummary').removeClass('d-none');
- $(".cpnRedemp_ContactDetails").removeClass('hidden');
- }
- else {
- $('.cpnRedemp_CouponSummary').addClass('d-none');
- $(".cpnRedemp_ContactDetails").addClass('hidden');
- }
- });
- }
- ;
- loadOrganizationDetails(organizationId) {
- var instance = this;
- instance.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", function () {
- Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getOrganizationDetails(organizationId).then(function (response) {
- var data = response.result;
- if (data != null) {
- $("#cpnrd_spnContactName").text(data.OrganizationName);
- $("#cpnrd_spnContactPhoneNumber").text(data.PhoneNumber);
- $("#cpnrd_spnContactEmailId").text(data.EmailAddress);
- $("#cpnrd_spnContactCityName").text(data.CityName);
- $("#cpnrd_spnContactStageName").text(data.StageName);
- $("#cpnrd_spnStateName").text(data.StateName);
- $("#cpnrd_spnContactAddress").text(data.AddressName);
- $("#cpnrd_spnContactTagName").text(data.TagName);
- $("#cpnrd_spnContactStateName").text(data.StateName);
- $("#hf_Coupon_Org_search").val(data.OrganizationId);
- $("#cpnrd_spnContactAddress").attr('title', data.AddressName);
- if (data.SapCIN == "0" || data.SapCIN == 0 || data.SapCIN == null)
- $("#cpnrd_spnContactId").text('NA');
- else
- $("#cpnrd_spnContactId").text(data.SapCIN);
- if (data.StageStatusName != 'Confirmed') {
- $('#cpnrd_btn_ApplyNewCoupon').addClass('disabled');
- $('#cpnrd_btn_ApplyNewCoupon').addClass('cpnrd-custom-disabled-btn');
- }
- else {
- $('#cpnrd_btn_ApplyNewCoupon').removeClass('disabled');
- $('#cpnrd_btn_ApplyNewCoupon').removeClass('cpnrd-custom-disabled-btn');
- }
- }
- });
- });
- }
- refreshData() {
- $('#cpnrd_CouponRdemptionList_Items').empty();
- $('.cpnrd_ulErrorsList').empty();
- $(".cpnrd_spnAppliedCouponsTotalAmount").text('');
- $(".cpnrd_spnCouponSubmissionNumber").text('');
- $(".cpnrd_spanAppliedCouponsCount").text('');
- $("#cpnrd_hfCouponSubmissionId").val(0);
- $("#cpnrd_hfCouponSubmissionNo").val('');
- $("#cpnrd_hf_AppliedCouponsAmount").val(0);
- $('.cpnrd_spanTotalMktValue').text('');
- $('.cpnrd_spanTotalMfgValue').text('');
- $("#cpnrd_hf_MktCouponsAmount").val(0);
- $("#cpnrd_hf_MfgCouponsAmount").val(0);
- $("#cpnRedemp_txtCouponNo").val('');
- $("#cpnrd_CouponRdemptionList_Items").html('<td class="hidden cpnrd_CouponRdemptionList_Items_li"></td>');
- $(".cpnrd_ulErrorsList").html('<li class="list-group-item cpnrd_ulErrorsList_li hidden"></li>');
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance()._isSecondCoupon = false;
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance()._totalAppliedCoupons = 0;
- }
- loadCouponSubmissions(contactid) {
- var instance = this;
- Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/paybacks/managers/schememanager.js", function () {
- Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getTransactionLog(contactid).then(function (response) {
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().bindSubmissionsHtml(response.result);
- $('.cpnrd_div_btn_acitons').removeClass('hidden');
- });
- });
- }
- bindSubmissionsHtml(logdata) {
- var html = '';
- if (logdata.length > 0) {
- for (var i = 0; i < logdata.length; i++) {
- let data = logdata[i];
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().loadTransactionLogItems(data.CouponSubmissionId);
- html += '<div class="card trans-card coupon-applied">' +
- '<div class="card-header collapsed" data-toggle="collapse" data-target="#cpmRedemp_collapse_' + data.CouponSubmissionId + '" aria-expanded="false">' +
- '<div class="d-flex justify-content-between align-items-center">' +
- '<div class="media align-items-center">' +
- '<div class="media-img-wrap mr-15">' +
- '<div class="avatar avatar-sm">' +
- '<span class="avatar-icon avatar-icon-inv-orange rounded-circle"><span class="initial-wrap"><span class="nav-icon-wrap" > <i class="dripicons dripicons-ticket"> </i></span></span></span></div></div>' +
- '<div class="media-body">' +
- '<div class="font-14 text-dark font-weight-500">Coupon Submission<span class="badge badge-soft-danger ml-10">Sent</span></div><div>' +
- '<span class="font-14 text-dark"> Coupon Submission No : ' + data.SubmissionNo + ', Submission Date : ' + moment(data.SubmissionDate).format('DD/MM/YYYY') + '</span></div></div></div>' +
- '<div class="amount-display">₹' + data.SubmissionValue + '</div></div></div>' +
- '<div class="collapse" id="cpmRedemp_collapse_' + data.CouponSubmissionId + '">' +
- '<div class="card mb-0">' +
- '<div class="card-header bg-white"><div class="row col-12"><div class="col-sm-2"><h6><strong>Coupon Code</strong></h6></div>' +
- '<div class="col-sm-2"><h6><strong>Product Code</strong></h6></div> <div class="col-sm-2"><h6><strong>Amount</strong></h6></div> <div class="col-sm-2"><h6><strong>Is Scanned Coupon</strong></h6></div><div class="col-sm-2"><h6><strong>Marketing</strong></h6></div><div class="col-sm-2"><h6><strong>Manufacturing</strong></h6></div></div>' +
- '<div class="card-body pa-0 cpmRedemp_TransationLogItems_' + data.CouponSubmissionId + '" >' +
- '</div>' +
- '</div></div>' +
- '</div></div>';
- }
- }
- else {
- html += '<div class="card trans-card coupon-applied"><span class="text-center align-center"><h6 class="mb-10 mt-10 text-danger">No submissions found...</h6 ></span></div>';
- }
- $('.cpnRedmp_SubmissionList_li').html(html);
- }
- loadTransactionLogItems(couponsubmissionid) {
- this.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", function () {
- Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getTransactionLogItems(couponsubmissionid).then(function (response) {
- var logitemdata = response.result;
- var html = '<ul class="list-group">';
- for (var i = 0; i < logitemdata.length; i++) {
- var mktVal = 0;
- var mfgVal = 0;
- var data = logitemdata;
- if (data[i].ItemDivisionType == 'MKT')
- mktVal = data[i].CouponValue;
- else if (data[i].ItemDivisionType == 'MFG')
- mfgVal = data[i].CouponValue;
- html += '<li class="d-flex align-items-center justify-content-between list-group-item">';
- html += '<div class="row col-12">' +
- '<div class="col-sm-2 mt-2">' + data[i].CouponNo + '</div>' +
- '<div class="col-sm-2 mt-2" id=itemname>' + data[i].Sku + '</div>' +
- '<div class="col-sm-2 mt-2 d-flex align-items-center">₹' + data[i].CouponValue + '</div>' +
- '<div class="col-sm-2 mt-2 d-flex align-items-center">' + data[i].IsScannedCoupon + '</div>' +
- '<div class="col-sm-2 mt-2 d-flex align-items-center">₹' + mktVal + '</div>' +
- '<div class="col-sm-2 mt-2 d-flex align-items-center">₹' + mfgVal + '</div>' +
- '</div></div></li>';
- }
- html += '</ul>';
- $('.cpmRedemp_TransationLogItems_' + couponsubmissionid + '').html(html);
- });
- });
- }
- readScanner(capturedValue, uniqueId) {
- if (capturedValue != "" && capturedValue != null && capturedValue != undefined) {
- $("#cpnRedemp_txtCouponNo").val(capturedValue);
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance()._isScannedCoupon = true;
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().redeemCoupon();
- }
- }
- openScanner() {
- if (isMobileApp()) {
- Unibase.Platform.Helpers.MobileHelper.Instance().openQrScanner("Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().readScanner", "_Widget_User_Designed_Coupon_Rademption");
- }
- }
- andriodTextToSpeech(textToSpeech) {
- if (isMobileApp()) {
- Unibase.Platform.Helpers.MobileHelper.Instance().textToSpeech(textToSpeech);
- }
- }
- redeemCoupon() {
- var instance = this;
- $('.spn_cpnrd_errormsg').html('');
- let contactid = Number($('#cpnRedemp_hfOrganizationId').val());
- let couponno = $('#cpnRedemp_txtCouponNo').val().toString();
- var tempArray = [];
- let isSecondCoupon = instance._isSecondCoupon;
- let isScannedCoupon = instance._isScannedCoupon;
- let TotalAmount = Number($("#cpnrd_hf_AppliedCouponsAmount").val());
- let mktTotalAmount = Number($("#cpnrd_hf_MktCouponsAmount").val());
- let mfgTotalAmount = Number($("#cpnrd_hf_MfgCouponsAmount").val());
- let audiotype;
- if (contactid == 0) {
- MessageHelper.Instance().showError('Please select any customer... ', 'spn_cpnrd_errormsg');
- return null;
- }
- if (couponno == "" || couponno == undefined) {
- MessageHelper.Instance().showError('Coupon number can not be empty', 'spn_cpnrd_errormsg');
- return null;
- }
- this.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", function () {
- Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/invoicemanager.js", function () {
- var coupon = {
- CouponNo: couponno,
- AppliedContactId: contactid,
- IsSecondCoupon: isSecondCoupon,
- IsRedeemed: true,
- CouponSubmissionId: Number($('#cpnrd_hfCouponSubmissionId').val()),
- CouponSubmissionNo: $('#cpnrd_hfCouponSubmissionNo').val(),
- IsScannedCoupon: isScannedCoupon,
- };
- Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().RedeemCoupon(coupon).then(function (response) {
- if (response.errors != null) {
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().bindTempErrorLog(couponno, response.message);
- MessageHelper.Instance().showError(response.message, 'spn_cpnrd_errormsg');
- if (isMobileApp())
- if (response.message.includes('redeemed'))
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().andriodTextToSpeech("Coupon already redeemed");
- else
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().andriodTextToSpeech(response.message);
- else {
- if (response.message.includes('Invalid/duplicate')) {
- audiotype = Unibase.Platform.Automation.Enums.NotifyAlerts.InvalidDuplicateCoupon;
- Unibase.Platform.Automation.Components.Notifier.Instance().playAudio(audiotype);
- }
- else if (response.message.includes('redeemed')) {
- audiotype = Unibase.Platform.Automation.Enums.NotifyAlerts.CouponAlreadyRedeemed;
- Unibase.Platform.Automation.Components.Notifier.Instance().playAudio(audiotype);
- }
- else if (response.message.includes('Unauthentic') || response.message.includes('unauthentic')) {
- audiotype = Unibase.Platform.Automation.Enums.NotifyAlerts.UnAuthenticCoupon;
- Unibase.Platform.Automation.Components.Notifier.Instance().playAudio(audiotype);
- }
- else if (response.message.includes('Scrapped') || response.message.includes('scrapped')) {
- audiotype = Unibase.Platform.Automation.Enums.NotifyAlerts.CouponScrapped;
- Unibase.Platform.Automation.Components.Notifier.Instance().playAudio(audiotype);
- }
- else {
- eval('unibase_tenants_themes_notificationrefresh.invalidDuplicateCoupon()');
- audiotype = Unibase.Platform.Automation.Enums.NotifyAlerts.InvalidDuplicateCoupon;
- Unibase.Platform.Automation.Components.Notifier.Instance().playAudio(audiotype);
- }
- }
- $("#cpnRedemp_txtCouponNo").val('');
- return null;
- }
- if (response.result != null) {
- var data = JSON.parse(response.result);
- data = data.Result;
- instance._isSecondCoupon = true;
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance()._isScannedCoupon = false;
- $(".cpnrd_spnCouponSubmissionNumber").text(data.SubmissionNo);
- $("#cpnrd_hfCouponSubmissionId").val(data.CouponSubmissionId);
- $("#cpnrd_hfCouponSubmissionNo").val(data.SubmissionNo);
- let couponId = data.CouponId;
- TotalAmount = TotalAmount + Number(data.CouponValue);
- if (data.ItemDivisionType == "MKT")
- mktTotalAmount = mktTotalAmount + Number(data.CouponValue);
- else if (data.ItemDivisionType == "MFG")
- mfgTotalAmount = mfgTotalAmount + Number(data.CouponValue);
- $(".cpnrd_spnAppliedCouponsTotalAmount").text(TotalAmount);
- $("#cpnrd_hf_AppliedCouponsAmount").val(TotalAmount);
- $('#cpnrd_hf_CouponSubmissionNo').val(data.SubmissionNo);
- $("#cpnrd_hf_MktCouponsAmount").val(mktTotalAmount);
- $("#cpnrd_hf_MfgCouponsAmount").val(mfgTotalAmount);
- $('.cpnrd_spanTotalMktValue').text(mktTotalAmount);
- $('.cpnrd_spanTotalMfgValue').text(mfgTotalAmount);
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().bindRedemptionHtml(data);
- if (isMobileApp())
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().andriodTextToSpeech('Coupon Applied');
- else
- audiotype = Unibase.Platform.Automation.Enums.NotifyAlerts.CouponBeep;
- Unibase.Platform.Automation.Components.Notifier.Instance().playAudio(audiotype);
- $("#cpnRedemp_txtCouponNo").val('');
- }
- });
- });
- });
- this._totalamount = Number($("#cpnrd_hf_AppliedCouponsAmount").val());
- }
- bindTempErrorLog(couponNumber, message) {
- $('#cpnrd_divErrorsList').removeClass('hidden');
- var html = '<li class="list-group-item cpnrd_ulErrorsList_li"><div class="row">' +
- '<span class="h6 col-6 col-xs-12 text-danger">' + couponNumber + '</span>' +
- '<span class="h6 col-6 col-xs-12 text-right text-danger">' + message + '</span>' +
- '</div>';
- '</li>';
- $('.cpnrd_ulErrorsList_li:first').before(html);
- }
- submitCoupons() {
- let contactid = Number($('#cpnRedemp_hfOrganizationId').val());
- var postdata = {
- ContactId: contactid,
- IsSubmitted: true,
- ConsumedValue: Number($('.AvailableWalletAmount').text()),
- SubmissionNo: $('.cpnrd_spnCouponSubmissionNumber').text(),
- SubmissionId: $('#cpnrd_hfCouponSubmissionId').val(),
- };
- Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/paybacks/managers/schememanager.js", function () {
- Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().couponsubmition(postdata).then(function (response) {
- $('#cpnrd_CouponRdemptionList_Items').empty();
- $("#cpnrd_CouponRdemptionList_Items").html('<td class="hidden cpnrd_CouponRdemptionList_Items_li"></td>');
- $('.cpnrd_spanAppliedCouponsCount').text('0');
- $('.cpnrd_spnAppliedCouponsTotalAmount').text('0');
- var data = response;
- Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().loadCouponSubmissions($('#cpnRedemp_hfOrganizationId').val());
- if (response.errors != null) {
- MessageHelper.Instance().showError(response.message, 'spn_cpnrd_errormsg');
- }
- else {
- $('.timeline-wrap').removeClass('d-none');
- $('.coupon-modal-close').closest('.coupon-modal').removeClass('d-block');
- $('.spn_cpnrd_errormsg').html('');
- MessageHelper.Instance().showSuccess(response.message, 'spn_cpnrd_errormsg');
- return false;
- }
- });
- });
- }
- getcouponwallletamount(contactid) {
- Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/paybacks/managers/schememanager.js", function () {
- Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getcouponwallletamount(contactid).then(function (response) {
- var data = response;
- var amount = data.result.WalletValue;
- $('.AvailableWalletAmount').text(amount);
- });
- });
- }
- bindRedemptionHtml(couponData) {
- let SubmissionNo = "";
- var instance = this;
- instance._totalAppliedCoupons += 1;
- SubmissionNo = couponData.SubmissionNo;
- var mktVal = 0;
- var mfgVal = 0;
- if (couponData.ItemDivisionType == "MKT")
- mktVal = couponData.CouponValue;
- else if (couponData.ItemDivisionType == "MFG")
- mfgVal = couponData.CouponValue;
- var html = '';
- var lastAss = '';
- if (couponData.LastAssignedTo != null || couponData.LastAssignedTo != '')
- lastAss = couponData.LastAssignedToName;
- html += '<tr class="cpnrd_CouponRdemptionList_Items_li">' +
- '<td colspan="2">' + couponData.CouponNo + '</td>' +
- '<td colspan="2">' + couponData.Sku + '</td>' +
- '<td colspan="2"><span class="discounted-amount">₹' + couponData.CouponValue + '</span></td>' +
- '<td colspan="2">' + mktVal + '</td>' +
- '<td colspan="2">' + mfgVal + '</td>' +
- '<td colspan="2">' + lastAss + '</td>' +
- '</tr>';
- if (SubmissionNo != "") {
- $('.btn_cpnrd_SubmitCoupons').removeClass('hidden');
- }
- $('.cpnrd_spanAppliedCouponsCount').text(instance._totalAppliedCoupons);
- $('.cpnrd_CouponRdemptionList_Items_li:first').after(html);
- }
- render(containerid) {
- var portletwidgetid = Number($("#hf_PortletWidgetId").val());
- $(".div_portletwidget_" + portletwidgetid).empty();
- var html = `
- <div class="biz_dashboard_coupon_redemption">
- <div class="biz-pg-body">
- <div class="biz-bldr-wrap biz-copn-pg">
- <div class="biz-copn-wrap pt-0">
- <div class="copn-body d">
- <div class="container-fluid">
- <div class="cpnRedemp_ContactSelection mb-1">
- <select id="cpnRedemp_txtOrganizationName" class="form-control text-control required" style="width:100%;" placeholder="Search" data-placeholder="Search"></select>
- <input type="hidden" id="cpnRedemp_hfOrganizationId" class="cpnRedemp_hfOrganizationId' form-control value-control" data-isdynamic="true" />
- </div>
-
- <div class="card cpnRedemp_ContactDetails hidden">
- <div class="card-header">
- <span><h4><strong>Contact Details</strong><h4></span>
- </div>
- <div class="card-body pt-5">
- <div class="row">
- <div class="col-md-6">
- <ul class="list-group list-group-flush">
- <li class="list-group-item"><div class="row"><span class="col-6 pl-0">Contact Name</span><span class="col-6 text-right" id="cpnrd_spnContactName"></span></div></li>
- <li class="list-group-item"><div class="row"><span class="col-6 pl-0">Phone Number</span><span class="col-6 text-right" id="cpnrd_spnContactPhoneNumber"></span></div></li>
- <li class="list-group-item"><div class="row"><span class="col-6 pl-0">Coupon Source</span><span class="col-6 text-right" id="cpnrd_spnContactTagName"></span></div></li>
- <li class="list-group-item"><div class="row"><span class="col-6 pl-0">City Name</span><span class="col-6 text-right" id="cpnrd_spnContactCityName"></span></div></li>
- <li class="list-group-item"><div class="row"><span class="col-6 pl-0">Address</span><span class="col-6 text-overflow text-right" data-toggle="tooltip" data-placement="top" id="cpnrd_spnContactAddress"></span></div></li>
- </ul>
- </div>
- <div class="col-md-6">
- <ul class="list-group list-group-flush">
- <li class="list-group-item"><div class="row"><span class="col-6 pl-0">SAP Code</span><span class="col-6 text-right" id="cpnrd_spnContactId"></span></div></li>
- <li class="list-group-item"><div class="row"><span class="col-6 pl-0">Email Id</span><span class="col-6 text-right" id="cpnrd_spnContactEmailId"></span></div></li>
- <li class="list-group-item"><div class="row"><span class="col-6 pl-0">Stage Name</span><span class="col-6 text-right" id="cpnrd_spnContactStageName"></span></div></li>
- <li class="list-group-item"><div class="row"><span class="col-6 pl-0">State Name</span><span class="col-6 text-right" id="cpnrd_spnStateName"></span></div></li>
- <li class="list-group-item hidden"></li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- <!--Actions-->
- <div class="cpnRedemp_CouponSummary">
- <div class="copn-summary-wrap mb-40 ">
- <div class="row mb-5 hidden">
- <div class="col-md-12">
- <div class="card card-sm">
- <div class="card-body">
- <div class="d-flex align-items-center">
- <div class="avatar">
- <span class="avatar-icon avatar-icon-primary rounded-circle">
- <span class="initial-wrap"><span><i class="fa fa-shopping-cart"></i></span></span>
- </span>
- </div>
- <div class="ml-20">
- <div>Loyalty Points</div>
- <div class="font-20 text-dark font-weight-500">0</div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="row cpnrd_div_btn_acitons">
- <div class="col-md-4">
- <a data-target="#coupon_modal_1" type="button" id="cpnrd_btn_ApplyNewCoupon" class="btn btn-block btn-theme coupon-modal-open mb-10" href="#">Apply New Coupon</a>
- </div>
- <div class="col-md-0 hidden">
- <a class="btn btn-block btn-success mb-10" href="#">Apply Loyalty Points</a>
- </div>
- <div class="col-md-0 hidden">
- <a class="btn btn-block btn-primary" href="#">Redeem Loyalty Points</a>
- </div>
- </div>
- </div>
- <!--Action Summary-->
-
- <div class="trans-timeline-wrap">
- <!--Submissions-->
- <div class="timeline-wrap div_cpnrd_coupon_submissions">
- <div class="d-flex justify-content-between align-items-center mb-30">
- <h5>Submissions</h5>
- <!--<div class="d-flex align-items-center">
- <select class="custom-select w-200p mr-10">
- <option selected="">All Transactions</option>
- <option value="1">Two</option>
- <option value="2">Three</option>
- </select>
- <a data-target="#" class="btn btn-icon btn-flush-dark btn-rounded flush-soft-hover flex-shrink-0 coupon-modal-open" href="#"></a>
- </div>-->
- </div>
- <div class="cpnRedmp_SubmissionList">
-
- <div class="cpnRedmp_SubmissionList_li"></div>
- </div>
- <!--<div class="d-flex justify-content-end">
- <nav class="pagination-wrap d-inline-block mt-50 mb-20" aria-label="Page navigation example">
- <ul class="pagination custom-pagination pagination-simple">
- <li class="page-item"><a class="page-link" href="#">Previous</a></li>
- <li class="page-item active"><a class="page-link" href="#">1</a></li>
- <li class="page-item"><a class="page-link" href="#">2</a></li>
- <li class="page-item"><a class="page-link" href="#">3</a></li>
- <li class="page-item"><a class="page-link" href="#">...</a></li>
- <li class="page-item"><a class="page-link" href="#">15</a></li>
- <li class="page-item"><a class="page-link" href="#">Next</a></li>
- </ul>
- </nav>
- </div>
-
-
- <div id="cpnRdemp_CouponSubmissionPagination" class="pagination custom-pagination pagination-rounded pull-right"></div>-->
- </div>
-
- <!--Apply Coupon-->
- <div id="coupon_modal_1" class="coupon-modal div_cpnrd_apply_coupon">
- <div class="d-flex justify-content-between align-items-center mb-30">
- <h5>Apply New Coupon</h5>
-
- <span class="close coupon-modal-close btn_cpnrd_close_apply_coupon"></span>
- </div>
- <span class="spn_cpnrd_errormsg text-danger text-center" id="spn_cpnrd_errormsg" ></span>
- <div class="card form-coupon mb-25">
- <div class="card-body pa-0">
- <div class="form-coupon-left">
- <div class="avatar">
- <span class="avatar-icon avatar-icon-inv-orange rounded-circle">
- <span class="initial-wrap"><span><i class="dripicons dripicons-ticket"></i></span></span>
- </span>
- </div>
- <div class="font-14 font-weight-500 text-dark">You can apply multiple coupons</div>
- </div>
- <div class="form-coupon-right">
- <div class="input-group">
- <input id="cpnRedemp_txtCouponNo" class="form-control input-focus text-center" placeholder="Enter coupon code" type="text" maxlength="20">
- <a href="#" id="crpnrd_btn_OpenScanner" class="input-group-append">
- <span class="input-group-text"><i class="fa fa-qrcode"></i></span>
- </a>
- </div>
- </div>
- </div>
- </div>
- <!--Submission Number-->
- <div class="card mb-1">
- <div class="card-header">
- <div class="row col-sm-12">
- <h6 class="col-sm-8"><strong>Submission Number : <span class="cpnrd_spnCouponSubmissionNumber"></span></strong></h6>
- <input type="hidden" id="cpnrd_hfCouponSubmissionId" value="0">
- <input type="hidden" id="cpnrd_hfCouponSubmissionNo" value="">
- </div>
- </div>
- </div>
- <!--End Submission Number-->
- <!--Error List-->
- <div class="card hidden" id="cpnrd_divErrorsList">
- <div class="card-header text-dark bg-light">
- <div class="row">
- <span class="h6 col-6 col-xs-12">Coupon Code<span class="badge badge-soft-pink badge-pill ml-5 cpnrd_divErrorList_CouponCode"></span></span>
- <span class="h6 col-6 col-xs-12 text-right">Error Message<span class="badge badge-soft-pink badge-pill ml-5 cpnrd_divErrorList_ErrorMessage"></span></span>
- </div>
- </div>
- <div class="">
- <ul class="list-group cpnrd_ulErrorsList">
- <li class="list-group-item cpnrd_ulErrorsList_li hidden"></li>
-
- <li class="list-group-item">
- <div class="row">
- <span class="h6 col-6 col-xs-12">Coupon Code</span>
- <span class="h6 col-6 col-xs-12 text-right">Error Message</span>
- </div>
- </li>
- </ul>
- </div>
- </div>
- <!--End Error List-->
-
- <div class="card">
- <div class="card-header bg-light">
- <div class="row">
- <span class="h6 col-6 col-xs-12">Applied Coupons<span class="badge badge-soft-pink badge-pill ml-5 cpnrd_spanAppliedCouponsCount">0</span></span>
- <span class="h6 col-6 col-xs-12 text-right">Total Amount<span class="badge badge-soft-pink badge-pill ml-5 cpnrd_spnAppliedCouponsTotalAmount">0</span></span>
- <input type="hidden" id="cpnrd_hf_AppliedCouponsAmount">
- <input type="hidden" id="cpnrd_hf_MktCouponsAmount">
- <input type="hidden" id="cpnrd_hf_MfgCouponsAmount">
-
- </div>
- </div>
- <div class="card-body pa-0" style="overflow: auto;max-height: 300px;">
- <table class="applied_coupons_table_verticalscroll coupon-code-list">
- <thead>
- <tr><th colspan="2">Coupon Code</th><th colspan="2">Product Code</th>
- <th colspan="2">Amount</th><th colspan="2">Marketing<span class="badge badge-soft-pink badge-pill ml-5 cpnrd_spanTotalMktValue">0</span></th>
- <th colspan="2">Manufacturing<span class="badge badge-soft-pink badge-pill ml-5 cpnrd_spanTotalMfgValue">0</span></th>
- <th colspan="2">Last Assigned To</th></tr>
-
-
- </thead>
-
-
- <tbody id="cpnrd_CouponRdemptionList_Items">
- <tr class="hidden cpnrd_CouponRdemptionList_Items_li"></tr>
-
- </tbody>
- </table>
- <li class="list-group-item btn_cpnrd_SubmitCoupons hidden"><a href="#" id="btnCoupons_redeem" onclick="Bizgaze.Apps.PayBacks.Components.CouponRedemption.Instance().submitCoupons()" class="btn btn-theme btn-block btnCoupons_redeem redeem-coupon">Submit Coupons</a></li>
- </ul>
- </div>
- </div>
- </div>
-
- <!--Settings-->
-
-
- <!--Purchase Items-->
-
-
- <!--Purchase Items-->
-
- <!--End -->
- </div>
- </div>
- </div><!--container end-->
- <div style="margin-top:100px; width:100%;">
- </div>`;
- $("#" + containerid).html(html);
- }
- static Instance() {
- if (this.instance === undefined) {
- this.instance = new CouponRedemption();
- }
- return this.instance;
- }
- }
- Components.CouponRedemption = CouponRedemption;
- })(Components = PayBacks.Components || (PayBacks.Components = {}));
- })(PayBacks = Apps.PayBacks || (Apps.PayBacks = {}));
- })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
- })(Bizgaze || (Bizgaze = {}));
|