12345678910111213 |
- var Bizgaze;(function(n){let t;(function(t){let i;(function(t){let i;(function(t){class i extends Unibase.Platform.Core.BaseComponent{constructor(){super(...arguments);this.ebcontainer="";this.deleted_EBs=[];this.itemIds=[]}init(t,i){let r=this;r.fileCacheHelper.loadJsFiles(["apps/transact/controls/invoices/invoiceitem.component.js","apps/crm/contacts/managers/contactmanager.js","apps/transact/managers/invoicemanager.js","platform/core/helpers/numberhelper/numberhelper.js","libs/jquery/pagination/jquery.pagination.js"],function(){r._invoiceItems=n.Apps.Transact.Controls.InvoiceItem.Instance();r.deleted_EBs=[];r.itemIds=[];r.loadControlSettings(i.ControlJsonText,i.FormPropertyId);r.loadPropertySettings(i.PropertySettings,i.FormPropertyId)})}loadControl(n){var t=this;let i=`<div class="form-group EBContainer m-t" id="divEBs">
- <div class="m-l m-r">
- <div class="EB_header row bg-white border-2 border-bottom border-grey mx-0 py-10">
- <div class="col-sm-7 text-left font-weight-600">EB Name</div>
- <div class="col-sm-3 text-center font-weight-600">Fill Type</div>
- <div class="col-sm-2 text-right font-weight-600">Volume</div></div></div></div>
- <div class="EB-row hidden"></div>
-
- <div class="col-xs-6 m-l m-r">
- <input type = "hidden" id = "hdn_customcontrol" class="value-control" value = "Bizgaze.Apps.Transact.Controls.Eb.Instance().getEbItems();">
- <a id="addEBrow" href="javascript: Bizgaze.Apps.Transact.Controls.Eb.Instance().addEBDatarow();" class="btn btn-outline-primary" title="Add EB">Add EB</a>
- </div></div></div>`;$("#"+n).html(i);t.ebcontainer=n}loadControlSettings(){var n=this;n.loadEBs()}loadPropertySettings(){return null}bindEditFormDetails(){return null}getEbItems(){var n=this;return n.getEBs()}addEBDatarow(){var n=this;$(".divDescriptionDetails").addClass("hidden");n.addEBRow(0,0,0,"",0,0,1,"",null)}addEBRow(n,t,i,r,u,f,e,o,s){var a=this,p="",c,h,v,y,w,l,b;t&&(p="m-t");c='<div class="form-group EB-row addedEB-row"><div class="row mx-0 EBdata"><div class="EB-Name col-sm-7 d-flex align-items-center '+p+'"><a class="input-group-addon no-border EBdelete" href="javascript:;" title="Remove row"><i class="fa fa-trash-o fa-lg mr-2 text-danger delete" aria-hidden="true"><\/i><\/a><div><input type="hidden" class="hfOrderEBId" value="0" /><div class="input-group">';c+=t!=0?'<a class="default EBName-link" href="javascript:;">'+r+"<\/a>":`<select class="txt_EBName ui-autocomplete form-control col-sm-6" data-placeholder="Select"
- placeholder="EB Name" value="' + EBName + '">`;c+='<input type="hidden" class="hf_EBId" value="'+i+'" /><\/div><\/div><\/div><div class="col-sm-3 m-t text-center"><select id="cmbFillType" class="form-control"><option value="1">Initial Fill<\/option><option value="2">Service Fill<\/option><\/select><\/div><div class="col-sm-2"><div class="EB_Volume floating-label-form-group text-right"><b class="text-dark">'+u+'<\/b><\/div><\/div><\/div><div class="divDescriptionDetails bg-secondary-light-5 pa-10 mt-10 hidden"><div class="clear m-b-sm"> <div class="EB-Itemrow hidden"><\/div>';c+='<div class="col-xs-6 m-l m-r m-t"><a id="addEBItemrow" class="btn btn-outline-primary" title="Add EB Item">Add EB Item<\/a><\/div>';c+='<div class="col-sm-12 mt-10"><div class="floating-label-form-group item-desc min-padding floating-label-form-group-with-value"><input type="text" class="EBDesc form-control" value="'+o+'" placeholder="Notes" /><\/div><\/div><\/div><\/div><\/div>';$(".EB-row:last").after(c);h=$(".EB-row:last");h.find(".EB_Volume").on("click",function(){$(".divDescriptionDetails").addClass("hidden");$(this).parents(".addedEB-row").find(".divDescriptionDetails").removeClass("hidden")});if(s!=null||s!=undefined)for(v=0;v<s.length;v++)a.addEBItemrow(s[v],h);else a.addEBItemrow(null,h);h.find(".EBDesc").val(o);h.find("#cmbFillType").val(e);y=0;h.find(".EB-Itemrow").each(function(){$(this).find(".EBItem_Volume").val()!=0&&$(this).find(".EBItem_Volume").val()!=undefined&&(y+=Number($(this).find(".EBItem_Volume").val()))});h.find(".EB_Volume").text(y);h.find(".txt_EBName,.EBName-link").focusin(function(){h.find(".hf_EBId").val()!=-1&&($(".divDescriptionDetails").addClass("hidden"),h.find(".divDescriptionDetails").toggleClass("hidden"))});w=h.find(".txt_EBName");l=h.find(".hf_EBId");l.val()==-1&&$("#addEBrow").addClass("hidden");b=_appsettings.server_url()+"/apis/v4/bizgaze/crm/contacts/getcontactebs";AutoCompleteHelper.getHelper().Create(w,l,b,function(){if(l.val()!=0&&(h.find(".EB_volume").removeClass("hidden"),$(".divDescriptionDetails").addClass("hidden"),h.find(".divDescriptionDetails").removeClass("hidden")),l.val()==-1)$(".divDescriptionDetails").addClass("hidden"),$("#addEBrow").addClass("hidden");else{var n=h.find(".hf_EBItemId");a.loadItemAutoComplete(h,"0",n)}$(".txt_EBName + .select2-container").width(421.987)});h.find(".EBdelete").on("click",function(){bootbox.confirm("You are about to delete the EB. Are you sure?",function(n){n&&(h.find(".EB-Itemrow").each(function(){var n=$(this).find(".hf_InvEBId").val();h.remove();n!="0"&&n!=undefined&&a.deleted_EBs.push(Number(n))}),l.val()==-1&&$("#addEBrow").removeClass("hidden"))})});h.find("#addEBItemrow").on("click",function(){a.addEBItemrow(null,h)})}addEBItemrow(n,i){var o=this,s="",f=0,c=0,l=0,a="",v,e,h,b;(n!=null||n!=undefined)&&(l=n.EBId,s=n.ItemName,f=n.ItemId,c=n.Volume,a=n.SKU);v="";f==0;v="floating-label-form-group";e='<div class="EB-Itemrow row mx-0 mb-15"><div class="EB_Item-Name col-sm-7 d-flex align-items-center"><input type="hidden" class="hf_InvEBId" value="'+l+'" /><a class="input-group-addon no-border EBItemdelete" href = "javascript:;" title = "Remove row"><i class="fa fa-trash-o fa-lg mr-2 text-danger"> <\/i><\/a> <input type = "hidden" class="hf_EBItemId" value = "'+f+'" /> ';e+=f!=0?'<a class="default EBItemName-link" href="javascript:;">'+a+"-"+s+"<\/a>":'<select class="txt_EBItemName ui-autocomplete form-control" data-placeholder="Select" placeholder="EB Item Name" value="'+s+'"><\/select>';e+='<\/div><div class="col-sm-3"><\/div><div class="col-sm-2 pr-0"><input type="text" class="EBItem_Volume form-control text-right" placeholder="volume" onkeypress="return isNumberKey(event)" value="'+c+'" /><\/div><\/div>';i.find(".EB-Itemrow:last").after(e);var r=i.find(".EB-Itemrow:last"),y=$(".hfAutoCompleteId_lobid").val(),k=t.InvoiceItem.Instance().dcid;y==0&&(y=$("#cmbInv_Lob").val());var w=r.find(".txt_EBItemName"),p=r.find(".hf_EBItemId"),u="";i.find(".EB-Itemrow").each(function(){$(this).find(".hf_EBItemId").val()!=0&&$(this).find(".hf_EBItemId").val()!=undefined&&(u+=$(this).find(".hf_EBItemId").val()+",")});h="";b=$(".hdn_invoiceid").val();u==""&&(u="0");$(".hdn_invoiceid").val()!=0&&$(".hdn_invoiceid").val()!=undefined?(h=_appsettings.server_url()+"/apis/v4/bizgaze/transact/invoices/autopendingebitemsforinvoicebyinvoiceid/invoiceid/"+$(".hdn_invoiceid").val()+"/itemids/"+u,AutoCompleteHelper.getHelper().Create(w,p,h,function(n){var t=n})):o.loadItemAutoComplete(r,u,p);r.find(".EBItemdelete").on("click",function(){bootbox.confirm("You are about to delete the EB. Are you sure?",function(n){var t,u;n&&(t=r.find(".hf_InvEBId").val(),r.remove(),t!="0"&&($(this).parent().find(".EB_Volume").val(),o.deleted_EBs.push(Number(t)),u=Number(i.find(".EB_Volume").html()),u-=Number(r.find(".EBItem_Volume").val()),i.find(".EB_Volume").text(u)))})});r.find(".EBItem_Volume").blur(function(){var t=0,n;if(r.find(".hf_EBItemId").val()==0)return MessageHelper.Instance().showError("please select EB Item",$("#form-container-"+$("#hf_FormId").val()).find(".bizgaze_FormErrorMessages").attr("id")),!1;if(n=!0,$(".InvoiceItems").find(".item-row").each(function(){if($(this).children().length>0&&$(this).find(".selectedItemId").val()==r.find(".hf_EBItemId").val()&&$(this).find(".selectedItemId").val()!=""&&$(this).find(".selectedItemId").val()!="0"&&$(this).find(".prodQuantity").val()>0){var t=Number($(this).find(".prodQuantity").val());n&&(n=o.checkingInvoiceItemQuantitywithEBItemQuantity(t,$(this).find(".selectedItemId").val()))}}),!n)return $(".hdn_invoiceid").val()!=0?MessageHelper.Instance().showError("EB Volume must be less than or equal to invoiced Quantity",$("#form-container-"+$("#hf_FormId").val()).find(".bizgaze_FormErrorMessages").attr("id")):MessageHelper.Instance().showError("Please Adjust the EB Volumes",$("#form-container-"+$("#hf_FormId").val()).find(".bizgaze_FormErrorMessages").attr("id")),r.find(".EBItem_Volume").val(0),!1;i.find(".EB-Itemrow").each(function(){$(this).find(".EBItem_Volume").val()!=0&&$(this).find(".EBItem_Volume").val()!=undefined&&(t+=Number($(this).find(".EBItem_Volume").val()))});i.find(".EB_Volume").text(t)})}checkingInvoiceItemQuantitywithEBItemQuantity(n,t){var i=0;return $(".EB-row").each(function(){($(this).find(".hf_EBId").val()!=undefined||$(this).find(".hf_EBId").val()!=-1)&&$(this).find(".EB-Itemrow").each(function(){$(this).find(".hf_EBItemId").val()!=undefined&&$(this).find(".hf_EBItemId").val()==t&&(i+=Number($(this).find(".EBItem_Volume").val()))})}),i>n?!1:!0}loadEBs(){var t=this,i;$(".addedEB-row").remove();i="";i=$(".hdn_invoiceid").val()!=0?"/apis/v4/bizgaze/transact/invoices/GetOpportunityEBsByInvoiceId/InvoiceId/"+$(".hdn_invoiceid").val():"/apis/v4/bizgaze/transact/invoices/GetEBsDetailsByOrderId/OrderId/"+Number($(".hdn_orderid").val());n.Apps.Transact.Managers.InvoiceManager.Instance().loadEbs(i).then(function(n){var r=n,i;r.result.length>0?(i=t.EBsgroupByEbContactId(r.result,"EBContactId"),Object.keys(i).forEach(function(n){for(var r=i[n],f=[],u=0;u<r.length;u++)f.push({EBId:Number(r[u].EBId),ItemId:Number(r[u].ItemId),Volume:Number(r[u].Volume),ItemName:r[u].ItemName,SKU:r[u].SKU});t.addEBRow(r[0].OrderId,r[0].EBId,r[0].EBContactId,r[0].EBName,r[0].Volume,r[0].InvoiceId,r[0].FillType,r[0].Notes,f)})):t.addEBRow(0,0,0,"",0,0,1,"",null)},function(n){Unibase.Platform.Forms.Components.FormViewer.Instance().showError(n.responseText)})}EBsgroupByEbContactId(n,t){return n.reduce((n,i)=>{const r=i[t]+"-"+i.FillType;return n[r]||(n[r]=[]),n[r].push(i),n},{})}getEBs(){var t=this,i=!0,n;if($(".InvoiceItems").find(".item-row").each(function(){if($(this).find(".selectedInvoiceItemId").val()!=undefined&&$(this).find(".selectedItemId").val()!=""&&$(this).find(".selectedItemId").val()!="0"&&$(this).find(".prodQuantity").val()>0){var n=Number($(this).find(".prodQuantity").val());i&&(i=t.checkingInvoiceItemQuantitywithEBItemQuantity(n,$(this).find(".selectedItemId").val()))}}),!i){$(".hdn_invoiceid").val()!=0?MessageHelper.Instance().showError("EB Volume must be less than or equal to invoiced Quantity",$("#form-container-"+$("#hf_FormId").val()).find(".bizgaze_FormErrorMessages").attr("id")):MessageHelper.Instance().showError("EB volume (EB Info section) cannot be more than Total volume",$("#form-container-"+$("#hf_FormId").val()).find(".bizgaze_FormErrorMessages").attr("id"));return}return(n=[],$(".EB-row").each(function(){if($(this).find(".hf_EBId").val()!=undefined&&$(this).find(".hf_EBId").val()!=""&&$(this).find(".hf_EBId").val()!="0"){var t=Number($(this).find("hfOrderEBId").val()),i=Number($(this).find(".hf_EBId").val()),r=Number($(this).find("#cmbFillType").val()),u=$(this).find(".EBDesc").val();t==null&&(t=0);$(this).find(".hf_EBId").val()!=-1?$(this).find(".EB-Itemrow").each(function(){$(this).find(".hf_EBItemId").val()!=undefined&&$(this).find(".hf_EBItemId").val()!=0&&n.push({OrderId:isNaN(t)?0:t,EBId:Number($(this).find(".hf_InvEBId").val()),EBContactId:Number(i),Volume:Number($(this).find(".EBItem_Volume").val()),InvoiceId:0,ItemId:Number($(this).find(".hf_EBItemId").val()),FillType:r,Notes:u,DeletedEbs:[]})}):n.push({OrderId:isNaN(t)?0:t,EBId:isNaN(Number($(this).find(".hf_InvEBId").val()))?0:Number($(this).find(".hf_InvEBId").val()),EBContactId:i,Volume:0,InvoiceId:0,ItemId:0,FillType:r,Notes:u,DeletedEbs:[]})}}),$(".section_Ebs").is(":visible")&&n.length==0)?(MessageHelper.Instance().showError("EB information is mandatory.",$("#form-container-"+$("#hf_FormId").val()).find(".bizgaze_FormErrorMessages").attr("id")),!1):(t.deleted_EBs.length>0&&(n[0].DeletedEbs=t.deleted_EBs),n)}loadItemAutoComplete(n,i,r){var h,e,f;let u=Unibase.Platform.Membership.Infos.Identity.getCurrentUser(),o=u.sessionId,s=null;for(h=i.split(","),e=[],f=0;f<=t.InvoiceItem.instance.itemIds.length;f++){let n=t.InvoiceItem.instance.itemIds.findIndex(n=>n==h[f]);n==-1&&t.InvoiceItem.instance.itemIds[f]!=null&&e.push(t.InvoiceItem.instance.itemIds[f])}n.find(".txt_EBItemName").select2({placeholder:"Select",tags:!1,allowClear:!0,theme:"default select2ErrorClass w-100",data:[],ajax:{url:function(){return _appsettings.server_url()+"/apis/v4/bizgaze/transact/items/getebitemsforinvoice"},type:"POST",contentType:"application/json",dataType:"json",data:function(n){let r=n.term;return o=o.replace("#",""),i==""&&(e=t.InvoiceItem.instance.itemIds),s={LobId:Number($(".hfAutoCompleteId_lobid").val()),ItemIds:e,term:r},JSON.stringify(s)},beforeSend:function(n){u!==undefined&&u!==null&&(n.setRequestHeader("Authorization","Basic "+u.sessionId),n.setRequestHeader("geoposition",u.latd+":"+u.lgId))},processResults:function(n){return{results:jQuery.map(JSON.parse(n.result),function(n){return{id:n.Value,text:n.SelectText,addlInfo:n.addlData}})}}}}).on("select2:select",function(n){var t=n.params.data;$(r).val(t.id)})}static Instance(){return this.instance===undefined&&(this.instance=new i),this.instance}}t.Eb=i})(i=t.Controls||(t.Controls={}))})(i=t.Transact||(t.Transact={}))})(t=n.Apps||(n.Apps={}))})(Bizgaze||(Bizgaze={}));
|