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.

w_positems.js 16KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. var Bizgaze;
  2. (function (Bizgaze) {
  3. let Apps;
  4. (function (Apps) {
  5. let Transact;
  6. (function (Transact) {
  7. let Components;
  8. (function (Components) {
  9. class POSItems extends Unibase.Platform.Core.BaseComponent {
  10. cssFiles() {
  11. return [];
  12. }
  13. jsFiles() {
  14. var jsFiles = ["apps/transact/controls/pricelist/managers/pricelistmanager.js", "apps/transact/managers/payments/paymentmanager.js", "apps/crm/contacts/managers/contactmanager.js", "apps/crm/lobs/managers/lobmanager.js", "apps/transact/managers/paymentterms/paymenttermmanager.js", "platform/apps/managers/stagemanager.js", "apps/transact/managers/orders/ordermanager.js", "apps/transact/enums/enum.js", "platform/permission/enums/permission.js", "apps/transact/managers/invoicemanager.js", "apps/transact/managers/offers/offermanager.js", "platform/core/helpers/numberhelper/numberhelper.js", "libs/jquery/pagination/jquery.pagination.js", "apps/transact/components/orders/orderfilter.js", "apps/transact/controls/orders/poscartitems.component.js"];
  15. return jsFiles;
  16. }
  17. html(id, containerid) {
  18. let html = `<div class="card positemcard mt-1 mt-md-0" id="Form_ProductItems">
  19. <div class="card-header row col-sm-12 align-items-center justify-content-between ml-0">
  20. <div> <span class="h6" id="WidgetTitle"> Items </span> </div>`;
  21. if (window.innerWidth > 425) {
  22. html += `<div class="card-search-bar">
  23. <div class="search-wrapper border border-bottom-0" id="">
  24. <input class="form-control" id="txt_SearchItem" type="text" placeholder="Search..." autocomplete="off" style="height: 100%; padding: 8px;padding-left:30px; border-radius: 0.25rem; background-color: rgb(255 255 255 / 37%) !important; border: solid 1px #ccc; !important">
  25. <i class="fa fa-search search-left-icon text-light"></i>
  26. <div class="p-absolute" style="right: 0;top: 7px;">
  27. <select id="ItemLoadType" class="border-0 outline-0 bg-white"> <option value="1">All Items</option><option value="2">Offers</option > </select>
  28. </div>
  29. </div>
  30. </div>`;
  31. }
  32. html += ` <div class="d-flex align-items-center"><button class="posproceedbtn border-0 btn-primary px-2 py-1 px-md-3 py-md-2 rounded rounded-50 cursor-pointer" id="PlaceOrder"> Proceed </button></div>
  33. </div>
  34. <div class="card-body p-2">`;
  35. if (window.innerWidth <= 425) {
  36. html += `<div class="card-search-bar mb-4 w-100 border-bottom-0 ml-0">
  37. <div class="search-wrapper border rounded d-block border-bottom-0 w-100" id="">
  38. <input class="form-control" id="txt_SearchItem" type="text" placeholder="Search..." autocomplete="off" style="height: 100%; padding: 8px;padding-left:30px; border-radius: 0.25rem; background-color: rgb(255 255 255 / 37%) !important; border: solid 1px #ccc; !important">
  39. <i class="fa fa-search search-left-icon text-light"></i>
  40. <div class="p-absolute" style="right: 0;top: 7px;">
  41. <select id="ItemLoadType" class="border-0 outline-0 bg-white"> <option value="1">All Items</option><option value="2">Offers</option > </select>
  42. </div>
  43. </div>
  44. </div>`;
  45. }
  46. html += `<div class="col-sm-12 m-t-xs cart-Warning hidden">
  47. <div class="alert alert-success alert-block">
  48. <h4>Warning..!</h4>
  49. <p class="cartitem-warning"></p>
  50. </div>
  51. </div>
  52. <div id="div_ItemList"> </div>
  53. </div>
  54. </div>`;
  55. $("#Form_ProductItems").remove();
  56. var VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  57. $("#" + VisibleContainerId).find("[data-widgetname='Items']").removeClass("hidden");
  58. $("." + containerid).html(html);
  59. return "";
  60. }
  61. init(containerid) {
  62. var instance = this;
  63. var id = 0;
  64. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  65. for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
  66. if (obj.Key === "hf_" + InstalledAppId + "_recordid") {
  67. id = Number(obj.Value.toString());
  68. }
  69. }
  70. instance.fileCacheHelper.loadJsFile("apps/transact/controls/orders/poscartitems.component.js", function () {
  71. instance.load(id, containerid, null);
  72. });
  73. }
  74. load(id, containerid, callback) {
  75. var instance = this;
  76. instance._POSCartItems = Bizgaze.Apps.Transact.Controls.POSCartItems.Instance();
  77. if (instance._POSCartItems.g_ModuleName != "Product_Catalogue") {
  78. instance.html(id, containerid);
  79. var jsFiles = ["apps/transact/controls/pricelist/managers/pricelistmanager.js", "apps/transact/managers/payments/paymentmanager.js", "apps/crm/contacts/managers/contactmanager.js", "apps/crm/lobs/managers/lobmanager.js", "apps/transact/managers/paymentterms/paymenttermmanager.js", "platform/apps/managers/stagemanager.js", "apps/transact/managers/orders/ordermanager.js", "apps/transact/enums/enum.js", "platform/permission/enums/permission.js", "apps/transact/managers/invoicemanager.js", "apps/transact/managers/offers/offermanager.js", "platform/core/helpers/numberhelper/numberhelper.js", "libs/jquery/pagination/jquery.pagination.js", "apps/transact/components/orders/orderfilter.js", "apps/transact/controls/orders/poscartitems.component.js"];
  80. instance.fileCacheHelper.loadJsFiles(jsFiles, function () {
  81. $("#div_ItemList").html('<ul class="variant-list list-group"><li class="variant-item hidden"></li>');
  82. instance._POSCartItems.g_OrderType = "Sales";
  83. instance._POSCartItems.g_IsCheckOutForm = false;
  84. instance._POSCartItems.g_OrderTypeId = 1;
  85. instance._POSCartItems.g_CartItems_New = [];
  86. instance._POSCartItems.g_PageIndex = 0;
  87. instance._POSCartItems.g_ItemsUnitPrice_New = [];
  88. instance._POSCartItems.g_SelectedItems = [];
  89. instance._POSCartItems.g_LoadedItems = [];
  90. instance._POSCartItems.g_LoadOffersOnly = false;
  91. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  92. let InputParameters = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters;
  93. instance._POSCartItems.g_ProductId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_productid").Value);
  94. let UserId = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().userId;
  95. instance._POSCartItems.g_IsDealer = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().isRestrictedUser;
  96. if (instance._POSCartItems.g_IsDealer) {
  97. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getContactByUserId(UserId).then(function (response) {
  98. let contactId = response.result.OrganizationId;
  99. instance._POSCartItems.g_OrganizationId = response.result.OrganizationId;
  100. let organizationName = response.result.OrganizationName;
  101. let contact = new Option(organizationName, contactId.toString(), true);
  102. $(".txtAutoComplete_organizationid").append(contact);
  103. $(".txtAutoComplete_organizationid").val(contactId).trigger("change");
  104. instance.bindDetails(instance._POSCartItems.g_OrganizationId, 0);
  105. $("#orgContact_back").addClass("hidden");
  106. });
  107. }
  108. $("#chk_AllItems").unbind().click(function () {
  109. instance._POSCartItems.g_CartItems_New = [];
  110. $("#ulOrder_Cart").find(".cartitem").remove();
  111. $("#OverallOrderQuantity").text("0");
  112. $("#totalOrderItems").text("0");
  113. });
  114. $("#PlaceOrder").click(function () {
  115. let jsFiles = ["apps/transact/components/orders/orderfilter.js", "apps/transact/controls/orders/poscartitems.component.js"];
  116. Unibase.Platform.Analytics.Reports.ReportBuilder.Instance().fileCacheHelper.loadJsFiles(jsFiles, function () {
  117. instance.placeOrder();
  118. });
  119. });
  120. });
  121. }
  122. }
  123. bindDetails(OrganizationId, LobId) {
  124. let instance = this;
  125. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  126. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getDetails(OrganizationId, LobId, instance._POSCartItems.g_OrderType, false).then(function (response) {
  127. let msg = response.message;
  128. let res = response.result;
  129. if (msg != "") {
  130. Unibase.Platform.Forms.Components.FormViewer.Instance().showError(msg);
  131. }
  132. if (res != null) {
  133. instance._POSCartItems.g_LobId = res.LobId;
  134. instance._POSCartItems.g_SalesPersonId = res.SalesPersonId;
  135. instance._POSCartItems.g_SeriesId = res.SeriesId;
  136. instance._POSCartItems.g_BillingAddressId = res.BillingAddressId;
  137. instance._POSCartItems.g_ShippingAddressId = res.ShippingAddressId;
  138. instance._POSCartItems.g_ShipFromAddressId = res.ShipFromAddressId;
  139. instance._POSCartItems.g_WarehouseId = res.ShipFromAddressId;
  140. }
  141. if (res.OrganizationTypeId == 1) {
  142. instance._POSCartItems.g_OrgContactId = res.OrgContactId;
  143. }
  144. if (res.CountryId != "" && res.CountryId != undefined) {
  145. instance._POSCartItems.g_CountryId = res.CountryId;
  146. }
  147. else {
  148. instance._POSCartItems.g_CountryId = 0;
  149. }
  150. instance._POSCartItems.g_CompanyId = res.CompanyId;
  151. let CompanyName = res.CompanyName;
  152. let ShipFromAddressId = response.result.ShipFromAddressId;
  153. instance._POSCartItems.g_BranchId = response.result.BranchId;
  154. let BranchName = response.result.BranchName;
  155. let WarehouseName = response.result.ShipFromAddressName;
  156. if (res.LobId != 0 && !res.IsMultipleLobs) {
  157. instance._POSCartItems.g_TagGroupId = res.TagGroupId;
  158. }
  159. instance._POSCartItems.g_PriceCodeId = res.PriceCodeId;
  160. if ($("#chk_PriceCodeId").is(':checked'))
  161. instance._POSCartItems.g_PriceCodeId = res.AdvancePriceCodeId;
  162. instance._POSCartItems.setPermissionVariables(res);
  163. instance._POSCartItems.itemSettingsEvents();
  164. instance._POSCartItems.g_IsLeverageApplied = res.IsLeverageApplied;
  165. instance._POSCartItems.g_IsEnablePacks = true;
  166. instance._POSCartItems.g_IsEnablePieces = true;
  167. instance._POSCartItems.g_PacksFocus = true;
  168. instance._POSCartItems.g_InventoryApplyType = Bizgaze.Apps.Transact.Enums.InventoryApplyType.PacksAndPieces;
  169. instance._POSCartItems.g_CompositePriceType = Number(Bizgaze.Apps.Transact.Enums.PriceType.None);
  170. instance._POSCartItems.g_IsCalculateTax = res.CalculateTax;
  171. instance._POSCartItems.bindCartItems();
  172. });
  173. });
  174. }
  175. placeOrder() {
  176. var instance = this;
  177. Unibase.Platform.Forms.Managers.FormManager.Instance().getFormbyUniqueId("Bizgaze_Extension_Transact_PlaceanOrder_App_PlaceanOrder_CreateForm").then(function (res) {
  178. let FormId = res.result.FormId;
  179. var OnSuccess = {
  180. CallBack: function (id) {
  181. Unibase.Platform.Apps.Managers.AppManager.Instance().getInstallAppId("Bizgaze_Extension_Transact_SalesOrder_App_SalesOrder").then(function (appres) {
  182. Unibase.Platform.Helpers.NavigationHelper.Instance().loadDetail(id, appres.result.InstalledAppId, null);
  183. });
  184. },
  185. Parameters: null,
  186. };
  187. var formviewerObj = {
  188. FormId: FormId,
  189. AppConfigurationId: 0,
  190. Pk_Value: 0,
  191. PortletWidgetId: 0,
  192. OnSuccess: OnSuccess,
  193. OnFail: null,
  194. OnLoad: null,
  195. };
  196. Unibase.Platform.Forms.Components.FormViewer.Instance().init(formviewerObj);
  197. });
  198. }
  199. static Instance() {
  200. if (this._instance === undefined)
  201. this._instance = new POSItems();
  202. return this._instance;
  203. }
  204. }
  205. Components.POSItems = POSItems;
  206. })(Components = Transact.Components || (Transact.Components = {}));
  207. })(Transact = Apps.Transact || (Apps.Transact = {}));
  208. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  209. })(Bizgaze || (Bizgaze = {}));