Iniit
This commit is contained in:
@@ -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
+1
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
@@ -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
+1
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
@@ -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
+6
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
@@ -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
+1
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user