var Bizgaze; (function (Bizgaze) { let Apps; (function (Apps) { let Transact; (function (Transact) { let Components; (function (Components) { let Invoices; (function (Invoices) { class PrintInvoice extends Unibase.Platform.Core.BaseComponent { constructor() { super(...arguments); this.sampleInvoiceNo = ""; } jsFiles() { return ["platform/bundle/index.purchases.details.js"]; } cssFiles() { return []; } html() { var html = `
`; return html; } load(item) { Unibase.Platform.Helpers.FileCacheHelper.Instance().addCacheFiles(["platform/series/managers/seriesmanager.js", "apps/transact/managers/invoicemanager.js"]); let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; let invoiceno = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_invoiceno").Value; if (invoiceno != undefined) { var invoiceNo = invoiceno; var date = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_invoicedate").Value; var LobId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_lobid").Value; var JournalTypeId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_journaltypeid").Value; var InvoiceDate = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_invoicedate").Value; var invidate = Bizgaze.Apps.Transact.Components.Invoices.PrintInvoice.Instance().formatDate(InvoiceDate); invoiceNo = invoiceNo.toString().replace('#', ''); var templateid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_templateid").Value; $('#ddl_InvoiceSeries').change(function () { Bizgaze.Apps.Transact.Components.Invoices.PrintInvoice.Instance().changeSeries($(this).val()); }); $('.btnConfirmShipment_SaveAndPrint').click(function () { $('.btnConfirmShipment_SaveAndPrint').addClass('disabled', "true"); $('#hfinvoice_no').replaceWith(PrintInvoice.Instance().sampleInvoiceNo); Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_invoiceno").Value = "0"; PrintInvoice.Instance().confirmPrint(); }); $("#btn_ClosePrintInvoice").click(function () { PrintInvoice.Instance().navigationHelper.closePopUp(); }); $('#btnConfirmShipment_PrintPreview').click(function () { PrintInvoice.Instance().printPreview(Unibase.Themes.Providers.DetailHelper.recordId); }); if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_invoicetypeid").Value == "1" || templateid == "0") { $('#btnConfirmShipment_PrintPreview').hide(); } var seriesid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_seriesid").Value; if (invoiceno.indexOf('#') >= 0) { Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().GetSampleInvoiceNo(invoiceNo, invidate, seriesid).then(function (response) { PrintInvoice.Instance().sampleInvoiceNo = response.result; $('#spnNextInvoiceNo').text(PrintInvoice.Instance().sampleInvoiceNo); }); } else { PrintInvoice.Instance().sampleInvoiceNo = invoiceno; $('#spnNextInvoiceNo').text(invoiceno); } $(".confirm_print").change(function () { $(".preview_card").removeClass("d-none"); let templateid = $(this).val(); Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('platform/templates/components/templateprint.js', function () { Unibase.Platform.Templates.Components.TemplatePrint.Instance().loadtemplatehtmldata(templateid); }); }); $("#ddl_TemplateId").change(function () { if ($('#ddl_TemplateId').val() == 0) { $('.btnConfirmShipment_SaveAndPrint').addClass('disabled'); } else { $('.btnConfirmShipment_SaveAndPrint').removeClass('disabled'); } }); PrintInvoice.Instance().loadSeries(); PrintInvoice.Instance().loadTemplates(); } } init() { let instance = this; let jsfiles = ["platform/bundle/index.purchases.details.js"]; PrintInvoice.Instance().fileCacheHelper.addCacheFiles(["platform/series/managers/seriesmanager.js", "apps/transact/managers/invoicemanager.js"]); PrintInvoice.Instance().fileCacheHelper.loadJsFiles(jsfiles, null); let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; let invoiceno = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_invoiceno").Value; let InvoiceId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_invoiceid").Value; var invoicetypeid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_invoicetypeid").Value; let SystemLock = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_issystemlock"); let IsSystemLock = "false"; if ((invoiceno.indexOf('#') >= 0) && Number(invoicetypeid) == 1) { $(".DetailSetting_" + InstalledAppId + "_Print").text("Confirm & Print"); $(".DetailSetting_" + InstalledAppId + "_Print").addClass("hidden"); if (SystemLock == undefined) { instance.fileCacheHelper.loadJsFile("apps/transact/managers/invoicemanager.js", function () { Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getInvoiceDetails(InvoiceId).then(function (invres) { IsSystemLock = invres.result.IssystemLock.toString(); if (IsSystemLock == "false") { $(".DetailSetting_" + InstalledAppId + "_Print").removeClass("hidden"); } }); }); } else { IsSystemLock = SystemLock.Value; if (IsSystemLock == "true") { $(".DetailSetting_" + InstalledAppId + "_Print").addClass("hidden"); } } } $(".DetailSetting_" + InstalledAppId + "_Print").click(function () { var templateid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_templateid").Value; if ((invoiceno.indexOf('#') >= 0 || templateid == "0") && Number(invoicetypeid) == 1) { Unibase.Platform.Helpers.NavigationHelper.Instance().popup(0, '', Bizgaze.Apps.Transact.Components.Invoices.PrintInvoice.Instance(), null, Unibase.Platform.Helpers.Size.Large); } else { if (!Boolean(templateid)) { Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("/platform/core/helpers/printhelper/printhelper.js", function () { Unibase.Platform.Helpers.PrintHelper.Instance().showPrintErrorModal(); return; }); } else { PrintInvoice.Instance().sampleInvoiceNo = invoiceno; var invoiceid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_invoiceid").Value; PrintInvoice.Instance().printPreview(invoiceid); } } }); } loadSeries() { let InstallAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; var seriesid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstallAppId + "_seriesid").Value); Unibase.Platform.Series.Managers.SeriesManager.Instance().getSeries(0, InstallAppId).then(function (response) { $('#ddl_InvoiceSeries').empty(); var data = response.result; var cmbSeries = document.getElementById('ddl_InvoiceSeries'); $('#ddl_InvoiceSeries').empty(); for (var i = 0; i < data.length; i++) { if (data[i].StatusId == 1) { var option = new Option(data[i].SeriesName, data[i].SeriesId.toString()); $("#ddl_InvoiceSeries").append(option); } } if (seriesid != 0) { $('#ddl_InvoiceSeries option[value=' + seriesid + ']').attr('selected', 'selected'); Bizgaze.Apps.Transact.Components.Invoices.PrintInvoice.Instance().changeSeries(seriesid); } else Bizgaze.Apps.Transact.Components.Invoices.PrintInvoice.Instance().changeSeries(data[0].SeriesId); }); } loadTemplates() { let InstallAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; var templateid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstallAppId + "_templateid").Value); Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().gettemplates(InstallAppId).then(function (response) { if (response.result.length > 0) { var ddlTemplate = document.getElementById('ddl_TemplateId'); $('#ddl_TemplateId').empty(); $("#ddl_TemplateId").append(''); for (var i = 0; i < response.result.length; i++) { var option = new Option(response.result[i].TemplateName, response.result[i].TemplateId); $("#ddl_TemplateId").append(option); } } if (templateid != 0) { $('#ddl_TemplateId option[value=' + templateid + ']').attr('selected', 'selected'); } else { var branchid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstallAppId + "_branchid").Value); var lobid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstallAppId + "_lobid").Value); Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().GetTemplateSetting(InstallAppId, branchid, lobid).then(function (res) { if (res.result != null) { $('#ddl_TemplateId option[value=' + res.result.TemplateId + ']').attr('selected', 'selected'); } }); } if (response.result.length <= 0) { $(".div_TemplateId").addClass('hidden'); MessageHelper.Instance().showError("Please Create Template", "bizgaze_CreateErrorMessages"); } let seletedTemplate = $(".confirm_print option:selected").val(); if (seletedTemplate != 0) { $(".preview_card").removeClass("d-none"); Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('platform/templates/components/templateprint.js', function () { Unibase.Platform.Templates.Components.TemplatePrint.Instance().loadtemplatehtmldata(seletedTemplate); }); } }); } changeSeries(seriesId) { let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; var InvoiceDate = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_invoicedate").Value; var invidate = Bizgaze.Apps.Transact.Components.Invoices.PrintInvoice.Instance().formatDate(InvoiceDate); Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getTempNextNumber(seriesId, invidate).then(function (data) { if (data.status == 2) { MessageHelper.Instance().showError(data.message, "bizgaze_CreateErrorMessages"); $('#spnNextInvoiceNo').text(""); } else { $('#spnNextInvoiceNo').text(data.result.SeriesName); PrintInvoice.Instance().sampleInvoiceNo = data.result.SeriesName; $('#bizgaze_CreateErrorMessages').empty(); } }, function (response) { MessageHelper.Instance().showError(response.message, "bizgaze_CreateErrorMessages"); }); } printPreview(InvoiceId) { var instance = this; instance.navigationHelper.showLoading(); let InstallAppId = Unibase.Themes.Providers.DetailHelper.installedAppId; PrintInvoice.Instance().fileCacheHelper.loadJsFile("apps/transact/managers/invoicemanager.js", function () { Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getprintinvoice(InvoiceId, true, false).then(function (data) { instance.navigationHelper.hideLoading(); var resp = data.result; if (isMobileApp()) { Unibase.Platform.Helpers.MobileHelper.Instance().previewHtml(data.result.PrintHTML); } else { if (resp.FilePath != "" && resp.FilePath != null) { var path = resp.FilePath.replace("~", ""); instance.download(_appsettings.asset_url() + path, resp.FileName + ".pdf"); } else { PrintInvoice.Instance().printPopup(resp); } } }, function (response) { MessageHelper.Instance().showError(response.responseText, ""); }); }); } download(url, fileName) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.responseType = 'blob'; xhr.onload = function (event) { if (this.status == 200) { PrintInvoice.Instance()._saveBlob(this.response, fileName); } }; xhr.send(); } _saveBlob(response, fileName) { if (navigator.msSaveBlob) { navigator.msSaveBlob(response, fileName); } else { this._html5Saver(response, fileName); } } _html5Saver(blob, fileName) { var a = document.createElement("a"); document.body.appendChild(a); var url = window.URL.createObjectURL(blob); a.href = url; a.download = fileName; a.click(); document.body.removeChild(a); } printPopup(data) { var mywindow = window.open('', 'my Print', 'height=400,width=850'); var content = '