361 lines
26 KiB
PHP
Executable File
361 lines
26 KiB
PHP
Executable File
@extends('app.app')
|
|
@section('title')
|
|
Transactions Special
|
|
@endsection
|
|
@section('content')
|
|
<div class="container-fluid">
|
|
<div class="content">
|
|
<form action="{{ url('api/transactions_spc/create_order_v1') }}" method="POST">
|
|
@csrf
|
|
{{-- template pickup and drop --}}
|
|
<div class="row">
|
|
<div class="col-lg-6 col-md-8 col-sm-8">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<div class="row d-flex align-items-center">
|
|
<div class="col">
|
|
<p class="card-title text-bold mb-0">Tambah Pengiriman Baru</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-body">
|
|
{{-- client --}}
|
|
<div class="row mb-3 d-flex align-items-center">
|
|
<div class="col-12 mb-3">
|
|
<div class="mb-3">
|
|
<p class="text-danger text-bold mb-0">Tanggal dan Waktu Pengiriman</p>
|
|
<small>Masukkan tanggal, jam, lokasi penjemputan, dan lokasi pengantaran yang ada pada daftar zona yang telah didaftarkan</small>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-sm-5 col-5">
|
|
<label class="form-label text-nowrap">Tanggal Penjemputan <span class="text-danger">*</span></label>
|
|
<input type="date" name="add_pickup_date" class="form-control" required>
|
|
</div>
|
|
<div class="col-2"></div>
|
|
<div class="col-sm-5 col-5">
|
|
<label for="add_pickup_time" class="form-label text-nowrap">Waktu Penjemputan <span class="text-danger">*</span></label>
|
|
<div class="row">
|
|
<div class="col-md-4 col-lg-3" style="padding:0 0 0 0.75rem;">
|
|
<select name="add_pickup_time_hour" class="form-control" required>
|
|
<option value="" selected disabled hidden>--</option>
|
|
@for ($i = 0; $i < 24; $i++)
|
|
<option value="{{ str_pad($i, 2, '0', STR_PAD_LEFT) }}">{{ str_pad($i, 2, '0', STR_PAD_LEFT) }}</option>
|
|
@endfor
|
|
</select>
|
|
</div>
|
|
<div class="col-md-4 col-lg-3" style="padding:0 0 0 0.75rem;">
|
|
<select name="add_pickup_time_minute" class="form-control" required>
|
|
<option value="" selected disabled hidden>--</option>
|
|
@for ($i = 0; $i < 60; $i++)
|
|
<option value="{{ str_pad($i, 2, '0', STR_PAD_LEFT) }}">{{ str_pad($i, 2, '0', STR_PAD_LEFT) }}</option>
|
|
@endfor
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-5 col-5 mb-3 d-none">
|
|
<label for="add_client" class="form-label text-nowrap">Pilih Client <span class="text-danger">*</span></label>
|
|
<select name="add_client" id="add_client" class="select2 form-control" readonly>
|
|
@foreach ($uclients as $uclient)
|
|
<option value="{{ $uclient->id }}" data-uid="{{ $uclient->id }}" data-cptid="{{ $uclient->client_group_id }}">
|
|
{{ $uclient->first_name . " ($uclient->client_group_name)" }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="card bg-light">
|
|
<div class="card-header">
|
|
<div class="row d-flex align-items-center">
|
|
<div class="col">
|
|
<p class="card-title text-bold mb-0">Penjemputan dan Pengantaran</p>
|
|
<small>Masukkan lokasi penjemputan, dan lokasi pengantaran yang ada pada daftar zona yang telah didaftarkan</small>
|
|
</div>
|
|
<div class="col text-end">
|
|
<button id="point-add-row" type="button" class="btn btn-sm btn-danger list_add_button">
|
|
<span class="ion-plus"></span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="point-container" class="card-body pb-0">
|
|
{{-- add here --}}
|
|
<div id="templatePickDrop" class="">
|
|
<div class="card point-card" data-id="0">
|
|
<div class="card-body">
|
|
<div class="row mb-3 d-flex align-items-center">
|
|
<div class="col-12">
|
|
<p class="text-danger text-bold mb-0">Penjemputan dan Pengantaran <span class="point-rowno"></span> <span class="text-danger">*</span></p>
|
|
</div>
|
|
{{-- <div class="col-2 text-end">
|
|
<button class="btn btn-sm btn-secondary point-minus list_remove_button" type="button">
|
|
<span class="ion-minus"></span>
|
|
</button>
|
|
</div> --}}
|
|
</div>
|
|
<div class="row d-flex align-items-center">
|
|
<div class="col-5">
|
|
<div class="form-group mb-2">
|
|
<label for="add_pickup_zone" class="form-label">Lokasi Penjemputan <span class="text-danger">*</span></label>
|
|
<select id="addPickupZone" name="add_pickup_zone[]" class="form-control select2" required>
|
|
<option value="" disabled selected>Belum ada lokasi yang dipilih</option>
|
|
@foreach ($pickup_zone as $_pickup_zone)
|
|
<option value="{{ $_pickup_zone->id }}">{{ $_pickup_zone->name }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
<div class="form-group mb-2">
|
|
<label for="add_pickup_pic_name" class="form-label text-nowrap">Nama Pengirim <span class="text-danger">*</span></label>
|
|
<input type="text" name="add_pickup_pic_name[]" id="addPickupPicName" class="form-control" required>
|
|
</div>
|
|
<div class="form-group mb-2">
|
|
<label for="add_pickup_pic_phone" class="form-label text-nowrap">No Telepon Pengirim <span class="text-danger">*</span></label>
|
|
<input type="tel" name="add_pickup_pic_phone[]" pattern="[0-9]*" title="Please enter a valid phone number (digits only)." id="addPickupPicPhone" class="form-control" required>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="col-2 text-center">
|
|
<label for="" class="form-label mb-0 mt-2"> </label>
|
|
<span class="ion-arrow-right-c text-danger" style="font-size: 15px"></span>
|
|
</div>
|
|
<div class="col-5">
|
|
<div class="form-group mb-2">
|
|
<label for="add_drop_zone" class="form-label">Lokasi Pengantaran <span class="text-danger">*</span></label>
|
|
<select name="add_drop_zone[]" class="form-control select2" required>
|
|
<option value="" selected disabled>Belum ada lokasi yang dipilih</option>
|
|
@foreach ($drop_zone as $_drop_zone)
|
|
<option value="{{ $_drop_zone->id }}">{{ $_drop_zone->name }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
<div class="form-group mb-2">
|
|
<label for="add_drop_pic_name" class="form-label text-nowrap">Nama Penerima <span class="text-danger">*</span></label>
|
|
<input type="text" name="add_drop_pic_name[]" class="form-control" required>
|
|
</div>
|
|
<div class="form-group mb-2">
|
|
<label for="add_drop_pic_phone" class="form-label text-nowrap">No Telepon Penerima <span class="text-danger">*</span></label>
|
|
<input type="tel" name="add_drop_pic_phone[]" pattern="[0-9]*" title="Please enter a valid phone number (digits only)." class="form-control" required>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row d-flex mt-2 select-report">
|
|
<div class="col-sm-12">
|
|
<label for="add_pickup_zone" class="form-label">Foto Pelaporan</label>
|
|
<select class="select2 form-control" id="addChecklist" name="checklist[0][]" style="width: 100%" multiple>
|
|
@foreach ($checklist as $_checklist)
|
|
<option value="{{ $_checklist->id }}">{{ $_checklist->name }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{-- prefer type vehicle --}}
|
|
<div class="row d-flex align-items-center">
|
|
<div class="col-12 mb-3">
|
|
<p class="text-danger text-bold mb-0">Informasi Kendaraan & Pengemudi</p>
|
|
</div>
|
|
<div class="col-5 mb-3">
|
|
<label for="add-truck_type" class="form-label">Pilih Kendaraan <span class="text-danger">*</span></label>
|
|
<select name="id_kendaraan" class="form-control" class="select2">
|
|
<option value="">Pilih Kendaraan</option>
|
|
@foreach ($vehicles as $_vehicle)
|
|
<option value="{{ $_vehicle->id }}">{{ $_vehicle->name }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
<div class="col-sm-2"></div>
|
|
<div class="col-5 mb-3">
|
|
<label for="add-truck_type" class="form-label">Pilih Pengemudi <span class="text-danger">*</span></label>
|
|
<select name="id_pengemudi" class="form-control" class="select2">
|
|
<option value="">Pilih Pengemudi</option>
|
|
@foreach ($drivers as $_driver)
|
|
<option value="{{ $_driver->id }}">{{ $_driver->fullname . ' (+62 ' . $_driver->phone . ')' }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
<div class="col-12">
|
|
<label for="add-note_tonase" class="form-label">Catatan Tonase</label>
|
|
<input type="text" name="add-note_tonase" id="add-note_tonase" class="form-control" placeholder="Tonase: 22 Ton / 58CBM">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-footer">
|
|
<div class="row d-flex align-items-center">
|
|
<div class="col-8">
|
|
<p class="mb-0">
|
|
Sudahkah Anda mengisi semua kolom yang ada?
|
|
</p>
|
|
</div>
|
|
<div class="col-4 text-end">
|
|
{{-- <button class="btn btn-warning btn-block btn-sm" id="btnCalculate">Pesan Sekarang</button> --}}
|
|
<button class="btn btn-warning btn-block btn-sm" type="submit">Pesan Sekarang</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
@endsection
|
|
|
|
@section('customcss')
|
|
<link rel="stylesheet" href="//code.jquery.com/ui/1.13.1/themes/base/jquery-ui.css">
|
|
@endsection
|
|
@section('customjs')
|
|
<script src="https://code.jquery.com/ui/1.13.1/jquery-ui.js"></script>
|
|
<script>
|
|
$(document).ready(function() {
|
|
$('#add_client').val('{{ Auth::user()->id }}').change();
|
|
var x = 1; //Initial field counter
|
|
var list_maxField = 10; //Input fields increment limitation
|
|
|
|
let index = 1;
|
|
|
|
function initializeSelect2(selector) {
|
|
$('.select2').select2();
|
|
}
|
|
|
|
initializeSelect2('#options0');
|
|
|
|
function updateIndices() {
|
|
$('#templatePickDrop .select-report').each(function(i) {
|
|
$(this).find('.select').attr('name', `checklist[${i}][]`);
|
|
$(this).find('.select').attr('id', `options${i}`);
|
|
});
|
|
index = $('#templatePickDrop .select-report').length;
|
|
}
|
|
//Once add button is clicked
|
|
$('body').on('click', '#point-add-row', function() {
|
|
//Check maximum number of input fields
|
|
x++;
|
|
if (x < list_maxField) {
|
|
var list_fieldHTML = `
|
|
<div class="card point-card" data-id="0">
|
|
<div class="card-body">
|
|
<div class="row mb-3 d-flex align-items-center">
|
|
<div class="col-10 mb-3">
|
|
<p class="text-danger text-bold mb-0">Penjemputan dan Pengantaran <span class="point-rowno"></span> <span class="text-danger">*</span></p>
|
|
</div>
|
|
<div class="col-2 text-end">
|
|
<button class="btn btn-sm btn-secondary point-minus list_remove_button" type="button">
|
|
<span class="ion-minus"></span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class="row d-flex align-items-center">
|
|
<div class="col-5">
|
|
<div class="form-group mb-2">
|
|
<label for="add_pickup_zone" class="form-label">Lokasi Penjemputan <span class="text-danger">*</span></label>
|
|
<select name="add_pickup_zone[]" class="form-control select2pckup" required>
|
|
<option value="" selected disabled>Belum ada lokasi yang dipilih</option>
|
|
@foreach ($pickup_zone as $_pickup_zone)
|
|
<option value="{{ $_pickup_zone->id }}">{{ $_pickup_zone->name }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
<div class="form-group mb-2">
|
|
<label for="add_pickup_pic_name" class="form-label text-nowrap">Nama Pengirim <span class="text-danger">*</span></label>
|
|
<input type="text" name="add_pickup_pic_name[]" class="form-control add-pckup-pic-name" required readonly>
|
|
</div>
|
|
<div class="form-group mb-2">
|
|
<label for="add_pickup_pic_phone" class="form-label text-nowrap">No Telepon Pengirim <span class="text-danger">*</span></label>
|
|
<input type="tel" name="add_pickup_pic_phone[]" pattern="[0-9]*" title="Please enter a valid phone number (digits only)." class="form-control add-pckup-pic-phone" required readonly>
|
|
</div>
|
|
</div>
|
|
<div class="col-2 text-center">
|
|
<label for="" class="form-label mb-0 mt-2"> </label>
|
|
<span class="ion-arrow-right-c text-danger" style="font-size: 15px"></span>
|
|
</div>
|
|
<div class="col-5">
|
|
<div class="form-group mb-2">
|
|
<label for="add_drop_zone" class="form-label">Lokasi Pengantaran <span class="text-danger">*</span></label>
|
|
<select name="add_drop_zone[]" class="select2 form-control" required>
|
|
<option value="" selected disabled>Belum ada lokasi yang dipilih</option>
|
|
@foreach ($drop_zone as $_drop_zone)
|
|
<option value="{{ $_drop_zone->id }}">{{ $_drop_zone->name }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
<div class="form-group mb-2">
|
|
<label for="add_drop_pic_name" class="form-label text-nowrap">Nama Penerima <span class="text-danger">*</span></label>
|
|
<input type="text" name="add_drop_pic_name[]" class="form-control" required>
|
|
</div>
|
|
<div class="form-group mb-2">
|
|
<label for="add_drop_pic_phone" class="form-label text-nowrap">No Telepon Penerima <span class="text-danger">*</span></label>
|
|
<input type="tel" name="add_drop_pic_phone[]" pattern="[0-9]*" title="Please enter a valid phone number (digits only)." class="form-control" required>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row d-flex mt-2 select-report">
|
|
<div class="col-sm-12">
|
|
<label for="add_pickup_zone" class="form-label">Foto Pelaporan</label>
|
|
<select class="select2 select2checklist form-control" name="checklist[${index}][]" id="options${index}" style="width: 100%" multiple>
|
|
@foreach ($checklist as $_checklist)
|
|
<option value="{{ $_checklist->id }}">{{ $_checklist->name }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
`; //New input field html
|
|
$('#templatePickDrop').append(list_fieldHTML); //Add field html
|
|
// $("select").select2();
|
|
// $(".select2pckup").prop('readonly', true);
|
|
$(".select2pckup").prop('disabled', true);
|
|
initializeSelect2(`#options${index}`);
|
|
|
|
$('.select2pckup').val($('#addPickupZone').val()).trigger('change')
|
|
$('.add-pckup-pic-name').val($('#addPickupPicName').val())
|
|
$('.add-pckup-pic-phone').val($('#addPickupPicPhone').val())
|
|
|
|
|
|
$('.select2checklist').prop('disabled', true);
|
|
$('.select2checklist').val($('#addChecklist').val()).trigger('change')
|
|
index++;
|
|
}
|
|
});
|
|
|
|
//Once remove button is clicked
|
|
$('#templatePickDrop').on('click', '.list_remove_button', function() {
|
|
$(this).closest('div.point-card').remove(); //Remove field html
|
|
updateIndices();
|
|
});
|
|
|
|
$('#addPickupZone').on('change', function() {
|
|
console.log($(this).val());
|
|
$('.select2pckup').val($(this).val()).trigger('change')
|
|
$('.add-pckup-pic-name').val($('#addPickupPicName').val())
|
|
$('.add-pckup-pic-phone').val($('#addPickupPicPhone').val())
|
|
})
|
|
|
|
$('#addPickupPicName').on('keyup', function() {
|
|
$('.add-pckup-pic-name').val($(this).val())
|
|
});
|
|
$('#addPickupPicPhone').on('keyup', function() {
|
|
$('.add-pckup-pic-phone').val($(this).val())
|
|
});
|
|
|
|
$('#addChecklist').on('change', function() {
|
|
$('.select2checklist').val($('#addChecklist').val()).trigger('change')
|
|
})
|
|
|
|
|
|
|
|
jQuery(function($) {
|
|
$('form').bind('submit', function() {
|
|
$(this).find('.select2pckup').prop('disabled', false);
|
|
$(this).find('.select2checklist').prop('disabled', false);
|
|
});
|
|
});
|
|
});
|
|
</script>
|
|
@endsection
|