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.

pricedetails.component.js 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  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 PriceDetails extends Unibase.Platform.Core.BaseComponent {
  10. init(formpropertyid, prop, callback) {
  11. var instance = this;
  12. instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId);
  13. instance.loadPropertySettings(prop.PropertySettings, prop.FormPropertyId);
  14. }
  15. loadControl(containerid, prop) {
  16. var html = '<div class="totalOrderSummay form-group mb-0">' +
  17. '<input type = "hidden" id = "hdn_customcontrol" class="value-control" value = "Bizgaze.Apps.Transact.Controls.PriceDetails.Instance().checkEditValidations();"' +
  18. '<div><span class="text-dark">Gross Amount </span><span class="pull-right text-dark" id="lblSummary_GrossAmount">0.00</span></div>' +
  19. '<input type="hidden" id="hfNetTotal" />' +
  20. '<input type="hidden" id="hfTotalDiscountAmount" />' +
  21. '<input type="hidden" id="hfTotalScrapDiscountAmount" value="0" />' +
  22. '<input type="hidden" id="hfTotalTaxAmount" />' +
  23. '<div id="PriceDetails_Discount"><span class="text-dark">Discount </span> <span class="pull-right text-dark" id="lblSummary_TotalDiscount">0.00</span></div>' +
  24. '<div id="PriceDetails_AssblAmount"><span class="text-dark">Assbl. Amount </span><span class="pull-right text-dark" id="lblSummary_AssessableTotal">0.00</span></div>' +
  25. '<div id="TDSAmount" class="hidden"><span>TDS Amount </span><span class="pull-right text-dark" id="lblSummary_TDSTotal">0.00</span> </div>' +
  26. '<div id="TotalTax"><span class="text-dark">Total Tax </span> <span class="pull-right text-dark" id="lblSummary_TaxTotal">0.00</span></div>' +
  27. '<div id="div_ScrapDiscount" class="hidden"><span> (less)Scrap Discount </span> <span class="pull-right text-dark" id="lblSummary_ScrapDiscountAmount">0.00</span></div>' +
  28. '<div id="PriceDetails_NetTotal"><strong class="text-dark"> Net Total </strong> <strong><span class="pull-right text-dark" id="lblSummary_NetTotal">0.00</span></strong></div>' +
  29. '</div>';
  30. $("#" + containerid).html(html);
  31. }
  32. loadControlSettings(controlsettingjson, formpropertyid) {
  33. var EstimateId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_estimateid") == undefined ? 0 : Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_estimateid").Value);
  34. if (EstimateId != 0) {
  35. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(["platform/core/helpers/numberhelper/numberhelper.js", "apps/transact/managers/estimates/estimatemanager.js"], function () {
  36. Bizgaze.Apps.Transact.Managers.EstimateManager.Instance().getEstimate(EstimateId).then(function (response) {
  37. var data = response.result;
  38. if (data.PaymentTermId != 0) {
  39. var opt = new Option(data.PaymentTermName, data.PaymentTermId, true);
  40. $(".txtAutoComplete_PaymentTermId").append(opt);
  41. }
  42. $(".hfAutoCompleteId_PaymentTermId").val(data.PaymentTermId);
  43. var NetTotal = data.TotalAmount + data.TaxAmount - data.DiscountAmount;
  44. $("#lblSummary_TotalDiscount").text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number(data.DiscountAmount), 2));
  45. $("#lblSummary_AssessableTotal").text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number(data.TotalAmount) - Number(data.DiscountAmount), 2));
  46. $("#lblSummary_GrossAmount").text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number(data.TotalAmount), 2));
  47. $("#lblSummary_TDSTotal").text(0);
  48. $("#lblSummary_TaxTotal").text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number(data.TaxAmount), 2));
  49. $("#lblSummary_ScrapDiscountAmount").text(0);
  50. $("#lblSummary_NetTotal").text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number(NetTotal), 2));
  51. $("#txt_Terms").html(data.Terms);
  52. $("#div_ScrapDiscount").addClass('hidden');
  53. if (data.Description == null || data.Description == " ") { }
  54. else {
  55. $('.note-placeholder').text("");
  56. }
  57. });
  58. });
  59. }
  60. var OpportunityId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_opportunityid") == undefined ? 0 : Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_opportunityid").Value);
  61. if (OpportunityId != 0) {
  62. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/opportunity/opportunitymanager.js", function () {
  63. Bizgaze.Apps.Transact.Managers.OpportunityManager.Instance().getOpportunity(OpportunityId).then(function (response) {
  64. var data = response.result;
  65. var NetTotal = data.TotalAmount + data.TaxAmount - data.DiscountAmount;
  66. $("#lblSummary_TotalDiscount").text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number(data.DiscountAmount), 2));
  67. $("#lblSummary_AssessableTotal").text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number(data.TotalAmount) - Number(data.DiscountAmount), 2));
  68. $("#lblSummary_GrossAmount").text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number(data.TotalAmount), 2));
  69. $("#lblSummary_TDSTotal").text(0);
  70. $("#lblSummary_TaxTotal").text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number(data.TaxAmount), 2));
  71. $("#lblSummary_ScrapDiscountAmount").text(0);
  72. $("#lblSummary_NetTotal").text(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number(NetTotal), 2));
  73. $("#txt_Terms").html(data.Terms);
  74. $("#div_ScrapDiscount").addClass('hidden');
  75. if (data.Description == null || data.Description == " ") { }
  76. else {
  77. $('.note-placeholder').text("");
  78. }
  79. });
  80. });
  81. }
  82. }
  83. loadPropertySettings(propertysettings, formpropertyid) {
  84. return null;
  85. }
  86. bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
  87. return null;
  88. }
  89. checkEditValidations() {
  90. let instance = this;
  91. var OrderId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_orderid") == undefined ? 0 : Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_orderid").Value);
  92. if (OrderId > 0) {
  93. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(["apps/transact/managers/orders/ordermanager.js", "apps/transact/managers/inventory/dcmanager.js"], function () {
  94. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getOrderDetails(OrderId).then(function (response) {
  95. var Dcinfo;
  96. let data = response.result;
  97. let OrganizationId = Number($('.txtAutoComplete_organizationid').val());
  98. let OrgContactId = Number($('.txtAutoComplete_orgcontactid').val());
  99. let BillingAddressId = Number($('.txtAutoComplete_billingaddressid').val());
  100. let ShippingAddressId = Number($('.txtAutoComplete_shippingaddressid').val());
  101. let BillFromAddressId = Number($('.txtAutoComplete_billfromaddressid').val());
  102. let ShipFromAddressId = Number($('.txtAutoComplete_shipfromaddressid').val());
  103. let IsTaxInclusive = $('.dropdown_istaxinclusive option:selected').val().toString().toLowerCase();
  104. let PaymentMethod = Number($(".dropdown_paymentmethodid option:selected").val());
  105. if (response != null) {
  106. let Message = "";
  107. Bizgaze.Apps.Transact.Managers.DCManager.Instance().getdcsbyorderid(response.result.OrderId).then(function (dcResponce) {
  108. Dcinfo = dcResponce.result;
  109. if (OrganizationId != data.OrganizationId || BillingAddressId != data.BillingAddressId || ShippingAddressId != data.ShippingAddressId || BillFromAddressId != data.BillFromAddressId || IsTaxInclusive != data.IsTaxInclusive.toString().toLowerCase() || PaymentMethod != data.PaymentMethodId || OrgContactId != data.OrgContactId) {
  110. if (Dcinfo != null && Dcinfo != "" && Dcinfo != undefined) {
  111. Message = "You have made some important changes in Order, Please ReSave DC/Invoice";
  112. }
  113. }
  114. if (ShipFromAddressId != data.ShipFromAddressId) {
  115. if (Dcinfo != null && Dcinfo != "" && Dcinfo != undefined) {
  116. Message = "You have made some important changes in Order, Please ReSave DC/Invoice";
  117. }
  118. }
  119. if (Message != "" && Message != null) {
  120. bootbox.confirm({
  121. message: Message,
  122. closeButton: false,
  123. buttons: {
  124. confirm: {
  125. label: 'Ok',
  126. className: 'btn-success'
  127. },
  128. cancel: {
  129. label: 'No',
  130. className: 'd-none'
  131. }
  132. },
  133. callback: function (result) { }
  134. });
  135. }
  136. });
  137. }
  138. });
  139. });
  140. }
  141. }
  142. static Instance() {
  143. if (this.instance === undefined) {
  144. this.instance = new PriceDetails();
  145. }
  146. return this.instance;
  147. }
  148. }
  149. Controls.PriceDetails = PriceDetails;
  150. })(Controls = Transact.Controls || (Transact.Controls = {}));
  151. })(Transact = Apps.Transact || (Apps.Transact = {}));
  152. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  153. })(Bizgaze || (Bizgaze = {}));