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> <form action="add_task.php" method="post" enctype="multipart/form-data"> <input type="hidden" name="status" value="Complete" 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" 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 $query = "SELECT * FROM projects"; $query_run =mysqli_query($conn, $query); if(mysqli_num_rows($query_run) > 0){ foreach($query_run as $row){ ?> <option value="" disabled selected>Select Project</option> <option value="<?php echo $row['id'] ?>"><?php echo $row['project_name'] ?></option> <?php }} ?> </select> </div> </div> <div class="col-12 col-sm-8"> <input type="text" name="task_name" class="form-control" placeholder="Task Name"> </div> </div> </div> <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 selected>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']; ?> <option value="<?php echo $full_name; ?>" data-erh="<?php echo $employee['erh']; ?>" data-onbh_rate="<?php echo $employee['onbh_rate']; ?>" data-trvl-rate="<?php echo $employee['trvl_rate']; ?>" data-milage-rate="<?php echo $employee['mileage']; ?>"> <?php echo $full_name; ?> </option> <?php } } ?> </select> </div> </div> <input type="hidden" name="erh" id="erh"> <input type="hidden" name="onbh_rate" id="onbh_rate"> <div class="col-12 col-sm-3 text-sm-right align-self-center"> <label class="redial-font-weight-600 mb-3">Rate Type</label> </div> <div class="col-12 col-sm-5"> <select id="rate_type" class="form-control"> <option value="erh">Employee Hour Rate (ERH)</option> <option value="onbh_rate">On Behalf Rate (onbh)</option> </select> </div> <div class="col-12 col-sm-4"> <input type="text" id="rate_value" class="form-control" placeholder="Selected Rate" readonly> </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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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"> </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" 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="add_task" class="btn btn-outline-success">Add Task</button> </div> </form> </div> </div> </div> </div> </div> </div> </div> </div> <script> document.addEventListener("DOMContentLoaded", function () { let empDropdown = document.getElementById("emp_name"); let mileageRateInput = document.getElementById("milage_rate"); let totalMilageTimeInput = document.getElementById("total_milage_time"); let totalMilageAmtInput = document.getElementById("total_milage_amt"); let rateTypeDropdown = document.getElementById("rate_type"); let rateValueInput = document.getElementById("rate_value"); let totalTimeInput = document.getElementById("total_time"); let totalAmountInput = document.getElementById("total_amt"); function updateRateValues() { let selectedEmployee = empDropdown.options[empDropdown.selectedIndex]; let mileageRate = selectedEmployee.getAttribute("data-milage-rate"); mileageRateInput.value = mileageRate || ""; let selectedRateType = rateTypeDropdown.value; let rate = selectedRateType === "erh" ? selectedEmployee.getAttribute("data-erh") : selectedEmployee.getAttribute("data-onbh_rate"); rateValueInput.value = rate || ""; } function calculateTotalAmount() { let rate = parseFloat(rateValueInput.value) || 0; let totalTime = parseFloat(totalTimeInput.value) || 0; totalAmountInput.value = (rate * totalTime).toFixed(2); } function calculateTotalMileageAmount() { let mileageRate = parseFloat(mileageRateInput.value) || 0; let totalMilageTime = parseFloat(totalMilageTimeInput.value) || 0; totalMilageAmtInput.value = (mileageRate * totalMilageTime).toFixed(2); } empDropdown.addEventListener("change", updateRateValues); rateTypeDropdown.addEventListener("change", updateRateValues); totalTimeInput.addEventListener("input", calculateTotalAmount); totalMilageTimeInput.addEventListener("input", calculateTotalMileageAmount); }); </script> <!-- 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; var extraExpenses = parseFloat(document.getElementById("extra_expenses").value) || 0; // Calculate grand total var grandTotal = totalAmt + totalTrvlAmt + totalMilageAmt + extraExpenses; // 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> document.addEventListener('DOMContentLoaded', function () { const mileageInput = document.getElementById('milage_rate'); const totalMileageTimeInput = document.getElementById('total_milage_time'); const totalMileageAmtInput = document.getElementById('total_milage_amt'); totalMileageTimeInput.addEventListener('input', function () { const mileageRate = parseFloat(mileageInput.value) || 0; const totalMileageTime = parseFloat(totalMileageTimeInput.value) || 0; const totalMileageAmt = mileageRate * totalMileageTime; totalMileageAmtInput.value = totalMileageAmt.toFixed(2); }); }); </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'); empNameDropdown.addEventListener('change', function () { const selectedOption = this.options[this.selectedIndex]; const trvlRate = selectedOption.getAttribute('data-trvl-rate'); if (trvlRate) { trvlRateField.value = trvlRate; } else { trvlRateField.value = ''; } totalTrvlAmtField.value = ''; }); totalTrvlTimeField.addEventListener('input', function () { const trvlRate = parseFloat(trvlRateField.value) || 0; const totalTrvlTime = parseFloat(this.value) || 0; const totalTrvlAmt = trvlRate * totalTrvlTime; totalTrvlAmtField.value = totalTrvlAmt.toFixed(2); }); }); </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'); empNameDropdown.addEventListener('change', function () { const selectedOption = this.options[this.selectedIndex]; const trvlRate = selectedOption.getAttribute('data-trvl-rate'); if (trvlRate) { trvlRateField.value = trvlRate; } else { trvlRateField.value = ''; } totalTrvlAmtField.value = ''; }); totalTrvlTimeField.addEventListener('input', function () { const trvlRate = parseFloat(trvlRateField.value) || 0; const totalTrvlTime = parseFloat(this.value) || 0; const totalTrvlAmt = trvlRate * totalTrvlTime; totalTrvlAmtField.value = totalTrvlAmt.toFixed(2); }); }); </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'); // empNameDropdown.addEventListener('change', function () { // const selectedOption = this.options[this.selectedIndex]; // const erhValue = selectedOption.getAttribute('data-erh'); // const trvlRateValue = selectedOption.getAttribute('data-trvl-rate'); // const milageRateValue = selectedOption.getAttribute('data-milage-rate'); // erhField.value = erhValue ? erhValue : ''; // trvlRateField.value = trvlRateValue ? trvlRateValue : ''; // milageRateField.value = milageRateValue ? milageRateValue : ''; // }); // }); document.addEventListener('DOMContentLoaded', function () { const empNameDropdown = document.getElementById('emp_name'); const rateTypeDropdown = document.getElementById('rate_type'); const rateValueField = document.getElementById('rate_value'); // Selected rate value field const erhField = document.getElementById('erh'); const onbhField = document.getElementById('onbh_rate'); empNameDropdown.addEventListener('change', updateSelectedRate); rateTypeDropdown.addEventListener('change', updateSelectedRate); function updateSelectedRate() { const selectedOption = empNameDropdown.options[empNameDropdown.selectedIndex]; const selectedRateType = rateTypeDropdown.value; // Get the values from selected employee const erhValue = selectedOption.getAttribute('data-erh') || 0; const onbhValue = selectedOption.getAttribute('data-onbh_rate') || 0; // Set the input values based on selected rate type if (selectedRateType === 'erh') { rateValueField.value = erhValue; erhField.value = erhValue; // Store ERH onbhField.value = ''; // Clear ONBH } else if (selectedRateType === 'onbh_rate') { rateValueField.value = onbhValue; onbhField.value = onbhValue; // Store ONBH erhField.value = ''; // Clear ERH } } }); </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> <script> document.addEventListener('DOMContentLoaded', function () { const empNameSelect = document.getElementById('emp_name'); const rateTypeSelect = document.getElementById('rate_type'); const rateValueInput = document.getElementById('rate_value'); const travelRateInput = document.getElementById('trvl_time_rate'); const mileageRateInput = document.getElementById('milage_rate'); const startDatetimeInput = document.getElementById('start_datetime'); const endDatetimeInput = document.getElementById('end_datetime'); const totalTimeInput = document.getElementById('total_time'); const totalAmtInput = document.getElementById('total_amt'); const totalTravelTimeInput = document.getElementById('total_trvl_time'); const totalTravelAmtInput = document.getElementById('total_trvl_amt'); const totalMileageTimeInput = document.getElementById('total_milage_time'); const totalMileageAmtInput = document.getElementById('total_milage_amt'); const extraExpensesInput = document.getElementById('extra_expenses'); const grandTotalInput = document.getElementById('grand_total'); const calculateBtn = document.getElementById('calculateBtn'); function calculateTotalTime(startInput, endInput, outputInput) { const start = new Date(startInput.value); const end = new Date(endInput.value); if (start && end && start < end) { const diffHours = (end - start) / (1000 * 60 * 60); outputInput.value = diffHours.toFixed(2); return diffHours; } else { outputInput.value = ''; return 0; } } function updateEmployeeRates() { const selectedOption = empNameSelect.options[empNameSelect.selectedIndex]; const rateType = rateTypeSelect.value; let hourlyRate = rateType === 'erh' ? parseFloat(selectedOption.getAttribute('data-erh')) || 0 : parseFloat(selectedOption.getAttribute('data-onbh_rate')) || 0; rateValueInput.value = hourlyRate.toFixed(2); travelRateInput.value = (parseFloat(selectedOption.getAttribute('data-trvl-rate')) || 0).toFixed(2); mileageRateInput.value = (parseFloat(selectedOption.getAttribute('data-milage-rate')) || 0).toFixed(2); calculateTotalAmount(); } function calculateTotalAmount() { const totalTime = calculateTotalTime(startDatetimeInput, endDatetimeInput, totalTimeInput); const hourlyRate = parseFloat(rateValueInput.value) || 0; totalAmtInput.value = (totalTime * hourlyRate).toFixed(2); } function calculateTravelAmount() { const totalTravelTime = parseFloat(totalTravelTimeInput.value) || 0; const travelRate = parseFloat(travelRateInput.value) || 0; totalTravelAmtInput.value = (totalTravelTime * travelRate).toFixed(2); } function calculateMileageAmount() { const totalMileageTime = parseFloat(totalMileageTimeInput.value) || 0; const mileageRate = parseFloat(mileageRateInput.value) || 0; totalMileageAmtInput.value = (totalMileageTime * mileageRate).toFixed(2); } function calculateGrandTotal() { const totalAmt = parseFloat(totalAmtInput.value) || 0; const totalTravelAmt = parseFloat(totalTravelAmtInput.value) || 0; const totalMileageAmt = parseFloat(totalMileageAmtInput.value) || 0; const extraExpenses = parseFloat(extraExpensesInput.value) || 0; // Extra Expenses included grandTotalInput.value = (totalAmt + totalTravelAmt + totalMileageAmt + extraExpenses).toFixed(2); } empNameSelect.addEventListener('change', updateEmployeeRates); rateTypeSelect.addEventListener('change', updateEmployeeRates); startDatetimeInput.addEventListener('change', calculateTotalAmount); endDatetimeInput.addEventListener('change', calculateTotalAmount); totalTravelTimeInput.addEventListener('input', calculateTravelAmount); totalMileageTimeInput.addEventListener('input', calculateMileageAmount); extraExpensesInput.addEventListener('input', calculateGrandTotal); calculateBtn.addEventListener('click', calculateGrandTotal); }); </script> <script src="dist/js/plugins.min.js"></script> <script src="dist/js/common.js"></script> </body> </html>