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.component.js 26KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338
  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 Controls;
  17. (function (Controls) {
  18. class CouponPackage extends Unibase.Platform.Core.BaseComponent {
  19. constructor() {
  20. super(...arguments);
  21. this.packCount = 0;
  22. }
  23. init(formpropertyid, prop, callback) {
  24. var instance = this;
  25. this.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", null);
  26. instance.loadItems();
  27. $(".txtItemName").change(function () {
  28. $(".ddlPackCount option[value='1']").text(instance.packCount);
  29. $(".ddlPackCount option[value='1']").removeClass("hidden");
  30. $(".ddlPackCount option[value='2']").removeClass("hidden");
  31. $(".div_couponNo").addClass("hidden");
  32. $(".txt_packCount").val("");
  33. $(".txtCouponNo").val("");
  34. $(".div_couponNo").addClass("hidden");
  35. $(".div_packages").html("");
  36. instance.loadCoupons($(".txtItemName").val());
  37. });
  38. $(".ddlPackCount").change(function () {
  39. $(".txtCouponNo").val("");
  40. $(".div_couponNo").addClass("hidden");
  41. if ($(".ddlPackCount option:selected").val() == 2) {
  42. $(".div_manualPackCount").removeClass("hidden");
  43. }
  44. else {
  45. $(".div_manualPackCount").addClass("hidden");
  46. $(".txt_packCount").val("");
  47. }
  48. });
  49. $(".startScan").click(function () {
  50. $(".div_couponNo").removeClass("hidden");
  51. instance.addPackage();
  52. });
  53. $(".txtCouponNo").on("input", function (e) {
  54. if ($(".txtCouponNo").val().toString().length == 10) {
  55. instance.addPackageForCoupon("");
  56. }
  57. });
  58. $(".ddl_list").change(function () {
  59. if ($(".ddl_list option:selected").val() == 2) {
  60. $(".div_couponGenerateSecondaryQR").addClass("hidden");
  61. $(".div_QrData").removeClass("hidden");
  62. instance.loadSecondaryQrDeatils();
  63. }
  64. else {
  65. $(".div_couponGenerateSecondaryQR").removeClass("hidden");
  66. $(".div_QrData").addClass("hidden");
  67. }
  68. });
  69. $(".a_print").click(function () {
  70. Bizgaze.Apps.PayBacks.Controls.CouponPackage.Instance().print($(".hf_qrCode").val());
  71. });
  72. instance.loadControlSettings(prop.ControlJsonText, prop.FormPropertyId);
  73. instance.loadPropertySettings(prop.PropertySettings, prop.FormPropertyId);
  74. }
  75. loadControl(containerid, prop) {
  76. var instance = this;
  77. var html = `<div><div id="Unibase_ValidationSummary" class="clear mt-10"></div><input type="hidden" class="hf_qrCode" value="" id="hf_qrCode"/><div><div class="row"><strong id="formName" class="text-dark col-sm-10 formName">Coupon Generate Secondary QR</strong><div class="pull-right col-sm-2"><select id="ddl_list" class="ddl_list form-control value-control required floating-label-control" placeholder="Item Name *" data-placeholder="Select" data-label="Select" ><option value="1" selected>Generate</option><option value="2">List</option></select></div></div></div><div id="div_couponGenerateSecondaryQR" class="div_couponGenerateSecondaryQR"><div class="row"><div class="col-sm-3"><div class="floating-label-form-group-with-value"><label>Item Name<span class="text-danger " id="spnItemName"> *</span></label><input class="hf_ItemName" type="hidden" id="hf_ItemName"/><select class="form-control value-control required floating-label-control txtItemName" id="txtItemName" placeholder="Item Name *" data-placeholder="Select" data-label="Select" ></select></div></div><div class="col-sm-3"><div class="floating-label-form-group-with-value"><label for="ddlPackCount">Pack Count<span class="text-danger " id="spnPackCount"> *</span></label><select class="ddlPackCount form-control value-control required floating-label-control" id="ddlPackCount" placeholder="Select" data-placeholder="Select" data-label="Select"><option class="hidden" value="1">Select</option><option class="hidden" value="2">Others</option></select></div></div><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><input type="text" class="form-control required txt_packCount" id="txt_packCount" placeholder="Enter Pack Count" data-placeholder="Enter Pack Count" data-label="Pack Count"/></div></div><div class="col-sm-1 mt-30"><a id="startScan" class="startScan btn btn-primary text-white pull-right">Start Scan</a></div></div><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<span class="text-danger " id="spnCouponNo"> *</span></label><input class="form-control value-control required floating-label-control txtCouponNo" id="txtCouponNo" placeholder="Enter Coupon No" data-placeholder="Enter Coupon No" data-label="Coupon No *" maxlength="10"/></div></div><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><div class="card mt-30 col-sm-6"><div class="card-header"><strong>Coupon No</strong></div><div class="card-body div_packages" id="div_packages"></div></div></div></div><div class="card hidden col-sm-6 div_QrData" id="div_QrData"><div class="card-header"><div class="row"><div class="col-sm-5"><strong>Secondary QR Code</strong></div><div class="col-sm-3"><strong>Count</strong></div><div class="col-sm-2" id="div_printAllQrCodes"><a href="javascript:;" onclick="Bizgaze.Apps.PayBacks.Controls.CouponPackage.Instance().print();">Print All</a></div></div></div><div class="card-body div_secondayQRData" id="div_secondayQRData"></div></div>`;
  78. $("#" + containerid).html(html);
  79. instance.loadItems();
  80. }
  81. loadControlSettings(controlsettingjson, formpropertyid) {
  82. return null;
  83. }
  84. loadPropertySettings(propertysettings, formpropertyid) {
  85. return null;
  86. }
  87. bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
  88. return null;
  89. }
  90. load() {
  91. var instance = this;
  92. $("txtItemName").change(function () {
  93. $(".ddlPackCount option[value='1']").text(instance.packCount);
  94. $(".ddlPackCount option[value='1']").removeClass("hidden");
  95. $(".ddlPackCount option[value='2']").removeClass("hidden");
  96. $("#div_couponNo").addClass("hidden");
  97. $(".txt_packCount").val("");
  98. $("#txtCouponNo").val("");
  99. $("#div_couponNo").addClass("hidden");
  100. $("#div_packages").html("");
  101. instance.loadCoupons($("#txtItemName").val());
  102. });
  103. $(".ddlPackCount").change(function () {
  104. $("#txtCouponNo").val("");
  105. $("#div_couponNo").addClass("hidden");
  106. if ($(".ddlPackCount option:selected").val() == 2) {
  107. $("#div_manualPackCount").removeClass("hidden");
  108. }
  109. else {
  110. $("#div_manualPackCount").addClass("hidden");
  111. $("#txt_packCount").val("");
  112. }
  113. });
  114. $("#startScan").click(function () {
  115. $("#div_couponNo").removeClass("hidden");
  116. instance.addPackage();
  117. });
  118. $("#txtCouponNo").keypress(function () {
  119. if ($("#txtCouponNo").val().toString().length == 10) {
  120. instance.addPackageForCoupon("");
  121. }
  122. });
  123. $("#ddl_list").change(function () {
  124. if ($("#ddl_list option:selected").val() == 2) {
  125. $("#div_couponGenerateSecondaryQR").addClass("hidden");
  126. $("#div_QrData").removeClass("hidden");
  127. instance.loadSecondaryQrDeatils();
  128. }
  129. else {
  130. $("#div_couponGenerateSecondaryQR").removeClass("hidden");
  131. $("#div_QrData").addClass("hidden");
  132. }
  133. });
  134. $("#a_print").click(function () {
  135. Bizgaze.Apps.PayBacks.Controls.CouponPackage.Instance().print($("hf_qrCode").val());
  136. });
  137. }
  138. loadCoupons(result) {
  139. return __awaiter(this, void 0, void 0, function* () {
  140. var instance = this;
  141. instance.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", null);
  142. yield Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getScannedCouponsByItem(Number($(".txtItemName").val()), 0).then(function (response) {
  143. return __awaiter(this, void 0, void 0, function* () {
  144. var data = JSON.parse(response.result);
  145. var html = "";
  146. for (var i = 0; i < data.length; i++) {
  147. html += '<div class="added-row row div_coupon_' + data[i].couponno + '"><div class="col-sm-4">' + data[i].couponno + '</div><div class="col-sm-1 mt-2"><a href="javascript:;" class="pull-right btn-danger btn-sm fa fa-trash mt-6 delete-package" id="deletePackage" href="javascript:;" onclick="Bizgaze.Apps.PayBacks.Controls.CouponPackage.Instance().removePackageForCoupon(\'' + data[i].couponno + '\');"></a></div></div>';
  148. }
  149. $(".div_packages").html(html);
  150. });
  151. });
  152. });
  153. }
  154. deletePackage(PackageId) {
  155. return __awaiter(this, void 0, void 0, function* () {
  156. var instance = this;
  157. instance.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", null);
  158. if (confirm("Are you sure you want to delete")) {
  159. yield Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().deletePackage(PackageId).then(function (response) {
  160. instance.loadSecondaryQrDeatils();
  161. MessageHelper.Instance().showSuccess(response.message, "Unibase_ValidationSummary");
  162. });
  163. }
  164. });
  165. }
  166. removePackageForCoupon(couponNo) {
  167. return __awaiter(this, void 0, void 0, function* () {
  168. var instance = this;
  169. instance.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", null);
  170. if (confirm("Are you sure you want to delete")) {
  171. yield Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().removePackageForCoupon(couponNo, 0).then(function (response) {
  172. $(".div_packages").html("");
  173. instance.loadCoupons($(".txtItemName").val());
  174. MessageHelper.Instance().showSuccess(response.message, "");
  175. });
  176. }
  177. });
  178. }
  179. loadItems() {
  180. var instance = this;
  181. var url = _appsettings.server_url() + '/apis/v4/unibase/transact/items/autocomplete';
  182. AutoCompleteHelper.getHelper().Create($(".txtItemName"), $(".hf_ItemName"), url, function (response) {
  183. instance.packCount = response.addlData;
  184. });
  185. }
  186. addPackage() {
  187. var instance = this;
  188. instance.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", function () {
  189. Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getPackageByItem(Number($(".txtItemName").val())).then(function (response) {
  190. var data = JSON.parse(response.result);
  191. if (data.length == 0) {
  192. var postData = {
  193. CouponPackageId: Number(0),
  194. ItemId: Number($(".txtItemName").val()),
  195. PackageQuantity: Number(0),
  196. PackageNumber: "",
  197. IsPacked: false
  198. };
  199. Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().savePackage(postData).then(function (response) {
  200. });
  201. }
  202. });
  203. });
  204. }
  205. addPackageForCoupon(data) {
  206. return __awaiter(this, void 0, void 0, function* () {
  207. var instance = this;
  208. instance.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", null);
  209. var couponCount = 0;
  210. if ($(".ddlPackCount option:selected").val() == 2) {
  211. couponCount = Number($(".txt_packCount").val());
  212. }
  213. else {
  214. couponCount = Number($(".ddlPackCount option:selected").text());
  215. }
  216. if ($(".div_packages").find(".added-row").length >= couponCount) {
  217. eval("unibase_tenants_themes_notificationrefresh.playAudio()");
  218. MessageHelper.Instance().showError("Coupon count is cannot be greater than pack count", $("#form-container-" + $("#hf_FormId").val()).find(".bizgaze_FormErrorMessages").attr('id'));
  219. $(".div_couponPrint").removeClass("hidden");
  220. return false;
  221. }
  222. else {
  223. var obj = {
  224. ItemId: Number($(".txtItemName").val()),
  225. CouponNo: $(".txtCouponNo").val().toString()
  226. };
  227. yield Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().updateCoupon(obj).then(function (response) {
  228. return __awaiter(this, void 0, void 0, function* () {
  229. if (response.result != null) {
  230. eval("unibase_tenants_themes_notificationrefresh.playAudio()");
  231. $(".div_packages").html("");
  232. yield instance.loadCoupons($(".txtItemName").val());
  233. var couponresponse = response.result;
  234. var couponCount = 0;
  235. var postData = {
  236. PackageQuantity: Number($(".div_packages").find(".added-row").length),
  237. ItemId: Number($(".txtItemName").val()),
  238. PackageNumber: "",
  239. IsPacked: false,
  240. CouponPackageId: Number(couponresponse.CouponPackageId)
  241. };
  242. if ($(".ddlPackCount option:selected").val() == 2) {
  243. couponCount = Number($(".txt_packCount").val());
  244. }
  245. else {
  246. couponCount = Number($(".ddlPackCount option:selected").text());
  247. }
  248. var serialNo = moment().unix().toString();
  249. if ($(".div_packages").find(".added-row").length == couponCount) {
  250. postData.PackageNumber = serialNo;
  251. postData.IsPacked = true;
  252. $(".hf_qrCode").val(serialNo);
  253. }
  254. yield Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().updatePackage(postData).then(function (response) {
  255. if (response.errors == null) {
  256. if (response.result.IsPacked == true) {
  257. $(".div_couponPrint").removeClass("hidden");
  258. }
  259. }
  260. else {
  261. MessageHelper.Instance().showError(response.message, $("#form-container-" + $("#hf_FormId").val()).find(".bizgaze_FormErrorMessages").attr('id'));
  262. return false;
  263. }
  264. });
  265. }
  266. else {
  267. MessageHelper.Instance().showError(response.message, $("#form-container-" + $("#hf_FormId").val()).find(".bizgaze_FormErrorMessages").attr('id'));
  268. eval("unibase_tenants_themes_notificationrefresh.playAudio()");
  269. return false;
  270. }
  271. });
  272. });
  273. }
  274. });
  275. }
  276. loadSecondaryQrDeatils() {
  277. var instance = this;
  278. instance.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", function () {
  279. Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getPackages().then(function (response) {
  280. var html = "";
  281. var data = response.result;
  282. for (var i = 0; i < data.length; i++) {
  283. html += '<div class="added-row row mt-1"><div class="col-sm-5"><a href="javascript:;" onclick="Bizgaze.Apps.PayBacks.Controls.CouponPackage.Instance().loadCouponsByQR(\'' + data[i].PackageNumber + '\');">' + data[i].PackageNumber + '</a></div><div class="col-sm-3">' + data[i].PackageQuantity + '</div><div class="col-sm-2"><a href="javascript:; "onclick="Bizgaze.Apps.PayBacks.Controls.CouponPackage.Instance().print(\'' + data[i].PackageNumber + '\');" class="btn btn-primary text-white pull-right">Print</a></div><div class="col-sm-2 mt-2"><a href="javascript:;" class="pull-right btn-danger btn-sm fa fa-trash mt-6 delete-package" id="deletePackage" href="javascript:;" onclick="Bizgaze.Apps.PayBacks.Controls.CouponPackage.Instance().deletePackage(' + data[i].CouponPackageId + ');"></a></div><div id="div_couponDetails_' + data[i].PackageNumber + '" class="col-sm-12 div_couponDetails_' + data[i].PackageNumber + '"></div></div>';
  284. }
  285. $(".div_secondayQRData").html(html);
  286. });
  287. });
  288. }
  289. loadCouponsByQR(serialNo) {
  290. var instance = this;
  291. instance.fileCacheHelper.loadJsFile("apps/paybacks/managers/schememanager.js", function () {
  292. var html = "";
  293. if (!$(".div_couponDetails_" + serialNo).hasClass("expanded")) {
  294. Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getCouponsBySerialNo(serialNo).then(function (response) {
  295. var data = JSON.parse(response.result);
  296. html += "<div class='header'><div class='col-sm-3'><strong>Coupon no</strong></div></div><div class=''>";
  297. for (var i = 0; i < data.length; i++) {
  298. html += '<div class="col-sm-3">' + data[i].couponno + '</div>';
  299. }
  300. html += "</div>";
  301. $(".div_couponDetails_" + serialNo).html(html);
  302. $(".div_couponDetails_" + serialNo).addClass("expanded");
  303. });
  304. }
  305. else {
  306. $(".div_couponDetails_" + serialNo).html("");
  307. $(".div_couponDetails_" + serialNo).removeClass("expanded");
  308. }
  309. });
  310. }
  311. print(serialNo) {
  312. return __awaiter(this, void 0, void 0, function* () {
  313. yield Bizgaze.Apps.Paybacks.Managers.SchemeManager.Instance().getSecondaryQrCodeBySerialNo(serialNo).then(function (response) {
  314. var data = JSON.parse(response.result);
  315. var html = "";
  316. for (var i = 0; i < data.length; i++) {
  317. html += "<tr><td>" + data[i][1] + "</td><td>" + data[i][0] + "</td></tr>";
  318. }
  319. var mywindow = window.open('', 'my Print', 'height=400,width=850');
  320. var printhtml = '<table id="divPrint" class="printDataN"><thead><th>Serial No</th><th>Qr Code</th></thead><tbody>' + html + '</tbody></table>';
  321. 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>';
  322. content += printhtml;
  323. content += "<script>print();</script>";
  324. content += '</body></html>';
  325. mywindow.document.write(content);
  326. return true;
  327. });
  328. });
  329. }
  330. static Instance() {
  331. return new CouponPackage();
  332. }
  333. }
  334. Controls.CouponPackage = CouponPackage;
  335. })(Controls = PayBacks.Controls || (PayBacks.Controls = {}));
  336. })(PayBacks = Apps.PayBacks || (Apps.PayBacks = {}));
  337. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  338. })(Bizgaze || (Bizgaze = {}));