From 0f45ead6bc31967a8dd377923001064bf4dad408 Mon Sep 17 00:00:00 2001 From: Raihan Surya Date: Wed, 1 Nov 2023 15:27:42 +0700 Subject: [PATCH] Revisi tampilan dashboard admin --- .../Admin/AdminDashboardController.php | 5 +- .../User/UserContactController.php | 8 +- public/assets/js/user/new-transaction.js | 287 ----------------- resources/views/Admin/index.blade.php | 80 +++-- resources/views/Admin/refund/index.blade.php | 1 - .../views/Admin/transaction/index.blade.php | 4 +- .../Pembeli/new-transaction.blade.php | 304 +++++++++++++++++- 7 files changed, 358 insertions(+), 331 deletions(-) delete mode 100644 public/assets/js/user/new-transaction.js diff --git a/app/Http/Controllers/Admin/AdminDashboardController.php b/app/Http/Controllers/Admin/AdminDashboardController.php index 7c04963..eec0688 100644 --- a/app/Http/Controllers/Admin/AdminDashboardController.php +++ b/app/Http/Controllers/Admin/AdminDashboardController.php @@ -67,7 +67,10 @@ class AdminDashboardController extends Controller $dataChartRefund[] = intval($refund); } - return view('admin.index', compact('transactions', 'countSuccess', 'countPending', 'countCancelled', 'countRefund', 'totalRefund', 'totalUser', 'totalTransaction', 'dataChartTransaction', 'dataChartRefund', 'dataChartTotalUser', 'dataChartTotalRefund')); + $transactions = Transaction::latest() + ->get(); + + return view('admin.index', compact('transactions', 'countSuccess', 'countPending', 'countCancelled', 'countRefund', 'totalRefund', 'totalUser', 'totalTransaction', 'dataChartTransaction', 'dataChartRefund', 'dataChartTotalUser', 'dataChartTotalRefund', 'transactions')); } public function getChartByMonth() diff --git a/app/Http/Controllers/User/UserContactController.php b/app/Http/Controllers/User/UserContactController.php index 879865a..374a1a8 100644 --- a/app/Http/Controllers/User/UserContactController.php +++ b/app/Http/Controllers/User/UserContactController.php @@ -23,9 +23,9 @@ class UserContactController extends Controller public function getContact() { $data = DB::table('contacts') - ->select('contacts.relasi_kontak', 'users.nama_depan', 'users.nama_belakang') ->join('users', 'contacts.relasi_kontak', '=', 'users.email') - ->where('contacts.pemilik_kontak','=',Auth::user()->email) + ->select('contacts.relasi_kontak', 'users.nama_depan', 'users.nama_belakang') + ->where('contacts.pemilik_kontak', '=', Auth::user()->email) ->paginate(10); return response()->json($data); } @@ -89,7 +89,9 @@ class UserContactController extends Controller public function cekEmail($email) { - $result = User::where('email', $email)->where('role','User')->first(); + $result = User::where('email', $email) + ->where('role', 'User') + ->first(); if ($result) { if ($result->status == 'Finished') { return response()->json([ diff --git a/public/assets/js/user/new-transaction.js b/public/assets/js/user/new-transaction.js deleted file mode 100644 index 3febd2c..0000000 --- a/public/assets/js/user/new-transaction.js +++ /dev/null @@ -1,287 +0,0 @@ -$(document).ready(function () { - let totalHarga = 0; - let biayaAdmin = persentaseKeuntungan; - let totalBiayaAdmin = 0; - let totalBayar = 0; - - function tampilTotalHarga(harga) { - let tampilTotalNominal = document.getElementById("totalBiaya"); - let tampilTotalBiaya = document.getElementById("totalBayar"); - let tampilTotalBiayaAdmin = document.getElementById("totalBiayaAdmin"); - totalBiayaAdmin = (harga * biayaAdmin) / 100; - totalBayar = totalBiayaAdmin + harga; - tampilTotalNominal.innerHTML = harga.toLocaleString("id-ID", { - style: "currency", - currency: "IDR", - }); - tampilTotalBiaya.innerHTML = totalBayar.toLocaleString("id-ID", { - style: "currency", - currency: "IDR", - }); - tampilTotalBiayaAdmin.innerHTML = totalBiayaAdmin.toLocaleString( - "id-ID", - { - style: "currency", - currency: "IDR", - } - ); - } - - $("#selectContact").select2({ - placeholder: "Pilih Kontak", - ajax: { - url: "{{ route('user-contact.get') }}", - processResults: function ({ data }) { - return { - results: $.map(data, function (item) { - return { - id: item.relasi_kontak, - text: item.nama_depan + " " + item.nama_belakang, - }; - }), - }; - }, - }, - }); - - $("#hargaBarang").change(function () { - let harga = $(this).val(); - let jumlah = $("#jumlahBarang").val(); - let biaya = document.getElementById("totalBiaya"); - if (harga.trim() != "") { - if (jumlah.trim() != "") { - totalHarga = harga * jumlah; - } else { - totalHarga = harga * 0; - } - tampilTotalHarga(totalHarga); - } - }); - - $("#jumlahBarang").change(function () { - let jumlah = $(this).val(); - let harga = $("#hargaBarang").val(); - let nominal = document.getElementById("jumlah"); - if (jumlah.trim() != "") { - if (jumlah == 0) { - nominal.innerHTML = "Nominal"; - } else { - nominal.innerHTML = "Nominal (x" + jumlah + ")"; - } - if (harga.trim() != "") { - totalHarga = harga * jumlah; - } else { - totalHarga = 0 * jumlah; - } - tampilTotalHarga(totalHarga); - } - }); - - $("#selectContact").change(function () { - let email = $("#selectContact").val(); - if (email === null) { - $("#inputPenjual").prop("disabled", false); - $("#checkButton").prop("disabled", false); - $("#deleteOption").prop("disabled", false); - } else { - $("#inputPenjual").prop("disabled", true); - $("#deleteOption").prop("disabled", false); - $("#checkButton").prop("disabled", true); - } - }); - - $("#deleteOption").click(function () { - $("#selectContact").val(null).trigger("change"); - }); - - $("#inputPenjual").on("input", function () { - let emailInput = $("#inputPenjual").val(); - if (emailInput.trim() == "") { - $("#selectContact").prop("disabled", false); - $("#deleteOption").prop("disabled", false); - } else { - $("#selectContact").prop("disabled", true); - $("#deleteOption").prop("disabled", true); - } - }); - - $("#checkButton").click(function () { - let email = document.querySelector('[name="input_penjual"]').value; - const csrfToken = $('meta[name="csrf-token"]').attr("content"); - - if (email.trim() == "") { - Swal.fire({ - title: "Gagal", - text: "Email tidak boleh kosong", - icon: "error", - }); - } else { - if (email != "{{ Auth::user()->email }}") { - $.ajaxSetup({ - headers: { - "X-CSRF-TOKEN": csrfToken, - }, - }); - - $.ajax({ - url: "{{ route('user-contact.email', ':email') }}".replace( - ":email", - email - ), - type: "GET", - success: function (response) { - if ( - response.status && - (response.message.nama_bank == null || - response.message.nama_bank == "") && - (response.message.no_rek == null || - response.message.no_rek == "") - ) { - Swal.fire({ - title: "Berhasil", - text: "Akun tersedia", - icon: "success", - }); - } else { - Swal.fire({ - title: "Gagal", - text: response.message, - icon: "error", - }); - } - }, - error: function (error) { - Swal.fire({ - title: "Gagal", - text: "Terjadi error karena, " + error, - icon: "error", - }); - }, - }); - } else { - Swal.fire({ - title: "Gagal", - text: "Email penjual tidak boleh sama denggan email pembeli", - icon: "error", - }); - } - } - }); - - $("#save").on("click", function () { - let opsiKontak = document.querySelector( - '[name="select_penjual"]' - ).value; - let inputKontak = document.querySelector( - '[name="input_penjual"]' - ).value; - 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 { - const csrfToken = $('meta[name="csrf-token"]').attr("content"); - 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('batas_pengiriman', batasPengiriman); - formData.append("deskripsi", deskripsi); - formData.append("persentase_keuntungan", biayaAdmin); - formData.append("total_keuntungan", totalBiayaAdmin); - formData.append("total_harga", totalHarga); - formData.append("total_bayar", totalBayar); - - $(modal).modal("show"); - - $.ajaxSetup({ - headers: { - "X-CSRF-TOKEN": csrfToken, - }, - }); - - $.ajax({ - url: "{{ route('store-transaction.pembeli') }}", - type: "POST", - data: formData, - processData: false, - contentType: false, - success: function (response) { - $(modal).modal("hide"); - Swal.fire({ - title: response.status ? "Berhasil" : "Gagal", - text: response.message, - icon: response.status ? "success" : "error", - confirmButtonText: "OK", - }).then(function () { - location.href = - "{{ route('user-transaction.index.pembeli') }}"; - }); - console.log(response); - }, - error: function (error) { - $(modal).modal("hide"); - Swal.fire({ - title: "Gagal", - text: "Gagal mengirimkan data karena " + error, - icon: "error", - }); - console.log(error); - }, - }); - } - }); -}); diff --git a/resources/views/Admin/index.blade.php b/resources/views/Admin/index.blade.php index ee857b7..ecb36a2 100644 --- a/resources/views/Admin/index.blade.php +++ b/resources/views/Admin/index.blade.php @@ -302,62 +302,74 @@
-

History Transaction

+
+

History Transaction

+
- +
- - - + + + - + + - + @foreach ($transactions as $transaction) - - - - - - - + + + + + + + diff --git a/resources/views/Admin/refund/index.blade.php b/resources/views/Admin/refund/index.blade.php index bac1cff..95823a8 100644 --- a/resources/views/Admin/refund/index.blade.php +++ b/resources/views/Admin/refund/index.blade.php @@ -19,7 +19,6 @@ - diff --git a/resources/views/Admin/transaction/index.blade.php b/resources/views/Admin/transaction/index.blade.php index a23f778..00482ef 100644 --- a/resources/views/Admin/transaction/index.blade.php +++ b/resources/views/Admin/transaction/index.blade.php @@ -19,7 +19,7 @@ - + @@ -33,7 +33,7 @@ @foreach ($transactions as $transaction) - +
# Order IdCustomerSellerNama BarangPembeliPenjual TotalDue DateTanggal TransaksiTanggal Update StatusActionAksi
{{ $transaction['no'] }}{{ $transaction['orderId'] }}{{ $transaction['customer'] }}{{ $transaction['seller'] }}{{ $transaction['total'] }}{{ $transaction['date'] }} - @php - $statusClass = ''; - if ($transaction['status'] === 'pending') { - $statusClass = 'badge-warning'; - } elseif ($transaction['status'] === 'paid') { - $statusClass = 'badge-success'; - } elseif ($transaction['status'] === 'unpaid') { - $statusClass = 'badge-danger'; - } - @endphp -
{{ $transaction['status'] }} -
+
{{ $loop->iteration }}{{ $transaction->nama_barang }}{{ $transaction->data_pembeli->nama_depan . ' ' . $transaction->data_pembeli->nama_belakang }} + {{ $transaction->data_penjual->nama_depan . ' ' . $transaction->data_penjual->nama_belakang }} + Rp {{ number_format($transaction->total_bayar, 2, ',', '.') }}{{ $transaction->created_at }}{{ $transaction->updated_at }}{{ ucwords($transaction->status) }}
- + +
# ID Pembeli Nama Barang Penjual # IDNama Barang Pembeli Penjual Total
{{ $loop->iteration }}{{ $transaction->id }}{{ $transaction->nama_barang }} {{ $transaction->data_pembeli->nama_depan . ' ' . $transaction->data_pembeli->nama_belakang }} {{ $transaction->data_penjual->nama_depan . ' ' . $transaction->data_penjual->nama_belakang }} diff --git a/resources/views/User/transaction/Pembeli/new-transaction.blade.php b/resources/views/User/transaction/Pembeli/new-transaction.blade.php index 482f288..045f1ef 100644 --- a/resources/views/User/transaction/Pembeli/new-transaction.blade.php +++ b/resources/views/User/transaction/Pembeli/new-transaction.blade.php @@ -44,7 +44,7 @@
- +
@@ -122,6 +122,304 @@ - - + {{-- --}} + @endsection