Server : Apache System : Linux host44.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64 User : vapecompany ( 2719) PHP Version : 7.4.33 Disable Function : NONE Directory : /home/vapecompany/demo.vapecompany.com.bd/resources/views/backend/reports/ |
Upload File : |
@extends('backend.layout.app') @section('content') <style type="text/css"> @media screen and (max-width: 767px) { #dtables_filter { margin-top: 10px; } } </style> <!-- ============================================================== --> <!-- Page wrapper --> <!-- ============================================================== --> <div class="page-wrapper"> <!-- ============================================================== --> <!-- Bread crumb and right sidebar toggle --> <!-- ============================================================== --> <div class="page-breadcrumb"> <div class="row"> <div class="col-5 align-self-center"> <h4 class="page-title">Sales IMEI</h4> <div class="d-flex align-items-center"> <nav aria-label="breadcrumb"> <ol class="breadcrumb"> <li class="breadcrumb-item"><a href="#">Home</a></li> <li class="breadcrumb-item active" aria-current="page">Reports</li> </ol> </nav> </div> </div> </div> </div> <!-- ============================================================== --> <!-- End Bread crumb and right sidebar toggle --> <!-- ============================================================== --> <!-- ============================================================== --> <!-- Container fluid --> <!-- ============================================================== --> <div class="container-fluid"> <!-- ============================================================== --> <!-- Start Page Content --> <!-- ============================================================== --> <div class="row"> <div class="col-md-12"> <div class="card"> <div class="card-body"> <h4 class="card-title">Search Sales IMEI Report</h4> <div id="education_fields" class=" m-t-20"></div> <form id="search" method="GET" class="row"> <div class="col-sm-12 col-lg-4"> <div class="form-group row"> <label for="email2" class="col-sm-4 text-right control-label col-form-label">Start Date</label> <div class="col-sm-8"> <input autocomplete="off" id="start_date" name="start_date" value="{{$s_date}}" type="text" class="form-control mydatepicker" placeholder="yyyy-mm-dd"> </div> </div> </div> <div class="col-sm-12 col-lg-4"> <div class="form-group row"> <label for="email2" class="col-sm-3 text-right control-label col-form-label">End Date</label> <div class="col-sm-9"> <input autocomplete="off" id="end_date" name="end_date" value="{{$e_date}}" type="text" class="form-control mydatepicker" placeholder="yyyy-mm-dd"> </div> </div> </div> <div class="col-sm-12 col-lg-4"> <div class="form-group row"> <label for="email2" class="col-sm-3 text-right control-label col-form-label">Division</label> <div class="col-sm-9"> <select onchange="get_district();get_customer();" id="division" name="division" class="form-control select2"> <option value="">Select Division</option> @foreach($divisions as $division) <option value="{{$division->division_id}}">{{$division->division_name}}</option> @endforeach </select> </div> </div> </div> <div class="col-sm-12 col-lg-4"> <div class="form-group row"> <label for="email2" class="col-sm-3 text-right control-label col-form-label">District</label> <div class="col-sm-9"> <select onchange="get_customer();" id="district" name="district" class="form-control select2"> <option value="0">Select District</option> </select> </div> </div> </div> <div class="col-sm-12 col-lg-4"> <div class="form-group row"> <label for="email2" class="col-sm-4 text-right control-label col-form-label">Customer</label> <div class="col-sm-8"> <select id="customer" name="customer" class="form-control select2"> <option value="0">Select Customer</option> </select> </div> </div> </div> <div class="col-sm-12 col-lg-4"> <div class="form-group row"> <label for="email2" class="col-sm-4 text-right control-label col-form-label">Designation</label> <div class="col-sm-8"> <select onchange="get_employee();" name="designation" id="designation" class="form-control select2"> <option value="">Select Designation</option> @foreach($designations as $designation) <option value="{{$designation->designation_id}}">{{$designation->designation_name}}</option> @endforeach </select> </div> </div> </div> <div class="col-sm-12 col-lg-4"> <div class="form-group row"> <label for="email2" class="col-sm-4 text-right control-label col-form-label">Employee</label> <div class="col-sm-8"> <select id="employee" name="employee" class="form-control select2"> <option value="0">Select Employee</option> </select> </div> </div> </div> <div class="col-sm-12 col-lg-4"> <div class="form-group row"> <label for="email2" class="col-sm-6 text-right control-label col-form-label">Employee Status</label> <div class="col-sm-6"> <select id="emp_status" name="emp_status" class="form-control select2"> <option value="0">All</option> <option value="1">Current</option> <option value="2">Terminated</option> <option value="3">Resigned</option> </select> </div> </div> </div> <div class="col-sm-12 col-lg-4"> <div class="form-group row"> <label for="email2" class="col-sm-4 text-right control-label col-form-label">Category</label> <div class="col-sm-8"> <select onchange="get_product()" class="form-control" id="category" name="category"> <option value="0">Select category</option> @foreach($categories as $category) <option value="{{$category->category_id}}">{{$category->category_name}}</option> @endforeach </select> </div> </div> </div> <div class="col-sm-12 col-lg-4"> <div class="form-group row"> <label for="email2" class="col-sm-4 text-right control-label col-form-label">Product</label> <div class="col-sm-8"> <select id="product" name="product" class="form-control select2"> <option value="0">Select Product</option> </select> </div> </div> </div> <div class="col-sm-2"> <div class="form-group"> <button onclick="createpdf();" id="btnsearch" class="btn btn-success" type="button">Search </button> </div> </div> </form> </div> </div> </div> <div class="col-12" id="search_result"> @include('backend.reports.tables.sale_imei_table') </div> </div> <!-- ============================================================== --> <!-- End PAge Content --> <!-- ============================================================== --> <!-- ============================================================== --> <!-- Right sidebar --> <!-- ============================================================== --> <!-- .right-sidebar --> <!-- ============================================================== --> <!-- End Right sidebar --> <!-- ============================================================== --> </div> <div id="pdflentt" style="display: none;"></div> <!-- ============================================================== --> <!-- End Container fluid --> @endsection @section('script') <link rel="stylesheet" type="text/css" href="{{url('/public/backend/css/bootstrap-datepicker.min.css')}}"> <script src="{{url('/public/backend/js/bootstrap-datepicker.min.js')}}"></script> <script src="{{url('/public/backend/js/jquery.validate.min.js')}}"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.10.1/html2pdf.bundle.min.js" integrity="sha512-GsLlZN/3F2ErC5ifS5QtgpiJtWd43JWSuIgh7mbzZ8zBps+dvLusV+eNQATqgA/HdeKFVgA5v3S/cIrLF7QnIg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script type="text/javascript"> var date = new Date(); var today = new Date(date.getFullYear(), date.getMonth(), date.getDate()); $('.mydatepicker').datepicker({ format: 'yyyy-mm-dd', autoclose: true, todayHighlight: true }); //$( '.mydatepicker').datepicker( 'setDate', today ); function get_product() { var id = $('#category').val(); //console.log("{{url('admin/get_productById')}}/"+id); $.ajax({ type: 'POST', url: "{{url('admin/get_productById')}}", data: {category_id: id}, dataType: 'json', success: function (data) { //var d=JSON.parse(data); var color = "<option value=''>Select Product</option>"; $.each(data, function () { console.log(this.product_id); color += "<option value='" + this.product_id + "'> " + this.product_name + " </option>"; }); // console.log(color); $('#product').html(color); }, error: function (data) { //console.log(data); } }); } function get_employee() { var id = $('#designation').val(); //console.log("{{url('admin/get_productById')}}/"+id); $.ajax({ type: 'POST', url: "{{url('admin/get_Employee_byDesignation_Id')}}", data: {designation_id: id}, dataType: 'json', success: function (data) { //var d=JSON.parse(data); var color = "<option value=''>Select Employee</option>"; $.each(data, function () { color += "<option value='" + this.employee_id + "'> " + this.employee_name + " </option>"; }); $('#employee').html(color); }, error: function (data) { //console.log(data); } }); } function get_district() { var id = $('#division').val(); //console.log("{{url('admin/get_productById')}}/"+id); $.ajax({ type: 'POST', url: "{{url('admin/get_all_district_by_id')}}", data: {division_id: id}, dataType: 'json', success: function (data) { //var d=JSON.parse(data); var color = "<option value=''>Select District</option>"; $.each(data, function () { color += "<option value='" + this.district_id + "'> " + this.district_name + " </option>"; }); // console.log(color); $('#district').html(color); }, error: function (data) { //console.log(data); } }); } function get_customer() { var id = $('#division').val(); var dis_id = $('#district').val(); //console.log("{{url('admin/get_productById')}}/"+id); $.ajax({ type: 'POST', url: "{{url('admin/get_customer_by_divanddis')}}", data: {division_id: id, district_id: dis_id}, dataType: 'json', success: function (data) { //var d=JSON.parse(data); var color = "<option value=''> Select Customer</option>"; $.each(data, function () { color += "<option value='" + this.customer_id + "'> " + this.customer_name + " </option>"; }); // console.log(color); $('#customer').html(color); }, error: function (data) { //console.log(data); } }); } //search $("#search").validate({ rules: { start_date: { required: true, }, }, submitHandler: submitForm }); function submitForm(url = '') { // console.log('hi'); event.preventDefault(); getdata(); return false; } $('#customer,#district,#division,#employee,#designation,#category,#product,#start_date,#end_date').change(function () { getdata(); }) //end search function getdata(page = 1) { //var data1 = new FormData(document.getElementById('search')); var s_date = $('#start_date').val(); var e_date = $('#end_date').val(); var customer = $('#customer').val(); var district = $('#district').val(); var division = $('#division').val(); var employee = $('#employee').val(); var emp_status = $('#emp_status').val(); var category = $('#category').val(); var product = $('#product').val(); var designation = $('#designation').val(); //if(url == ''){ var url = "{{url('admin/reports/sale_iemi')}}?page=" + page + "&s_date=" + s_date + "&e_date=" + e_date + "&customer=" + customer + "&district=" + district + "&division=" + division + "&emp_status=" + emp_status + "&employee=" + employee + "&designation=" + designation + "&category=" + category + "&product=" + product; // } $('#search_result').css('text-align', 'center'); $('#search_result').html('<img style="width: 100px;" src="http://rpg.drivethrustuff.com/shared_images/ajax-loader.gif"/>'); $.ajax({ type: 'GET', url: url, data: {s_date: s_date}, cache: false, //datatype: "json", contentType: false, processData: false, success: function (data) { // console.log(data); //console.log(s_date); $('#search_result').css('text-align', 'initial'); $("#search_result").html(data); }, error: function (response) { //console.log(response); } }); } $(document).on('click', '.pagination a', function (event) { event.preventDefault(); $('li').removeClass('active'); $(this).parent('li').addClass('active'); var myurl = $(this).attr('href'); var page = $(this).attr('href').split('page=')[1]; getdata(page); }); </script> <script src="{{url('/public/backend/js/jspdf.debug.js')}}"></script> <script type="text/javascript"> var currentHeight = 20; let logo = null; function exportSaleIemi(arg, type) { $(arg).prop('disabled', true); //console.log($(arg).parent().serialize()); // var url="{{url('admin/reports/sales_imei_report_pdf')}}?"+$(arg).parent().serialize(); // $.ajax({ // type : 'GET', // url : url, // cache:false, // //datatype: "json", // contentType: false, // processData: false, // success : function (data) // { //console.log($('#dtables')); // console.log(document.getElementById('dtables').rows); //console.log(findhtml(data)); var pdf = new jsPDF('landscape', 'pt', 'letter'); pdf.setFontSize(10); pdf.addImage(logo, 2, 20, 130, 25); addtext(pdf, "MAKTEL LIMITED"); addtext(pdf, "House-277(Level-4),Lane-4,Baridhara DOHS,Dhaka-1206."); addtext(pdf, "Hotline:+88 01844241530"); addtext(pdf, "Mobile:+88 01844241530"); addtext(pdf, "Email:info@maktel.com.bd"); addtext(pdf, "Web:www.maktel.com.bd"); addtext(pdf, "Web:www.maktel.com.bd"); addtext(pdf, "Facebook:www.facebook.com/maktel"); pdf.setFontSize(12); var star_date = $('#start_date').val().split("-"); var end_date = $('#end_date').val().split("-"); pdf.text(10, currentHeight, "Sales IMEI Report"); currentHeight += txtLenth("Sales IMEI Report", 0); // addtext(pdf,"Sales IMEI Report"); var dateTex = "Date: " + star_date[2] + '-' + star_date[1] + '-' + star_date[0] + " to " + end_date[2] + '-' + end_date[1] + '-' + end_date[0]; pdf.text(10, currentHeight, dateTex); currentHeight += txtLenth(dateTex, 0) - 5; // addtext(pdf,dateTex); t_data = []; headers = []; //var element1 = findhtml(data); //var ss= element1; var table = document.getElementById('dtables'); var tableRow, cell, rowData, i = 0, j = 0; while (i < table.rows[0].cells.length) { cell = table.rows[0].cells[i]; if (i == table.rows[0].cells.length - 1) { headers[i] = { name: cell.textContent.toLowerCase().replace(/\s+/g, ''), prompt: cell.textContent.replace(/\r?\n/g, ''), width: (parseInt($(cell).attr('width')) / 100) * pdf.internal.pageSize.width - 1.5 }; } else { headers[i] = { name: cell.textContent.toLowerCase().replace(/\s+/g, ''), prompt: cell.textContent.replace(/\r?\n/g, ''), width: (parseInt($(cell).attr('width')) / 100) * pdf.internal.pageSize.width }; } i++; } i = 1; while (i < table.rows.length) { tableRow = table.rows[i]; rowData = {}; j = 0; while (j < tableRow.cells.length) { rowData[headers[j].name] = tableRow.cells[j].textContent.replace(/\r?\n/g, ''); j++; } t_data.push(rowData); i++; } pdf.setFontSize(8); pdf.table_font_size = 8; pdf.table(1.5, currentHeight, t_data, headers, { autoSize: false, printHeaders: true, fontSize: 8, }); pdf.text(641, 20, 'a'); if (type == 'pdf') { $(arg).prop('disabled', false); pdf.save('sale_imei_report.pdf'); } else { $(arg).prop('disabled', false); window.open(pdf.output('bloburl')); //pdf.output(); } currentHeight = 0; // } // }); //createpdf(); } function findhtml(element) { element = (function (element) { var $frame, $hiddendiv, framename, visuallyhidden; framename = "jsPDFhtmlText" + Date.now().toString() + (Math.random() * 1000).toFixed(0); visuallyhidden = "position: absolute !important;" + "clip: rect(1px 1px 1px 1px); /* IE6, IE7 */" + "clip: rect(1px, 1px, 1px, 1px);" + "padding:0 !important;" + "border:0 !important;" + "height: 1px !important;" + "width: 1px !important; " + "top:auto;" + "left:-100px;" + "overflow: hidden;"; $hiddendiv = document.createElement('div'); $hiddendiv.style.cssText = visuallyhidden; $hiddendiv.innerHTML = "<iframe style=\"height:1px;width:1px\" name=\"" + framename + "\" />"; document.body.appendChild($hiddendiv); $frame = window.frames[framename]; $frame.document.body.innerHTML = element; return $frame.document.body; })(element.replace(/<\/?script[^>]*?>/gi, '')); // console.log(element.childNodes); return element; } var imgUrl = "{{url('/public/backend/images/text_logo.png')}}"; getDataUri(imgUrl, function (dataUri) { logo = dataUri; //console.log("logo=" + logo); }); function getDataUri(url, cb) { var image = new Image(); image.setAttribute('crossOrigin', 'anonymous'); //getting images from external domain image.onload = function () { var canvas = document.createElement('canvas'); canvas.width = this.naturalWidth; canvas.height = this.naturalHeight; //next three lines for white background in case png has a transparent background var ctx = canvas.getContext('2d'); ctx.fillStyle = '#fff'; /// set white fill style ctx.fillRect(0, 0, canvas.width, canvas.height); canvas.getContext('2d').drawImage(this, 0, 0); cb(canvas.toDataURL('image/jpeg')); }; image.src = url; } function txtLenth(str, is_w = 1) { $('#pdflentt').css('font-size', '10px'); $('#pdflentt').text(str); if (is_w == 1) { return $('#pdflentt').width(); } else { return $('#pdflentt').height(); } } function addtext(pdf, text) { var h = txtLenth(text, 0) - 5; pdf.text((pdf.internal.pageSize.width - txtLenth(text)) / 2, currentHeight, text); currentHeight += h; } function createpdf() { var pdf = new jsPDF('p', 'pt', 'letter'); var str = 'This is a title'; pdf.setFontSize(10); pdf.addImage(logo, 2, 20, 130, 25); addtext(pdf, "MAKTEL LIMITED"); addtext(pdf, "House-277(Level-4),Lane-4,Baridhara DOHS,Dhaka-1206."); addtext(pdf, "Hotline:+88 01844241530"); addtext(pdf, "Mobile:+88 01844241530"); addtext(pdf, "Email:info@maktel.com.bd"); addtext(pdf, "Web:www.maktel.com.bd"); addtext(pdf, "Web:www.maktel.com.bd"); addtext(pdf, "Facebook:www.facebook.com/maktel"); console.log(pdf); //pdf.text((pdf.internal.pageSize.width-txtLenth(str))/2, 20,str); pdf.save('Tesst.pdf'); //var source = $('#search_result')[0]; // pdf.fromHTML( // source // HTML string or DOM elem ref. // ,2 // x coord // , 2 // y coord // , { // 'width': 522 // max width of content on PDF // }, // function (dispose) { // // dispose: object with X, Y of the last line add to the PDF // // this allow the insertion of new lines after html // pdf.save('Tesst.pdf'); // } // ); } </script> @endsection