File manager - Edit - /home/autoph/public_html/data03252025consolidation/resources/views/sc_compliance/compliancestatus.php
Back
<?php include_once('cfg/db.php'); // include('app/security/security.php'); include_once("api/controllers/utility.php"); if(!isset($_SESSION['user']['id'])){ header('location:signin.php'); } if(!(isset($global_action_permissions['7']['36']) && in_array("1", $global_action_permissions['7']['36']))){ header('location:signin.php'); } // $role_permissions = $_SESSION['user']['action_permissions']['sub_36']; $title = "Compliance Status Report"; $utility = new Utility(); $granted_company_ids = $utility->isNotEmpty($_SESSION['user']['company_permissions_implode']) ? $_SESSION['user']['company_permissions_implode'] : '-1' ; ?> <!DOCTYPE html> <html lang="en"> <head> <!-- <script src="dist/js/filter.js"></script> --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title><?php echo $variable['site_name']; ?> | <?php echo $title; ?></title> <!-- Google Font: Source Sans Pro --> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback"> <!-- Font Awesome --> <link rel="stylesheet" href="plugins/fontawesome-free/css/all.min.css"> <!-- Theme style --> <link rel="stylesheet" href="dist/css/adminlte.min.css"> <!-- overlayScrollbars --> <link rel="stylesheet" href="plugins/overlayScrollbars/css/OverlayScrollbars.min.css"> <!-- Default style --> <link rel="stylesheet" href="dist/css/default.css"> <link href="plugins/bootstrap-table/css/bootstrap-table.min.css" rel="stylesheet"> <!-- daterange picker --> <link rel="stylesheet" href="plugins/daterangepicker/daterangepicker.css"> <!-- iCheck for checkboxes and radio inputs --> <link rel="stylesheet" href="plugins/icheck-bootstrap/icheck-bootstrap.min.css"> <!-- Bootstrap Color Picker --> <link rel="stylesheet" href="plugins/bootstrap-colorpicker/css/bootstrap-colorpicker.min.css"> <!-- Tempusdominus Bootstrap 4 --> <link rel="stylesheet" href="plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css"> <!-- Select2 --> <link rel="stylesheet" href="plugins/select2/css/select2.min.css"> <link rel="stylesheet" href="plugins/select2-bootstrap4-theme/select2-bootstrap4.min.css"> <!-- Bootstrap4 Duallistbox --> <link rel="stylesheet" href="plugins/bootstrap4-duallistbox/bootstrap-duallistbox.min.css"> <!-- BS Stepper --> <!-- <link rel="stylesheet" href="plugins/bs-stepper/css/bs-stepper.min.css"> --> <!-- dropzonejs --> <link rel="stylesheet" href="plugins/dropzone/min/dropzone.min.css"> <!-- <link rel="stylesheet" href="dist/css/dropzone.css"> --> <!-- Theme style --> <link rel="stylesheet" href="dist/css/adminlte.min.css"> <!-- SweetAlert2 --> <link rel="stylesheet" href="plugins/sweetalert2/sweetalert2.min.css"> <!-- Bootstrrap Toggle --> <link rel="stylesheet" href="node_modules/bootstrap4-toggle/css/bootstrap4-toggle.min.css"> <!-- Toastr --> <link rel="stylesheet" href="plugins/toastr/toastr.min.css"> <link href="dist/img/<?php echo $variable['logo']; ?>" rel="icon" /> <!-- Ekko Lightbox --> <link rel="stylesheet" href="plugins/ekko-lightbox/ekko-lightbox.css"> <!-- dropzonejs --> <!-- <link rel="stylesheet" href="plugins/dropzone/min/dropzone.min.css"> --> <style> /* Just add this CSS to your project */ /* Chrome, Safari, Edge, Opera */ input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } /* Firefox */ input[type=number] { -moz-appearance: textfield; } table.fixed { table-layout: fixed; } table.fixed td { overflow: hidden; } table { cursor: pointer; } table th { cursor: default; } .lbl { font-size: 90%; font-weight: normal !important; } .input { font-size: 90%; font-weight: normal !important; background-color: white !important; } .lbl-forms { font-size: 90%; font-weight: bold; } .lbl-forms-sm { font-size: 90%; height: 28px !important; } .input-forms { font-size: 95%; font-weight: normal !important; background-color: white !important; } .span-labels { font-size: 90%; font-style: italic; } .span-values { font-size: 90%; } table { font-size: 90%; } .list-group-item { padding: .25rem .50rem; } .select2-selection--single { height: 100% !important; padding-bottom: 0.2em !important; } .accounting-select .select2-selection__rendered { word-wrap: break-word !important; text-overflow: inherit !important; white-space: normal !important; line-height: 1.2em !important; padding-right: 0.1em !important; text-align: center; } .accounting-select-dd .select2-results__option { padding: 0.3em !important; user-select: none !important; overflow: hidden !important; -webkit-user-select: none !important; margin: 0px !important; } .accounting-select .select2-selection__arrow b { display: none !important; } </style> </head> <!-- <body class="hold-transition sidebar-mini text-sm" oncopy='return false' oncut='return false' onselectstart='return false'> --> <body class="hold-transition sidebar-mini text-sm layout-fixed"> <div id="wrapper" class="wrapper"> <!-- Preloader --> <div class="preloader flex-column justify-content-center align-items-center" hidden> <img class="animation__shake" src="dist/img/<?php echo $variable['logo']; ?>" alt="<?php echo $variable['logo']; ?>" height="6 0" width="60"> </div> <?php include('include/header.php'); ?> <?php include('include/sidebar.php'); ?> <!-- /.navbar --> <!-- Content Wrapper. Contains page content --> <div class="content-wrapper"> <!-- Content Header (Page header) --> <!-- Main content --> <section class="content"> <div class="container-fluid"> <div class="row"> <div class="col-md mt-3"> <div id="vehicle_table_list" class="card card-primary" style="display: "> <div class="card-header"> <h3 class="card-title"><?php echo $title; ?></h3> </div> <div class="card"> <div class="card-body pt-3"> <!-- SHORT SUMMARY AND ACTION --> <div class="row mb-2"> <div class="col-6"> <div class="p-0 m-0"> <label class="p-0 m-0"> Date Range: </label> <span id="date_cover"></span> </div> <div class="p-0 m-0"> <label class="p-0 m-0"> Company: </label> <span id="company_cover"></span> </div> <div class="p-0 m-0"> <label class="p-0 m-0"> Comission: </label> <span id="commission_status_cover"></span> </div> <div class="p-0 m-0"> <label class="p-0 m-0"> Completion Status: </label> <span id="status_cover"></span> </div> <div class="p-0 m-0"> <label class="p-0 m-0"> Brand: </label> <span id="brand_cover"></span> </div> </div> <div class="col-6 text-right"> <div class="btn-group"> <button type="button" class="tooltip-me btn btn-default dropdown-toggle btn-sm" data-toggle="dropdown" aria-haspopup="true" title="Filter" data-html="true" data-placement="left" aria-expanded="true"> <i class="fa fa-filter" aria-hidden="true"></i> </button> <div id="dropdown-filter" class="dropdown-menu dropdown-menu-right"> <div class="form-group mb-0"> <div class="form-group dropdown-input mr-2 ml-2 mb-1"> <input type="button" class="btn btn-primary btn-sm form-control form-control-sm " name="btnCustomerListNoFilter" id="btnCustomerListNoFilter" value="Reset" style="width: 100%;"></input> </div> <!--form-group dropdown--> </div> <!--form-group--> <div class="form-group mb-0" style="display:;"> <div class="form-group dropdown-input mr-2 ml-2 mb-1"> <div id="filter-date" class="p-1" name="filter-date" style="background: #fff; cursor: pointer; padding: 5px 10px; border: 1px solid #ccc; width: 100%"> <i class="fa fa-calendar"></i> <span></span> <i class="fa fa-angle-down mt-1 float-right"></i> </div> </div> <!--form-group dropdown--> </div> <!--form-group--> <!-- text input --> <div class="form-group mb-0" style="display:;"> <div class="form-group dropdown-input mr-2 ml-2 mb-1"> <select name="company-filter" id="company-filter" class="form-control form-control-sm select2" style="width: 100%;"> <option></option> <?php $company = $db -> return_result("SELECT `id`, `code` FROM `source_company` WHERE status = 1 AND id IN (".$granted_company_ids.") ORDER BY code ASC"); foreach($company as $data){ echo "<option value='{$data['id']}' >".$data['code']."</option>"; } ?> </select> </div> <!--form-group dropdown--> </div> <!--form-group--> <!-- text input --> <div class="form-group mb-0" style="display:;"> <div class="form-group dropdown-input mr-2 ml-2 mb-1"> <select name="commission-filter" id="commission-filter" class="form-control form-control-sm select2" style="width: 100%;"> <option></option> <?php $commission = $db -> return_result("SELECT id,name FROM `source_commission_status` WHERE id <> 3 ORDER BY FIELD(id,0,1,2)"); foreach($commission as $data){ echo "<option value='{$data['id']}' >".$data['name']."</option>"; } ?> </select> </div> <!--form-group dropdown--> </div> <div class="form-group mb-0" style="display:;"> <div class="form-group dropdown-input mr-2 ml-2 mb-1"> <select name="status-filter" id="status-filter" class="form-control form-control-sm select2" style="width: 100%;"> <option></option> <option value="1">Complete</option> <option value="0">Incomplete</option> </select> </div> <!--form-group dropdown--> </div> <!--form-group--> <!-- text input --> <div class="form-group mb-0" style="display:;"> <div class="form-group dropdown-input mr-2 ml-2 mb-1"> <select name="brand-filter" id="brand-filter" class="form-control form-control-sm select2" style="width: 100%;"> <option></option> <?php $brand_lst = $db -> return_result("SELECT `id`, `name` FROM `source_brand` WHERE status = 1 ORDER BY name ASC"); foreach($brand_lst as $data){ echo "<option value='{$data['id']}' >".$data['name']."</option>"; } ?> </select> </div> <!--form-group dropdown--> </div> <div class="form-group mb-0" style="display:;"> <div class="form-group dropdown-input mr-2 ml-2 mb-1"> <input id="days-filter" type="text" placeholder="No. of Day/s (7,14-99)" class="form-control form-control-sm" > </div> <!--form-group dropdown--> </div> <!--form-group--> </div> </div> </div> </div> <hr> <div class="row " hidden> <!-- <div class="col-md-12"> <h4 class="no-margin">Compliance Summary</h4> </div> --> <div id="vehicle_action_all" class="col-md-2 col-sm-6 col-12" style="cursor: normal;"> <div class="info-box " style="background-color:#B5EAEA;"> <!-- <span class="info-box-icon bg-primary"><i class="fa fa-car"></i></span> --> <div class="info-box-content"> <span class="info-box-text font-weight-normal">Submitted</span> <h4><span class="info-box-number" id="total_compliance">0</span> </h4> </div> <!-- /.info-box-content --> </div> <!-- /.info-box --> </div> <!-- /.col --> <div id="vehicle_action_new" class="col-md-2 col-sm-6 col-12" style="cursor: normal;"> <div class="info-box " style="background-color:#CAF7E3;"> <!-- <span class="info-box-icon bg-info"><i class="fa fa-car"></i></span> --> <div class="info-box-content"> <div class="row"> <div class="col-10"> <span class="info-box-text font-weight-normal">Complete </span> </div> <!-- <div class="col-2"> <i class="float-right tooltip-me mt-2 mr-2 mb-0 fas fa-question-circle" style="color:blue; cursor: help;" title="Record count from last 7 days"></i> </div> --> </div> <h4><span class="info-box-number" id="complete_compliance">0</span></h4> </div> <!-- /.info-box-content --> </div> <!-- /.info-box --> </div> <!-- /.col --> <div id="vehicle_action_updated" class="col-md-2 col-sm-6 col-12" style="cursor: normal;"> <div class="info-box" style="background-color:#FFBCBC;"> <!-- <span class="info-box-icon bg-warning"><i class="fa fa fa-sync"></i></span> --> <div class="info-box-content"> <div class="row"> <div class="col-10"> <span class="info-box-text font-weight-normal">Incomplete </span> </div> <!-- <div class="col-2"> <i class="float-right tooltip-me mt-2 mr-2 mb-0 fas fa-question-circle" style="color:blue; cursor: help;" title="Record count from last 7 days"></i> </div> --> </div> <h4><span class="info-box-number" id="incomplete_compliance">0</span></h4> </div> <!-- /.info-box-content --> </div> <!-- /.info-box --> </div> <div id="vehicle_action_for_release" class="col-md-2 col-sm-6 col-12" style="cursor: normal; display: "> <div class="info-box" style="background-color:#CAF7E3;"> <!-- <span class="info-box-icon bg-warning"><i class="fa fa fa-sync"></i></span> --> <div class="info-box-content"> <div class="row"> <div class="col-10"> <span class="info-box-text font-weight-normal">Released </span> </div> </div> <h4><span class="info-box-number" id="released_compliance">0</span></h4> </div> <!-- /.info-box-content --> </div> <!-- /.info-box --> </div> <!-- /.col --> <div id="vehicle_action_for_release" class="col-md-2 col-sm-6 col-12" style="cursor: normal;"> <div class="info-box" style="background-color:#F7D59C;"> <div class="info-box-content"> <div class="row"> <div class="col-10"> <span class="info-box-text font-weight-normal">For Release </span> </div> </div> <h4><span class="info-box-number" id="for_release_compliance">0</span></h4> </div> <!-- /.info-box-content --> </div> <!-- /.info-box --> </div> <div id="vehicle_action_hold" class="col-md-2 col-sm-6 col-12" style="cursor: normal;"> <div class="info-box" style="background-color:#FFBCBC;"> <!-- <span class="info-box-icon bg-info"><i class="fa fa-car"></i></span> --> <div class="info-box-content"> <div class="row"> <div class="col-10"> <span class="info-box-text font-weight-normal">Hold </span> </div> </div> <h4><span class="info-box-number" id="hold_compliance">0</span> </h4> </div> <!-- /.info-box-content --> </div> <!-- /.info-box --> </div> <!-- /.col --> <div id="vehicle_action_added" class="col-md-2 col-sm-6 col-12" style="cursor: normal; display: none;"> <div class="info-box bg-primary"> <!-- <span class="info-box-icon bg-success"><i class="fa fa-plus"></i></span> --> <div class="info-box-content"> <span class="info-box-text font-weight-normal">Rate</span> <h4><span class="info-box-number" id="rate_compliance">0</span> </h4> </div> <!-- /.info-box-content --> </div> <!-- /.info-box --> </div> <!-- /.col --> </div> <!-- SHORT SUMMARY AND ACTION --> <div class="row"> <div class="table-responsive col-sm-12"> <table id="compliance-table" data-search="true" data-show-refresh="true" data-custom-search="customSearch" data-buttons="buttonsFunction" data-page-size="20" data-page-list="[20, 35, 50, 100, all]" data-show-columns="false" data-url="" class="table table-bordered table-hover table-sm" data-export-types="['xlsx','excel','csv', 'doc', 'png']" data-show-export="false" data-query-params="queryParams" data-pagination="true"> <thead> <tr> <th data-formatter="checkIfEmpty" data-field="release_date"> Released Date</th> <th data-formatter="checkIfEmpty" data-field="customer_name"> Customer </th> <th data-formatter="companyDealerFormatter" data-field="company_dealer"> Company & Dealer </th> <!-- <th data-formatter="checkIfEmpty" data-field="dealer">Dealer </th> --> <th data-formatter="checkIfEmpty" data-field="sales_consultant">Sales Consultant </th> <th data-formatter="vehicleInfoFormatter" data-field="vehicle_info">Vehicle </th> <th data-formatter="checkIfEmpty" data-field="conduction_sticker">CS Number </th> <th data-formatter="missingFormatter" data-field=""> Missing/Wrong Information </th> <th data-formatter="daysRemaining" data-field="release_date_count">Days </th> <!-- <th data-formatter="checkIfEmpty" data-field="conduction_sticker">CS Number </th> <th data-formatter="checkIfEmpty" data-field="brand_name"> Brand </th> <th data-formatter="checkIfEmpty" data-field="model_name"> Model </th> <th data-formatter="" data-field="complete_date">Date Complete </th> <th data-formatter="checkIfEmpty" data-field="status">Status </th> <th class="text-center" data-formatter="statusFormatter" data-events="statusEvents" data-field="commission_id"> Commission </th> <th class="text-center" data-formatter="statusFormatterAccounting" data-events="" data-field="accounting_status"> Accounting </th> <th class="text-center" data-formatter="statusFormatterReleased" data-events="statusEventsReleased" data-field="commission_id_released"> Released </th> --> </tr> </thead> </table> </div> </div> </div> <!--card-body--> </div> <!--card--> </div> </div> <!--col-md--> </div> <!--row--> </div> <!--container-fluid--> </section> <!-- /.content --> </div> <!-- /.content-wrapper --> <!-- INSERT FOOTER --> <?php include('include/footer.php'); ?> <!-- Control Sidebar --> <aside class="control-sidebar control-sidebar-dark"> <!-- Control sidebar content goes here --> </aside> <!-- /.control-sidebar --> </div> <!-- ./wrapper --> <!-- jQuery --> <script src="plugins/jquery/jquery.min.js"></script> <!-- jQuery UI 1.11.4 --> <script src="plugins/jquery-ui/jquery-ui.min.js"></script> <!-- Resolve conflict in jQuery UI tooltip with Bootstrap tooltip --> <script> $.widget.bridge('uibutton', $.ui.button) </script> <!-- overlayScrollbars --> <script src="plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js"></script> <!-- Bootstrap 4 --> <script src="plugins/bootstrap/js/bootstrap.bundle.min.js"></script> <!-- Select2 --> <script src="plugins/select2/js/select2.full.min.js"></script> <!-- Bootstrap4 Duallistbox --> <!-- <script src="plugins/bootstrap4-duallistbox/jquery.bootstrap-duallistbox.min.js"></script> --> <!-- InputMask --> <script src="plugins/moment/moment.min.js"></script> <script src="plugins/inputmask/jquery.inputmask.min.js"></script> <!-- date-range-picker --> <script src="plugins/daterangepicker/daterangepicker.js"></script> <!-- bootstrap color picker --> <!-- <script src="plugins/bootstrap-colorpicker/js/bootstrap-colorpicker.min.js"></script> --> <!-- Tempusdominus Bootstrap 4 --> <script src="plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js"></script> <!-- Bootstrap Switch --> <!-- <script src="plugins/bootstrap-switch/js/bootstrap-switch.min.js"></script> --> <!-- BS-Stepper --> <!-- <script src="plugins/bs-stepper/js/bs-stepper.min.js"></script> --> <!-- dropzonejs --> <script src="plugins/dropzone/min/dropzone.min.js"></script> <!-- bs-custom-file-input --> <!-- <script src="plugins/bs-custom-file-input/bs-custom-file-input.min.js"></script> --> <!-- AdminLTE App --> <script src="dist/js/adminlte.min.js"></script> <!-- jquery-validation --> <!-- <script src="plugins/jquery-validation/jquery.validate.min.js"></script> <script src="plugins/jquery-validation/additional-methods.min.js"></script> --> <!-- Navigation Highlight --> <script src="dist/js/main.js"></script> <!-- Page specific script --> <!-- html2canvas --> <!-- <script src="dist/js/html2canvas.js"></script> <script src="node_modules/html2canvas/dist/html2canvas.js"></script> --> <!-- jQuery Cookie--> <script src="plugins/jquery-cookie/jquery.cookie.js"></script> <!-- Ekko Lightbox --> <script src="plugins/ekko-lightbox/ekko-lightbox.min.js"></script> <!-- Toastr --> <script src="plugins/toastr/toastr.min.js"></script> <!-- Bootstrap Toggle --> <script src="node_modules/bootstrap4-toggle/js/bootstrap4-toggle.min.js"></script> <!-- SweetAlert2 --> <script src="plugins/sweetalert2/sweetalert2.min.js"></script> <!-- <script src="dist/js/jspdf.min.js"></script> --> <!-- <script src="plugins/bootstrap-table/js/tableExport.min.js"></script> --> <script src="dist/js/tableExport/tableExport.min.js"></script> <script src="dist/js/tableExport/libs/js-xlsx/xlsx.core.min.js"></script> <script src="dist/js/tableExport/libs/jsPDF/jspdf.umd.min.js"></script> <!-- <script src="dist/js/tableExport/libs/pdfmake/pdfmake.min.js"></script> <script src="dist/js/tableExport/libs/pdfmake/vfs_fonts.js"></script> --> <script src="dist/js/tableExport/libs/es6-promise/es6-promise.auto.min.js"></script> <script src="dist/js/tableExport/libs/html2canvas/html2canvas.min.js"></script> <script src="plugins/bootstrap-table/js/bootstrap-table.min.js"></script> <script src="plugins/bootstrap-table/js/bootstrap-table-en-US.js"></script> <script src="plugins/bootstrap-table/js/bootstrap-table-export.min.js"></script> <!-- <script src="dist/js/bootstrap-table.min.js"></script> --> <script> var count_vehicle_summary = null; var status_get = '0'; var permission_hold = <?php echo (isset($global_action_permissions['7']['34']) && in_array("2", $global_action_permissions['7']['34'])) ? 1 : 0 ; ?>; var permission_for_release = <?php echo (isset($global_action_permissions['7']['34']) && in_array("3", $global_action_permissions['7']['34'])) ? 1 : 0 ; ?>; var permission_released = <?php echo (isset($global_action_permissions['7']['34']) && in_array("4", $global_action_permissions['7']['34'])) ? 1 : 0 ; ?>; var export_filename = '<?php echo $title; ?>'; function resetDateRangePicker(start, end) { // daterangepicker_filter = false; $("#filter-date").data('daterangepicker').setStartDate(start); $("#filter-date").data('daterangepicker').setEndDate(end); // $('#filter-date').data('daterangepicker').chosenLabel = 'Disable'; $('#filter-date').data('daterangepicker').hideCalendars(); $('.daterangepicker').css('width', 'auto'); var startDate = start.format('MMMM DD, YYYY'); var endDate = end.format('MMMM DD, YYYY'); $('#filter-date span').html(startDate + ' - ' + endDate); cb(start, end); } function addListenerCompanyFilter() { $('#commission-filter').off('change.mychange').on('change.mychange', function() { var start = $('#filter-date').data('daterangepicker').startDate; var end = $('#filter-date').data('daterangepicker').endDate; cb(start, end); }); $('#company-filter').off('change.mychange').on('change.mychange', function() { var start = $('#filter-date').data('daterangepicker').startDate; var end = $('#filter-date').data('daterangepicker').endDate; cb(start, end); }); $('#brand-filter').off('change.mychange').on('change.mychange', function() { var start = $('#filter-date').data('daterangepicker').startDate; var end = $('#filter-date').data('daterangepicker').endDate; cb(start, end); }); $('#status-filter').off('change.mychange').on('change.mychange', function() { var start = $('#filter-date').data('daterangepicker').startDate; var end = $('#filter-date').data('daterangepicker').endDate; cb(start, end); }); $('#days-filter').off('keyup').on('keyup', delay(function(e) { var start = $('#filter-date').data('daterangepicker').startDate; var end = $('#filter-date').data('daterangepicker').endDate; cb(start, end); }, 500)); } function delay(callback, ms) { var timer = 0; return function() { var context = this, args = arguments; clearTimeout(timer); timer = setTimeout(function() { callback.apply(context, args); }, ms || 0); }; } function passDate(startDate, endDate) { refreshTable(); } function cb(start, end) { var startDate = start.format('YYYY-MM-DD'); passDate(start, end); //pass empty dates } function buttonsFunction() { return { grid_toggle_off: { 'icon': 'fa-file-pdf', 'event': 'exportPdf', 'attributes': { 'title': 'Download PDF', 'data-test': 'test123' } }, excel_export: { 'icon': 'fa-file-excel', 'event': 'exportXlsx', 'attributes': { 'title': 'Download XLSX', 'data-test': 'test123' } } } } function initList() { var $table = $('#compliance-table'); // $table.bootstrapTable('destroy') $('#compliance-table').bootstrapTable('destroy').bootstrapTable({ sidePagination: 'server', formatSearch: function() { return 'Search...' }, onLoadSuccess: function() { $("input[data-bootstrap-switch]").each(function() { if (this.id.startsWith('released_')) { $(this).bootstrapToggle({ on: 'Released', off: '', offstyle: 'outline-secondary', onstyle: 'outline-secondary', size: 'sm' }); } else { $(this).bootstrapToggle({ on: 'For Release', off: 'Hold', offstyle: 'danger', onstyle: 'success', size: 'sm' }); } }) switchListener(); $("select[data-bootstrap-select]").each(function() { var $select2 = $(this).select2({ minimumResultsForSearch: -1, containerCssClass: "accounting-select", dropdownCssClass: "accounting-select-dd" }) }) selectListener(); }, exportOptions: { fileName: function() { return export_filename } } }); } function selectListener() { $("select[data-bootstrap-select]").each(function() { clickedId = this.id; var accounting_status = $('#' + clickedId).attr('data-accounting-status'); var sales_id = clickedId.replace('accounting_', ''); $('#' + clickedId).val(accounting_status).trigger('change'); $('#' + clickedId).on('select2:select', function(e) { var data = e.params.data; // console.log(data); $.ajax({ url: "api/compliance/compliance.php", method: "POST", data: { apiKey: '3625900201207033', sales_id: sales_id, status: data.id }, beforeSend: function() { toastr.remove(); toastr.info('Updating status...') }, success: function(data) { refreshTableSilent(); //tobe change not resetting table toastr.remove(); toastr.success('Status updated...') } }); }); }); } function switchListener() { $("input[data-bootstrap-switch]").change(function() { clickedId = this.id; if (clickedId.startsWith('released_')) { $(this).bootstrapToggle('off', true); Swal.fire({ icon: 'question', html: 'Are you sure you want to tag this record as RELEASED?<br>this action cannot be undone.', showDenyButton: false, showCancelButton: true, confirmButtonText: `Yes`, cancelButtonText: `No`, denyButtonText: `Don't Confirm`, }).then((result) => { if (result.isConfirmed) { var status = 2; var sales_id = clickedId.replace('released_', ''); $.ajax({ url: "api/compliance/compliance.php", method: "POST", data: { apiKey: '2357447068264980', sales_id: sales_id, status: status }, beforeSend: function() { toastr.remove(); toastr.info('Updating status...') }, success: function(data) { refreshTableSilent(); //tobe change not resetting table toastr.remove(); toastr.success('Status updated...') } }); } else if (result.isDenied) {} else {} }) } else { var status = document.getElementById(this.id).checked ? 1 : 3; var sales_id = clickedId; if ($('#' + clickedId).attr('data-complete-status') === 'INC' && parseInt(status) === 1) { $(this).bootstrapToggle('off', true); commissionStatusChange(status, sales_id); } else { $.ajax({ url: "api/compliance/compliance.php", method: "POST", data: { apiKey: '2357447068264980', sales_id: sales_id, status: status }, beforeSend: function() { toastr.remove(); toastr.info('Updating status...') }, success: function(data) { refreshTableSilent(); //tobe change not resetting table toastr.remove(); toastr.success('Status updated...') } }); } } }); } function commissionStatusChange(status, sales_id) { Swal.fire({ title: 'Enter your reason', input: 'textarea', confirmButtonText: `Confirm`, showCancelButton: true, }).then(function(result) { if (result.isConfirmed) { if (result.value) { $.ajax({ url: "api/compliance/compliance.php", method: "POST", data: { apiKey: '2357447068264980', sales_id: sales_id, status: status, description: result.value }, beforeSend: function() { toastr.remove(); toastr.info('Updating status...') }, success: function(data) { refreshTableSilent(); //tobe change not resetting table toastr.remove(); toastr.success('Status updated...') } }); } else { Swal.fire({ icon: 'warning', text: 'Enter your reason to change this record status.', showDenyButton: false, showCancelButton: false, confirmButtonText: `OK`, }).then((result) => { if (result.isConfirmed) { commissionStatusChange(); } else if (result.isDenied) {} else {} }) } } }) } function initToolTip() { var bootstrapTooltip = $.fn.tooltip.noConflict(); $.fn.bstooltip = bootstrapTooltip; $('.tooltip-me').bstooltip(); } function statusFormatter(value, row, index) { if (row.commission_id == 0 || row.commission_id == 3) { var disabled = permission_hold ? '' : 'disabled'; return '<input id="' + row.sales_id + '" type="checkbox" title="HOLD" data-complete-status="' + row.status + '" data-bootstrap-switch data-off-color="danger" data-on-color="success" data-off-text="" data-on-text="" data-size="mini" data-handle-width="20" ' + disabled + ' > '; } else if (row.commission_id == 2) { return '<input id="' + row.sales_id + '" type="checkbox" title="FOR RELEASE" data-complete-status="' + row.status + '" checked data-bootstrap-switch data-off-color="danger" data-on-color="success" data-off-text="" data-on-text="" data-size="mini" data-handle-width="20" disabled>'; } else { var disabled = permission_for_release ? '' : 'disabled'; return '<input id="' + row.sales_id + '" type="checkbox" title="FOR RELEASE" data-complete-status="' + row.status + '" checked data-bootstrap-switch data-off-color="danger" data-on-color="success" data-off-text="" data-on-text="" data-size="mini" data-handle-width="20" ' + disabled + ' >'; } } function statusFormatterReleased(value, row, index) { if (parseInt(row.commission_id_released) === 2) { return '<input id="released_' + row.sales_id + '" type="checkbox" title="RELEASED" data-complete-status="' + row.status + '" checked data-bootstrap-switch data-off-color="danger" data-on-color="primary" data-off-text="" data-size="mini" data-on-text="" data-handle-width="20" disabled>'; } else { if (row.commission_id == 0 || row.commission_id == 3 || row.commission_accounting_status_id != 2) { return '<input id="released_' + row.sales_id + '" type="checkbox" title="" data-complete-status="' + row.status + '" data-bootstrap-switch data-off-color="danger" data-on-color="primary" data-off-text="" data-size="mini" data-on-text="" data-handle-width="20" disabled>'; } else { var disabled = permission_released ? '' : 'disabled'; return '<input id="released_' + row.sales_id + '" type="checkbox" title="" data-complete-status="' + row.status + '" data-bootstrap-switch data-off-color="danger" data-on-color="primary" data-off-text="" data-size="mini" data-on-text="" data-handle-width="20" ' + disabled + '>'; } } } function statusFormatterAccounting(value, row, index) { var disabled = ''; if (row.commission_id_released == 2 || row.commission_id_released == 0 || row.commission_id_released == 3) { disabled = 'disabled'; } return `<select name="company-filter" id="accounting_` + row.sales_id + `" class="form-control form-control-sm select2" data-accounting-status="` + row .commission_accounting_status_id + `" data-bootstrap-select style="width: 100%;" ` + disabled + `> <option value="1">ON PROCESS</option> <option value="2">FOR COLLECTION</option> <option value="3">WITH MISSING DOCUMENTS</option> <option value="4">HOLD AS PER INSTRUCTION</option> </select>`; } function refreshTable() { initList(); var $vehicle_table = $('#compliance-table') // $vehicle_table.bootstrapTable('destroy') $(function() { $vehicle_table.bootstrapTable('refresh', { url: 'api/compliance/compliance.php' }); }) // complianceCountSummary(); } function refreshTableSilent() { var $vehicle_table = $('#compliance-table') $(function() { $vehicle_table.bootstrapTable('refresh', { url: 'api/compliance/compliance.php' }); }) } function complianceCountSummary() { var start = $('#filter-date').data('daterangepicker').startDate; var end = $('#filter-date').data('daterangepicker').endDate; var company = ($("#company-filter").val() == '') ? '0' : $("#company-filter").val(); var brand = ($("#brand-filter").val() == '') ? '' : $("#brand-filter").val(); var start_date = start.format('YYYY-MM-DD'); var end_date = end.format('YYYY-MM-DD'); // alert('ds') if (count_vehicle_summary != null) { count_vehicle_summary.abort(); } count_vehicle_summary = $.ajax({ url: "api/compliance/compliance.php", type: "GET", dataType: 'json', data: { apiKey: '9917866898468776', company: company, brand: brand, start_date: start_date, end_date: end_date }, beforeSend: function() {}, success: function(result) { // result.total $('#total_compliance').text(addCommas(result.total_compliance)); $('#complete_compliance').text(addCommas(result.complete_compliance)); $('#incomplete_compliance').text(addCommas(result.incomplete_compliance)); $('#hold_compliance').text(addCommas(result.hold_compliance)); $('#for_release_compliance').text(addCommas(result.for_release_compliance)); $('#released_compliance').text(addCommas(result.released_compliance)); $('#rate_compliance').text(addCommas(result.rate_compliance)); } }); } function checkIfEmpty(value, row, index) { if (isEmpty(value)) { return "<span style='color:red;'> (Not Provided) </span>"; } return value; } function companyDealerFormatter(value, row, index) { // if (isEmpty(value)) { // return "<span style='color:red;'> (Not Provided) </span>"; // } return row.company+ '-'+row.dealer; } function vehicleInfoFormatter(value, row, index) { // if (isEmpty(value)) { // return "<span style='color:red;'> (Not Provided) </span>"; // } return row.brand_name+ '-'+row.model_name; } function missingFormatter(value, row, index) { var field_name = []; const required_fields = { "customer_name":"Name", "profession":"Profession", "position":"Position", "date_of_birth":"Birthday", "gender":"Gender", "customer_company":"Company/Business", "email_1":"Email", "mobile_phone_1":"Mobile", "address_1":"Address", "nature_of_business":"Nature of Business", // "facebook":"Facebook", "customer_affiliation":"Affiliation", "brand_name":"Brand", "model_name":"Model", "model_year":"Model Year", "release_date":"Release Date", "mode_of_sale":"Mode of Sale", "conduction_sticker":"Conduction Sticker", "vehicle_color":"Color", "type_of_payment":"Type of Payment", "insurance":"Insurance", "sales_consultant":"Sales Consultant", "sales_manager":"Sales Manager", "source_of_sale":"Source of Sale", "brand_offered":"Future Vehicle", "model_variant":"Model Variant", }; const person_only_fields = [ "gender", "date_of_birth", "position", "profession", "customer_affiliation", "customer_company", // "facebook", ]; $.each(required_fields, function(i, n) { if(isEmpty(row[i])){ if(parseInt(row['customer_type']) === 2){ if(person_only_fields.indexOf(i) !== -1){ return; } } field_name.push(required_fields[i]); } }); // console.log(field_name) return field_name.join(); } function daysRemaining(value, row, index) { return value+""; } function formatCompleteIncomplete(value, row, index) { return "<span style='color:#007bff;'>" + value + "</span>"; } function queryParams(params) { var start = $('#filter-date').data('daterangepicker').startDate; var end = $('#filter-date').data('daterangepicker').endDate; var company = ($("#company-filter").val() == '') ? '0' : $("#company-filter").val(); var brand = ($("#brand-filter").val() == '') ? '' : $("#brand-filter").val(); var commission = ($("#commission-filter").val() == '') ? '' : $("#commission-filter").val(); var status_filter = ($("#status-filter").val() == '') ? '' : $("#status-filter").val(); var start_date = start.format('YYYY-MM-DD'); var end_date = end.format('YYYY-MM-DD'); var days_filter = ($("#days-filter").val() == '') ? '' : $("#days-filter").val(); $('#date_cover').text(start.format('MM/DD/YYYY')+' - '+end.format('MM/DD/YYYY')); $('#company_cover').text(company == '0' ? 'All' :$("#company-filter option:selected").text()); $('#commission_status_cover').text(commission == '' ? 'All' :$("#commission-filter option:selected").text()); $('#status_cover').text(status_filter == '' ? 'All' :$("#status-filter option:selected").text()); $('#brand_cover').text(brand == '' ? 'All' :$("#brand-filter option:selected").text()); $.cookie("hold_inc_start_date",start_date); $.cookie("hold_inc_end_date",end_date); return { search: params.search, offset: params.offset, limit: params.limit, company: company, brand: brand, commission_status: commission, start_date: start_date, end_date: end_date, status: status_filter, days:days_filter, apiKey: '6037364564277021', secure: 0 }; } function back() { window.history.back(); } function isEmpty(string) { var flag = false; try { string = string.trim(); if (string == '') { flag = true; } else if (string == null) { flag = true; } else if (string == '-') { flag = true; } else { return false; } } catch (err) { return true; } return flag; } function getCookie(name) { var match = document.cookie.match(RegExp('(?:^|;\\s*)' + name + '=([^;]*)')); return match ? match[1] : null; } function setDateRangePickerWidth(isMobile) { if ($(".daterangepicker").hasClass('show-calendar') && !isMobile) { $('.daterangepicker').css('width', '630px'); } else { $('.daterangepicker').css('width', 'auto'); } } function tableMobileFormatter(value, row, index) { if (isEmpty(value)) { return "<span style='color:red;'> (Not Provided) </span>"; } if (value == '-1') { return ""; } return "<a href='tel:" + value + "'>" + value + "</a>"; } function tableEmailFormatter(value, row, index) { if (isEmpty(value)) { return "<span style='color:red;'> (Not Provided) </span>"; } if (value == '-1') { return ""; } return "<a href='mailto:" + value + "'>" + value + "</a>"; } function addCommas(numberString) { numberString += ''; var x = numberString.split('.'), x1 = x[0], x2 = x.length > 1 ? '.' + x[1] : '', rgxp = /(\d+)(\d{3})/; while (rgxp.test(x1)) { x1 = x1.replace(rgxp, '$1' + ',' + '$2'); } return x1 + x2; } function exportPdf() { $('#compliance-table').tableExport({ onCellHtmlData: DoOnCellHtmlData, // ignoreColumn: [9,10], fileName: export_filename, type: 'pdf', jspdf: { orientation: 'h', margins: { left: 10, right: 10, top: 85, bottom: 20 }, autotable: { startY: false, startX: 10, showHeader: 'firstPage', margin: { top: 10 }, bodyStyles: { valign: "top" }, theme: "striped", beforePageContent: function(data) { //console.log(data.settings.tableExport.doc);return; var doc = data.settings.tableExport.doc; // Internal jspdf instance var company = ($("#company-filter").val() == '') ? '0' : $("#company-filter").val(); var brand = ($("#brand-filter").val() == '') ? '0' : $("#brand-filter").val(); var commission = ($("#commission-filter").val() == '') ? '' : $("#commission-filter").val(); var status_filter = ($("#status-filter").val() == '') ? '' : $("#status-filter").val(); var start = $('#filter-date').data('daterangepicker').startDate; var end = $('#filter-date').data('daterangepicker').endDate; // $('#date_cover').text(start.format('MM/DD/YYYY')+' - '+end.format('MM/DD/YYYY')); // $('#company_cover').text(); // $('#commission_status_cover').text(); var company_status = company == '0' ? 'All' :$("#company-filter option:selected").text(); var brand_status = brand == '0' ? 'All' :$("#brand-filter option:selected").text(); var commission_status = commission == '' ? 'All' :$("#commission-filter option:selected").text(); var completion_status = status_filter == '' ? 'All' :$("#status-filter option:selected").text(); console.log(doc.getFontList()); doc.setFontSize(12); doc.text(export_filename, data.settings.margin.top - 75, 20); doc.setFont('helvetica', 'normal'); doc.setFontSize(10); doc.text('Date: '+moment(start).format('MMMM DD, YYYY') + ' - ' + moment( end).format('MMMM DD, YYYY'), data.settings.margin.top - 75, 32); doc.text('Company: '+company_status, data.settings.margin.top - 75, 45); doc.text('Status: '+commission_status, data.settings.margin.top - 75, 58); doc.text('Completion: '+completion_status, data.settings.margin.top - 75, 70); doc.text('Brand: '+brand_status, data.settings.margin.top - 75, 82); var str = "Page " + doc.internal.getNumberOfPages() + ' - ' + export_filename; doc.setFont('Times', 'normal'); doc.setFontSize(10); // jsPDF 1.4+ uses getWidth, <1.4 uses .width var pageSize = doc.internal.pageSize; var pageHeight = pageSize.height ? pageSize.height : pageSize.getHeight(); doc.text(str, data.settings.margin.left, pageHeight - 10); }, styles: { overflow: 'linebreak', fontSize: 8, overflowColumns: 'linebreak' } } } }); } function exportXlsx() { $('#compliance-table').tableExport({ onCellHtmlData: DoOnCellHtmlData, // ignoreColumn: [9,10], fileName: export_filename, type: 'xlsx' }); } //Processing export content, this method can customize the content of a row, column, or even cell, that is, set its value to what you want. function DoOnCellHtmlData(cell, row, col, data) { // console.log(row) if ((col == '9' || col == '11') && parseInt(row) > 0) { var spanObj = $(data); //Convert a string labeled <span title="val"> </span> to a jQuery object var spanObj2 = $(spanObj[0].innerHTML); var title = spanObj2.attr( "title"); //Read the value of title attribute in <span title="val"</span>. if (typeof(title) != 'undefined') { return title; } } else if ((col == '10') && parseInt(row) > 0) { var spanObj = $(data); return spanObj[1].innerText; } else { return data; } } function DoCellData(cell, row, col, data) { // console.log(data) } function DoBeforeAutotable(table, headers, rows, AutotableSettings) {} </script> <script> $(function() { initToolTip(); var start = null; var end = null; if ( (getCookie("hold_inc_start_date") == null || $.cookie("hold_inc_start_date") == '') || (getCookie("hold_inc_end_date") == null || $.cookie("hold_inc_end_date") == '') ) { start = moment().startOf('month'); end = moment().endOf('month'); } else { start = moment($.cookie("hold_inc_start_date")); end = moment($.cookie("hold_inc_end_date")); } $('#status-filter').val('0').trigger('change'); $('#commission-filter').val('0').trigger('change'); $('#filter-date').daterangepicker({ autoUpdateInput: false, showDropdowns: true, parentEl: '#dropdown-filter', locale: { cancelLabel: 'Cancel' }, startDate: start, opens: "left", endDate: end, 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')], 'This Year': [moment().startOf('year'), moment().endOf('year')], 'Last Year': [moment().subtract(1, 'year').startOf('year'), moment().subtract(1, 'year').endOf('year')] } }); resetDateRangePicker(start, end); let isMobile = window.matchMedia("only screen and (max-width: 760px)").matches; $(".daterangepicker").click(function() { setDateRangePickerWidth(isMobile); }); $("#filter-date").click(function() { setDateRangePickerWidth(isMobile); }); $('#company-filter').select2({ placeholder: "Company", allowClear: true }) $('#brand-filter').select2({ placeholder: "Brand", allowClear: true }) $('#commission-filter').select2({ placeholder: "Commission Status", allowClear: true }) $('#status-filter').select2({ placeholder: "Completion", allowClear: true }) addListenerCompanyFilter(); $('#filter-date').on('apply.daterangepicker', function(ev, picker) { $('#filter-date span').html(picker.startDate.format('MMMM D, YYYY') + ' - ' + picker.endDate .format( 'MMMM D, YYYY')); cb(picker.startDate, picker.endDate); }); $('#filter-date').on('cancel.daterangepicker', function(ev, picker) { $('#filter-date').data('daterangepicker').hideCalendars(); }); $('#btnCustomerListNoFilter').click(function() { $('#company-filter').off('change.mychange'); //off the company filter built in change event $('#brand-filter').off('change.mychange'); //off the company filter built in change event $('#commission-filter').off( 'change.mychange'); //off the company filter built in change event $('#status-filter').off('change.mychange'); //off the company filter built in change event $('#days-filter').off('keyup'); $('#company-filter').val('').trigger('change') //triggr change $('#brand-filter').val('').trigger('change') //triggr change $('#commission-filter').val('0').trigger('change') //triggr change $('#status-filter').val('0').trigger('change') //triggr change $('#days-filter').val(''); //triggr change addListenerCompanyFilter(); //enable afain the company filter even t var start = moment().startOf('month'); var end = moment().endOf('month'); resetDateRangePicker(start, end); }) // //for click bnalloon not hiding -> filter document.getElementById("dropdown-filter").addEventListener('click', function(event) { event.stopPropagation(); }); $('#compliance-table').on('click-cell.bs.table', function(field, value, row, $el) { return false; if (value != "commission_id" && value != "commission_id_released" && value != "accounting_status") { var url = "<?php echo $variable['site_link']?>sc_compliance_client.php?q=" + $el .sales_id; window.location.href = url; } }); setTimeout(function() {}, 3000); }); window.statusEvents = { 'click .bootstrap-switch': function(e, value, row, index) { var status = parseInt(value) === 0 ? 1 : 3; var sales_id = row.sales_id; $.ajax({ url: "api/compliance/compliance.php", method: "POST", data: { apiKey: '2357447068264980', sales_id: sales_id, status: status }, success: function(data) { refreshTable(); } }); } }; window.statusEventsReleased = { 'click :checkbox': function(e, value, row, index) { var status = 2; var sales_id = row.sales_id; $.ajax({ url: "api/compliance/compliance.php", method: "POST", data: { apiKey: '2357447068264980', sales_id: sales_id, status: status }, success: function(data) { refreshTable(); } }); } }; </script> </body> </html>
| ver. 1.4 |
.
| PHP 7.3.33 | Generation time: 0 |
proxy
|
phpinfo
|
Settings