{% extends "base.html" %} {% block title %}Staff Allocation - Architecture PM System{% endblock %} {% block content %}
| ID | Project | Milestone | Employee | Role | Category | Hours Allocated | Hours Worked | Utilization % | Rate (AED/hr) | Cost (AED) | Skill Match | Availability | Performance | Start Date | End Date | Actions |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ alloc.allocation_id }} | {{ alloc.project_id }} | {{ alloc.milestone_name or '-' }} |
{{ alloc.employee_name }}
{{ alloc.employee_id }} |
{{ alloc.role }} | {{ alloc.category or '-' }} | {{ alloc.hours_allocated }} | {{ alloc.hours_worked }} |
{% set utilization = (alloc.hours_worked / alloc.hours_allocated * 100) if alloc.hours_allocated > 0 else 0 %}
|
{{ alloc.hourly_rate_aed }} | {{ "{:,.2f}".format(alloc.hours_worked * alloc.hourly_rate_aed) }} | {% if alloc.skill_match_score %} {{ alloc.skill_match_score }} {% else %} - {% endif %} | {% if alloc.availability_status == 'AVAILABLE' %} Available {% elif alloc.availability_status == 'BUSY' %} Busy {% elif alloc.availability_status == 'PARTIALLY_AVAILABLE' %} Partial {% elif alloc.availability_status == 'ON_LEAVE' %} On Leave {% else %} {{ alloc.availability_status or '-' }} {% endif %} | {% if alloc.performance_rating == 'EXCELLENT' %} ⭐⭐⭐⭐⭐ {% elif alloc.performance_rating == 'GOOD' %} ⭐⭐⭐⭐ {% elif alloc.performance_rating == 'AVERAGE' %} ⭐⭐⭐ {% elif alloc.performance_rating == 'NEEDS_IMPROVEMENT' %} ⭐⭐ {% elif alloc.performance_rating == 'POOR' %} ⭐ {% else %} - {% endif %} | {{ alloc.start_date }} | {{ alloc.end_date or '-' }} |