feat: Add initial implementation for vehicle and device management, including dedicated controllers and views, and a new reports controller.
This commit is contained in:
@ -119,6 +119,7 @@ class DevicesController extends Controller
|
|||||||
"assigned" => $req->assigned,
|
"assigned" => $req->assigned,
|
||||||
"vid" => $req->vid,
|
"vid" => $req->vid,
|
||||||
"available" => $req->available,
|
"available" => $req->available,
|
||||||
|
"protocol" => $req->protocol,
|
||||||
];
|
];
|
||||||
$rulesInput = [
|
$rulesInput = [
|
||||||
"device_id" => "required|numeric",
|
"device_id" => "required|numeric",
|
||||||
@ -129,6 +130,7 @@ class DevicesController extends Controller
|
|||||||
"assigned" => "required|numeric",
|
"assigned" => "required|numeric",
|
||||||
"vid" => "nullable|numeric",
|
"vid" => "nullable|numeric",
|
||||||
"available" => "required|numeric",
|
"available" => "required|numeric",
|
||||||
|
"protocol" => "string",
|
||||||
];
|
];
|
||||||
|
|
||||||
// validasi input
|
// validasi input
|
||||||
@ -173,6 +175,7 @@ class DevicesController extends Controller
|
|||||||
"crt_by" => $req->auth->uid,
|
"crt_by" => $req->auth->uid,
|
||||||
"updt" => $now,
|
"updt" => $now,
|
||||||
"updt_by" => $req->auth->uid,
|
"updt_by" => $req->auth->uid,
|
||||||
|
"protocol" => $req->protocol,
|
||||||
];
|
];
|
||||||
$id = Devices::addDevice($insDevice);
|
$id = Devices::addDevice($insDevice);
|
||||||
|
|
||||||
@ -241,6 +244,7 @@ class DevicesController extends Controller
|
|||||||
"assigned" => $req->assigned,
|
"assigned" => $req->assigned,
|
||||||
"vid" => $req->vid,
|
"vid" => $req->vid,
|
||||||
"available" => $req->available,
|
"available" => $req->available,
|
||||||
|
"protocol" => $req->protocol,
|
||||||
];
|
];
|
||||||
$rulesInput = [
|
$rulesInput = [
|
||||||
"id" => "required|integer|not_in:0",
|
"id" => "required|integer|not_in:0",
|
||||||
@ -252,6 +256,7 @@ class DevicesController extends Controller
|
|||||||
"assigned" => "required|numeric",
|
"assigned" => "required|numeric",
|
||||||
"vid" => "nullable|numeric",
|
"vid" => "nullable|numeric",
|
||||||
"available" => "required|numeric",
|
"available" => "required|numeric",
|
||||||
|
"protocol" => "string",
|
||||||
];
|
];
|
||||||
|
|
||||||
// validasi input
|
// validasi input
|
||||||
@ -364,6 +369,7 @@ class DevicesController extends Controller
|
|||||||
"is_available" => $req->available,
|
"is_available" => $req->available,
|
||||||
"updt" => $now,
|
"updt" => $now,
|
||||||
"updt_by" => $req->auth->uid,
|
"updt_by" => $req->auth->uid,
|
||||||
|
"protocol" => $req->protocol,
|
||||||
];
|
];
|
||||||
Devices::updateDevice($id, $updtDevice);
|
Devices::updateDevice($id, $updtDevice);
|
||||||
|
|
||||||
|
|||||||
@ -366,7 +366,7 @@ class ReportsController extends Controller
|
|||||||
|
|
||||||
public function api_view_trip_detail(Request $req, $token)
|
public function api_view_trip_detail(Request $req, $token)
|
||||||
{
|
{
|
||||||
// token = base64_encode(tgl0 + '|' + tgl1 + '|' + nopol1 + '|' + now_unix())
|
// token = base64(unix(start_time) + '|' + unix(end_time) + '|' + nopol + '|' + unix(now()))
|
||||||
// $token = "1759686805|1759693045|B.10-517|1765845676";
|
// $token = "1759686805|1759693045|B.10-517|1765845676";
|
||||||
$token = base64_decode($token);
|
$token = base64_decode($token);
|
||||||
$token = explode('|', $token);
|
$token = explode('|', $token);
|
||||||
|
|||||||
@ -74,7 +74,7 @@ class VehiclesController extends Controller
|
|||||||
$list = DB::select("SELECT
|
$list = DB::select("SELECT
|
||||||
v.id, v.name, v.device_id, nopol1, nopol2, nopol3, v.sum_milleage,
|
v.id, v.name, v.device_id, nopol1, nopol2, nopol3, v.sum_milleage,
|
||||||
fvhc_img, vyear, t.`desc` type_name, c_name company_name, rltm.crt_d, rltm.crt crt_rltm,
|
fvhc_img, vyear, t.`desc` type_name, c_name company_name, rltm.crt_d, rltm.crt crt_rltm,
|
||||||
dvc.crt, dvc.simcard, fuel_curr
|
dvc.crt, dvc.simcard, fuel_curr, dvc.protocol
|
||||||
FROM t_vehicles as v
|
FROM t_vehicles as v
|
||||||
INNER JOIN t_vehicles_detail AS vd ON v.id = vd.vid
|
INNER JOIN t_vehicles_detail AS vd ON v.id = vd.vid
|
||||||
LEFT JOIN t_vehicles_types AS t ON v.type_id = t.id
|
LEFT JOIN t_vehicles_types AS t ON v.type_id = t.id
|
||||||
|
|||||||
@ -41,6 +41,7 @@
|
|||||||
<th class="">#</th>
|
<th class="">#</th>
|
||||||
<th class="text-center">Action</th>
|
<th class="text-center">Action</th>
|
||||||
<th class="">Device ID</th>
|
<th class="">Device ID</th>
|
||||||
|
<th class="">Device Type</th>
|
||||||
<th class="">Name</th>
|
<th class="">Name</th>
|
||||||
<th class="text-end">SIM Card</th>
|
<th class="text-end">SIM Card</th>
|
||||||
<th class="text-end">Type</th>
|
<th class="text-end">Type</th>
|
||||||
@ -60,7 +61,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="modal fade" data-bs-backdrop="static" data-bs-keyboard="false" id="mdlNewDevice" aria-labelledby="mdlNewDeviceLabel" aria-hidden="true">
|
<div class="modal fade" data-bs-backdrop="static" data-bs-keyboard="false" id="mdlNewDevice"
|
||||||
|
aria-labelledby="mdlNewDeviceLabel" aria-hidden="true">
|
||||||
<div class="modal-dialog modal-dialog modal-dialog-centered modal-dialog-scrollable modal-xl">
|
<div class="modal-dialog modal-dialog modal-dialog-centered modal-dialog-scrollable modal-xl">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
@ -76,19 +78,23 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<label for="add-device_id" class="col-form-label">Device ID<span class="text-danger">*</span></label>
|
<label for="add-device_id" class="col-form-label">Device ID<span
|
||||||
|
class="text-danger">*</span></label>
|
||||||
<input type="number" name="add-device_id" id="add-device_id" class="form-control">
|
<input type="number" name="add-device_id" id="add-device_id" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<label for="add-name" class="col-form-label">Name<span class="text-danger">*</span></label>
|
<label for="add-name" class="col-form-label">Name<span
|
||||||
|
class="text-danger">*</span></label>
|
||||||
<input type="text" name="add-name" id="add-name" class="form-control">
|
<input type="text" name="add-name" id="add-name" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<label for="add-simcard" class="col-form-label">Simcard<span class="text-danger">*</span></label>
|
<label for="add-simcard" class="col-form-label">Simcard<span
|
||||||
|
class="text-danger">*</span></label>
|
||||||
<input type="number" name="add-simcard" id="add-simcard" class="form-control">
|
<input type="number" name="add-simcard" id="add-simcard" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<label for="add-type" class="col-form-label">Type<span class="text-danger">*</span></label>
|
<label for="add-type" class="col-form-label">Type<span
|
||||||
|
class="text-danger">*</span></label>
|
||||||
<select name="add-type" id="add-type" class="form-control" style="width:100%;">
|
<select name="add-type" id="add-type" class="form-control" style="width:100%;">
|
||||||
<option value="" selected disabled>Select Type</option>
|
<option value="" selected disabled>Select Type</option>
|
||||||
<option value="{{ \App\Models\Devices::TYPE_BUILT_IN }}">Built-in</option>
|
<option value="{{ \App\Models\Devices::TYPE_BUILT_IN }}">Built-in</option>
|
||||||
@ -96,7 +102,7 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<label for="add-protocol" class="col-form-label">Protocol</label>
|
<label for="add-protocol" class="col-form-label">Device Type</label>
|
||||||
<input type="text" name="add-protocol" id="add-protocol" class="form-control">
|
<input type="text" name="add-protocol" id="add-protocol" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -108,36 +114,47 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-6 col-md-3">
|
<div class="col-sm-6 col-md-3">
|
||||||
<label for="add-status" class="form-label">Status<span class="text-danger">*</span></label>
|
<label for="add-status" class="form-label">Status<span
|
||||||
|
class="text-danger">*</span></label>
|
||||||
<div class="form-check form-switch">
|
<div class="form-check form-switch">
|
||||||
<input class="form-check-input" type="checkbox" id="add-status">
|
<input class="form-check-input" type="checkbox" id="add-status">
|
||||||
<label class="form-check-label" for="add-status"><span class="text-dark" id="add-txtStatus">Inactive</span></label>
|
<label class="form-check-label" for="add-status"><span class="text-dark"
|
||||||
|
id="add-txtStatus">Inactive</span></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6 col-md-3">
|
<div class="col-sm-6 col-md-3">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="add-assigned" class="form-label">Installed ? <span class="text-danger">*</span></label>
|
<label for="add-assigned" class="form-label">Installed ? <span
|
||||||
|
class="text-danger">*</span></label>
|
||||||
<div class="form-check form-switch">
|
<div class="form-check form-switch">
|
||||||
<input class="form-check-input" type="checkbox" id="add-assigned">
|
<input class="form-check-input" type="checkbox" id="add-assigned">
|
||||||
<label class="form-check-label" for="add-assigned"><span class="text-dark" id="add-txtAssigned">Released</span></label>
|
<label class="form-check-label" for="add-assigned"><span class="text-dark"
|
||||||
|
id="add-txtAssigned">Released</span></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group vhcAssignGroup d-none">
|
<div class="form-group vhcAssignGroup d-none">
|
||||||
<label for="add-vhc_assigned" class="col-form-label">Vehicle<span class="text-danger">*</span></label>
|
<label for="add-vhc_assigned" class="col-form-label">Vehicle<span
|
||||||
<select name="add-vhc_assigned" id="add-vhc_assigned" class="form-control" style="width:100%;">
|
class="text-danger">*</span></label>
|
||||||
|
<select name="add-vhc_assigned" id="add-vhc_assigned" class="form-control"
|
||||||
|
style="width:100%;">
|
||||||
<option value="" selected disabled>Select Type</option>
|
<option value="" selected disabled>Select Type</option>
|
||||||
@foreach ($vhcs as $vhc)
|
@foreach ($vhcs as $vhc)
|
||||||
<option value="{{ $vhc->vid }}" data-vid="{{ $vhc->vid }}" data-nopol="{{ $vhc->nopol1 . ' ' . $vhc->nopol2 . ' ' . $vhc->nopol3 }}">{{ $vhc->nopol1 . ' ' . $vhc->nopol2 . ' ' . $vhc->nopol3 }}</option>
|
<option value="{{ $vhc->vid }}" data-vid="{{ $vhc->vid }}"
|
||||||
|
data-nopol="{{ $vhc->nopol1 . ' ' . $vhc->nopol2 . ' ' . $vhc->nopol3 }}">
|
||||||
|
{{ $vhc->nopol1 . ' ' . $vhc->nopol2 . ' ' . $vhc->nopol3 }}
|
||||||
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6 col-md-3">
|
<div class="col-sm-6 col-md-3">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="add-available" class="form-label">Available Status ? <span class="text-danger">*</span></label>
|
<label for="add-available" class="form-label">Available Status ? <span
|
||||||
|
class="text-danger">*</span></label>
|
||||||
<div class="form-check form-switch">
|
<div class="form-check form-switch">
|
||||||
<input class="form-check-input" type="checkbox" id="add-available">
|
<input class="form-check-input" type="checkbox" id="add-available">
|
||||||
<label class="form-check-label" for="add-available"><span class="text-dark" id="add-txtAvailable">Not Available</span></label>
|
<label class="form-check-label" for="add-available"><span class="text-dark"
|
||||||
|
id="add-txtAvailable">Not Available</span></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -153,7 +170,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="modal fade" data-bs-backdrop="static" data-bs-keyboard="false" id="mdlUpdtDevice" aria-labelledby="mdlUpdtDeviceLabel" aria-hidden="true">
|
<div class="modal fade" data-bs-backdrop="static" data-bs-keyboard="false" id="mdlUpdtDevice"
|
||||||
|
aria-labelledby="mdlUpdtDeviceLabel" aria-hidden="true">
|
||||||
<div class="modal-dialog modal-dialog modal-dialog-centered modal-dialog-scrollable modal-xl">
|
<div class="modal-dialog modal-dialog modal-dialog-centered modal-dialog-scrollable modal-xl">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
@ -169,19 +187,23 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<label for="updt-device_id" class="col-form-label">Device ID<span class="text-danger">*</span></label>
|
<label for="updt-device_id" class="col-form-label">Device ID<span
|
||||||
|
class="text-danger">*</span></label>
|
||||||
<input type="number" name="updt-device_id" id="updt-device_id" class="form-control">
|
<input type="number" name="updt-device_id" id="updt-device_id" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<label for="updt-name" class="col-form-label">Name<span class="text-danger">*</span></label>
|
<label for="updt-name" class="col-form-label">Name<span
|
||||||
|
class="text-danger">*</span></label>
|
||||||
<input type="text" name="updt-name" id="updt-name" class="form-control">
|
<input type="text" name="updt-name" id="updt-name" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<label for="updt-simcard" class="col-form-label">Simcard<span class="text-danger">*</span></label>
|
<label for="updt-simcard" class="col-form-label">Simcard<span
|
||||||
|
class="text-danger">*</span></label>
|
||||||
<input type="number" name="updt-simcard" id="updt-simcard" class="form-control">
|
<input type="number" name="updt-simcard" id="updt-simcard" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<label for="updt-type" class="col-form-label">Type<span class="text-danger">*</span></label>
|
<label for="updt-type" class="col-form-label">Type<span
|
||||||
|
class="text-danger">*</span></label>
|
||||||
<select name="updt-type" id="updt-type" class="form-control" style="width:100%;">
|
<select name="updt-type" id="updt-type" class="form-control" style="width:100%;">
|
||||||
<option value="" selected disabled>Select Type</option>
|
<option value="" selected disabled>Select Type</option>
|
||||||
<option value="{{ \App\Models\Devices::TYPE_BUILT_IN }}">Built-in</option>
|
<option value="{{ \App\Models\Devices::TYPE_BUILT_IN }}">Built-in</option>
|
||||||
@ -189,7 +211,7 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<label for="updt-protocol" class="col-form-label">Protocol</label>
|
<label for="updt-protocol" class="col-form-label">Device Type</label>
|
||||||
<input type="text" name="updt-protocol" id="updt-protocol" class="form-control">
|
<input type="text" name="updt-protocol" id="updt-protocol" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -201,36 +223,47 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-6 col-md-3">
|
<div class="col-sm-6 col-md-3">
|
||||||
<label for="updt-status" class="form-label">Status<span class="text-danger">*</span></label>
|
<label for="updt-status" class="form-label">Status<span
|
||||||
|
class="text-danger">*</span></label>
|
||||||
<div class="form-check form-switch">
|
<div class="form-check form-switch">
|
||||||
<input class="form-check-input" type="checkbox" id="updt-status">
|
<input class="form-check-input" type="checkbox" id="updt-status">
|
||||||
<label class="form-check-label" for="updt-status"><span class="text-dark" id="updt-txtStatus">Inactive</span></label>
|
<label class="form-check-label" for="updt-status"><span class="text-dark"
|
||||||
|
id="updt-txtStatus">Inactive</span></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6 col-md-3">
|
<div class="col-sm-6 col-md-3">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="updt-assigned" class="form-label">Installed ? <span class="text-danger">*</span></label>
|
<label for="updt-assigned" class="form-label">Installed ? <span
|
||||||
|
class="text-danger">*</span></label>
|
||||||
<div class="form-check form-switch">
|
<div class="form-check form-switch">
|
||||||
<input class="form-check-input" type="checkbox" id="updt-assigned">
|
<input class="form-check-input" type="checkbox" id="updt-assigned">
|
||||||
<label class="form-check-label" for="updt-assigned"><span class="text-dark" id="updt-txtAssigned">Released</span></label>
|
<label class="form-check-label" for="updt-assigned"><span class="text-dark"
|
||||||
|
id="updt-txtAssigned">Released</span></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group vhcAssignGroup d-none">
|
<div class="form-group vhcAssignGroup d-none">
|
||||||
<label for="updt-vhc_assigned" class="col-form-label">Vehicle<span class="text-danger">*</span></label>
|
<label for="updt-vhc_assigned" class="col-form-label">Vehicle<span
|
||||||
<select name="updt-vhc_assigned" id="updt-vhc_assigned" class="form-control" style="width:100%;">
|
class="text-danger">*</span></label>
|
||||||
|
<select name="updt-vhc_assigned" id="updt-vhc_assigned" class="form-control"
|
||||||
|
style="width:100%;">
|
||||||
<option value="" selected disabled>Select Type</option>
|
<option value="" selected disabled>Select Type</option>
|
||||||
@foreach ($vhcs as $vhc)
|
@foreach ($vhcs as $vhc)
|
||||||
<option value="{{ $vhc->vid }}" data-vid="{{ $vhc->vid }}" data-nopol="{{ $vhc->nopol1 . ' ' . $vhc->nopol2 . ' ' . $vhc->nopol3 }}">{{ $vhc->nopol1 . ' ' . $vhc->nopol2 . ' ' . $vhc->nopol3 }}</option>
|
<option value="{{ $vhc->vid }}" data-vid="{{ $vhc->vid }}"
|
||||||
|
data-nopol="{{ $vhc->nopol1 . ' ' . $vhc->nopol2 . ' ' . $vhc->nopol3 }}">
|
||||||
|
{{ $vhc->nopol1 . ' ' . $vhc->nopol2 . ' ' . $vhc->nopol3 }}
|
||||||
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6 col-md-3">
|
<div class="col-sm-6 col-md-3">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="updt-available" class="form-label">Available Status ? <span class="text-danger">*</span></label>
|
<label for="updt-available" class="form-label">Available Status ? <span
|
||||||
|
class="text-danger">*</span></label>
|
||||||
<div class="form-check form-switch">
|
<div class="form-check form-switch">
|
||||||
<input class="form-check-input" type="checkbox" id="updt-available">
|
<input class="form-check-input" type="checkbox" id="updt-available">
|
||||||
<label class="form-check-label" for="updt-available"><span class="text-dark" id="updt-txtAvailable">Not Available</span></label>
|
<label class="form-check-label" for="updt-available"><span class="text-dark"
|
||||||
|
id="updt-txtAvailable">Not Available</span></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -251,7 +284,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="modal fade" data-bs-backdrop="static" data-bs-keyboard="false" id="mdlDelDevice" aria-labelledby="mdlDelDeviceLabel" aria-hidden="true">
|
<div class="modal fade" data-bs-backdrop="static" data-bs-keyboard="false" id="mdlDelDevice"
|
||||||
|
aria-labelledby="mdlDelDeviceLabel" aria-hidden="true">
|
||||||
<div class="modal-dialog modal-dialog-centered modal-sm">
|
<div class="modal-dialog modal-dialog-centered modal-sm">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
@ -436,6 +470,13 @@
|
|||||||
return `<span class="d-none">${data}</span>` + Helper.splitEvery4Char(`${data}`);
|
return `<span class="d-none">${data}</span>` + Helper.splitEvery4Char(`${data}`);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
data: 'protocol',
|
||||||
|
className: 'text-end text-nowrap',
|
||||||
|
visible: true,
|
||||||
|
orderable: true,
|
||||||
|
searchable: true,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
data: 'name',
|
data: 'name',
|
||||||
className: 'text-end text-nowrap',
|
className: 'text-end text-nowrap',
|
||||||
|
|||||||
@ -49,12 +49,15 @@
|
|||||||
<th class="">Type</th>
|
<th class="">Type</th>
|
||||||
<th class="">Service Start</th>
|
<th class="">Service Start</th>
|
||||||
@if ($user_role != \App\Models\Users::ROLE_VENDOR)
|
@if ($user_role != \App\Models\Users::ROLE_VENDOR)
|
||||||
<th class="">Device ID</th>
|
<th class="">Device</th>
|
||||||
<th class="">SIM Card</th>
|
<th class="">SIM Card</th>
|
||||||
<th class="">Last Update</th>
|
<th class="">Last Update</th>
|
||||||
@endif
|
@endif
|
||||||
<th class=""><span class="text-nowrap">Mileage <span class="text-lowercase">(km)</span></span></th>
|
<th class=""><span class="text-nowrap">Mileage <spanm class="text-lowercase">
|
||||||
<th class=""><span class="text-nowrap">Fuel <span class="text-lowercase">(L)</span></span></th>
|
(km)</span></span></th>
|
||||||
|
<th class=""><span class="text-nowrap">Fuel <span
|
||||||
|
class="text-lowercase">(L)</span></span></th>
|
||||||
|
<th class=""><span class="text-nowrap">Fuel Support</span></th>
|
||||||
<th class="">Company</th>
|
<th class="">Company</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@ -68,7 +71,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="modal fade" data-bs-backdrop="static" data-bs-keyboard="false" id="mdlNewVhc" aria-labelledby="mdlNewVhcLabel" aria-hidden="true">
|
<div class="modal fade" data-bs-backdrop="static" data-bs-keyboard="false" id="mdlNewVhc"
|
||||||
|
aria-labelledby="mdlNewVhcLabel" aria-hidden="true">
|
||||||
<div class="modal-dialog modal-dialog modal-dialog-centered modal-dialog-scrollable modal-xl">
|
<div class="modal-dialog modal-dialog modal-dialog-centered modal-dialog-scrollable modal-xl">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
@ -87,15 +91,21 @@
|
|||||||
<div class="col-5">
|
<div class="col-5">
|
||||||
<label for="add-fvhc-img" class="col-form-label">Front Vehicle Photo:</label>
|
<label for="add-fvhc-img" class="col-form-label">Front Vehicle Photo:</label>
|
||||||
<br>
|
<br>
|
||||||
<img id="add-fvhc-img" class="img-fluid landscape-photo" style="max-height: 19.6vh" src="https://products.unitedtractors.com/wp-content/uploads/2021/03/udtruck-GWE370.png" alt="add-fvhc-img">
|
<img id="add-fvhc-img" class="img-fluid landscape-photo" style="max-height: 19.6vh"
|
||||||
|
src="https://products.unitedtractors.com/wp-content/uploads/2021/03/udtruck-GWE370.png"
|
||||||
|
alt="add-fvhc-img">
|
||||||
<div id="add-group_fvhc_spinner" class="d-none">
|
<div id="add-group_fvhc_spinner" class="d-none">
|
||||||
<div class="spinner-border" role="status">
|
<div class="spinner-border" role="status">
|
||||||
<span class="visually-hidden">Loading...</span>
|
<span class="visually-hidden">Loading...</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="add-group_rotate_fvhc" class="pt-2 d-flex justify-content-start d-none">
|
<div id="add-group_rotate_fvhc" class="pt-2 d-flex justify-content-start d-none">
|
||||||
<button type="button" class="btnRotateLeft btn btn-sm btn-outline-primary ml-1" style="padding:0.25rem 0.5rem;border-radius:0.25rem;"><i class="icon ion-arrow-return-left"></i></button>
|
<button type="button" class="btnRotateLeft btn btn-sm btn-outline-primary ml-1"
|
||||||
<button type="button" class="btnRotateRight btn btn-sm btn-outline-primary ml-1" style="padding:0.25rem 0.5rem;border-radius:0.25rem;"><i class="icon ion-arrow-return-right"></i></button>
|
style="padding:0.25rem 0.5rem;border-radius:0.25rem;"><i
|
||||||
|
class="icon ion-arrow-return-left"></i></button>
|
||||||
|
<button type="button" class="btnRotateRight btn btn-sm btn-outline-primary ml-1"
|
||||||
|
style="padding:0.25rem 0.5rem;border-radius:0.25rem;"><i
|
||||||
|
class="icon ion-arrow-return-right"></i></button>
|
||||||
</div>
|
</div>
|
||||||
<input type="file" id="add-fvhc-file" class="form-control mt-3">
|
<input type="file" id="add-fvhc-file" class="form-control mt-3">
|
||||||
<input type="text" id="add-fvhc-base64" class="form-control" hidden>
|
<input type="text" id="add-fvhc-base64" class="form-control" hidden>
|
||||||
@ -110,7 +120,10 @@
|
|||||||
<select id="add-deviceid" class="form-control" style="width:100%;">
|
<select id="add-deviceid" class="form-control" style="width:100%;">
|
||||||
<option value="">Tidak dipilih</option>
|
<option value="">Tidak dipilih</option>
|
||||||
@foreach ($devices as $device)
|
@foreach ($devices as $device)
|
||||||
<option value="{{ $device->id }}" data-device_id="{{ $device->device_id }}" data-simcard="{{ $device->simcard }}" data-type="{{ $device->type }}">{{ $device->name . ' (' . implode(' ', str_split($device->device_id, 4)) . ')' }}</option>
|
<option value="{{ $device->id }}" data-device_id="{{ $device->device_id }}"
|
||||||
|
data-simcard="{{ $device->simcard }}" data-type="{{ $device->type }}">{{
|
||||||
|
$device->name . ' (' . implode(' ', str_split($device->device_id, 4)) .
|
||||||
|
')' }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div> --}}
|
</div> --}}
|
||||||
@ -139,7 +152,8 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<div class="mb-0">
|
<div class="mb-0">
|
||||||
<label for="add-speedlimit" class="col-form-label">Speed Limit (kph):</label>
|
<label for="add-speedlimit" class="col-form-label">Speed Limit
|
||||||
|
(kph):</label>
|
||||||
<input type="number" id="add-speedlimit" class="form-control">
|
<input type="number" id="add-speedlimit" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -153,11 +167,14 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<div class="mb-0">
|
<div class="mb-0">
|
||||||
<label for="add-dc_code" class="col-form-label">Distribution Category:</label>
|
<label for="add-dc_code" class="col-form-label">Distribution
|
||||||
|
Category:</label>
|
||||||
<select id="add-dc_code" class="form-control" style="width:100%;">
|
<select id="add-dc_code" class="form-control" style="width:100%;">
|
||||||
<option value="">Choose</option>
|
<option value="">Choose</option>
|
||||||
@foreach ($listDistribution as $distribution)
|
@foreach ($listDistribution as $distribution)
|
||||||
<option value="{{ $distribution->dc_code }}">{{ $distribution->dc_code }} - {{ $distribution->dc_name }}</option>
|
<option value="{{ $distribution->dc_code }}">
|
||||||
|
{{ $distribution->dc_code }} - {{ $distribution->dc_name }}
|
||||||
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
@ -168,7 +185,9 @@
|
|||||||
<select id="add-pool_code" class="form-control" style="width:100%;">
|
<select id="add-pool_code" class="form-control" style="width:100%;">
|
||||||
<option value="">Choose</option>
|
<option value="">Choose</option>
|
||||||
@foreach ($listPool as $pool)
|
@foreach ($listPool as $pool)
|
||||||
<option value="{{ $pool->pool_code }}">{{ $pool->pool_code }} - {{ $pool->pool_name }}</option>
|
<option value="{{ $pool->pool_code }}">{{ $pool->pool_code }} -
|
||||||
|
{{ $pool->pool_name }}
|
||||||
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
@ -189,7 +208,8 @@
|
|||||||
<option value="">Choose</option>
|
<option value="">Choose</option>
|
||||||
@foreach ($drivers as $driver)
|
@foreach ($drivers as $driver)
|
||||||
<option value="{{ $driver->id }}">
|
<option value="{{ $driver->id }}">
|
||||||
{{ $driver->fullname . ' (+' . $driver->phone_code . implode(' ', str_split($driver->phone, 4)) . ')' }}
|
{{ $driver->fullname . ' (+' . $driver->phone_code . implode(' ',
|
||||||
|
str_split($driver->phone, 4)) . ')' }}
|
||||||
</option>
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
@ -200,7 +220,8 @@
|
|||||||
<option value="">Choose</option>
|
<option value="">Choose</option>
|
||||||
@foreach ($drivers as $driver)
|
@foreach ($drivers as $driver)
|
||||||
<option value="{{ $driver->id }}">
|
<option value="{{ $driver->id }}">
|
||||||
{{ $driver->fullname . ' (+' . $driver->phone_code . implode(' ', str_split($driver->phone, 4)) . ')' }}
|
{{ $driver->fullname . ' (+' . $driver->phone_code . implode(' ',
|
||||||
|
str_split($driver->phone, 4)) . ')' }}
|
||||||
</option>
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
@ -216,15 +237,21 @@
|
|||||||
<div class="col-5">
|
<div class="col-5">
|
||||||
<label for="add-stnk-img" class="col-form-label">CoV Photo:</label>
|
<label for="add-stnk-img" class="col-form-label">CoV Photo:</label>
|
||||||
<br>
|
<br>
|
||||||
<img id="add-stnk-img" class="img-fluid landscape-photo" src="https://cdn-2.tstatic.net/kaltim/foto/bank/images/ilustrasi-surat-tanda-nomor-kendaraan-bermotor-stnk.jpg" alt="add-stnk-img">
|
<img id="add-stnk-img" class="img-fluid landscape-photo"
|
||||||
|
src="https://cdn-2.tstatic.net/kaltim/foto/bank/images/ilustrasi-surat-tanda-nomor-kendaraan-bermotor-stnk.jpg"
|
||||||
|
alt="add-stnk-img">
|
||||||
<div id="add-group_stnk_spinner" class="d-none">
|
<div id="add-group_stnk_spinner" class="d-none">
|
||||||
<div class="spinner-border" role="status">
|
<div class="spinner-border" role="status">
|
||||||
<span class="visually-hidden">Loading...</span>
|
<span class="visually-hidden">Loading...</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="add-group_rotate_stnk" class="pt-2 d-flex justify-content-start d-none">
|
<div id="add-group_rotate_stnk" class="pt-2 d-flex justify-content-start d-none">
|
||||||
<button type="button" class="btnRotateLeft btn btn-sm btn-outline-primary ml-1" style="padding:0.25rem 0.5rem;border-radius:0.25rem;"><i class="icon ion-arrow-return-left"></i></button>
|
<button type="button" class="btnRotateLeft btn btn-sm btn-outline-primary ml-1"
|
||||||
<button type="button" class="btnRotateRight btn btn-sm btn-outline-primary ml-1" style="padding:0.25rem 0.5rem;border-radius:0.25rem;"><i class="icon ion-arrow-return-right"></i></button>
|
style="padding:0.25rem 0.5rem;border-radius:0.25rem;"><i
|
||||||
|
class="icon ion-arrow-return-left"></i></button>
|
||||||
|
<button type="button" class="btnRotateRight btn btn-sm btn-outline-primary ml-1"
|
||||||
|
style="padding:0.25rem 0.5rem;border-radius:0.25rem;"><i
|
||||||
|
class="icon ion-arrow-return-right"></i></button>
|
||||||
</div>
|
</div>
|
||||||
<input type="file" id="add-stnk-file" class="form-control mt-3">
|
<input type="file" id="add-stnk-file" class="form-control mt-3">
|
||||||
<input type="text" id="add-stnk-base64" class="form-control" hidden>
|
<input type="text" id="add-stnk-base64" class="form-control" hidden>
|
||||||
@ -246,13 +273,16 @@
|
|||||||
<label for="add-nopol1" class="colr-form-label">License Plate Number</label>
|
<label for="add-nopol1" class="colr-form-label">License Plate Number</label>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<input type="text" id="add-nopol1" class="form-control" placeholder="ex: A-25-391">
|
<input type="text" id="add-nopol1" class="form-control"
|
||||||
|
placeholder="ex: A-25-391">
|
||||||
</div>
|
</div>
|
||||||
<div class="col d-none">
|
<div class="col d-none">
|
||||||
<input type="number" id="add-nopol2" class="form-control" placeholder="ex: 3633">
|
<input type="number" id="add-nopol2" class="form-control"
|
||||||
|
placeholder="ex: 3633">
|
||||||
</div>
|
</div>
|
||||||
<div class="col d-none">
|
<div class="col d-none">
|
||||||
<input type="text" id="add-nopol3" class="form-control" placeholder="ex: EEV">
|
<input type="text" id="add-nopol3" class="form-control"
|
||||||
|
placeholder="ex: EEV">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -266,7 +296,8 @@
|
|||||||
<input type="number" id="add-stnk-cc" class="form-control">
|
<input type="number" id="add-stnk-cc" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<label for="add-stnk-vin" class="col-form-label">Vehicle Identity Number:</label>
|
<label for="add-stnk-vin" class="col-form-label">Vehicle Identity
|
||||||
|
Number:</label>
|
||||||
<input type="string" id="add-stnk-vin" class="form-control">
|
<input type="string" id="add-stnk-vin" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
@ -282,11 +313,13 @@
|
|||||||
<input type="string" id="add-stnk-fueltype" class="form-control">
|
<input type="string" id="add-stnk-fueltype" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<label for="add-stnk-tnkbcolor" class="col-form-label">License Plat Color:</label>
|
<label for="add-stnk-tnkbcolor" class="col-form-label">License Plat
|
||||||
|
Color:</label>
|
||||||
<input type="string" id="add-stnk-tnkbcolor" class="form-control">
|
<input type="string" id="add-stnk-tnkbcolor" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<label for="add-stnk-regisyear" class="col-form-label">Registration Year:</label>
|
<label for="add-stnk-regisyear" class="col-form-label">Registration
|
||||||
|
Year:</label>
|
||||||
<input type="number" id="add-stnk-regisyear" class="form-control">
|
<input type="number" id="add-stnk-regisyear" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -308,7 +341,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="modal fade" data-bs-backdrop="static" data-bs-keyboard="false" id="mdlEdtVhc" aria-labelledby="mdlEdtVhcLabel" aria-hidden="true">
|
<div class="modal fade" data-bs-backdrop="static" data-bs-keyboard="false" id="mdlEdtVhc"
|
||||||
|
aria-labelledby="mdlEdtVhcLabel" aria-hidden="true">
|
||||||
<div class="modal-dialog modal-dialog modal-dialog-centered modal-dialog-scrollable modal-xl">
|
<div class="modal-dialog modal-dialog modal-dialog-centered modal-dialog-scrollable modal-xl">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
@ -326,15 +360,21 @@
|
|||||||
<div class="col-5">
|
<div class="col-5">
|
||||||
<label for="edt-fvhc-img" class="col-form-label">Front Vehicle Photo:</label>
|
<label for="edt-fvhc-img" class="col-form-label">Front Vehicle Photo:</label>
|
||||||
<br>
|
<br>
|
||||||
<img id="edt-fvhc-img" class="img-fluid landscape-photo" style="max-height: 19.6vh" src="https://products.unitedtractors.com/wp-content/uploads/2021/03/udtruck-GWE370.png" alt="edt-fvhc-img">
|
<img id="edt-fvhc-img" class="img-fluid landscape-photo" style="max-height: 19.6vh"
|
||||||
|
src="https://products.unitedtractors.com/wp-content/uploads/2021/03/udtruck-GWE370.png"
|
||||||
|
alt="edt-fvhc-img">
|
||||||
<div id="edt-group_fvhc_spinner" class="d-none">
|
<div id="edt-group_fvhc_spinner" class="d-none">
|
||||||
<div class="spinner-border" role="status">
|
<div class="spinner-border" role="status">
|
||||||
<span class="visually-hidden">Loading...</span>
|
<span class="visually-hidden">Loading...</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="edt-group_rotate_fvhc" class="pt-2 d-flex justify-content-start d-none">
|
<div id="edt-group_rotate_fvhc" class="pt-2 d-flex justify-content-start d-none">
|
||||||
<button type="button" class="btnRotateLeft btn btn-sm btn-outline-primary ml-1" style="padding:0.25rem 0.5rem;border-radius:0.25rem;"><i class="icon ion-arrow-return-left"></i></button>
|
<button type="button" class="btnRotateLeft btn btn-sm btn-outline-primary ml-1"
|
||||||
<button type="button" class="btnRotateRight btn btn-sm btn-outline-primary ml-1" style="padding:0.25rem 0.5rem;border-radius:0.25rem;"><i class="icon ion-arrow-return-right"></i></button>
|
style="padding:0.25rem 0.5rem;border-radius:0.25rem;"><i
|
||||||
|
class="icon ion-arrow-return-left"></i></button>
|
||||||
|
<button type="button" class="btnRotateRight btn btn-sm btn-outline-primary ml-1"
|
||||||
|
style="padding:0.25rem 0.5rem;border-radius:0.25rem;"><i
|
||||||
|
class="icon ion-arrow-return-right"></i></button>
|
||||||
</div>
|
</div>
|
||||||
<input type="file" id="edt-fvhc-file" class="form-control mt-3">
|
<input type="file" id="edt-fvhc-file" class="form-control mt-3">
|
||||||
<input type="text" id="edt-fvhc-base64" class="form-control" hidden>
|
<input type="text" id="edt-fvhc-base64" class="form-control" hidden>
|
||||||
@ -349,7 +389,10 @@
|
|||||||
<select id="edt-deviceid" class="form-control" style="width:100%;">
|
<select id="edt-deviceid" class="form-control" style="width:100%;">
|
||||||
<option value="">Tidak dipilih</option>
|
<option value="">Tidak dipilih</option>
|
||||||
@foreach ($devices as $device)
|
@foreach ($devices as $device)
|
||||||
<option value="{{ $device->id }}" data-device_id="{{ $device->device_id }}" data-simcard="{{ $device->simcard }}" data-type="{{ $device->type }}">{{ $device->name . ' (' . implode(' ', str_split($device->device_id, 4)) . ')' }}</option>
|
<option value="{{ $device->id }}" data-device_id="{{ $device->device_id }}"
|
||||||
|
data-simcard="{{ $device->simcard }}" data-type="{{ $device->type }}">
|
||||||
|
{{ $device->name . ' (' . implode(' ', str_split($device->device_id, 4)) . ')' }}
|
||||||
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
@ -378,7 +421,8 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<div class="mb-0">
|
<div class="mb-0">
|
||||||
<label for="edt-speedlimit" class="col-form-label">Speed Limit (kph):</label>
|
<label for="edt-speedlimit" class="col-form-label">Speed Limit
|
||||||
|
(kph):</label>
|
||||||
<input type="number" id="edt-speedlimit" class="form-control">
|
<input type="number" id="edt-speedlimit" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -394,11 +438,14 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<div class="mb-0">
|
<div class="mb-0">
|
||||||
<label for="edt-dc_code" class="col-form-label">Distribution Category:</label>
|
<label for="edt-dc_code" class="col-form-label">Distribution
|
||||||
|
Category:</label>
|
||||||
<select id="edt-dc_code" class="form-control" style="width:100%;">
|
<select id="edt-dc_code" class="form-control" style="width:100%;">
|
||||||
<option value="">Choose</option>
|
<option value="">Choose</option>
|
||||||
@foreach ($listDistribution as $distribution)
|
@foreach ($listDistribution as $distribution)
|
||||||
<option value="{{ $distribution->dc_code }}">{{ $distribution->dc_code }} - {{ $distribution->dc_name }}</option>
|
<option value="{{ $distribution->dc_code }}">
|
||||||
|
{{ $distribution->dc_code }} - {{ $distribution->dc_name }}
|
||||||
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
@ -409,7 +456,9 @@
|
|||||||
<select id="edt-pool_code" class="form-control" style="width:100%;">
|
<select id="edt-pool_code" class="form-control" style="width:100%;">
|
||||||
<option value="">Choose</option>
|
<option value="">Choose</option>
|
||||||
@foreach ($listPool as $pool)
|
@foreach ($listPool as $pool)
|
||||||
<option value="{{ $pool->pool_code }}">{{ $pool->pool_code }} - {{ $pool->pool_name }}</option>
|
<option value="{{ $pool->pool_code }}">{{ $pool->pool_code }} -
|
||||||
|
{{ $pool->pool_name }}
|
||||||
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
@ -431,7 +480,8 @@
|
|||||||
<option value="">Choose</option>
|
<option value="">Choose</option>
|
||||||
@foreach ($drivers as $driver)
|
@foreach ($drivers as $driver)
|
||||||
<option value="{{ $driver->id }}">
|
<option value="{{ $driver->id }}">
|
||||||
{{ $driver->fullname . ' (+' . $driver->phone_code . implode(' ', str_split($driver->phone, 4)) . ')' }}
|
{{ $driver->fullname . ' (+' . $driver->phone_code . implode(' ',
|
||||||
|
str_split($driver->phone, 4)) . ')' }}
|
||||||
</option>
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
@ -442,7 +492,8 @@
|
|||||||
<option value="">Choose</option>
|
<option value="">Choose</option>
|
||||||
@foreach ($drivers as $driver)
|
@foreach ($drivers as $driver)
|
||||||
<option value="{{ $driver->id }}">
|
<option value="{{ $driver->id }}">
|
||||||
{{ $driver->fullname . ' (+' . $driver->phone_code . implode(' ', str_split($driver->phone, 4)) . ')' }}
|
{{ $driver->fullname . ' (+' . $driver->phone_code . implode(' ',
|
||||||
|
str_split($driver->phone, 4)) . ')' }}
|
||||||
</option>
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
@ -458,15 +509,21 @@
|
|||||||
<div class="col-5">
|
<div class="col-5">
|
||||||
<label for="edt-stnk-img" class="col-form-label">CoV Photo:</label>
|
<label for="edt-stnk-img" class="col-form-label">CoV Photo:</label>
|
||||||
<br>
|
<br>
|
||||||
<img id="edt-stnk-img" class="img-fluid landscape-photo" src="https://cdn-2.tstatic.net/kaltim/foto/bank/images/ilustrasi-surat-tanda-nomor-kendaraan-bermotor-stnk.jpg" alt="edt-stnk-img">
|
<img id="edt-stnk-img" class="img-fluid landscape-photo"
|
||||||
|
src="https://cdn-2.tstatic.net/kaltim/foto/bank/images/ilustrasi-surat-tanda-nomor-kendaraan-bermotor-stnk.jpg"
|
||||||
|
alt="edt-stnk-img">
|
||||||
<div id="edt-group_stnk_spinner" class="d-none">
|
<div id="edt-group_stnk_spinner" class="d-none">
|
||||||
<div class="spinner-border" role="status">
|
<div class="spinner-border" role="status">
|
||||||
<span class="visually-hidden">Loading...</span>
|
<span class="visually-hidden">Loading...</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="edt-group_rotate_stnk" class="pt-2 d-flex justify-content-start d-none">
|
<div id="edt-group_rotate_stnk" class="pt-2 d-flex justify-content-start d-none">
|
||||||
<button type="button" class="btnRotateLeft btn btn-sm btn-outline-primary ml-1" style="padding:0.25rem 0.5rem;border-radius:0.25rem;"><i class="icon ion-arrow-return-left"></i></button>
|
<button type="button" class="btnRotateLeft btn btn-sm btn-outline-primary ml-1"
|
||||||
<button type="button" class="btnRotateRight btn btn-sm btn-outline-primary ml-1" style="padding:0.25rem 0.5rem;border-radius:0.25rem;"><i class="icon ion-arrow-return-right"></i></button>
|
style="padding:0.25rem 0.5rem;border-radius:0.25rem;"><i
|
||||||
|
class="icon ion-arrow-return-left"></i></button>
|
||||||
|
<button type="button" class="btnRotateRight btn btn-sm btn-outline-primary ml-1"
|
||||||
|
style="padding:0.25rem 0.5rem;border-radius:0.25rem;"><i
|
||||||
|
class="icon ion-arrow-return-right"></i></button>
|
||||||
</div>
|
</div>
|
||||||
<input type="file" id="edt-stnk-file" class="form-control mt-3">
|
<input type="file" id="edt-stnk-file" class="form-control mt-3">
|
||||||
<input type="text" id="edt-stnk-base64" class="form-control" hidden>
|
<input type="text" id="edt-stnk-base64" class="form-control" hidden>
|
||||||
@ -491,10 +548,12 @@
|
|||||||
<input type="text" id="edt-nopol1" class="form-control" placeholder="ex: B">
|
<input type="text" id="edt-nopol1" class="form-control" placeholder="ex: B">
|
||||||
</div>
|
</div>
|
||||||
<div class="col d-none">
|
<div class="col d-none">
|
||||||
<input type="number" id="edt-nopol2" class="form-control" placeholder="ex: 3633">
|
<input type="number" id="edt-nopol2" class="form-control"
|
||||||
|
placeholder="ex: 3633">
|
||||||
</div>
|
</div>
|
||||||
<div class="col d-none">
|
<div class="col d-none">
|
||||||
<input type="text" id="edt-nopol3" class="form-control" placeholder="ex: EEV">
|
<input type="text" id="edt-nopol3" class="form-control"
|
||||||
|
placeholder="ex: EEV">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -508,7 +567,8 @@
|
|||||||
<input type="number" id="edt-stnk-cc" class="form-control">
|
<input type="number" id="edt-stnk-cc" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<label for="edt-stnk-vin" class="col-form-label">Vehicle Identity Number:</label>
|
<label for="edt-stnk-vin" class="col-form-label">Vehicle Identity
|
||||||
|
Number:</label>
|
||||||
<input type="string" id="edt-stnk-vin" class="form-control">
|
<input type="string" id="edt-stnk-vin" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
@ -524,11 +584,13 @@
|
|||||||
<input type="string" id="edt-stnk-fueltype" class="form-control">
|
<input type="string" id="edt-stnk-fueltype" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<label for="edt-stnk-tnkbcolor" class="col-form-label">License Plat Color:</label>
|
<label for="edt-stnk-tnkbcolor" class="col-form-label">License Plat
|
||||||
|
Color:</label>
|
||||||
<input type="string" id="edt-stnk-tnkbcolor" class="form-control">
|
<input type="string" id="edt-stnk-tnkbcolor" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<label for="edt-stnk-regisyear" class="col-form-label">Registration Year:</label>
|
<label for="edt-stnk-regisyear" class="col-form-label">Registration
|
||||||
|
Year:</label>
|
||||||
<input type="number" id="edt-stnk-regisyear" class="form-control">
|
<input type="number" id="edt-stnk-regisyear" class="form-control">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -548,7 +610,8 @@
|
|||||||
<option value="0">Vendor belum dipilih</option>
|
<option value="0">Vendor belum dipilih</option>
|
||||||
@foreach ($vendors as $vendor)
|
@foreach ($vendors as $vendor)
|
||||||
<option value="{{ $vendor->id }}">
|
<option value="{{ $vendor->id }}">
|
||||||
{{ $vendor->first_name . ' (+' . $vendor->phone_code . implode(' ', str_split($vendor->phone, 4)) . ')' }}
|
{{ $vendor->first_name . ' (+' . $vendor->phone_code . implode(' ',
|
||||||
|
str_split($vendor->phone, 4)) . ')' }}
|
||||||
</option>
|
</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
@ -576,7 +639,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="modal fade" data-bs-backdrop="static" data-bs-keyboard="false" id="mdlDelVhc" aria-labelledby="mdlDelVhcLabel" aria-hidden="true">
|
<div class="modal fade" data-bs-backdrop="static" data-bs-keyboard="false" id="mdlDelVhc"
|
||||||
|
aria-labelledby="mdlDelVhcLabel" aria-hidden="true">
|
||||||
<div class="modal-dialog modal-dialog-centered modal-sm">
|
<div class="modal-dialog modal-dialog-centered modal-sm">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
@ -792,7 +856,10 @@
|
|||||||
orderable: true,
|
orderable: true,
|
||||||
searchable: true,
|
searchable: true,
|
||||||
render: function (data, type, row, meta) {
|
render: function (data, type, row, meta) {
|
||||||
return data ? Helper.splitEvery4Char(data) : '-';
|
const device_id = Helper.splitEvery4Char(data);
|
||||||
|
const protocol = " " + row.protocol || '';
|
||||||
|
|
||||||
|
return device_id + '<br>' + protocol;
|
||||||
// return `<span class="d-none">${data}</span>` + Helper.splitEvery4Char(`${data}`);
|
// return `<span class="d-none">${data}</span>` + Helper.splitEvery4Char(`${data}`);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -838,6 +905,16 @@
|
|||||||
return Number(data / 10).toFixed(1);
|
return Number(data / 10).toFixed(1);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
data: 'fuel_curr',
|
||||||
|
className: 'text-end',
|
||||||
|
visible: true,
|
||||||
|
orderable: true,
|
||||||
|
searchable: true,
|
||||||
|
render: function (data, type, row, meta) {
|
||||||
|
return data ? 'Yes' : 'No';
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
data: 'company_name',
|
data: 'company_name',
|
||||||
className: 'text-start text-nowrap',
|
className: 'text-start text-nowrap',
|
||||||
|
|||||||
Reference in New Issue
Block a user