var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var Bizgaze; (function (Bizgaze) { let Apps; (function (Apps) { let Transact; (function (Transact) { let Controls; (function (Controls) { class IndentItems extends Unibase.Platform.Core.BaseComponent { constructor() { super(...arguments); this.g_IsFromWorkOrder = false; this.g_VisibleContainerId = ""; this.g_WorkOrderItemsArray = []; this.g_IndentItemsArray = []; this.g_WorkOrderBranchId = 0; } init(formpropertyid, prop, callback) { var instance = this; let jsFiles = ["apps/transact/infos/orders/orderitem.js", "apps/transact/controls/orders/orderitems.component.js", "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", "platform/core/helpers/printhelper/printhelper.js", "apps/transact/components/invoices/itemofferselection.js", "apps/transact/controls/invoices/invoiceitem.component.js", "apps/transact/controls/orders/customercredithealth.component.js", "apps/transact/managers/inventory/itemmanager.js"]; instance.fileCacheHelper.loadJsFiles(jsFiles, function () { instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId); instance.loadPropertySettings(prop.PropertySettings, prop.FormPropertyId); }); } loadControl(containerid, prop) { let instance = this; var html = `
Item
Quantity


Add Item
`; $("#" + containerid).html(html); instance.g_VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1]; instance.g_WorkOrderBranchId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_branchid").Value); } getIndentItemDesign(res, RowId) { let ItemId = 0; let Qty = 0; let ItemName = ""; if (res != null) { ItemId = res.ItemId; Qty = res.Quantity; ItemName = res.ItemName; } let html = `
  • ` + ItemName + `
  • `; return html; } loadControlSettings(controlsettingjson, formpropertyid) { let instance = this; let OrderId = Number(Unibase.Themes.Providers.DetailHelper.recordId); if (instance.g_IsFromWorkOrder) { instance.g_WorkOrderItemsArray = []; instance.g_IndentItemsArray = []; $("#" + instance.g_VisibleContainerId).find("[data-formpropertyname='PurchaseIndentItems']").remove(); $("#" + instance.g_VisibleContainerId).find("[data-formpropertyname='IndentItems']").attr("data-formpropertyname", "PurchaseIndentItems"); Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getOrderItems(OrderId, 0).then(function (rm_resp) { return __awaiter(this, void 0, void 0, function* () { if (rm_resp.result != null) { let res = rm_resp.result.filter(x => x.ParentBOMItemId != 0); let ItemIds = ""; res.forEach(function (x) { ItemIds += x.ItemId + ","; }); Bizgaze.Apps.Transact.Managers.ItemManager.Instance().getItemsAvailableQty(ItemIds, instance.g_WorkOrderBranchId.toString(), false).then(function (res_avail) { for (let i = 0; i < res.length; i++) { let RowId = instance.getNewRowId(); let html = instance.getIndentItemDesign(res[i], RowId); let Avail = res_avail.result.find(x => x.ItemId == res[i].ItemId); instance.g_WorkOrderItemsArray.push({ ItemName: res[i].ItemName, WorkOrderId: res[i].OrderId, ItemId: res[i].ItemId, Quantity: res[i].Quantity, AvailQty: Avail.Quantity, RowId: RowId }); if (Avail.Quantity < res[i].Quantity) { instance.g_IndentItemsArray.push({ ItemName: res[i].ItemName, WorkOrderId: res[i].OrderId, OrderItemId: res[i].OrderItemId, ItemId: res[i].ItemId, Quantity: res[i].Quantity, AvailQty: Avail.Quantity, RowId: RowId }); $("#" + instance.g_VisibleContainerId).find(".indent-item:last").after(html); let elem = $("#" + instance.g_VisibleContainerId).find(".indent-addeditem-" + RowId); $("#" + instance.g_VisibleContainerId).find("#div_AddItem").off().click(function () { let IsError = false; $(".slct_Indent_Item:visible").each(function () { let slct_RowId = $(this).parentsUntil("ul").find("#hf_RowId").val(); let Index = instance.g_IndentItemsArray.findIndex(x => x.RowId == slct_RowId); if (!IsError && Index == -1) { let val = Number($(this).val()); if (val == 0 || isNaN(val)) { IsError = true; } } }); if (!IsError) { let RowId = instance.getNewRowId(); let html = instance.getIndentItemDesign(null, RowId); $("#" + instance.g_VisibleContainerId).find(".indent-item:last").after(html); let OrderItemIds = instance.getIndentOrderItemIds(instance.g_IndentItemsArray); let url = _appsettings.server_url() + '/apis/v4/bizgaze/transact/orders/getorderitemsbyorderidautocomplete/orderid/' + res[i].OrderId + '/orderitemids/' + OrderItemIds; let txtAutoSearchCtrl = $(".slct_Indent_Item_" + RowId); let hdnSelectedItemId = $("#hdn_Indent_Item_" + RowId); AutoCompleteHelper.getHelper().Create(txtAutoSearchCtrl, hdnSelectedItemId, url, null); let added_elem = $("#" + instance.g_VisibleContainerId).find(".indent-addeditem-" + RowId); $(added_elem).find(".div_IndentItemAutoComplete").removeClass("hidden"); $(added_elem).find(".ItemDetails, .InventoryTypesTextboxes").addClass("hidden"); instance.allIndentItemEvents(added_elem); } else { Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select Item"); return false; } }); instance.allIndentItemEvents(elem); instance.ShowOrHideNoDataAvailable(); } } }); } else { instance.ShowOrHideNoDataAvailable(); } }); }); } } loadPropertySettings(propertysettings, formpropertyid) { return null; } bindEditFormDetails(formpropertyid, propval, DocPropertyName) { return null; } getNewRowId() { let text = ""; let possible = "0123456789"; for (let i = 0; i < 5; i++) text += possible.charAt(Math.floor(Math.random() * possible.length)); return Number(text); } getIndentItemIds(res) { let ItemIds = ""; res.forEach(function (x) { ItemIds += x.ItemId + ","; }); if (res.length == 0) { ItemIds = "null"; } return ItemIds; } getIndentOrderItemIds(res) { let OrderItemIds = ""; res.forEach(function (x) { OrderItemIds += x.OrderItemId + ","; }); if (res.length == 0) { OrderItemIds = "null"; } return OrderItemIds; } allIndentItemEvents(elem) { let instance = this; let RowId = elem.find("#hf_RowId").val(); $("#" + instance.g_VisibleContainerId).find(".indent-addeditem-" + RowId).find(".div_DeleteIndentItem").click(function () { let RowId = elem.find("#hf_RowId").val(); $("#" + instance.g_VisibleContainerId).find(".indent-addeditem-" + RowId).remove(); let ItemId = elem.find("#hf_ItemId").val(); let IndentItemIndex = instance.g_IndentItemsArray.findIndex(x => x.ItemId == ItemId); instance.g_IndentItemsArray.splice(IndentItemIndex, 1); instance.ShowOrHideNoDataAvailable(); }); $("#" + instance.g_VisibleContainerId).find(".indent-addeditem-" + RowId).find(".slct_Indent_Item").click(function () { instance.bindAutoCompleteEvent(RowId); }); $("#" + instance.g_VisibleContainerId).find(".indent-addeditem-" + RowId).find(".slct_Indent_Item").change(function () { let RowId = $(this).parentsUntil("ul").find("#hf_RowId").val(); let OrderItemId = Number($(this).val()); let ItemId = Number($(this).attr("data-addldata")); let ItemName = $(this).text(); let IndentItemId = Number($("#" + instance.g_VisibleContainerId).find(".slct_Indent_Item_" + RowId).val()); if (IndentItemId == 0 || isNaN(IndentItemId)) { $("#" + instance.g_VisibleContainerId).find(".indent-addeditem-" + RowId).find(".InventoryTypesTextboxes").addClass("hidden"); $("#" + instance.g_VisibleContainerId).find(".indent-addeditem-" + RowId).find(".InventoryTypesTextboxes").find("#txt_Quantity").val(""); } else { $("#" + instance.g_VisibleContainerId).find(".indent-addeditem-" + RowId).find(".InventoryTypesTextboxes").removeClass("hidden"); $("#" + instance.g_VisibleContainerId).find(".indent-addeditem-" + RowId).find(".InventoryTypesTextboxes").find("#txt_Quantity").val("1"); let OrderId = Number(Unibase.Themes.Providers.DetailHelper.recordId); instance.g_IndentItemsArray.push({ ItemName: ItemName, WorkOrderId: OrderId, OrderItemId: OrderItemId, ItemId: ItemId, Quantity: 1, AvailQty: 1, RowId: RowId }); } instance.ShowOrHideNoDataAvailable(); }); $("#" + instance.g_VisibleContainerId).find(".indent-addeditem-" + RowId).find("#txt_Quantity").change(function () { let RowId = $(this).parentsUntil("ul").find("#hf_RowId").val(); let Index = instance.g_IndentItemsArray.findIndex(x => x.RowId == RowId); if (Index != -1) { let Qty = Number($("#" + instance.g_VisibleContainerId).find(".indent-addeditem-" + RowId).find("#txt_Quantity").val()); instance.g_IndentItemsArray[Index].Quantity = Qty; } }); } isNumberKey(evt) { let instance = this; if (evt.type == "paste") { let pastedData = evt.clipboardData.getData('text'); let regExp = /[a-zA-Z]/g; if (regExp.test(pastedData)) { evt.preventDefault(); return false; } } else if (evt.type == "input") { const inputVal = $("#" + instance.g_VisibleContainerId).find(evt.currentTarget).val(); $("#" + instance.g_VisibleContainerId).find(evt.currentTarget).val(inputVal.replace(/\D/g, '')); } else { if (evt.which != 8 && evt.which != 0 && (evt.which < 48 || evt.which > 57)) { return false; } } return true; } ShowOrHideNoDataAvailable() { let instance = this; if ($("#" + instance.g_VisibleContainerId).find(".indent-item").length == 1) { $("#" + instance.g_VisibleContainerId).find(".div_NoDataAvailable").removeClass("hidden"); } else { $("#" + instance.g_VisibleContainerId).find(".div_NoDataAvailable").addClass("hidden"); } } getIndentItems() { let instance = this; let IndentItemList = new Array(); for (let i = 0; i < instance.g_IndentItemsArray.length; i++) { let IndentItem = instance.g_IndentItemsArray[i]; IndentItemList.push({ "itemid_itemname": "0", "purchaseindentitemid": "0", "purchaseindentid": "0", "itemid": IndentItem.ItemId, "qty": IndentItem.Quantity }); } return IndentItemList; } bindAutoCompleteEvent(RowId) { let instance = this; let OrderItemIds = instance.getIndentOrderItemIds(instance.g_IndentItemsArray); let OrderId = Number(Unibase.Themes.Providers.DetailHelper.recordId); let url = _appsettings.server_url() + '/apis/v4/bizgaze/transact/orders/getorderitemsbyorderidautocomplete/orderid/' + OrderId + '/orderitemids/' + OrderItemIds; let txtAutoSearchCtrl = $(".slct_Indent_Item_" + RowId); let hdnSelectedItemId = $("#hdn_Indent_Item_" + RowId); AutoCompleteHelper.getHelper().Create(txtAutoSearchCtrl, hdnSelectedItemId, url, null); } static Instance() { if (this.instance === undefined) { this.instance = new IndentItems(); } return this.instance; } } Controls.IndentItems = IndentItems; })(Controls = Transact.Controls || (Transact.Controls = {})); })(Transact = Apps.Transact || (Apps.Transact = {})); })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {})); })(Bizgaze || (Bizgaze = {}));