progreess

This commit is contained in:
JokoPrasetio 2025-07-22 05:56:06 +07:00
parent 34fbfef511
commit 911d4fe68e
6 changed files with 363 additions and 227 deletions

View File

@ -168,7 +168,7 @@ class CustomerController extends Controller
$payload = [
'title' => 'Checkout '
];
return view('guest.checkout_payment', $payload);
return view('guest.checkout.checkout_payment', $payload);
}
public function submitCheckout(){

View File

@ -1,42 +1,208 @@
document.addEventListener('DOMContentLoaded', () => {
$("#cartButton").addClass('d-none');
const cart = JSON.parse(sessionStorage.getItem('cart') || '[]');
if (cart.length === 0) {
window.location.href="/"
return
}
function toggleCustomerFields() {
const selected = $('input[name="jenis_customer"]:checked').val();
const steps = document.querySelectorAll('.form-step');
const progressBar = document.getElementById('stepProgressBar');
let currentStep = 0;
if (selected === 'Karyawan RSAB Harapan Kita') {
$('.karyawan').show();
$('.pasien').hide();
} else if (selected === 'Keluarga Pasien / Penunggu Pasien') {
$('.pasien').show();
$('.karyawan').hide();
} else {
$('.karyawan, .pasien').hide();
}
let cart = JSON.parse(sessionStorage.getItem('cart') || '[]');
let checkout_biodata = JSON.parse(sessionStorage.getItem('checkout_biodata') || '{}');
if (cart.length === 0) {
window.location.href = "/";
return;
}
function toggleCustomerFields() {
const selected = $('input[name="jenis_customer"]:checked').val();
if (selected === 'Karyawan RSAB Harapan Kita') {
$('.karyawan').show();
$('.pasien').hide();
} else if (selected === 'Keluarga Pasien / Penunggu Pasien') {
$('.pasien').show();
$('.karyawan').hide();
} else {
$('.karyawan, .pasien').hide();
}
}
// Jalankan saat load awal (jika radio sudah terpilih)
toggleCustomerFields();
$('input[name="jenis_customer"]').on('change', toggleCustomerFields);
toggleCustomerFields();
// Jalankan saat user memilih salah satu radio
$('input[name="jenis_customer"]').on('change', function() {
toggleCustomerFields();
if (typeof checkout_biodata === 'object') {
if (checkout_biodata.jenis_customer) {
$(`input[name="jenis_customer"][value="${checkout_biodata.jenis_customer}"]`).prop('checked', true);
}
$('#nama_pemesan').val(checkout_biodata.nama_pemesan);
$('#jenis_kelamin').val(checkout_biodata.jenis_kelamin);
$('#tanggal_lahir').val(checkout_biodata.tanggal_lahir);
$('#tinggi_badan').val(checkout_biodata.tinggi_badan);
$('#berat_badan').val(checkout_biodata.berat_badan);
$('#no_whatsapp').val(checkout_biodata.no_whatsapp);
$('#nama_pasien').val(checkout_biodata.nama_pasien);
$('#ruang_perawatan').val(checkout_biodata.ruang_perawatan);
$('#no_kamar').val(checkout_biodata.no_kamar);
$('#kelas_perawatan').val(checkout_biodata.kelas_perawatan);
$('#bagian_instalasi').val(checkout_biodata.bagian_instalasi);
$('#no_ekstensien').val(checkout_biodata.no_ekstensien);
}
function showStep(index) {
steps.forEach((step, i) => {
step.classList.toggle('active', i === index);
step.classList.toggle('d-none', i !== index);
});
const total = steps.length;
const progress = ((index + 1) / total) * 100;
progressBar.style.width = progress + '%';
progressBar.innerText = `Langkah ${index + 1} dari ${total}`;
}
$("#checkoutFormFinal").on('submit', function(e){
if(cart.length === 0){
e.preventDefault();
alert("Keranjang kosong. Silakan pilih menu terlebih dahulu!");
return;
function isiKonfirmasi() {
const biodata = {
jenis_customer: $('input[name="jenis_customer"]:checked').val(),
nama_pemesan: $('#nama_pemesan').val(),
jenis_kelamin: $('#jenis_kelamin').val(),
tanggal_lahir: $('#tanggal_lahir').val(),
tinggi_badan: $('#tinggi_badan').val(),
berat_badan: $('#berat_badan').val(),
no_whatsapp: $('#no_whatsapp').val(),
nama_pasien: $('#nama_pasien').val(),
ruang_perawatan: $('#ruang_perawatan').val(),
no_kamar: $('#no_kamar').val(),
kelas_perawatan: $('#kelas_perawatan').val(),
bagian_instalasi: $('#bagian_instalasi').val(),
no_ekstensien: $('#no_ekstensien').val(),
};
sessionStorage.setItem('checkout_biodata', JSON.stringify(biodata));
checkout_biodata = biodata; // Update global var
renderCartSummary();
}
function renderCartSummary() {
const container = document.getElementById('checkout_cart_summary');
container.innerHTML = '';
cart.forEach((item) => {
const pesananList = Array.isArray(item.pesanan) ? item.pesanan : [];
let pesananHTML = '';
pesananList.forEach((p, i) => {
pesananHTML += `
<div class="row g-2 align-items-center mb-2" data-item-id="${item.id}" data-index="${i}">
<div class="col-12 col-md-5">
<input type="date" class="form-control form-control-sm tanggal-input" value="${p.tgl}" oninput="onTanggalChange(${item.id}, ${i})">
</div>
<div class="col-12 col-md-3">
<select class="form-select form-select-sm kategori-pemesanan-input" onchange="onKategoriChange(${item.id}, ${i})">
<option value="" disabled ${!p.kategoriPemesanan ? 'selected' : ''}>Kategori Pemesanan</option>
<option value="Same Day" ${p.kategoriPemesanan === 'Same Day' ? 'selected' : ''}>Same Day</option>
<option value="Menu Normal" ${p.kategoriPemesanan === 'Menu Normal' ? 'selected' : ''}>Menu Normal</option>
</select>
</div>
<div class="col-6 col-md-2">
<input type="number" class="form-control form-control-sm jumlah-input" value="${p.jumlah}" min="1" oninput="onJumlahChange(${item.id}, ${i})">
</div>
<div class="col-6 col-md-2 text-end">
<button type="button" class="btn btn-sm btn-danger w-100 w-md-auto" onclick="removeOrderDate(${item.id}, ${i})">
<i class="fa-solid fa-trash"></i>
</button>
</div>
</div>`;
});
const harga = checkout_biodata.jenis_customer === 'Karyawan RSAB Harapan Kita' ? item.harga_karyawan || 0 : item.harga_kp || 0;
const itemTotal = pesananList.reduce((sum, p) => sum + (p.jumlah * harga), 0);
const itemHTML = `
<div class="card mb-3 shadow-sm">
<div class="row g-0">
<div class="col-md-4 d-flex align-items-center justify-content-center p-2">
<img src="gambar/${item.foto || 'default.jpg'}" alt="${item.nama_menu}" class="img-fluid rounded" style="max-height: 180px; object-fit: cover;">
</div>
<div class="col-md-8">
<div class="card-body">
<h5 class="card-title">${item.nama_menu}</h5>
<div class="text-muted small">Rp ${parseInt(harga).toLocaleString('id-ID')}</div>
<p class="card-text text-muted small mb-3">${item.deskripsi || ''}</p>
${pesananHTML}
<div class="mt-3 d-flex justify-content-between align-items-center">
<button type="button" class="btn btn-sm btn-outline-success" onclick="addOrderDate(${item.id})">+ Tambah Tanggal</button>
<div><strong>Total:</strong> <span class="text-success">Rp ${itemTotal.toLocaleString('id-ID')}</span></div>
<button type="button" class="btn btn-sm btn-outline-danger" onclick="removeCartItem(${item.id})"><i class="fa-solid fa-trash"></i> Hapus</button>
</div>
</div>
</div>
</div>
</div>`;
container.insertAdjacentHTML('beforeend', itemHTML);
});
}
window.onTanggalChange = function (itemId, index) {
const tanggalInput = document.querySelector(`div[data-item-id='${itemId}'][data-index='${index}'] .tanggal-input`).value;
cart.forEach(item => {
if (item.id === itemId) item.pesanan[index].tgl = tanggalInput;
});
sessionStorage.setItem('cart', JSON.stringify(cart));
};
window.onKategoriChange = function (itemId, index) {
const kategori = $(`[data-item-id='${itemId}'][data-index='${index}'] .kategori-pemesanan-input`).val();
cart.find(item => item.id === itemId).pesanan[index].kategoriPemesanan = kategori;
sessionStorage.setItem('cart', JSON.stringify(cart));
};
window.onJumlahChange = function (itemId, index) {
const jumlahInput = document.querySelector(`div[data-item-id='${itemId}'][data-index='${index}'] .jumlah-input`).value;
if (!isNaN(jumlahInput)) {
cart.find(item => item.id === itemId).pesanan[index].jumlah = parseInt(jumlahInput);
sessionStorage.setItem('cart', JSON.stringify(cart));
isiKonfirmasi();
}
document.getElementById('cart_data').value = JSON.stringify(cart)
});
});
};
window.addOrderDate = function(itemId) {
const item = cart.find(i => i.id === itemId);
if (item && Array.isArray(item.pesanan)) {
item.pesanan.push({ tgl: '', jumlah: 1, kategoriPemesanan: '' });
sessionStorage.setItem('cart', JSON.stringify(cart));
renderCartSummary();
}
}
window.removeOrderDate = function(itemId, index) {
const item = cart.find(i => i.id === itemId);
if (item && Array.isArray(item.pesanan) && item.pesanan.length > index) {
item.pesanan.splice(index, 1);
sessionStorage.setItem('cart', JSON.stringify(cart));
renderCartSummary();
}
}
document.querySelectorAll('.next-step').forEach(btn => {
btn.addEventListener('click', () => {
if (currentStep === 0) isiKonfirmasi();
if (currentStep < steps.length - 1) {
currentStep++;
showStep(currentStep);
}
});
});
document.querySelectorAll('.prev-step').forEach(btn => {
btn.addEventListener('click', () => {
if (currentStep > 0) {
currentStep--;
showStep(currentStep);
}
});
});
showStep(currentStep);
isiKonfirmasi();
});

View File

@ -94,26 +94,7 @@ let orderIndex = 0;
}
function addOrderDate(itemId) {
const cart = JSON.parse(sessionStorage.getItem('cart') || '[]');
const item = cart.find(i => i.id === itemId);
if (item) {
item.pesanan.push({ tgl: '', jumlah: 1 });
sessionStorage.setItem('cart', JSON.stringify(cart));
renderCartList();
}
}
function removeOrderDate(itemId, index) {
const cart = JSON.parse(sessionStorage.getItem('cart') || '[]');
const item = cart.find(i => i.id === itemId);
if (item && item.pesanan.length > index) {
item.pesanan.splice(index, 1);
sessionStorage.setItem('cart', JSON.stringify(cart));
renderCartList();
}
}
function removeCartItem(itemId){
let cart = JSON.parse(sessionStorage.getItem('cart') || '[]');
@ -123,41 +104,11 @@ let orderIndex = 0;
renderCartList()
}
function onJumlahChange(itemId, index) {
const cart = JSON.parse(sessionStorage.getItem('cart') || '[]');
const jumlahInput = document.querySelector(`div[data-item-id='${itemId}'][data-index='${index}'] .jumlah-input`).value;
if (!isNaN(jumlahInput)) {
cart.forEach(item => {
if (item.id === itemId) {
item.pesanan[index].jumlah = parseInt(jumlahInput);
}
});
sessionStorage.setItem('cart', JSON.stringify(cart));
renderCartList();
}
}
function onTanggalChange(itemId, index) {
const cart = JSON.parse(sessionStorage.getItem('cart') || '[]');
const tanggalInput = document.querySelector(`div[data-item-id='${itemId}'][data-index='${index}'] .tanggal-input`).value;
cart.forEach(item => {
if (item.id === itemId) {
item.pesanan[index].tgl = tanggalInput;
}
});
sessionStorage.setItem('cart', JSON.stringify(cart));
validateCheckoutButton();
}
function onKategoriChange(itemId, index) {
const cart = JSON.parse(sessionStorage.getItem('cart') || '[]');
const item = cart.find(i => i.id === itemId);
if (!item) return;
const kategori = $(`[data-item-id='${itemId}'][data-index='${index}'] .kategori-pemesanan-input`).val();
item.pesanan[index].kategoriPemesanan = kategori;
sessionStorage.setItem('cart', JSON.stringify(cart));
}
function renderCartTotalOnly() {

View File

@ -1,13 +1,8 @@
$(document).ready(function () {
// Auto render setiap buka offcanvas
cartSidebar.addEventListener('shown.bs.offcanvas', renderCartList);
cartSidebar.addEventListener('hidden.bs.offcanvas', function () {
const cart = JSON.parse(sessionStorage.getItem('cart') || '[]');
if (cart.length > 0) {
$('#floatingCartButton').removeClass('d-none');
}
});
const cart = JSON.parse(sessionStorage.getItem('cart') || '[]');
if (cart.length > 0) {
$('#floatingCartButton').removeClass('d-none');
}
});
@ -57,9 +52,9 @@
<div class="row text-muted small">
<div class="col-12 fw-semibold">Harga</div>
<div class="col-6">Karyawan:</div>
<div class="col-6 text-end">Rp ${parseInt(menu.harga_karyawan).toLocaleString('id-ID')}</div>
<div class="col-6 text-end fw-semibold">Rp ${parseInt(menu.harga_karyawan).toLocaleString('id-ID')}</div>
<div class="col-6">Keluarga Pasien:</div>
<div class="col-6 text-end">Rp ${parseInt(menu.harga_keluarga_pasien).toLocaleString('id-ID')}</div>
<div class="col-6 text-end fw-semibold">Rp ${parseInt(menu.harga_keluarga_pasien).toLocaleString('id-ID')}</div>
</div>
@ -228,6 +223,7 @@
harga_kp : $("#cathering_order_price_keluarga_pasien").text(),
foto: $('#cathering_order_photo').attr('src'),
jenis_menu: $('#cathering_order_jenis_menu').text(),
deskripsi:$("#cathering_order_deskripsi").text(),
pesanan : orders
}
cart.push(orderItem)
@ -271,6 +267,7 @@
harga_kp : $(e).data('harga_keluarga_pasien'),
foto: $(e).data('foto'),
jenis_menu: $(e).data('jenis_menu'),
deskripsi: $(e).data('deskripsi'),
pesanan : orders
}
cart.push(orderItem)

View File

@ -0,0 +1,153 @@
@extends('guest.layout.main')
@section('body_main_guests')
<section class="section py-5 bg-light">
<div class="container">
<div class="d-flex justify-content-between align-items-center mb-4">
<h4 class="mb-0">Checkout Order</h4>
<a href="/" class="btn btn-outline-success">
<i class="fa fa-arrow-left me-1"></i> Kembali ke Menu
</a>
</div>
{{-- Form Identitas --}}
<form id="checkoutFormFinal" method="POST" action="/submit-checkout">
@csrf
<div class="progress mb-4">
<div class="progress-bar bg-success" role="progressbar" id="stepProgressBar" style="width: 50%;">
Langkah 1 dari 2
</div>
</div>
{{-- STEP ONE --}}
<div class="form-step active">
<div class="row g-3 mb-4">
<input type="hidden" name="cart_data" id="cart_data">
<div class="col-md-12">
<label for="exampleInputEmail1" class="form-label">Apakah Anda Seorang ?</label>
<div class="form-check">
<input class="form-check-input" type="radio" name="jenis_customer" id="radio_karyawan" value="Karyawan RSAB Harapan Kita" required>
<label class="form-check-label" for="radio_karyawan" >
Karyawan RSAB Harapan Kita
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="jenis_customer" id="radio_kp" value="Keluarga Pasien / Penunggu Pasien" required>
<label class="form-check-label" for="radio_kp">
Keluarga Pasien / Penunggu Pasien
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="jenis_customer" id="radio_public" value="Masyarakat Umum" required>
<label class="form-check-label" for="radio_public">
Masyarakat Umum
</label>
</div>
</div>
<div class="col-md-6">
<label class="form-label">Nama Pemesan</label>
<input type="text" class="form-control" name="nama_pemesan" id="nama_pemesan" required>
</div>
<div class="col-md-6">
<label class="form-label">Jenis Kelamin</label>
<select class="form-select" name="jenis_kelamin" id="jenis_kelamin" required>
<option value="">Pilih...</option>
<option value="Laki-laki">Laki-laki</option>
<option value="Perempuan">Perempuan</option>
</select>
</div>
<div class="col-md-6">
<label class="form-label">Tanggal Lahir</label>
<input type="date" class="form-control" name="tanggal_lahir" id="tanggal_lahir">
</div>
<div class="col-md-6">
<label class="form-label">Tinggi Badan</label>
<input type="number" class="form-control" name="tinggi_badan" id="tinggi_badan">
</div>
<div class="col-md-6">
<label class="form-label">Berat Badan</label>
<input type="number" class="form-control" name="berat_badan" id="berat_badan">
</div>
<div class="col-md-6">
<label class="form-label">No. Whatsapp</label>
<input type="number" class="form-control" name="no_whatsapp" id="no_whatsapp" required>
</div>
{{-- Pasien --}}
<div class="col-md-6 pasien">
<label class="form-label">Nama Pasien</label>
<input type="text" class="form-control pasien-field" name="nama_pasien" id="nama_pasien">
</div>
<div class="col-md-6 pasien">
<label class="form-label">Ruang Perawatan</label>
<select class="form-select pasien-field" name="ruang_perawatan" id="ruang_perawatan">
<option value="">Pilih...</option>
<option value="Ruang Kenanga">Ruang Kenanga</option>
<option value="Ruang Menur">Ruang Menur</option>
<option value="Ruang Melati">Ruang Melati</option>
<option value="Ruang Mawar">Ruang Mawar</option>
<option value="Ruang Cempaka">Ruang Cempaka</option>
<option value="Ruang Widuri">Ruang Widuri</option>
<option value="Ruang Teratai">Ruang Teratai</option>
<option value="Klinik Anggrek">Klinik Melati</option>
<option value="Ruang VK">Ruang VK</option>
</select>
</div>
<div class="col-md-6 pasien">
<label class="form-label">Nomor Kamar Perawatan</label>
<input type="text" class="form-control pasien-field" name="no_kamar" id="no_kamar">
</div>
<div class="col-md-6 pasien">
<label class="form-label">Kelas Perawatan </label>
<select class="form-select pasien-field" name="kelas_perawatan" id="kelas_perawatan">
<option value="">Pilih...</option>
<option value="VIP A">VIP A</option>
<option value="VIP B">VIP B</option>
<option value="Kelas I">Kelas I</option>
<option value="Mesa Tesa">Mesa Tesa</option>
</select>
</div>
{{-- End Pasien --}}
{{-- Karyawan --}}
<div class="col-md-6 karyawan">
<label class="form-label">Bagian /Instalasi</label>
<input type="text" class="form-control karyawan-field" name="bagian_instalasi" id="bagian_instalasi">
</div>
<div class="col-md-6 karyawan">
<label class="form-label">Ekstensien yang bisa di Hubungi</label>
<input type="text" class="form-control karyawan-field" name="no_ekstensien" id="no_ekstensien">
</div>
{{-- End Karyawan --}}
</div>
<button type="button" class="btn btn-success w-100 next-step">Lanjutkan</button>
</div>
{{-- STEP TWO --}}
<div class="form-step d-none">
<h5 class="mb-4">Langkah 2: Konfirmasi Pemesanan</h5>
{{-- Ringkasan Pesanan --}}
<h6 class="fw-bold mb-3">Pesanan Gizi</h6>
<div id="checkout_cart_summary">
{{-- Akan diisi oleh JavaScript --}}
</div>
{{-- Tombol Navigasi --}}
<div class="d-flex justify-content-between mt-4">
<button type="button" class="btn btn-secondary prev-step">Kembali</button>
<button type="submit" class="btn btn-success">Simpan Pemesanan</button>
</div>
</div>
</form>
</div>
</div>
</section>
<script src="{{ ver('/js/checkout/index.js') }}"></script>
@endsection

View File

@ -1,131 +0,0 @@
@extends('guest.layout.main')
@section('body_main_guests')
<section class="section py-5 bg-light">
<div class="container">
<div class="d-flex justify-content-between align-items-center mb-4">
<h4 class="mb-0">Checkout Order</h4>
<a href="/" class="btn btn-outline-success">
<i class="fa fa-arrow-left me-1"></i> Kembali ke Menu
</a>
</div>
<div class="alert alert-info d-flex align-items-center" role="alert">
<i class="fa fa-info-circle me-2"></i>
<div>
Sebelum melakukan checkout, silakan isi biodata Anda dengan lengkap terlebih dahulu.
</div>
</div>
{{-- Form Identitas --}}
<form id="checkoutFormFinal" method="POST" action="/submit-checkout">
@csrf
<div class="row g-3 mb-4">
<input type="hidden" name="cart_data" id="cart_data">
<div class="col-md-6">
<label for="exampleInputEmail1" class="form-label">Apakah Anda Seorang ?</label>
<div class="form-check">
<input class="form-check-input" type="radio" name="jenis_customer" id="radio_karyawan" value="Karyawan RSAB Harapan Kita" required>
<label class="form-check-label" for="radio_karyawan" >
Karyawan RSAB Harapan Kita
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="jenis_customer" id="radio_kp" value="Keluarga Pasien / Penunggu Pasien" required>
<label class="form-check-label" for="radio_kp">
Keluarga Pasien / Penunggu Pasien
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="jenis_customer" id="radio_public" value="Masyarakat Umum" required>
<label class="form-check-label" for="radio_public">
Masyarakat Umum
</label>
</div>
</div>
<div class="col-md-6">
<label class="form-label">Nama Pemesan</label>
<input type="text" class="form-control" name="nama_pemesan" id="nama_pemesan" required>
</div>
<div class="col-md-6">
<label class="form-label">Jenis Kelamin</label>
<select class="form-select" name="jenis_kelamin" id="jenis_kelamin" required>
<option value="">Pilih...</option>
<option value="Laki-laki">Laki-laki</option>
<option value="Perempuan">Perempuan</option>
</select>
</div>
<div class="col-md-6">
<label class="form-label">Tanggal Lahir</label>
<input type="date" class="form-control" name="tanggal_lahir" id="tanggal_lahir">
</div>
<div class="col-md-6">
<label class="form-label">Tinggi Badan</label>
<input type="number" class="form-control" name="tinggi_badan" id="tinggi_badan">
</div>
<div class="col-md-6">
<label class="form-label">Berat Badan</label>
<input type="number" class="form-control" name="berat_badan" id="berat_badan">
</div>
<div class="col-md-12">
<label class="form-label">No. Whatsapp</label>
<input type="number" class="form-control" name="no_whatsapp" id="no_whatsapp" required>
</div>
{{-- Pasien --}}
<div class="col-md-6 pasien">
<label class="form-label">Nama Pasien</label>
<input type="text" class="form-control pasien-field" name="nama_pasien" id="nama_pasien">
</div>
<div class="col-md-6 pasien">
<label class="form-label">Ruang Perawatan</label>
<select class="form-select pasien-field" name="ruang_perawatan" id="ruang_perawatan">
<option value="">Pilih...</option>
<option value="Ruang Kenanga">Ruang Kenanga</option>
<option value="Ruang Menur">Ruang Menur</option>
<option value="Ruang Melati">Ruang Melati</option>
<option value="Ruang Mawar">Ruang Mawar</option>
<option value="Ruang Cempaka">Ruang Cempaka</option>
<option value="Ruang Widuri">Ruang Widuri</option>
<option value="Ruang Teratai">Ruang Teratai</option>
<option value="Klinik Anggrek">Klinik Melati</option>
<option value="Ruang VK">Ruang VK</option>
</select>
</div>
<div class="col-md-6 pasien">
<label class="form-label">Nomor Kamar Perawatan</label>
<input type="text" class="form-control pasien-field" name="no_kamar" id="no_kamar">
</div>
<div class="col-md-6 pasien">
<label class="form-label">Kelas Perawatan ? </label>
<select class="form-select pasien-field" name="kelas_perawatan" id="kelas_perawatan">
<option value="">Pilih...</option>
<option value="VIP A">VIP A</option>
<option value="VIP B">VIP B</option>
<option value="Kelas I">Kelas I</option>
<option value="Mesa Tesa">Mesa Tesa</option>
</select>
</div>
{{-- End Pasien --}}
{{-- Karyawan --}}
<div class="col-md-6 karyawan">
<label class="form-label">Bagian /Instalasi?</label>
<input type="text" class="form-control karyawan-field" name="bagian_instalasi" id="bagian_instalasi">
</div>
<div class="col-md-6 karyawan">
<label class="form-label">Ekstensien yang bisa di Hubungi?</label>
<input type="text" class="form-control karyawan-field" name="no_ekstensien" id="no_ekstensien">
</div>
{{-- End Karyawan --}}
</div>
<button type="submit" class="btn btn-success w-100">Simpan Order</button>
</form>
</div>
</section>
<script src="{{ ver('/js/checkout/index.js') }}"></script>
@endsection