Built files from Bizgaze WebServer
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

userlogindetailswidget.js 10KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. var Unibase;
  2. (function (Unibase) {
  3. let Platform;
  4. (function (Platform) {
  5. let Membership;
  6. (function (Membership) {
  7. let Components;
  8. (function (Components) {
  9. class UserLoginDetailsWidget extends Platform.Core.BaseComponent {
  10. init(containerid) {
  11. var instance = this;
  12. instance.userdetails(containerid);
  13. $(".user-toggle-notification-btn").click(function () {
  14. $(".biz-wrapper").addClass("biz-settings-toggle");
  15. $(".hk-wrapper").addClass("biz-settings-toggle");
  16. if (($(window).width()) <= 575) {
  17. $(".settings-panel-head").find("#myTab").remove();
  18. var notification_header = $(".settings-panel-head").find("#settings-panel-head-title").length;
  19. if (notification_header == 0) {
  20. $(".settings-panel-head #settings_panel_close").before(` <span class="biz-secondary-text-color d-flex flex-row align-items-center py-1" id = "settings-panel-head-title"> <span class="my-2 font-16 font-weight-400"> Notifications </span><span class="badge border rounded-circle badge-sm badge-link ml-2 font-14" id="notification_count"></span> </span>`).parent().addClass('px-3 border-bottom').removeClass('py-10');
  21. }
  22. Unibase.Themes.Compact.Components.Notification.Instance().loadReminders();
  23. }
  24. else {
  25. Unibase.Themes.Compact.Components.Notification.Instance().loadReminders();
  26. }
  27. });
  28. $(".user-toggle-task-btn").click(function () {
  29. $(".biz-wrapper").addClass("biz-settings-toggle");
  30. $(".hk-wrapper").addClass("biz-settings-toggle");
  31. if (($(window).width()) <= 575) {
  32. $(".settings-panel-head").find("#myTab").remove();
  33. var notification_header = $(".settings-panel-head").find("#settings-panel-head-title").length;
  34. if (notification_header == 0) {
  35. $(".settings-panel-head #settings_panel_close").before(` <span class="biz-secondary-text-color d-flex flex-row align-items-center py-1" id = "settings-panel-head-title"> <span class="my-2 font-16 font-weight-400">Tasks</span><span class="ml-2 px-2 border rounded-circle font-14" id="tasks_count"></span> </span>`).parent().addClass('px-3 border-bottom').removeClass('py-10');
  36. }
  37. Unibase.Platform.Helpers.FileCacheHelper.Instance().loadJsFile('/tenants/themes/compact/components/notifications/notification.js', function () {
  38. Unibase.Themes.Compact.Components.Notification.Instance().loadTasks();
  39. });
  40. }
  41. else {
  42. Unibase.Themes.Compact.Components.Notification.Instance().loadTasks();
  43. }
  44. });
  45. }
  46. userdetails(containerid) {
  47. let notification, task;
  48. let data = Unibase.Platform.Membership.Infos.Identity.getCurrentUser();
  49. let imageurl = data.photoUrl;
  50. let companyname = data.settings.filter(function (o) { return o.settingName === "companyname"; })[0].settingValue;
  51. let branchname = data.settings.filter(function (o) { return o.settingName === "branchname"; })[0].settingValue;
  52. let branchcode = data.settings.filter(function (o) { return o.settingName === "branchcode"; })[0].settingValue;
  53. let username = data.name;
  54. let html = '';
  55. html = `<div class="user_login_detials b-0 shadow rounded-4 p-3"><div class="card m-0 px-2 border-0 shadow-none"><div class="user_login_pic d-flex align-items-center font-11"><div class=" biz-login-image rounded-circle w-70p h-70p d-flex align-items-center text-center p-2" data-src="` + imageurl + `" ><div class="user-login-img bg-light rounded-circle w-100 h-100 d-flex align-items-center text-center"></div></div><div class="ml-2"><div>Hi Welcome,</div><div class="user_Name m-0" style="font-size:12px !important" >` + username + `</div></div></div><div class="user_Company_Name ml-2 mt-1 font-11"><span><i class="fa fa-building-o font-14"></i></span> ` + companyname + `</div><div class="user_Branch_Name ml-2 font-11"><span><i class="fa fa-map-marker "></i></span> ` + branchname + ` (` + branchcode + `)</div></div></div></div>`;
  56. $(`#${containerid}`).html(html);
  57. $(".user-login-img-div")
  58. .mouseover(function () {
  59. $(this).find(".edit-picture").removeClass("d-none").addClass("d-flex").css("cursor", "pointer");
  60. })
  61. .mouseout(function () {
  62. $(this).find(".edit-picture").addClass("d-none").removeClass("d-flex");
  63. });
  64. let dataSrc = $('.biz-login-image').data('src');
  65. if (dataSrc == '' || dataSrc == null || dataSrc == 'undefined') {
  66. let avatarTxt = "";
  67. let headingTxt = $('.user_Name').text();
  68. let matches = headingTxt.match(/\b(\w)/g);
  69. if (matches && matches.length == 1) {
  70. avatarTxt = $.trim(headingTxt).substr(0, 2).toUpperCase();
  71. }
  72. else {
  73. avatarTxt = matches.join('').slice(0, 2).toUpperCase();
  74. }
  75. $('.user-login-img').html(`<h5 class="w-100 font-weight-600 biz-hightlight-bg-color font-30" data-btnclick="profile">${avatarTxt}</h5>`);
  76. }
  77. else {
  78. if (dataSrc && dataSrc.includes("~")) {
  79. dataSrc = dataSrc.slice(2);
  80. }
  81. $('.user-login-img').html(`<img src="${dataSrc}" onerror="ReloadImage(event)" data-dynamic="1" class="avatar-img img-fluid rounded-circle w-100 h-100" data-btnclick="profile" alt="img" style="object-fit: cover;">`);
  82. }
  83. let uniqueid = 'Bizgaze_Crm_Employess_App_AddPhotoUrl_Dashboard';
  84. Unibase.Platform.Forms.Managers.FormManager.Instance().getFormbyUniqueId(uniqueid).then(function (response) {
  85. $('.edit-picture').attr("onclick", `Unibase.Platform.Membership.Components.UserLoginDetailsWidget.Instance().profileupdate(${response.result.FormId}, 0)`);
  86. $('[data-btnclick="profile"]').attr("onclick", `Unibase.Platform.Membership.Components.UserLoginDetailsWidget.Instance().profileupdate(${response.result.FormId}, 0)`);
  87. });
  88. $(".user_login_detials").closest(".col-lg-12.droppablePlaceCol").removeClass("px-md-5");
  89. Unibase.Platform.Communications.Managers.ReminderManager.Instance().getUnreadRemindersCountByUserId().then(function (response) {
  90. var obj = response.result;
  91. notification = obj.NotificationCount;
  92. task = obj.TasksCount;
  93. $(".notification_count").html(notification);
  94. $(".tasks_count").html(task);
  95. });
  96. return html;
  97. }
  98. profilePicSuccess() {
  99. $('#layout-dashboard-tabs .filter-item.active a').trigger('click');
  100. }
  101. profileupdate(formid, appConfigId, employeeid) {
  102. var successobj = {
  103. CallBack: function () { Unibase.Platform.Membership.Components.UserLoginDetailsWidget.Instance().profilePicSuccess(); },
  104. Parameters: null,
  105. };
  106. var formviewerObj = {
  107. FormId: formid,
  108. AppConfigurationId: 0,
  109. Pk_Value: 0,
  110. PortletWidgetId: 0,
  111. OnSuccess: successobj,
  112. OnFail: null,
  113. OnLoad: null,
  114. FormSize: Unibase.Platform.Helpers.Size.Large
  115. };
  116. Unibase.Platform.Forms.Components.FormViewer.Instance().init(formviewerObj);
  117. }
  118. jsFiles() {
  119. return ['tenants/themes/compact/components/nav/nav.js'];
  120. }
  121. cssFiles() {
  122. return [];
  123. }
  124. html(id, containerid) {
  125. var html = ``;
  126. return html;
  127. }
  128. load(id, containerid, callback) {
  129. }
  130. static Instance() {
  131. if (this._instance === undefined)
  132. this._instance = new UserLoginDetailsWidget();
  133. return this._instance;
  134. }
  135. }
  136. Components.UserLoginDetailsWidget = UserLoginDetailsWidget;
  137. })(Components = Membership.Components || (Membership.Components = {}));
  138. })(Membership = Platform.Membership || (Platform.Membership = {}));
  139. })(Platform = Unibase.Platform || (Unibase.Platform = {}));
  140. })(Unibase || (Unibase = {}));