Built files from Bizgaze WebServer
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

opportunity.component.js 101KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326
  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 Opportunity extends Unibase.Platform.Core.BaseComponent {
  10. constructor() {
  11. super(...arguments);
  12. this.g_IsAdmin = 1;
  13. this.g_IsDealer = false;
  14. this.g_OpportunityTypeId = 0;
  15. this.g__OpportunityType = "";
  16. this.g_BranchId = 0;
  17. this.g_ItemLoadTypes = [];
  18. this.g_OrganizationId = 0;
  19. this.g_CountryId = 0;
  20. this.g_OrgContactId = 0;
  21. this.g_CompanyId = 0;
  22. this.g_TagGroupId = 0;
  23. this.g_PriceCodeId = 0;
  24. this.g_InventoryApplyType = 0;
  25. this.g_IsTaxInclusive = false;
  26. this.g_IsShowEnablePieceChkbox = 0;
  27. this.isSeriesDisabled = true;
  28. this.g_IsCalculateTax = true;
  29. this.g_CompositePriceType = 0;
  30. this.g_IsApprovalRequired = false;
  31. this.g_IsMobil = false;
  32. this.g_IsLead = false;
  33. this.g_LoyaltyPoints = 0;
  34. this.g_LoadEligibleItemsOnly = false;
  35. this.g_LoadOffersOnly = false;
  36. this.g_LobId = 0;
  37. this.g_IsEdit = false;
  38. this.g_VisibleContainerId = "";
  39. this.g_OpportunityFormId = 0;
  40. }
  41. init(formpropertyid, prop, callback) {
  42. let instance = this;
  43. let jsFiles = ["apps/transact/infos/orders/orderitem.js", "apps/transact/controls/opportunity/opportunityitem.component.js", "apps/transact/controls/pricelist/managers/pricelistmanager.js", "apps/transact/managers/payments/paymentmanager.js", "apps/crm/contacts/managers/contactmanager.js", "apps/crm/lobs/managers/lobmanager.js", "apps/transact/managers/paymentterms/paymenttermmanager.js", "platform/apps/managers/stagemanager.js", "apps/transact/managers/orders/ordermanager.js", "apps/transact/enums/enum.js", "platform/permission/enums/permission.js", "apps/transact/managers/invoicemanager.js", "apps/transact/managers/offers/offermanager.js", "platform/core/helpers/numberhelper/numberhelper.js", "libs/jquery/pagination/jquery.pagination.js", "apps/transact/components/opportunity/opportunityfilter.js", "apps/transact/managers/opportunity/opportunitymanager.js"];
  44. instance.fileCacheHelper.loadJsFiles(jsFiles, function () {
  45. let IsAdmin = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().isAdmin;
  46. if (!IsAdmin) {
  47. instance.g_IsAdmin = 0;
  48. }
  49. else {
  50. instance.g_IsAdmin = 1;
  51. }
  52. instance.g_IsDealer = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().isRestrictedUser;
  53. instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId);
  54. instance.loadPropertySettings(prop.PropertySettings, prop.FormPropertyId, "");
  55. instance._OpportunityItems = Bizgaze.Apps.Transact.Controls.OpportunityItem.Instance();
  56. instance.g_VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  57. instance.g_OpportunityFormId = Unibase.Platform.Forms.Components.FormViewer.instance.FormId;
  58. });
  59. }
  60. loadControl(containerid, prop) {
  61. let html = '<div class="col-sm-12">' +
  62. '<input type = "hidden" id = "hdn_customcontrol" class="value-control" value = "Bizgaze.Apps.Transact.Controls.Opportunity.Instance().ValidateVolumes();"</div>';
  63. $("#" + containerid).html(html);
  64. return "";
  65. }
  66. loadControlSettings(controlsettingjson, formpropertyid) {
  67. let instance = this;
  68. instance.g_OpportunityTypeId = Number($(".hdn_opportunitytypeid").val());
  69. instance.g__OpportunityType = Bizgaze.Apps.Transact.Enums.OrderType[instance.g_OpportunityTypeId];
  70. $(document).ready(function () {
  71. if (Number($(".hdn_opportunityid").val()) == 0) {
  72. instance.resetAllVariables();
  73. $(".section_BasicDetails").addClass("hidden");
  74. $(".section_OpportunityItems").addClass("hidden");
  75. $(".section_OpportunityInformation").addClass("hidden");
  76. $(".section_EditOpportunityMarketingSegmentation").addClass("hidden");
  77. $(".section_CompetitorInformation,.section_VolumeAndMarginInformation").addClass("hidden");
  78. $(".section_AdditionalInformation").addClass("hidden");
  79. $(".section_CartDetails").addClass("hidden");
  80. $(".section_PriceDetails").addClass("hidden");
  81. $(".section_OpportunityDetails").addClass("hidden");
  82. $(".section_ContactName").removeClass("hidden");
  83. $(".btn_Save_Form").addClass("hidden");
  84. instance.g_IsEdit = false;
  85. }
  86. else {
  87. instance.editOpportunity();
  88. instance.g_IsEdit = true;
  89. }
  90. $(".divCustomProperties_renewalopportunityid").addClass("hidden");
  91. $("#ContinueShopping_Div").removeClass('hidden');
  92. $('#bizgaze_body').on('keyup keypress', function (e) {
  93. let keyCode = e.keyCode || e.which;
  94. if (keyCode === 13) {
  95. e.preventDefault();
  96. return false;
  97. }
  98. });
  99. let companyId = 0;
  100. if (Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings != null) {
  101. let companySetting = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings.find(x => x.settingName == "companyid");
  102. if (companySetting != null && companySetting != undefined) {
  103. companyId = companySetting.settingValue;
  104. instance.g_BranchId = Number(Unibase.Platform.Membership.Infos.Identity.getCurrentUser().settings.find(x => x.settingName == "branchid").settingValue);
  105. }
  106. else {
  107. instance.defaultBranchError();
  108. }
  109. }
  110. else {
  111. instance.defaultBranchError();
  112. }
  113. if (companyId != 0) {
  114. let Parameters = [{ "ColumnName": "companyid", "Value": companyId, }];
  115. if (Number($(".hdn_opportunityid").val()) > 0) {
  116. let LobId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_lobid").Value);
  117. Parameters = [
  118. { "ColumnName": "companyid", "Value": companyId, },
  119. { "ColumnName": "lobid", "Value": LobId, },
  120. ];
  121. }
  122. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_organizationid"), Parameters);
  123. }
  124. $(".txtAutoComplete_opportunitytype").change(function (res) {
  125. if ($(".txtAutoComplete_opportunitytype option:selected").text() == "Renewal") {
  126. $(".divCustomProperties_renewalopportunityid").removeClass("hidden");
  127. $(".txtAutoComplete_renewalopportunityid").addClass('required');
  128. }
  129. else {
  130. $(".divCustomProperties_renewalopportunityid").addClass("hidden");
  131. $(".txtAutoComplete_renewalopportunityid").removeClass('required');
  132. }
  133. });
  134. $(".txtAutoComplete_organizationid").change(function (res) {
  135. if (Number($(".txtAutoComplete_organizationid").val() != -1) && $(".txtAutoComplete_organizationid").val() != '')
  136. instance.changedOrganization();
  137. });
  138. let UserId = Unibase.Platform.Membership.Infos.Identity.getCurrentUser().userId;
  139. if (instance.g_IsDealer && Number($(".hdn_opportunityid").val()) == 0) {
  140. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getContactByUserId(UserId).then(function (response) {
  141. let contactId = response.result.OrganizationId;
  142. let organizationName = response.result.OrganizationName;
  143. let contact = new Option(organizationName, contactId.toString(), true);
  144. $(".txtAutoComplete_organizationid").append(contact);
  145. $(".txtAutoComplete_organizationid").val(contactId).trigger("change");
  146. $("#orgContact_back").addClass("hidden");
  147. });
  148. }
  149. $("#btn_CloseForm_" + $("#hf_FormId").val()).after('<a href="javascript:;" id="btn_back" class="btn btn-outline-danger btn-sm hidden btn_back mr-auto" style="" onclick="Bizgaze.Apps.Transact.Controls.Opportunity.Instance().backtoDetails();">Back</a>');
  150. $("#cartItemsSearch").on("keyup", function () {
  151. let value = $(this).val().toString().toLowerCase();
  152. $("#ulOrder_Cart li:not(:first-child)").filter(function () {
  153. $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1);
  154. });
  155. });
  156. if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesOpportunity || instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseOpportunity) {
  157. instance.g_ItemLoadTypes = ["All Items", "Opp Groups", "Offers", "Filter"];
  158. }
  159. if (Number($(".hdn_opportunityid").val()) == 0) {
  160. $("#btn_Save").addClass('hidden');
  161. $("#formFooter").append('<button type="button" id="btn_Checkout" style="cursor:pointer" class="btn btn-primary CheckOutButton hidden btn-sm" onclick="Bizgaze.Apps.Transact.Controls.Opportunity.Instance().Checkout();">Check Out</button><button type="button" id="btn_LItems" style="cursor:pointer" class="btn btn-primary SelectItemsButton hidden btn-sm" onclick="Bizgaze.Apps.Transact.Controls.Opportunity.Instance().LoadItems();">Select Items</button>');
  162. }
  163. $(".txtAutoComplete_shipfromaddressid").change(function () {
  164. if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesOpportunity) {
  165. instance._OpportunityItems.LoadItems($("#txt_SearchItem").val(), instance.g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val(), false);
  166. }
  167. });
  168. $(".txtAutoComplete_shippingaddressid").on("select2:select", function () {
  169. if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseOpportunity) {
  170. instance._OpportunityItems.LoadItems($("#txt_SearchItem").val(), instance.g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val());
  171. }
  172. });
  173. $(".txtAutoComplete_billingaddressid").on("select2:select", function () {
  174. $(".txtAutoComplete_billingaddressid").val($(this).val());
  175. if ($(this).val() != null && $(this).val() != undefined) {
  176. if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesOpportunity) {
  177. instance.LoadDefaultSeries($(".txtAutoComplete_lobid option:selected").val());
  178. instance.LoadLoBs();
  179. instance.g_CountryId = isNaN(Number($(".txtAutoComplete_billingaddressid").attr("data-addldata"))) ? 0 : Number($(".txtAutoComplete_billingaddressid").attr("data-addldata"));
  180. instance._OpportunityItems.LoadItems($("#txt_SearchItem").val(), instance.g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val());
  181. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getAddressById(Number($(".txtAutoComplete_billingaddressid").val())).then(function (res) {
  182. if (res.result.IsCashCustomer) {
  183. $(".dropdown_paymentmethodid").val(1);
  184. }
  185. else {
  186. $(".dropdown_paymentmethodid").val(0);
  187. }
  188. });
  189. }
  190. }
  191. });
  192. $(".txtAutoComplete_branchid").change(function () {
  193. if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseOpportunity) {
  194. instance.LoadDefaultSeries($(".txtAutoComplete_lobid option:selected").val());
  195. instance.LoadLoBs();
  196. instance.g_CountryId = isNaN(Number($(".txtAutoComplete_branchid").attr("data-addldata"))) ? 0 : Number($(".txtAutoComplete_branchid").attr("data-addldata"));
  197. instance._OpportunityItems.LoadItems($("#txt_SearchItem").val(), instance.g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val());
  198. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getAddressById(Number($(".txtAutoComplete_branchid").val())).then(function (res) {
  199. if (res.result.IsCashCustomer) {
  200. $(".dropdown_paymentmethodid").val(1);
  201. }
  202. else {
  203. $(".dropdown_paymentmethodid").val(0);
  204. }
  205. });
  206. }
  207. });
  208. $(".txtAutoComplete_companyid").change(function () {
  209. if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesOpportunity) {
  210. $(".txtAutoComplete_branchid").empty();
  211. $(".txtAutoComplete_shipfromaddressid").empty();
  212. }
  213. else {
  214. $(".txtAutoComplete_billingaddressid").empty();
  215. $(".txtAutoComplete_shippingaddressid").empty();
  216. }
  217. instance.loadAutoCompletes();
  218. instance.bindBranch(Number($(".txtAutoComplete_companyid option:selected").val()));
  219. if (Number($("#hf_pk_value").val()) == 0)
  220. instance._OpportunityItems.LoadItems('All Items', instance.g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val());
  221. });
  222. $(".txtAutoComplete_lobid").change(function () {
  223. instance._OpportunityItems.g_PageIndex = 0;
  224. let LobId = Number($(this).val());
  225. instance.g_LobId = LobId;
  226. instance.bindDetails(instance.g_OrganizationId, LobId);
  227. $("#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>');
  228. });
  229. let timer;
  230. $("#txt_SearchItem").on('input', function () {
  231. clearTimeout(timer);
  232. timer = setTimeout(function () {
  233. instance._OpportunityItems.g_PageIndex = 0;
  234. instance._OpportunityItems.LoadItems($("#txt_SearchItem").val(), instance.g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val());
  235. }, 300);
  236. });
  237. $("#ItemLoadType").change(function () {
  238. $("#txt_SearchItem").val('');
  239. $("#ItemLoadType option[value='0']").remove();
  240. let type = $("#ItemLoadType option:selected").text();
  241. instance._OpportunityItems.g_PageIndex = 0;
  242. if (type == "Filter") {
  243. instance.navigationHelper.popup(0, '', Bizgaze.Apps.Transact.Components.OpportunityFilter.Instance(), null, Unibase.Platform.Helpers.Size.Medium);
  244. }
  245. if (type == "Opp Groups") {
  246. $("#div_ItemList").html('<ul class="variant-list list-group" id="Items-list"><li class="variant-item"><div class="text-center">Groups not found.</div></li></ul>');
  247. }
  248. else {
  249. instance._OpportunityItems.LoadItems(type, instance.g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val());
  250. }
  251. });
  252. $(".ContinueShopping").unbind().click(function () {
  253. instance.ContinueShopping();
  254. });
  255. $("#select2_CompanyId").change(function () {
  256. let Ids = instance.GetCompanyIds();
  257. if (Ids == "")
  258. Ids = "0";
  259. let url = _appsettings.server_url() + '/apis/v4/bizgaze/crm/companies/getbranchesbycompaniesAutoComplete/companyids/' + Ids;
  260. AutoCompleteHelper.getHelper().Create("#select2_BranchId", "#hfAutoComplete_Branch", url, null);
  261. });
  262. $("#btnSection_Apply").unbind().click(function () {
  263. $("#txt_SearchItem").val('');
  264. $(".div_SearchItem").removeClass('floating-label-form-group-with-value');
  265. });
  266. $(".txt_opportunityname").keyup(function () {
  267. $(".div_opportunityname").removeClass("form-group-required");
  268. });
  269. $(".number_estimatedyearlyconsumpton").keyup(function () {
  270. $("#div_estimatedyearlyconsumpton").removeClass("form-group-required");
  271. });
  272. $(".number_distributoryearlygrossmargin").keyup(function () {
  273. $("#div_distributoryearlygrossmargin").removeClass("form-group-required");
  274. });
  275. $(".number_flagshipvolume").keyup(function () {
  276. $("#div_flagshipvolume").removeClass("form-group-required");
  277. });
  278. $(".number_greasevalueme").keyup(function () {
  279. $("#div_greasevalueme").removeClass("form-group-required");
  280. });
  281. $(".number_premiumvolume").keyup(function () {
  282. $("#div_premiumvolume").removeClass("form-group-required");
  283. });
  284. $(".number_standardvolume").keyup(function () {
  285. $("#div_standardvolume").removeClass("form-group-required");
  286. });
  287. $(".number_oemvalueme").keyup(function () {
  288. $("#div_oemvalueme").removeClass("form-group-required");
  289. });
  290. $(".number_flagshipvolume, .number_premiumvolume, .number_standardvolume, .number_oemvalueme").keyup(function () {
  291. let SumofVoulmes = Number($(".number_flagshipvolume").val()) + Number($(".number_premiumvolume").val()) + Number($(".number_standardvolume").val()) + Number($(".number_oemvalueme").val());
  292. if (SumofVoulmes > Number($(".number_estimatedyearlyconsumpton").val())) {
  293. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Volume's must be less then Estimated Yearly Consumpton : " + Number($(".number_estimatedyearlyconsumpton").val()));
  294. }
  295. else {
  296. if ($("#Bizgaze-messageInfo").text() != null) {
  297. $("#Bizgaze-messageInfo").empty();
  298. $("#Bizgaze-messageInfo").removeClass();
  299. }
  300. }
  301. });
  302. $(".number_recurtenure").removeClass("required");
  303. $(".dropdown_recurtenuretypeid").removeClass("required");
  304. $(".number_recuriterations").removeClass("required");
  305. $(".number_recurtenure").val("");
  306. $(".number_recuriterations").val("");
  307. $("#chk_recurringopportunity").change(function () {
  308. if ($("#chk_recurringopportunity").is(":checked")) {
  309. $(".number_recurtenure").addClass("required");
  310. $(".spnIsRequired_recurtenure").removeClass("hidden");
  311. $(".dropdown_recurtenuretypeid").addClass("required");
  312. $(".spnIsRequired_recurtenuretypeid").removeClass("hidden");
  313. $(".number_recuriterations").addClass("required");
  314. $(".spnIsRequired_recuriterations").removeClass("hidden");
  315. }
  316. else {
  317. $(".number_recurtenure").removeClass("required");
  318. $(".dropdown_recurtenuretypeid").removeClass("required");
  319. $(".number_recuriterations").removeClass("required");
  320. $(".number_recurtenure").val("");
  321. $(".dropdown_recurtenuretypeid").val("0");
  322. $(".number_recuriterations").val("");
  323. }
  324. });
  325. $(".txtAutoComplete_leadsourceid").change(function () {
  326. if ($(".txtAutoComplete_leadsourceid option:selected").text() == 'EB') {
  327. $(".divCustomProperties_ebcontactid").removeClass('hidden');
  328. }
  329. });
  330. if (instance.g_IsMobil) {
  331. $(".divCustomProperties_ebcontactid").addClass('hidden');
  332. if ($(".txtAutoComplete_leadsourceid option:selected").text() == 'EB') {
  333. $(".divCustomProperties_ebcontactid").removeClass('hidden');
  334. }
  335. }
  336. });
  337. }
  338. resetAllVariables() {
  339. let instance = this;
  340. $("#div_orgcontactid").removeClass("hidden");
  341. instance.g_LoadOffersOnly = false;
  342. instance._OpportunityItems.g_TagArray = [];
  343. instance._OpportunityItems.g_FilteredTags = '';
  344. instance._OpportunityItems.g_PageIndex = 0;
  345. instance._OpportunityItems.g_LoadedItems = [];
  346. instance._OpportunityItems.g_SelectedItems = [];
  347. instance._OpportunityItems.g_CartItems_New = [];
  348. instance._OpportunityItems.g_ItemsUnitPrice_New = [];
  349. instance._OpportunityItems.g_IsEnableCompositePrice = false;
  350. instance._OpportunityItems.g_IsEnablePiecePrice = false;
  351. instance._OpportunityItems.g_IsEnableCompositePiecePrice = false;
  352. instance._OpportunityItems.g_ValidFocItems = [];
  353. if (!instance.g_IsEdit)
  354. instance.g_LobId = 0;
  355. Bizgaze.Apps.Transact.Components.OpportunityFilter.Instance().g_Tags = "";
  356. Bizgaze.Apps.Transact.Components.OpportunityFilter.Instance().g_TagArray = [];
  357. Bizgaze.Apps.Transact.Components.OpportunityFilter.Instance().g_OnlyFilters = false;
  358. if ($(".hrefSection_MoreOptions").text() == 'Less Options') {
  359. $(".section_AdvancedOptions").addClass('hidden');
  360. $(".hrefSection_MoreOptions").text('More Options');
  361. }
  362. if ($("#Bizgaze-messageInfo").text() != null) {
  363. $(".bizgaze_FormErrorMessages").empty();
  364. }
  365. $("#ulOrder_Cart").empty();
  366. $("#totalOrderItems").text('0');
  367. $("#OverallOrderQuantity").text('0');
  368. $("#lblSummary_GrossAmount").text('0.0');
  369. $("#lblSummary_TotalDiscount").text('0.0');
  370. $("#lblSummary_AssessableTotal").text('0.0');
  371. $("#lblSummary_TDSTotal").text('0.0');
  372. $("#lblSummary_TaxTotal").text('0.0');
  373. $("#lblSummary_ScrapDiscountAmount").text('0.0');
  374. $("#lblSummary_NetTotal").text('0.0');
  375. $(".txtAutoComplete_organizationid, .txtAutoComplete_orgcontactid, .txtAutoComplete_billingaddressid, .txtAutoComplete_shippingaddressid, .txtAutoComplete_lobid, .txtAutoComplete_salespersonid").text('').val(0);
  376. $("#txt_SearchItem").val('');
  377. $(".div_SearchItem").removeClass("floating-label-form-group-with-value");
  378. $(".dropdown_paymentmethodid").val(0);
  379. $('.leverage-Warning').addClass('hidden');
  380. $(".txt_opportunityname").val('');
  381. $(".txt_opportunityname").text('');
  382. $(".number_estimatedyearlyconsumpton").val('');
  383. $(".number_distributoryearlygrossmargin").val('');
  384. $(".number_flagshipvolume").val('');
  385. $(".number_premiumvolume").val('');
  386. $(".number_premiumvolume").val('');
  387. $(".number_oemvalueme").val('');
  388. $(".number_greasevalueme").val('');
  389. $(".number_standardvolume").val('');
  390. $(".txtAutoComplete_opportunitytype").val("0");
  391. $(".txtAutoComplete_opportunitytype").text("");
  392. $(".ddl_cascading_opportunitysubtype ").val("0");
  393. $(".ddl_cascading_opportunitysubtype").text("");
  394. $(".txtAutoComplete_renewalopportunityid").val("0");
  395. $(".txtAutoComplete_renewalopportunityid").text("");
  396. $("#div_flagshipvolume,#div_estimatedyearlyconsumpton,#div_distributoryearlygrossmargin,#div_premiumvolume,#div_standardvolume,#div_oemvalueme,#div_greasevalueme").removeClass().addClass('floating-label-form-group');
  397. }
  398. changedOrganization() {
  399. let instance = this;
  400. instance.g_IsLead = false;
  401. instance.g_OrganizationId = 0;
  402. if ($(".txtAutoComplete_organizationid").text() == '') {
  403. instance.resetAllVariables();
  404. }
  405. $(".section_ContactName").find(".card-body").addClass("hidden");
  406. $(".OrgContact_Details").remove();
  407. instance.prependCustomerLink();
  408. instance.g_OrganizationId = Number($('.txtAutoComplete_organizationid').val());
  409. if (Number($(".txtAutoComplete_organizationid").attr('data-addldata')) == 1) {
  410. instance.g_IsLead = true;
  411. $(".divCustomProperties_billingaddressid").addClass('hidden');
  412. $(".divCustomProperties_shippingaddressid").addClass('hidden');
  413. $(".divCustomProperties_salespersonid").addClass('hidden');
  414. $(".txtAutoComplete_billingaddressid").removeClass('required');
  415. $(".txtAutoComplete_shippingaddressid").removeClass('required');
  416. $(".hdn_leadid").val(instance.g_OrganizationId);
  417. $(".hfAutoCompleteId_organizationid").val(0);
  418. $('.txtAutoComplete_organizationid').empty();
  419. }
  420. else {
  421. instance.g_IsLead = false;
  422. $(".hdn_leadid").val(0);
  423. $(".divCustomProperties_billingaddressid").removeClass('hidden');
  424. $(".divCustomProperties_shippingaddressid").removeClass('hidden');
  425. $(".txtAutoComplete_billingaddressid").removeClass('required');
  426. $(".txtAutoComplete_shippingaddressid").removeClass('required');
  427. $(".hdn_organizationid").val(Number($('.txtAutoComplete_organizationid').val()));
  428. }
  429. if (instance.g_IsMobil) {
  430. instance.checkOppInformaton(instance.g_OrganizationId);
  431. }
  432. else {
  433. instance.bindDetails(instance.g_OrganizationId, instance.g_LobId);
  434. }
  435. }
  436. checkOppInformaton(OrganizationId) {
  437. let instance = this;
  438. Bizgaze.Apps.Transact.Managers.OpportunityManager.Instance().getOpportunityInformaion(OrganizationId).then(function (responce) {
  439. if (responce.message != "") {
  440. Unibase.Platform.Forms.Components.FormViewer.Instance().showError(responce.message);
  441. }
  442. else if (responce.result != null && responce.result != "" && responce.result.CustomerSegmentId != 0) {
  443. instance.bindDetails(instance.g_OrganizationId, instance.g_LobId);
  444. }
  445. else {
  446. var uniqueid = 'Bizgaze_Platform_Crm_Marketing_Segmentation_Create_Marketing_Segmentation';
  447. Unibase.Platform.Forms.Managers.FormManager.Instance().getFormbyUniqueId(uniqueid).then(function (response) {
  448. var successCallBack = {
  449. CallBack: function (id) {
  450. Unibase.Platform.Forms.Components.FormViewer.instance.FormId = instance.g_OpportunityFormId;
  451. instance.bindDetails(OrganizationId, instance.g_LobId);
  452. },
  453. Parameters: null,
  454. };
  455. var CloseCallBack = {
  456. CallBack: function (id) {
  457. instance.back();
  458. $(".txtAutoComplete_organizationid").empty();
  459. },
  460. Parameters: null,
  461. };
  462. var formviewerObj = {
  463. FormId: response.result.FormId,
  464. AppConfigurationId: 0,
  465. Pk_Value: 0,
  466. PortletWidgetId: 0,
  467. OnSuccess: successCallBack,
  468. OnFail: null,
  469. OnLoad: null,
  470. OnClose: CloseCallBack
  471. };
  472. Unibase.Platform.Forms.Components.FormViewer.instance.init(formviewerObj);
  473. setTimeout(function () {
  474. Unibase.Platform.Forms.Components.FormViewer.instance.AppConfigType = undefined;
  475. $(".hdn_leadid").val(0);
  476. $(".hdn_mobilleadid").val(OrganizationId);
  477. $(".hdn_contactid").val(OrganizationId);
  478. }, 1000);
  479. });
  480. $(".section_EditOpportunityMarketingSegmentation").removeClass('hidden');
  481. }
  482. });
  483. }
  484. prependCustomerLink() {
  485. let ContactName = $(".txtAutoComplete_organizationid option:selected").text();
  486. if ((ContactName == "" || ContactName == null) && Opportunity.instance.g_IsLead) {
  487. ContactName = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_organizationname").Value;
  488. }
  489. let html = '<div class="OrgContact_Details OrgContactNameLink padder-v"><u><b><a href="javascript:;" class="_OrgContactDetailslink" onclick="Bizgaze.Apps.Transact.Controls.Opportunity.Instance().customerLink();">' + ContactName + '</a></b><i class="fa fa-close pull-right" id="orgContact_back" onclick="Bizgaze.Apps.Transact.Controls.Opportunity.Instance().back()"></i></u></div>';
  490. $(".section_ContactName").prepend(html).addClass("card pa-15");
  491. }
  492. customerLink() {
  493. if ($(".section_BasicDetails").hasClass('hidden')) {
  494. $(".section_BasicDetails").removeClass('hidden');
  495. }
  496. else {
  497. $(".section_BasicDetails").addClass('hidden');
  498. }
  499. }
  500. LoadDefaultSeries(LoBId) {
  501. }
  502. LoadLoBs() {
  503. }
  504. back() {
  505. let instance = this;
  506. $(".txtAutoComplete_organizationid").attr('data-addldata', '0');
  507. if (Number($(".hdn_opportunityid").val()) != 0) {
  508. $(".txtAutoComplete_billingaddressid, .txtAutoComplete_shippingaddressid").attr("disabled", "true");
  509. $(".OrgContact_Details").addClass('hidden');
  510. $(".section_ContactName").addClass("card").removeClass("pa-15");
  511. $(".section_ContactName").find(".card-body").removeClass("hidden");
  512. $(".section_PriceDetails, .section_Summary, #dropup_save").removeClass('hidden');
  513. }
  514. else {
  515. instance.resetAllVariables();
  516. $(".Section").addClass("hidden");
  517. $(".section_ContactName").removeClass("hidden");
  518. $(".section_ContactName").addClass("card").removeClass("pa-15");
  519. $(".section_ContactName").find(".card-body").removeClass("hidden");
  520. $(".OrgContact_Details").remove();
  521. $(".CheckOutButton").addClass("hidden");
  522. $(".SelectItemsButton").addClass("hidden");
  523. }
  524. }
  525. loadAutoCompletes() {
  526. let instance = this;
  527. let id = $(".select2-results").find("ul").attr("id");
  528. let changedAutoComplete = "";
  529. if (id != undefined && id != null) {
  530. changedAutoComplete = $("#" + id.replace("select2-", "").replace("-results", "")).attr("data-propertyname");
  531. }
  532. let Contact = [
  533. { ColumnName: 'contactid', Value: instance.g_OrganizationId },
  534. ];
  535. if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesOpportunity) {
  536. if (changedAutoComplete != "billingaddressid") {
  537. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_billingaddressid"), Contact);
  538. }
  539. if (changedAutoComplete != "shippingaddressid") {
  540. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_shippingaddressid"), Contact);
  541. }
  542. }
  543. else if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseOpportunity) {
  544. if (changedAutoComplete != "branchid") {
  545. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_branchid"), Contact);
  546. }
  547. if (changedAutoComplete != "shipfromaddressid") {
  548. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_shipfromaddressid"), Contact);
  549. }
  550. }
  551. if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesOpportunity) {
  552. let Parameters = [{ ColumnName: "companyid", Value: Number($(".txtAutoComplete_companyid").val()) }];
  553. if (changedAutoComplete != "branchid") {
  554. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_branchid"), Parameters);
  555. }
  556. if (changedAutoComplete != "shipfromaddressid") {
  557. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_shipfromaddressid"), Parameters);
  558. }
  559. }
  560. else if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseOpportunity) {
  561. let Parameters = [{ ColumnName: "companyid", Value: Number($(".txtAutoComplete_companyid").val()) }];
  562. if (changedAutoComplete != "billingaddressid") {
  563. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_billingaddressid"), Parameters);
  564. }
  565. if (changedAutoComplete != "shippingaddressid") {
  566. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_shippingaddressid"), Parameters);
  567. }
  568. }
  569. if (changedAutoComplete != "lobid") {
  570. let portalId = 0;
  571. if (!instance.g_IsLead) {
  572. if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseOpportunity)
  573. portalId = Number($(".txtAutoComplete_branchid").val());
  574. else
  575. portalId = Number($(".txtAutoComplete_billingaddressid option:selected").val());
  576. }
  577. let Parameters = [
  578. { ColumnName: 'contactaddressid', Value: portalId },
  579. ];
  580. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_lobid"), Parameters);
  581. var companyId = Number($(".txtAutoComplete_companyid").val());
  582. var CompParameters = [{ "ColumnName": "companyid", "Value": companyId, }];
  583. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_competitorid"), CompParameters);
  584. }
  585. if (changedAutoComplete != "salespersonid") {
  586. let LobId = 0;
  587. let OrganizationAddressId = 0;
  588. if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesOpportunity) {
  589. LobId = Number($(".txtAutoComplete_lobid option:selected").val());
  590. OrganizationAddressId = Number($(".txtAutoComplete_billingaddressid option:selected").val() == undefined ? 0 : $(".txtAutoComplete_billingaddressid option:selected").val());
  591. }
  592. else if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseOpportunity) {
  593. LobId = Number($(".txtAutoComplete_lobid option:selected").val());
  594. OrganizationAddressId = Number($(".txtAutoComplete_branchid option:selected").val() == undefined ? 0 : $(".txtAutoComplete_branchid option:selected").val());
  595. }
  596. let Parameters = [
  597. { ColumnName: 'lobid', Value: LobId },
  598. { ColumnName: 'contactaddressid', Value: OrganizationAddressId },
  599. ];
  600. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_salespersonid"), Parameters);
  601. }
  602. }
  603. bindDetails(OrganizationId, LobId) {
  604. let instance = this;
  605. var url = '';
  606. if (instance.g_IsMobil) {
  607. url = 'apis/v4/bizgaze/mobil/opportunity/getdetails/organizationid/' + OrganizationId + '/lobid/' + LobId + '/ordertypeid/' + instance.g__OpportunityType + '/branchid/0/islead/' + instance.g_IsLead;
  608. }
  609. else {
  610. url = 'apis/v4/bizgaze/transact/orders/getdetails/organizationid/' + OrganizationId + '/lobid/' + LobId + '/ordertypeid/' + instance.g__OpportunityType + '/ispointsorder/false/branchid/0/islead/' + instance.g_IsLead;
  611. }
  612. Bizgaze.Apps.Transact.Managers.OpportunityManager.Instance().getDetails(url).then(function (response) {
  613. let msg = response.message;
  614. let res = response.result;
  615. if (msg != "") {
  616. MessageHelper.Instance().showError(msg, 'div_ErrorMessage_' + Number($("#hf_FormId").val()));
  617. }
  618. else {
  619. $(".section_BasicDetails").removeClass("hidden");
  620. $(".section_OpportunityItems ").addClass('mt-10');
  621. $(".SelectItemsButton").removeClass('hidden');
  622. $(".section_OpportunityInformation").removeClass("hidden");
  623. $(".section_VolumeAndMarginInformation").removeClass("hidden");
  624. $(".section_CompetitorInformation").removeClass("hidden");
  625. $(".section_AdditionalInformation").removeClass("hidden");
  626. }
  627. if (res != null) {
  628. $(".txtAutoComplete_orgcontactid").empty();
  629. $(".txtAutoComplete_companyid").empty();
  630. $(".txtAutoComplete_shippingaddressid, .txtAutoComplete_billingaddressid").empty();
  631. $(".txtAutoComplete_shipfromaddressid, .txtAutoComplete_branchid").empty();
  632. $(".txtAutoComplete_lobid").empty();
  633. $(".txtAutoComplete_salespersonid").empty();
  634. $(".txtAutoComplete_paymenttermid").empty();
  635. $(".txtAutoComplete_organizationid").removeClass("required");
  636. }
  637. if (res.OrganizationTypeId == 1) {
  638. instance.g_OrgContactId = res.OrgContactId;
  639. if (res.OrgContactName != null && res.OrgContactName != undefined) {
  640. let OrgContactName = res.OrgContactName.substring(res.OrgContactName.toString().indexOf("-") + 2);
  641. let OrgContact = new Option(OrgContactName, instance.g_OrgContactId.toString(), true);
  642. $(".txtAutoComplete_orgcontactid").append(OrgContact).val(instance.g_OrgContactId);
  643. }
  644. }
  645. else if (res.OrganizationTypeId == 2) {
  646. $("#div_orgcontactid").addClass("hidden");
  647. }
  648. if (res.CountryId != "" && res.CountryId != undefined) {
  649. instance.g_CountryId = res.CountryId;
  650. }
  651. else {
  652. instance.g_CountryId = 0;
  653. }
  654. $(".hdn_orgcontactid").val(res.OrgContactId);
  655. if (instance.g_IsLead) {
  656. let salesperson = new Option(Unibase.Platform.Membership.Infos.Identity.currentUser.name, Unibase.Platform.Membership.Infos.Identity.currentUser.userId.toString(), true);
  657. $(".txtAutoComplete_salespersonid").append(salesperson).val(Unibase.Platform.Membership.Infos.Identity.currentUser.userId);
  658. }
  659. if (instance.g_IsMobil) {
  660. $(".txtAutoComplete_leadsourceid").empty();
  661. $(".txtAutoComplete_ebcontactid").empty();
  662. if (res.LeadSourceId != 0) {
  663. let LeadSource = new Option(res.LeadSourceName, res.LeadSourceId.toString(), true);
  664. $(".txtAutoComplete_leadsourceid").append(LeadSource).val(res.LeadSourceId);
  665. if (res.LeadSourceName == 'EB') {
  666. if (res.EbId != 0) {
  667. let EbName = new Option(res.EbName, res.EbId.toString(), true);
  668. $(".txtAutoComplete_ebcontactid").append(EbName).val(res.EbId);
  669. }
  670. $(".divCustomProperties_ebcontactid").removeClass('hidden');
  671. }
  672. }
  673. }
  674. let contact = new Option("New Business", response.result.OpportunityType.toString(), true);
  675. $(".txtAutoComplete_opportunitytype").append(contact);
  676. $(".txtAutoComplete_opportunitytype").val(response.result.OpportunityType).trigger("change");
  677. instance.g_CompanyId = res.CompanyId;
  678. let CompanyName = res.CompanyName;
  679. let ShipFromAddressId = response.result.ShipFromAddressId;
  680. instance.g_BranchId = response.result.BranchId;
  681. let BranchName = response.result.BranchName;
  682. let WarehouseName = response.result.ShipFromAddressName;
  683. let BranchShortCode = response.result.BranchShortCode;
  684. let WarehouseShortCode = response.result.WarehouseShortCode;
  685. let Company = new Option(CompanyName, instance.g_CompanyId.toString(), true);
  686. $(".txtAutoComplete_companyid").append(Company).val(instance.g_CompanyId);
  687. $(".txtAutoComplete_shipfromaddressid, .txtAutoComplete_branchid").val('').text('');
  688. let Branch = new Option(BranchName + " - " + BranchShortCode, instance.g_BranchId.toString(), true);
  689. let Warehouse = new Option(WarehouseName + " - " + WarehouseShortCode, ShipFromAddressId.toString(), true);
  690. if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseOpportunity) {
  691. $(".txtAutoComplete_shippingaddressid").append(Warehouse).val(ShipFromAddressId);
  692. $(".txtAutoComplete_billingaddressid").append(Branch).val(instance.g_BranchId);
  693. }
  694. else if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesOpportunity) {
  695. $(".txtAutoComplete_shipfromaddressid").append(Warehouse).val(ShipFromAddressId);
  696. $(".txtAutoComplete_branchid").append(Branch).val(instance.g_BranchId);
  697. }
  698. if (res.BillingAddressId != 0) {
  699. let BillingAddress = new Option(res.BillingAddressName, res.BillingAddressId, true);
  700. let ShippingAddress = new Option(res.BillingAddressName, res.BillingAddressId, true);
  701. if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesOpportunity) {
  702. $(".txtAutoComplete_billingaddressid").append(BillingAddress).val(res.BillingAddressId);
  703. $(".txtAutoComplete_shippingaddressid").append(ShippingAddress).val(res.ShippingAddressId);
  704. }
  705. if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseOpportunity) {
  706. $(".txtAutoComplete_branchid").append(BillingAddress).val(res.BillingAddressId);
  707. $(".txtAutoComplete_shipfromaddressid").append(ShippingAddress).val(res.ShippingAddressId);
  708. }
  709. }
  710. if (Number(res.TagGroupId) != 0)
  711. instance.g_TagGroupId = res.TagGroupId;
  712. if (res.LobId != 0) {
  713. if (!res.IsMultipleLobs) {
  714. instance.g_LobId = res.LobId;
  715. let LobDetails = new Option(res.LobName, res.LobId, true);
  716. $(".txtAutoComplete_lobid").append(LobDetails).val(res.LobId);
  717. let data = res.Permissions;
  718. instance.setInventorySettings(res.InventoryApplyType);
  719. instance.setOrderSettings(res, res.CompositePriceType);
  720. if (res.SalesPersonId != 0) {
  721. let SalesPerson = new Option(res.SalesPersonName, res.SalesPersonId, true);
  722. $(".txtAutoComplete_salespersonid").append(SalesPerson);
  723. $(".txtAutoComplete_salespersonid").val(res.SalesPersonId);
  724. }
  725. if (res.SeriesSettings.length == 0) {
  726. for (let s = 0; s < res.SeriesList.length; s++) {
  727. $(".txtSeriesAutoComplete_seriesid").val(res.SeriesList[s].SeriesId).trigger('change');
  728. }
  729. }
  730. else {
  731. for (let s = 0; s < res.SeriesSettings.length; s++) {
  732. $(".txtSeriesAutoComplete_seriesid").val(res.SeriesSettings[s].SeriesId).trigger('change');
  733. }
  734. }
  735. }
  736. if (res.PaymentTermId != 0) {
  737. let PaymentTerm = new Option(res.PaymentTermName, res.PaymentTermId, true);
  738. $(".txtAutoComplete_paymenttermid").append(PaymentTerm);
  739. $(".txtAutoComplete_paymenttermid").val(res.PaymentTermId);
  740. }
  741. if (res.Terms != "<p><br></p>" && res.Terms != "" && res.Terms != null) {
  742. $(".divCustomProperties_terms").addClass('floating-label-form-group-with-value');
  743. let id = $(".divCustomProperties_terms").attr("id");
  744. if (id != undefined && id != "" && id != null) {
  745. id = $(".divCustomProperties_terms").attr("id").replace("control-container-", "");
  746. $("#txt_" + id).html(res.Terms);
  747. $("#txt_" + id).val($("#txt_" + id)[0].textContent);
  748. }
  749. }
  750. else
  751. $(".divCustomProperties_terms").removeClass('floating-label-form-group-with-value');
  752. if (Number($(".hdn_opportunityid").val()) == 0) {
  753. $('.section_Items').removeClass('hidden');
  754. }
  755. instance.g_PriceCodeId = res.PriceCodeId;
  756. $('#hfOrder_IsSeperateExcise').val(res.IsSeperateExcise);
  757. if ($("#chk_PriceCodeId").is(':checked'))
  758. instance.g_PriceCodeId = res.AdvancePriceCodeId;
  759. }
  760. else {
  761. let msg = response.message;
  762. if (msg != "") {
  763. $(".txtAutoComplete_lobid").empty();
  764. $(".txtAutoComplete_lobid, .txtAutoComplete_salespersonid").attr("disabled", "disabled");
  765. }
  766. else {
  767. $(".divCustomProperties_lobid").removeClass('hidden');
  768. if (!instance.g_IsLead)
  769. $(".divCustomProperties_salespersonid").removeClass('hidden');
  770. }
  771. }
  772. instance._OpportunityItems.g_CartItems_New = [];
  773. instance._OpportunityItems.g_SelectedItems = [];
  774. instance._OpportunityItems.g_ItemsUnitPrice_New = [];
  775. instance._OpportunityItems.g_LoadedItems = [];
  776. instance.loadAutoCompletes();
  777. });
  778. ;
  779. instance.ClosedDate();
  780. }
  781. ContinueShopping() {
  782. let instance = this;
  783. $(".modal-body").scrollTop(0);
  784. $(".tax-error").text("");
  785. let SearchItem = $("#txt_SearchItem").val();
  786. if (SearchItem != "") {
  787. $("#txt_SearchItem").val("");
  788. instance._OpportunityItems.LoadItems($("#txt_SearchItem").val(), instance.g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), $(".txtAutoComplete_branchid").val());
  789. }
  790. $(".div_SearchItem").removeClass('floating-label-form-group-with-value');
  791. $(".section_AdditionalInformation,.section_CompetitorInformation,.section_VolumeAndMarginInformation,.section_OpportunityInformation,.section_CartDetails,.section_Summary, .btn_Save_Form, .section_PriceDetails, .section_OpportunityDetails,.OrgContactNameLink, .section_OrderDetails, .section_ContactName").addClass('hidden');
  792. $("#dropup_save").addClass("hidden");
  793. $("#btn_Save_New").addClass("hidden");
  794. $("#btn_back").removeClass("hidden");
  795. $(".section_OpportunityItems").removeClass("hidden");
  796. $("#btn_CloseForm_" + $("#hf_FormId").val()).addClass('hidden');
  797. if ($(".section_CartDetails").hasClass('hidden')) {
  798. $("#btn_CloseForm").removeClass('hidden');
  799. }
  800. if (!$(".section_Items").hasClass('hidden')) {
  801. $("#btn_Save").addClass('hidden');
  802. $(".CheckOutButton").removeClass('hidden');
  803. }
  804. }
  805. GetCompanyIds() {
  806. let CompanyIds = '';
  807. let data = $('#select2_CompanyId').select2('data');
  808. if (data.length > 0) {
  809. let options = '';
  810. for (let i = 0; i < data.length; i++) {
  811. if (data[i].toString() != '000' && data[i] != undefined)
  812. options += data[i].id + ",";
  813. }
  814. if (options != '') {
  815. options = options.replace(/\|$/, '');
  816. CompanyIds = options;
  817. }
  818. }
  819. if (CompanyIds != '') {
  820. CompanyIds = CompanyIds.replace(/\:$/, '');
  821. }
  822. else
  823. CompanyIds = '0';
  824. CompanyIds = CompanyIds.slice(0, -1);
  825. return CompanyIds;
  826. }
  827. defaultBranchError() {
  828. let instance = this;
  829. $("#Bizgaze-messageInfo").empty();
  830. $(".bizgaze_FormErrorMessages").removeClass("hidden");
  831. $(".txtAutoComplete_organizationid").attr("disabled", "disabled");
  832. $(".btn_Save_Form").addClass("hidden");
  833. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Configure Default Branch");
  834. return false;
  835. }
  836. loadPropertySettings(propertysettings, formpropertyid, DocPropertyName) {
  837. return "";
  838. }
  839. bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
  840. return "";
  841. }
  842. getInventoryApplyType(LobId, BillingAddressId, BranchId) {
  843. let instance = this;
  844. let portalId;
  845. if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.PurchaseOpportunity)
  846. portalId = BillingAddressId;
  847. else
  848. portalId = BranchId;
  849. let type = instance.g__OpportunityType;
  850. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getInventoryApplyType(LobId, type, portalId).then(function (response) {
  851. if (response.result != null && response.result != undefined) {
  852. instance.setInventorySettings(response.result);
  853. $(".hdn_inventoryapplytype").val(response.result);
  854. }
  855. });
  856. }
  857. setInventorySettings(InventoryApplyType) {
  858. let instance = this;
  859. instance.g_InventoryApplyType = InventoryApplyType;
  860. instance._OpportunityItems.g_IsEnablePacks = false;
  861. instance._OpportunityItems.g_IsEnablePieces = false;
  862. instance._OpportunityItems.g_PacksFocus = false;
  863. instance._OpportunityItems.g_PiecesFocus = false;
  864. if (instance.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Packs) {
  865. if (instance.g_IsShowEnablePieceChkbox == 1 || instance.g_IsAdmin == 1) {
  866. $('.div_chk_Pieces').removeClass('hidden');
  867. }
  868. else {
  869. $(".div_chk_Pieces").addClass("hidden");
  870. }
  871. $(".div_chk_Packs").addClass("hidden");
  872. instance._OpportunityItems.g_IsEnablePacks = true;
  873. instance._OpportunityItems.g_PacksFocus = true;
  874. }
  875. if (instance.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.PacksAndPieces) {
  876. $(".div_chk_Pieces").addClass("hidden");
  877. $(".div_chk_Packs").addClass("hidden");
  878. instance._OpportunityItems.g_IsEnablePacks = true;
  879. instance._OpportunityItems.g_IsEnablePieces = true;
  880. instance._OpportunityItems.g_PacksFocus = true;
  881. }
  882. if (instance.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Pieces) {
  883. $(".div_chk_Pieces").addClass("hidden");
  884. $('.div_chk_Packs').removeClass('hidden');
  885. $("#chk_Packs").prop("checked", false);
  886. instance._OpportunityItems.g_IsEnablePieces = true;
  887. instance._OpportunityItems.g_PiecesFocus = true;
  888. }
  889. if (instance.g_InventoryApplyType == Bizgaze.Apps.Transact.Enums.InventoryApplyType.Quantity) {
  890. $(".div_chk_Pieces").addClass("hidden");
  891. $(".div_chk_Packs").addClass("hidden");
  892. instance._OpportunityItems.g_IsEnablePacks = true;
  893. instance._OpportunityItems.g_PacksFocus = true;
  894. }
  895. $(".hdn_inventoryapplytype").val(instance.g_InventoryApplyType);
  896. }
  897. getOrderSettings(LobId, BillingAddressId, BranchId) {
  898. let instance = this;
  899. let branchId = Number(BranchId);
  900. let SettingName = "";
  901. if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesOpportunity) {
  902. SettingName = "Bizgaze_Extension_Transact_Orders_Setting_SalesOrder";
  903. }
  904. else {
  905. branchId = Number(BillingAddressId);
  906. SettingName = "Bizgaze_Extension_Transact_Orders_Setting_PurchaseOrder";
  907. }
  908. Bizgaze.Apps.Transact.Managers.OrderManager.Instance().getOrderSettingsByLob(SettingName, LobId, branchId).then(function (res) {
  909. if (res.result != null && res.result != undefined && res.result != "") {
  910. let PriceType = Number(Bizgaze.Apps.Transact.Enums.PriceType[res.result.CompositePriceType]);
  911. instance.setOrderSettings(res.result, PriceType);
  912. }
  913. });
  914. }
  915. setOrderSettings(res, PriceType) {
  916. let instance = this;
  917. instance.g_CompositePriceType = Number(PriceType);
  918. instance.g_IsCalculateTax = res.CalculateTax;
  919. if (instance.g_CompositePriceType == Bizgaze.Apps.Transact.Enums.PriceType.CompositePrice || instance.g_CompositePriceType == Bizgaze.Apps.Transact.Enums.PriceType.Both) {
  920. $(".div_chk_CompositePrice").removeClass("hidden");
  921. }
  922. else {
  923. $(".div_chk_CompositePrice").addClass("hidden");
  924. }
  925. if (instance.g_CompositePriceType == Bizgaze.Apps.Transact.Enums.PriceType.PiecePrice || instance.g_CompositePriceType == Bizgaze.Apps.Transact.Enums.PriceType.Both) {
  926. $(".div_chk_PiecePrice").removeClass("hidden");
  927. }
  928. else {
  929. $(".div_chk_PiecePrice").addClass("hidden");
  930. }
  931. }
  932. ItemSettings(FromWidget = false) {
  933. let instance = this;
  934. $(".InventorySettings").html(`<div class="row" id="div_chkpieces"><div class="col-sm-3 hidden divselectall"><div class="custom-control custom-checkbox divselectall checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_AllItems"><label class="custom-control-label" for="chk_AllItems">Select All</label></div></div><div class="col-sm-4 div_chk_Packs hidden"><div class="custom-control custom-checkbox divEnablePacks checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_Packs"><label class="custom-control-label" for="chk_Packs">Enable Packs</label></div></div><div class="col-sm-4 div_chk_Pieces hidden"><div class="custom-control custom-checkbox divEnablePieces checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_Pieces"><label class="custom-control-label" for="chk_Pieces">Enable Pieces</label></div></div><div class="col-sm-4 hidden div_chk_CompositePrice"><div class="custom-control custom-checkbox checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_CompositePrice"><label class="custom-control-label" for="chk_CompositePrice">Enable Composite Price</label></div></div><div class="col-sm-4 hidden div_chk_PiecePrice"><div class="custom-control custom-checkbox checkbox-primary"><input type="checkbox" class="custom-control-input" id="chk_PiecePrice"><label class="custom-control-label" for="chk_PiecePrice">Enable Piece Price</label></div></div></div><br /><div class="d-none d-md-block"><div class="row div_titledetails"><div class="col-sm-8 ItemDetails pl-80">Item Details</div><div class="col-sm-4 Inventory_Title InventoryTypesTextboxes text-center"> <div class="col-sm-12"> <div class="row"> <span id="spn_InventoryTitle" class="col-6">Cartons</span><span id="spn_picesTitle" class="col-6 pull-right hidden"> Pieces</span></div></div></div></div></div><div class="mt-2" id="div_ItemList"></div>`);
  935. $("#div_ItemList").html('<ul class="variant-list list-group"><li class="variant-item hidden"></li>');
  936. instance._OpportunityItems.g_LoadedItems = [];
  937. instance.InventoryTypeClickEvents(FromWidget);
  938. instance.PriceTypeClickEvents(FromWidget);
  939. }
  940. backtoDetails() {
  941. $(".section_BasicDetails, .section_OpportunityInformation,.section_CompetitorInformation, .section_VolumeAndMarginInformation,.SelectItemsButton,.section_AdditionalInformation,.OrgContactNameLink, .section_ContactName").removeClass('hidden');
  942. $(".section_OpportunityItems,.CheckOutButton,.btn_back").addClass('hidden');
  943. $("#btn_CloseForm_" + $("#hf_FormId").val()).removeClass('hidden');
  944. }
  945. LoadItems() {
  946. let instance = this;
  947. let CalculateTax = instance.g_IsCalculateTax;
  948. if (!CalculateTax) {
  949. $("#TotalTax").addClass("hidden");
  950. $(".divCustomProperties_istaxinclusive").addClass("hidden");
  951. }
  952. if ($(".txtAutoComplete_organizationid").text() != "" || $(".txtAutoComplete_organizationid").text() != null) {
  953. if ($(".txtAutoComplete_organizationid").val() != '') {
  954. if ($(".txtSeriesAutoComplete_seriesid").val() == null) {
  955. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select Series");
  956. return false;
  957. }
  958. else if ($(".txtAutoComplete_lobid").val() == null) {
  959. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select LoB");
  960. return false;
  961. }
  962. else if ($(".txtAutoComplete_salespersonid").val() == null) {
  963. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select Sales Person");
  964. return false;
  965. }
  966. else if (($(".txtAutoComplete_billingaddressid").val() == null || $(".txtAutoComplete_shippingaddressid").val() == null || $(".txtAutoComplete_lobid").val() == null) && !instance.g_IsLead) {
  967. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Assign Address");
  968. $(".div_billingaddressid").addClass("form-group-required");
  969. return false;
  970. }
  971. else if ($(".txt_opportunityname").val() == '') {
  972. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Enter Opportunity Name");
  973. $(".div_opportunityname").addClass("form-group-required");
  974. return false;
  975. }
  976. else if ($(".txtAutoComplete_opportunitytype option:selected").val() == '' || $(".txtAutoComplete_opportunitytype option:selected").val() == undefined) {
  977. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select Opportunity Type");
  978. $(".div_opportunitytype").addClass("form-group-required");
  979. return false;
  980. }
  981. else if ($(".txtAutoComplete_opportunitytype option:selected").text() == "Renewal") {
  982. $(".txtAutoComplete_renewalopportunityid").addClass('required');
  983. if (Number($(".txtAutoComplete_renewalopportunityid").val()) == 0) {
  984. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select Renewal Opportunity");
  985. return false;
  986. }
  987. }
  988. else if ($(".number_estimatedyearlyconsumpton").val() == '') {
  989. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Enter Estimated Yearly Consumpton");
  990. $("#div_estimatedyearlyconsumpton").addClass("form-group-required");
  991. return false;
  992. }
  993. let SumofVoulmes = Number($(".number_flagshipvolume").val()) + Number($(".number_premiumvolume").val()) + Number($(".number_standardvolume").val()) + Number($(".number_oemvolume").val()) + Number($(".number_greasevolume").val());
  994. if (SumofVoulmes > Number($(".number_estimatedyearlyconsumpton").val())) {
  995. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Volume's must be less then Estimated Yearly Consumpton : " + Number($(".number_estimatedyearlyconsumpton").val()));
  996. return false;
  997. }
  998. if (instance.g_IsMobil && $('.CheckList-item-row').length == 0) {
  999. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select competitors");
  1000. }
  1001. else {
  1002. if ($("#Bizgaze-messageInfo").text() != null) {
  1003. $("#Bizgaze-messageInfo").empty();
  1004. $("#Bizgaze-messageInfo").removeClass();
  1005. }
  1006. $(".section_OpportunityItems").removeClass("hidden");
  1007. $(".section_CartDetails").addClass('mt-10');
  1008. $(".CheckOutButton").removeClass('hidden');
  1009. $(".btn_back").removeClass('hidden');
  1010. $("#btn_CloseForm_" + $("#hf_FormId").val()).addClass('hidden');
  1011. $(".SelectItemsButton,.OrgContactNameLink ,.section_BasicDetails,.section_OpportunityInformation,.section_CompetitorInformation,.section_VolumeAndMarginInformation,.section_AdditionalInformation, .section_ContactName").addClass('hidden');
  1012. instance.ItemSettings();
  1013. if (Number($(".hdn_opportunityid").val()) == 0) {
  1014. $("#ItemLoadType").empty();
  1015. for (let i = 0; i < instance.g_ItemLoadTypes.length; i++) {
  1016. let j = i + 1;
  1017. $("#ItemLoadType").append('<option value="' + j + '">' + instance.g_ItemLoadTypes[i] + '</option>');
  1018. }
  1019. if ($("#ItemLoadType option:selected").text() == 'Offers') {
  1020. $("#ItemLoadType option:contains(All Items)").attr('selected', 'selected');
  1021. }
  1022. $(".variant-list").empty();
  1023. Bizgaze.Apps.Transact.Components.OpportunityFilter.Instance().bindCustomerTags();
  1024. }
  1025. else {
  1026. instance._OpportunityItems.LoadItems("", instance.g_OrganizationId, $(".txtAutoComplete_lobid").val(), $(".txtAutoComplete_shippingaddressid").val(), instance.g_BranchId, false);
  1027. }
  1028. }
  1029. }
  1030. else {
  1031. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Please Select Contact");
  1032. }
  1033. }
  1034. }
  1035. Checkout() {
  1036. let instance = this;
  1037. $(".modal-body").scrollTop(0);
  1038. $(".order-cart-list").removeAttr("style");
  1039. let cont_id = $("._bizgaze_popup_container:visible").attr("id");
  1040. $("#" + cont_id).find("#btnDynamicSave").css("cursor", "pointer");
  1041. $(".dropdown_division").val("10");
  1042. if (instance._OpportunityItems.g_CartItems_New.length > 10) {
  1043. $(".CartItemFindTxt").removeClass('hidden');
  1044. }
  1045. $(".modal-body").scrollTop(0);
  1046. $(".btn_Save_Form, .section_CartDetails,.section_PriceDetails,.section_OpportunityDetails").removeClass("hidden");
  1047. $("#btn_CloseForm_" + $("#hf_FormId").val()).removeClass('hidden');
  1048. $(".CheckOutButton, .section_OpportunityItems,.btn_back ").addClass('hidden');
  1049. let Items_ZeroQty = instance._OpportunityItems.g_CartItems_New.filter(x => x.BaseQty == 0);
  1050. Items_ZeroQty.forEach(function (c) {
  1051. });
  1052. let FocItems = instance._OpportunityItems.g_CartItems_New.filter(x => x.IsFocItem == true);
  1053. FocItems.forEach(function (c) {
  1054. });
  1055. if (Items_ZeroQty.length == 0 && FocItems.length == 0) {
  1056. instance._OpportunityItems.checkOffers(false, "Checkout");
  1057. }
  1058. }
  1059. InventoryTypeClickEvents(FromWidget) {
  1060. let instance = this;
  1061. $('#chk_Pieces').click(function () {
  1062. if ($('#chk_Pieces').is(':checked')) {
  1063. instance._OpportunityItems.g_IsEnablePieces = true;
  1064. }
  1065. else {
  1066. instance._OpportunityItems.g_IsEnablePieces = false;
  1067. instance._OpportunityItems.g_PacksFocus = true;
  1068. instance._OpportunityItems.g_PiecesFocus = false;
  1069. }
  1070. instance._OpportunityItems.N_RefreshAllItems(FromWidget, "InventoryClickEvents");
  1071. });
  1072. $('#chk_Packs').click(function () {
  1073. if ($('#chk_Packs').is(':checked')) {
  1074. instance._OpportunityItems.g_IsEnablePacks = true;
  1075. }
  1076. else {
  1077. instance._OpportunityItems.g_IsEnablePacks = false;
  1078. instance._OpportunityItems.g_PacksFocus = false;
  1079. instance._OpportunityItems.g_PiecesFocus = true;
  1080. }
  1081. instance._OpportunityItems.N_RefreshAllItems(FromWidget, "InventoryClickEvents");
  1082. });
  1083. }
  1084. PriceTypeClickEvents(FromWidget) {
  1085. let instance = this;
  1086. instance._OpportunityItems.g_IsEnableCompositePrice = false;
  1087. instance._OpportunityItems.g_IsEnablePiecePrice = false;
  1088. instance._OpportunityItems.g_IsEnableCompositePiecePrice = false;
  1089. $('#chk_PiecePrice').click(function () {
  1090. if ($('#chk_PiecePrice').is(':checked')) {
  1091. if (instance._OpportunityItems.g_IsEnableCompositePrice) {
  1092. instance._OpportunityItems.g_IsEnableCompositePrice = false;
  1093. instance._OpportunityItems.g_IsEnablePiecePrice = false;
  1094. instance._OpportunityItems.g_IsEnableCompositePiecePrice = true;
  1095. }
  1096. else {
  1097. instance._OpportunityItems.g_IsEnablePiecePrice = true;
  1098. instance._OpportunityItems.g_IsEnableCompositePiecePrice = false;
  1099. instance._OpportunityItems.g_IsEnableCompositePrice = false;
  1100. }
  1101. }
  1102. else {
  1103. instance._OpportunityItems.g_IsEnablePiecePrice = false;
  1104. instance._OpportunityItems.g_IsEnableCompositePiecePrice = false;
  1105. instance._OpportunityItems.g_IsEnableCompositePrice = $('#chk_CompositePrice').is(':checked');
  1106. }
  1107. instance._OpportunityItems.N_RefreshAllItems(FromWidget, "PriceTypeClickEvents");
  1108. });
  1109. $('#chk_CompositePrice').click(function () {
  1110. if ($('#chk_CompositePrice').is(':checked')) {
  1111. if (instance._OpportunityItems.g_IsEnablePiecePrice) {
  1112. instance._OpportunityItems.g_IsEnableCompositePrice = false;
  1113. instance._OpportunityItems.g_IsEnableCompositePiecePrice = true;
  1114. instance._OpportunityItems.g_IsEnablePiecePrice = false;
  1115. }
  1116. else {
  1117. instance._OpportunityItems.g_IsEnableCompositePrice = true;
  1118. instance._OpportunityItems.g_IsEnableCompositePiecePrice = false;
  1119. instance._OpportunityItems.g_IsEnablePiecePrice = false;
  1120. }
  1121. }
  1122. else {
  1123. instance._OpportunityItems.g_IsEnableCompositePrice = false;
  1124. instance._OpportunityItems.g_IsEnableCompositePiecePrice = false;
  1125. instance._OpportunityItems.g_IsEnablePiecePrice = $('#chk_PiecePrice').is(':checked');
  1126. }
  1127. instance._OpportunityItems.N_RefreshAllItems(FromWidget, "PriceTypeClickEvents");
  1128. });
  1129. }
  1130. editOpportunity() {
  1131. let instance = this;
  1132. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  1133. instance.fileCacheHelper.loadJsFile("apps/crm/contacts/managers/contactmanager.js", function () {
  1134. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getOrganizationById(Number($('.txtAutoComplete_organizationid').val())).then(function (responce) {
  1135. if (responce.result != null && responce.result != "") {
  1136. let Leadid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_leadid").Value);
  1137. if (Leadid != 0) {
  1138. instance.g_OrganizationId = Leadid;
  1139. instance.g_IsLead = true;
  1140. $(".divCustomProperties_billingaddressid").addClass('hidden');
  1141. $(".divCustomProperties_shippingaddressid").addClass('hidden');
  1142. $(".divCustomProperties_salespersonid").addClass('hidden');
  1143. $(".txtAutoComplete_billingaddressid").removeClass('required');
  1144. $(".txtAutoComplete_shippingaddressid").removeClass('required');
  1145. $('.txtAutoComplete_organizationid').empty();
  1146. $('.txtAutoComplete_organizationid').removeClass('required');
  1147. }
  1148. else {
  1149. instance.g_OrgContactId = Number($('.txtAutoComplete_orgcontactid').val());
  1150. instance.g_OrganizationId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_organizationid").Value);
  1151. }
  1152. instance.prependCustomerLink();
  1153. instance.g_LobId = Number($('.txtAutoComplete_lobid').val());
  1154. instance.g_OpportunityTypeId = Number($(".hdn_opportunitytypeid").val());
  1155. $("#btn_Save").removeClass('hidden');
  1156. $(".btn_Save_Form").removeClass("hidden");
  1157. $(".section_BasicDetails").addClass('mt-10');
  1158. $(".section_ContactName").find(".card-body").addClass("hidden");
  1159. $(".btn_Save_Form").removeClass('card');
  1160. instance.editLoadAutoComplete();
  1161. $(".txtAutoComplete_lobid").attr("disabled", "true");
  1162. $(".txtAutoComplete_salespersonid").attr("disabled", "true");
  1163. }
  1164. });
  1165. });
  1166. }
  1167. checkConfigurations() {
  1168. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  1169. $(".li_DetailSetting_" + InstalledAppId + "_CreateOrder").addClass("hidden");
  1170. $(".li_DetailSetting_" + InstalledAppId + "_CreateEstimate").addClass("hidden");
  1171. let OrganizationId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_organizationid") == undefined ? 0 : Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_organizationid").Value);
  1172. var LeadId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refstatusid") == undefined ? 0 : Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_leadid").Value);
  1173. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile("apps/crm/contacts/managers/contactmanager.js", function () {
  1174. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getOrganizationById(OrganizationId).then(function (responce) {
  1175. if (responce.result != null && responce.result != "") {
  1176. var StageStatusId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refstatusid") == undefined ? 0 : Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + InstalledAppId + "_refstatusid").Value);
  1177. if (responce.result.RefStatusId == 3) {
  1178. if (StageStatusId == 6 && LeadId == 0) {
  1179. $("#DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_CreateOrder").addClass("btn-outline-success");
  1180. $("#DetailSetting_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_CreateEstimate").addClass("btn-outline-info");
  1181. $(".li_DetailSetting_" + InstalledAppId + "_CreateOrder").removeClass("hidden");
  1182. $(".li_DetailSetting_" + InstalledAppId + "_CreateEstimate").removeClass("hidden");
  1183. }
  1184. else if (StageStatusId == 6 && LeadId != 0) {
  1185. $(".li_DetailSetting_" + InstalledAppId + "_CreateEstimate").removeClass("hidden");
  1186. }
  1187. }
  1188. else if (responce.result.RefStatusId == 1 && StageStatusId == 6) {
  1189. $(".li_DetailSetting_" + InstalledAppId + "_CreateEstimate").removeClass("hidden");
  1190. }
  1191. }
  1192. });
  1193. });
  1194. }
  1195. changeSalesPerson() {
  1196. if (!Unibase.Themes.Compact.Components.Details.Instance().isSystemLock) {
  1197. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('platform/forms/components/formviewer/formviewer.js', function () {
  1198. var uniqueid = 'Bizgaze_Extension_Transact_SalesOpportunity_App_UpdateSalesPerson';
  1199. Unibase.Platform.Forms.Managers.FormManager.Instance().getFormbyUniqueId(uniqueid).then(function (response) {
  1200. var successCallBack = {
  1201. CallBack: function (id) {
  1202. Unibase.Themes.Compact.Components.Details.Instance().loadPortlets(Unibase.Themes.Compact.Components.Details.Instance());
  1203. },
  1204. Parameters: null,
  1205. };
  1206. var formviewerObj = {
  1207. FormId: response.result.FormId,
  1208. AppConfigurationId: 0,
  1209. Pk_Value: Unibase.Themes.Providers.DetailHelper.recordId,
  1210. PortletWidgetId: 0,
  1211. OnSuccess: successCallBack,
  1212. OnFail: null,
  1213. OnLoad: null,
  1214. };
  1215. Unibase.Platform.Forms.Components.FormViewer.Instance().init(formviewerObj);
  1216. });
  1217. });
  1218. }
  1219. }
  1220. editLoadAutoComplete() {
  1221. var instance = this;
  1222. if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesOpportunity) {
  1223. let Contact = [
  1224. { ColumnName: 'contactid', Value: instance.g_OrganizationId },
  1225. ];
  1226. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_billingaddressid"), Contact);
  1227. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_shippingaddressid"), Contact);
  1228. let C_Parameters = [{ ColumnName: "companyid", Value: Number($(".txtAutoComplete_companyid").val()) }];
  1229. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_branchid"), C_Parameters);
  1230. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_shipfromaddressid"), C_Parameters);
  1231. let L_Parameters = [{ ColumnName: 'contactaddressid', Value: Number($(".txtAutoComplete_billingaddressid").val()) },];
  1232. Unibase.Forms.Controls.AutoComplete.Instance().LoadAutoComplete($(".txtAutoComplete_lobid"), L_Parameters);
  1233. }
  1234. }
  1235. bindBranch(CompanyId) {
  1236. var instance = this;
  1237. instance.fileCacheHelper.loadJsFile("apps/crm/companies/managers/companymanager.js", function () {
  1238. Bizgaze.Apps.CRM.Companies.Managers.CompanyManager.Instance().getBranches(CompanyId).then(function (responce) {
  1239. if (responce.result != null) {
  1240. if (responce.result.length == 1) {
  1241. if (instance.g_OpportunityTypeId == Bizgaze.Apps.Transact.Enums.OrderType.SalesOpportunity) {
  1242. var s_BranchName = new Option(responce.result[0].BranchName + " - " + responce.result[0].ShortCode, responce.result[0].BranchId, true);
  1243. $(".txtAutoComplete_branchid").append(s_BranchName);
  1244. $(".txtAutoComplete_branchid").val(responce.result[0].BranchId);
  1245. var B_BranchName = new Option(responce.result[0].BranchName + " - " + responce.result[0].ShortCode, responce.result[0].BranchId, true);
  1246. $(".txtAutoComplete_shipfromaddressid").append(B_BranchName);
  1247. $(".txtAutoComplete_shipfromaddressid").val(responce.result[0].BranchId);
  1248. }
  1249. else {
  1250. var s_BranchName = new Option(responce.result[0].BranchName + " - " + responce.result[0].ShortCode, responce.result[0].BranchId, true);
  1251. $(".txtAutoComplete_billingaddressid").append(s_BranchName);
  1252. $(".txtAutoComplete_billingaddressid").val(responce.result[0].BranchId);
  1253. var B_BranchName = new Option(responce.result[0].BranchName + " - " + responce.result[0].ShortCode, responce.result[0].BranchId, true);
  1254. $(".txtAutoComplete_shippingaddressid").append(B_BranchName);
  1255. $(".txtAutoComplete_shippingaddressid").val(responce.result[0].BranchId);
  1256. }
  1257. }
  1258. }
  1259. });
  1260. });
  1261. }
  1262. ValidateVolumes() {
  1263. let SumofVoulmes = Number($(".number_flagshipvolume").val()) + Number($(".number_premiumvolume").val()) + Number($(".number_standardvolume").val()) + Number($(".number_oemvolume").val()) + Number($(".number_greasevolume").val());
  1264. if (SumofVoulmes > Number($(".number_estimatedyearlyconsumpton").val())) {
  1265. Unibase.Platform.Forms.Components.FormViewer.Instance().showError("Volume's must be less then Estimated Yearly Consumpton : " + Number($(".number_estimatedyearlyconsumpton").val()));
  1266. return false;
  1267. }
  1268. }
  1269. loadPaymentTermConditions() {
  1270. let instance = this;
  1271. Bizgaze.Apps.Transact.Managers.PaymentTermManager.Instance().getPaymentTerm(Number($('.txtAutoComplete_paymenttermid').val())).then(function (response) {
  1272. let info = response.result;
  1273. if (info != null && info != "") {
  1274. let Terms = "";
  1275. if (info.Terms != null) {
  1276. Terms = HtmlHelper.getHelper().decode(info.Terms);
  1277. }
  1278. if (Terms != "<p><br></p>" && Terms != "") {
  1279. $(".divCustomProperties_terms").addClass('floating-label-form-group-with-value');
  1280. }
  1281. else {
  1282. $(".divCustomProperties_terms").removeClass('floating-label-form-group-with-value');
  1283. }
  1284. let id = $(".divCustomProperties_terms").attr("id").replace("control-container-", "");
  1285. $("#txt_" + id).html(Terms);
  1286. $("#txt_" + id).val($("#txt_" + id)[0].textContent);
  1287. }
  1288. });
  1289. }
  1290. ClosedDate() {
  1291. let OppDate = $.datepicker.parseDate('dd/mm/yy', $(".date_opportunitydate").val().toString());
  1292. let date = OppDate.getDate() - 1;
  1293. let month = OppDate.getMonth() + 2;
  1294. let year = OppDate.getFullYear();
  1295. if (((OppDate.getDate() == 30 && OppDate.getMonth() + 1 == 1) || (OppDate.getDate() == 31 && OppDate.getMonth() + 1 == 1)) && OppDate.getFullYear() % 4 != 0) {
  1296. date = 28;
  1297. }
  1298. else if (((OppDate.getDate() == 30 && OppDate.getMonth() + 1 == 1) || (OppDate.getDate() == 31 && OppDate.getMonth() + 1 == 1)) && OppDate.getFullYear() % 4 == 0) {
  1299. date = 29;
  1300. }
  1301. if ((OppDate.getMonth() + 1) == 12) {
  1302. let d = new Date();
  1303. month = d.getMonth() + 1;
  1304. year = OppDate.getFullYear() + 1;
  1305. }
  1306. let ClosedDate = new Date(year + "/" + month + "/" + date);
  1307. if (date < 1) {
  1308. ClosedDate = new Date(OppDate.getFullYear(), OppDate.getMonth() + 1, 0);
  1309. }
  1310. var UnformatedDate = moment(ClosedDate);
  1311. let FormatedDate = UnformatedDate.format('D/MM/YYYY');
  1312. $(`#${this.g_VisibleContainerId}`).find(".date_closedate").val(FormatedDate);
  1313. $(`#${this.g_VisibleContainerId}`).find(".hfdate_closedate").val(moment(ClosedDate).format());
  1314. }
  1315. static Instance() {
  1316. if (this.instance === undefined) {
  1317. this.instance = new Opportunity();
  1318. }
  1319. return this.instance;
  1320. }
  1321. }
  1322. Controls.Opportunity = Opportunity;
  1323. })(Controls = Transact.Controls || (Transact.Controls = {}));
  1324. })(Transact = Apps.Transact || (Apps.Transact = {}));
  1325. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  1326. })(Bizgaze || (Bizgaze = {}));