<?php $__env->startSection('title'); ?> Vehicle-Order Wise Report <?php $__env->stopSection(); ?>
<?php $__env->startSection('body'); ?>

<div class="row">
	<div class="col-md-12">
		<div class="form-group col-md-3">
			<label class="control-label">From</label>
			<input type="text" class="form-control fromDate" name="fromDate">
		</div>
		<div class="form-group col-md-3">
			<label class="control-label">To</label>
			<input type="text" class="form-control toDate" name="toDate">
		</div>
	</div>
</div>

<div class="row">
	<div class="col-md-12">
		<div class="form-group col-md-3">
			<label class="control-label">Transporter</label>
			<select class="form-control transporters" name="transporters">
				<option value="">Please select an option</option>
			</select>
		</div>
		<div class="form-group col-md-3">
			<label class="control-label">Vehicle</label>
			<select class="form-control vehicles" name="vehicles">
				<option value="">Please select an option</option>
			</select>
		</div>
		<div class="form-group col-md-3" style="margin-top: 25px;">
			<button class="btn btn-primary generate">Generate</button>
		</div>
	</div>
</div>

<style type="text/css">
	.generalResults tr td{
		border: none !important;
	}
</style>

<div class="row">
	<div class="col-md-12">

		<div class="col-md-12 report">



		</div>
	</div>
</div>


<?php $__env->stopSection(); ?>
<?php $__env->startSection('script'); ?>
<script type="text/javascript">

$(function(){

	var _token = $('meta[name="_token"]').attr('content');


	$('.fromDate').datepicker({
		dateFormat: "yy-mm-dd",
		onSelect: function(){
			$(".toDate").datepicker( "option", "minDate", new Date($('.fromDate').val()) );
		}
	});
	$(".toDate").datepicker({
		dateFormat: "yy-mm-dd",
		onSelect: function(){
			$(".fromDate").datepicker( "option", "maxDate", new Date($('.toDate').val()) );
		}
	});

	loadTransporters(function(){
		loadVehicles();
	});

	$('.transporters').change(function(){
		loadVehicles();
	});

	$('.generate').click(function(){
		generate();
	});


	function highlightOrThrow(e, callback){
		$.clearHighlights();
		if(e != undefined && typeof(e) == 'object'){
			if(e.hasOwnProperty('errors')){
				$.each(e.errors, function(i, k){
					$('.'+i).highlightElement({msg: k});
				});
			}else if(e.hasOwnProperty('ok') && e.hasOwnProperty('msg') && e.ok == 0){
				$.notify.error({msg: e.msg});
			}else if(e.hasOwnProperty('ok') && e.hasOwnProperty('msg')  && e.ok == 1){
				$.notify.success({msg: e.msg});
				if(callback != undefinded && typeof(callback) == 'function'){
					callback();
				}
			}else{
				callback();
			}
		}else{
			console.log('object expected.');
		}
	}

	function loadTransporters(callback){
		var $select = $('.transporters');
		var dom = '';
		$.post("<?php echo e(url('/report/loadTransporters')); ?>", {_token: _token}, function(e){
			if(e != undefined && typeof(e) == 'object' && Object.keys(e).length > 0){
				$.each(e, function(i, k){
					dom += '<option value="'+ k.id +'">'+ k.name +'</option>';
				});
			}else{
				dom = '<option value="">Please select an option</option>';
			}
			$select.html(dom);
			if(callback != undefined && typeof(callback) == 'function'){
				callback();
			}
		}, 'json');
	}

	function loadVehicles(){
		var $select = $('.vehicles');
		var id = $('.transporters').val();
		var dom = '';
		$.post("<?php echo e(url('/report/loadVehicles')); ?>", {_token: _token, id: id}, function(e){
			if(e != undefined && typeof(e) == 'object' && Object.keys(e).length > 0){
				$.each(e, function(i, k){
					dom += '<option value="'+ k.id +'">'+ k.number +'</option>';
				});
			}else{
				dom = '<option value="">Please select an option</option>';
			}
			$select.html(dom);
		}, 'json');
	}


	function generate(){
		var $report = $('.report');
		var data = {
			fromDate: $('.fromDate').val(),
			toDate: $('.toDate').val(),
			transporters: $('.transporters').val(),
			vehicles: $('.vehicles').val()
		};
		$report.html('-- no results found --');
		$.post("<?php echo e(url('/report3/generate')); ?>", {_token: _token, data: data}, function(e){
			highlightOrThrow(e, function(){

				var dom = '';
				if(e != undefined && typeof(e) == 'object' && Object.keys(e).length > 0){
					$.each(e, function(i, k){

						dom += '<div class="panel panel-default">';
						dom += '	<div class="panel-heading">';
						dom += '		Trip '+ k.trip_id +' Details';
						dom += '	</div>';
						dom += '	<div class="panel-body">';
						dom += '		<div class="col-md-5">';
						dom += '			<div class="table-responseive">';
						dom += '				<table class="table table-condensed generalResults" style="margin-bottom: 0px;">';
						dom += '					<tr>';
						dom += '						<td>Drop Locations: </td>';
						dom += '						<td>';

						if(k.hasOwnProperty('locations') && Object.keys(k.locations).length > 0){
							var size = Object.keys(k.locations).length;
							$.each(k.locations, function(i, j){
								if((i+1) < size){
									dom += j.name + ', ';
								}else{
									dom += j.name;
								}
							});
						}else{
							dom += '-- no drop locations added --';
						}

						dom += '						</td>';
						dom += '					</tr>';
						dom += '					<tr>';
						dom += '						<td>Order Numbers: </td>';
						dom += '						<td>';

						if(k.hasOwnProperty('orders') && Object.keys(k.orders).length > 0){
							var size = Object.keys(k.orders).length;
							$.each(k.orders, function(i, o){
								if((i+1) < size){
									dom += o.num + ', ';
								}else{
									dom += o.num;
								}
							});
						}else{
							dom += '-- no orders added --';
						}

						dom += '						</td>';
						dom += '					</tr>';
						dom += '					<tr>';
						dom += '						<td>Order Value: </td>';
						dom += '						<td>'+ k.goodsCost +'</td>';
						dom += '					</tr>';
						dom += '					<tr>';
						dom += '						<td>Cost: </td>';
						dom += '						<td>'+ k.cost +'</td>';
						dom += '					</tr>';

						dom += '					<tr>';
						dom += '						<td style="font-weight: bold;">Additional Payments</td>';
						dom += '						<td></td>';
						dom += '					</tr>';
						dom += '					<tr>';
						dom += '						<td>Direct deliveries:</td>';
						dom += '						<td>'+ k.ap_direct_deliveries +'</td>';
						dom += '					</tr>';
						dom += '					<tr>';
						dom += '						<td>Offloading charges:</td>';
						dom += '						<td>'+ k.ap_offloading_charges +'</td>';
						dom += '					</tr>';
						dom += '					<tr>';
						dom += '						<td>Demurrages:</td>';
						dom += '						<td>'+ k.ap_demurrages +'</td>';
						dom += '					</tr>';
						dom += '					<tr>';
						dom += '						<td>Other</td>';
						dom += '						<td >'+ k.ap_other +'</div>';
						dom += '					</div>';
						dom += '					<tr>';
						dom += '						<td style="font-weight: bold;">Deductions</td>';
						dom += '						<td></td>';
						dom += '					</tr>';
						dom += '					<tr>';
						dom += '						<td>Document errors:</td>';
						dom += '						<td >'+ k.d_document_errors +'</td>';
						dom += '					</tr>';
						dom += '					<tr>';
						dom += '						<td>Other:</td>';
						dom += '						<td >'+ k.d_other +'</td>';
						dom += '					</tr>';
						dom += '					<tr>';
						dom += '						<td style="font-weight: bold;">Total Cost</td>';
						dom += '						<td  style="font-weight: bold;">'+ k.total_cost.toFixed(2) +'</td>';
						dom += '					</tr>';

						dom += '					<tr>';
						dom += '						<td>Distance: </td>';
						dom += '						<td>'+ k.distance +' km</td>';
						dom += '					</tr>';
						dom += '				</table>';
						dom += '			</div>';
						dom += '		</div>';
						dom += '		<div class="col-md-7">';
						dom += '			<div class="table-responsive">';
						dom += '				<table class="table table-condensed table-bordered" style="margin-bottom: 0px;">';
						dom += '					<thead>';
						dom += '						<tr>';
						dom += '							<th width="180px;">Order #</th>';
						dom += '							<th width="120px;">Ref. No</th>';
						dom += '							<th>Items</th>';
						dom += '						</tr>';
						dom += '					</thead>';
						dom += '					<tbody>';

						if(k.hasOwnProperty('orders') && Object.keys(k.orders).length > 0){

							$.each(k.orders, function(i, o){
								dom += '<tr>';
								dom += '	<td>'+ o.num +'</td>';
								dom += '	<td>'+ $.addLeadingZeros(o.id, 6) +'</td>';

								if(o.hasOwnProperty('items') && Object.keys(o.items).length > 0){

									var size = Object.keys(o.items).length;
									dom += '<td><ul style="padding: 0px 0px 0px 5px; margin: 0px; list-style: none;">';
									$.each(o.items, function(i, l){
										dom += '<li>'+ l.name +' : '+ l.qty +'</li>';
									});
									dom += '</ul></td>';

								}else{
									dom += '<td>-- no items added --</td>';
								}

								dom += '</tr>';
							});

						}else{
							dom += '<tr>';
							dom += '	<th colspan="4" class="text-center">-- no orders added --</th>';
							dom += '</tr>';
						}

						dom += '					</tbody>';
						dom += '				</table>';
						dom += '			</div>';
						dom += '		</div>';
						dom += '	</div>';
						dom += '</div>';
						

					});
				}else{
					dom = 'Sorry, No results found.';
				}
				$report.html(dom);

			});
		}, 'json');

	}

});

</script>
<?php $__env->stopSection(); ?>
<?php echo $__env->make('layouts.master', array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>