Fix outlet row highlighting bug, format distance and duration into friendly time

This commit is contained in:
Ramon Gutierrez 2018-01-18 01:37:15 +08:00
parent a614366a5a
commit 86f69e8056
2 changed files with 18 additions and 8 deletions

View file

@ -265,20 +265,32 @@ class JobOrderController extends BaseController
$params['outlets'] = []; $params['outlets'] = [];
// format seconds into friendly time // format duration and distance into friendly time
foreach ($outlets as $outlet) { foreach ($outlets as $outlet) {
// duration
$seconds = $outlet['duration']; $seconds = $outlet['duration'];
if (!empty($seconds) && $seconds > 0) { if (!empty($seconds) && $seconds > 0) {
$hours = floor($seconds / 3600); $hours = floor($seconds / 3600);
$minutes = floor(($seconds / 60) % 60); $minutes = ceil(($seconds / 60) % 60);
$seconds = $seconds % 60;
$outlet['duration'] = $hours . "hrs, " . $minutes . " mins, " . $seconds . " secs"; $outlet['duration'] = ($hours > 0 ? number_format($hours) . "hr" . ($hours > 1 ? "s" : '') . ($minutes > 0 ? ", " : '') : '') . ($minutes > 0 ? number_format($minutes) . " min" . ($minutes > 1 ? "s" : '') : '');
} else { } else {
$outlet['duration'] = false; $outlet['duration'] = false;
} }
// distance
$meters = $outlet['distance'];
if (!empty($meters) && $meters > 0) {
$kms = floor($meters / 1000);
$meters = ceil($meters % 1000);
$outlet['distance'] = ($kms > 0 ? number_format($kms) . "km" . ($meters > 0 ? ", " : '') : '') . ($meters > 0 ? number_format($meters) . " m" : '');
} else {
$outlet['distance'] = false;
}
$params['outlets'][] = $outlet; $params['outlets'][] = $outlet;
} }

View file

@ -357,7 +357,7 @@
<td class="text-right">0.00</td> <td class="text-right">0.00</td>
<td class="text-right">0.00</td> <td class="text-right">0.00</td>
<td class="text-right">0</td> <td class="text-right">0</td>
<td class="text-right">{{ outlet.distance ? outlet.distance|number_format ~ ' m' : '-' }}</td> <td class="text-right">{{ outlet.distance ? outlet.distance : '-' }}</td>
<td class="text-right">{{ outlet.duration ? outlet.duration : '-' }}</td> <td class="text-right">{{ outlet.duration ? outlet.duration : '-' }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
@ -797,9 +797,7 @@ $(function() {
if (id != selectedOutlet) { if (id != selectedOutlet) {
// highlight this row, set outlet value // highlight this row, set outlet value
$("#outlets-table") $("#outlets-table").find('.m-table__row--primary').removeClass('m-table__row--primary');
.find('.m-table__row--primary')
.removeClass('.m-table__row--primary');
$(this).addClass('m-table__row--primary'); $(this).addClass('m-table__row--primary');