Viewing file: order_request_edit.blade.php (7.58 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
{{ Form::model($taxi_order, array('route' => array('customer.taxi.order.update',$taxi_order->id), 'method' => 'POST','enctype' => 'multipart/form-data')) }} <input type="hidden" name="id" value="{{isset($taxi_order->id)?$taxi_order->id:''}}"> <div class="modal-body"> @php $auth = \Auth::user(); @endphp <div class="row"> <div class="form-group col-md-12"> {{ Form::label('name', __('Customer Name'),['class'=>'form-label']) }} {{ Form::text('name', isset($auth->name)?$auth->name:'', ['class' => 'form-control', 'required' => 'required','readonly' => 'readonly']) }} </div> <div class="form-group col-md-12"> {{ Form::label('phone_number', __('Phone Number'),['class'=>'form-label']) }} {{ Form::text('phone_number', isset($auth->phone_number)?$auth->phone_number:'', array('class' => 'form-control','required'=>'required','readonly' => 'readonly')) }} </div> <div class="form-group col-md-12"> {{ Form::label('email', __('Email'),['class'=>'form-label']) }} {{ Form::text('email', isset($auth->email)?$auth->email:'', array('class' => 'form-control','required'=>'required','readonly' => 'readonly')) }} </div> <div class="form-group col-md-12"> {{ Form::label('pickup_address', __('Pickup Address'),['class'=>'form-label']) }} {{ Form::text('pickup_address', $taxi_order->pickup_address, array('class' => 'form-control','required'=>'required','id'=>'pickup_address')) }} </div> <div class="form-group col-md-12"> {{ Form::label('destination_address', __('Destination Address'),['class'=>'form-label']) }} {{ Form::text('destination_address',$taxi_order->destination_address , array('class' => 'form-control','required'=>'required','id'=>'destination_place')) }} </div> <input type="hidden" id="pickup_lat_lng" name="pickup_lat_lng" value=""> <input type="hidden" id="destination_lat_lng" name="destination_lat_lng" value=""> <input type="hidden" id="total-cost-calculation" name="total_cost" value=""> <input type="hidden" id="total_distance" name="total_km" value=""> <div class="card"> <div class="card-body"> <div class="total-calculation-sec"> <div class="total_km"> {{__('Total Distance')}} : <span id="distance-mi"></span> </div> <div class="km-price"> {{__('Per Meterage Charge')}} : <span id="total-km">{{isset($meterage_charge->per_meterage_charge)?$meterage_charge->per_meterage_charge:''}}$</span> </div> <div class="sub-total-devider-line"></div> <div class="sub-total-sec mb-3"> <strong> {{__('Sub Total')}} : <span id="sub-total-crg"></span></strong> </div> <div> {{__('Trip Charge')}} : <span id="trip_charge">{{isset($meterage_charge->trip_charge)?$meterage_charge->trip_charge:''}}$</span> </div> <div> {{__('Extra Charge')}} : <span id="extra_charge">{{isset($meterage_charge->extra_charge)?$meterage_charge->extra_charge:''}}$</span> </div> <div class="sub-total-devider-line"></div> <div class="total-cost"> <strong> {{__('Grand Total')}} : <span id="total-cost-cal"> </span></strong> </div> </div> </div> </div> </div> </div> <div class="modal-footer"> <input type="button" value="{{__('Cancel')}}" class="btn btn-light" data-bs-dismiss="modal"> <input type="submit" value="{{__('Create')}}" class="btn btn-primary"> </div> <script> function initMap(e){ const center = { lat: 50.064192, lng: -130.605469 }; const defaultBounds = { north: center.lat + 0.1, south: center.lat - 0.1, east: center.lng + 0.1, west: center.lng - 0.1, }; const pickup_address = document.getElementById("pickup_address"); const destination_place = document.getElementById("destination_place"); const options = { bounds: defaultBounds, componentRestrictions: { country: "us" }, fields: ["address_components", "geometry", "icon", "name"], strictBounds: false, };
//pickup const pickup_autocomplete = new google.maps.places.Autocomplete(pickup_address, options); let pickup=''; let destination=''; google.maps.event.addListener(pickup_autocomplete, 'place_changed', () => { let place = pickup_autocomplete.getPlace(); let pickup_lat_lng = place.geometry.location.lat()+','+ place.geometry.location.lng();
pickup = {lat: place.geometry.location.lat(), lng: place.geometry.location.lng()};
$('#pickup_lat_lng').val(pickup_lat_lng);
calculate_distance() });
//destination const destination_autocomplete = new google.maps.places.Autocomplete(destination_place, options); google.maps.event.addListener(destination_autocomplete, 'place_changed', () => { let place = destination_autocomplete.getPlace(); const destination_lat_lng = place.geometry.location.lat()+','+ place.geometry.location.lng();
destination = {lat: place.geometry.location.lat(), lng: place.geometry.location.lng()};
$('#destination_lat_lng').val(destination_lat_lng);
calculate_distance() });
let distance = ''; let distance_meter = '';
function calculate_distance(){ if(!pickup || !destination){ return; } let directionsService = new google.maps.DirectionsService(); const route = { origin: pickup, destination: destination, travelMode: 'DRIVING' } directionsService.route(route, function(response, status) { // anonymous function to capture directions if (status !== 'OK') { window.alert('Directions request failed due to ' + status); return; } else { var directionsData = response.routes[0].legs[0]; // Get data about the mapped route if (!directionsData) { window.alert('Directions request failed'); return; } else { distance = directionsData.distance.text.replace('mi', '').replace(',',''); distance_meter = directionsData.distance.value; const calculated_distance = $('#distance-mi').text(distance+ ' (Meterage)'); const total_distance = parseFloat(distance); const total_miles = parseFloat($('#total-km').html()); const trip_charge = parseFloat($('#trip_charge').html()); const extra_charge = parseFloat($('#extra_charge').html()); const others_charge = trip_charge + extra_charge; const sub_total = total_distance * total_miles; const total_cost = sub_total + others_charge; $('#total-cost-cal').text(total_cost+ '$'); $('#sub-total-crg').text(sub_total+ '$'); $('#total-cost-calculation').val(total_cost); $('#total_distance').val(total_distance);
} } }); } } </script> <script async src="https://maps.googleapis.com/maps/api/js?key={{env('GOOGLE_API_KEY')}}&loading=async&libraries=places&callback=initMap">
</script> <style> .pac-container { z-index: 10000 !important; } </style> {{ Form::close() }}
|