Built files from Bizgaze WebServer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

order.component.js 238KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894
  1. var Bizgaze;
  2. (function (Bizgaze) {
  3. let Apps;
  4. (function (Apps) {
  5. let Transact;
  6. (function (Transact) {
  7. let Controls;
  8. (function (Controls) {
  9. class Order extends Unibase.Platform.Core.BaseComponent {
  10. constructor() {
  11. super(...arguments);
  12. this.g_LoadOffersOnly = false;
  13. this.g_LoadEligibleItemsOnly = false;
  14. this.g_IsPurchasePlanning = false;
  15. this.g_OrderId = 0;
  16. this.g_OrderType = "";
  17. this.g_OrgContactId = 0;
  18. this.g_OrganizationId = 0;
  19. this.g_LobId = 0;
  20. this.g_PriceCodeId = 0;
  21. this.g_PriceCodeName = "";
  22. this.g_IsTaxInclusive = false;
  23. this.g_InventoryApplyType = 1;
  24. this.g_LobInventoryApplyType = 1;
  25. this.g_LeveragePercent = 0;
  26. this.g_IsLeverageApplied = false;
  27. this.g_IsApprovalRequired = false;
  28. this.g_OrderTypeId = 0;
  29. this.g_IsCalculateTax = true;
  30. this.g_CompositePriceType = 0;
  31. this.g_ExpandItemSettings = false;
  32. this.g_CountryId = 0;
  33. this.g_IsPointsOrder = false;
  34. this.g_LoyaltyPoints = 0;
  35. this.g_IsShowEnablePieceChkbox = 0;
  36. this.g_IsManageOfferDiscount = 0;
  37. this.g_IsShowAvailability = 0;
  38. this.g_IsChangePaymentMode = 0;
  39. this.g_IsShowExchangeDc = 0;
  40. this.g_IsChangePaymentTerm = 0;
  41. this.g_CanProcessOrder = 0;
  42. this.g_CreateDC = 0;
  43. this.g_CreateGRN = 0;
  44. this.g_CreateItem = 0;
  45. this.g_ShowPrice = 0;
  46. this.g_IncreaseQty = 0;
  47. this.g_IsAdmin = 1;
  48. this.g_CompanyId = 0;
  49. this.g_BranchId = 0;
  50. this.g_TagGroupId = 0;
  51. this.g_IsDealer = false;
  52. this.g_PendingItemsSortBy = 0;
  53. this.g_ShowSaveAsDraft = true;
  54. this.g_IsSeriesDisabled = true;
  55. this.g_ItemLoadTypes = [];
  56. this.g_IsSC_to_PC = false;
  57. this.g_IsFromPurchaseIndent = false;
  58. this.g_ShowCCHByDefault = true;
  59. this.g_IsShowCategoryButton = false;
  60. this.g_VisibleContainerId = "";
  61. this.g_CurrencyId = 0;
  62. this.g_ConversionRate = 1;
  63. this.g_FromCurrencyValue = 1;
  64. this.g_ToCurrencyValue = 1;
  65. this.g_FromCurrencyName = "";
  66. this.g_ToCurrencyName = "";
  67. }
  68. init(formpropertyid, prop, callback) {
  69. let instance = this;
  70. let jsFiles = ["platform/bundle/index.order.component.js"];
  71. instance.fileCacheHelper.loadJsFiles(jsFiles, function () {
  72. instance.fileCacheHelper.addCacheFiles(["apps/transact/infos/orders/orderitem.js", "apps/transact/controls/orders/orderitems.component.js", "apps/transact/components/orders/orderfilter.js", "platform/core/helpers/printhelper/printhelper.js", "apps/transact/components/invoices/itemofferselection.js", "apps/transact/controls/invoices/invoiceitem.component.js", "apps/transact/controls/orders/customercredithealth.component.js"]);
  73. let IsAdmin = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().isAdmin;
  74. if (!IsAdmin) {
  75. instance.g_IsAdmin = 0;
  76. }
  77. else {
  78. instance.g_IsAdmin = 1;
  79. }
  80. instance.g_IsDealer = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().isRestrictedUser;
  81. instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId);
  82. instance.loadPropertySettings(prop.PropertySettings, prop.FormPropertyId);
  83. instance._orderItems = Bizgaze.Apps.Transact.Controls.OrderItems.Instance();
  84. });
  85. }
  86. loadControl(containerid, prop) {
  87. let instance = this;
  88. instance.g_ContainerId = containerid;
  89. instance.g_VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  90. }
  91. loadControlSettings(controlsettingjson, formpropertyid) {
  92. let instance = this;
  93. instance.g_OrderTypeId = Number($("#" + instance.g_VisibleContainerId).find(".hdn_ordertypeid").val());
  94. instance.g_OrderType = Bizgaze.Apps.Transact.Enums.OrderType[instance.g_OrderTypeId];
  95. instance.g_IsPointsOrder = false;
  96. instance.g_IsTaxInclusive = false;
  97. let IsPointsOrder = $("#" + instance.g_VisibleContainerId).find(".hdn_ispointsorder").val();
  98. if (IsPointsOrder == "true") {
  99. instance.g_IsPointsOrder = true;
  100. }
  101. instance.g_IsPurchasePlanning = false;
  102. instance.g_ShowCCHByDefault = true;
  103. instance.g_IsShowCategoryButton = false;
  104. $(document).ready(function () {
  105. if (Number($("#" + instance.g_VisibleContainerId).find(".hdn_orderid").val()) == 0) {
  106. instance.resetAllVariables();
  107. $("#" + instance.g_VisibleContainerId).find(".section_ClaimDetails").addClass("section_OrderDetails").removeClass("section_ClaimDetails");
  108. $("#" + instance.g_VisibleContainerId).find(".section_LoyaltyDetails").addClass("section_OrderDetails").removeClass("section_LoyaltyDetails");
  109. $("#" + instance.g_VisibleContainerId).find(".Section").addClass("hidden");
  110. $("#" + instance.g_VisibleContainerId).find(".section_ContactName").removeClass("hidden");
  111. }
  112. $("#" + instance.g_VisibleContainerId).find("#spn_TDSApplicable").text('TDS Applicable');
  113. $("#" + instance.g_VisibleContainerId).find("#ContinueShopping_Div").removeClass('hidden');
  114. $("#" + instance.g_VisibleContainerId).find('#bizgaze_body').on('keyup keypress', function (e) {
  115. let keyCode = e.keyCode || e.which;
  116. if (keyCode === 13) {
  117. e.preventDefault();
  118. return false;
  119. }
  120. });
  121. instance.checkDefaultCompany();
  122. $("#" + instance.g_VisibleContainerId).find(".txt_refno").attr("maxlength", 20);
  123. $("#" + instance.g_VisibleContainerId).find(".btn_Save_Form").addClass("hidden");
  124. let UserId = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().userId;
  125. if (instance.g_IsDealer && Number($("#" + instance.g_VisibleContainerId).find(".hdn_orderid").val()) == 0) {
  126. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getContactByUserId(UserId).then(function (response) {
  127. let contactId = response.result.OrganizationId;
  128. let organizationName = response.result.OrganizationName;
  129. let contact = new Option(organizationName, contactId.toString(), true);
  130. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_organizationid").append(contact);
  131. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_organizationid").val(contactId).trigger("change");
  132. $("#" + instance.g_VisibleContainerId).find("#orgContact_back").addClass("hidden");
  133. });
  134. }
  135. if (Number($("#" + instance.g_VisibleContainerId).find(".hdn_orderid").val()) == 0) {
  136. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_orderdate").addClass("hidden");
  137. }
  138. $("#" + instance.g_VisibleContainerId).find(".div_refdate, #div_proposeddeliverydate").addClass('floating-label-form-group-with-value');
  139. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_advanceorderdate , .divCustomProperties_futureorderdate").addClass("hidden");
  140. $("#" + instance.g_VisibleContainerId).find("#chk_advanceorder").change(function () {
  141. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_advanceorderdate").toggleClass("hidden");
  142. $("#" + instance.g_VisibleContainerId).find(".date_advanceorderdate").val("");
  143. $("#" + instance.g_VisibleContainerId).find(".hfdate_advanceorderdate").val("");
  144. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_advanceorderdate").find(".floating-label-form-group").removeClass("floating-label-form-group-with-value");
  145. instance.setCurrentDate("date_advanceorderdate");
  146. });
  147. $("#" + instance.g_VisibleContainerId).find("#chk_futureorder").change(function () {
  148. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_futureorderdate").toggleClass("hidden");
  149. $("#" + instance.g_VisibleContainerId).find(".date_futureorderdate").val("");
  150. $("#" + instance.g_VisibleContainerId).find(".hfdate_futureorderdate").val("");
  151. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_futureorderdate").find(".floating-label-form-group").removeClass("floating-label-form-group-with-value");
  152. instance.setCurrentDate("date_futureorderdate");
  153. });
  154. if ($("#" + instance.g_VisibleContainerId).find(".date_expecteddeliverydate").length > 0) {
  155. if ($("#" + instance.g_VisibleContainerId).find(".date_orderdate").length > 0) {
  156. $("#" + instance.g_VisibleContainerId).find('.date_orderdate, .date_expecteddeliverydate').on('apply.daterangepicker', function () {
  157. if (Number($("#" + instance.g_VisibleContainerId).find(".hdn_orderid").val()) != 0) {
  158. let OrderDate = $.datepicker.parseDate('dd/mm/yy', $("#" + instance.g_VisibleContainerId).find(".date_orderdate").val().toString());
  159. let ExpDeliveryDate = $.datepicker.parseDate('dd/mm/yy', $("#" + instance.g_VisibleContainerId).find(".date_expecteddeliverydate").val().toString());
  160. $("#" + instance.g_VisibleContainerId).find("#Bizgaze-messageInfo").empty();
  161. if (ExpDeliveryDate >= OrderDate) {
  162. $("#" + instance.g_VisibleContainerId).find(".bizgaze_FormErrorMessages").addClass("hidden");
  163. instance._orderItems.enableSave();
  164. }
  165. else {
  166. $("#" + instance.g_VisibleContainerId).find(".bizgaze_FormErrorMessages").removeClass("hidden");
  167. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Delivery Date must be greater than Order Date");
  168. instance._orderItems.disableSave();
  169. }
  170. }
  171. else {
  172. let nowDate = new Date();
  173. let date = nowDate.getDate() + '/' + (nowDate.getMonth() + 1) + '/' + nowDate.getFullYear();
  174. let OrderDate = $.datepicker.parseDate('dd/mm/yy', date.toString());
  175. let ExpDeliveryDate = $.datepicker.parseDate('dd/mm/yy', $("#" + instance.g_VisibleContainerId).find(".date_expecteddeliverydate").val().toString());
  176. $("#" + instance.g_VisibleContainerId).find("#Bizgaze-messageInfo").empty();
  177. if (ExpDeliveryDate >= OrderDate) {
  178. $("#" + instance.g_VisibleContainerId).find(".bizgaze_FormErrorMessages").addClass("hidden");
  179. instance._orderItems.enableSave();
  180. }
  181. else {
  182. $("#" + instance.g_VisibleContainerId).find(".bizgaze_FormErrorMessages").removeClass("hidden");
  183. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Delivery Date must be greater than Current Date");
  184. instance._orderItems.disableSave();
  185. }
  186. }
  187. });
  188. }
  189. }
  190. $("#" + instance.g_VisibleContainerId).find("#btn_CloseForm_" + $("#" + instance.g_VisibleContainerId).find("#hf_FormId").val()).after('<button type="button" id="btn_SaveAsDraft" class="btn btn-yellow btn_OrderSaveAsDraft hidden btn-sm mr-auto" style="" onclick="Bizgaze.Apps.Transact.Controls.Order.Instance().saveAsDraft();">Save as Draft</button>');
  191. $("#" + instance.g_VisibleContainerId).find("#btnDynamicSave").click(function () {
  192. $("#" + instance.g_VisibleContainerId).find(".hdn_stageid").val(0);
  193. });
  194. if (Number($("#" + instance.g_VisibleContainerId).find(".hdn_orderid").val()) != 0) {
  195. instance.editForm();
  196. }
  197. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim) {
  198. $("#" + instance.g_VisibleContainerId).find("#btnSection_Apply").addClass("text-white");
  199. $("#" + instance.g_VisibleContainerId).find(".btnSection_GeneratePurchasePlan").addClass("hidden");
  200. $("#" + instance.g_VisibleContainerId).find("#divSectionProperties_MoreOptions").removeClass('mt-10').addClass("mt-30");
  201. let url = _appsettings.server_url() + '/apis/v4/bizgaze/crm/companies/getcompaniesAutoComplete';
  202. AutoCompleteHelper.getHelper().Create("#select2_CompanyId", "#hfAutoComplete_Company", url, null);
  203. let CompanyIds = "0";
  204. url = _appsettings.server_url() + '/apis/v4/bizgaze/crm/companies/getbranchesbycompaniesAutoComplete/companyids/' + CompanyIds;
  205. AutoCompleteHelper.getHelper().Create("#select2_BranchId", "#hfAutoComplete_Branch", url, null);
  206. $("#" + instance.g_VisibleContainerId).find("#select2_BranchId").val(null).trigger('change');
  207. $("#" + instance.g_VisibleContainerId).find("#select2_CompanyId").val(null).trigger('change');
  208. }
  209. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales && instance.g_IsPointsOrder) {
  210. instance.g_ItemLoadTypes = ["All Items", "Eligible Items"];
  211. }
  212. else if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase) {
  213. instance.g_ItemLoadTypes = ["All Items", "Offers", "Filter"];
  214. }
  215. $("#" + instance.g_VisibleContainerId).find("#div_TaxGroupId").addClass('hidden');
  216. $("#" + instance.g_VisibleContainerId).find(".hdn_expecteddeliverydate").val($("#" + instance.g_VisibleContainerId).find(".date_proposeddeliverydate").val());
  217. $("#" + instance.g_VisibleContainerId).find(".date_proposeddeliverydate").change(function () {
  218. $("#" + instance.g_VisibleContainerId).find(".hdn_expecteddeliverydate").val($("#" + instance.g_VisibleContainerId).find(".date_proposeddeliverydate").val());
  219. });
  220. $("#" + instance.g_VisibleContainerId).find("#chkSection_TDSApplicable").click(function () {
  221. if ($("#" + instance.g_VisibleContainerId).find("#chkSection_TDSApplicable").is(':checked')) {
  222. $("#" + instance.g_VisibleContainerId).find("#TDSAmount").removeClass('hidden');
  223. $("#" + instance.g_VisibleContainerId).find("#div_TaxGroupId").removeClass('hidden');
  224. }
  225. else {
  226. $("#" + instance.g_VisibleContainerId).find("#div_TaxGroupId").addClass('hidden');
  227. }
  228. });
  229. if (Number($("#" + instance.g_VisibleContainerId).find(".hdn_orderid").val()) == 0 && !instance.g_IsPurchasePlanning) {
  230. $("#" + instance.g_VisibleContainerId).find("#btn_Save").addClass('hidden');
  231. $("#" + instance.g_VisibleContainerId).find("#formFooter").append('<button type="button" id="btn_Checkout" style="cursor:pointer" class="btn btn-primary CheckOutButton hidden btn-sm" onclick="Bizgaze.Apps.Transact.Controls.Order.Instance().checkout();">Check Out</button>');
  232. }
  233. instance.companiesAutoComplete();
  234. let InputParameters = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters;
  235. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  236. let OrderType = InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_ordertypeid");
  237. let AppTitle = InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_apptitle");
  238. if (InputParameters.length > 0 && OrderType != undefined) {
  239. var OrderTypeId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_ordertypeid").Value);
  240. if (OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim) {
  241. var ClaimId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_orderid").Value);
  242. var hdn_OrderId = Number($("#" + instance.g_VisibleContainerId).find(".hdn_orderid").val());
  243. if (ClaimId != undefined && hdn_OrderId == 0) {
  244. instance.g_IsSC_to_PC = true;
  245. instance.bindClaimDetails(ClaimId);
  246. }
  247. }
  248. }
  249. else if (InputParameters.length > 0 && AppTitle != undefined) {
  250. var AppName = InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_apptitle").Value;
  251. if (AppName == "purchaseindent") {
  252. instance.navigationHelper.showLoading();
  253. var PurchaseIndentId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_purchaseindentid").Value);
  254. var hdn_OrderId = Number($("#" + instance.g_VisibleContainerId).find(".hdn_orderid").val());
  255. if (PurchaseIndentId != undefined && hdn_OrderId == 0) {
  256. instance.g_IsSC_to_PC = true;
  257. instance.g_IsFromPurchaseIndent = true;
  258. instance.bindPurchaseIndentDetails(PurchaseIndentId);
  259. instance.navigationHelper.hideLoading();
  260. }
  261. }
  262. }
  263. instance.autoCompleteEvents();
  264. instance.purchasePlanEvents();
  265. instance._orderItems.g_VisibleContainerId = instance.g_VisibleContainerId;
  266. instance._orderItems.itemSettingsEvents();
  267. instance.loadOrderFromEmployeeRoute();
  268. });
  269. }
  270. loadPropertySettings(propertysettings, formpropertyid) {
  271. let instance = this;
  272. }
  273. bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
  274. return null;
  275. }
  276. checkDefaultCompany() {
  277. var instance = this;
  278. let companyId = 0;
  279. if (Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings != null) {
  280. let companySetting = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings.find(x => x.settingName == "companyid");
  281. if (companySetting != null && companySetting != undefined) {
  282. companyId = companySetting.settingValue;
  283. instance.g_BranchId = Number(Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings.find(x => x.settingName == "branchid").settingValue);
  284. }
  285. else {
  286. instance.defaultBranchError();
  287. }
  288. }
  289. else {
  290. instance.defaultBranchError();
  291. }
  292. if (companyId != 0) {
  293. instance.checkDefaultBranch_CompanyStatus(instance.g_BranchId, companyId);
  294. }
  295. }
  296. checkDefaultBranch_CompanyStatus(BranchId, companyId) {
  297. let instance = this;
  298. Bizgaze.Apps.CRM.Companies.Managers.CompanyManager.Instance().getBranch(BranchId).then(function (comp_res) {
  299. if (comp_res.result != null) {
  300. let branchStatusId = comp_res.result.StatusId;
  301. let companyStatusId = comp_res.result.CompanyStatusId;
  302. if (branchStatusId != 1 || companyStatusId != 1) {
  303. $("#" + instance.g_VisibleContainerId).find("#Bizgaze-messageInfo").empty();
  304. $("#" + instance.g_VisibleContainerId).find(".bizgaze_FormErrorMessages").removeClass("hidden");
  305. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_organizationid").attr("disabled", "disabled");
  306. $("#" + instance.g_VisibleContainerId).find(".btn_Save_Form").addClass("hidden");
  307. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Default Branch/Company is InActive");
  308. }
  309. else {
  310. let Parameters = [{ "ColumnName": "companyid", "Value": companyId, }];
  311. if (Number($("#" + instance.g_VisibleContainerId).find(".hdn_orderid").val()) > 0) {
  312. let LobId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_lobid").Value);
  313. Parameters = [
  314. { "ColumnName": "companyid", "Value": companyId, },
  315. { "ColumnName": "lobid", "Value": LobId, },
  316. ];
  317. }
  318. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_organizationid"), Parameters);
  319. }
  320. }
  321. });
  322. }
  323. defaultBranchError() {
  324. let instance = this;
  325. $("#" + instance.g_VisibleContainerId).find("#Bizgaze-messageInfo").empty();
  326. $("#" + instance.g_VisibleContainerId).find(".bizgaze_FormErrorMessages").removeClass("hidden");
  327. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_organizationid").attr("disabled", "disabled");
  328. $("#" + instance.g_VisibleContainerId).find(".btn_Save_Form").addClass("hidden");
  329. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Configure Default Branch");
  330. return false;
  331. }
  332. changedOrganization() {
  333. let instance = this;
  334. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_orgcontactid").removeClass("hidden");
  335. $("#" + instance.g_VisibleContainerId).find(".OrgContact_Details").remove();
  336. instance.prependCustomerLink();
  337. $("#" + instance.g_VisibleContainerId).find(".section_OrderDetails").removeClass("hidden");
  338. $("#" + instance.g_VisibleContainerId).find(".section_CustomerCreditHealth, .section_SalesFrequency, .section_CustomerOfferSummary").find(".card-body").addClass("hidden");
  339. $("#" + instance.g_VisibleContainerId).find(".section_CustomerCreditHealth, .section_SalesFrequency, .section_CustomerOfferSummary").find(".card-body").addClass("hidden");
  340. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase) {
  341. $("#" + instance.g_VisibleContainerId).find(".section_CustomerCreditHealth").find(".card-header").html(`<a class="btn_CustomerCreditHealth_angle text-dark" href="javascript:;"> <i class="fa fa-angle-down d-none"></i><i class="fa fa-angle-right"></i><span id="CH_Widget_Title" class="ml-10">Vendor Credit Health</span> <input type="hidden" id="CH_Widget_OrderType" value="` + instance.g_OrderTypeId + `"/> </a>`);
  342. $("#" + instance.g_VisibleContainerId).find(".section_SalesFrequency").find(".card-header").html(`<a class="btn_SalesFrequency_angle text-dark" href="javascript:;"> <i class="fa fa-angle-down d-none"></i><i class="fa fa-angle-right"></i><span id="F_Widget_Title" class="ml-10">Purchase Frequency</span> <input type="hidden" id="F_Widget_OrderType" value="` + instance.g_OrderTypeId + `"/> </a>`);
  343. }
  344. else {
  345. $("#" + instance.g_VisibleContainerId).find(".section_CustomerCreditHealth").find(".card-header").html(`<a class="btn_CustomerCreditHealth_angle text-dark" href="javascript:;"> <i class="fa fa-angle-down d-none"></i><i class="fa fa-angle-right"></i><span id="CH_Widget_Title" class="ml-10">Customer Credit Health</span> <input type="hidden" id="CH_Widget_OrderType" value="` + instance.g_OrderTypeId + `"/> </a>`);
  346. $("#" + instance.g_VisibleContainerId).find(".section_SalesFrequency").find(".card-header").html(`<a class="btn_SalesFrequency_angle text-dark" href="javascript:;"> <i class="fa fa-angle-down d-none"></i><i class="fa fa-angle-right"></i><span id="F_Widget_Title" class="ml-10">Sales Frequency</span> <input type="hidden" id="F_Widget_OrderType" value="` + instance.g_OrderTypeId + `"/> </a>`);
  347. }
  348. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase) {
  349. $("#" + instance.g_VisibleContainerId).find(".section_CustomerOfferSummary").find(".card-header").first().html(`<a class="btn_CustomerOfferSummary_angle text-dark" href="javascript:;"> <i class="fa fa-angle-down d-none"></i><i class="fa fa-angle-right"></i><span class="ml-10">Vendor Campaign Summary</span> </a> <div class="d-flex align-items-center card-action-wrap pull-right"> <span class="badge badge-light badge-pill badge-outline mr-10 span_ListOfferSummary_count">0</span> </div>`);
  350. }
  351. else {
  352. $("#" + instance.g_VisibleContainerId).find(".section_CustomerOfferSummary").find(".card-header").first().html(`<a class="btn_CustomerOfferSummary_angle text-dark" href="javascript:;"> <i class="fa fa-angle-down d-none"></i><i class="fa fa-angle-right"></i><span class="ml-10">Customer Campaign Summary</span> </a> <div class="d-flex align-items-center card-action-wrap pull-right"> <span class="badge badge-light badge-pill badge-outline mr-10 span_ListOfferSummary_count">0</span> </div>`);
  353. }
  354. $("#" + instance.g_VisibleContainerId).find(".btn_CustomerCreditHealth_angle").click(function () {
  355. $("#" + instance.g_VisibleContainerId).find(".btn_CustomerCreditHealth_angle").find(".fa-angle-down").toggleClass("d-none");
  356. $("#" + instance.g_VisibleContainerId).find(".btn_CustomerCreditHealth_angle").find(".fa-angle-right").toggleClass("d-none");
  357. if (!$("#" + instance.g_VisibleContainerId).find(".btn_CustomerCreditHealth_angle").find(".fa-angle-down").hasClass("d-none")) {
  358. Bizgaze.Apps.Transact.Controls.CustomerCreditHealth.Instance().getCreditHealth(0, instance.g_OrganizationId, instance.g_OrderType);
  359. }
  360. $("#" + instance.g_VisibleContainerId).find(".section_CustomerCreditHealth").find(".card-body").toggleClass("hidden");
  361. });
  362. $("#" + instance.g_VisibleContainerId).find(".btn_SalesFrequency_angle").click(function () {
  363. $("#" + instance.g_VisibleContainerId).find(".btn_SalesFrequency_angle").find(".fa-angle-down").toggleClass("d-none");
  364. $("#" + instance.g_VisibleContainerId).find(".btn_SalesFrequency_angle").find(".fa-angle-right").toggleClass("d-none");
  365. if (!$("#" + instance.g_VisibleContainerId).find(".btn_SalesFrequency_angle").find(".fa-angle-down").hasClass("d-none")) {
  366. Bizgaze.Apps.Transact.Controls.SalesFrequency.Instance().getFrequency(instance.g_OrgContactId, instance.g_OrganizationId);
  367. }
  368. $("#" + instance.g_VisibleContainerId).find(".section_SalesFrequency").find(".card-body").toggleClass("hidden");
  369. });
  370. $("#" + instance.g_VisibleContainerId).find(".btn_CustomerOfferSummary_angle").click(function () {
  371. $("#" + instance.g_VisibleContainerId).find(".btn_CustomerOfferSummary_angle").find(".fa-angle-down").toggleClass("d-none");
  372. $("#" + instance.g_VisibleContainerId).find(".btn_CustomerOfferSummary_angle").find(".fa-angle-right").toggleClass("d-none");
  373. if (!$("#" + instance.g_VisibleContainerId).find(".btn_CustomerOfferSummary_angle").find(".fa-angle-down").hasClass("d-none")) {
  374. instance.customerOfferSummary();
  375. }
  376. $("#" + instance.g_VisibleContainerId).find(".section_CustomerOfferSummary").find(".card-body").toggleClass("hidden");
  377. });
  378. if (Number($("#" + instance.g_VisibleContainerId).find(".hdn_orderid").val()) == 0) {
  379. $("#" + instance.g_VisibleContainerId).find(".section_CustomerOfferSummary").removeClass('hidden');
  380. $("#" + instance.g_VisibleContainerId).find(".section_CustomerCreditHealth").removeClass('hidden');
  381. $("#" + instance.g_VisibleContainerId).find(".section_SalesFrequency").removeClass('hidden');
  382. $("#" + instance.g_VisibleContainerId).find(".section_LoyaltyPoints").removeClass('hidden');
  383. }
  384. else {
  385. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid").removeAttr("disabled");
  386. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid").removeAttr("disabled");
  387. }
  388. $("#" + instance.g_VisibleContainerId).find(".section_OrderDetails").addClass('mt-10');
  389. $("#" + instance.g_VisibleContainerId).find(".section_Items").addClass('mt-10');
  390. if (!instance.g_IsSC_to_PC) {
  391. $("#" + instance.g_VisibleContainerId).find(".section_ContactName").find(".card-body").addClass("hidden");
  392. instance.g_OrganizationId = Number($("#" + instance.g_VisibleContainerId).find('.txtAutoComplete_organizationid').val());
  393. $("#" + instance.g_VisibleContainerId).find(".CheckOutButton").removeClass('hidden');
  394. if (Number($("#" + instance.g_VisibleContainerId).find(".hdn_orderid").val()) != 0) {
  395. instance.g_OrderId = Number($("#" + instance.g_VisibleContainerId).find(".hdn_orderid").val());
  396. instance.g_LobId = Number($("#" + instance.g_VisibleContainerId).find('.txtAutoComplete_lobid').val());
  397. instance.bindOrderDetails(instance.g_OrganizationId, instance.g_LobId);
  398. }
  399. else {
  400. instance.bindOrderDetails(instance.g_OrganizationId, 0);
  401. }
  402. }
  403. else {
  404. instance.changedOrganization_SC_PC();
  405. }
  406. if (instance.g_ShowCCHByDefault && instance.g_OrderId == 0 && (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase) && !instance.g_IsPointsOrder) {
  407. $("#" + instance.g_VisibleContainerId).find(".btn_CustomerCreditHealth_angle").find(".fa-angle-down").removeClass("d-none");
  408. $("#" + instance.g_VisibleContainerId).find(".btn_CustomerCreditHealth_angle").find(".fa-angle-right").addClass("d-none");
  409. Bizgaze.Apps.Transact.Controls.CustomerCreditHealth.Instance().getCreditHealth(0, instance.g_OrganizationId, instance.g_OrderType);
  410. $("#" + instance.g_VisibleContainerId).find(".section_CustomerCreditHealth").find(".card-body").removeClass("hidden");
  411. }
  412. if (instance.g_IsShowCategoryButton) {
  413. $("#cartCategoryAddBtn").removeClass("hidden");
  414. }
  415. else {
  416. $("#cartCategoryAddBtn").addClass("hidden");
  417. }
  418. }
  419. changedOrganization_SC_PC() {
  420. let instance = this;
  421. $("#" + instance.g_VisibleContainerId).find(".section_ContactName").find(".card-body").addClass("card").addClass("mt-10");
  422. $("#" + instance.g_VisibleContainerId).find("#btn_Save, .section_Summary, #dropup_save, #btn_Save_New, .btn_Save_Form, .section_PriceDetails").removeClass('hidden');
  423. $("#" + instance.g_VisibleContainerId).find("#btn_ContinueShopping, #orgContact_back, .OrgContact_Details").addClass("hidden");
  424. $("#" + instance.g_VisibleContainerId).find('.section_Items, .section_CartDetails').addClass('hidden');
  425. $("#" + instance.g_VisibleContainerId).find("#div_lobid, #div_salespersonid").removeClass("hidden");
  426. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid").attr("disabled", "true");
  427. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_salespersonid").attr("disabled", "true");
  428. var OrganizationId = $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_organizationid option:selected").val();
  429. if (OrganizationId != undefined) {
  430. instance.g_OrganizationId = Number(OrganizationId);
  431. $("#" + instance.g_VisibleContainerId).find(`.txtAutoComplete_billingaddressid, .txtAutoComplete_shippingaddressid, .txt_series_autocomplete,
  432. .txtAutoComplete_orgcontactid`).removeAttr("disabled");
  433. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  434. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getDetails(OrganizationId, instance.g_LobId, instance.g_OrderType, instance.g_IsPointsOrder).then(function (response) {
  435. let res = response.result;
  436. if (response.message != "") {
  437. Unibase.Platform.Forms.Components.FormViewer.Instance().showError(response.message);
  438. instance._orderItems.disableSave();
  439. $("#" + instance.g_VisibleContainerId).find(`.txtAutoComplete_billingaddressid, .txtAutoComplete_shippingaddressid, .txt_series_autocomplete,
  440. .txtAutoComplete_orgcontactid`).attr("disabled", "true").empty();
  441. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_consultantid").attr("disabled", "true");
  442. }
  443. else {
  444. let BillingAddress = new Option(res.BillingAddressName, res.BillingAddressId, true);
  445. let ShippingAddress = new Option(res.ShippingAddressName, res.ShippingAddressId, true);
  446. if (instance.g_IsFromPurchaseIndent) {
  447. let BillFromAddress = new Option(res.BillFromAddressName, res.BillFromAddressId, true);
  448. let ShipFromAddress = new Option(res.ShipFromAddressName, res.ShipFromAddressId, true);
  449. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid").append(BillFromAddress).val(res.BillFromAddressId);
  450. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid").append(ShipFromAddress).val(res.ShipFromAddressId);
  451. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billfromaddressid").append(BillingAddress).val(res.BillingAddressId);
  452. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shipfromaddressid").append(ShippingAddress).val(res.ShippingAddressId);
  453. }
  454. else {
  455. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) {
  456. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid").append(BillingAddress).val(res.BillingAddressId);
  457. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid").append(ShippingAddress).val(res.ShippingAddressId);
  458. }
  459. }
  460. $("#" + instance.g_VisibleContainerId).find(".section_CartDetails").removeClass("hidden");
  461. if (res.OrganizationTypeId == 1) {
  462. instance.g_OrgContactId = res.OrgContactId;
  463. if (res.OrgContactName != null && res.OrgContactName != undefined) {
  464. let OrgContact = new Option(res.OrgContactName, instance.g_OrgContactId.toString(), true);
  465. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_orgcontactid").append(OrgContact).val(instance.g_OrgContactId);
  466. }
  467. }
  468. else if (res.OrganizationTypeId == 2) {
  469. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_orgcontactid").addClass("hidden");
  470. }
  471. if (res.LobId != 0) {
  472. instance.g_TagGroupId = res.TagGroupId;
  473. instance.g_LobId = res.LobId;
  474. let LobDetails = new Option(res.LobName, res.LobId, true);
  475. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid").append(LobDetails).val(res.LobId);
  476. let data = res.Permissions;
  477. instance.setPermissionVariables(data);
  478. instance._orderItems.itemSettings();
  479. instance.g_LobInventoryApplyType = res.InventoryApplyType;
  480. instance.setInventorySettings(res.InventoryApplyType);
  481. instance.setOrderSettings(res, res.CompositePriceType);
  482. instance.setCategorySettings(res.CategoryItemSettings);
  483. let SalesPerson = new Option(res.SalesPersonName, res.SalesPersonId, true);
  484. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_salespersonid").append(SalesPerson);
  485. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_salespersonid").val(res.SalesPersonId);
  486. if (res.SeriesId != 0) {
  487. $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").empty();
  488. if (instance.g_IsSeriesDisabled) {
  489. $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").attr("disabled", "true");
  490. }
  491. else {
  492. $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").removeAttr("disabled");
  493. }
  494. var seriesData = [];
  495. if (res.SeriesSettings.length == 0) {
  496. for (let s = 0; s < res.SeriesList.length; s++) {
  497. let Series = res.SeriesList[s];
  498. seriesData.push({ id: Series.SeriesId, text: Series.SeriesName, AddlData: Series.ManualNumbering });
  499. }
  500. }
  501. else {
  502. for (let s = 0; s < res.SeriesSettings.length; s++) {
  503. let Series = res.SeriesSettings[s];
  504. seriesData.push({ id: Series.SeriesId, text: Series.SeriesName, AddlData: Series.ManualNumbering });
  505. }
  506. }
  507. $("#" + instance.g_VisibleContainerId).find('.txtSeriesAutoComplete_seriesid').select2({
  508. data: seriesData,
  509. });
  510. $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").val(res.SeriesId).trigger("change");
  511. }
  512. }
  513. if (res.CurrencyId != 0) {
  514. instance.g_FromCurrencyValue = res.FromCurrencyValue;
  515. instance.g_ToCurrencyValue = res.ToCurrencyValue;
  516. instance.g_FromCurrencyName = res.FromCurrencyName;
  517. instance.g_ToCurrencyName = res.ToCurrencyName;
  518. instance.g_ConversionRate = res.ConversionRate;
  519. $("#" + instance.g_VisibleContainerId).find(".txt_conversionrate").val(instance.g_ConversionRate);
  520. $("#" + instance.g_VisibleContainerId).find(".hdn_currencyid").val(instance.g_CurrencyId);
  521. }
  522. instance.loadAutoCompletes();
  523. instance._orderItems.loadItems('');
  524. instance._orderItems.enableSave();
  525. }
  526. });
  527. });
  528. }
  529. else {
  530. $("#" + instance.g_VisibleContainerId).find(`.txtAutoComplete_billingaddressid, .txtAutoComplete_shippingaddressid, .txt_series_autocomplete,
  531. .txtAutoComplete_orgcontactid`).attr("disabled", "true").empty();
  532. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_consultantid").attr("disabled", "true");
  533. }
  534. }
  535. bindSC_PC_Details(res) {
  536. let instance = this;
  537. let Organization = new Option(res.OrganizationName, res.OrganizationId.toString(), true);
  538. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_consultantid").append(Organization).val(res.OrganizationId);
  539. instance.g_OrganizationId = res.OrganizationId;
  540. $("#" + instance.g_VisibleContainerId).find(".date_refdate").val(Unibase.Platform.Helpers.DateTimeHelper.Instance().serverDateformat(res.RefDate));
  541. $("#" + instance.g_VisibleContainerId).find(".date_expecteddeliverydate").val(Unibase.Platform.Helpers.DateTimeHelper.Instance().serverDateformat(res.ExpectedDeliveryDate));
  542. $("#" + instance.g_VisibleContainerId).find(".date_orderdate").val(Unibase.Platform.Helpers.DateTimeHelper.Instance().serverDateformat(res.OrderDate));
  543. $("#" + instance.g_VisibleContainerId).find(".txt_refno").val(res.RefNo);
  544. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_description").find("textarea").val(res.Description);
  545. if (res.RefNo != "") {
  546. $("#" + instance.g_VisibleContainerId).find(".div_refno").addClass('floating-label-form-group-with-value');
  547. }
  548. $("#" + instance.g_VisibleContainerId).find(".div_refdate, .div_expecteddeliverydate, .div_orderdate").addClass('floating-label-form-group-with-value');
  549. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_orderdate").removeClass("hidden");
  550. instance.pushCartItems(res.OrderItems);
  551. instance.changedOrganization();
  552. }
  553. bindOrderDetails(OrganizationId, LobId) {
  554. var instance = this;
  555. instance.navigationHelper.showLoading();
  556. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  557. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getDetails(OrganizationId, LobId, instance.g_OrderType, instance.g_IsPointsOrder).then(function (res) {
  558. instance.bindAllDetails(LobId, res);
  559. instance.navigationHelper.hideLoading();
  560. });
  561. });
  562. }
  563. bindAllDetails(LobId, response) {
  564. let instance = this;
  565. let msg = response.message;
  566. let res = response.result;
  567. if (msg != "") {
  568. Unibase.Platform.Forms.Components.FormViewer.Instance().showError(msg);
  569. }
  570. if (res != null) {
  571. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_orgcontactid").empty();
  572. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_companyid").empty();
  573. if (LobId == 0 || instance.g_OrderId != 0) {
  574. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid, .txtAutoComplete_billingaddressid").empty();
  575. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shipfromaddressid, .txtAutoComplete_billfromaddressid").empty();
  576. }
  577. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid").empty();
  578. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_salespersonid").empty();
  579. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_paymenttermid").empty();
  580. }
  581. if (instance.g_IsPointsOrder) {
  582. instance.g_LoyaltyPoints = res.LoyaltyPoints;
  583. $("#" + instance.g_VisibleContainerId).find("#LoyaltyPoints").text(instance.g_LoyaltyPoints);
  584. $("#" + instance.g_VisibleContainerId).find("#AvailablePoints").text(instance.g_LoyaltyPoints);
  585. $("#" + instance.g_VisibleContainerId).find("#AvailablePoints_header").text(instance.g_LoyaltyPoints);
  586. $("#" + instance.g_VisibleContainerId).find("#RedeemPoints").text("0");
  587. $("#" + instance.g_VisibleContainerId).find(".section_LoyaltyPoints").addClass("mt-10");
  588. let LoyaltyHtml = `<div class="LoyaltyPointsDetails row" style="font-size:13px">
  589. <p class="mr-50"> <strong> Available Points : </strong> <span id="AvailablePoints_header"> ` + instance.g_LoyaltyPoints + `</span> </p>
  590. </div>`;
  591. $("#" + instance.g_VisibleContainerId).find(".LoyaltyPointsDetails").remove();
  592. if (instance.g_IsDealer) {
  593. $("#" + instance.g_VisibleContainerId).find(".formValidate:visible").find("header").append(LoyaltyHtml);
  594. }
  595. else {
  596. $("#" + instance.g_VisibleContainerId).find(".formValidate:visible").find("header .btn-group").prepend(LoyaltyHtml);
  597. }
  598. }
  599. if (res.OrganizationTypeId == 1) {
  600. instance.g_OrgContactId = res.OrgContactId;
  601. if (res.OrgContactName != null && res.OrgContactName != undefined) {
  602. let OrgContact = new Option(res.OrgContactName, instance.g_OrgContactId.toString(), true);
  603. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_orgcontactid").append(OrgContact).val(instance.g_OrgContactId);
  604. }
  605. }
  606. else if (res.OrganizationTypeId == 2) {
  607. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_orgcontactid").addClass("hidden");
  608. }
  609. if (res.CountryId != "" && res.CountryId != undefined) {
  610. instance.g_CountryId = res.CountryId;
  611. }
  612. else {
  613. instance.g_CountryId = 0;
  614. }
  615. instance.g_CompanyId = res.CompanyId;
  616. let CompanyName = res.CompanyName;
  617. let ShipFromAddressId = response.result.ShipFromAddressId;
  618. let BillFromAddressId = response.result.BranchId;
  619. let BillFromAddressName = response.result.BranchName;
  620. let WarehouseName = response.result.ShipFromAddressName;
  621. let BranchShortCode = response.result.BranchShortCode;
  622. let WarehouseShortCode = response.result.WarehouseShortCode;
  623. let Company = new Option(CompanyName, instance.g_CompanyId.toString(), true);
  624. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_companyid").append(Company).val(instance.g_CompanyId);
  625. if (LobId == 0 || instance.g_OrderId != 0) {
  626. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shipfromaddressid, .txtAutoComplete_billfromaddressid").val('').text('');
  627. let Branch = new Option(BillFromAddressName + " - " + BranchShortCode, BillFromAddressId.toString(), true);
  628. let Warehouse = new Option(WarehouseName + " - " + WarehouseShortCode, ShipFromAddressId.toString(), true);
  629. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim) {
  630. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid").append(Warehouse).val(ShipFromAddressId);
  631. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid").append(Branch).val(BillFromAddressId);
  632. }
  633. else if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) {
  634. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shipfromaddressid").append(Warehouse).val(ShipFromAddressId);
  635. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billfromaddressid").append(Branch).val(BillFromAddressId);
  636. }
  637. if (res.BillingAddressId != 0) {
  638. let BillingAddress = new Option(res.BillingAddressName, res.BillingAddressId, true);
  639. let ShippingAddress = new Option(res.ShippingAddressName, res.ShippingAddressId, true);
  640. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) {
  641. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid").append(BillingAddress).val(res.BillingAddressId);
  642. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid").append(ShippingAddress).val(res.ShippingAddressId);
  643. }
  644. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim) {
  645. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billfromaddressid").append(BillingAddress).val(res.BillingAddressId);
  646. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shipfromaddressid").append(ShippingAddress).val(res.ShippingAddressId);
  647. }
  648. }
  649. }
  650. $("#" + instance.g_VisibleContainerId).find("#div_lobid, .txtAutoComplete_lobid, #div_salespersonid").removeClass("hidden").removeAttr("disabled");
  651. if (res.CurrencyId != 0) {
  652. instance.g_FromCurrencyValue = res.FromCurrencyValue;
  653. instance.g_ToCurrencyValue = res.ToCurrencyValue;
  654. instance.g_FromCurrencyName = res.FromCurrencyName;
  655. instance.g_ToCurrencyName = res.ToCurrencyName;
  656. instance.g_ConversionRate = res.ConversionRate;
  657. instance.g_CurrencyId = res.CurrencyId;
  658. $("#" + instance.g_VisibleContainerId).find(".number_conversionrate").val(instance.g_ConversionRate);
  659. $("#" + instance.g_VisibleContainerId).find(".hdn_currencyid").val(instance.g_CurrencyId);
  660. }
  661. if (res.LobId != 0) {
  662. instance.g_TagGroupId = res.TagGroupId;
  663. instance.g_LobId = res.LobId;
  664. let LobDetails = new Option(res.LobName, res.LobId, true);
  665. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid").append(LobDetails).val(res.LobId);
  666. let data = res.Permissions;
  667. instance.setPermissionVariables(data);
  668. instance._orderItems.itemSettings();
  669. instance.g_LobInventoryApplyType = res.InventoryApplyType;
  670. instance.setInventorySettings(res.InventoryApplyType);
  671. instance.setOrderSettings(res, res.CompositePriceType);
  672. instance.setItemDisplaySettings(res.ExpandItemSettings);
  673. instance.setCategorySettings(res.CategoryItemSettings);
  674. if (res.SalesPersonId != 0) {
  675. let SalesPerson = new Option(res.SalesPersonName, res.SalesPersonId, true);
  676. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_salespersonid").append(SalesPerson);
  677. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_salespersonid").val(res.SalesPersonId);
  678. }
  679. if (res.SeriesId != 0) {
  680. $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").empty();
  681. if (instance.g_IsSeriesDisabled) {
  682. $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").attr("disabled", "true");
  683. }
  684. else {
  685. $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").removeAttr("disabled");
  686. }
  687. var seriesData = [];
  688. if (res.SeriesSettings.length == 0) {
  689. for (let s = 0; s < res.SeriesList.length; s++) {
  690. let Series = res.SeriesList[s];
  691. seriesData.push({ id: Series.SeriesId, text: Series.SeriesName, AddlData: Series.ManualNumbering });
  692. }
  693. }
  694. else {
  695. for (let s = 0; s < res.SeriesSettings.length; s++) {
  696. let Series = res.SeriesSettings[s];
  697. seriesData.push({ id: Series.SeriesId, text: Series.SeriesName, AddlData: Series.ManualNumbering });
  698. }
  699. }
  700. $("#" + instance.g_VisibleContainerId).find('.txtSeriesAutoComplete_seriesid').select2({
  701. data: seriesData,
  702. });
  703. $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").val(res.SeriesId).trigger("change");
  704. }
  705. if (res.PaymentTermId != 0) {
  706. let PaymentTerm = new Option(res.PaymentTermName, res.PaymentTermId, true);
  707. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_paymenttermid").append(PaymentTerm);
  708. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_paymenttermid").val(res.PaymentTermId);
  709. }
  710. if (res.Terms != "<p><br></p>" && res.Terms != "" && res.Terms != null) {
  711. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_terms").addClass('floating-label-form-group-with-value');
  712. let id = $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_terms").attr("id");
  713. if (id != undefined && id != "" && id != null) {
  714. id = $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_terms").attr("id").replace("control-container-", "");
  715. $("#" + instance.g_VisibleContainerId).find("#txt_" + id).html(res.Terms);
  716. $("#" + instance.g_VisibleContainerId).find("#txt_" + id).val($("#" + instance.g_VisibleContainerId).find("#txt_" + id)[0].textContent);
  717. }
  718. }
  719. else
  720. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_terms").removeClass('floating-label-form-group-with-value');
  721. if (Number($("#" + instance.g_VisibleContainerId).find(".hdn_orderid").val()) == 0 && !instance.g_IsSC_to_PC) {
  722. $("#" + instance.g_VisibleContainerId).find('.section_Items').removeClass('hidden');
  723. }
  724. instance.g_PriceCodeId = res.PriceCodeId;
  725. instance.g_PriceCodeName = res.PriceCodeName;
  726. $("#" + instance.g_VisibleContainerId).find('#hfOrder_IsSeperateExcise').val(res.IsSeperateExcise);
  727. if ($("#" + instance.g_VisibleContainerId).find("#chk_PriceCodeId").is(':checked')) {
  728. instance.g_PriceCodeId = res.AdvancePriceCodeId;
  729. instance.g_PriceCodeName = "";
  730. }
  731. if (Number($("#" + instance.g_VisibleContainerId).find(".hdn_orderid").val()) == 0) {
  732. $("#" + instance.g_VisibleContainerId).find("#ItemLoadType").empty();
  733. for (let i = 0; i < instance.g_ItemLoadTypes.length; i++) {
  734. let j = i + 1;
  735. $("#" + instance.g_VisibleContainerId).find("#ItemLoadType").append('<option value="' + j + '">' + instance.g_ItemLoadTypes[i] + '</option>');
  736. }
  737. if ($("#" + instance.g_VisibleContainerId).find("#ItemLoadType option:selected").text() == 'Offers') {
  738. $("#" + instance.g_VisibleContainerId).find("#ItemLoadType option:contains(All Items)").attr('selected', 'selected');
  739. }
  740. $("#ItemLoadType option:contains(Filter)").attr("onclick", "Bizgaze.Apps.Transact.Controls.OrderItems.Instance().filterPopUp()");
  741. $("#" + instance.g_VisibleContainerId).find(".variant-list").empty();
  742. if (instance.g_IsPointsOrder) {
  743. instance._orderItems.loadItems('');
  744. }
  745. else {
  746. if (instance.g_IsSC_to_PC) {
  747. instance.bindSC_PC_Details(res);
  748. }
  749. else {
  750. Bizgaze.Apps.Transact.Components.OrderFilter.Instance().bindCustomerTags("Order");
  751. }
  752. }
  753. }
  754. if (LobId == 0) {
  755. $("#" + instance.g_VisibleContainerId).find("#div_lobid, #div_salespersonid").removeClass("hidden");
  756. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid").attr("disabled", "true");
  757. }
  758. if (res.IsMultipleLobs) {
  759. $("#" + instance.g_VisibleContainerId).find("#div_lobid, #div_salespersonid").removeClass("hidden");
  760. if (instance.g_OrderId == 0) {
  761. $("#" + instance.g_VisibleContainerId).find("#div_lobid, #div_salespersonid, .txtAutoComplete_lobid, .txtAutoComplete_salespersonid").removeAttr("disabled");
  762. }
  763. }
  764. if (instance.g_OrderId != 0) {
  765. $("#" + instance.g_VisibleContainerId).find("#div_lobid, #div_salespersonid").removeClass("hidden");
  766. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid, .txtAutoComplete_salespersonid").attr("disabled", "true");
  767. }
  768. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_salespersonid").attr("disabled", "true");
  769. if (!instance.g_IsPointsOrder) {
  770. if (res.SeriesId == 0) {
  771. instance.checkSeriesValidations(true);
  772. }
  773. else {
  774. $("#" + instance.g_VisibleContainerId).find('.section_Items').removeClass('hidden');
  775. }
  776. }
  777. }
  778. else {
  779. let msg = response.message;
  780. if (msg != "") {
  781. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid").empty();
  782. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid, .txtAutoComplete_salespersonid").attr("disabled", "disabled");
  783. }
  784. }
  785. instance.loadAutoCompletes();
  786. if (res.IsCashCustomer) {
  787. $("#" + instance.g_VisibleContainerId).find(".dropdown_paymentmethodid").val(1);
  788. }
  789. if (instance.g_IsChangePaymentMode == 0 && instance.g_IsAdmin == 0) {
  790. $("#" + instance.g_VisibleContainerId).find(".dropdown_paymentmethodid").attr("disabled", "disabled").css("cursor", "not-allowed");
  791. }
  792. instance.g_IsLeverageApplied = res.IsLeverageApplied;
  793. if (!instance.g_IsAdmin) {
  794. if (res.LeveragePercent != 0 && res.LeveragePercent != '' && res.LeveragePercent != undefined)
  795. instance.g_LeveragePercent = res.LeveragePercent;
  796. $("#" + instance.g_VisibleContainerId).find('.empLeverage').text(instance.g_LeveragePercent);
  797. }
  798. instance.customerOfferSummary();
  799. }
  800. loadAutoCompletes() {
  801. let instance = this;
  802. let id = $(".select2-results").find("ul").attr("id");
  803. let changedAutoComplete = "";
  804. if (id != undefined && id != null) {
  805. changedAutoComplete = $("#" + instance.g_VisibleContainerId).find("#" + id.replace("select2-", "").replace("-results", "")).attr("data-propertyname");
  806. }
  807. let OrgId = [
  808. { ColumnName: 'orgid', Value: instance.g_OrganizationId },
  809. ];
  810. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_orgcontactid"), OrgId);
  811. let Contact = [
  812. { ColumnName: 'contactid', Value: instance.g_OrganizationId },
  813. ];
  814. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) {
  815. if (changedAutoComplete != "billingaddressid") {
  816. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid"), Contact);
  817. }
  818. if (changedAutoComplete != "shippingaddressid") {
  819. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid"), Contact);
  820. }
  821. }
  822. else if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim) {
  823. if (changedAutoComplete != "branchid") {
  824. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billfromaddressid"), Contact);
  825. }
  826. if (changedAutoComplete != "shipfromaddressid") {
  827. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shipfromaddressid"), Contact);
  828. }
  829. }
  830. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) {
  831. let Parameters = [{ ColumnName: "companyid", Value: Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_companyid").val()) }];
  832. if (changedAutoComplete != "branchid") {
  833. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billfromaddressid"), Parameters);
  834. }
  835. if (changedAutoComplete != "shipfromaddressid") {
  836. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shipfromaddressid"), Parameters);
  837. }
  838. }
  839. else if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim) {
  840. let Parameters = [{ ColumnName: "companyid", Value: Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_companyid").val()) }];
  841. if (changedAutoComplete != "billingaddressid") {
  842. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid"), Parameters);
  843. }
  844. if (changedAutoComplete != "shippingaddressid") {
  845. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid"), Parameters);
  846. }
  847. }
  848. if (instance.g_IsDealer) {
  849. if ($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid").length == 1) {
  850. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_billingaddressid").addClass("hidden");
  851. }
  852. if ($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid").length == 1) {
  853. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_shippingaddressid").addClass("hidden");
  854. }
  855. if ($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billfromaddressid").length == 1) {
  856. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_billfromaddressid").addClass("hidden");
  857. }
  858. if ($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shipfromaddressid").length == 1) {
  859. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_shipfromaddressid").addClass("hidden");
  860. }
  861. }
  862. if (changedAutoComplete != "lobid") {
  863. let portalId = 0;
  864. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim)
  865. portalId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billfromaddressid").val());
  866. else
  867. portalId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid option:selected").val());
  868. let Parameters = [
  869. { ColumnName: 'contactaddressid', Value: portalId },
  870. ];
  871. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid"), Parameters);
  872. }
  873. if ($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_consultantid").length != 0) {
  874. let Parameters = [
  875. { ColumnName: 'companyid', Value: instance.g_CompanyId },
  876. ];
  877. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_consultantid"), Parameters);
  878. }
  879. if (changedAutoComplete != "salespersonid") {
  880. let LobId = 0;
  881. let OrganizationAddressId = 0;
  882. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) {
  883. LobId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid option:selected").val());
  884. OrganizationAddressId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid option:selected").val());
  885. }
  886. else if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim) {
  887. LobId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid option:selected").val());
  888. OrganizationAddressId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billfromaddressid option:selected").val());
  889. }
  890. let Parameters = [
  891. { ColumnName: 'lobid', Value: LobId },
  892. { ColumnName: 'contactaddressid', Value: OrganizationAddressId },
  893. ];
  894. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_salespersonid"), Parameters);
  895. }
  896. }
  897. autoCompleteEvents() {
  898. var instance = this;
  899. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shipfromaddressid").change(function () {
  900. let ShipFromAddressId = Number($("#" + instance.g_VisibleContainerId).find(this).val());
  901. if (ShipFromAddressId != 0) {
  902. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) {
  903. let LobId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid").val());
  904. let ShippingAddressId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid").val());
  905. instance.getOrderSettings(LobId, ShippingAddressId, ShipFromAddressId);
  906. instance._orderItems.loadItems($("#" + instance.g_VisibleContainerId).find("#txt_SearchItem").val(), true);
  907. }
  908. else {
  909. if (instance.g_OrderId == 0) {
  910. instance.loadLoBs();
  911. }
  912. }
  913. }
  914. });
  915. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid").on("select2:select", function () {
  916. let ShippingAddressId = Number($("#" + instance.g_VisibleContainerId).find(this).val());
  917. if (ShippingAddressId != 0) {
  918. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim) {
  919. let LobId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid").val());
  920. let ShipFromAddressId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shipfromaddressid").val());
  921. instance.getOrderSettings(LobId, ShippingAddressId, ShipFromAddressId);
  922. instance._orderItems.loadItems($("#" + instance.g_VisibleContainerId).find("#txt_SearchItem").val());
  923. }
  924. else {
  925. if (instance.g_OrderId == 0) {
  926. instance.loadLoBs();
  927. }
  928. }
  929. }
  930. });
  931. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_organizationid").change(function () {
  932. let OrganizationId = Number($("#" + instance.g_VisibleContainerId).find(this).val());
  933. if (OrganizationId > 0) {
  934. instance.changedOrganization();
  935. }
  936. else {
  937. if (instance.g_IsSC_to_PC) {
  938. $("#" + instance.g_VisibleContainerId).find(`.txtAutoComplete_billingaddressid, .txtAutoComplete_shippingaddressid, .txt_series_autocomplete,
  939. .txtAutoComplete_orgcontactid, .txtAutoComplete_consultantid`).attr("disabled", "true").empty();
  940. $("#" + instance.g_VisibleContainerId).find(".section_CartDetails").addClass("hidden");
  941. }
  942. }
  943. });
  944. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid").change(function () {
  945. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid").val($("#" + instance.g_VisibleContainerId).find(this).val());
  946. if ($("#" + instance.g_VisibleContainerId).find(this).val() != null && $("#" + instance.g_VisibleContainerId).find(this).val() != undefined) {
  947. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) {
  948. let BillingAddressId = Number($("#" + instance.g_VisibleContainerId).find(this).val());
  949. if (BillingAddressId != 0) {
  950. instance.g_CountryId = isNaN(Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid").attr("data-addldata"))) ? 0 : Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid").attr("data-addldata"));
  951. instance._orderItems.loadItems($("#" + instance.g_VisibleContainerId).find("#txt_SearchItem").val());
  952. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getAddressById(Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid").val())).then(function (res) {
  953. if (res.result.IsCashCustomer) {
  954. $("#" + instance.g_VisibleContainerId).find(".dropdown_paymentmethodid").val(1);
  955. }
  956. else {
  957. $("#" + instance.g_VisibleContainerId).find(".dropdown_paymentmethodid").val(0);
  958. }
  959. if (instance.g_IsChangePaymentMode == 0 && instance.g_IsAdmin == 0) {
  960. $("#" + instance.g_VisibleContainerId).find(".dropdown_paymentmethodid").attr("disabled", "disabled").css("cursor", "not-allowed");
  961. }
  962. });
  963. }
  964. }
  965. else {
  966. instance.loadDefaultSeries($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid option:selected").val());
  967. }
  968. }
  969. });
  970. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billfromaddressid").change(function () {
  971. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim) {
  972. let BillFromAddressId = Number($("#" + instance.g_VisibleContainerId).find(this).val());
  973. if (BillFromAddressId != 0) {
  974. instance.g_CountryId = isNaN(Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billfromaddressid").attr("data-addldata"))) ? 0 : Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billfromaddressid").attr("data-addldata"));
  975. instance._orderItems.loadItems($("#" + instance.g_VisibleContainerId).find("#txt_SearchItem").val());
  976. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getAddressById(Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billfromaddressid").val())).then(function (res) {
  977. if (res.result.IsCashCustomer) {
  978. $("#" + instance.g_VisibleContainerId).find(".dropdown_paymentmethodid").val(1);
  979. }
  980. else {
  981. $("#" + instance.g_VisibleContainerId).find(".dropdown_paymentmethodid").val(0);
  982. }
  983. if (instance.g_IsChangePaymentMode == 0 && instance.g_IsAdmin == 0) {
  984. $("#" + instance.g_VisibleContainerId).find(".dropdown_paymentmethodid").attr("disabled", "disabled").css("cursor", "not-allowed");
  985. }
  986. });
  987. }
  988. }
  989. else {
  990. instance.loadDefaultSeries($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid option:selected").val());
  991. }
  992. });
  993. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_companyid").change(function () {
  994. let CompanyId = Number($("#" + instance.g_VisibleContainerId).find(this).val());
  995. if (CompanyId != 0) {
  996. instance.loadAutoCompletes();
  997. }
  998. Bizgaze.Apps.CRM.Companies.Managers.CompanyManager.Instance().getBranches(CompanyId).then(function (comp_res) {
  999. let branch;
  1000. let branchid = 0;
  1001. if (comp_res.result != null) {
  1002. comp_res = comp_res.result.filter(x => x.StatusId == 1);
  1003. if (comp_res.length == 1) {
  1004. branchid = comp_res[0].BranchId;
  1005. branch = new Option(comp_res[0].BranchName + " - " + comp_res[0].ShortCode, branchid.toString(), true);
  1006. }
  1007. }
  1008. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) {
  1009. if (branchid != 0) {
  1010. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billfromaddressid, .txtAutoComplete_shipfromaddressid").empty().append(branch).val(branchid).trigger("change");
  1011. }
  1012. else {
  1013. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billfromaddressid, .txtAutoComplete_shipfromaddressid").empty().trigger("change");
  1014. }
  1015. }
  1016. else if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim) {
  1017. if (branchid != 0) {
  1018. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid, .txtAutoComplete_shippingaddressid").empty().append(branch).val(branchid).trigger("change");
  1019. }
  1020. else {
  1021. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid, .txtAutoComplete_shippingaddressid").empty().trigger("change");
  1022. }
  1023. }
  1024. $("#" + instance.g_VisibleContainerId).find(".section_Items").addClass("hidden");
  1025. });
  1026. });
  1027. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid").change(function () {
  1028. instance._orderItems.g_PageIndex = 0;
  1029. let LobId = Number($("#" + instance.g_VisibleContainerId).find(this).val());
  1030. if (LobId != 0) {
  1031. instance.bindOrderDetails(instance.g_OrganizationId, LobId);
  1032. $("#" + instance.g_VisibleContainerId).find("#ulOrder_Cart").html('<li id="0" class="cartitem list-group-item col-xs-12 hidden clear no-border"></li> <li class="list-group-item col-xs-12 no-border"><strong>Your Shopping Cart is empty.</strong></li>');
  1033. }
  1034. });
  1035. $("#" + instance.g_VisibleContainerId).find(".dropdown_istaxinclusive").change(function () {
  1036. if ($("#" + instance.g_VisibleContainerId).find(".dropdown_istaxinclusive").val() == "False") {
  1037. instance.g_IsTaxInclusive = false;
  1038. }
  1039. else if ($("#" + instance.g_VisibleContainerId).find(".dropdown_istaxinclusive").val() == "True") {
  1040. instance.g_IsTaxInclusive = true;
  1041. }
  1042. instance._orderItems.getTotals();
  1043. });
  1044. $("#" + instance.g_VisibleContainerId).find(".hrefSection_MoreOptions").click(function () {
  1045. if ($("#" + instance.g_VisibleContainerId).find(".hrefSection_MoreOptions").text() == 'Less Options') {
  1046. $("#" + instance.g_VisibleContainerId).find(".hrefSection_MoreOptions").text('More Options');
  1047. $("#" + instance.g_VisibleContainerId).find(".section_AdvancedOptions").addClass('hidden');
  1048. }
  1049. else if ($("#" + instance.g_VisibleContainerId).find(".hrefSection_MoreOptions").text() == 'More Options') {
  1050. $("#" + instance.g_VisibleContainerId).find(".hrefSection_MoreOptions").text('Less Options');
  1051. $("#" + instance.g_VisibleContainerId).find(".section_AdvancedOptions").removeClass('hidden');
  1052. }
  1053. });
  1054. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_paymenttermid").change(function () {
  1055. instance.loadPaymentTermConditions();
  1056. });
  1057. }
  1058. setCurrentDate(elem) {
  1059. let localToday = new Date();
  1060. $("." + elem).daterangepicker({
  1061. locale: {
  1062. format: 'MM/DD/YYYY',
  1063. firstDay: 1,
  1064. },
  1065. singleDatePicker: true,
  1066. showDropdowns: true,
  1067. minYear: 1901,
  1068. maxDate: new Date(2050, 11, 31),
  1069. startDate: localToday
  1070. });
  1071. $("." + elem).val("");
  1072. }
  1073. prependCustomerLink() {
  1074. let instance = this;
  1075. let ContactName = $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_organizationid option:selected").text();
  1076. let html = '<div class="OrgContact_Details OrgContactNameLink padder-v"><u class="flex-between-center"><b><a href="javascript:;" class="_OrgContactDetailslink" onclick="Bizgaze.Apps.Transact.Controls.Order.Instance().customerLink();">' + ContactName + '</a></b><i class="fa fa-close pull-right" id="orgContact_back" onclick="Bizgaze.Apps.Transact.Controls.Order.Instance().back()"></i></u></div>';
  1077. $("#" + instance.g_VisibleContainerId).find(".section_ContactName").prepend(html).addClass("card pa-15");
  1078. }
  1079. customerLink() {
  1080. var instance = this;
  1081. if ($("#" + instance.g_VisibleContainerId).find(".section_OrderDetails").hasClass('hidden') && !instance.g_IsPointsOrder) {
  1082. $("#" + instance.g_VisibleContainerId).find(".section_OrderDetails, .section_CustomerCreditHealth, .section_SalesFrequency, .section_CustomerOfferSummary").removeClass('hidden');
  1083. }
  1084. else {
  1085. $("#" + instance.g_VisibleContainerId).find(".section_OrderDetails, .section_CustomerCreditHealth, .section_SalesFrequency, .section_CustomerOfferSummary").addClass('hidden');
  1086. }
  1087. if ($("#" + instance.g_VisibleContainerId).find(".hrefSection_MoreOptions").text() == 'Less Options') {
  1088. $("#" + instance.g_VisibleContainerId).find(".section_AdvancedOptions").addClass('hidden');
  1089. $("#" + instance.g_VisibleContainerId).find(".hrefSection_MoreOptions").text('More Options');
  1090. }
  1091. }
  1092. bindOrgContact(response) {
  1093. let instance = this;
  1094. if (response != null) {
  1095. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getOrgContact(response.result.DefaultContactPointId).then(function (orgResponse) {
  1096. if (orgResponse != null) {
  1097. if (orgResponse.result.OrgContactName != null && orgResponse.result.OrgContactName != undefined) {
  1098. let OrgContactName = orgResponse.result.OrgContactName.substring(orgResponse.result.OrgContactName.toString().indexOf("-") + 2);
  1099. let OrgContact = new Option(OrgContactName, orgResponse.result.OrgContactId.toString(), true);
  1100. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_orgcontactid").empty();
  1101. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_orgcontactid").append(OrgContact);
  1102. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_orgcontactid").val(orgResponse.result.OrgContactId);
  1103. }
  1104. }
  1105. });
  1106. }
  1107. }
  1108. loadDefaultSeries(LoBId) {
  1109. let instance = this;
  1110. let BranchId;
  1111. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim)
  1112. BranchId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid").val());
  1113. else
  1114. BranchId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billfromaddressid").val());
  1115. if (BranchId != 0) {
  1116. let seriesId = $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid option:first").val();
  1117. if (seriesId == "0" || seriesId == "") {
  1118. $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").find('option').get(0).remove();
  1119. seriesId = $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid option:first").val();
  1120. }
  1121. $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").val(seriesId);
  1122. let InstalledAppId = Unibase.Platform.Forms.Components.FormViewer.instance.FormInstalledAppId;
  1123. let IsSeriesIssue = false;
  1124. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getSeriesSettings(Number(LoBId), BranchId, InstalledAppId).then(function (response) {
  1125. let data = response.result;
  1126. if (data.length != 0) {
  1127. $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").empty();
  1128. for (let s = 0; s < data.length; s++) {
  1129. if (data[0].SeriesStatusId != 1) {
  1130. IsSeriesIssue = true;
  1131. instance.checkSeriesValidations(IsSeriesIssue);
  1132. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Configured Series ('" + data[0].SeriesName + "') is De-Activated. Please Activate/Re-Configure the Series to Continue.");
  1133. return false;
  1134. }
  1135. else {
  1136. let Series = new Option(data[s].SeriesName, data[s].SeriesId, true);
  1137. $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").append(Series);
  1138. $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").val(data[s].SeriesId);
  1139. }
  1140. }
  1141. $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").val(data[0].SeriesId);
  1142. }
  1143. else {
  1144. Unibase.Platform.Series.Managers.SeriesManager.Instance().getActiveSeries(0, InstalledAppId).then(function (response) {
  1145. let data = response.result;
  1146. if (data != null) {
  1147. if (data.length != 0) {
  1148. $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").empty();
  1149. for (let s = 0; s < data.length; s++) {
  1150. let Series = new Option(data[s].SeriesName, data[s].SeriesId.toString(), true);
  1151. $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").append(Series);
  1152. $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").val(data[s].SeriesId);
  1153. }
  1154. $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").val(data[0].SeriesId);
  1155. }
  1156. }
  1157. });
  1158. }
  1159. instance.checkSeriesValidations(IsSeriesIssue);
  1160. });
  1161. }
  1162. }
  1163. checkSeriesValidations(IsError = false) {
  1164. let instance = this;
  1165. if (IsError) {
  1166. $("#" + instance.g_VisibleContainerId).find('.section_Items').addClass('hidden');
  1167. $("#" + instance.g_VisibleContainerId).find(".txt_series_autocomplete").empty();
  1168. $("#" + instance.g_VisibleContainerId).find(".txt_series_autocomplete").attr("disabled", "true");
  1169. }
  1170. else {
  1171. $("#" + instance.g_VisibleContainerId).find('.section_Items').removeClass('hidden');
  1172. $("#" + instance.g_VisibleContainerId).find(".txt_series_autocomplete").removeAttr("disabled");
  1173. }
  1174. let BranchId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shipfromaddressid").val());
  1175. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim) {
  1176. BranchId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid").val());
  1177. }
  1178. if (BranchId == 0) {
  1179. $("#" + instance.g_VisibleContainerId).find('.section_Items').addClass('hidden');
  1180. }
  1181. }
  1182. loadLoBs() {
  1183. let instance = this;
  1184. let portalId;
  1185. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim)
  1186. portalId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billfromaddressid").val());
  1187. else
  1188. portalId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid option:selected").val());
  1189. this.fileCacheHelper.loadJsFile("apps/crm/lobs/managers/lobmanager.js", function () {
  1190. if (!isNaN(portalId)) {
  1191. Bizgaze.Apps.CRM.Lobs.Managers.LobManager.Instance().getLobsByAddressId(portalId).then(function (response) {
  1192. let msg = response.message;
  1193. let data = response.result;
  1194. $("#" + instance.g_VisibleContainerId).find("#div_lobid, #div_salespersonid").removeClass("hidden");
  1195. $("#" + instance.g_VisibleContainerId).find("#div_lobid, #div_salespersonid, .txtAutoComplete_lobid").removeAttr("disabled");
  1196. $("#" + instance.g_VisibleContainerId).find("#div_salespersonid").removeClass("hidden");
  1197. if (msg != "" && data == "") {
  1198. Unibase.Platform.Forms.Components.FormViewer.Instance().showError(msg);
  1199. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid").empty();
  1200. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid, .txtAutoComplete_salespersonid").attr("disabled", "disabled");
  1201. return false;
  1202. }
  1203. if (data != null) {
  1204. if (data.length > 0) {
  1205. instance.g_TagGroupId = data[0].TagGroupId;
  1206. if (data.length >= 1) {
  1207. let LobDetails = new Option(data[0].LobName, data[0].LobId, true);
  1208. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid").append(LobDetails);
  1209. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid").val(data[0].LobId);
  1210. let LobId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid").val());
  1211. let BillingAddressId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid").val());
  1212. let ShippingAddressId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid").val());
  1213. let BranchId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billfromaddressid").val());
  1214. let ShipFromAddressId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shipfromaddressid").val());
  1215. instance.getInventoryApplyType(LobId, BillingAddressId, BranchId);
  1216. instance.getCategorySettings(LobId, BillingAddressId, BranchId);
  1217. instance.getOrderSettings(LobId, ShippingAddressId, ShipFromAddressId);
  1218. instance.getItemDisplaySettings(LobId, BillingAddressId, BranchId);
  1219. instance._orderItems.itemSettings();
  1220. instance._orderItems.loadItems('');
  1221. instance.salesPersonAutoComplete();
  1222. instance.loadDefaultSeries($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid option:selected").val());
  1223. if (Number($("#" + instance.g_VisibleContainerId).find(".hdn_orderid").val()) == 0 && !instance.g_IsSC_to_PC) {
  1224. $("#" + instance.g_VisibleContainerId).find('.section_Items').removeClass('hidden');
  1225. }
  1226. instance.getPriceCodeDetails(instance.g_OrganizationId, instance.g_OrgContactId, $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid").val());
  1227. $("#" + instance.g_VisibleContainerId).find("#div_lobid, #div_salespersonid").removeClass("hidden");
  1228. if (data.length == 1) {
  1229. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid").attr("disabled", "true");
  1230. }
  1231. }
  1232. else {
  1233. if (!instance.g_IsPointsOrder) {
  1234. $("#" + instance.g_VisibleContainerId).find('.section_OrderDetails').removeClass('hidden');
  1235. }
  1236. }
  1237. }
  1238. }
  1239. });
  1240. }
  1241. });
  1242. instance.loadAutoCompletes();
  1243. }
  1244. getPriceCodeDetails(OrganizationId, OrgcontactId, LoBId) {
  1245. let instance = this;
  1246. let contactId = OrganizationId;
  1247. if (contactId == 0)
  1248. contactId = OrgcontactId;
  1249. Bizgaze.Apps.Transact.Managers.PriceListManager.Instance().getPriceCodeByContact(contactId, LoBId).then(function (response) {
  1250. if (response != null && response.result != null) {
  1251. instance.g_PriceCodeId = response.result.PriceCodeId;
  1252. instance.g_PriceCodeName = response.result.PriceCodeName;
  1253. $("#" + instance.g_VisibleContainerId).find('#hfOrder_IsSeperateExcise').val(response.result.IsSeperateExcise);
  1254. if ($("#" + instance.g_VisibleContainerId).find("#chk_PriceCodeId").is(':checked')) {
  1255. instance.g_PriceCodeId = response.result.AdvancePriceCodeId;
  1256. instance.g_PriceCodeName = "";
  1257. }
  1258. }
  1259. if (instance.g_PriceCodeId == undefined || instance.g_PriceCodeId == null) {
  1260. instance.g_PriceCodeId = 0;
  1261. }
  1262. });
  1263. }
  1264. loadPaymentTermConditions() {
  1265. let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  1266. Bizgaze.Apps.Transact.Managers.PaymentTermManager.Instance().getPaymentTerm(Number($("#" + VisibleContainerId).find('.txtAutoComplete_paymenttermid').val())).then(function (response) {
  1267. let info = response.result;
  1268. if (info != null && info != "") {
  1269. let Terms = "";
  1270. if (info.Terms != null) {
  1271. Terms = HtmlHelper.getHelper().decode(info.Terms);
  1272. }
  1273. if (Terms != "<p><br></p>" && Terms != "") {
  1274. $("#" + VisibleContainerId).find(".divCustomProperties_terms").addClass('floating-label-form-group-with-value');
  1275. }
  1276. else {
  1277. $("#" + VisibleContainerId).find(".divCustomProperties_terms").removeClass('floating-label-form-group-with-value');
  1278. }
  1279. let id = $("#" + VisibleContainerId).find(".divCustomProperties_terms").attr("id").replace("control-container-", "");
  1280. $("#" + VisibleContainerId).find("#txt_" + id).html(Terms);
  1281. $("#" + VisibleContainerId).find("#txt_" + id).val($("#" + VisibleContainerId).find("#txt_" + id)[0].textContent);
  1282. }
  1283. });
  1284. }
  1285. salesPersonAutoComplete() {
  1286. let instance = this;
  1287. let LobId = 0;
  1288. let OrganizationAddressId = 0;
  1289. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) {
  1290. LobId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid option:selected").val());
  1291. OrganizationAddressId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid option:selected").val());
  1292. }
  1293. else if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim) {
  1294. LobId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid option:selected").val());
  1295. OrganizationAddressId = Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shipfromaddressid option:selected").val());
  1296. }
  1297. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getManagerDetails(LobId, OrganizationAddressId).then(function (response) {
  1298. if (response.result != null && response.result != "") {
  1299. let data = response.result;
  1300. let SalesPerson = new Option(data.ManagerName, data.EmployeeId, true);
  1301. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_salespersonid").empty().append(SalesPerson);
  1302. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_salespersonid").val(data.EmployeeId);
  1303. instance.bindOrgContact(response);
  1304. }
  1305. else {
  1306. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Sales Person not found");
  1307. }
  1308. });
  1309. if (Number($("#" + instance.g_VisibleContainerId).find(".hdn_orderid").val()) == 0) {
  1310. instance.loadDefaultPaymentTerm(LobId);
  1311. }
  1312. instance.loadAutoCompletes();
  1313. }
  1314. loadDefaultPaymentTerm(LobId) {
  1315. let instance = this;
  1316. Bizgaze.Apps.Transact.Managers.PaymentTermManager.Instance().getPaymentTermByOrg(instance.g_OrganizationId, LobId).then(function (response) {
  1317. let paymentterm = response.result;
  1318. if (paymentterm != null) {
  1319. let PaymentTerm = new Option(paymentterm.PaymentTermName, paymentterm.PaymentTermId, true);
  1320. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_paymenttermid").append(PaymentTerm);
  1321. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_paymenttermid").val(paymentterm.PaymentTermId);
  1322. instance.loadPaymentTermConditions();
  1323. }
  1324. });
  1325. }
  1326. purchasePlanEvents() {
  1327. var instance = this;
  1328. $("#" + instance.g_VisibleContainerId).find("#select2_CompanyId").change(function () {
  1329. let Ids = instance.getCompanyIds();
  1330. if (Ids == "")
  1331. Ids = "0";
  1332. let url = _appsettings.server_url() + '/apis/v4/bizgaze/crm/companies/getbranchesbycompaniesAutoComplete/companyids/' + Ids;
  1333. AutoCompleteHelper.getHelper().Create("#select2_BranchId", "#hfAutoComplete_Branch", url, null);
  1334. });
  1335. $("#" + instance.g_VisibleContainerId).find('#chkSection_GenerateForAllBranches').click(function () {
  1336. if ($("#" + instance.g_VisibleContainerId).find('#chkSection_GenerateForAllBranches').is(':checked')) {
  1337. $("#" + instance.g_VisibleContainerId).find("#select2_BranchId").val(null).trigger('change');
  1338. $("#" + instance.g_VisibleContainerId).find("#select2_CompanyId").val(null).trigger('change');
  1339. $("#" + instance.g_VisibleContainerId).find("#select2_CompanyId").prop('disabled', true);
  1340. $("#" + instance.g_VisibleContainerId).find("#select2_BranchId").prop('disabled', true);
  1341. }
  1342. else {
  1343. $("#" + instance.g_VisibleContainerId).find("#select2_CompanyId").removeAttr('disabled');
  1344. $("#" + instance.g_VisibleContainerId).find("#select2_BranchId").removeAttr('disabled');
  1345. }
  1346. });
  1347. }
  1348. editForm() {
  1349. let instance = this;
  1350. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase) {
  1351. $("#" + instance.g_VisibleContainerId).find("#divSectionProperties_GeneratePurchasePlan").addClass('hidden');
  1352. }
  1353. instance.g_OrgContactId = Number($("#" + instance.g_VisibleContainerId).find('.txtAutoComplete_orgcontactid').val());
  1354. instance.g_OrganizationId = Number($("#" + instance.g_VisibleContainerId).find('.txtAutoComplete_organizationid').val());
  1355. instance.g_CompanyId = Number($("#" + instance.g_VisibleContainerId).find('.txtAutoComplete_companyid').val());
  1356. let OrganizationTypeId = 0;
  1357. let orgtype = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_organizationtypeid");
  1358. if (orgtype != undefined) {
  1359. OrganizationTypeId = Number(orgtype.Value);
  1360. }
  1361. if (OrganizationTypeId == 2 || instance.g_OrgContactId == 0) {
  1362. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_orgcontactid").addClass("hidden");
  1363. }
  1364. instance.checkPermissions();
  1365. instance.loadAutoCompletes();
  1366. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_description").removeClass("col-sm-6").addClass("col-sm-12");
  1367. $("#" + instance.g_VisibleContainerId).find(".section_PriceDetails").addClass("hidden");
  1368. if (instance.g_IsChangePaymentTerm == 0 && instance.g_IsAdmin == 0) {
  1369. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_paymenttermid").attr("disabled", "disabled").css("cursor", "not-allowed");
  1370. }
  1371. if (instance.g_IsChangePaymentMode == 0 && instance.g_IsAdmin == 0) {
  1372. $("#" + instance.g_VisibleContainerId).find(".dropdown_paymentmethodid").attr("disabled", "disabled").css("cursor", "not-allowed");
  1373. }
  1374. instance.prependCustomerLink();
  1375. if ($("#" + instance.g_VisibleContainerId).find("#chk_advanceorder").prop("checked")) {
  1376. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_advanceorderdate").removeClass("hidden");
  1377. }
  1378. if ($("#" + instance.g_VisibleContainerId).find("#chk_futureorder").prop("checked")) {
  1379. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_futureorderdate").removeClass("hidden");
  1380. }
  1381. $("#" + instance.g_VisibleContainerId).find("#btn_Save").removeClass('hidden');
  1382. $("#" + instance.g_VisibleContainerId).find(".btn_Save_Form").removeClass("hidden");
  1383. $("#" + instance.g_VisibleContainerId).find(".section_OrderDetails").addClass('mt-10');
  1384. $("#" + instance.g_VisibleContainerId).find(".section_AdvancedOptions").addClass("hidden");
  1385. $("#" + instance.g_VisibleContainerId).find(".section_ContactName").find(".card-body").addClass("hidden");
  1386. if (instance.g_IsDealer) {
  1387. $("#" + instance.g_VisibleContainerId).find("#orgContact_back").addClass("hidden");
  1388. if ($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid").length == 1) {
  1389. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_billingaddressid").addClass("hidden");
  1390. }
  1391. if ($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid").length == 1) {
  1392. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_shippingaddressid").addClass("hidden");
  1393. }
  1394. if ($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billfromaddressid").length == 1) {
  1395. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_billfromaddressid").addClass("hidden");
  1396. }
  1397. if ($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shipfromaddressid").length == 1) {
  1398. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_shipfromaddressid").addClass("hidden");
  1399. }
  1400. }
  1401. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_companyid").prop('disabled', true);
  1402. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid, .txtAutoComplete_salespersonid").prop('disabled', true);
  1403. }
  1404. resetAllVariables() {
  1405. let instance = this;
  1406. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_orgcontactid").removeClass("hidden");
  1407. instance.g_LoadOffersOnly = false;
  1408. instance.g_LoadEligibleItemsOnly = false;
  1409. instance._orderItems.g_TagArray = [];
  1410. instance._orderItems.g_FilteredTags = '';
  1411. instance._orderItems.g_PageIndex = 0;
  1412. instance._orderItems.g_LoadedItems = [];
  1413. instance._orderItems.g_SelectedItems = [];
  1414. instance._orderItems.g_CartItems_New = [];
  1415. instance._orderItems.g_SC_PC_CartItems = [];
  1416. instance._orderItems.g_ItemsUnitPrice_New = [];
  1417. instance._orderItems.g_IsEnableCompositePrice = false;
  1418. instance._orderItems.g_IsEnablePiecePrice = false;
  1419. instance._orderItems.g_IsEnableCompositePiecePrice = false;
  1420. instance._orderItems.g_ValidFocItems = [];
  1421. instance._orderItems.g_AppliedOffers = [];
  1422. instance._orderItems.g_FromWidget = false;
  1423. instance.g_IsSC_to_PC = false;
  1424. instance.g_IsFromPurchaseIndent = false;
  1425. instance._orderItems.g_IsCategory = false;
  1426. instance._orderItems.g_FromWidgetEditOrderItemId = 0;
  1427. Bizgaze.Apps.Transact.Components.OrderFilter.Instance().g_Tags = "";
  1428. Bizgaze.Apps.Transact.Components.OrderFilter.Instance().g_TagArray = [];
  1429. Bizgaze.Apps.Transact.Components.OrderFilter.Instance().g_OnlyFilters = false;
  1430. Bizgaze.Apps.Transact.Components.Invoices.ItemOfferSelection.Instance().Bizgaze_Transact_Selected_Plan = [];
  1431. Bizgaze.Apps.Transact.Components.Invoices.ItemOfferSelection.Instance().g_Selected_Plan = [];
  1432. if ($("#" + instance.g_VisibleContainerId).find(".hrefSection_MoreOptions").text() == 'Less Options') {
  1433. $("#" + instance.g_VisibleContainerId).find(".section_AdvancedOptions").addClass('hidden');
  1434. $("#" + instance.g_VisibleContainerId).find(".hrefSection_MoreOptions").text('More Options');
  1435. }
  1436. if ($("#" + instance.g_VisibleContainerId).find("#Bizgaze-messageInfo").text() != null) {
  1437. $("#" + instance.g_VisibleContainerId).find(".bizgaze_FormErrorMessages").empty();
  1438. }
  1439. $("#" + instance.g_VisibleContainerId).find("#ulOrder_Cart").empty();
  1440. $("#" + instance.g_VisibleContainerId).find("#totalOrderItems").text('0');
  1441. $("#" + instance.g_VisibleContainerId).find("#OverallOrderQuantity").text('0');
  1442. $("#" + instance.g_VisibleContainerId).find("#lblSummary_GrossAmount").text('0.0');
  1443. $("#" + instance.g_VisibleContainerId).find("#lblSummary_TotalDiscount").text('0.0');
  1444. $("#" + instance.g_VisibleContainerId).find("#lblSummary_AssessableTotal").text('0.0');
  1445. $("#" + instance.g_VisibleContainerId).find("#lblSummary_TDSTotal").text('0.0');
  1446. $("#" + instance.g_VisibleContainerId).find("#lblSummary_TaxTotal").text('0.0');
  1447. $("#" + instance.g_VisibleContainerId).find("#lblSummary_ScrapDiscountAmount").text('0.0');
  1448. $("#" + instance.g_VisibleContainerId).find("#lblSummary_NetTotal").text('0.0');
  1449. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_organizationid, .txtAutoComplete_orgcontactid, .txtAutoComplete_billingaddressid, .txtAutoComplete_shippingaddressid, .txtAutoComplete_lobid, .txtAutoComplete_salespersonid").text('').val(0);
  1450. $("#" + instance.g_VisibleContainerId).find("#txt_SearchItem").val('');
  1451. $("#" + instance.g_VisibleContainerId).find(".div_SearchItem").removeClass("floating-label-form-group-with-value");
  1452. $("#" + instance.g_VisibleContainerId).find(".dropdown_paymentmethodid").val(0);
  1453. $("#" + instance.g_VisibleContainerId).find('.leverage-Warning').addClass('hidden');
  1454. if (instance.g_IsPointsOrder) {
  1455. instance.g_LoyaltyPoints = 0;
  1456. $("#" + instance.g_VisibleContainerId).find(".LoyaltyPointsDetails").remove();
  1457. }
  1458. }
  1459. showOrHideSaveAsDraft(IsMandatoryIssue = false) {
  1460. let instance = this;
  1461. if (instance.g_ShowSaveAsDraft && !IsMandatoryIssue) {
  1462. $("#" + instance.g_VisibleContainerId).find(".btn_OrderSaveAsDraft").removeClass('hidden');
  1463. $("#" + instance.g_VisibleContainerId).find("#btn_CloseForm_" + $("#" + instance.g_VisibleContainerId).find("#hf_FormId").val()).removeClass("mr-auto");
  1464. }
  1465. else {
  1466. $("#" + instance.g_VisibleContainerId).find(".btn_OrderSaveAsDraft").addClass('hidden');
  1467. $("#" + instance.g_VisibleContainerId).find("#btn_CloseForm_" + $("#" + instance.g_VisibleContainerId).find("#hf_FormId").val()).addClass("mr-auto");
  1468. }
  1469. }
  1470. checkout() {
  1471. let instance = this;
  1472. $(".order-cart-list").removeAttr("style");
  1473. $("#" + instance.g_VisibleContainerId).find(".modal-body").scrollTop(0);
  1474. let cont_id = $("#" + instance.g_VisibleContainerId).find("._bizgaze_popup_container:visible").attr("id");
  1475. $("#" + instance.g_VisibleContainerId).find("#" + cont_id).find("#btnDynamicSave").css("cursor", "pointer");
  1476. if ($('#addedCategoriesList .cart-cat-card').length) {
  1477. $("#" + instance.g_VisibleContainerId).find('#ulOrder_Cart .cart-item-chk').removeClass('d-none');
  1478. }
  1479. else {
  1480. $("#" + instance.g_VisibleContainerId).find('#ulOrder_Cart .cart-item-chk').addClass('d-none');
  1481. }
  1482. $("#" + instance.g_VisibleContainerId).find(".dropdown_division").val("10");
  1483. let CartItems = instance._orderItems.g_CartItems_New.filter(x => x.BaseQty != 0);
  1484. if (CartItems.length > 10) {
  1485. $("#" + instance.g_VisibleContainerId).find(".CartItemFindTxt").removeClass('hidden');
  1486. }
  1487. else {
  1488. $("#" + instance.g_VisibleContainerId).find(".CartItemFindTxt").addClass('hidden');
  1489. }
  1490. if (instance.g_IsApprovalRequired == true) {
  1491. $("#" + instance.g_VisibleContainerId).find('.empLeverage').text(instance.g_LeveragePercent.toString());
  1492. if ($("#" + instance.g_VisibleContainerId).find('.leverage-Warning').hasClass('hidden'))
  1493. $("#" + instance.g_VisibleContainerId).find('.leverage-Warning').removeClass('hidden');
  1494. }
  1495. else {
  1496. if (!$("#" + instance.g_VisibleContainerId).find('.leverage-Warning').hasClass('hidden'))
  1497. $("#" + instance.g_VisibleContainerId).find('.leverage-Warning').addClass('hidden');
  1498. }
  1499. $("#" + instance.g_VisibleContainerId).find(".modal-body").scrollTop(0);
  1500. if (instance.g_IsChangePaymentTerm == 0 && instance.g_IsAdmin == 0) {
  1501. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_paymenttermid").attr("disabled", "disabled").css("cursor", "not-allowed");
  1502. }
  1503. if (instance.g_IsChangePaymentMode == 0 && instance.g_IsAdmin == 0) {
  1504. $("#" + instance.g_VisibleContainerId).find(".dropdown_paymentmethodid").attr("disabled", "disabled").css("cursor", "not-allowed");
  1505. }
  1506. let CalculateTax = instance.g_IsCalculateTax;
  1507. let IsMandatoryIssue = false;
  1508. if (!CalculateTax) {
  1509. $("#" + instance.g_VisibleContainerId).find("#TotalTax").addClass("hidden");
  1510. $("#" + instance.g_VisibleContainerId).find(".divCustomProperties_istaxinclusive").addClass("hidden");
  1511. }
  1512. if ($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_organizationid").text() != "" || $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_organizationid").text() != null) {
  1513. if ($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_organizationid").val() != '') {
  1514. IsMandatoryIssue = true;
  1515. if ($("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").val() == null || $("#" + instance.g_VisibleContainerId).find(".txtSeriesAutoComplete_seriesid").val() == "") {
  1516. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select Series");
  1517. }
  1518. else if ($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid").val() == null || $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid").val() == "")
  1519. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select LoB");
  1520. else if ($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_salespersonid").val() == null || $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_salespersonid").val() == "")
  1521. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select Sales Person");
  1522. else if ($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid").val() == null || $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid").val() == null || $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_lobid").val() == null || $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid").val() == "" || $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid").val() == "")
  1523. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Assign Address");
  1524. else {
  1525. IsMandatoryIssue = false;
  1526. $("#" + instance.g_VisibleContainerId).find("#btn_CloseForm").removeClass('mr-auto');
  1527. $("#" + instance.g_VisibleContainerId).find(".section_CartDetails").addClass('mt-10');
  1528. $("#" + instance.g_VisibleContainerId).find("#btn_Save, .section_CartDetails, .section_Summary, #dropup_save, #btn_Save_New, .btn_Save_Form, .section_PriceDetails").removeClass('hidden');
  1529. $("#" + instance.g_VisibleContainerId).find(".CheckOutButton, .OrgContactNameLink, .section_CustomerOfferSummary, .section_CustomerCreditHealth, .section_PurchasePlanSummary, .section_PurchasePlan, .section_SalesFrequency, .section_OrderDetails, .section_AdvancedOptions, .section_Items, .section_LoyaltyPoints, .section_ContactName").addClass('hidden');
  1530. }
  1531. }
  1532. else {
  1533. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select Contact");
  1534. }
  1535. }
  1536. instance.showOrHideSaveAsDraft(IsMandatoryIssue);
  1537. if (instance.g_IsPointsOrder) {
  1538. let TotalCartQty = 0;
  1539. instance._orderItems.g_CartItems_New.forEach(x => TotalCartQty += x.BaseQty);
  1540. $("#" + instance.g_VisibleContainerId).find("#OverallOrderQuantity").text(TotalCartQty);
  1541. }
  1542. let Items_ZeroQty = instance._orderItems.g_CartItems_New.filter(x => x.BaseQty == 0);
  1543. Items_ZeroQty.forEach(function (c) {
  1544. instance._orderItems.deleteCartItems(c.ItemId, false);
  1545. });
  1546. let FocItems = instance._orderItems.g_CartItems_New.filter(x => x.IsFocItem == true);
  1547. FocItems.forEach(function (c) {
  1548. instance._orderItems.deleteCartItems(c.ItemId, false, c.RefItemIds);
  1549. });
  1550. if (Items_ZeroQty.length == 0 && FocItems.length == 0) {
  1551. instance._orderItems.checkOffers(false, "Checkout");
  1552. }
  1553. }
  1554. saveAsDraft() {
  1555. let instance = this;
  1556. let InstalledAppId = Unibase.Platform.Forms.Components.FormViewer.instance.InstalledAppId;
  1557. let RefStatusId = Bizgaze.Apps.Transact.Enums.OrderStatus.Draft;
  1558. Unibase.Platform.Apps.Managers.StageManager.Instance().getStagesByInstalledAppandRefStatus(InstalledAppId, RefStatusId).then(function (response) {
  1559. $("#" + instance.g_VisibleContainerId).find(".hdn_stageid").val(response.result.StageId);
  1560. $("#" + instance.g_VisibleContainerId).find("#btnDynamicSave").click();
  1561. });
  1562. }
  1563. back() {
  1564. let instance = this;
  1565. if (Number($("#" + instance.g_VisibleContainerId).find(".hdn_orderid").val()) != 0) {
  1566. $("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billingaddressid, .txtAutoComplete_shippingaddressid").attr("disabled", "true");
  1567. $("#" + instance.g_VisibleContainerId).find(".OrgContact_Details").addClass('hidden');
  1568. $("#" + instance.g_VisibleContainerId).find(".section_ContactName").addClass("card").removeClass("pa-15");
  1569. $("#" + instance.g_VisibleContainerId).find(".section_ContactName").find(".card-body").removeClass("hidden");
  1570. if (Number($("#" + instance.g_VisibleContainerId).find(".hdn_orderid").val()) == 0 || instance.g_IsSC_to_PC) {
  1571. $("#" + instance.g_VisibleContainerId).find(".section_PriceDetails, .section_Summary, #dropup_save").removeClass('hidden');
  1572. }
  1573. }
  1574. else {
  1575. instance.resetAllVariables();
  1576. $("#" + instance.g_VisibleContainerId).find(".Section").addClass("hidden");
  1577. $("#" + instance.g_VisibleContainerId).find(".section_ContactName").removeClass("hidden");
  1578. $("#" + instance.g_VisibleContainerId).find(".section_ContactName").addClass("card").removeClass("pa-15");
  1579. $("#" + instance.g_VisibleContainerId).find(".section_ContactName").find(".card-body").removeClass("hidden");
  1580. $("#" + instance.g_VisibleContainerId).find(".OrgContact_Details").remove();
  1581. $("#" + instance.g_VisibleContainerId).find(".CheckOutButton").addClass("hidden");
  1582. }
  1583. }
  1584. customerOfferSummary() {
  1585. let instance = this;
  1586. let Prev = "";
  1587. $("#" + instance.g_VisibleContainerId).find("#OfferSummary").html('<li class="list-group-item hidden " id="OfferSummarList"> </li>');
  1588. let contactId = instance.g_OrganizationId;
  1589. if (contactId == null || contactId == undefined)
  1590. contactId = instance.g_OrgContactId;
  1591. Bizgaze.Apps.Transact.Managers.OfferManager.Instance().getCustomerPlanData(contactId, Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_salespersonid").val()), Number($("#" + instance.g_VisibleContainerId).find(".txtAutoComplete_billfromaddressid").val()), 0, "Plans", false, 0, null).then(function (response) {
  1592. let planwise = "Plans";
  1593. let data = response.result;
  1594. if (data != "") {
  1595. $("#" + instance.g_VisibleContainerId).find(".span_ListOfferSummary_count").text(data.length);
  1596. let formula = $("#" + instance.g_VisibleContainerId).find('#hfFormula').val();
  1597. for (let j = 0; j < data.length; j++) {
  1598. let EarnPoints = data[j].EarnPoints;
  1599. let CurrentVolume = data[j].CurrentVolume;
  1600. let PrevEarn = data[j].PrevEarn;
  1601. if (PrevEarn == undefined)
  1602. PrevEarn = 0;
  1603. let PrevQuantity = data[j].PrevQuantity;
  1604. if (PrevQuantity == undefined)
  1605. PrevQuantity = 0;
  1606. if (formula != undefined && formula != '') {
  1607. EarnPoints = Number(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(eval(formula.replace("{{qty}}", EarnPoints)), 2));
  1608. CurrentVolume = Number(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(eval(formula.replace("{{qty}}", CurrentVolume)), 2));
  1609. PrevEarn = Number(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(eval(formula.replace("{{qty}}", PrevEarn)), 2));
  1610. PrevQuantity = Number(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(eval(formula.replace("{{qty}}", PrevQuantity)), 2));
  1611. }
  1612. let X = "";
  1613. let Data = data[j];
  1614. let slab = Data.NextSlab;
  1615. let html = "";
  1616. let ShortFall = 0;
  1617. if (slab != 0 && slab != "NA")
  1618. ShortFall = slab - Data.CurrentVolume;
  1619. let OfferName = "";
  1620. if (planwise == "Plan")
  1621. OfferName = Data.OfferName;
  1622. else
  1623. OfferName = Data.OfferName;
  1624. html += '<li class="list-group-item">' +
  1625. '<div class="row">' +
  1626. '<div class="col-sm-3"><span> ' + OfferName + ' </span></div>' +
  1627. '<div class="col-sm-2"><span>' + EarnPoints + ' </span></div>' +
  1628. '<div class="col-sm-2"><span> ' + CurrentVolume + ' </span></div>' +
  1629. '<div class="col-sm-2"><span>' + slab + '</span></div>' +
  1630. '<div class="col-sm-1"><span>' + ShortFall + '</span></div>' +
  1631. '</div>' +
  1632. '</li> ';
  1633. $("#" + instance.g_VisibleContainerId).find("#OfferSummarList:last").after(html);
  1634. }
  1635. }
  1636. else {
  1637. $("#" + instance.g_VisibleContainerId).find("#OfferSummary").empty();
  1638. $("#" + instance.g_VisibleContainerId).find(".span_ListOfferSummary_count").text('0');
  1639. }
  1640. });
  1641. }
  1642. companiesAutoComplete() {
  1643. }
  1644. getCompanyIds() {
  1645. let instance = this;
  1646. let CompanyIds = '';
  1647. let data = $("#" + instance.g_VisibleContainerId).find('#select2_CompanyId').select2('data');
  1648. if (data.length > 0) {
  1649. let options = '';
  1650. for (let i = 0; i < data.length; i++) {
  1651. if (data[i].toString() != '000' && data[i] != undefined)
  1652. options += data[i].id + ",";
  1653. }
  1654. if (options != '') {
  1655. options = options.replace(/\|$/, '');
  1656. CompanyIds = options;
  1657. }
  1658. }
  1659. if (CompanyIds != '') {
  1660. CompanyIds = CompanyIds.replace(/\:$/, '');
  1661. }
  1662. else
  1663. CompanyIds = '0';
  1664. CompanyIds = CompanyIds.slice(0, -1);
  1665. return CompanyIds;
  1666. }
  1667. getBranchIds() {
  1668. let instance = this;
  1669. let BranchIds = '';
  1670. let data = $("#" + instance.g_VisibleContainerId).find('#select2_BranchId').select2('data');
  1671. if (data.length > 0) {
  1672. let options = '';
  1673. for (let i = 0; i < data.length; i++) {
  1674. if (data[i].toString() != '000' && data[i] != undefined)
  1675. options += data[i].id + ",";
  1676. }
  1677. if (options != '') {
  1678. options = options.replace(/\|$/, '');
  1679. BranchIds = options;
  1680. }
  1681. }
  1682. if (BranchIds != '')
  1683. BranchIds = BranchIds.replace(/\:$/, '');
  1684. BranchIds = BranchIds.slice(0, -1);
  1685. return BranchIds;
  1686. }
  1687. getInventoryApplyType(LobId, BillingAddressId, BranchId, IsWidgetShowQtyChkbx = false) {
  1688. let instance = this;
  1689. if (instance.g_IsPointsOrder) {
  1690. instance.g_InventoryApplyType = Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity;
  1691. instance.g_LobInventoryApplyType = Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity;
  1692. instance.setInventorySettings(instance.g_InventoryApplyType);
  1693. $("#" + instance.g_VisibleContainerId).find(".divEnablePieces").addClass("hidden");
  1694. }
  1695. else {
  1696. let portalId;
  1697. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Purchase || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesClaim)
  1698. portalId = BillingAddressId;
  1699. else
  1700. portalId = BranchId;
  1701. let type = instance.g_OrderType;
  1702. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getInventoryApplyType(LobId, type, portalId).then(function (response) {
  1703. if (response.result != null && response.result != undefined) {
  1704. instance.g_LobInventoryApplyType = response.result;
  1705. instance.setInventorySettings(response.result, false, IsWidgetShowQtyChkbx);
  1706. }
  1707. });
  1708. }
  1709. }
  1710. setInventorySettings(InventoryApplyType, isUpdateInventoryChkbxs = true, IsWidgetShowQtyChkbx = false) {
  1711. let instance = this;
  1712. instance.g_InventoryApplyType = InventoryApplyType;
  1713. if (isUpdateInventoryChkbxs) {
  1714. instance._orderItems.g_IsEnablePacks = false;
  1715. instance._orderItems.g_IsEnablePieces = false;
  1716. }
  1717. instance._orderItems.g_IsEnablePacks = false;
  1718. instance._orderItems.g_IsEnablePieces = false;
  1719. if (instance.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Packs) {
  1720. if (instance.g_IsShowEnablePieceChkbox == 1 || instance.g_IsAdmin == 1) {
  1721. $("#" + instance.g_VisibleContainerId).find('.div_chk_Pieces').removeClass('hidden');
  1722. }
  1723. else {
  1724. $("#" + instance.g_VisibleContainerId).find(".div_chk_Pieces").addClass("hidden");
  1725. }
  1726. $("#" + instance.g_VisibleContainerId).find(".div_chk_Packs").addClass("hidden");
  1727. instance._orderItems.g_IsEnablePacks = true;
  1728. }
  1729. if (instance.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.PacksAndPieces) {
  1730. $("#" + instance.g_VisibleContainerId).find(".div_chk_Pieces").addClass("hidden");
  1731. $("#" + instance.g_VisibleContainerId).find(".div_chk_Packs").addClass("hidden");
  1732. instance._orderItems.g_IsEnablePacks = true;
  1733. instance._orderItems.g_IsEnablePieces = true;
  1734. }
  1735. if (instance.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces) {
  1736. $("#" + instance.g_VisibleContainerId).find(".div_chk_Pieces").addClass("hidden");
  1737. $("#" + instance.g_VisibleContainerId).find('.div_chk_Packs').removeClass('hidden');
  1738. instance._orderItems.g_IsEnablePieces = true;
  1739. }
  1740. if (instance.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
  1741. $("#" + instance.g_VisibleContainerId).find(".div_chk_Pieces").addClass("hidden");
  1742. $("#" + instance.g_VisibleContainerId).find('.div_chk_Packs').addClass('hidden');
  1743. instance._orderItems.g_IsEnablePacks = true;
  1744. }
  1745. if (instance.g_LobInventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
  1746. $("#" + instance.g_VisibleContainerId).find(".div_chk_Pieces").addClass("hidden");
  1747. $("#" + instance.g_VisibleContainerId).find(".div_chk_Packs").addClass("hidden");
  1748. $("#" + instance.g_VisibleContainerId).find(".div_chk_Qty").addClass("hidden");
  1749. instance._orderItems.g_IsEnablePacks = true;
  1750. }
  1751. else {
  1752. if (!instance._orderItems.g_FromWidget) {
  1753. $("#" + instance.g_VisibleContainerId).find(".div_chk_Qty").removeClass("hidden");
  1754. }
  1755. else if (instance._orderItems.g_FromWidget && IsWidgetShowQtyChkbx) {
  1756. $("#" + instance.g_VisibleContainerId).find(".div_chk_Qty").removeClass("hidden");
  1757. }
  1758. else {
  1759. $("#" + instance.g_VisibleContainerId).find(".div_chk_Qty").addClass("hidden");
  1760. }
  1761. }
  1762. $("#" + instance.g_VisibleContainerId).find(".hdn_inventoryapplytype").val(instance.g_InventoryApplyType);
  1763. }
  1764. getOrderSettings(LobId, ShippingAddressId, ShipFromAddressId) {
  1765. let instance = this;
  1766. if (instance.g_IsPointsOrder) {
  1767. instance.g_CompositePriceType = Bizgaze.Apps.Transact.Enums.PriceType.None;
  1768. instance.g_IsCalculateTax = false;
  1769. $("#" + instance.g_VisibleContainerId).find(".div_chk_CompositePrice, .div_chk_PiecePrice").addClass("hidden");
  1770. }
  1771. else {
  1772. let branchId = Number(ShipFromAddressId);
  1773. let SettingName = "";
  1774. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) {
  1775. SettingName = "Bizgaze_Extension_Transact_Orders_Setting_SalesOrder";
  1776. }
  1777. else {
  1778. branchId = Number(ShippingAddressId);
  1779. SettingName = "Bizgaze_Extension_Transact_Orders_Setting_PurchaseOrder";
  1780. }
  1781. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getOrderSettingsByLob(SettingName, LobId, branchId).then(function (res) {
  1782. if (res.result != null && res.result != undefined && res.result != "") {
  1783. let PriceType = Number(Bizgaze.Apps.Transact.Enums.PriceType[res.result.CompositePriceType]);
  1784. instance.setOrderSettings(res.result, PriceType);
  1785. }
  1786. });
  1787. }
  1788. }
  1789. setOrderSettings(res, PriceType) {
  1790. let instance = this;
  1791. instance.g_CompositePriceType = Number(PriceType);
  1792. instance.g_IsCalculateTax = res.CalculateTax;
  1793. if (instance.g_CompositePriceType == Bizgaze.Apps.Transact.Enums.PriceType.CompositePrice || instance.g_CompositePriceType == Bizgaze.Apps.Transact.Enums.PriceType.Both) {
  1794. $("#" + instance.g_VisibleContainerId).find(".div_chk_CompositePrice").removeClass("hidden");
  1795. }
  1796. else {
  1797. $("#" + instance.g_VisibleContainerId).find(".div_chk_CompositePrice").addClass("hidden");
  1798. }
  1799. if (instance.g_CompositePriceType == Bizgaze.Apps.Transact.Enums.PriceType.PiecePrice || instance.g_CompositePriceType == Bizgaze.Apps.Transact.Enums.PriceType.Both) {
  1800. $("#" + instance.g_VisibleContainerId).find(".div_chk_PiecePrice").removeClass("hidden");
  1801. }
  1802. else {
  1803. $("#" + instance.g_VisibleContainerId).find(".div_chk_PiecePrice").addClass("hidden");
  1804. }
  1805. }
  1806. getCategorySettings(LobId, BillingAddressId, BranchId) {
  1807. let instance = this;
  1808. let branchId = Number(BranchId);
  1809. let SettingName = "";
  1810. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) {
  1811. SettingName = "Bizgaze_Extension_Transact_Orders_Setting_CategorySetting";
  1812. }
  1813. else {
  1814. branchId = Number(BillingAddressId);
  1815. SettingName = "Bizgaze_Extension_Transact_Orders_Setting_CategorySetting";
  1816. }
  1817. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getOrderSettingsByLob(SettingName, LobId, branchId).then(function (res) {
  1818. if (res.result != null && res.result != undefined && res.result != "") {
  1819. instance.setCategorySettings(res.result.SettingValue);
  1820. }
  1821. });
  1822. }
  1823. setCategorySettings(CategoryItemSettings) {
  1824. let instance = this;
  1825. instance.g_IsShowCategoryButton = CategoryItemSettings;
  1826. if (instance.g_IsShowCategoryButton) {
  1827. $("#cartCategoryAddBtn").removeClass("hidden");
  1828. }
  1829. else {
  1830. $("#cartCategoryAddBtn").addClass("hidden");
  1831. }
  1832. }
  1833. getItemDisplaySettings(LobId, BillingAddressId, BranchId) {
  1834. let instance = this;
  1835. let branchId = Number(BranchId);
  1836. let SettingName = "";
  1837. if (instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_OrderTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) {
  1838. SettingName = "Bizgaze_Extension_Transact_Orders_Setting_Sales_DisplayUnitPrice";
  1839. }
  1840. else {
  1841. branchId = Number(BillingAddressId);
  1842. SettingName = "Bizgaze_Extension_Transact_Orders_Setting_Sales_DisplayUnitPrice";
  1843. }
  1844. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getOrderSettingsByLob(SettingName, LobId, branchId).then(function (res) {
  1845. if (res.result != null && res.result != undefined && res.result != "") {
  1846. instance.setItemDisplaySettings(res.result.SettingValue);
  1847. }
  1848. });
  1849. }
  1850. setItemDisplaySettings(ExpandItemSettings) {
  1851. let instance = this;
  1852. instance.g_ExpandItemSettings = ExpandItemSettings;
  1853. }
  1854. checkPermissions() {
  1855. let instance = this;
  1856. let IsAdmin = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().isAdmin;
  1857. if (!IsAdmin) {
  1858. instance.g_IsAdmin = 0;
  1859. }
  1860. else {
  1861. instance.g_IsAdmin = 1;
  1862. }
  1863. instance.fileCacheHelper.loadJsFiles(["apps/transact/managers/orders/ordermanager.js", "apps/transact/enums/enum.js", "platform/permission/enums/permission.js"], function () {
  1864. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  1865. if (InstalledAppId == 0) {
  1866. InstalledAppId = Unibase.Platform.Forms.Components.FormViewer.instance.InstalledAppId;
  1867. }
  1868. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getPermissions(InstalledAppId).then(function (res) {
  1869. let data = res.result;
  1870. instance.setPermissionVariables(data);
  1871. });
  1872. });
  1873. }
  1874. setPermissionVariables(res) {
  1875. let instance = this;
  1876. let data = res;
  1877. if (data != null) {
  1878. let AllowPermission = Unibase.Platform.Permissions.Enums.PermissionLevel[Unibase.Platform.Permissions.Enums.PermissionLevel.Allow];
  1879. let AdminPermission = Unibase.Platform.Permissions.Enums.PermissionLevel[Unibase.Platform.Permissions.Enums.PermissionLevel.Admin];
  1880. if (data.ShowItemAvailability == AllowPermission) {
  1881. instance.g_IsShowAvailability = 1;
  1882. }
  1883. else {
  1884. instance.g_IsShowAvailability = 0;
  1885. }
  1886. if (data.EnableItemPieces == AllowPermission) {
  1887. instance.g_IsShowEnablePieceChkbox = 1;
  1888. }
  1889. else {
  1890. instance.g_IsShowEnablePieceChkbox = 0;
  1891. }
  1892. if (data.ChangePaymentTerm == AllowPermission) {
  1893. instance.g_IsChangePaymentTerm = 1;
  1894. }
  1895. else {
  1896. instance.g_IsChangePaymentTerm = 0;
  1897. }
  1898. if (data.ChangePaymentMode == AllowPermission) {
  1899. instance.g_IsChangePaymentMode = 1;
  1900. }
  1901. else {
  1902. instance.g_IsChangePaymentMode = 0;
  1903. }
  1904. if (data.CanProcessOrder == AllowPermission) {
  1905. instance.g_CanProcessOrder = 1;
  1906. }
  1907. else {
  1908. instance.g_CanProcessOrder = 0;
  1909. }
  1910. if (data.CreateDC == AllowPermission) {
  1911. instance.g_CreateDC = 1;
  1912. }
  1913. else {
  1914. instance.g_CreateDC = 0;
  1915. }
  1916. if (data.CreateGRN == AllowPermission) {
  1917. instance.g_CreateGRN = 1;
  1918. }
  1919. else {
  1920. instance.g_CreateGRN = 0;
  1921. }
  1922. if (data.CreateItem == AllowPermission) {
  1923. instance.g_CreateItem = 1;
  1924. }
  1925. else {
  1926. instance.g_CreateItem = 0;
  1927. }
  1928. if (data.EditPrice == AllowPermission) {
  1929. instance.g_ShowPrice = 1;
  1930. }
  1931. else {
  1932. instance.g_ShowPrice = 0;
  1933. }
  1934. if (data.IncreaseOrderQtywhenApproval == AllowPermission) {
  1935. instance.g_IncreaseQty = 1;
  1936. }
  1937. else {
  1938. instance.g_IncreaseQty = 0;
  1939. }
  1940. if (data.ShowExchangeDC == AllowPermission) {
  1941. instance.g_IsShowExchangeDc = 1;
  1942. }
  1943. else {
  1944. instance.g_IsShowExchangeDc = 0;
  1945. }
  1946. if (data.ManageOfferDiscount == AllowPermission || data.ManageOfferDiscount == AdminPermission) {
  1947. instance.g_IsManageOfferDiscount = 1;
  1948. }
  1949. else {
  1950. instance.g_IsManageOfferDiscount = 0;
  1951. }
  1952. }
  1953. }
  1954. Duplicate() {
  1955. let orderId = Unibase.Themes.Providers.DetailHelper.recordId;
  1956. let installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  1957. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().duplicateOrder(orderId).then(function (response) {
  1958. if (response.errors == null) {
  1959. let D_orderId = response.result.OrderId;
  1960. Unibase.Platform.Helpers.NavigationHelper.Instance().loadDetailPopup(D_orderId, installedAppId, null);
  1961. Unibase.Platform.Helpers.NavigationHelper.IsListRefresh = true;
  1962. MessageHelper.Instance().showSuccess(response.message, "div_message");
  1963. }
  1964. else {
  1965. MessageHelper.Instance().showError(response.message, "div_message");
  1966. }
  1967. });
  1968. }
  1969. ConfirmOrder() {
  1970. let orderId = Unibase.Themes.Providers.DetailHelper.recordId;
  1971. let installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  1972. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  1973. $(detailContainer).find(".DetailSetting_" + installedAppId + "_Confirm").unbind().click(function () {
  1974. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  1975. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().confirmOrder(orderId).then(function (response) {
  1976. if (response.errors == null) {
  1977. MessageHelper.Instance().showSuccess(response.message, '');
  1978. let obj = Unibase.Themes.Compact.Components.Details.Instance();
  1979. obj._recordId = Unibase.Themes.Compact.Components.Details.Instance()._recordId;
  1980. obj._installedAppId = Unibase.Themes.Compact.Components.Details.Instance()._installedAppId;
  1981. Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj);
  1982. }
  1983. else {
  1984. MessageHelper.Instance().showError(response.message, "div_message");
  1985. }
  1986. });
  1987. });
  1988. });
  1989. }
  1990. VoidOrder() {
  1991. let orderId = Unibase.Themes.Providers.DetailHelper.recordId;
  1992. let installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  1993. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  1994. $(detailContainer).find(".DetailSetting_" + installedAppId + "_Void").unbind().click(function () {
  1995. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  1996. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().voidOrder(orderId).then(function (response) {
  1997. if (response.errors == null) {
  1998. MessageHelper.Instance().showSuccess(response.message, '');
  1999. }
  2000. else {
  2001. MessageHelper.Instance().showError(response.message, "div_message");
  2002. }
  2003. let obj = Unibase.Themes.Compact.Components.Details.Instance();
  2004. obj._recordId = Unibase.Themes.Compact.Components.Details.Instance()._recordId;
  2005. obj._installedAppId = Unibase.Themes.Compact.Components.Details.Instance()._installedAppId;
  2006. Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj);
  2007. });
  2008. });
  2009. });
  2010. }
  2011. ShoworHideAnyButton(BtnName, ShowBtn_refStatusId) {
  2012. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2013. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2014. if ($(detailContainer).find(".DetailSetting_" + InstalledAppId + "_" + BtnName).hasClass("btn-undefined")) {
  2015. $(detailContainer).find(".DetailSetting_" + InstalledAppId + "_" + BtnName).removeClass("btn-undefined").addClass("btn-success");
  2016. }
  2017. let RefStatusId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refstatusid").Value);
  2018. if (RefStatusId == ShowBtn_refStatusId) {
  2019. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_' + BtnName).removeClass("hidden");
  2020. }
  2021. else {
  2022. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_' + BtnName).addClass("hidden");
  2023. }
  2024. }
  2025. ShoworHideApproveButton() {
  2026. let orderId = Unibase.Themes.Providers.DetailHelper.recordId;
  2027. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2028. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2029. $(detailContainer).find(".DetailSetting_" + InstalledAppId + "_Approve").removeClass("btn-undefined").addClass("btn-warning");
  2030. let RefStatusId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refstatusid").Value);
  2031. if (RefStatusId == 2) {
  2032. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_Approve').removeClass("hidden");
  2033. }
  2034. else {
  2035. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_Approve').addClass("hidden");
  2036. }
  2037. $(detailContainer).find(".DetailSetting_" + InstalledAppId + "_Approve").unbind().click(function () {
  2038. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2039. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().confirmOrder(orderId).then(function (response) {
  2040. if (response.errors == null) {
  2041. MessageHelper.Instance().showSuccess(response.message, '');
  2042. let obj = Unibase.Themes.Compact.Components.Details.Instance();
  2043. obj._recordId = Unibase.Themes.Compact.Components.Details.Instance()._recordId;
  2044. obj._installedAppId = Unibase.Themes.Compact.Components.Details.Instance()._installedAppId;
  2045. Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj);
  2046. }
  2047. else {
  2048. MessageHelper.Instance().showError(response.message, "div_message");
  2049. }
  2050. });
  2051. });
  2052. });
  2053. }
  2054. ShoworHideIgnoreButton() {
  2055. let instance = this;
  2056. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2057. let orderId = Unibase.Themes.Providers.DetailHelper.recordId;
  2058. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2059. $(detailContainer).find(".DetailSetting_" + InstalledAppId + "_Ignore").removeClass("btn-undefined").addClass("btn-success");
  2060. let RefStatusId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refstatusid").Value);
  2061. if (RefStatusId == 2) {
  2062. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_Ignore").removeClass("hidden");
  2063. }
  2064. else {
  2065. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_Ignore").addClass("hidden");
  2066. }
  2067. $(detailContainer).find(".DetailSetting_" + InstalledAppId + "_Ignore").unbind().click(function () {
  2068. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2069. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().voidOrder(orderId).then(function (response) {
  2070. if (response.errors == null) {
  2071. MessageHelper.Instance().showSuccess(response.message, '');
  2072. }
  2073. else {
  2074. MessageHelper.Instance().showError(response.message, "div_message");
  2075. }
  2076. let obj = Unibase.Themes.Compact.Components.Details.Instance();
  2077. obj._recordId = Unibase.Themes.Compact.Components.Details.Instance()._recordId;
  2078. obj._installedAppId = Unibase.Themes.Compact.Components.Details.Instance()._installedAppId;
  2079. Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj);
  2080. });
  2081. });
  2082. });
  2083. }
  2084. ShoworHideDCButton() {
  2085. let instance = this;
  2086. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2087. let OrderId = Number(Unibase.Themes.Providers.DetailHelper.recordId);
  2088. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2089. $(detailContainer).find(".DetailSetting_" + InstalledAppId + "_CreateDC").removeClass("btn-undefined").addClass("btn-success");
  2090. let RefStatusId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refstatusid").Value);
  2091. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_CreateDC').addClass('hidden');
  2092. let Onclick = $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_CreateDC").attr("onclick");
  2093. if (Onclick != undefined && Onclick != null) {
  2094. Onclick = Onclick.replace(OrderId.toString(), "0");
  2095. $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_CreateDC").attr("onclick", Onclick);
  2096. }
  2097. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2098. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getOrderSettings(OrderId).then(function (response) {
  2099. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().checkOrderDcCompleted(OrderId, 0).then(function (dcresponse) {
  2100. if (response.result.SettingValue == "DC First") {
  2101. if (dcresponse.result.OrderQuantity > dcresponse.result.DcQty && (RefStatusId == 5 || RefStatusId == 3)) {
  2102. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_CreateDC').removeClass('hidden');
  2103. }
  2104. else {
  2105. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_CreateDC').addClass('hidden');
  2106. }
  2107. }
  2108. else if (response.result.SettingValue == "No Preferences") {
  2109. if (RefStatusId == 5 || RefStatusId == 3) {
  2110. if (dcresponse.result.DcQty == 0 && dcresponse.result.InvoicedQty == 0) {
  2111. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_CreateDC').removeClass("hidden");
  2112. }
  2113. else if (dcresponse.result.DcQty > 0 && dcresponse.result.OrderQuantity > dcresponse.result.DcQty && Number(dcresponse.result.AutoDc) == 0) {
  2114. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_CreateDC').removeClass("hidden");
  2115. }
  2116. }
  2117. }
  2118. });
  2119. });
  2120. });
  2121. }
  2122. ShoworHideGRNButton() {
  2123. let instance = this;
  2124. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2125. let OrderId = Number(Unibase.Themes.Providers.DetailHelper.recordId);
  2126. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2127. $(detailContainer).find(".DetailSetting_" + InstalledAppId + "_CreateGRN").removeClass("btn-undefined").addClass("btn-success");
  2128. let RefStatusId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refstatusid").Value);
  2129. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_CreateGRN').addClass('hidden');
  2130. let Onclick = $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_CreateGRN").attr("onclick");
  2131. if (Onclick != undefined && Onclick != null) {
  2132. Onclick = Onclick.replace(OrderId.toString(), "0");
  2133. $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_CreateGRN").attr("onclick", Onclick);
  2134. }
  2135. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2136. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getOrderSettings(OrderId).then(function (response) {
  2137. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().checkOrderDcCompleted(OrderId, 0).then(function (dcresponse) {
  2138. if (response.result.SettingValue == "GRN First" || response.result.SettingValue == "No Preferences") {
  2139. if (dcresponse.result.OrderQuantity > dcresponse.result.DcQty && (RefStatusId == 5 || RefStatusId == 3)) {
  2140. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_CreateGRN').removeClass('hidden');
  2141. }
  2142. }
  2143. });
  2144. });
  2145. });
  2146. }
  2147. ShoworHideInvoiceButton() {
  2148. let instance = this;
  2149. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2150. let OrderId = Number(Unibase.Themes.Providers.DetailHelper.recordId);
  2151. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2152. $(detailContainer).find(".DetailSetting_" + InstalledAppId + "_CreateInvoice").removeClass("btn-undefined").addClass("btn-danger");
  2153. let RefStatusId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refstatusid").Value);
  2154. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_CreateInvoice').addClass("hidden");
  2155. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2156. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getOrderSettings(OrderId).then(function (response) {
  2157. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().checkOrderDcCompleted(OrderId, 0).then(function (invoiceresponse) {
  2158. if (response.result.SettingValue == "Invoice First") {
  2159. if (invoiceresponse.result.OrderQuantity > invoiceresponse.result.InvoicedQty && (RefStatusId == 5 || RefStatusId == 3)) {
  2160. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_CreateInvoice').removeClass("hidden");
  2161. }
  2162. }
  2163. else if (response.result.SettingValue == "No Preferences") {
  2164. if (RefStatusId == 5 || RefStatusId == 3) {
  2165. if (invoiceresponse.result.DcQty == 0 && invoiceresponse.result.InvoicedQty == 0) {
  2166. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_CreateInvoice').removeClass("hidden");
  2167. }
  2168. else if (invoiceresponse.result.InvoicedQty > 0 && invoiceresponse.result.OrderQuantity > invoiceresponse.result.InvoicedQty && Number(invoiceresponse.result.AutoDc) == 1) {
  2169. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_CreateInvoice').removeClass("hidden");
  2170. }
  2171. }
  2172. }
  2173. });
  2174. });
  2175. });
  2176. }
  2177. ShoworHideVoidButton() {
  2178. let instance = this;
  2179. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2180. let orderId = Unibase.Themes.Providers.DetailHelper.recordId;
  2181. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2182. $(detailContainer).find(".DetailSetting_" + InstalledAppId + "_Reject").addClass("DetailSetting_" + InstalledAppId + "_Void");
  2183. $(detailContainer).find(".DetailSetting_" + InstalledAppId + "_Void").removeClass("btn-undefined").addClass("btn-success");
  2184. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2185. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getOrderDetails(orderId).then(function (orderResponse) {
  2186. let RefStatusId = orderResponse.result.RefStatusId;
  2187. if (RefStatusId == 1 || RefStatusId == 2 || RefStatusId == 3) {
  2188. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_Void").removeClass("hidden");
  2189. }
  2190. else {
  2191. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_Void").addClass("hidden");
  2192. }
  2193. });
  2194. });
  2195. instance.VoidOrder();
  2196. }
  2197. ShoworHideConfirmButton(IsApprovalHidden = false) {
  2198. let instance = this;
  2199. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2200. let OrderId = Number(Unibase.Themes.Providers.DetailHelper.recordId);
  2201. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2202. $(detailContainer).find(".DetailSetting_" + InstalledAppId + "_Confirm").removeClass("btn-undefined").addClass("btn-warning");
  2203. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2204. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getOrderDetails(OrderId).then(function (orderResponse) {
  2205. let RefStatusId = orderResponse.result.RefStatusId;
  2206. let StageIndex = orderResponse.result.StageIndex;
  2207. if (!IsApprovalHidden) {
  2208. if ((RefStatusId == 2 && StageIndex == 2) || (RefStatusId == 1)) {
  2209. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_Confirm").removeClass("hidden").removeClass('btn-danger').parent().removeClass('col-3').addClass('col-xs-3');
  2210. }
  2211. else {
  2212. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_Confirm").addClass("hidden");
  2213. }
  2214. }
  2215. else {
  2216. if (RefStatusId == 1) {
  2217. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_Confirm").removeClass("hidden");
  2218. }
  2219. else {
  2220. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_Confirm").addClass("hidden");
  2221. }
  2222. }
  2223. });
  2224. });
  2225. instance.ConfirmOrder();
  2226. }
  2227. ShowPrintButton(IsHideApprovalError = false) {
  2228. let instance = this;
  2229. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2230. let OrderId = Number(Unibase.Themes.Providers.DetailHelper.recordId);
  2231. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2232. $(detailContainer).find(".DetailSetting_" + InstalledAppId + "_Print").removeClass("btn-undefined").addClass("btn-warning");
  2233. $(".btn-undefined").addClass("btn-success").removeClass("btn-undefined");
  2234. let RefStatusId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refstatusid").Value);
  2235. if (RefStatusId == 2 && !IsHideApprovalError) {
  2236. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function (response) {
  2237. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getOrderDetails(OrderId).then(function (orderResponse) {
  2238. if (orderResponse.result.Notes != null && orderResponse.result.Notes != undefined && orderResponse.result.Notes != "") {
  2239. let Notes_Array = orderResponse.result.Notes.split(";");
  2240. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_ApprovalError").remove();
  2241. let html = `<div><div class="ActionsApprovalError mx-20 mb-2 rounded py-10 px-0 li_DetailSetting_` + InstalledAppId + `_ApprovalError" id="li_DetailSetting_` + InstalledAppId + `_ApprovalError" style="background-color:rgb(252 250 247);border-left: 3px solid #ff6060;padding:0.5rem 1rem 1rem;">`;
  2242. for (let n = 0; n < Notes_Array.length; n++) {
  2243. html += `<p class="font-14 text-danger col-sm-12 ma-1">` + Notes_Array[n] + `</p>`;
  2244. }
  2245. html += `</div>`;
  2246. $(detailContainer).find('#div_App_DefaultWidgetSettings').append(html);
  2247. $(detailContainer).find('#div_App_DefaultWidgetSettings').addClass('pb-0');
  2248. }
  2249. });
  2250. });
  2251. }
  2252. instance.Print();
  2253. }
  2254. Print() {
  2255. let instance = this;
  2256. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2257. if ($(".printsetting").length != 0) {
  2258. let printhtml = $(".printsetting")[0].outerHTML;
  2259. $(".printsetting").remove();
  2260. $(detailContainer).find("#div_App_DefaultWidgetSettings").find(".row").append(printhtml);
  2261. $(".printsetting").find(".pull-right").removeClass("pull-right");
  2262. }
  2263. $('.DetailSetting_' + Unibase.Themes.Providers.DetailHelper.installedAppId + '_Print').html('<span><i class=\"fa fa-print\"></i></span>');
  2264. $(detailContainer).find('.DetailSetting_' + Unibase.Themes.Providers.DetailHelper.installedAppId + '_Print').click(function () {
  2265. let orderId = Unibase.Themes.Providers.DetailHelper.recordId;
  2266. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(["apps/transact/managers/orders/ordermanager.js", "platform/core/helpers/printhelper/printhelper.js"], function () {
  2267. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().orderPrint(orderId).then(function (response) {
  2268. if (!response.result) {
  2269. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("/platform/core/helpers/printhelper/printhelper.js", function () {
  2270. Unibase.Platform.Helpers.PrintHelper.Instance().showPrintErrorModal();
  2271. return;
  2272. });
  2273. }
  2274. else {
  2275. Unibase.Platform.Helpers.PrintHelper.Instance().printPopup(response.result.PrintHTML);
  2276. }
  2277. });
  2278. });
  2279. });
  2280. }
  2281. PurchaseIndentPrint() {
  2282. let instance = this;
  2283. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2284. if ($(".printsetting").length != 0) {
  2285. let printhtml = $(".printsetting")[0].outerHTML;
  2286. $(".printsetting").remove();
  2287. $(detailContainer).find("#div_App_DefaultWidgetSettings").find(".row").append(printhtml);
  2288. $(".printsetting").find(".pull-right").removeClass("pull-right");
  2289. }
  2290. $('.DetailSetting_' + Unibase.Themes.Providers.DetailHelper.installedAppId + '_Print').html('<span><i class=\"fa fa-print\"></i></span>');
  2291. $(detailContainer).find('.DetailSetting_' + Unibase.Themes.Providers.DetailHelper.installedAppId + '_Print').click(function () {
  2292. let Id = Unibase.Themes.Providers.DetailHelper.recordId;
  2293. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(["apps/transact/managers/orders/ordermanager.js", "platform/core/helpers/printhelper/printhelper.js"], function () {
  2294. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().purchaseIndentPrint(Id).then(function (response) {
  2295. Unibase.Platform.Helpers.PrintHelper.Instance().printPopup(response.result.PrintHTML);
  2296. });
  2297. });
  2298. });
  2299. }
  2300. bindPurchaseIndentDetails(PurchaseIndentId) {
  2301. let instance = this;
  2302. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2303. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getPurchaseIndentDetails(PurchaseIndentId, instance.g_OrderType).then(function (res) {
  2304. instance.g_ShowCCHByDefault = false;
  2305. instance.bindAllDetails(0, res);
  2306. $("#" + instance.g_VisibleContainerId).find(".Section").addClass("hidden");
  2307. $("#" + instance.g_VisibleContainerId).find(".section_ContactName").removeClass("hidden");
  2308. $("#" + instance.g_VisibleContainerId).find(".hdn_reforderid").val(PurchaseIndentId);
  2309. $("#" + instance.g_VisibleContainerId).find(".section_OrderDetails").find(".card-header").html(`<a class="btn_OrderDetails_angle text-dark" href="javascript:;"> <i class="fa fa-angle-down d-none"></i><i class="fa fa-angle-right"></i><span id="" class="ml-10">Order Details</span> </a>`);
  2310. $("#" + instance.g_VisibleContainerId).find(".section_OrderDetails").find(".card-body").addClass("hidden");
  2311. $("#" + instance.g_VisibleContainerId).find(".btn_OrderDetails_angle").click(function () {
  2312. $("#" + instance.g_VisibleContainerId).find(".btn_OrderDetails_angle").find(".fa-angle-down").toggleClass("d-none");
  2313. $("#" + instance.g_VisibleContainerId).find(".btn_OrderDetails_angle").find(".fa-angle-right").toggleClass("d-none");
  2314. $("#" + instance.g_VisibleContainerId).find(".section_OrderDetails").find(".card-body").toggleClass("hidden");
  2315. });
  2316. });
  2317. });
  2318. }
  2319. ShoworHidePOButton() {
  2320. let instance = this;
  2321. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2322. let PurchaseIndentId = Number(Unibase.Themes.Providers.DetailHelper.recordId);
  2323. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2324. $(detailContainer).find(".DetailSetting_" + InstalledAppId + "_CreatePO").removeClass("btn-undefined").addClass("btn-success");
  2325. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_CreatePO').addClass('hidden');
  2326. let Onclick = $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_CreatePO").attr("onclick");
  2327. if (Onclick != undefined && Onclick != null) {
  2328. Onclick = Onclick.replace(PurchaseIndentId.toString(), "0");
  2329. $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_CreatePO").attr("onclick", Onclick);
  2330. }
  2331. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2332. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getPendingPurchaseIndentItems(PurchaseIndentId).then(function (response) {
  2333. if (response.result != null) {
  2334. if (response.result.length > 0) {
  2335. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_CreatePO').removeClass('hidden');
  2336. }
  2337. }
  2338. });
  2339. });
  2340. }
  2341. ShoworHideEstimateButton() {
  2342. let instance = this;
  2343. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2344. let PurchaseIndentId = Number(Unibase.Themes.Providers.DetailHelper.recordId);
  2345. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2346. $(detailContainer).find(".DetailSetting_" + InstalledAppId + "_CreateEstimate").removeClass("btn-undefined").addClass("btn-success");
  2347. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_CreateEstimate').addClass('hidden');
  2348. let Onclick = $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_CreateEstimate").attr("onclick");
  2349. if (Onclick != undefined && Onclick != null) {
  2350. Onclick = Onclick.replace(PurchaseIndentId.toString(), "0");
  2351. $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_CreateEstimate").attr("onclick", Onclick);
  2352. }
  2353. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2354. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getPendingPurchaseIndentEstimateItems(PurchaseIndentId).then(function (response) {
  2355. if (response.result != null) {
  2356. if (response.result.length > 0) {
  2357. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_CreateEstimate').removeClass('hidden');
  2358. }
  2359. }
  2360. });
  2361. });
  2362. }
  2363. ShoworHideDCButton_Claim() {
  2364. let instance = this;
  2365. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2366. let ClaimId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_orderid").Value);
  2367. let ClaimTypeId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_ordertypeid").Value);
  2368. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2369. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_CreateDC").addClass("hidden");
  2370. $(detailContainer).find(".btn-undefined").addClass("btn-success").removeClass("btn-undefined");
  2371. let Onclick = $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_CreateDC").attr("onclick");
  2372. if (Onclick != undefined && Onclick != null) {
  2373. Onclick = Onclick.replace(ClaimId.toString(), "0");
  2374. $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_CreateDC").attr("onclick", Onclick);
  2375. }
  2376. let RefStatusId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refstatusid").Value);
  2377. if (RefStatusId == 5 || RefStatusId == 3) {
  2378. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2379. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getClaimPendingQuantity(ClaimId).then(function (res) {
  2380. let data = res.result;
  2381. if (ClaimTypeId == 5) {
  2382. if (data.Pending_ClaimIn_Qty > 0) {
  2383. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_CreateDC").removeClass("hidden");
  2384. }
  2385. }
  2386. else {
  2387. if (data.Pending_ClaimOut_Qty > 0) {
  2388. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_CreateDC").removeClass("hidden");
  2389. }
  2390. }
  2391. });
  2392. });
  2393. }
  2394. }
  2395. ShoworHideClaimOutwardButton_Claim() {
  2396. let instance = this;
  2397. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2398. let ClaimId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_orderid").Value);
  2399. let ClaimTypeId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_ordertypeid").Value);
  2400. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2401. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_ClaimOutward").addClass("hidden");
  2402. $(detailContainer).find(".btn-undefined").addClass("btn-success").removeClass("btn-undefined");
  2403. let Onclick = $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_ClaimOutward").attr("onclick");
  2404. if (Onclick != undefined && Onclick != null) {
  2405. Onclick = Onclick.replace(ClaimId.toString(), "0");
  2406. $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_ClaimOutward").attr("onclick", Onclick);
  2407. }
  2408. let RefStatusId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refstatusid").Value);
  2409. if (RefStatusId == 5 || RefStatusId == 3) {
  2410. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2411. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getClaimPendingQuantity(ClaimId).then(function (res) {
  2412. let data = res.result;
  2413. if (data.Pending_ClaimOut_Qty > 0) {
  2414. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_ClaimOutward").removeClass("hidden");
  2415. }
  2416. });
  2417. });
  2418. }
  2419. }
  2420. ShoworHideReturnDCButton_Claim() {
  2421. let instance = this;
  2422. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2423. let ClaimId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_orderid").Value);
  2424. let ClaimTypeId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_ordertypeid").Value);
  2425. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2426. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_ReturnDC").addClass("hidden");
  2427. $(".btn-undefined").addClass("btn-success").removeClass("btn-undefined");
  2428. let Onclick = $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_ReturnDC").attr("onclick");
  2429. if (Onclick != undefined && Onclick != null) {
  2430. Onclick = Onclick.replace(ClaimId.toString(), "0");
  2431. $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_ReturnDC").attr("onclick", Onclick);
  2432. }
  2433. let RefStatusId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refstatusid").Value);
  2434. if (RefStatusId == 5 || RefStatusId == 3) {
  2435. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2436. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getClaimPendingQuantity(ClaimId).then(function (res) {
  2437. let data = res.result;
  2438. if (ClaimTypeId == 5) {
  2439. if (data.Pending_ClaimOut_Qty > 0) {
  2440. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_ReturnDC").removeClass("hidden");
  2441. }
  2442. }
  2443. else {
  2444. if (data.Pending_ClaimIn_Qty > 0) {
  2445. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_ReturnDC").removeClass("hidden");
  2446. }
  2447. }
  2448. });
  2449. });
  2450. }
  2451. }
  2452. ShoworHideOutwardDCButton_Claim() {
  2453. let instance = this;
  2454. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2455. let ClaimId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_orderid").Value);
  2456. let ClaimTypeId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_ordertypeid").Value);
  2457. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2458. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_OutwardDC").addClass("hidden");
  2459. $(".btn-undefined").addClass("btn-success").removeClass("btn-undefined");
  2460. let Onclick = $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_OutwardDC").attr("onclick");
  2461. if (Onclick != undefined && Onclick != null) {
  2462. Onclick = Onclick.replace(ClaimId.toString(), "0");
  2463. $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_OutwardDC").attr("onclick", Onclick);
  2464. }
  2465. let RefStatusId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refstatusid").Value);
  2466. if (RefStatusId == 5 || RefStatusId == 3) {
  2467. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2468. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getClaimPendingQuantity(ClaimId).then(function (res) {
  2469. let data = res.result;
  2470. if (ClaimTypeId == 5) {
  2471. if (data.Pending_ClaimOut_Qty > 0) {
  2472. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_OutwardDC").removeClass("hidden");
  2473. }
  2474. }
  2475. else {
  2476. if (data.Pending_ClaimIn_Qty > 0) {
  2477. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_OutwardDC").removeClass("hidden");
  2478. }
  2479. }
  2480. });
  2481. });
  2482. }
  2483. }
  2484. ShoworHideInwardDCButton_Claim() {
  2485. let instance = this;
  2486. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2487. let ClaimId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_orderid").Value);
  2488. let ClaimTypeId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_ordertypeid").Value);
  2489. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2490. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_InwardDC").addClass("hidden");
  2491. $(".btn-undefined").addClass("btn-success").removeClass("btn-undefined");
  2492. let Onclick = $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_InwardDC").attr("onclick");
  2493. if (Onclick != undefined && Onclick != null) {
  2494. Onclick = Onclick.replace(ClaimId.toString(), "0");
  2495. $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_InwardDC").attr("onclick", Onclick);
  2496. }
  2497. let RefStatusId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refstatusid").Value);
  2498. if (RefStatusId == 5 || RefStatusId == 3) {
  2499. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2500. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getClaimPendingQuantity(ClaimId).then(function (res) {
  2501. let data = res.result;
  2502. if (ClaimTypeId == 5) {
  2503. if (data.Pending_ClaimOut_Qty > 0) {
  2504. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_InwardDC").removeClass("hidden");
  2505. }
  2506. }
  2507. else {
  2508. if (data.Pending_ClaimIn_Qty > 0) {
  2509. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_InwardDC").removeClass("hidden");
  2510. }
  2511. }
  2512. });
  2513. });
  2514. }
  2515. }
  2516. ShoworHidePurchaseClaimButton_Claim() {
  2517. let instance = this;
  2518. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2519. let ClaimId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_orderid").Value;
  2520. let RefOrderId = ClaimId;
  2521. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2522. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_PurchaseClaim").addClass("hidden");
  2523. $(".btn-undefined").addClass("btn-success").removeClass("btn-undefined");
  2524. let Onclick = $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_PurchaseClaim").attr("onclick");
  2525. if (Onclick != undefined && Onclick != null) {
  2526. Onclick = Onclick.replace(ClaimId.toString(), "0");
  2527. $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_PurchaseClaim").attr("onclick", Onclick);
  2528. }
  2529. let RefStatusId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refstatusid").Value);
  2530. if (RefStatusId == 5 || RefStatusId == 3 || RefStatusId == 6) {
  2531. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2532. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getClaimPendingQuantity(ClaimId).then(function (claimpenres) {
  2533. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getOrderByRefOrderId(RefOrderId).then(function (response) {
  2534. let data = response.result;
  2535. if (data == null || data == "") {
  2536. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_PurchaseClaim").removeClass("hidden");
  2537. if (claimpenres.result != null) {
  2538. if (claimpenres.result.Out_DcQty == claimpenres.result.ClaimIn_Qty) {
  2539. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_PurchaseClaim").addClass("hidden");
  2540. }
  2541. }
  2542. }
  2543. else {
  2544. if (data.RefOrderId == ClaimId) {
  2545. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_PurchaseClaim").addClass("hidden");
  2546. }
  2547. else {
  2548. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_PurchaseClaim").removeClass("hidden");
  2549. }
  2550. }
  2551. });
  2552. });
  2553. });
  2554. }
  2555. }
  2556. ShoworHideCreditNoteButton_Claim() {
  2557. let instance = this;
  2558. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2559. let OrderId = Number(Unibase.Themes.Providers.DetailHelper.recordId);
  2560. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2561. $(detailContainer).find(".DetailSetting_" + InstalledAppId + "_CreditNote").removeClass("btn-undefined").addClass("btn-success");
  2562. let RefStatusId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refstatusid").Value);
  2563. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_CreditNote').addClass('hidden');
  2564. let Onclick = $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_CreditNote").attr("onclick");
  2565. if (Onclick != undefined && Onclick != null) {
  2566. Onclick = Onclick.replace(OrderId.toString(), "0");
  2567. $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_CreditNote").attr("onclick", Onclick);
  2568. }
  2569. if (RefStatusId == 5 || RefStatusId == 3) {
  2570. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2571. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getPendingItemsForInvoice(OrderId).then(function (response) {
  2572. let data = response.result;
  2573. if (data == null || data == "") {
  2574. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_CreditNote').addClass('hidden');
  2575. }
  2576. else {
  2577. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_CreditNote').removeClass('hidden');
  2578. }
  2579. });
  2580. });
  2581. }
  2582. else {
  2583. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_CreditNote').addClass('hidden');
  2584. }
  2585. }
  2586. ShoworHideDebitNoteButton_Claim() {
  2587. let instance = this;
  2588. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2589. let OrderId = Number(Unibase.Themes.Providers.DetailHelper.recordId);
  2590. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2591. $(detailContainer).find(".DetailSetting_" + InstalledAppId + "_DebitNote").removeClass("btn-undefined").addClass("btn-success");
  2592. let RefStatusId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refstatusid").Value);
  2593. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_DebitNote').addClass('hidden');
  2594. let Onclick = $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_DebitNote").attr("onclick");
  2595. if (Onclick != undefined && Onclick != null) {
  2596. Onclick = Onclick.replace(OrderId.toString(), "0");
  2597. $(detailContainer).find(".DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_DebitNote").attr("onclick", Onclick);
  2598. }
  2599. if (RefStatusId == 5 || RefStatusId == 3) {
  2600. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2601. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getPendingItemsForInvoice(OrderId).then(function (response) {
  2602. let data = response.result;
  2603. if (data == null || data == "") {
  2604. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_DebitNote').addClass('hidden');
  2605. }
  2606. else {
  2607. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_DebitNote').removeClass('hidden');
  2608. }
  2609. });
  2610. });
  2611. }
  2612. else {
  2613. $(detailContainer).find('.li_DetailSetting_' + InstalledAppId + '_DebitNote').addClass('hidden');
  2614. }
  2615. }
  2616. RefreshInvoiceQty() {
  2617. var instance = this;
  2618. var orderId = Unibase.Themes.Providers.DetailHelper.recordId;
  2619. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2620. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().RefreshInvoiceQty(orderId).then(function (response) {
  2621. if (response.errors == null) {
  2622. instance.navigationHelper.loadDetail(Unibase.Themes.Providers.DetailHelper.recordId, Unibase.Themes.Providers.DetailHelper.installedAppId, null);
  2623. MessageHelper.Instance().showSuccess(response.message, 'div_message');
  2624. }
  2625. else {
  2626. MessageHelper.Instance().showError(response.message, 'div_message');
  2627. }
  2628. });
  2629. });
  2630. }
  2631. RefreshDcQty() {
  2632. var instance = this;
  2633. let orderId = Unibase.Themes.Providers.DetailHelper.recordId;
  2634. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2635. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().RefreshDeliveredQty(orderId).then(function (response) {
  2636. if (response.errors == null) {
  2637. instance.navigationHelper.loadDetail(Unibase.Themes.Providers.DetailHelper.recordId, Unibase.Themes.Providers.DetailHelper.installedAppId, null);
  2638. MessageHelper.Instance().showSuccess(response.message, 'div_message');
  2639. }
  2640. else {
  2641. MessageHelper.Instance().showError(response.message, 'div_message');
  2642. }
  2643. });
  2644. });
  2645. }
  2646. RefreshDcAndInvoiceQty() {
  2647. var instance = this;
  2648. let orderId = Unibase.Themes.Providers.DetailHelper.recordId;
  2649. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2650. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().RefreshDCAndInvoiceQty(orderId).then(function (response) {
  2651. if (response.errors == null) {
  2652. instance.navigationHelper.loadDetail(Unibase.Themes.Providers.DetailHelper.recordId, Unibase.Themes.Providers.DetailHelper.installedAppId, null);
  2653. MessageHelper.Instance().showSuccess(response.message, 'div_message');
  2654. }
  2655. else {
  2656. MessageHelper.Instance().showError(response.message, 'div_message');
  2657. }
  2658. });
  2659. });
  2660. }
  2661. bindClaimDetails(ClaimId) {
  2662. let instance = this;
  2663. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2664. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getClaimDetails(ClaimId).then(function (res) {
  2665. instance.bindAllDetails(0, res);
  2666. $("#" + instance.g_VisibleContainerId).find(".hdn_reforderid").val(ClaimId);
  2667. });
  2668. });
  2669. }
  2670. pushCartItems(Items) {
  2671. var instance = this;
  2672. let IsPacksFocus = false, IsPiecesFocus = false;
  2673. let FocusTxt = instance._orderItems.getDefaultFocusbyInventory(instance.g_InventoryApplyType, false);
  2674. if (FocusTxt == "Packs") {
  2675. IsPacksFocus = true;
  2676. }
  2677. else {
  2678. IsPiecesFocus = true;
  2679. }
  2680. for (let c = 0; c < Items.length; c++) {
  2681. let data = Items[c];
  2682. let DiscountType = 2;
  2683. if (data.DiscountPercent > 0) {
  2684. DiscountType = 1;
  2685. }
  2686. let ItemData = {
  2687. OrderItemId: 0,
  2688. ItemIndex: 0,
  2689. ParentItemId: 0,
  2690. ItemId: data.ItemId,
  2691. ItemName: data.ItemName,
  2692. Packs: data.Packs,
  2693. Pieces: data.Pieces,
  2694. PriceListId: 0,
  2695. PriceListName: "",
  2696. UnitPrice: data.UnitPrice,
  2697. UnitPriceWithOutTax: data.UnitPrice,
  2698. ExpectedPrice: data.UnitPrice,
  2699. ActualPrice: data.UnitPrice,
  2700. PackCount: data.PackCount,
  2701. PackSize: data.PackSize,
  2702. UnitName: data.UnitName,
  2703. Quantity: data.Quantity,
  2704. SKU: data.SKU,
  2705. PartNo: data.PartNo,
  2706. Amount: 0,
  2707. AmountWithDiscount: 0,
  2708. DiscountPercent: data.DiscountPercent,
  2709. DiscountValue: data.DiscountValue,
  2710. DiscountType: DiscountType,
  2711. DiscountAmount: 0,
  2712. ItemValueAfterDiscount: 0,
  2713. StrTaxPercents: "",
  2714. AvailableQuantity: 0,
  2715. AvailablePacks: 0,
  2716. AvailablePieces: 0,
  2717. TotalAvailablePieces: 0,
  2718. ExchangeDC: false,
  2719. IsAfterTax: false,
  2720. BaseQty: data.Quantity,
  2721. IsFocItem: false,
  2722. optoutAmount: 0,
  2723. TaxGroupId: 0,
  2724. TaxGroupName: "",
  2725. TaxAmount: 0,
  2726. TaxRateAmount: 0,
  2727. TaxRate: 0,
  2728. TaxPercentage: 0,
  2729. IsOfferAvailable: false,
  2730. Description: "",
  2731. Discountable: true,
  2732. PiecePrice: 0,
  2733. CompositePrice: 0,
  2734. CompositePiecePrice: 0,
  2735. IsCheckPendingItems: false,
  2736. IsError: false,
  2737. ErrorMsg: "",
  2738. ErrorClass: "text-danger",
  2739. IsTaxError: false,
  2740. IsLeverageError: false,
  2741. IsFocAdded: false,
  2742. RefOrderItemId: data.PurchaseIndentItemId,
  2743. RefItemIds: "",
  2744. RefItemSKUs: "",
  2745. FocItemIds: "",
  2746. DiscountGroupId: 0,
  2747. IsOfferDiscountApplied: false,
  2748. IsOfferApplied: false,
  2749. AppliedOfferVolume: 0,
  2750. AppliedPlanVolumeId: 0,
  2751. AppliedOfferId: 0,
  2752. optoutOfferGroupId: 0,
  2753. SuggestedPacks: 0,
  2754. MinPacks: 0,
  2755. AvgPacks: 0,
  2756. InwardOrderPacks: 0,
  2757. OutwardOrderPacks: 0,
  2758. UOMs: [],
  2759. IsManualUOM: false,
  2760. IsMultipleUOMs: false,
  2761. UOMSchemaId: 0,
  2762. MultipleUOMs: [],
  2763. SelectedUnitId: 0,
  2764. SelectedUnitName: data.UnitName,
  2765. DefaultSize: 0,
  2766. IsBoMAvailable: false,
  2767. IsSpecialPrice: data.IsSpecialPrice,
  2768. ConversionQuantity: 0,
  2769. ProductId: 0,
  2770. IsWishList: data.IsWishList,
  2771. OldUnitPrice: data.UnitPrice,
  2772. InstalledAppId: 0,
  2773. HSNId: data.HSNId,
  2774. RowTotal: 0,
  2775. RowDiscount: 0,
  2776. TaxTotal: 0,
  2777. IsPacksFocus: IsPacksFocus,
  2778. IsPiecesFocus: IsPiecesFocus,
  2779. CategoryName: ""
  2780. };
  2781. let SelectedItems_Index = instance._orderItems.g_SelectedItems.findIndex(x => x.ItemId == data.ItemId);
  2782. let CartItems_Index = instance._orderItems.g_CartItems_New.findIndex(x => x.ItemId == data.ItemId);
  2783. if (SelectedItems_Index == -1) {
  2784. instance._orderItems.g_SelectedItems.push(ItemData);
  2785. }
  2786. else {
  2787. instance._orderItems.g_SelectedItems[SelectedItems_Index] = ItemData;
  2788. }
  2789. if (CartItems_Index == -1) {
  2790. instance._orderItems.g_CartItems_New.push(ItemData);
  2791. }
  2792. else {
  2793. instance._orderItems.g_CartItems_New[CartItems_Index] = ItemData;
  2794. }
  2795. instance._orderItems.g_SC_PC_CartItems.push({ ItemId: data.ItemId, Quantity: data.Quantity });
  2796. }
  2797. if (Items.length == 0) {
  2798. $("#" + instance.g_VisibleContainerId).find("#ulOrder_Cart").html('<li id="0" class="cartitem list-group-item col-xs-12 hidden clear no-border"></li> <li class="list-group-item col-xs-12 no-border EmptyCartLi"><strong> No Pending Purchase Indent Items. </strong></li>');
  2799. }
  2800. else {
  2801. instance._orderItems.loadItems($("#" + instance.g_VisibleContainerId).find("#txt_SearchItem").val());
  2802. }
  2803. }
  2804. updateTokensToLower(TemplateIds) {
  2805. let instance = this;
  2806. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2807. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().updateTokensToLowerCase(TemplateIds, "templatetext").then(function (response) {
  2808. if (response.errors == null) {
  2809. MessageHelper.Instance().showSuccess(response.message, "");
  2810. }
  2811. else {
  2812. MessageHelper.Instance().showError(response.message, "div_message");
  2813. }
  2814. });
  2815. });
  2816. }
  2817. replaceTokens(obj) {
  2818. let instance = this;
  2819. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2820. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().replaceTokens(obj).then(function (response) {
  2821. if (response.errors == null) {
  2822. MessageHelper.Instance().showSuccess(response.message, "");
  2823. }
  2824. else {
  2825. MessageHelper.Instance().showError(response.message, "div_message");
  2826. }
  2827. });
  2828. });
  2829. }
  2830. refreshAllTokens(TemplateIds) {
  2831. let instance = this;
  2832. if (TemplateIds == "") {
  2833. let InputParameters = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters;
  2834. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2835. let TemplateId = InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_templateid");
  2836. TemplateIds = TemplateId.Value.toString();
  2837. let installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2838. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2839. $(detailContainer).find(".DetailSetting_" + installedAppId + "_RefreshTokens").unbind().click(function () {
  2840. instance.refreshTokens(TemplateIds, false);
  2841. });
  2842. }
  2843. else {
  2844. instance.refreshTokens(TemplateIds, true);
  2845. }
  2846. }
  2847. refreshTokens(TemplateIds, IsList) {
  2848. let instance = this;
  2849. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  2850. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().refreshTokens(TemplateIds).then(function (response) {
  2851. if (response.errors == null) {
  2852. if (!IsList) {
  2853. var detailInstance = Unibase.Themes.Compact.Components.Details.Instance();
  2854. var panel = "#" + detailInstance._containerId;
  2855. var obj = Unibase.Themes.Compact.Components.Details.Instance();
  2856. obj._recordId = Unibase.Themes.Providers.DetailHelper.recordId;
  2857. obj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  2858. detailInstance.loadAppDefaultWidget(obj, panel, detailInstance._containerId, function () {
  2859. detailInstance.loadDefaultWidgets(obj._installedAppId, panel);
  2860. detailInstance.LoadApprovals(obj._recordId, obj._installedAppId);
  2861. });
  2862. }
  2863. MessageHelper.Instance().showSuccess(response.message, "");
  2864. }
  2865. else {
  2866. MessageHelper.Instance().showError(response.message, "div_message");
  2867. }
  2868. });
  2869. });
  2870. }
  2871. loadOrderFromEmployeeRoute() {
  2872. const instance = this;
  2873. const containerEl = $("#" + instance.g_VisibleContainerId);
  2874. const employeeRouteEl = containerEl.find('#hf_employeerouteorder');
  2875. if (employeeRouteEl.length) {
  2876. const organizationname = employeeRouteEl.attr('data-organization');
  2877. const contactid = employeeRouteEl.attr('data-contactid');
  2878. let contact = new Option(organizationname, contactid, true);
  2879. containerEl.find(".txtAutoComplete_organizationid").append(contact).val(contactid).trigger("change");
  2880. containerEl.find('#orgContact_back').addClass('hidden');
  2881. }
  2882. }
  2883. static Instance() {
  2884. if (this.instance === undefined) {
  2885. this.instance = new Order();
  2886. }
  2887. return this.instance;
  2888. }
  2889. }
  2890. Controls.Order = Order;
  2891. })(Controls = Transact.Controls || (Transact.Controls = {}));
  2892. })(Transact = Apps.Transact || (Apps.Transact = {}));
  2893. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  2894. })(Bizgaze || (Bizgaze = {}));