recon/application/views/corporate/tmc_recon.php
2025-04-02 15:39:08 +05:30

1488 lines
70 KiB
PHP

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>TMC Recon</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta content="A fully featured admin theme which can be used to build CRM, CMS, etc." name="description" />
<meta content="Coderthemes" name="author" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- App favicon -->
<!-- <link rel="shortcut icon" href="<?php echo base_url(); ?>assets/images/favicon.ico">-->
<link rel='shortcut icon' href=assets/images/tsplogo2.png>
<!-- third party css -->
<link href="<?php echo base_url(); ?>assets/libs/datatables.net-bs4/css/dataTables.bootstrap4.min.css" rel="stylesheet" type="text/css" />
<link href="<?php echo base_url(); ?>assets/libs/datatables.net-responsive-bs4/css/responsive.bootstrap4.min.css" rel="stylesheet" type="text/css" />
<link href="<?php echo base_url(); ?>assets/libs/datatables.net-buttons-bs4/css/buttons.bootstrap4.min.css" rel="stylesheet" type="text/css" />
<link href="<?php echo base_url(); ?>assets/libs/datatables.net-select-bs4/css//select.bootstrap4.min.css" rel="stylesheet" type="text/css" />
<!-- third party css end -->
<!-- Plugins css -->
<link href="<?php echo base_url(); ?>assets/libs/bootstrap-colorpicker/css/bootstrap-colorpicker.min.css" rel="stylesheet" type="text/css" />
<link href="<?php echo base_url(); ?>assets/libs/clockpicker/bootstrap-clockpicker.min.css" rel="stylesheet" type="text/css" />
<link href="<?php echo base_url(); ?>assets/libs/bootstrap-datepicker/css/bootstrap-datepicker.min.css" rel="stylesheet" type="text/css" />
<link href="<?php echo base_url(); ?>assets/libs/bootstrap-daterangepicker/daterangepicker.css" rel="stylesheet" type="text/css">
<!-- App css -->
<link href="<?php echo base_url(); ?>assets/css/bootstrap-creative.min.css" rel="stylesheet" type="text/css" id="bs-default-stylesheet" />
<link href="<?php echo base_url(); ?>assets/css/app-creative.min.css" rel="stylesheet" type="text/css" id="app-default-stylesheet" />
<link href="<?php echo base_url(); ?>assets/css/bootstrap-creative-dark.min.css" rel="stylesheet" type="text/css" id="bs-dark-stylesheet" />
<link href="<?php echo base_url(); ?>assets/css/app-creative-dark.min.css" rel="stylesheet" type="text/css" id="app-dark-stylesheet" />
<!-- icons -->
<link href="<?php echo base_url(); ?>assets/css/icons.min.css" rel="stylesheet" type="text/css" />
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<!-- Include the StickyTableHeaders plugin -->
<!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/StickyTableHeaders/0.1.1/jquery.stickytableheaders.min.js"></script> -->
<style>
.text-end{
text-align: right;
}
.dataTable tbody td {
padding-right: 20px;
}
/* .dropdown-menu {
position: absolute !important;
will-change: transform !important;
transform: translate3d(0px, 0px, 0px) !important;
top: auto !important;
left: auto !important;
} */
.mb25 {
margin-bottom: 25px;
}
.required {
color: red;
}
#bs-select-1 {
max-height: 150px !important;
overflow-y: auto !important;
}
/* .left {} */
/* .form-group {
font-size: 11px;
padding: 5px;
} */
.body {
font-size: 12px;
}
.table {
font-size: 12px;
border-spacing: 0px;
}
th::before {
margin-top: -16px !important;
top: 6px !important;
margin-right: -3px !important;
}
th::after{
/* display: inline-block; */
/* text-align: center; */
top: -2px !important;
margin-right: -3px !important;
}
.mb-3, .my-3 {
margin-top: -23px;
margin-bottom: -27px !important;
}
.formLabel{
margin-bottom: 0rem !important;
}
label {
display: inline-block;
margin-bottom: 2.5rem;
}
.table tr,
table td {
padding: 5px;
line-height: 2;
/* Adjust the line-height as needed for tighter cell spacing */
}
.table tbody {
position: relative;
overflow: auto;
/* max-height: 400px; */
width: 100%;
/* font-weight: bold; */
}
.table thead th {
vertical-align: middle;
}
.dataTables_scrollBody {
/* max-height: 390px; */
width: 1129px;
}
.footer {
padding-top: 9px;
padding-right: 17px;
padding-bottom: 2px;
padding-left: 17px;
}
.form-group {
margin-bottom: -2rem;
}
.table td,
.table th {
padding: 0.10rem;
}
/* Style the container for the table with a fixed header */
/* Style the container for the table with a fixed header */
/* .btn-group>.btn {
position: absolute;
flex: 1 1 auto;
} */
/* .btn {
margin-left: 60px;
margin-top: -94px;
} */
#closeModal{
margin-left: 60px;
margin-top: -1px !important;
}
/* .dataTables_filter {
margin-top: -94px;
margin-right: 874px;
} */
.page-title {
margin-top: -18px;
}
#scroll-horizontal-datatable_filter label {
margin-top: -5px;
}
#viewOrDeleteDropdown{
/* margin-top: -14px; */
}
/* .btn ,.dropdown-toggle,.btn-light
{
margin-left:8px;
}
*/
.dropdown-toggle {
margin-left: 8px;
/* margin-top: -10px; */
}
/* div.dataTables_wrapper div.dataTables_paginate ul.pagination {
margin: 11px 0;
} */
/* .dataTables_length{
margin-top: -31px;
padding-left: 19px;
} */
</style>
</head>
<body class="loading" data-layout-mode="horizontal" data-layout='{"mode": "light", "width": "fluid", "menuPosition": "fixed", "topbar": {"color": "dark"}, "showRightSidebarOnPageLoad": true}'>
<!-- Begin page -->
<div id="wrapper">
<?php include('includes/top_nav.php'); ?>
<!-- ============================================================== -->
<!-- Start Page Content here -->
<!-- ============================================================== -->
<!-- <div class="content-page"> -->
<!-- <div class="content"> -->
<!-- Start Content-->
<!-- start page title -->
<!-- <div class="row">
<div class="col-12">
<div class="page-title-box page-title-box-alt">
<h4 class="page-title">GSTR2A</h4>
<div class="page-title-right">
<ol class="breadcrumb m-0">
<li class="breadcrumb-item"><a href="javascript: void(0);">Reconciliation</a></li>
<li class="breadcrumb-item active">GSTR2A</li>
</ol>
</div>
</div>
</div>
</div> -->
<!-- end page title -->
<!-- <div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<div class="row" style="margin-bottom:30px;">
<form class="col-md-12" id="formid">
<div class="row">
<div class="col-12"style="margin-bottom:30px;">
<div class="page-title-box page-title-box-alt">
<h4 class="page-title">GSTR2A</h4>
<div class="page-title-right">
<ol class="breadcrumb m-0">
<li class="breadcrumb-item"><a href="javascript: void(0);">Reconciliation</a></li>
<li class="breadcrumb-item active">GSTR2A</li>
</ol>
</div>
</div>
</div>
</div> -->
<div class="row">
<div class="col-12">
<div class="page-title-box page-title-box-alt">
<h4 class="page-title">Gstr2a</h4>
<div class="page-title-right">
<ol class="breadcrumb m-0">
<li class="breadcrumb-item"><a href="javascript: void(0);">Reconciliation</a></li>
<li class="breadcrumb-item active">Gstr2a</li>
</ol>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<div style="margin-bottom: 2.5rem" class="row">
<form class="col-md-12" id="formid">
<div class="form-row">
<!--
<div class="form-group col-md-2">
<label for="inputEmail4" class="col-form-label">GST No</label>
<select name="gst_no" class="form-control">
<?php
// foreach($gstno_list->result() as $gstno_i){
// echo '<option>'.$gstno_i->gn_gstno.'</option>';
// }
?>
</select>
</div>
-->
<div class="form-group col-md-6" ><h4 class="page-title">TMC RECON</h4><br></div>
<div class="form-group col-md-6 d-flex justify-content-end align-items-center">
<!-- <label class="formLabel" for="from"> FROM &nbsp;&nbsp</label>
<input type="date" id="from" name="from" value="2020-01-01">
&nbsp;&nbsp;
<label class="formLabel" for="TO" > TO &nbsp;&nbsp</label>
<input type="date" id="TO" name="to" value="2023-01-01" &nbsp;&nbsp;="">
&nbsp;&nbsp;&nbsp;
<label for="inputPassword4" class="col-form-label"></label>
<button style="margin-top:-6px;margin-left: -3px;font-size:10px;" type="submit" class="btn btn-primary">Submit</button><br> -->
<div class="col-md-5"></div>
<div class="col-md-5 d-flex justify-content-end">
<input class="form-control input-daterange-datepicker" type="text" name="date" value="<?php echo $selected_data; ?>" />
</div>
<div class="col-md-2 d-flex justify-content-start">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
<!-- <div class="form-group col-md-3" style="margin-top:-7px;"id="hidden-dropdown"> -->
<div class="modal fade" id="columnModal" tabindex="-1" role="dialog" aria-labelledby="columnModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="columnModalLabel">Select Column to Display</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body" style="margin-top: 10px;">
<label for="selectColumn" style="margin-bottom:3.5rem">Select Column:</label>
<select style="overflow-y:scroll" name="column_name" id="column_name" class="form-control selectpicker" multiple>
<option selected="selected" value="1">TICKET NO</option>
<option selected="selected" value="2">DOC </option>
<option selected="selected" value="3">PAX NAME</option>
<!-- <option selected="selected" value="3">REF NO</option> -->
<option selected="selected" value="5">TOTAL TKT</option>
<option selected="selected" value="6">INV NUM</option>
<option selected="selected" value="7">INV AMT</option>
<option selected="selected" value="8">INV DATE</option>
<option selected="selected" value="9">TMC INV NUM</option>
<option value="10">BILLING ENTITY</option>
<option selected="selected" value="11">CARRIER</option>
<option selected="selected" value="12">SECTOR</option>
<option selected="selected" value="13">CABIN CLASS</option>
<option selected="selected" value="14">NET FARE</option>
<option selected="selected" value="15">REMARKS</option>
<option selected="selected" value="16">ACTION</option>
<!-- <option selected="selected" value="0">Icon for Select Option</option> -->
</select>
</div>
<div class="modal-footer" style="margin-top:39px;">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" id="applyColumn">Apply Column</button>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
<div class="table-container">
<table id="scroll-horizontal-datatable" class="table table-striped nowrap w-100">
<!-- <button id="toggle-column-modal-button" class="btn btn-link" data-toggle="modal" data-target="#columnModal" style="
margin-top: -106px;
margin-left: 10px;;
">
<i class="fa fa-eye"></i> </button> -->
<!--
<table id="scroll-horizontal-datatable" class="table w-100 nowrap"> -->
<thead>
<tr>
<th>
<!-- <button id="toggle-column-modal-button" class="btn btn-link" data-toggle="modal" data-target="#columnModal">
<i class="fa fa-eye"></i> </button> -->
<th>TICKET NO</th>
<th>DOC</th>
<th>PASSENGER NAME</th>
<th>AIRLINE</th>
<th>TOT TKT</th>
<th>INV NUM</th>
<th>INV AMT </th>
<th>INV DATE</th>
<th>TMC INV NO</th>
<th>BILLING ENTITY</th>
<th>CARRIER</th>
<th>SECTOR</th>
<th>CLASS</th>
<th>NET FARE</th>
<th>REMARKS</th>
<th>ACTION</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<div class="modal fade" id="columnModal" tabindex="-1" role="dialog" aria-labelledby="columnModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="columnModalLabel">Select Column to Display</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<label for="selectColumn">Select Column:</label>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" id="applyColumn">Apply Column</button>
</div>
</div>
</div>
</div>
</div> <!-- end card body-->
</div> <!-- end card -->
</div><!-- end col-->
</div>
<!-- end row-->
<!-- </div> container -->
<!-- </div> content -->
<input type="hidden" id="refval" />
<input type="hidden" id="refval_gst_tkt" />
<?php include('includes/footer.php'); ?>
</div>
<button id="view_modal_btn" style="display:none" type="button" data-toggle='modal' data-target="#view_modal"><i class="fa fa-upload"></i>&nbsp;&nbsp;View modal</button>
<div id="view_modal" class="modal fade" role="dialog">
<div class="modal-dialog modal-lg">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Associated Inovice Files</h4>
<button type="button" class="close" data-dismiss="modal">&times;</button>
</div>
<form id="usrforma" enctype="multipart/form-data" class="form-horizontal editform" style="padding:10px;">
<div class="modal-body">
<div id="modalContent"></div>
<div class="form-body">
<div class="form-group">
<div class="row" id="fieldcontent">
<div class="col-md-12" id="fielddiv1">
<div class="row">
<div class="col-md-4 mb25" id="">
<label>GST Inv Number<span class="required">*</span></label>
<input class="col-md-10" id="gstno_0" required type="text" name="in[0][gst_nub]" /> <a href="javascript:void(0)" onclick="getGstAmt(0)"><i class="fa fa-search"></i></a>
</div>
<div class="col-md-2 mb25" id="">
<label>Amount<span class="required">*</span></label>
<input readonly class="col-md-12" id="amtid_0" required type="text" name="in[0][amount]" />
<input class="col-md-12" id="manual_0" value="1" required type="hidden" name="in[0][manual]" />
<input class="col-md-12" id="gdid_0" value="" required type="hidden" name="in[0][gdid]" />
</div>
<div class="col-md-3 mb25">
<label>Airline Invoice<span class="required" id="fileidspan_0">*</span></label>
<input id="fileid_0" required type="file" name="in[0][invfile]" />
</div>
<div class="col-md-2 mb25">
<label>File</label>
<div id="airline_invoice_0"></div>
</div>
<div class="col-md-1 mb25">
<a id="minus1" onclick="removeinputs(1)" style="margin-top: 47px;color: red;margin-left: 4px " class="btn btn-default"><i class="fa fa-trash"></i></a>
</div>
</div>
</div>
</div>
<input type="hidden" id="tmc_ref" name="tmc_ref" value="" />
<div class="row" id="">
<div class="col-md-10">
</div>
<div class="col-md-2 mb25">
<a id="addfields" onclick="addfields()" class="btn btn-primary" ><i class="fa fa-plus"></i></a>
</div>
</div>
</div>
<div class="modal-footer">
<!-- <div class="row">
<div class="col-md-6 justify-content-end">
</div>
<div class="col-md-6 justify-content-end">
</div>
</div> -->
<button class="btn btn-primary" type="submit" id="formsubmit">Submit
</button>
<button type="button" id="addclose" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<input type="hidden" id="counter" name="counter" value="1" />
<input type="hidden" id="inv_1" />
<!-- ============================================================== -->
<!-- End Page content -->
<!-- ============================================================== -->
<!-- Vendor js -->
<script src="<?php echo base_url(); ?>assets/js/vendor.min.js"></script>
<!-- third party js -->
<script src="<?php echo base_url(); ?>assets/libs/datatables.net/js/jquery.dataTables.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-bs4/js/dataTables.bootstrap4.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-responsive/js/dataTables.responsive.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-responsive-bs4/js/responsive.bootstrap4.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-buttons/js/dataTables.buttons.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-buttons-bs4/js/buttons.bootstrap4.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-buttons/js/buttons.html5.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-buttons/js/buttons.flash.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-buttons/js/buttons.print.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-keytable/js/dataTables.keyTable.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/datatables.net-select/js/dataTables.select.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/pdfmake/build/pdfmake.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/pdfmake/build/vfs_fonts.js"></script>
<!-- Plugins js-->
<script src="<?php echo base_url(); ?>assets/libs/bootstrap-colorpicker/js/bootstrap-colorpicker.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/clockpicker/bootstrap-clockpicker.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/bootstrap-datepicker/js/bootstrap-datepicker.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/moment/min/moment.min.js"></script>
<script src="<?php echo base_url(); ?>assets/libs/bootstrap-daterangepicker/daterangepicker.js"></script>
<!-- <script src="<?php echo base_url(); ?>assets/js/pages/datatables.init.js"></script> -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/css/bootstrap-select.min.css">
<script src="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/js/bootstrap-select.min.js"></script>
<!-- App js -->
<script src="<?php echo base_url(); ?>assets/js/app.min.js"></script>
<script>
//******************************************************** ***************************/
// ************************** Date Picker*********************************************
//******************************************************** ***************************/
! function(n) {
"use strict";
function t() {}
t.prototype.init = function() {
n("#basic-colorpicker").colorpicker(), n("#hexa-colorpicker").colorpicker({
format: "auto"
}), n("#component-colorpicker").colorpicker({
format: null
}), n("#horizontal-colorpicker").colorpicker({
horizontal: !0
}), n("#inline-colorpicker").colorpicker({
color: "#DD0F20",
inline: !0,
container: !0
}), n(".clockpicker").clockpicker({
donetext: "Done"
}), n("#single-input").clockpicker({
placement: "bottom",
align: "left",
autoclose: !0,
default: "now"
}), n("#check-minutes").click(function(t) {
t.stopPropagation(), n("#single-input").clockpicker("show").clockpicker("toggleView", "minutes")
}), n(".input-daterange-datepicker").daterangepicker({
buttonClasses: ["btn", "btn-sm"],
applyClass: "btn-secondary",
cancelClass: "btn-primary"
}), n(".input-daterange-timepicker").daterangepicker({
timePicker: !0,
format: "MM/DD/YYYY h:mm A",
timePickerIncrement: 30,
timePicker12Hour: !0,
timePickerSeconds: !1,
buttonClasses: ["btn", "btn-sm"],
applyClass: "btn-secondary",
cancelClass: "btn-primary"
}), n(".input-limit-datepicker").daterangepicker({
format: "MM/DD/YYYY",
minDate: "06/01/2020",
maxDate: "06/30/2020",
buttonClasses: ["btn", "btn-sm"],
applyClass: "btn-secondary",
cancelClass: "btn-primary",
dateLimit: {
days: 6
}
}), n("#reportrange span").html(moment().subtract(29, "days").format("MMMM D, YYYY") + " - " + moment().format("MMMM D, YYYY")), n("#reportrange").daterangepicker({
format: "MM/DD/YYYY",
startDate: moment().subtract(29, "days"),
endDate: moment(),
minDate: "01/01/2020",
maxDate: `12/31/ ${ new Date().getFullYear() }`,
// dateLimit: {
// days: 60
// },
showDropdowns: !0,
showWeekNumbers: !0,
timePicker: !1,
timePickerIncrement: 1,
timePicker12Hour: !0,
ranges: {
Today: [moment(), moment()],
Yesterday: [moment().subtract(1, "days"), moment().subtract(1, "days")],
"Last 7 Days": [moment().subtract(6, "days"), moment()],
"Last 30 Days": [moment().subtract(29, "days"), moment()],
"This Month": [moment().startOf("month"), moment().endOf("month")],
"Last Month": [moment().subtract(1, "month").startOf("month"), moment().subtract(1, "month").endOf("month")]
},
opens: "left",
drops: "down",
buttonClasses: ["btn", "btn-sm"],
applyClass: "btn-success",
cancelClass: "btn-secondary",
separator: " to ",
locale: {
applyLabel: "Submit",
cancelLabel: "Cancel",
fromLabel: "From",
toLabel: "To",
customRangeLabel: "Custom",
daysOfWeek: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
firstDay: 1
}
}, function(t, e, o) {
console.log(t._d);
$('#fromdate').val(t._d)
console.log(e._d);
$('#todate').val(e._d)
console.log(t.toISOString(), e.toISOString(), o), n("#reportrange span").html(t.format("MMMM D, YYYY") + " - " + e.format("MMMM D, YYYY"))
})
}, n.FormPickers = new t, n.FormPickers.Constructor = t
}(window.jQuery),
function() {
"use strict";
window.jQuery.FormPickers.init()
}();
</script>
<script>
$('#usrforma').on('submit', function(e) {
e.preventDefault();
var formData = new FormData($("#usrforma")[0]);
$.ajax({
type: 'POST',
url: '<?php echo base_url('corporate/add_tmc_airline_invoices') ?>',
data: formData,
processData: false,
contentType: false,
cache: false,
async: false,
success: function(data) {
htmlData = '<div class="col-md-12" id="fielddiv1">' +
'<div class="row">' +
'<div class="col-md-6 mb25" id="">' +
'<label>GST Inv Number<span class="required">*</span></label>' +
'<input class="col-md-10" required id="gstno_0" type="text" name="in[0][gst_nub]"/> <a href="javascript:void(0)" onclick="getGstAmt(0)"><i class="fa fa-search"></i></a>' +
'</div>' +
'<div class="col-md-2 mb25" id="">' +
'<label>Amount<span class="required">*</span></label>' +
'<input class="col-md-12" id="amtid_0" required type="text" name="in[0][amount]"/>' +
'<input class="col-md-12" id="manual_0" value="1" required type="hidden" name="in[0][manual]"/>' +
'<input class="col-md-12" id="gdid_0" value="" required type="hidden" name="in[0][gdid]"/>' +
'</div>' +
'<div class="col-md-3 mb25">' +
'<label>Airline Invoice<span class="required" id="fileidspan_0">*</span></label>' +
'<input id="fileid_0" required type="file" name="in[0][invfile]"/>' +
'</div>' +
'<div class="col-md-2 mb25">' +
'<label>File</label>' +
'<div id="airline_invoice_0"></div>' +
'</div>' +
'<div class="col-md-1 mb25">' +
'<a id="minus1" onclick="removeinputs(1)" style="margin-top: 47px;color: red;margin-left: 4px; " class="btn btn-default"><i class="fa fa-trash"></i></a>' +
'</div>' +
'</div>' +
'</div>';
$('#fieldcontent').html(htmlData);
viewfn(data, 0);
},
error: function() {
alert('Request failed.');
}
})
})
function removeinputs(id) {
$('#fielddiv' + id).remove();
}
function getGstAmt(refid) {
if ($('#gstno_' + refid).val() != '') {
$.ajax({
url: '<?php echo base_url('corporate/getgstamt'); ?>',
type: 'POST',
data: {
refid: $('#gstno_' + refid).val()
},
success: function(data) {
var pdata = JSON.parse(data);
if (pdata.status == 1) {
$('#manual_' + refid).val(0);
$('#amtid_' + refid).val(pdata.amt);
$('#gdid_' + refid).val(pdata.gdid);
$('#amtid_' + refid).prop('readonly', true);
if (pdata.ti_file_name != '') {
$('#airline_invoice_' + refid).html('<a href="javascript:void(0)" onclick="tmcinvdownload(\'' + pdata.ti_file_name + '\')"/><i class="fa fa-download"></i></a>');
$('#fileid_' + refid).prop('required', false);
$('#fileidspan_' + refid).hide();
} else {
$('#airline_invoice_' + refid).html('');
$('#fileid_' + refid).prop('required', true);
$('#fileidspan_' + refid).show();
}
} else {
$('#manual_' + refid).val(1);
$('#amtid_' + refid).val('');
$('#gdid_' + refid).val('');
$('#amtid_' + refid).prop('readonly', false);
$('#airline_invoice_' + refid).html('');
}
}
})
}
}
function tmcinvdownload(refid) {
window.location = '<?php echo base_url('corporate/download_airline_invoice/'); ?>' + refid
}
function addfields() {
var c = parseInt($('#counter').val()) + 1;
$('#counter').val(c);
var r = c - 1;
var htmlData = '<div class="col-md-12" id="fielddiv' + c + '">' +
'<div class="row">' +
'<div class="col-md-4 mb25" id="">' +
'<label>GST Inv Number<span class="required">*</span></label>' +
'<input class="col-md-10" id="gstno_' + r + '" required type="text" name="in[' + r + '][gst_nub]"/> <a href="javascript:void(0)" onclick="getGstAmt(' + r + ')"><i class="fa fa-search"></i></a>' +
'</div>' +
'<div class="col-md-2 mb25" id="">' +
'<label>Amount<span class="required">*</span></label>' +
'<input class="col-md-12" required id="amtid_' + r + '" type="text" name="in[' + r + '][amount]"/>' +
'<input class="col-md-12" id="manual_' + r + '" value="1" required type="hidden" name="in[' + r + '][manual]"/>' +
'<input class="col-md-12" id="gdid_' + r + '" value="" required type="hidden" name="in[' + r + '][gdid]"/>' +
'</div>' +
'<div class="col-md-3 mb25">' +
'<label>Airline Invoice<span id="fileidspan_' + r + '" class="required">*</span></label>' +
'<input id="fileid_' + r + '" required type="file" name="in[' + r + '][invfile]"/>' +
'</div>' +
'<div class="col-md-2 mb25">' +
'<label>File</label>' +
'<div id="airline_invoice_' + r + '"></div>' +
'</div>' +
'<div class="col-md-1 mb25">' +
'<a id="minus1" onclick="removeinputs(' + c + ')" style="margin-top: 47px;color: red;margin-left: 4px " class="btn btn-default"><i class="fa fa-trash"></i></a>' +
'</div>' +
'</div>' +
'</div>';
$('#fieldcontent').append(htmlData);
}
function convert(str) {
var date = new Date(str),
mnth = ("0" + (date.getMonth() + 1)).slice(-2),
day = ("0" + date.getDate()).slice(-2);
return [date.getFullYear(), mnth, day].join("-");
}
$('#formid').submit(function(e) {
e.preventDefault();
console.log($("#from").val());
console.log($('#formid').serialize());
$.ajax({
url: '<?php echo base_url('corporate/gen_tmc_recon'); ?>',
type: 'POST',
data: $('#formid').serialize(),
success: function(data) {
oTable.clear();
var jsonData = JSON.parse(data);
console.log(jsonData);
var jd = jsonData.data;
var htmlData = '';
var i = 0;
var rowNode = oTable
.rows.add(jsonData.data)
.draw();
},
error: function() {
alert('Request failed. Kindly try after sometime.');
}
})
})
function viewfn(tdid, ref) {
$('#tmc_ref').val(tdid);
$.ajax({
url: '<?php echo base_url('corporate/get_tmc_airline_invoice'); ?>',
type: 'POST',
data: {
tdid: tdid
},
success: function(data) {
var htmlData = '';
var pdata1 = JSON.parse(data);
if (pdata1.status == 1) {
htmlData = '<div class="row">' +
'<div class="col-md-3 mb25">' +
'<label>GST Inv Number</label>' +
'</div>' +
'<div class="col-md-2 mb25">' +
'<label>Amount</label>' +
'</div>' +
'<div class="col-md-2 mb25">' +
'<label>Airline Invoice</label>' +
'</div>' +
'<div class="col-md-3 mb25">' +
'<label>Remarks</label>' +
'</div>' +
'</div>';
var pdata = pdata1.data;
var netttl = 0;
$.each(pdata, function(i) {
netttl += parseInt(pdata[i].ti_amount);
var fname = pdata[i].ti_file_name.split('___');
htmlData += '<div class="row">' +
'<div class="col-md-6 mb25">' +
'<label>' + pdata[i].ti_gst_nub + '</label>' +
'</div>' +
'<div class="col-md-6 mb25">' +
'<span>' + pdata[i].ti_amount + '</span>' +
'</div>' +
'<div class="col-md-6 mb25">' +
'<div><a href="<?php echo base_url('corporate/download_airline_invoice/') ?>' + pdata[i].ti_file_name + '" target="_blank"><i class="fa fa-download"></i></a></div>' +
'</div>' +
'<div class="col-md-6 mb25">';
if (pdata[i].gd_id == '')
htmlData += '<label>Not Filed</label>';
else
htmlData += '<label>Filed</label>';
htmlData += '</div>' +
'</div>';
});
htmlData += '<div class="row">' +
'<div class="col-md-6 mb25"><b>Total</b>' +
'</div>' +
'<div class="col-md-6 mb25">' +
'<span>' + netttl + '</span>' +
'</div>' +
'</div>';
htmlData += '<hr/>';
}
$('#modalContent').html(htmlData);
if (ref == 1)
$('#view_modal_btn').click();
},
error: function() {
alert('Request failed. Kindly try after sometime');
}
})
}
$(document).ready(function() {
oTable = $("#scroll-horizontal-datatable").DataTable({
scrollX: true,
"paging": true,
"lengthMenu": [10, 25, 50, 100],
"pageLength": 50,
lengthChange: true,
// dom: 'Bflrtip',
"dom": '<"row mb-3"<"col-md-4 d-flex justify-content-start align-items-center"l><"col-md-4 d-flex justify-content-end align-items-center"f><"col-md-4 d-flex justify-content-end align-self-start"B>>rtip',
buttons: [{
extend: "csvHtml5",
exportOptions: {
columns: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
}
},
{
text: "Columns",
action: function (e, dt, node, config) {
$('#columnModal').modal('show');
}
}
],
// buttons: [{
// extend: "excelHtml5",
// className: "btn-light"
// }
// // , {
// // extend: "print",
// // className: "btn-light"
// // }, {
// // extend: "pdf",
// // className: "btn-light"
// // }
scrollX: true,
language: {
paginate: {
previous: "<i class='mdi mdi-chevron-left'>",
next: "<i class='mdi mdi-chevron-right'>"
}
},
drawCallback: function() {
$(".dataTables_paginate > .pagination").addClass("pagination-rounded")
},
columns: [{
data: null,
defaultContent: '',
orderable: false
},
{
data: "td_tkt"
},
{
data: "td_doc_type"
},
{
data: "td_pax"
},
{
data: "td_segment"
},
{
data: "td_tkt_fare"
},
{
data: "inv"
},
{
data: "amt",
class: "text-end",
defaultContent: '',
render: function(data, type, row) {
if (data) {
// Convert the value to an integer (remove decimals)
return Math.floor(data); // or Math.round(data) if you want to round to the nearest integer
}
return '';
}
},
{
data: "tdate",
defaultContent: '',
render: function(data, type, row) {
if (data) {
// Parse the date using moment and format it as 'd-m-Y'
let formattedDate = moment(data).format('DD-MM-YYYY');
// Check if the date is valid
if (moment(data).isValid()) {
return formattedDate;
} else {
return ''; // Return an empty string if the date is invalid
}
}
return '';
}
},
{
data: "td_gst_inv"
},
{
data: "td_billing_entity"
},
{
data: "td_carrier"
},
{
data: "td_sector"
},
{
data: "td_cabin_class"
},
{
data: "td_net",
class: "text-end"
},
{
data: "d_remarks"
},
{
data: "td_id"
}
],
"columnDefs": [{
"targets": [11, 0,10],
"visible": false
},
{
"targets": 10,
"width": "12%",
"render": function(data, type, full, meta) {
if (data == '')
data = '';
// return ` ${data.length > 9 ? data.substring(0, 8) + ` <i class="fe-alert-circle"
// style="color: #000;"
// aria-hidden="true"
// data-toggle="tooltip"
// data-placement="top"
// title="${data}"></i>` : data}`
return ` ${data.length > 10 ?
`<span title="${data}">${data.substring(0, 9)}...</span>` :
data}`;
// return data;
}
},
// {
// "targets":3,
// "width": "12%",
// "render": function ( data, type, full, meta ) {
// if(data == '')
// data = '';
// return data;
// }
// },
{
"targets":4,
"width":"100",
"render":function(data,type,full,meta){
// console.log("airline data : ",full['td_segment']);
const airline_type = full['td_segment'];
// return ` ${airline_type.length > 3 ? airline_type.substring(0, 3) + ` <i class="fe-alert-circle"
// style="color: #000;"
// aria-hidden="true"
// data-toggle="tooltip"
// data-placement="top"
// title="${airline_type}"></i>` : airline_type}`
return ` ${airline_type.length > 3 ?
`<span title="${airline_type}">${airline_type.substring(0, 3)}...</span>` :
airline_type}`;
}
},
{
"targets":13,
"width":100,
"render":function(data,type,full,meta){
const cabin_class = full['td_cabin_class'] || '';
// return ` ${cabin_class.length > 3 ? cabin_class.substring(0, 3) + ` <i class="fe-alert-circle"
// style="color: #000;"
// aria-hidden="true"
// data-toggle="tooltip"
// data-placement="top"
// title="${cabin_class}"></i>` : cabin_class}`
return ` ${cabin_class.length > 3 ?
`<span title="${cabin_class}">${cabin_class.substring(0, 3)}...</span>` :
cabin_class}`;
}
},
{
"targets":12,
"width":100,
"render":function(data,type,full,meta){
const sector = full['td_sector'] || '';
// return ` ${sector.length > 7 ? sector.substring(0, 6) + `<i class="fe-alert-circle"
// style="color: #000;"
// aria-hidden="true"
// data-toggle="tooltip"
// data-placement="top"
// title="${sector}"></i>` : sector}`
return ` ${sector.length > 5 ?
`<span title="${sector}">${sector.substring(0, 5)}...</span>` :
sector}`;
}
},
{
"targets": 15,
"width": 300,
"render": function(data, type, full, meta) {
// console.log("Full invoice : ", full['inv']);
if (full['inv'] !== " ") {
var status = 'Invoice Received';
// return ` ${status.length > 10 ? status.substring(0, 10) + ` <i class="fe-alert-circle"
// style="color: #000;"
// aria-hidden="true"
// data-toggle="tooltip"
// data-placement="top"
// title="${status}"></i>` : status}`
return `<span title="${status}" class="cell-tooltip">${
status.length > 10 ? status.substring(0, 10) + '...' : status
}</span>`;
} else {
// Show d_remarks here
const remarks = full['d_remarks'] || '';
// return ` ${remarks.length > 10 ? remarks.substring(0, 10) + ` <i class="fe-alert-circle"
// style="color: #000;"
// aria-hidden="true"
// data-toggle="tooltip"
// data-placement="top"
// title="${remarks}"></i>` : remarks}`
return `<span title="${remarks}" class="cell-tooltip">${
remarks.length > 10 ? remarks.substring(0, 10) + '...' : remarks
}</span>`;
}
}
},
{
"targets": 16, // Automatically targets the last column
"width": 100,
"render": function(data, type, full, meta) {
if (full['inv'] && full['inv'].trim() !== "") {
return `
<div id = "viewOrDeleteDropdown" class="btn-group dropdown">
<a href="javascript:void(0);"
class="dropdown-toggle arrow-none btn btn-sm"
data-toggle="dropdown"
aria-expanded="false">
<i class="mdi mdi-dots-vertical"></i>
</a>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" href="#" onclick="viewinvfn('${full['td_tkt']}')">
<i class="fa fa-eye mr-2 text-muted font-12 vertical-middle"></i> View
</a>
</div>
</div>`;
} else {
return `
<div id = "viewOrDeleteDropdown" class="btn-group dropdown">
<a href="javascript:void(0);"
class="dropdown-toggle arrow-none btn btn-sm"
data-toggle="dropdown"
aria-expanded="false">
<i class="mdi mdi-dots-vertical"></i>
</a>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" href="#" onclick="viewinvfn('${full['td_tkt']}')">
<i class="fa fa-eye mr-2 text-muted font-12 vertical-middle"></i> View
</a>
<a class="dropdown-item" href="#" onclick="viewfn(${full['data'] || 0}, 1)">
<i class="fa fa-trash mr-2 text-muted font-12 vertical-middle"></i> Delete
</a>
</div>
</div>`;
}
}
},
{
"targets": 6,
"width": 300,
"render": function(data, type, full, meta) {
// Check if invoice number is available
if (data && data.trim() !== "") {
return '' + data; // Show invoice number
} else {
// Check if GST number is available
var gstNumber = full['ti_gst_nub'] || '';
if (gstNumber.trim() !== "") {
return ' ' + gstNumber; // Show GST number
} else {
return ''; // Both invoice and GST numbers are empty
}
}
}
},
{
"targets": 7,
"width": 300,
"render": function(data, type, full, meta) {
// Check if invoice number is available
if (data && data.trim() !== "") {
return '' + data; // Show invoice number
} else {
// Check if ti_amount is available
var tiAmount = full['ti_amount'] || '';
if (tiAmount.trim() !== "") {
return ' ' + tiAmount; // Show ti_amount
} else {
return ''; // Both invoice and ti_amount are empty
}
}
}
},
],
drawCallback: function() {
$('.dropdown-toggle', this.api().table().container()).dropdown({
popperConfig: {
placement: 'bottom-start', // Position below the button, aligned to the left
modifiers: {
preventOverflow: {
boundariesElement: 'viewport' // Ensure it stays within the viewport
},
flip: {
enabled: true // Allow flipping if it would overflow
}
},
container: 'body' // Append the dropdown to the <body>
}
});
}
});
oTable.buttons().container().appendTo("#scroll-horizontal-datatable_wrapper .col-md-6:eq(0)"), $("#alternative-page-datatable").DataTable({
pagingType: "full_numbers",
drawCallback: function() {
$(".dataTables_paginate > .pagination").addClass("pagination-rounded")
}
});
});
$('#column_name').selectpicker();
$('#column_name').change(function() {
var all_column = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14","15","16"];
var remove_column = $('#column_name').val();
var remaining_column = all_column.filter(function(obj) {
return remove_column.indexOf(obj) == -1;
});
oTable.columns(remove_column).visible(true);
oTable.columns(remaining_column).visible(false);
});
$(document).on("hidden.bs.dropdown", ".btn-group", function() {
var $menu = $(this).find(".dropdown-menu");
if (!$menu.parent().is(".btn-group")) {
$(this).append($menu.detach());
$menu.css({
"position": "",
"top": "",
"left": "",
"z-index": ""
});
}
});
function capitalize(s) {
str1 = s.replace(/\_/g, " ");
str1 = str1[0].toUpperCase() + str1.slice(1);
str1 = str1.replace(/\Pnr/g, "PNR ");
str1 = str1.replace(/\Hsn/g, "HSN ");
str1 = str1.replace(/\Cgst/g, "CGST ");
str1 = str1.replace(/\Igst/g, "IGST ");
str1 = str1.replace(/\Sgst/g, "SGST ");
str1 = str1.replace(/\gst/g, "GST ");
return str1;
}
function viewinvfn(tkt_no) {
$.ajax({
url: '<?php echo base_url('corporate/get_tic_gst1/') ?>',
data: {
inv_no: tkt_no
},
type: 'POST',
success: function(data) {
var Pdata = JSON.parse(data);
console.log(Pdata, "Pdata");
var modal_data = '';
modal_data = '<div class="row"><div class="col-md-4 col-lg-4"><b>Invoive Date</b><div style="float:right;">:</div></div><div class="col-md-8 col-lg-8">' + Pdata[0]['invoice_dt'] + '</div></div>';
delete Pdata[0].sno;
delete Pdata[0].sl;
delete Pdata[0].invoice_dt;
delete Pdata[0].invdt;
delete Pdata[0].batch_id;
Object.keys(Pdata[0]).forEach((element) => {
console.log(element);
modal_data += '<div class="row"><div class="col-md-4 col-lg-4"><b>' + capitalize(element) + '</b><div style="float:right;">:</div></div><div class="col-md-8 col-lg-8">' + Pdata[0][element] + '</div></div>'
});
$('#scrollableModalTitle').html(Pdata[0].invoice_no);
$('#inv_getdata').html(modal_data);
$('#scrollable-modal').modal('show');
},
error: function() {
}
})
};
$(document).ready(function() {
return $.ajax({
url: '<?php echo base_url('corporate/get_inv_no') ?>',
// data:{tk_no:'tk_no'},
type: 'POST',
success: function(data) {
Pdata = JSON.stringify(data);
$('#inv_1').val(Pdata);
// console.log(JSON.parse($('#inv_1').val()),'3');
}
})
});
function deletetmcrecon(data) {
var r = confirm("Are you sure you want to delete this");
if (r == true) {
//User Pressed okay. Delete
$.ajax({
url: '<?php echo base_url('Tmc/delete_tmc_recon') ?>',
type: 'POST',
data: {
id: data
},
success: function(data) {
if (data == 1) {
alert("Deleted")
// location.reload();
$("#formid").submit()
} else {
alert("Request failed. Kindly try after sometime")
}
},
error: function() {
alert('Request failed. Kindly try after sometime.');
}
});
} else {
//user pressed cancel. Do nothing
console.log("done");
}
}
</script>
<script>
var oTable;
$(document).ready(function() {
// oTable = $("#scroll-horizontal-datatable").DataTable({
// Your DataTable configuration here
});
$('#toggle-column-modal-button').click(function() {
$('#columnModal').modal('show');
});
$('#applyColumn').click(function() {
var selectedColumns = $('#column_name').val();
if (selectedColumns && selectedColumns.length > 0) {
// Array of all column indices
var allColumns = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15"];
// Convert selected column indices to integers
selectedColumns = selectedColumns.map(Number);
// Calculate the remaining columns to hide
var remainingColumns = allColumns.filter(function(column) {
return selectedColumns.indexOf(parseInt(column)) === -1;
});
// Show selected columns and hide remaining columns
oTable.columns(selectedColumns).visible(true);
oTable.columns(remainingColumns).visible(false);
// Close the modal
$('#columnModal').modal('hide');
}
});
</script>
<!-- <script>
// Set the default value to today
var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0'); // January is 0!
var yyyy = today.getFullYear();
var todayFormatted = yyyy + '-' + mm + '-' + dd;
document.getElementById('TO').value = todayFormatted;
</script> -->
<script>
$(document).ready(function() {
var $select_data = '<?php echo $selected_data; ?>';
var dateRangeFilter = $('input.input-daterange-datepicker')
.daterangepicker({
locale: {
format: 'DD/MM/YYYY',
cancelLabel: 'Clear'
},
startDate: $select_data ? moment($select_data.split(' - ')[0], 'DD/MM/YYYY') : moment(),
endDate: $select_data ? moment($select_data.split(' - ')[1], 'DD/MM/YYYY') : moment(),
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'This Month': [moment().startOf('month'), moment().endOf('month')]
}
})
.on('apply.daterangepicker', function(ev, picker) {
var formattedStartDate = picker.startDate.format('DD/MM/YYYY');
var formattedEndDate = picker.endDate.format('DD/MM/YYYY');
var selectedDateRange = formattedStartDate + ' - ' + formattedEndDate;
$(this).val(selectedDateRange);
})
.on('cancel.daterangepicker', function() {
$(this).val('');
});
$('.today-btn').on('click', function() {
var today = moment();
dateRangeFilter.data('daterangepicker').setStartDate(today);
dateRangeFilter.data('daterangepicker').setEndDate(today);
dateRangeFilter.val(today.format('DD/MM/YYYY') + ' - ' + today.format('DD/MM/YYYY'));
dateRangeFilter.trigger('apply.daterangepicker');
});
// Trigger "Today" button click to set it as default if $select_data is empty
if ($select_data === '') {
$('.today-btn').trigger('click');
}
});
</script>
<!-- Long Content Scroll Modal -->
<div class="modal fade" id="scrollable-modal" tabindex="-1" role="dialog"
aria-labelledby="scrollableModalTitle" aria-hidden="true">
<div class="modal-dialog modal-dialog-scrollable" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="scrollableModalTitle"></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body" id="inv_getdata">
</div>
<div class="modal-footer">
<button id="closeModal" type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<!-- <button type="button" class="btn btn-primary">Save changes</button> -->
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
</body>
</html>