227 lines
12 KiB
PHP
227 lines
12 KiB
PHP
@extends('admin.layouts.app')
|
|
|
|
@section('title', 'Tambah Barang Keluar')
|
|
|
|
@push('style')
|
|
<!-- CSS Libraries -->
|
|
<link rel="stylesheet" href="{{ asset('admin/library/summernote/dist/summernote-bs4.css') }}">
|
|
<style>
|
|
#preview img {
|
|
width: 100%;
|
|
height: 300px;
|
|
object-fit: cover;
|
|
object-position: center;
|
|
border-radius: .25rem;
|
|
}
|
|
</style>
|
|
@endpush
|
|
|
|
@section('main')
|
|
<div class="main-content">
|
|
<section class="section">
|
|
<div class="section-header">
|
|
<h1>Tambah Barang Keluar</h1>
|
|
<div class="section-header-breadcrumb">
|
|
<a href="{{ url('/barangkeluar') }}" class="btn btn-warning">Kembali</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="section-body">
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<form action="{{ route('barangkeluar.store') }}" method="POST" enctype="multipart/form-data" class="row">
|
|
@csrf
|
|
<div class="form-group col-md-6">
|
|
<label>Customer</label>
|
|
<select class="form-control @error('id_customer') is-invalid @enderror" name="id_customer">
|
|
@foreach ($customer as $itemsup)
|
|
<option value="{{ $itemsup->id }}">{{ $itemsup->nama_customer }}</option>
|
|
@endforeach
|
|
</select>
|
|
@error('id_customer')
|
|
<div class="invalid-feedback">Silahkan masukkan customer yang benar</div>
|
|
@enderror
|
|
<small>Jika customer belum terdaftar, <a href="/customer/create">Tambah</a></small>
|
|
</div>
|
|
|
|
<div class="form-group col-md-6">
|
|
<label>Pilih Kopi</label>
|
|
<select class="form-control @error('id_kopi') is-invalid @enderror" name="id_kopi" id="kopi">
|
|
@foreach ($kopi as $item)
|
|
<option value="{{ $item->id }}" data-harga="{{ $item->harga_jual }}">
|
|
{{ $item->nama_kopi }} - Stok {{ $item->stok }} kg
|
|
</option>
|
|
@endforeach
|
|
</select>
|
|
@error('id_kopi')
|
|
<div class="invalid-feedback">Silahkan pilih kategori</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="form-group col-md-6">
|
|
<label>Jenis Kopi</label>
|
|
<select class="form-control @error('jenis_kopi') is-invalid @enderror" name="jenis_kopi">
|
|
<option value="mentah">Mentah</option>
|
|
<option value="roasting">Roasting</option>
|
|
<option value="bubuk">Bubuk</option>
|
|
</select>
|
|
@error('jenis_kopi')
|
|
<div class="invalid-feedback">Silahkan pilih jenis kopi dengan benar</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="form-group col-md-6">
|
|
<label>Harga (per kg)</label>
|
|
<input type="text" class="form-control @error('harga_kopi') is-invalid @enderror" name="harga_kopi" value="{{ old('harga_kopi') }}" required autocomplete="off" id="harga" readonly>
|
|
@error('harga_kopi')
|
|
<div class="invalid-feedback">Harga kopi tidak valid</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="form-group col-md-6">
|
|
<label>Jumlah (kg)</label>
|
|
<input type="number" class="form-control @error('jumlah') is-invalid @enderror" name="jumlah" value="{{ old('jumlah') }}" required autocomplete="off" id="jumlah" onkeyup="hitung()">
|
|
@error('jumlah')
|
|
<div class="invalid-feedback">Jumlah tidak valid</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="form-group col-md-6">
|
|
<label>Total Harga</label>
|
|
<input type="text" class="form-control @error('total_harga') is-invalid @enderror" name="total_harga" value="{{ old('total_harga') }}" required autocomplete="off" id="vgrand_total" readonly>
|
|
<input type="hidden" name="total_harga" id="grand_total" readonly>
|
|
@error('total_harga')
|
|
<div class="invalid-feedback">Total Harga tidak valid</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="form-group col-md-6" id="targetDiv1" style="display: none">
|
|
<label>Pembayaran Awal (DP)</label>
|
|
<input type="text" class="form-control @error('dp') is-invalid @enderror" name="dp" value="{{ old('dp') }}" autocomplete="off" id="dp" onkeyup="hitung()" value="0">
|
|
@error('dp')
|
|
<div class="invalid-feedback">DP tidak valid</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="form-group col-md-6">
|
|
<label>Sisa Bayar</label>
|
|
<input type="text" class="form-control @error('sisa_bayar') is-invalid @enderror" value="{{ old('sisa_bayar') }}" id="vsisa_bayar" required autocomplete="off" readonly>
|
|
<input type="hidden" name="sisa_bayar" id="sisa_bayar" readonly>
|
|
@error('sisa_bayar')
|
|
<div class="invalid-feedback">Sisa Bayar tidak valid</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="form-group col-md-4" id="targetDiv2" style="display: none">
|
|
<label>Bukti Pembayaran (DP)</label>
|
|
<input type="file" name="gambardp" class="form-control @error('gambardp') is-invalid @enderror" id="gambar" onchange="imagePrev(this, '#tgambar');" autocomplete="off" style="border: none!important">
|
|
@error('gambardp')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
<div id="preview">
|
|
<img class="mt-3" src="{{ asset('admin/img/noimage.png') }}" id="tgambar">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-12">
|
|
<button class="btn btn-primary float-right" type="submit">Tambah</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
@endsection
|
|
|
|
@push('scripts')
|
|
<script src="{{ asset('admin/library/summernote/dist/summernote-bs4.js') }}"></script>
|
|
<script>
|
|
|
|
$(document).ready(function(){
|
|
$('#jumlah').on('input', function() {
|
|
var angka = $(this).val();
|
|
|
|
if (angka < 30) {
|
|
$('#targetDiv1').css('display', 'none');
|
|
$('#targetDiv2').css('display', 'none');
|
|
} else {
|
|
$('#targetDiv1').css('display', 'block');
|
|
$('#targetDiv2').css('display', 'block');
|
|
}
|
|
});
|
|
});
|
|
|
|
function imagePrev(imageUploadKTP, tumb) {
|
|
if (imageUploadKTP.files && imageUploadKTP.files[0]) {
|
|
var reader = new FileReader();
|
|
|
|
reader.onload = function(e) {
|
|
$(tumb).attr('src', e.target.result);
|
|
};
|
|
|
|
reader.readAsDataURL(imageUploadKTP.files[0]);
|
|
}
|
|
}
|
|
|
|
function formatRupiah(angka, prefix) {
|
|
var number_string = angka.replace(/[^,\d]/g, '').toString(),
|
|
split = number_string.split(','),
|
|
sisa = split[0].length % 3,
|
|
rupiah = split[0].substr(0, sisa),
|
|
ribuan = split[0].substr(sisa).match(/\d{3}/gi);
|
|
|
|
if (ribuan) {
|
|
separator = sisa ? '.' : '';
|
|
rupiah += separator + ribuan.join('.');
|
|
}
|
|
|
|
rupiah = split[1] != undefined ? rupiah + ',' + split[1] : rupiah;
|
|
return prefix == undefined ? rupiah : (rupiah ? 'Rp. ' + rupiah : '');
|
|
}
|
|
document.getElementById('dp').addEventListener('keyup', function(e) {
|
|
this.value = formatRupiah(this.value, 'Rp. ');
|
|
});
|
|
|
|
function setHargaKopi() {
|
|
let select = document.getElementById('kopi');
|
|
let harga = select.options[select.selectedIndex].getAttribute('data-harga');
|
|
document.getElementById('harga').value = formatRupiah(harga, 'Rp. ');
|
|
hitung();
|
|
}
|
|
|
|
function hitung() {
|
|
let inharga = document.getElementById('harga').value.replace(/\D/g, '');
|
|
let injumlah = document.getElementById('jumlah').value;
|
|
let indp = document.getElementById('dp').value.replace(/\D/g, '');
|
|
|
|
let grandTotal = inharga * injumlah;
|
|
let sisaBayar = grandTotal - indp;
|
|
|
|
let viewGrandTotal = formatRupiah(grandTotal.toString(), 'Rp. ');
|
|
let viewSisaBayar = formatRupiah(sisaBayar.toString(), 'Rp. ');
|
|
|
|
if (inharga < 0 || injumlah < 0 || indp < 0) {
|
|
viewGrandTotal = "Masukkan nominal yang benar";
|
|
viewSisaBayar = "Masukkan nominal yang benar";
|
|
}
|
|
|
|
if (sisaBayar < 0) {
|
|
viewSisaBayar = "Masukkan dp yang benar";
|
|
}
|
|
|
|
document.getElementById('vgrand_total').value = viewGrandTotal;
|
|
document.getElementById('vsisa_bayar').value = viewSisaBayar;
|
|
|
|
document.getElementById('grand_total').value = grandTotal;
|
|
document.getElementById('sisa_bayar').value = sisaBayar;
|
|
}
|
|
|
|
document.getElementById('kopi').addEventListener('change', setHargaKopi);
|
|
setHargaKopi();
|
|
</script>
|
|
@endpush
|