| Server IP : 14.225.204.176 / Your IP : 216.73.216.6 Web Server : nginx/1.24.0 System : Linux nodejs-ybgk 6.8.0-40-generic #40-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 5 10:34:03 UTC 2024 x86_64 User : root ( 0) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/html/php/thanhphuong/resources/views/ |
Upload File : |
@extends('layout.main')
@section('content')
<!-- this portion is for demo only -->
<!-- <style type="text/css">
nav.navbar a.menu-btn {
padding: 12 !important;
}
.color-switcher {
background-color: #fff;
border: 1px solid #e5e5e5;
border-radius: 2px;
padding: 10px;
position: fixed;
top: 150px;
transition: all 0.4s ease 0s;
width: 150px;
z-index: 99999;
}
.hide-color-switcher {
right: -150px;
}
.show-color-switcher {
right: -1px;
}
.color-switcher a.switcher-button {
background: #fff;
border-top: #e5e5e5;
border-right: #e5e5e5;
border-bottom: #e5e5e5;
border-left: #e5e5e5;
border-style: solid solid solid solid;
border-width: 1px 1px 1px 1px;
border-radius: 2px;
color: #161616;
cursor: pointer;
font-size: 22px;
width: 45px;
height: 45px;
line-height: 43px;
position: absolute;
top: 24px;
left: -44px;
text-align: center;
}
.color-switcher a.switcher-button i {
line-height: 40px
}
.color-switcher .color-switcher-title {
color: #666;
padding: 0px 0 8px;
}
.color-switcher .color-switcher-title:after {
content: "";
display: block;
height: 1px;
margin: 14px 0 0;
position: relative;
width: 20px;
}
.color-switcher .color-list a.color {
cursor: pointer;
display: inline-block;
height: 30px;
margin: 10px 0 0 1px;
width: 28px;
}
.purple-theme {
background-color: #313131;
}
.green-theme {
background-color: #1abc9c;
}
.blue-theme {
background-color: #3498db;
}
.dark-theme {
background-color: #34495e;
}
</style>
<div class="color-switcher hide-color-switcher">
<a class="switcher-button"><i class="fa fa-cog fa-spin"></i></a>
<h5>{{trans('file.Theme')}}</h5>
<div class="color-list">
<a class="color purple-theme" title="purple" data-color="default.css"></a>
<a class="color green-theme" title="green" data-color="green.css"></a>
<a class="color blue-theme" title="blue" data-color="blue.css"></a>
<a class="color dark-theme" title="dark" data-color="dark.css"></a>
</div>
</div> -->
@if(session()->has('not_permitted'))
<div class="alert alert-danger alert-dismissible text-center"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>{{ session()->get('not_permitted') }}</div>
@endif
@if(session()->has('message'))
<div class="alert alert-success alert-dismissible text-center"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>{{ session()->get('message') }}</div>
@endif
<div class="row">
<div class="container-fluid">
<div class="col-md-12">
<div class="brand-text float-left mt-4">
<h3>{{trans('file.welcome')}} <span>{{Auth::user()->name}}</span> </h3>
</div>
<div class="filter-toggle btn-group">
<button class="btn btn-secondary date-btn" data-start_date="{{date('Y-m-d')}}" data-end_date="{{date('Y-m-d')}}">{{trans('file.Today')}}</button>
<button class="btn btn-secondary date-btn" data-start_date="{{date('Y-m-d', strtotime(' -7 day'))}}" data-end_date="{{date('Y-m-d')}}">{{trans('file.Last 7 Days')}}</button>
<button class="btn btn-secondary date-btn active" data-start_date="{{date('Y').'-'.date('m').'-'.'01'}}" data-end_date="{{date('Y-m-d')}}">{{trans('file.This Month')}}</button>
<button class="btn btn-secondary date-btn" data-start_date="{{date('Y').'-01'.'-01'}}" data-end_date="{{date('Y').'-12'.'-31'}}">{{trans('file.This Year')}}</button>
</div>
</div>
</div>
</div>
<!-- Counts Section -->
<section class="dashboard-counts">
<div class="container-fluid">
<div class="row">
<div class="col-md-12 form-group">
<div class="row">
<!-- Count item widget-->
<div class="col-sm-3">
<div class="wrapper count-title text-center">
<div class="icon"><i class="dripicons-graph-bar" style="color: #733686"></i></div>
<div class="name"><strong style="color: #733686">{{ trans('file.revenue') }}</strong></div>
<div class="count-number revenue-data">{{number_format((float)$revenue, 0, '.', ',')}}</div>
</div>
</div>
<!-- Count item widget-->
<div class="col-sm-3">
<div class="wrapper count-title text-center">
<div class="icon"><i class="dripicons-return" style="color: #ff8952"></i></div>
<div class="name"><strong style="color: #ff8952">{{trans('file.Sale Return')}}</strong></div>
<div class="count-number return-data">{{number_format((float)$return, 0, '.', ',')}}</div>
</div>
</div>
<!-- Count item widget-->
<div class="col-sm-3">
<div class="wrapper count-title text-center">
<div class="icon"><i class="dripicons-media-loop" style="color: #00c689"></i></div>
<div class="name"><strong style="color: #00c689">{{trans('file.Purchase Return')}}</strong></div>
<div class="count-number purchase_return-data">{{number_format((float)$purchase_return, 0, '.', ',')}}</div>
</div>
</div>
<!-- Count item widget-->
<div class="col-sm-3">
<div class="wrapper count-title text-center">
<div class="icon"><i class="dripicons-trophy" style="color: #297ff9"></i></div>
<div class="name"><strong style="color: #297ff9">{{trans('file.profit')}}</strong></div>
<div class="count-number profit-data">{{number_format((float)$profit, 0, '.', ',')}}</div>
</div>
</div>
</div>
</div>
<div class="col-md-7 mt-4">
<div class="card line-chart-example">
<div class="card-header d-flex align-items-center">
<h4>{{trans('file.Cash Flow')}}</h4>
</div>
<div class="card-body">
@php
if($general_setting->theme == 'default.css'){
$color = '#733686';
$color_rgba = 'rgba(115, 54, 134, 0.8)';
}
elseif($general_setting->theme == 'green.css'){
$color = '#2ecc71';
$color_rgba = 'rgba(46, 204, 113, 0.8)';
}
elseif($general_setting->theme == 'blue.css'){
$color = '#3498db';
$color_rgba = 'rgba(52, 152, 219, 0.8)';
}
elseif($general_setting->theme == 'dark.css'){
$color = '#34495e';
$color_rgba = 'rgba(52, 73, 94, 0.8)';
}
@endphp
<canvas id="cashFlow" data-color = "{{$color}}" data-color_rgba = "{{$color_rgba}}" data-recieved = "{{json_encode($payment_recieved)}}" data-sent = "{{json_encode($payment_sent)}}" data-month = "{{json_encode($month)}}" data-label1="{{trans('file.Payment Recieved')}}" data-label2="{{trans('file.Payment Sent')}}"></canvas>
</div>
</div>
</div>
<div class="col-md-5 mt-4">
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h4>{{date('F')}} {{date('Y')}}</h4>
</div>
<div class="pie-chart mb-2">
<canvas id="transactionChart" data-color = "{{$color}}" data-color_rgba = "{{$color_rgba}}" data-revenue={{$revenue}} data-purchase={{$purchase}} data-expense={{$expense}} data-label1="{{trans('file.Purchase')}}" data-label2="{{trans('file.revenue')}}" data-label3="{{trans('file.Expense')}}" width="100" height="95"> </canvas>
</div>
</div>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header d-flex align-items-center">
<h4>{{trans('file.yearly report')}}</h4>
</div>
<div class="card-body">
<canvas id="saleChart" data-sale_chart_value = "{{json_encode($yearly_sale_amount)}}" data-purchase_chart_value = "{{json_encode($yearly_purchase_amount)}}" data-label1="{{trans('file.Purchased Amount')}}" data-label2="{{trans('file.Sold Amount')}}"></canvas>
</div>
</div>
</div>
<div class="col-md-7">
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h4>{{trans('file.Recent Transaction')}}</h4>
<div class="right-column">
<div class="badge badge-primary">{{trans('file.latest')}} 5</div>
</div>
</div>
<ul class="nav nav-tabs" role="tablist">
<li class="nav-item">
<a class="nav-link active" href="#sale-latest" role="tab" data-toggle="tab">{{trans('file.Sale')}}</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#purchase-latest" role="tab" data-toggle="tab">{{trans('file.Purchase')}}</a>
</li>
<!-- <li class="nav-item">
<a class="nav-link" href="#quotation-latest" role="tab" data-toggle="tab">{{trans('file.Quotation')}}</a>
</li> -->
<li class="nav-item">
<a class="nav-link" href="#payment-latest" role="tab" data-toggle="tab">{{trans('file.Payment')}}</a>
</li>
</ul>
<div class="tab-content">
<div role="tabpanel" class="tab-pane fade show active" id="sale-latest">
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th>{{trans('file.Date')}}</th>
<th>{{trans('file.Inventory Delivery Voucher')}}</th>
<th>{{trans('file.customer')}}</th>
<th>{{trans('file.Status')}}</th>
<th>{{trans('file.grand total')}}</th>
</tr>
</thead>
<tbody>
@foreach($recent_sale as $sale)
<?php $customer = DB::table('customers')->find($sale->customer_id); ?>
<tr>
<td class="text-center">{{ date($general_setting->date_format, strtotime($sale->created_at->toDateString())) }}</td>
<td>{{$sale->inventory_delivery_voucher}}</td>
<td>{{$customer->name}}</td>
@if($sale->sale_status == 1)
<td class="text-center"><div class="badge badge-success">{{trans('file.Completed')}}</div></td>
@elseif($sale->sale_status == 2)
<td class="text-center"><div class="badge badge-danger">{{trans('file.Pending')}}</div></td>
@else
<td class="text-center"><div class="badge badge-warning">{{trans('file.Draft')}}</div></td>
@endif
<td class="text-right">{{number_format((float)$sale->grand_total, 0, '.', '.')}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
<div role="tabpanel" class="tab-pane fade" id="purchase-latest">
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th>{{trans('file.Date')}}</th>
<th>{{trans('file.Inventory Receiving Voucher')}}</th>
<th>{{trans('file.Supplier')}}</th>
<th>{{trans('file.Status')}}</th>
<th>{{trans('file.grand total')}}</th>
</tr>
</thead>
<tbody>
@foreach($recent_purchase as $purchase)
<?php $supplier = DB::table('suppliers')->find($purchase->supplier_id); ?>
<tr>
<td class="text-center">{{date($general_setting->date_format, strtotime($purchase->created_at->toDateString())) }}</td>
<td>{{$purchase->inventory_receiving_voucher}}</td>
@if($supplier)
<td>{{$supplier->name}}</td>
@else
<td>N/A</td>
@endif
@if($purchase->status == 1)
<td class="text-center"><div class="badge badge-success">Recieved</div></td>
@elseif($purchase->status == 2)
<td class="text-center"><div class="badge badge-success">Partial</div></td>
@elseif($purchase->status == 3)
<td class="text-center"><div class="badge badge-danger">Pending</div></td>
@else
<td class="text-center"><div class="badge badge-danger">Ordered</div></td>
@endif
<td class="text-right">{{number_format((float)$purchase->grand_total, 0, '.', '.')}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
<div role="tabpanel" class="tab-pane fade" id="quotation-latest">
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th>{{trans('file.Date')}}</th>
<th>{{trans('file.reference')}}</th>
<th>{{trans('file.customer')}}</th>
<th>{{trans('file.Status')}}</th>
<th>{{trans('file.grand total')}}</th>
</tr>
</thead>
<tbody>
@foreach($recent_quotation as $quotation)
<?php $customer = DB::table('customers')->find($quotation->customer_id); ?>
<tr>
<td class="text-center">{{date($general_setting->date_format, strtotime($quotation->created_at->toDateString())) }}</td>
<td>{{$quotation->reference_no}}</td>
<td>{{$customer->name}}</td>
@if($quotation->quotation_status == 1)
<td class="text-center"><div class="badge badge-danger">Pending</div></td>
@else
<td class="text-center"><div class="badge badge-success">Sent</div></td>
@endif
<td class="text-right">{{number_format((float)$quotation->grand_total, 0, '.', '.')}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
<div role="tabpanel" class="tab-pane fade" id="payment-latest">
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th>{{trans('file.Date')}}</th>
<th>{{trans('file.reference')}}</th>
<th>{{trans('file.Amount')}}</th>
<th>{{trans('file.Paid By')}}</th>
</tr>
</thead>
<tbody>
@foreach($recent_payment as $payment)
<tr>
<td class="text-center">{{date($general_setting->date_format, strtotime($payment->created_at->toDateString())) }}</td>
<td>{{$payment->payment_reference}}</td>
<td class="text-right">{{number_format((float)$payment->amount, 0, '.', '.')}}</td>
<td class="text-center">{{number_format((float)$payment->paying_method, 0, '.', '.')}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-5">
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h4>{{trans('file.Best Seller').' '.date('F')}}</h4>
<div class="right-column">
<div class="badge badge-primary">{{trans('file.top')}} 5</div>
</div>
</div>
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th>STT</th>
<th>{{trans('file.Product Details')}}</th>
<th>{{trans('file.qty')}}</th>
</tr>
</thead>
<tbody>
@foreach($best_selling_qty as $key=>$sale)
<?php $product = DB::table('products')->find($sale->product_id); ?>
<tr>
<td class="text-center">{{$key + 1}}</td>
<td>{{$product->name}}<br>[{{$product->code}}]</td>
<td class="text-center">{{$sale->sold_qty}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h4>{{trans('file.Best Seller').' '.date('Y'). '('.trans('file.qty').')'}}</h4>
<div class="right-column">
<div class="badge badge-primary">{{trans('file.top')}} 5</div>
</div>
</div>
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th>STT</th>
<th>{{trans('file.Product Details')}}</th>
<th>{{trans('file.qty')}}</th>
</tr>
</thead>
<tbody>
@foreach($yearly_best_selling_qty as $key => $sale)
<?php $product = DB::table('products')->find($sale->product_id); ?>
<tr>
<td class="text-center">{{$key + 1}}</td>
<td>{{$product->name}}<br>[{{$product->code}}]</td>
<td class="text-center">{{$sale->sold_qty}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h4>{{trans('file.Best Seller').' '.date('Y') . '('.trans('file.price').')'}}</h4>
<div class="right-column">
<div class="badge badge-primary">{{trans('file.top')}} 5</div>
</div>
</div>
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th>STT</th>
<th>{{trans('file.Product Details')}}</th>
<th>{{trans('file.grand total')}}</th>
</tr>
</thead>
<tbody>
@foreach($yearly_best_selling_price as $key => $sale)
<?php $product = DB::table('products')->find($sale->product_id); ?>
<tr>
<td class="text-center">{{$key + 1}}</td>
<td>{{$product->name}}<br>[{{$product->code}}]</td>
<td class="text-center">{{number_format((float)$sale->total_price, 0, '.', ',')}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</section>
<script type="text/javascript">
$("table").css({ "color": "#000000" });
$("th").css({ "border": "1px solid #333333", "text-align": "center" });
$("td").css({ "border": "1px solid #333333" });
// Show and hide color-switcher
$(".color-switcher .switcher-button").on('click', function() {
$(".color-switcher").toggleClass("show-color-switcher", "hide-color-switcher", 300);
});
// Color Skins
$('a.color').on('click', function() {
/*var title = $(this).attr('title');
$('#style-colors').attr('href', 'css/skin-' + title + '.css');
return false;*/
$.get('setting/general_setting/change-theme/' + $(this).data('color'), function(data) {
});
var style_link= $('#custom-style').attr('href').replace(/([^-]*)$/, $(this).data('color') );
$('#custom-style').attr('href', style_link);
});
$(".date-btn").on("click", function() {
$(".date-btn").removeClass("active");
$(this).addClass("active");
var start_date = $(this).data('start_date');
var end_date = $(this).data('end_date');
$.get('dashboard-filter/' + start_date + '/' + end_date, function(data) {
dashboardFilter(data);
});
});
function dashboardFilter(data){
$('.revenue-data').hide();
$('.revenue-data').html(parseFloat(data[0]).toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,"));
$('.revenue-data').show(500);
$('.return-data').hide();
$('.return-data').html(parseFloat(data[1]).toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,"));
$('.return-data').show(500);
$('.profit-data').hide();
$('.profit-data').html(parseFloat(data[2]).toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,"));
$('.profit-data').show(500);
$('.purchase_return-data').hide();
$('.purchase_return-data').html(parseFloat(data[3]).toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,"));
$('.purchase_return-data').show(500);
}
</script>
@endsection