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.

batch.js 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. var Bizgaze;
  2. (function (Bizgaze) {
  3. let Apps;
  4. (function (Apps) {
  5. let Transact;
  6. (function (Transact) {
  7. let Controls;
  8. (function (Controls) {
  9. class Batch extends Unibase.Platform.Core.BaseComponent {
  10. constructor() {
  11. super(...arguments);
  12. this.rowlength = 0;
  13. }
  14. jsFiles() {
  15. return ['apps/transact/controls/pricelist/mrp.js', 'apps/transact/controls/pricelist/managers/pricelistmanager.js'];
  16. }
  17. cssFiles() {
  18. return [];
  19. }
  20. html(id, containerid) {
  21. var html = '<form id="frm_Bizgazetransact_createBatch" default method="post" data-validate="parsley" class="w-f bg-white" data-isdynamic="false"><header class="bg-white modal-header pa-10"><strong class="text-dark titlename" >Create Batch</strong><div class="btn-group ml-auto"><a class="btn btn-sm"><i class="ti-help-alt" title = "help" href = "" target = "_blank"></i></a></div></header>' +
  22. '<div style="overflow-x:hidden;" class="scrollable"><div id = "bizgaze_BatchErrorMessages" class="clear"></div><div class="card mt-5" ><div class="card-body"> <div class="row" style="overflow-x:hidden;"><div class="col-sm-6"><div class="floating-label-form-group" id = "div_MRP" ><label for= "txt_BatchNo" id = "lbl_BatchNo" >Batch Number<span class= "text-danger" >*</span></label><div class= "input-group" ><input type="text" class="form-control required floating-label-control decimal_numericsvalue" id = "txt_BatchNo" data - isdynamic="false" placeholder = "Batch No. *" style = "width:1200px" data-placeholder="Enter Batch No *" data-label="Batch No *" /><input type="hidden" id = "hf_batch" value = "">' +
  23. '<label for= "Validation" id = "lblValidation_Batch" ></label><input type = "hidden" id = "hfFormPropertyId" /></div></div></div><div class="col-sm-6"><label for="lbl" id="lbl_MRPid">MRP<span class="text-danger hide " id="spnIsRequired"> *</span></label><div class="input-group"><select type = "text" class="txtAutoComplete_MRP required form-control ui-autocomplete" data-required="true" value = "" id = "txtAutoComplete_MRP" placeholder = "Select MRP" style = "width:100%;"></select>' +
  24. '<input type = "hidden" id = "hf_MrpId"><label for= "Validation" id = "lblValidation_MRP"></label><input type = "hidden" id = "hfFormPropertyId" /></div>' +
  25. '</div><div class="col-sm-12"><div class="row"><div class="col-sm-6"><div class="floating-label-form-group floating-label-form-group-with-value" id = "div_PackedDate"><label for= "txt_PackedDate" id = "lbl_PackedDate">Packed Date <span class="text-danger">*</span></label><div class="input-group"><input type="text" id="txt_PackedDate" class="form-control value-control datepicker-input hasDatepicker" placeholder = "dd/mm/yyyy" data - isdynamic="false" data-placeholder="dd/mm/yyyy" data - label="dd/mm/yyyy" >' +
  26. '<span class="input-group-addon bg-white no-border spndate"><a href="#"><i class="fa fa-calendar"></i></a></span><input type = "hidden" id = "hf_PackedDate" /><label for= "Validation" id = "lblValidation_PackedDate" ></label><input type = "hidden" id = "hfFormPropertyId" /></div></div></div><div class="col-sm-6"><div class="floating-label-form-group floating-label-form-group-with-value" id = "div_ExpiryDate" ><label for= "txt_ExpiryDate" id = "lbl_ExpiryDate">Expiry Date </label><div class="input-group"><input type="text" id = "txt_ExpiryDate" class="form-control value-control datepicker-input hasDatepicker " placeholder = "dd/mm/yyyy" data - isdynamic="false" data - placeholder="dd/mm/yyyy" data - label="dd/mm/yyyy">' +
  27. '<span class="input-group-addon bg-white no-border spndate"><a href="#" > <i class="fa fa-calendar" ></i></a></span><input type = "hidden" id = "hf_ExpiryDate" /><label for= "Validation" id = "lblValidation_ExpiryDate"></label><input type = "hidden" id = "hfFormPropertyId" /></div></div></div></div></div></div></div></div></div><footer class="bg-white modal-footer">' +
  28. '<a href="javascript:;" id = "frm_btnBatchCancel" class="btn btn-light btn-sm mr-auto " > Close </a><a href = "javascript:;" id = "frm_btnBatchSave" class="btn btn-primary btn-sm" > Save </a></footer></form>';
  29. return html;
  30. }
  31. load(id, containerid, callback) {
  32. $("#txt_PackedDate").daterangepicker({
  33. locale: {
  34. format: 'DD/MM/YYYY',
  35. },
  36. singleDatePicker: true,
  37. showDropdowns: true,
  38. minYear: 1901,
  39. maxDate: new Date(2050, 11, 31)
  40. });
  41. $("#txt_PackedDate").on('apply.daterangepicker', function (ev, picker) {
  42. $("#txt_PackedDate").val(picker.startDate.format('DD/MM/YYYY'));
  43. });
  44. $("#txt_ExpiryDate").daterangepicker({
  45. locale: {
  46. format: 'DD/MM/YYYY',
  47. },
  48. singleDatePicker: true,
  49. showDropdowns: true,
  50. minYear: 1901,
  51. maxDate: new Date(2050, 11, 31)
  52. });
  53. $("#txt_ExpiryDate").on('apply.daterangepicker', function (ev, picker) {
  54. $("#txt_ExpiryDate").val(picker.startDate.format('DD/MM/YYYY'));
  55. });
  56. $("#frm_btnBatchCancel").click(function () {
  57. $('#' + containerid).modal('hide');
  58. $('#' + containerid).remove();
  59. if (Batch.instance.rowlength != 0) {
  60. $("#select_Batch" + Batch.instance.rowlength).empty();
  61. }
  62. });
  63. $("#frm_btnBatchSave").click(function () {
  64. Batch.Instance().Save(id, containerid);
  65. });
  66. $(".hasDatepicker").keypress(function (e) {
  67. $(".hasDatepicker").attr("maxlength", "10");
  68. if (e.which != 8 && e.which != 0 && (e.which < 47 || e.which > 57)) {
  69. return false;
  70. }
  71. else {
  72. var value = $(".hasDatepicker").val().toString().replace(/^(\d\d)(\d)$/g, '$1/$2').replace(/^(\d\d\/\d\d)(\d+)$/g, '$1/$2').replace(/[^\d\/]/g, '');
  73. $(".hasDatepicker").val(value);
  74. }
  75. });
  76. this.loadMrps(id);
  77. }
  78. loadMrps(ItemId) {
  79. var url = _appsettings.server_url() + '/apis/v4/bizgaze/transact/pricelists/mrps_auto/itemid/' + ItemId;
  80. var id = 0;
  81. AutoCompleteHelper.getHelper().Create("#txtAutoComplete_MRP", "#hf_MrpId", url, function (response) {
  82. if (id != response.id) {
  83. id = response.id;
  84. if ($("#txtAutoComplete_MRP option:selected").text() == 'Create MRP') {
  85. let obj = [];
  86. obj.push({
  87. ItemId: ItemId,
  88. element: null,
  89. });
  90. var itemobj = Bizgaze.Apps.Transact.Controls.MRP.Instance();
  91. Unibase.Platform.Helpers.NavigationHelper.Instance().popup(obj, "", itemobj, null, Unibase.Platform.Helpers.Size.DockLeft);
  92. }
  93. }
  94. });
  95. }
  96. Save(id, containerid) {
  97. if ($("#txt_BatchNo").val() == "" || $("#txt_BatchNo").val() == '') {
  98. MessageHelper.Instance().showError("Batch No is Required ", 'bizgaze_BatchErrorMessages');
  99. return false;
  100. }
  101. if (isNaN(Number($(".txtAutoComplete_MRP option:selected").val()))) {
  102. MessageHelper.Instance().showError("Please Select MRP ", 'bizgaze_BatchErrorMessages');
  103. return false;
  104. }
  105. var PackedDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDate($("#txt_PackedDate").val());
  106. var P_date = new Date(PackedDate);
  107. var ExpiryDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatServerDate($("#txt_ExpiryDate").val());
  108. var E_date = new Date(ExpiryDate);
  109. if (PackedDate > ExpiryDate) {
  110. MessageHelper.Instance().showError("Expiry Date cannot be Less than PackedDate ", 'bizgaze_BatchErrorMessages');
  111. return false;
  112. }
  113. var postData = {
  114. ItemId: id,
  115. MrpId: Number($(".txtAutoComplete_MRP option:selected").val()),
  116. PackedDate: P_date,
  117. ExpiryDate: E_date,
  118. BatchNo: $("#txt_BatchNo").val(),
  119. BatchId: 0
  120. };
  121. Bizgaze.Apps.Transact.Managers.PriceListManager.Instance().saveBatch(postData).then(function (response) {
  122. if (response.errors == null) {
  123. $('#' + containerid).modal('hide');
  124. $('#' + containerid).remove();
  125. MessageHelper.Instance().showSuccess(response.message, '');
  126. if (Batch.instance.rowlength != 0 && response.result != null) {
  127. Bizgaze.Apps.Transact.Controls.SplitItem.Instance().bindDetails(response, Batch.instance.rowlength);
  128. }
  129. }
  130. else {
  131. MessageHelper.Instance().showError(response.message, 'bizgaze_BatchErrorMessages');
  132. return false;
  133. }
  134. });
  135. }
  136. static Instance() {
  137. if (this.instance === undefined) {
  138. this.instance = new Batch();
  139. }
  140. return this.instance;
  141. }
  142. }
  143. Controls.Batch = Batch;
  144. })(Controls = Transact.Controls || (Transact.Controls = {}));
  145. })(Transact = Apps.Transact || (Apps.Transact = {}));
  146. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  147. })(Bizgaze || (Bizgaze = {}));