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.

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