2023-11-13 12:29:11 +05:30
|
|
|
{% load static %} {% load basefilters %} {% load recruitmentfilters %} {% load i18n %} {% load tz %} {% now "Y-m-d" as current_date %}
|
2023-05-10 15:06:57 +05:30
|
|
|
<div id="mainNav"></div>
|
|
|
|
|
<!-- End of Navigation -->
|
|
|
|
|
<style>
|
2023-08-22 13:56:22 +05:30
|
|
|
.oh-card-dashboard--moveable {
|
2023-05-10 15:06:57 +05:30
|
|
|
padding: 0 10px 20px 10px;
|
|
|
|
|
}
|
2023-10-13 16:28:17 +05:30
|
|
|
.oh-card-dashboard:not(.tile) {
|
2023-09-25 15:57:17 +05:30
|
|
|
cursor: default;
|
2023-11-06 12:15:41 +05:30
|
|
|
min-height: 425px;
|
2023-11-13 12:29:11 +05:30
|
|
|
}
|
|
|
|
|
.oh-dashboard__movable-cards {
|
2023-10-13 16:28:17 +05:30
|
|
|
padding-right: 0;
|
2023-11-13 12:29:11 +05:30
|
|
|
}
|
|
|
|
|
.oh-card-dashboard--moveable {
|
2023-10-13 16:28:17 +05:30
|
|
|
padding-right: 0;
|
|
|
|
|
padding-bottom: 10px;
|
2023-09-25 15:57:17 +05:30
|
|
|
}
|
2023-05-10 15:06:57 +05:30
|
|
|
</style>
|
|
|
|
|
<main>
|
|
|
|
|
<div class="oh-wrapper">
|
2023-11-13 12:29:11 +05:30
|
|
|
<!-- back button -->
|
|
|
|
|
<div class="d-none mt-5" id="back_button" style="width: 10%">
|
|
|
|
|
<a
|
|
|
|
|
href="{% url 'home-page' %}"
|
|
|
|
|
class="oh-btn oh-btn--secondary oh-btn--shadow ms-3"
|
|
|
|
|
>
|
|
|
|
|
<ion-icon
|
|
|
|
|
class="me-2 md hydrated"
|
|
|
|
|
name="arrow-back-outline"
|
|
|
|
|
role="img"
|
|
|
|
|
aria-label="arrow-back-outline"
|
|
|
|
|
></ion-icon
|
|
|
|
|
>{% trans "Back" %}</a
|
|
|
|
|
>
|
|
|
|
|
</div>
|
2023-10-18 11:02:41 +05:30
|
|
|
<!-- end of back button -->
|
2023-10-13 14:34:52 +05:30
|
|
|
<div class="oh-dashboard row" id="dashboard">
|
|
|
|
|
<div class="oh-dashboard__left col-12 col-sm-12 col-md-12 col-lg-9">
|
2023-05-10 15:06:57 +05:30
|
|
|
<div class="oh-dashboard__cards row">
|
2023-10-13 14:34:52 +05:30
|
|
|
{% if perms.employee.view_employee %}
|
2023-05-10 15:06:57 +05:30
|
|
|
<div class="col-12 col-sm-12 col-md-6 col-lg-4">
|
2023-10-13 16:28:17 +05:30
|
|
|
<div class="oh-card-dashboard oh-card-dashboard--success tile">
|
2023-10-13 14:34:52 +05:30
|
|
|
<a
|
|
|
|
|
href="{% url 'candidate-view' %}?joining_date={{current_date}}"
|
|
|
|
|
style="text-decoration: none"
|
|
|
|
|
>
|
2023-10-02 01:46:59 +05:30
|
|
|
<div class="oh-card-dashboard__header">
|
2023-10-13 14:34:52 +05:30
|
|
|
<span class="oh-card-dashboard__title"
|
|
|
|
|
>{% trans "New Joining Today" %}</span
|
|
|
|
|
>
|
2023-05-10 15:06:57 +05:30
|
|
|
</div>
|
2023-10-02 01:46:59 +05:30
|
|
|
<div class="oh-card-dashboard__body">
|
|
|
|
|
<div class="oh-card-dashboard__counts">
|
2023-10-13 14:34:52 +05:30
|
|
|
<span class="oh-card-dashboard__sign"
|
|
|
|
|
><ion-icon name="caret-up-outline"></ion-icon
|
|
|
|
|
></span>
|
|
|
|
|
<span
|
|
|
|
|
class="oh-card-dashboard__count"
|
|
|
|
|
id="newbieToday"
|
|
|
|
|
></span>
|
2023-10-02 01:46:59 +05:30
|
|
|
</div>
|
2023-10-13 14:34:52 +05:30
|
|
|
<span
|
|
|
|
|
class="oh-badge oh-card-dashboard__badge"
|
|
|
|
|
id="newbieTodayPerc"
|
|
|
|
|
>0%</span
|
|
|
|
|
>
|
2023-10-02 01:46:59 +05:30
|
|
|
</div>
|
|
|
|
|
</a>
|
2023-05-10 15:06:57 +05:30
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-12 col-sm-12 col-md-6 col-lg-4">
|
2023-10-13 14:34:52 +05:30
|
|
|
<div
|
2023-10-13 16:28:17 +05:30
|
|
|
class="oh-card-dashboard oh-card-dashboard oh-card-dashboard--warning tile"
|
2023-10-13 14:34:52 +05:30
|
|
|
>
|
|
|
|
|
<a
|
|
|
|
|
href="{% url 'candidate-view' %}?scheduled_from={{first_day_of_week}}&scheduled_till={{last_day_of_week}}"
|
|
|
|
|
style="text-decoration: none"
|
|
|
|
|
>
|
2023-10-02 01:46:59 +05:30
|
|
|
<div class="oh-card-dashboard__header">
|
2023-10-13 14:34:52 +05:30
|
|
|
<span class="oh-card-dashboard__title"
|
|
|
|
|
>{% trans "New Joining This Week" %}</span
|
|
|
|
|
>
|
2023-05-10 15:06:57 +05:30
|
|
|
</div>
|
2023-10-02 01:46:59 +05:30
|
|
|
<div class="oh-card-dashboard__body">
|
|
|
|
|
<div class="oh-card-dashboard__counts">
|
2023-10-13 14:34:52 +05:30
|
|
|
<span class="oh-card-dashboard__sign"
|
|
|
|
|
><ion-icon name="caret-up-outline"></ion-icon
|
|
|
|
|
></span>
|
2023-10-02 01:46:59 +05:30
|
|
|
<span class="oh-card-dashboard__count" id="newbie">12</span>
|
|
|
|
|
</div>
|
2023-10-13 14:34:52 +05:30
|
|
|
<span
|
|
|
|
|
class="oh-badge oh-card-dashboard__badge"
|
|
|
|
|
id="newbiePerc"
|
|
|
|
|
>0%</span
|
|
|
|
|
>
|
2023-10-02 01:46:59 +05:30
|
|
|
</div>
|
|
|
|
|
</a>
|
2023-05-10 15:06:57 +05:30
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-12 col-sm-12 col-md-6 col-lg-4">
|
2023-10-13 14:34:52 +05:30
|
|
|
<a href="{% url 'employee-view' %}" style="text-decoration: none">
|
2023-10-13 16:28:17 +05:30
|
|
|
<div class="oh-card-dashboard oh-card-dashboard--neutral tile">
|
2023-10-02 01:46:59 +05:30
|
|
|
<div class="oh-card-dashboard__header">
|
2023-10-13 14:34:52 +05:30
|
|
|
<span class="oh-card-dashboard__title"
|
|
|
|
|
>{% trans "Total Strength" %}</span
|
|
|
|
|
>
|
2023-10-02 01:46:59 +05:30
|
|
|
</div>
|
|
|
|
|
<div class="oh-card-dashboard__body">
|
|
|
|
|
<div class="oh-card-dashboard__counts">
|
2023-10-13 14:34:52 +05:30
|
|
|
<span
|
|
|
|
|
class="oh-card-dashboard__count"
|
|
|
|
|
id="totalEmployeesCount"
|
|
|
|
|
>100%</span
|
|
|
|
|
>
|
2023-10-02 01:46:59 +05:30
|
|
|
</div>
|
2023-10-13 14:34:52 +05:30
|
|
|
<span
|
|
|
|
|
class="oh-badge oh-card-dashboard__badge"
|
|
|
|
|
id="totalEmployeesCountPerc"
|
|
|
|
|
>100%</span
|
|
|
|
|
>
|
2023-05-10 15:06:57 +05:30
|
|
|
</div>
|
|
|
|
|
</div>
|
2023-10-02 01:46:59 +05:30
|
|
|
</a>
|
2023-08-22 13:56:22 +05:30
|
|
|
</div>
|
2023-08-01 16:49:53 +05:30
|
|
|
{% endif %}
|
2023-10-13 14:34:52 +05:30
|
|
|
<div class="oh-dashboard__movable-cards row mt-4" id="tileContainer">
|
2023-10-24 19:14:17 +05:30
|
|
|
{% if perms.leave.veiw_leaverequest %}
|
2023-10-13 14:34:52 +05:30
|
|
|
<div
|
|
|
|
|
class="col-12 col-sm-12 col-md-12 col-lg-4 oh-card-dashboard--moveable"
|
|
|
|
|
id="movable1"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard oh-card-dashboard--no-scale oh-card-dashboard--transparent"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard__header oh-card-dashboard__header--divider"
|
|
|
|
|
>
|
|
|
|
|
<span class="oh-card-dashboard__title"
|
|
|
|
|
>{% trans "Overall Leave" %}</span
|
|
|
|
|
>
|
|
|
|
|
<select
|
|
|
|
|
class="oh-select oh-select--sm float-end"
|
|
|
|
|
name=""
|
|
|
|
|
id="overAllLeaveSelect"
|
|
|
|
|
>
|
|
|
|
|
<option value="today" selected>{% trans "Today" %}</option>
|
|
|
|
|
<option value="week">{% trans "This Week" %}</option>
|
|
|
|
|
<option value="month">{% trans "This Month" %}</option>
|
|
|
|
|
<option value="year">{% trans "This Year" %}</option>
|
|
|
|
|
</select>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="oh-card-dashboard__body">
|
|
|
|
|
<canvas id="overAllLeave" style="cursor: pointer"></canvas>
|
|
|
|
|
</div>
|
2023-05-10 15:06:57 +05:30
|
|
|
</div>
|
|
|
|
|
</div>
|
2023-11-13 12:29:11 +05:30
|
|
|
{% endif %} {% if perms.candidate.view_candidate or request.user|is_stagemanager %}
|
2023-10-13 14:34:52 +05:30
|
|
|
<div
|
|
|
|
|
class="col-12 col-sm-12 col-md-12 col-lg-6 oh-card-dashboard--moveable"
|
|
|
|
|
id="movable2"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard oh-card-dashboard--no-scale oh-card-dashboard--transparent"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard__header oh-card-dashboard__header--divider"
|
|
|
|
|
>
|
|
|
|
|
<span class="oh-card-dashboard__title"
|
|
|
|
|
>{% trans "Hired Candidates" %}</span
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="oh-card-dashboard__body">
|
|
|
|
|
<canvas id="hiredCandidate" style="cursor: pointer"></canvas>
|
|
|
|
|
</div>
|
2023-05-10 15:06:57 +05:30
|
|
|
</div>
|
|
|
|
|
</div>
|
2023-10-13 14:34:52 +05:30
|
|
|
<div
|
|
|
|
|
class="col-12 col-sm-12 col-md-12 col-lg-6 oh-card-dashboard--moveable"
|
|
|
|
|
id="movable3"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard oh-card-dashboard--no-scale oh-card-dashboard--transparent"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard__header oh-card-dashboard__header--divider"
|
|
|
|
|
>
|
|
|
|
|
<span class="oh-card-dashboard__title"
|
|
|
|
|
>{% trans "Candidate Started Onboarding" %}</span
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="oh-card-dashboard__body">
|
|
|
|
|
<canvas
|
|
|
|
|
id="onboardCandidate"
|
|
|
|
|
style="cursor: pointer"
|
|
|
|
|
></canvas>
|
|
|
|
|
</div>
|
2023-05-10 15:06:57 +05:30
|
|
|
</div>
|
|
|
|
|
</div>
|
2023-11-13 12:29:11 +05:30
|
|
|
{% endif %} {% if request.user|is_stagemanager or perms.recruitment.view_recruitment %}
|
2023-10-13 14:34:52 +05:30
|
|
|
<div
|
|
|
|
|
class="col-12 col-sm-12 col-md-12 col-lg-6 oh-card-dashboard--moveable"
|
|
|
|
|
id="movable8"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard oh-card-dashboard--no-scale oh-card-dashboard--transparent"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard__header oh-card-dashboard__header--divider"
|
|
|
|
|
>
|
|
|
|
|
<span class="oh-card-dashboard__title"
|
|
|
|
|
>{% trans "Recruitment Analytic" %}</span
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="oh-card-dashboard__body">
|
|
|
|
|
<canvas
|
|
|
|
|
id="recruitmentChart1"
|
|
|
|
|
style="cursor: pointer"
|
|
|
|
|
></canvas>
|
|
|
|
|
</div>
|
2023-05-10 15:06:57 +05:30
|
|
|
</div>
|
|
|
|
|
</div>
|
2023-11-13 12:29:11 +05:30
|
|
|
{% endif %} {% if request.user|is_reportingmanager or perms.attendance.view_attendance %}
|
2023-10-13 14:34:52 +05:30
|
|
|
<div
|
|
|
|
|
class="col-12 col-sm-12 col-md-12 col-lg-6 oh-card-dashboard--moveable"
|
|
|
|
|
id="movable4"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard oh-card-dashboard--no-scale oh-card-dashboard--transparent"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard__header oh-card-dashboard__header--divider"
|
|
|
|
|
id="attendance_header"
|
|
|
|
|
>
|
2023-11-13 12:29:11 +05:30
|
|
|
<div class="oh-card-dashboard__title mb-2">
|
|
|
|
|
{% trans "Attendance Analytic" %}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="d-flex justify-content-between mb-2">
|
|
|
|
|
<select
|
|
|
|
|
id="type"
|
|
|
|
|
class="oh-select"
|
|
|
|
|
name="type"
|
|
|
|
|
onchange="changeView(this)"
|
|
|
|
|
style="width: 150px; padding: 3px; color: #5e5c5c"
|
|
|
|
|
>
|
|
|
|
|
<option value="day">Day</option>
|
|
|
|
|
<option value="weekly">Weekly</option>
|
|
|
|
|
<option value="monthly">Monthly</option>
|
|
|
|
|
<option value="date_range">Date range</option>
|
|
|
|
|
</select>
|
|
|
|
|
<span id="day_input">
|
|
|
|
|
<input
|
|
|
|
|
type="date"
|
|
|
|
|
class="mb-2 float-end pointer oh-select"
|
|
|
|
|
id="attendance_month"
|
|
|
|
|
onchange="changeMonth()"
|
|
|
|
|
style="width: 100px; color: #5e5c5c"
|
|
|
|
|
/>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="oh-card-dashboard__body">
|
|
|
|
|
<canvas id="dailyAnalytic" style="cursor: pointer"></canvas>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
{% endif %} {% if request.user|is_reportingmanager or perms.attendance.view_attendance %}
|
|
|
|
|
<div
|
|
|
|
|
class="col-12 col-sm-12 col-md-12 col-lg-6 oh-card-dashboard--moveable"
|
|
|
|
|
id="pendingHours"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard oh-card-dashboard--no-scale oh-card-dashboard--transparent"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard__header oh-card-dashboard__header--divider"
|
|
|
|
|
id="pendingHoursHeader"
|
2023-10-17 10:04:53 +05:30
|
|
|
>
|
2023-11-13 12:29:11 +05:30
|
|
|
<div class="oh-card-dashboard__title mb-2">
|
|
|
|
|
{% trans "Hours Chart" %}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="d-flex justify-content-between mb-2">
|
2023-10-13 16:28:17 +05:30
|
|
|
<input
|
2023-11-13 12:29:11 +05:30
|
|
|
type="month"
|
2023-10-13 16:28:17 +05:30
|
|
|
class="mb-2 float-end pointer oh-select"
|
2023-11-13 12:29:11 +05:30
|
|
|
id="hourAccountMonth"
|
|
|
|
|
onchange="dynamicMonth($(this))"
|
|
|
|
|
style="width: 100px; color: #5e5c5c"
|
2023-10-13 16:28:17 +05:30
|
|
|
/>
|
2023-11-06 12:15:41 +05:30
|
|
|
</div>
|
2023-11-13 12:29:11 +05:30
|
|
|
<div class="oh-card-dashboard__body">
|
|
|
|
|
<canvas
|
|
|
|
|
id="pendingHoursCanvas"
|
|
|
|
|
style="cursor: pointer"
|
|
|
|
|
></canvas>
|
2023-10-13 14:34:52 +05:30
|
|
|
</div>
|
|
|
|
|
</div>
|
2023-05-10 15:06:57 +05:30
|
|
|
</div>
|
|
|
|
|
</div>
|
2023-11-13 12:29:11 +05:30
|
|
|
{% endif %} {% if request.user|is_reportingmanager or perms.attendance.view_employee %}
|
2023-10-13 14:34:52 +05:30
|
|
|
<div
|
|
|
|
|
class="col-12 col-sm-12 col-md-12 col-lg-4 oh-card-dashboard--moveable"
|
|
|
|
|
id="movable5"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard oh-card-dashboard--no-scale oh-card-dashboard--transparent"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard__header oh-card-dashboard__header--divider"
|
|
|
|
|
>
|
|
|
|
|
<span class="oh-card-dashboard__title"
|
|
|
|
|
>{% trans "Employees Chart" %}</span
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="oh-card-dashboard__body">
|
2023-11-13 12:29:11 +05:30
|
|
|
<canvas id="totalEmployees" style="cursor: pointer"></canvas>
|
2023-10-13 14:34:52 +05:30
|
|
|
</div>
|
2023-05-10 15:06:57 +05:30
|
|
|
</div>
|
|
|
|
|
</div>
|
2023-11-13 12:29:11 +05:30
|
|
|
{% endif %} {% if perms.employee.view_employee or request.user|is_reportingmanager %}
|
2023-10-13 14:34:52 +05:30
|
|
|
<div
|
|
|
|
|
class="col-12 col-sm-12 col-md-12 col-lg-4 oh-card-dashboard--moveable"
|
|
|
|
|
id="movable6"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard oh-card-dashboard--no-scale oh-card-dashboard--transparent"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard__header oh-card-dashboard__header--divider"
|
|
|
|
|
>
|
|
|
|
|
<span class="oh-card-dashboard__title"
|
|
|
|
|
>{% trans "Department Chart" %}</span
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="oh-card-dashboard__body">
|
2023-11-13 12:29:11 +05:30
|
|
|
<canvas id="departmentChart" style="cursor: pointer"></canvas>
|
2023-10-13 14:34:52 +05:30
|
|
|
</div>
|
2023-05-10 15:06:57 +05:30
|
|
|
</div>
|
|
|
|
|
</div>
|
2023-11-13 12:29:11 +05:30
|
|
|
{% endif %} {% if perms.employee.view_employee or request.user|is_reportingmanager %}
|
2023-10-13 14:34:52 +05:30
|
|
|
<div
|
|
|
|
|
class="col-12 col-sm-12 col-md-12 col-lg-4 oh-card-dashboard--moveable"
|
|
|
|
|
id="movable7"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard oh-card-dashboard--no-scale oh-card-dashboard--transparent"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard__header oh-card-dashboard__header--divider"
|
|
|
|
|
>
|
|
|
|
|
<span class="oh-card-dashboard__title"
|
|
|
|
|
>{% trans "Gender Chart" %}</span
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="oh-card-dashboard__body">
|
|
|
|
|
<canvas id="genderChart" style="cursor: pointer"></canvas>
|
|
|
|
|
</div>
|
2023-05-10 15:06:57 +05:30
|
|
|
</div>
|
2023-10-13 14:34:52 +05:30
|
|
|
</div>
|
2023-11-13 12:29:11 +05:30
|
|
|
{% endif %} {% if perms.pms.view_employeeobjective or request.user|is_reportingmanager %}
|
2023-10-13 14:34:52 +05:30
|
|
|
<div
|
|
|
|
|
class="col-12 col-sm-12 col-md-12 col-lg-4 oh-card-dashboard--moveable"
|
|
|
|
|
id="movable9"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard oh-card-dashboard--no-scale oh-card-dashboard--transparent"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard__header oh-card-dashboard__header--divider"
|
|
|
|
|
>
|
|
|
|
|
<span class="oh-card-dashboard__title"
|
|
|
|
|
>{% trans "Objective status" %}</span
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="oh-card-dashboard__body">
|
2023-11-13 12:29:11 +05:30
|
|
|
<canvas id="objectiveChart" style="cursor: pointer"></canvas>
|
2023-10-13 14:34:52 +05:30
|
|
|
</div>
|
2023-05-10 15:06:57 +05:30
|
|
|
</div>
|
|
|
|
|
</div>
|
2023-11-13 12:29:11 +05:30
|
|
|
{% endif %} {% if perms.pms.view_employeekeyresult or request.user|is_reportingmanager %}
|
2023-10-13 14:34:52 +05:30
|
|
|
<div
|
|
|
|
|
class="col-12 col-sm-12 col-md-12 col-lg-4 oh-card-dashboard--moveable"
|
|
|
|
|
id="movable10"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard oh-card-dashboard--no-scale oh-card-dashboard--transparent"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard__header oh-card-dashboard__header--divider"
|
|
|
|
|
>
|
|
|
|
|
<span class="oh-card-dashboard__title"
|
|
|
|
|
>{% trans "Key result status" %}</span
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="oh-card-dashboard__body">
|
2023-11-13 12:29:11 +05:30
|
|
|
<canvas id="keyResultChart" style="cursor: pointer"></canvas>
|
2023-10-13 14:34:52 +05:30
|
|
|
</div>
|
2023-05-10 15:06:57 +05:30
|
|
|
</div>
|
|
|
|
|
</div>
|
2023-11-13 12:29:11 +05:30
|
|
|
{% endif %} {% if perms.pms.view_feedback or request.user|is_reportingmanager %}
|
2023-10-13 14:34:52 +05:30
|
|
|
<div
|
2023-10-13 16:28:17 +05:30
|
|
|
class="col-12 col-sm-12 col-md-12 col-lg-4 oh-card-dashboard--moveable"
|
2023-10-13 14:34:52 +05:30
|
|
|
id="movable11"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard oh-card-dashboard--no-scale oh-card-dashboard--transparent"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard__header oh-card-dashboard__header--divider"
|
|
|
|
|
>
|
|
|
|
|
<span class="oh-card-dashboard__title"
|
2023-11-13 12:29:11 +05:30
|
|
|
>{% trans "Feedback Status" %}</span
|
2023-10-13 14:34:52 +05:30
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="oh-card-dashboard__body">
|
2023-10-13 16:28:17 +05:30
|
|
|
<div class="oh-card-dashboard__body">
|
|
|
|
|
<canvas id="feedbackChart" style="cursor: pointer"></canvas>
|
|
|
|
|
</div>
|
2023-10-13 14:34:52 +05:30
|
|
|
</div>
|
2023-08-01 16:49:53 +05:30
|
|
|
</div>
|
|
|
|
|
</div>
|
2023-10-13 14:34:52 +05:30
|
|
|
{% endif %}
|
2023-05-10 15:06:57 +05:30
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2023-08-22 13:56:22 +05:30
|
|
|
{% if perms.leave.view_leaverequest or request.user|is_reportingmanager%}
|
2023-10-13 14:34:52 +05:30
|
|
|
<div class="oh-dashboard__right col-12 col-sm-12 col-md-12 col-lg-3">
|
2023-08-22 13:56:22 +05:30
|
|
|
<div class="oh-dashboard__events">
|
2023-10-13 14:34:52 +05:30
|
|
|
<div
|
|
|
|
|
class="oh-dashbaord__events-reel w-100"
|
|
|
|
|
id="birthdayContainer"
|
|
|
|
|
></div>
|
2023-08-22 13:56:22 +05:30
|
|
|
<ul class="oh-dashboard__events-nav" id="birthdayDots">
|
2023-10-13 14:34:52 +05:30
|
|
|
{% comment %}
|
|
|
|
|
<li
|
|
|
|
|
class="oh-dashboard__events-nav-item oh-dashboard__events-nav-item--active"
|
|
|
|
|
data-target="0"
|
|
|
|
|
></li>
|
2023-08-22 13:56:22 +05:30
|
|
|
<li class="oh-dashboard__events-nav-item" data-target="1"></li>
|
2023-10-13 14:34:52 +05:30
|
|
|
<li class="oh-dashboard__events-nav-item" data-target="2"></li>
|
|
|
|
|
{% endcomment %}
|
2023-08-22 13:56:22 +05:30
|
|
|
</ul>
|
|
|
|
|
</div>
|
2023-10-13 14:34:52 +05:30
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard oh-card-dashboard--no-scale oh-card-dashboard--transparent"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
class="oh-card-dashboard__header oh-card-dashboard__header--divider"
|
|
|
|
|
>
|
2023-08-22 13:56:22 +05:30
|
|
|
<span class="oh-card-dashboard__title">{% trans "On Leave" %}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="oh-card-dashboard__body">
|
2023-10-13 14:34:52 +05:30
|
|
|
<ul class="oh-card-dashboard__user-list" id="leaveEmployee"></ul>
|
2023-08-22 13:56:22 +05:30
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
{% endif %}
|
2023-05-10 15:06:57 +05:30
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</main>
|
|
|
|
|
|
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
|
|
|
|
|
|
|
|
|
{% if perms.recruitment.view_recruitment or request.user|is_stagemanager %}
|
|
|
|
|
<script src="{% static 'dashboard/recruitmentChart.js' %}"></script>
|
2023-11-13 12:29:11 +05:30
|
|
|
{% endif %} {% if perms.employee.view_employee or request.user|is_reportingmanager %}
|
2023-05-10 15:06:57 +05:30
|
|
|
<script src="{% static 'dashboard/employeeChart.js' %}"></script>
|
|
|
|
|
<script src="{% static 'dashboard/getBirthday.js' %}"></script>
|
2023-11-13 12:29:11 +05:30
|
|
|
{% endif %} {% if perms.employee.view_attendance or request.user|is_reportingmanager %}
|
2023-05-10 15:06:57 +05:30
|
|
|
<script src="{% static 'dashboard/attendanceChart.js' %}"></script>
|
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
|
|
<!-- leave dashboard -->
|
|
|
|
|
<script src="{% static 'dashboard/leaveChart.js' %}"></script>
|
|
|
|
|
<!-- onbaording dashboard -->
|
|
|
|
|
<script src="{% static 'dashboard/onboardChart.js' %}"></script>
|
|
|
|
|
|
2023-10-27 13:17:00 +05:30
|
|
|
<!-- PMS chart -->
|
2023-08-22 13:56:22 +05:30
|
|
|
<script src="{% static 'src/dashboard/pmsChart.js' %}"></script>
|
|
|
|
|
<script>
|
|
|
|
|
$(document).ready(function () {
|
2023-11-13 12:29:11 +05:30
|
|
|
var tileOrder = []
|
|
|
|
|
$.each(
|
|
|
|
|
$(".oh-card-dashboard--moveable"),
|
|
|
|
|
function (indexInArray, valueOfElement) {
|
|
|
|
|
tileOrder.push($(valueOfElement).attr("id"));
|
|
|
|
|
}
|
|
|
|
|
);
|
2023-11-16 14:43:06 +05:30
|
|
|
// localStorage.setItem("tileOrder", JSON.stringify(tileOrder));
|
2023-11-13 12:29:11 +05:30
|
|
|
|
2023-08-22 13:56:22 +05:30
|
|
|
function orderDashboardTile() {
|
2023-10-13 14:34:52 +05:30
|
|
|
var orderIds = JSON.parse(localStorage.getItem("tileOrder"));
|
|
|
|
|
const parentContainer = $("#tileContainer");
|
2023-08-22 13:56:22 +05:30
|
|
|
if (orderIds != null) {
|
|
|
|
|
const sortedElements = [];
|
|
|
|
|
|
|
|
|
|
// Loop through the desired order of IDs
|
|
|
|
|
for (const id of orderIds) {
|
2023-10-13 14:34:52 +05:30
|
|
|
const element = $("#" + id);
|
2023-08-22 13:56:22 +05:30
|
|
|
if (element.length) {
|
|
|
|
|
sortedElements.push(element);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Clear the parent container
|
|
|
|
|
parentContainer.empty();
|
|
|
|
|
|
|
|
|
|
// Append the sorted elements to the parent container
|
|
|
|
|
for (const element of sortedElements) {
|
|
|
|
|
parentContainer.append(element);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-10-13 14:34:52 +05:30
|
|
|
orderDashboardTile();
|
2023-08-22 13:56:22 +05:30
|
|
|
$(".oh-card-dashboard--moveable").mouseup(function () {
|
2023-10-13 14:34:52 +05:30
|
|
|
var tileOrder = [];
|
|
|
|
|
setTimeout((e) => {
|
|
|
|
|
$.each(
|
|
|
|
|
$(".oh-card-dashboard--moveable"),
|
|
|
|
|
function (indexInArray, valueOfElement) {
|
|
|
|
|
tileOrder.push($(valueOfElement).attr("id"));
|
|
|
|
|
}
|
|
|
|
|
);
|
2023-08-22 13:56:22 +05:30
|
|
|
localStorage.setItem("tileOrder", JSON.stringify(tileOrder));
|
2023-11-16 14:43:06 +05:30
|
|
|
}, 10);
|
2023-08-22 13:56:22 +05:30
|
|
|
});
|
|
|
|
|
});
|
2023-10-13 14:34:52 +05:30
|
|
|
</script>
|