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.

createpricelistitem.js 51KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649
  1. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
  2. function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
  3. return new (P || (P = Promise))(function (resolve, reject) {
  4. function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
  5. function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
  6. function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
  7. step((generator = generator.apply(thisArg, _arguments || [])).next());
  8. });
  9. };
  10. var itemList = new Array();
  11. var customPricesList = new Array();
  12. var pageIndex = 0;
  13. var page = 0;
  14. var Unibase;
  15. (function (Unibase) {
  16. let Apps;
  17. (function (Apps) {
  18. let Transact;
  19. (function (Transact) {
  20. let Controls;
  21. (function (Controls) {
  22. class CreatePriceList extends Unibase.Platform.Core.BaseComponent {
  23. constructor() {
  24. super();
  25. this.containerid = "";
  26. }
  27. AssignPriceValue(MRPId, ItemId, ev, mrp) {
  28. Number($(ev).parents("tr").find(".priceValueId").val());
  29. $("#hfMrpId").val(MRPId);
  30. $("#hfItemvalueid").val(ItemId);
  31. Unibase.Apps.Transact.Controls.CreatePriceList.Instance().navigationHelper.popup(ItemId + '|' + MRPId + '|' + ev + '|' + mrp, "", Unibase.Apps.Transact.Controls.CreatePriceValue.Instance(), null, Unibase.Platform.Helpers.Size.Auto);
  32. }
  33. ;
  34. init(conr) {
  35. var html = `<div class="card"><div class="card-header">
  36. <a href="#" data-toggle="dropdown" class="m-t-sm dropdown-toggle no-caret pull-right m-r-xs biz-highlight-bg-color" aria-expanded="false">
  37. <i class="fa fa-ellipsis-h"></i>
  38. </a>
  39. <p class="font-bold text-black h6 m-0 biz-highlight-bg-color">Price List Items</p>
  40. <div id="Details_PriceListView" class="dropdown-menu dropdown-menu-right shadow ">
  41. <a href="javascript:; " class="dropdown-item" onclick="" id="AddLists">Edit</a>
  42. <a href="javascript:; " class="dropdown-item" onclick=" Unibase.Apps.Transact.Controls.CreatePriceList.Instance().exportList();" id="export">Export</a>
  43. </div>
  44. </div>
  45. <div class="card-scrollable">
  46. <div class="searching">
  47. <div class="">
  48. <div class="" id="div_Listsearch2">
  49. <input type="text" maxlength="50" class="form-control rounded-0 " id="txtSearchPriceListItem" style="padding-left: 20px;outline: none;" value="" data-isdynamic="false" placeholder=" Search" data-placeholder="Search" data-label="Search">
  50. </div>
  51. </div>
  52. </div>
  53. <div id="divPriceValuesContainer" class="table table-responsive pricelistview simple-scroll-bar" style="overflow-x:auto;width:auto">
  54. <div class="alert alert-info divNoData">There is no Data</div>
  55. <div class="wrapper">
  56. <div class='conta' id='conta'>
  57. <table id="tblPriceValuesData" class="table tble">
  58. <tr class="value-row tbr"></tr>
  59. </table>
  60. </div>
  61. </div>
  62. <div class="card-footer" style="background-color:white;">
  63. <div class="row col-sm-6 pull-left" id="records1">
  64. <span class="text-muted pull-left text-dark">Total : <span id="lblTotals1">0</span></span>
  65. </div>
  66. <div id="gridPager1" class="pagination custom-pagination pagination-rounded m-t-none m-b-none pull-right"></div>
  67. <div id='MessageHolder' class="hidden"></div>
  68. <a href="#" id="testAnchor"></a>
  69. </div>
  70. </div>
  71. </div>
  72. </div>`;
  73. $('#' + conr).append(html);
  74. $("#AddLists").click(function () {
  75. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('apps/transact/controls/pricelist/createpricelistitem.js', function () {
  76. Unibase.Apps.Transact.Controls.CreatePriceList.Instance().navigationHelper.popup(0, "", Unibase.Apps.Transact.Controls.CreatePriceList.Instance(), null, Unibase.Platform.Helpers.Size.ExtraLarge);
  77. });
  78. });
  79. var timer;
  80. $("#txtSearchPriceListItem").on('keyup', function () {
  81. window.clearTimeout(timer);
  82. timer = window.setTimeout(function () {
  83. var searchtext = $("#txtSearchPriceListItem").val();
  84. pageIndex = 0;
  85. var lobid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_lobid"; })[0].Value;
  86. var PriceListId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_pricelistid").Value;
  87. Unibase.Apps.Transact.Controls.CreatePriceList.Instance().data(searchtext, tablewidth, priceCodesHeadHtml, priceValueshtml, headTagHtml, 0);
  88. });
  89. });
  90. var searchtext = (encodeURIComponent(encodeURIComponent(""))).replace(/\%/g, '!');
  91. var tablewidth = 450;
  92. var headTagHtml = '<thead class="thead-light t12 biz-widget-list-header"><tr class="hidden-xs tbr "><th class="text-left tbh biz-widget-list-header" style="text-align:center;min-width:300px;width:300px;">Item Name (SKU) </th><th class="text tbh biz-widget-list-header" style="text-align:center;">MRP</th><th class="text-center tbh biz-widget-list-header" style="display:none;text-align:center;">Excise</th><th class="text-center tbh biz-widget-list-header" style="display:none;">Excise %</th><th class="text tbh biz-widget-list-header" style="text-align:center;white-space: nowrap; width:auto">List Price</th>';
  93. var priceCodesHeadHtml = "";
  94. var priceValueshtml = "";
  95. Unibase.Apps.Transact.Controls.CreatePriceList.Instance().data(searchtext, tablewidth, priceCodesHeadHtml, priceValueshtml, headTagHtml, 0);
  96. }
  97. data(searchtext, tablewidth, priceCodesHeadHtml, priceValueshtml, headTagHtml, page) {
  98. if (searchtext == '') {
  99. searchtext = null;
  100. }
  101. else {
  102. searchtext = searchtext;
  103. }
  104. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('apps/transact/controls/pricelist/managers/pricelistmanager.js', function () {
  105. Bizgaze.Apps.Transact.Managers.PriceListManager.Instance().getpricecodes(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_lobid"; })[0].Value).then(function (data) {
  106. var lobdata = JSON.parse(data.result);
  107. Bizgaze.Apps.Transact.Managers.PriceListManager.Instance().EditPriceListItems(Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_pricelistid"; })[0].Value), 0, page, searchtext).then(function (response) {
  108. response.result = JSON.parse(response.result);
  109. if (response.result._rows.length == 0) {
  110. $('#conta').addClass('hidden');
  111. $("#gridPager1").hide();
  112. $("#records1").hide();
  113. if (searchtext == "" || searchtext == undefined) {
  114. $(".searching,#export").hide();
  115. }
  116. else {
  117. $('#tblPriceValuesData').addClass('hidden');
  118. $(".searching").show();
  119. }
  120. }
  121. else {
  122. $('#conta').removeClass('hidden');
  123. if (response.result._totalRecords > 10) {
  124. $("#gridPager1").show();
  125. $(".searching").show();
  126. $("#records1").show();
  127. }
  128. else {
  129. $("#gridPager1").hide();
  130. if (searchtext == "" || searchtext == undefined) {
  131. $(".searching").hide();
  132. }
  133. else {
  134. $(".searching").show();
  135. }
  136. }
  137. $('.divNoData').addClass('hidden');
  138. $('#tblPriceValuesData').removeClass('hidden');
  139. $("#export").show();
  140. for (var i = 0; i < lobdata.length; i++) {
  141. if (lobdata[i].StatusId == 1) {
  142. priceCodesHeadHtml += '<th style="text-align:center;white-space: nowrap;" class="tbh biz-widget-list-header">' + lobdata[i].PriceCodeName + '</th>';
  143. tablewidth += 100;
  144. }
  145. }
  146. for (var i = 0; i < response.result._rows.length; i++) {
  147. var priceCodesHtml = "";
  148. var data = response.result._rows[i];
  149. var itemname = data.Cells[1];
  150. priceValueshtml += '<tr class="value-row tbr text-dark" style="">' +
  151. '<td id="t1" data-label="Item Name" style="text-align:left;font-size:13px;min-width:100px;width:100px;max-width:200" class="tbd"><span class="text-sm ItemName">' + data.Cells[1] + '<small> <strong> (' + data.Cells[7] + ') </strong> </small> </span>' +
  152. '</div></td>' +
  153. '<td data-label="Mrp" style="text-align:center;" class="tbd"><span class="text-sm MRP ">' + data.Cells[4] + '</span></td>' +
  154. '<td data-label="Excise" style="text-align:center;display:none;" class="tbd"><span class="text-sm excise">' + data.Cells[5] + '</span></td>' +
  155. '<td data-label="Excise%" style="text-align:center;display:none;" class="tbd"><span class="text-sm excisePercent">' + data.Cells[8] + '</span></td>' +
  156. '<td data-label="ListPrice" style="text-align:center;font-size:13px; " class="tbd"><span class="text-sm ListPrice">' + data.Cells[3] + '</span></td>';
  157. if (data.Cells[6] != undefined) {
  158. var priceCodePrices = data.Cells[6].split(",");
  159. for (var j = 0; j < lobdata.length; j++) {
  160. if (lobdata[j].StatusId == 1) {
  161. var price = "0.00";
  162. var customPriceId = "cpid0";
  163. if (priceCodePrices != undefined) {
  164. if (priceCodePrices[j] != undefined) {
  165. var pricewithId = priceCodePrices[j].split(':');
  166. customPriceId = pricewithId[0];
  167. price = pricewithId[1];
  168. }
  169. }
  170. if ((price == undefined) || (price == "") || (price == "0")) {
  171. price = "0.00";
  172. }
  173. priceCodesHtml += '<td class="tbd" data-label="' + lobdata[j].PriceCodeName + '" style="text-align:center;"><span class="text-sm PriceCode">' + Number(price) + '</span></td>';
  174. }
  175. }
  176. }
  177. priceValueshtml = priceValueshtml + priceCodesHtml + '</tr>';
  178. }
  179. $("#tblPriceValuesData").html(headTagHtml + priceCodesHeadHtml + "</tr></thead>" + '<tbody >' + priceValueshtml + '</tbody >');
  180. if (response.result._totalRecords > 10) {
  181. var add_itemcount = 0;
  182. $('#div_EstimateItems_pagination').removeClass('hidden');
  183. var totalCount = response.result._totalRecords;
  184. var startingValue = 0;
  185. var _count = 0;
  186. var t = ((page - 1) + 1) * 10;
  187. if (totalCount > 0) {
  188. startingValue = 1;
  189. _count = totalCount;
  190. }
  191. if (totalCount > t)
  192. _count = t;
  193. if ((page - 1) > 0) {
  194. startingValue += t - 10;
  195. }
  196. var res = startingValue + " - " + _count + " of " + response.result._totalRecords;
  197. $('#lblTotals1').text(res);
  198. var idf = $('#gridPager1');
  199. idf.pagination(response.result._totalRecords, 10, {
  200. callback: function (page, component) {
  201. Unibase.Apps.Transact.Controls.CreatePriceList.Instance().data(searchtext, tablewidth, "", "", headTagHtml, (page + 1));
  202. Unibase.Apps.Transact.Controls.CreatePriceList.Instance().getPriceCodesByLob(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_pricelistid"; })[0].Value, Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_lobid"; })[0].Value, page, "");
  203. }, current_page: (page - 1)
  204. });
  205. }
  206. else
  207. $('#lblTotals1').text(response.result._totalRecords);
  208. $("#records1").removeAttr("style");
  209. }
  210. $("#divPriceValuesContainer").removeClass("hidden");
  211. });
  212. });
  213. });
  214. }
  215. jsFiles() {
  216. return ["platform/membership/managers/accountmanager.js",
  217. "platform/analytics/providers/iviewersettings.js",
  218. "apps/transact/controls/pricelist/createpricevalue.js",
  219. "apps/transact/controls/pricelist/managers/pricelistmanager.js",
  220. "libs/jquery/pagination/jquery.pagination.js"];
  221. }
  222. cssFiles() {
  223. return ["platform/analytics/components/reportbuilder/style.reportbuilder.css"];
  224. }
  225. export_excel() {
  226. return __awaiter(this, void 0, void 0, function* () {
  227. yield Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('apps/transact/controls/pricelist/createpricelistitem.js', function () {
  228. return __awaiter(this, void 0, void 0, function* () {
  229. $($("#testAnchor")[0]).click(function () {
  230. console.log(data_type);
  231. console.log(tab_text);
  232. $('#testAnchor').attr('href', data_type + ', ' + encodeURIComponent(tab_text));
  233. $('#testAnchor').attr('download', '' + Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_pricelistname"; })[0].Value + '.xls');
  234. });
  235. var lobid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_lobid"; })[0].Value;
  236. yield Bizgaze.Apps.Transact.Managers.PriceListManager.Instance().getpricecodes(lobid).then(function (data) {
  237. function CreateHiddenTable(ListOfMessages) {
  238. var ColumnHead = "ItemSku";
  239. var TableMarkUp = '<table id="myModifiedTable" class="visibilityHide"><thead><tr><td><b>' + ColumnHead + '</b></td><td><b>ItemName (SKU)</b></td><td><b>ListPrice</b></td><td><b>Mrp</b></td><td><b>PriceListDate</b></td><td><b>PriceListName</b></td> ';
  240. for (var i = 0; i < ListOfMessages.length; i++) {
  241. TableMarkUp += '<td><b>' + ListOfMessages[i].PriceCodeName + '</b></td>';
  242. }
  243. TableMarkUp += "</tr></thead></table>";
  244. $('#MessageHolder').append(TableMarkUp);
  245. }
  246. CreateHiddenTable(JSON.parse(data.result));
  247. });
  248. fnExcelReport();
  249. var tab_text;
  250. var data_type = 'data:application/vnd.ms-excel';
  251. function fnExcelReport() {
  252. tab_text = '<html xmlns:x="urn:schemas-microsoft-com:office:excel">';
  253. tab_text = tab_text + '<head><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>';
  254. tab_text = tab_text + '<x:Name>Error Messages</x:Name>';
  255. tab_text = tab_text + '<x:WorksheetOptions><x:Panes></x:Panes></x:WorksheetOptions></x:ExcelWorksheet>';
  256. tab_text = tab_text + '</x:ExcelWorksheets></x:ExcelWorkbook></xml></head><body>';
  257. tab_text = tab_text + "<table border='1px'>";
  258. tab_text = tab_text + $('#myModifiedTable').html();
  259. ;
  260. tab_text = tab_text + '</table></body></html>';
  261. data_type = 'data:application/vnd.ms-excel';
  262. var ua = window.navigator.userAgent;
  263. var msie = ua.indexOf("MSIE ");
  264. if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {
  265. if (window.navigator.msSaveBlob) {
  266. var blob = new Blob([tab_text], {
  267. type: "application/csv;charset=utf-8;"
  268. });
  269. navigator.msSaveBlob(blob, 'Test file.xls');
  270. }
  271. }
  272. else {
  273. console.log(data_type);
  274. console.log(tab_text);
  275. $('#testAnchor')[0].click();
  276. }
  277. $('#MessageHolder').html("");
  278. }
  279. });
  280. });
  281. });
  282. }
  283. html(id, containerid) {
  284. var html = `<input type="hidden" value="" id="hfItemvalueid" />
  285. <input type="hidden" value="" id="hfItemvaluename" />
  286. <input type="hidden" value="" id="hfMrpId" /><header class="b-b bg-white modal-header pa-10">
  287. <strong class="text-dark Title">Edit Price List Items</strong>
  288. <div class="btn-group ml-auto"> <a class="btn btn-sm"><i class="ti-help-alt" title="help" href="" target="_blank"></i></a></div>
  289. </header>
  290. <div class="scrollable">
  291. <div class="searching1">
  292. <div class="">
  293. <div class="" id="div_Listsearch1">
  294. <input type="text" maxlength="50" class="form-control rounded-input" id="txtSearchPriceListItem1" style="padding-left: 35px;" value="" data-isdynamic="false" placeholder="Search" data-placeholder="Search" data-label="Search">
  295. </div>
  296. </div>
  297. </div>
  298. <div id="divPriceValuesContainer" class="table table-responsive pricelistview1 mt-10" style="overflow-x:auto;width:auto">
  299. <div class="alert alert-info divNoData1 hidden">There is no Data</div>
  300. <div class="wrapper">
  301. <div id="tblPriceValues" class="conta tble">
  302. <table border="0" cellpadding="0" cellspacing="0" class="result-set" id="club_plan_table" style="overflow-x:auto;width:100%;">
  303. <tr class="value-row tbr"></tr>
  304. </table>
  305. </div>
  306. </div>
  307. </div>
  308. <div class="pull-left mt-2 w-60" id="records">
  309. <span id="lblTotals"></span>
  310. </div>
  311. <div class="pull-right">
  312. <div id="gridPager2" class="pagination custom-pagination pagination-rounded pull-right"></div>
  313. </div>
  314. </div><footer class="bg-white modal-footer">
  315. <a href="javascript:;" id="btnCloseCreate" class="btn btn-light btn-sm mr-auto"> Close</a>
  316. </footer>`;
  317. return html;
  318. }
  319. load(id, containerid, callback) {
  320. var container = this;
  321. container.containerid = containerid;
  322. $("#btnCloseCreate").click(function () {
  323. $('#' + containerid).modal('hide');
  324. $('#' + containerid).remove();
  325. var Installedappid = Unibase.Themes.Providers.DetailHelper.installedAppId;
  326. if (Installedappid != 0) {
  327. var portletid = Unibase.Themes.Compact.Components.Details.Instance().unibase_core_activeportletid;
  328. var ModalContainers = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds;
  329. var ContainerId = ModalContainers[ModalContainers.length - 1];
  330. Unibase.Themes.Compact.Components.Details.Instance().loadWidgets(Installedappid, portletid, "#" + ContainerId);
  331. var detailInstance = Unibase.Themes.Compact.Components.Details.Instance();
  332. var panel = "#" + detailInstance._containerId;
  333. var obj = Unibase.Themes.Compact.Components.Details.Instance();
  334. obj._recordId = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_recordid").Value);
  335. obj._installedAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  336. detailInstance.loadAppDefaultWidget(obj, panel, detailInstance._containerId, function () {
  337. });
  338. }
  339. else {
  340. }
  341. });
  342. $("#export").click(function () {
  343. Unibase.Apps.Transact.Controls.CreatePriceList.Instance().exportList(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_pricelistid").Value);
  344. });
  345. Unibase.Apps.Transact.Controls.CreatePriceList.Instance().editPriceList(0, 2, "");
  346. var timer;
  347. $("#txtSearchPriceListItem1").on('keyup', function () {
  348. clearTimeout(timer);
  349. timer = setTimeout(function () {
  350. var searchtext = $("#txtSearchPriceListItem1").val();
  351. pageIndex = 0;
  352. var lobid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_lobid"; })[0].Value;
  353. var PriceListId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_pricelistid").Value;
  354. Unibase.Apps.Transact.Controls.CreatePriceList.Instance().getPriceCodesByLob(PriceListId, lobid, 0, searchtext);
  355. }, 300);
  356. });
  357. }
  358. ;
  359. getPriceCodesByLob(lobid, pricelistid, page, searchtext) {
  360. if (searchtext == '') {
  361. searchtext = null;
  362. }
  363. else {
  364. searchtext = searchtext;
  365. }
  366. lobid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_lobid"; })[0].Value;
  367. pricelistid = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_pricelistid"; })[0].Value;
  368. Bizgaze.Apps.Transact.Managers.PriceListManager.Instance().getpricecodes(lobid).then(function (data) {
  369. Bizgaze.Apps.Transact.Managers.PriceListManager.Instance().EditPriceListItems(pricelistid, 0, page, searchtext).then(function (resulte) {
  370. Unibase.Apps.Transact.Controls.CreatePriceList.Instance().refreshPriceValues(pricelistid, searchtext, JSON.parse(resulte.result), JSON.parse(data.result), page);
  371. });
  372. });
  373. }
  374. ;
  375. getPriceValues(element) {
  376. if (element.find(".priceValueId").val() != undefined) {
  377. var prevPricelist = Number(element.find(".hflistPrice").val());
  378. var prevMrp = Number(element.find(".hfMrp").val());
  379. var prevExcise = Number(element.find(".hfExcise").val());
  380. var prevExcisePercent = Number(element.find(".hfExcisePercent").val());
  381. var newPricelist = Number(element.find(".listPrice").val());
  382. var newMrp = Number(element.find(".Mrp").val());
  383. var newExcise = Number(element.find(".excise").val());
  384. var newExcisePercent = Number(element.find(".excisePercent").val());
  385. if ((prevPricelist != newPricelist) || (prevMrp != newMrp) || (prevExcise != newExcise) || (prevExcisePercent != newExcisePercent)) {
  386. itemList.push({
  387. PriceValueId: Number(element.find(".priceValueId").val()),
  388. ItemId: Number(element.find(".ItemId").val()),
  389. MrpId: Number(element.find(".MrpId").val()),
  390. ListPrice: newPricelist,
  391. Mrp: prevMrp,
  392. Excise: newExcise,
  393. ExcisePercent: newExcisePercent
  394. });
  395. }
  396. }
  397. if (itemList.length != 0) {
  398. Unibase.Apps.Transact.Controls.CreatePriceList.Instance().savechanges();
  399. }
  400. }
  401. ;
  402. savechanges() {
  403. var instance = this;
  404. instance.navigationHelper.showLoading();
  405. $(".tree").attr('disabled');
  406. var averageprice;
  407. if (Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_averageprice"; })[0].Value.toString() == "[object Object]") {
  408. averageprice = 0;
  409. }
  410. else {
  411. averageprice = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_averageprice"; })[0].Value;
  412. }
  413. var postData = {
  414. PriceListId: Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_pricelistid"; })[0].Value,
  415. PriceListName: Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_pricelistname"; })[0].Value,
  416. AveragePrice: averageprice,
  417. LobId: Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_lobid"; })[0].Value,
  418. PriceValues: itemList,
  419. CustomPrices: customPricesList,
  420. };
  421. Bizgaze.Apps.Transact.Managers.PriceListManager.Instance().postdatafilter(postData).then(function () {
  422. instance.navigationHelper.hideLoading();
  423. itemList = new Array();
  424. customPricesList = new Array();
  425. var searchtext = $("#txtSearchPriceListItem1").val();
  426. Unibase.Apps.Transact.Controls.CreatePriceList.Instance().getPriceCodesByLob(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_pricelistid"; })[0].Value, Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_lobid"; })[0].Value, (Number($("#gridPager2").find('.pagination').find(".active").text()) - 1), searchtext);
  427. });
  428. }
  429. ;
  430. getCustomPriceValues(element) {
  431. var priceListId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_pricelistid"; })[0].Value;
  432. if (element.find(".priceValueId").val() != undefined) {
  433. var ItemId = Number(element.find(".ItemId").val());
  434. var MrpId = element.find(".MrpId").val();
  435. var PriceCodePrices = element.find($('.PriceCodePrices'));
  436. var hfPriceCodePrices = element.find($('.hfPriceCodePrices'));
  437. for (var i = 0; i < PriceCodePrices.length; i++) {
  438. var prevPriceCodeValue = Number($(hfPriceCodePrices[i]).val());
  439. var newPriceCodeValue = Number($(PriceCodePrices[i]).val());
  440. if ((prevPriceCodeValue != newPriceCodeValue)) {
  441. var IdOfPriceCodetextbox = $(PriceCodePrices[i]).attr("id");
  442. var priceCodeId = IdOfPriceCodetextbox.replace("PriceForPricecode", "");
  443. var IdOfCustomPrice = $(PriceCodePrices[i]).attr("data-value");
  444. var customPriceId = IdOfCustomPrice.replace("cpid", "");
  445. customPricesList.push({
  446. CustomPriceId: Number(customPriceId),
  447. PriceCode: { PriceCodeId: Number(priceCodeId) },
  448. PriceValue: newPriceCodeValue,
  449. PriceList: { PriceListId: Number(priceListId) },
  450. ItemId: Number(ItemId),
  451. MrpId: Number(MrpId),
  452. PriceValueId: Number(element.find(".priceValueId").val())
  453. });
  454. if (element.find(".priceValueId").val() == 0) {
  455. itemList = [];
  456. itemList.push({
  457. PriceValueId: Number(element.find(".priceValueId").val()),
  458. ItemId: Number(element.find(".ItemId").val()),
  459. MrpId: Number(element.find(".MrpId").val()),
  460. ListPrice: Number(element.find(".listPrice").val()),
  461. Mrp: Number(element.find(".Mrp").val()),
  462. Excise: Number(element.find(".excise").val()),
  463. ExcisePercent: Number(element.find(".excisePercent").val())
  464. });
  465. }
  466. }
  467. }
  468. }
  469. if (customPricesList.length != 0) {
  470. Unibase.Apps.Transact.Controls.CreatePriceList.Instance().savechanges();
  471. }
  472. }
  473. ;
  474. editPriceList(pricelistid, lobid, lobname) {
  475. var page = pricelistid;
  476. pricelistid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_pricelistid"; })[0].Value);
  477. Bizgaze.Apps.Transact.Managers.PriceListManager.Instance().getpricelists(pricelistid).then(function (data) {
  478. var lobid = Number(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_lobid"; })[0].Value);
  479. Unibase.Apps.Transact.Controls.CreatePriceList.Instance().getPriceCodesByLob(lobid, pricelistid, page, "");
  480. data = data.result;
  481. if (data.ToDate == "NA") {
  482. $('#chk_IsToDateUndefined').prop('checked', true);
  483. $("#date_ToDate").val('dd/mm/yyyy');
  484. $("#date_ToDate").prop('disabled', true);
  485. }
  486. else {
  487. $("#date_ToDate").val();
  488. }
  489. if (data.IsUndefined == true)
  490. $('#date_ToDate').prop('disabled', true);
  491. else
  492. $('#date_ToDate').prop('disabled', false);
  493. $("#LobName").text(lobname);
  494. $("#PriceListName").text(data.PriceListName);
  495. });
  496. }
  497. ;
  498. closepopup(PriceCodeId, InstalledAppId, id) {
  499. var container = this;
  500. Unibase.Platform.Helpers.NavigationHelper.Instance().loadDetail(PriceCodeId, InstalledAppId, null);
  501. }
  502. exportList(PriceListId) {
  503. PriceListId = Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.find(x => x.Key == "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_pricelistid").Value;
  504. var instance = this;
  505. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('apps/transact/controls/pricelist/createpricelistitem.js', function () {
  506. Bizgaze.Apps.Transact.Managers.PriceListManager.Instance().exportList(PriceListId).then(function (response) {
  507. window.location.href = _appsettings.asset_url() + response.result.FullName;
  508. });
  509. });
  510. }
  511. refreshPriceValues(pricelistid, searchtext, result, data, page) {
  512. let itemList = [];
  513. let customPricesList = [];
  514. var lobdata = data;
  515. searchtext = (encodeURIComponent(encodeURIComponent(searchtext))).replace(/\%/g, '!');
  516. var tablewidth = 450;
  517. var headTagHtml = '<thead class="thead-light biz-list-header"><tr class="hidden-xs"><th class="text-left tbh biz-widget-list-header" style="text-align:center;white-space: nowrap;">Item Name (SKU) </th><th class="text-center tbh biz-widget-list-header" style="width:auto;text-align:center;white-space: nowrap;">MRP</th><th class="text-center tbh" style="display:none;text-align:center;">Excise</th><th class="text-center tbh" style="display:none;">Excise %</th><th class="text-center b tbh biz-widget-list-header" style="width:auto;text-align:center;white-space: nowrap;">List Price</th>';
  518. var priceCodesHeadHtml = "";
  519. var priceValueshtml = "";
  520. $("#divPriceValuesContainer").addClass("hidden");
  521. if (result._rows.length == 0) {
  522. $('.divNoData1').removeClass('hidden');
  523. $('.table-cont').addClass('hidden');
  524. $("#gridPager2").hide();
  525. $("#records").hide();
  526. if (searchtext == "" || searchtext == undefined) {
  527. $(".searching1").hide();
  528. }
  529. else {
  530. $('#tblPriceValues').addClass('hidden');
  531. $(".searching1").show();
  532. }
  533. }
  534. else {
  535. if (result._totalRecords > 10) {
  536. $("#gridPager2").show();
  537. $(".searching1").show();
  538. $("#records").show();
  539. }
  540. else {
  541. $("#gridPager2").hide();
  542. if (searchtext == "" || searchtext == undefined) {
  543. $(".searching1").hide();
  544. }
  545. else {
  546. $(".searching1").show();
  547. }
  548. }
  549. $('.divNoData1').addClass('hidden');
  550. $('#tblPriceValues').removeClass('hidden');
  551. for (var i = 0; i < data.length; i++) {
  552. priceCodesHeadHtml += '<th class="text-center tbh biz-widget-list-header" style="text-align:center;"><a class="default pricecodeName-link pricecodeName-link_new" style="text-decoration:underline" href="javascript:;" onclick=" javascript:return Unibase.Apps.Transact.Controls.CreatePriceList.Instance().closepopup(' + data[i].PriceCodeId + ',' + data[i].InstalledAppId + ',null);">' + data[i].PriceCodeName + '</a> </th>';
  553. tablewidth += 50;
  554. }
  555. for (var i = 0; i < result._rows.length; i++) {
  556. var priceCodesHtml = "";
  557. var data = result._rows[i];
  558. var itemname = data.Cells[1];
  559. priceValueshtml += '<tr class="value-row" id="editpl' + i + '" style="">' +
  560. '<td class="tbd" data-label="Item Name" style="text-align:left;padding-top: 5px;padding-bottom: 5px;font-size:13px;min-width:200px;max-width:300" class="text-sm ItemName m-l-xs">' + data.Cells[1] + '<small> <strong> (' + data.Cells[7] + ') </strong> </small> </label>' +
  561. '<input type="hidden" value="' + data.Cells[0] + '" class="priceValueId" />' +
  562. '<input type="hidden" value="' + data.Cells[9] + '" class="MrpId" />' +
  563. '<input type="hidden" value="' + data.Cells[2] + '" class="ItemId" /></div></td>' +
  564. '<td data-label="Mrp" class="text-center tbd" style="text-align:center; width:auto;height:26px;font-size:13px" ><span><a style="text-align:center;font-size:13px" id="tooltip" title="Click to add new MRP" class="Mrp no-border text-right" onclick="javascript:return Unibase.Apps.Transact.Controls.CreatePriceList.Instance().AssignPriceValue(' + data.Cells[9] + ', ' + data.Cells[2] + ', ' + data.Cells[0] + ',' + data.Cells[4] + '); " href="javascript: ; ">' + data.Cells[4] + '</a><input type="hidden" value="' + data.Cells[4] + '" class="hfMrp " /></span></td>' +
  565. '<td data-label="Excise" style="display:none;" class="tbd"><input type="text" style="width:auto;height:26px;font-size:13px" value="' + data.Cells[5] + '" class="excise no-border form-control text-right" /><input type="hidden" value="' + data.Cells[5] + '" class="hfExcise " /></td>' +
  566. '<td data-label="ExcisePercent" style="display:none;" class="tbd"><input type="text" style="width:100px;height:26px;font-size:13px" value="' + data.Cells[8] + '" class="excisePercent no-border form-control text-right" /><input type="hidden" value="' + data.Cells[8] + '" class="hfExcisePercent" /></td>' +
  567. '<td data-label="ListPrice" style="width:auto;font-size:13px;text-align:center;" class="tbd"><input type="text" style="text-align:center; width:auto;height:26px;font-size:13px" onchange="Unibase.Apps.Transact.Controls.CreatePriceList.Instance().getPriceValues($(editpl' + i + '))" value="' + data.Cells[3] + '" class="listPrice tree form-control decimal_numerics1 no-border text-right " /><input type="hidden" value="' + data.Cells[3] + '" class="hflistPrice " /></td>';
  568. if (data.Cells[6] != undefined) {
  569. var priceCodePrices = data.Cells[6].split(",");
  570. for (var j = 0; j < lobdata.length; j++) {
  571. var price = "0.00";
  572. var customPriceId = "cpid0";
  573. if (priceCodePrices != undefined) {
  574. if (priceCodePrices[j] != undefined) {
  575. var pricewithId = priceCodePrices[j].split(':');
  576. customPriceId = pricewithId[0];
  577. price = pricewithId[1];
  578. }
  579. }
  580. if ((price == undefined) || (price == "") || (price == "0")) {
  581. price = "0.00";
  582. }
  583. priceCodesHtml += '<td class="tbd" data-label="' + lobdata[j].PriceCodeName + '" style="text-align:center;"><input type="text" onchange="Unibase.Apps.Transact.Controls.CreatePriceList.Instance().getCustomPriceValues($(editpl' + i + '));" style="text-align:center;width:auto;height:26px;font-size:13px" data-value="' + customPriceId + '" value="' + price + '" class="decimal_numerics1 PriceCodePrices tree no-border text-right form-control" id="PriceForPricecode' + lobdata[j].PriceCodeId + '" placeholder="0.00" /><input type="hidden" value="' + price + '" class="hfPriceCodePrices" /></td>';
  584. }
  585. }
  586. priceValueshtml = priceValueshtml + priceCodesHtml + '</tr>';
  587. }
  588. var element = $(".tblItems");
  589. element.find(".pricecodeName-link_new").click(function () {
  590. });
  591. $("#club_plan_table").html(headTagHtml + priceCodesHeadHtml + "</tr></thead>" + '<tbody>' + priceValueshtml + '</tbody >');
  592. $(".tree").removeAttr("disabled");
  593. if (result._totalRecords > 10) {
  594. var add_itemcount = 0;
  595. $('#div_EstimateItems_pagination').removeClass('hidden');
  596. var totalCount = result._totalRecords;
  597. var startingValue = 0;
  598. var _count = 0;
  599. var t = (page + 1) * 10;
  600. if (totalCount > 0) {
  601. startingValue = 1;
  602. _count = totalCount;
  603. }
  604. if (totalCount > t)
  605. _count = t;
  606. if (page > 0) {
  607. startingValue += t - 10;
  608. }
  609. var res = startingValue + " - " + _count + " of " + result._totalRecords;
  610. $('#lblTotals').text("Total : " + res);
  611. var id = $('#gridPager2');
  612. id.pagination(result._totalRecords, 10, {
  613. callback: function (page, component) {
  614. Unibase.Apps.Transact.Controls.CreatePriceList.Instance().getPriceCodesByLob(Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_pricelistid"; })[0].Value, Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters.filter(function (o) { return o.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_lobid"; })[0].Value, page, "");
  615. }, current_page: page
  616. });
  617. }
  618. else {
  619. $('#lblTotals').text("Total : " + result._totalRecords);
  620. }
  621. }
  622. $("#divPriceValuesContainer").removeClass("hidden");
  623. $(".decimal_numerics1").keypress(function (key) {
  624. if (key.charCode < 46 || key.charCode > 58)
  625. return false;
  626. });
  627. }
  628. ;
  629. static Instance() {
  630. if (this._instance === undefined)
  631. this._instance = new Unibase.Apps.Transact.Controls.CreatePriceList();
  632. return this._instance;
  633. }
  634. }
  635. Controls.CreatePriceList = CreatePriceList;
  636. })(Controls = Transact.Controls || (Transact.Controls = {}));
  637. })(Transact = Apps.Transact || (Apps.Transact = {}));
  638. })(Apps = Unibase.Apps || (Unibase.Apps = {}));
  639. })(Unibase || (Unibase = {}));