Nuevos cambios hechos de diseño
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 62 KiB |
142
desarrollo2/temp/dnon0ubQij/addons/delivery_boy/config.json
Normal file
142
desarrollo2/temp/dnon0ubQij/addons/delivery_boy/config.json
Normal file
@@ -0,0 +1,142 @@
|
||||
{
|
||||
"name" : "delivery_boy",
|
||||
|
||||
"unique_identifier" : "delivery_boy",
|
||||
|
||||
"version" : "3.6",
|
||||
|
||||
"minimum_item_version" : "7.6.0",
|
||||
|
||||
"addon_banner" : "delivery_boy.png",
|
||||
|
||||
"directory" :
|
||||
[
|
||||
{
|
||||
"name" : [
|
||||
"resources/views/delivery_boys",
|
||||
"resources/views/delivery_boys/inc",
|
||||
"resources/views/delivery_boys/layouts",
|
||||
"resources/views/backend/delivery_boys"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
||||
"sql_file" : "",
|
||||
|
||||
"files" :
|
||||
[
|
||||
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/backend/index.blade.php",
|
||||
"update_directory" : "resources/views/backend/delivery_boys/index.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/backend/create.blade.php",
|
||||
"update_directory" : "resources/views/backend/delivery_boys/create.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/backend/edit.blade.php",
|
||||
"update_directory" : "resources/views/backend/delivery_boys/edit.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/backend/delivery_boy_configure.blade.php",
|
||||
"update_directory" : "resources/views/backend/delivery_boys/delivery_boy_configure.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/backend/delivery_earning_form.blade.php",
|
||||
"update_directory" : "resources/views/backend/delivery_boys/delivery_earning_form.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/backend/cancel_request_list.blade.php",
|
||||
"update_directory" : "resources/views/backend/delivery_boys/cancel_request_list.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/backend/order_collection_form.blade.php",
|
||||
"update_directory" : "resources/views/backend/delivery_boys/order_collection_form.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/backend/delivery_boys_collection_list.blade.php",
|
||||
"update_directory" : "resources/views/backend/delivery_boys/delivery_boys_collection_list.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/backend/delivery_boys_payment_list.blade.php",
|
||||
"update_directory" : "resources/views/backend/delivery_boys/delivery_boys_payment_list.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/frontend/layouts/app.blade.php",
|
||||
"update_directory" : "resources/views/delivery_boys/layouts/app.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/frontend/inc/delivery_boy_sidenav.blade.php",
|
||||
"update_directory" : "resources/views/delivery_boys/inc/delivery_boy_sidenav.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/frontend/inc/nav.blade.php",
|
||||
"update_directory" : "resources/views/delivery_boys/inc/nav.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/frontend/inc/footer.blade.php",
|
||||
"update_directory" : "resources/views/delivery_boys/inc/footer.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/frontend/assigned_delivery.blade.php",
|
||||
"update_directory" : "resources/views/delivery_boys/assigned_delivery.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/frontend/cancel_request_list.blade.php",
|
||||
"update_directory" : "resources/views/delivery_boys/cancel_request_list.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/frontend/cancelled_delivery.blade.php",
|
||||
"update_directory" : "resources/views/delivery_boys/cancelled_delivery.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/frontend/completed_delivery.blade.php",
|
||||
"update_directory" : "resources/views/delivery_boys/completed_delivery.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/frontend/dashboard.blade.php",
|
||||
"update_directory" : "resources/views/delivery_boys/dashboard.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/frontend/on_the_way_delivery.blade.php",
|
||||
"update_directory" : "resources/views/delivery_boys/on_the_way_delivery.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/frontend/pending_delivery.blade.php",
|
||||
"update_directory" : "resources/views/delivery_boys/pending_delivery.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/frontend/pickup_delivery.blade.php",
|
||||
"update_directory" : "resources/views/delivery_boys/pickup_delivery.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/frontend/profile.blade.php",
|
||||
"update_directory" : "resources/views/delivery_boys/profile.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/frontend/total_collection_list.blade.php",
|
||||
"update_directory" : "resources/views/delivery_boys/total_collection_list.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/frontend/total_earning_list.blade.php",
|
||||
"update_directory" : "resources/views/delivery_boys/total_earning_list.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/frontend/order_detail.blade.php",
|
||||
"update_directory" : "resources/views/delivery_boys/order_detail.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/views/delivery_boys/frontend/cancel_request_modal.blade.php",
|
||||
"update_directory" : "resources/views/delivery_boys/cancel_request_modal.blade.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/controllers/DeliveryBoyController.php",
|
||||
"update_directory" : "app/Http/Controllers/DeliveryBoyController.php"
|
||||
},
|
||||
{
|
||||
"root_directory" : "addons/delivery_boy/assets/delivery_boy.png",
|
||||
"update_directory" : "public/delivery_boy.png"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,557 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Hash;
|
||||
use Auth;
|
||||
use App\Models\Country;
|
||||
use App\Models\State;
|
||||
use App\Models\City;
|
||||
use App\Models\DeliveryBoy;
|
||||
use App\Models\DeliveryHistory;
|
||||
use App\Models\DeliveryBoyPayment;
|
||||
use App\Models\DeliveryBoyCollection;
|
||||
use App\Models\Order;
|
||||
use App\Models\User;
|
||||
|
||||
|
||||
class DeliveryBoyController extends Controller
|
||||
{
|
||||
public function __construct() {
|
||||
// Staff Permission Check
|
||||
$this->middleware(['permission:view_all_delivery_boy'])->only('index');
|
||||
$this->middleware(['permission:add_delivery_boy'])->only('create');
|
||||
$this->middleware(['permission:edit_delivery_boy'])->only('edit');
|
||||
$this->middleware(['permission:ban_delivery_boy'])->only('ban');
|
||||
$this->middleware(['permission:collect_from_delivery_boy'])->only('order_collection_form');
|
||||
$this->middleware(['permission:pay_to_delivery_boy'])->only('delivery_earning_form');
|
||||
$this->middleware(['permission:delivery_boy_payment_history'])->only('delivery_boys_payment_histories');
|
||||
$this->middleware(['permission:collected_histories_from_delivery_boy'])->only('delivery_boys_collection_histories');
|
||||
$this->middleware(['permission:order_cancle_request_by_delivery_boy'])->only('cancel_request_list');
|
||||
$this->middleware(['permission:delivery_boy_configuration'])->only('delivery_boy_configure');
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$sort_search = null;
|
||||
$delivery_boys = DeliveryBoy::orderBy('created_at', 'desc');
|
||||
|
||||
if ($request->has('search')){
|
||||
$sort_search = $request->search;
|
||||
$user_ids = User::where('user_type', 'delivery_boy')->where(function($user) use ($sort_search){
|
||||
$user->where('name', 'like', '%'.$sort_search.'%')
|
||||
->orWhere('email', 'like', '%'.$sort_search.'%');
|
||||
})->pluck('id')->toArray();
|
||||
$delivery_boys = $delivery_boys->where(function($delivery_boy) use ($user_ids){
|
||||
$delivery_boy->whereIn('user_id', $user_ids);
|
||||
});
|
||||
}
|
||||
|
||||
$delivery_boys = $delivery_boys->paginate(15);
|
||||
return view('backend.delivery_boys.index', compact('delivery_boys', 'sort_search'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
$countries = Country::where('status', 1)->get();
|
||||
return view('backend.delivery_boys.create', compact('countries'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'name' => 'required',
|
||||
'email' => 'required|unique:users|max:255',
|
||||
'phone' => 'required',
|
||||
'country_id' => 'required',
|
||||
'state_id' => 'required',
|
||||
'city_id' => 'required',
|
||||
]);
|
||||
|
||||
$country = Country::where('id', $request->country_id)->first();
|
||||
$state = State::where('id', $request->state_id)->first();
|
||||
$city = City::where('id', $request->city_id)->first();
|
||||
|
||||
$user = new User;
|
||||
$user->user_type = 'delivery_boy';
|
||||
$user->name = $request->name;
|
||||
$user->email = $request->email;
|
||||
$user->phone = $request->phone;
|
||||
$user->country = $country->name;
|
||||
$user->state = $state->name;
|
||||
$user->city = $city->name;
|
||||
$user->avatar_original = $request->avatar_original;
|
||||
$user->address = $request->address;
|
||||
$user->email_verified_at = date("Y-m-d H:i:s");
|
||||
$user->password = Hash::make($request->password);
|
||||
$user->save();
|
||||
|
||||
$delivery_boy = new DeliveryBoy;
|
||||
|
||||
$delivery_boy->user_id = $user->id;
|
||||
$delivery_boy->save();
|
||||
|
||||
flash(translate('Delivery Boy has been created successfully'))->success();
|
||||
return redirect()->route('delivery-boys.index');
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
$countries = Country::where('status', 1)->get();
|
||||
$states = State::where('status', 1)->get();
|
||||
$cities = City::where('status', 1)->get();
|
||||
$delivery_boy = User::findOrFail($id);
|
||||
|
||||
return view('backend.delivery_boys.edit', compact('delivery_boy', 'countries', 'states', 'cities'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
$delivery_boy = User::findOrFail($id);
|
||||
|
||||
$request->validate([
|
||||
'name' => 'required',
|
||||
'email' => 'required|unique:users,email,'.$delivery_boy->id,
|
||||
'phone' => 'required',
|
||||
'country_id' => 'required',
|
||||
'state_id' => 'required',
|
||||
'city_id' => 'required',
|
||||
]);
|
||||
|
||||
$country = Country::where('id', $request->country_id)->first();
|
||||
$state = State::where('id', $request->state_id)->first();
|
||||
$city = City::where('id', $request->city_id)->first();
|
||||
|
||||
$delivery_boy->name = $request->name;
|
||||
$delivery_boy->email = $request->email;
|
||||
$delivery_boy->phone = $request->phone;
|
||||
$delivery_boy->country = $country->name;
|
||||
$delivery_boy->state = $state->name;
|
||||
$delivery_boy->city = $city->name;
|
||||
$delivery_boy->avatar_original = $request->avatar_original;
|
||||
$delivery_boy->address = $request->address;
|
||||
|
||||
if(strlen($request->password) > 0){
|
||||
$delivery_boy->password = Hash::make($request->password);
|
||||
}
|
||||
|
||||
$delivery_boy->save();
|
||||
|
||||
flash(translate('Delivery Boy has been updated successfully'))->success();
|
||||
return back();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
public function ban($id) {
|
||||
$delivery_boy = User::findOrFail($id);
|
||||
|
||||
if($delivery_boy->banned == 1) {
|
||||
$delivery_boy->banned = 0;
|
||||
flash(translate('Delivery Boy UnBanned Successfully'))->success();
|
||||
} else {
|
||||
$delivery_boy->banned = 1;
|
||||
flash(translate('Delivery Boy Banned Successfully'))->success();
|
||||
}
|
||||
|
||||
$delivery_boy->save();
|
||||
|
||||
return back();
|
||||
}
|
||||
|
||||
/**
|
||||
* Collection form from Delivery boy.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function order_collection_form(Request $request) {
|
||||
$delivery_boy_info = DeliveryBoy::with('user')
|
||||
->where('user_id', $request->id)
|
||||
->first();
|
||||
|
||||
return view('backend.delivery_boys.order_collection_form', compact('delivery_boy_info'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function collection_from_delivery_boy(Request $request) {
|
||||
$delivery_boy = DeliveryBoy::where('user_id', $request->delivery_boy_id)->first();
|
||||
|
||||
if($request->payout_amount > $delivery_boy->total_collection){
|
||||
flash(translate('Collection Amount Can Not Be Larger Than Collected Amount'))->error();
|
||||
return redirect()->route('delivery-boys.index');
|
||||
}
|
||||
|
||||
$delivery_boy->total_collection -= $request->payout_amount;
|
||||
|
||||
if($delivery_boy->save()){
|
||||
$delivery_boy_collection = new DeliveryBoyCollection;
|
||||
$delivery_boy_collection->user_id = $request->delivery_boy_id;
|
||||
$delivery_boy_collection->collection_amount = $request->payout_amount;
|
||||
|
||||
$delivery_boy_collection->save();
|
||||
|
||||
flash(translate('Collection From Delivery Boy Successfully'))->success();
|
||||
} else {
|
||||
flash(translate('Something went wrong'))->error();
|
||||
}
|
||||
|
||||
return redirect()->route('delivery-boys.index');
|
||||
}
|
||||
|
||||
/**
|
||||
* Paid form for Delivery boy.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function delivery_earning_form(Request $request) {
|
||||
$delivery_boy_info = DeliveryBoy::with('user')
|
||||
->where('user_id', $request->id)
|
||||
->first();
|
||||
|
||||
return view('backend.delivery_boys.delivery_earning_form', compact('delivery_boy_info'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function paid_to_delivery_boy(Request $request) {
|
||||
$delivery_boy = DeliveryBoy::where('user_id', $request->delivery_boy_id)->first();
|
||||
|
||||
if($request->paid_amount > $delivery_boy->total_earning){
|
||||
flash(translate('Paid Amount Can Not Be Larger Than Payable Amount'))->error();
|
||||
return redirect()->route('delivery-boys.index');
|
||||
}
|
||||
|
||||
$delivery_boy->total_earning -= $request->paid_amount;
|
||||
|
||||
if($delivery_boy->save()){
|
||||
$delivery_boy_payment = new DeliveryBoyPayment;
|
||||
$delivery_boy_payment->user_id = $request->delivery_boy_id;
|
||||
$delivery_boy_payment->payment = $request->paid_amount;
|
||||
|
||||
$delivery_boy_payment->save();
|
||||
|
||||
flash(translate('Pay To Delivery Boy Successfully'))->success();
|
||||
} else {
|
||||
flash(translate('Something went wrong'))->error();
|
||||
}
|
||||
|
||||
return redirect()->route('delivery-boys.index');
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Delivery Boy's Panel Start
|
||||
public function delivery_boys_payment_histories() {
|
||||
$delivery_boy_payment_query = DeliveryBoyPayment::query();
|
||||
if(Auth::user()->user_type == 'delivery_boy') {
|
||||
$delivery_boy_payment_query = $delivery_boy_payment_query->where('user_id', Auth::user()->id);
|
||||
}
|
||||
$delivery_boy_payment_query = $delivery_boy_payment_query->paginate(10);
|
||||
|
||||
$delivery_boy_payments = $delivery_boy_payment_query;
|
||||
|
||||
return view('backend.delivery_boys.delivery_boys_payment_list', compact('delivery_boy_payments'));
|
||||
}
|
||||
|
||||
public function delivery_boys_collection_histories() {
|
||||
$delivery_boy_collection_query = DeliveryBoyCollection::query();
|
||||
if(Auth::user()->user_type == 'delivery_boy') {
|
||||
$delivery_boy_collection_query = $delivery_boy_collection_query->where('user_id', Auth::user()->id);
|
||||
}
|
||||
$delivery_boy_collection_query = $delivery_boy_collection_query->paginate(10);
|
||||
|
||||
$delivery_boy_collections = $delivery_boy_collection_query;
|
||||
|
||||
return view('backend.delivery_boys.delivery_boys_collection_list', compact('delivery_boy_collections'));
|
||||
}
|
||||
|
||||
public function delivery_boys_cancel_request_list() {
|
||||
$order_query = Order::query();
|
||||
if(Auth::user()->user_type == 'delivery_boy') {
|
||||
$order_query = $order_query->where('assign_delivery_boy', Auth::user()->id);
|
||||
}
|
||||
$order_query = $order_query->where('delivery_status', '!=', 'cancelled')->where('cancel_request', 1);
|
||||
$order_query = $order_query->paginate(10);
|
||||
|
||||
$cancel_requests = $order_query;
|
||||
return view('delivery_boys.cancel_request_list', compact('cancel_requests'));
|
||||
}
|
||||
|
||||
public function cancel_request_list() {
|
||||
$order_query = Order::query();
|
||||
if(Auth::user()->user_type == 'delivery_boy') {
|
||||
$order_query = $order_query->where('assign_delivery_boy', Auth::user()->id);
|
||||
}
|
||||
$order_query = $order_query->where('delivery_status', '!=', 'cancelled')->where('cancel_request', 1);
|
||||
$order_query = $order_query->paginate(10);
|
||||
|
||||
$cancel_requests = $order_query;
|
||||
return view('backend.delivery_boys.cancel_request_list', compact('cancel_requests'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Configuration of delivery boy.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function delivery_boy_configure()
|
||||
{
|
||||
return view('backend.delivery_boys.delivery_boy_configure');
|
||||
}
|
||||
|
||||
public function order_detail($id)
|
||||
{
|
||||
$order = Order::findOrFail(decrypt($id));
|
||||
return view('delivery_boys.order_detail', compact('order'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the list of assigned delivery by the admin.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function assigned_delivery()
|
||||
{
|
||||
$order_query = Order::query();
|
||||
$order_query->where('assign_delivery_boy', Auth::user()->id);
|
||||
$order_query->where(function ($order_query) {
|
||||
$order_query->where('delivery_status', 'pending')
|
||||
->where('cancel_request', '0');
|
||||
})->orWhere(function ($order_query) {
|
||||
$order_query->where('delivery_status', 'confirmed')
|
||||
->where('cancel_request', '0');
|
||||
});
|
||||
|
||||
$assigned_deliveries = $order_query->paginate(10);
|
||||
|
||||
return view('delivery_boys.assigned_delivery', compact('assigned_deliveries'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the list of pickup delivery by the delivery boy.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function pickup_delivery()
|
||||
{
|
||||
$pickup_deliveries = Order::where('assign_delivery_boy', Auth::user()->id)
|
||||
->where('delivery_status', 'picked_up')
|
||||
->where('cancel_request', '0')
|
||||
->paginate(10);
|
||||
|
||||
return view('delivery_boys.pickup_delivery', compact('pickup_deliveries'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the list of pickup delivery by the delivery boy.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function on_the_way_deliveries()
|
||||
{
|
||||
$on_the_way_deliveries = Order::where('assign_delivery_boy', Auth::user()->id)
|
||||
->where('delivery_status', 'on_the_way')
|
||||
->where('cancel_request', '0')
|
||||
->paginate(10);
|
||||
|
||||
return view('delivery_boys.on_the_way_delivery', compact('on_the_way_deliveries'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the list of completed delivery by the delivery boy.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function completed_delivery()
|
||||
{
|
||||
$completed_deliveries = DeliveryHistory::where('delivery_boy_id', Auth::user()->id)
|
||||
->where('delivery_status', 'delivered')
|
||||
->paginate(10);
|
||||
|
||||
return view('delivery_boys.completed_delivery', compact('completed_deliveries'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the list of pending delivery by the delivery boy.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function pending_delivery()
|
||||
{
|
||||
$pending_deliveries = Order::where('assign_delivery_boy', Auth::user()->id)
|
||||
->where('delivery_status', '!=', 'delivered')
|
||||
->where('delivery_status', '!=', 'cancelled')
|
||||
->where('cancel_request', '0')
|
||||
->paginate(10);
|
||||
|
||||
return view('delivery_boys.pending_delivery', compact('pending_deliveries'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the list of cancelled delivery by the delivery boy.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function cancelled_delivery()
|
||||
{
|
||||
$cancelled_deliveries = Order::where('assign_delivery_boy', Auth::user()->id)
|
||||
->where('delivery_status', 'cancelled')
|
||||
->paginate(10);
|
||||
|
||||
return view('delivery_boys.cancelled_delivery', compact('cancelled_deliveries'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the list of total collection by the delivery boy.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function total_collection()
|
||||
{
|
||||
$today_collections = DeliveryHistory::where('delivery_boy_id', Auth::user()->id)
|
||||
->where('delivery_status', 'delivered')
|
||||
->where('payment_type', 'cash_on_delivery')
|
||||
->paginate(10);
|
||||
|
||||
return view('delivery_boys.total_collection_list', compact('today_collections'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the list of total earning by the delivery boy.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function total_earning()
|
||||
{
|
||||
$total_earnings = DeliveryHistory::where('delivery_boy_id', Auth::user()->id)
|
||||
->where('delivery_status', 'delivered')
|
||||
->paginate(10);
|
||||
|
||||
return view('delivery_boys.total_earning_list', compact('total_earnings'));
|
||||
}
|
||||
|
||||
public function cancel_request($order_id) {
|
||||
$order = Order::findOrFail($order_id);
|
||||
$order->cancel_request = '1';
|
||||
$order->cancel_request_at = date("Y-m-d H:i:s");
|
||||
$order->save();
|
||||
|
||||
return back();
|
||||
}
|
||||
|
||||
/**
|
||||
* For only delivery boy while changing delivery status.
|
||||
* Call from order controller
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store_delivery_history($order) {
|
||||
$delivery_history = new DeliveryHistory;
|
||||
|
||||
$delivery_history->order_id = $order->id;
|
||||
$delivery_history->delivery_boy_id = Auth::user()->id;
|
||||
$delivery_history->delivery_status = $order->delivery_status;
|
||||
$delivery_history->payment_type = $order->payment_type;
|
||||
if($order->delivery_status == 'delivered') {
|
||||
$delivery_boy = DeliveryBoy::where('user_id', Auth::user()->id)->first();
|
||||
|
||||
if(get_setting('delivery_boy_payment_type') == 'commission') {
|
||||
$delivery_history->earning = get_setting('delivery_boy_commission');
|
||||
$delivery_boy->total_earning += get_setting('delivery_boy_commission');
|
||||
}
|
||||
if($order->payment_type == 'cash_on_delivery') {
|
||||
$delivery_history->collection = $order->grand_total;
|
||||
$delivery_boy->total_collection += $order->grand_total;
|
||||
|
||||
$order->payment_status = 'paid';
|
||||
if($order->commission_calculated == 0) {
|
||||
calculateCommissionAffilationClubPoint($order);
|
||||
$order->commission_calculated = 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$delivery_boy->save();
|
||||
|
||||
}
|
||||
$order->delivery_history_date = date("Y-m-d H:i:s");
|
||||
|
||||
$order->save();
|
||||
$delivery_history->save();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| POS Routes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here is where you can register admin routes for your application. These
|
||||
| routes are loaded by the RouteServiceProvider within a group which
|
||||
| contains the "web" middleware group. Now create something great!
|
||||
|
|
||||
*/
|
||||
|
||||
|
||||
//Admin
|
||||
|
||||
use App\Http\Controllers\DeliveryBoyController;
|
||||
use App\Http\Controllers\OrderController;
|
||||
|
||||
Route::group(['prefix' =>'admin', 'middleware' => ['auth', 'admin']], function(){
|
||||
//Delivery Boy
|
||||
Route::resource('delivery-boys', DeliveryBoyController::class);
|
||||
|
||||
Route::controller(DeliveryBoyController::class)->group(function () {
|
||||
Route::get('/delivery-boy/ban/{id}', 'ban')->name('delivery-boy.ban');
|
||||
Route::get('/delivery-boy-configuration', 'delivery_boy_configure')->name('delivery-boy-configuration');
|
||||
Route::post('/delivery-boy/order-collection', 'order_collection_form')->name('delivery-boy.order-collection');
|
||||
Route::post('/collection-from-delivery-boy', 'collection_from_delivery_boy')->name('collection-from-delivery-boy');
|
||||
Route::post('/delivery-boy/delivery-earning', 'delivery_earning_form')->name('delivery-boy.delivery-earning');
|
||||
Route::post('/paid-to-delivery-boy', 'paid_to_delivery_boy')->name('paid-to-delivery-boy');
|
||||
Route::get('/delivery-boys-payment-histories', 'delivery_boys_payment_histories')->name('delivery-boys-payment-histories');
|
||||
Route::get('/delivery-boys-collection-histories', 'delivery_boys_collection_histories')->name('delivery-boys-collection-histories');
|
||||
Route::get('/delivery-boy/cancel-request', 'cancel_request_list')->name('delivery-boy.cancel-request');
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
Route::group(['middleware' => ['user', 'verified', 'unbanned']], function() {
|
||||
Route::controller(DeliveryBoyController::class)->group(function () {
|
||||
Route::get('/assigned-deliveries', 'assigned_delivery')->name('assigned-deliveries');
|
||||
Route::get('/pickup-deliveries', 'pickup_delivery')->name('pickup-deliveries');
|
||||
Route::get('/on-the-way-deliveries', 'on_the_way_deliveries')->name('on-the-way-deliveries');
|
||||
Route::get('/completed-deliveries', 'completed_delivery')->name('completed-deliveries');
|
||||
Route::get('/pending-deliveries', 'pending_delivery')->name('pending-deliveries');
|
||||
Route::get('/cancelled-deliveries', 'cancelled_delivery')->name('cancelled-deliveries');
|
||||
Route::get('/total-collections', 'total_collection')->name('total-collection');
|
||||
Route::get('/total-earnings', 'total_earning')->name('total-earnings');
|
||||
Route::get('/cancel-request/{id}', 'cancel_request')->name('cancel-request');
|
||||
Route::get('/cancel-request-list', 'delivery_boys_cancel_request_list')->name('cancel-request-list');
|
||||
});
|
||||
|
||||
Route::controller(OrderController::class)->group(function () {
|
||||
Route::post('/orders/update_delivery_status', 'update_delivery_status')->name('delivery-boy.orders.update_delivery_status');
|
||||
});
|
||||
|
||||
Route::controller(DeliveryBoyController::class)->group(function () {
|
||||
Route::get('/delivery-boy/order-detail/{id}', 'order_detail')->name('delivery-boy.order-detail');
|
||||
});
|
||||
|
||||
});
|
||||
@@ -0,0 +1 @@
|
||||
COMMIT;
|
||||
65
desarrollo2/temp/dnon0ubQij/addons/delivery_boy/sql/1.2.sql
Normal file
65
desarrollo2/temp/dnon0ubQij/addons/delivery_boy/sql/1.2.sql
Normal file
@@ -0,0 +1,65 @@
|
||||
--
|
||||
-- Table structure for table `delivery_boy_payments`
|
||||
--
|
||||
|
||||
CREATE TABLE `delivery_boy_payments` (
|
||||
`id` int(11) NOT NULL,
|
||||
`user_id` int(11) NOT NULL,
|
||||
`payment` double(25,2) NOT NULL,
|
||||
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_at` timestamp NOT NULL DEFAULT current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `delivery_boy_payments`
|
||||
--
|
||||
ALTER TABLE `delivery_boy_payments`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `delivery_boy_payments`
|
||||
--
|
||||
ALTER TABLE `delivery_boy_payments`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- Table structure for table `delivery_boy_collections`
|
||||
--
|
||||
|
||||
CREATE TABLE `delivery_boy_collections` (
|
||||
`id` int(11) NOT NULL,
|
||||
`user_id` int(11) NOT NULL,
|
||||
`collection_amount` double(25,2) NOT NULL,
|
||||
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_at` timestamp NOT NULL DEFAULT current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `delivery_boy_collections`
|
||||
--
|
||||
ALTER TABLE `delivery_boy_collections`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `delivery_boy_collections`
|
||||
--
|
||||
ALTER TABLE `delivery_boy_collections`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
|
||||
COMMIT;
|
||||
@@ -0,0 +1,3 @@
|
||||
ALTER TABLE `users` ADD `state` VARCHAR(30) NULL DEFAULT NULL AFTER `country`;
|
||||
|
||||
COMMIT;
|
||||
@@ -0,0 +1 @@
|
||||
COMMIT;
|
||||
@@ -0,0 +1 @@
|
||||
COMMIT;
|
||||
@@ -0,0 +1 @@
|
||||
COMMIT;
|
||||
@@ -0,0 +1 @@
|
||||
COMMIT;
|
||||
@@ -0,0 +1 @@
|
||||
COMMIT;
|
||||
@@ -0,0 +1 @@
|
||||
COMMIT;
|
||||
@@ -0,0 +1 @@
|
||||
COMMIT;
|
||||
148
desarrollo2/temp/dnon0ubQij/addons/delivery_boy/sql/update.sql
Normal file
148
desarrollo2/temp/dnon0ubQij/addons/delivery_boy/sql/update.sql
Normal file
@@ -0,0 +1,148 @@
|
||||
--
|
||||
-- Table structure for table `delivery_boys`
|
||||
--
|
||||
|
||||
CREATE TABLE `delivery_boys` (
|
||||
`id` int(11) NOT NULL,
|
||||
`user_id` int(11) NOT NULL,
|
||||
`total_collection` double(25,2) NOT NULL DEFAULT 0.00,
|
||||
`earning` double(25,2) NOT NULL DEFAULT 0.00,
|
||||
`monthly_salary` double(25,2) DEFAULT NULL,
|
||||
`order_commission` double(25,2) DEFAULT NULL,
|
||||
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_at` timestamp NOT NULL DEFAULT current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `delivery_boys`
|
||||
--
|
||||
ALTER TABLE `delivery_boys`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `delivery_boys`
|
||||
--
|
||||
ALTER TABLE `delivery_boys`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
|
||||
|
||||
|
||||
ALTER TABLE `users` CHANGE `user_type` `user_type` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT 'customer';
|
||||
ALTER TABLE `orders` ADD COLUMN IF NOT EXISTS `assign_delivery_boy` INT(11) NULL DEFAULT NULL AFTER `seller_id`;
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
START TRANSACTION;
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
--
|
||||
-- Table structure for table `delivery_histories`
|
||||
--
|
||||
|
||||
CREATE TABLE `delivery_histories` (
|
||||
`id` int(11) NOT NULL,
|
||||
`delivery_boy_id` int(11) NOT NULL,
|
||||
`order_id` int(11) NOT NULL,
|
||||
`delivery_status` varchar(255) NOT NULL,
|
||||
`payment_type` varchar(20) NOT NULL,
|
||||
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_at` timestamp NOT NULL DEFAULT current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
ALTER TABLE `delivery_histories`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `delivery_histories`
|
||||
--
|
||||
ALTER TABLE `delivery_histories`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
|
||||
ALTER TABLE `delivery_boys` CHANGE `earning` `total_earning` DOUBLE(25,2) NOT NULL DEFAULT '0.00';
|
||||
|
||||
ALTER TABLE `orders` ADD COLUMN IF NOT EXISTS `cancel_request` TINYINT(1) NOT NULL DEFAULT '0' AFTER `delivery_viewed`;
|
||||
|
||||
ALTER TABLE `orders` ADD COLUMN IF NOT EXISTS `cancel_request_at` TINYINT(1) NOT NULL DEFAULT '0' AFTER `cancel_request`;
|
||||
|
||||
ALTER TABLE `delivery_histories` ADD `earning` DOUBLE(25,2) NOT NULL DEFAULT '0.00' AFTER `payment_type`, ADD `collection` DOUBLE(25,2) NOT NULL DEFAULT '0.00' AFTER `earning`;
|
||||
ALTER TABLE `delivery_histories` CHANGE `delivery_boy_id` `delivery_boy_id` INT(11) NULL DEFAULT NULL;
|
||||
ALTER TABLE `orders` ADD COLUMN IF NOT EXISTS `delivery_history_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP AFTER `commission_calculated`;
|
||||
|
||||
|
||||
|
||||
--
|
||||
-- Table structure for table `delivery_boy_payments`
|
||||
--
|
||||
|
||||
CREATE TABLE `delivery_boy_payments` (
|
||||
`id` int(11) NOT NULL,
|
||||
`user_id` int(11) NOT NULL,
|
||||
`payment` double(25,2) NOT NULL,
|
||||
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_at` timestamp NOT NULL DEFAULT current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `delivery_boy_payments`
|
||||
--
|
||||
ALTER TABLE `delivery_boy_payments`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `delivery_boy_payments`
|
||||
--
|
||||
ALTER TABLE `delivery_boy_payments`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- Table structure for table `delivery_boy_collections`
|
||||
--
|
||||
|
||||
CREATE TABLE `delivery_boy_collections` (
|
||||
`id` int(11) NOT NULL,
|
||||
`user_id` int(11) NOT NULL,
|
||||
`collection_amount` double(25,2) NOT NULL,
|
||||
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_at` timestamp NOT NULL DEFAULT current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `delivery_boy_collections`
|
||||
--
|
||||
ALTER TABLE `delivery_boy_collections`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `delivery_boy_collections`
|
||||
--
|
||||
ALTER TABLE `delivery_boy_collections`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
|
||||
COMMIT;
|
||||
@@ -0,0 +1,134 @@
|
||||
@extends('backend.layouts.app')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="aiz-titlebar text-left mt-2 mb-3">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-auto">
|
||||
<h1 class="h3">{{translate('All Cancel Request')}}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header d-block d-lg-flex">
|
||||
<h5 class="mb-0 h6">{{translate('Cancel Requests')}}</h5>
|
||||
<div class="">
|
||||
<!-- <form class="" id="sort_delivery_boys" action="" method="GET">
|
||||
<div class="box-inline pad-rgt pull-left">
|
||||
<div class="" style="min-width: 250px;">
|
||||
<input type="text" class="form-control" id="search" name="search"@isset($sort_search) value="{{ $sort_search }}" @endisset placeholder="{{ translate('Type email or name & Enter') }}">
|
||||
</div>
|
||||
</div>
|
||||
</form>-->
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table aiz-table mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>{{translate('Code')}}</th>
|
||||
<th>{{translate('Request By')}}</th>
|
||||
<th>{{translate('Request At')}}</th>
|
||||
<th class="text-right">{{translate('Options')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($cancel_requests as $key => $cancel_request)
|
||||
|
||||
<tr>
|
||||
<td>{{ ($key+1) + ($cancel_requests->currentPage() - 1) * $cancel_requests->perPage() }}</td>
|
||||
<td>
|
||||
{{ $cancel_request->code }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $cancel_request->delivery_boy->name }}
|
||||
</td>
|
||||
<td>
|
||||
{{$cancel_request->cancel_request_at}}
|
||||
</td>
|
||||
|
||||
<td class="text-right">
|
||||
|
||||
<a href="{{route('all_orders.show', encrypt($cancel_request->id))}}" class="btn btn-soft-info btn-icon btn-circle btn-sm" title="{{ translate('View') }}">
|
||||
<i class="las la-eye"></i>
|
||||
</a>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="aiz-pagination">
|
||||
{{ $cancel_requests->appends(request()->input())->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="modal fade" id="confirm-ban">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title h6">{{translate('Confirmation')}}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>{{translate('Do you really want to ban this delivery_boy?')}}</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-light" data-dismiss="modal">{{translate('Cancel')}}</button>
|
||||
<a type="button" id="confirmation" class="btn btn-primary">{{translate('Proceed!')}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="confirm-unban">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title h6">{{translate('Confirmation')}}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>{{translate('Do you really want to unban this delivery_boy?')}}</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-light" data-dismiss="modal">{{translate('Cancel')}}</button>
|
||||
<a type="button" id="confirmationunban" class="btn btn-primary">{{translate('Proceed!')}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('modal')
|
||||
@include('modals.delete_modal')
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
|
||||
(function($) {
|
||||
"use strict";
|
||||
function sort_delivery_boys(el){
|
||||
$('#sort_delivery_boys').submit();
|
||||
}
|
||||
function confirm_ban(url)
|
||||
{
|
||||
$('#confirm-ban').modal('show', {backdrop: 'static'});
|
||||
document.getElementById('confirmation').setAttribute('href' , url);
|
||||
}
|
||||
|
||||
function confirm_unban(url)
|
||||
{
|
||||
$('#confirm-unban').modal('show', {backdrop: 'static'});
|
||||
document.getElementById('confirmationunban').setAttribute('href' , url);
|
||||
}
|
||||
})(jQuery);
|
||||
|
||||
</script>
|
||||
@endsection
|
||||
@@ -0,0 +1,177 @@
|
||||
@extends('backend.layouts.app')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="col-lg-8 mx-auto">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5 class="mb-0 h6">{{translate('Delivery Boy Information')}}</h5>
|
||||
</div>
|
||||
|
||||
<form action="{{ route('delivery-boys.store') }}" method="POST">
|
||||
@csrf
|
||||
<div class="card-body">
|
||||
|
||||
@if ($errors->any())
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label" for="name">
|
||||
{{translate('Name')}} <span class="text-danger">*</span>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" name="name" value="{{ old('name') }}" placeholder="Name" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label" for="email">
|
||||
{{translate('Email')}} <span class="text-danger">*</span>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" name="email" value="{{ old('email') }}" placeholder="Email" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label" for="phone">
|
||||
{{translate('Phone')}} <span class="text-danger">*</span>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" name="phone" value="{{ old('phone') }}" placeholder="Phone" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label" for="password">
|
||||
{{translate('Password')}} <span class="text-danger">*</span>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="password" class="form-control" name="password" placeholder="Password" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label" for="type">
|
||||
{{translate('Country')}} <span class="text-danger">*</span>
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<select class="form-control aiz-selectpicker" data-live-search="true" name="country_id" id="country_id" required>
|
||||
<option value="">{{translate('Select Country')}}</option>
|
||||
@foreach ($countries as $country)
|
||||
<option value="{{ $country->id }}">
|
||||
{{ $country->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<label>{{ translate('State')}}</label>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<select class="form-control mb-3 aiz-selectpicker" data-live-search="true" name="state_id" required>
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<label>{{ translate('City')}}</label>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<select class="form-control mb-3 aiz-selectpicker" data-live-search="true" name="city_id" required>
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-form-label" for="signinSrEmail">
|
||||
{{translate('Image')}}
|
||||
</label>
|
||||
<div class="col-md-10">
|
||||
<div class="input-group" data-toggle="aizuploader" data-type="image" data-multiple="false">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text bg-soft-secondary font-weight-medium">{{ translate('Browse')}}</div>
|
||||
</div>
|
||||
<div class="form-control file-amount">{{ translate('Choose File') }}</div>
|
||||
<input type="hidden" name="avatar_original" class="selected-files">
|
||||
</div>
|
||||
<div class="file-preview box sm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label">{{translate('Address')}}</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" name="address"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group mb-3 text-right">
|
||||
<button type="submit" class="btn btn-primary">{{translate('Save')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
|
||||
(function($) {
|
||||
"use strict";
|
||||
|
||||
$(document).on('change', '[name=country_id]', function() {
|
||||
var country_id = $(this).val();
|
||||
$.ajax({
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
|
||||
},
|
||||
url: "{{route('get-state')}}",
|
||||
type: 'POST',
|
||||
data: {
|
||||
country_id : country_id
|
||||
},
|
||||
success: function (response) {
|
||||
var obj = JSON.parse(response);
|
||||
if(obj != '') {
|
||||
$('[name="state_id"]').html(obj);
|
||||
AIZ.plugins.bootstrapSelect('refresh');
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(document).on('change', '[name=state_id]', function() {
|
||||
var state_id = $(this).val();
|
||||
$.ajax({
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
|
||||
},
|
||||
url: "{{route('get-city')}}",
|
||||
type: 'POST',
|
||||
data: {
|
||||
state_id: state_id
|
||||
},
|
||||
success: function (response) {
|
||||
var obj = JSON.parse(response);
|
||||
if(obj != '') {
|
||||
$('[name="city_id"]').html(obj);
|
||||
AIZ.plugins.bootstrapSelect('refresh');
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
})(jQuery);
|
||||
|
||||
</script>
|
||||
@endsection
|
||||
@@ -0,0 +1,357 @@
|
||||
@extends('backend.layouts.app')
|
||||
|
||||
@section('content')
|
||||
<style>
|
||||
#map {
|
||||
width: 100%;
|
||||
height: 250px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-6 mx-auto">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5 class="mb-0 h6">{{ translate('Payment Configuration') }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form class="form-horizontal" action="{{ route('business_settings.update') }}" method="POST"
|
||||
enctype="multipart/form-data">
|
||||
@csrf
|
||||
<div class="form-group row">
|
||||
<input type="hidden" name="types[]" value="delivery_boy_payment_type">
|
||||
|
||||
<label class="col-md-4 col-from-label">
|
||||
{{ translate('Monthly Salary') }}
|
||||
</label>
|
||||
<div class="col-md-8">
|
||||
<label class="aiz-switch aiz-switch-success mb-0">
|
||||
<input type="radio" name="delivery_boy_payment_type" value="salary"
|
||||
@if (get_setting('delivery_boy_payment_type') == 'salary') checked @endif>
|
||||
<span></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row" id="salary_div" style="display: none;">
|
||||
<label class="col-sm-4 col-from-label">{{ translate('Salary Amount') }}</label>
|
||||
<div class="col-sm-8">
|
||||
<input type="hidden" name="types[]" value="delivery_boy_salary">
|
||||
<div class="input-group">
|
||||
<input type="number" name="delivery_boy_salary" class="form-control"
|
||||
value="{{ get_setting('delivery_boy_salary') ? get_setting('delivery_boy_salary') : '0' }}">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text" id="inputGroupPrepend">
|
||||
{{ \App\Models\Currency::find(get_setting('system_default_currency'))->code }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-md-4 col-from-label">
|
||||
{{ translate('Per Order Commission') }}
|
||||
</label>
|
||||
<div class="col-md-8">
|
||||
<label class="aiz-switch aiz-switch-success mb-0">
|
||||
<input type="radio" name="delivery_boy_payment_type" value="commission"
|
||||
@if (get_setting('delivery_boy_payment_type') == 'commission') checked @endif>
|
||||
<span></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row" id="commission_div" style="display: none;">
|
||||
<label class="col-sm-4 col-from-label">{{ translate('Commission Rate') }}</label>
|
||||
<div class="col-sm-8">
|
||||
<input type="hidden" name="types[]" value="delivery_boy_commission">
|
||||
<div class="input-group">
|
||||
<input type="number" name="delivery_boy_commission" class="form-control"
|
||||
value="{{ get_setting('delivery_boy_commission') ? get_setting('delivery_boy_commission') : '0' }}">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text" id="inputGroupPrepend">
|
||||
{{ \App\Models\Currency::find(get_setting('system_default_currency'))->code }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-right">
|
||||
<button type="submit" class="btn btn-primary">{{ translate('Update') }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mx-auto">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5 class="mb-0 h6">{{ translate('Notification Configuration') }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form class="form-horizontal" action="{{ route('business_settings.update') }}" method="POST"
|
||||
enctype="multipart/form-data">
|
||||
@csrf
|
||||
<div class="form-group row">
|
||||
<input type="hidden" name="types[]" value="delivery_boy_mail_notification">
|
||||
|
||||
<label class="col-md-4 col-from-label">
|
||||
{{ translate('Send Mail') }}
|
||||
</label>
|
||||
<div class="col-md-8">
|
||||
<label class="aiz-switch aiz-switch-success mb-0">
|
||||
<input type="checkbox" name="delivery_boy_mail_notification" value="1"
|
||||
@if (get_setting('delivery_boy_mail_notification') == '1') checked @endif>
|
||||
<span></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<input type="hidden" name="types[]" value="delivery_boy_otp_notification">
|
||||
|
||||
<label class="col-md-4 col-from-label">
|
||||
{{ translate('Send OTP') }}
|
||||
</label>
|
||||
<div class="col-md-8">
|
||||
<label class="aiz-switch aiz-switch-success mb-0">
|
||||
<input type="checkbox" name="delivery_boy_otp_notification" value="1"
|
||||
@if (get_setting('delivery_boy_otp_notification') == '1') checked @endif>
|
||||
<span></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-right">
|
||||
<button type="submit" class="btn btn-primary">{{ translate('Update') }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-8 mx-auto">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5 class="mb-0 h6">{{ translate('Pickup Location For Delivery Boy') }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form class="form-horizontal" action="{{ route('business_settings.update') }}" method="POST"
|
||||
enctype="multipart/form-data">
|
||||
@csrf
|
||||
@if (get_setting('google_map') == 1)
|
||||
<div class="row">
|
||||
<input id="searchInput" class="controls" type="text"
|
||||
placeholder="{{ translate('Enter a location') }}">
|
||||
<div id="map"></div>
|
||||
<ul id="geoData">
|
||||
<li style="display: none;">Full Address: <span id="location"></span></li>
|
||||
<li style="display: none;">Postal Code: <span id="postal_code"></span></li>
|
||||
<li style="display: none;">Country: <span id="country"></span></li>
|
||||
<li style="display: none;">Latitude: <span id="lat"></span></li>
|
||||
<li style="display: none;">Longitude: <span id="lon"></span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-md-2" id="">
|
||||
<label for="exampleInputuname">Longitude</label>
|
||||
</div>
|
||||
<div class="col-md-10" id="">
|
||||
<input type="hidden" name="types[]" value="delivery_pickup_longitude">
|
||||
<input type="text" class="form-control mb-3" id="longitude"
|
||||
name="delivery_pickup_longitude" readonly=""
|
||||
value="{{ get_setting('delivery_pickup_longitude') }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-md-2" id="">
|
||||
<label for="exampleInputuname">Latitude</label>
|
||||
</div>
|
||||
<div class="col-md-10" id="">
|
||||
<input type="hidden" name="types[]" value="delivery_pickup_latitude">
|
||||
<input type="text" class="form-control mb-3" id="latitude"
|
||||
name="delivery_pickup_latitude" readonly=""
|
||||
value="{{ get_setting('delivery_pickup_latitude') }}">
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
<div class="form-group row">
|
||||
<div class="col-md-2" id="">
|
||||
<label for="exampleInputuname">Longitude</label>
|
||||
</div>
|
||||
<div class="col-md-10" id="">
|
||||
<input type="hidden" name="types[]" value="delivery_pickup_longitude">
|
||||
<input type="text" class="form-control mb-3" id="longitude"
|
||||
name="delivery_pickup_longitude"
|
||||
value="{{ get_setting('delivery_pickup_longitude') }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-md-2" id="">
|
||||
<label for="exampleInputuname">Latitude</label>
|
||||
</div>
|
||||
<div class="col-md-10" id="">
|
||||
<input type="hidden" name="types[]" value="delivery_pickup_latitude">
|
||||
<input type="text" class="form-control mb-3" id="latitude"
|
||||
name="delivery_pickup_latitude"
|
||||
value="{{ get_setting('delivery_pickup_latitude') }}">
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<div class="text-right">
|
||||
<button type="submit" class="btn btn-primary">{{ translate('Update') }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
(function($) {
|
||||
"use strict";
|
||||
$(document).ready(function() {
|
||||
show_hide_div();
|
||||
})
|
||||
|
||||
$("[name=delivery_boy_payment_type]").on("change", function() {
|
||||
show_hide_div();
|
||||
});
|
||||
|
||||
function show_hide_div() {
|
||||
$("#salary_div").hide();
|
||||
$("#commission_div").hide();
|
||||
if ($("[name=delivery_boy_payment_type]:checked").val() == 'salary') {
|
||||
$("#salary_div").show();
|
||||
}
|
||||
if ($("[name=delivery_boy_payment_type]:checked").val() == 'commission') {
|
||||
$("#commission_div").show();
|
||||
}
|
||||
}
|
||||
})(jQuery);
|
||||
</script>
|
||||
|
||||
@if (get_setting('google_map') == 1)
|
||||
<script>
|
||||
let default_longtitude = "{{ get_setting('google_map_longtitude') }}";
|
||||
let default_latitude = "{{ get_setting('google_map_latitude') }}";
|
||||
|
||||
function initialize(lat = -33.8688, lang = 151.2195, id_format = '') {
|
||||
|
||||
var long = lang;
|
||||
var lat = lat;
|
||||
if (default_longtitude != '' && default_latitude != '') {
|
||||
long = default_longtitude;
|
||||
lat = default_latitude;
|
||||
}
|
||||
|
||||
@if (get_setting('delivery_pickup_latitude'))
|
||||
long = {{ get_setting('delivery_pickup_longitude') }};
|
||||
lat = {{ get_setting('delivery_pickup_latitude') }};
|
||||
@endif
|
||||
|
||||
var map = new google.maps.Map(document.getElementById(id_format + 'map'), {
|
||||
center: {
|
||||
lat: lat,
|
||||
lng: long
|
||||
},
|
||||
zoom: 13
|
||||
});
|
||||
|
||||
var myLatlng = new google.maps.LatLng(lat, long);
|
||||
|
||||
var input = document.getElementById(id_format + 'searchInput');
|
||||
// console.log(input);
|
||||
map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);
|
||||
|
||||
var autocomplete = new google.maps.places.Autocomplete(input);
|
||||
|
||||
autocomplete.bindTo('bounds', map);
|
||||
|
||||
var infowindow = new google.maps.InfoWindow();
|
||||
var marker = new google.maps.Marker({
|
||||
map: map,
|
||||
position: myLatlng,
|
||||
anchorPoint: new google.maps.Point(0, -29),
|
||||
draggable: true,
|
||||
});
|
||||
|
||||
map.addListener('click', function(event) {
|
||||
marker.setPosition(event.latLng);
|
||||
document.getElementById(id_format + 'latitude').value = event.latLng.lat();
|
||||
document.getElementById(id_format + 'longitude').value = event.latLng.lng();
|
||||
infowindow.setContent('Latitude: ' + event.latLng.lat() + '<br>Longitude: ' + event.latLng.lng());
|
||||
infowindow.open(map, marker);
|
||||
});
|
||||
|
||||
google.maps.event.addListener(marker, 'dragend', function(event) {
|
||||
document.getElementById(id_format + 'latitude').value = event.latLng.lat();
|
||||
document.getElementById(id_format + 'longitude').value = event.latLng.lng();
|
||||
infowindow.setContent('Latitude: ' + event.latLng.lat() + '<br>Longitude: ' + event.latLng.lng());
|
||||
infowindow.open(map, marker);
|
||||
});
|
||||
|
||||
autocomplete.addListener('place_changed', function() {
|
||||
infowindow.close();
|
||||
marker.setVisible(false);
|
||||
var place = autocomplete.getPlace();
|
||||
|
||||
if (!place.geometry) {
|
||||
window.alert("Autocomplete's returned place contains no geometry");
|
||||
return;
|
||||
}
|
||||
|
||||
// If the place has a geometry, then present it on a map.
|
||||
if (place.geometry.viewport) {
|
||||
map.fitBounds(place.geometry.viewport);
|
||||
} else {
|
||||
map.setCenter(place.geometry.location);
|
||||
map.setZoom(17);
|
||||
}
|
||||
/*
|
||||
marker.setIcon(({
|
||||
url: place.icon,
|
||||
size: new google.maps.Size(71, 71),
|
||||
origin: new google.maps.Point(0, 0),
|
||||
anchor: new google.maps.Point(17, 34),
|
||||
scaledSize: new google.maps.Size(35, 35)
|
||||
}));
|
||||
*/
|
||||
marker.setPosition(place.geometry.location);
|
||||
marker.setVisible(true);
|
||||
|
||||
var address = '';
|
||||
if (place.address_components) {
|
||||
address = [
|
||||
(place.address_components[0] && place.address_components[0].short_name || ''),
|
||||
(place.address_components[1] && place.address_components[1].short_name || ''),
|
||||
(place.address_components[2] && place.address_components[2].short_name || '')
|
||||
].join(' ');
|
||||
}
|
||||
|
||||
infowindow.setContent('<div><strong>' + place.name + '</strong><br>' + address);
|
||||
infowindow.open(map, marker);
|
||||
|
||||
//Location details
|
||||
for (var i = 0; i < place.address_components.length; i++) {
|
||||
if (place.address_components[i].types[0] == 'postal_code') {
|
||||
document.getElementById('postal_code').innerHTML = place.address_components[i].long_name;
|
||||
}
|
||||
if (place.address_components[i].types[0] == 'country') {
|
||||
document.getElementById('country').innerHTML = place.address_components[i].long_name;
|
||||
}
|
||||
}
|
||||
document.getElementById('location').innerHTML = place.formatted_address;
|
||||
document.getElementById(id_format + 'latitude').value = place.geometry.location.lat();
|
||||
document.getElementById(id_format + 'longitude').value = place.geometry.location.lng();
|
||||
});
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<script
|
||||
src="https://maps.googleapis.com/maps/api/js?key={{ env('MAP_API_KEY') }}&libraries=places&language=en&callback=initialize"
|
||||
async defer></script>
|
||||
@endif
|
||||
@endsection
|
||||
@@ -0,0 +1,61 @@
|
||||
@extends('backend.layouts.app')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="aiz-titlebar text-left mt-2 mb-3">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-auto">
|
||||
<h1 class="h3">{{translate('All Collection List')}}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header d-block d-lg-flex">
|
||||
<h5 class="mb-0 h6">{{translate('Collection List')}}</h5>
|
||||
<div class="">
|
||||
<!-- <form class="" id="sort_delivery_boys" action="" method="GET">
|
||||
<div class="box-inline pad-rgt pull-left">
|
||||
<div class="" style="min-width: 250px;">
|
||||
<input type="text" class="form-control" id="search" name="search"@isset($sort_search) value="{{ $sort_search }}" @endisset placeholder="{{ translate('Type email or name & Enter') }}">
|
||||
</div>
|
||||
</div>
|
||||
</form>-->
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table aiz-table mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>{{translate('Delivery Boy')}}</th>
|
||||
<th class="text-center">{{translate('Collected Amount')}}</th>
|
||||
<th class="text-right">{{translate('Created At')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($delivery_boy_collections as $key => $delivery_boy_collection)
|
||||
|
||||
<tr>
|
||||
<td>{{ ($key+1) + ($delivery_boy_collections->currentPage() - 1) * $delivery_boy_collections->perPage() }}</td>
|
||||
<td>
|
||||
{{ $delivery_boy_collection->user->name }}
|
||||
</td>
|
||||
<td class="text-center">
|
||||
{{ $delivery_boy_collection->collection_amount }}
|
||||
</td>
|
||||
<td class="text-right">
|
||||
{{$delivery_boy_collection->created_at}}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="aiz-pagination">
|
||||
{{ $delivery_boy_collections->appends(request()->input())->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,62 @@
|
||||
@extends('backend.layouts.app')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="aiz-titlebar text-left mt-2 mb-3">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-auto">
|
||||
<h1 class="h3">{{translate('All Payment List')}}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header d-block d-lg-flex">
|
||||
<h5 class="mb-0 h6">{{translate('Payment List')}}</h5>
|
||||
<div class="">
|
||||
<!-- <form class="" id="sort_delivery_boys" action="" method="GET">
|
||||
<div class="box-inline pad-rgt pull-left">
|
||||
<div class="" style="min-width: 250px;">
|
||||
<input type="text" class="form-control" id="search" name="search"@isset($sort_search) value="{{ $sort_search }}" @endisset placeholder="{{ translate('Type email or name & Enter') }}">
|
||||
</div>
|
||||
</div>
|
||||
</form>-->
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table aiz-table mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>{{translate('Delivery Boy')}}</th>
|
||||
<th class="text-center">{{translate('Payment Amount')}}</th>
|
||||
<th class="text-right">{{translate('Created At')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($delivery_boy_payments as $key => $delivery_boy_payment)
|
||||
|
||||
<tr>
|
||||
<td>{{ ($key+1) + ($delivery_boy_payments->currentPage() - 1) * $delivery_boy_payments->perPage() }}</td>
|
||||
<td>
|
||||
{{ $delivery_boy_payment->user->name }}
|
||||
</td>
|
||||
<td class="text-center">
|
||||
{{ $delivery_boy_payment->payment }}
|
||||
</td>
|
||||
<td class="text-right">
|
||||
{{$delivery_boy_payment->created_at}}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="aiz-pagination">
|
||||
{{ $delivery_boy_payments->appends(request()->input())->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="mb-0 h6">{{translate('Collection From Delivery Boy')}}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal">
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<form class="form-horizontal" action="{{ route('paid-to-delivery-boy') }}" method="POST" enctype="multipart/form-data">
|
||||
|
||||
<div class="modal-body">
|
||||
@csrf
|
||||
<div class="form-group row">
|
||||
<label class="col-md-4 col-from-label">
|
||||
{{translate('Deliver Boy')}}
|
||||
</label>
|
||||
<div class="col-md-8">
|
||||
<input type="hidden" name="delivery_boy_id" value="{{ $delivery_boy_info->user_id }}">
|
||||
<input type="text" class="form-control" value="{{ $delivery_boy_info->user->name }}" readonly="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-md-4 col-from-label">
|
||||
{{translate('Total Payable')}}
|
||||
</label>
|
||||
<div class="col-md-8">
|
||||
<input type="text" class="form-control" value="{{ $delivery_boy_info->total_earning }}" readonly="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-md-4 col-from-label">
|
||||
{{translate('Paid Amount')}}
|
||||
</label>
|
||||
<div class="col-md-8">
|
||||
<input type="number" class="form-control" id="paid_amount" name="paid_amount">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="submit" id="payout_btn" class="btn btn-primary">{{ translate('Paid') }}</button>
|
||||
<button type="button" class="btn btn-light" data-dismiss="modal">{{translate('Cancel')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
|
||||
(function($) {
|
||||
"use strict";
|
||||
|
||||
})(jQuery);
|
||||
|
||||
</script>
|
||||
@endsection
|
||||
@@ -0,0 +1,187 @@
|
||||
@extends('backend.layouts.app')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="col-lg-8 mx-auto">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5 class="mb-0 h6">{{translate('Delivery Boy Information')}}</h5>
|
||||
</div>
|
||||
|
||||
<form action="{{ route('delivery-boys.update', $delivery_boy->id) }}" method="POST">
|
||||
@csrf
|
||||
<input name="_method" type="hidden" value="PATCH">
|
||||
<div class="card-body">
|
||||
|
||||
@if ($errors->any())
|
||||
<div class="alert alert-danger">
|
||||
<ul>
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label" for="name">{{translate('Name')}}</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" name="name" value="{{$delivery_boy->name}}" placeholder="Name" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label" for="email">{{translate('Email')}}</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" name="email" value="{{$delivery_boy->email}}" placeholder="Email" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label" for="phone">{{translate('Phone')}}</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" name="phone" value="{{$delivery_boy->phone}}" placeholder="Phone" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label" for="password">{{translate('Password')}}</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="password" class="form-control" name="password" placeholder="Password">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label" for="country">
|
||||
{{translate('Country')}}
|
||||
</label>
|
||||
<div class="col-sm-10">
|
||||
<select class="form-control aiz-selectpicker" name="country_id" id="country_id" required>
|
||||
<option value="">{{translate('Select Country')}}</option>
|
||||
@foreach ($countries as $country)
|
||||
<option value="{{ $country->id }}" @if($delivery_boy->country == $country->name) selected @endif>
|
||||
{{ $country->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<label>{{ translate('State')}}</label>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<select class="form-control mb-3 aiz-selectpicker" name="state_id" id="edit_state" data-live-search="true" required>
|
||||
@foreach ($states as $key => $state)
|
||||
<option value="{{ $state->id }}" @if($delivery_boy->state == $state->name) selected @endif>
|
||||
{{ $state->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<label>{{ translate('City')}}</label>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<select class="form-control mb-3 aiz-selectpicker" data-live-search="true" name="city_id" required>
|
||||
@foreach ($cities as $key => $city)
|
||||
<option value="{{ $city->id }}" @if($delivery_boy->city == $city->name) selected @endif>
|
||||
{{ $city->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-form-label" for="avatar_original">
|
||||
{{translate('Image')}}
|
||||
</label>
|
||||
<div class="col-md-10">
|
||||
<div class="input-group" data-toggle="aizuploader" data-type="image" data-multiple="false">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text bg-soft-secondary font-weight-medium">{{ translate('Browse')}}</div>
|
||||
</div>
|
||||
<div class="form-control file-amount">{{ translate('Choose File') }}</div>
|
||||
<input type="hidden" name="avatar_original" value="{{ $delivery_boy->avatar_original }}" class="selected-files">
|
||||
</div>
|
||||
<div class="file-preview box sm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-sm-2 col-from-label">{{translate('Address')}}</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" name="address">{{ $delivery_boy->address }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group mb-3 text-right">
|
||||
<button type="submit" class="btn btn-primary">{{translate('Save')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
|
||||
(function($) {
|
||||
"use strict";
|
||||
$(document).on('change', '[name=country_id]', function() {
|
||||
var country_id = $(this).val();
|
||||
get_states(country_id);
|
||||
});
|
||||
|
||||
$(document).on('change', '[name=state_id]', function() {
|
||||
var state_id = $(this).val();
|
||||
get_city(state_id);
|
||||
});
|
||||
|
||||
function get_states(country_id) {
|
||||
$('[name="state_id"]').html("");
|
||||
$.ajax({
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
|
||||
},
|
||||
url: "{{route('get-state')}}",
|
||||
type: 'POST',
|
||||
data: {
|
||||
country_id : country_id
|
||||
},
|
||||
success: function (response) {
|
||||
var obj = JSON.parse(response);
|
||||
if(obj != '') {
|
||||
$('[name="state_id"]').html(obj);
|
||||
AIZ.plugins.bootstrapSelect('refresh');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function get_city(state_id) {
|
||||
$('[name="city_id"]').html("");
|
||||
$.ajax({
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
|
||||
},
|
||||
url: "{{route('get-city')}}",
|
||||
type: 'POST',
|
||||
data: {
|
||||
state_id: state_id
|
||||
},
|
||||
success: function (response) {
|
||||
var obj = JSON.parse(response);
|
||||
if(obj != '') {
|
||||
$('[name="city_id"]').html(obj);
|
||||
AIZ.plugins.bootstrapSelect('refresh');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
})(jQuery);
|
||||
|
||||
</script>
|
||||
@endsection
|
||||
@@ -0,0 +1,212 @@
|
||||
@extends('backend.layouts.app')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="aiz-titlebar text-left mt-2 mb-3">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-auto">
|
||||
<h1 class="h3">{{translate('All Delivery Boys')}}</h1>
|
||||
</div>
|
||||
@can('add_delivery_boy')
|
||||
<div class="col text-right">
|
||||
<a href="{{ route('delivery-boys.create') }}" class="btn btn-circle btn-info">
|
||||
<span>{{translate('Add New Delivery Boy')}}</span>
|
||||
</a>
|
||||
</div>
|
||||
@endcan
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header d-block d-lg-flex">
|
||||
<h5 class="mb-0 h6">{{translate('Delivery Boys')}}</h5>
|
||||
<div class="">
|
||||
<form class="" id="sort_delivery_boys" action="" method="GET">
|
||||
<div class="box-inline pad-rgt pull-left">
|
||||
<div class="" style="min-width: 250px;">
|
||||
<input type="text" class="form-control" id="search" name="search"@isset($sort_search) value="{{ $sort_search }}" @endisset placeholder="{{ translate('Type email or name & Enter') }}">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table aiz-table mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-breakpoints="lg">#</th>
|
||||
<th>{{translate('Name')}}</th>
|
||||
<th data-breakpoints="lg">{{translate('Email Address')}}</th>
|
||||
<th data-breakpoints="lg">{{translate('Phone')}}</th>
|
||||
<th>{{translate('Earning')}}</th>
|
||||
<th>{{translate('Collection')}}</th>
|
||||
<th width="10%">{{translate('Options')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($delivery_boys as $key => $delivery_boy)
|
||||
@if ($delivery_boy->user != null)
|
||||
<tr>
|
||||
<td>{{ ($key+1) + ($delivery_boys->currentPage() - 1)*$delivery_boys->perPage() }}</td>
|
||||
<td>@if($delivery_boy->user->banned == 1) <i class="las la-ban text-danger" aria-hidden="true"></i> @endif {{$delivery_boy->user->name}}</td>
|
||||
<td>{{$delivery_boy->user->email}}</td>
|
||||
<td>{{$delivery_boy->user->phone}}</td>
|
||||
<td>
|
||||
{{ single_price($delivery_boy->total_earning) }}
|
||||
</td>
|
||||
<td>
|
||||
{{ single_price($delivery_boy->total_collection) }}
|
||||
</td>
|
||||
<td>
|
||||
<div class="dropdown">
|
||||
<button type="button" class="btn btn-sm btn-circle btn-soft-primary btn-icon dropdown-toggle no-arrow" data-toggle="dropdown" href="javascript:void(0);" role="button" aria-haspopup="false" aria-expanded="false">
|
||||
<i class="las la-ellipsis-v"></i>
|
||||
</button>
|
||||
<div class="dropdown-menu dropdown-menu-right dropdown-menu-xs">
|
||||
@can('edit_delivery_boy')
|
||||
<a href="{{route('delivery-boys.edit', $delivery_boy->user->id)}}" class="dropdown-item">
|
||||
{{translate('Edit')}}
|
||||
</a>
|
||||
@endcan
|
||||
@can('ban_delivery_boy')
|
||||
@if($delivery_boy->user->banned != 1)
|
||||
<a href="#" onclick="confirm_ban('{{route('delivery-boy.ban', $delivery_boy->user->id)}}');" class="dropdown-item">
|
||||
{{translate('Ban this delivery boy')}}
|
||||
<i class="fa fa-ban text-danger" aria-hidden="true"></i>
|
||||
</a>
|
||||
@else
|
||||
<a href="#" onclick="confirm_unban('{{route('delivery-boy.ban', $delivery_boy->user->id)}}');" class="dropdown-item">
|
||||
{{translate('Unban this delivery boy')}}
|
||||
<i class="fa fa-check text-success" aria-hidden="true"></i>
|
||||
</a>
|
||||
@endif
|
||||
@endcan
|
||||
@can('collect_from_delivery_boy')
|
||||
<a href="#" onclick="show_order_collection_modal('{{$delivery_boy->user->id}}');" class="dropdown-item">
|
||||
{{translate('Go to Collection')}}
|
||||
</a>
|
||||
@endcan
|
||||
@can('pay_to_delivery_boy')
|
||||
<a href="#" onclick="show_delivery_earning_modal('{{$delivery_boy->user->id}}');" class="dropdown-item">
|
||||
{{translate('Go to Payment')}}
|
||||
</a>
|
||||
@endcan
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="aiz-pagination">
|
||||
{{ $delivery_boys->appends(request()->input())->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="modal fade" id="collection_modal">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content" id="collection-modal-content">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="payment_modal">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content" id="payment-modal-content">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="confirm-ban">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title h6">{{translate('Confirmation')}}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>{{translate('Do you really want to ban this delivery_boy?')}}</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-light" data-dismiss="modal">{{translate('Cancel')}}</button>
|
||||
<a type="button" id="confirmation" class="btn btn-primary">{{translate('Proceed!')}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="confirm-unban">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title h6">{{translate('Confirmation')}}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>{{translate('Do you really want to unban this delivery_boy?')}}</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-light" data-dismiss="modal">{{translate('Cancel')}}</button>
|
||||
<a type="button" id="confirmationunban" class="btn btn-primary">{{translate('Proceed!')}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('modal')
|
||||
@include('modals.delete_modal')
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
|
||||
(function($) {
|
||||
"use strict";
|
||||
|
||||
})(jQuery);
|
||||
|
||||
function show_order_collection_modal(id){
|
||||
$.post('{{ route('delivery-boy.order-collection') }}',{
|
||||
_token :'{{ @csrf_token() }}',
|
||||
id :id
|
||||
}, function(data){
|
||||
$('#collection_modal #collection-modal-content').html(data);
|
||||
$('#collection_modal').modal('show', {backdrop: 'static'});
|
||||
});
|
||||
}
|
||||
|
||||
function show_delivery_earning_modal(id){
|
||||
$.post('{{ route('delivery-boy.delivery-earning') }}',{
|
||||
_token :'{{ @csrf_token() }}',
|
||||
id :id
|
||||
}, function(data){
|
||||
$('#payment_modal #payment-modal-content').html(data);
|
||||
$('#payment_modal').modal('show', {backdrop: 'static'});
|
||||
});
|
||||
}
|
||||
|
||||
function sort_delivery_boys(el){
|
||||
$('#sort_delivery_boys').submit();
|
||||
}
|
||||
function confirm_ban(url)
|
||||
{
|
||||
$('#confirm-ban').modal('show', {backdrop: 'static'});
|
||||
document.getElementById('confirmation').setAttribute('href' , url);
|
||||
}
|
||||
|
||||
function confirm_unban(url)
|
||||
{
|
||||
$('#confirm-unban').modal('show', {backdrop: 'static'});
|
||||
document.getElementById('confirmationunban').setAttribute('href' , url);
|
||||
}
|
||||
|
||||
</script>
|
||||
@endsection
|
||||
@@ -0,0 +1,57 @@
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="mb-0 h6">{{translate('Collection From Delivery Boy')}}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal">
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<form class="form-horizontal" action="{{ route('collection-from-delivery-boy') }}" method="POST" enctype="multipart/form-data">
|
||||
|
||||
<div class="modal-body">
|
||||
@csrf
|
||||
<div class="form-group row">
|
||||
<label class="col-md-4 col-from-label">
|
||||
{{translate('Deliver Boy')}}
|
||||
</label>
|
||||
<div class="col-md-8">
|
||||
<input type="hidden" name="delivery_boy_id" value="{{ $delivery_boy_info->user_id }}">
|
||||
<input type="text" class="form-control" value="{{ $delivery_boy_info->user->name }}" readonly="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-md-4 col-from-label">
|
||||
{{translate('Collection From Delivery Boy')}}
|
||||
</label>
|
||||
<div class="col-md-8">
|
||||
<input type="text" class="form-control" value="{{ $delivery_boy_info->total_collection }}" readonly="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-md-4 col-from-label">
|
||||
{{translate('Collected Amount')}}
|
||||
</label>
|
||||
<div class="col-md-8">
|
||||
<input type="number" class="form-control" id="payout_amount" name="payout_amount">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="submit" id="payout_btn" class="btn btn-primary">{{ translate('Collection') }}</button>
|
||||
<button type="button" class="btn btn-light" data-dismiss="modal">{{translate('Cancel')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
|
||||
(function($) {
|
||||
"use strict";
|
||||
|
||||
})(jQuery);
|
||||
|
||||
</script>
|
||||
@endsection
|
||||
@@ -0,0 +1,122 @@
|
||||
@extends('delivery_boys.layouts.app')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="card shadow-none rounded-0 border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-20 fw-700 text-dark">{{ translate('Assigned Delivery History') }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table aiz-table mb-0">
|
||||
<thead class="text-gray fs-12">
|
||||
<tr>
|
||||
<th class="pl-0">{{ translate('Code')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Date')}}</th>
|
||||
<th>{{ translate('Amount')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Delivery Status')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Payment Status')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Payment Type')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Mark As Pickup')}}</th>
|
||||
<th class="text-right pr-0">{{ translate('Options')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="fs-14">
|
||||
@foreach ($assigned_deliveries as $key => $delivery)
|
||||
<tr>
|
||||
<!-- Code -->
|
||||
<td class="pl-0" style="vertical-align: middle;">
|
||||
<a href="{{route('delivery-boy.order-detail', encrypt($delivery->id))}}">{{ $delivery->code }}</a>
|
||||
</td>
|
||||
<!-- Date -->
|
||||
<td class="text-secondary" style="vertical-align: middle;">
|
||||
{{ date('d-m-Y h:i A', strtotime($delivery->delivery_history_date)) }}
|
||||
</td>
|
||||
<!-- Amount -->
|
||||
<td class="fw-700" style="vertical-align: middle;">{{ single_price($delivery->grand_total) }}</td>
|
||||
<!-- Delivery Status -->
|
||||
<td class="fw-700" style="vertical-align: middle;">
|
||||
{{ translate(ucfirst(str_replace('_', ' ', $delivery->delivery_status))) }}
|
||||
@if($delivery->delivery_viewed == 0)
|
||||
<span class="ml-1" style="color:green"><strong>*</strong></span>
|
||||
@endif
|
||||
</td>
|
||||
<!-- Payment Status -->
|
||||
<td class="fw-700 w-120px" style="vertical-align: middle;">
|
||||
@if ($delivery->payment_status == 'paid')
|
||||
<span class="badge badge-inline badge-success p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{translate('Paid')}}</span>
|
||||
@else
|
||||
<span class="badge badge-inline badge-danger p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{translate('Unpaid')}}</span>
|
||||
@endif
|
||||
@if($delivery->payment_status_viewed == 0)
|
||||
<span class="ml-1" style="color:green"><strong>*</strong></span>
|
||||
@endif
|
||||
</td>
|
||||
<!-- Payment Type -->
|
||||
<td class="w-120px" style="vertical-align: middle;">
|
||||
{{ translate(ucfirst(str_replace('_', ' ', $delivery->payment_type))) }}
|
||||
</td>
|
||||
<!-- Switch -->
|
||||
<td style="vertical-align: middle;">
|
||||
<label class="aiz-switch aiz-switch-success mb-0">
|
||||
<input onchange="update_status(this)" value="{{ $delivery->id }}" type="checkbox">
|
||||
<span class="slider round"></span>
|
||||
</label>
|
||||
</td>
|
||||
<!-- Options -->
|
||||
<td class="text-right pr-0 w-130px" style="vertical-align: middle;">
|
||||
<a href="javascript:void(0)" class="btn btn-soft-danger btn-icon btn-circle btn-sm" onclick="confirm_cancel_request('{{route('cancel-request', $delivery->id)}}')" title="{{ translate('Cancel') }}">
|
||||
<i class="las la-times"></i>
|
||||
</a>
|
||||
<a href="{{route('delivery-boy.order-detail', encrypt($delivery->id))}}" class="btn btn-soft-info btn-icon btn-circle btn-sm hov-svg-white" title="{{ translate('Order Details') }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10">
|
||||
<g id="Group_24807" data-name="Group 24807" transform="translate(-1339 -422)">
|
||||
<rect id="Rectangle_18658" data-name="Rectangle 18658" width="12" height="1" transform="translate(1339 422)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18659" data-name="Rectangle 18659" width="12" height="1" transform="translate(1339 425)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18660" data-name="Rectangle 18660" width="12" height="1" transform="translate(1339 428)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18661" data-name="Rectangle 18661" width="12" height="1" transform="translate(1339 431)" fill="#3490f3"/>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
<a class="btn btn-soft-warning btn-icon btn-circle btn-sm" href="{{ route('invoice.download', $delivery->id) }}" title="{{ translate('Download Invoice') }}">
|
||||
<i class="las la-download"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- Pagination -->
|
||||
<div class="aiz-pagination mt-2">
|
||||
{{ $assigned_deliveries->appends(request()->input())->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('modal')
|
||||
<!-- Cancel Request Modal -->
|
||||
@include('delivery_boys.cancel_request_modal')
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
function confirm_cancel_request(url)
|
||||
{
|
||||
$('#cancel-request').modal('show', {backdrop: 'static'});
|
||||
document.getElementById('confirmation').setAttribute('href' , url);
|
||||
}
|
||||
|
||||
function update_status(selectObject) {
|
||||
var order_id = selectObject.value;
|
||||
var status = "picked_up";
|
||||
|
||||
$.post('{{ route('delivery-boy.orders.update_delivery_status') }}', {
|
||||
_token : '{{ @csrf_token() }}',
|
||||
order_id : order_id,
|
||||
status : status
|
||||
}, function(data){
|
||||
AIZ.plugins.notify('success', '{{ translate('Delivery status has been updated') }}');
|
||||
location.reload();
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
@@ -0,0 +1,61 @@
|
||||
@extends('delivery_boys.layouts.app')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="card shadow-none rounded-0 border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-20 fw-700 text-dark">{{ translate('All Cancel Request') }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table aiz-table mb-0">
|
||||
<thead class="text-gray fs-12">
|
||||
<tr>
|
||||
<th class="pl-0">#</th>
|
||||
<th>{{translate('Code')}}</th>
|
||||
<th>{{translate('Request By')}}</th>
|
||||
<th>{{translate('Request At')}}</th>
|
||||
<th class="text-right pr-0">{{translate('Options')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="fs-14">
|
||||
@foreach($cancel_requests as $key => $cancel_request)
|
||||
<tr>
|
||||
<!-- count -->
|
||||
<td class="pl-0" style="vertical-align: middle;">
|
||||
{{ ($key+1) + ($cancel_requests->currentPage() - 1) * $cancel_requests->perPage() }}
|
||||
</td>
|
||||
<!-- code -->
|
||||
<td class="text-primary" style="vertical-align: middle;">
|
||||
<a href="{{route('delivery-boy.order-detail', encrypt($cancel_request->id))}}">{{ $cancel_request->code }}</a>
|
||||
</td>
|
||||
<!-- Delivery boy -->
|
||||
<td style="vertical-align: middle;">
|
||||
{{ $cancel_request->delivery_boy->name }}
|
||||
</td>
|
||||
<!-- Date -->
|
||||
<td class="text-secondary" style="vertical-align: middle;">
|
||||
{{ date('d-m-Y h:i A', strtotime($cancel_request->cancel_request_at)) }}
|
||||
</td>
|
||||
<!-- Options -->
|
||||
<td class="text-right pr-0" style="vertical-align: middle;">
|
||||
<a href="{{route('delivery-boy.order-detail', encrypt($cancel_request->id))}}" class="btn btn-soft-info btn-icon btn-circle btn-sm hov-svg-white" title="{{ translate('Order Details') }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10">
|
||||
<g id="Group_24807" data-name="Group 24807" transform="translate(-1339 -422)">
|
||||
<rect id="Rectangle_18658" data-name="Rectangle 18658" width="12" height="1" transform="translate(1339 422)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18659" data-name="Rectangle 18659" width="12" height="1" transform="translate(1339 425)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18660" data-name="Rectangle 18660" width="12" height="1" transform="translate(1339 428)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18661" data-name="Rectangle 18661" width="12" height="1" transform="translate(1339 431)" fill="#3490f3"/>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- Pagination -->
|
||||
<div class="aiz-pagination mt-2">
|
||||
{{ $cancel_requests->appends(request()->input())->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -0,0 +1,18 @@
|
||||
<div class="modal fade" id="cancel-request">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title h6">{{translate('Confirmation')}}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal">
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>{{translate('Do you really want to send request to cancel?')}}</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary rounded-0 mt-2" data-dismiss="modal">{{translate('Cancel')}}</button>
|
||||
<a class="btn btn-primary rounded-0 mt-2" id="confirmation">{{translate('Request Cancel')}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,81 @@
|
||||
@extends('delivery_boys.layouts.app')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="card shadow-none rounded-0 border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-20 fw-700 text-dark">{{ translate('Cancelled Delivery History') }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table aiz-table mb-0">
|
||||
<thead class="text-gray fs-12">
|
||||
<tr>
|
||||
<th class="pl-0">{{ translate('Code')}}</th>
|
||||
<th data-breakpoints="md">{{ translate('Date')}}</th>
|
||||
<th>{{ translate('Amount')}}</th>
|
||||
<th data-breakpoints="md">{{ translate('Delivery Status')}}</th>
|
||||
<th data-breakpoints="md">{{ translate('Payment Status')}}</th>
|
||||
<th class="text-right pr-0">{{ translate('Options')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="fs-14">
|
||||
@foreach ($cancelled_deliveries as $key => $order)
|
||||
@if (count($order->orderDetails) > 0)
|
||||
<tr>
|
||||
<!-- Code -->
|
||||
<td class="pl-0" style="vertical-align: middle;">
|
||||
<a href="{{route('delivery-boy.order-detail', encrypt($order->id))}}">{{ $order->code }}</a>
|
||||
</td>
|
||||
<!-- Date -->
|
||||
<td class="text-secondary" style="vertical-align: middle;">
|
||||
{{ date('d-m-Y', $order->date) }}
|
||||
</td>
|
||||
<!-- Amount -->
|
||||
<td class="fw-700" style="vertical-align: middle;">
|
||||
{{ single_price($order->grand_total) }}
|
||||
</td>
|
||||
<!-- Delivery Status -->
|
||||
<td class="fw-700" style="vertical-align: middle;">
|
||||
{{ translate(ucfirst(str_replace('_', ' ', $order->orderDetails->first()->delivery_status))) }}
|
||||
@if($order->delivery_viewed == 0)
|
||||
<span class="ml-1" style="color:green"><strong>*</strong></span>
|
||||
@endif
|
||||
</td>
|
||||
<!-- Payment Status -->
|
||||
<td style="vertical-align: middle;">
|
||||
@if ($order->payment_status == 'paid')
|
||||
<span class="badge badge-inline badge-success p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{translate('Paid')}}</span>
|
||||
@else
|
||||
<span class="badge badge-inline badge-danger p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{translate('Unpaid')}}</span>
|
||||
@endif
|
||||
@if($order->payment_status_viewed == 0)
|
||||
<span class="ml-1" style="color:green"><strong>*</strong></span>
|
||||
@endif
|
||||
</td>
|
||||
<!-- Options -->
|
||||
<td class="text-right pr-0" style="vertical-align: middle;">
|
||||
<a href="{{route('delivery-boy.order-detail', encrypt($order->id))}}" class="btn btn-soft-info btn-icon btn-circle btn-sm hov-svg-white" title="{{ translate('Order Details') }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10">
|
||||
<g id="Group_24807" data-name="Group 24807" transform="translate(-1339 -422)">
|
||||
<rect id="Rectangle_18658" data-name="Rectangle 18658" width="12" height="1" transform="translate(1339 422)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18659" data-name="Rectangle 18659" width="12" height="1" transform="translate(1339 425)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18660" data-name="Rectangle 18660" width="12" height="1" transform="translate(1339 428)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18661" data-name="Rectangle 18661" width="12" height="1" transform="translate(1339 431)" fill="#3490f3"/>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
<a class="btn btn-soft-warning btn-icon btn-circle btn-sm" href="{{ route('invoice.download', $order->id) }}" title="{{ translate('Download Invoice') }}">
|
||||
<i class="las la-download"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- Pagination -->
|
||||
<div class="aiz-pagination mt-2">
|
||||
{{ $cancelled_deliveries->appends(request()->input())->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -0,0 +1,75 @@
|
||||
@extends('delivery_boys.layouts.app')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="card shadow-none rounded-0 border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-20 fw-700 text-dark">{{ translate('Completed Delivery History') }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table aiz-table mb-0">
|
||||
<thead class="text-gray fs-12">
|
||||
<tr>
|
||||
<th class="pl-0">{{ translate('Code')}}</th>
|
||||
<th>{{ translate('Date')}}</th>
|
||||
<th>{{ translate('Amount')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Delivery Status')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Payment Status')}}</th>
|
||||
<th class="text-right pr-0">{{ translate('Options')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="fs-14">
|
||||
@foreach ($completed_deliveries as $key => $delivery)
|
||||
@if(optional($delivery->order)->code)
|
||||
<tr>
|
||||
<!-- Code -->
|
||||
<td class="pl-0" style="vertical-align: middle;">
|
||||
<a href="{{route('delivery-boy.order-detail', encrypt($delivery->order->id))}}">{{ $delivery->order->code }}</a>
|
||||
</td>
|
||||
<!-- Date -->
|
||||
<td class="text-secondary" style="vertical-align: middle;">
|
||||
{{ date('d-m-Y h:i A', strtotime($delivery->created_at)) }}
|
||||
</td>
|
||||
<!-- Amount -->
|
||||
<td class="fw-700" style="vertical-align: middle;">
|
||||
{{ single_price($delivery->collection) }}
|
||||
</td>
|
||||
<!-- Delivery Status -->
|
||||
<td class="fw-700" style="vertical-align: middle;">
|
||||
{{ translate(ucfirst(str_replace('_', ' ', $delivery->delivery_status))) }}
|
||||
</td>
|
||||
<!-- Payment Status -->
|
||||
<td style="vertical-align: middle;">
|
||||
@if ($delivery->order->payment_status == 'paid')
|
||||
<span class="badge badge-inline badge-success p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{translate('Paid')}}</span>
|
||||
@else
|
||||
<span class="badge badge-inline badge-danger p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{translate('Unpaid')}}</span>
|
||||
@endif
|
||||
</td>
|
||||
<!-- Options -->
|
||||
<td class="text-right pr-0" style="vertical-align: middle;">
|
||||
<a href="{{route('delivery-boy.order-detail', encrypt($delivery->order->id))}}" class="btn btn-soft-info btn-icon btn-circle btn-sm hov-svg-white" title="{{ translate('Order Details') }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10">
|
||||
<g id="Group_24807" data-name="Group 24807" transform="translate(-1339 -422)">
|
||||
<rect id="Rectangle_18658" data-name="Rectangle 18658" width="12" height="1" transform="translate(1339 422)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18659" data-name="Rectangle 18659" width="12" height="1" transform="translate(1339 425)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18660" data-name="Rectangle 18660" width="12" height="1" transform="translate(1339 428)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18661" data-name="Rectangle 18661" width="12" height="1" transform="translate(1339 431)" fill="#3490f3"/>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
<a class="btn btn-soft-warning btn-icon btn-circle btn-sm" href="{{ route('invoice.download', $delivery->order->id) }}" title="{{ translate('Download Invoice') }}">
|
||||
<i class="las la-download"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- Pagination -->
|
||||
<div class="aiz-pagination mt-2">
|
||||
{{ $completed_deliveries->appends(request()->input())->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -0,0 +1,252 @@
|
||||
@extends('delivery_boys.layouts.app')
|
||||
@section('panel_content')
|
||||
|
||||
@php
|
||||
$delivery_boy_info = \App\Models\DeliveryBoy::where('user_id', Auth::user()->id)->first();
|
||||
@endphp
|
||||
|
||||
<div class="aiz-titlebar">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-6">
|
||||
<h1 class="fs-20 fw-700 text-dark">{{ translate('Dashboard') }}</h1>
|
||||
</div>
|
||||
<div class="col-6 text-right">
|
||||
<p class="fs-14 fw-400 text-dark mb-0">{{ date('d M, Y') }}</p>
|
||||
<small class="fs-12 fw-400 text-secondary">{{ date('l') }}</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row gutters-16">
|
||||
|
||||
<!-- Completed Delivery -->
|
||||
@php
|
||||
$total_complete_delivery = \App\Models\Order::where('assign_delivery_boy', Auth::user()->id)
|
||||
->where('delivery_status', 'delivered')
|
||||
->count();
|
||||
@endphp
|
||||
<div class="col-md-6 py-3">
|
||||
<div class="d-flex align-items-center py-5 px-4 bg-dark border">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="66.002" height="65.997" viewBox="0 0 66.002 65.997">
|
||||
<g id="Group_25732" data-name="Group 25732" transform="translate(-651.998 -207.002)">
|
||||
<path id="Subtraction_212" data-name="Subtraction 212" d="M16445-2274a32.784,32.784,0,0,1-12.844-2.594,32.9,32.9,0,0,1-10.49-7.073,32.909,32.909,0,0,1-7.074-10.49A32.781,32.781,0,0,1,16412-2307a32.778,32.778,0,0,1,2.594-12.844,32.894,32.894,0,0,1,7.074-10.488,32.9,32.9,0,0,1,10.49-7.071A32.792,32.792,0,0,1,16445-2340a32.792,32.792,0,0,1,12.844,2.593,32.9,32.9,0,0,1,10.49,7.071,32.86,32.86,0,0,1,7.072,10.488A32.778,32.778,0,0,1,16478-2307a32.781,32.781,0,0,1-2.594,12.845,32.878,32.878,0,0,1-7.072,10.49,32.9,32.9,0,0,1-10.49,7.073A32.784,32.784,0,0,1,16445-2274Zm0-64a30.8,30.8,0,0,0-12.066,2.436,30.935,30.935,0,0,0-9.855,6.643,30.928,30.928,0,0,0-6.643,9.854A30.8,30.8,0,0,0,16414-2307a30.8,30.8,0,0,0,2.436,12.067,30.923,30.923,0,0,0,6.643,9.855,30.931,30.931,0,0,0,9.855,6.645A30.8,30.8,0,0,0,16445-2276a30.8,30.8,0,0,0,12.066-2.437,30.9,30.9,0,0,0,9.854-6.645,30.917,30.917,0,0,0,6.643-9.855A30.8,30.8,0,0,0,16476-2307a30.8,30.8,0,0,0-2.436-12.066,30.916,30.916,0,0,0-6.643-9.854,30.9,30.9,0,0,0-9.854-6.643A30.812,30.812,0,0,0,16445-2338Z" transform="translate(-15760 2547)" fill="#58ba00" opacity="0.2"/>
|
||||
<rect id="Rectangle_18646" data-name="Rectangle 18646" width="52" height="52" rx="26" transform="translate(659 214)" fill="#58ba00"/>
|
||||
<g id="Group_25719" data-name="Group 25719" transform="translate(-65.256 -188.299) rotate(-45)">
|
||||
<rect id="Rectangle_19508" data-name="Rectangle 19508" width="22" height="2" rx="1" transform="translate(218.501 835.55)" fill="#fff"/>
|
||||
<rect id="Rectangle_19509" data-name="Rectangle 19509" width="2" height="12" rx="1" transform="translate(220.502 837.55) rotate(180)" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<div class="text-white ml-3">
|
||||
<p class="mb-2 fs-14 fw-400">{{ translate('Completed Delivery') }}</p>
|
||||
<h4 class="mb-0 fs-24 fw-700">{{ sprintf('%02d', $total_complete_delivery) }}</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Pending Delivery -->
|
||||
@php
|
||||
$total_pending_delivery = \App\Models\Order::where('assign_delivery_boy', Auth::user()->id)
|
||||
->where('delivery_status', '!=', 'delivered')
|
||||
->where('delivery_status', '!=', 'cancelled')
|
||||
->where('cancel_request', '0')
|
||||
->count();
|
||||
@endphp
|
||||
<div class="col-md-6 py-3">
|
||||
<div class="d-flex align-items-center py-5 px-4 bg-dark border">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="66.002" height="65.997" viewBox="0 0 66.002 65.997">
|
||||
<g id="Group_25732" data-name="Group 25732" transform="translate(-1173.998 -207.002)">
|
||||
<path id="Subtraction_213" data-name="Subtraction 213" d="M16445-2274a32.784,32.784,0,0,1-12.844-2.594,32.9,32.9,0,0,1-10.49-7.073,32.909,32.909,0,0,1-7.074-10.49A32.781,32.781,0,0,1,16412-2307a32.778,32.778,0,0,1,2.594-12.844,32.894,32.894,0,0,1,7.074-10.488,32.9,32.9,0,0,1,10.49-7.071A32.792,32.792,0,0,1,16445-2340a32.792,32.792,0,0,1,12.844,2.593,32.9,32.9,0,0,1,10.49,7.071,32.86,32.86,0,0,1,7.072,10.488A32.778,32.778,0,0,1,16478-2307a32.781,32.781,0,0,1-2.594,12.845,32.878,32.878,0,0,1-7.072,10.49,32.9,32.9,0,0,1-10.49,7.073A32.784,32.784,0,0,1,16445-2274Zm0-64a30.8,30.8,0,0,0-12.066,2.436,30.935,30.935,0,0,0-9.855,6.643,30.928,30.928,0,0,0-6.643,9.854A30.8,30.8,0,0,0,16414-2307a30.8,30.8,0,0,0,2.436,12.067,30.923,30.923,0,0,0,6.643,9.855,30.931,30.931,0,0,0,9.855,6.645A30.8,30.8,0,0,0,16445-2276a30.8,30.8,0,0,0,12.066-2.437,30.9,30.9,0,0,0,9.854-6.645,30.917,30.917,0,0,0,6.643-9.855A30.8,30.8,0,0,0,16476-2307a30.8,30.8,0,0,0-2.436-12.066,30.916,30.916,0,0,0-6.643-9.854,30.9,30.9,0,0,0-9.854-6.643A30.812,30.812,0,0,0,16445-2338Z" transform="translate(-15238 2547)" fill="#fc0011" opacity="0.2"/>
|
||||
<rect id="Rectangle_19504" data-name="Rectangle 19504" width="52" height="52" rx="26" transform="translate(1181 214)" fill="#e71927"/>
|
||||
<rect id="Rectangle_19508" data-name="Rectangle 19508" width="18" height="2" rx="1" transform="matrix(-0.839, -0.545, 0.545, -0.839, 1221.451, 250.464)" fill="#fff"/>
|
||||
<rect id="Rectangle_19509" data-name="Rectangle 19509" width="2" height="15" rx="1" transform="translate(1206 226)" fill="#fff"/>
|
||||
<rect id="Rectangle_19572" data-name="Rectangle 19572" width="6" height="6" rx="3" transform="translate(1204 237)" fill="#fff"/>
|
||||
</g>
|
||||
</svg>
|
||||
<div class="text-white ml-3">
|
||||
<p class="mb-2 fs-14 fw-400">{{ translate('Pending Delivery') }}</p>
|
||||
<h4 class="mb-0 fs-24 fw-700">{{ sprintf('%02d', $total_pending_delivery) }}</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Total Collected -->
|
||||
<div class="col-md-6 py-3">
|
||||
<div class="d-flex align-items-center py-5 px-4 bg-dark border">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="66.002" height="65.997" viewBox="0 0 66.002 65.997">
|
||||
<g id="Group_25732" data-name="Group 25732" transform="translate(-651.998 -382.001)">
|
||||
<path id="Subtraction_215" data-name="Subtraction 215" d="M16445-2274a32.784,32.784,0,0,1-12.844-2.594,32.9,32.9,0,0,1-10.49-7.073,32.909,32.909,0,0,1-7.074-10.49A32.781,32.781,0,0,1,16412-2307a32.778,32.778,0,0,1,2.594-12.844,32.894,32.894,0,0,1,7.074-10.488,32.9,32.9,0,0,1,10.49-7.071A32.792,32.792,0,0,1,16445-2340a32.792,32.792,0,0,1,12.844,2.593,32.9,32.9,0,0,1,10.49,7.071,32.86,32.86,0,0,1,7.072,10.488A32.778,32.778,0,0,1,16478-2307a32.781,32.781,0,0,1-2.594,12.845,32.878,32.878,0,0,1-7.072,10.49,32.9,32.9,0,0,1-10.49,7.073A32.784,32.784,0,0,1,16445-2274Zm0-64a30.8,30.8,0,0,0-12.066,2.436,30.935,30.935,0,0,0-9.855,6.643,30.928,30.928,0,0,0-6.643,9.854A30.8,30.8,0,0,0,16414-2307a30.8,30.8,0,0,0,2.436,12.067,30.923,30.923,0,0,0,6.643,9.855,30.931,30.931,0,0,0,9.855,6.645A30.8,30.8,0,0,0,16445-2276a30.8,30.8,0,0,0,12.066-2.437,30.9,30.9,0,0,0,9.854-6.645,30.917,30.917,0,0,0,6.643-9.855A30.8,30.8,0,0,0,16476-2307a30.8,30.8,0,0,0-2.436-12.066,30.916,30.916,0,0,0-6.643-9.854,30.9,30.9,0,0,0-9.854-6.643A30.812,30.812,0,0,0,16445-2338Z" transform="translate(-15760 2722)" fill="#ff4200" opacity="0.2"/>
|
||||
<rect id="Rectangle_19502" data-name="Rectangle 19502" width="52" height="52" rx="26" transform="translate(659 389)" fill="#f50"/>
|
||||
<g id="Group_25720" data-name="Group 25720" transform="translate(455 -277)">
|
||||
<g id="Group_25710" data-name="Group 25710" transform="translate(218.898 683)">
|
||||
<g id="Group_25709" data-name="Group 25709">
|
||||
<path id="Union_29" data-name="Union 29" d="M10.478,7.233.375,1.4A.75.75,0,1,1,1.125.1L11.1,5.859,21.07.1a.75.75,0,1,1,.751,1.3l-10.1,5.833A.752.752,0,0,1,11.1,7.5h-.046A.75.75,0,0,1,10.478,7.233Z" transform="translate(0 10.5)" fill="#fff"/>
|
||||
<path id="Union_30" data-name="Union 30" d="M10.478,7.233.375,1.4A.75.75,0,1,1,1.125.1L11.1,5.859,21.07.1a.75.75,0,1,1,.751,1.3l-10.1,5.833A.752.752,0,0,1,11.1,7.5h-.046A.75.75,0,0,1,10.478,7.233Z" transform="translate(0 6)" fill="#fff"/>
|
||||
<path id="Union_31" data-name="Union 31" d="M21.07,7.4,11.1,1.642,1.125,7.4a.75.75,0,1,1-.75-1.3L10.479.268a.853.853,0,0,1,1.237,0L21.821,6.1a.75.75,0,0,1-.751,1.3Z" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
<rect id="Rectangle_19518" data-name="Rectangle 19518" width="24" height="24" transform="translate(218 680)" fill="none"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<div class="text-white ml-3">
|
||||
<p class="mb-2 fs-14 fw-400">{{ translate('Total Collected') }}</p>
|
||||
<h4 class="mb-0 fs-24 fw-700">{{ $delivery_boy_info->total_collection }}</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Earnings -->
|
||||
<div class="col-md-6 py-3">
|
||||
<div class="d-flex align-items-center py-5 px-4 bg-dark border">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="66.002" height="65.997" viewBox="0 0 66.002 65.997">
|
||||
<g id="Group_25732" data-name="Group 25732" transform="translate(-1173.998 -382.001)">
|
||||
<path id="Subtraction_214" data-name="Subtraction 214" d="M16445-2274a32.784,32.784,0,0,1-12.844-2.594,32.9,32.9,0,0,1-10.49-7.073,32.909,32.909,0,0,1-7.074-10.49A32.781,32.781,0,0,1,16412-2307a32.778,32.778,0,0,1,2.594-12.844,32.894,32.894,0,0,1,7.074-10.488,32.9,32.9,0,0,1,10.49-7.071A32.792,32.792,0,0,1,16445-2340a32.792,32.792,0,0,1,12.844,2.593,32.9,32.9,0,0,1,10.49,7.071,32.86,32.86,0,0,1,7.072,10.488A32.778,32.778,0,0,1,16478-2307a32.781,32.781,0,0,1-2.594,12.845,32.878,32.878,0,0,1-7.072,10.49,32.9,32.9,0,0,1-10.49,7.073A32.784,32.784,0,0,1,16445-2274Zm0-64a30.8,30.8,0,0,0-12.066,2.436,30.935,30.935,0,0,0-9.855,6.643,30.928,30.928,0,0,0-6.643,9.854A30.8,30.8,0,0,0,16414-2307a30.8,30.8,0,0,0,2.436,12.067,30.923,30.923,0,0,0,6.643,9.855,30.931,30.931,0,0,0,9.855,6.645A30.8,30.8,0,0,0,16445-2276a30.8,30.8,0,0,0,12.066-2.437,30.9,30.9,0,0,0,9.854-6.645,30.917,30.917,0,0,0,6.643-9.855A30.8,30.8,0,0,0,16476-2307a30.8,30.8,0,0,0-2.436-12.066,30.916,30.916,0,0,0-6.643-9.854,30.9,30.9,0,0,0-9.854-6.643A30.812,30.812,0,0,0,16445-2338Z" transform="translate(-15238 2722)" fill="#008ac3" opacity="0.2"/>
|
||||
<rect id="Rectangle_19503" data-name="Rectangle 19503" width="52" height="52" rx="26" transform="translate(1181 389)" fill="#0088be"/>
|
||||
<path id="Path_39415" data-name="Path 39415" d="M123.688,10.823v-2a1,1,0,0,0-2,0v2a4,4,0,0,0-4,4v1a4,4,0,0,0,4,4h2a2,2,0,0,1,2,2v1a2,2,0,0,1-2,2h-2a2,2,0,0,1-2-2,1,1,0,1,0-2,0,4,4,0,0,0,4,4v2a1,1,0,0,0,2,0v-2a4,4,0,0,0,4-4v-1a4,4,0,0,0-4-4h-2a2,2,0,0,1-2-2v-1a2,2,0,0,1,2-2h2a2,2,0,0,1,2,2,1,1,0,0,0,2,0,4,4,0,0,0-4-4" transform="translate(1084.312 396.177)" fill="#fff"/>
|
||||
</g>
|
||||
</svg>
|
||||
<div class="text-white ml-3">
|
||||
<p class="mb-2 fs-14 fw-400">{{ translate('Earnings') }}</p>
|
||||
@if(get_setting('delivery_boy_payment_type') == 'commission')
|
||||
<h4 class="mb-0 fs-24 fw-700">
|
||||
{{ $delivery_boy_info->total_earning }}/
|
||||
<span>
|
||||
<small>{{ translate('order') }}</small>
|
||||
</span>
|
||||
</h4>
|
||||
@endif
|
||||
@if(get_setting('delivery_boy_payment_type') == 'salary')
|
||||
<h4 class="mb-0 fs-24 fw-700">
|
||||
{{ get_setting('delivery_boy_salary') }} / {{ translate('mo') }}
|
||||
</h4>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row gutters-16">
|
||||
|
||||
<!-- Cancelled Delivery -->
|
||||
@php
|
||||
$cancelled_deliveries = \App\Models\Order::where('assign_delivery_boy', Auth::user()->id)
|
||||
->where('delivery_status', 'cancelled')
|
||||
->count();
|
||||
@endphp
|
||||
<div class="col-lg-8 col-md-6 py-3">
|
||||
<div class="d-flex align-items-center p-4 bg-primary">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="14.929" height="14.929" viewBox="0 0 14.929 14.929">
|
||||
<g id="Group_25721" data-name="Group 25721" transform="translate(-226.708 -810)">
|
||||
<rect id="Rectangle_18942" data-name="Rectangle 18942" width="20.112" height="1" rx="0.5" transform="translate(227.416 810) rotate(45)" fill="#fff"/>
|
||||
<rect id="Rectangle_19510" data-name="Rectangle 19510" width="20.113" height="1" rx="0.5" transform="translate(241.638 810.707) rotate(135)" fill="#fff"/>
|
||||
</g>
|
||||
</svg>
|
||||
<p class="mb-0 fs-14 fw-700 text-white ml-3">{{ translate('Cancelled Delivery') }}</p>
|
||||
<h4 class="mb-0 fs-24 fw-700 text-white ml-3">
|
||||
{{ sprintf('%02d', $cancelled_deliveries) }}
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Request to Cancel -->
|
||||
<div class="col-lg-4 col-md-6 py-3">
|
||||
<div class="d-flex align-items-center p-4 bg-soft-primary border border-primary">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16.355" height="16.355" viewBox="0 0 16.355 16.355">
|
||||
<g id="Group_25723" data-name="Group 25723" transform="translate(-1364 -569)">
|
||||
<rect id="Rectangle_18942" data-name="Rectangle 18942" width="9.401" height="1" rx="0.5" transform="translate(1373.707 578) rotate(45)" fill="#d43533"/>
|
||||
<path id="Subtraction_207" data-name="Subtraction 207" d="M7.52,13.162H2a2,2,0,0,1-2-2V2A2,2,0,0,1,2,0h9.162a2,2,0,0,1,2,2V7.521H12.2V2a1,1,0,0,0-1-1H2A1,1,0,0,0,1,2v9.2a1,1,0,0,0,1,1H7.52v.96Z" transform="translate(1364 569)" fill="#d43533"/>
|
||||
<rect id="Rectangle_19541" data-name="Rectangle 19541" width="9.4" height="1" rx="0.5" transform="translate(1380.355 578.707) rotate(135)" fill="#d43533"/>
|
||||
<rect id="Rectangle_19542" data-name="Rectangle 19542" width="1" height="5.641" rx="0.5" transform="translate(1370.08 569)" fill="#d43533"/>
|
||||
</g>
|
||||
</svg>
|
||||
<a href="{{ route('cancel-request-list') }}" class="fs-14 fw-400 text-primary hov-text-primary ml-3 d-flex align-items-center animate-underline-primary">
|
||||
<span class="text-primary mr-3">{{ translate('Request to Cancel') }}</span>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="6.364" height="11.314" viewBox="0 0 6.364 11.314">
|
||||
<g id="Group_25722" data-name="Group 25722" transform="translate(-1478.293 -554.343)">
|
||||
<rect id="Rectangle_19574" data-name="Rectangle 19574" width="8" height="1" rx="0.5" transform="translate(1478.293 564.95) rotate(-45)" fill="#d43533"/>
|
||||
<rect id="Rectangle_19575" data-name="Rectangle 19575" width="8" height="1" rx="0.5" transform="translate(1479 554.343) rotate(45)" fill="#d43533"/>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row gutters-16 mb-4">
|
||||
|
||||
<!-- On The Way Deliveries -->
|
||||
<div class="col-md-4 py-3">
|
||||
<a href="{{ route('on-the-way-deliveries') }}" class="d-flex flex-column align-items-center py-4 py-lg-5 border bg-light has-transition hov-bg-soft-light">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="70" viewBox="0 0 70 70">
|
||||
<g id="Group_25732" data-name="Group 25732" transform="translate(-751 -715)">
|
||||
<rect id="Rectangle" width="70" height="70" rx="35" transform="translate(751 715)" fill="#d43533"/>
|
||||
<g id="Group_25731" data-name="Group 25731" transform="translate(531.998 258.002)">
|
||||
<g id="Group_25717" data-name="Group 25717" transform="translate(238 476)">
|
||||
<g id="Group_25716" data-name="Group 25716" transform="translate(17.998)">
|
||||
<path id="Subtraction_208" data-name="Subtraction 208" d="M2.005,11.9H2A7,7,0,1,1,14,7a6.959,6.959,0,0,1-2,4.9c-.062-.505-.593-.978-1.5-1.331A5,5,0,1,0,2,7a4.961,4.961,0,0,0,1.5,3.571c-.9.354-1.435.827-1.495,1.333Z" transform="translate(0)" fill="#fff"/>
|
||||
<g id="Group_25715" data-name="Group 25715" transform="translate(1.346 9.86)">
|
||||
<rect id="Rectangle_19547" data-name="Rectangle 19547" width="7.999" height="2" rx="1" transform="translate(4.242 5.656) rotate(-45)" fill="#fff"/>
|
||||
<rect id="Rectangle_19548" data-name="Rectangle 19548" width="2" height="7.999" rx="1" transform="translate(0 1.414) rotate(-45)" fill="#fff"/>
|
||||
</g>
|
||||
<ellipse id="Ellipse_618" data-name="Ellipse 618" cx="2" cy="2" rx="2" ry="2" transform="translate(4.999 4.994)" fill="#fff"/>
|
||||
</g>
|
||||
<path id="Subtraction_211" data-name="Subtraction 211" d="M15,18H3a3,3,0,0,1-3-3V3A3,3,0,0,1,3,0H15a3,3,0,0,1,3,3V15A3,3,0,0,1,15,18ZM3,2A1,1,0,0,0,2,3V15a1,1,0,0,0,1,1H15a1,1,0,0,0,1-1V3a1,1,0,0,0-1-1Z" transform="translate(0 13.998)" fill="#fff"/>
|
||||
<path id="Rectangle_19552" data-name="Rectangle 19552" d="M0,0H2A0,0,0,0,1,2,0V5A1,1,0,0,1,1,6H1A1,1,0,0,1,0,5V0A0,0,0,0,1,0,0Z" transform="translate(7.999 15.998)" fill="#fff"/>
|
||||
<path id="Rectangle_19559" data-name="Rectangle 19559" d="M0,0H2A0,0,0,0,1,2,0V5A1,1,0,0,1,1,6H1A1,1,0,0,1,0,5V0A0,0,0,0,1,0,0Z" transform="translate(19.998 29.996) rotate(-90)" fill="#fff"/>
|
||||
</g>
|
||||
<rect id="Rectangle_19556" data-name="Rectangle 19556" width="2" height="5.999" rx="1" transform="translate(262.997 494.205) rotate(45)" fill="#fff"/>
|
||||
<rect id="Rectangle_19557" data-name="Rectangle 19557" width="5.999" height="2" rx="1" transform="translate(262.997 494.205) rotate(45)" fill="#fff"/>
|
||||
<rect id="Rectangle_19558" data-name="Rectangle 19558" width="2" height="9.999" rx="1" transform="translate(261.997 495.998)" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="mb-0 mt-3 fs-14 fw-700 text-primary">{{ translate('On The Way Deliveries') }}</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Picked Up Deliveries -->
|
||||
<div class="col-md-4 py-3">
|
||||
<a href="{{ route('pickup-deliveries') }}" class="d-flex flex-column align-items-center py-4 py-lg-5 border bg-light has-transition hov-bg-soft-light">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="71" height="71" viewBox="0 0 71 71">
|
||||
<g id="Group_25732" data-name="Group 25732" transform="translate(-1099 -715)">
|
||||
<rect id="Rectangle" width="71" height="71" rx="35.5" transform="translate(1099 715)" fill="#f3af3d"/>
|
||||
<g id="Group_25730" data-name="Group 25730" transform="translate(797 303)">
|
||||
<rect id="Rectangle_19531" data-name="Rectangle 19531" width="19.998" height="2" rx="1" transform="translate(333.999 457.997)" fill="#fff"/>
|
||||
<rect id="Rectangle_19533" data-name="Rectangle 19533" width="9.999" height="2" rx="1" transform="translate(322 432)" fill="#fff"/>
|
||||
<rect id="Rectangle_19532" data-name="Rectangle 19532" width="2" height="23.997" rx="1" transform="translate(329.999 432)" fill="#fff"/>
|
||||
<path id="Subtraction_202" data-name="Subtraction 202" d="M5,10a5,5,0,1,1,5-5A5.009,5.009,0,0,1,5,10ZM5,2A3,3,0,1,0,8,5,3,3,0,0,0,5,2Z" transform="translate(325.996 453.997)" fill="#fff"/>
|
||||
<path id="Subtraction_204" data-name="Subtraction 204" d="M17,10H3A3,3,0,0,1,0,7V3A3,3,0,0,1,3,0H17a3,3,0,0,1,3,3V7A3,3,0,0,1,17,10ZM3,2A1,1,0,0,0,2,3V7A1,1,0,0,0,3,8H17a1,1,0,0,0,1-1V3a1,1,0,0,0-1-1Z" transform="translate(333.995 445.999)" fill="#fff"/>
|
||||
<path id="Subtraction_205" data-name="Subtraction 205" d="M11,10H3A3,3,0,0,1,0,7V3A3,3,0,0,1,3,0h8a3,3,0,0,1,3,3V7A3,3,0,0,1,11,10ZM3,2A1,1,0,0,0,2,3V7A1,1,0,0,0,3,8h8a1,1,0,0,0,1-1V3a1,1,0,0,0-1-1Z" transform="translate(333.987 438.003)" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="mb-0 mt-3 fs-14 fw-700 text-warning">{{ translate('Picked Up Deliveries') }}</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Assigned Deliveries -->
|
||||
<div class="col-md-4 py-3">
|
||||
<a href="{{ route('assigned-deliveries') }}" class="d-flex flex-column align-items-center py-4 py-lg-5 border bg-light has-transition hov-bg-soft-light">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="70" viewBox="0 0 70 70">
|
||||
<g id="Group_25732" data-name="Group 25732" transform="translate(-1447 -715)">
|
||||
<rect id="Rectangle" width="70" height="70" rx="35" transform="translate(1447 715)" fill="#0084b4"/>
|
||||
<g id="Group_25729" data-name="Group 25729" transform="translate(1438.534 191.037)">
|
||||
<path id="Path_2953" data-name="Path 2953" d="M20,5.963H12a3,3,0,0,0,0,6h8a3,3,0,0,0,0-6m0,4H12a1,1,0,0,1,0-2h8a1,1,0,0,1,0,2" transform="translate(27.466 537)" fill="#fff"/>
|
||||
<path id="Path_2954" data-name="Path 2954" d="M25.982,9.963a1,1,0,0,1,0-2H27a5,5,0,0,1,5,5v20a5,5,0,0,1-5,5H5a5,5,0,0,1-5-5v-20a5,5,0,0,1,5-5H6.017a1,1,0,0,1,0,2H5a3,3,0,0,0-3,3v20a3,3,0,0,0,3,3H27a3,3,0,0,0,3-3v-20a3,3,0,0,0-3-3Z" transform="translate(27.466 537)" fill="#fff"/>
|
||||
<g id="Group_25728" data-name="Group 25728" transform="translate(34.273 554.963)">
|
||||
<rect id="Rectangle_19508" data-name="Rectangle 19508" width="16" height="2" rx="1" transform="translate(5.658 11.314) rotate(-45)" fill="#fff"/>
|
||||
<rect id="Rectangle_19509" data-name="Rectangle 19509" width="2" height="10" rx="1" transform="translate(0 5.656) rotate(-45)" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="mb-0 mt-3 fs-14 fw-700" style="color: #0084b4;">{{ translate('Assigned Deliveries') }}</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,222 @@
|
||||
<div class="aiz-user-sidenav-wrap position-relative z-1 rounded-0">
|
||||
<div class="aiz-user-sidenav overflow-auto c-scrollbar-light px-4 pb-4">
|
||||
<!-- Close button -->
|
||||
<div class="d-xl-none">
|
||||
<button class="btn btn-sm p-2 " data-toggle="class-toggle" data-backdrop="static"
|
||||
data-target=".aiz-mobile-side-nav" data-same=".mobile-side-nav-thumb">
|
||||
<i class="las la-times la-2x"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Customer info -->
|
||||
<div class="p-4 text-center mb-4 border-bottom position-relative">
|
||||
<!-- Image -->
|
||||
<span class="avatar avatar-md mb-3">
|
||||
@if (Auth::user()->avatar_original != null)
|
||||
<img src="{{ uploaded_asset(Auth::user()->avatar_original) }}"
|
||||
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/avatar-place.png') }}';">
|
||||
@else
|
||||
<img src="{{ static_asset('assets/img/avatar-place.png') }}" class="image rounded-circle"
|
||||
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/avatar-place.png') }}';">
|
||||
@endif
|
||||
</span>
|
||||
<!-- Name -->
|
||||
<h4 class="h5 fs-14 mb-1 fw-700 text-dark">{{ Auth::user()->name }}</h4>
|
||||
<!-- Phone -->
|
||||
@if (Auth::user()->phone != null)
|
||||
<div class="text-truncate opacity-60 fs-12">{{ Auth::user()->phone }}</div>
|
||||
<!-- Email -->
|
||||
@else
|
||||
<div class="text-truncate opacity-60 fs-12">{{ Auth::user()->email }}</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<!-- Menus -->
|
||||
<div class="sidemnenu">
|
||||
<ul class="aiz-side-nav-list mb-3 pb-3 border-bottom" data-toggle="aiz-side-menu">
|
||||
|
||||
<!-- Dashboard -->
|
||||
<li class="aiz-side-nav-item">
|
||||
<a href="{{ route('dashboard') }}" class="aiz-side-nav-link {{ areActiveRoutes(['dashboard']) }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<g id="Group_24768" data-name="Group 24768" transform="translate(3495.144 -602)">
|
||||
<path id="Path_2916" data-name="Path 2916" d="M15.3,5.4,9.561.481A2,2,0,0,0,8.26,0H7.74a2,2,0,0,0-1.3.481L.7,5.4A2,2,0,0,0,0,6.92V14a2,2,0,0,0,2,2H14a2,2,0,0,0,2-2V6.92A2,2,0,0,0,15.3,5.4M10,15H6V9A1,1,0,0,1,7,8H9a1,1,0,0,1,1,1Zm5-1a1,1,0,0,1-1,1H11V9A2,2,0,0,0,9,7H7A2,2,0,0,0,5,9v6H2a1,1,0,0,1-1-1V6.92a1,1,0,0,1,.349-.76l5.74-4.92A1,1,0,0,1,7.74,1h.52a1,1,0,0,1,.651.24l5.74,4.92A1,1,0,0,1,15,6.92Z" transform="translate(-3495.144 602)" fill="#b5b5bf"/>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="aiz-side-nav-text ml-3">{{ translate('Dashboard') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
<!-- Assigned Delivery -->
|
||||
<li class="aiz-side-nav-item">
|
||||
<a href="{{ route('assigned-deliveries') }}"
|
||||
class="aiz-side-nav-link {{ areActiveRoutes(['completed-delivery']) }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<g id="Group_8109" data-name="Group 8109" transform="translate(-27.466 -542.963)">
|
||||
<path id="Path_2953" data-name="Path 2953" d="M14.5,5.963h-4a1.5,1.5,0,0,0,0,3h4a1.5,1.5,0,0,0,0-3m0,2h-4a.5.5,0,0,1,0-1h4a.5.5,0,0,1,0,1" transform="translate(22.966 537)" fill="#b5b5bf"/>
|
||||
<path id="Path_2954" data-name="Path 2954" d="M12.991,8.963a.5.5,0,0,1,0-1H13.5a2.5,2.5,0,0,1,2.5,2.5v10a2.5,2.5,0,0,1-2.5,2.5H2.5a2.5,2.5,0,0,1-2.5-2.5v-10a2.5,2.5,0,0,1,2.5-2.5h.509a.5.5,0,0,1,0,1H2.5a1.5,1.5,0,0,0-1.5,1.5v10a1.5,1.5,0,0,0,1.5,1.5h11a1.5,1.5,0,0,0,1.5-1.5v-10a1.5,1.5,0,0,0-1.5-1.5Z" transform="translate(27.466 536)" fill="#b5b5bf"/>
|
||||
<g id="Group_25728" data-name="Group 25728" transform="translate(-188.535 -279.77)">
|
||||
<rect id="Rectangle_19508" data-name="Rectangle 19508" width="8" height="1" rx="0.5" transform="translate(222.233 834.389) rotate(-45)" fill="#b5b5bf"/>
|
||||
<rect id="Rectangle_19509" data-name="Rectangle 19509" width="1" height="5" rx="0.5" transform="translate(219.404 831.561) rotate(-45)" fill="#b5b5bf"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="aiz-side-nav-text ml-3">{{ translate('Assigned Delivery') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
<!-- Pickup Delivery -->
|
||||
<li class="aiz-side-nav-item">
|
||||
<a href="{{ route('pickup-deliveries') }}"
|
||||
class="aiz-side-nav-link {{ areActiveRoutes(['completed-delivery']) }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16.002" height="16.002" viewBox="0 0 16.002 16.002">
|
||||
<g id="Group_25713" data-name="Group 25713" transform="translate(-322 -432)">
|
||||
<rect id="Rectangle_19531" data-name="Rectangle 19531" width="10" height="1" rx="0.5" transform="translate(328 445)" fill="#b5b5c0"/>
|
||||
<rect id="Rectangle_19533" data-name="Rectangle 19533" width="5" height="1" rx="0.5" transform="translate(322 432)" fill="#b5b5c0"/>
|
||||
<rect id="Rectangle_19532" data-name="Rectangle 19532" width="1" height="12" rx="0.5" transform="translate(326 432)" fill="#b5b5c0"/>
|
||||
<path id="Subtraction_202" data-name="Subtraction 202" d="M16414.5-2335a2.5,2.5,0,0,1-2.5-2.5,2.5,2.5,0,0,1,2.5-2.5,2.5,2.5,0,0,1,2.5,2.5A2.5,2.5,0,0,1,16414.5-2335Zm0-4a1.5,1.5,0,0,0-1.5,1.5,1.5,1.5,0,0,0,1.5,1.5,1.5,1.5,0,0,0,1.5-1.5A1.5,1.5,0,0,0,16414.5-2339Z" transform="translate(-16088 2783)" fill="#b5b5c1"/>
|
||||
<path id="Subtraction_204" data-name="Subtraction 204" d="M16420-2332h-6a2,2,0,0,1-2-2v-1a2,2,0,0,1,2-2h6a2,2,0,0,1,2,2v1A2,2,0,0,1,16420-2332Zm-6-4a1,1,0,0,0-1,1v1a1,1,0,0,0,1,1h6a1,1,0,0,0,1-1v-1a1,1,0,0,0-1-1Z" transform="translate(-16084 2776)" fill="#b5b5c0"/>
|
||||
<path id="Subtraction_205" data-name="Subtraction 205" d="M16418-2332h-3a2,2,0,0,1-2-2v-1a2,2,0,0,1,2-2h3a2,2,0,0,1,2,2v1A2,2,0,0,1,16418-2332Zm-3-4a1,1,0,0,0-1,1v1a1,1,0,0,0,1,1h3a1,1,0,0,0,1-1v-1a1,1,0,0,0-1-1Z" transform="translate(-16085.004 2772.001)" fill="#b5b5c0"/>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="aiz-side-nav-text ml-3">{{ translate('Picked Up Delivery') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
<!-- On The Way Delivery -->
|
||||
<li class="aiz-side-nav-item">
|
||||
<a href="{{ route('on-the-way-deliveries') }}"
|
||||
class="aiz-side-nav-link {{ areActiveRoutes(['completed-delivery']) }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16.002" height="16" viewBox="0 0 16.002 16">
|
||||
<g id="Group_25718" data-name="Group 25718" transform="translate(-238 -476)">
|
||||
<g id="Group_25717" data-name="Group 25717">
|
||||
<g id="Group_25716" data-name="Group 25716" transform="translate(0 -0.363)">
|
||||
<path id="Subtraction_208" data-name="Subtraction 208" d="M16418.693-2333.546l0,0c-.027-.251-.293-.487-.744-.664a2.5,2.5,0,0,0,.75-1.788,2.5,2.5,0,0,0-2.5-2.5,2.5,2.5,0,0,0-2.5,2.5,2.5,2.5,0,0,0,.75,1.788c-.451.177-.715.412-.746.663a3.47,3.47,0,0,1-1.006-2.451,3.5,3.5,0,0,1,3.5-3.5,3.505,3.505,0,0,1,3.5,3.5,3.468,3.468,0,0,1-1.006,2.453Z" transform="translate(-16165.697 2815.861)" fill="#b5b5c1"/>
|
||||
<g id="Group_25715" data-name="Group 25715" transform="translate(-0.627 1)">
|
||||
<rect id="Rectangle_19547" data-name="Rectangle 19547" width="4" height="1" rx="0.5" transform="translate(250.421 483.121) rotate(-45)" fill="#b5b5c2"/>
|
||||
<rect id="Rectangle_19548" data-name="Rectangle 19548" width="1" height="4" rx="0.5" transform="translate(248.3 481) rotate(-45)" fill="#b5b5c2"/>
|
||||
</g>
|
||||
<ellipse id="Ellipse_618" data-name="Ellipse 618" cx="1" cy="1" rx="1" ry="1" transform="translate(249.5 478.86)" fill="#b5b5c1"/>
|
||||
</g>
|
||||
<path id="Subtraction_211" data-name="Subtraction 211" d="M16311-2162.958h-5a2,2,0,0,1-2-2v-5a2,2,0,0,1,2-2h5a2,2,0,0,1,2,2v5A2,2,0,0,1,16311-2162.958Zm-5-8a1,1,0,0,0-1,1v5a1,1,0,0,0,1,1h5a1,1,0,0,0,1-1v-5a1,1,0,0,0-1-1Z" transform="translate(-16066 2654.958)" fill="#b5b5c0"/>
|
||||
<path id="Rectangle_19552" data-name="Rectangle 19552" d="M0,0H1A0,0,0,0,1,1,0V2.5A.5.5,0,0,1,.5,3h0A.5.5,0,0,1,0,2.5V0A0,0,0,0,1,0,0Z" transform="translate(242 484)" fill="#b5b5c1"/>
|
||||
<path id="Rectangle_19559" data-name="Rectangle 19559" d="M0,0H1A0,0,0,0,1,1,0V2.5A.5.5,0,0,1,.5,3h0A.5.5,0,0,1,0,2.5V0A0,0,0,0,1,0,0Z" transform="translate(248 491) rotate(-90)" fill="#b5b5c1"/>
|
||||
</g>
|
||||
<rect id="Rectangle_19556" data-name="Rectangle 19556" width="1" height="3" rx="0.5" transform="translate(250.5 485.104) rotate(45)" fill="#b5b5c1"/>
|
||||
<rect id="Rectangle_19557" data-name="Rectangle 19557" width="3" height="1" rx="0.5" transform="translate(250.5 485.104) rotate(45)" fill="#b5b5c1"/>
|
||||
<rect id="Rectangle_19558" data-name="Rectangle 19558" width="1" height="5" rx="0.5" transform="translate(250 486)" fill="#b5b5c1"/>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="aiz-side-nav-text ml-3">{{ translate('On The Way Delivery') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
<!-- Pending Delivery -->
|
||||
<li class="aiz-side-nav-item">
|
||||
<a href="{{ route('pending-deliveries') }}"
|
||||
class="aiz-side-nav-link {{ areActiveRoutes(['pending-delivery']) }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<g id="Group_25705" data-name="Group 25705" transform="translate(-215.999 -752)">
|
||||
<path id="Path_39414" data-name="Path 39414" d="M221.069,0a8,8,0,1,0,8,8,8,8,0,0,0-8-8m0,15a7,7,0,1,1,7-7,7,7,0,0,1-7,7" transform="translate(2.93 752)" fill="#b5b5bf"/>
|
||||
<rect id="Rectangle_19508" data-name="Rectangle 19508" width="6" height="1" rx="0.5" transform="translate(224.057 759.525) rotate(45)" fill="#b5b5bf"/>
|
||||
<rect id="Rectangle_19509" data-name="Rectangle 19509" width="1" height="5" rx="0.5" transform="translate(223.501 755)" fill="#b5b5bf"/>
|
||||
<circle id="Ellipse_612" data-name="Ellipse 612" cx="1" cy="1" r="1" transform="translate(223 759)" fill="#b5b5c0"/>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="aiz-side-nav-text ml-3">{{ translate('Pending Delivery') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
<!-- Completed Delivery -->
|
||||
<li class="aiz-side-nav-item">
|
||||
<a href="{{ route('completed-deliveries') }}"
|
||||
class="aiz-side-nav-link {{ areActiveRoutes(['completed-delivery']) }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<g id="Group_25708" data-name="Group 25708" transform="translate(-216.001 -824)">
|
||||
<path id="Path_39411" data-name="Path 39411" d="M221.069,0a8,8,0,1,0,8,8,8,8,0,0,0-8-8m0,15a7,7,0,1,1,7-7,7,7,0,0,1-7,7" transform="translate(2.932 824)" fill="#b5b5bf"/>
|
||||
<g id="Group_25704" data-name="Group 25704" transform="translate(0 0.268)">
|
||||
<rect id="Rectangle_19508" data-name="Rectangle 19508" width="8" height="1" rx="0.5" transform="translate(222.233 834.389) rotate(-45)" fill="#b5b5bf"/>
|
||||
<rect id="Rectangle_19509" data-name="Rectangle 19509" width="1" height="5" rx="0.5" transform="translate(219.404 831.561) rotate(-45)" fill="#b5b5bf"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="aiz-side-nav-text ml-3">{{ translate('Completed Delivery') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
<!-- Cancelled Delivery -->
|
||||
<li class="aiz-side-nav-item">
|
||||
<a href="{{ route('cancelled-deliveries') }}"
|
||||
class="aiz-side-nav-link {{ areActiveRoutes(['cancelled-delivery']) }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<g id="Group_25707" data-name="Group 25707" transform="translate(-216.001 -799)">
|
||||
<path id="Path_2961" data-name="Path 2961" d="M221.069,0a8,8,0,1,0,8,8,8,8,0,0,0-8-8m0,15a7,7,0,1,1,7-7,7,7,0,0,1-7,7" transform="translate(2.932 799)" fill="#b5b5bf"/>
|
||||
<rect id="Rectangle_18942" data-name="Rectangle 18942" width="8" height="1" rx="0.5" transform="translate(221.526 803.818) rotate(45)" fill="#b5b5bf"/>
|
||||
<rect id="Rectangle_19510" data-name="Rectangle 19510" width="8" height="1" rx="0.5" transform="translate(227.184 804.525) rotate(135)" fill="#b5b5bf"/>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="aiz-side-nav-text ml-3">{{ translate('Cancelled Delivery') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
<!-- Request to Cancel -->
|
||||
<li class="aiz-side-nav-item">
|
||||
<a href="{{ route('cancel-request-list') }}"
|
||||
class="aiz-side-nav-link {{ areActiveRoutes(['cancel-request-list']) }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<g id="Group_25714" data-name="Group 25714" transform="translate(-216.001 -799)">
|
||||
<path id="Path_2961" data-name="Path 2961" d="M221.069,0a8,8,0,1,0,8,8,8,8,0,0,0-8-8m0,15a7,7,0,1,1,7-7,7,7,0,0,1-7,7" transform="translate(2.932 799)" fill="#b5b5bf"/>
|
||||
<rect id="Rectangle_18942" data-name="Rectangle 18942" width="5" height="1" rx="0.5" transform="translate(224.975 807.268) rotate(45)" fill="#b5b5bf"/>
|
||||
<path id="Subtraction_207" data-name="Subtraction 207" d="M16308-2165h-2a2.006,2.006,0,0,1-2.006-2v-3a2,2,0,0,1,2.006-2h3a2,2,0,0,1,2,2v2h-1v-2a1,1,0,0,0-.994-.995h-3a1,1,0,0,0-1,.995v3a1,1,0,0,0,1,1h2v1Z" transform="translate(-16084.001 2975)" fill="#b5b5c0"/>
|
||||
<rect id="Rectangle_19541" data-name="Rectangle 19541" width="5" height="1" rx="0.5" transform="translate(228.51 807.975) rotate(135)" fill="#b5b5bf"/>
|
||||
<rect id="Rectangle_19542" data-name="Rectangle 19542" width="1" height="3" rx="0.5" transform="translate(223 803)" fill="#b5b5bf"/>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="aiz-side-nav-text ml-3">{{ translate('Request to Cancel') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
<!-- Total Collections -->
|
||||
<li class="aiz-side-nav-item">
|
||||
<a href="{{ route('total-collection') }}"
|
||||
class="aiz-side-nav-link {{ areActiveRoutes(['today-collection']) }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<g id="Group_25711" data-name="Group 25711" transform="translate(-218 -680)">
|
||||
<g id="Group_25710" data-name="Group 25710" transform="translate(0.582 0.817)">
|
||||
<g id="Group_25709" data-name="Group 25709">
|
||||
<path id="Union_28" data-name="Union 28" d="M16419.58-2334.818a.5.5,0,0,1-.414-.179l-6.736-3.887a.5.5,0,0,1-.182-.68.5.5,0,0,1,.686-.186l6.646,3.838,6.648-3.838a.5.5,0,0,1,.684.186.5.5,0,0,1-.186.68L16420-2335a.5.5,0,0,1-.385.18Z" transform="translate(-16194.165 3029.5)" fill="#b5b5bf"/>
|
||||
<path id="Union_29" data-name="Union 29" d="M16419.58-2334.818a.5.5,0,0,1-.414-.179l-6.736-3.887a.5.5,0,0,1-.182-.68.5.5,0,0,1,.686-.186l6.646,3.838,6.648-3.838a.5.5,0,0,1,.684.186.5.5,0,0,1-.186.68L16420-2335a.5.5,0,0,1-.385.18Z" transform="translate(-16194.165 3026.5)" fill="#b5b5bf"/>
|
||||
<path id="Union_30" data-name="Union 30" d="M16419.58-2334.818a.5.5,0,0,1-.414-.179l-6.736-3.887a.5.5,0,0,1-.182-.68.5.5,0,0,1,.686-.186l6.646,3.838,6.648-3.838a.5.5,0,0,1,.684.186.5.5,0,0,1-.186.68L16420-2335a.5.5,0,0,1-.385.18Z" transform="translate(-16194.165 3023.5)" fill="#b5b5bf"/>
|
||||
<path id="Union_31" data-name="Union 31" d="M.065,4.749a.5.5,0,0,1,.184-.682L6.983.178a.569.569,0,0,1,.827,0l6.735,3.888a.5.5,0,0,1-.5.866L7.4,1.094.748,4.933a.5.5,0,0,1-.683-.184Z" transform="translate(218.019 679.683)" fill="#b5b5bf"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="aiz-side-nav-text ml-3">{{ translate('Total Collection') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
<!-- Total Earnings -->
|
||||
<li class="aiz-side-nav-item">
|
||||
<a href="{{ route('total-earnings') }}"
|
||||
class="aiz-side-nav-link {{ areActiveRoutes(['total-earnings']) }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<g id="Group_25706" data-name="Group 25706" transform="translate(-216.001 -775)">
|
||||
<path id="Path_39412" data-name="Path 39412" d="M221.069,0a8,8,0,1,0,8,8,8,8,0,0,0-8-8m0,15a7,7,0,1,1,7-7,7,7,0,0,1-7,7" transform="translate(2.932 775)" fill="#b5b5bf"/>
|
||||
<path id="Path_39413" data-name="Path 39413" d="M120.688,9.323v-1a.5.5,0,0,0-1,0v1a2,2,0,0,0-2,2v.5a2,2,0,0,0,2,2h1a1,1,0,0,1,1,1v.5a1,1,0,0,1-1,1h-1a1,1,0,0,1-1-1,.5.5,0,1,0-1,0,2,2,0,0,0,2,2v1a.5.5,0,0,0,1,0v-1a2,2,0,0,0,2-2v-.5a2,2,0,0,0-2-2h-1a1,1,0,0,1-1-1v-.5a1,1,0,0,1,1-1h1a1,1,0,0,1,1,1,.5.5,0,0,0,1,0,2,2,0,0,0-2-2" transform="translate(103.813 769.677)" fill="#b5b5bf"/>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="aiz-side-nav-text ml-3">{{ translate('Earnings') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
<!-- Manage Profile -->
|
||||
<li class="aiz-side-nav-item">
|
||||
<a href="{{ route('profile') }}" class="aiz-side-nav-link {{ areActiveRoutes(['profile']) }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<g id="Group_8094" data-name="Group 8094" transform="translate(3176 -602)">
|
||||
<path id="Path_2924" data-name="Path 2924" d="M331.144,0a4,4,0,1,0,4,4,4,4,0,0,0-4-4m0,7a3,3,0,1,1,3-3,3,3,0,0,1-3,3" transform="translate(-3499.144 602)" fill="#b5b5bf"/>
|
||||
<path id="Path_2925" data-name="Path 2925" d="M332.144,20h-10a3,3,0,0,0,0,6h10a3,3,0,0,0,0-6m0,5h-10a2,2,0,0,1,0-4h10a2,2,0,0,1,0,4" transform="translate(-3495.144 592)" fill="#b5b5bf"/>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="aiz-side-nav-text ml-3">{{ translate('Manage Profile') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<!-- logout -->
|
||||
<a href="{{ route('logout') }}" class="btn btn-primary btn-block fs-14 fw-700 mb-5 mb-md-0" style="border-radius: 25px;">{{ translate('Sign Out') }}</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,82 @@
|
||||
<!-- Mobile bottom nav -->
|
||||
<div class="aiz-mobile-bottom-nav d-xl-none fixed-bottom border-top border-sm-bottom border-sm-left border-sm-right mx-auto mb-sm-2" style="background-color: rgb(255 255 255 / 90%)!important;">
|
||||
<div class="row align-items-center gutters-5">
|
||||
<!-- Dashboard -->
|
||||
<div class="col">
|
||||
<a href="{{ route('dashboard') }}" class="text-secondary d-block text-center pb-2 pt-3 {{ areActiveRoutes(['dashboard'],'svg-active')}}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<g id="Group_24768" data-name="Group 24768" transform="translate(3495.144 -602)">
|
||||
<path id="Path_2916" data-name="Path 2916" d="M15.3,5.4,9.561.481A2,2,0,0,0,8.26,0H7.74a2,2,0,0,0-1.3.481L.7,5.4A2,2,0,0,0,0,6.92V14a2,2,0,0,0,2,2H14a2,2,0,0,0,2-2V6.92A2,2,0,0,0,15.3,5.4M10,15H6V9A1,1,0,0,1,7,8H9a1,1,0,0,1,1,1Zm5-1a1,1,0,0,1-1,1H11V9A2,2,0,0,0,9,7H7A2,2,0,0,0,5,9v6H2a1,1,0,0,1-1-1V6.92a1,1,0,0,1,.349-.76l5.74-4.92A1,1,0,0,1,7.74,1h.52a1,1,0,0,1,.651.24l5.74,4.92A1,1,0,0,1,15,6.92Z" transform="translate(-3495.144 602)" fill="#b5b5bf"/>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="d-block mt-1 fs-10 fw-600 text-reset {{ areActiveRoutes(['dashboard'],'text-primary')}}">{{ translate('Dashboard') }}</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- My Delivery -->
|
||||
<div class="col">
|
||||
<a href="{{ route('completed-deliveries') }}" class="text-secondary d-block text-center pb-2 pt-3 {{ areActiveRoutes(['completed-deliveries'],'svg-active')}}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<g id="Group_25708" data-name="Group 25708" transform="translate(-216.001 -824)">
|
||||
<path id="Path_39411" data-name="Path 39411" d="M221.069,0a8,8,0,1,0,8,8,8,8,0,0,0-8-8m0,15a7,7,0,1,1,7-7,7,7,0,0,1-7,7" transform="translate(2.932 824)" fill="#b5b5bf"/>
|
||||
<g id="Group_25704" data-name="Group 25704" transform="translate(0 0.268)">
|
||||
<rect id="Rectangle_19508" data-name="Rectangle 19508" width="8" height="1" rx="0.5" transform="translate(222.233 834.389) rotate(-45)" fill="#b5b5bf"/>
|
||||
<rect id="Rectangle_19509" data-name="Rectangle 19509" width="1" height="5" rx="0.5" transform="translate(219.404 831.561) rotate(-45)" fill="#b5b5bf"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="d-block mt-1 fs-10 fw-600 text-reset {{ areActiveRoutes(['completed-deliveries'],'text-primary')}}">{{ translate('My Delivery') }}</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- My Earnings -->
|
||||
<div class="col">
|
||||
<a href="{{ route('total-earnings') }}" class="text-secondary d-block text-center pb-2 pt-3 {{ areActiveRoutes(['total-earnings'],'svg-active')}}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<g id="Group_25706" data-name="Group 25706" transform="translate(-216.001 -775)">
|
||||
<path id="Path_39412" data-name="Path 39412" d="M221.069,0a8,8,0,1,0,8,8,8,8,0,0,0-8-8m0,15a7,7,0,1,1,7-7,7,7,0,0,1-7,7" transform="translate(2.932 775)" fill="#b5b5bf"/>
|
||||
<path id="Path_39413" data-name="Path 39413" d="M120.688,9.323v-1a.5.5,0,0,0-1,0v1a2,2,0,0,0-2,2v.5a2,2,0,0,0,2,2h1a1,1,0,0,1,1,1v.5a1,1,0,0,1-1,1h-1a1,1,0,0,1-1-1,.5.5,0,1,0-1,0,2,2,0,0,0,2,2v1a.5.5,0,0,0,1,0v-1a2,2,0,0,0,2-2v-.5a2,2,0,0,0-2-2h-1a1,1,0,0,1-1-1v-.5a1,1,0,0,1,1-1h1a1,1,0,0,1,1,1,.5.5,0,0,0,1,0,2,2,0,0,0-2-2" transform="translate(103.813 769.677)" fill="#b5b5bf"/>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="d-block mt-1 fs-10 fw-600 text-reset {{ areActiveRoutes(['total-earnings'],'text-primary')}}">{{ translate('My Earnings') }}</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Account -->
|
||||
<div class="col">
|
||||
@if (Auth::check())
|
||||
<a href="javascript:void(0)" class="text-secondary d-block text-center pb-2 pt-3 mobile-side-nav-thumb" data-toggle="class-toggle" data-backdrop="static" data-target=".aiz-mobile-side-nav">
|
||||
<span class="d-block mx-auto">
|
||||
@if(Auth::user()->photo != null)
|
||||
<img src="{{ custom_asset(Auth::user()->avatar_original)}}" class="rounded-circle size-20px">
|
||||
@else
|
||||
<img src="{{ static_asset('assets/img/avatar-place.png') }}" class="rounded-circle size-20px">
|
||||
@endif
|
||||
</span>
|
||||
<span class="d-block mt-1 fs-10 fw-600 text-reset">{{ translate('My Account') }}</span>
|
||||
</a>
|
||||
@else
|
||||
<a href="{{ route('user.login') }}" class="text-secondary d-block text-center pb-2 pt-3">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<g id="Group_8094" data-name="Group 8094" transform="translate(3176 -602)">
|
||||
<path id="Path_2924" data-name="Path 2924" d="M331.144,0a4,4,0,1,0,4,4,4,4,0,0,0-4-4m0,7a3,3,0,1,1,3-3,3,3,0,0,1-3,3" transform="translate(-3499.144 602)" fill="#b5b5bf"/>
|
||||
<path id="Path_2925" data-name="Path 2925" d="M332.144,20h-10a3,3,0,0,0,0,6h10a3,3,0,0,0,0-6m0,5h-10a2,2,0,0,1,0-4h10a2,2,0,0,1,0,4" transform="translate(-3495.144 592)" fill="#b5b5bf"/>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="d-block mt-1 fs-10 fw-600 text-reset">{{ translate('My Account') }}</span>
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- User Side nav -->
|
||||
@if (Auth::check())
|
||||
<div class="aiz-mobile-side-nav collapse-sidebar-wrap sidebar-xl d-xl-none z-1035">
|
||||
<div class="overlay dark c-pointer overlay-fixed" data-toggle="class-toggle" data-backdrop="static" data-target=".aiz-mobile-side-nav" data-same=".mobile-side-nav-thumb"></div>
|
||||
<div class="collapse-sidebar bg-white">
|
||||
@include('delivery_boys.inc.delivery_boy_sidenav')
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@@ -0,0 +1,118 @@
|
||||
<header class="@if(get_setting('header_stikcy') == 'on') sticky-top @endif z-1020 bg-white">
|
||||
<!-- Search Bar -->
|
||||
<div class="position-relative logo-bar-area border-bottom border-md-nonea z-1025">
|
||||
<div class="container">
|
||||
<div class="d-flex align-items-center">
|
||||
<!-- Header Logo -->
|
||||
<div class="col-auto pl-0 pr-3 d-flex align-items-center">
|
||||
<a class="d-block py-20px mr-3 ml-0" href="{{ route('dashboard') }}">
|
||||
@php
|
||||
$header_logo = get_setting('header_logo');
|
||||
@endphp
|
||||
@if($header_logo != null)
|
||||
<img src="{{ uploaded_asset($header_logo) }}" alt="{{ env('APP_NAME') }}" class="mw-100 h-30px h-md-40px" height="40">
|
||||
@else
|
||||
<img src="{{ static_asset('assets/img/logo.png') }}" alt="{{ env('APP_NAME') }}" class="mw-100 h-30px h-md-40px" height="40">
|
||||
@endif
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="ml-auto mr-0">
|
||||
@auth
|
||||
<span class="d-none d-xl-flex align-items-center nav-user-info py-20px" id="nav-user-info">
|
||||
<!-- Image -->
|
||||
<span class="size-40px rounded-circle overflow-hidden border border-transparent nav-user-img">
|
||||
@if (Auth::user()->avatar_original != null)
|
||||
<img src="{{ uploaded_asset(Auth::user()->avatar_original) }}" class="img-fit h-100"
|
||||
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/avatar-place.png') }}';">
|
||||
@else
|
||||
<img src="{{ static_asset('assets/img/avatar-place.png') }}" class="image"
|
||||
onerror="this.onerror=null;this.src='{{ static_asset('assets/img/avatar-place.png') }}';">
|
||||
@endif
|
||||
</span>
|
||||
<!-- Name -->
|
||||
<h4 class="h5 fs-14 fw-700 text-dark ml-2 mb-0">{{ Auth::user()->name }}</h4>
|
||||
</span>
|
||||
@else
|
||||
<!--Login & Registration -->
|
||||
<span class="d-none d-xl-flex align-items-center nav-user-info ml-3">
|
||||
<!-- Image -->
|
||||
<span class="size-40px rounded-circle overflow-hidden border d-flex align-items-center justify-content-center nav-user-img">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="19.902" height="20.012" viewBox="0 0 19.902 20.012">
|
||||
<path id="fe2df171891038b33e9624c27e96e367" d="M15.71,12.71a6,6,0,1,0-7.42,0,10,10,0,0,0-6.22,8.18,1.006,1.006,0,1,0,2,.22,8,8,0,0,1,15.9,0,1,1,0,0,0,1,.89h.11a1,1,0,0,0,.88-1.1,10,10,0,0,0-6.25-8.19ZM12,12a4,4,0,1,1,4-4A4,4,0,0,1,12,12Z" transform="translate(-2.064 -1.995)" fill="#91919b"/>
|
||||
</svg>
|
||||
</span>
|
||||
<a href="{{ route('user.login') }}" class="text-reset opacity-60 hov-opacity-100 hov-text-primary fs-12 d-inline-block border-right border-soft-light border-width-2 pr-2 ml-3">{{ translate('Login')}}</a>
|
||||
<a href="{{ route('user.registration') }}" class="text-reset opacity-60 hov-opacity-100 hov-text-primary fs-12 d-inline-block py-2 pl-2">{{ translate('Registration')}}</a>
|
||||
</span>
|
||||
@endauth
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Loged in user Menus -->
|
||||
<div class="hover-user-top-menu position-absolute top-100 left-0 right-0 z-3">
|
||||
<div class="container">
|
||||
<div class="position-static float-right">
|
||||
<div class="aiz-user-top-menu bg-white rounded-0 border-top shadow-sm" style="width:220px;">
|
||||
<ul class="list-unstyled no-scrollbar mb-0 text-left">
|
||||
<li class="user-top-nav-element border border-top-0" data-id="1">
|
||||
<a href="{{ route('dashboard') }}" class="text-truncate text-dark px-4 fs-14 d-flex align-items-center hov-column-gap-1">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<path id="Path_2916" data-name="Path 2916" d="M15.3,5.4,9.561.481A2,2,0,0,0,8.26,0H7.74a2,2,0,0,0-1.3.481L.7,5.4A2,2,0,0,0,0,6.92V14a2,2,0,0,0,2,2H14a2,2,0,0,0,2-2V6.92A2,2,0,0,0,15.3,5.4M10,15H6V9A1,1,0,0,1,7,8H9a1,1,0,0,1,1,1Zm5-1a1,1,0,0,1-1,1H11V9A2,2,0,0,0,9,7H7A2,2,0,0,0,5,9v6H2a1,1,0,0,1-1-1V6.92a1,1,0,0,1,.349-.76l5.74-4.92A1,1,0,0,1,7.74,1h.52a1,1,0,0,1,.651.24l5.74,4.92A1,1,0,0,1,15,6.92Z" fill="#b5b5c0"/>
|
||||
</svg>
|
||||
<span class="user-top-menu-name has-transition ml-3">{{ translate('Dashboard') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="user-top-nav-element border border-top-0" data-id="1">
|
||||
<a href="{{ route('logout') }}" class="text-truncate text-dark px-4 fs-14 d-flex align-items-center hov-column-gap-1">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15.999" viewBox="0 0 16 15.999">
|
||||
<g id="Group_25503" data-name="Group 25503" transform="translate(-24.002 -377)">
|
||||
<g id="Group_25265" data-name="Group 25265" transform="translate(-216.534 -160)">
|
||||
<path id="Subtraction_192" data-name="Subtraction 192" d="M12052.535,2920a8,8,0,0,1-4.569-14.567l.721.72a7,7,0,1,0,7.7,0l.721-.72a8,8,0,0,1-4.567,14.567Z" transform="translate(-11803.999 -2367)" fill="#d43533"/>
|
||||
</g>
|
||||
<rect id="Rectangle_19022" data-name="Rectangle 19022" width="1" height="8" rx="0.5" transform="translate(31.5 377)" fill="#d43533"/>
|
||||
</g>
|
||||
</svg>
|
||||
<span class="user-top-menu-name text-primary has-transition ml-3">{{ translate('Logout') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="order_details" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered modal-xl" role="document">
|
||||
<div class="modal-content">
|
||||
<div id="order-details-modal-body">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
function show_order_details(order_id)
|
||||
{
|
||||
$('#order-details-modal-body').html(null);
|
||||
|
||||
if(!$('#modal-size').hasClass('modal-lg')){
|
||||
$('#modal-size').addClass('modal-lg');
|
||||
}
|
||||
|
||||
$.post('{{ route('orders.details') }}', { _token : AIZ.data.csrf, order_id : order_id}, function(data){
|
||||
$('#order-details-modal-body').html(data);
|
||||
$('#order_details').modal();
|
||||
$('.c-preloader').hide();
|
||||
AIZ.plugins.bootstrapSelect('refresh');
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
@@ -0,0 +1,243 @@
|
||||
<!DOCTYPE html>
|
||||
@if(\App\Models\Language::where('code', Session::get('locale', Config::get('app.locale')))->first()->rtl == 1)
|
||||
<html dir="rtl" lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
||||
@else
|
||||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
||||
@endif
|
||||
<head>
|
||||
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
<meta name="app-url" content="{{ getBaseURL() }}">
|
||||
<meta name="file-base-url" content="{{ getFileBaseURL() }}">
|
||||
|
||||
<title>@yield('meta_title', get_setting('website_name').' | '.get_setting('site_motto'))</title>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="robots" content="index, follow">
|
||||
<meta name="description" content="@yield('meta_description', get_setting('meta_description') )" />
|
||||
<meta name="keywords" content="@yield('meta_keywords', get_setting('meta_keywords') )">
|
||||
|
||||
@yield('meta')
|
||||
|
||||
@if(!isset($detailedProduct) && !isset($customer_product) && !isset($shop) && !isset($page) && !isset($blog))
|
||||
<!-- Schema.org markup for Google+ -->
|
||||
<meta itemprop="name" content="{{ get_setting('meta_title') }}">
|
||||
<meta itemprop="description" content="{{ get_setting('meta_description') }}">
|
||||
<meta itemprop="image" content="{{ uploaded_asset(get_setting('meta_image')) }}">
|
||||
|
||||
<!-- Twitter Card data -->
|
||||
<meta name="twitter:card" content="product">
|
||||
<meta name="twitter:site" content="@publisher_handle">
|
||||
<meta name="twitter:title" content="{{ get_setting('meta_title') }}">
|
||||
<meta name="twitter:description" content="{{ get_setting('meta_description') }}">
|
||||
<meta name="twitter:creator" content="@author_handle">
|
||||
<meta name="twitter:image" content="{{ uploaded_asset(get_setting('meta_image')) }}">
|
||||
|
||||
<!-- Open Graph data -->
|
||||
<meta property="og:title" content="{{ get_setting('meta_title') }}" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="{{ route('home') }}" />
|
||||
<meta property="og:image" content="{{ uploaded_asset(get_setting('meta_image')) }}" />
|
||||
<meta property="og:description" content="{{ get_setting('meta_description') }}" />
|
||||
<meta property="og:site_name" content="{{ env('APP_NAME') }}" />
|
||||
<meta property="fb:app_id" content="{{ env('FACEBOOK_PIXEL_ID') }}">
|
||||
@endif
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" href="{{ uploaded_asset(get_setting('site_icon')) }}">
|
||||
|
||||
<!-- Google Fonts -->
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- CSS Files -->
|
||||
<link rel="stylesheet" href="{{ static_asset('assets/css/vendors.css') }}">
|
||||
@if(\App\Models\Language::where('code', Session::get('locale', Config::get('app.locale')))->first()->rtl == 1)
|
||||
<link rel="stylesheet" href="{{ static_asset('assets/css/bootstrap-rtl.min.css') }}">
|
||||
@endif
|
||||
<link rel="stylesheet" href="{{ static_asset('assets/css/aiz-core.css') }}">
|
||||
<link rel="stylesheet" href="{{ static_asset('assets/css/custom-style.css') }}">
|
||||
|
||||
|
||||
<script>
|
||||
var AIZ = AIZ || {};
|
||||
AIZ.local = {
|
||||
nothing_selected: '{!! translate('Nothing selected', null, true) !!}',
|
||||
nothing_found: '{!! translate('Nothing found', null, true) !!}',
|
||||
choose_file: '{{ translate('Choose file') }}',
|
||||
file_selected: '{{ translate('File selected') }}',
|
||||
files_selected: '{{ translate('Files selected') }}',
|
||||
add_more_files: '{{ translate('Add more files') }}',
|
||||
adding_more_files: '{{ translate('Adding more files') }}',
|
||||
drop_files_here_paste_or: '{{ translate('Drop files here, paste or') }}',
|
||||
browse: '{{ translate('Browse') }}',
|
||||
upload_complete: '{{ translate('Upload complete') }}',
|
||||
upload_paused: '{{ translate('Upload paused') }}',
|
||||
resume_upload: '{{ translate('Resume upload') }}',
|
||||
pause_upload: '{{ translate('Pause upload') }}',
|
||||
retry_upload: '{{ translate('Retry upload') }}',
|
||||
cancel_upload: '{{ translate('Cancel upload') }}',
|
||||
uploading: '{{ translate('Uploading') }}',
|
||||
processing: '{{ translate('Processing') }}',
|
||||
complete: '{{ translate('Complete') }}',
|
||||
file: '{{ translate('File') }}',
|
||||
files: '{{ translate('Files') }}',
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
:root{
|
||||
--blue: #3490f3;
|
||||
--gray: #9d9da6;
|
||||
--gray-dark: #8d8d8d;
|
||||
--secondary: #919199;
|
||||
--soft-secondary: rgba(145, 145, 153, 0.15);
|
||||
--success: #85b567;
|
||||
--soft-success: rgba(133, 181, 103, 0.15);
|
||||
--warning: #f3af3d;
|
||||
--soft-warning: rgba(243, 175, 61, 0.15);
|
||||
--light: #f5f5f5;
|
||||
--soft-light: #dfdfe6;
|
||||
--soft-white: #b5b5bf;
|
||||
--dark: #292933;
|
||||
--soft-dark: #1b1b28;
|
||||
--primary: {{ get_setting('base_color', '#d43533') }};
|
||||
--hov-primary: {{ get_setting('base_hov_color', '#9d1b1a') }};
|
||||
--soft-primary: {{ hex2rgba(get_setting('base_color','#d43533'),.15) }};
|
||||
}
|
||||
body{
|
||||
font-family: 'Public Sans', sans-serif;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.pagination .page-link,
|
||||
.page-item.disabled .page-link {
|
||||
min-width: 32px;
|
||||
min-height: 32px;
|
||||
line-height: 32px;
|
||||
text-align: center;
|
||||
padding: 0;
|
||||
border: 1px solid var(--soft-light);
|
||||
font-size: 0.875rem;
|
||||
border-radius: 0 !important;
|
||||
color: var(--dark);
|
||||
}
|
||||
.pagination .page-item {
|
||||
margin: 0 5px;
|
||||
}
|
||||
|
||||
.aiz-carousel.coupon-slider .slick-track{
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.form-control:focus {
|
||||
border-width: 2px !important;
|
||||
}
|
||||
.iti__flag-container {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
#map{
|
||||
width: 100%;
|
||||
height: 250px;
|
||||
}
|
||||
#edit_map{
|
||||
width: 100%;
|
||||
height: 250px;
|
||||
}
|
||||
|
||||
.pac-container { z-index: 100000; }
|
||||
</style>
|
||||
|
||||
@php
|
||||
echo get_setting('header_script');
|
||||
@endphp
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<!-- aiz-main-wrapper -->
|
||||
<div class="aiz-main-wrapper d-flex flex-column bg-white">
|
||||
|
||||
<!-- Header -->
|
||||
@include('delivery_boys.inc.nav')
|
||||
|
||||
<!-- Content -->
|
||||
<section class="py-5">
|
||||
<div class="container">
|
||||
<div class="d-flex align-items-start">
|
||||
@include('delivery_boys.inc.delivery_boy_sidenav')
|
||||
<div class="aiz-user-panel">
|
||||
@yield('panel_content')
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Footer -->
|
||||
@include('delivery_boys.inc.footer')
|
||||
|
||||
</div>
|
||||
|
||||
@include('frontend.partials.modal')
|
||||
|
||||
<div class="modal fade" id="addToCart">
|
||||
<div class="modal-dialog modal-lg modal-dialog-centered modal-dialog-zoom product-modal" id="modal-size" role="document">
|
||||
<div class="modal-content position-relative">
|
||||
<div class="c-preloader text-center p-3">
|
||||
<i class="las la-spinner la-spin la-3x"></i>
|
||||
</div>
|
||||
<button type="button" class="close absolute-top-right btn-icon close z-1 btn-circle bg-gray mr-2 mt-2 d-flex justify-content-center align-items-center" data-dismiss="modal" aria-label="Close" style="background: #ededf2; width: calc(2rem + 2px); height: calc(2rem + 2px);">
|
||||
<span aria-hidden="true" class="fs-24 fw-700" style="margin-left: 2px;">×</span>
|
||||
</button>
|
||||
<div id="addToCart-modal-body">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@yield('modal')
|
||||
|
||||
<!-- SCRIPTS -->
|
||||
<script src="{{ static_asset('assets/js/vendors.js') }}"></script>
|
||||
<script src="{{ static_asset('assets/js/aiz-core.js') }}"></script>
|
||||
|
||||
<script>
|
||||
@foreach (session('flash_notification', collect())->toArray() as $message)
|
||||
AIZ.plugins.notify('{{ $message['level'] }}', '{{ $message['message'] }}');
|
||||
@endforeach
|
||||
</script>
|
||||
|
||||
<script>
|
||||
$(".hover-user-top-menu .aiz-user-top-menu").on("mouseover", function (event) {
|
||||
$(".hover-user-top-menu").addClass('active');
|
||||
})
|
||||
.on("mouseout", function (event) {
|
||||
$(".hover-user-top-menu").removeClass('active');
|
||||
});
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
// Country Code
|
||||
var isPhoneShown = true,
|
||||
countryData = window.intlTelInputGlobals.getCountryData(),
|
||||
input = document.querySelector("#phone-code");
|
||||
|
||||
for (var i = 0; i < countryData.length; i++) {
|
||||
var country = countryData[i];
|
||||
if (country.iso2 == 'bd') {
|
||||
country.dialCode = '88';
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@yield('script')
|
||||
|
||||
@php
|
||||
echo get_setting('footer_script');
|
||||
@endphp
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,123 @@
|
||||
@extends('delivery_boys.layouts.app')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="card shadow-none rounded-0 border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-20 fw-700 text-dark">{{ translate('On The Way Delivery History') }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table aiz-table mb-0">
|
||||
<thead class="text-gray fs-12">
|
||||
<tr>
|
||||
<th class="pl-0">{{ translate('Code')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Date')}}</th>
|
||||
<th>{{ translate('Amount')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Delivery Status')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Payment Status')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Payment Type')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Mark As Delivered')}}</th>
|
||||
<th class="text-right pr-0">{{ translate('Options')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="fs-14">
|
||||
@foreach ($on_the_way_deliveries as $key => $delivery)
|
||||
<tr>
|
||||
<!-- Code -->
|
||||
<td class="pl-0" style="vertical-align: middle;">
|
||||
<a href="{{route('delivery-boy.order-detail', encrypt($delivery->id))}}">{{ $delivery->code }}</a>
|
||||
</td>
|
||||
<!-- Date -->
|
||||
<td class="text-secondary" style="vertical-align: middle;">
|
||||
{{ date('d-m-Y h:i A', strtotime($delivery->delivery_history_date)) }}
|
||||
</td>
|
||||
<!-- Amount -->
|
||||
<td class="fw-700" style="vertical-align: middle;">
|
||||
{{ single_price($delivery->grand_total) }}
|
||||
</td>
|
||||
<!-- Delivery Status -->
|
||||
<td class="fw-700 w-120px" style="vertical-align: middle;">
|
||||
{{ translate(ucfirst(str_replace('_', ' ', $delivery->delivery_status))) }}
|
||||
@if($delivery->delivery_viewed == 0)
|
||||
<span class="ml-1" style="color:green"><strong>*</strong></span>
|
||||
@endif
|
||||
</td>
|
||||
<!-- Payment Status -->
|
||||
<td class="w-120px" style="vertical-align: middle;">
|
||||
@if ($delivery->payment_status == 'paid')
|
||||
<span class="badge badge-inline badge-success p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{translate('Paid')}}</span>
|
||||
@else
|
||||
<span class="badge badge-inline badge-danger p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{translate('Unpaid')}}</span>
|
||||
@endif
|
||||
@if($delivery->payment_status_viewed == 0)
|
||||
<span class="ml-1" style="color:green"><strong>*</strong></span>
|
||||
@endif
|
||||
</td>
|
||||
<!-- Payment Type -->
|
||||
<td style="vertical-align: middle;">
|
||||
{{ translate(ucfirst(str_replace('_', ' ', $delivery->payment_type))) }}
|
||||
</td>
|
||||
<!-- Switch -->
|
||||
<td style="vertical-align: middle;">
|
||||
<label class="aiz-switch aiz-switch-success mb-0">
|
||||
<input onchange="update_status(this)" value="{{ $delivery->id }}" type="checkbox">
|
||||
<span class="slider round"></span>
|
||||
</label>
|
||||
</td>
|
||||
<!-- Options -->
|
||||
<td class="text-right pr-0 w-130px" style="vertical-align: middle;">
|
||||
<a href="javascript:void(0)" class="btn btn-soft-danger btn-icon btn-circle btn-sm" onclick="confirm_cancel_request('{{route('cancel-request', $delivery->id)}}')" title="{{ translate('Cancel') }}">
|
||||
<i class="las la-times"></i>
|
||||
</a>
|
||||
<a href="{{route('delivery-boy.order-detail', encrypt($delivery->id))}}" class="btn btn-soft-info btn-icon btn-circle btn-sm hov-svg-white" title="{{ translate('Order Details') }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10">
|
||||
<g id="Group_24807" data-name="Group 24807" transform="translate(-1339 -422)">
|
||||
<rect id="Rectangle_18658" data-name="Rectangle 18658" width="12" height="1" transform="translate(1339 422)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18659" data-name="Rectangle 18659" width="12" height="1" transform="translate(1339 425)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18660" data-name="Rectangle 18660" width="12" height="1" transform="translate(1339 428)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18661" data-name="Rectangle 18661" width="12" height="1" transform="translate(1339 431)" fill="#3490f3"/>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
<a class="btn btn-soft-warning btn-icon btn-circle btn-sm" href="{{ route('invoice.download', $delivery->id) }}" title="{{ translate('Download Invoice') }}">
|
||||
<i class="las la-download"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- Pagination -->
|
||||
<div class="aiz-pagination mt-2">
|
||||
{{ $on_the_way_deliveries->appends(request()->input())->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('modal')
|
||||
<!-- Cancel Request Modal -->
|
||||
@include('delivery_boys.cancel_request_modal')
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
function confirm_cancel_request(url)
|
||||
{
|
||||
$('#cancel-request').modal('show', {backdrop: 'static'});
|
||||
document.getElementById('confirmation').setAttribute('href' , url);
|
||||
}
|
||||
|
||||
function update_status(selectObject) {
|
||||
var order_id = selectObject.value;
|
||||
var status = "delivered";
|
||||
$.post('{{ route('delivery-boy.orders.update_delivery_status') }}', {
|
||||
_token :'{{ @csrf_token() }}',
|
||||
order_id :order_id,
|
||||
status :status
|
||||
}, function(data){
|
||||
AIZ.plugins.notify('success', '{{ translate('Delivery status has been updated') }}');
|
||||
location.reload();
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
@@ -0,0 +1,210 @@
|
||||
@extends('delivery_boys.layouts.app')
|
||||
|
||||
@section('panel_content')
|
||||
<!-- Order id -->
|
||||
<div class="aiz-titlebar mt-2 mb-4">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-md-6">
|
||||
<h1 class="fs-20 fw-700 text-dark">{{ translate('Order id')}}: {{ $order->code }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@php
|
||||
$status = $order->orderDetails->first()->delivery_status;
|
||||
@endphp
|
||||
|
||||
<!-- Order Summary -->
|
||||
<div class="card shadow-none rounded-0 border mt-4">
|
||||
<div class="card-header border-bottom-0">
|
||||
<b class="fs-16 fw-700 text-dark">{{ translate('Order Summary') }}</b>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<table class="table table-borderless">
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Order Code')}}:</td>
|
||||
<td>{{ $order->code }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Customer')}}:</td>
|
||||
<td>{{ json_decode($order->shipping_address)->name }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Email')}}:</td>
|
||||
@if ($order->user_id != null)
|
||||
<td>{{ $order->user->email }}</td>
|
||||
@endif
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Shipping address')}}:</td>
|
||||
<td>{{ json_decode($order->shipping_address)->address }}, {{ json_decode($order->shipping_address)->city }}, {{ json_decode($order->shipping_address)->postal_code }}, {{ json_decode($order->shipping_address)->country }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<table class="table table-borderless">
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Order date')}}:</td>
|
||||
<td>{{ date('d-m-Y H:i A', $order->date) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Order status')}}:</td>
|
||||
<td>{{ translate(ucfirst(str_replace('_', ' ', $status))) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Total order amount')}}:</td>
|
||||
<td>{{ single_price($order->orderDetails->sum('price') + $order->orderDetails->sum('tax')) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Shipping method')}}:</td>
|
||||
<td>{{ translate('Flat shipping rate')}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Payment method')}}:</td>
|
||||
<td>{{ translate(ucfirst(str_replace('_', ' ', $order->payment_type))) }}</td>
|
||||
</tr>
|
||||
@if ($order->tracking_code)
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Tracking code')}}:</td>
|
||||
<td>{{ $order->tracking_code }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Order Details -->
|
||||
<div class="row">
|
||||
<div class="col-lg-9">
|
||||
<div class="card mt-4 shadow-none rounded-0 border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<b class="fs-16 fw-700 text-dark">{{ translate('Order Details') }}</b>
|
||||
</div>
|
||||
<div class="card-body pb-0">
|
||||
<table class="table table-borderless table-responsive">
|
||||
<thead class="text-gray fs-12">
|
||||
<tr>
|
||||
<th class="pl-0">#</th>
|
||||
<th width="30%">{{ translate('Product')}}</th>
|
||||
<th>{{ translate('Variation')}}</th>
|
||||
<th>{{ translate('Quantity')}}</th>
|
||||
<th>{{ translate('Delivery Type')}}</th>
|
||||
<th class="text-right pr-0">{{ translate('Price')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="fs-14">
|
||||
@foreach ($order->orderDetails as $key => $orderDetail)
|
||||
<tr>
|
||||
<td class="pl-0">{{ $key+1 }}</td>
|
||||
<td>
|
||||
@if ($orderDetail->product != null && $orderDetail->product->auction_product == 0)
|
||||
<a href="{{ route('product', $orderDetail->product->slug) }}" target="_blank">{{ $orderDetail->product->getTranslation('name') }}</a>
|
||||
@elseif($orderDetail->product != null && $orderDetail->product->auction_product == 1)
|
||||
<a href="{{ route('auction-product', $orderDetail->product->slug) }}" target="_blank">{{ $orderDetail->product->getTranslation('name') }}</a>
|
||||
@else
|
||||
<strong>{{ translate('Product Unavailable') }}</strong>
|
||||
@endif
|
||||
</td>
|
||||
<td>
|
||||
{{ $orderDetail->variation }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $orderDetail->quantity }}
|
||||
</td>
|
||||
<td>
|
||||
@if ($order->shipping_type != null && $order->shipping_type == 'home_delivery')
|
||||
{{ translate('Home Delivery') }}
|
||||
@elseif ($order->shipping_type == 'pickup_point')
|
||||
@if ($order->pickup_point != null)
|
||||
{{ $order->pickup_point->name }} ({{ translate('Pickip Point') }})
|
||||
@endif
|
||||
@endif
|
||||
</td>
|
||||
<td class="text-right pr-0 fw-700">{{ single_price($orderDetail->price) }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Order Ammount -->
|
||||
<div class="col-lg-3">
|
||||
<div class="card mt-4 shadow-none rounded-0 border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<b class="fs-16 fw-700 text-dark">{{ translate('Order Ammount') }}</b>
|
||||
</div>
|
||||
<div class="card-body pb-0">
|
||||
<table class="table table-borderless">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Subtotal')}}</td>
|
||||
<td class="text-right">
|
||||
<span class="strong-600">{{ single_price($order->orderDetails->sum('price')) }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Shipping')}}</td>
|
||||
<td class="text-right">
|
||||
<span class="text-italic">{{ single_price($order->orderDetails->sum('shipping_cost')) }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Tax')}}</td>
|
||||
<td class="text-right">
|
||||
<span class="text-italic">{{ single_price($order->orderDetails->sum('tax')) }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Coupon')}}</td>
|
||||
<td class="text-right">
|
||||
<span class="text-italic">{{ single_price($order->coupon_discount) }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="w-50 fw-600">{{ translate('Total')}}</td>
|
||||
<td class="text-right">
|
||||
<strong><span>{{ single_price($order->grand_total) }}</span></strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@if ($order->manual_payment && $order->manual_payment_data == null)
|
||||
<button onclick="show_make_payment_modal({{ $order->id }})" class="btn btn-block btn-primary rounded-0">{{ translate('Make Payment')}}</button>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('modal')
|
||||
<!-- Payment Modal -->
|
||||
<div class="modal fade" id="payment_modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered modal-lg" role="document">
|
||||
<div class="modal-content">
|
||||
<div id="payment_modal_body">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
function show_make_payment_modal(order_id){
|
||||
$.post('{{ route('checkout.make_payment') }}', {_token:'{{ csrf_token() }}', order_id : order_id}, function(data){
|
||||
$('#payment_modal_body').html(data);
|
||||
$('#payment_modal').modal('show');
|
||||
$('input[name=order_id]').val(order_id);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
@@ -0,0 +1,99 @@
|
||||
@extends('delivery_boys.layouts.app')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="card shadow-none rounded-0 border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-20 fw-700 text-dark">{{ translate('Pending Delivery History') }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table aiz-table mb-0">
|
||||
<thead class="text-gray fs-12">
|
||||
<tr>
|
||||
<th class="pl-0">{{ translate('Code')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Date')}}</th>
|
||||
<th>{{ translate('Amount')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Delivery Status')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Payment Status')}}</th>
|
||||
<th class="text-right pr-0">{{ translate('Options')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="fs-14">
|
||||
@foreach ($pending_deliveries as $key => $order)
|
||||
@if (count($order->orderDetails) > 0)
|
||||
<tr>
|
||||
<!-- Code -->
|
||||
<td class="pl-0" style="vertical-align: middle;">
|
||||
<a href="{{route('delivery-boy.order-detail', encrypt($order->id))}}">{{ $order->code }}</a>
|
||||
</td>
|
||||
<!-- Date -->
|
||||
<td class="text-secondary" style="vertical-align: middle;">
|
||||
{{ date('d-m-Y', $order->date) }}
|
||||
</td>
|
||||
<!-- Amount -->
|
||||
<td class="fw-700" style="vertical-align: middle;">
|
||||
{{ single_price($order->grand_total) }}
|
||||
</td>
|
||||
<!-- Delivery Status -->
|
||||
<td class="fw-700" style="vertical-align: middle;">
|
||||
{{ translate(ucfirst(str_replace('_', ' ', $order->delivery_status))) }}
|
||||
@if($order->delivery_viewed == 0)
|
||||
<span class="ml-1" style="color:green"><strong>*</strong></span>
|
||||
@endif
|
||||
</td>
|
||||
<!-- Payment Status -->
|
||||
<td style="vertical-align: middle;">
|
||||
@if ($order->payment_status == 'paid')
|
||||
<span class="badge badge-inline badge-success p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{translate('Paid')}}</span>
|
||||
@else
|
||||
<span class="badge badge-inline badge-danger p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{translate('Unpaid')}}</span>
|
||||
@endif
|
||||
@if($order->payment_status_viewed == 0)
|
||||
<span class="ml-1" style="color:green"><strong>*</strong></span>
|
||||
@endif
|
||||
</td>
|
||||
<!-- Options -->
|
||||
<td class="text-right pr-0" style="vertical-align: middle;">
|
||||
<a href="javascript:void(0)" class="btn btn-soft-danger btn-icon btn-circle btn-sm" onclick="confirm_cancel_request('{{route('cancel-request', $order->id)}}')" title="{{ translate('Cancel') }}">
|
||||
<i class="las la-times"></i>
|
||||
</a>
|
||||
<a href="{{route('delivery-boy.order-detail', encrypt($order->id))}}" class="btn btn-soft-info btn-icon btn-circle btn-sm hov-svg-white" title="{{ translate('Order Details') }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10">
|
||||
<g id="Group_24807" data-name="Group 24807" transform="translate(-1339 -422)">
|
||||
<rect id="Rectangle_18658" data-name="Rectangle 18658" width="12" height="1" transform="translate(1339 422)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18659" data-name="Rectangle 18659" width="12" height="1" transform="translate(1339 425)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18660" data-name="Rectangle 18660" width="12" height="1" transform="translate(1339 428)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18661" data-name="Rectangle 18661" width="12" height="1" transform="translate(1339 431)" fill="#3490f3"/>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
<a class="btn btn-soft-warning btn-icon btn-circle btn-sm" href="{{ route('invoice.download', $order->id) }}" title="{{ translate('Download Invoice') }}">
|
||||
<i class="las la-download"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- Pagination -->
|
||||
<div class="aiz-paginationn mt-2">
|
||||
{{ $pending_deliveries->appends(request()->input())->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('modal')
|
||||
<!-- Cancel Request Modal -->
|
||||
@include('delivery_boys.cancel_request_modal')
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
function confirm_cancel_request(url)
|
||||
{
|
||||
$('#cancel-request').modal('show', {backdrop: 'static'});
|
||||
document.getElementById('confirmation').setAttribute('href' , url);
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
@@ -0,0 +1,123 @@
|
||||
@extends('delivery_boys.layouts.app')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="card shadow-none rounded-0 border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-20 fw-700 text-dark">{{ translate('Picked Up Delivery History') }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table aiz-table mb-0">
|
||||
<thead class="text-gray fs-12">
|
||||
<tr>
|
||||
<th class="pl-0">{{ translate('Code')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Date')}}</th>
|
||||
<th>{{ translate('Amount')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Delivery Status')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Payment Status')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Payment Type')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Mark As On The Way')}}</th>
|
||||
<th class="text-right pr-0">{{ translate('Options')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="fs-14">
|
||||
@foreach ($pickup_deliveries as $key => $delivery)
|
||||
<tr>
|
||||
<!-- Code -->
|
||||
<td class="pl-0" style="vertical-align: middle;">
|
||||
<a href="{{route('delivery-boy.order-detail', encrypt($delivery->id))}}">{{ $delivery->code }}</a>
|
||||
</td>
|
||||
<!-- Date -->
|
||||
<td class="text-secondary" style="vertical-align: middle;">
|
||||
{{ date('d-m-Y h:i A', strtotime($delivery->delivery_history_date)) }}
|
||||
</td>
|
||||
<!-- Amount -->
|
||||
<td class="fw-700" style="vertical-align: middle;">
|
||||
{{ single_price($delivery->grand_total) }}
|
||||
</td>
|
||||
<!-- Delivery Status -->
|
||||
<td class="fw-700 w-120px" style="vertical-align: middle;">
|
||||
{{ translate(ucfirst(str_replace('_', ' ', $delivery->delivery_status))) }}
|
||||
@if($delivery->delivery_viewed == 0)
|
||||
<span class="ml-1" style="color:green"><strong>*</strong></span>
|
||||
@endif
|
||||
</td>
|
||||
<!-- Payment Status -->
|
||||
<td class="w-120px" style="vertical-align: middle;">
|
||||
@if ($delivery->payment_status == 'paid')
|
||||
<span class="badge badge-inline badge-success p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{translate('Paid')}}</span>
|
||||
@else
|
||||
<span class="badge badge-inline badge-danger p-3 fs-12" style="border-radius: 25px; min-width: 80px !important;">{{translate('Unpaid')}}</span>
|
||||
@endif
|
||||
@if($delivery->payment_status_viewed == 0)
|
||||
<span class="ml-1" style="color:green"><strong>*</strong></span>
|
||||
@endif
|
||||
</td>
|
||||
<!-- Payment Type -->
|
||||
<td style="vertical-align: middle;">
|
||||
{{ translate(ucfirst(str_replace('_', ' ', $delivery->payment_type))) }}
|
||||
</td>
|
||||
<!-- Switch -->
|
||||
<td style="vertical-align: middle;">
|
||||
<label class="aiz-switch aiz-switch-success mb-0">
|
||||
<input onchange="update_status(this)" value="{{ $delivery->id }}" type="checkbox">
|
||||
<span class="slider round"></span>
|
||||
</label>
|
||||
</td>
|
||||
<!-- Options -->
|
||||
<td class="text-right pr-0 w-130px" style="vertical-align: middle;">
|
||||
<a href="javascript:void(0)" class="btn btn-soft-danger btn-icon btn-circle btn-sm" onclick="confirm_cancel_request('{{route('cancel-request', $delivery->id)}}')" title="{{ translate('Cancel') }}">
|
||||
<i class="las la-times"></i>
|
||||
</a>
|
||||
<a href="{{route('delivery-boy.order-detail', encrypt($delivery->id))}}" class="btn btn-soft-info btn-icon btn-circle btn-sm hov-svg-white" title="{{ translate('Order Details') }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10">
|
||||
<g id="Group_24807" data-name="Group 24807" transform="translate(-1339 -422)">
|
||||
<rect id="Rectangle_18658" data-name="Rectangle 18658" width="12" height="1" transform="translate(1339 422)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18659" data-name="Rectangle 18659" width="12" height="1" transform="translate(1339 425)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18660" data-name="Rectangle 18660" width="12" height="1" transform="translate(1339 428)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18661" data-name="Rectangle 18661" width="12" height="1" transform="translate(1339 431)" fill="#3490f3"/>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
<a class="btn btn-soft-warning btn-icon btn-circle btn-sm" href="{{ route('invoice.download', $delivery->id) }}" title="{{ translate('Download Invoice') }}">
|
||||
<i class="las la-download"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- Pagination -->
|
||||
<div class="aiz-pagination mt-2">
|
||||
{{ $pickup_deliveries->appends(request()->input())->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@section('modal')
|
||||
<!-- Cancel Request Modal -->
|
||||
@include('delivery_boys.cancel_request_modal')
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
function confirm_cancel_request(url)
|
||||
{
|
||||
$('#cancel-request').modal('show', {backdrop: 'static'});
|
||||
document.getElementById('confirmation').setAttribute('href' , url);
|
||||
}
|
||||
|
||||
function update_status(selectObject) {
|
||||
var order_id = selectObject.value;
|
||||
var status = "on_the_way";
|
||||
$.post('{{ route('delivery-boy.orders.update_delivery_status') }}', {
|
||||
_token :'{{ @csrf_token() }}',
|
||||
order_id :order_id,
|
||||
status :status
|
||||
}, function(data){
|
||||
AIZ.plugins.notify('success', '{{ translate('Delivery status has been updated') }}');
|
||||
location.reload();
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@endsection
|
||||
@@ -0,0 +1,140 @@
|
||||
@extends('delivery_boys.layouts.app')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="aiz-titlebar mb-4">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-md-6">
|
||||
<h1 class="fs-20 fw-700 text-dark">{{ translate('Manage Profile') }}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Basic Info -->
|
||||
<div class="card shadow-none rounded-0 border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-16 fw-700 text-dark">{{ translate('Basic Info')}}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form action="{{ route('user.profile.update') }}" method="POST" enctype="multipart/form-data">
|
||||
@csrf
|
||||
<!-- Name -->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-form-label">{{ translate('Your Name') }}</label>
|
||||
<div class="col-md-10">
|
||||
<input type="text" class="form-control rounded-0" placeholder="{{ translate('Your Name') }}" name="name" value="{{ Auth::user()->name }}">
|
||||
</div>
|
||||
</div>
|
||||
<!-- Phone -->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-form-label">{{ translate('Your Phone') }}</label>
|
||||
<div class="col-md-10">
|
||||
<input type="text" class="form-control rounded-0" placeholder="{{ translate('Your Phone')}}" name="phone" value="{{ Auth::user()->phone }}">
|
||||
</div>
|
||||
</div>
|
||||
<!-- Photo -->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-form-label">{{ translate('Photo') }}</label>
|
||||
<div class="col-md-10">
|
||||
<div class="input-group" data-toggle="aizuploader" data-type="image">
|
||||
<div class="input-group-prepend">
|
||||
<div class="input-group-text bg-soft-secondary font-weight-medium rounded-0">{{ translate('Browse')}}</div>
|
||||
</div>
|
||||
<div class="form-control file-amount">{{ translate('Choose File') }}</div>
|
||||
<input type="hidden" name="photo" value="{{ Auth::user()->avatar_original }}" class="selected-files">
|
||||
</div>
|
||||
<div class="file-preview box sm">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Password -->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-form-label">{{ translate('Your Password') }}</label>
|
||||
<div class="col-md-10">
|
||||
<input type="password" class="form-control rounded-0" placeholder="{{ translate('New Password') }}" name="new_password">
|
||||
</div>
|
||||
</div>
|
||||
<!-- Confirm Password -->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-form-label">{{ translate('Confirm Password') }}</label>
|
||||
<div class="col-md-10">
|
||||
<input type="password" class="form-control rounded-0" placeholder="{{ translate('Confirm Password') }}" name="confirm_password">
|
||||
</div>
|
||||
</div>
|
||||
<!-- Address -->
|
||||
<div class="form-group row">
|
||||
<label class="col-md-2 col-form-label">{{ translate('Your Address') }}</label>
|
||||
<div class="col-md-10">
|
||||
<textarea class="form-control rounded-0 mb-3" placeholder="{{ translate('Your Address') }}" rows="3" name="address" required>{{ Auth::user()->address }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Update Profile Button -->
|
||||
<div class="form-group mb-0 text-right">
|
||||
<button type="submit" class="btn btn-primary rounded-0 w-150px">{{translate('Update Profile')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Email Change -->
|
||||
<div class="card shadow-none rounded-0 border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-16 fw-700 text-dark">{{ translate('Change your email')}}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form action="{{ route('user.change.email') }}" method="POST">
|
||||
@csrf
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<label>{{ translate('Your Email') }}</label>
|
||||
</div>
|
||||
<div class="col-md-10">
|
||||
<!-- Email -->
|
||||
<div class="input-group mb-3">
|
||||
<input type="email" class="form-control rounded-0" placeholder="{{ translate('Your Email')}}" name="email" value="{{ Auth::user()->email }}" />
|
||||
<div class="input-group-append">
|
||||
<button type="button" class="btn btn-outline-secondary new-email-verification rounded-0">
|
||||
<span class="d-none loading">
|
||||
<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
|
||||
{{ translate('Sending Email...') }}
|
||||
</span>
|
||||
<span class="default">{{ translate('Verify') }}</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Update Email Button -->
|
||||
<div class="form-group mb-0 text-right">
|
||||
<button type="submit" class="btn btn-primary rounded-0 w-150px">{{translate('Update Email')}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script type="text/javascript">
|
||||
(function($) {
|
||||
"use strict";
|
||||
|
||||
$('.new-email-verification').on('click', function() {
|
||||
$(this).find('.loading').removeClass('d-none');
|
||||
$(this).find('.default').addClass('d-none');
|
||||
var email = $("input[name=email]").val();
|
||||
|
||||
$.post('{{ route('user.new.verify') }}', {_token:'{{ csrf_token() }}', email: email}, function(data){
|
||||
data = JSON.parse(data);
|
||||
$('.default').removeClass('d-none');
|
||||
$('.loading').addClass('d-none');
|
||||
if(data.status == 2)
|
||||
AIZ.plugins.notify('warning', data.message);
|
||||
else if(data.status == 1)
|
||||
AIZ.plugins.notify('success', data.message);
|
||||
else
|
||||
AIZ.plugins.notify('danger', data.message);
|
||||
});
|
||||
});
|
||||
})(jQuery);
|
||||
</script>
|
||||
@endsection
|
||||
@@ -0,0 +1,59 @@
|
||||
@extends('delivery_boys.layouts.app')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="card shadow-none rounded-0 border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-20 fw-700 text-dark">{{ translate('Total Collection History') }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table aiz-table mb-0">
|
||||
<thead class="text-gray fs-12">
|
||||
<tr>
|
||||
<th class="pl-0">{{ translate('Code')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Date')}}</th>
|
||||
<th>{{ translate('Amount')}}</th>
|
||||
<th class="text-right pr-0">{{ translate('Options')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="fs-14">
|
||||
@foreach ($today_collections as $key => $collection)
|
||||
<tr>
|
||||
<!-- code -->
|
||||
<td class="pl-0" style="vertical-align: middle;">
|
||||
<a href="{{route('delivery-boy.order-detail', encrypt($collection->order->id))}}">{{ $collection->order->code }}</a>
|
||||
</td>
|
||||
<!-- Date -->
|
||||
<td class="text-secondary" style="vertical-align: middle;">
|
||||
{{ date('d-m-Y h:i A', strtotime($collection->created_at)) }}
|
||||
</td>
|
||||
<!-- Amount -->
|
||||
<td class="fw-700" style="vertical-align: middle;">
|
||||
{{ single_price($collection->collection) }}
|
||||
</td>
|
||||
<!-- Options -->
|
||||
<td class="text-right pr-0" style="vertical-align: middle;">
|
||||
<a href="{{route('delivery-boy.order-detail', encrypt($collection->order->id))}}" class="btn btn-soft-info btn-icon btn-circle btn-sm hov-svg-white" title="{{ translate('Order Details') }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10">
|
||||
<g id="Group_24807" data-name="Group 24807" transform="translate(-1339 -422)">
|
||||
<rect id="Rectangle_18658" data-name="Rectangle 18658" width="12" height="1" transform="translate(1339 422)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18659" data-name="Rectangle 18659" width="12" height="1" transform="translate(1339 425)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18660" data-name="Rectangle 18660" width="12" height="1" transform="translate(1339 428)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18661" data-name="Rectangle 18661" width="12" height="1" transform="translate(1339 431)" fill="#3490f3"/>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
<a class="btn btn-soft-warning btn-icon btn-circle btn-sm" href="{{ route('invoice.download', $collection->order->id) }}" title="{{ translate('Download Invoice') }}">
|
||||
<i class="las la-download"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- Pagination -->
|
||||
<div class="aiz-pagination mt-2">
|
||||
{{ $today_collections->appends(request()->input())->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -0,0 +1,59 @@
|
||||
@extends('delivery_boys.layouts.app')
|
||||
|
||||
@section('panel_content')
|
||||
<div class="card shadow-none rounded-0 border">
|
||||
<div class="card-header border-bottom-0">
|
||||
<h5 class="mb-0 fs-20 fw-700 text-dark">{{ translate('Earning History') }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<table class="table aiz-table mb-0">
|
||||
<thead class="text-gray fs-12">
|
||||
<tr>
|
||||
<th class="pl-0">{{ translate('Code')}}</th>
|
||||
<th data-breakpoints="lg">{{ translate('Date')}}</th>
|
||||
<th>{{ translate('Amount')}}</th>
|
||||
<th class="text-right pr-0">{{ translate('Options')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="fs-14">
|
||||
@foreach ($total_earnings as $key => $earning)
|
||||
<tr>
|
||||
<!-- code -->
|
||||
<td class="pl-0" style="vertical-align: middle;">
|
||||
<a href="{{route('delivery-boy.order-detail', encrypt($earning->order->id))}}">{{ $earning->order->code }}</a>
|
||||
</td>
|
||||
<!-- Date -->
|
||||
<td class="text-secondary" style="vertical-align: middle;">
|
||||
{{ date('d-m-Y h:i A', strtotime($earning->created_at)) }}
|
||||
</td>
|
||||
<!-- Amount -->
|
||||
<td class="fw-700" style="vertical-align: middle;">
|
||||
{{ single_price($earning->earning) }}
|
||||
</td>
|
||||
<!-- Options -->
|
||||
<td class="text-right pr-0" style="vertical-align: middle;">
|
||||
<a href="{{route('delivery-boy.order-detail', encrypt($earning->order->id))}}" class="btn btn-soft-info btn-icon btn-circle btn-sm hov-svg-white" title="{{ translate('Order Details') }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10">
|
||||
<g id="Group_24807" data-name="Group 24807" transform="translate(-1339 -422)">
|
||||
<rect id="Rectangle_18658" data-name="Rectangle 18658" width="12" height="1" transform="translate(1339 422)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18659" data-name="Rectangle 18659" width="12" height="1" transform="translate(1339 425)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18660" data-name="Rectangle 18660" width="12" height="1" transform="translate(1339 428)" fill="#3490f3"/>
|
||||
<rect id="Rectangle_18661" data-name="Rectangle 18661" width="12" height="1" transform="translate(1339 431)" fill="#3490f3"/>
|
||||
</g>
|
||||
</svg>
|
||||
</a>
|
||||
<a class="btn btn-soft-warning btn-icon btn-circle btn-sm" href="{{ route('invoice.download', $earning->order->id) }}" title="{{ translate('Download Invoice') }}">
|
||||
<i class="las la-download"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- Pagination -->
|
||||
<div class="aiz-pagination mt-2">
|
||||
{{ $total_earnings->appends(request()->input())->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
Reference in New Issue
Block a user