Perbaiki tampilan transaksi baru
This commit is contained in:
parent
fc7db3e110
commit
1095ed940c
@ -53,6 +53,30 @@ class PembeliController extends Controller
|
|||||||
|
|
||||||
public function store(Request $request)
|
public function store(Request $request)
|
||||||
{
|
{
|
||||||
|
$request->validate(
|
||||||
|
[
|
||||||
|
'nama_barang' => ['required'],
|
||||||
|
'harga_barang' => ['required'],
|
||||||
|
'satuan_barang' => ['required'],
|
||||||
|
'jumlah_barang' => ['required'],
|
||||||
|
'email_penjual' => ['required'],
|
||||||
|
'persentase_keuntungan' => ['required'],
|
||||||
|
'total_keuntungan' => ['required'],
|
||||||
|
'total_bayar' => ['required'],
|
||||||
|
'total_harga' => ['required']
|
||||||
|
],[
|
||||||
|
'nama_barang.required' => 'Isi nama barang',
|
||||||
|
'harga_barang.required' => 'Isi harga barang',
|
||||||
|
'satuan_barang.required' => 'Isi satuan barang',
|
||||||
|
'jumlah_barang.required' => 'Isi jumlah barang',
|
||||||
|
'email_penjual.required' => 'Isi email penjual. Bisa dari kontak atau masukan email',
|
||||||
|
'persentase_keuntungan.required' => 'Terjadi kesalahan di server',
|
||||||
|
'total_keuntungan.required' => 'Terjadi kesalahan di server',
|
||||||
|
'total_bayar.required' => 'Terjadi kesalahan di server',
|
||||||
|
'total_harga.required' => 'Terjadi kesalahan di server'
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
$pembeli = auth()->user()->email;
|
$pembeli = auth()->user()->email;
|
||||||
$penjual = $request->email_penjual;
|
$penjual = $request->email_penjual;
|
||||||
$nama_barang = $request->nama_barang;
|
$nama_barang = $request->nama_barang;
|
||||||
|
@ -32,6 +32,7 @@ return new class extends Migration
|
|||||||
$table->enum('status_transaksi',['success','challenge','failure','process','sending','sent','finished','created', 'refund', 'done'])->default('created'); // transaction_status
|
$table->enum('status_transaksi',['success','challenge','failure','process','sending','sent','finished','created', 'refund', 'done'])->default('created'); // transaction_status
|
||||||
$table->enum('status_pembayaran',['settlement','capture','pending','expire','failure','cancel','refund'])->nullable(); // status transaksi dari midtrans
|
$table->enum('status_pembayaran',['settlement','capture','pending','expire','failure','cancel','refund'])->nullable(); // status transaksi dari midtrans
|
||||||
$table->timestamp('batas_pembayaran')->nullable();
|
$table->timestamp('batas_pembayaran')->nullable();
|
||||||
|
$table->timestamp('batas_pembatalan_transaksi')->nullable();
|
||||||
$table->timestamp('batas_konfirmasi_transaksi')->nullable();
|
$table->timestamp('batas_konfirmasi_transaksi')->nullable();
|
||||||
$table->timestamp('batas_pengiriman_barang_akhir');
|
$table->timestamp('batas_pengiriman_barang_akhir');
|
||||||
$table->timestamp('tanggal_transaksi')->nullable();
|
$table->timestamp('tanggal_transaksi')->nullable();
|
||||||
|
BIN
public/assets/img/modal-end/approve.png
Normal file
BIN
public/assets/img/modal-end/approve.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 271 KiB |
BIN
public/assets/img/modal-end/refund.png
Normal file
BIN
public/assets/img/modal-end/refund.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 131 KiB |
@ -14,20 +14,25 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="activities">
|
<div class="activities">
|
||||||
<p>asdasdasdsad</p>
|
<p style="text-align: justify;">
|
||||||
|
Silahkan konfirmasi barang anda sebelum menyelesaikan
|
||||||
|
transaksi atau mengajukan
|
||||||
|
refund. Harap diminta kesadaran penuh anda sebelum memilih selesaikan transaksi atau
|
||||||
|
ajukan
|
||||||
|
komplain.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row m-4">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="activities">
|
<div class="activities">
|
||||||
<div class="col-6 d-flex justify-content-center">
|
<div class="col-6 d-flex justify-content-center">
|
||||||
<img src="{{ asset('assets/img/avatar/avatar-1.png') }}"
|
<img src="{{ asset('assets/img/modal-end/approve.png') }}" style="width:100%;"
|
||||||
style="max-width:200px; max-height: 150px;" alt="">
|
alt="approve">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-6 d-flex justify-content-center">
|
<div class="col-6 d-flex justify-content-center">
|
||||||
<img src="{{ asset('assets/img/avatar/avatar-1.png') }}"
|
<img src="{{ asset('assets/img/modal-end/refund.png') }}" style="width:100%;"
|
||||||
style="max-width:200px; max-height: 150px;" alt="">
|
alt="refund">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -9,16 +9,18 @@
|
|||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="card"
|
<div class="card"
|
||||||
style="border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); position: relative; background: linear-gradient(45deg, #f3f3f3, #e0e0e0);">
|
style="border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); position: relative; background: linear-gradient(45deg, #f3f3f3, #e0e0e0);">
|
||||||
|
<form action="javascript:void(0);" method="POST" id="formTambahTransaksi"
|
||||||
|
enctype="multipart/form-data">
|
||||||
<div class="card-header d-flex justify-content-center">
|
<div class="card-header d-flex justify-content-center">
|
||||||
<h2>Form Transaksi</h2>
|
<h2>Form Transaksi</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<div class="form-group col-md-12">
|
<div class="form-group col-md-12">
|
||||||
<label for="inputpembeli">
|
<label for="inputPembeli">
|
||||||
<h5>Nama Pembeli</h5>
|
<h5>Nama Pembeli</h5>
|
||||||
</label>
|
</label>
|
||||||
<input type="email" class="form-control" id="inputpembeli"
|
<input type="email" class="form-control" id="inputPembeli" name="pembeli"
|
||||||
placeholder="Masukkan nama pembeli"
|
placeholder="Masukkan nama pembeli"
|
||||||
value="{{ Auth::user()->nama_depan . ' ' . Auth::user()->nama_belakang }}"
|
value="{{ Auth::user()->nama_depan . ' ' . Auth::user()->nama_belakang }}"
|
||||||
disabled>
|
disabled>
|
||||||
@ -31,11 +33,12 @@
|
|||||||
</label>
|
</label>
|
||||||
<h6>Pilih dari kontak</h6>
|
<h6>Pilih dari kontak</h6>
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<select class="form-control" id="selectContact" name="select_penjual"
|
<select class="form-control col-lg-10 col-md-10 col-sm-12"
|
||||||
style="width: 89%">
|
id="selectContact" name="select_penjual">
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
<button class="btn btn-danger" type="button" id="deleteOption">Hapus</button>
|
<button class="btn btn-danger col-md-2 col-md-2 col-sm-12" type="button"
|
||||||
|
id="deleteOption">Hapus</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -67,15 +70,15 @@
|
|||||||
<label for="hargaBarang">
|
<label for="hargaBarang">
|
||||||
<h5>Satuan</h5>
|
<h5>Satuan</h5>
|
||||||
</label>
|
</label>
|
||||||
<input type="text" class="form-control" name="satuan_barang" id="satuanBarang"
|
<input type="text" class="form-control" name="satuan_barang"
|
||||||
placeholder="Buah/Kg/Karung/Jutaan dll.">
|
id="satuanBarang" placeholder="Buah/Kg/Karung/Jutaan dll.">
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="jumlahBarang">
|
<label for="jumlahBarang">
|
||||||
<h5>Jumlah Satuan</h5>
|
<h5>Jumlah Satuan</h5>
|
||||||
</label>
|
</label>
|
||||||
<input type="text" class="form-control" name="jumlah_barang" id="jumlahBarang"
|
<input type="text" class="form-control" name="jumlah_barang"
|
||||||
placeholder="Jumlah satuan"
|
id="jumlahBarang" placeholder="Jumlah satuan"
|
||||||
oninput="this.value = this.value.replace(/[^0-9.]/g, '').substring(0, 10);">
|
oninput="this.value = this.value.replace(/[^0-9.]/g, '').substring(0, 10);">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -88,30 +91,39 @@
|
|||||||
|
|
||||||
<div class="dashed-line"></div>
|
<div class="dashed-line"></div>
|
||||||
|
|
||||||
<div class="form-row">
|
|
||||||
<label style="margin-right: 200px;" id="jumlah">Nominal</label>
|
|
||||||
<div style="display: inline-block;" id="totalBiaya">Rp 0,00</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-row">
|
<div class="form-group">
|
||||||
<label style="margin-right: 200px;" id="biayaAdmin" data-admin="">Biaya Admin
|
<div class="input-group">
|
||||||
|
<label class="col-6" id="jumlah">Nominal</label>
|
||||||
|
<div class="col-6 text-right" id="totalBiaya">
|
||||||
|
Rp 0,00
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="input-group">
|
||||||
|
<label class="col-6" id="biayaAdmin">Biaya Admin
|
||||||
({{ $persentase_keuntungan }}%)</label>
|
({{ $persentase_keuntungan }}%)</label>
|
||||||
<div style="display: inline-block;" id="totalBiayaAdmin">Rp 0,00</div>
|
<div class="col-6 text-right" id="totalBiayaAdmin">Rp 0,00</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-row">
|
<div class="form-group">
|
||||||
<h6 style="margin-right: 200px;">Total Biaya</h6>
|
<div class="input-group">
|
||||||
<div style="display: inline-block;">
|
<h6 class="col-6">Total Biaya</h6>
|
||||||
|
<div class="col-6 text-right">
|
||||||
<h6 id="totalBayar">Rp 0,00</h6>
|
<h6 id="totalBayar">Rp 0,00</h6>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="dashed-line"></div>
|
<div class="dashed-line"></div>
|
||||||
|
|
||||||
<div class="card-footer d-flex justify-content-center">
|
<div class="card-footer d-flex justify-content-center">
|
||||||
<button type="button" class="btn btn-primary" id="save">Buat</button>
|
<button type="submit" class="btn btn-primary" id="save">Buat</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -307,71 +319,21 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#save").on("click", function() {
|
$('#formTambahTransaksi').on('submit', function(e) {
|
||||||
const csrfToken = $('meta[name="csrf-token"]').attr("content");
|
e.preventDefault();
|
||||||
|
const csrfToken = $('meta[name="csrf-token"]').attr('content');
|
||||||
|
let form = this;
|
||||||
|
let email_kontak = $('#selectContact').val();
|
||||||
|
let email_input = $('#inputPenjual').val();
|
||||||
|
let penjual = email_kontak != null ? email_kontak : email_input;
|
||||||
|
|
||||||
let opsiKontak = document.querySelector(
|
const formData = new FormData(this);
|
||||||
'[name="select_penjual"]'
|
formData.append("email_penjual", penjual);
|
||||||
).value;
|
formData.append("persentase_keuntungan", biayaAdmin);
|
||||||
let inputKontak = document.querySelector(
|
formData.append("total_keuntungan", totalBiayaAdmin);
|
||||||
'[name="input_penjual"]'
|
formData.append("total_harga", totalHarga);
|
||||||
).value;
|
formData.append("total_bayar", totalBayar);
|
||||||
let namaBarang = document.querySelector('[name="nama_barang"]').value;
|
|
||||||
let hargaBarang = document.querySelector('[name="harga_barang"]').value;
|
|
||||||
let satuanBarang = document.querySelector(
|
|
||||||
'[name="satuan_barang"]'
|
|
||||||
).value;
|
|
||||||
let jumlahBarang = document.querySelector(
|
|
||||||
'[name="jumlah_barang"]'
|
|
||||||
).value;
|
|
||||||
let deskripsi = document.querySelector(
|
|
||||||
'textarea[name="deskripsi"]'
|
|
||||||
).value;
|
|
||||||
|
|
||||||
let emptyInput = [];
|
|
||||||
|
|
||||||
let penjual = "";
|
|
||||||
if (opsiKontak != "" && inputKontak != "") {
|
|
||||||
penjual = opsiKontak;
|
|
||||||
} else if (opsiKontak == "" && inputKontak != "") {
|
|
||||||
penjual = inputKontak;
|
|
||||||
} else if (inputKontak == "" && opsiKontak != "") {
|
|
||||||
penjual = opsiKontak;
|
|
||||||
} else {
|
|
||||||
emptyInput.push("Kolom penjual tidak boleh kosong");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (penjual == "{{ Auth::user()->email }}") {
|
|
||||||
emptyInput.push(
|
|
||||||
"Email penjual tidak boleh sama dengan email pembeli"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (namaBarang == "") {
|
|
||||||
emptyInput.push("Nama barang tidak boleh kosong");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hargaBarang == "") {
|
|
||||||
emptyInput.push("Harga barang tidak boleh kosong");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (satuanBarang == "") {
|
|
||||||
emptyInput.push("Satuan barang tidak boleh kosong");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (jumlahBarang == "") {
|
|
||||||
emptyInput.push("Jumlah barang tidak boleh kosong");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (emptyInput.length > 0) {
|
|
||||||
const emptyInputError = emptyInput.join(", ");
|
|
||||||
Swal.fire({
|
|
||||||
title: "Gagal",
|
|
||||||
text: emptyInputError,
|
|
||||||
icon: "error",
|
|
||||||
confirmButtonText: "OK",
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
Swal.fire({
|
Swal.fire({
|
||||||
html: '<div class="mt-3"><lord-icon src="https://cdn.lordicon.com/etwtznjn.json" trigger="loop" colors="primary:#0ab39c,secondary:#405189" style="width:120px;height:120px"></lord-icon><div class="mt-4 pt-2 fs-15"><h4>Form Anda sedang diproses!</h4><p class="text-muted mx-4 mb-0">Mohon tunggu...</p></div></div>',
|
html: '<div class="mt-3"><lord-icon src="https://cdn.lordicon.com/etwtznjn.json" trigger="loop" colors="primary:#0ab39c,secondary:#405189" style="width:120px;height:120px"></lord-icon><div class="mt-4 pt-2 fs-15"><h4>Form Anda sedang diproses!</h4><p class="text-muted mx-4 mb-0">Mohon tunggu...</p></div></div>',
|
||||||
allowEscapeKey: false,
|
allowEscapeKey: false,
|
||||||
@ -381,18 +343,6 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const formData = new FormData();
|
|
||||||
formData.append("email_penjual", penjual);
|
|
||||||
formData.append("nama_barang", namaBarang);
|
|
||||||
formData.append("satuan_barang", satuanBarang);
|
|
||||||
formData.append("harga_barang", hargaBarang);
|
|
||||||
formData.append("jumlah_barang", jumlahBarang);
|
|
||||||
formData.append("deskripsi", deskripsi);
|
|
||||||
formData.append("persentase_keuntungan", biayaAdmin);
|
|
||||||
formData.append("total_keuntungan", totalBiayaAdmin);
|
|
||||||
formData.append("total_harga", totalHarga);
|
|
||||||
formData.append("total_bayar", totalBayar);
|
|
||||||
|
|
||||||
$.ajaxSetup({
|
$.ajaxSetup({
|
||||||
headers: {
|
headers: {
|
||||||
"X-CSRF-TOKEN": csrfToken,
|
"X-CSRF-TOKEN": csrfToken,
|
||||||
@ -419,14 +369,31 @@
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
error: function(error) {
|
error: function(error) {
|
||||||
|
if (error.responseJSON && error.responseJSON.errors) {
|
||||||
|
let errorMessage = "Terdapat beberapa kesalahan:<br>";
|
||||||
|
|
||||||
|
const errors = error.responseJSON.errors;
|
||||||
|
|
||||||
|
for (let key in errors) {
|
||||||
|
errorMessage += `${errors[key].join(', ')}<br>`;
|
||||||
|
}
|
||||||
|
|
||||||
Swal.fire({
|
Swal.fire({
|
||||||
title: "Gagal",
|
title: "Gagal",
|
||||||
text: "Gagal mengirimkan data karena " + error,
|
html: errorMessage,
|
||||||
icon: "error",
|
icon: "error",
|
||||||
});
|
});
|
||||||
},
|
} else {
|
||||||
|
Swal.fire({
|
||||||
|
title: "Gagal",
|
||||||
|
text: "Gagal mengirimkan data karena " + error
|
||||||
|
.statusText,
|
||||||
|
icon: "error",
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
console.log(error);
|
||||||
|
},
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
@ -97,7 +97,7 @@
|
|||||||
<!-- ======= END SIGN IN FORM ======= -->
|
<!-- ======= END SIGN IN FORM ======= -->
|
||||||
|
|
||||||
<!-- ======= SIGN UP FORM ======= -->
|
<!-- ======= SIGN UP FORM ======= -->
|
||||||
<form action="javascript:void(0)" class="sign-up-form" id="msform" enctype="multipart/form-data"
|
<form action="javascript:void(0);" class="sign-up-form" id="msform" enctype="multipart/form-data"
|
||||||
method="POST">
|
method="POST">
|
||||||
@csrf
|
@csrf
|
||||||
<h2 class="title">Daftar</h2>
|
<h2 class="title">Daftar</h2>
|
||||||
|
Loading…
Reference in New Issue
Block a user