Built files from Bizgaze WebServer
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

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 = {}));