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.

manualbalance.js 7.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. var Bizgaze;
  2. (function (Bizgaze) {
  3. let Apps;
  4. (function (Apps) {
  5. let Hrms;
  6. (function (Hrms) {
  7. let Components;
  8. (function (Components) {
  9. class ManualBalance extends Unibase.Platform.Core.BaseComponent {
  10. constructor() {
  11. super(...arguments);
  12. this.existingbalance = 0;
  13. this.newbalance = 0;
  14. this.reason = "";
  15. }
  16. init(formpropertyid, prop, callback) {
  17. var instance = this;
  18. instance.existingbalance = 0;
  19. instance.newbalance = 0;
  20. var employeeid = Unibase.Themes.Providers.DetailHelper.recordId;
  21. instance.getManualBalance(employeeid);
  22. if (callback != null) {
  23. callback();
  24. }
  25. }
  26. loadControl(containerid, prop) {
  27. var html = '<ul class="mt-10 align-items-center" id="Employee_ManualBalance">' +
  28. '<li class="list-group-item hidden" id="EmployeeManual_Balance">' +
  29. '<div class="row">' +
  30. '<div class="col-sm-2"><strong>Leave Type</strong></div>' +
  31. '<div class="col-sm-2"><strong>Date</strong></div>' +
  32. '<div class="col-sm-2"><strong>Existing Balance</strong></div>' +
  33. '<div class="col-sm-3"><strong>New Balance</strong></div>' +
  34. '<div class="col-sm-3"><strong>Reason</strong></div>' +
  35. '</div>' +
  36. '</li>' +
  37. '<li class="length-row" id="li_EmployeeManualBalance_Details">' +
  38. '</li>' +
  39. '<input type="hidden" id="hdn_EmployeeManualBalanceControl" class="value-control" value=" Bizgaze.Apps.Hrms.Components.ManualBalance.Instance().EmployeeManualBalanceobj();">' +
  40. '</ul>';
  41. $("#" + containerid).html(html);
  42. }
  43. loadControlSettings(controlsettingjson, formpropertyid) {
  44. return null;
  45. }
  46. loadPropertySettings(propertysettings, formpropertyid) {
  47. return null;
  48. }
  49. bindEditFormDetails(formpropertyid, propval, DocPropertyName) {
  50. var manualbalanceid = Number(propval);
  51. var instance = this;
  52. }
  53. getManualBalance(employeeid) {
  54. var instance = this;
  55. var jsfiles = ['apps/hrms/managers/leavemanager.js'];
  56. $(".EmployeeManaulBalance").remove();
  57. $("#div_employeealert").remove();
  58. instance.fileCacheHelper.loadJsFiles(jsfiles, function (response) {
  59. Bizgaze.Apps.Hrms.Managers.LeaveManager.Instance().getEmployeeExistingBalance(Number(employeeid)).then(function (response) {
  60. var dt = response.result;
  61. if (dt.length > 0) {
  62. for (var i = 0; i < dt.length; i++) {
  63. var data = dt[i];
  64. instance.EmployeeManualBalanceTemplate(data);
  65. }
  66. }
  67. else {
  68. $("#EmployeeManual_Balance").removeClass("hidden");
  69. $('#Employee_ManualBalance').after('<div class="alert alert-danger ma-0" id="div_employeealert"> No Data Found</div>');
  70. }
  71. });
  72. });
  73. }
  74. EmployeeManualBalanceTemplate(data) {
  75. let instance = this;
  76. let manualdate = moment(new Date($.now())).format("DD/MM/YYYY");
  77. var html = '<li class="list-group-item EmployeeManaulBalance" id="li_EmployeeManaulBalance_">' +
  78. '<div class="row">' +
  79. '<input type ="hidden" class="hf_employeeid" value = "' + data.userid + '" id = "employeeid" />' +
  80. '<input type ="hidden" class="hf_leavetypeid" value = "' + data.leavetypeid + '" id ="leavetypeid" /> ' +
  81. '<input type ="hidden" class="hf_existingbalance" value = "' + data.availableleaves + '" id ="existingbalance" /> ' +
  82. '<input type ="hidden" class="hf_manualbalancedate" value = "' + manualdate + '" id ="manualbalancedate" />' +
  83. '<div class="col-sm-2" id="txt_leavetypename"> ' + data.leavetypename + ' </div>' +
  84. '<div class="col-sm-2" id="manualbalancedate" > ' + manualdate + ' </div>' +
  85. '<div class="col-sm-2" id="txt_existingbalance" > ' + data.availableleaves + ' </div>' +
  86. '<div class="col-sm-3" ><input type ="number" class="form-control floating-label-control txt_newbalance" id="txt_newbalance" data-isdynamic="false" placeholder="New Balance" data-placeholder="Please Enter New Balance" data-label="New Balance" ></div >' + '<div class="col-sm-3" ><input type ="text" class="form-control floating-label-control txt_reason" id="txt_Reason" data-isdynamic="false" placeholder="Reason" data-placeholder="Please Enter Reason" data-label="Reason"></div >' +
  87. '</div></li>';
  88. $("#EmployeeManual_Balance").removeClass("hidden");
  89. $("#li_EmployeeManualBalance_Details").after(html);
  90. }
  91. EmployeeManualBalanceobj() {
  92. var employeeManualBlance = new Array();
  93. $('.EmployeeManaulBalance').each(function (index) {
  94. var element = $(this);
  95. employeeManualBlance.push({
  96. EmployeeId: Number(element.find('.hf_employeeid').val()),
  97. LeaveTypeId: Number(element.find('.hf_leavetypeid').val()),
  98. ExistingBalance: Number(element.find('.hf_existingbalance').val()),
  99. ManualBalanceDate: new Date(moment(element.find(".hf_manualbalancedate").val(), "DD/MM/YYYY").format("YYYY/MM/DD")),
  100. NewBalance: Number(element.find('.txt_newbalance').val()),
  101. Reason: element.find('.txt_reason').val()
  102. });
  103. });
  104. return employeeManualBlance;
  105. }
  106. static Instance() {
  107. if (this.instance === undefined)
  108. this.instance = new ManualBalance();
  109. return this.instance;
  110. }
  111. }
  112. Components.ManualBalance = ManualBalance;
  113. })(Components = Hrms.Components || (Hrms.Components = {}));
  114. })(Hrms = Apps.Hrms || (Apps.Hrms = {}));
  115. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  116. })(Bizgaze || (Bizgaze = {}));