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.

couponpackage.js 29KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390
  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 Bizgaze;
  11. (function (Bizgaze) {
  12. let Apps;
  13. (function (Apps) {
  14. let Paybacks;
  15. (function (Paybacks) {
  16. let Components;
  17. (function (Components) {
  18. class CouponPackage extends Unibase.Platform.Core.BaseComponent {
  19. constructor() {
  20. super(...arguments);
  21. this.packCount = 0;
  22. this.itemId = 0;
  23. this.couponPackageId = 0;
  24. this.packagequantity = 0;
  25. this.isPacked = false;
  26. }
  27. cssFiles() {
  28. return [];
  29. }
  30. jsFiles() {
  31. return ["apps/paybacks/components/couponpackage.js", "apps/paybacks/managers/schememanager.js", "tenants/themes/default/components/details/details.js", "apps/transact/managers/inventory/itemmanager.js", "tenants/themes/default/notificationrefresh.js", "apps/paybacks/components/secondaryqrcodedetails.js"
  32. ];
  33. }
  34. init(containerid) {
  35. var instance = this;
  36. for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
  37. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_itemid") {
  38. instance.itemId = Number(obj.Value);
  39. }
  40. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_couponpackageid") {
  41. instance.couponPackageId = Number(obj.Value);
  42. }
  43. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "ispacked") {
  44. instance.isPacked = Boolean(obj.Value);
  45. }
  46. }
  47. instance.fileCacheHelper.loadJsFiles(["apps/paybacks/components/couponpackage.js", "apps/paybacks/managers/schememanager.js", "tenants/themes/default/components/details/details.js", "platform/core/helpers/datetimehelper/datetimehelper.js", "tenants/themes/default/notificationrefresh.js"], function () {
  48. instance.navigationHelper.loadSection(0, containerid, Bizgaze.Apps.Paybacks.Components.CouponPackage.Instance(), null, null);
  49. });
  50. }
  51. html(id, containerid) {
  52. var html = `<div id="Unibase_ValidationSummary" class="clear"></div>
  53. <div class="col-lg-12"><div class="Border"><div class="cardbody">
  54. <div class="div_portletwidget" id="div_portletwidget"><div id="widget_details" class="card shadow-hover">
  55. <div class="card-header card-header-action"><span class="" id="hf-widget-title">Generate Secondary QR Code</span> <select id="ddl_couponpackage"><option value="1">Package</option><option value="2">Packed List</option></select></div>
  56. <div class="card-body pt-5">
  57. <input type="hidden" id="hf_couponpackageid" value="0">
  58. <div class="div_packageCountDetails">
  59. <div class="row" id="div_PackCount"><div class="col-sm-3"><div class="floating-label-form-group-with-value">
  60. <label for="ddlPackCount">Boxes Per Carton<span class="text-danger " id="spnPackCount"> *</span></label>
  61. <select class="ddlPackCount form-control value-control required floating-label-control" id="ddlPackCount" placeholder="Select" data-placeholder="Select" data-label="Select"><option value="1">Select</option><option value="2">Others</option></select></div></div>
  62. <div class="col-sm-3 hidden div_manualPackCount" id="div_manualPackCount"><div class="floating-label-form-group"><label for="txt_packCount">Pack Count<span class="text-danger " id=""> *</span></label>
  63. <input type="text" class="form-control required txt_packCount floating-label-control" id="txt_packCount" placeholder="Pack Count *" data-placeholder="Enter Pack Count" data-label="Pack Count"/></div></div>
  64. <div class="col-sm-2 mt-30"><a id="startScan" class="startScan btn btn-primary text-white pull-right">Start Scan</a></div></div>
  65. <div id="div_couponNo" class="div_couponNo hidden row mt-30"><div class="col-sm-4"><div class="floating-label-form-group"><label>Coupon No</label><input class="form-control value-control required floating-label-control txt_CouponExternalUIN" id="txt_CouponExternalUIN" placeholder="Coupon No" data-placeholder="Enter Coupon No" data-label="Coupon No" maxlength="100"/></div></div>
  66. <div class="col-sm-1 hidden div_couponPrint" id="div_couponPrint"><a class="a_print btn btn-primary text-white pull-right" id="a_print" href="javascript:;">Print</a></div></div>
  67. </div><ul id="ul_CouponPackage_Details" class="CouponPackageCount mt-10">
  68. <li class="list-group-item bg-cyan-light-4" id="Couponpacking_Heading">
  69. <div class="row">
  70. <div class="col-sm-4"><strong>Outer QR Code</strong></div>
  71. <div class="col-sm-4"><strong>Secondary QR Code</strong></div>
  72. <div class="col-sm-4"><strong>Action</strong></div>
  73. </div>
  74. </li>
  75. <li class="length-row" id="ScannedCouponsPacking_Details_HiddenRow" class="CouponPacking"></li>
  76. </ul><ul id="ul_PackingList_Details" class="CouponPackingList mt-10 hidden">
  77. <li class="list-group-item bg-light-4" id="CouponPackedList_Heading">
  78. <div class="row">
  79. <div class="col-sm-3"><strong>Coupon ID</strong></div>
  80. <div class="col-sm-2"><strong>Coupon Value</strong></div>
  81. <div class="col-sm-3"><strong>Created Date</strong></div>
  82. <div class="col-sm-2"><strong>Created By</strong></div>
  83. <div class="col-sm-2" id="div_printAllQrCodes"><a class="a_printallpackedcouponqrcodes pull-right" id="a_printallpackedcouponqrcodes" href="javascript:;">Print <i class="fa fa-print"></i></a></div>
  84. </div>
  85. </li>
  86. <li class="length-row" id="CouponPackingList_Details_HiddenRow"></li>
  87. </ul></div></div></div></div>
  88. </div></div></div>`;
  89. return html;
  90. }
  91. load(id, containerid, callback) {
  92. return __awaiter(this, void 0, void 0, function* () {
  93. var instance = this;
  94. for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
  95. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_itemid") {
  96. instance.itemId = Number(obj.Value);
  97. }
  98. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_couponpackageid") {
  99. instance.couponPackageId = Number(obj.Value);
  100. }
  101. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_ispacked") {
  102. instance.isPacked = Boolean(obj.Value);
  103. }
  104. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_packagequantity") {
  105. instance.packagequantity = Number(obj.Value);
  106. }
  107. }
  108. this.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", null);
  109. $(".ddlPackCount option[value='1']").text(instance.packagequantity);
  110. $(".ddlPackCount").change(function () {
  111. $(".txt_CouponExternalUIN").val("");
  112. $(".div_couponNo").addClass("hidden");
  113. if ($(".ddlPackCount option:selected").val() == 2) {
  114. $(".div_manualPackCount").removeClass("hidden");
  115. $("#txt_packCount").addClass("required");
  116. $("#txt_packCount").prop("readonly", false);
  117. }
  118. else {
  119. $(".div_manualPackCount").addClass("hidden");
  120. $(".txt_packCount").val("");
  121. $("#txt_packCount").removeClass("required");
  122. }
  123. });
  124. $("#hf_couponpackageid").val(instance.couponPackageId);
  125. $("#ddl_couponpackage").change(function () {
  126. if ($("#ddl_couponpackage option:selected").val() == 2) {
  127. $(".div_packageCountDetails").addClass("hidden");
  128. $(".CouponPackageCount").addClass("hidden");
  129. $(".CouponPackingList").removeClass("hidden");
  130. Bizgaze.Apps.Paybacks.Components.CouponPackage.Instance().loadcouponPackedList($("#hf_couponpackageid").val());
  131. }
  132. else {
  133. $(".div_packageCountDetails").removeClass("hidden");
  134. $(".CouponPackageCount").removeClass("hidden");
  135. $(".CouponPackingList").addClass("hidden");
  136. }
  137. });
  138. if (instance.isPacked == true) {
  139. $("#startScan").addClass("hidden");
  140. $(".div_couponPrint").removeClass("hidden");
  141. $("#ddlPackCount").attr('disabled', 'disabled');
  142. }
  143. $(".startScan").click(function () {
  144. $(".div_couponNo").removeClass("hidden");
  145. $("#txt_packCount").prop("readonly", true);
  146. instance.updatePackageQuantity();
  147. });
  148. $(".a_print").click(function () {
  149. Bizgaze.Apps.Paybacks.Components.SecondaryQrCodeDetails.Instance().print($(".hf_qrCode").val());
  150. });
  151. $(".a_printallpackedcouponqrcodes").click(function () {
  152. Bizgaze.Apps.Paybacks.Components.CouponPackage.Instance().printallpackedcouponqrcodes($("#hf_couponpackageid").val());
  153. });
  154. $(".txt_CouponExternalUIN").on("input", function (e) {
  155. if ($(".txt_CouponExternalUIN").val().toString().length > 0) {
  156. instance.updateCouponPackage($(".txt_CouponExternalUIN").val());
  157. }
  158. });
  159. });
  160. }
  161. loadcouponPackedList(Couponpackageid) {
  162. var instance = this;
  163. Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getPackedCoupons(Couponpackageid).then(function (response) {
  164. var data = response.result;
  165. var html = '';
  166. if (data.length > 0) {
  167. for (var i = 0; i < data.length; i++) {
  168. var len = $('.length-row').length;
  169. var _datetimehelper = Unibase.Platform.Helpers.DateTimeHelper.Instance();
  170. html += '<li class="PackedCouponlist-row length-row list-group-item" id="PackedCoupons_' + len + '" >' +
  171. '<input type="hidden" id="hf_pk_value" value="' + data[i].CouponId + '">' +
  172. '<input type="hidden" id="hf_CouponPackageId" value="' + data[i].CouponPackageId + '">' +
  173. '<div class="row"><div class="col-sm-3" ><span>' + data[i].CouponNo + '</span>' +
  174. '</div>' +
  175. '<div class="col-sm-2">' +
  176. '<span>' + data[i].CouponValue + '</span></div>' +
  177. '<div class="col-sm-3">' +
  178. '<span>' + _datetimehelper.formatLocalDate1(data[i].CreatedDate, '') + '</span>' +
  179. '</div>' +
  180. '<div class="col-sm-2">' +
  181. '<span>' + data[i].CreatedbyName + '</span>' +
  182. '</div>' +
  183. '</div>' +
  184. '</li>';
  185. }
  186. $("#CouponPackingList_Details_HiddenRow").empty();
  187. $('#CouponPackingList_Details_HiddenRow').append(html);
  188. }
  189. });
  190. }
  191. updatePackageQuantity() {
  192. var instance = this;
  193. var couponCount = 0;
  194. var postData = {
  195. PackageQuantity: Number(couponCount),
  196. CouponPackageId: Number(instance.couponPackageId),
  197. IsPacked: false,
  198. };
  199. if ($(".ddlPackCount option:selected").val() == 2) {
  200. couponCount = Number($(".txt_packCount").val());
  201. }
  202. else {
  203. couponCount = Number($(".ddlPackCount option:selected").text());
  204. }
  205. postData.PackageQuantity = couponCount;
  206. if (instance.isPacked == true) {
  207. postData.IsPacked = true;
  208. }
  209. Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().updatePackage(postData).then(function (response) {
  210. $(".hf_qrCode").val(response.result.Result.PackageNumber);
  211. });
  212. }
  213. loadCoupons(itemId) {
  214. return __awaiter(this, void 0, void 0, function* () {
  215. var packageNumber = "";
  216. for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
  217. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_packagenumber") {
  218. packageNumber = obj.Value;
  219. }
  220. }
  221. var instance = this;
  222. instance.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", null);
  223. yield Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getScannedCouponsByItem(itemId, instance.couponPackageId).then(function (response) {
  224. return __awaiter(this, void 0, void 0, function* () {
  225. var data = JSON.parse(response.result);
  226. var html = "";
  227. for (var i = 0; i < data.length; i++) {
  228. var len = $('.length-row').length;
  229. var _datetimehelper = Unibase.Platform.Helpers.DateTimeHelper.Instance();
  230. html += '<li class="ScannedCouponslist-row length-row list-group-item" id="ScannedCoupons_' + len + '" >' +
  231. '<input type="hidden" id="hf_pk_value" value="' + data[i].couponid + '">' +
  232. '<input type="hidden" id="hf_CouponPackageId" value="' + data[i].couponpackageid + '">' +
  233. '<div class="row"><div class="col-sm-4" ><span>' + data[i].externaluin + '</span>' +
  234. '</div>' +
  235. '<div class="col-sm-4">' +
  236. '<span>' + packageNumber + '</span></div>' +
  237. '<div class="col-sm-4">' +
  238. '<span><a href="javascript:;" class="btn-danger btn-sm fa fa-trash mt-6 delete-package" id="deletePackage" href="javascript:;" onclick="Bizgaze.Apps.Paybacks.Components.CouponPackage.Instance().removePackageForCoupon(\'' + data[i].externaluin + '\');"></a></span>' +
  239. '</div>' +
  240. '</div>' +
  241. '</li>';
  242. }
  243. $("#ScannedCouponsPacking_Details_HiddenRow").empty();
  244. $('#ScannedCouponsPacking_Details_HiddenRow').append(html);
  245. });
  246. });
  247. });
  248. }
  249. updateCouponPackage(couponexternaluin) {
  250. return __awaiter(this, void 0, void 0, function* () {
  251. var instance = this;
  252. instance.fileCacheHelper.loadJsFiles(["apps/paybacks/managers/schememanager.js", "tenants/themes/default/notificationrefresh.js"], null);
  253. var couponCount = 0;
  254. if ($(".ddlPackCount option:selected").val() == 2) {
  255. couponCount = Number($(".txt_packCount").val());
  256. }
  257. else {
  258. couponCount = Number($(".ddlPackCount option:selected").text());
  259. }
  260. if ($("#ScannedCouponsPacking_Details_HiddenRow").find(".length-row").length >= couponCount) {
  261. eval("unibase_tenants_themes_notificationrefresh.playAudio()");
  262. MessageHelper.Instance().showError("Coupon count cannot be greater than pack count", "Unibase_ValidationSummary");
  263. return false;
  264. }
  265. else {
  266. var obj = {
  267. ItemId: instance.itemId,
  268. ExternalUIN: $(".txt_CouponExternalUIN").val().toString(),
  269. CouponPackageId: instance.couponPackageId
  270. };
  271. yield Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().updateCoupon(obj).then(function (response) {
  272. return __awaiter(this, void 0, void 0, function* () {
  273. if (response.result != null) {
  274. eval("unibase_tenants_themes_notificationrefresh.playAudio()");
  275. $(".txt_CouponExternalUIN").val('');
  276. yield instance.loadCoupons(instance.itemId);
  277. var couponCount = 0;
  278. var postData = {
  279. PackageQuantity: Number(0),
  280. ItemId: Number(instance.itemId),
  281. IsPacked: false,
  282. CouponPackageId: Number(instance.couponPackageId)
  283. };
  284. if ($(".ddlPackCount option:selected").val() == 2) {
  285. couponCount = Number($(".txt_packCount").val());
  286. }
  287. else {
  288. couponCount = Number($(".ddlPackCount option:selected").text());
  289. }
  290. postData.PackageQuantity = couponCount;
  291. if ($("#ScannedCouponsPacking_Details_HiddenRow").find(".length-row").length >= couponCount) {
  292. postData.IsPacked = true;
  293. }
  294. yield Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().updatePackage(postData).then(function (response) {
  295. if (response.result.Errors == null) {
  296. if (response.result.Result.IsPacked == true) {
  297. $(".hf_qrCode").val(response.result.Result.PackageNumber);
  298. $(".div_couponPrint").removeClass("hidden");
  299. $("#startScan").addClass("hidden");
  300. }
  301. }
  302. else {
  303. MessageHelper.Instance().showError(response.message, "Unibase_ValidationSummary");
  304. return false;
  305. }
  306. });
  307. }
  308. else {
  309. MessageHelper.Instance().showError(response.message, "Unibase_ValidationSummary");
  310. eval("unibase_tenants_themes_notificationrefresh.playAudio()");
  311. return false;
  312. }
  313. });
  314. });
  315. }
  316. });
  317. }
  318. removePackageForCoupon(couponNo) {
  319. return __awaiter(this, void 0, void 0, function* () {
  320. var instance = this;
  321. for (let obj of Unibase.Themes.Providers.Detail_Settings.Instance().InputParameters) {
  322. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_itemid") {
  323. instance.itemId = Number(obj.Value);
  324. }
  325. if (obj.Key === "hf_" + Unibase.Themes.Providers.DetailHelper.installedAppId + "_couponpackageid") {
  326. instance.couponPackageId = Number(obj.Value);
  327. }
  328. }
  329. instance.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", null);
  330. bootbox.confirm("Are You Sure You Want to delete ?", function (result) {
  331. if (result == true) {
  332. Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().removePackageForCoupon(couponNo, instance.couponPackageId).then(function (response) {
  333. MessageHelper.Instance().showSuccess(response.message, "");
  334. instance.loadCoupons(instance.itemId);
  335. $("#startScan").removeClass("hidden");
  336. });
  337. }
  338. });
  339. });
  340. }
  341. printallpackedcouponqrcodes(packageid) {
  342. return __awaiter(this, void 0, void 0, function* () {
  343. var instance = this;
  344. instance.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", function () {
  345. Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getAllPackedCouponsQrCodes(packageid).then(function (response) {
  346. var data = JSON.parse(response.result);
  347. var html = "";
  348. for (var i = 0; i < data.length; i++) {
  349. html += "<tr><td>" + data[i][1] + "</td><td>" + data[i][0] + "</td></tr>";
  350. }
  351. var mywindow = window.open('', 'my Print', 'height=400,width=850');
  352. var printhtml = '<table style="margin-left:auto;margin-right:auto;" id="divPrint" class="printDataN"><thead><th>Coupon Number</th><th>Qr Code</th></thead><tbody>' + html + '</tbody></table>';
  353. var content = '<html><head><title>Print</title><link rel="stylesheet" href="lib/bizgaze/print.css" /><link rel="stylesheet" href="lib/bootstrap/bootstrap-theme.min.css" /></head><body>';
  354. content += printhtml;
  355. content += "<script>print();</script>";
  356. content += '</body></html>';
  357. mywindow.document.write(content);
  358. return true;
  359. });
  360. });
  361. });
  362. }
  363. print(serialNo) {
  364. return __awaiter(this, void 0, void 0, function* () {
  365. yield Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getSecondaryQrCodeBySerialNo(serialNo).then(function (response) {
  366. var data = JSON.parse(response.result);
  367. var html = "";
  368. for (var i = 0; i < data.length; i++) {
  369. html += "<tr><td>" + data[i][1] + "</td><td>" + data[i][0] + "</td></tr>";
  370. }
  371. var mywindow = window.open('', 'my Print', 'height=400,width=850');
  372. var printhtml = '<table id="divPrint" class="printDataN"><thead><th>Serial No</th><th>Qr Code</th></thead><tbody>' + html + '</tbody></table>';
  373. var content = '<html><head><title>Print</title><link rel="stylesheet" href="lib/bizgaze/print.css" /><link rel="stylesheet" href="lib/bootstrap/bootstrap-theme.min.css" /></head><body>';
  374. content += printhtml;
  375. content += "<script>print();</script>";
  376. content += '</body></html>';
  377. mywindow.document.write(content);
  378. return true;
  379. });
  380. });
  381. }
  382. static Instance() {
  383. return new CouponPackage();
  384. }
  385. }
  386. Components.CouponPackage = CouponPackage;
  387. })(Components = Paybacks.Components || (Paybacks.Components = {}));
  388. })(Paybacks = Apps.Paybacks || (Apps.Paybacks = {}));
  389. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  390. })(Bizgaze || (Bizgaze = {}));