This commit is contained in:
2023-03-11 17:30:20 +00:00
commit b6c4e025bc
5124 changed files with 1153349 additions and 0 deletions
@@ -0,0 +1,611 @@
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 AddEstimateItems extends Unibase.Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this._estimate = Bizgaze.Apps.Transact.Controls.Estimate.Instance();
this.g_ContactId = 0;
this.g_CountryId = 0;
this.g_LobId = 0;
this.g_Tags = "";
this.g_PageIndex = 0;
this.g_BranchId = 0;
this.g_BillingAddressId = 0;
this.g_ShippingAddressId = 0;
this.g_ShipFromAddressId = 0;
this.g_EstimateId = 0;
this.g_Edit_EstimateItemId = 0;
this.g_Edit_EstimateItemData = [];
this.g_RefStatusId = 0;
this.g_FocItems = [];
this.g_ExpectedPrice = 0;
this.g_ItemIds = [0];
}
init(formpropertyid, prop, callback) {
let instance = this;
instance.g_ItemIds = [0];
instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId);
instance.loadPropertySettings(prop.PropertySettings, prop.FormPropertyId);
}
loadControl(containerid, prop) {
let instance = this;
let html = '<div class="col-sm-12 ItemsDiv">' +
'<input type = "hidden" id = "hdn_customcontrol" class="value-control" value = "Bizgaze.Apps.Transact.Controls.AddEstimateItems.Instance().getEstimateItems();"' +
'<div class="floating-label-form-group div_SearchItem">' +
'<label for="lbl" id="lbl_ItemId" style="color:grey">Item Name</label>' +
'<select id="txtAutoComplete_ItemId" class="form-control text-control txtAutoComplete_ItemId">Select</select>' +
'<input type="hidden" id="hfAutoComplete_ItemId" class="form-control value-control" data-isdynamic="true"/>' +
'</div>' +
'</div>' +
'<br/><div class="row" id="div_chkpieces"><div class="col-sm-3 hidden divselectall"><div class="custom-control custom-checkbox divselectall checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_AllItems"><label class="custom-control-label" for="chk_AllItems">Select All</label></div></div><div class="col-sm-4 div_chk_Packs hidden"><div class="custom-control custom-checkbox divEnablePacks checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_Packs"><label class="custom-control-label" for="chk_Packs">Enable Packs</label></div></div><div class="col-sm-4 div_chk_Pieces hidden"><div class="custom-control custom-checkbox divEnablePieces checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_Pieces"><label class="custom-control-label" for="chk_Pieces">Enable Pieces</label></div></div><div class="col-sm-4 hidden div_chk_CompositePrice"><div class="custom-control custom-checkbox checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_CompositePrice"><label class="custom-control-label" for="chk_CompositePrice">Enable Composite Price</label></div></div><div class="col-sm-4 hidden div_chk_PiecePrice"><div class="custom-control custom-checkbox checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_PiecePrice"><label class="custom-control-label" for="chk_PiecePrice">Enable Piece Price</label></div></div></div><br /><div class="d-none d-md-block"><div class="row div_titledetails"><div class="col-sm-7 pl-80">Item Details</div><div class="col-sm-5 Inventory_Title text-center"><span id="spn_InventoryTitle" class="col-sm-5 ml-35">Quantity</span><span id="spn_picesTitle" class="col-sm-5 pull-right hidden"> Pieces</span></div></div></div><div class="mt-2" id="div_ItemList"></div>' +
'<div id="Items"></div>' +
'<div class="pull-right">' +
'<div id = "ItemsListPagination" class="mt-10 pagination custom-pagination pagination-rounded pull-right" > </div>' +
'</div>';
$("#" + containerid).html(html);
$("#div_chkpieces").addClass("hidden");
let jsFiles = ["apps/transact/enums/enum.js", "apps/transact/managers/orders/ordermanager.js", "apps/transact/managers/estimates/estimatemanager.js", "apps/transact/controls/pricelist/managers/pricelistmanager.js", "apps/transact/controls/estimates/estimate.component.js", "apps/transact/controls/estimates/estimateitems.component.js", "apps/transact/managers/offers/offermanager.js", "apps/transact/components/estimates/estimatefilter.js"];
instance.fileCacheHelper.loadJsFiles(jsFiles, function () {
let estimateItemId = Number($(".hdn_estimateitemid").val());
instance.setVariables();
instance._estimate.checkPermissions();
instance._estimate.getInventoryApplyType(instance.g_LobId, instance.g_BillingAddressId, instance.g_BranchId);
instance._estimate.getOrderSettings(instance.g_LobId, instance.g_BillingAddressId, instance.g_BranchId);
instance._estimateItems.itemSettings(true);
if (estimateItemId == 0) {
instance.itemsAutoComplete();
$(".div_titledetails").addClass("hidden");
}
instance.searchItemDesign();
let orgId = instance._estimate.g_OrganizationId;
instance._estimate.getPriceCodeDetails(orgId, instance._estimate.g_OrgContactId, instance.g_LobId);
instance.itemChangeEvent();
if (estimateItemId != 0) {
instance.edit(estimateItemId);
}
});
}
loadControlSettings(controlsettingjson, formpropertyid) {
return null;
}
loadPropertySettings(propertysettings, formpropertyid) {
return null;
}
bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
return null;
}
setVariables() {
var instance = this;
instance._estimateItems = Bizgaze.Apps.Transact.Controls.EstimateItems.Instance();
instance._estimate._estimateItems = Bizgaze.Apps.Transact.Controls.EstimateItems.Instance();
instance._estimateItems.g_CartItems_New = [];
instance._estimateItems.g_SelectedItems = [];
instance._estimateItems.g_LoadedItems = [];
instance._estimateItems.g_ItemsUnitPrice_New = [];
instance._estimateItems.g_AppliedTaxGroups = [];
instance._estimateItems.g_ValidFocItems = [];
instance.g_Edit_EstimateItemId = 0;
instance._estimateItems.g_IsEnablePieces = false;
instance._estimateItems.g_IsEnablePiecePrice = false;
instance._estimateItems.g_IsEnableCompositePrice = false;
instance._estimateItems.g_IsEnableCompositePiecePrice = false;
instance.g_FocItems = [];
let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
let InputParameters = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters;
instance.g_LobId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_lobid").Value);
instance.g_ShipFromAddressId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_shipfromaddressid").Value);
instance.g_ShippingAddressId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_shippingaddressid").Value);
instance._estimate.g_OrganizationId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_organizationid").Value);
instance._estimate.g_OrgContactId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_orgcontactid").Value);
instance.g_BillingAddressId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_billingaddressid").Value);
instance._estimate.g_EstimateTypeId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_estimatetypeid").Value);
instance._estimate.g_EstimateType = Bizgaze.Apps.Transact.Enums.OrderType[instance._estimate.g_EstimateTypeId];
instance.g_EstimateId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_estimateid").Value);
instance.g_BranchId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_branchid").Value);
var UnformateEstimatedate = InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_estimatedate").Value;
var EstimateDate = moment(UnformateEstimatedate).format('l');
instance._estimateItems.g_OfferApplyDate = EstimateDate;
instance._estimateItems.g_FromWidget = true;
if (instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate) {
let LeadId = instance._estimate.g_OrganizationId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_leadid").Value);
if (LeadId > 0) {
instance._estimate.g_OrganizationId = LeadId;
instance._estimate.g_IsLead = true;
}
else {
instance._estimate.g_IsLead = false;
}
}
if (instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract) {
instance._estimateItems.g_WarehouseId = instance.g_ShipFromAddressId;
}
else if (instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate || instance._estimate.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract) {
instance._estimateItems.g_WarehouseId = instance.g_ShippingAddressId;
}
if (instance._estimateItems.g_WarehouseId == "null" || instance._estimateItems.g_WarehouseId == null) {
instance._estimateItems.g_WarehouseId = Number(instance.g_BranchId);
}
}
searchItemDesign() {
$(".section_Item").after('<input type="hidden" id="hfInventoryApplyType" value="1" /> <input type="hidden" id="hfOrder_PriceCodeId" value="0" /><div class="hidden" id="div_ItemList"><ul class="variant-list list-group card"><li class="row card-body"><div class="col-sm-12"><div class="row" id="div_chkpieces"><div class="col-sm-4 div_chk_Packs hidden"><div class="custom-control custom-checkbox divEnablePacks checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_Packs"><label class="custom-control-label" for="chk_Packs">Enable Packs</label></div></div><div class="col-sm-4 hidden"><div class="custom-control custom-checkbox divEnablePieces hidden checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_Pieces"><label class="custom-control-label" for="chk_Pieces">Enable Pieces</label></div></div><div class="col-sm-4 hidden"><div class="custom-control custom-checkbox checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_CompositePrice"><label class="custom-control-label" for="chk_CompositePrice">Enable Composite Price</label></div></div><div class="col-sm-4 hidden"><div class="custom-control custom-checkbox checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_PiecePrice"><label class="custom-control-label" for="chk_PiecePrice">Enable Piece Price</label></div></div></div></div></li><li class="variant-item hidden"></li></ul></div>');
}
getTags() {
return __awaiter(this, void 0, void 0, function* () {
let instance = this;
let TagGroupId = Bizgaze.Apps.Transact.Controls.Estimate.Instance().g_TagGroupId;
let OrganizationId = Bizgaze.Apps.Transact.Controls.Estimate.Instance().g_OrganizationId;
Unibase.Platform.Forms.Managers.TagManager.Instance().GetTagsByRefId(OrganizationId, TagGroupId).then(function (response) {
let data = response.result;
let options = '';
let tags = '';
for (let i = 0; i < data.length; i++) {
if (data[i] != undefined) {
options += data[i].TagId + "|";
}
}
if (options != '') {
options = options.replace(/\|$/, '');
tags = options;
}
if (tags != '') {
tags = tags.replace(/\:$/, '');
}
instance.g_Tags = tags;
});
});
}
itemsAutoComplete() {
return __awaiter(this, void 0, void 0, function* () {
var instance = this;
yield instance.getTags().then(function () {
let userinfo = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
let sessionid = userinfo.sessionId;
let postData = null;
$("#txtAutoComplete_ItemId").select2({
placeholder: "Select",
tags: false,
allowClear: true,
theme: "default select2ErrorClass",
data: [],
ajax: {
url: function (request) {
let reqUrl = _appsettings.server_url() + "/apis/v4/bizgaze/transact/items/itemsautocompletefororder";
return reqUrl;
},
type: "POST",
contentType: 'application/json',
dataType: 'json',
data: function (params) {
let Term = params.term;
sessionid = sessionid.replace('#', '');
postData = {
PriceCodeId: Number(instance._estimate.g_PriceCodeId),
ContactId: instance.g_ContactId,
ShippingAddressId: Number(instance.g_ShippingAddressId),
BranchId: Number(instance.g_BranchId),
WareHouseId: Number(instance._estimateItems.g_WarehouseId),
LobId: Number(instance.g_LobId),
OrderType: instance._estimate.g_EstimateTypeId,
OfferOnly: false,
IsExcise: false,
SearchTerm: Term,
Page: 0,
IsCompositePrice: false,
Rows: 10,
ItemId: "0",
CountryId: instance.g_CountryId,
ItemGroupId: 0,
Tags: instance.g_Tags,
authToken: sessionid,
term: Term,
ItemIds: instance.g_ItemIds,
};
return JSON.stringify(postData);
},
beforeSend: function (xhr) {
if (userinfo !== undefined && userinfo !== null) {
xhr.setRequestHeader("Authorization", "Basic " + userinfo.sessionId);
xhr.setRequestHeader('geoposition', userinfo.latd + ':' + userinfo.lgId);
}
},
processResults: function (data) {
return {
results: jQuery.map(JSON.parse(data.result), function (item) {
return {
id: item.Value,
text: item.SelectText,
addlInfo: item.addlData
};
})
};
},
},
});
});
});
}
itemChangeEvent() {
var instance = this;
$(".txtAutoComplete_ItemId").change(function () {
$("#div_ItemList").removeClass('hidden');
$(".div_titledetails").removeClass('hidden');
let SelectedItemId = $(this).val();
let ItemFound = false;
const ItemIndex = instance._estimateItems.g_CartItems_New.findIndex(x => x.ItemId == SelectedItemId);
if (ItemIndex != -1) {
ItemFound = true;
}
if (!ItemFound) {
instance.loadItems($("#bulk_txt_SearchItem").val(), SelectedItemId, null);
}
$(".txtAutoComplete_ItemId").text('');
});
}
loadItems(searchtext, ItemId, EstimateItems_res, EstimatesEdit = false) {
let instance = this;
instance.g_ItemIds.push(Number(ItemId));
instance._estimate.getInventoryApplyType(instance.g_LobId, instance.g_BillingAddressId, instance.g_BranchId);
instance._estimate.getOrderSettings(instance.g_LobId, instance.g_BillingAddressId, instance.g_BranchId);
if (instance.g_ContactId == 0) {
instance.g_ContactId = instance._estimate.g_OrganizationId;
}
if (ItemId == undefined || ItemId == "")
ItemId = "undefined";
if (searchtext == undefined || searchtext == "")
searchtext = "null";
let varianturl;
instance.fileCacheHelper.loadJsFile("apps/transact/managers/inventory/itemmanager.js", function () {
let postdata = {
priceCodeId: Number(instance._estimate.g_PriceCodeId),
contactId: instance.g_ContactId,
ShippingAddressId: Number(instance.g_ShippingAddressId),
BranchId: Number(instance.g_BranchId),
WareHouseId: Number(instance._estimateItems.g_WarehouseId),
LobId: Number(instance.g_LobId),
orderType: instance._estimate.g_EstimateTypeId,
offerOnly: false,
isExcise: false,
query: searchtext,
page: instance.g_PageIndex,
IsCompositePrice: instance._estimateItems.g_IsEnableCompositePrice,
rows: 10,
ItemId: ItemId.toString(),
ItemIds: [0],
};
varianturl = Bizgaze.Apps.Transact.Managers.ItemManager.Instance().getVariantsForOrder(postdata);
varianturl.then(function (response) {
if (response.result.length > 0) {
response.result.forEach(x => {
let LoadedItem_Index = instance._estimateItems.g_LoadedItems.findIndex(z => z.ItemId == x.ItemId);
if (LoadedItem_Index == -1) {
instance._estimateItems.g_LoadedItems.push(x);
}
else {
instance._estimateItems.g_LoadedItems[LoadedItem_Index].TaxPercentList = x.TaxPercentList;
}
});
instance.bindItemList(EstimateItems_res, ItemId);
$('#lblItemTotalRecords').text(response.result.length);
if (instance._estimateItems.g_CartItems_New.length > 10) {
let elem = $('#ItemsListPagination');
elem.pagination(response.result.length, 10, {
items_per_page: 10,
callback: function (page, component) {
instance.g_PageIndex = page;
instance.loadItems(searchtext, response.result.ItemId, response.result);
}, current_page: instance.g_PageIndex
});
}
}
else
$("#div_ItemList").html('<ul class="variant-list list-group"><li class="variant-item"><div class="text-center">Items not found.</div></li></ul>');
});
});
}
bindItemList(EstimateItems_res, ItemId) {
let instance = this;
$(".orderItemspage").removeClass("hidden");
$("#div_chkpieces").removeClass("hidden");
$("#div_ItemList").append('<ul class="variant-list list-group"><li class="variant-item hidden"></li>');
if (EstimateItems_res != null) {
if (EstimateItems_res.Pieces > 0) {
instance._estimateItems.g_IsEnablePieces = true;
$("#chk_Pieces").prop("checked", true);
$("#chk_Pieces").prop("disabled", true);
}
if (EstimateItems_res.Packs > 0) {
instance._estimateItems.g_IsEnablePacks = true;
$("#chk_Packs").prop("checked", true);
$("#chk_Packs").prop("disabled", true);
}
}
let SelectedItem = instance._estimateItems.g_LoadedItems.find(x => x.ItemId == ItemId);
let html = instance._estimateItems.getItemDesign(SelectedItem, true);
$(".variant-item:last").after(html);
let elem = $(".variant-item:last");
if (instance.g_Edit_EstimateItemId != 0) {
instance.editEstimateItem(EstimateItems_res);
instance._estimateItems.checkOffers(true, "FromWidget");
$(".defaultSelectedCartons").addClass("floating-label-form-group-with-value");
}
else {
instance._estimateItems.allItemEvents(elem);
}
}
edit(estimateItemId) {
var instance = this;
instance.g_Edit_EstimateItemId = estimateItemId;
$(".ItemsDiv").addClass("hidden");
instance.fileCacheHelper.loadJsFile("apps/transact/managers/estimates/estimatemanager.js", function () {
Bizgaze.Apps.Transact.Managers.EstimateManager.Instance().getEstimateItem(estimateItemId).then(function (response) {
let data = response.result;
instance.g_Edit_EstimateItemData = data;
instance._estimate.g_IsTaxInclusive = data.IsTaxInclusive;
instance.g_ExpectedPrice = data.ExpectedPrice;
if (response.result.FocItems != null && response.result.FocItems != "") {
let FocItems = response.result.FocItems.split(",");
for (let f = 0; f < FocItems.length; f++) {
let FocInfo = FocItems[f].split(":");
let EstimateItemId = Number(FocInfo[0]);
let ItemId = Number(FocInfo[1]);
instance.g_FocItems.push({ OrderItemId: EstimateItemId, ItemId: ItemId });
instance._estimateItems.g_ValidFocItems.push({ ItemId: ItemId, RefItemIds: data.ItemId });
}
}
if (data.PriceTypeId == Bizgaze.Apps.Transact.Enums.PriceType.PiecePrice) {
instance._estimateItems.g_IsEnablePiecePrice = true;
instance._estimateItems.g_IsEnableCompositePiecePrice = false;
instance._estimateItems.g_IsEnableCompositePrice = false;
}
else if (data.PriceTypeId == Bizgaze.Apps.Transact.Enums.PriceType.CompositePrice) {
instance._estimateItems.g_IsEnablePiecePrice = false;
instance._estimateItems.g_IsEnableCompositePiecePrice = false;
instance._estimateItems.g_IsEnableCompositePrice = true;
}
else if (data.PriceTypeId == Bizgaze.Apps.Transact.Enums.PriceType.Both) {
instance._estimateItems.g_IsEnablePiecePrice = false;
instance._estimateItems.g_IsEnableCompositePiecePrice = true;
instance._estimateItems.g_IsEnableCompositePrice = false;
}
else {
instance._estimateItems.g_IsEnablePiecePrice = false;
instance._estimateItems.g_IsEnableCompositePiecePrice = false;
instance._estimateItems.g_IsEnableCompositePrice = false;
}
instance.loadItems(null, data.ItemId, data, true);
});
});
}
editEstimateItem(EstimateItems_res) {
let instance = this;
let data = EstimateItems_res;
let LoadedItem = instance._estimateItems.g_LoadedItems.find(x => x.ItemId == data.ItemId);
LoadedItem.UnitPrice = data.UnitPrice;
let Amount = 0, UnitPrice = data.UnitPrice, BaseQty = 0, DiscountAmount = 0, AfterDiscountValue = 0, TaxRateAmount = 0, IsTaxError = false, optoutAmount = 0, TaxAmount = 0;
instance._estimate.g_IsTaxInclusive = data.IsTaxInclusive;
let DiscountType = data.DiscountPercent != 0 ? 1 : 2;
let elem = $(".variant-addeditem-" + data.ItemId);
if (DiscountType == 1) {
DiscountAmount = Number($(elem).find("#txt_editItemPrice").val()) * Number(LoadedItem.DiscountPercent / 100);
AfterDiscountValue = Number($(elem).find("#txt_editItemPrice").val()) - Number(DiscountAmount);
}
else if (DiscountType == 2) {
DiscountAmount = LoadedItem.DiscountValue;
AfterDiscountValue = Number($(elem).find("#txt_editItemPrice").val()) - LoadedItem.DiscountValue;
}
let Items_up = instance._estimateItems.g_ItemsUnitPrice_New.find(x => x.ItemId == data.ItemId);
Items_up.UnitPrice = UnitPrice;
if (Items_up.length == 0) {
instance._estimateItems.g_ItemsUnitPrice_New.push({
ItemId: data.ItemId,
UnitPrice: UnitPrice,
TaxRateAmount: 0
});
}
if (instance._estimate.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
BaseQty = Number(data.Quantity);
}
else {
if (instance._estimateItems.g_IsEnablePiecePrice) {
BaseQty = Number(LoadedItem.PackCount) * Number(data.Packs);
}
else {
BaseQty = Number(LoadedItem.PackCount) * Number(LoadedItem.PackSize) * Number(data.Packs) + (data.Pieces * LoadedItem.PackSize);
}
}
if (instance._estimateItems.g_IsEnableCompositePiecePrice) {
Amount = (UnitPrice * Number(BaseQty)) + Number(LoadedItem.TaxRate);
if (Number(BaseQty) == 0)
Amount = 0;
UnitPrice = LoadedItem.CompositePiecePrice;
$("#chk_PiecePrice").prop("checked", true);
$("#chk_CompositePrice").prop("checked", true);
}
else if (instance._estimateItems.g_IsEnableCompositePrice) {
let amnt = Number(UnitPrice) * Number(LoadedItem.TaxPercentage) / 100;
TaxRateAmount = Number(UnitPrice) + Number(amnt);
Amount = Number(BaseQty) * TaxRateAmount;
UnitPrice = LoadedItem.CompositePrice;
$("#chk_PiecePrice").prop("checked", false);
$("#chk_CompositePrice").prop("checked", true);
}
else if (instance._estimateItems.g_IsEnablePiecePrice) {
Amount = Number(BaseQty) * UnitPrice;
UnitPrice = LoadedItem.PiecePrice;
$("#chk_PiecePrice").prop("checked", true);
$("#chk_CompositePrice").prop("checked", false);
}
else {
Amount = Number(BaseQty) * UnitPrice;
}
Items_up.TaxRateAmount = TaxRateAmount;
let AssessableAmount = Number(Amount);
let DiscAmount = Number((Amount * data.DiscountPercent) / 100) + Number(data.DiscountValue);
let discAmt = DiscAmount + Number(optoutAmount);
AssessableAmount = Number(AssessableAmount) - Number(discAmt);
let AmountWithDiscount = Number(Amount) - Number(DiscAmount);
let StrTaxPercents = "";
if (instance._estimate.g_IsCalculateTax) {
if (LoadedItem.TaxGroupId == 0) {
IsTaxError = true;
}
else {
for (let p = 0; p < LoadedItem.TaxPercentList.length; p++) {
let percen = LoadedItem.TaxPercentList[p];
let tax = AssessableAmount * percen.Percentage / 100;
TaxAmount += tax;
}
StrTaxPercents = LoadedItem.strTaxPercents;
instance._estimateItems.getPriceTypeValues(data.ItemId);
if (instance._estimateItems.g_IsEnablePiecePrice) {
UnitPrice = LoadedItem.PiecePrice;
}
if (instance._estimateItems.g_IsEnableCompositePrice) {
UnitPrice = LoadedItem.CompositePrice;
}
if (instance._estimateItems.g_IsEnableCompositePiecePrice) {
UnitPrice = LoadedItem.CompositePiecePrice;
}
}
}
let Quantity = 0;
if (instance._estimate.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
Quantity = data.Quantity;
}
else {
Quantity = ((LoadedItem.PackCount * LoadedItem.PackSize) * data.Packs) + (data.Pieces * LoadedItem.PackSize);
}
let ItemIndex = instance._estimateItems.g_CartItems_New.length + 1;
instance._estimateItems.g_CartItems_New.push({
OrderItemId: data.EstimateItemId,
ItemIndex: ItemIndex,
ItemId: data.ItemId,
ItemName: LoadedItem.ItemName,
Packs: data.Packs,
Pieces: data.Pieces,
PriceListId: data.PriceListId,
UnitPrice: UnitPrice,
UnitPriceWithOutTax: data.UnitPrice,
ExpectedPrice: instance.g_ExpectedPrice,
ActualPrice: data.UnitPrice,
PackCount: LoadedItem.PackCount,
PackSize: LoadedItem.PackSize,
UnitName: LoadedItem.UnitName,
Quantity: Quantity,
SKU: LoadedItem.SKU,
PartNo: LoadedItem.PartNo,
Amount: Amount,
AmountWithDiscount: AmountWithDiscount,
DiscountPercent: data.DiscountPercent,
DiscountValue: data.DiscountValue,
DiscountType: DiscountType,
DiscountAmount: DiscountAmount,
ItemValueAfterDiscount: AfterDiscountValue,
StrTaxPercents: StrTaxPercents,
AvailableQuantity: LoadedItem.AvailableQuantity,
AvailablePacks: LoadedItem.AvailablePacks,
AvailablePieces: LoadedItem.AvailablePieces,
TotalAvailablePieces: LoadedItem.TotalAvailablePieces,
ExchangeDC: data.ExchangeDC,
IsAfterTax: data.IsAfterTax,
BaseQty: data.Quantity,
IsFocItem: data.IsFoc,
optoutAmount: optoutAmount,
TaxGroupId: LoadedItem.TaxGroupId,
TaxGroupName: LoadedItem.TaxGroupName,
TaxAmount: TaxAmount,
TaxRateAmount: LoadedItem.TaxRateAmount,
TaxRate: LoadedItem.TaxRate,
TaxPercentage: LoadedItem.TaxPercentage,
IsOfferAvailable: LoadedItem.IsOfferAvailable,
Description: data.Description == undefined ? "" : data.Description,
Discountable: LoadedItem.Discountable,
PiecePrice: LoadedItem.PiecePrice,
CompositePrice: LoadedItem.CompositePrice,
CompositePiecePrice: LoadedItem.CompositePiecePrice,
ConversionQuantity: data.ConversionQuantity,
IsCheckPendingItems: true,
SelectedUnitName: data.SelectedUnitName,
IsError: false,
ErrorMsg: "",
ErrorClass: "text-danger",
IsTaxError: IsTaxError,
IsLeverageError: false,
IsFocAdded: false,
IndentItemId: 0,
FocItemIds: "",
DiscountGroupId: 0,
IsOfferDiscountApplied: false,
AppliedOfferVolume: 0,
AppliedPlanVolumeId: 0,
AppliedOfferId: 0,
optoutOfferGroupId: 0,
SuggestedPacks: 0,
MinPacks: 0,
AvgPacks: 0,
InwardOrderPacks: 0,
OutwardOrderPacks: 0,
UOMSchemaId: LoadedItem.UOMSchemaId,
MultipleUOMs: LoadedItem.MultipleUOMs,
SelectedUnitId: data.AlternateUnitId,
DefaultSize: data.DefaultSize,
IsBoMAvailable: LoadedItem.IsBoMAvailable,
RefItemIds: "",
RefItemSKUs: "",
IsMultipleUOMs: LoadedItem.IsMultipleUOMs,
UOMs: LoadedItem.UOMs,
IsManualUOM: data.IsManualUOM,
AlternateUnitId: EstimateItems_res.AlternateUnitId
});
instance._estimateItems.g_SelectedItems = [...instance._estimateItems.g_CartItems_New];
instance._estimateItems.updateItemsDesign(elem, "FromWidget");
instance._estimateItems.updateItemsArray(elem, "FromWidget", true);
}
getEstimateItems() {
let instance = this;
let ItemList = instance._estimateItems.getEstimateItems(instance.g_EstimateId);
if (instance._estimateItems.g_CartItems_New.length == 0 && $(".variant-addeditem").length == 0) {
Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select Item");
return false;
}
let cartItem_WithZeroQuantity = instance._estimateItems.g_CartItems_New.filter(x => x.Quantity == 0);
let InventoryTitle = $("#spn_InventoryTitle").text();
if ($(".variant-list").find(".list-group-item").length > instance._estimateItems.g_CartItems_New.length) {
Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select " + InventoryTitle);
return false;
}
else if (cartItem_WithZeroQuantity.length > 0) {
Unibase.Platform.Forms.Components.FormViewer.Instance().showError(InventoryTitle + " can't be zero");
return false;
}
else {
return ItemList;
}
}
static Instance() {
if (this.instance === undefined) {
this.instance = new AddEstimateItems();
}
return this.instance;
}
}
Controls.AddEstimateItems = AddEstimateItems;
})(Controls = Transact.Controls || (Transact.Controls = {}));
})(Transact = Apps.Transact || (Apps.Transact = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,42 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Transact;
(function (Transact) {
let Controls;
(function (Controls) {
class AddEstimateItems_Setting {
loadSettingHtml() {
return ``;
}
bindControlData(controldatajson) {
Bizgaze.Apps.Transact.Controls.AddEstimateItems.Instance();
return "";
}
SaveControlData(controldatajson) {
return "";
}
loadControlPropertiesHtml(Container) {
return ``;
}
bindPropertySettings(prop) {
var propertySettings = prop.PropertySettings;
return "";
}
savePropertySettings(prop) {
var propertySettings = prop.PropertySettings;
return "";
}
static Instance() {
if (this.instance === undefined) {
this.instance = new AddEstimateItems_Setting();
}
return this.instance;
}
}
Controls.AddEstimateItems_Setting = AddEstimateItems_Setting;
})(Controls = Transact.Controls || (Transact.Controls = {}));
})(Transact = Apps.Transact || (Apps.Transact = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
@@ -0,0 +1 @@
{"version":3,"file":"additems.setting.js","sourceRoot":"","sources":["additems.setting.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CAqChB;AArCD,WAAU,OAAO;IACb,IAAiB,IAAI,CAmCpB;IAnCD,WAAiB,IAAI;QACjB,IAAiB,QAAQ,CAiCxB;QAjCD,WAAiB,QAAQ;YACrB,IAAiB,QAAQ,CA+BxB;YA/BD,WAAiB,QAAQ;gBACrB,MAAa,wBAAwB;oBACjC,eAAe;wBACX,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,eAAe,CAAC,eAAoB;wBAChC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAA;wBACtD,OAAO,EAAE,CAAC;oBAClB,CAAC;oBACD,eAAe,CAAC,eAAoB;wBAChC,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,yBAAyB,CAAC,SAAS;wBAC/B,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,oBAAoB,CAAC,IAAgB;wBACjC,IAAI,gBAAgB,GAA6B,IAAI,CAAC,gBAAgB,CAAC;wBACvE,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,oBAAoB,CAAC,IAAgB;wBACjC,IAAI,gBAAgB,GAA6B,IAAI,CAAC,gBAAgB,CAAC;wBACvE,OAAO,EAAE,CAAC;oBACd,CAAC;oBAED,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;4BAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,wBAAwB,EAAE,CAAC;yBAClD;wBACD,OAAO,IAAI,CAAC,QAAQ,CAAC;oBACzB,CAAC;iBACJ;gBA7BY,iCAAwB,2BA6BpC,CAAA;YACL,CAAC,EA/BgB,QAAQ,GAAR,iBAAQ,KAAR,iBAAQ,QA+BxB;QACL,CAAC,EAjCgB,QAAQ,GAAR,aAAQ,KAAR,aAAQ,QAiCxB;IACL,CAAC,EAnCgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAmCpB;AACL,CAAC,EArCS,OAAO,KAAP,OAAO,QAqChB"}
+1
View File
@@ -0,0 +1 @@
var Bizgaze;(function(n){let t;(function(t){let i;(function(t){let i;(function(t){class i{loadSettingHtml(){return``}bindControlData(){return n.Apps.Transact.Controls.AddEstimateItems.Instance(),""}SaveControlData(){return""}loadControlPropertiesHtml(){return``}bindPropertySettings(n){var t=n.PropertySettings;return""}savePropertySettings(n){var t=n.PropertySettings;return""}static Instance(){return this.instance===undefined&&(this.instance=new i),this.instance}}t.AddEstimateItems_Setting=i})(i=t.Controls||(t.Controls={}))})(i=t.Transact||(t.Transact={}))})(t=n.Apps||(n.Apps={}))})(Bizgaze||(Bizgaze={}));
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,41 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Transact;
(function (Transact) {
let Controls;
(function (Controls) {
class Estimate_Setting {
loadSettingHtml() {
return ``;
}
bindControlData(controldatajson) {
return "";
}
SaveControlData(controldatajson) {
return "";
}
loadControlPropertiesHtml(Container) {
return ``;
}
bindPropertySettings(prop) {
var propertySettings = prop.PropertySettings;
return "";
}
savePropertySettings(prop) {
var propertySettings = prop.PropertySettings;
return "";
}
static Instance() {
if (this.instance === undefined) {
this.instance = new Estimate_Setting();
}
return this.instance;
}
}
Controls.Estimate_Setting = Estimate_Setting;
})(Controls = Transact.Controls || (Transact.Controls = {}));
})(Transact = Apps.Transact || (Apps.Transact = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
@@ -0,0 +1 @@
{"version":3,"file":"estimate.setting.js","sourceRoot":"","sources":["estimate.setting.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CAoChB;AApCD,WAAU,OAAO;IACb,IAAiB,IAAI,CAkCpB;IAlCD,WAAiB,IAAI;QACjB,IAAiB,QAAQ,CAgCxB;QAhCD,WAAiB,QAAQ;YACrB,IAAiB,QAAQ,CA8BxB;YA9BD,WAAiB,QAAQ;gBACrB,MAAa,gBAAgB;oBAC3B,eAAe;wBACT,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,eAAe,CAAC,eAAoB;wBAChC,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,eAAe,CAAC,eAAoB;wBAChC,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,yBAAyB,CAAC,SAAS;wBAC/B,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,oBAAoB,CAAC,IAAgB;wBACjC,IAAI,gBAAgB,GAA6B,IAAI,CAAC,gBAAgB,CAAC;wBACvE,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,oBAAoB,CAAC,IAAgB;wBACjC,IAAI,gBAAgB,GAA6B,IAAI,CAAC,gBAAgB,CAAC;wBACvE,OAAO,EAAE,CAAC;oBACd,CAAC;oBAED,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;4BAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;yBAC1C;wBACD,OAAO,IAAI,CAAC,QAAQ,CAAC;oBACzB,CAAC;iBACJ;gBA5BY,yBAAgB,mBA4B5B,CAAA;YACL,CAAC,EA9BgB,QAAQ,GAAR,iBAAQ,KAAR,iBAAQ,QA8BxB;QACL,CAAC,EAhCgB,QAAQ,GAAR,aAAQ,KAAR,aAAQ,QAgCxB;IACL,CAAC,EAlCgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAkCpB;AACL,CAAC,EApCS,OAAO,KAAP,OAAO,QAoChB"}
+1
View File
@@ -0,0 +1 @@
var Bizgaze;(function(n){let t;(function(n){let t;(function(n){let t;(function(n){class t{loadSettingHtml(){return``}bindControlData(){return""}SaveControlData(){return""}loadControlPropertiesHtml(){return``}bindPropertySettings(n){var t=n.PropertySettings;return""}savePropertySettings(n){var t=n.PropertySettings;return""}static Instance(){return this.instance===undefined&&(this.instance=new t),this.instance}}n.Estimate_Setting=t})(t=n.Controls||(n.Controls={}))})(t=n.Transact||(n.Transact={}))})(t=n.Apps||(n.Apps={}))})(Bizgaze||(Bizgaze={}));
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,41 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Transact;
(function (Transact) {
let Controls;
(function (Controls) {
class EstimateItems_Setting {
loadSettingHtml() {
return ``;
}
bindControlData(controldatajson) {
return "";
}
SaveControlData(controldatajson) {
return "";
}
loadControlPropertiesHtml(Container) {
return ``;
}
bindPropertySettings(prop) {
var propertySettings = prop.PropertySettings;
return "";
}
savePropertySettings(prop) {
var propertySettings = prop.PropertySettings;
return "";
}
static Instance() {
if (this.instance === undefined) {
this.instance = new EstimateItems_Setting();
}
return this.instance;
}
}
Controls.EstimateItems_Setting = EstimateItems_Setting;
})(Controls = Transact.Controls || (Transact.Controls = {}));
})(Transact = Apps.Transact || (Apps.Transact = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
@@ -0,0 +1 @@
{"version":3,"file":"estimateitems.setting.js","sourceRoot":"","sources":["estimateitems.setting.ts"],"names":[],"mappings":"AAAA,IAAU,OAAO,CAoChB;AApCD,WAAU,OAAO;IACb,IAAiB,IAAI,CAkCpB;IAlCD,WAAiB,IAAI;QACjB,IAAiB,QAAQ,CAgCxB;QAhCD,WAAiB,QAAQ;YACrB,IAAiB,QAAQ,CA8BxB;YA9BD,WAAiB,QAAQ;gBACrB,MAAa,qBAAqB;oBAChC,eAAe;wBACT,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,eAAe,CAAC,eAAoB;wBAChC,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,eAAe,CAAC,eAAoB;wBAChC,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,yBAAyB,CAAC,SAAS;wBAC/B,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,oBAAoB,CAAC,IAAgB;wBACjC,IAAI,gBAAgB,GAA6B,IAAI,CAAC,gBAAgB,CAAC;wBACvE,OAAO,EAAE,CAAC;oBACd,CAAC;oBACD,oBAAoB,CAAC,IAAgB;wBACjC,IAAI,gBAAgB,GAA6B,IAAI,CAAC,gBAAgB,CAAC;wBACvE,OAAO,EAAE,CAAC;oBACd,CAAC;oBAED,MAAM,CAAC,QAAQ;wBACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;4BAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAC;yBAC/C;wBACD,OAAO,IAAI,CAAC,QAAQ,CAAC;oBACzB,CAAC;iBACJ;gBA5BY,8BAAqB,wBA4BjC,CAAA;YACL,CAAC,EA9BgB,QAAQ,GAAR,iBAAQ,KAAR,iBAAQ,QA8BxB;QACL,CAAC,EAhCgB,QAAQ,GAAR,aAAQ,KAAR,aAAQ,QAgCxB;IACL,CAAC,EAlCgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAkCpB;AACL,CAAC,EApCS,OAAO,KAAP,OAAO,QAoChB"}
+1
View File
@@ -0,0 +1 @@
var Bizgaze;(function(n){let t;(function(n){let t;(function(n){let t;(function(n){class t{loadSettingHtml(){return``}bindControlData(){return""}SaveControlData(){return""}loadControlPropertiesHtml(){return``}bindPropertySettings(n){var t=n.PropertySettings;return""}savePropertySettings(n){var t=n.PropertySettings;return""}static Instance(){return this.instance===undefined&&(this.instance=new t),this.instance}}n.EstimateItems_Setting=t})(t=n.Controls||(n.Controls={}))})(t=n.Transact||(n.Transact={}))})(t=n.Apps||(n.Apps={}))})(Bizgaze||(Bizgaze={}));
@@ -0,0 +1,247 @@
var Bizgaze;
(function (Bizgaze) {
let Apps;
(function (Apps) {
let Transact;
(function (Transact) {
let Controls;
(function (Controls) {
class ManagePrice extends Unibase.Platform.Core.BaseComponent {
constructor() {
super(...arguments);
this.EstimateId = 0;
this.EstimateTypeId = Bizgaze.Apps.Transact.Controls.Estimate.Instance().g_EstimateTypeId;
this.containerid = "";
}
init() {
var instance = this;
instance.navigationHelper.popup(0, "", Bizgaze.Apps.Transact.Controls.ManagePrice.Instance(), null, Unibase.Platform.Helpers.Size.DockLeft);
}
jsFiles() {
return ["apps/transact/managers/estimates/estimatemanager.js", "apps/transact/managers/orders/ordermanager.js", "apps/transact/enums/enum.js"];
}
cssFiles() {
return [];
}
html(id, containerid) {
let instance = this;
instance.EstimateTypeId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_estimatetypeid").Value);
let html;
if (instance.EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract || instance.EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract) {
html = '<header class="header bg-white"><strong class="text-dark Title">Manage Price</strong><div class="btn-group ml-auto"><a class="btn btn-sm"><i class="ti-help-alt" title = "help" href = "" target = "_blank"></i></a></div></header>' +
'<div class="scrollable"><div id="estimateitem_errormessage"></div><div id = "divContainer" class="table table-responsive mt-10" style = "overflow-x:auto;width:auto"><div class="wrapper" ><div class="bg-white" ><table border="0" cellpadding = "0" cellspacing = "0" class="result-set" id = "estimateItems" style = "overflow-x:auto;width:100%;"><thead class="thead-light"><tr>' +
'<th style="width:auto" > Item Name - SKU</th><th class="pl-40">Qty</th><th> Discount </th><th> Contract Price </th></tr></thead><tbody id = "tblbody"></tbody></table></div></div></div></div>' +
'<footer class="bg-white modal-footer pa-10"><a href = "javascript:;" id = "btn_manageprice_Close" class="btn btn-light btn-sm mr-auto">Close</a><a href = "javascript:;" id ="btn_Manageprice_Save" class="btn btn-primary btn-sm pull-right btn">Save</a></footer>';
}
else {
html = '<header class="header bg-white"><strong class="text-dark Title">Manage Price</strong><div class="btn-group ml-auto"><a class="btn btn-sm"><i class="ti-help-alt" title = "help" href = "" target = "_blank"></i></a></div></header>' +
'<div class="scrollable"><div id="estimateitem_errormessage"></div><div id = "divContainer" class="table table-responsive mt-10" style = "overflow-x:auto;width:auto"><div class="wrapper" ><div class="bg-white" ><table border="0" cellpadding = "0" cellspacing = "0" class="result-set" id = "estimateItems" style = "overflow-x:auto;width:100%;"><thead class="thead-light"><tr>' +
'<th style="width:auto" > Item Name - SKU</th><th class="pl-40">Qty</th><th> Discount </th><th> Exp Price </th><th> Quoted Price </th></tr></thead><tbody id = "tblbody"></tbody></table></div></div></div></div>' +
'<footer class="bg-white modal-footer pa-10"><a href = "javascript:;" id = "btn_manageprice_Close" class="btn btn-light btn-sm mr-auto">Close</a><a href = "javascript:;" id ="btn_Manageprice_Save" class="btn btn-primary btn-sm pull-right btn">Save</a></footer>';
}
return html;
}
load(id, containerid, callback) {
var instance = this;
instance.containerid = containerid;
instance.EstimateTypeId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_estimatetypeid").Value);
$("#btn_manageprice_Close").click(function () {
$('#' + containerid).modal('hide');
$('#' + containerid).remove();
});
$("#btn_Manageprice_Save").click(function () {
Bizgaze.Apps.Transact.Controls.ManagePrice.Instance().save();
});
instance.getEstimateItems();
}
getEstimateItems() {
var instance = this;
instance.EstimateId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_estimateid").Value);
Bizgaze.Apps.Transact.Managers.EstimateManager.Instance().getEstimateItems(instance.EstimateId).then(function (response) {
var html = '';
let TextBox;
if (instance.EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract || instance.EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract) {
TextBox;
}
else {
TextBox = '<td data-label="ExpectedPrice" class="tbd" ><input type="text" class="form - control text - center editexpprice" style="width: 100px; height: 31px; " onkeypress="Bizgaze.Apps.Transact.Controls.ManagePrice.Instance().isNumberKey(event)" id="expprice" value=';
}
for (var i = 0; i < response.result.length; i++) {
var data = response.result[i];
if (data.ExchangeDC)
return false;
var discount = data.DiscountValue;
var valDiscType = 'selected';
var perDiscType = '';
if (data.DiscountPercent != 0) {
discount = data.DiscountPercent;
perDiscType = 'selected';
valDiscType = '';
}
html = '<tr class="value-row bg-white Estimate-Item" id="estitem' + i + '" style="">' +
'<td class="tbd" data-label="ItemName" style="text-align:left;width:28%" class="text-sm ItemName m-l-xs">' + data.ItemName + '-' + data.SKU +
'<input type="hidden" id="hf_ItemId" value=' + data.ItemId + '>' +
'<input type ="hidden" id ="hf_EstimateItemId" value =' + data.EstimateItemId + '>' +
'<input type ="hidden" id ="hf_ItemTax" value =' + data.ItemTax + '>' +
'<input type ="hidden" id ="hf_TaxTotal" value =' + data.TaxTotal + '>' +
'<input type ="hidden" id ="hf_RowTotal" value =' + data.RowTotal + '></td>' +
'<td data-label="Quantity" class="text-center" style="text-align:center; width:auto;height:26px;font-size:13px" ><input type="text" class="form-control text-center editQuantity" style="width:80px; height: 35px;" onkeypress="return Bizgaze.Apps.Transact.Controls.ManagePrice.Instance().isNumberKey(event)" onchange="Bizgaze.Apps.Transact.Controls.ManagePrice.Instance().RefreshValueSummary($(estitem' + i + '));" id="Quantity" value=' + data.Quantity + '><input type ="hidden" id ="hf_Quantity" value =' + data.Quantity + ' ></td>' +
'<td style="text-align:center; width:auto;height:26px;font-size:13px">' +
'<div class="input-group flex-nowrap">' +
'<input type="text" id="Ord_txtdiscount" placeholder="Discount" style="width:55px; height:35px;" data-isdynamic="false" onchange="Bizgaze.Apps.Transact.Controls.ManagePrice.Instance().RefreshValueSummary($(estitem' + i + '))";data-placeholder="0.00" data-label="Discount" class="form-control ord_txtaddldiscount floating-label-control" value="' + discount + '">' +
'<input type="hidden" id="hfOrder_DiscountGroupId" value="0" />' +
'<div class="input-group-btn">' +
'<select class="btnOrder_DiscType form-control" style="width:70px; height:35px;" onchange="Bizgaze.Apps.Transact.Controls.ManagePrice.Instance().RefreshValueSummary($(estitem' + i + '))"><option value="2" ' + valDiscType + '>Val</option><option value="1" ' + perDiscType + '>%</option></select>' +
'</div>' +
'</div>' +
'</div></td>' +
TextBox + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(data.ExpectedPrice, 2) + '><input type ="hidden" id ="hf_ExpectedPrice" value =' + data.ExpectedPrice + ' ></td>' +
'<td data-label="UnitPrice" style="width:auto;font-size:13px;text-align:center;" class="tbd"><input type="text" class="form-control text-center editQuotedPrice" style="width:100px; height: 35px;"onchange="Bizgaze.Apps.Transact.Controls.ManagePrice.Instance().RefreshValueSummary($(estitem' + i + '));" onkeypress="return Bizgaze.Apps.Transact.Controls.ManagePrice.Instance().isNumberKey(event)" id="QuotedPrice" value=' + Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(data.UnitPrice, 2) + '><input type ="hidden" id ="hf_UnitPrice" value =' + data.UnitPrice + ' ><span class="pull-right text-danger Uprice-error"></span></td></tr>';
$("#tblbody").append(html);
$("#Ord_txtdiscount").on("keyup", function () {
if ($(".btnOrder_DiscType").val() == 1 && $("#Ord_txtdiscount").val() > 100) {
instance.PercentAlert();
}
});
}
});
}
isNumberKey(evt) {
if (evt.which != 8 && evt.which != 0 && (evt.which < 48 || evt.which > 57)) {
return false;
}
return true;
}
RefreshValueSummary(element) {
var instance = this;
var disc = Number(element.find("#Ord_txtdiscount").val());
var ItemId = Number(element.find("#hf_ItemId").val());
var discType = Number(element.find(".btnOrder_DiscType").val());
var Qty = Number(element.find(".editQuantity").val());
var Unitprice = Number(element.find(".editQuotedPrice").val());
var rowTotal = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber((Qty * Unitprice), 2);
element.find("#hf_RowTotal").val(rowTotal);
var aftrdiscamnt = rowTotal;
if (disc > 0) {
if (discType == 1) {
var discperAmnt = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number(Unitprice * (disc / 100)), 2);
Unitprice -= discperAmnt;
aftrdiscamnt = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber((Qty * Unitprice), 2);
}
else {
Unitprice -= disc;
aftrdiscamnt = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber((Qty * Unitprice), 2);
}
}
var estimateType = Bizgaze.Apps.Transact.Enums.OrderType[instance.EstimateTypeId];
var billingAddressId = Unibase.Platform.Membership.Infos.Identity.getSetting("branchid");
var BillToAddressId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_billingaddressid").Value);
Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getItemTaxDetails(ItemId, aftrdiscamnt, estimateType, billingAddressId, BillToAddressId, $('#chkCFormNoRequired').is(':checked'), false).then(function (response) {
if (response.result != null) {
element.find("#hf_TaxTotal").val(response.result.TaxAmount);
}
});
}
GetPriceDetails() {
var instance = this;
var ManagedPrices = new Array();
$("#tblbody").find(".value-row").each(function () {
var a = this;
if ($('.Estimate-Item').find("#hf_EstimateItemId").val() != undefined) {
var hf_ExpectedPrice = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number($(a).find("#hf_ExpectedPrice").val()), 2);
var hf_UnitPrice = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number($(this).find("#hf_UnitPrice").val()), 2);
var QuotedPrice = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number($(this).find("#QuotedPrice").val()), 2);
var discval = 0.00;
var discper = 0.00;
if ($(this).find(".btnOrder_DiscType").val() == 1) {
discval = 0;
discper = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number($(this).find("#Ord_txtdiscount").val()), 2);
}
else {
discper = 0;
discval = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number($(this).find("#Ord_txtdiscount").val()), 2);
}
var expprice = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number($(this).find("#expprice").val()), 2);
var hf_Quantity = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number($(this).find("#hf_Quantity").val()), 2);
var Quantity = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number($(this).find("#Quantity").val()), 2);
var Taxamnt = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Number($(this).find("#hf_TaxTotal").val()), 2);
ManagedPrices.push({
EstimateItemId: Number($(this).find("#hf_EstimateItemId").val()), ItemId: Number($(this).find("#hf_ItemId").val()),
DiscountValue: Number(discval), DiscountPercent: Number(discper), ExpectedPrice: Number(expprice), UnitPrice: Number(QuotedPrice), Quantity: Number(Quantity), RowTotal: Number($(this).find("#hf_RowTotal").val()), TaxTotal: Number(Taxamnt)
});
}
});
return ManagedPrices;
}
Amounts() {
var TotalAmount = 0.0;
var TaxAmount = 0.0;
var Amounts = new Array();
$("#estimateItems").find(".Estimate-Item").each(function () {
TotalAmount += Number($(this).find("#hf_RowTotal").val());
TaxAmount += Number($(this).find("#hf_TaxTotal").val());
});
Amounts.push({ TotalAmount: TotalAmount, TaxAmount: TaxAmount });
return Amounts;
}
save() {
var instance = this;
if ($(".btnOrder_DiscType").val() == 1 && $("#Ord_txtdiscount").val() > 100) {
instance.PercentAlert();
}
else {
var EstimateItems = instance.GetPriceDetails();
if (instance.EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract || instance.EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract) {
for (var i = 0; i < EstimateItems.length; i++) {
EstimateItems[i].ExpectedPrice = 0;
}
;
}
var Amounts = instance.Amounts();
var TotalAmount = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Amounts[0].TotalAmount, 2);
var TaxAmount = Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(Amounts[0].TaxAmount, 2);
var postData = {
EstimateId: instance.EstimateId,
TotalAmount: Number(TotalAmount),
TaxAmount: Number(TaxAmount),
EstimateItems: EstimateItems,
IsManagePrice: true,
RefNo: "",
};
Bizgaze.Apps.Transact.Managers.EstimateManager.Instance().managePrice(postData).then(function (response) {
let result = response.result;
if (result != null) {
$('#' + instance.containerid).modal('hide');
$('#' + instance.containerid).remove();
var detailInstance = Unibase.Themes.Compact.Components.Details.Instance();
var panel = "#" + detailInstance._containerId;
var obj = Unibase.Themes.Compact.Components.Details.Instance();
obj._recordId = Unibase.Themes.Providers.DetailHelper.recordId;
obj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
detailInstance.loadAppDefaultWidget(obj, panel, detailInstance._containerId, function () {
detailInstance.loadDefaultWidgets(obj._installedAppId, panel);
detailInstance.LoadApprovals(obj._recordId, obj._installedAppId);
});
MessageHelper.Instance().showSuccess(response.message, '');
}
else {
MessageHelper.Instance().showError(response.message, 'estimateitem_errormessage');
}
});
}
}
PercentAlert() {
bootbox.alert("Discount percentage must be less then 100");
}
static Instance() {
if (this.instance === undefined) {
this.instance = new ManagePrice();
}
return this.instance;
}
}
Controls.ManagePrice = ManagePrice;
})(Controls = Transact.Controls || (Transact.Controls = {}));
})(Transact = Apps.Transact || (Apps.Transact = {}));
})(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
})(Bizgaze || (Bizgaze = {}));
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long