35583-vm/index.php
Flatlogic Bot 4708a2f224 1.1
2025-11-09 02:29:45 +00:00

191 lines
9.0 KiB
PHP

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>RedSolutions CRM</title>
<meta name="description" content="RedSolutions CRM - Built with Flatlogic Generator">
<meta name="keywords" content="crm, redsolutions, business management, proposals, work orders, dispatch, field service, flatlogic">
<meta property="og:title" content="RedSolutions CRM">
<meta property="og:description" content="A modern CRM for managing your business operations.">
<meta property="og:image" content="">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="">
<!-- Bootstrap 5 CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Bootstrap Icons -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<!-- Custom CSS -->
<link rel="stylesheet" href="assets/css/custom.css?v=<?php echo time(); ?>">
</head>
<?php
require_once 'db/config.php';
require_once 'includes/functions.php';
$all_work_orders = get_all_work_orders();
$kpis = get_kpis($all_work_orders);
$active_jobs = get_work_orders_by_status('In Progress');
$pending_dispatch = get_work_orders_by_status('Pending Dispatch');
?>
<body>
<div class="sidebar">
<div class="logo">RedSolutions</div>
<ul class="nav flex-column">
<li class="nav-item">
<a class="nav-link active" href="#"><i class="bi bi-grid-fill me-2"></i> Overview</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#"><i class="bi bi-file-earmark-text-fill me-2"></i> Proposals</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#"><i class="bi bi-truck me-2"></i> Dispatch</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#"><i class="bi bi-list-check me-2"></i> Work Orders</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#"><i class="bi bi-people-fill me-2"></i> CRM</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#"><i class="bi bi-folder-fill me-2"></i> Documents</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#"><i class="bi bi-robot me-2"></i> AI Assistant</a>
</li>
</ul>
</div>
<div class="main-content">
<header class="header">
<h1>Dashboard</h1>
<button class="btn btn-primary"><i class="bi bi-plus-lg me-2"></i> Create Work Order</button>
</header>
<!-- KPI Cards -->
<div class="row">
<div class="col-md-3">
<div class="card kpi-card">
<div class="card-body">
<div class="d-flex align-items-center">
<div class="kpi-icon bg-primary-soft">
<i class="bi bi-list-check"></i>
</div>
<div class="ms-3">
<h3 class="kpi-value"><?php echo count($active_jobs); ?></h3>
<span class="kpi-title">Active Jobs</span>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card kpi-card">
<div class="card-body">
<div class="d-flex align-items-center">
<div class="kpi-icon bg-warning-soft">
<i class="bi bi-clock-history"></i>
</div>
<div class="ms-3">
<h3 class="kpi-value"><?php echo count($pending_dispatch); ?></h3>
<span class="kpi-title">Pending Dispatch</span>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card kpi-card">
<div class="card-body">
<div class="d-flex align-items-center">
<div class="kpi-icon bg-success-soft">
<i class="bi bi-check-circle"></i>
</div>
<div class="ms-3">
<h3 class="kpi-value"><?php echo $kpis['completion_rate']; ?>%</h3>
<span class="kpi-title">Completed Rate</span>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card kpi-card">
<div class="card-body">
<div class="d-flex align-items-center">
<div class="kpi-icon bg-info-soft">
<i class="bi bi-briefcase"></i>
</div>
<div class="ms-3">
<h3 class="kpi-value"><?php echo $kpis['total_jobs']; ?></h3>
<span class="kpi-title">Total Jobs</span>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Main Dashboard Cards -->
<div class="row mt-4">
<div class="col-md-7">
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<span>Active Jobs</span>
<a href="#" class="btn btn-sm btn-outline-secondary">View All</a>
</div>
<div class="card-body">
<ul class="list-group list-group-flush">
<?php if (empty($active_jobs)): ?>
<li class="list-group-item">No active jobs.</li>
<?php else: ?>
<?php foreach ($active_jobs as $job): ?>
<li class="list-group-item d-flex justify-content-between align-items-center">
<div>
<h6 class="mb-0">WO-<?php echo str_pad($job['id'], 5, '0', STR_PAD_LEFT); ?>: <?php echo htmlspecialchars($job['job_type']); ?></h6>
<small class="text-muted">Customer: <?php echo htmlspecialchars($job['customer_name']); ?> | Technician: <?php echo htmlspecialchars($job['technician'] ?? 'N/A'); ?></small>
</div>
<span class="badge bg-primary-soft text-primary"><?php echo htmlspecialchars($job['status']); ?></span>
</li>
<?php endforeach; ?>
<?php endif; ?>
</ul>
</div>
</div>
</div>
<div class="col-md-5">
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<span>Pending Dispatch</span>
<a href="#" class="btn btn-sm btn-outline-secondary">View All</a>
</div>
<div class="card-body">
<ul class="list-group list-group-flush">
<?php if (empty($pending_dispatch)): ?>
<li class="list-group-item">No jobs pending dispatch.</li>
<?php else: ?>
<?php foreach ($pending_dispatch as $job): ?>
<li class="list-group-item d-flex justify-content-between align-items-center">
<div>
<h6 class="mb-0">WO-<?php echo str_pad($job['id'], 5, '0', STR_PAD_LEFT); ?>: <?php echo htmlspecialchars($job['job_type']); ?></h6>
<small class="text-muted">Customer: <?php echo htmlspecialchars($job['customer_name']); ?></small>
</div>
<button class="btn btn-sm btn-primary">Dispatch</button>
</li>
<?php endforeach; ?>
<?php endif; ?>
</ul>
</div>
</div>
</div>
</div>
</div>
<!-- Bootstrap 5 JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<!-- Custom JS -->
<script src="assets/js/main.js?v=<?php echo time(); ?>"></script>
</body>
</html>