Server IP : 162.214.80.37 / Your IP : 216.73.216.83 Web Server : Apache System : Linux sh013.webhostingservices.com 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 User : imyrqtmy ( 2189) PHP Version : 8.2.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0750) : /home2/imyrqtmy/public_html/thesmarthands/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
<?php session_start(); $se = $_SESSION["id"]; if (!isset($_SESSION['id'])) { header("Location: login.php"); } include("inc/config.php"); ?> <!DOCTYPE html> <html lang="en"> <?php require "inc/head.php"; ?> <body> <!-- header--> <?php require "inc/header.php"; ?> <!-- End Main-content Top bar--> <!-- main-content--> <div class="wrapper"> <?php require "inc/sidebar.php"; ?> <div id="content"> <div class="row mb-4"> <div class="col-12 col-sm-12"> <div class="row"> <div class="col-12 col-md-12 mb-4"> <div class="card redial-border-light redial-shadow"> <div class="card-body" style="overflow: visible;"> <div class="card redial-border-light redial-shadow mb-4"> <div class="card-body"> <h6 class="header-title pl-3 redial-relative">Task Form</h6> <?php $id = $_GET['id']; $query = "SELECT * FROM tasks WHERE id='$id'"; $query_run =mysqli_query($conn, $query); if(mysqli_num_rows($query_run) > 0){ foreach($query_run as $row){ ?> <form action="add_task.php" method="post" enctype="multipart/form-data"> <input type="hidden" name="id" value="<?php echo $row['id']; ?>"> <input type="hidden" name="status" value="Active" class="form-control"> <div class="row mb-3"> <div class="col-12 col-sm-2 text-sm-right align-self-center"> <label class="redial-font-weight-600 mb-3">PO No.</label> </div> <div class="col-12 col-sm-10"> <div class="row"> <div class="col-12 col-sm-12 mb-3"> <input type="text" name="po_no" value="<?php echo $row['po_no']; ?>" class="form-control" placeholder="Po No."> </div> </div> </div> <div class="col-12 col-sm-2 text-sm-right align-self-center"> <label class="redial-font-weight-600 mb-3">Project Name</label> </div> <div class="col-12 col-sm-10"> <div class="row"> <div class="col-12 col-sm-4"> <div class="form-group"> <select name="project_name" class="fancy-select form-control"> <?php $project_query = "SELECT * FROM projects"; $project_query_run = mysqli_query($conn, $project_query); if (mysqli_num_rows($project_query_run) > 0) { while ($project = mysqli_fetch_assoc($project_query_run)) { // Pre-select the project based on the task's project_id $selected = ($row['project_name'] == $project['id']) ? 'selected' : ''; ?> <option value="<?php echo $project['id']; ?>" <?php echo $selected; ?>> <?php echo $project['project_name']; ?> </option> <?php } } ?> </select> </div> </div> <!-- </div> --> <div class="col-12 col-sm-8"> <input type="text" name="task_name" value="<?php echo $row['task_name']; ?>" class="form-control" placeholder="Task Name"> </div> </div> </div> <!-- Employee Name --> <div class="col-12 col-sm-2 text-sm-right align-self-center"> <label class="redial-font-weight-600 mb-3">Employee Name</label> </div> <div class="col-12 col-sm-10"> <div class="col-12 col-sm-4"> <div class="form-group" style="margin-left: -15px;"> <select name="emp_name" id="emp_name" class="form-control"> <option value="" disabled>Select Employee</option> <?php $employee_query = "SELECT * FROM employees"; $employee_query_run = mysqli_query($conn, $employee_query); if (mysqli_num_rows($employee_query_run) > 0) { while ($employee = mysqli_fetch_assoc($employee_query_run)) { $full_name = $employee['femp_name'] . ' ' . $employee['lemp_name']; // Pre-select the employee based on the emp_name value in the task $selected = ($row['emp_name'] == $full_name) ? 'selected' : ''; ?> <option value="<?php echo $full_name; ?>" <?php echo $selected; ?> data-erh="<?php echo $employee['erh']; ?>" data-trvl-rate="<?php echo $employee['trvl_rate']; ?>" data-milage-rate="<?php echo $employee['mileage']; ?>"> <?php echo $full_name; ?> </option> <?php } } ?> </select> </div> </div> <!-- </div> --> <div class="col-12 col-sm-3 text-sm-right align-self-center"> <label class="redial-font-weight-600 mb-3">Employee Hour Rate</label> </div> <div class="col-12 col-sm-5"> <div class="form-group"> <input type="text" name="erh" id="erh" class="form-control" value="<?php echo $row['erh']; ?>" placeholder="Hour Rate" readonly> </div> </div> </div> <div class="col-12 col-sm-2 text-sm-right align-self-center"> <label class="redial-font-weight-600 mb-3">Travel Time Rate</label> </div> <div class="col-12 col-sm-10"> <div class="col-12 col-sm-4"> <div class="form-group"> <input type="text" name="trvl_time_rate" id="trvl_time_rate" value="<?php echo $row['trvl_time_rate']; ?>" class="form-control" placeholder="Travel Time Rate" readonly> </div> </div> <div class="col-12 col-sm-3 text-sm-right align-self-center"> <label class="redial-font-weight-600 mb-3">Mileage Rate</label> </div> <div class="col-12 col-sm-5"> <div class="form-group"> <input type="text" name="milage_rate" id="milage_rate" class="form-control" placeholder="Milage Rate" readonly> </div> </div> </div> <!-- </div> --> <div class="col-12 col-sm-2 text-sm-right align-self-center"> <label class="redial-font-weight-600 mb-3">Start Date & Time</label> </div> <div class="col-12 col-sm-10"> <div class="row mb-2"> <div class="col-12 col-sm-4"> <input type="datetime-local" id="start_datetime" name="start_datetime" value="<?php echo $row['start_datetime']; ?>" class="form-control"> </div> <div class="col-12 col-sm-3 text-sm-right align-self-center"> <label class="redial-font-weight-600 mb-3">End Date & Time</label> </div> <div class="col-12 col-sm-5"> <input type="datetime-local" id="end_datetime" name="end_datetime" value="<?php echo $row['end_datetime']; ?>" class="form-control"> </div> </div> </div> <div class="col-12 col-sm-2 text-sm-right align-self-center"> <label class="redial-font-weight-600 mb-3">Total Time (Hours)</label> </div> <div class="col-12 col-sm-10"> <div class="row mb-2"> <div class="col-12 col-sm-4"> <input type="text" id="total_time" name="total_time" value="<?php echo $row['total_time']; ?>" class="form-control" placeholder="Total Time"> </div> <div class="col-12 col-sm-3 text-sm-right align-self-center"> <label class="redial-font-weight-600 mb-3">Total Amount</label> </div> <div class="col-12 col-sm-5"> <input type="text" class="form-control" id="total_amt" name="total_amt" value="<?php echo $row['total_amt']; ?>" class="form-control" placeholder="Total Amount" readonly> </div> </div> </div> <div class="col-12 col-sm-2 text-sm-right align-self-center"> <label class="redial-font-weight-600 mb-3">Travel Time hour</label> </div> <div class="col-12 col-sm-10"> <div class="row mb-2"> <div class="col-12 col-sm-4"> <input type="text" id="total_trvl_time" name="total_trvl_time" value="<?php echo $row['total_trvl_time']; ?>" class="form-control" placeholder="Total Travel Time"> </div> <div class="col-12 col-sm-3 text-sm-right align-self-center"> <label class="redial-font-weight-600 mb-3">Total Amount</label> </div> <div class="col-12 col-sm-5"> <input type="text" class="form-control" id="total_trvl_amt" name="total_trvl_amt" value="<?php echo $row['total_trvl_amt']; ?>" class="form-control" placeholder="Total Travel Amount" readonly> </div> </div> </div> <!-- milage --> <div class="col-12 col-sm-2 text-sm-right align-self-center"> <label class="redial-font-weight-600 mb-3">Travel Mileage Hour</label> </div> <div class="col-12 col-sm-10"> <div class="row mb-2"> <div class="col-12 col-sm-4"> <input type="text" id="total_milage_time" name="total_milage_time" value="<?php echo $row['total_milage_time']; ?>" class="form-control" placeholder="Total Travel Time"> </div> <div class="col-12 col-sm-3 text-sm-right align-self-center"> <label class="redial-font-weight-600 mb-3">Total Mileage Amount</label> </div> <div class="col-12 col-sm-5"> <input type="text" class="form-control" id="total_milage_amt" name="total_milage_amt" value="<?php echo $row['total_milage_amt']; ?>" class="form-control" placeholder="Total Travel Amount" readonly> </div> </div> </div> <div class="col-12 col-sm-2 text-sm-right align-self-center"> <label class="redial-font-weight-600 mb-3">Extra Expenses</label> </div> <div class="col-12 col-sm-10"> <div class="row mb-2"> <div class="col-10 col-sm-4"> <input type="text" id="extra_expenses" name="extra_expenses" value="<?php echo $row['extra_expenses']; ?>" class="form-control" placeholder="Extra Expenses"> </div> <div class="col-12 col-sm-3 text-sm-right align-self-center"> <label class="redial-font-weight-600 mb-3">Remark</label> </div> <div class="col-12 col-sm-5"> <input type="text" class="form-control" id="remark" name="remark" value="<?php echo $row['remark']; ?>" class="form-control" placeholder="Remark"> </div> </div> </div> <div class="col-12 col-sm-2 text-sm-right align-self-center"> <label class="redial-font-weight-600 mb-3">Attachment</label> </div> <div class="col-12 col-sm-10"> <div class="row mb-2"> <div class="col-12 col-sm-4"> <input type="file" id="attachment" name="attachment" class="form-control" placeholder="Attachment"> <input type="hidden" name="attachment_old" value="<?php echo $row['attachment']; ?>" > </div> <div class="col-12 col-sm-2"> <a href="<?php echo $row['attachment']; ?>" target="_blank">View PDF</a> <!-- <embed src="<?php echo "attachment/".$row['attachment']; ?>" width="200px" height="50px" /> --> </div> </div> </div> <div class="col-12 col-sm-2 text-sm-right align-self-center"> <label class="redial-font-weight-600 mb-3">Grand Total</label> </div> <div class="col-12 col-sm-10"> <div class="row mb-2"> <div class="col-12 col-sm-4"> <input type="text" id="grand_total" name="grand_total" value="<?php echo $row['grand_total']; ?>" class="form-control" placeholder="Grand Total" readonly> <!-- <input type="text" id="grand_total" name="grand_total" class="form-control" placeholder="Grand Total" readonly> --> </div> <button type="button" id="calculateBtn" class="btn btn-outline-primary">Calculate Grand Total</button> </div> </div> </div> <div class="btn-group mb-2" style="margin-left: 39%;"> <button type="submit" name="update_task" class="btn btn-outline-success">Update Task</button> </div> </form> <?php }} ?> </div> </div> </div> </div> </div> </div> </div> </div> <!-- grand Total --><script> document.addEventListener("DOMContentLoaded", function() { // Function to calculate the grand total function calculateGrandTotal() { var totalAmt = parseFloat(document.getElementById("total_amt").value) || 0; var totalTrvlAmt = parseFloat(document.getElementById("total_trvl_amt").value) || 0; var totalMilageAmt = parseFloat(document.getElementById("total_milage_amt").value) || 0; // Calculate grand total var grandTotal = totalAmt + totalTrvlAmt + totalMilageAmt; // Update the grand total field document.getElementById("grand_total").value = grandTotal.toFixed(2); } // Event listener for the Calculate button document.getElementById("calculateBtn").addEventListener('click', function() { calculateGrandTotal(); // Calculate total when button is clicked }); // Optionally, you can still trigger the calculation when the form is submitted document.getElementById("taskForm").addEventListener('submit', function(event) { calculateGrandTotal(); // Ensure grand total is calculated before form submission }); }); </script> <!-- grand total --> <!-- milage --> <script> // Wait for the DOM to be fully loaded document.addEventListener('DOMContentLoaded', function () { // Get the relevant input fields const mileageInput = document.getElementById('milage_rate'); const totalMileageTimeInput = document.getElementById('total_milage_time'); const totalMileageAmtInput = document.getElementById('total_milage_amt'); // Listen for input in the total_mileage_time field totalMileageTimeInput.addEventListener('input', function () { const mileageRate = parseFloat(mileageInput.value) || 0; // Get mileage rate, default to 0 if empty const totalMileageTime = parseFloat(totalMileageTimeInput.value) || 0; // Get mileage time, default to 0 if empty // Calculate the total mileage amount const totalMileageAmt = mileageRate * totalMileageTime; // Display the result in the total_mileage_amt field totalMileageAmtInput.value = totalMileageAmt.toFixed(2); // Limit to 2 decimal places }); }); </script> <!-- milage --> <script> document.addEventListener('DOMContentLoaded', function () { const empNameDropdown = document.getElementById('emp_name'); const trvlRateField = document.getElementById('trvl_time_rate'); const totalTrvlTimeField = document.getElementById('total_trvl_time'); const totalTrvlAmtField = document.getElementById('total_trvl_amt'); // Event listener for Employee Name dropdown change empNameDropdown.addEventListener('change', function () { const selectedOption = this.options[this.selectedIndex]; const trvlRate = selectedOption.getAttribute('data-trvl-rate'); // Populate the Travel Time Rate field if (trvlRate) { trvlRateField.value = trvlRate; } else { trvlRateField.value = ''; // Clear the field if no rate is found } // Clear Total Travel Amount when employee changes totalTrvlAmtField.value = ''; }); // Event listener for Total Travel Time input totalTrvlTimeField.addEventListener('input', function () { const trvlRate = parseFloat(trvlRateField.value) || 0; // Travel Rate from Employee const totalTrvlTime = parseFloat(this.value) || 0; // Total Travel Time input value // Calculate Total Travel Amount const totalTrvlAmt = trvlRate * totalTrvlTime; // Populate Total Travel Amount field totalTrvlAmtField.value = totalTrvlAmt.toFixed(2); // Show result with 2 decimal places }); }); </script> <script> document.addEventListener('DOMContentLoaded', function () { const empNameDropdown = document.getElementById('emp_name'); const trvlRateField = document.getElementById('trvl_time_rate'); const totalTrvlTimeField = document.getElementById('total_trvl_time'); const totalTrvlAmtField = document.getElementById('total_trvl_amt'); // Event listener for Employee Name dropdown change empNameDropdown.addEventListener('change', function () { const selectedOption = this.options[this.selectedIndex]; const trvlRate = selectedOption.getAttribute('data-trvl-rate'); // Populate the Travel Time Rate field if (trvlRate) { trvlRateField.value = trvlRate; } else { trvlRateField.value = ''; // Clear the field if no rate is found } // Clear Total Travel Amount when employee changes totalTrvlAmtField.value = ''; }); // Event listener for Total Travel Time input totalTrvlTimeField.addEventListener('input', function () { const trvlRate = parseFloat(trvlRateField.value) || 0; // Travel Rate from Employee const totalTrvlTime = parseFloat(this.value) || 0; // Total Travel Time input value // Calculate Total Travel Amount const totalTrvlAmt = trvlRate * totalTrvlTime; // Populate Total Travel Amount field totalTrvlAmtField.value = totalTrvlAmt.toFixed(2); // Show result with 2 decimal places }); }); </script> <script> document.addEventListener('DOMContentLoaded', function () { const empNameDropdown = document.getElementById('emp_name'); const erhField = document.getElementById('erh'); const trvlRateField = document.getElementById('trvl_time_rate'); const milageRateField = document.getElementById('milage_rate'); // Add a change event listener to the dropdown empNameDropdown.addEventListener('change', function () { // Get the selected option const selectedOption = this.options[this.selectedIndex]; // Retrieve the 'data-erh', 'data-trvl-rate', and 'data-milage-rate' attributes const erhValue = selectedOption.getAttribute('data-erh'); const trvlRateValue = selectedOption.getAttribute('data-trvl-rate'); const milageRateValue = selectedOption.getAttribute('data-milage-rate'); // Populate the respective fields erhField.value = erhValue ? erhValue : ''; // Set value or clear if not found trvlRateField.value = trvlRateValue ? trvlRateValue : ''; // Set value or clear if not found milageRateField.value = milageRateValue ? milageRateValue : ''; // Set value or clear if not found }); }); </script> </div> </div> <!-- End main-content--> <!-- Top To Bottom--> <a href="#" class="scrollup text-center redial-bg-primary redial-rounded-circle-50"> <h4 class="text-white mb-0"><i class="icofont icofont-long-arrow-up"></i></h4> </a> <!-- End Top To Bottom--> <!-- Chat--> <!-- End Chat--> <!-- jQuery --> <script> document.addEventListener('DOMContentLoaded', function () { const startDateTimeInput = document.getElementById('start_datetime'); const endDateTimeInput = document.getElementById('end_datetime'); const totalTimeInput = document.getElementById('total_time'); function calculateTotalTime() { const startDateTime = startDateTimeInput.value; const endDateTime = endDateTimeInput.value; if (startDateTime && endDateTime) { const start = new Date(startDateTime); const end = new Date(endDateTime); if (end > start) { const diffMs = end - start; // Difference in milliseconds const diffDays = Math.floor(diffMs / (1000 * 60 * 60 * 24)); const diffHrs = Math.floor((diffMs % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); const diffMins = Math.floor((diffMs % (1000 * 60 * 60)) / (1000 * 60)); totalTimeInput.value = `${diffDays}d ${diffHrs}h ${diffMins}m`; } else { alert('End date and time must be after start date and time'); totalTimeInput.value = ''; } } } endDateTimeInput.addEventListener('change', calculateTotalTime); }); </script> <!-- total Amt --> <script> document.addEventListener('DOMContentLoaded', function () { const startDatetimeInput = document.getElementById('start_datetime'); const endDatetimeInput = document.getElementById('end_datetime'); const totalTimeInput = document.getElementById('total_time'); const erhInput = document.getElementById('erh'); const totalAmtInput = document.getElementById('total_amt'); const empNameSelect = document.getElementById('emp_name'); // Calculate total time in hours function calculateTotalTime() { const start = new Date(startDatetimeInput.value); const end = new Date(endDatetimeInput.value); if (start && end && start < end) { const diffMs = end - start; // Difference in milliseconds const diffHours = diffMs / (1000 * 60 * 60); // Convert to hours totalTimeInput.value = diffHours.toFixed(2); // Display 2 decimal places return diffHours; } else { totalTimeInput.value = ''; return 0; } } // Calculate total amount function calculateTotalAmt() { const totalTime = calculateTotalTime(); const hourlyRate = parseFloat(erhInput.value) || 0; const totalAmt = totalTime * hourlyRate; totalAmtInput.value = totalAmt.toFixed(2); // Display 2 decimal places } // Update hourly rate on employee selection change empNameSelect.addEventListener('change', function () { const selectedOption = empNameSelect.options[empNameSelect.selectedIndex]; erhInput.value = selectedOption.getAttribute('data-erh') || 0; calculateTotalAmt(); }); // Recalculate total amount on start/end datetime changes startDatetimeInput.addEventListener('change', calculateTotalAmt); endDatetimeInput.addEventListener('change', calculateTotalAmt); }); </script> <!-- end total amt --> <script src="dist/js/plugins.min.js"></script> <script src="dist/js/common.js"></script> </body> </html>