From 811c6fe3dfdf66caaddf2e56e4964e5337c72baa Mon Sep 17 00:00:00 2001 From: yusmardianto Date: Wed, 8 Dec 2021 14:25:50 +0700 Subject: [PATCH] buat di review --- api/Booking/booking.js | 77 ++++++++++++------ components/Booking/checkout.js | 179 +++++++++++++++++++++-------------------- components/Booking/review.js | 19 +++-- 3 files changed, 156 insertions(+), 119 deletions(-) diff --git a/api/Booking/booking.js b/api/Booking/booking.js index 13729ae..a9b0d1a 100644 --- a/api/Booking/booking.js +++ b/api/Booking/booking.js @@ -19,30 +19,61 @@ async function AddBooking(content, token = "") { return res; } -async function getReview(token = "") { - var res = await apollo.query( - ` - query { - bookings{ - id - namaPemesan - emailPemesan - teleponPemesan - pemesan - checkIn - checkOut - jumlahPengunjung - namaKamar - requestKamar - hargaKamar - ppnKamar - hargaTotal - catatan +// async function getReview(token = "") { +// var res = await apollo.query( +// ` +// query { +// bookings{ +// id +// namaPemesan +// emailPemesan +// teleponPemesan +// pemesan +// checkIn +// checkOut +// jumlahPengunjung +// namaKamar +// requestKamar +// hargaKamar +// ppnKamar +// hargaTotal +// catatan +// } +// }`, +// token +// ); +// return res; +// } + +async function getReview(transactionID, token="") { + var res = await apollo.query( + ` + query($input: ID!) { + bookings(where:{transactionID:$input}) { + id + transactionID + namaPemesan + emailPemesan + teleponPemesan + pemesan + checkIn + checkOut + jumlahPengunjung + namaKamar + requestKamar + hargaKamar + ppnKamar + hargaTotal + catatan + } + } + `, + token, + { + "input": transactionID } - }`, - token - ); - return res; + ); + return res; } module.exports = { diff --git a/components/Booking/checkout.js b/components/Booking/checkout.js index 605d9c0..990610e 100644 --- a/components/Booking/checkout.js +++ b/components/Booking/checkout.js @@ -12,7 +12,22 @@ const Checkout = function ({ backend, checkoutItem, ...props }) { // const [HargaFasilitas, setHargaFasilitas] = useState(''); // const [NamaFasilitas, setNamaFasilitas] = useState(''); + function CreateID(length) { + var result = ''; + var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + var charactersLength = characters.length; + for (var i = 0; i < length; i++) { + result += characters.charAt(Math.floor(Math.random() * + charactersLength)); + } + return result; + } + + const UUID = CreateID(10); + console.log("hasil : ", UUID); + const [formValue, setFormValue] = React.useState({ + transactionID: UUID, namaPemesan: "", emailPemesan: "", teleponPemesan: "", @@ -31,7 +46,7 @@ const Checkout = function ({ backend, checkoutItem, ...props }) { const disablePastDate = () => { const today = new Date(); const dd = String(today.getDate() + 1).padStart(2, "0"); - const mm = String(today.getMonth() + 1).padStart(2, "0"); //January is 0! + const mm = String(today.getMonth() + 1).padStart(2, "0"); const yyyy = today.getFullYear(); return yyyy + "-" + mm + "-" + dd; }; @@ -41,89 +56,12 @@ const Checkout = function ({ backend, checkoutItem, ...props }) { const date = (new Date(TglCheckIn)).getTime(); const today = (new Date(TglCheckOut)).getTime(); - const msDay = 24 * 60 * 60 * 1000; // milliseconds per day + const msDay = 24 * 60 * 60 * 1000; const days = Math.floor((today - date) / msDay); - const router = useRouter(); + const Router = useRouter(); - const CheckoutKamar = checkoutItem.map((data) => { - return ( -
-
- -
-
-

Catania {data.namaKamar}

-
-
-

Fasilitas :

-
-
-

Free Wifi

-
-
-

Telepon

-
-
-
-
- ) - }) - - const CheckoutHarga = checkoutItem.map((data) => { - return ( -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Jenis KamarTotal
- Catania {data.namaKamar} - - -
- Total Hari - - {days} Hari -
- Pajak 10% - - -
- Total - - -
-
- ) - }) return ( <>
@@ -149,7 +87,7 @@ const Checkout = function ({ backend, checkoutItem, ...props }) { hargaKamar: checkoutItem[0].hargaKamar, } setFormValue(newformValue) - console.log(JSON.stringify(newformValue)); + // console.log(JSON.stringify(newformValue)); const response = await fetch( "/api/Booking/CreateBooking", { @@ -160,14 +98,17 @@ const Checkout = function ({ backend, checkoutItem, ...props }) { body: JSON.stringify(newformValue), } ); - console.log("response :", response); + // console.log("response :", response); if (response.ok) { var res = await response.json(); - console.log("cek response :", res); + // console.log("cek response :", res); if (res["STATUS"] === 1) { res["DATA"]["booking"]; swal("Produk Berhasil Ditambah ke Keranjang", "Silahkan Cek Keranjang Belanja Anda", "success"); - router.push("/review"); + Router.push({ + pathname: '/review', + query: { s: UUID } + }) } else { swal("Produk Gagal Ditambah ke Keranjang", "Silahkan Coba Lagi", "error"); @@ -270,7 +211,25 @@ const Checkout = function ({ backend, checkoutItem, ...props }) {
- {CheckoutKamar} +
+
+ +
+
+

Catania {checkoutItem[0].namaKamar}

+
+
+

Fasilitas :

+
+
+

Free Wifi

+
+
+

Telepon

+
+
+
+

@@ -387,7 +346,55 @@ const Checkout = function ({ backend, checkoutItem, ...props }) {

Total Pesanan

- {CheckoutHarga} +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Jenis KamarTotal
+ Catania {checkoutItem[0].namaKamar} + + +
+ Total Hari + + {days} Hari +
+ Pajak 10% + + +
+ Total + + +
+
diff --git a/components/Booking/review.js b/components/Booking/review.js index e5fc1f1..94b336a 100644 --- a/components/Booking/review.js +++ b/components/Booking/review.js @@ -5,21 +5,20 @@ import NumberFormat from 'react-number-format'; const Checkout = function ({ transactionToken, backend, review, ...props }) { - console.log(transactionToken); + const ReviewContens = review.map((data) => { - const Checkin = review[0].checkIn; - const [Checkinyear, Checkinmonth, Checkinday] = Checkin.split('-') + const Checkin = data.checkIn; + const [Checkinyear, Checkinmonth, Checkinday] = Checkin.split('-') - const Checkout = review[0].checkOut; - const [Checkoutnyear, Checkoutnmonth, Checkoutnday] = Checkout.split('-') + const Checkout = data.checkOut; + const [Checkoutnyear, Checkoutnmonth, Checkoutnday] = Checkout.split('-') - const date = (new Date(review[0].checkIn)).getTime(); - const today = (new Date(review[0].checkOut)).getTime(); - const msDay = 24 * 60 * 60 * 1000; // milliseconds per day + const date = (new Date(data.checkIn)).getTime(); + const today = (new Date(data.checkOut)).getTime(); + const msDay = 24 * 60 * 60 * 1000; // milliseconds per day - const days = Math.floor((today - date) / msDay); + const days = Math.floor((today - date) / msDay); - const ReviewContens = review.map((data) => { return (