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.

employee_breakup.js 25KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361
  1. var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
  2. function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
  3. return new (P || (P = Promise))(function (resolve, reject) {
  4. function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
  5. function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
  6. function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
  7. step((generator = generator.apply(thisArg, _arguments || [])).next());
  8. });
  9. };
  10. var Bizgaze;
  11. (function (Bizgaze) {
  12. let Apps;
  13. (function (Apps) {
  14. let Crm;
  15. (function (Crm) {
  16. let Employees;
  17. (function (Employees) {
  18. let Components;
  19. (function (Components) {
  20. class EmployeeBreakUp extends Unibase.Platform.Core.BaseComponent {
  21. constructor() {
  22. super(...arguments);
  23. this.dataXValue = '';
  24. this.tableHtmlEmp = '';
  25. this.isTrackingTable = '';
  26. this.palettecolors = [];
  27. this.onEditPalettes = '';
  28. this.ownerid = 0;
  29. this.ownername = '';
  30. }
  31. cssFiles() {
  32. return ["libs/chartjs/chart.min.css"];
  33. }
  34. jsFiles() {
  35. return ['apps/crm/employees/components/employee_breakup_table.js', 'libs/chartjs/chart.min.js', 'apps/crm/contacts/managers/contactmanager.js'];
  36. }
  37. html(id, containerid) {
  38. let html = ``;
  39. return html;
  40. }
  41. load(id, containerid, callback) {
  42. }
  43. init(containerid) {
  44. var instance = this;
  45. instance.loadMenu(containerid);
  46. }
  47. loadMenu(containerid) {
  48. var instance = this;
  49. $(`.${containerid}`).append(`<div class="card mb-0 border-0 BindData_` + containerid + ` findcontainer h-100" style="background:0 0">
  50. <div class="card-header d-flex justify-content-between align-items-center py-2 px-3 search-bar-main-wrapper position-sticky t-0 bg-white z-index-2 border-0 viewer-header" id="ViewerHeader_` + containerid + `">
  51. <span class="biz-highlight-bg-color text-left">Employee BreakUp Tenure</span>
  52. <div class="text-right d-flex">
  53. <div class="biz-select2-wrap"><select class="distributor_val form-control"><option></option></select></div>
  54. <div id="select_new_Palette_Section" class="d-none floating-label-form-group-with-value select_new_Palette_Section">
  55. <select id="select_new_Palette" class="form-control type-control required value-control dropdown_phonetype select_new_Palette" placeholder="Select" data-placeholder="Select" data-label="Palette" data-isparent="false">
  56. </select>
  57. </div>
  58. <div class="popuptable btn-flush-biz-theme btn btn-icon btn-rounded flush-soft-hover h-30p w-30p ">
  59. <span class="btn-icon-wrap"> <i class="las la-table font-18 text-grey text-dark tableiconempchart"> </i></span>
  60. </div>
  61. </div>
  62. </div>
  63. <div class="card-body p-2 userDesignWidgetCardBody ">
  64. <ul class="lob_summary row px-3" id="lob_summary"></ul>
  65. <div class="text-danger d-none w-100 font-12">* The Outstanding data will be auto-refreshed for every 24 hours.</div>
  66. </div>
  67. </div>`);
  68. $(".designsPreviewAppend").find(".select_new_Palette_Section").removeClass("d-none");
  69. let height = $(`#${containerid}`).siblings('#hf_portletwidgetheight').val();
  70. if (height != '0px') {
  71. $('.userDesignWidgetCardBody').css({ "height": `` + height + ``, "overflow-x": "hidden" }).addClass("added biz-custom-scrollbar");
  72. }
  73. instance.fileCacheHelper.loadJsFiles(['apps/crm/palettes/managers/palettemanager.js', "libs/chartjs/chart.min.js"], () => {
  74. Bizgaze.Apps.Crm.Palettes.Managers.PaletteManager.Instance().getPallettes().then((res) => {
  75. var instance = this;
  76. if (res.length != 0) {
  77. let data = Array();
  78. for (let p = 0; p < res.result.length; p++) {
  79. data.push(res.result[p]);
  80. }
  81. data.sort(function (a, b) {
  82. var a1 = a.palletteid, b1 = b.palletteid;
  83. if (a1 == b1)
  84. return 0;
  85. return a1 > b1 ? 1 : -1;
  86. });
  87. for (let z = 0; z < data.length; z++) {
  88. let palletId = data[z].palletteid;
  89. let palletName = data[z].pallettename;
  90. let html = '';
  91. if (z == 0) {
  92. html = `<option value='` + palletId + `' selected >` + palletName + `</option>`;
  93. }
  94. else {
  95. html = `<option value='` + palletId + `' >` + palletName + `</option>`;
  96. }
  97. $('.select_new_Palette').append(html);
  98. }
  99. let palettid = '';
  100. $('.designsPreviewAppend').find(".select_new_Palette").change(function () {
  101. instance.onEditPalettes = $(this).find(":checked").val().toString();
  102. });
  103. $(`.BindData_` + containerid + ``).find(".select_new_Palette option").each(function () {
  104. var val = $(this).val();
  105. if (val == instance.onEditPalettes) {
  106. $(`.BindData_` + containerid + ``).find(".select_new_Palette option").removeAttr("checked");
  107. $(this).attr('selected', 'selected');
  108. }
  109. });
  110. palettid = instance.onEditPalettes;
  111. $(`.BindData_` + containerid + ``).find(".select_new_Palette").change(function () {
  112. $(".lob_summary").html('');
  113. palettid = $(this).find(":checked").val().toString();
  114. instance.loadPaletts(palettid, containerid);
  115. });
  116. if (palettid.length == 0) {
  117. palettid = $(`.BindData_` + containerid + ``).find(".select_new_Palette").find(":checked").val().toString();
  118. instance.loadPaletts(palettid, containerid);
  119. }
  120. else {
  121. instance.loadPaletts(palettid, containerid);
  122. }
  123. }
  124. });
  125. });
  126. instance.distributeVal();
  127. }
  128. loadPaletts(palettid, containerid) {
  129. let instance = this;
  130. Bizgaze.Apps.Crm.Palettes.Managers.PaletteManager.Instance().getPalletteColors(palettid).then((response) => {
  131. var data = Array();
  132. for (let i = 0; i < response.result.length; i++) {
  133. data.push(response.result[i]);
  134. }
  135. data.sort(function (a, b) {
  136. var a1 = a.palletteindex, b1 = b.palletteindex;
  137. if (a1 == b1)
  138. return 0;
  139. return a1 > b1 ? 1 : -1;
  140. });
  141. this.palettecolors = [];
  142. for (let i = 0; i < data.length; i++) {
  143. if (i < 2) {
  144. let getcolor = data[i].colorcode;
  145. this.palettecolors.push(getcolor);
  146. }
  147. }
  148. var fromDate = "";
  149. var toDate = "";
  150. var cf_fromDate = Unibase.Platform.Membership.Infos.Identity.currentUser.fromDate;
  151. var cf_toDate = Unibase.Platform.Membership.Infos.Identity.currentUser.toDate;
  152. if (cf_fromDate != null && cf_toDate != null) {
  153. fromDate = cf_fromDate.toString();
  154. toDate = cf_toDate.toString();
  155. }
  156. else {
  157. fromDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().currentDate()), "YYYY/MM/DD");
  158. toDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().currentDate()), "YYYY/MM/DD");
  159. }
  160. fromDate = fromDate.replace('/', '-').replace('/', '-');
  161. toDate = toDate.replace('/', '-').replace('/', '-');
  162. instance.fileCacheHelper.loadJsFiles(['apps/crm/contacts/managers/contactmanager.js', "apps/crm/employees/components/employee_breakup_table.js", "libs/chartjs/chart.min.js"], () => {
  163. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getEmployeeBrekUp("0", fromDate, toDate, instance.ownerid, 0).then(function (response) {
  164. var _a;
  165. var data = response.result;
  166. if (((_a = response.result) === null || _a === void 0 ? void 0 : _a.length) > 0) {
  167. instance.dataXValue = response.result;
  168. instance.createChart(containerid);
  169. instance.createTable(containerid);
  170. }
  171. });
  172. });
  173. });
  174. $('.distributor_val').off().on("change", function () {
  175. return __awaiter(this, void 0, void 0, function* () {
  176. instance.ownerid = +$(this).find(":checked").val();
  177. instance.ownername = $(this).find(":checked").text();
  178. $("#lob_summary").html('');
  179. instance.loadPaletts(palettid, containerid);
  180. $('.distributor_val').select2({
  181. placeholder: 'please Select Distributor',
  182. allowClear: true,
  183. data: instance.ownername
  184. });
  185. });
  186. });
  187. }
  188. createChart(containerid) {
  189. var instance = this;
  190. var fromDate = "";
  191. var toDate = "";
  192. var cf_fromDate = Unibase.Platform.Helpers.NavigationHelper.commonFilter_FromDate;
  193. var cf_toDate = Unibase.Platform.Helpers.NavigationHelper.commonFilter_ToDate;
  194. if (cf_fromDate != null && cf_toDate != null) {
  195. fromDate = cf_fromDate.toString();
  196. toDate = cf_toDate.toString();
  197. }
  198. else {
  199. fromDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().currentDate()), "YYYY/MM/DD");
  200. toDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().currentDate()), "YYYY/MM/DD");
  201. }
  202. fromDate = fromDate.replace('/', '-').replace('/', '-');
  203. toDate = toDate.replace('/', '-').replace('/', '-');
  204. var OwnerId = $('#hfContactId').val();
  205. if (OwnerId == undefined)
  206. OwnerId = 0;
  207. var employeeId = $('#hfSalesPersonId').val();
  208. if (employeeId == undefined)
  209. employeeId = 0;
  210. instance.fileCacheHelper.loadJsFiles(['apps/crm/contacts/managers/contactmanager.js', "libs/chartjs/chart.min.js"], () => {
  211. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getEmployeeBrekUpDesignation("0", fromDate, toDate, instance.ownerid, 0).then(function (response) {
  212. if (response.result.length > 0) {
  213. let chartHtml = `<li class="col-sm-12"><div><canvas id="employeeBreakupChart" style="max-height:450px"></canvas></div></li>`;
  214. $(`#${containerid}`).find('.lob_summary').html(chartHtml);
  215. $('.popuptable').off().click(function (e) {
  216. var instanceTableObj = Bizgaze.Apps.Crm.Employees.Components.EmployeeBreakUpTable.Instance();
  217. Unibase.Platform.Helpers.NavigationHelper.Instance().popup(0, '', instanceTableObj, null, Unibase.Platform.Helpers.Size.DockLeft);
  218. });
  219. let labelsPreProcess = instance.dataXValue;
  220. let xValues = [];
  221. let active = [];
  222. let inActive = [];
  223. for (let i = 0; i < labelsPreProcess.length; i++) {
  224. xValues.push(labelsPreProcess[i].Month);
  225. active.push(labelsPreProcess[i].Active);
  226. inActive.push(labelsPreProcess[i].DeActive);
  227. }
  228. inActive.push(0);
  229. let barOneColor, barTwoColor;
  230. let pal = instance.palettecolors;
  231. if (pal.length != 0) {
  232. for (let i = 0; i < pal.length; i++) {
  233. if (i == 0) {
  234. barOneColor = pal[i];
  235. }
  236. if (i == 1) {
  237. barTwoColor = pal[i];
  238. }
  239. }
  240. }
  241. else {
  242. barOneColor = '#117899';
  243. barTwoColor = '#f16c20';
  244. }
  245. let chartElement = document.getElementById("employeeBreakupChart").getContext('2d');
  246. let myChart = new Chart(chartElement, {
  247. type: 'bar',
  248. data: {
  249. labels: xValues,
  250. datasets: [{
  251. label: 'Active',
  252. data: active,
  253. backgroundColor: barOneColor
  254. }, {
  255. label: 'InActive',
  256. data: inActive,
  257. backgroundColor: barTwoColor
  258. }]
  259. },
  260. options: {
  261. plugins: {
  262. legend: {
  263. position: "bottom",
  264. align: "middle"
  265. }
  266. }
  267. }
  268. });
  269. }
  270. });
  271. });
  272. }
  273. createTable(tagIds) {
  274. var instance = this;
  275. var fromDate = "";
  276. var toDate = "";
  277. var cf_fromDate = Unibase.Platform.Membership.Infos.Identity.currentUser.fromDate;
  278. var cf_toDate = Unibase.Platform.Membership.Infos.Identity.currentUser.toDate;
  279. if (cf_fromDate != null && cf_toDate != null) {
  280. fromDate = cf_fromDate.toString();
  281. toDate = cf_toDate.toString();
  282. }
  283. else {
  284. fromDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().currentDate()), "YYYY/MM/DD");
  285. toDate = Unibase.Platform.Helpers.DateTimeHelper.Instance().formatLocalDateformat(new Date(Unibase.Platform.Helpers.DateTimeHelper.Instance().currentDate()), "YYYY/MM/DD");
  286. }
  287. fromDate = fromDate.replace('/', '-').replace('/', '-');
  288. toDate = toDate.replace('/', '-').replace('/', '-');
  289. var OwnerId = $('#hfContactId').val();
  290. if (OwnerId == undefined)
  291. OwnerId = 0;
  292. var employeeId = $('#hfSalesPersonId').val();
  293. if (employeeId == undefined)
  294. employeeId = 0;
  295. instance.fileCacheHelper.loadJsFiles(['apps/crm/contacts/managers/contactmanager.js', "libs/chartjs/chart.min.js"], () => {
  296. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getEmployeeBrekUpDesignation("0", fromDate, toDate, instance.ownerid, 0).then(function (response) {
  297. if (response.result.length > 0) {
  298. var data = response.result;
  299. var total = 0;
  300. $('.dist-active').empty();
  301. let html = '';
  302. for (var i = 0; i < data.length; i++) {
  303. html = html + `
  304. <li style="border-bottom: 0;" class="list-group-item data-list-item biz-transparent-text-color remove-bb no-background list-border-color">
  305. <div class="row d-flex align-items-center">
  306. <div class="col-8 list-item-main-title" > ${data[i].Designation} </div>
  307. <div class="col-4 text-center" > ${data[i].Active} </div>
  308. </div>
  309. </li>
  310. `;
  311. total += Number(data[i].Active);
  312. }
  313. html = html + `<li style="border-bottom: 0!important;" class="list-group-item data-list-item biz-transparent-text-color no-background list-border-color">
  314. <div class="row d-flex align-items-center" >
  315. <div class="col-8 list-item-main-title" > Total </div>
  316. <div class="col-4 text-center list-item-main-title" > ${total} </div>
  317. </div>
  318. </li>`;
  319. instance.tableHtmlEmp = html;
  320. }
  321. });
  322. });
  323. }
  324. distributeVal() {
  325. this.fileCacheHelper.loadJsFiles(['apps/crm/contacts/managers/contactmanager.js'], function () {
  326. Bizgaze.Apps.Crm.Contacts.Managers.ContactManager.Instance().getalldistributornames().then(function (res) {
  327. debugger;
  328. if (res != null) {
  329. let data = [];
  330. for (let i = 0; i < res.result.length; i++) {
  331. let TenantId = res.result[i].tenantid;
  332. let TenantName = res.result[i].tenantname;
  333. data.push({ id: TenantId, text: TenantName });
  334. }
  335. $('.distributor_val').select2({
  336. placeholder: 'please Select Distributor',
  337. allowClear: true,
  338. data: data
  339. });
  340. }
  341. });
  342. });
  343. $('.distributor_val').parents(".text-right.d-flex").find("[role=textbox]").html("");
  344. }
  345. static Instance() {
  346. if (this.instance === undefined) {
  347. this.instance = new EmployeeBreakUp();
  348. }
  349. return this.instance;
  350. }
  351. }
  352. Components.EmployeeBreakUp = EmployeeBreakUp;
  353. })(Components = Employees.Components || (Employees.Components = {}));
  354. })(Employees = Crm.Employees || (Crm.Employees = {}));
  355. })(Crm = Apps.Crm || (Apps.Crm = {}));
  356. })(Apps = Bizgaze.Apps || (Bizgaze.Apps = {}));
  357. })(Bizgaze || (Bizgaze = {}));