Built files from Bizgaze WebServer
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

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 = {}));