Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

customercredithealth.component.js 32KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344
  1. var Bizgaze;
  2. (function (Bizgaze) {
  3. let Apps;
  4. (function (Apps) {
  5. let Transact;
  6. (function (Transact) {
  7. let Controls;
  8. (function (Controls) {
  9. class CustomerCreditHealth extends Unibase.Platform.Core.BaseComponent {
  10. constructor() {
  11. super(...arguments);
  12. this.ContainerId = "";
  13. this.PopUpContainerId = "";
  14. }
  15. init(formpropertyid, prop, callback) {
  16. var instance = this;
  17. instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId);
  18. instance.loadPropertySettings(prop.PropertySettings, prop.FormPropertyId);
  19. }
  20. loadControl(containerid, prop) {
  21. let instance = this;
  22. instance.ContainerId = Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId();
  23. let html = instance.getCustomerCreditHealth_html();
  24. $("#" + containerid).html(html);
  25. }
  26. getCustomerCreditHealth_html() {
  27. var html = '<div class="row"><div class=" col-sm-4" id="div_CreditLimit"><div class="card card-sm shadow-hover " id="kpi_card" style="height:auto;">' +
  28. '<div class="card-body" ><span class="d-block font-15 font-weight-500 text-dark">' +
  29. 'Credit Limit </span><div class="mt-10"><span class="h4 mb-10 block"><span id="span_CreditLimit" class="display-5 font-weight-400 text-dark">0</span></span></div></div></div></div>' +
  30. '<div class=" col-sm-4" id="div_AvailLimit"><div class="card card-sm shadow-hover " id="kpi_card" style="height:auto;"><div class="card-body">' +
  31. ' <span style=" text-transform: capitalize; " class="d-block font-15 font-weight-500 text-dark"> Avail Limit </span><div class="mt-10"><span class="h4 mb-10 block"><span id="span_AvailLimit" class="display-5 font-weight-400 text-dark">0</span>' +
  32. '</span></div></div></div></div><div class=" col-sm-4" id="div_OverDue"><div class="card card-sm shadow-hover " id="kpi_card" style="height:auto;"><div class="card-body">' +
  33. '<span class="d-block font-15 font-weight-500 text-dark"> Over Due </span><div class="mt-10">' +
  34. '<span class="h4 mb-10 block text-underline"><a id="lnk_OverDue"><span id="span_OverDue" class="display-5 font-weight-400 text-dark">0</span></a></span></div></div></div></div>' +
  35. '</div ><div class="row"><div class=" col-sm-4" id="div_Due"><div class="card card-sm shadow-hover " id="kpi_card" style="height:auto;"><div class="card-body"><span class="d-block font-15 font-weight-500 text-dark">' +
  36. 'Due</span><div class="mt-10"><span class="h4 mb-10 block text-underline"><a id="lnk_Due"><span id="span_Due" class="display-5 font-weight-400 text-dark">0</span></a>' +
  37. ' </span></div></div></div></div><div class=" col-sm-4" id="div_Credits"><div class="card card-sm shadow-hover " id="kpi_card" style="height:auto;"><div class="card-body">' +
  38. '<span class="d-block font-15 font-weight-500 text-dark"> Credits </span><div class="mt-10">' +
  39. ' <span class="h4 mb-10 block text-underline"><a id="lnk_Credits"><span id="span_Credits" class="display-5 font-weight-400 text-dark">0</span></a></span>' +
  40. ' </div></div></div></div><div class=" col-sm-4" id="div_Clearance"><div class="card card-sm shadow-hover " id="kpi_card" style="height:auto;">' +
  41. ' <div class="card-body"><span class="d-block font-15 font-weight-500 text-dark"> Clearance</span>' +
  42. ' <div class="mt-10"><span class="h4 mb-10 block text-underline"><a id="lnk_Clearance"><span id="span_Clearance" class="display-5 font-weight-400 text-dark">0</span></a></span>' +
  43. ' </div></div></div></div></div>';
  44. return html;
  45. }
  46. loadControlSettings(controlsettingjson, formpropertyid) {
  47. return null;
  48. }
  49. loadPropertySettings(propertysettings, formpropertyid) {
  50. return null;
  51. }
  52. bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
  53. return null;
  54. }
  55. getCreditHealth(OrgContactId, OrganizationId, Type) {
  56. var instance = this;
  57. instance.ContainerId = Unibase.Platform.Helpers.NavigationHelper.Instance().getLastContainerId();
  58. let ContactId = Number(OrganizationId == 0 ? OrgContactId : OrganizationId);
  59. if (ContactId == 0) {
  60. return;
  61. }
  62. instance.bindKPIEvents(ContactId, Type);
  63. instance.getCCH_KPIDetails(OrgContactId, OrganizationId, Type);
  64. }
  65. bindKPIEvents(ContactId, Type) {
  66. let instance = this;
  67. let TypeName = "Sales";
  68. if (Type.toLowerCase().indexOf("purchase") != -1) {
  69. TypeName = "Purchase";
  70. }
  71. instance.fileCacheHelper.loadJsFile("apps/transact/controls/orders/credithealth.js", function () {
  72. $("#" + instance.ContainerId).find("#div_Due").unbind().click(function () {
  73. Unibase.Platform.Analytics.Managers.ReportManager.Instance().getReportByUniqueId("Bizgaze_Platform_Analytics_Reports_Due_CCH_" + TypeName + "Orders").then(function (res) {
  74. if (res.result != null && res.result != "") {
  75. var filter = [];
  76. filter.push({ "Key": "organizationid", "Value": ContactId.toString(), ExpOp: 1 });
  77. Unibase.Platform.Analytics.Components.ReportViewer.Instance().report_ViewAllByUniqueId("Bizgaze_Platform_Analytics_Reports_Due_CCH_" + TypeName + "Orders", null, filter, null);
  78. }
  79. else {
  80. instance.getKPIPopUp("Due", "div_Due");
  81. instance.getInvoiceDetails(ContactId, "Due");
  82. }
  83. });
  84. });
  85. $("#" + instance.ContainerId).find('#div_OverDue').unbind().click(function () {
  86. Unibase.Platform.Analytics.Managers.ReportManager.Instance().getReportByUniqueId("Bizgaze_Platform_Analytics_Reports_OverDue_CCH_" + TypeName + "Orders").then(function (res) {
  87. if (res.result != null && res.result != "") {
  88. var filter = [];
  89. filter.push({ "Key": "organizationid", "Value": ContactId.toString(), ExpOp: 1 });
  90. Unibase.Platform.Analytics.Components.ReportViewer.Instance().report_ViewAllByUniqueId("Bizgaze_Platform_Analytics_Reports_OverDue_CCH_" + TypeName + "Orders", null, filter, null);
  91. }
  92. else {
  93. instance.getKPIPopUp("Over Due", "div_Due");
  94. instance.getInvoiceDetails(ContactId, "OverDue");
  95. }
  96. });
  97. });
  98. $("#" + instance.ContainerId).find("#div_Credits").unbind().click(function () {
  99. Unibase.Platform.Analytics.Managers.ReportManager.Instance().getReportByUniqueId("Bizgaze_Platform_Analytics_Reports_Credits_CCH_" + TypeName + "Orders").then(function (res) {
  100. if (res.result != null && res.result != "") {
  101. var filter = [];
  102. filter.push({ "Key": "organizationid", "Value": ContactId.toString(), ExpOp: 1 });
  103. Unibase.Platform.Analytics.Components.ReportViewer.Instance().report_ViewAllByUniqueId("Bizgaze_Platform_Analytics_Reports_Credits_CCH_" + TypeName + "Orders", null, filter, null);
  104. }
  105. else {
  106. instance.getKPIPopUp("Credits", "div_Credit");
  107. instance.getCreditNotesDetails(ContactId);
  108. }
  109. });
  110. });
  111. $("#" + instance.ContainerId).find("#div_Clearance").unbind().click(function () {
  112. Unibase.Platform.Analytics.Managers.ReportManager.Instance().getReportByUniqueId("Bizgaze_Platform_Analytics_Reports_Clearance_CCH_Orders").then(function (res) {
  113. if (res.result != null && res.result != "") {
  114. var filter = [];
  115. filter.push({ "Key": "organizationid", "Value": ContactId.toString(), ExpOp: 1 });
  116. Unibase.Platform.Analytics.Components.ReportViewer.Instance().report_ViewAllByUniqueId("Bizgaze_Platform_Analytics_Reports_Clearance_CCH_Orders", null, filter, null);
  117. }
  118. else {
  119. instance.getKPIPopUp("Clearance", "div_Clearance");
  120. instance.getPaymentDetails(ContactId);
  121. }
  122. });
  123. });
  124. });
  125. }
  126. getKPIPopUp(WidgetTitle, CurrentDiv) {
  127. let instance = this;
  128. instance.PopUpContainerId = '_modal_bizgaze_popup_' + moment().unix();
  129. instance.navigationHelper.popup(0, instance.PopUpContainerId, Bizgaze.Apps.Transact.Orders.CreditHealth.Instance(), null, Unibase.Platform.Helpers.Size.ExtraLarge);
  130. $("#" + instance.PopUpContainerId).find("." + CurrentDiv).removeClass("hidden");
  131. $("#" + instance.PopUpContainerId).find(".title_widget").text(WidgetTitle);
  132. $("#" + instance.PopUpContainerId).find("#widget_list_container").empty();
  133. }
  134. noData() {
  135. let instance = this;
  136. $("#" + instance.PopUpContainerId).find(".header_list").html('<div class="alert alert-info">There is no Data</div>');
  137. $("#" + instance.PopUpContainerId).find(".span_Listsearch_count").text("0");
  138. $("#" + instance.PopUpContainerId).find(".header_list").removeClass("d-none");
  139. }
  140. getKPIData(ReportName, OrganizationId, ResultColName, elem) {
  141. let instance = this;
  142. let resultData = 0;
  143. let ReportUniqueId = "Bizgaze_Platform_Analytics_Reports_" + ReportName;
  144. let _numberHelper = Unibase.Core.Helpers.NumberHelper.Instance();
  145. Unibase.Platform.Analytics.Managers.ReportManager.Instance().getReportByUniqueId(ReportUniqueId).then(function (res) {
  146. if (res.result != null && res.result != "") {
  147. var postData = {
  148. "ReportId": res.result.ReportId,
  149. "page": 1,
  150. "pageSize": 20,
  151. "Filter": [],
  152. "FilterId": 0,
  153. "InputParameters": [
  154. {
  155. "Key": "organizationid",
  156. "Value": OrganizationId.toString(),
  157. "ExpOp": 1
  158. }
  159. ],
  160. "SearchTerm": null,
  161. "DateFilter": null,
  162. "DisplayModeTypeId": 1,
  163. "FromDate": "",
  164. "ToDate": "",
  165. "IsPortletWidget": false,
  166. "IsShowAll": false,
  167. "SortColumn": ""
  168. };
  169. Unibase.Platform.Analytics.Managers.ReportManager.Instance().getReportInfo(postData).then(function (report_res) {
  170. if (report_res.result != null) {
  171. if (report_res.result.ReportJsonData.Result.Data != null && report_res.result.ReportJsonData.Result.Data != "") {
  172. let val = JSON.parse(report_res.result.ReportJsonData.Result.Data);
  173. resultData = _numberHelper.roundNumber(val[0][ResultColName].toString().replace(/,/g, ''), 2);
  174. if (resultData != null && resultData != undefined) {
  175. resultData = resultData.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
  176. }
  177. $("#" + instance.ContainerId).find("#" + elem).text(resultData);
  178. }
  179. }
  180. if (resultData == 0) {
  181. $("#" + instance.ContainerId).find("#" + elem).text("0.00");
  182. }
  183. });
  184. }
  185. });
  186. }
  187. getCCH_KPIDetails(OrgContactId, OrganizationId, Type) {
  188. let instance = this;
  189. let TypeName = "Sales";
  190. let CreditLimit = 0;
  191. let AvailLimit = 0;
  192. let OverDue = 0;
  193. let Due = 0;
  194. let Credits = 0;
  195. let ClearanceAmount = 0;
  196. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getCustomerCreditHealth(OrgContactId, OrganizationId).then(function (response) {
  197. let data = response.result;
  198. let _numberHelper = Unibase.Core.Helpers.NumberHelper.Instance();
  199. if (data != "" && data != null) {
  200. CreditLimit = _numberHelper.roundNumber(data.CreditLimit, 2);
  201. AvailLimit = _numberHelper.roundNumber(data.AvailLimit, 2);
  202. OverDue = _numberHelper.roundNumber(data.OverDue, 2);
  203. Due = _numberHelper.roundNumber(data.OutStandingAmount, 2);
  204. Credits = _numberHelper.roundNumber(data.Credits, 2);
  205. ClearanceAmount = _numberHelper.roundNumber(data.ClearanceAmount, 2);
  206. $("#" + instance.ContainerId).find("#span_CreditLimit").text(CreditLimit);
  207. $("#" + instance.ContainerId).find("#span_AvailLimit").text(AvailLimit);
  208. $("#" + instance.ContainerId).find("#span_OverDue").text(OverDue);
  209. $("#" + instance.ContainerId).find("#span_Due").text(Due);
  210. $("#" + instance.ContainerId).find("#span_Credits").text(Credits);
  211. $("#" + instance.ContainerId).find("#span_Clearance").text(ClearanceAmount);
  212. }
  213. if (Type.toLowerCase().indexOf("purchase") != -1) {
  214. TypeName = "Purchase";
  215. }
  216. instance.getKPIData("CreditLimit_CCH_OrdersKPIWidget", OrganizationId, "creditlimit", "span_CreditLimit");
  217. instance.getKPIData("AvailLimit_CCH_OrdersKPIWidget", OrganizationId, "availlimit", "span_AvailLimit");
  218. instance.getKPIData("OverDue_CCH_" + TypeName + "OrdersKPIWidget", OrganizationId, "overdue", "span_OverDue");
  219. instance.getKPIData("DueAmount_CCH_" + TypeName + "OrdersKPIWidget", OrganizationId, "outstandingamount", "span_Due");
  220. instance.getKPIData("Credits_CCH_" + TypeName + "OrdersKPIWidget", OrganizationId, "credits", "span_Credits");
  221. instance.getKPIData("ClearanceAmount_CCH_OrdersKPIWidget", OrganizationId, "clearanceamount", "span_Clearance");
  222. });
  223. }
  224. getInvoiceDetails(ContactId, DueorOverDue) {
  225. let instance = this;
  226. let IsOverDue = false;
  227. if (DueorOverDue == "OverDue") {
  228. IsOverDue = true;
  229. }
  230. Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getPendingSalesInvoicesByContactId(ContactId, IsOverDue).then(function (response) {
  231. var PendingInvoices = response.result;
  232. if (PendingInvoices == "") {
  233. instance.noData();
  234. }
  235. else {
  236. var CurrentDate = new Date(), IsExpired = false, html = '';
  237. $("#" + instance.PopUpContainerId).find("#widget_list_container").html('<li class="list-group-item list-Report-Due hidden"></li>');
  238. for (var i = 0; i < PendingInvoices.length; i++) {
  239. var InvoiceItem = PendingInvoices[i];
  240. var Amount = InvoiceItem.TotalAmount;
  241. var DueDate = new Date(InvoiceItem.DueDate);
  242. var PaidAmount = Number(InvoiceItem.PaidAmount);
  243. var DueAmount = Number(InvoiceItem.TotalAmount) - Number(InvoiceItem.PaidAmount);
  244. if (DueDate < CurrentDate) {
  245. IsExpired = true;
  246. }
  247. html += '<li class="list-group-item data-list-item d-none d-sm-block"><div class="row px-2 text-dark d-flex align-items-center"><div class="col-sm-2 pl-0 pr-0"><span><span class="list-item-main-title">' + InvoiceItem.InvoiceNo + '</span> (' + InvoiceItem.LobShortCode + ')</span><br /><span>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate(InvoiceItem.InvoiceDate) + '</span><br></div><div class="col-sm-2 pl-0 pr-0"><span>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(InvoiceItem.RefDate, 'DD MMM YYYY') + '</span><br><span>' + InvoiceItem.RefNo + '</span></div><div class="col-sm-2 pl-0 pr-0"><span>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(DueDate, 'DD MMM YYYY') + '</span><br /><span>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().daysFromNow(InvoiceItem.InvoiceDate) + ' Days ago</span></div><div class="col-sm-2 pl-0 pr-0 text-right">' + Amount + '</div><div class="col-sm-2 text-right pl-0 pr-0">' + PaidAmount + '</div><div class="col-sm-2 pl-0 pr-0 text-right">' + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(DueAmount, 2) + '</div></div></li><li class="data-list-item d-block d-sm-none p-1"><div class="card m-0 p-2 text-dark"><div><span class="list-item-main-title">' + InvoiceItem.InvoiceNo + '</span> (' + InvoiceItem.LobShortCode + ')</div><div>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate(InvoiceItem.InvoiceDate) + '</div><ul class="d-flex justify-content-between align-items-center"><li>Due Date/</li><li>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(DueDate, 'DD MMM YYYY') + '</li></ul><ul class="d-flex justify-content-between align-items-center"><li>Days</li><li>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().daysFromNow(InvoiceItem.InvoiceDate) + ' Days ago</li></ul><ul class="d-flex justify-content-between align-items-center"><li>Total</li><li>' + Amount + '</li></ul><ul class="d-flex justify-content-between align-items-center"><li>Paid</li><li>' + PaidAmount + '</li></ul><ul class="d-flex justify-content-between align-items-center"><li>Due</li><li>' + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(DueAmount, 2) + '</li></ul></div></li>';
  248. }
  249. $("#" + instance.PopUpContainerId).find(".span_Listsearch_count").text(PendingInvoices.length);
  250. if (DueorOverDue == "Due" || (DueorOverDue == "OverDue" && IsExpired == true)) {
  251. $("#" + instance.PopUpContainerId).find(".list-Report-Due:last").after(html);
  252. }
  253. else {
  254. instance.noData();
  255. }
  256. }
  257. });
  258. }
  259. getPaymentDetails(ContactId) {
  260. let instance = this;
  261. Bizgaze.Apps.Transact.Managers.PaymentManager.Instance().getAllPendingPayments(ContactId).then(function (response) {
  262. var PendingPayments = response.result;
  263. if (PendingPayments == "") {
  264. instance.noData();
  265. }
  266. else {
  267. $("#" + instance.PopUpContainerId).find("#widget_list_container").html('<li class="list-group-item list-Report-Clearance hidden"></li>');
  268. var html = '';
  269. for (var i = 0; i < PendingPayments.length; i++) {
  270. var PaymentItem = PendingPayments[i];
  271. var CreatedDate = new Date(PaymentItem.CreatedDate);
  272. var currdate = new Date();
  273. var diff = new Date(currdate - CreatedDate);
  274. var days = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(diff / 1000 / 60 / 60 / 24, 2);
  275. html += '<li class="list-group-item d-none d-sm-block"><div class="row "><div class="col-sm-4 pl-2 pr-0"><span ><span class="list-item-main-title">' + PaymentItem.PaymentNo + '</span> (' + PaymentItem.RefNo + ')</span><br/><span>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDate(PaymentItem.PaymentDate) + '</span></div><div class="col-sm-2 pl-0 pr-0"><span>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(PaymentItem.CreatedDate, 'DD MMM YYYY') + '</span><br><span>' + PaymentItem.ContactName + '</span></div><div class="col-sm-2 ">' + days + '</div><div class="col-sm-2 text-right">' + PaymentItem.TotalAmount + '</div><div class="col-sm-2 text-right"> ' + PaymentItem.StageName + '</div></div></li><li class="data-list-item d-block d-sm-none p-1"><div class="card p-2 text-dark m-0"><ul class="d-flex justify-content-between align-items-center"><li><div><span class="list-item-main-title">' + PaymentItem.PaymentNo + '</span> (' + PaymentItem.RefNo + ')</div></li><li>' + PaymentItem.StageName + '</li></ul><ul class="d-flex justify-content-between align-items-center"><li>Days ago</li><li>' + days + '</li></ul><ul class="d-flex justify-content-between align-items-center"><li>Total</li><li>' + PaymentItem.TotalAmount + '</li></ul></div></li>';
  276. }
  277. $("#" + instance.PopUpContainerId).find(".list-Report-Clearance:last").after(html);
  278. $("#" + instance.PopUpContainerId).find(".span_Listsearch_count").text(PendingPayments.length);
  279. }
  280. });
  281. }
  282. getCreditNotesDetails(ContactId) {
  283. var instance = this;
  284. Bizgaze.Apps.Transact.Managers.InvoiceManager.Instance().getCreditNotesByContactId(ContactId).then(function (response) {
  285. var CreditNotes = response.result;
  286. if (CreditNotes.length != 0) {
  287. $("#" + instance.PopUpContainerId).find("#widget_list_container").html('<li class="list-group-item list-Report-Credits hidden"></li>');
  288. var html = '';
  289. for (var i = 0; i < CreditNotes.length; i++) {
  290. var CreditNoteItem = CreditNotes[i];
  291. var ConsumedAmount = CreditNoteItem.PaidAmount;
  292. var TotalAmount = CreditNoteItem.TotalAmount;
  293. var RemainingCredit = Number(CreditNoteItem.TotalAmount) - Number(CreditNoteItem.PaidAmount);
  294. var html = '<li class="list-group-item text-dark"><div class="d-none d-sm-block"><div class="row"><div class="col-sm-4"><span class="list-item-main-title">' + CreditNoteItem.InvoiceNo + '</span> <span>(' + CreditNoteItem.LobShortCode + ')</span> </br><span>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(CreditNoteItem.InvoiceDate, 'DD MMM YYYY') + '</span></div><div class="col-sm-2"><span>' + CreditNoteItem.RefNo + '</span><br /><span>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(CreditNoteItem.RefDate, 'DD MMM YYYY') + '</span></div><div class="col-sm-2 text-right">' + TotalAmount + '</div><div class="col-sm-2 text-right">' + ConsumedAmount + '</div><div class="col-sm-2 text-right">' + RemainingCredit + '</div></div></div><div class="d-block d-sm-none"><div class="card p-2 m-0"><div><span class="list-item-main-title">' + CreditNoteItem.InvoiceNo + '</span> <span>(' + CreditNoteItem.LobShortCode + ')</span> </br><span>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(CreditNoteItem.InvoiceDate, 'DD MMM YYYY') + '</span></div><ul class="d-flex justify-content-between align-items-center"> <li>Total</li><li>' + TotalAmount + '</li></ul><ul class="d-flex justify-content-between align-items-center"> <li>Consumed </li><li>' + ConsumedAmount + '</li></ul><ul class="d-flex justify-content-between align-items-center"> <li>Remaining</li><li>' + RemainingCredit + '</li></ul></div></div></li>';
  295. $("#" + instance.PopUpContainerId).find(".list-Report-Credits:last").after(html);
  296. }
  297. }
  298. $("#" + instance.PopUpContainerId).find(".span_Listsearch_count").text(CreditNotes.length);
  299. if (CreditNotes.length == 0 || CreditNotes == "") {
  300. $("#" + instance.PopUpContainerId).find(".header_list").removeClass("d-md-block").addClass("d-none");
  301. }
  302. instance.getAdvancePayments(ContactId, CreditNotes.length);
  303. });
  304. }
  305. getAdvancePayments(ContactId, CreditsCount) {
  306. let instance = this;
  307. Bizgaze.Apps.Transact.Managers.PaymentManager.Instance().getAdvancePaymentsByOrgId(ContactId).then(function (response) {
  308. var AdvancePayments = response.result;
  309. $("#" + instance.PopUpContainerId).find("#widget_list_container").append('<div class="card card-advancePayments m-0 py-2 px-3"><div class="d-flex justify-content-between align-items-center"><div class="biz-highlight-bg-color font-16 font-weight-600" href="javascript:;"><i class="fa fa-angle-down d-none"></i><i class="fa fa-angle-right"></i><span class="ml-10 title_widget">Advance Payments</span></div><div class="d-flex align-items-center card-action-wrap"><span class="pull-right badge badge-light badge-pill badge-outline mr-10 advacepayment_Listsearch_count"></span></div></div></div><li class="list-group-item list-Report-Payments hidden"></li>');
  310. if (AdvancePayments != "") {
  311. var advancepaymentcount = AdvancePayments.length;
  312. $(".advacepayment_Listsearch_count").html(advancepaymentcount);
  313. if (AdvancePayments.length == 0 && CreditsCount == 0) {
  314. instance.noData();
  315. $(".card-advancePayments").addClass("d-none");
  316. }
  317. for (var i = 0; i < AdvancePayments.length; i++) {
  318. var AdvancePaymentItem = AdvancePayments[i];
  319. var ConsumedAmount = AdvancePaymentItem.AdjustedAmount;
  320. var TotalAmount = AdvancePaymentItem.TotalAmount;
  321. var RemainingCredit = Number(AdvancePaymentItem.TotalAmount) - Number(AdvancePaymentItem.AdjustedAmount);
  322. var ExpTextColor = "text-info";
  323. var html = '<li class="list-group-item"><div class="panel wrapper-xs panel-success text-dark d-none d-sm-block"><div class="row"><div class="col-sm-4"><a class="list-group-anchor"><span class="list-item-main-title ' + ExpTextColor + '">' + AdvancePaymentItem.PaymentNo + '</span></a><br><span> ' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(AdvancePaymentItem.PaymentDate, 'DD MMM YYYY') + '</span></div><div class="col-sm-2 b-r ">' + Unibase.Platform.Helpers.DateTimeHelper.Instance().daysFromNow(AdvancePaymentItem.PaymentDate) + ' days ago</div><div class="col-sm-2 b-r text-right">' + TotalAmount + '</div><div class="col-sm-2 b-r text-right">' + ConsumedAmount + '</div><div class="col-sm-2 b-r text-right">' + RemainingCredit + '</div></div></div><div class="panel wrapper-xs panel-success text-dark d-block d-sm-none"><div class="card p-2 m-0"><div><span class="list-item-main-title">' + AdvancePaymentItem.PaymentNo + '</span></br><span>' + Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(AdvancePaymentItem.PaymentDate, 'DD MMM YYYY') + '</span></div><ul class="d-flex justify-content-between align-items-center"> <li>Total</li><li>' + TotalAmount + '</li></ul><ul class="d-flex justify-content-between align-items-center"> <li>Consumed </li><li>' + ConsumedAmount + '</li></ul><ul class="d-flex justify-content-between align-items-center"> <li>Remaining</li><li>' + RemainingCredit + '</li></ul></div></div></li>';
  324. $("#" + instance.PopUpContainerId).find(".list-Report-Payments:last").after(html);
  325. }
  326. $("#" + instance.PopUpContainerId).find(".span_Listsearch_count").text(CreditsCount + AdvancePayments.length);
  327. }
  328. else {
  329. instance.noData();
  330. }
  331. });
  332. }
  333. static Instance() {
  334. if (this.instance === undefined) {
  335. this.instance = new CustomerCreditHealth();
  336. }
  337. return this.instance;
  338. }
  339. }
  340. Controls.CustomerCreditHealth = CustomerCreditHealth;
  341. })(Controls = Transact.Controls || (Transact.Controls = {}));
  342. })(Transact = Apps.Transact || (Apps.Transact = {}));
  343. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  344. })(Bizgaze || (Bizgaze = {}));