orders-new.blade.php 80 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735
  1. @extends('layouts.app')
  2. @section('page-title')| Live Orders @endsection
  3. @section('css')
  4. <link href="{!! env('APP_ASSETS') !!}css/liveorder.css?v={!! time() !!}" rel="stylesheet" type="text/css">
  5. @endsection
  6. @section('content')
  7. <style>
  8. .item-list .list-group-item{
  9. background-color: transparent !important;
  10. }
  11. .item-list .list-group{
  12. margin-left: 18px !important;
  13. }
  14. .item-list .list-group-item .badge{
  15. font-size: 70% !important;
  16. }
  17. #show-recipes, .calc_div{
  18. background-color: #fff7e8;
  19. }
  20. .row.right-panel-box{
  21. padding:0 10px
  22. }
  23. .lh-48
  24. {
  25. line-height:48px;
  26. }
  27. .theme-primary .nav-tabs .nav-link .labelcenter{
  28. position: relative;
  29. top: 3px;
  30. }
  31. .arrow-arabic svg{
  32. -webkit-transform:rotate(180deg);
  33. -moz-transform: rotate(180deg);
  34. -ms-transform: rotate(180deg);
  35. -o-transform: rotate(180deg);
  36. transform: rotate(180deg);
  37. }
  38. .print{
  39. color:#000 !important
  40. }
  41. .load-more-order{
  42. position: absolute;
  43. background: #006cd5;
  44. right: 20%;
  45. left: 20%;
  46. padding: 20px;
  47. text-align: center;
  48. color: #FFF;
  49. font-weight: 700;
  50. bottom: -12%;
  51. text-transform: uppercase;
  52. cursor: pointer;
  53. }
  54. p[rel] img{ height: 12px !important;}
  55. body {
  56. background-color: #FFF;
  57. }
  58. .discount_with{
  59. display:none !important;
  60. }
  61. .discount_with.active{
  62. display:flex !important
  63. }
  64. .delivery_discount_with{
  65. display:none !important;
  66. }
  67. .delivery_discount_with.active{
  68. display:flex !important
  69. }
  70. #print-recipt{
  71. display: none; }
  72. .mlist_li.selected{
  73. color: #000;
  74. background-color: #f1f1f1;
  75. }
  76. @if(app()->getLocale()=="ar")
  77. #show-recipes .box-header{
  78. padding: 15px 1.2rem 5px 0;
  79. }
  80. @else
  81. #show-recipes .box-header{
  82. padding: 15px 0 5px 1.2rem;
  83. }
  84. @endif
  85. @-webkit-keyframes special {
  86. from { background-color: rgba(255, 121, 77, 0.27); }
  87. to { background-color: inherit; }
  88. }
  89. @-moz-keyframes special {
  90. from { background-color: rgba(255, 121, 77, 0.27);; }
  91. to { background-color: inherit; }
  92. }
  93. @-o-keyframes special {
  94. from { background-color: rgba(255, 121, 77, 0.27);; }
  95. to { background-color: inherit; }
  96. }
  97. @keyframes special {
  98. from { background-color: rgba(255, 121, 77, 0.27);; }
  99. to { background-color: inherit; }
  100. }
  101. .special {
  102. -webkit-animation: special 1s infinite; /* Safari 4+ */
  103. -moz-animation: special 1s infinite; /* Fx 5+ */
  104. -o-animation: special 1s infinite; /* Opera 12+ */
  105. animation: special 1s infinite; /* IE 10+ */
  106. }
  107. .mlist_li.selected .media, .mlist_li.selected .box{
  108. /*background-color: transparent !important;*/
  109. }
  110. .mlist_li.selected p{
  111. color:#000 !important;
  112. }
  113. .labelcenter { width: auto}
  114. .gap-items p.status{ font-size: 12px}
  115. .gap-items p.min{
  116. line-height: 13px;
  117. padding-top: 11px;
  118. font-size: 11px;
  119. }
  120. .bg-danger p.min, .bg-danger .gap-items p.status{
  121. display: none;}
  122. .bg-danger .circle-div{ height: 10px; width: 10px; background: #fff !important; margin-right: 15px;}
  123. .mlist_li.selected .media-list-hover > .media:not(.media-list-header):not(.media-list-footer):hover,.mlist_li.selected .media-list-hover .media-list-body > .media:hover{
  124. background-color: transparent !important;
  125. }
  126. .mlist_li.selected .media-list{
  127. color: #000;
  128. background-color: #f1f1f1 !important;
  129. }
  130. .sidebar-mini.sidebar-collapse .content-wrapper {
  131. width: calc(100% - 60px) !important;
  132. margin-left: 60px !important;
  133. }
  134. .no-order-found{
  135. background-color: #000;
  136. background-image: url({!! env('APP_ASSETS') !!}images/no-order.png);
  137. background-repeat: no-repeat;
  138. background-position: center;
  139. ;
  140. }
  141. .actions{
  142. position:absolute; top: 20px; right: 10px;
  143. }
  144. .actions li{ margin:0 !important; padding:0}
  145. @media screen and (min-device-width: 1200px) and (max-device-width: 1600px) and (-webkit-min-device-pixel-ratio: 1){
  146. body {
  147. padding: 0px !important;
  148. }
  149. }
  150. @media (max-width:767px){
  151. .actions {
  152. position: absolute;
  153. top: 20px;
  154. right: 15px;
  155. }
  156. .calc_div{
  157. padding: 14px;
  158. }
  159. .mlist_li.selected p {
  160. color: #fff!important;
  161. }
  162. .mlist_li.selected .media-list {
  163. color: #fff;
  164. background-color: transparent!important;
  165. }
  166. /*------Start Arabic css---------------*/
  167. html[dir="rtl"].nav-tabs{
  168. padding-right:0 !important;
  169. }
  170. /*------end Arabic css---------------*/
  171. body.fixed {
  172. overflow-y:hidden;
  173. }
  174. .for-mobile{
  175. /* max-height: 330px; */
  176. max-height: 60vh;
  177. overflow: auto;
  178. }
  179. #show-recipes .box-header {
  180. padding:0rem 18px 0 12px !important;
  181. }
  182. .right-panel-footer p{margin-bottom: 5px !important;
  183. padding: 0 !important;}
  184. .button-bottom-div{margin-top: 0px !important;}
  185. }
  186. .box-header p {
  187. margin-bottom: 0;
  188. }
  189. .box-header {
  190. padding: 1.5rem 0.5rem;
  191. }
  192. @media (max-width:767px){
  193. .box-header {
  194. padding: 0.5rem 14px;
  195. }
  196. }
  197. @media (max-width: 1024px){
  198. .navbar-custom-menu .navbar-nav > li:last-child > a {
  199. line-height: 25px;
  200. margin-left: 30px !important;
  201. }
  202. }
  203. @media (min-width: 768px) and (max-width: 1024px) {
  204. body{
  205. overflow-x:hidden !important;
  206. overflow-y:hidden !important;
  207. }
  208. }
  209. </style>
  210. @php
  211. $resto = \App\Models\Restaurants::find(\App\Helpers\CommonMethods::getRestuarantID());
  212. $lang = $resto->default_lang;
  213. app()->setLocale($lang);
  214. if(session('app_lang') !==null){
  215. $lang = session('app_lang');
  216. app()->setLocale($lang);
  217. }
  218. $restuarant1 = $resto;
  219. $resto_metas = \App\Helpers\CommonMethods::getRestoMetas($restuarant1);
  220. $currency = isset($resto_metas['BUSSINESS_CCY'])?$resto_metas['BUSSINESS_CCY']:"IQD";
  221. $business_type = isset($resto_metas['BUSSINESS_TYPE'])?$resto_metas['BUSSINESS_TYPE']:"Restaurants";
  222. $is_allow_print_preview = isset($resto_metas['PRINT_PREVIEW_ON_ACCEPT_ORDER'])?$resto_metas['PRINT_PREVIEW_ON_ACCEPT_ORDER']:"Disabled";
  223. @endphp
  224. <!-- Content Wrapper. Contains page content -->
  225. <div class="content-wrapper p-0">
  226. <div id="countdown"></div>
  227. <div class="container-full">
  228. <section class="content p-0">
  229. <div class="row">
  230. <div class="col-sm-12 p-0">
  231. <nav class="navbar navbar-static-top p-0">
  232. <!-- Sidebar toggle button-->
  233. <div class="row sm-m-0">
  234. <div class="col-md-12 tab-bar-section">
  235. <div class="app ovrflow-x-auto">
  236. <ul class="hs full nav nav-tabs" role="tablist">
  237. <li class="item nav-item d-inline">
  238. <div class="gap-items-4">
  239. <a class="nav-link p-0 active lh-48" data-bs-toggle="tab" href="#new-orders" data-status="new" role="tab">{{__('label.new')}}
  240. <span class="labelcenter label-default new">0</span></a>
  241. </div>
  242. </li>
  243. <li class="item nav-item d-inline">
  244. <div class="gap-items-4">
  245. <a class="nav-link p-0 lh-48" data-bs-toggle="tab" href="#in-kitchen" data-status="kitchen" role="tab">{{__('label.in_preparation')}}
  246. <span class="labelcenter label-default kitchen">0</span></a>
  247. </div>
  248. </li>
  249. <li class="item nav-item d-inline">
  250. <div class="gap-items-4">
  251. <a class="nav-link p-0 lh-48" data-bs-toggle="tab" href="#in-route" data-status="route" role="tab" >{{__('label.in_routeready')}}
  252. <span class="labelcenter label-default route">0</span></a>
  253. </div>
  254. </li>
  255. <li class="item nav-item d-inline">
  256. <div class="gap-items-4">
  257. <a class="nav-link p-0 lh-48" data-bs-toggle="tab" href="#all-orders" data-status="all" role="tab">{{__('label.all')}}
  258. <span class="labelcenter label-default all">0</span></a>
  259. </div>
  260. </li>
  261. </ul>
  262. </div>
  263. </div>
  264. </div>
  265. <!-- <div class="app-menu"></div> -->
  266. <a href="#" class="d-inline-block btn right-bar-btn waves-effect waves-circle btn btn-circle btn-danger btn-sm right-close-btn">
  267. <i class="mdi mdi-close"></i>
  268. </a>
  269. </nav>
  270. </div>
  271. </div>
  272. <div class="row">
  273. <div class="col-sm-12 col-md-4 order-sections-list" style="background-color: #f1f1f1">
  274. <div class="row p-10">
  275. <div class="col-md-12 mt-5">
  276. <div class="search-bx mx-5">
  277. <form>
  278. <div class="input-group search-div">
  279. <input type="search" class="form-control" style="background-color: transparent" placeholder="{{__('label.search_by_order_id')}}" aria-label="Search" aria-describedby="button-addon2">
  280. <div class="input-group-append">
  281. <button class="btn btn-sarch" type="submit" id="button-addon3"><i class="ti-search"></i></button>
  282. </div>
  283. </div>
  284. </form>
  285. </div>
  286. </div>
  287. </div>
  288. <div class="row mt-5 list_row">
  289. <div class=" col-md-12 position-relative p-0">
  290. <div class="tab-content">
  291. <div class="tab-pane fade in active all-orders position-relative" id="all-orders" role="tabpanel" style="max-height: 73vh; min-height: 73vh; overflow: auto;">
  292. <div class="p-0">
  293. <ul class="list-group list-ul list-unstyled orders-list" id="orders-list">
  294. {{--<li class="mlist_li p-5 mb-5 pl-15">
  295. <div class="d-grid gap-2 d-flex justify-content-center">
  296. <button class="btn btn-md btn-primary ref-btn">Refresh</button>
  297. </div>
  298. </li>--}}
  299. </ul>
  300. </div>
  301. </div>
  302. </div>
  303. <div class="load-more-order" data-start-page="2" data-number-of-items="{!! env('ORDER_NUMBER_ITEMS') !!}">Refresh</div>
  304. </div>
  305. </div>
  306. </div>
  307. <div class="col-sm-12 col-md-6 p-0 box-shadowed">
  308. <div class="no-order" style="padding-top: 50%; height: 93vh ;">
  309. <h3 class="text-center text-light">{{__('label.no_order_selected')}}</h3>
  310. </div>
  311. <div class="order-section" style="display: none; height: 90vh ; overflow-x: auto">
  312. <div class="row back-to-orders d-md-none d-lg-none">
  313. <div class="col-sm-12 text-center @if($lang=='ar') arrow-arabic @endif">
  314. @if($lang=="en")
  315. <svg style=" filter: drop-shadow(1px 0px 0px black);" xmlns="http://www.w3.org/2000/svg" width="13.917" height="9.785" viewBox="0 0 13.917 9.785">
  316. <path id="Shape_878" data-name="Shape 878" d="M301.31,1645.861h-7.36v2.854l-6.557-4.9,6.548-4.889v2.853h7.369Zm-8.177,1.227v-2.051h7.354v-2.443h-7.364v-2.036l-4.368,3.261Z" transform="translate(-287.393 -1638.93)"/>
  317. </svg>
  318. {{__('label.live_orders')}}
  319. @else
  320. <svg style=" filter: drop-shadow(1px 0px 0px black);" xmlns="http://www.w3.org/2000/svg" width="13.917" height="9.785" viewBox="0 0 13.917 9.785">
  321. <path id="Shape_878" data-name="Shape 878" d="M301.31,1645.861h-7.36v2.854l-6.557-4.9,6.548-4.889v2.853h7.369Zm-8.177,1.227v-2.051h7.354v-2.443h-7.364v-2.036l-4.368,3.261Z" transform="translate(-287.393 -1638.93)"/>
  322. </svg> {{__('label.live_orders')}}
  323. @endif
  324. </div>
  325. </div>
  326. <div class="row">
  327. <div class="col-sm-12">
  328. <div class="boxs">
  329. <div class="box-header with-border">
  330. <div class="d-flex justify-content-between align-items-center">
  331. <p class="fw-bold" rel="order_ref"></p>
  332. <p rel="order_placed"></p>
  333. <span class="inkitchen-btn badge badge-warning " id="toggle"></span>
  334. </div>
  335. </div>
  336. </div>
  337. </div>
  338. <div class="row">
  339. <div class="col-sm-12 mt-1 @if(app()->getLocale()=="ar") text-start @else text-end @endif px-0 pt-1 ">
  340. <a href="#!" class="print">
  341. <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" fill="currentColor" class="bi bi-printer-fill" viewBox="0 0 16 16">
  342. <path d="M5 1a2 2 0 0 0-2 2v1h10V3a2 2 0 0 0-2-2H5zm6 8H5a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1z"/>
  343. <path d="M0 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-1v-2a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2H2a2 2 0 0 1-2-2V7zm2.5 1a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1z"/>
  344. </svg>
  345. </a>
  346. </div>
  347. </div>
  348. <div class="for-mobile">
  349. <div class="row right-panel-box">
  350. <div class="col-6">
  351. <div class="boxs">
  352. <div class="box-body">
  353. <div class="d-flex align-items-start">
  354. <div>
  355. <p class="text-fade mb-0">{{__('label.brand')}}</p>
  356. <p rel="brand_name"></p>
  357. </div>
  358. </div>
  359. </div>
  360. </div>
  361. </div>
  362. <div class="col-6">
  363. <div class="boxs">
  364. <div class="box-body">
  365. <div class="d-flex align-items-start">
  366. <div>
  367. <p class="text-fade mb-0">{{__('label.outlets')}}</p>
  368. <p rel="outlet_name"></p>
  369. </div>
  370. </div>
  371. </div>
  372. </div>
  373. </div>
  374. </div>
  375. <div class="row right-panel-box">
  376. <div class="col-6">
  377. <div class="boxs">
  378. <div class="box-body">
  379. <div class="d-flex align-items-start">
  380. <div>
  381. <p class="text-fade mb-0">{{__('label.order_type')}}</p>
  382. <p>
  383. <i class="icon-Dinner"><span class="path1"></span><span class="path2"></span><span class="path3"></span><span class="path4"></span><span class="path5"></span></i>
  384. <p rel="order_type"></p>
  385. </p>
  386. </div>
  387. </div>
  388. </div>
  389. </div>
  390. </div>
  391. <div class="col-6 for-delivery">
  392. <div class="boxs">
  393. <div class="box-body">
  394. <div class="d-flex align-items-start">
  395. <div class="">
  396. <p class="text-fade mb-0">{{__('label.delivery_at')}}</p>
  397. <p style="direction: ltr !important;" rel="delivery_at"></p>
  398. </div>
  399. </div>
  400. </div>
  401. </div>
  402. </div>
  403. <div class="col-6 for-pickup" style="display:none">
  404. <div class="boxs">
  405. <div class="box-body">
  406. <div class="d-flex align-items-start">
  407. <div class="">
  408. <p class="text-fade mb-0">{{__('label.pickup_at')}}</p>
  409. <p rel="delivery_at"></p>
  410. </div>
  411. </div>
  412. </div>
  413. </div>
  414. </div>
  415. </div>
  416. <div class="row right-panel-box">
  417. <div class="col-6">
  418. <div class="boxs">
  419. <div class="box-body">
  420. <div class="d-flex align-items-start">
  421. <div class="">
  422. <p class="text-fade mb-0">{{__('label.customers')}}</p>
  423. <p rel="customer"> <br>
  424. <i class="mdi mdi-crown org-color"></i>
  425. <small class="org-color">Ordered 5 times </small>
  426. </p>
  427. </div>
  428. </div>
  429. </div>
  430. </div>
  431. </div>
  432. <div class="col-6">
  433. <div class="boxs">
  434. <div class="box-body">
  435. <div class="d-flex align-items-start">
  436. <div class="">
  437. <p class="text-fade mb-0">{{__('label.phone_number')}}</p>
  438. <p rel="phone"></p>
  439. </div>
  440. </div>
  441. </div>
  442. </div>
  443. </div>
  444. </div>
  445. <div class="row right-panel-box">
  446. <div class="col-6">
  447. <div class="boxs">
  448. <div class="box-body">
  449. <div class="d-flex align-items-start">
  450. <div class="">
  451. <p class="text-fade mb-0">{{__('label.payment_mode')}}</p>
  452. <p rel="payment"></p>
  453. </div>
  454. </div>
  455. </div>
  456. </div>
  457. </div>
  458. <div class="col-6">
  459. <div class="boxs">
  460. <div class="box-body">
  461. <div class="d-flex align-items-start">
  462. <div class="">
  463. <p class="text-fade mb-0">{{__('label.channel')}}</p>
  464. <p rel="channel"></p>
  465. </div>
  466. </div>
  467. </div>
  468. </div>
  469. </div>
  470. </div>
  471. <div class="row right-panel-box">
  472. <!--<div class="col-md-6" id="address">
  473. <div class="boxs">
  474. <div class="box-body">
  475. <div class="d-flex align-items-start">
  476. <div class="">
  477. <p class="text-fade mb-0">Address</p>
  478. <p rel="address"></p>
  479. </div>
  480. </div>
  481. </div>
  482. </div>
  483. </div>-->
  484. <div class="col-6" id="table" style="display:none">
  485. <div class="boxs">
  486. <div class="box-body">
  487. <div class="d-flex align-items-start">
  488. <div class="">
  489. <p class="text-fade mb-0">{{__('label.table')}}</p>
  490. <p rel="for_table"></p>
  491. </div>
  492. </div>
  493. </div>
  494. </div>
  495. </div>
  496. <div class="col-6 for-delivery">
  497. <div class="boxs">
  498. <div class="box-body">
  499. <div class="d-flex align-items-start">
  500. <div class="">
  501. <p class="text-fade mb-0">
  502. {{__('label.order_notes')}}</p>
  503. <p rel="order_instructions">
  504. </p>
  505. </div>
  506. </div>
  507. </div>
  508. </div>
  509. </div>
  510. <div class="col-6 for-delivery">
  511. <div class="boxs">
  512. <div class="box-body">
  513. <div class="d-flex align-items-start">
  514. <div class="">
  515. <p class="text-fade mb-0"> {{__('label.delivery_notes')}}</p>
  516. <p rel="delivery_notes">
  517. </p>
  518. </div>
  519. </div>
  520. </div>
  521. </div>
  522. </div>
  523. </div>
  524. <div class="row right-panel-box">
  525. <div class="col-md-12">
  526. <div class="boxs" style="position: relative">
  527. <div class="box-body address_action_div">
  528. <div class="d-flex align-items-start">
  529. <div class="">
  530. <p class="text-fade mb-0">{{__('label.address')}}</p>
  531. <p rel="address" style="max-width: 80%"></p>
  532. </div>
  533. </div>
  534. </div>
  535. <div class="actions">
  536. <ul class="list-inline">
  537. <li class="list-inline-item"><a href="#!" class="address-actions" data-action="copy-clipboard"><svg data-v-10e82b3e="" viewBox="0 0 20 20" fill="currentColor" xmlns="http://www.w3.org/2000/svg" class="" style="color: var(--color-midnight); width: 20px; height: 20px;"><path fill-rule="evenodd" d="M16 5.5H6a.5.5 0 00-.5.5v10a.5.5 0 00.5.5h10a.5.5 0 00.5-.5V6a.5.5 0 00-.5-.5zM6 4a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2V6a2 2 0 00-2-2H6z" clip-rule="evenodd"></path><path fill-rule="evenodd" d="M1.25 4A2.75 2.75 0 014 1.25h6a.75.75 0 010 1.5H4c-.69 0-1.25.56-1.25 1.25v6a.75.75 0 01-1.5 0V4z" clip-rule="evenodd"></path></svg></a></li>
  538. <li class="list-inline-item"><a href="#!" class="address-actions" data-action="google-map"><svg data-v-2740a47f="" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg" class="" style="width: 20px; height: 20px;"><path d="M16.45 7.7c0 3.152-2.19 4.965-3.831 6.72-.983 1.051-1.769 4.48-1.769 4.48s-.784-3.426-1.764-4.475C7.443 12.671 5.25 10.855 5.25 7.7a5.6 5.6 0 1111.2 0v0z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M8.61 7.7a2.24 2.24 0 104.48 0 2.24 2.24 0 00-4.48 0z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></li>
  539. <li class="list-inline-item">
  540. <a href="#!" class="address-actions" data-action="whatsapp">
  541. <svg data-v-2740a47f="" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg" class="" style="width: 20px; height: 20px;"><path fill-rule="evenodd" clip-rule="evenodd" d="M4.071 4.013a9.192 9.192 0 016.502-2.663 9.192 9.192 0 019.207 9.143v.01A9.222 9.222 0 015.803 18.33l-2.92.925a.75.75 0 01-.937-.954l.932-2.763a9.027 9.027 0 01-1.528-5.042v-.003a9.192 9.192 0 012.721-6.48zM10.572 2.1l-.002.75a7.692 7.692 0 00-7.72 7.65 7.527 7.527 0 001.464 4.473.75.75 0 01.107.685l-.58 1.72 1.84-.583a.75.75 0 01.638.088 7.722 7.722 0 0011.96-6.387 7.692 7.692 0 00-7.705-7.646l-.002-.75zM8.548 5.878c.223.115.47.313.606.628.055.126.132.314.212.51l.177.43c.07.167.134.316.186.428.026.056.045.096.058.12v.002a1.149 1.149 0 01.058 1.17 1.27 1.27 0 01-.282.38 5.126 5.126 0 01-.07.063l-.048.045a6.172 6.172 0 002.386 2.02c.085-.116.18-.253.252-.367.156-.246.41-.47.777-.513.277-.032.52.062.614.098l.009.004c.2.076 1.063.497 1.425.673l.136.066c.019.009.04.02.064.03.077.037.173.082.246.123.085.047.297.166.434.4.04.068.067.14.083.213a1.81 1.81 0 01-.216 1.572c-.796 1.379-2.173 1.81-3.55 1.667-1.356-.14-2.785-.827-3.962-1.76-1.178-.934-2.19-2.183-2.63-3.538-.452-1.393-.293-2.904.899-4.163.401-.436 1-.53 1.429-.496.233.018.482.078.707.195zm5.91 7.139l-.066-.031-.175-.085a155.61 155.61 0 00-1.056-.508 6 6 0 01-.39.508c-.133.15-.35.327-.67.366a1.22 1.22 0 01-.686-.133 7.672 7.672 0 01-3.436-2.979l-.01-.016a1.033 1.033 0 01-.085-.922c.086-.216.248-.379.276-.408a8.417 8.417 0 01.24-.234 15.217 15.217 0 01-.242-.552l-.19-.463a46.22 46.22 0 00-.15-.365.524.524 0 00-.313.012c-.76.8-.875 1.717-.565 2.672.323.995 1.113 2.016 2.135 2.826 1.021.81 2.188 1.34 3.184 1.443.963.1 1.683-.193 2.108-.943a.728.728 0 01.038-.061.312.312 0 00.052-.127zM7.515 7.194l-.002.003.002-.003zm.346.018H7.86h.002zm4.226 4.58zm-2.29-3.779z" fill="currentColor"></path></svg>
  542. </a>
  543. </li>
  544. </ul>
  545. </div>
  546. </div>
  547. </div>
  548. </div>
  549. @if( $business_type=="Florist")
  550. <div class="row right-panel-box" >
  551. <div class="col-6">
  552. <div class="boxs">
  553. <div class="box-body">
  554. <div class="d-flex align-items-start">
  555. <div class="">
  556. <p class="text-fade mb-0">{{__('label.receiver_name')}}</p>
  557. <p rel="recipient_name"></p>
  558. </div>
  559. </div>
  560. </div>
  561. </div>
  562. </div>
  563. <div class="col-6">
  564. <div class="boxs">
  565. <div class="box-body">
  566. <div class="d-flex align-items-start">
  567. <div class="">
  568. <p class="text-fade mb-0">{{__('label.receiver_phone')}}</p>
  569. <p rel="recipient_phone"></p>
  570. </div>
  571. </div>
  572. </div>
  573. </div>
  574. </div>
  575. </div>
  576. <div class="row right-panel-box" >
  577. <div class="col-md-12">
  578. <div class="boxs">
  579. <div class="box-body">
  580. <div class="d-flex align-items-start">
  581. <div class="">
  582. <p class="text-fade mb-0">{{__('label.greeting_message')}}</p>
  583. <p rel="greeting_message"></p>
  584. </div>
  585. </div>
  586. </div>
  587. </div>
  588. </div>
  589. </div>
  590. @endif
  591. <div class="col-12" id="show-recipes"></div>
  592. <div class="col-12 calc_div">
  593. <div class="box-header border-0 p-15 mt-0 pb-0">
  594. <div class="d-flex justify-content-between align-items-center m-0">
  595. <p>{{__('label.sub_total')}}:</p>
  596. <p class="sub_total"></p>
  597. </div>
  598. <div class="discount_with text-success d-flex justify-content-between align-items-center m-0">
  599. <p>{{__('label.discounts')}}:</p>
  600. <p class="discount_total">AED 0</p>
  601. </div>
  602. <div id="only-delivery">
  603. <div class="d-flex justify-content-between align-items-center m-0">
  604. <p>{{__('label.delivery_fee')}}:</p>
  605. <p class="delivery_fee"></p>
  606. </div>
  607. <div class="delivery_discount_with text-success d-flex justify-content-between align-items-center m-0">
  608. <p>{{__('label.delivery_discounts')}}:</p>
  609. <p class="delivery_discount_total">AED 0</p>
  610. </div>
  611. </div>
  612. <div class="d-flex fw-bold justify-content-between align-items-center m-0">
  613. <p class="">{{__('label.total')}}:</p>
  614. <p class="total_txt"></p>
  615. </div>
  616. </div>
  617. </div>
  618. </div>
  619. </div>
  620. <div class="row mt-0 right-panel-footer footer_btn_div">
  621. <div class="col-12 mt-5 button-bottom-div">
  622. <div class="m-0 text-center">
  623. <button type="button" class="waves-effect waves-light btn btn-outline btn-danger mb-0 btn-w80 rounded-0 rclose-btn reject change-status-reject" data-status="Rejected" style="display: none">{{__('label.reject')}}</button>
  624. <button type="button" class="waves-effect waves-light btn btn-outline btn-dark mb-0 btn-w50 rounded-0 rclose-btn accept change-status-reject" data-status="Close" style="display: none">{{__('label.close')}}</button>
  625. <button type="button" class="waves-effect waves-light btn btn-outline btn-danger mb-0 btn-w50 rounded-0 accept change-status-reject" data-status="Rejected" style="display: none">{{__('label.cancel')}}</button>
  626. <button type="button" class="waves-effect waves-light btn btn-default btn-w80 rounded-0 ready-collect change-status " data-status="">{{__('label.accept')}}</button>
  627. </div>
  628. </div>
  629. </div>
  630. </div>
  631. </div>
  632. </div>
  633. </section>
  634. <!-- /.content -->
  635. </div>
  636. </div>
  637. <!-- /.content-wrapper -->
  638. <div class="modal center-modal fade" id="accept-modal" tabindex="-1">
  639. <div class="modal-dialog">
  640. <div class="modal-content">
  641. <div class="modal-body">
  642. <h4>{{__('label.order_settings')}}</h4>
  643. <p>{{__('label.set_time_preparing_orders')}}</p>
  644. <div class="row">
  645. <div class="col-sm-6">
  646. <div class="form-group">
  647. <label>{{__('label.preparation_minutes')}}</label>
  648. <input type="text" name="preparation_time" class="form-control" value="" />
  649. </div>
  650. </div>
  651. <div class="col-sm-6">
  652. <div class="form-group">
  653. <label>{{__('label.preparation_delivery_minutes')}}</label>
  654. <input type="text" name="preperation_delivery" class="form-control" value="" />
  655. </div>
  656. </div>
  657. <div class="col-sm-12">
  658. <div class="form-group">
  659. <label>{{__('label.type')}}</label>
  660. <select class="form-control" name="preparation_type">
  661. <option value="MINUTES">{{__('label.minutes')}}</option>
  662. <option value="HOURS">{{__('label.hours')}}</option>
  663. <option value="DAYS">{{__('label.days')}}</option>
  664. </select>
  665. </div>
  666. </div>
  667. </div>
  668. </div>
  669. <div class="modal-footer modal-footer-uniform">
  670. <button type="button" class="btn btn-danger" data-bs-dismiss="modal">{{__('label.close')}}</button>
  671. <button type="button" class="btn btn-primary float-end accept-order">{{__('label.accept')}}</button>
  672. </div>
  673. </div>
  674. </div>
  675. </div>
  676. <div id="print-recipt"> </div>
  677. @endsection
  678. @section('js')
  679. <script src="{!! env('APP_ASSETS') !!}js/jquery.jscroll.min.js"></script>
  680. <script src="{!! env('APP_ASSETS') !!}js/jquery.countdown360.min.js"></script>
  681. <script src="{!! env('APP_ASSETS') !!}vendor_components/sweetalert/sweetalert.min.js"></script>
  682. <script>
  683. var resto_id = 0;
  684. var status = "new";
  685. var counter = 0;
  686. var order_id = null;
  687. var order_object = null;
  688. $(function () {
  689. count_order_status();
  690. $("body").on("click",".back-to-orders",function () {
  691. $(".order-section").hide();
  692. });
  693. $("body").on("click",".address-actions",function(){
  694. var _actions = $(this).data("action");
  695. if(_actions=="google-map"){
  696. var map = "https://maps.google.com/?q="+order_object.geo_location;
  697. window.open(map,"_blank");
  698. return false;
  699. }
  700. if(_actions=="whatsapp"){
  701. var template = order_text_template(order_object,"whatsapp");
  702. //console.log(encodeURIComponent(template));
  703. window.open("https://api.whatsapp.com/send?text="+(template),"_blank");
  704. }
  705. if(_actions=="copy-clipboard"){
  706. var template = order_text_template(order_object,"copy-clipboard");
  707. //console.log(encodeURIComponent(template));
  708. navigator.clipboard.writeText(template);
  709. }
  710. });
  711. $("body").on("click",".print",function () {
  712. $.ajax({
  713. url:"{!! env('APP_URL') !!}order/print/"+order_id,
  714. success:function (response) {
  715. $('#print-recipt').html(response);
  716. $('#print-recipt').printThis();
  717. }
  718. });
  719. });
  720. $("body").on("click",".load-more-order",function(){
  721. var _start_page = $(this).data('start-page');
  722. var _number_of_orders = $(this).data('number-of-items');
  723. $.ajax({
  724. url:"{!! env('APP_URL') !!}liveorders",
  725. type:"POST",
  726. data:{
  727. "_token":"{!! csrf_token() !!}",
  728. status:status,
  729. start_page:_start_page,
  730. number_of_orders:_number_of_orders
  731. },
  732. success:function (response) {
  733. // response = $.parseJSON(response);
  734. console.log(response);
  735. if(response){
  736. if(response.type=="success"){
  737. var order_num_limit = "{!! env('ORDER_NUMBER_ITEMS') !!}";
  738. order_num_limit = parseInt(order_num_limit);
  739. var _total_orders = (response.orders.pagination.total_orders);
  740. _total_orders = parseInt(_total_orders);
  741. if(_total_orders > order_num_limit){
  742. $(".load-more-order").show();
  743. $(".all-orders").removeClass('full');
  744. }
  745. else{
  746. $(".load-more-order").hide();
  747. $(".all-orders").addClass('full');
  748. }
  749. $.each(response.orders,function (i,v) {
  750. if(i!="pagination"){
  751. var str='<li class="mlist_li" rel="detail" data-order-id="'+v.id+'">\n' +
  752. ' <div class="box '+v.box_bg+' rounded-0">\n' +
  753. ' <div class="media-list media-list-divided media-list-hover">\n' +
  754. ' <div class="media align-items-center">\n' +
  755. ' <div class="media-body">\n' +
  756. ' <p>#'+v.order_ref+'</p>\n' +
  757. ' <p> '+(v.campaign_type!=""?v.campaign_type:"Direct")+', '+v.created_at+'</p>\n' +
  758. ' </div>\n' +
  759. ' <div class="media-right gap-items">\n' +
  760. ' <div class="user-social-acount text-center">\n' +
  761. ' <p class="m-0 status">'+v.status+'</p>\n' +
  762. ' <div class="d-flex align-items-center float-end">\n' +
  763. ' <div class="circle-div '+v.bg+' text-center" data-min="'+v.remaining_min+'" data-color="'+v.bg_color+'">\n' +
  764. ' <p class="mb-5 min">'+v.remaining_min+'<br />\n'+
  765. ' Min</p>\n'+
  766. ' </div>\n' +
  767. ' </div>\n' +
  768. ' </div>\n' +
  769. ' </div>\n' +
  770. ' </div>\n' +
  771. ' </div>\n' +
  772. ' </div>\n' +
  773. '</li>';
  774. counter = counter+1;
  775. $("#orders-list").append(str);
  776. }else{
  777. $('div.load-more-order').attr('data-start-page',v.next_page);
  778. $('div.load-more-order').data('start-page',v.next_page);
  779. //$("#orders-list").append(str);
  780. }
  781. });
  782. $("span."+status).html(counter);
  783. }else{
  784. $('div.load-more-order').html("No more order found");
  785. // $("#all-orders").addClass('no-order-found');
  786. }
  787. }
  788. }
  789. });
  790. });
  791. $("#all-orders").removeClass('no-order-found');
  792. $.ajax({
  793. url:"{!! env('APP_URL') !!}liveorders",
  794. type:"POST",
  795. data:{
  796. "_token":"{!! csrf_token() !!}",
  797. status:status,
  798. start_page:1,
  799. number_of_orders:100
  800. },
  801. success:function (response) {
  802. // response = $.parseJSON(response);
  803. console.log(response);
  804. if(response){
  805. if(response.type=="success"){
  806. var order_num_limit = "{!! env('ORDER_NUMBER_ITEMS') !!}";
  807. order_num_limit = parseInt(order_num_limit);
  808. var _total_orders = (response.orders.pagination.total_orders);
  809. _total_orders = parseInt(_total_orders);
  810. if(_total_orders > order_num_limit){
  811. $(".load-more-order").show();
  812. $(".all-orders").removeClass('full');
  813. }
  814. else{
  815. $(".load-more-order").hide();
  816. $(".all-orders").addClass('full');
  817. }
  818. $.each(response.orders,function (i,v) {
  819. if(i!="pagination"){
  820. var str='<li class="mlist_li" rel="detail" data-order-id="'+v.id+'">\n' +
  821. ' <div class="box '+v.box_bg+' rounded-0">\n' +
  822. ' <div class="media-list media-list-divided media-list-hover">\n' +
  823. ' <div class="media align-items-center">\n' +
  824. ' <div class="media-body">\n' +
  825. ' <p>#'+v.order_ref+'</p>\n' +
  826. ' <p> '+(v.campaign_type!=""?v.campaign_type:"Direct")+', '+v.created_at+'</p>\n' +
  827. ' </div>\n' +
  828. ' <div class="media-right gap-items">\n' +
  829. ' <div class="user-social-acount text-center">\n' +
  830. ' <p class="m-0 status">'+v.status+'</p>\n' +
  831. ' <div class="d-flex align-items-center float-end">\n' +
  832. ' <div class="circle-div '+v.bg+' text-center" data-min="'+v.remaining_min+'" data-color="'+v.bg_color+'">\n' +
  833. ' <p class="mb-5 min">'+v.remaining_min+'<br />\n'+
  834. ' Min</p>\n'+
  835. ' </div>\n' +
  836. ' </div>\n' +
  837. ' </div>\n' +
  838. ' </div>\n' +
  839. ' </div>\n' +
  840. ' </div>\n' +
  841. ' </div>\n' +
  842. '</li>';
  843. counter = counter+1;
  844. $("#orders-list").append(str);
  845. }else{
  846. console.log(v);
  847. $('div.load-more-order').attr('data-start-page',v.next_page);
  848. //$("#orders-list").append(str);
  849. }
  850. });
  851. $("span."+status).html(counter);
  852. }else{
  853. $("#all-orders").addClass('no-order-found');
  854. }
  855. }
  856. }
  857. });
  858. $("body").on("click",".nav-link",function () {
  859. $("#orders-list").html('');
  860. $(".no-order").show();
  861. $(".order-section").hide();
  862. $('div.load-more-order').attr('data-start-page',2);
  863. $('div.load-more-order').data('start-page',2);
  864. status = $(this).data('status');
  865. $("#all-orders").removeClass('no-order-found');
  866. var counter = 0;
  867. $.ajax({
  868. url:"{!! env('APP_URL') !!}liveorders",
  869. type:"POST",
  870. data:{
  871. "_token":"{!! csrf_token() !!}",
  872. status:status,
  873. start_page:1,
  874. number_of_orders:"{!! env('ORDER_NUMBER_ITEMS') !!}"
  875. },
  876. success:function (response) {
  877. // response = $.parseJSON(response);
  878. if(response){
  879. if(response.type=="success"){
  880. var order_num_limit = "{!! env('ORDER_NUMBER_ITEMS') !!}";
  881. order_num_limit = parseInt(order_num_limit);
  882. var _total_orders = (response.orders.pagination.total_orders);
  883. _total_orders = parseInt(_total_orders);
  884. if(_total_orders > order_num_limit){
  885. $(".load-more-order").show();
  886. $(".all-orders").removeClass('full');
  887. }
  888. else{
  889. $(".load-more-order").hide();
  890. $(".all-orders").addClass('full');
  891. }
  892. $.each(response.orders,function (i,v) {
  893. if(i!="pagination"){
  894. var str='<li class="mlist_li" rel="detail" data-order-id="'+v.id+'">\n' +
  895. ' <div class="box '+v.box_bg+' rounded-0">\n' +
  896. ' <div class="media-list media-list-divided media-list-hover">\n' +
  897. ' <div class="media align-items-center">\n' +
  898. ' <div class="media-body">\n' +
  899. ' <p>#'+v.order_ref+'</p>\n' +
  900. ' <p> '+(v.campaign_type!=""?v.campaign_type:"Direct")+', '+v.created_at+'</p>\n' +
  901. ' </div>\n' +
  902. ' <div class="media-right gap-items">\n' +
  903. ' <div class="user-social-acount text-center">\n' +
  904. ' <p class="m-0 status">'+v.status+'</p>\n' +
  905. ' <div class="circle-div '+v.bg+' text-center" data-min="'+v.remaining_min+'" data-color="'+v.bg_color+'">\n' +
  906. ' <p class="mb-5 min">'+v.remaining_min+'<br />\n'+
  907. ' Min</p>\n'+
  908. ' </div>\n' +
  909. ' </div>\n' +
  910. ' </div>\n' +
  911. ' </div>\n' +
  912. ' </div>\n' +
  913. ' </div>\n' +
  914. '</li>';
  915. $("#orders-list").append(str);
  916. counter = counter+1;
  917. }
  918. });
  919. }else{
  920. $(".load-more-order").hide();
  921. $("#all-orders").addClass('no-order-found');
  922. }
  923. //$("span."+status).html(counter);
  924. }
  925. }
  926. });
  927. });
  928. var _already_clicked = false;
  929. $("body").on("click","li[rel=detail]",function () {
  930. if(!_already_clicked){
  931. //_already_clicked = true;
  932. var id = $(this).data("order-id");
  933. order_id = id;
  934. $(".mlist_li.selected").removeClass('selected');
  935. $("#show-recipes").html('');
  936. $(this).addClass('selected');
  937. $(".discount_with").removeClass('active');
  938. $(".delivery_discount_with").removeClass('active');
  939. $("p[rel]").each(function(){
  940. $(this).html(progress_img);
  941. });
  942. $("#show-recipes").html(progress_img);
  943. $(".sub_total, .delivery_fee, .delivery_discount_total, .total_txt").html(progress_img);
  944. $.ajax({
  945. url:"{!! env('APP_URL') !!}show/order/detail/"+id,
  946. success:function (response) {
  947. $("p[rel]").each(function(){
  948. $(this).html('');
  949. });
  950. $("#show-recipes").html('');
  951. $(".sub_total, .delivery_fee, .delivery_discount_total, .total_txt").html('');
  952. $("#accept-modal input[name=preparation_time]").val(response.order_info.estimated_time.preparation_time);
  953. $("#accept-modal input[name=preperation_delivery]").val(response.order_info.estimated_time.preparation_delivery_time);
  954. $("#accept-modal select[name=preparation_type]").val(response.order_info.estimated_time.time_type);
  955. $(".change-status").attr('data-id',id);
  956. $(".change-status-reject").attr('data-id',id);
  957. var o_t = response.order_info.order_type.toLowerCase();
  958. $(".for-delivery").hide();
  959. $(".for-pickup").hide();
  960. $(".for-"+o_t).show();
  961. if(o_t=="pickup"){
  962. $("#only-delivery").hide();
  963. }
  964. $("p[rel=order_placed]").html(response.order_info.order_placed);
  965. $("p[rel=order_ref]").html(response.order_info.order_ref);
  966. $("p[rel=brand_name]").html(response.business_info.business_name);
  967. $("p[rel=outlet_name]").html(response.business_info.outlet_name);
  968. $(".inkitchen-btn").removeClass('org-bg');
  969. $(".inkitchen-btn").removeClass('bg-danger');
  970. $(".inkitchen-btn").removeClass('green-bg');
  971. $(".inkitchen-btn").addClass(response.order_info.bg);
  972. $(".inkitchen-btn").html(response.order_info.status);
  973. $("p[rel=order_type]").html(response.order_info.order_type);
  974. if(response.order_info.status=="New"){
  975. $(".reject").show();
  976. $(".accept").hide();
  977. }else{
  978. $(".accept").show();
  979. $(".reject").hide();
  980. }
  981. if(response.order_info.order_type=="Dine in"){
  982. $("#address").hide();
  983. $("#table").show();
  984. $("#google-map-link").hide();
  985. }else{
  986. $("#address").show();
  987. $("#table").hide();
  988. if(response.order_info.order_type=="Delivery")
  989. $("#google-map-link").show();
  990. else
  991. $("#google-map-link").hide();
  992. }
  993. $(".change-status").html(response.order_info.next_status_label);
  994. $(".change-status").attr('data-status',response.order_info.next_status);
  995. $("p[rel=delivery_at]").html(response.order_info.delivery_at);
  996. $("p[rel=payment]").html(response.order_info.payment);
  997. $("p[rel=channel]").html(response.order_info.channel);
  998. $("p[rel=order_instructions]").html(response.order_info.order_instructions);
  999. $("p[rel=customer]").html(response.customer.customer_name);
  1000. $("p[rel=phone]").html(response.customer.customer_phone);
  1001. $("p[rel=delivery_notes]").html(response.customer.delivery_instructions);
  1002. $("p[rel=address]").html(response.customer.deliveryAddress);
  1003. //BASKET INFORMATION
  1004. var items = response.basket.items?response.basket.items:null;
  1005. if(items){
  1006. $(items).each(function(index, item){
  1007. $("#show-recipes").append(show_item(item));
  1008. });
  1009. }
  1010. var is_discount = response.basket.is_discount;
  1011. if(is_discount){
  1012. $(".discount_with").addClass('active');
  1013. $(".discount_total").html(response.basket.discounted_amount.formatted_price);
  1014. }else{
  1015. $(".discount_with").removeClass('active');
  1016. $(".discount_total").html(0);
  1017. }
  1018. var is_delivery_discount = response.basket.is_delivery_discount;
  1019. if(is_delivery_discount){
  1020. $(".delivery_discount_with ").addClass('active');
  1021. $(".delivery_discount_total ").html(response.basket.delivery_discounted_amount.formatted_price);
  1022. }else{
  1023. $(".delivery_discount_with").removeClass('active');
  1024. $(".delivery_discount_total").html(0);
  1025. }
  1026. $(".sub_total").html(response.basket.sub_total.formatted_price);
  1027. $(".delivery_fee").html(response.basket.delivery_fee.formatted_price);
  1028. if(is_discount)
  1029. $(".total_txt").html(response.basket.discounted_total_price.formatted_price);
  1030. else
  1031. $(".total_txt").html(response.basket.grand_total.formatted_price);
  1032. },
  1033. cache: false
  1034. });
  1035. $(".no-order").hide();
  1036. $(".order-section").show();
  1037. }
  1038. });
  1039. $('ul.pagination').hide();
  1040. $('#all-orders').jscroll({
  1041. autoTrigger: true,
  1042. loadingHtml: '<img class="text-center" src="{!! env('APP_ASSETS') !!}images/preloaders/preloader.svg" alt="Loading..." />',
  1043. padding: 0,
  1044. nextSelector: '.pagination li.active + li a',
  1045. contentSelector: 'div.mlist_li',
  1046. callback: function() {
  1047. $('ul.pagination').remove();
  1048. }
  1049. });
  1050. $("body").on("click",".nav-link",function () {
  1051. $(".nav-link").removeClass('active')
  1052. $(this).addClass('active')
  1053. });
  1054. $("body").on("click",".order-row",function () {
  1055. var id = $(this).data('id');
  1056. window.location = "{!! env('APP_URL') !!}order/show/"+id;
  1057. });
  1058. $("body").on("click",".accept-order",function () {
  1059. var _this = $(this);
  1060. var preparation_time = $("input[name=preparation_time]").val();
  1061. var preperation_delivery = $("input[name=preperation_delivery]").val();
  1062. var preparation_type = $("select[name=preparation_type]").val();
  1063. if(preperation_delivery==""){
  1064. $("input[name=preperation_delivery]").focus();
  1065. return false;
  1066. }
  1067. if(preparation_time==""){
  1068. $("input[name=preparation_time]").focus();
  1069. return false;
  1070. }
  1071. _this.attr('disabled','disabled');
  1072. _this.html(progress_img);
  1073. _this.removeClass('btn-primary');
  1074. _this.addClass('btn-muted');
  1075. $.ajax({
  1076. url:"{!! env('APP_URL') !!}update/order/status",
  1077. type:"POST",
  1078. data:{
  1079. id:order_id,
  1080. status:"Accepted",
  1081. preparation_time:preparation_time,
  1082. preperation_delivery:preperation_delivery,
  1083. preparation_type:preparation_type,
  1084. "_token":"{!! csrf_token() !!}"
  1085. },
  1086. success:function (response) {
  1087. if(response.type=="error"){
  1088. // alert(response.message);
  1089. swal({
  1090. title:"Order Status",
  1091. text: response.message,
  1092. type: "error",
  1093. showCancelButton: false,
  1094. confirmButtonText: " OK!",
  1095. closeOnConfirm: true,
  1096. });
  1097. }else{
  1098. @if($is_allow_print_preview=="Enabled")
  1099. $(".print").trigger('click');
  1100. @endif
  1101. }
  1102. $("#accept-modal").modal('hide');
  1103. // alert();
  1104. $(".mlist_li.selected").remove();
  1105. //$("#orders-list").html('');
  1106. _this.removeAttr('disabled');
  1107. _this.html('Accept Order');
  1108. _this.removeClass('btn-muted');
  1109. _this.addClass('btn-primary');
  1110. count_order_status();
  1111. audio.pause();
  1112. $(".no-order").show();
  1113. $(".order-section").hide();
  1114. }
  1115. });
  1116. });
  1117. $("body").on("click",'.change-status,.change-status-reject',function (e) {
  1118. // alert();
  1119. var s = $(".nav-link.active").data('status');
  1120. var status = $(this).attr('data-status');
  1121. // alert(status); return;
  1122. if(status=="Rejected"){
  1123. swal({
  1124. title: "Are you sure?",
  1125. text: "You will not be able to recover this order!",
  1126. type: "warning",
  1127. showCancelButton: true,
  1128. confirmButtonColor: "#DD6B55",
  1129. confirmButtonText: "Yes, Reject it!",
  1130. closeOnConfirm: false
  1131. }, function(e){
  1132. if(e){
  1133. //.after('disable-this');
  1134. $(".sa-button-container .confirm").attr('disabled','disabled');
  1135. //$(".sa-button-container .confirm").html(progress_img);
  1136. $(".sa-button-container .confirm").removeClass('btn-primary');
  1137. $(".sa-button-container .confirm").addClass('btn-muted');
  1138. $.ajax({
  1139. url:"{!! env('APP_URL') !!}update/order/status",
  1140. type:"POST",
  1141. data:{
  1142. id:order_id,
  1143. status:status,
  1144. "_token":"{!! csrf_token() !!}"
  1145. },
  1146. success:function () {
  1147. //alert();
  1148. $(".sa-button-container .confirm").removeAttr('disabled');
  1149. //$(".sa-button-container .confirm").html(progress_img);
  1150. $(".sa-button-container .confirm").addClass('btn-primary');
  1151. $(".sa-button-container .confirm").removeClass('btn-muted');
  1152. swal.close()
  1153. $(".mlist_li.selected").remove();
  1154. $(".no-order").show();
  1155. $(".order-section").hide();
  1156. count_order_status();
  1157. audio.pause();
  1158. // swal("Rejected!", "Order is rejected.", "success");
  1159. }
  1160. });
  1161. }
  1162. });
  1163. return false;
  1164. }
  1165. if(status=="Accepted"){
  1166. $("#accept-modal").modal('show');
  1167. return false;
  1168. }
  1169. // alert(order_id);
  1170. $.ajax({
  1171. url:"{!! env('APP_URL') !!}update/order/status",
  1172. type:"POST",
  1173. data:{
  1174. id:order_id,
  1175. status:status,
  1176. "_token":"{!! csrf_token() !!}"
  1177. },
  1178. success:function () {
  1179. $(".mlist_li.selected").remove();
  1180. count_order_status();
  1181. if(s=="all"){
  1182. $("#orders-list").html('');
  1183. }
  1184. $(".no-order").show();
  1185. $(".order-section").hide();
  1186. }
  1187. });
  1188. e.preventDefault();
  1189. e.stopPropagation();
  1190. });
  1191. $('.table').DataTable({
  1192. "order": [[ 0, "desc" ]],
  1193. 'paging' : true,
  1194. 'lengthChange': true,
  1195. 'searching' : true,
  1196. 'ordering' : true,
  1197. 'info' : true,
  1198. 'autoWidth' : true,
  1199. /*"processing": true,
  1200. "serverSide": true,
  1201. "ajax": "{!! env('APP_URL') !!}get/ajax/orders",
  1202. "order": [[ 0, "desc", ]],*/
  1203. "lengthMenu": [ 50, 100, 150 ]
  1204. });
  1205. var min_minus = 1;
  1206. setInterval(function(){
  1207. $(".circle-div").each(function (i,v) {
  1208. var min = parseInt($(this).data('min'));
  1209. min = 1;
  1210. if((min)>0){
  1211. var new_time = (min-min_minus);
  1212. // alert(new_time);
  1213. if(new_time >= 0){
  1214. $(this).attr('data-min',new_time);
  1215. $(this).find('p.min').html(new_time+"<br />Min");
  1216. }
  1217. }
  1218. });
  1219. min_minus++;
  1220. },60000);
  1221. })
  1222. function show_recipe(recipe){
  1223. var discount_amount = parseFloat(recipe.discount_amount);
  1224. var str='<div class="box-header border-1 ">\n' +
  1225. ' <div class="ml-5">\n' +
  1226. ' <div class="d-flex justify-content-between align-items-center">\n' +
  1227. ' <p><span class="badge rounded-pill bg-secondary mx-2">'+recipe.quantity+' </span><img src="'+recipe.recipe_image+'" style="border-radius:10px; margin:0 3px" height="40px" width="40px" /> '+recipe.recipe_name+'</p>\n' ;
  1228. if(recipe.total_price > 0){
  1229. var price = parseFloat(recipe.total_price);
  1230. if(discount_amount > 0){
  1231. if(recipe.discount_type=="%"){
  1232. price = price - (price * (discount_amount/100));
  1233. price = "<span>"+price+"</span>" + "<span style='margin-left:10px; color:red'><del>"+recipe.total_price+"</del></span>";
  1234. }
  1235. }
  1236. str+= ' <p>{{ $currency }} '+price+'</p>\n';
  1237. }
  1238. if(recipe.extra_options){
  1239. str+='<dl>';
  1240. if(recipe.extra_options){
  1241. $.each(recipe.extra_options,function(c,d){
  1242. @if($business_type=="ClothsStore")
  1243. if(c=="color")
  1244. str+='<div style="width: 20px; height: 20px; background-color: '+d+'; border-radius: 20px; float:left"></div>';
  1245. if(c=="size")
  1246. str+='<div style="float:right;font-size: 14px;margin-left: 8px;font-weight: 700;"> '+d+'</div>';
  1247. @else
  1248. if(d.price && d.price!=""){
  1249. var price = parseFloat(d.price);
  1250. console.log("p: "+d.price);
  1251. if(discount_amount > 0){
  1252. if(recipe.discount_type=="%"){
  1253. price = price - (price * (discount_amount/100));
  1254. price = "<span>"+price+"</span>" + "<span style='margin-left:10px; color:red'><del>"+d.price+"</del></span>";
  1255. }
  1256. }
  1257. var extItemName = d.name;
  1258. @if($lang=='ar')
  1259. extItemName = d.name_ar;
  1260. @endif
  1261. str+="<dt>"+
  1262. extItemName
  1263. +" : {{ $currency }} "+price;
  1264. if(d.sub_items){
  1265. //str+="<ul>";
  1266. $.each(d.sub_items,function(m,n){
  1267. console.log("Sub Items");
  1268. str+="<dd>"+n.name+"</dd>";
  1269. });
  1270. //str+="</dt>";
  1271. }
  1272. str+="</li>";
  1273. }else{
  1274. var extItemName = d.name;
  1275. @if($lang=='ar')
  1276. extItemName = d.name_ar;
  1277. @endif
  1278. str+="<dt>"+
  1279. extItemName;
  1280. if(d.sub_items){
  1281. //str+="<ul>";
  1282. $.each(d.sub_items,function(m,n){
  1283. console.log("Sub Items");
  1284. str+="<dd>"+n.name+"</dd>";
  1285. });
  1286. //str+="</dt>";
  1287. }
  1288. str+="</li>";
  1289. }
  1290. @endif
  1291. });
  1292. }
  1293. str+='<dl>';
  1294. }
  1295. str+=
  1296. ' </div>\n' +
  1297. ' </div>\n' +
  1298. ' </div>';
  1299. return str;
  1300. }
  1301. function show_recipe_with_discount(recipe,with_discount){
  1302. var discount_amount = 0;
  1303. if(with_discount.discount_type=="percentage")
  1304. discount_amount = parseFloat(with_discount.discount_value)/100;
  1305. else
  1306. discount_amount = parseFloat(with_discount.discounted_amount);
  1307. var str='<div class="box-header border-1 ">\n' +
  1308. ' <div class="ml-5">\n' +
  1309. ' <div class="d-flex justify-content-between align-items-center">\n' +
  1310. ' <p><span class="badge rounded-pill bg-secondary mx-2">'+recipe.quantity+' </span><img src="'+recipe.recipe_image+'" style="border-radius:10px; margin:0 3px" height="40px" width="40px" /> '+recipe.recipe_name+'</p>\n' ;
  1311. if(recipe.total_price > 0){
  1312. var price = parseFloat(recipe.total_price);
  1313. var discounted_price = 0;
  1314. if(with_discount.discount_type=="percentage"){
  1315. discounted_price = parseFloat(price) - (parseFloat(price) * (parseFloat(with_discount.discount_value)/100));
  1316. console.log(discounted_price);
  1317. }
  1318. //price = price - (price * (discount_amount/100));
  1319. if(discounted_price > 0)
  1320. price = "<span>"+discounted_price+"</span>" +"<span style='margin-left:10px; color:red'><del>"+price+"</del></span>"+ "</span>";
  1321. else
  1322. price = "<span>"+discounted_price+"</span>" + "</span>";
  1323. str+= ' <p>{{ $currency }} '+price+'</p>\n';
  1324. }
  1325. if(recipe.extra_options){
  1326. str+='<dl>';
  1327. if(recipe.extra_options){
  1328. console.log(recipe.extra_options);
  1329. $.each(recipe.extra_options,function(c,d){
  1330. @if($business_type=="ClothsStore")
  1331. if(c=="color")
  1332. str+='<div style="width: 20px; height: 20px; background-color: '+d+'; border-radius: 20px; float:left"></div>';
  1333. if(c=="size")
  1334. str+='<div style="float:right;font-size: 14px;margin-left: 8px;font-weight: 700;"> '+d+'</div>';
  1335. @else
  1336. if(d.price && d.price!=""){
  1337. console.log('In d.price: '+d.price);
  1338. var price = parseFloat(d.price);
  1339. if(discount_amount > 0){
  1340. var _pric = parseFloat(price) - (parseFloat(price) * (parseFloat(with_discount.discount_value)/100));
  1341. price += _pric;
  1342. price = "<span>"+_pric+"</span>" + "<span style='margin-left:10px; color:red'><del>"+d.price+"</del></span>";
  1343. }
  1344. str+="<dt>"+d.name+" : {{ $currency }} "+price;
  1345. if(d.sub_items){
  1346. //str+="<ul>";
  1347. $.each(d.sub_items,function(m,n){
  1348. console.log("Sub Items");
  1349. str+="<dd>"+n.name+"</dd>";
  1350. });
  1351. //str+="</dt>";
  1352. }
  1353. str+="</li>"
  1354. }else{
  1355. str+="<dt>"+d.name+"</dt>";
  1356. }
  1357. @endif
  1358. });
  1359. }
  1360. str+='<dl>';
  1361. }
  1362. str+=
  1363. ' </div>\n' +
  1364. ' </div>\n' +
  1365. ' </div>';
  1366. return str;
  1367. }
  1368. function order_text_template(object,action){
  1369. console.log(object);
  1370. var sep = "%0A";
  1371. if(action=="copy-clipboard")
  1372. sep = "\n";
  1373. var map = "https://maps.google.com/?q="+object.geo_location;
  1374. var str = "I would like to share an order with you:"+sep+sep;
  1375. str += "*OrderID:* "+object.order_ref+' '+sep;
  1376. str += " *Business:* "+object.brand_name+' '+sep;
  1377. str += " *Outlet:* "+object.outlet_name+' '+sep;
  1378. str += " *Customer Name:* "+object.customer+' '+sep;
  1379. str += " *Customer Phone No:* "+object.phone+' '+sep;
  1380. str += " *Payment Method:* "+object.payment+' '+sep;
  1381. str += " *Delivery Date:* "+object.delivery_at+' '+sep;
  1382. str += " *Delivery Address:* "+object.address+' '+sep;
  1383. if(action=="copy-clipboard")
  1384. str += ' *Map:* '+(map)+' '+sep;
  1385. else
  1386. str += ' *Map:* '+encodeURIComponent(map)+' '+sep;
  1387. str += ' *Sub Total:* '+object.total_price+' {!! $currency !!} '+sep;
  1388. str += ' *Delivery Fee:* '+object.delivery_fee+' {!! $currency !!} '+sep;
  1389. str += ' *Total:* '+(parseFloat(object.total_price) + parseFloat(object.delivery_fee))+' {!! $currency !!} '+sep;
  1390. str += ' *Mark as delivered:* '+(object.delivery_update_status_url)+' (Link will expire at '+ object.link_expire_time +')'+sep;
  1391. return str;
  1392. }
  1393. function show_item(item){
  1394. var show_item= '<div class="item-list p-3"><div class="d-flex justify-content-between align-items-center">'+
  1395. '<p><span class="badge rounded-pill bg-secondary mx-2">1 </span>'+
  1396. '<img src="'+item.item_image+'" style="border-radius:10px; margin:0 3px" height="40px" width="40px"> '+item.item_name+'</p>';
  1397. if(item.item_price.normal_price > 0)
  1398. show_item+=' <p> <span>'+item.item_price.formatted_price+'</span></p>';
  1399. show_item+=' </div>' +
  1400. sub_items(item.sub_items)
  1401. '</div>';
  1402. return show_item;
  1403. }
  1404. function sub_items(sub_items){
  1405. // console.log(sub_items.length);
  1406. var _list = "";
  1407. if(sub_items && sub_items.length > 0){
  1408. _list = '<ul class="list-group col-sm-6 list-group-flush">';
  1409. $(sub_items).each(function(index,item){
  1410. _list+='<li class="list-group-item"><span class="badge rounded-pill bg-secondary mx-2">'+item.quantity+'</span> '+item.name+'</li>';
  1411. });
  1412. _list+='</ul>'
  1413. }
  1414. return _list;
  1415. }
  1416. </script>
  1417. @endsection