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

estimate.component.js 157KB

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