changes
This commit is contained in:
@@ -7,7 +7,7 @@ use Illuminate\Http\Request;
|
||||
use App\Models\IamPrincipal;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use App\Models\ManageRestaurant;
|
||||
|
||||
use App\Models\Subscriptions;
|
||||
|
||||
class DashboardController extends Controller
|
||||
{
|
||||
@@ -33,8 +33,7 @@ class DashboardController extends Controller
|
||||
->pluck('count', 'month')
|
||||
->toArray();
|
||||
|
||||
$dataMonthlyWithType4 = IamPrincipal::select(DB::raw("COUNT(*) as count"), DB::raw("MONTH(created_at) as month"))
|
||||
->where('principal_type_xid', 4)
|
||||
$dataMonthlyWithType4 = Subscriptions::select(DB::raw("COUNT(*) as count"), DB::raw("MONTH(created_at) as month"))
|
||||
->whereYear('created_at', date('Y'))
|
||||
->groupBy(DB::raw("MONTH(created_at)"))
|
||||
->orderBy(DB::raw("MONTH(created_at)"))
|
||||
@@ -54,8 +53,7 @@ class DashboardController extends Controller
|
||||
->pluck('count', 'quarter')
|
||||
->toArray();
|
||||
|
||||
$dataQuarterlyWithType4 = IamPrincipal::select(DB::raw("COUNT(*) as count"), DB::raw("QUARTER(created_at) as quarter"))
|
||||
->where('principal_type_xid', 4)
|
||||
$dataQuarterlyWithType4 = Subscriptions::select(DB::raw("COUNT(*) as count"), DB::raw("QUARTER(created_at) as quarter"))
|
||||
->groupBy(DB::raw("QUARTER(created_at)"))
|
||||
->orderBy(DB::raw("QUARTER(created_at)"))
|
||||
->pluck('count', 'quarter')
|
||||
@@ -73,14 +71,15 @@ class DashboardController extends Controller
|
||||
->pluck('count', 'year')
|
||||
->toArray();
|
||||
|
||||
$dataYearlyWithType4 = IamPrincipal::select(DB::raw("COUNT(*) as count"), DB::raw("YEAR(created_at) as year"))
|
||||
->where('principal_type_xid', 4)
|
||||
$dataYearlyWithType4 = Subscriptions::select(DB::raw("COUNT(*) as count"), DB::raw("YEAR(created_at) as year"))
|
||||
->groupBy(DB::raw("YEAR(created_at)"))
|
||||
->pluck('count', 'year')
|
||||
->toArray();
|
||||
|
||||
$customerCount = IamPrincipal::where('principal_type_xid', '=', 3)->count();
|
||||
$restaurantCount = ManageRestaurant::where('is_active', 1)->count();
|
||||
$restaurantCount = Subscriptions::where('is_active', 1)->count();
|
||||
$recent_transaction = Subscriptions::with('subscription')->get()->toArray();
|
||||
|
||||
|
||||
return view('Admin.dashboard', compact(
|
||||
'customerCount',
|
||||
@@ -90,7 +89,8 @@ class DashboardController extends Controller
|
||||
'dataQuarterlyWithType3',
|
||||
'dataQuarterlyWithType4',
|
||||
'dataYearlyWithType3',
|
||||
'dataYearlyWithType4'
|
||||
'dataYearlyWithType4',
|
||||
'recent_transaction'
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,9 +11,14 @@ class Subscriptions extends Model
|
||||
|
||||
protected $table = 'subscriptions';
|
||||
protected $guarded = [];
|
||||
|
||||
|
||||
|
||||
|
||||
public function subscription()
|
||||
{
|
||||
return $this->belongsTo(IamPrincipal::class, 'iam_principal_xid', 'id');
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -100,668 +100,274 @@
|
||||
</div> --}}
|
||||
|
||||
</div>
|
||||
<!-- <div class="col-12 d-flex p-0 mb-3">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h5 class="text-start">Recent Transactions</h5>
|
||||
<div class="d-flex align-items-center justify-content-between mb-2">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="transcation-list">
|
||||
<i class="fa fa-picture-o" aria-hidden="true"></i>
|
||||
</div>
|
||||
<div>
|
||||
<label class="m-0" for="">Jennifer Lawrence</label>
|
||||
<h6 class="font-weight-bold">Cheers to the Summer</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="font-weight-bold">$500</h6>
|
||||
</div>
|
||||
{{-- <div class="col-12 d-flex align-items-center p-0 mb-4">
|
||||
<div class="col-md-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h5>Recent Transactions</h5>
|
||||
<form method="POST" id="customer-form">
|
||||
@csrf
|
||||
<input type="hidden" name="selected_id" id="ids" disabled>
|
||||
<input type="hidden" name="all_id" id="all_id" value="all" disabled>
|
||||
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||
<table id="zero-config" class="table dt-table-hover location_table"
|
||||
style="width:100%">
|
||||
<thead class="text-center">
|
||||
<tr>
|
||||
<th class="w-10px pe-2">
|
||||
<div
|
||||
class="form-check form-check-sm form-check-custom form-check-solid me-3">
|
||||
<input class="form-check-input" type="checkbox"
|
||||
name="customer_ids" id="select-all-ids" />
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-between mb-2">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="transcation-list">
|
||||
<i class="fa fa-picture-o" aria-hidden="true"></i>
|
||||
</div>
|
||||
<div>
|
||||
<label class="m-0" for="">Jennifer Lawrence</label>
|
||||
<h6 class="font-weight-bold">Cheers to the Summer</h6>
|
||||
</div>
|
||||
</th>
|
||||
<th class="text-start">Sr no</th>
|
||||
<th class="text-start">Name</th>
|
||||
<th class="text-start">Customer Id</th>
|
||||
<th class="text-start">Amount</th>
|
||||
<th class="text-start">payment Details</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="text-center">
|
||||
@foreach ($recent_transaction as $recent_transactions)
|
||||
<tr>
|
||||
<td>
|
||||
<div
|
||||
class="form-check form-check-sm form-check-custom form-check-solid">
|
||||
<input class="form-check-input" type="checkbox"
|
||||
id="customer_checkbox_ids" name="customer_ids"
|
||||
value="{{ $recent_transactions['id'] }}" />
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="font-weight-bold">$500</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-between mb-2">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="transcation-list">
|
||||
<i class="fa fa-picture-o" aria-hidden="true"></i>
|
||||
</div>
|
||||
<div>
|
||||
<label class="m-0" for="">Jennifer Lawrence</label>
|
||||
<h6 class="font-weight-bold">Cheers to the Summer</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="font-weight-bold">$500</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h5 class="text-start">Locations</h5>
|
||||
<img src="{{ asset('public/assets/img/map.svg') }}" width="100%" height="173px"
|
||||
alt="">
|
||||
</td>
|
||||
<td class="text-start">{{ $loop->iteration }}</td>
|
||||
<td class="text-start">
|
||||
{{ $recent_transactions['subscription']['first_name'] }}
|
||||
{{ $recent_transactions['subscription']['last_name'] }}
|
||||
</td>
|
||||
<td class="text-start">
|
||||
{{ $recent_transactions['subscription']['id'] }}</td>
|
||||
<td class="text-start">$ {{ $recent_transactions['amount'] }}</td>
|
||||
<td class="text-start">
|
||||
<a class="view-btn m-0 pointer sub_admin_permission"
|
||||
data-toggle="modal" data-target="#payment-details-modal"
|
||||
data-id="{{ $recent_transactions['id'] }}"
|
||||
data-price="{{ $recent_transactions['amount'] }}"
|
||||
data-first_name="{{ $recent_transactions['subscription']['first_name'] }}"
|
||||
data-stripeCustId="{{ $recent_transactions['stripe_customer_id'] }}"
|
||||
data-subId="{{ $recent_transactions['subscription_id'] }}"
|
||||
data-subStatus="{{ $recent_transactions['subscription_status'] }}"
|
||||
data-subStartPeriod="{{ $recent_transactions['current_period_start'] }}"
|
||||
data-subCurrentPeriod="{{ $recent_transactions['current_period_end'] }}"
|
||||
data-subNextPeriod="{{ $recent_transactions['next_payment_date'] }}">View</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div> --}}
|
||||
</div>
|
||||
<!-- <div class="col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 layout-spacing">
|
||||
<div class="widget widget-six">
|
||||
<div class="widget-heading">
|
||||
<div class="task-action">
|
||||
<div class="user-details">
|
||||
<img src="../src/assets/img/user-2-svgrepo-com.svg" />
|
||||
<h3>Welcome ,</h3>
|
||||
<h4>Kartikey Gautam</h4>
|
||||
</div>
|
||||
<div class="row w-100">
|
||||
<div class="col-md-4 col-sm-12 layout-spacing pb-0">
|
||||
<div data-draggable="true"
|
||||
class="card simple-title-task ui-sortable-handle">
|
||||
<div class="card-body">
|
||||
<div class="task-header">
|
||||
<div class="order-summary">
|
||||
<div class="summary-list">
|
||||
<div class="w-icon">
|
||||
<img class="img1"
|
||||
src="../src/assets/img/patient(1).svg" />
|
||||
</div>
|
||||
<div class="w-summary-details">
|
||||
<div class="w-summary-info">
|
||||
<h6>Total patients</h6>
|
||||
<p class="summary-count">50</p>
|
||||
</div>
|
||||
|
||||
<div class="w-summary-stats">
|
||||
<div class="progress">
|
||||
<div class="progress-bar bg-gradient-success"
|
||||
role="progressbar" style="width: 50%"
|
||||
aria-valuenow="50" aria-valuemin="0"
|
||||
aria-valuemax="100"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-summary-info mt-0">
|
||||
<p class="summary-text">50 % increase in 30 days
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 col-sm-12 layout-spacing pb-0">
|
||||
<div data-draggable="true"
|
||||
class="card simple-title-task ui-sortable-handle">
|
||||
<div class="card-body">
|
||||
<div class="task-header">
|
||||
<div class="order-summary">
|
||||
<div class="summary-list">
|
||||
<div class="w-icon">
|
||||
<img class="img2"
|
||||
src="../src/assets/img/heart-add(1).svg" />
|
||||
</div>
|
||||
<div class="w-summary-details">
|
||||
|
||||
<div class="w-summary-info">
|
||||
<h6>Total caregiver</h6>
|
||||
<p class="summary-count">80</p>
|
||||
</div>
|
||||
|
||||
<div class="w-summary-stats">
|
||||
<div class="progress">
|
||||
<div class="progress-bar bg-gradient-warning"
|
||||
role="progressbar" style="width: 80%"
|
||||
aria-valuenow="80" aria-valuemin="0"
|
||||
aria-valuemax="100"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-summary-info mt-0">
|
||||
<p class="summary-text">30 % increase in 30 days
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-12 layout-spacing pb-0">
|
||||
<div data-draggable="true"
|
||||
class="card simple-title-task ui-sortable-handle">
|
||||
<div class="card-body">
|
||||
<div class="task-header">
|
||||
<div class="order-summary">
|
||||
<div class="summary-list">
|
||||
<div class="w-icon">
|
||||
<img class="img3"
|
||||
src="../src/assets/img/download-cloud.svg" />
|
||||
</div>
|
||||
<div class="w-summary-details">
|
||||
|
||||
<div class="w-summary-info">
|
||||
<h6>App downloads</h6>
|
||||
<p class="summary-count">40</p>
|
||||
</div>
|
||||
|
||||
<div class="w-summary-stats">
|
||||
<div class="progress">
|
||||
<div class="progress-bar bg-gradient-secondary"
|
||||
role="progressbar" style="width: 40%"
|
||||
aria-valuenow="40" aria-valuemin="0"
|
||||
aria-valuemax="100"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-summary-info mt-0">
|
||||
<p class="summary-text">15 % increase in 30 days
|
||||
</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div> -->
|
||||
<!-- <div class="col-xl-12 col-lg-4 col-md-4 col-sm-4 col-12 layout-spacing">
|
||||
<div class="widget widget-one_hybrid widget-engagement">
|
||||
<div class="widget-heading">
|
||||
<div class="w-title">
|
||||
<div class="grpah-details">
|
||||
<p class="w-value">New patients</p>
|
||||
<h5 class="">%20 High than last monthy</h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="graph2">
|
||||
<div class="grpah-details2">
|
||||
<strong><span>100</span></strong>
|
||||
<span>Overall</span>
|
||||
</div>
|
||||
<div class="right-divider"></div>
|
||||
<div class="grpah-details2">
|
||||
<strong><span>50</span></strong>
|
||||
<span>Monthly</span>
|
||||
</div>
|
||||
<div class="right-divider"></div>
|
||||
<div class="grpah-details2">
|
||||
<strong><span>15</span></strong>
|
||||
<span>Daily</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="widget-content">
|
||||
<div class="w-chart">
|
||||
<div id="hybrid_followers3"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-12 col-lg-12 col-sm-12 layout-spacing">
|
||||
<div class="widget-content widget-content-area br-8">
|
||||
<div class="index-card">
|
||||
<div class="grpah-details">
|
||||
<p class="w-value">New patients</p>
|
||||
<a href="manage-patient">View All</a>
|
||||
</div>
|
||||
<table id="zero-config" class="table dt-table-hover" style="width:100%">
|
||||
<thead class="text-center">
|
||||
<tr>
|
||||
<th class="text-start">Name</th>
|
||||
<th>Email address</th>
|
||||
<th>Contact Number</th>
|
||||
<th>Caregiver</th>
|
||||
<th>Subscription Plan</th>
|
||||
<th class="no-content">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="text-center">
|
||||
<tr>
|
||||
<td class="text-start">Raj Shinde</td>
|
||||
<td>rajshinde9@gmail.com</td>
|
||||
<td>+5624878954</td>
|
||||
<td>Kartikey Gautam</td>
|
||||
<td>Active</td>
|
||||
<td>
|
||||
<div class="dropout">
|
||||
<button class="more">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</button>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="view-customer.php">
|
||||
<img src="../src/assets/img/view.svg" />
|
||||
<span>View Details</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="" data-toggle="modal" data-target="#archive-modal">
|
||||
<img src="../src/assets/img/archive.svg" />
|
||||
<span>Archive Patient</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<img src="../src/assets/img/download.svg" />
|
||||
<span>Download Data</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="" data-toggle="modal" data-target="#suspend-modal">
|
||||
<img src="../src/assets/img/stop.svg" />
|
||||
<span>Suspend Patient</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-start">Raj Shinde</td>
|
||||
<td>rajshinde9@gmail.com</td>
|
||||
<td>+5624878954</td>
|
||||
<td>Kartikey Gautam</td>
|
||||
<td>Active</td>
|
||||
<td>
|
||||
<div class="dropout">
|
||||
<button class="more">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</button>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="view-customer.php">
|
||||
<img src="../src/assets/img/view.svg" />
|
||||
<span>View Details</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="" data-toggle="modal" data-target="#archive-modal">
|
||||
<img src="../src/assets/img/archive.svg" />
|
||||
<span>Archive Patient</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<img src="../src/assets/img/download.svg" />
|
||||
<span>Download Data</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="" data-toggle="modal" data-target="#suspend-modal">
|
||||
<img src="../src/assets/img/stop.svg" />
|
||||
<span>Suspend Patient</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-start">Raj Shinde</td>
|
||||
<td>rajshinde9@gmail.com</td>
|
||||
<td>+5624878954</td>
|
||||
<td>Kartikey Gautam</td>
|
||||
<td>Active</td>
|
||||
<td>
|
||||
<div class="dropout">
|
||||
<button class="more">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</button>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="view-customer.php">
|
||||
<img src="../src/assets/img/view.svg" />
|
||||
<span>View Details</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="" data-toggle="modal" data-target="#archive-modal">
|
||||
<img src="../src/assets/img/archive.svg" />
|
||||
<span>Archive Patient</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<img src="../src/assets/img/download.svg" />
|
||||
<span>Download Data</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="" data-toggle="modal" data-target="#suspend-modal">
|
||||
<img src="../src/assets/img/stop.svg" />
|
||||
<span>Suspend Patient</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-start">Raj Shinde</td>
|
||||
<td>rajshinde9@gmail.com</td>
|
||||
<td>+5624878954</td>
|
||||
<td>Kartikey Gautam</td>
|
||||
<td>Active</td>
|
||||
<td>
|
||||
<div class="dropout">
|
||||
<button class="more">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</button>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="view-customer.php">
|
||||
<img src="../src/assets/img/view.svg" />
|
||||
<span>View Details</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="" data-toggle="modal" data-target="#archive-modal">
|
||||
<img src="../src/assets/img/archive.svg" />
|
||||
<span>Archive Patient</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<img src="../src/assets/img/download.svg" />
|
||||
<span>Download Data</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="" data-toggle="modal" data-target="#suspend-modal">
|
||||
<img src="../src/assets/img/stop.svg" />
|
||||
<span>Suspend Patient</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-start">Raj Shinde</td>
|
||||
<td>rajshinde9@gmail.com</td>
|
||||
<td>+5624878954</td>
|
||||
<td>Kartikey Gautam</td>
|
||||
<td>Active</td>
|
||||
<td>
|
||||
<div class="dropout">
|
||||
<button class="more">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</button>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="view-customer.php">
|
||||
<img src="../src/assets/img/view.svg" />
|
||||
<span>View Details</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="" data-toggle="modal" data-target="#archive-modal">
|
||||
<img src="../src/assets/img/archive.svg" />
|
||||
<span>Archive Patient</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<img src="../src/assets/img/download.svg" />
|
||||
<span>Download Data</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="" data-toggle="modal" data-target="#suspend-modal">
|
||||
<img src="../src/assets/img/stop.svg" />
|
||||
<span>Suspend Patient</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@endsection
|
||||
|
||||
@section('section_script')
|
||||
<script>
|
||||
$('#zero-config').DataTable({
|
||||
"dom": "<'dt--top-section'<'row'<'col-12 col-sm-6 d-flex justify-content-sm-start justify-content-center'l><'col-12 col-sm-6 d-flex justify-content-sm-end justify-content-center mt-sm-0 mt-3'f>>>" +
|
||||
"<'table-responsive'tr>" +
|
||||
"<'dt--bottom-section d-sm-flex justify-content-sm-between text-center'<'dt--pages-count mb-sm-0 mb-3'i><'dt--pagination'p>>",
|
||||
"oLanguage": {
|
||||
"oPaginate": {
|
||||
"sPrevious": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-left"><line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline></svg>',
|
||||
"sNext": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-right"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>'
|
||||
@section('section_script')
|
||||
<script>
|
||||
$('#zero-config').DataTable({
|
||||
"dom": "<'dt--top-section'<'row'<'col-12 col-sm-6 d-flex justify-content-sm-start justify-content-center'l><'col-12 col-sm-6 d-flex justify-content-sm-end justify-content-center mt-sm-0 mt-3'f>>>" +
|
||||
"<'table-responsive'tr>" +
|
||||
"<'dt--bottom-section d-sm-flex justify-content-sm-between text-center'<'dt--pages-count mb-sm-0 mb-3'i><'dt--pagination'p>>",
|
||||
"oLanguage": {
|
||||
"oPaginate": {
|
||||
"sPrevious": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-left"><line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline></svg>',
|
||||
"sNext": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-right"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>'
|
||||
},
|
||||
"sInfo": "Showing page PAGE of _PAGES_",
|
||||
"sSearch": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>',
|
||||
"sSearchPlaceholder": "Search...",
|
||||
"sLengthMenu": "Results : _MENU_",
|
||||
},
|
||||
"sInfo": "Showing page PAGE of _PAGES_",
|
||||
"sSearch": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>',
|
||||
"sSearchPlaceholder": "Search...",
|
||||
"sLengthMenu": "Results : _MENU_",
|
||||
},
|
||||
"stripeClasses": [],
|
||||
"lengthMenu": [7, 10, 20, 50],
|
||||
"pageLength": 10
|
||||
});
|
||||
|
||||
$('#zero-config2').DataTable({
|
||||
"dom": "<'dt--top-section'<'row'<'col-12 col-sm-6 d-flex justify-content-sm-start justify-content-center'l><'col-12 col-sm-6 d-flex justify-content-sm-end justify-content-center mt-sm-0 mt-3'f>>>" +
|
||||
"<'table-responsive'tr>" +
|
||||
"<'dt--bottom-section d-sm-flex justify-content-sm-between text-center'<'dt--pages-count mb-sm-0 mb-3'i><'dt--pagination'p>>",
|
||||
"oLanguage": {
|
||||
"oPaginate": {
|
||||
"sPrevious": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-left"><line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline></svg>',
|
||||
"sNext": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-right"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>'
|
||||
},
|
||||
"sInfo": "Showing page PAGE of _PAGES_",
|
||||
"sSearch": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>',
|
||||
"sSearchPlaceholder": "Search...",
|
||||
"sLengthMenu": "Results : _MENU_",
|
||||
},
|
||||
"stripeClasses": [],
|
||||
"lengthMenu": [7, 10, 20, 50],
|
||||
"pageLength": 10
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
$('<button><ul class="navbar-item flex-row ms-lg-auto ms-0"><li class="nav-item dropdown action-dropdown order-lg-0 order-1"><a href="javascript:void(0);"class="nav-link dropdown-toggle user extra-btn" id="actionDropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><div class="avatar-container"><div class="avatar avatar-sm avatar-mid avatar-indicators avatar-online"><h3>Export</h3></div></div></a><div class="dropdown-menu position-absolute" aria-labelledby="actionDropdown"><div class="dropdown-item"><a href="javascript:void(0)" id="download_all"><span>Download Overview</span></a></div><div class="dropdown-item"><a href="javascript:void(0)" id="download-selected"><span id="export">Download Selected</span></a></div></div></li></ul></button>')
|
||||
.insertBefore("#zero-config_filter label");
|
||||
|
||||
|
||||
$("#zero-config").on("click", ".sub_admin_permission", function() {
|
||||
// $('.sub_admin_permission').on('click', function() {
|
||||
var passportName = $(this).data('passport-name');
|
||||
var passportPrice = $(this).data('price');
|
||||
var passportId = $(this).data('passport-id');
|
||||
var quantity = $(this).data('quantity');
|
||||
var orderDate = $(this).data('orderdate');
|
||||
var tansId = $(this).data('payment_id');
|
||||
var paymentmode = $(this).data('paymentmode');
|
||||
var formattedPrice = '$' + passportPrice;
|
||||
|
||||
|
||||
$('.subadmin-option span').eq(0).text(passportName);
|
||||
$('.subadmin-option span').eq(1).text(formattedPrice);
|
||||
$('.subadmin-option span').eq(2).text(passportId);
|
||||
$('.subadmin-option span').eq(3).text(quantity);
|
||||
$('.subadmin-option span').eq(4).text(orderDate);
|
||||
$('.subadmin-option span').eq(5).text(tansId);
|
||||
$('.subadmin-option span').eq(6).text(paymentmode);
|
||||
"stripeClasses": [],
|
||||
"lengthMenu": [7, 10, 20, 50],
|
||||
"pageLength": 10
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
$(function(e) {
|
||||
$("#select-all-ids").click(function() {
|
||||
$(".form-check-input").prop('checked', $(this).prop('checked'));
|
||||
$('#zero-config2').DataTable({
|
||||
"dom": "<'dt--top-section'<'row'<'col-12 col-sm-6 d-flex justify-content-sm-start justify-content-center'l><'col-12 col-sm-6 d-flex justify-content-sm-end justify-content-center mt-sm-0 mt-3'f>>>" +
|
||||
"<'table-responsive'tr>" +
|
||||
"<'dt--bottom-section d-sm-flex justify-content-sm-between text-center'<'dt--pages-count mb-sm-0 mb-3'i><'dt--pagination'p>>",
|
||||
"oLanguage": {
|
||||
"oPaginate": {
|
||||
"sPrevious": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-left"><line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline></svg>',
|
||||
"sNext": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-right"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>'
|
||||
},
|
||||
"sInfo": "Showing page PAGE of _PAGES_",
|
||||
"sSearch": '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>',
|
||||
"sSearchPlaceholder": "Search...",
|
||||
"sLengthMenu": "Results : _MENU_",
|
||||
},
|
||||
"stripeClasses": [],
|
||||
"lengthMenu": [7, 10, 20, 50],
|
||||
"pageLength": 10
|
||||
});
|
||||
|
||||
$(".form-check-input").click(function() {
|
||||
if (!$(this).prop('checked')) {
|
||||
$("#select-all-ids").prop('checked', false);
|
||||
} else {
|
||||
if ($(".form-check-input:checked").length === $(".form-check-input").length) {
|
||||
$("#select-all-ids").prop('checked', true);
|
||||
|
||||
$(function(e) {
|
||||
$("#select-all-ids").click(function() {
|
||||
$(".form-check-input").prop('checked', $(this).prop('checked'));
|
||||
});
|
||||
|
||||
$(".form-check-input").click(function() {
|
||||
if (!$(this).prop('checked')) {
|
||||
$("#select-all-ids").prop('checked', false);
|
||||
} else {
|
||||
if ($(".form-check-input:checked").length === $(".form-check-input").length) {
|
||||
$("#select-all-ids").prop('checked', true);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on("click", "#download-selected", function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
var allIds = [];
|
||||
|
||||
// Iterate over each page of the DataTable
|
||||
var table = $('#zero-config').DataTable();
|
||||
for (var i = 0; i < table.page.info().pages; i++) {
|
||||
table.page(i).draw(false); // Switch to page i
|
||||
$('#zero-config tbody input:checked').each(function() {
|
||||
allIds.push($(this).val());
|
||||
});
|
||||
}
|
||||
|
||||
if (allIds.length > 0) {
|
||||
// If there are selected customers
|
||||
$('#ids').prop('disabled', false);
|
||||
$('#all_id').prop('disabled', true);
|
||||
$('#ids').val(allIds);
|
||||
// Now submit the form or perform download action
|
||||
$('#customer-form').submit(); // Or perform your download action here
|
||||
} else {
|
||||
// No customers selected
|
||||
toastr.error("Please select at least one customer to download.");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
$(document).on("click", "#download_all", function(e) {
|
||||
$('#all_id').prop('disabled', false);
|
||||
$('#ids').prop('disabled', true);
|
||||
})
|
||||
});
|
||||
|
||||
$(document).on("click", "#download-selected", function(e) {
|
||||
$(document).on("click", ".more", function(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
});
|
||||
</script>
|
||||
|
||||
var allIds = [];
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
// Initial data and categories
|
||||
var userChartData = getUserChartData('monthly');
|
||||
var userCategories = getUserChartCategories('monthly');
|
||||
|
||||
// Iterate over each page of the DataTable
|
||||
var table = $('#zero-config').DataTable();
|
||||
for (var i = 0; i < table.page.info().pages; i++) {
|
||||
table.page(i).draw(false); // Switch to page i
|
||||
$('#zero-config tbody input:checked').each(function() {
|
||||
allIds.push($(this).val());
|
||||
// Chart options
|
||||
var userOptions = {
|
||||
chart: {
|
||||
type: 'line',
|
||||
zoom: {
|
||||
enabled: false
|
||||
},
|
||||
toolbar: {
|
||||
show: false
|
||||
}
|
||||
},
|
||||
series: userChartData,
|
||||
xaxis: {
|
||||
categories: userCategories
|
||||
},
|
||||
stroke: {
|
||||
curve: 'smooth',
|
||||
width: [4, 4]
|
||||
}
|
||||
};
|
||||
|
||||
// Create the chart
|
||||
var userChart = new ApexCharts(document.querySelector("#user-chart"), userOptions);
|
||||
userChart.render();
|
||||
|
||||
// Event listener for filter select element
|
||||
document.getElementById('graph-filter').addEventListener('change', function(event) {
|
||||
var selectedFilter = event.target.value;
|
||||
userChartData = getUserChartData(selectedFilter);
|
||||
userCategories = getUserChartCategories(selectedFilter);
|
||||
|
||||
userChart.updateSeries(userChartData);
|
||||
userChart.updateOptions({
|
||||
xaxis: {
|
||||
categories: userCategories
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (allIds.length > 0) {
|
||||
// If there are selected customers
|
||||
$('#ids').prop('disabled', false);
|
||||
$('#all_id').prop('disabled', true);
|
||||
$('#ids').val(allIds);
|
||||
// Now submit the form or perform download action
|
||||
$('#customer-form').submit(); // Or perform your download action here
|
||||
} else {
|
||||
// No customers selected
|
||||
toastr.error("Please select at least one customer to download.");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function getUserChartData(filter) {
|
||||
switch (filter) {
|
||||
case 'monthly':
|
||||
return [{
|
||||
name: 'Total Accounts',
|
||||
data: <?php echo json_encode(array_values($dataMonthlyWithType3)); ?>
|
||||
},
|
||||
{
|
||||
name: 'Total Subscribed',
|
||||
data: <?php echo json_encode(array_values($dataMonthlyWithType4)); ?>
|
||||
}
|
||||
];
|
||||
case 'quarterly':
|
||||
return [{
|
||||
name: 'Total Accounts',
|
||||
data: <?php echo json_encode(array_values($dataQuarterlyWithType3)); ?>
|
||||
},
|
||||
{
|
||||
name: 'Total Subscribed',
|
||||
data: <?php echo json_encode(array_values($dataQuarterlyWithType4)); ?>
|
||||
}
|
||||
];
|
||||
case 'yearly':
|
||||
return [{
|
||||
name: 'Total Accounts',
|
||||
data: <?php echo json_encode(array_values($dataYearlyWithType3)); ?>
|
||||
},
|
||||
{
|
||||
name: 'Total Subscribed',
|
||||
data: <?php echo json_encode(array_values($dataYearlyWithType4)); ?>
|
||||
}
|
||||
];
|
||||
default:
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
function getUserChartCategories(filter) {
|
||||
switch (filter) {
|
||||
case 'monthly':
|
||||
return ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
||||
case 'quarterly':
|
||||
return ['Q1', 'Q2', 'Q3', 'Q4'];
|
||||
case 'yearly':
|
||||
return <?php echo json_encode(array_keys($dataYearlyWithType3)); ?>;
|
||||
default:
|
||||
return [];
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
$(document).on("click", "#download_all", function(e) {
|
||||
$('#all_id').prop('disabled', false);
|
||||
$('#ids').prop('disabled', true);
|
||||
})
|
||||
});
|
||||
|
||||
$(document).on("click", ".more", function(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
});
|
||||
</script>
|
||||
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
// Initial data and categories
|
||||
var userChartData = getUserChartData('monthly');
|
||||
var userCategories = getUserChartCategories('monthly');
|
||||
|
||||
// Chart options
|
||||
var userOptions = {
|
||||
chart: {
|
||||
type: 'line',
|
||||
zoom: { enabled: false },
|
||||
toolbar: { show: false }
|
||||
},
|
||||
series: userChartData,
|
||||
xaxis: { categories: userCategories },
|
||||
stroke: { curve: 'smooth', width: [4, 4] }
|
||||
};
|
||||
|
||||
// Create the chart
|
||||
var userChart = new ApexCharts(document.querySelector("#user-chart"), userOptions);
|
||||
userChart.render();
|
||||
|
||||
// Event listener for filter select element
|
||||
document.getElementById('graph-filter').addEventListener('change', function(event) {
|
||||
var selectedFilter = event.target.value;
|
||||
userChartData = getUserChartData(selectedFilter);
|
||||
userCategories = getUserChartCategories(selectedFilter);
|
||||
|
||||
userChart.updateSeries(userChartData);
|
||||
userChart.updateOptions({
|
||||
xaxis: { categories: userCategories }
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
function getUserChartData(filter) {
|
||||
switch (filter) {
|
||||
case 'monthly':
|
||||
return [
|
||||
{ name: 'Customer', data: <?php echo json_encode(array_values($dataMonthlyWithType3)); ?> },
|
||||
{ name: 'Restaurant', data: <?php echo json_encode(array_values($dataMonthlyWithType4)); ?> }
|
||||
];
|
||||
case 'quarterly':
|
||||
return [
|
||||
{ name: 'Customer', data: <?php echo json_encode(array_values($dataQuarterlyWithType3)); ?> },
|
||||
{ name: 'Restaurant', data: <?php echo json_encode(array_values($dataQuarterlyWithType4)); ?> }
|
||||
];
|
||||
case 'yearly':
|
||||
return [
|
||||
{ name: 'Customer', data: <?php echo json_encode(array_values($dataYearlyWithType3)); ?> },
|
||||
{ name: 'Restaurant', data: <?php echo json_encode(array_values($dataYearlyWithType4)); ?> }
|
||||
];
|
||||
default:
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
function getUserChartCategories(filter) {
|
||||
switch (filter) {
|
||||
case 'monthly':
|
||||
return ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
||||
case 'quarterly':
|
||||
return ['Q1', 'Q2', 'Q3', 'Q4'];
|
||||
case 'yearly':
|
||||
return <?php echo json_encode(array_keys($dataYearlyWithType3)); ?>;
|
||||
default:
|
||||
return [];
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@endsection
|
||||
@endsection
|
||||
|
||||
Reference in New Issue
Block a user