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