Built files from Bizgaze WebServer
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

estimate.component.js 158KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099
  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 Estimate extends Unibase.Platform.Core.BaseComponent {
  10. constructor() {
  11. super(...arguments);
  12. this.g_LoadOffersOnly = false;
  13. this.g_EstimateType = "";
  14. this.g_OrgContactId = 0;
  15. this.g_OrganizationId = 0;
  16. this.g_LobId = 0;
  17. this.g_PriceCodeId = 0;
  18. this.g_IsTaxInclusive = false;
  19. this.g_InventoryApplyType = 1;
  20. this.g_LeveragePercent = 0;
  21. this.g_IsLeverageApplied = false;
  22. this.g_IsApprovalRequired = false;
  23. this.g_EstimateTypeId = 0;
  24. this.g_IsCalculateTax = true;
  25. this.g_CompositePriceType = 0;
  26. this.g_ExpandItemSettings = false;
  27. this.g_CountryId = 0;
  28. this.g_IsShowEnablePieceChkbox = 0;
  29. this.g_IsManageOfferDiscount = 0;
  30. this.g_IsShowAvailability = 0;
  31. this.g_IsChangePaymentMode = 0;
  32. this.g_IsShowExchangeDc = 0;
  33. this.g_IsChangePaymentTerm = 0;
  34. this.g_CanProcessOrder = 0;
  35. this.g_CreateDC = 0;
  36. this.g_CreateGRN = 0;
  37. this.g_ShowPrice = 0;
  38. this.g_IncreaseQty = 0;
  39. this.g_IsAdmin = 1;
  40. this.g_CompanyId = 0;
  41. this.g_BranchId = 0;
  42. this.g_TagGroupId = 0;
  43. this.g_IsDealer = false;
  44. this.g_ShowSaveAsDraft = true;
  45. this.g_IsSeriesDisabled = true;
  46. this.g_IsFromPurchaseIndent = false;
  47. this.g_ItemLoadTypes = [];
  48. this.g_InstalledAppId = 0;
  49. this.g_FormId = 0;
  50. this.g_ContactName = "";
  51. this.g_IsLead = false;
  52. this.g_IsFromLeadApp = false;
  53. this.g_IsCreateEstimate = false;
  54. this.g_LoadTypeId = 0;
  55. this.g_IsShowCategoryButton = false;
  56. }
  57. init(formpropertyid, prop, callback) {
  58. let instance = this;
  59. var jsFiles = ["platform/bundle/index.estimate.component.js"];
  60. instance.fileCacheHelper.loadJsFiles(jsFiles, function () {
  61. instance.fileCacheHelper.addCacheFiles(["apps/transact/controls/estimates/estimateitems.component.js", "apps/transact/components/estimates/estimatefilter.js", "apps/transact/managers/inventory/itemmanager.js"]);
  62. let IsAdmin = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().isAdmin;
  63. if (!IsAdmin) {
  64. instance.g_IsAdmin = 0;
  65. }
  66. else {
  67. instance.g_IsAdmin = 1;
  68. }
  69. instance.g_IsDealer = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().isRestrictedUser;
  70. instance._estimateItems = Bizgaze.Apps.Transact.Controls.EstimateItems.Instance();
  71. instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId);
  72. instance.loadPropertySettings(prop.PropertySettings, prop.FormPropertyId);
  73. });
  74. }
  75. loadControl(containerid, prop) {
  76. let instance = this;
  77. }
  78. loadControlSettings(controlsettingjson, formpropertyid) {
  79. let instance = this;
  80. instance.g_IsShowCategoryButton = false;
  81. $(document).ready(function () {
  82. instance.g_EstimateTypeId = Number($(".hdn_estimatetypeid").val());
  83. instance.g_EstimateType = Bizgaze.Apps.Transact.Enums.OrderType[instance.g_EstimateTypeId];
  84. instance.bindEvents();
  85. instance.loadEstimateFromEmployeeRoute();
  86. });
  87. }
  88. loadPropertySettings(propertysettings, formpropertyid) {
  89. let instance = this;
  90. }
  91. bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
  92. return null;
  93. }
  94. bindEvents() {
  95. var instance = this;
  96. instance.g_IsTaxInclusive = false;
  97. instance.g_ContainerId = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  98. if (Number($(".hdn_estimateid").val()) == 0) {
  99. instance.resetAllVariables();
  100. $(".Section").addClass("hidden");
  101. $(".section_ContactName").removeClass("hidden");
  102. $(".section_ContactName").find(".card-header").addClass("hidden");
  103. }
  104. $("#spn_TDSApplicable").text('TDS Applicable');
  105. $("#ContinueShopping_Div").removeClass('hidden');
  106. $('#bizgaze_body').on('keyup keypress', function (e) {
  107. let keyCode = e.keyCode || e.which;
  108. if (keyCode === 13) {
  109. e.preventDefault();
  110. return false;
  111. }
  112. });
  113. $(instance.g_ContainerId).find(".section_Details").addClass("section_EstimateDetails").removeClass("section_Details");
  114. instance.checkDefaultCompany();
  115. if (instance.g_EstimateTypeId != Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning && instance.g_EstimateTypeId != Bizgaze.Apps.Transact.Enums.OrderType.ProductionPlanning) {
  116. $(".btn_Save_Form").addClass("hidden");
  117. }
  118. let UserId = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().userId;
  119. if (instance.g_IsDealer && Number($(".hdn_estimateid").val()) == 0) {
  120. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getContactByUserId(UserId).then(function (response) {
  121. let contactId = response.result.OrganizationId;
  122. let organizationName = response.result.OrganizationName;
  123. let contact = new Option(organizationName, contactId.toString(), true);
  124. $(".txtAutoComplete_organizationid").append(contact);
  125. $(".txtAutoComplete_organizationid").val(contactId).trigger("change");
  126. $("#orgContact_back").addClass("hidden");
  127. });
  128. }
  129. instance.g_IsCreateEstimate = false;
  130. if (Number($(".hdn_estimateid").val()) == 0) {
  131. $(".divCustomProperties_orderdate").addClass("hidden");
  132. }
  133. $(".div_refdate, #div_proposeddeliverydate").addClass('floating-label-form-group-with-value');
  134. if ($(".date_estimatedate").length > 0 && $(".date_estimatevaliddate").length > 0 && $(".date_expecteddeliverydate").length > 0) {
  135. $('.date_estimatedate, .date_expecteddeliverydate, .date_estimatevaliddate').on('apply.daterangepicker', function () {
  136. var AppTitile = "Estimate";
  137. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract) {
  138. AppTitile = "Contract";
  139. }
  140. let EstimateDate = $.datepicker.parseDate('dd/mm/yy', $(".date_estimatedate").val().toString());
  141. let ExpDeliveryDate = $.datepicker.parseDate('dd/mm/yy', $(".date_expecteddeliverydate").val().toString());
  142. let ValidDate = $.datepicker.parseDate('dd/mm/yy', $(".date_estimatevaliddate").val().toString());
  143. $("#Bizgaze-messageInfo").empty();
  144. if (EstimateDate > ExpDeliveryDate && EstimateDate > ValidDate) {
  145. $(".bizgaze_FormErrorMessages").removeClass("hidden");
  146. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Delivery Date and Valid Date must be greater than " + AppTitile + " Date");
  147. $(".btn_Save_Form").find("button").attr("disabled", "disabled").css("cursor", "not-allowed");
  148. return false;
  149. }
  150. else if (EstimateDate > ExpDeliveryDate) {
  151. $(".bizgaze_FormErrorMessages").removeClass("hidden");
  152. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Delivery Date must be greater than " + AppTitile + " Date");
  153. $(".btn_Save_Form").find("button").attr("disabled", "disabled").css("cursor", "not-allowed");
  154. return false;
  155. }
  156. else if (EstimateDate > ValidDate) {
  157. $(".bizgaze_FormErrorMessages").removeClass("hidden");
  158. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Valid Date must be greater than " + AppTitile + " Date");
  159. $(".btn_Save_Form").find("button").attr("disabled", "disabled").css("cursor", "not-allowed");
  160. return false;
  161. }
  162. else {
  163. $(".bizgaze_FormErrorMessages").addClass("hidden");
  164. $(".btn_Save_Form").find("button").removeAttr("disabled").css("cursor", "auto");
  165. }
  166. });
  167. }
  168. $("#btn_CloseForm").after('<a href="javascript:;" id="btn_SaveAsDraft" class="btn btn-yellow btn_OrderSaveAsDraft hidden btn-sm mr-auto" style="" onclick="Bizgaze.Apps.Transact.Controls.Estimate.Instance().saveAsDraft();">Save as Draft</a>');
  169. if (Number($(".hdn_estimateid").val()) != 0) {
  170. instance.editForm();
  171. }
  172. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract) {
  173. instance.g_ItemLoadTypes = ["All Items", "Offers", "Filter"];
  174. }
  175. $("#div_TaxGroupId").addClass('hidden');
  176. $(".hdn_expecteddeliverydate").val($(".date_proposeddeliverydate").val());
  177. $(".date_proposeddeliverydate").change(function () {
  178. $(".hdn_expecteddeliverydate").val($(".date_proposeddeliverydate").val());
  179. });
  180. $("#chkSection_TDSApplicable").click(function () {
  181. if ($("#chkSection_TDSApplicable").is(':checked')) {
  182. $("#TDSAmount").removeClass('hidden');
  183. $("#div_TaxGroupId").removeClass('hidden');
  184. }
  185. else {
  186. $("#div_TaxGroupId").addClass('hidden');
  187. }
  188. });
  189. if (Number($(".hdn_estimateid").val()) == 0) {
  190. $("#btn_Save").addClass('hidden');
  191. $(instance.g_ContainerId).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.Estimate.Instance().checkout();">Check Out</button>');
  192. }
  193. let leadIdIndex = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.findIndex(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_leadid"));
  194. let leadNameIndex = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.findIndex(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_leadname"));
  195. if (leadIdIndex != -1 && leadNameIndex != -1) {
  196. let leadId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_leadid").Value);
  197. let leadName = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_leadname").Value;
  198. let contact = new Option(leadName, leadId.toString(), true);
  199. $(".txtAutoComplete_organizationid").append(contact);
  200. $(".txtAutoComplete_organizationid").val(leadId).trigger("change");
  201. instance.g_IsCreateEstimate = true;
  202. instance.changedOrganization();
  203. }
  204. let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  205. let InputParameters = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters;
  206. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  207. let AppTitle = InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_apptitle");
  208. if (InputParameters.length > 0 && AppTitle != undefined) {
  209. var AppName = InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_apptitle").Value;
  210. if (AppName == "purchaseindent") {
  211. var PurchaseIndentId = Number(InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_purchaseindentid").Value);
  212. var hdn_EstimateId = Number($("#" + VisibleContainerId).find(".hdn_estimateid").val());
  213. if (PurchaseIndentId != undefined && hdn_EstimateId == 0) {
  214. instance.navigationHelper.showLoading();
  215. instance.g_IsFromPurchaseIndent = true;
  216. instance.bindPurchaseIndentDetails(PurchaseIndentId);
  217. instance.navigationHelper.hideLoading();
  218. }
  219. }
  220. }
  221. instance.autoCompleteEvents();
  222. instance._estimateItems.itemSettingsEvents();
  223. }
  224. checkDefaultCompany() {
  225. var instance = this;
  226. let companyId = 0;
  227. instance.fileCacheHelper.loadJsFile("apps/transact/managers/estimates/estimatemanager.js", function () {
  228. Bizgaze.Apps.Transact.Managers.EstimateManager.Instance().getEstimate(Number($(".hdn_estimateid").val())).then(function (response) {
  229. if (response.result != null && response.result != "") {
  230. companyId = response.result.CompanyId;
  231. }
  232. else {
  233. if (Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings != null) {
  234. let companySetting = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings.find(x => x.settingName == "companyid");
  235. if (companySetting != null && companySetting != undefined) {
  236. companyId = companySetting.settingValue;
  237. instance.g_BranchId = Number(Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings.find(x => x.settingName == "branchid").settingValue);
  238. }
  239. else {
  240. instance.defaultBranchError();
  241. }
  242. }
  243. else {
  244. instance.defaultBranchError();
  245. }
  246. }
  247. if (companyId != 0) {
  248. let Parameters = [{ "ColumnName": "companyid", "Value": companyId, }];
  249. if (Number($(".hdn_estimateid").val()) > 0) {
  250. let LobId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_lobid").Value);
  251. Parameters = [
  252. { "ColumnName": "companyid", "Value": companyId, },
  253. { "ColumnName": "lobid", "Value": LobId, },
  254. ];
  255. }
  256. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_organizationid"), Parameters);
  257. }
  258. });
  259. });
  260. }
  261. defaultBranchError() {
  262. $("#Bizgaze-messageInfo").empty();
  263. $(".bizgaze_FormErrorMessages").removeClass("hidden");
  264. $(".txtAutoComplete_organizationid").attr("disabled", "disabled");
  265. $(".btn_Save_Form").addClass("hidden");
  266. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Configure Default Branch");
  267. return false;
  268. }
  269. changedOrganization() {
  270. let instance = this;
  271. let g_VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  272. if (!instance.g_IsFromPurchaseIndent) {
  273. instance.g_LobId = 0;
  274. }
  275. if ($(".txtAutoComplete_organizationid").val() == null) {
  276. instance.resetAllVariables();
  277. }
  278. else {
  279. if (Number($(".hdn_estimateid").val()) == 0 && instance.g_EstimateTypeId != Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning && instance.g_EstimateTypeId != Bizgaze.Apps.Transact.Enums.OrderType.ProductionPlanning) {
  280. $("#btnDynamicSave").addClass("hidden");
  281. }
  282. let leadid = Number($(".txtAutoComplete_organizationid").val());
  283. instance.fileCacheHelper.loadJsFile("apps/transact/managers/estimates/estimatemanager.js", function () {
  284. Bizgaze.Apps.Transact.Managers.EstimateManager.Instance().getLeadByLeadId(leadid).then(function (response) {
  285. if (response.result != null && response.result != "") {
  286. instance.g_IsLead = true;
  287. }
  288. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate) {
  289. if (instance.g_IsLead || instance.g_IsCreateEstimate) {
  290. instance.g_IsLead = true;
  291. $("#div_FormName").text("Create Sales Estimate (Lead)");
  292. $(".section_CustomerCreditHealth, .section_SalesFrequency").addClass("hidden");
  293. }
  294. else if (!instance.g_IsLead) {
  295. instance.g_IsLead = false;
  296. $("#div_FormName").text("Create Sales Estimate (Organization)");
  297. }
  298. }
  299. if ($(".txtAutoComplete_organizationid").text() != "Create New") {
  300. if (!instance.g_IsFromPurchaseIndent) {
  301. if (instance.g_EstimateTypeId != Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning && instance.g_EstimateTypeId != Bizgaze.Apps.Transact.Enums.OrderType.ProductionPlanning) {
  302. $(".CheckOutButton").removeClass('hidden');
  303. }
  304. else {
  305. $(".btn_Save_Form").removeClass("hidden");
  306. }
  307. $(".section_ContactName").find(".card-body").addClass("hidden");
  308. $(".OrgContact_Details").remove();
  309. instance.prependCustomerLink();
  310. if (instance.g_EstimateTypeId != Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning && instance.g_EstimateTypeId != Bizgaze.Apps.Transact.Enums.OrderType.ProductionPlanning) {
  311. $("#" + g_VisibleContainerId).find(".section_CartDetails").addClass('d-none');
  312. if (Number($(".hdn_estimateid").val()) == 0) {
  313. $("#" + g_VisibleContainerId).find(".section_Summary").addClass('d-none');
  314. }
  315. $("#" + g_VisibleContainerId).find(".section_PriceDetails").addClass('d-none');
  316. }
  317. else {
  318. $("#" + g_VisibleContainerId).find(".section_CartDetails, .section_Summary, .section_PriceDetails, .section_PurchasePlan, .section_Description").removeClass('hidden');
  319. }
  320. }
  321. else {
  322. $(".CheckOutButton").addClass('hidden');
  323. $("#btn_CloseForm").removeClass('mr-auto');
  324. $("#btn_Save, .section_CartDetails, .section_Summary, #dropup_save, #btn_Save_New, .btn_Save_Form, .section_PriceDetails, .section_PurchasePlan").removeClass('hidden');
  325. }
  326. $(".section_EstimateDetails").removeClass("hidden");
  327. $(".section_CustomerCreditHealth, .section_SalesFrequency, .section_CustomerOfferSummary").find(".card-body").addClass("hidden");
  328. $(".section_CustomerCreditHealth, .section_SalesFrequency, .section_CustomerOfferSummary").find(".card-body").addClass("hidden");
  329. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract) {
  330. $(".section_CustomerCreditHealth").find(".card-header").html(`<a class="btn_CustomerCreditHealth_angle text-dark" href="javascript:;"> <i class="fa fa-angle-down hidden"></i><i class="fa fa-angle-right"></i><span class="ml-10">Vendor Credit Health</span> </a>`);
  331. $(".section_SalesFrequency").find(".card-header").html(`<a class="btn_SalesFrequency_angle text-dark" href="javascript:;"> <i class="fa fa-angle-down hidden"></i><i class="fa fa-angle-right"></i><span class="ml-10">Purchase Frequency</span> </a>`);
  332. }
  333. else {
  334. $(".section_CustomerCreditHealth").find(".card-header").html(`<a class="btn_CustomerCreditHealth_angle text-dark" href="javascript:;"> <i class="fa fa-angle-down hidden"></i><i class="fa fa-angle-right"></i><span class="ml-10">Customer Credit Health</span> </a>`);
  335. $(".section_SalesFrequency").find(".card-header").html(`<a class="btn_SalesFrequency_angle text-dark" href="javascript:;"> <i class="fa fa-angle-down hidden"></i><i class="fa fa-angle-right"></i><span class="ml-10">Sales Frequency</span> </a>`);
  336. }
  337. $(".section_CustomerOfferSummary").find(".card-header").first().html(`<a class="btn_CustomerOfferSummary_angle text-dark" href="javascript:;"> <i class="fa fa-angle-down hidden"></i><i class="fa fa-angle-right"></i><span class="ml-10">Customer Offer 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>`);
  338. $(".btn_CustomerCreditHealth_angle").click(function () {
  339. $(".btn_CustomerCreditHealth_angle").find(".fa-angle-down").toggleClass("hidden");
  340. $(".btn_CustomerCreditHealth_angle").find(".fa-angle-right").toggleClass("hidden");
  341. if (!$(".btn_CustomerCreditHealth_angle").find(".fa-angle-down").hasClass("hidden")) {
  342. Bizgaze.Apps.Transact.Controls.CustomerCreditHealth.Instance().getCreditHealth(0, instance.g_OrganizationId, instance.g_EstimateType);
  343. }
  344. $(".section_CustomerCreditHealth").find(".card-body").toggleClass("hidden");
  345. });
  346. $(".btn_SalesFrequency_angle").click(function () {
  347. $(".btn_SalesFrequency_angle").find(".fa-angle-down").toggleClass("hidden");
  348. $(".btn_SalesFrequency_angle").find(".fa-angle-right").toggleClass("hidden");
  349. Bizgaze.Apps.Transact.Controls.SalesFrequency.Instance().getFrequency(instance.g_OrgContactId, instance.g_OrganizationId);
  350. $(".section_SalesFrequency").find(".card-body").toggleClass("hidden");
  351. });
  352. $(".btn_CustomerOfferSummary_angle").click(function () {
  353. $(".btn_CustomerOfferSummary1_angle").find(".fa-angle-down").toggleClass("hidden");
  354. $(".btn_CustomerOfferSummary1_angle").find(".fa-angle-right").toggleClass("hidden");
  355. instance.customerOfferSummary();
  356. $(".section_CustomerOfferSummary").find(".card-body").toggleClass("hidden");
  357. });
  358. if (Number($(".hdn_estimateid").val()) == 0) {
  359. $(".section_CustomerOfferSummary").removeClass('hidden');
  360. $(".section_CustomerCreditHealth").removeClass('hidden');
  361. $(".section_SalesFrequency").removeClass('hidden');
  362. }
  363. else {
  364. $(".txtAutoComplete_billingaddressid").removeAttr("disabled");
  365. $(".txtAutoComplete_shippingaddressid").removeAttr("disabled");
  366. }
  367. $(".section_EstimateDetails").addClass('mt-10');
  368. $(".section_Items").addClass('mt-10');
  369. instance.g_OrganizationId = Number($('.txtAutoComplete_organizationid option:selected').val());
  370. if (instance.g_IsLead) {
  371. instance.bindLeadDetails(instance.g_OrganizationId, 0);
  372. }
  373. else if (instance.g_IsLead == false) {
  374. instance.bindDetails(instance.g_OrganizationId, instance.g_LobId);
  375. }
  376. if (instance.g_IsShowCategoryButton) {
  377. $("#cartCategoryAddBtn").removeClass("hidden");
  378. }
  379. else {
  380. $("#cartCategoryAddBtn").addClass("hidden");
  381. }
  382. }
  383. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate) {
  384. $("#btn_CloseForm").removeClass('mr-auto');
  385. $("#btn_Save, .section_CartDetails, .section_Summary, #dropup_save, #btn_Save_New, .btn_Save_Form, .section_PriceDetails, .section_PurchasePlan, .section_Description").removeClass('hidden');
  386. $("#chk_isgenerateforallbranches").prop("checked", true).trigger("change");
  387. $("#hdnchk_isgenerateforallbranches").val("true");
  388. }
  389. });
  390. });
  391. }
  392. }
  393. bindDetails(OrganizationId, LobId) {
  394. let instance = this;
  395. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  396. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getDetails(OrganizationId, LobId, instance.g_EstimateType, false).then(function (response) {
  397. instance.bindAllDetails(LobId, response);
  398. });
  399. });
  400. }
  401. bindAllDetails(LobId, response) {
  402. let instance = this;
  403. let msg = response.message;
  404. let res = response.result;
  405. if (msg != "") {
  406. Unibase.Platform.Forms.Components.FormViewer.Instance().showError(msg);
  407. instance._estimateItems.disableSave();
  408. }
  409. if (res != null) {
  410. $(".txtAutoComplete_orgcontactid").empty();
  411. $(".txtAutoComplete_companyid").empty();
  412. $(".txtAutoComplete_shippingaddressid, .txtAutoComplete_billingaddressid").empty();
  413. $(".txtAutoComplete_shipfromaddressid, .txtAutoComplete_branchid").empty();
  414. $(".txtAutoComplete_lobid").empty();
  415. $(".txtAutoComplete_salespersonid").empty();
  416. $(".txtSeriesAutoComplete_seriesid").empty();
  417. $(".txtAutoComplete_paymenttermid").empty();
  418. }
  419. if (res.OrganizationTypeId == 1) {
  420. instance.g_OrgContactId = res.OrgContactId;
  421. if (res.OrgContactName != null && res.OrgContactName != undefined) {
  422. let OrgContact = new Option(res.OrgContactName, instance.g_OrgContactId.toString(), true);
  423. $(".txtAutoComplete_orgcontactid").append(OrgContact).val(instance.g_OrgContactId);
  424. }
  425. }
  426. else if (res.OrganizationTypeId == 2) {
  427. $("#div_orgcontactid").addClass("hidden");
  428. }
  429. if (res.CountryId != "" && res.CountryId != undefined) {
  430. instance.g_CountryId = res.CountryId;
  431. }
  432. else {
  433. instance.g_CountryId = 0;
  434. }
  435. instance.g_CompanyId = res.CompanyId;
  436. let CompanyName = res.CompanyName;
  437. let ShipFromAddressId = response.result.ShipFromAddressId;
  438. instance.g_BranchId = response.result.BranchId;
  439. let BranchName = response.result.BranchName;
  440. let WarehouseName = response.result.ShipFromAddressName;
  441. let BranchShortCode = response.result.BranchShortCode;
  442. let WarehouseShortCode = response.result.WarehouseShortCode;
  443. let Company = new Option(CompanyName, instance.g_CompanyId.toString(), true);
  444. $(".txtAutoComplete_companyid").append(Company).val(instance.g_CompanyId);
  445. $(".txtAutoComplete_shipfromaddressid, .txtAutoComplete_branchid").val('').text('');
  446. let Branch = new Option(BranchName + " - " + BranchShortCode, instance.g_BranchId.toString(), true);
  447. let Warehouse = new Option(WarehouseName + " - " + WarehouseShortCode, ShipFromAddressId.toString(), true);
  448. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.ProductionPlanning) {
  449. $(".txtAutoComplete_shippingaddressid").append(Warehouse).val(ShipFromAddressId);
  450. $(".txtAutoComplete_billingaddressid").append(Branch).val(instance.g_BranchId);
  451. }
  452. else if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract) {
  453. $(".txtAutoComplete_shipfromaddressid").append(Warehouse).val(ShipFromAddressId);
  454. $(".txtAutoComplete_branchid").append(Branch).val(instance.g_BranchId);
  455. }
  456. if (res.BillingAddressId != 0) {
  457. let BillingAddress = new Option(res.BillingAddressName, res.BillingAddressId, true);
  458. let ShippingAddress = new Option(res.BillingAddressName, res.BillingAddressId, true);
  459. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract) {
  460. $(".txtAutoComplete_billingaddressid").append(BillingAddress).val(res.BillingAddressId);
  461. $(".txtAutoComplete_shippingaddressid").append(ShippingAddress).val(res.ShippingAddressId);
  462. }
  463. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.ProductionPlanning) {
  464. $(".txtAutoComplete_branchid").append(BillingAddress).val(res.BillingAddressId);
  465. $(".txtAutoComplete_shipfromaddressid").append(ShippingAddress).val(res.ShippingAddressId);
  466. }
  467. }
  468. if (res.IsCashCustomer) {
  469. $(".dropdown_paymentmethodid").val(1);
  470. }
  471. $("#div_lobid, .txtAutoComplete_lobid, #div_salespersonid, .txtAutoComplete_salespersonid").removeClass("hidden").removeAttr("disabled");
  472. $(".divCustomProperties_orgcontactid, .divCustomProperties_salespersonid").removeClass("hidden");
  473. $(".divCustomProperties_billingaddressid, .divCustomProperties_shippingaddressid").removeClass("hidden");
  474. if (res.LobId != 0) {
  475. instance.g_TagGroupId = res.TagGroupId;
  476. let LobDetails = new Option(res.LobName, res.LobId, true);
  477. $(".txtAutoComplete_lobid").append(LobDetails).val(res.LobId);
  478. instance.g_LobId = res.LobId;
  479. let data = res.Permissions;
  480. instance.setPermissionVariables(data);
  481. instance._estimateItems.itemSettings();
  482. instance.setInventorySettings(res.InventoryApplyType);
  483. instance.setOrderSettings(res, res.CompositePriceType);
  484. instance.setItemDisplaySettings(res.ExpandItemSettings);
  485. instance.setCategorySettings(res.CategoryItemSettings);
  486. let SalesPerson = new Option(res.SalesPersonName, res.SalesPersonId, true);
  487. $(".txtAutoComplete_salespersonid").append(SalesPerson);
  488. $(".txtAutoComplete_salespersonid").val(res.SalesPersonId);
  489. $(".txtSeriesAutoComplete_seriesid").empty();
  490. if (instance.g_IsSeriesDisabled) {
  491. $(".txtSeriesAutoComplete_seriesid").attr("disabled", "true");
  492. }
  493. else {
  494. $(".txtSeriesAutoComplete_seriesid").removeAttr("disabled");
  495. }
  496. if (res.SeriesSettings.length == 0) {
  497. for (let s = 0; s < res.SeriesList.length; s++) {
  498. let Series = new Option(res.SeriesList[s].SeriesName, res.SeriesList[s].SeriesId, true);
  499. $(".txtSeriesAutoComplete_seriesid").append(Series);
  500. }
  501. }
  502. else {
  503. for (let s = 0; s < res.SeriesSettings.length; s++) {
  504. let Series = new Option(res.SeriesSettings[s].SeriesName, res.SeriesSettings[s].SeriesId, true);
  505. $(".txtSeriesAutoComplete_seriesid").append(Series);
  506. }
  507. }
  508. $(".txtSeriesAutoComplete_seriesid").val(res.SeriesId);
  509. if (res.PaymentTermId != 0) {
  510. let PaymentTerm = new Option(res.PaymentTermName, res.PaymentTermId, true);
  511. $(".txtAutoComplete_paymenttermid").append(PaymentTerm);
  512. $(".txtAutoComplete_paymenttermid").val(res.PaymentTermId);
  513. }
  514. if (res.Terms != "<p><br></p>" && res.Terms != "" && res.Terms != null) {
  515. $(".divCustomProperties_terms").addClass('floating-label-form-group-with-value');
  516. let id = $(".divCustomProperties_terms").attr("id");
  517. if (id != undefined && id != "" && id != null) {
  518. id = $(".divCustomProperties_terms").attr("id").replace("control-container-", "");
  519. $("#txt_" + id).html(res.Terms);
  520. $("#txt_" + id).val($("#txt_" + id)[0].textContent);
  521. }
  522. }
  523. else
  524. $(".divCustomProperties_terms").removeClass('floating-label-form-group-with-value');
  525. if (Number($(".hdn_estimateid").val()) == 0) {
  526. $('.section_Items').removeClass('hidden');
  527. }
  528. instance.g_PriceCodeId = res.PriceCodeId;
  529. $('#hfOrder_IsSeperateExcise').val(res.IsSeperateExcise);
  530. if ($("#chk_PriceCodeId").is(':checked'))
  531. instance.g_PriceCodeId = res.AdvancePriceCodeId;
  532. if (Number($(".hdn_estimateid").val()) == 0) {
  533. $("#ItemLoadType").empty();
  534. for (let i = 0; i < instance.g_ItemLoadTypes.length; i++) {
  535. let j = i + 1;
  536. $("#ItemLoadType").append('<option value="' + j + '">' + instance.g_ItemLoadTypes[i] + '</option>');
  537. }
  538. if ($("#ItemLoadType option:selected").text() == 'Offers') {
  539. $("#ItemLoadType option:contains(All Items)").attr('selected', 'selected');
  540. }
  541. $(".variant-list").empty();
  542. if (instance.g_EstimateTypeId != Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning && instance.g_EstimateTypeId != Bizgaze.Apps.Transact.Enums.OrderType.ProductionPlanning) {
  543. instance._estimateItems.loadItems('', instance.g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val());
  544. }
  545. }
  546. if (LobId == 0) {
  547. $("#div_lobid, #div_salespersonid").removeClass("hidden");
  548. $(".txtAutoComplete_lobid").attr("disabled", "true");
  549. $(".txtAutoComplete_salespersonid").attr("disabled", "true");
  550. }
  551. if (res.IsMultipleLobs) {
  552. $("#div_lobid, #div_salespersonid").removeClass("hidden");
  553. $("#div_lobid, #div_salespersonid, .txtAutoComplete_lobid, .txtAutoComplete_salespersonid").removeAttr("disabled");
  554. }
  555. }
  556. else {
  557. let msg = response.message;
  558. if (msg != "") {
  559. $(".txtAutoComplete_lobid").empty();
  560. $(".txtAutoComplete_lobid, .txtAutoComplete_salespersonid").attr("disabled", "disabled");
  561. }
  562. }
  563. instance.loadAutoCompletes();
  564. if (msg == "") {
  565. instance._estimateItems.enableSave();
  566. }
  567. instance.g_IsLeverageApplied = res.IsLeverageApplied;
  568. if (!instance.g_IsAdmin) {
  569. if (res.LeveragePercent != 0 && res.LeveragePercent != '' && res.LeveragePercent != undefined)
  570. instance.g_LeveragePercent = res.LeveragePercent;
  571. $('.empLeverage').text(instance.g_LeveragePercent);
  572. }
  573. }
  574. bindLeadDetails(LeadId, LobId) {
  575. var instance = this;
  576. let g_VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  577. $(".divCustomProperties_orgcontactid").addClass("hidden");
  578. $(".divCustomProperties_salespersonid").addClass("hidden");
  579. $(".divCustomProperties_billingaddressid").addClass("hidden");
  580. $(".divCustomProperties_shippingaddressid").addClass("hidden");
  581. $(".hfAutoCompleteId_orgcontactid").val(0);
  582. $(".hfAutoCompleteId_salespersonid").val(0);
  583. $(".hfAutoCompleteId_billingaddressid").val(0);
  584. $(".hfAutoCompleteId_shippingaddressid").val(0);
  585. $(".hfAutoCompleteId_organizationid").val(0);
  586. $(".txtAutoComplete_salespersonid").removeClass("required");
  587. $(".txtAutoComplete_billingaddressid").removeClass("required");
  588. $(".txtAutoComplete_shippingaddressid").removeClass("required");
  589. $(".txtAutoComplete_organizationid").removeClass("required");
  590. $("#div_lobid, .txtAutoComplete_lobid").removeClass("hidden").removeAttr("disabled");
  591. $(".hdn_leadid").val(instance.g_OrganizationId);
  592. instance.fileCacheHelper.loadJsFile("apps/transact/managers/estimates/estimatemanager.js", function () {
  593. Bizgaze.Apps.Transact.Managers.EstimateManager.Instance().getLeadDetails(LeadId, LobId, instance.g_EstimateTypeId).then(function (response) {
  594. var res = response.result;
  595. if (res != null) {
  596. $(".txtSeriesAutoComplete_seriesid").empty();
  597. }
  598. instance.g_CompanyId = res.CompanyId;
  599. let CompanyName = res.CompanyName;
  600. instance.g_BranchId = response.result.BranchId;
  601. let BranchName = response.result.BranchName;
  602. var BranchShortCode = response.result.BranchShortCode;
  603. let Description = response.result.Description == null ? "" : response.result.Description;
  604. var Company = new Option(CompanyName, instance.g_CompanyId.toString(), true);
  605. $(".txtAutoComplete_companyid").append(Company);
  606. $(".txtAutoComplete_companyid").val(instance.g_CompanyId);
  607. $('.divCustomProperties_description textarea').val(Description);
  608. $(".txtAutoComplete_shipfromaddressid, .txtAutoComplete_branchid").val('').text('');
  609. var Branch = new Option(BranchName + " - " + BranchShortCode, instance.g_BranchId.toString(), true);
  610. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate) {
  611. $(".txtAutoComplete_shipfromaddressid, .txtAutoComplete_branchid, .txtAutoComplete_billingaddressid, .txtAutoComplete_shippingaddressid").append(Branch);
  612. $(".txtAutoComplete_shipfromaddressid, .txtAutoComplete_branchid, .txtAutoComplete_billingaddressid, .txtAutoComplete_shippingaddressid").val(instance.g_BranchId);
  613. }
  614. if (res.LobId != 0) {
  615. if (!res.IsMultipleLobs) {
  616. instance.g_TagGroupId = res.TagGroupId;
  617. var LobDetails = new Option(res.LobName, res.LobId, true);
  618. $(".txtAutoComplete_lobid").append(LobDetails);
  619. $(".txtAutoComplete_lobid").val(res.LobId);
  620. instance.g_LobId = res.LobId;
  621. let data = res.Permissions;
  622. instance.setPermissionVariables(data);
  623. instance._estimateItems.itemSettings();
  624. instance.setInventorySettings(res.InventoryApplyType);
  625. instance.setOrderSettings(res, res.CompositePriceType);
  626. $(".txtSeriesAutoComplete_seriesid").empty();
  627. if (res.SeriesSettings.length == 0) {
  628. for (var s = 0; s < res.SeriesList.length; s++) {
  629. var Series = new Option(res.SeriesList[s].SeriesName, res.SeriesList[s].SeriesId, true);
  630. $(".txtSeriesAutoComplete_seriesid").append(Series);
  631. }
  632. }
  633. else {
  634. for (var s = 0; s < res.SeriesSettings.length; s++) {
  635. var Series = new Option(res.SeriesSettings[s].SeriesName, res.SeriesSettings[s].SeriesId, true);
  636. $(".txtSeriesAutoComplete_seriesid").append(Series);
  637. }
  638. }
  639. $(".txtSeriesAutoComplete_seriesid").val(res.SeriesId);
  640. }
  641. if (res.PaymentTermId != 0) {
  642. var PaymentTerm = new Option(res.PaymentTermName, res.PaymentTermId, true);
  643. $(".txtAutoComplete_paymenttermid").append(PaymentTerm);
  644. $(".txtAutoComplete_paymenttermid").val(res.PaymentTermId);
  645. }
  646. if (res.Terms != "<p><br></p>" && res.Terms != "") {
  647. $(".divCustomProperties_terms").addClass('floating-label-form-group-with-value');
  648. }
  649. else
  650. $(".divCustomProperties_terms").removeClass('floating-label-form-group-with-value');
  651. if (res.Terms != null) {
  652. var id = $(".divCustomProperties_terms").attr("id").replace("control-container-", "");
  653. $("#txt_" + id).html(res.Terms);
  654. $("#txt_" + id).val($("#txt_" + id)[0].textContent);
  655. }
  656. if (Number($(".hdn_estimateid").val()) == 0) {
  657. $('.section_Items').removeClass('hidden');
  658. }
  659. $('#hfOrder_PriceCodeId').val(res.PriceCodeId);
  660. $('#hfOrder_IsSeperateExcise').val(res.IsSeperateExcise);
  661. if ($("#chk_PriceCodeId").is(':checked'))
  662. $('#hfOrder_PriceCodeId').val(res.AdvancePriceCodeId);
  663. if (res.SalesPersonId == 0) {
  664. let SalesPesinid = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().userId;
  665. let SalesPersonName = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().name;
  666. let SalesPerson = new Option(SalesPersonName, SalesPesinid.toString(), true);
  667. $("#" + g_VisibleContainerId).find(".txtAutoComplete_salespersonid").append(SalesPerson);
  668. $("#" + g_VisibleContainerId).find(".txtAutoComplete_salespersonid").val(SalesPesinid);
  669. }
  670. if (Number($(".hdn_estimateid").val()) == 0) {
  671. instance._estimateItems.loadItems('', instance.g_OrganizationId, $(".txtAutoComplete_lobid").val(), 0, $(".txtAutoComplete_branchid").val(), false);
  672. }
  673. $("#div_lobid").removeClass("hidden");
  674. }
  675. else {
  676. var msg = response.message;
  677. if (msg != "") {
  678. $(".txtAutoComplete_lobid").empty();
  679. $(".txtAutoComplete_lobid, .txtAutoComplete_salespersonid").attr("disabled", "disabled");
  680. }
  681. }
  682. instance.loadAutoCompletes();
  683. });
  684. });
  685. }
  686. loadAutoCompletes() {
  687. let instance = this;
  688. let id = $(".select2-results").find("ul").attr("id");
  689. let changedAutoComplete = "";
  690. if (id != undefined && id != null) {
  691. changedAutoComplete = $("#" + id.replace("select2-", "").replace("-results", "")).attr("data-propertyname");
  692. }
  693. if (!instance.g_IsLead) {
  694. if ($(".txtAutoComplete_orgcontactid").length > 0) {
  695. let OrgId = [
  696. { ColumnName: 'orgid', Value: instance.g_OrganizationId },
  697. ];
  698. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_orgcontactid"), OrgId);
  699. }
  700. let Contact = [
  701. { ColumnName: 'contactid', Value: instance.g_OrganizationId },
  702. ];
  703. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract) {
  704. if (changedAutoComplete != "billingaddressid") {
  705. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_billingaddressid"), Contact);
  706. }
  707. if (changedAutoComplete != "shippingaddressid") {
  708. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_shippingaddressid"), Contact);
  709. }
  710. }
  711. else if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.ProductionPlanning) {
  712. if (changedAutoComplete != "branchid") {
  713. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_branchid"), Contact);
  714. }
  715. if (changedAutoComplete != "shipfromaddressid") {
  716. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_shipfromaddressid"), Contact);
  717. }
  718. }
  719. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract) {
  720. let Parameters = [{ ColumnName: "companyid", Value: Number($(".txtAutoComplete_companyid").val()) }];
  721. if (changedAutoComplete != "branchid") {
  722. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_branchid"), Parameters);
  723. }
  724. if (changedAutoComplete != "shipfromaddressid") {
  725. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_shipfromaddressid"), Parameters);
  726. }
  727. }
  728. else if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.ProductionPlanning) {
  729. let Parameters = [{ ColumnName: "companyid", Value: Number($(".txtAutoComplete_companyid").val()) }];
  730. if (changedAutoComplete != "billingaddressid") {
  731. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_billingaddressid"), Parameters);
  732. }
  733. if (changedAutoComplete != "shippingaddressid") {
  734. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_shippingaddressid"), Parameters);
  735. }
  736. }
  737. if (instance.g_IsDealer) {
  738. if ($(".txtAutoComplete_billingaddressid").length == 1) {
  739. $(".divCustomProperties_billingaddressid").addClass("hidden");
  740. }
  741. if ($(".txtAutoComplete_shippingaddressid").length == 1) {
  742. $(".divCustomProperties_shippingaddressid").addClass("hidden");
  743. }
  744. if ($(".txtAutoComplete_branchid").length == 1) {
  745. $(".divCustomProperties_branchid").addClass("hidden");
  746. }
  747. if ($(".txtAutoComplete_shipfromaddressid").length == 1) {
  748. $(".divCustomProperties_shipfromaddressid").addClass("hidden");
  749. }
  750. }
  751. if (changedAutoComplete != "lobid") {
  752. let portalId = 0;
  753. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning)
  754. portalId = Number($(".txtAutoComplete_branchid").val());
  755. else
  756. portalId = Number($(".txtAutoComplete_billingaddressid option:selected").val());
  757. let Parameters = [
  758. { ColumnName: 'contactaddressid', Value: portalId },
  759. ];
  760. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_lobid"), Parameters);
  761. }
  762. if ($(".txtAutoComplete_consultantid").length > 0) {
  763. let Parameters = [
  764. { ColumnName: 'companyid', Value: instance.g_CompanyId },
  765. ];
  766. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_consultantid"), Parameters);
  767. }
  768. if (changedAutoComplete != "salespersonid") {
  769. let LobId = 0;
  770. let OrganizationAddressId = 0;
  771. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract) {
  772. LobId = Number($(".txtAutoComplete_lobid option:selected").val());
  773. OrganizationAddressId = Number($(".txtAutoComplete_billingaddressid option:selected").val());
  774. }
  775. else if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning) {
  776. LobId = Number($(".txtAutoComplete_lobid option:selected").val());
  777. OrganizationAddressId = Number($(".txtAutoComplete_branchid option:selected").val());
  778. }
  779. let Parameters = [
  780. { ColumnName: 'lobid', Value: LobId },
  781. { ColumnName: 'contactaddressid', Value: OrganizationAddressId },
  782. ];
  783. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_salespersonid"), Parameters);
  784. }
  785. }
  786. else {
  787. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract) {
  788. let Parameters = [{ ColumnName: "companyid", Value: Number($(".txtAutoComplete_companyid").val()) }];
  789. if (changedAutoComplete != "branchid") {
  790. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_branchid"), Parameters);
  791. }
  792. if (changedAutoComplete != "shipfromaddressid") {
  793. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_shipfromaddressid"), Parameters);
  794. }
  795. }
  796. if (changedAutoComplete != "lobid") {
  797. let Parameters = [
  798. { ColumnName: 'contactaddressid', Value: 1 },
  799. ];
  800. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_lobid"), Parameters);
  801. }
  802. }
  803. }
  804. autoCompleteEvents() {
  805. var instance = this;
  806. let g_VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  807. $(".txtAutoComplete_shipfromaddressid").change(function () {
  808. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract) {
  809. $(".section_Items").removeClass("hidden");
  810. let LobId = Number($("#" + g_VisibleContainerId).find(".txtAutoComplete_lobid").val());
  811. let ShippingAddressId = Number($("#" + g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid").val());
  812. let ShipFromAddressId = Number($("#" + g_VisibleContainerId).find(".txtAutoComplete_shipfromaddressid").val());
  813. instance.getOrderSettings(LobId, ShippingAddressId, ShipFromAddressId);
  814. instance._estimateItems.loadItems($("#txt_SearchItem").val(), instance.g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val(), true);
  815. $("#" + g_VisibleContainerId).find(".section_Items").removeClass("hidden");
  816. }
  817. });
  818. $(".txtAutoComplete_shippingaddressid").on("select2:select", function () {
  819. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning) {
  820. $(".section_Items").removeClass("hidden");
  821. let LobId = Number($("#" + g_VisibleContainerId).find(".txtAutoComplete_lobid").val());
  822. let ShipFromAddressId = Number($("#" + g_VisibleContainerId).find(".txtAutoComplete_shipfromaddressid").val());
  823. let ShippingAddressId = Number($("#" + g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid").val());
  824. instance.getOrderSettings(LobId, ShippingAddressId, ShipFromAddressId);
  825. instance._estimateItems.loadItems($("#txt_SearchItem").val(), instance.g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val());
  826. $("#" + g_VisibleContainerId).find(".section_Items").removeClass("hidden");
  827. }
  828. });
  829. $(".txtAutoComplete_organizationid").change(function () {
  830. let OrganizationId = Number($("#" + g_VisibleContainerId).find(this).val());
  831. if (OrganizationId > 0) {
  832. instance.changedOrganization();
  833. }
  834. });
  835. $(".txtAutoComplete_billingaddressid").on("select2:select", function () {
  836. $(".txtAutoComplete_billingaddressid").val($(this).val());
  837. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract) {
  838. $(".txtAutoComplete_salespersonid").empty();
  839. }
  840. if ($(this).val() != null && $(this).val() != undefined) {
  841. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract) {
  842. instance.loadDefaultSeries($(".txtAutoComplete_lobid option:selected").val());
  843. instance.loadLoBs();
  844. instance.g_CountryId = isNaN(Number($(".txtAutoComplete_billingaddressid").attr("data-addldata"))) ? 0 : Number($(".txtAutoComplete_billingaddressid").attr("data-addldata"));
  845. instance._estimateItems.loadItems($("#txt_SearchItem").val(), instance.g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val());
  846. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getAddressById(Number($(".txtAutoComplete_billingaddressid").val())).then(function (res) {
  847. if (res.result.IsCashCustomer) {
  848. $(".dropdown_paymentmethodid").val(1);
  849. }
  850. else {
  851. $(".dropdown_paymentmethodid").val(0);
  852. }
  853. });
  854. }
  855. }
  856. });
  857. $(".txtAutoComplete_branchid").change(function () {
  858. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning) {
  859. if (instance.g_EstimateTypeId != Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning) {
  860. $(".txtAutoComplete_salespersonid").empty();
  861. }
  862. instance.loadDefaultSeries($(".txtAutoComplete_lobid option:selected").val());
  863. instance.loadLoBs();
  864. instance.g_CountryId = isNaN(Number($(".txtAutoComplete_branchid").attr("data-addldata"))) ? 0 : Number($(".txtAutoComplete_branchid").attr("data-addldata"));
  865. if (instance.g_EstimateTypeId != Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning) {
  866. instance._estimateItems.loadItems($("#txt_SearchItem").val(), instance.g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val());
  867. }
  868. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getAddressById(Number($(".txtAutoComplete_branchid").val())).then(function (res) {
  869. if (res.result.IsCashCustomer) {
  870. $(".dropdown_paymentmethodid").val(1);
  871. }
  872. else {
  873. $(".dropdown_paymentmethodid").val(0);
  874. }
  875. });
  876. }
  877. });
  878. $("#" + g_VisibleContainerId).find(".txtAutoComplete_companyid").change(function () {
  879. let CompanyId = Number($("#" + g_VisibleContainerId).find(this).val());
  880. if (CompanyId != 0) {
  881. instance.loadAutoCompletes();
  882. }
  883. Bizgaze.Apps.CRM.Companies.Managers.CompanyManager.Instance().getBranches(CompanyId).then(function (comp_res) {
  884. let branch;
  885. let branchid = 0;
  886. if (comp_res.result != null) {
  887. comp_res = comp_res.result.filter(x => x.StatusId == 1);
  888. if (comp_res.length == 1) {
  889. branchid = comp_res[0].BranchId;
  890. branch = new Option(comp_res[0].BranchName + " - " + comp_res[0].ShortCode, branchid.toString(), true);
  891. }
  892. }
  893. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract) {
  894. if (branchid != 0) {
  895. $("#" + g_VisibleContainerId).find(".txtAutoComplete_branchid, .txtAutoComplete_shipfromaddressid").empty().append(branch).val(branchid).trigger("change");
  896. }
  897. else {
  898. $("#" + g_VisibleContainerId).find(".txtAutoComplete_branchid, .txtAutoComplete_shipfromaddressid").empty().trigger("change");
  899. }
  900. }
  901. else if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract) {
  902. if (branchid != 0) {
  903. $("#" + g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid, .txtAutoComplete_billingaddressid").empty().append(branch).val(branchid).trigger("change");
  904. }
  905. else {
  906. $("#" + g_VisibleContainerId).find(".txtAutoComplete_shippingaddressid, .txtAutoComplete_billingaddressid").empty().trigger("change");
  907. }
  908. }
  909. });
  910. });
  911. $(".txtAutoComplete_lobid").change(function () {
  912. instance._estimateItems.g_PageIndex = 0;
  913. let LobId = Number($(this).val());
  914. if (instance.g_IsLead && Number($(".hdn_estimateid").val()) == 0) {
  915. instance.bindLeadDetails(instance.g_OrganizationId, LobId);
  916. }
  917. else if (instance.g_IsLead == false && Number($(".hdn_estimateid").val()) == 0) {
  918. instance.bindDetails(instance.g_OrganizationId, LobId);
  919. }
  920. $("#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>');
  921. });
  922. $(".dropdown_istaxinclusive").change(function () {
  923. if ($(".dropdown_istaxinclusive").val() == "False") {
  924. instance.g_IsTaxInclusive = false;
  925. }
  926. else if ($(".dropdown_istaxinclusive").val() == "True") {
  927. instance.g_IsTaxInclusive = true;
  928. }
  929. instance._estimateItems.getTotals();
  930. });
  931. $(".hrefSection_MoreOptions").click(function () {
  932. if ($(".hrefSection_MoreOptions").text() == 'Less Options') {
  933. $(".hrefSection_MoreOptions").text('More Options');
  934. $(".section_AdvancedOptions").addClass('hidden');
  935. }
  936. else if ($(".hrefSection_MoreOptions").text() == 'More Options') {
  937. $(".hrefSection_MoreOptions").text('Less Options');
  938. $(".section_AdvancedOptions").removeClass('hidden');
  939. }
  940. });
  941. $(".txtAutoComplete_paymenttermid").change(function () {
  942. instance.loadPaymentTermConditions();
  943. });
  944. }
  945. prependCustomerLink() {
  946. var instance = this;
  947. let ContactName = $(".txtAutoComplete_organizationid option:selected").text();
  948. if (Number($(".hdn_estimateid").val()) != 0 && instance.g_IsLead) {
  949. ContactName = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_organizationname").Value;
  950. }
  951. 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.Estimate.Instance().customerLink();">' + ContactName + '</a></b><i class="fa fa-close pull-right" id="orgContact_back" onclick="Bizgaze.Apps.Transact.Controls.Estimate.Instance().back()"></i></u></div>';
  952. $(".section_ContactName").prepend(html).addClass("card pa-15");
  953. if (instance.g_IsFromLeadApp == true) {
  954. $(".fa-close").addClass("hidden");
  955. }
  956. }
  957. customerLink() {
  958. if ($(".section_EstimateDetails").hasClass('hidden')) {
  959. $(".section_EstimateDetails, .section_CustomerCreditHealth, .section_SalesFrequency, .section_CustomerOfferSummary").removeClass('hidden');
  960. }
  961. else {
  962. $(".section_EstimateDetails, .section_CustomerCreditHealth, .section_SalesFrequency, .section_CustomerOfferSummary").addClass('hidden');
  963. }
  964. if ($(".hrefSection_MoreOptions").text() == 'Less Options') {
  965. $(".section_AdvancedOptions").addClass('hidden');
  966. $(".hrefSection_MoreOptions").text('More Options');
  967. }
  968. }
  969. bindOrgContact(response) {
  970. if (response != null) {
  971. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getOrgContact(response.result.DefaultContactPointId).then(function (orgResponse) {
  972. if (orgResponse != null) {
  973. if (orgResponse.result.OrgContactName != null && orgResponse.result.OrgContactName != undefined) {
  974. let OrgContactName = orgResponse.result.OrgContactName.substring(orgResponse.result.OrgContactName.toString().indexOf("-") + 2);
  975. let OrgContact = new Option(OrgContactName, orgResponse.result.OrgContactId.toString(), true);
  976. $(".txtAutoComplete_orgcontactid").empty();
  977. $(".txtAutoComplete_orgcontactid").append(OrgContact);
  978. $(".txtAutoComplete_orgcontactid").val(orgResponse.result.OrgContactId);
  979. }
  980. }
  981. });
  982. }
  983. }
  984. loadDefaultSeries(LoBId) {
  985. let instance = this;
  986. let BranchId;
  987. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning)
  988. BranchId = Number($(".txtAutoComplete_billingaddressid").val());
  989. else
  990. BranchId = Number($(".txtAutoComplete_branchid").val());
  991. let seriesId = $(".txtSeriesAutoComplete_seriesid option:first").val();
  992. if (seriesId == "0" || seriesId == "") {
  993. $(".txtSeriesAutoComplete_seriesid").find('option').get(0).remove();
  994. seriesId = $(".txtSeriesAutoComplete_seriesid option:first").val();
  995. }
  996. $(".txtSeriesAutoComplete_seriesid").val(seriesId);
  997. let InstalledAppId = Unibase.Platform.Forms.Components.FormViewer.instance.FormInstalledAppId;
  998. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getSeriesSettings(Number(LoBId), BranchId, InstalledAppId).then(function (response) {
  999. let data = response.result;
  1000. if (data.length != 0) {
  1001. $(".txtSeriesAutoComplete_seriesid").empty();
  1002. for (let s = 0; s < data.length; s++) {
  1003. let Series = new Option(data[s].SeriesName, data[s].SeriesId, true);
  1004. $(".txtSeriesAutoComplete_seriesid").append(Series);
  1005. $(".txtSeriesAutoComplete_seriesid").val(data[s].SeriesId);
  1006. }
  1007. $(".txtSeriesAutoComplete_seriesid").val(data[0].SeriesId);
  1008. }
  1009. else {
  1010. Unibase.Platform.Series.Managers.SeriesManager.Instance().getActiveSeries(0, InstalledAppId).then(function (response) {
  1011. let data = response.result;
  1012. if (data != null) {
  1013. if (data.length != 0) {
  1014. $(".txtSeriesAutoComplete_seriesid").empty();
  1015. for (let s = 0; s < data.length; s++) {
  1016. let Series = new Option(data[s].SeriesName, data[s].SeriesId.toString(), true);
  1017. $(".txtSeriesAutoComplete_seriesid").append(Series);
  1018. $(".txtSeriesAutoComplete_seriesid").val(data[s].SeriesId);
  1019. }
  1020. $(".txtSeriesAutoComplete_seriesid").val(data[0].SeriesId);
  1021. }
  1022. }
  1023. });
  1024. }
  1025. });
  1026. }
  1027. loadLoBs() {
  1028. let instance = this;
  1029. let portalId;
  1030. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning)
  1031. portalId = Number($(".txtAutoComplete_branchid").val());
  1032. else
  1033. portalId = Number($(".txtAutoComplete_billingaddressid option:selected").val());
  1034. this.fileCacheHelper.loadJsFile("apps/crm/lobs/managers/lobmanager.js", function () {
  1035. if (!isNaN(portalId)) {
  1036. Bizgaze.Apps.CRM.Lobs.Managers.LobManager.Instance().getLobsByAddressId(portalId).then(function (response) {
  1037. let msg = response.message;
  1038. let data = response.result;
  1039. $("#div_lobid, #div_salespersonid").removeClass("hidden");
  1040. $("#div_lobid, #div_salespersonid, .txtAutoComplete_lobid").removeAttr("disabled");
  1041. $("#div_salespersonid").removeClass("hidden");
  1042. if (msg != "" && data == "") {
  1043. Unibase.Platform.Forms.Components.FormViewer.Instance().showError(msg);
  1044. $(".txtAutoComplete_lobid").empty();
  1045. $(".txtAutoComplete_lobid, .txtAutoComplete_salespersonid").attr("disabled", "disabled");
  1046. return false;
  1047. }
  1048. if (data != null) {
  1049. if (data.length > 0) {
  1050. instance.g_TagGroupId = data[0].TagGroupId;
  1051. if (data.length == 1) {
  1052. let LobDetails = new Option(data[0].LobName, data[0].LobId, true);
  1053. $(".txtAutoComplete_lobid").append(LobDetails);
  1054. $(".txtAutoComplete_lobid").val(data[0].LobId);
  1055. let LobId = Number($(".txtAutoComplete_lobid").val());
  1056. let BillingAddressId = Number($(".txtAutoComplete_billingaddressid").val());
  1057. let BranchId = Number($(".txtAutoComplete_branchid").val());
  1058. let ShippingAddressId = Number($(".txtAutoComplete_shippingaddressid").val());
  1059. let ShipFromAddressId = Number($(".txtAutoComplete_shipfromaddressid").val());
  1060. instance.getInventoryApplyType(LobId, BillingAddressId, BranchId);
  1061. instance.getOrderSettings(LobId, ShippingAddressId, ShipFromAddressId);
  1062. instance.getItemDisplaySettings(LobId, BillingAddressId, BranchId);
  1063. instance._estimateItems.itemSettings();
  1064. instance.salesPersonAutoComplete();
  1065. instance.loadDefaultSeries($(".txtAutoComplete_lobid option:selected").val());
  1066. if (Number($(".hdn_estimateid").val()) == 0) {
  1067. $('.section_Items').removeClass('hidden');
  1068. }
  1069. instance.getPriceCodeDetails(instance.g_OrganizationId, instance.g_OrgContactId, $(".txtAutoComplete_lobid").val());
  1070. $("#div_lobid, #div_salespersonid").removeClass("hidden");
  1071. $(".txtAutoComplete_lobid, .txtAutoComplete_salespersonid").attr("disabled", "true");
  1072. }
  1073. else {
  1074. $('.section_EstimateDetails').removeClass('hidden');
  1075. }
  1076. }
  1077. }
  1078. });
  1079. }
  1080. });
  1081. instance.loadAutoCompletes();
  1082. }
  1083. getPriceCodeDetails(OrganizationId, OrgcontactId, LoBId) {
  1084. let instance = this;
  1085. let contactId = OrganizationId;
  1086. if (contactId == 0)
  1087. contactId = OrgcontactId;
  1088. Bizgaze.Apps.Transact.Managers.PriceListManager.Instance().getPriceCodeByContact(contactId, LoBId).then(function (response) {
  1089. if (response != null && response.result != null) {
  1090. instance.g_PriceCodeId = response.result.PriceCodeId;
  1091. $('#hfOrder_IsSeperateExcise').val(response.result.IsSeperateExcise);
  1092. if ($("#chk_PriceCodeId").is(':checked'))
  1093. instance.g_PriceCodeId = response.result.AdvancePriceCodeId;
  1094. }
  1095. if (instance.g_PriceCodeId == undefined || instance.g_PriceCodeId == null) {
  1096. instance.g_PriceCodeId = 0;
  1097. }
  1098. });
  1099. }
  1100. loadPaymentTermConditions() {
  1101. Bizgaze.Apps.Transact.Managers.PaymentTermManager.Instance().getPaymentTerm(Number($('.txtAutoComplete_paymenttermid').val())).then(function (response) {
  1102. let info = response.result;
  1103. if (info != null && info != "") {
  1104. let Terms = "";
  1105. if (info.Terms != null) {
  1106. Terms = HtmlHelper.getHelper().decode(info.Terms);
  1107. }
  1108. if (Terms != "<p><br></p>" && Terms != "") {
  1109. $(".divCustomProperties_terms").addClass('floating-label-form-group-with-value');
  1110. }
  1111. else {
  1112. $(".divCustomProperties_terms").removeClass('floating-label-form-group-with-value');
  1113. }
  1114. let id = $(".divCustomProperties_terms").attr("id").replace("control-container-", "");
  1115. $("#txt_" + id).html(Terms);
  1116. $("#txt_" + id).val($("#txt_" + id)[0].textContent);
  1117. }
  1118. });
  1119. }
  1120. salesPersonAutoComplete() {
  1121. let instance = this;
  1122. let LobId = 0;
  1123. let OrganizationAddressId = 0;
  1124. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract) {
  1125. LobId = Number($(".txtAutoComplete_lobid option:selected").val());
  1126. OrganizationAddressId = Number($(".txtAutoComplete_billingaddressid option:selected").val());
  1127. }
  1128. else if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning) {
  1129. LobId = Number($(".txtAutoComplete_lobid option:selected").val());
  1130. OrganizationAddressId = Number($(".txtAutoComplete_branchid option:selected").val());
  1131. }
  1132. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getManagerDetails(LobId, OrganizationAddressId).then(function (response) {
  1133. if (response.result != null && response.result != "") {
  1134. let data = response.result;
  1135. let SalesPerson = new Option(data.ManagerName, data.EmployeeId, true);
  1136. $(".txtAutoComplete_salespersonid").append(SalesPerson);
  1137. $(".txtAutoComplete_salespersonid").val(data.EmployeeId);
  1138. instance.bindOrgContact(response);
  1139. }
  1140. else {
  1141. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Sales Person not found");
  1142. }
  1143. });
  1144. if (Number($(".hdn_estimateid").val()) == 0) {
  1145. instance.loadDefaultPaymentTerm(LobId);
  1146. }
  1147. }
  1148. loadDefaultPaymentTerm(LobId) {
  1149. let instance = this;
  1150. Bizgaze.Apps.Transact.Managers.PaymentTermManager.Instance().getPaymentTermByOrg(instance.g_OrganizationId, LobId).then(function (response) {
  1151. let paymentterm = response.result;
  1152. if (paymentterm != null) {
  1153. let PaymentTerm = new Option(paymentterm.PaymentTermName, paymentterm.PaymentTermId, true);
  1154. $(".txtAutoComplete_paymenttermid").append(PaymentTerm);
  1155. $(".txtAutoComplete_paymenttermid").val(paymentterm.PaymentTermId);
  1156. instance.loadPaymentTermConditions();
  1157. }
  1158. });
  1159. }
  1160. editForm() {
  1161. let instance = this;
  1162. let leadId = 0;
  1163. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate) {
  1164. leadId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_leadid").Value);
  1165. }
  1166. if (leadId != 0) {
  1167. instance.g_OrganizationId = leadId;
  1168. instance.g_IsLead = true;
  1169. $(".divCustomProperties_orgcontactid").addClass("hidden");
  1170. $(".divCustomProperties_salespersonid").addClass("hidden");
  1171. $(".divCustomProperties_billingaddressid").addClass("hidden");
  1172. $(".divCustomProperties_shippingaddressid").addClass("hidden");
  1173. $(".hfAutoCompleteId_orgcontactid").val(0);
  1174. $(".hfAutoCompleteId_salespersonid").val(0);
  1175. $(".hfAutoCompleteId_billingaddressid").val(0);
  1176. $(".hfAutoCompleteId_shippingaddressid").val(0);
  1177. $(".hfAutoCompleteId_organizationid").val(0);
  1178. $(".txtAutoComplete_salespersonid").removeClass("required");
  1179. $(".txtAutoComplete_billingaddressid").removeClass("required");
  1180. $(".txtAutoComplete_shippingaddressid").removeClass("required");
  1181. $(".txtAutoComplete_organizationid").removeClass("required");
  1182. $(".divCustomProperties_lobid").addClass("hidden");
  1183. }
  1184. else if (leadId == 0) {
  1185. instance.g_OrgContactId = Number($('.txtAutoComplete_orgcontactid').val());
  1186. instance.g_OrganizationId = Number($('.txtAutoComplete_organizationid').val());
  1187. instance.g_IsLead = false;
  1188. let OrganizationTypeId = 0;
  1189. if (instance.g_OrgContactId != 0)
  1190. $("#div_orgcontactid").removeClass("hidden");
  1191. else
  1192. $("#div_orgcontactid").addClass("hidden");
  1193. }
  1194. instance.checkPermissions();
  1195. instance.loadAutoCompletes();
  1196. $(".divCustomProperties_description").removeClass("col-sm-6").addClass("col-sm-12");
  1197. if (instance.g_IsChangePaymentTerm == 0 && instance.g_IsAdmin == 0) {
  1198. $(".txtAutoComplete_paymenttermid").attr("disabled", "disabled").css("cursor", "not-allowed");
  1199. }
  1200. if (instance.g_IsChangePaymentMode == 0 && instance.g_IsAdmin == 0) {
  1201. $(".dropdown_paymentmethodid").attr("disabled", "disabled").css("cursor", "not-allowed");
  1202. }
  1203. instance.prependCustomerLink();
  1204. $("#btn_Save").removeClass('hidden');
  1205. $(".btn_Save_Form").removeClass("hidden");
  1206. $(".section_EstimateDetails").addClass('mt-10');
  1207. $(".section_AdvancedOptions").addClass("hidden");
  1208. $(".section_ContactName").find(".card-body").addClass("hidden");
  1209. $(".section_CustomerCreditHealth,.section_SalesFrequency,.section_Items,.section_CartDetails,.divCustomProperties_bizgazetransact_estimates ,.section_AdvancedOptions").addClass('hidden');
  1210. $(".section_PriceDetails").children("div").first().text("Description");
  1211. if (instance.g_IsDealer) {
  1212. $("#orgContact_back").addClass("hidden");
  1213. if ($(".txtAutoComplete_billingaddressid").length == 1) {
  1214. $(".divCustomProperties_billingaddressid").addClass("hidden");
  1215. }
  1216. if ($(".txtAutoComplete_shippingaddressid").length == 1) {
  1217. $(".divCustomProperties_shippingaddressid").addClass("hidden");
  1218. }
  1219. if ($(".txtAutoComplete_branchid").length == 1) {
  1220. $(".divCustomProperties_branchid").addClass("hidden");
  1221. }
  1222. if ($(".txtAutoComplete_shipfromaddressid").length == 1) {
  1223. $(".divCustomProperties_shipfromaddressid").addClass("hidden");
  1224. }
  1225. }
  1226. $(".txtAutoComplete_companyid").prop('disabled', true);
  1227. $(".txtAutoComplete_lobid, .txtAutoComplete_salespersonid").prop('disabled', true);
  1228. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.ProductionPlanning) {
  1229. instance.purchasePlanEvents();
  1230. }
  1231. }
  1232. resetAllVariables() {
  1233. let instance = this;
  1234. $("#div_orgcontactid").removeClass("hidden");
  1235. instance.g_LoadOffersOnly = false;
  1236. instance.g_IsLead = false;
  1237. instance._estimateItems.g_TagArray = [];
  1238. instance._estimateItems.g_FilteredTags = '';
  1239. instance._estimateItems.g_PageIndex = 0;
  1240. instance._estimateItems.g_LoadedItems = [];
  1241. instance._estimateItems.g_SelectedItems = [];
  1242. instance._estimateItems.g_CartItems_New = [];
  1243. instance._estimateItems.g_ItemsUnitPrice_New = [];
  1244. instance._estimateItems.g_IsEnableCompositePrice = false;
  1245. instance._estimateItems.g_IsEnablePiecePrice = false;
  1246. instance._estimateItems.g_IsEnableCompositePiecePrice = false;
  1247. instance._estimateItems.g_ValidFocItems = [];
  1248. Bizgaze.Apps.Transact.Components.EstimateFilter.Instance().g_Tags = "";
  1249. Bizgaze.Apps.Transact.Components.EstimateFilter.Instance().g_TagArray = [];
  1250. Bizgaze.Apps.Transact.Components.EstimateFilter.Instance().g_OnlyFilters = false;
  1251. if ($(".hrefSection_MoreOptions").text() == 'Less Options') {
  1252. $(".section_AdvancedOptions").addClass('hidden');
  1253. $(".hrefSection_MoreOptions").text('More Options');
  1254. }
  1255. if ($("#Bizgaze-messageInfo").text() != null) {
  1256. $(".bizgaze_FormErrorMessages").empty();
  1257. }
  1258. $("#ulOrder_Cart").empty();
  1259. $("#totalOrderItems").text('0');
  1260. $("#OverallOrderQuantity").text('0');
  1261. $("#lblSummary_GrossAmount").text('0.0');
  1262. $("#lblSummary_TotalDiscount").text('0.0');
  1263. $("#lblSummary_AssessableTotal").text('0.0');
  1264. $("#lblSummary_TDSTotal").text('0.0');
  1265. $("#lblSummary_TaxTotal").text('0.0');
  1266. $("#lblSummary_ScrapDiscountAmount").text('0.0');
  1267. $("#lblSummary_NetTotal").text('0.0');
  1268. $(".txtAutoComplete_organizationid, .txtAutoComplete_orgcontactid, .txtAutoComplete_billingaddressid, .txtAutoComplete_shippingaddressid, .txtAutoComplete_lobid, .txtAutoComplete_salespersonid").text('').val(0);
  1269. if (instance.g_IsLead == false)
  1270. $(".txtSeriesAutoComplete_seriesid").text('').val(0);
  1271. $("#txt_SearchItem").val('');
  1272. $(".div_SearchItem").removeClass("floating-label-form-group-with-value");
  1273. $(".dropdown_paymentmethodid").val(0);
  1274. $('.leverage-Warning').addClass('hidden');
  1275. }
  1276. showOrHideSaveAsDraft() {
  1277. let instance = this;
  1278. if (instance.g_ShowSaveAsDraft) {
  1279. $(".btn_OrderSaveAsDraft").removeClass('hidden');
  1280. $("#btn_CloseForm").removeClass("mr-auto");
  1281. }
  1282. else {
  1283. $(".btn_OrderSaveAsDraft").addClass('hidden');
  1284. $("#btn_CloseForm").addClass("mr-auto");
  1285. }
  1286. }
  1287. checkout() {
  1288. let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  1289. let instance = this;
  1290. $(".modal-body").scrollTop(0);
  1291. $(".order-cart-list").removeAttr("style");
  1292. let cont_id = $("._bizgaze_popup_container:visible").attr("id");
  1293. $("#" + cont_id).find("#btnDynamicSave").removeClass("hidden");
  1294. $("#" + VisibleContainerId).find(".section_CartDetails").removeClass('d-none');
  1295. $("#" + VisibleContainerId).find(".section_Summary").removeClass('d-none');
  1296. $("#" + VisibleContainerId).find(".section_PriceDetails").removeClass('d-none');
  1297. $("#" + cont_id).find("#btnDynamicSave").css("cursor", "pointer");
  1298. if ($('#addedCategoriesList .cart-cat-card').length) {
  1299. $("#" + VisibleContainerId).find('#ulOrder_Cart .cart-item-chk').removeClass('d-none');
  1300. }
  1301. else {
  1302. $("#" + VisibleContainerId).find('#ulOrder_Cart .cart-item-chk').addClass('d-none');
  1303. }
  1304. $(".dropdown_division").val("10");
  1305. if (instance._estimateItems.g_CartItems_New.length > 10) {
  1306. $(".CartItemFindTxt").removeClass('hidden');
  1307. }
  1308. if (instance.g_IsApprovalRequired == true) {
  1309. $('.empLeverage').text(instance.g_LeveragePercent.toString());
  1310. if ($('.leverage-Warning').hasClass('hidden'))
  1311. $('.leverage-Warning').removeClass('hidden');
  1312. }
  1313. else {
  1314. if (!$('.leverage-Warning').hasClass('hidden'))
  1315. $('.leverage-Warning').addClass('hidden');
  1316. }
  1317. $(".modal-body").scrollTop(0);
  1318. if (instance.g_IsChangePaymentTerm == 0 && instance.g_IsAdmin == 0) {
  1319. $(".txtAutoComplete_paymenttermid").attr("disabled", "disabled").css("cursor", "not-allowed");
  1320. }
  1321. if (instance.g_IsChangePaymentMode == 0 && instance.g_IsAdmin == 0) {
  1322. $(".dropdown_paymentmethodid").attr("disabled", "disabled").css("cursor", "not-allowed");
  1323. }
  1324. let CalculateTax = instance.g_IsCalculateTax;
  1325. if (!CalculateTax) {
  1326. $("#TotalTax").addClass("hidden");
  1327. $(".divCustomProperties_istaxinclusive").addClass("hidden");
  1328. }
  1329. if ($(".txtAutoComplete_organizationid").text() != "" || $(".txtAutoComplete_organizationid").text() != null) {
  1330. if ($(".txtAutoComplete_organizationid").val() != '') {
  1331. if ($(".txtSeriesAutoComplete_seriesid").val() == null) {
  1332. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select Series");
  1333. }
  1334. else if ($(".txtAutoComplete_lobid").val() == null)
  1335. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select LoB");
  1336. else if ($(".txtAutoComplete_salespersonid").val() == null && !instance.g_IsLead)
  1337. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select Sales Person");
  1338. else if (($(".txtAutoComplete_billingaddressid").val() == null || $(".txtAutoComplete_shippingaddressid").val() == null || $(".txtAutoComplete_lobid").val() == null) && (!instance.g_IsLead) && (instance.g_EstimateTypeId != Bizgaze.Apps.Transact.Enums.OrderType.PurchasePlanning) && (instance.g_EstimateTypeId != Bizgaze.Apps.Transact.Enums.OrderType.ProductionPlanning)) {
  1339. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Assign Address");
  1340. }
  1341. else {
  1342. $("#btn_CloseForm").removeClass('mr-auto');
  1343. $(".section_CartDetails").addClass('mt-10');
  1344. $("#btn_Save, .section_CartDetails, .section_Summary, #dropup_save, #btn_Save_New, .btn_Save_Form, .section_PriceDetails, .section_PurchasePlan").removeClass('hidden');
  1345. $(".CheckOutButton, .OrgContactNameLink, .section_CustomerOfferSummary, .section_CustomerCreditHealth, .section_PurchasePlanSummary, .section_SalesFrequency, .section_EstimateDetails, .section_AdvancedOptions, .section_Items, .section_ContactName").addClass('hidden');
  1346. }
  1347. }
  1348. else {
  1349. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select Contact");
  1350. }
  1351. }
  1352. instance.showOrHideSaveAsDraft();
  1353. let Items_ZeroQty = instance._estimateItems.g_CartItems_New.filter(x => x.BaseQty == 0);
  1354. Items_ZeroQty.forEach(function (c) {
  1355. instance._estimateItems.deleteCartItems(c.ItemId, false);
  1356. });
  1357. let FocItems = instance._estimateItems.g_CartItems_New.filter(x => x.IsFocItem == true);
  1358. FocItems.forEach(function (c) {
  1359. instance._estimateItems.deleteCartItems(c.ItemId, false, c.RefItemIds);
  1360. });
  1361. if (Items_ZeroQty.length == 0 && FocItems.length == 0) {
  1362. instance._estimateItems.checkOffers(false, "Checkout");
  1363. }
  1364. }
  1365. saveAsDraft() {
  1366. let InstalledAppId = Unibase.Platform.Forms.Components.FormViewer.instance.InstalledAppId;
  1367. let RefStatusId = Bizgaze.Apps.Transact.Enums.OrderStatus.Draft;
  1368. Unibase.Platform.Apps.Managers.StageManager.Instance().getStagesByInstalledAppandRefStatus(InstalledAppId, RefStatusId).then(function (response) {
  1369. $(".hdn_stageid").val(response.result.StageId);
  1370. $("#btnDynamicSave").click();
  1371. });
  1372. }
  1373. back() {
  1374. let instance = this;
  1375. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate) {
  1376. $("#div_FormName").text("Create Sales Estimate");
  1377. }
  1378. if (Number($(".hdn_estimateid").val()) != 0) {
  1379. $(".txtAutoComplete_billingaddressid, .txtAutoComplete_shippingaddressid").attr("disabled", "true");
  1380. $(".OrgContact_Details").addClass('hidden');
  1381. $(".section_ContactName").addClass("card").removeClass("pa-15");
  1382. $(".section_ContactName").find(".card-body").removeClass("hidden");
  1383. $(".section_PriceDetails, .section_Summary, #dropup_save").removeClass('hidden');
  1384. }
  1385. else {
  1386. instance.resetAllVariables();
  1387. $(".Section").addClass("hidden");
  1388. $(".section_ContactName").removeClass("hidden");
  1389. $(".section_ContactName").addClass("card").removeClass("pa-15");
  1390. $(".section_ContactName").find(".card-body").removeClass("hidden");
  1391. $(".OrgContact_Details").remove();
  1392. $(".CheckOutButton").addClass("hidden");
  1393. }
  1394. }
  1395. customerOfferSummary() {
  1396. let instance = this;
  1397. let Prev = "";
  1398. $("#OfferSummary").html('<li class="list-group-item hidden " id="OfferSummarList"> </li>');
  1399. let contactId = instance.g_OrganizationId;
  1400. if (contactId == null || contactId == undefined)
  1401. contactId = instance.g_OrgContactId;
  1402. Bizgaze.Apps.Transact.Managers.OfferManager.Instance().getCustomerPlanData(contactId, Number($(".txtAutoComplete_salespersonid").val()), Number($(".txtAutoComplete_branchid").val()), 0, "Plans", false, 0, null).then(function (response) {
  1403. let planwise = "Plans";
  1404. let data = response.result;
  1405. if (data != "") {
  1406. $(".span_ListOfferSummary_count").text(data.Count);
  1407. let formula = $('#hfFormula').val();
  1408. for (let j = 0; j < data.Count; j++) {
  1409. let CurrentEarn = data[j].CurrentEarn;
  1410. let CurQuantity = data[j].CurQuantity;
  1411. let PrevEarn = data[j].PrevEarn;
  1412. if (PrevEarn == undefined)
  1413. PrevEarn = 0;
  1414. let PrevQuantity = data[j].PrevQuantity;
  1415. if (PrevQuantity == undefined)
  1416. PrevQuantity = 0;
  1417. if (formula != undefined && formula != '') {
  1418. CurrentEarn = Number(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(eval(formula.replace("{{qty}}", CurrentEarn)), 2));
  1419. CurQuantity = Number(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(eval(formula.replace("{{qty}}", CurQuantity)), 2));
  1420. PrevEarn = Number(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(eval(formula.replace("{{qty}}", PrevEarn)), 2));
  1421. PrevQuantity = Number(Unibase.Core.Helpers.NumberHelper.Instance().roundNumber(eval(formula.replace("{{qty}}", PrevQuantity)), 2));
  1422. }
  1423. let X = "";
  1424. let Data = data[j];
  1425. let slab = Data.NextSlab;
  1426. let html = "";
  1427. let ShortFall = 0;
  1428. if (slab != 0)
  1429. ShortFall = slab - Data.CurQuantity;
  1430. let CurGroupName = "";
  1431. if (planwise == "Plan")
  1432. CurGroupName = Data.CurPlanName;
  1433. else
  1434. CurGroupName = Data.CurGroupName;
  1435. html += '<li class="list-group-item">' +
  1436. '<div class="row">' +
  1437. '<div class="col-sm-3"><span> ' + CurGroupName + ' </span></div>' +
  1438. '<div class="col-sm-2"><span>' + CurrentEarn + ' </span></div>' +
  1439. '<div class="col-sm-2"><span> ' + CurQuantity + ' </span></div>' +
  1440. '<div class="col-sm-2"><span> ' + PrevEarn + '' + Prev + '</span></div>' +
  1441. '<div class="col-sm-1"><span>' + ShortFall + '</span></div>' +
  1442. '</div>' +
  1443. '</li> ';
  1444. $("#OfferSummarList:last").after(html);
  1445. }
  1446. }
  1447. else {
  1448. $("#OfferSummary").empty();
  1449. $(".span_ListOfferSummary_count").text('0');
  1450. }
  1451. });
  1452. }
  1453. getInventoryApplyType(LobId, BillingAddressId, BranchId) {
  1454. let instance = this;
  1455. let portalId;
  1456. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract)
  1457. portalId = BillingAddressId;
  1458. else
  1459. portalId = BranchId;
  1460. let type = instance.g_EstimateType;
  1461. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getInventoryApplyType(LobId, type, portalId).then(function (response) {
  1462. if (response.result != null && response.result != undefined) {
  1463. instance.setInventorySettings(response.result);
  1464. }
  1465. });
  1466. }
  1467. setInventorySettings(InventoryApplyType) {
  1468. let instance = this;
  1469. instance.g_InventoryApplyType = InventoryApplyType;
  1470. instance._estimateItems.g_IsEnablePacks = false;
  1471. instance._estimateItems.g_IsEnablePieces = false;
  1472. instance._estimateItems.g_PacksFocus = false;
  1473. instance._estimateItems.g_PiecesFocus = false;
  1474. if (instance.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Packs) {
  1475. if (instance.g_IsShowEnablePieceChkbox == 1 || instance.g_IsAdmin == 1) {
  1476. $('.div_chk_Pieces').removeClass('hidden');
  1477. }
  1478. else {
  1479. $(".div_chk_Pieces").addClass("hidden");
  1480. }
  1481. $(".div_chk_Packs").addClass("hidden");
  1482. instance._estimateItems.g_IsEnablePacks = true;
  1483. instance._estimateItems.g_PacksFocus = true;
  1484. }
  1485. if (instance.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.PacksAndPieces) {
  1486. $(".div_chk_Pieces").addClass("hidden");
  1487. $(".div_chk_Packs").addClass("hidden");
  1488. instance._estimateItems.g_IsEnablePacks = true;
  1489. instance._estimateItems.g_IsEnablePieces = true;
  1490. instance._estimateItems.g_PacksFocus = true;
  1491. }
  1492. if (instance.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces) {
  1493. $(".div_chk_Pieces").addClass("hidden");
  1494. $('.div_chk_Packs').removeClass('hidden');
  1495. $("#chk_Packs").prop("checked", false);
  1496. instance._estimateItems.g_IsEnablePieces = true;
  1497. instance._estimateItems.g_PiecesFocus = true;
  1498. }
  1499. if (instance.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
  1500. $(".div_chk_Pieces").addClass("hidden");
  1501. $(".div_chk_Packs").addClass("hidden");
  1502. instance._estimateItems.g_IsEnablePacks = true;
  1503. instance._estimateItems.g_PacksFocus = true;
  1504. }
  1505. $(".hdn_inventoryapplytype").val(instance.g_InventoryApplyType);
  1506. }
  1507. getOrderSettings(LobId, ShippingAddressId, ShipFromAddressId) {
  1508. let instance = this;
  1509. let branchId = Number(ShipFromAddressId);
  1510. let SettingName = "";
  1511. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract) {
  1512. SettingName = "Bizgaze_Extension_Transact_Orders_Setting_SalesOrder";
  1513. }
  1514. else {
  1515. branchId = Number(ShippingAddressId);
  1516. SettingName = "Bizgaze_Extension_Transact_Orders_Setting_PurchaseOrder";
  1517. }
  1518. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getOrderSettingsByLob(SettingName, LobId, branchId).then(function (res) {
  1519. if (res.result != null && res.result != undefined && res.result != "") {
  1520. let PriceType = Number(Bizgaze.Apps.Transact.Enums.PriceType[res.result.CompositePriceType]);
  1521. instance.setOrderSettings(res.result, PriceType);
  1522. }
  1523. });
  1524. }
  1525. setOrderSettings(res, PriceType) {
  1526. let instance = this;
  1527. instance.g_CompositePriceType = Number(PriceType);
  1528. if (instance.g_IsLead) {
  1529. instance.g_IsCalculateTax = res.CalculateTax;
  1530. }
  1531. else {
  1532. instance.g_IsCalculateTax = res.CalculateTax;
  1533. }
  1534. if (instance.g_CompositePriceType == Bizgaze.Apps.Transact.Enums.PriceType.CompositePrice || instance.g_CompositePriceType == Bizgaze.Apps.Transact.Enums.PriceType.Both) {
  1535. $(".div_chk_CompositePrice").removeClass("hidden");
  1536. }
  1537. else {
  1538. $(".div_chk_CompositePrice").addClass("hidden");
  1539. }
  1540. if (instance.g_CompositePriceType == Bizgaze.Apps.Transact.Enums.PriceType.PiecePrice || instance.g_CompositePriceType == Bizgaze.Apps.Transact.Enums.PriceType.Both) {
  1541. $(".div_chk_PiecePrice").removeClass("hidden");
  1542. }
  1543. else {
  1544. $(".div_chk_PiecePrice").addClass("hidden");
  1545. }
  1546. }
  1547. getCategorySettings(LobId, BillingAddressId, BranchId) {
  1548. let instance = this;
  1549. let branchId = Number(BranchId);
  1550. let SettingName = "";
  1551. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.Sales || instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseClaim) {
  1552. SettingName = "Bizgaze_Extension_Transact_Orders_Setting_CategorySetting";
  1553. }
  1554. else {
  1555. branchId = Number(BillingAddressId);
  1556. SettingName = "Bizgaze_Extension_Transact_Orders_Setting_CategorySetting";
  1557. }
  1558. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getOrderSettingsByLob(SettingName, LobId, branchId).then(function (res) {
  1559. if (res.result != null && res.result != undefined && res.result != "") {
  1560. instance.setCategorySettings(res.result.SettingValue);
  1561. }
  1562. });
  1563. }
  1564. setCategorySettings(CategoryItemSettings) {
  1565. let instance = this;
  1566. instance.g_IsShowCategoryButton = CategoryItemSettings;
  1567. if (instance.g_IsShowCategoryButton) {
  1568. $("#cartCategoryAddBtn").removeClass("hidden");
  1569. }
  1570. else {
  1571. $("#cartCategoryAddBtn").addClass("hidden");
  1572. }
  1573. }
  1574. getItemDisplaySettings(LobId, BillingAddressId, BranchId) {
  1575. let instance = this;
  1576. let branchId = Number(BranchId);
  1577. let SettingName = "";
  1578. if (instance.g_EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate) {
  1579. SettingName = "Bizgaze_Extension_Transact_Orders_Setting_Sales_DisplayUnitPrice";
  1580. }
  1581. else {
  1582. branchId = Number(BillingAddressId);
  1583. SettingName = "Bizgaze_Extension_Transact_Orders_Setting_Sales_DisplayUnitPrice";
  1584. }
  1585. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getOrderSettingsByLob(SettingName, LobId, branchId).then(function (res) {
  1586. if (res.result != null && res.result != undefined && res.result != "") {
  1587. instance.setItemDisplaySettings(res.result.SettingValue);
  1588. }
  1589. });
  1590. }
  1591. setItemDisplaySettings(ExpandItemSettings) {
  1592. let instance = this;
  1593. instance.g_ExpandItemSettings = ExpandItemSettings;
  1594. }
  1595. checkPermissions() {
  1596. let instance = this;
  1597. let IsAdmin = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().isAdmin;
  1598. if (!IsAdmin) {
  1599. instance.g_IsAdmin = 0;
  1600. }
  1601. else {
  1602. instance.g_IsAdmin = 1;
  1603. }
  1604. instance.fileCacheHelper.loadJsFiles(["apps/transact/managers/orders/ordermanager.js", "apps/transact/enums/enum.js", "platform/permission/enums/permission.js"], function () {
  1605. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  1606. if (instance.g_InstalledAppId != 0) {
  1607. InstalledAppId = instance.g_InstalledAppId;
  1608. }
  1609. if (InstalledAppId == 0) {
  1610. InstalledAppId = Unibase.Platform.Forms.Components.FormViewer.instance.InstalledAppId;
  1611. }
  1612. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getPermissions(InstalledAppId).then(function (res) {
  1613. let data = res.result;
  1614. instance.setPermissionVariables(data);
  1615. });
  1616. });
  1617. }
  1618. setPermissionVariables(res) {
  1619. let instance = this;
  1620. let data = res;
  1621. let AllowPermission = Unibase.Platform.Permissions.Enums.PermissionLevel[Unibase.Platform.Permissions.Enums.PermissionLevel.Allow];
  1622. if (data.ShowItemAvailability == AllowPermission) {
  1623. instance.g_IsShowAvailability = 1;
  1624. }
  1625. else {
  1626. instance.g_IsShowAvailability = 0;
  1627. }
  1628. if (data.EnableItemPieces == AllowPermission) {
  1629. instance.g_IsShowEnablePieceChkbox = 1;
  1630. }
  1631. else {
  1632. instance.g_IsShowEnablePieceChkbox = 0;
  1633. }
  1634. if (data.ChangePaymentTerm == AllowPermission) {
  1635. instance.g_IsChangePaymentTerm = 1;
  1636. }
  1637. else {
  1638. instance.g_IsChangePaymentTerm = 0;
  1639. }
  1640. if (data.ChangePaymentMode == AllowPermission) {
  1641. instance.g_IsChangePaymentMode = 1;
  1642. }
  1643. else {
  1644. instance.g_IsChangePaymentMode = 0;
  1645. }
  1646. if (data.CanProcessOrder == AllowPermission) {
  1647. instance.g_CanProcessOrder = 1;
  1648. }
  1649. else {
  1650. instance.g_CanProcessOrder = 0;
  1651. }
  1652. if (data.CreateDC == AllowPermission) {
  1653. instance.g_CreateDC = 1;
  1654. }
  1655. else {
  1656. instance.g_CreateDC = 0;
  1657. }
  1658. if (data.CreateGRN == AllowPermission) {
  1659. instance.g_CreateGRN = 1;
  1660. }
  1661. else {
  1662. instance.g_CreateGRN = 0;
  1663. }
  1664. if (data.EditPrice == AllowPermission) {
  1665. instance.g_ShowPrice = 1;
  1666. }
  1667. else {
  1668. instance.g_ShowPrice = 0;
  1669. }
  1670. if (data.IncreaseOrderQtywhenApproval == AllowPermission) {
  1671. instance.g_IncreaseQty = 1;
  1672. }
  1673. else {
  1674. instance.g_IncreaseQty = 0;
  1675. }
  1676. if (data.ShowExchangeDC == AllowPermission) {
  1677. instance.g_IsShowExchangeDc = 1;
  1678. }
  1679. else {
  1680. instance.g_IsShowExchangeDc = 0;
  1681. }
  1682. }
  1683. VoidEstimate() {
  1684. var instance = this;
  1685. var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  1686. var Refstatusid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_refstatusid").Value);
  1687. let EstimateTypeId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_estimatetypeid").Value);
  1688. var jsFiles = ["apps/transact/enums/enum.js"];
  1689. instance.fileCacheHelper.loadJsFiles(jsFiles, function () {
  1690. var estimateId = Unibase.Themes.Providers.DetailHelper.recordId;
  1691. if (EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate || EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseEstimate) {
  1692. $("#li_DetailSetting_" + installedAppId + "_Void").addClass("hidden");
  1693. if (Refstatusid == 1 || Refstatusid == 2) {
  1694. $("#li_DetailSetting_" + installedAppId + "_Void").removeClass("hidden");
  1695. }
  1696. else {
  1697. $("#li_DetailSetting_" + installedAppId + "_Void").addClass("hidden");
  1698. }
  1699. $("#DetailSetting_" + installedAppId + "_Void").unbind().click(function () {
  1700. instance.fileCacheHelper.loadJsFile("apps/transact/managers/estimates/estimatemanager.js", function () {
  1701. Bizgaze.Apps.Transact.Managers.EstimateManager.Instance().voidEstimate(estimateId).then(function (response) {
  1702. if (response.errors == null) {
  1703. let split = [];
  1704. split = response.message.split('|');
  1705. MessageHelper.Instance().showSuccess(split[0], '');
  1706. Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_refstatusid").Value = split[1];
  1707. var obj = Unibase.Themes.Compact.Components.Details.Instance();
  1708. obj._recordId = Unibase.Themes.Compact.Components.Details.Instance()._recordId;
  1709. obj._installedAppId = Unibase.Themes.Compact.Components.Details.Instance()._installedAppId;
  1710. Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj);
  1711. }
  1712. else {
  1713. MessageHelper.Instance().showError(response.code, "div_message");
  1714. }
  1715. });
  1716. });
  1717. });
  1718. }
  1719. else if ((EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesContract || EstimateTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseContract)) {
  1720. $("#li_DetailSetting_" + installedAppId + "_Reject").addClass("hidden");
  1721. if (Refstatusid == 1 || Refstatusid == 2) {
  1722. $("#li_DetailSetting_" + installedAppId + "_Reject").removeClass("hidden");
  1723. }
  1724. else {
  1725. $("#li_DetailSetting_" + installedAppId + "_Reject").addClass("hidden");
  1726. }
  1727. $("#DetailSetting_" + installedAppId + "_Reject").unbind().click(function () {
  1728. instance.fileCacheHelper.loadJsFile("apps/transact/managers/estimates/estimatemanager.js", function () {
  1729. Bizgaze.Apps.Transact.Managers.EstimateManager.Instance().voidEstimate(estimateId).then(function (response) {
  1730. if (response.errors == null) {
  1731. let split = [];
  1732. split = response.message.split('|');
  1733. MessageHelper.Instance().showSuccess(split[0], '');
  1734. Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_refstatusid").Value = split[1];
  1735. var obj = Unibase.Themes.Compact.Components.Details.Instance();
  1736. obj._recordId = Unibase.Themes.Compact.Components.Details.Instance()._recordId;
  1737. obj._installedAppId = Unibase.Themes.Compact.Components.Details.Instance()._installedAppId;
  1738. Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj);
  1739. }
  1740. else {
  1741. MessageHelper.Instance().showError(response.code, "div_message");
  1742. }
  1743. });
  1744. });
  1745. });
  1746. }
  1747. });
  1748. }
  1749. ConfirmEstimate() {
  1750. var installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  1751. var Refstatusid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + installedAppId + "_refstatusid").Value);
  1752. var estimateId = Unibase.Themes.Providers.DetailHelper.recordId;
  1753. $("#li_DetailSetting_" + installedAppId + "_Confirm").addClass("hidden");
  1754. if (Refstatusid == 1) {
  1755. $("#li_DetailSetting_" + installedAppId + "_Confirm").removeClass("hidden");
  1756. }
  1757. else {
  1758. $("#li_DetailSetting_" + installedAppId + "_Confirm").addClass("hidden");
  1759. }
  1760. $("#DetailSetting_" + installedAppId + "_Confirm").unbind().click(function () {
  1761. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/transact/managers/estimates/estimatemanager.js", function () {
  1762. Bizgaze.Apps.Transact.Managers.EstimateManager.Instance().confirmEstimate(estimateId).then(function (response) {
  1763. if (response.errors == null) {
  1764. MessageHelper.Instance().showSuccess(response.message, '');
  1765. var obj = Unibase.Themes.Compact.Components.Details.Instance();
  1766. obj._recordId = Unibase.Themes.Compact.Components.Details.Instance()._recordId;
  1767. obj._installedAppId = Unibase.Themes.Compact.Components.Details.Instance()._installedAppId;
  1768. Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(obj);
  1769. }
  1770. else {
  1771. MessageHelper.Instance().showError(response.code, "div_message");
  1772. }
  1773. });
  1774. });
  1775. });
  1776. }
  1777. CheckOrder() {
  1778. var instance = this;
  1779. var estimatetypeid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_estimatetypeid").Value);
  1780. var Refstatusid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_refstatusid").Value);
  1781. var OrganizationId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_organizationid").Value);
  1782. var OrganizationRefStatusId = 0;
  1783. $("#li_DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_CreateOrder").addClass("hidden");
  1784. var jsFiles = ["apps/transact/enums/enum.js", "apps/crm/contacts/managers/contactmanager.js"];
  1785. instance.fileCacheHelper.loadJsFiles(jsFiles, function () {
  1786. if (OrganizationId != 0) {
  1787. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getOrganizationById(OrganizationId).then(function (response) {
  1788. var data = response.result;
  1789. OrganizationRefStatusId = data.RefStatusId;
  1790. if (Refstatusid == 6 && OrganizationRefStatusId == 3) {
  1791. $("#li_DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_CreateOrder").removeClass("hidden");
  1792. }
  1793. else {
  1794. $("#li_DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_CreateOrder").addClass("hidden");
  1795. }
  1796. });
  1797. }
  1798. else if (OrganizationId == 0 && estimatetypeid == Bizgaze.Apps.Transact.Enums.OrderType.SalesEstimate) {
  1799. var isconvertedtocustomer = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_isconvertedtocustomer").Value);
  1800. if (isconvertedtocustomer) {
  1801. var leadId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_leadid").Value);
  1802. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getOrganizationByLeadId(leadId).then(function (response) {
  1803. var data = response.result;
  1804. OrganizationRefStatusId = data.RefStatusId;
  1805. if (Refstatusid == 6 && OrganizationRefStatusId == 3) {
  1806. $("#li_DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_CreateOrder").removeClass("hidden");
  1807. }
  1808. else {
  1809. $("#li_DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_CreateOrder").addClass("hidden");
  1810. }
  1811. });
  1812. }
  1813. }
  1814. });
  1815. }
  1816. ShowPrintButton(IsHideApprovalError = false) {
  1817. let instance = this;
  1818. let InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  1819. let Estimateid = Number(Unibase.Themes.Providers.DetailHelper.recordId);
  1820. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  1821. $(detailContainer).find(".DetailSetting_" + InstalledAppId + "_Print").removeClass("btn-undefined").addClass("btn-warning");
  1822. $(".btn-undefined").addClass("btn-success").removeClass("btn-undefined");
  1823. let RefStatusId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refstatusid").Value);
  1824. if (RefStatusId == 2 && !IsHideApprovalError) {
  1825. instance.fileCacheHelper.loadJsFile("apps/transact/managers/estimates/estimatemanager.js", function (response) {
  1826. Bizgaze.Apps.Transact.Managers.EstimateManager.Instance().getEstimate(Estimateid).then(function (EstimateResponse) {
  1827. if (EstimateResponse.result.Notes != null && EstimateResponse.result.Notes != undefined && EstimateResponse.result.Notes != "") {
  1828. $(detailContainer).find(".li_DetailSetting_" + InstalledAppId + "_ApprovalError").remove();
  1829. $(detailContainer).find('#div_App_DefaultWidgetSettings').append(`<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;"> <p class="font-14 text-danger col-sm-12">` + EstimateResponse.result.Notes + `</p> </div>`);
  1830. $(detailContainer).find('#div_App_DefaultWidgetSettings').addClass('pb-0');
  1831. }
  1832. });
  1833. });
  1834. }
  1835. instance.print();
  1836. }
  1837. print() {
  1838. let instance = this;
  1839. let detailContainer = "#" + Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  1840. if ($(".printsetting").length != 0) {
  1841. let printhtml = $(".printsetting")[0].outerHTML;
  1842. $(".printsetting").remove();
  1843. $(detailContainer).find("#div_App_DefaultWidgetSettings").find(".row").append(printhtml);
  1844. $(".printsetting").find(".pull-right").removeClass("pull-right");
  1845. }
  1846. $('.DetailSetting_' + Unibase.Themes.Providers.DetailHelper.installedAppId + '_Print').html('<span><i class=\"fa fa-print\"></i></span>');
  1847. $(detailContainer).find('.DetailSetting_' + Unibase.Themes.Providers.DetailHelper.installedAppId + '_Print').click(function () {
  1848. let EstimateId = Unibase.Themes.Providers.DetailHelper.recordId;
  1849. let TempalteId = 0;
  1850. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFiles(["apps/transact/managers/estimates/estimatemanager.js", "platform/core/helpers/printhelper/printhelper.js"], function () {
  1851. Bizgaze.Apps.Transact.Managers.EstimateManager.Instance().estimatePrint(EstimateId, TempalteId).then(function (response) {
  1852. if (response.result == "") {
  1853. bootbox.alert(response.message);
  1854. }
  1855. else {
  1856. Unibase.Platform.Helpers.PrintHelper.Instance().printPopup(response.result.PrintHTML);
  1857. }
  1858. });
  1859. });
  1860. });
  1861. }
  1862. purchasePlanEvents() {
  1863. var instance = this;
  1864. $(".select2_companyids").change(function () {
  1865. let Ids = instance.getCompanyIds();
  1866. if (Ids == "") {
  1867. Ids = "0";
  1868. $(".select2_branchids").prop('disabled', true);
  1869. }
  1870. else {
  1871. $(".select2_branchids").removeAttr('disabled');
  1872. }
  1873. $(".select2_branchids").val('').trigger("change");
  1874. var Parameters = [{ "ColumnName": "companyids", "Value": Ids }];
  1875. });
  1876. $(".select2_branchids").change(function () {
  1877. });
  1878. $('#chk_isgenerateforallbranches').change(function () {
  1879. if ($('#chk_isgenerateforallbranches').is(':checked')) {
  1880. $(".select2_branchids").val(null).trigger('change');
  1881. $(".select2_companyids").val(null).trigger('change');
  1882. $(".select2_companyids").prop('disabled', true);
  1883. $(".select2_branchids").prop('disabled', true);
  1884. }
  1885. else {
  1886. $(".select2_companyids").removeAttr('disabled');
  1887. $(".select2_branchids").removeAttr('disabled');
  1888. }
  1889. });
  1890. }
  1891. getCompanyIds() {
  1892. let CompanyIds = '';
  1893. let data = $('.select2_companyids').select2('data');
  1894. if (data.length > 0) {
  1895. let options = '';
  1896. for (let i = 0; i < data.length; i++) {
  1897. if (data[i].toString() != '000' && data[i] != undefined)
  1898. options += data[i].id + "|";
  1899. }
  1900. if (options != '') {
  1901. options = options.replace(/\$/, '');
  1902. CompanyIds = options;
  1903. }
  1904. }
  1905. if (CompanyIds != '') {
  1906. CompanyIds = CompanyIds.replace(/\:$/, '');
  1907. }
  1908. else
  1909. CompanyIds = '0';
  1910. CompanyIds = CompanyIds.slice(0, -1);
  1911. return CompanyIds;
  1912. }
  1913. getBranchIds() {
  1914. let BranchIds = '';
  1915. let data = $('.select2_branchids').select2('data');
  1916. if (data.length > 0) {
  1917. let options = '';
  1918. for (let i = 0; i < data.length; i++) {
  1919. if (data[i].toString() != '000' && data[i] != undefined)
  1920. options += data[i].id + ",";
  1921. }
  1922. if (options != '') {
  1923. options = options.replace(/\|$/, '');
  1924. BranchIds = options;
  1925. }
  1926. }
  1927. if (BranchIds != '')
  1928. BranchIds = BranchIds.replace(/\:$/, '');
  1929. BranchIds = BranchIds.slice(0, -1);
  1930. return BranchIds;
  1931. }
  1932. bindPurchaseIndentDetails(PurchaseIndentId) {
  1933. let instance = this;
  1934. let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  1935. instance.fileCacheHelper.loadJsFile("apps/transact/managers/orders/ordermanager.js", function () {
  1936. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getPurchaseIndentDetails(PurchaseIndentId, instance.g_EstimateType).then(function (res) {
  1937. instance.bindAllDetails(res.result.LobId, res);
  1938. $("#" + VisibleContainerId).find(".Section").addClass("hidden");
  1939. $("#" + VisibleContainerId).find(".section_ContactName").removeClass("hidden");
  1940. $("#" + VisibleContainerId).find(".hdn_indentid").val(PurchaseIndentId);
  1941. $("#" + VisibleContainerId).find(".section_EstimateDetails").find(".card-header").html(`<a class="btn_EstimateDetails_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">Estimate Details</span> </a>`);
  1942. $("#" + VisibleContainerId).find(".section_EstimateDetails").find(".card-body").addClass("hidden");
  1943. $("#" + VisibleContainerId).find(".btn_EstimateDetails_angle").click(function () {
  1944. $("#" + VisibleContainerId).find(".btn_EstimateDetails_angle").find(".fa-angle-down").toggleClass("d-none");
  1945. $("#" + VisibleContainerId).find(".btn_EstimateDetails_angle").find(".fa-angle-right").toggleClass("d-none");
  1946. $("#" + VisibleContainerId).find(".section_EstimateDetails").find(".card-body").toggleClass("hidden");
  1947. });
  1948. $("#" + VisibleContainerId).find(".txt_refno").val(res.result.RefNo);
  1949. instance.pushCartItems(res.result.OrderItems);
  1950. });
  1951. });
  1952. }
  1953. pushCartItems(Items) {
  1954. var instance = this;
  1955. for (let c = 0; c < Items.length; c++) {
  1956. let data = Items[c];
  1957. let DiscountType = 2;
  1958. if (data.DiscountPercent > 0) {
  1959. DiscountType = 1;
  1960. }
  1961. let ItemData = {
  1962. OrderItemId: 0,
  1963. ItemIndex: 0,
  1964. ItemId: data.ItemId,
  1965. ItemName: data.ItemName,
  1966. Packs: data.Packs,
  1967. Pieces: data.Pieces,
  1968. PriceListId: 0,
  1969. UnitPrice: data.UnitPrice,
  1970. UnitPriceWithOutTax: data.UnitPrice,
  1971. ExpectedPrice: data.UnitPrice,
  1972. ActualPrice: data.UnitPrice,
  1973. PackCount: data.PackCount,
  1974. PackSize: data.PackSize,
  1975. UnitName: data.UnitName,
  1976. Quantity: data.Quantity,
  1977. SKU: data.SKU,
  1978. PartNo: data.PartNo,
  1979. Amount: 0,
  1980. AmountWithDiscount: 0,
  1981. DiscountPercent: data.DiscountPercent,
  1982. DiscountValue: data.DiscountValue,
  1983. DiscountType: DiscountType,
  1984. DiscountAmount: 0,
  1985. ItemValueAfterDiscount: 0,
  1986. StrTaxPercents: "",
  1987. AvailableQuantity: 0,
  1988. AvailablePacks: 0,
  1989. AvailablePieces: 0,
  1990. TotalAvailablePieces: 0,
  1991. ExchangeDC: false,
  1992. IsAfterTax: false,
  1993. BaseQty: data.Quantity,
  1994. IsFocItem: false,
  1995. optoutAmount: 0,
  1996. TaxGroupId: 0,
  1997. TaxGroupName: "",
  1998. TaxAmount: 0,
  1999. TaxRateAmount: 0,
  2000. TaxRate: 0,
  2001. TaxPercentage: 0,
  2002. IsOfferAvailable: false,
  2003. Description: "",
  2004. Discountable: true,
  2005. PiecePrice: 0,
  2006. CompositePrice: 0,
  2007. CompositePiecePrice: 0,
  2008. IsCheckPendingItems: false,
  2009. IsError: false,
  2010. ErrorMsg: "",
  2011. ErrorClass: "text-danger",
  2012. IsTaxError: false,
  2013. IsLeverageError: false,
  2014. IsFocAdded: false,
  2015. IndentItemId: data.PurchaseIndentItemId,
  2016. RefItemIds: "",
  2017. RefItemSKUs: "",
  2018. FocItemIds: "",
  2019. DiscountGroupId: 0,
  2020. IsOfferDiscountApplied: false,
  2021. IsOfferApplied: false,
  2022. AppliedOfferVolume: 0,
  2023. AppliedPlanVolumeId: 0,
  2024. AppliedOfferId: 0,
  2025. optoutOfferGroupId: 0,
  2026. SuggestedPacks: 0,
  2027. MinPacks: 0,
  2028. AvgPacks: 0,
  2029. InwardOrderPacks: 0,
  2030. OutwardOrderPacks: 0,
  2031. UOMSchemaId: 0,
  2032. MultipleUOMs: [],
  2033. SelectedUnitId: 0,
  2034. DefaultSize: 0,
  2035. IsBoMAvailable: false,
  2036. IsSpecialPrice: data.IsSpecialPrice,
  2037. UOMQuantity: 0,
  2038. ProductId: 0,
  2039. IsWishList: data.IsWishList,
  2040. OldUnitPrice: data.UnitPrice,
  2041. InstalledAppId: 0,
  2042. HSNId: data.HSNId,
  2043. ConversionQuantity: 0,
  2044. SelectedUnitName: data.SelectedUnitName,
  2045. RowTotal: 0,
  2046. RowDiscount: 0,
  2047. TaxTotal: 0,
  2048. UOMs: data.UOMs,
  2049. AlternateUnitId: data.AlternateUnitId,
  2050. IsMultipleUOMs: data.IsMultipleUOMs,
  2051. IsManualUOM: data.IsManualUOM
  2052. };
  2053. let SelectedItems_Index = instance._estimateItems.g_SelectedItems.findIndex(x => x.ItemId == data.ItemId);
  2054. let CartItems_Index = instance._estimateItems.g_CartItems_New.findIndex(x => x.ItemId == data.ItemId);
  2055. if (SelectedItems_Index == -1) {
  2056. instance._estimateItems.g_SelectedItems.push(ItemData);
  2057. }
  2058. else {
  2059. instance._estimateItems.g_SelectedItems[SelectedItems_Index] = ItemData;
  2060. }
  2061. if (CartItems_Index == -1) {
  2062. instance._estimateItems.g_CartItems_New.push(ItemData);
  2063. }
  2064. else {
  2065. instance._estimateItems.g_CartItems_New[CartItems_Index] = ItemData;
  2066. }
  2067. }
  2068. let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  2069. if (Items.length == 0) {
  2070. $("#" + 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>');
  2071. }
  2072. else {
  2073. instance._estimateItems.loadItems('', instance.g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val());
  2074. }
  2075. }
  2076. loadEstimateFromEmployeeRoute() {
  2077. const instance = this;
  2078. const containerEl = $("#" + instance.navigationHelper.getLastContainerId());
  2079. const employeeRouteEl = containerEl.find('#hf_employeerouteorder');
  2080. if (employeeRouteEl.length) {
  2081. const organizationname = employeeRouteEl.attr('data-organization');
  2082. const contactid = employeeRouteEl.attr('data-contactid');
  2083. let contact = new Option(organizationname, contactid, true);
  2084. containerEl.find(".txtAutoComplete_organizationid").append(contact).val(contactid).trigger("change");
  2085. containerEl.find('#orgContact_back').addClass('hidden');
  2086. }
  2087. }
  2088. static Instance() {
  2089. if (this.instance === undefined) {
  2090. this.instance = new Estimate();
  2091. }
  2092. return this.instance;
  2093. }
  2094. }
  2095. Controls.Estimate = Estimate;
  2096. })(Controls = Transact.Controls || (Transact.Controls = {}));
  2097. })(Transact = Apps.Transact || (Apps.Transact = {}));
  2098. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  2099. })(Bizgaze || (Bizgaze = {}));