Merge branch '674-color-code-jos-in-dispatch-page' into 'master'

Resolve "Color code JOs in dispatch page"

Closes #674

See merge request jankstudio/resq!788
This commit is contained in:
Kendrick Chan 2022-06-01 11:11:07 +00:00
commit 16e0d8448f
3 changed files with 142 additions and 86 deletions

View file

@ -155,6 +155,30 @@ span.has-danger,
color: #fff !important;
}
.m-table__row--is_vip td {
background-color: #ffff00 !important;
color: #414a4c !important;
}
.m-table__row--is_vip td > span,
.m-table__row--is_vip td > span a,
.m-table__row--is_vip td > span a i {
color: #414a4c !important;
}
.m-table__row--is_emergency td {
background-color: #ffa500 !important;
color: #fff !important;
}
.m-table__row--is_emergency td > span,
.m-table__row--is_emergency td > span a,
.m-table__row--is_emergency td > span a i {
color: #fff !important;
}
.m-datatable.m-datatable--default > .m-datatable__table {
min-height: 0 !important;
}

View file

@ -46,6 +46,7 @@ use App\Ramcar\HubCriteria;
use App\Ramcar\DeliveryStatus;
use App\Ramcar\SourceOfAwareness;
use App\Ramcar\InitialConcern;
use App\Ramcar\CustomerClassification;
use App\Ramcar\Gender;
use App\Ramcar\CallerClassification;
@ -187,8 +188,20 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
$service_types = ServiceType::getCollection();
// process rows
$is_vip = false;
$is_emergency = false;
$rows = [];
foreach ($obj_rows as $orow) {
// check if customer is vip
$cust_class = $orow->getCustomer()->getCustomerClassification();
if ($cust_class == CustomerClassification::VIP)
$is_vip = true;
// check if customer is not willing to wait
$will_not_wait = $orow->getWillWait();
if ($will_not_wait == WillingToWaitContent::NOT_WILLING_TO_WAIT)
$is_emergency = true;
// add row data
$row['id'] = $orow->getID();
$row['customer_name'] = $orow->getCustomer()->getFirstName() . ' ' . $orow->getCustomer()->getLastName();
@ -200,6 +213,8 @@ class ResqJobOrderHandler implements JobOrderHandlerInterface
$row['flag_advance'] = $orow->isAdvanceOrder();
$row['plate_number'] = $orow->getCustomerVehicle()->getPlateNumber();
$row['is_mobile'] = $orow->getSource() == TransactionOrigin::MOBILE_APP;
$row['is_vip'] = $is_vip;
$row['is_emergency'] = $is_emergency;
$processor = $orow->getProcessedBy();
if ($processor == null)

View file

@ -45,8 +45,8 @@
{% endblock %}
{% block scripts %}
<script>
$(function() {
<script>
$(function() {
var options = {
data: {
type: 'remote',
@ -67,12 +67,11 @@
},
rows: {
beforeTemplate: function (row, data, index) {
if (data.flag_advance) {
$(row).addClass('m-table__row--danger');
}
if (data.is_mobile) {
$(row).addClass('m-table__row--is_mobile');
var attribute = getRowAttribute(data);
// check if we have to apply a background color for the row
if (attribute) {
var row_class = "m-table__row--" + attribute;
$(row).addClass(row_class);
}
}
},
@ -133,6 +132,24 @@
setInterval(function() {
table.reload();
}, {{ table_refresh_rate }});
});
</script>
});
function getRowAttribute(data) {
if (data.is_vip) {
return 'is_vip';
}
if (data.is_emergency) {
return 'is_emergency';
}
if (data.flag_advance) {
return 'danger';
}
if (data.is_mobile) {
return 'is_mobile';
}
return false;
};
</script>
{% endblock %}