Fixed form for onestep when JO is loaded from View All. #347
This commit is contained in:
parent
1374a91dd4
commit
5ab6514a86
2 changed files with 122 additions and 72 deletions
|
|
@ -1517,7 +1517,7 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
|
||||||
{
|
{
|
||||||
$em = $this->em;
|
$em = $this->em;
|
||||||
|
|
||||||
$params['mode'] = 'update-all';
|
$params['mode'] = 'view-all';
|
||||||
|
|
||||||
// get row data
|
// get row data
|
||||||
$obj = $em->getRepository(JobOrder::class)->find($id);
|
$obj = $em->getRepository(JobOrder::class)->find($id);
|
||||||
|
|
|
||||||
|
|
@ -389,14 +389,20 @@
|
||||||
<div class="m-form__section">
|
<div class="m-form__section">
|
||||||
<div class="m-form__heading">
|
<div class="m-form__heading">
|
||||||
<h3 class="m-form__heading-title">
|
<h3 class="m-form__heading-title">
|
||||||
Nearest Hubs
|
{% if mode == 'view-all' %}
|
||||||
|
Assigned Hub
|
||||||
|
{% else %}
|
||||||
|
Nearest Hubs
|
||||||
|
{% endif %}
|
||||||
</h3>
|
</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group m-form__group row">
|
<div class="form-group m-form__group row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<label name="hub" data-field="hub">Click on a row to select a hub
|
{% if mode != 'view-all' %}
|
||||||
<span style="color:red"> *</span>
|
<label name="hub" data-field="hub">Click on a row to select a hub
|
||||||
</label>
|
<span style="color:red"> *</span>
|
||||||
|
</label>
|
||||||
|
{% endif %}
|
||||||
<div class="form-control-feedback hide" data-field="hub"></div>
|
<div class="form-control-feedback hide" data-field="hub"></div>
|
||||||
<input type="hidden" id="hub-field" name="hub_id" value="">
|
<input type="hidden" id="hub-field" name="hub_id" value="">
|
||||||
<div class="table-frame" data-name="hub">
|
<div class="table-frame" data-name="hub">
|
||||||
|
|
@ -430,14 +436,20 @@
|
||||||
<div class="m-form__section">
|
<div class="m-form__section">
|
||||||
<div class="m-form__heading">
|
<div class="m-form__heading">
|
||||||
<h3 class="m-form__heading-title">
|
<h3 class="m-form__heading-title">
|
||||||
Rider Assignment
|
{% if mode == 'view-all' %}
|
||||||
|
Assigned Rider
|
||||||
|
{% else %}
|
||||||
|
Rider Assignment
|
||||||
|
{% endif %}
|
||||||
</h3>
|
</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group m-form__group row">
|
<div class="form-group m-form__group row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<label name="rider" data-field="rider">Click on a row to select a rider
|
{% if mode != 'view-all' %}
|
||||||
<span style="color:red"> *</span>
|
<label name="rider" data-field="rider">Click on a row to select a rider
|
||||||
</label>
|
<span style="color:red"> *</span>
|
||||||
|
</label>
|
||||||
|
{% endif %}
|
||||||
<div class="form-control-feedback hide" data-field="rider"></div>
|
<div class="form-control-feedback hide" data-field="rider"></div>
|
||||||
<input type="hidden" id="rider-field" name="rider_id" value="">
|
<input type="hidden" id="rider-field" name="rider_id" value="">
|
||||||
<div class="table-frame" data-name="rider">
|
<div class="table-frame" data-name="rider">
|
||||||
|
|
@ -452,7 +464,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody id="riders">
|
<tbody id="riders">
|
||||||
{% if mode in ['onestep-edit'] %}
|
{% if mode in ['onestep-edit', 'view-all'] %}
|
||||||
{% set avail_riders = obj.getHub.getAvailableRiders|default([]) %}
|
{% set avail_riders = obj.getHub.getAvailableRiders|default([]) %}
|
||||||
<tr class="placeholder-row{{ obj.getHub and avail_riders|length > 0 ? ' hide' }}">
|
<tr class="placeholder-row{{ obj.getHub and avail_riders|length > 0 ? ' hide' }}">
|
||||||
<td colspan="5">
|
<td colspan="5">
|
||||||
|
|
@ -462,7 +474,11 @@
|
||||||
|
|
||||||
{% if obj.getHub %}
|
{% if obj.getHub %}
|
||||||
{% for rider in avail_riders %}
|
{% for rider in avail_riders %}
|
||||||
<tr data-id="{{ rider.getID }}"{{ obj.getRider and obj.getRider.getID == rider.getID ? ' class="m-table__row--primary"' }}">
|
{% if mode == 'view-all' %}
|
||||||
|
<tr data-id="{{ rider.getID }}"{{ obj.getRider and obj.getRider.getID == rider.getID ? ' ' }}">
|
||||||
|
{% else %}
|
||||||
|
<tr data-id="{{ rider.getID }}"{{ obj.getRider and obj.getRider.getID == rider.getID ? ' class="m-table__row--primary"' }}">
|
||||||
|
{% endif %}
|
||||||
<td>{{ rider.getFirstName }}</td>
|
<td>{{ rider.getFirstName }}</td>
|
||||||
<td>{{ rider.getLastName }}</td>
|
<td>{{ rider.getLastName }}</td>
|
||||||
<td>{{ rider.getContactNumber }}</td>
|
<td>{{ rider.getContactNumber }}</td>
|
||||||
|
|
@ -485,11 +501,13 @@
|
||||||
</h3>
|
</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="row m-form__group">
|
<div class="row m-form__group">
|
||||||
<div class="col-lg-12">
|
{% if mode != 'view-all' %}
|
||||||
<button class="btn btn-primary" id="btn-sc-add">Add Service Charge</button>
|
<div class="col-lg-12">
|
||||||
</div>
|
<button class="btn btn-primary" id="btn-sc-add">Add Service Charge</button>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<!-- TODO: loop through existing service charges for job order -->
|
<!-- loop through existing service charges for job order -->
|
||||||
{% for jo_sc_key, jo_sc in obj.getMeta('service_charges')|default([]) %}
|
{% for jo_sc_key, jo_sc in obj.getMeta('service_charges')|default([]) %}
|
||||||
<div class="form-group m-form__group row">
|
<div class="form-group m-form__group row">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
|
|
@ -634,9 +652,11 @@
|
||||||
<div class="m-form__actions m-form__actions--solid m-form__actions--right">
|
<div class="m-form__actions m-form__actions--solid m-form__actions--right">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<button type="submit" class="btn btn-success">Submit</button>
|
{% if mode != 'view-all' %}
|
||||||
{% if ftags.set_map_coordinate and is_granted('joborder.cancel') and not obj.isCancelled %}
|
<button type="submit" class="btn btn-success">Submit</button>
|
||||||
<a href="{{ url('jo_cancel', {'id': obj.getID}) }}" class="btn btn-danger btn-cancel-job-order">Cancel Job Order</a>
|
{% if ftags.set_map_coordinate and is_granted('joborder.cancel') and not obj.isCancelled %}
|
||||||
|
<a href="{{ url('jo_cancel', {'id': obj.getID}) }}" class="btn btn-danger btn-cancel-job-order">Cancel Job Order</a>
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a href="{{ return_url }}" class="btn btn-secondary">Back</a>
|
<a href="{{ return_url }}" class="btn btn-secondary">Back</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -781,6 +801,32 @@ $(function() {
|
||||||
});
|
});
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% if mode in ['view-all'] %}
|
||||||
|
var hub_table = '';
|
||||||
|
$.getJSON("{{ url('hub_nearest') }}?lat=" + lat + "&long=" + lng, function(data) {
|
||||||
|
var hubs = data['hubs'];
|
||||||
|
var hub_marker;
|
||||||
|
for (i in hubs) {
|
||||||
|
var hub = hubs[i];
|
||||||
|
|
||||||
|
if(selected_hub == hub['id']) {
|
||||||
|
hub_table += '<tr data-id=' + hub['id'] + ' ' + '>';
|
||||||
|
hub_marker = L.marker([hub['lat'], hub['long']], { icon: icon_hub });
|
||||||
|
hubLayerGroup.addLayer(hub_marker);
|
||||||
|
|
||||||
|
hub_table += '<td>' + hub['name'] + '</td>';
|
||||||
|
hub_table += '<td>' + hub['branch'] + '</td>';
|
||||||
|
hub_table += '<td>' + hub['cnum'] + '</td>';
|
||||||
|
hub_table += '<td>' + hub['distance'] + '</td>';
|
||||||
|
hub_table += '<td></td>';
|
||||||
|
hub_table += '</tr>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#nearest_hubs').html(hub_table);
|
||||||
|
});
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
// add marker to layer group
|
// add marker to layer group
|
||||||
markerLayerGroup.addLayer(marker);
|
markerLayerGroup.addLayer(marker);
|
||||||
|
|
||||||
|
|
@ -844,76 +890,80 @@ $(function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
$(function() {
|
$(function() {
|
||||||
$('#hubs-table').on('click', 'tr', function() {
|
{% if mode != 'view-all' %}
|
||||||
var id = $(this).data('id');
|
$('#hubs-table').on('click', 'tr', function() {
|
||||||
|
var id = $(this).data('id');
|
||||||
|
|
||||||
riderLayerGroup.clearLayers();
|
riderLayerGroup.clearLayers();
|
||||||
|
|
||||||
if (id != selected_hub) {
|
if (id != selected_hub) {
|
||||||
|
|
||||||
// highlight this row
|
// highlight this row
|
||||||
$('#hubs-table').find('.m-table__row--primary').removeClass('m-table__row--primary');
|
$('#hubs-table').find('.m-table__row--primary').removeClass('m-table__row--primary');
|
||||||
|
|
||||||
$(this).addClass('m-table__row--primary');
|
$(this).addClass('m-table__row--primary');
|
||||||
|
|
||||||
// set hub
|
// set hub
|
||||||
selected_hub = id;
|
selected_hub = id;
|
||||||
$('#hub-field').val(selected_hub);
|
$('#hub-field').val(selected_hub);
|
||||||
|
|
||||||
// clear rider field
|
// clear rider field
|
||||||
$('#rider-field').val('');
|
$('#rider-field').val('');
|
||||||
selected_rider = '';
|
selected_rider = '';
|
||||||
|
|
||||||
// get riders of hub
|
// get riders of hub
|
||||||
// get hub riders ajax
|
// get hub riders ajax
|
||||||
// TODO: add latitude and longitude of delivery location to ajax request
|
// TODO: add latitude and longitude of delivery location to ajax request
|
||||||
var rider_table = '';
|
var rider_table = '';
|
||||||
$.getJSON("{{ url('hub_riders') }}?id=" + selected_hub, function(data) {
|
$.getJSON("{{ url('hub_riders') }}?id=" + selected_hub, function(data) {
|
||||||
var riders = data['riders'];
|
var riders = data['riders'];
|
||||||
for (i in riders) {
|
for (i in riders) {
|
||||||
var rider = riders[i];
|
var rider = riders[i];
|
||||||
var rider_lat = rider['location'][0];
|
var rider_lat = rider['location'][0];
|
||||||
var rider_lng = rider['location'][1];
|
var rider_lng = rider['location'][1];
|
||||||
var rider_marker = L.marker([rider_lat, rider_lng], { icon: icon_rider_available });
|
var rider_marker = L.marker([rider_lat, rider_lng], { icon: icon_rider_available });
|
||||||
riderLayerGroup.addLayer(rider_marker);
|
riderLayerGroup.addLayer(rider_marker);
|
||||||
|
|
||||||
rider_table += '<tr data-id=' + rider['id'] + '>';
|
rider_table += '<tr data-id=' + rider['id'] + '>';
|
||||||
rider_table += '<td>' + rider['first_name'] + '</td>';
|
rider_table += '<td>' + rider['first_name'] + '</td>';
|
||||||
rider_table += '<td>' + rider['last_name'] + '</td>';
|
rider_table += '<td>' + rider['last_name'] + '</td>';
|
||||||
rider_table += '<td>' + rider['contact_num'] + '</td>';
|
rider_table += '<td>' + rider['contact_num'] + '</td>';
|
||||||
rider_table += '<td>' + rider['plate_num'] + '</td>';
|
rider_table += '<td>' + rider['plate_num'] + '</td>';
|
||||||
rider_table += '<td></td>';
|
rider_table += '<td></td>';
|
||||||
rider_table += '</tr>';
|
rider_table += '</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#riders').html(rider_table);
|
$('#riders').html(rider_table);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
// unhighlight this row
|
// unhighlight this row
|
||||||
$(this).removeClass('m-table__row--primary');
|
$(this).removeClass('m-table__row--primary');
|
||||||
|
|
||||||
// remove id value
|
// remove id value
|
||||||
selected_hub = '';
|
selected_hub = '';
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
{% endif %}
|
||||||
});
|
});
|
||||||
|
|
||||||
$(function() {
|
$(function() {
|
||||||
$('#rider-table').on('click', 'tr', function() {
|
{% if mode != 'view-all' %}
|
||||||
var id = $(this).data('id');
|
$('#rider-table').on('click', 'tr', function() {
|
||||||
|
var id = $(this).data('id');
|
||||||
|
|
||||||
// highlight this row
|
// highlight this row
|
||||||
$('#rider-table').find('.m-table__row--primary').removeClass('m-table__row--primary');
|
$('#rider-table').find('.m-table__row--primary').removeClass('m-table__row--primary');
|
||||||
|
|
||||||
$(this).addClass('m-table__row--primary');
|
$(this).addClass('m-table__row--primary');
|
||||||
|
|
||||||
// set rider
|
// set rider
|
||||||
selected_rider = id;
|
selected_rider = id;
|
||||||
$('#rider-field').val(selected_rider);
|
$('#rider-field').val(selected_rider);
|
||||||
});
|
});
|
||||||
|
{% endif %}
|
||||||
});
|
});
|
||||||
|
|
||||||
{% if mode in ['onestep-edit'] %}
|
{% if mode in ['onestep-edit', 'view-all'] %}
|
||||||
var lat = {{ obj.getCoordinates.getLatitude }};
|
var lat = {{ obj.getCoordinates.getLatitude }};
|
||||||
var lng = {{ obj.getCoordinates.getLongitude }};
|
var lng = {{ obj.getCoordinates.getLongitude }};
|
||||||
|
|
||||||
|
|
@ -1307,7 +1357,7 @@ $(function() {
|
||||||
var sc_array = [];
|
var sc_array = [];
|
||||||
|
|
||||||
// populate invoiceItems if editing so that we don't lose the battery
|
// populate invoiceItems if editing so that we don't lose the battery
|
||||||
{% if mode in ['open-edit', 'onestep-edit', 'walk-in-edit'] %}
|
{% if mode in ['view-all', 'open-edit', 'onestep-edit', 'walk-in-edit'] %}
|
||||||
{% if (obj.getInvoice and obj.getInvoice.getItems|length > 0) %}
|
{% if (obj.getInvoice and obj.getInvoice.getItems|length > 0) %}
|
||||||
{% for item in obj.getInvoice.getItems %}
|
{% for item in obj.getInvoice.getItems %}
|
||||||
{% if item.getBattery() %}
|
{% if item.getBattery() %}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue