128 lines
4.7 KiB
Plaintext
128 lines
4.7 KiB
Plaintext
<div class="dashboard-container">
|
|
<div class="dashboard-header">
|
|
<h1>Company Dashboard</h1>
|
|
<div class="user-welcome">
|
|
Welcome back, <%= current_user.name %>!
|
|
<span class="user-role">(<%= current_user.role.humanize %>)</span>
|
|
<% if current_user.department %>
|
|
<span class="user-department">- <%= current_user.department.name %> Department</span>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="dashboard-content">
|
|
<div class="stats-section">
|
|
<h2>Statistics</h2>
|
|
|
|
<% case current_user.role %>
|
|
<% when 'admin' %>
|
|
<div class="stats-grid">
|
|
<div class="stat-card">
|
|
<div class="stat-number"><%= @total_tasks %></div>
|
|
<div class="stat-label">Total Tasks</div>
|
|
</div>
|
|
<div class="stat-card">
|
|
<div class="stat-number"><%= @open_tasks %></div>
|
|
<div class="stat-label">Open Tasks</div>
|
|
</div>
|
|
<div class="stat-card">
|
|
<div class="stat-number"><%= @urgent_tasks %></div>
|
|
<div class="stat-label">Urgent Tasks</div>
|
|
</div>
|
|
<div class="stat-card">
|
|
<div class="stat-number"><%= @departments.count %></div>
|
|
<div class="stat-label">Departments</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="departments-overview">
|
|
<h3>Departments Overview</h3>
|
|
<% @departments.each do |department| %>
|
|
<div class="dept-card">
|
|
<h4><%= department.name %></h4>
|
|
<div class="dept-stats">
|
|
<span><strong>Users:</strong> <%= department.users.count %></span>
|
|
<span><strong>Tasks:</strong> <%= department.tasks.count %></span>
|
|
<span><strong>Open:</strong> <%= department.tasks.open.count %></span>
|
|
</div>
|
|
</div>
|
|
<% end %>
|
|
</div>
|
|
|
|
<% when 'manager' %>
|
|
<div class="stats-grid">
|
|
<div class="stat-card">
|
|
<div class="stat-number"><%= @dept_tasks.count %></div>
|
|
<div class="stat-label">Department Tasks</div>
|
|
</div>
|
|
<div class="stat-card">
|
|
<div class="stat-number"><%= @open_tasks %></div>
|
|
<div class="stat-label">Open Tasks</div>
|
|
</div>
|
|
<div class="stat-card">
|
|
<div class="stat-number"><%= @urgent_tasks %></div>
|
|
<div class="stat-label">Urgent Tasks</div>
|
|
</div>
|
|
<div class="stat-card">
|
|
<div class="stat-number"><%= @team_members.count %></div>
|
|
<div class="stat-label">Team Members</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="team-overview">
|
|
<h3>Team Overview - <%= current_user.department.name %></h3>
|
|
<% @team_members.each do |member| %>
|
|
<div class="member-card">
|
|
<div class="member-name"><%= member.name %></div>
|
|
<div class="member-stats">
|
|
<span><strong>Assigned:</strong> <%= member.assigned_tasks.count %></span>
|
|
<span><strong>Open:</strong> <%= member.assigned_tasks.open.count %></span>
|
|
</div>
|
|
</div>
|
|
<% end %>
|
|
</div>
|
|
|
|
<% when 'employee' %>
|
|
<div class="stats-grid">
|
|
<div class="stat-card">
|
|
<div class="stat-number"><%= @my_tasks.count %></div>
|
|
<div class="stat-label">My Tasks</div>
|
|
</div>
|
|
<div class="stat-card">
|
|
<div class="stat-number"><%= @open_tasks %></div>
|
|
<div class="stat-label">Open Tasks</div>
|
|
</div>
|
|
<div class="stat-card">
|
|
<div class="stat-number"><%= @urgent_tasks %></div>
|
|
<div class="stat-label">Urgent Tasks</div>
|
|
</div>
|
|
<div class="stat-card">
|
|
<div class="stat-number"><%= @my_tasks.complete.count %></div>
|
|
<div class="stat-label">Completed</div>
|
|
</div>
|
|
</div>
|
|
<% end %>
|
|
</div>
|
|
|
|
<div class="recent-tasks-section">
|
|
<h2>Recent Tasks</h2>
|
|
<% if @recent_tasks.empty? %>
|
|
<p class="empty-state">No recent tasks found.</p>
|
|
<% else %>
|
|
<div class="tasks-list">
|
|
<% @recent_tasks.each do |task| %>
|
|
<%= render 'task', task: task %>
|
|
<% end %>
|
|
</div>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="dashboard-actions">
|
|
<%= link_to 'View All Tasks', tasks_path, class: 'action-btn primary' %>
|
|
<%= link_to 'Create New Task', new_task_path, class: 'action-btn success' %>
|
|
<% if current_user.admin? || current_user.manager? %>
|
|
<%= link_to 'Manage Departments', departments_path, class: 'action-btn secondary' %>
|
|
<% end %>
|
|
</div>
|
|
</div> |