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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  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 MRP extends Unibase.Platform.Core.BaseComponent {
  10. constructor() {
  11. super(...arguments);
  12. this.rowlength = 0;
  13. this.MrpId = 0;
  14. this.Mrp = 0;
  15. this.DcEditMrp = false;
  16. }
  17. jsFiles() {
  18. return ['apps/transact/controls/pricelist/mrp.js', 'apps/transact/controls/pricelist/managers/pricelistmanager.js'];
  19. }
  20. cssFiles() {
  21. return [];
  22. }
  23. html(id, containerid) {
  24. var html = '<form id="frm_Bizgazetransact_createMRP" default method="post" data-validate="parsley" class="w-f bg-white" data-isdynamic="false"><header class="b-b bg-white modal-header pa-10"><strong class="text-dark titlename" >Create MRP</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>' +
  25. '<div style="overflow-x:hidden;" class="scrollable"><div id = "bizgaze_MrpErrorMessages_mrp" class="clear"></div><div class="card" ><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_MRP" id = "lbl_MRP" >MRP<span class= "text-danger" >*</span></label><div class= "input-group" ><input type="text" class="type-control form-control type-control value-control required floating-label-control txt_MRP" oninput="return Bizgaze.Apps.Transact.Controls.MRP.Instance().validateFloatKeyPress(this,event)" id = "txt_MRP" data-isdynamic="false" placeholder = "MRP *" data-placeholder="Enter MRP" data-label="MRP *"style = "width:1200px" inputmode="numberic"/><input type="hidden" id = "hf_MRP" value = "">' +
  26. '<label for= "Validation" id = "lblValidation_MRP" ></label><input type = "hidden" id = "hfFormPropertyId" /></div></div></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_FromDate"><label for= "txt_FromDate" id = "lbl_FromDate" > From Date <span class="text-danger" >*</span></label ><div class="input-group" ><input type="text" id = "txt_FromDate" class="form-control required 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"> <i class="fa fa-calendar calendar_fromdate"></i> </span><input type = "hidden" id = "hf_FromDate" /><label for= "Validation" id = "lblValidation_FromDate" ></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_ToDate" ><label for= "txt_ToDate" id = "lbl_ToDate"> To Date <span class="text-danger" >*</span></label><div class="input-group"><input type="text" id = "txt_ToDate" class="form-control value-control datepicker-input hasDatepicker required" placeholder = "dd/mm/yyyy" data-isdynamic="false" data-placeholder="dd/mm/yyyy" data-label="dd/mm/yyyy">' +
  28. '<span class="input-group-addon bg-white no-border spndate"> <i class="fa fa-calendar calendar_todate" ></i> </span><input type = "hidden" id = "hf_ToDate" /><label for= "Validation" id = "lblValidation_ToDate"></label><input type = "hidden" id = "hfFormPropertyId" /></div></div></div></div></div></div></div></div></div><footer class="bg-white modal-footer">' +
  29. '<a href="javascript:;" id = "frm_btnMrpCancel" class="btn btn-light btn-sm mr-auto">Close</a><a href = "javascript:;" id = "frm_btnMrpSave" class="btn btn-primary btn-sm" >Save</a></footer></form>';
  30. return html;
  31. }
  32. load(id, containerid, callback) {
  33. $("#frm_btnMrpSave").click(function () {
  34. Bizgaze.Apps.Transact.Controls.MRP.Instance().Save(id, containerid);
  35. });
  36. $("#frm_btnMrpCancel").click(function () {
  37. var MRPId = Bizgaze.Apps.Transact.Controls.MRP.Instance().MrpId;
  38. var mrp = Bizgaze.Apps.Transact.Controls.MRP.Instance().Mrp;
  39. $('#cmbMrps')
  40. .append($("<option></option>")
  41. .attr("value", MRPId)
  42. .text(mrp));
  43. $('#cmbMrps').val(MRPId);
  44. $('#cmbMrps').trigger('change');
  45. $('#' + containerid).modal('hide');
  46. $('#' + containerid).remove();
  47. if (id[0].element != null) {
  48. id[0].element.find(".select_" + Bizgaze.Apps.Transact.Controls.Invoices.SplitItem.Instance().Type).empty();
  49. id[0].element.find(".hf_" + Bizgaze.Apps.Transact.Controls.Invoices.SplitItem.Instance().Type + "_Id").val("0");
  50. }
  51. if (MRP.instance.rowlength != 0) {
  52. $("#select_MRP" + MRP.instance.rowlength).empty();
  53. }
  54. });
  55. var instance = this;
  56. instance.FixHeight(containerid);
  57. $('.calendar_todate, .calendar_fromdate').click(function () {
  58. $(this).parents('.input-group').find('.datepicker-input').trigger('click');
  59. });
  60. $("#txt_FromDate").daterangepicker({
  61. locale: {
  62. format: 'DD/MM/YYYY',
  63. },
  64. singleDatePicker: true,
  65. showDropdowns: true,
  66. minYear: 1901,
  67. maxDate: new Date(2050, 11, 31)
  68. });
  69. $("#txt_ToDate").daterangepicker({
  70. locale: {
  71. format: 'DD/MM/YYYY',
  72. },
  73. singleDatePicker: true,
  74. showDropdowns: true,
  75. minYear: 1901,
  76. maxDate: new Date(2050, 11, 31)
  77. });
  78. if ($('#cmbMrps').val() != undefined && $('#cmbMrps').val() != "") {
  79. if ($.isNumeric($("#cmbMrps :selected").text()) == true)
  80. $("#txt_MRP").val($("#cmbMrps :selected").text());
  81. }
  82. if ($("#txt_MRP").val() != "" && $('#cmbMrps').val() != undefined) {
  83. $(".titlename").text("Edit MRP");
  84. $("#div_MRP").addClass("floating-label-form-group-with-value");
  85. Bizgaze.Apps.Transact.Managers.PriceListManager.Instance().editMrp(Number($('#cmbMrps').val())).then(function (response) {
  86. var fdate = response.result.FromDate;
  87. fdate = moment(fdate).format("DD/MM/YYYY");
  88. $("#txt_FromDate").val(fdate);
  89. var todate = response.result.ToDate;
  90. fdate = moment(todate).format("DD/MM/YYYY");
  91. $("#txt_ToDate").val(fdate);
  92. });
  93. }
  94. $(".hasDatepicker").keypress(function (e) {
  95. $(this).attr("maxlength", "10");
  96. if (e.which != 8 && e.which != 0 && (e.which < 47 || e.which > 57)) {
  97. return false;
  98. }
  99. else {
  100. var value = $(this).val().toString().replace(/^(\d\d)(\d)$/g, '$1/$2').replace(/^(\d\d\/\d\d)(\d+)$/g, '$1/$2').replace(/[^\d\/]/g, '');
  101. $(this).val(value);
  102. }
  103. });
  104. }
  105. FixHeight(ContainerId) {
  106. var elem = $("#" + ContainerId);
  107. var height = $(elem).outerHeight() - ($(elem).find(".modal-header").outerHeight() + $(elem).find(".modal-footer").outerHeight());
  108. $(elem).find(".modal-body").outerHeight(height);
  109. $(elem).find(".modal-header").removeClass("pa-10").addClass("pa-15");
  110. }
  111. Save(id, containerid) {
  112. debugger;
  113. $("#frm_btnMrpSave").addClass("disabled");
  114. var instance = this;
  115. var fromdate;
  116. var todate;
  117. var fromdatestring = moment($("#txt_FromDate").val(), "DD/MM/YYYY").add(1, 'days').format("YYYY/MM/DD");
  118. fromdate = new Date(fromdatestring);
  119. let todatestring = moment($("#txt_ToDate").val(), "DD/MM/YYYY").add(1, 'days').format("YYYY/MM/DD");
  120. todate = new Date(todatestring);
  121. let result = Unibase.Platform.Forms.Components.FormViewer.Instance().requiredFieldValidation("frm_Bizgazetransact_createMRP");
  122. debugger;
  123. if (result == false) {
  124. MessageHelper.Instance().showError("Mandatory fields are missing", 'bizgaze_MrpErrorMessages_mrp');
  125. instance.FixHeight(containerid);
  126. $("#frm_btnMrpSave").removeClass("disabled");
  127. return false;
  128. }
  129. if (Number($('#cmbMrps').val()) == -1) {
  130. $('#cmbMrps').val(0);
  131. }
  132. if (fromdatestring > todatestring) {
  133. MessageHelper.Instance().showError("ToDate cannot be Less than From Date ", 'bizgaze_MrpErrorMessages_mrp');
  134. instance.FixHeight(containerid);
  135. $("#frm_btnMrpSave").removeClass("disabled");
  136. return false;
  137. }
  138. var postData = {
  139. ItemId: Number(id[0].ItemId),
  140. Mrp: Number($("#txt_MRP").val()),
  141. MrpId: Number($('#cmbMrps').val() == undefined ? 0 : $('#cmbMrps').val()),
  142. FromDate: fromdate,
  143. ToDate: todate,
  144. };
  145. Bizgaze.Apps.Transact.Managers.PriceListManager.Instance().saveMrp(postData).then(function (response) {
  146. $("#txtSearchPriceListItem1").val("");
  147. $("#frm_btnMrpSave").removeClass("disabled");
  148. if (response.errors != null) {
  149. MessageHelper.Instance().showError(response.message, 'bizgaze_MrpErrorMessages_mrp');
  150. }
  151. else {
  152. $('#' + containerid).modal('hide');
  153. $('#' + containerid).remove();
  154. MessageHelper.Instance().showSuccess(response.message, '');
  155. $("#cmbMrps").html("");
  156. $("#cmbMrps").val(null).trigger("change");
  157. var mrpid = JSON.parse(response.result).MrpId;
  158. var mrp = JSON.parse(response.result).Mrp;
  159. MRP.instance.Mrp = mrp;
  160. $('#cmbMrps')
  161. .append($("<option></option>")
  162. .attr("value", mrpid)
  163. .text(mrp));
  164. $('#cmbMrps').val(mrpid);
  165. $('#cmbMrps').trigger('change');
  166. $(".txtAutoComplete_MRP").val(mrpid).trigger('change');
  167. var _Value = new Option(mrp, mrpid, true);
  168. $(".txtAutoComplete_MRP").append(_Value);
  169. $(".txtAutoComplete_MRP").val(Number(mrpid));
  170. if (MRP.instance.rowlength != 0 && response.result != null) {
  171. Bizgaze.Apps.Transact.Controls.SplitItem.Instance().bindDetails(response, MRP.instance.rowlength);
  172. }
  173. if (MRP.instance.DcEditMrp && response.result != null) {
  174. Bizgaze.Apps.Transact.Controls.DcEditMrp.Instance().bindDetails(response);
  175. }
  176. if (response.result != null && id[0].element != null) {
  177. Bizgaze.Apps.Transact.Controls.Invoices.SplitItem.Instance().bindDetails(response, id[0].element);
  178. }
  179. }
  180. });
  181. }
  182. isNumberKey(evt) {
  183. if (evt.which != 8 && evt.which != 0 && (evt.which < 46 || evt.which > 57 || evt.which == 47)) {
  184. return false;
  185. }
  186. return true;
  187. }
  188. validateFloatKeyPress(el, evt) {
  189. var instance = this;
  190. let VisibleContainerId = Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds[Unibase.Platform.Helpers.NavigationHelper.ModalContainerIds.length - 1];
  191. if (evt.type == "input") {
  192. const inputVal = $("#" + VisibleContainerId).find(el).val();
  193. $("#" + VisibleContainerId).find(el).val(inputVal.replace(/[^\d.]|\.(?=.*\.)/g, ''));
  194. return;
  195. }
  196. if (evt.type == "paste") {
  197. let pastedData = evt.clipboardData.getData('text');
  198. let regExp = /[^\d.]|\.(?=.*\.)/g;
  199. if (regExp.test(pastedData)) {
  200. evt.preventDefault();
  201. return false;
  202. }
  203. return;
  204. }
  205. let charCode = (evt.which) ? evt.which : evt.keyCode;
  206. let number = el.value.split('.');
  207. if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {
  208. return false;
  209. }
  210. if (number.length > 1 && charCode == 46) {
  211. return false;
  212. }
  213. let caratPos = "";
  214. let dotPos = el.value.indexOf(".");
  215. if (caratPos > dotPos && dotPos > -1 && (number[1].length > 1)) {
  216. return false;
  217. }
  218. return true;
  219. }
  220. static Instance() {
  221. if (this.instance === undefined) {
  222. this.instance = new MRP();
  223. }
  224. return this.instance;
  225. }
  226. }
  227. Controls.MRP = MRP;
  228. })(Controls = Transact.Controls || (Transact.Controls = {}));
  229. })(Transact = Apps.Transact || (Apps.Transact = {}));
  230. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  231. })(Bizgaze || (Bizgaze = {}));