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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. var Bizgaze;
  2. (function (Bizgaze) {
  3. let Apps;
  4. (function (Apps) {
  5. let TM;
  6. (function (TM) {
  7. let Targets;
  8. (function (Targets) {
  9. let Components;
  10. (function (Components) {
  11. class EmployeeBreakupWiseTarget extends Unibase.Platform.Core.BaseComponent {
  12. jsFiles() {
  13. return [];
  14. }
  15. cssFiles() {
  16. return [];
  17. }
  18. html(id, containerid) {
  19. var html = ``;
  20. return html;
  21. }
  22. load(formId, containerid, callback) {
  23. var instance = this;
  24. $('.modal-body').css('overflow', '');
  25. $("#btn_CloseTargetemp").click(function () {
  26. $('#' + containerid).modal('hide');
  27. $('#' + containerid).remove();
  28. });
  29. }
  30. loadForm(FormId, Pk_Value, AppConfigurationId, Callback, ElementId) {
  31. var instance = this;
  32. var InstalledAppId = Unibase.Themes.Providers.DetailHelper.installedAppId;
  33. }
  34. init(containerid) {
  35. var instance = this;
  36. var ContactId = Unibase.Themes.Providers.DetailHelper.recordId;
  37. this.fileCacheHelper.loadJsFile('apps/tm/targets/managers/targetmanager.js', function () {
  38. Bizgaze.Apps.TM.Targets.Managers.TargetManager.Instance().getContactWiseTargetDetails(ContactId).then(function (response) {
  39. instance.employeebrack(containerid, response);
  40. });
  41. });
  42. }
  43. employeebrack(containerid, response) {
  44. let html = '';
  45. html = `<div class="row employee-target-row"></div>`;
  46. $(`#${containerid}`).append(html);
  47. if (response.result !== '') {
  48. let data = response.result;
  49. for (let i = 0; i < data.length; i++) {
  50. var breakuplistArr = data[i].breakuplist.split(',');
  51. var progressDeg;
  52. var progressNo = data[i].AchievePercentage;
  53. var from_date = moment(response.result[i].FromDate).format("DD MMMM YYYY");
  54. var to_date = moment(response.result[i].ToDate).format("DD MMMM YYYY");
  55. progressDeg = 270;
  56. if (progressNo < 50) {
  57. progressDeg = progressDeg - (progressNo * 3.6);
  58. }
  59. var progressAngle = 90;
  60. if (progressNo == 50) {
  61. progressAngle = -progressAngle;
  62. }
  63. else if (progressNo > 50) {
  64. progressAngle = -(progressAngle - (3.6 * (progressNo - 50)));
  65. }
  66. let html = `<div class="col-md-6"><div class="card font-weight-500"> <ul class="d-flex flex-row align-items-center w-100"> <li> <div class="progress-circle-container"> <div class="progress-circle progress-10 m-3" style="background-image: linear-gradient(` + progressAngle + `deg, #66b8ff 50%, transparent 50%, transparent), linear-gradient(` + progressDeg + `deg, #66b8ff 50%, #ebebeb 50%, #ebebeb)"><span>` + data[i].AchievePercentage.toFixed(0) + ` </span></div></div></li><li class="d-flex flex-column ml-2"> <h5>` + data[i].TargetDefinitionname + `</h5> <p>` + data[i].TagName + `</p><p>From :<span class="text-primary pl-1"> ` + from_date + ` </span> To :<span class="text-primary pl-1"> ` + to_date + ` </span></p></li></ul> <ul class="d-flex ml-2"> <li class="mt-2 mx-2 w-5"> <a href="javascript:void(0);" class="left text-dark left-arrow"><i class="rounded-50 px-2 p-1 border border-light-20 fa fa-angle-left"></i></a> </li><li class="my-auto pr-1 contentScrolling w-90" style="overflow-x: hidden;"> <ul class="d-flex flex-row mx-2 timeline_ul timeline_ul-` + i + `"></ul> </li><li class="mt-2 mx-2 mr-3 text-right w-5"> <a href="javascript:void(0);" class="right text-dark right-arrow"><i class="rounded-50 px-2 p-1 border border-light-20 fa fa-angle-right"></i></a> </li></ul> <ul class="d-flex ml-3 mr-1 py-2 mt-1 justify-content-between font-weight-600"> <li class="d-flex flex-row"> <span><i class="font-25 text-primary fa fa-bullseye" aria-hidden="true"></i></span> <p class="mx-3 text-dark"> ` + data[i].TotalT + ` <span class="text-light-60 font-weight-500">Target</span> </p></li><li class="d-flex flex-row"> <span><i class="font-18 text-danger fa fa-hourglass-half" aria-hidden="true"></i></span> <p class="mx-3 text-dark"> ` + data[i].PendingTarget + ` <span class="text-light-60 font-weight-500">Pending</span> </p></li><li class="d-flex flex-row"> <span><i class="font-25 text-success fa fa-check-circle-o" aria-hidden="true"></i></span> <p class="mx-3 text-dark"> ` + data[i].TotalA + ` <span class="text-light-60 font-weight-500">Acheived</span> </p></li></ul></div></div>`;
  67. $('.employee-target-row').append(html);
  68. for (let j = 0; j < data[i].AchieveStatus.length; j++) {
  69. var progressDeg1;
  70. var progressNo1 = data[i].AchieveStatus[j];
  71. progressDeg1 = 270;
  72. if (progressNo1 < 50) {
  73. progressDeg1 = progressDeg1 - (progressNo1 * 3.6);
  74. }
  75. var progressAngle1 = 90;
  76. if (progressNo1 == 50) {
  77. progressAngle1 = -progressAngle1;
  78. }
  79. else if (progressNo1 > 50) {
  80. progressAngle1 = -(progressAngle1 - (3.6 * (progressNo1 - 50)));
  81. }
  82. let html_li = `<li class="d-flex flex-column"> <div class="d-flex flex-row"> <hr class="bg-success" width="85px" style="height: 5px;"> <div class="my-auto progress-circle-timeline progress-10" style="background-image: linear-gradient(` + progressAngle1 + `deg, #66b8ff 50%, transparent 50%, transparent), linear-gradient(` + progressDeg1 + `deg, #66b8ff 50%, #ebebeb 50%, #ebebeb);"><span>` + data[i].AchieveStatus[j].toFixed(0) + `%</span></div></div><span class="text-right px-1 ">` + breakuplistArr[j] + `</span> </li>`;
  83. $(`.timeline_ul-${i}`).append(html_li);
  84. }
  85. }
  86. function changeContentScroll(pos, x, elem) {
  87. var content = $($(elem).parent().siblings('.contentScrolling '));
  88. var currentPos = content.scrollLeft();
  89. content.scrollLeft(currentPos + pos);
  90. }
  91. $('.left-arrow').click(function (e) {
  92. changeContentScroll(-36, 0, this);
  93. });
  94. $('.right-arrow').click(function (e) {
  95. changeContentScroll(+36, 0, this);
  96. });
  97. return html;
  98. }
  99. else {
  100. let message = response.message;
  101. let html = '<div class="alert alert-warning text-center w-100">' + message + '</div>';
  102. $('.employee-target-row').append(html);
  103. }
  104. }
  105. static Instance() {
  106. if (this._instance === undefined) {
  107. this._instance = new EmployeeBreakupWiseTarget();
  108. }
  109. return this._instance;
  110. }
  111. }
  112. Components.EmployeeBreakupWiseTarget = EmployeeBreakupWiseTarget;
  113. })(Components = Targets.Components || (Targets.Components = {}));
  114. })(Targets = TM.Targets || (TM.Targets = {}));
  115. })(TM = Apps.TM || (Apps.TM = {}));
  116. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  117. })(Bizgaze || (Bizgaze = {}));