Update list columns and fields based on feedback
This commit is contained in:
parent
7bf2b7aa5d
commit
8f4b745025
13 changed files with 175 additions and 115 deletions
|
|
@ -3,6 +3,7 @@
|
||||||
namespace App\Controller;
|
namespace App\Controller;
|
||||||
|
|
||||||
use App\Ramcar\BaseController;
|
use App\Ramcar\BaseController;
|
||||||
|
use App\Ramcar\CustomerClassification;
|
||||||
use App\Ramcar\FuelType;
|
use App\Ramcar\FuelType;
|
||||||
use App\Ramcar\VehicleStatusCondition;
|
use App\Ramcar\VehicleStatusCondition;
|
||||||
use App\Entity\Customer;
|
use App\Entity\Customer;
|
||||||
|
|
@ -103,10 +104,19 @@ class CustomerController extends BaseController
|
||||||
// process rows
|
// process rows
|
||||||
$rows = [];
|
$rows = [];
|
||||||
foreach ($obj_rows as $orow) {
|
foreach ($obj_rows as $orow) {
|
||||||
|
$classifications = CustomerClassification::getCollection();
|
||||||
|
|
||||||
// add row data
|
// add row data
|
||||||
$row['id'] = $orow->getID();
|
$row['id'] = $orow->getID();
|
||||||
$row['first_name'] = $orow->getFirstName();
|
$row['first_name'] = $orow->getFirstName();
|
||||||
$row['last_name'] = $orow->getLastName();
|
$row['last_name'] = $orow->getLastName();
|
||||||
|
$row['customer_classification'] = $classifications[$orow->getCustomerClassification()];
|
||||||
|
$row['flag_mobile_app'] = $orow->hasMobileApp();
|
||||||
|
$row['app_mobile_number'] = $orow->hasMobileApp() && !empty($orow->getMobileSessions()) ? $orow->getMobileSessions()[0]->getPhoneNumber() : '';
|
||||||
|
|
||||||
|
// TODO: properly add mobile numbers and plate numbers as searchable/sortable fields, use doctrine events
|
||||||
|
$row['mobile_numbers'] = implode("<br>", $orow->getMobileNumberList());
|
||||||
|
$row['plate_numbers'] = implode("<br>", $orow->getPlateNumberList());
|
||||||
|
|
||||||
// add row metadata
|
// add row metadata
|
||||||
$row['meta'] = [
|
$row['meta'] = [
|
||||||
|
|
@ -143,6 +153,7 @@ class CustomerController extends BaseController
|
||||||
// get parent associations
|
// get parent associations
|
||||||
$params['bmfgs'] = $em->getRepository(BatteryManufacturer::class)->findAll();
|
$params['bmfgs'] = $em->getRepository(BatteryManufacturer::class)->findAll();
|
||||||
$params['vmfgs'] = $em->getRepository(VehicleManufacturer::class)->findAll();
|
$params['vmfgs'] = $em->getRepository(VehicleManufacturer::class)->findAll();
|
||||||
|
$params['classifications'] = CustomerClassification::getCollection();
|
||||||
$params['fuel_types'] = FuelType::getCollection();
|
$params['fuel_types'] = FuelType::getCollection();
|
||||||
$params['status_conditions'] = VehicleStatusCondition::getCollection();
|
$params['status_conditions'] = VehicleStatusCondition::getCollection();
|
||||||
|
|
||||||
|
|
@ -163,8 +174,8 @@ class CustomerController extends BaseController
|
||||||
// set and save values
|
// set and save values
|
||||||
$row->setFirstName($req->request->get('first_name'))
|
$row->setFirstName($req->request->get('first_name'))
|
||||||
->setLastName($req->request->get('last_name'))
|
->setLastName($req->request->get('last_name'))
|
||||||
->setCustomerNotes($req->request->get('customer_notes'))
|
->setCustomerClassification($req->request->get('customer_classification'))
|
||||||
->setConfirmed(false);
|
->setCustomerNotes($req->request->get('customer_notes'));
|
||||||
|
|
||||||
// initialize error lists
|
// initialize error lists
|
||||||
$error_array = [];
|
$error_array = [];
|
||||||
|
|
@ -317,6 +328,7 @@ class CustomerController extends BaseController
|
||||||
// get parent associations
|
// get parent associations
|
||||||
$params['bmfgs'] = $em->getRepository(BatteryManufacturer::class)->findAll();
|
$params['bmfgs'] = $em->getRepository(BatteryManufacturer::class)->findAll();
|
||||||
$params['vmfgs'] = $em->getRepository(VehicleManufacturer::class)->findAll();
|
$params['vmfgs'] = $em->getRepository(VehicleManufacturer::class)->findAll();
|
||||||
|
$params['classifications'] = CustomerClassification::getCollection();
|
||||||
$params['fuel_types'] = FuelType::getCollection();
|
$params['fuel_types'] = FuelType::getCollection();
|
||||||
$params['status_conditions'] = VehicleStatusCondition::getCollection();
|
$params['status_conditions'] = VehicleStatusCondition::getCollection();
|
||||||
|
|
||||||
|
|
@ -343,6 +355,7 @@ class CustomerController extends BaseController
|
||||||
// set and save values
|
// set and save values
|
||||||
$row->setFirstName($req->request->get('first_name'))
|
$row->setFirstName($req->request->get('first_name'))
|
||||||
->setLastName($req->request->get('last_name'))
|
->setLastName($req->request->get('last_name'))
|
||||||
|
->setCustomerClassification($req->request->get('customer_classification'))
|
||||||
->setCustomerNotes($req->request->get('customer_notes'));
|
->setCustomerNotes($req->request->get('customer_notes'));
|
||||||
|
|
||||||
// initialize error lists
|
// initialize error lists
|
||||||
|
|
@ -716,6 +729,7 @@ class CustomerController extends BaseController
|
||||||
if (isset($datatable['query']['data-rows-search']) && !empty($datatable['query']['data-rows-search'])) {
|
if (isset($datatable['query']['data-rows-search']) && !empty($datatable['query']['data-rows-search'])) {
|
||||||
$query->where('q.first_name LIKE :filter')
|
$query->where('q.first_name LIKE :filter')
|
||||||
->orWhere('q.last_name LIKE :filter')
|
->orWhere('q.last_name LIKE :filter')
|
||||||
|
->orWhere('q.customer_classification LIKE :filter')
|
||||||
->setParameter('filter', '%' . $datatable['query']['data-rows-search'] . '%');
|
->setParameter('filter', '%' . $datatable['query']['data-rows-search'] . '%');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -84,6 +84,7 @@ class HubController extends BaseController
|
||||||
// add row data
|
// add row data
|
||||||
$row['id'] = $orow->getID();
|
$row['id'] = $orow->getID();
|
||||||
$row['name'] = $orow->getName();
|
$row['name'] = $orow->getName();
|
||||||
|
$row['branch'] = $orow->getBranch();
|
||||||
$row['address'] = $orow->getAddress();
|
$row['address'] = $orow->getAddress();
|
||||||
$row['contact_nums'] = $orow->getContactNumbers();
|
$row['contact_nums'] = $orow->getContactNumbers();
|
||||||
$row['time_open'] = $orow->getTimeOpen()->format('g:i A');
|
$row['time_open'] = $orow->getTimeOpen()->format('g:i A');
|
||||||
|
|
@ -135,6 +136,7 @@ class HubController extends BaseController
|
||||||
|
|
||||||
// set and save values
|
// set and save values
|
||||||
$obj->setName($req->request->get('name'))
|
$obj->setName($req->request->get('name'))
|
||||||
|
->setBranch($req->request->get('branch'))
|
||||||
->setAddress($req->request->get('address'))
|
->setAddress($req->request->get('address'))
|
||||||
->setContactNumbers($req->request->get('contact_nums'))
|
->setContactNumbers($req->request->get('contact_nums'))
|
||||||
->setTimeOpen($time_open)
|
->setTimeOpen($time_open)
|
||||||
|
|
|
||||||
|
|
@ -188,9 +188,7 @@ class JobOrderController extends BaseController
|
||||||
$datatable = $req->request->get('datatable');
|
$datatable = $req->request->get('datatable');
|
||||||
|
|
||||||
// count total records
|
// count total records
|
||||||
$tquery = $qb->select('COUNT(q)')
|
$tquery = $qb->select('COUNT(q)');
|
||||||
->join('q.cus_vehicle', 'cv')
|
|
||||||
->join('q.customer', 'c');
|
|
||||||
|
|
||||||
$this->setQueryFilters($datatable, $tquery, $qb, $tier_params['jo_status']);
|
$this->setQueryFilters($datatable, $tquery, $qb, $tier_params['jo_status']);
|
||||||
|
|
||||||
|
|
@ -214,22 +212,14 @@ class JobOrderController extends BaseController
|
||||||
];
|
];
|
||||||
|
|
||||||
// build query
|
// build query
|
||||||
$query = $qb->select('q')
|
$query = $qb->select('q');
|
||||||
->addSelect('cv.plate_number as plate_number')
|
|
||||||
->addSelect('c.first_name as customer_name')
|
|
||||||
->addSelect('c.last_name as cust_last_name');
|
|
||||||
|
|
||||||
$this->setQueryFilters($datatable, $query, $qb, $tier_params['jo_status']);
|
$this->setQueryFilters($datatable, $query, $qb, $tier_params['jo_status']);
|
||||||
|
|
||||||
// check if sorting is present, otherwise use default
|
// check if sorting is present, otherwise use default
|
||||||
if (isset($datatable['sort']['field']) && !empty($datatable['sort']['field'])) {
|
if (isset($datatable['sort']['field']) && !empty($datatable['sort']['field'])) {
|
||||||
$prefix = '';
|
|
||||||
|
|
||||||
if (!in_array($datatable['sort']['field'], ['plate_number', 'customer_name']))
|
|
||||||
$prefix = 'q.';
|
|
||||||
|
|
||||||
$order = $datatable['sort']['sort'] ?? 'asc';
|
$order = $datatable['sort']['sort'] ?? 'asc';
|
||||||
$query->orderBy($prefix . $datatable['sort']['field'], $order);
|
$query->orderBy('q.' . $datatable['sort']['field'], $order);
|
||||||
} else {
|
} else {
|
||||||
$query->orderBy('q.date_schedule', 'asc');
|
$query->orderBy('q.date_schedule', 'asc');
|
||||||
}
|
}
|
||||||
|
|
@ -243,26 +233,16 @@ class JobOrderController extends BaseController
|
||||||
// process rows
|
// process rows
|
||||||
$rows = [];
|
$rows = [];
|
||||||
foreach ($obj_rows as $orow) {
|
foreach ($obj_rows as $orow) {
|
||||||
// get service type name
|
$statuses = JOStatus::getCollection();
|
||||||
$service_type = false;
|
|
||||||
$service_types = ServiceType::getCollection();
|
$service_types = ServiceType::getCollection();
|
||||||
foreach ($service_types as $key => $service) {
|
|
||||||
if ($key == $orow[0]->getServiceType()) {
|
|
||||||
$service_type = $service;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// add row data
|
// add row data
|
||||||
$row['id'] = $orow[0]->getID();
|
$row['id'] = $orow->getID();
|
||||||
$row['date_schedule'] = $orow[0]->getDateSchedule()->format("d M Y");
|
$row['delivery_address'] = $orow->getDeliveryAddress();
|
||||||
$row['date_schedule_time'] = $orow[0]->getDateSchedule()->format("g:i A");
|
$row['date_schedule'] = $orow->isAdvanceOrder() ? $orow->getDateSchedule()->format("d M Y g:i A") : 'Immediate';
|
||||||
$row['service_type'] = $service_type;
|
$row['service_type'] = $service_types[$orow->getServiceType()];
|
||||||
$row['plate_number'] = $orow['plate_number'];
|
$row['status'] = $statuses[$orow->getStatus()];
|
||||||
$row['customer_name'] = $orow['customer_name'] . " " . $orow['cust_last_name'];
|
$row['flag_advance'] = $orow->isAdvanceOrder();
|
||||||
$row['mobile_numbers'] = implode("<br>", $orow[0]->getCustomer()->getMobileNumberList());
|
|
||||||
$row['source'] = ucfirst($orow[0]->getSource());
|
|
||||||
$row['flag_advance'] = $orow[0]->isAdvanceOrder();
|
|
||||||
|
|
||||||
// add crud urls
|
// add crud urls
|
||||||
$row['meta']['update_url'] = $this->generateUrl($tier_params['edit_route'], ['id' => $row['id']]);
|
$row['meta']['update_url'] = $this->generateUrl($tier_params['edit_route'], ['id' => $row['id']]);
|
||||||
|
|
|
||||||
|
|
@ -96,6 +96,7 @@ class OutletController extends BaseController
|
||||||
// add row data
|
// add row data
|
||||||
$row['id'] = $orow[0]->getID();
|
$row['id'] = $orow[0]->getID();
|
||||||
$row['name'] = $orow[0]->getName();
|
$row['name'] = $orow[0]->getName();
|
||||||
|
$row['branch'] = $orow[0]->getBranch();
|
||||||
$row['address'] = $orow[0]->getAddress();
|
$row['address'] = $orow[0]->getAddress();
|
||||||
$row['contact_nums'] = $orow[0]->getContactNumbers();
|
$row['contact_nums'] = $orow[0]->getContactNumbers();
|
||||||
$row['time_open'] = $orow[0]->getTimeOpen()->format('g:i A');
|
$row['time_open'] = $orow[0]->getTimeOpen()->format('g:i A');
|
||||||
|
|
@ -153,6 +154,7 @@ class OutletController extends BaseController
|
||||||
|
|
||||||
// set and save values
|
// set and save values
|
||||||
$obj->setName($req->request->get('name'))
|
$obj->setName($req->request->get('name'))
|
||||||
|
->setBranch($req->request->get('branch'))
|
||||||
->setAddress($req->request->get('address'))
|
->setAddress($req->request->get('address'))
|
||||||
->setContactNumbers($req->request->get('contact_nums'))
|
->setContactNumbers($req->request->get('contact_nums'))
|
||||||
->setTimeOpen($time_open)
|
->setTimeOpen($time_open)
|
||||||
|
|
@ -165,6 +167,7 @@ class OutletController extends BaseController
|
||||||
if (isset($datatable['query']['data-rows-search']) && !empty($datatable['query']['data-rows-search'])) {
|
if (isset($datatable['query']['data-rows-search']) && !empty($datatable['query']['data-rows-search'])) {
|
||||||
$query->where('hub.name LIKE :filter')
|
$query->where('hub.name LIKE :filter')
|
||||||
->orWhere('q.name LIKE :filter')
|
->orWhere('q.name LIKE :filter')
|
||||||
|
->orWhere('q.branch LIKE :filter')
|
||||||
->orWhere('q.address LIKE :filter')
|
->orWhere('q.address LIKE :filter')
|
||||||
->setParameter('filter', '%' . $datatable['query']['data-rows-search'] . '%');
|
->setParameter('filter', '%' . $datatable['query']['data-rows-search'] . '%');
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -142,7 +142,8 @@ class JobOrder
|
||||||
|
|
||||||
// delivery address
|
// delivery address
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="text", nullable=true)
|
* @ORM\Column(type="text")
|
||||||
|
* @Assert\NotBlank()
|
||||||
*/
|
*/
|
||||||
protected $delivery_address;
|
protected $delivery_address;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -53,23 +53,34 @@
|
||||||
<div class="tab-content">
|
<div class="tab-content">
|
||||||
<div class="tab-pane active" id="customer-info" role="tabpanel">
|
<div class="tab-pane active" id="customer-info" role="tabpanel">
|
||||||
<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-4">
|
||||||
<label data-field="first_name">
|
<label data-field="first_name">
|
||||||
First Name
|
First Name
|
||||||
</label>
|
</label>
|
||||||
<input type="text" name="first_name" class="form-control m-input" value="{{ obj.getFirstName() }}" data-name="first_name">
|
<input type="text" name="first_name" class="form-control m-input" value="{{ obj.getFirstName() }}" data-name="first_name">
|
||||||
<div class="form-control-feedback hide" data-field="first_name"></div>
|
<div class="form-control-feedback hide" data-field="first_name"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-4">
|
||||||
<label data-field="last_name">
|
<label data-field="last_name">
|
||||||
Last Name
|
Last Name
|
||||||
</label>
|
</label>
|
||||||
<input type="text" name="last_name" class="form-control m-input" value="{{ obj.getLastName() }}" data-name="last_name">
|
<input type="text" name="last_name" class="form-control m-input" value="{{ obj.getLastName() }}" data-name="last_name">
|
||||||
<div class="form-control-feedback hide" data-field="last_name"></div>
|
<div class="form-control-feedback hide" data-field="last_name"></div>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-4">
|
||||||
|
<label data-field="customer_classification">
|
||||||
|
Customer Classification
|
||||||
|
</label>
|
||||||
|
<select name="customer_classification" class="form-control m-input">
|
||||||
|
{% for key, classification in classifications %}
|
||||||
|
<option value="{{ key }}"{{ obj.getCustomerClassification == key ? ' selected' }}>{{ classification }}</option>
|
||||||
|
{% endfor %}
|
||||||
|
</select>
|
||||||
|
<div class="form-control-feedback hide" data-field="customer_classification"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<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-4">
|
||||||
<label data-field="customer_notes">
|
<label data-field="customer_notes">
|
||||||
Customer Notes
|
Customer Notes
|
||||||
</label>
|
</label>
|
||||||
|
|
|
||||||
|
|
@ -91,6 +91,20 @@
|
||||||
field: 'last_name',
|
field: 'last_name',
|
||||||
title: 'Last Name'
|
title: 'Last Name'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
field: 'customer_classification',
|
||||||
|
title: 'Classification'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'mobile_numbers',
|
||||||
|
title: 'Mobile Numbers',
|
||||||
|
sortable: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'plate_numbers',
|
||||||
|
title: 'Plate Numbers',
|
||||||
|
sortable: false
|
||||||
|
},
|
||||||
{
|
{
|
||||||
field: 'flag_confirmed',
|
field: 'flag_confirmed',
|
||||||
title: 'Status',
|
title: 'Status',
|
||||||
|
|
@ -106,6 +120,25 @@
|
||||||
return tag;
|
return tag;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
field: 'flag_mobile_app',
|
||||||
|
title: 'Has Mobile App?',
|
||||||
|
template: function (row, index, datatable) {
|
||||||
|
var tag = '';
|
||||||
|
|
||||||
|
if (row.flag_mobile_app === true) {
|
||||||
|
tag = '<span class="m-badge m-badge--success m-badge--wide">Yes</span>';
|
||||||
|
} else {
|
||||||
|
tag = '<span class="m-badge m-badge--danger m-badge--wide">No</span>';
|
||||||
|
}
|
||||||
|
|
||||||
|
return tag;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'app_mobile_number',
|
||||||
|
title: 'Registered Number'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
field: 'Actions',
|
field: 'Actions',
|
||||||
width: 110,
|
width: 110,
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,31 @@
|
||||||
<input type="text" name="name" class="form-control m-input" value="{{ obj.getName() }}">
|
<input type="text" name="name" class="form-control m-input" value="{{ obj.getName() }}">
|
||||||
<div class="form-control-feedback hide" data-field="name"></div>
|
<div class="form-control-feedback hide" data-field="name"></div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<label for="name" data-field="branch">
|
||||||
|
Branch
|
||||||
|
</label>
|
||||||
|
<input type="text" name="branch" class="form-control m-input" value="{{ obj.getBranch() }}">
|
||||||
|
<div class="form-control-feedback hide" data-field="branch"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group m-form__group row no-border">
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<label for="address" data-field="address">
|
||||||
|
Address
|
||||||
|
</label>
|
||||||
|
<textarea class="form-control m-input" id="address" rows="4" name="address">{{ obj.getAddress }}</textarea>
|
||||||
|
<div class="form-control-feedback hide" data-field="address"></div>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<label for="contact_nums" data-field="contact_nums">
|
||||||
|
Contact Numbers
|
||||||
|
</label>
|
||||||
|
<textarea class="form-control m-input" id="contact_nums" rows="4" name="contact_nums">{{ obj.getContactNumbers }}</textarea>
|
||||||
|
<div class="form-control-feedback hide" data-field="contact_nums"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group m-form__group row no-border">
|
||||||
<div class="col-lg-3">
|
<div class="col-lg-3">
|
||||||
<label for="time_open">
|
<label for="time_open">
|
||||||
Time Open
|
Time Open
|
||||||
|
|
@ -83,22 +108,6 @@
|
||||||
<div class="form-control-feedback hide" data-field="time_close"></div>
|
<div class="form-control-feedback hide" data-field="time_close"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group m-form__group row no-border">
|
|
||||||
<div class="col-lg-6">
|
|
||||||
<label for="address" data-field="address">
|
|
||||||
Address
|
|
||||||
</label>
|
|
||||||
<textarea class="form-control m-input" id="address" rows="4" name="address">{{ obj.getAddress }}</textarea>
|
|
||||||
<div class="form-control-feedback hide" data-field="address"></div>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-6">
|
|
||||||
<label for="contact_nums" data-field="contact_nums">
|
|
||||||
Contact Numbers
|
|
||||||
</label>
|
|
||||||
<textarea class="form-control m-input" id="contact_nums" rows="4" name="contact_nums">{{ obj.getContactNumbers }}</textarea>
|
|
||||||
<div class="form-control-feedback hide" data-field="contact_nums"></div>
|
|
||||||
</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>
|
<label>
|
||||||
|
|
@ -309,6 +318,7 @@ $(function() {
|
||||||
{% for outlet in obj.getOutlets() %}
|
{% for outlet in obj.getOutlets() %}
|
||||||
orow = {
|
orow = {
|
||||||
name: "{{ outlet.getName() }}",
|
name: "{{ outlet.getName() }}",
|
||||||
|
branch: "{{ outlet.getBranch() }}",
|
||||||
address: "{{ outlet.getAddress() }}",
|
address: "{{ outlet.getAddress() }}",
|
||||||
contact_nums: '{{ outlet.getContactNumbers()|replace({"\r\n": "<br>"})|raw }}',
|
contact_nums: '{{ outlet.getContactNumbers()|replace({"\r\n": "<br>"})|raw }}',
|
||||||
time_open: "{{ outlet.getTimeOpen()|date('g:i A') }}",
|
time_open: "{{ outlet.getTimeOpen()|date('g:i A') }}",
|
||||||
|
|
@ -342,7 +352,11 @@ $(function() {
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
field: 'name',
|
field: 'name',
|
||||||
title: 'Name'
|
title: 'Outlet'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'branch',
|
||||||
|
title: 'Branch'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'address',
|
field: 'address',
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,11 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'name',
|
field: 'name',
|
||||||
title: 'Name'
|
title: 'Hub'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'branch',
|
||||||
|
title: 'Branch'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'address',
|
field: 'address',
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,7 @@
|
||||||
<select class="form-control m-input" name="service_type">
|
<select class="form-control m-input" name="service_type">
|
||||||
<!--<option value=""></option>-->
|
<!--<option value=""></option>-->
|
||||||
{% for key, service in service_types %}
|
{% for key, service in service_types %}
|
||||||
<option value="{{ key }}"{{ obj.getServiceType == service ? ' selected' }}>{{ service }}</option>
|
<option value="{{ key }}"{{ obj.getServiceType == key ? ' selected' }}>{{ service }}</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
<div class="form-control-feedback hide" data-field="service_type"></div>
|
<div class="form-control-feedback hide" data-field="service_type"></div>
|
||||||
|
|
@ -339,21 +339,17 @@
|
||||||
<table id="outlets-table" class="table table-compact table-hover table-clickable m-table">
|
<table id="outlets-table" class="table table-compact table-hover table-clickable m-table">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Name</th>
|
<th>Outlet</th>
|
||||||
<th>Address</th>
|
<th>Branch</th>
|
||||||
<th>Numbers</th>
|
|
||||||
<th>Opening</th>
|
|
||||||
<th>Closing</th>
|
|
||||||
<th class="text-right">Sales Count</th>
|
|
||||||
<th class="text-right">Sales Amount</th>
|
|
||||||
<th class="text-right">Service Count</th>
|
|
||||||
<th class="text-right">Distance</th>
|
<th class="text-right">Distance</th>
|
||||||
<th class="text-right">Travel Time</th>
|
<th class="text-right">Travel Time</th>
|
||||||
</tr>
|
<th class="text-right">Sales (Day)</th>
|
||||||
|
<th class="text-right">Services (Day)</th>
|
||||||
|
<th>Contact Numbers</th> </tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr class="placeholder-row{{ outlets|length > 0 ? ' hide' }}">
|
<tr class="placeholder-row{{ outlets|length > 0 ? ' hide' }}">
|
||||||
<td colspan="10">
|
<td colspan="7">
|
||||||
No items to display.
|
No items to display.
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
@ -361,15 +357,12 @@
|
||||||
{% for outlet in outlets %}
|
{% for outlet in outlets %}
|
||||||
<tr data-lat="{{ outlet.outlet.getCoordinates.getLatitude }}" data-lng="{{ outlet.outlet.getCoordinates.getLongitude }}" data-id="{{ outlet.outlet.getID }}"{{ obj.getOutlet and obj.getOutlet.getID == outlet.outlet.getID ? ' class="m-table__row--primary"' }}>
|
<tr data-lat="{{ outlet.outlet.getCoordinates.getLatitude }}" data-lng="{{ outlet.outlet.getCoordinates.getLongitude }}" data-id="{{ outlet.outlet.getID }}"{{ obj.getOutlet and obj.getOutlet.getID == outlet.outlet.getID ? ' class="m-table__row--primary"' }}>
|
||||||
<td>{{ outlet.outlet.getName }}</td>
|
<td>{{ outlet.outlet.getName }}</td>
|
||||||
<td>{{ outlet.outlet.getAddress }}</td>
|
<td>{{ outlet.outlet.getBranch }}</td>
|
||||||
<td>{{ outlet.outlet.getContactNumbers }}</td>
|
|
||||||
<td>{{ outlet.outlet.getTimeOpen|date("g:i A") }}</td>
|
|
||||||
<td>{{ outlet.outlet.getTimeClose|date("g:i A") }}</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">{{ outlet.distance ? outlet.distance : '-' }}</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>
|
||||||
|
<td class="text-right">0</td>
|
||||||
|
<td class="text-right">0</td>
|
||||||
|
<td>{{ outlet.outlet.getContactNumbers }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
|
||||||
|
|
@ -75,32 +75,27 @@
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
field: 'id',
|
field: 'id',
|
||||||
title: 'ID'
|
title: 'JO Number'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'delivery_address',
|
||||||
|
title: 'Customer Area'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'service_type',
|
||||||
|
title: 'Type of Transaction'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'date_schedule',
|
field: 'date_schedule',
|
||||||
title: 'Scheduled Date'
|
title: 'Scheduled Date'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'date_schedule_time',
|
field: 'status',
|
||||||
title: 'Scheduled Time',
|
title: 'Status'
|
||||||
sortable: false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'service_type',
|
field: 'owner',
|
||||||
title: 'Service Type'
|
title: 'Owner'
|
||||||
},
|
|
||||||
{
|
|
||||||
field: 'plate_number',
|
|
||||||
title: 'Plate No.'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
field: 'customer_name',
|
|
||||||
title: 'Customer'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
field: 'mobile_numbers',
|
|
||||||
title: 'Mobile Numbers'
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'Actions',
|
field: 'Actions',
|
||||||
|
|
|
||||||
|
|
@ -43,18 +43,32 @@
|
||||||
<input type="text" name="name" class="form-control m-input" value="{{ obj.getName() }}">
|
<input type="text" name="name" class="form-control m-input" value="{{ obj.getName() }}">
|
||||||
<div class="form-control-feedback hide" data-field="name"></div>
|
<div class="form-control-feedback hide" data-field="name"></div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<label for="name" data-field="branch">
|
||||||
|
Branch
|
||||||
|
</label>
|
||||||
|
<input type="text" name="branch" class="form-control m-input" value="{{ obj.getBranch() }}">
|
||||||
|
<div class="form-control-feedback hide" data-field="branch"></div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group m-form__group row no-border">
|
<div class="form-group m-form__group row no-border">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<label data-field="hub">Hub</label>
|
<label for="address" data-field="address">
|
||||||
<select class="form-control m-input" id="hub" name="hub">
|
Address
|
||||||
<option value=""></option>
|
</label>
|
||||||
{% for hub in hubs %}
|
<textarea class="form-control m-input" id="address" rows="4" name="address">{{ obj.getAddress }}</textarea>
|
||||||
<option value="{{ hub.getID() }}"{{ obj.getHub() and hub.getID() == obj.getHub().getID() ? ' selected' }}>{{ hub.getName() }}</option>
|
<div class="form-control-feedback hide" data-field="address"></div>
|
||||||
{% endfor %}
|
|
||||||
</select>
|
|
||||||
<div class="form-control-feedback hide" data-field="hub"></div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<label for="contact_nums" data-field="contact_nums">
|
||||||
|
Contact Numbers
|
||||||
|
</label>
|
||||||
|
<textarea class="form-control m-input" id="contact_nums" rows="4" name="contact_nums">{{ obj.getContactNumbers }}</textarea>
|
||||||
|
<div class="form-control-feedback hide" data-field="contact_nums"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group m-form__group row no-border">
|
||||||
|
|
||||||
<div class="col-lg-3">
|
<div class="col-lg-3">
|
||||||
<label for="time_open">
|
<label for="time_open">
|
||||||
Time Open
|
Time Open
|
||||||
|
|
@ -79,21 +93,15 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="form-control-feedback hide" data-field="time_close"></div>
|
<div class="form-control-feedback hide" data-field="time_close"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="form-group m-form__group row no-border">
|
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
<label for="address" data-field="address">
|
<label data-field="hub">Hub</label>
|
||||||
Address
|
<select class="form-control m-input" id="hub" name="hub">
|
||||||
</label>
|
<option value=""></option>
|
||||||
<textarea class="form-control m-input" id="address" rows="4" name="address">{{ obj.getAddress }}</textarea>
|
{% for hub in hubs %}
|
||||||
<div class="form-control-feedback hide" data-field="address"></div>
|
<option value="{{ hub.getID() }}"{{ obj.getHub() and hub.getID() == obj.getHub().getID() ? ' selected' }}>{{ hub.getName() }}</option>
|
||||||
</div>
|
{% endfor %}
|
||||||
<div class="col-lg-6">
|
</select>
|
||||||
<label for="contact_nums" data-field="contact_nums">
|
<div class="form-control-feedback hide" data-field="hub"></div>
|
||||||
Contact Numbers
|
|
||||||
</label>
|
|
||||||
<textarea class="form-control m-input" id="contact_nums" rows="4" name="contact_nums">{{ obj.getContactNumbers }}</textarea>
|
|
||||||
<div class="form-control-feedback hide" data-field="contact_nums"></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group m-form__group row">
|
<div class="form-group m-form__group row">
|
||||||
|
|
@ -115,8 +123,6 @@
|
||||||
<div class="form-control-feedback hide" data-field="coordinates"></div>
|
<div class="form-control-feedback hide" data-field="coordinates"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="m-portlet__foot m-portlet__foot--fit">
|
<div class="m-portlet__foot m-portlet__foot--fit">
|
||||||
<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">
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,11 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'name',
|
field: 'name',
|
||||||
title: 'Name'
|
title: 'Outlet'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'branch',
|
||||||
|
title: 'Branch'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: 'address',
|
field: 'address',
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue