index.blade.php 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. @extends('backend.layouts.app')
  2. @section('content')
  3. <div class="card">
  4. <form class="" action="" id="sort_orders" method="GET">
  5. <div class="card-header row gutters-5">
  6. <div class="col">
  7. <h5 class="mb-md-0 h6">{{ translate('All Orders') }}</h5>
  8. </div>
  9. <div class="dropdown mb-2 mb-md-0">
  10. <button class="btn border dropdown-toggle" type="button" data-toggle="dropdown">
  11. {{translate('Bulk Action')}}
  12. </button>
  13. <div class="dropdown-menu dropdown-menu-right">
  14. <a class="dropdown-item" href="#" onclick="bulk_delete()"> {{translate('Delete selection')}}</a>
  15. <!-- <a class="dropdown-item" href="#" data-toggle="modal" data-target="#exampleModal">
  16. <i class="las la-sync-alt"></i>
  17. {{translate('Change Order Status')}}
  18. </a>-->
  19. </div>
  20. </div>
  21. <!-- Change Status Modal -->
  22. <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  23. <div class="modal-dialog" role="document">
  24. <div class="modal-content">
  25. <div class="modal-header">
  26. <h5 class="modal-title" id="exampleModalLabel">
  27. {{translate('Choose an order status')}}
  28. </h5>
  29. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  30. <span aria-hidden="true">&times;</span>
  31. </button>
  32. </div>
  33. <div class="modal-body">
  34. <select class="form-control aiz-selectpicker" onchange="change_status()" data-minimum-results-for-search="Infinity" id="update_delivery_status">
  35. <option value="pending">{{translate('Pending')}}</option>
  36. <option value="confirmed">{{translate('Confirmed')}}</option>
  37. <option value="picked_up">{{translate('Picked Up')}}</option>
  38. <option value="on_the_way">{{translate('On The Way')}}</option>
  39. <option value="delivered">{{translate('Delivered')}}</option>
  40. <option value="cancelled">{{translate('Cancel')}}</option>
  41. </select>
  42. </div>
  43. <div class="modal-footer">
  44. <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
  45. <button type="button" class="btn btn-primary">Save changes</button>
  46. </div>
  47. </div>
  48. </div>
  49. </div>
  50. <div class="col-lg-2 ml-auto">
  51. <select class="form-control aiz-selectpicker" name="delivery_status" id="delivery_status">
  52. <option value="">{{translate('Filter by Delivery Status')}}</option>
  53. <option value="pending" @if ($delivery_status == 'pending') selected @endif>{{translate('Pending')}}</option>
  54. <option value="confirmed" @if ($delivery_status == 'confirmed') selected @endif>{{translate('Confirmed')}}</option>
  55. <option value="picked_up" @if ($delivery_status == 'picked_up') selected @endif>{{translate('Picked Up')}}</option>
  56. <option value="on_the_way" @if ($delivery_status == 'on_the_way') selected @endif>{{translate('On The Way')}}</option>
  57. <option value="delivered" @if ($delivery_status == 'delivered') selected @endif>{{translate('Delivered')}}</option>
  58. <option value="cancelled" @if ($delivery_status == 'cancelled') selected @endif>{{translate('Cancel')}}</option>
  59. </select>
  60. </div>
  61. <div class="col-lg-2">
  62. <div class="form-group mb-0">
  63. <input type="text" class="aiz-date-range form-control" value="{{ $date }}" name="date" placeholder="{{ translate('Filter by date') }}" data-format="DD-MM-Y" data-separator=" to " data-advanced-range="true" autocomplete="off">
  64. </div>
  65. </div>
  66. <div class="col-lg-2">
  67. <div class="form-group mb-0">
  68. <input type="text" class="form-control" id="search" name="search"@isset($sort_search) value="{{ $sort_search }}" @endisset placeholder="{{ translate('Type Order code & hit Enter') }}">
  69. </div>
  70. </div>
  71. <div class="col-auto">
  72. <div class="form-group mb-0">
  73. <button type="submit" class="btn btn-primary">{{ translate('Filter') }}</button>
  74. </div>
  75. </div>
  76. </div>
  77. <div class="card-body">
  78. <table class="table aiz-table mb-0">
  79. <thead>
  80. <tr>
  81. <!--<th>#</th>-->
  82. <th>
  83. <div class="form-group">
  84. <div class="aiz-checkbox-inline">
  85. <label class="aiz-checkbox">
  86. <input type="checkbox" class="check-all">
  87. <span class="aiz-square-check"></span>
  88. </label>
  89. </div>
  90. </div>
  91. </th>
  92. <th>{{ translate('Order Code') }}</th>
  93. <th>{{ translate('Shop') }}</th>
  94. <th data-breakpoints="md">{{ translate('Num. of Products') }}</th>
  95. <th data-breakpoints="md">{{ translate('Customer') }}</th>
  96. <th data-breakpoints="md">{{ translate('Amount') }}</th>
  97. <th data-breakpoints="md">{{ translate('Profit') }}</th>
  98. <th data-breakpoints="md">{{ translate('Pick Up Status') }}</th>
  99. <th data-breakpoints="md">{{ translate('Delivery Status') }}</th>
  100. <th data-breakpoints="md">{{ translate('Payment Status') }}</th>
  101. @if (addon_is_activated('refund_request'))
  102. <th>{{ translate('Refund') }}</th>
  103. @endif
  104. <th class="text-right" width="15%">{{translate('options')}}</th>
  105. </tr>
  106. </thead>
  107. <tbody>
  108. @foreach ($orders as $key => $order)
  109. <tr>
  110. <!-- <td>
  111. {{ ($key+1) + ($orders->currentPage() - 1)*$orders->perPage() }}
  112. </td>-->
  113. <td>
  114. <div class="form-group">
  115. <div class="aiz-checkbox-inline">
  116. <label class="aiz-checkbox">
  117. <input type="checkbox" class="check-one" name="id[]" value="{{$order->id}}">
  118. <span class="aiz-square-check"></span>
  119. </label>
  120. </div>
  121. </div>
  122. </td>
  123. <td>
  124. {{ $order->code }}
  125. </td>
  126. <td>
  127. @php
  128. $shop = App\Models\User::where('id',$order->seller_id)->first();
  129. echo $shop['email'];
  130. @endphp
  131. </td>
  132. <td>
  133. {{ count($order->orderDetails) }}
  134. </td>
  135. <td>
  136. @if ($order->user != null)
  137. {{ $order->user->name }}
  138. @else
  139. Guest ({{ $order->guest_id }})
  140. @endif
  141. </td>
  142. <td>
  143. {{ single_price($order->grand_total) }}
  144. </td>
  145. <td>
  146. @if ($order->product_storehouse_total > 0)
  147. {{ single_price($order->grand_total - $order->product_storehouse_total) }}
  148. @else
  149. {{ translate('None') }}
  150. @endif
  151. </td>
  152. <td>
  153. @if ($order->product_storehouse_status)
  154. <span class="badge badge-inline badge-success">{{translate('Picked Up')}}</span>
  155. @else
  156. <span class="badge badge-inline badge-danger">{{translate('Unpicked Up')}}</span>
  157. @endif
  158. </td>
  159. <td>
  160. @php
  161. $status = $order->delivery_status;
  162. if($order->delivery_status == 'cancelled') {
  163. $status = '<span class="badge badge-inline badge-danger">'.translate('Cancel').'</span>';
  164. }
  165. @endphp
  166. {!! $status !!}
  167. </td>
  168. <td>
  169. @if ($order->payment_status == 'paid')
  170. <span class="badge badge-inline badge-success">{{translate('Paid')}}</span>
  171. @else
  172. <span class="badge badge-inline badge-danger">{{translate('Unpaid')}}</span>
  173. @endif
  174. </td>
  175. @if (addon_is_activated('refund_request'))
  176. <td>
  177. @if (count($order->refund_requests) > 0)
  178. {{ count($order->refund_requests) }} {{ translate('Refund') }}
  179. @else
  180. {{ translate('No Refund') }}
  181. @endif
  182. </td>
  183. @endif
  184. <td class="text-right">
  185. <a class="btn btn-soft-primary btn-icon btn-circle btn-sm" href="{{route('all_orders.show', encrypt($order->id))}}" title="{{ translate('View') }}">
  186. <i class="las la-eye"></i>
  187. </a>
  188. <a class="btn btn-soft-info btn-icon btn-circle btn-sm" href="{{ route('invoice.download', $order->id) }}" title="{{ translate('Download Invoice') }}">
  189. <i class="las la-download"></i>
  190. </a>
  191. <a href="#" class="btn btn-soft-danger btn-icon btn-circle btn-sm confirm-delete" data-href="{{route('orders.destroy', $order->id)}}" title="{{ translate('Delete') }}">
  192. <i class="las la-trash"></i>
  193. </a>
  194. </td>
  195. </tr>
  196. @endforeach
  197. </tbody>
  198. </table>
  199. <div class="aiz-pagination">
  200. {{ $orders->appends(request()->input())->links() }}
  201. </div>
  202. </div>
  203. </form>
  204. </div>
  205. @endsection
  206. @section('modal')
  207. @include('modals.delete_modal')
  208. @endsection
  209. @section('script')
  210. <script type="text/javascript">
  211. $(document).on("change", ".check-all", function() {
  212. if(this.checked) {
  213. // Iterate each checkbox
  214. $('.check-one:checkbox').each(function() {
  215. this.checked = true;
  216. });
  217. } else {
  218. $('.check-one:checkbox').each(function() {
  219. this.checked = false;
  220. });
  221. }
  222. });
  223. // function change_status() {
  224. // var data = new FormData($('#order_form')[0]);
  225. // $.ajax({
  226. // headers: {
  227. // 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  228. // },
  229. // url: "{{route('bulk-order-status')}}",
  230. // type: 'POST',
  231. // data: data,
  232. // cache: false,
  233. // contentType: false,
  234. // processData: false,
  235. // success: function (response) {
  236. // if(response == 1) {
  237. // location.reload();
  238. // }
  239. // }
  240. // });
  241. // }
  242. function bulk_delete() {
  243. var data = new FormData($('#sort_orders')[0]);
  244. $.ajax({
  245. headers: {
  246. 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  247. },
  248. url: "{{route('bulk-order-delete')}}",
  249. type: 'POST',
  250. data: data,
  251. cache: false,
  252. contentType: false,
  253. processData: false,
  254. success: function (response) {
  255. if(response == 1) {
  256. location.reload();
  257. }
  258. }
  259. });
  260. }
  261. </script>
  262. @endsection