Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

1 riga
20 KiB

  1. {"ast":null,"code":"var __jsx = React.createElement;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React, { Component, Fragment } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport clsx from 'clsx';\nimport Selects from 'react-select';\nimport SnackbarContent from \"components/Snackbar/SnackbarContent.js\";\nimport Button1 from \"components/CustomButtons/Button.js\";\nimport image1 from \"../../../assets/img/mail.png\";\nimport GridContainer from \"components/Grid/GridContainer.js\";\nimport Carousel from \"react-slick\";\nimport GridItem from \"components/Grid/GridItem.js\";\nimport classNames from \"classnames\";\nimport swal from 'sweetalert';\nimport Icon from \"@material-ui/core/Icon\";\nimport Grid from '@material-ui/core/Grid';\nimport TextField from '@material-ui/core/TextField';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport ListItem from '@material-ui/core/ListItem';\nimport List from '@material-ui/core/List';\nimport Divider from '@material-ui/core/Divider';\nimport AppBar from '@material-ui/core/AppBar';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport Typography from '@material-ui/core/Typography';\nimport CloseIcon from '@material-ui/icons/Close';\nimport Slide from '@material-ui/core/Slide';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Card from \"components/Card/Card.js\";\nimport CardBody from \"components/Card/CardBody.js\";\nimport FormControl from '@material-ui/core/FormControl';\nimport { Form, FormGroup, ControlLabel, SelectPicker } from \"rsuite\";\nimport NumberFormat from 'react-number-format';\nconst useStyles = makeStyles(theme => ({\n root: {\n width: '100%'\n },\n button: {\n marginTop: theme.spacing(1),\n marginRight: theme.spacing(1)\n },\n actionsContainer: {\n marginBottom: theme.spacing(2)\n },\n resetContainer: {\n padding: theme.spacing(3)\n },\n appBar: {\n position: 'relative'\n },\n title: {\n marginLeft: theme.spacing(2),\n flex: 1\n },\n root: {\n '&:hover': {\n backgroundColor: 'transparent'\n }\n },\n icon: {\n borderRadius: '50%',\n width: 16,\n height: 16,\n boxShadow: 'inset 0 0 0 1px rgba(16,22,26,.2), inset 0 -1px 0 rgba(16,22,26,.1)',\n backgroundColor: '#f5f8fa',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0))',\n '$root.Mui-focusVisible &': {\n outline: '2px auto rgba(19,124,189,.6)',\n outlineOffset: 2\n },\n 'input:hover ~ &': {\n backgroundColor: '#ebf1f5'\n },\n 'input:disabled ~ &': {\n boxShadow: 'none',\n background: 'rgba(206,217,224,.5)'\n }\n },\n checkedIcon: {\n backgroundColor: '#137cbd',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0))',\n '&:before': {\n display: 'block',\n width: 16,\n height: 16,\n backgroundImage: 'radial-gradient(#fff,#fff 28%,transparent 32%)',\n content: '\"\"'\n },\n 'input:hover ~ &': {\n backgroundColor: '#106ba3'\n }\n }\n}));\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return __jsx(Slide, _extends({\n direction: \"up\",\n ref: ref\n }, props));\n});\n\nconst DataCheckout = function (_ref) {\n let {\n checkoutprofile,\n province,\n cities,\n backend,\n checkoutproduct\n } = _ref,\n props = _objectWithoutProperties(_ref, [\"checkoutprofile\", \"province\", \"cities\", \"backend\", \"checkoutproduct\"]);\n\n const settings = {\n dots: true,\n infinite: true,\n speed: 500,\n slidesToShow: 1,\n slidesToScroll: 1,\n autoplay: false,\n time: 5\n };\n const classes = useStyles();\n const [open, setOpen] = React.useState(false);\n\n const handleClickOpen = () => {\n setOpen(true);\n };\n\n const rest = Object.assign({}, props);\n const imageClasses = classNames(classes.imgRaised, classes.imgRoundedCircle, classes.imgFluid);\n const navImageClasses = classNames(classes.imgRounded, classes.imgGallery);\n const [formValue, setFormValue] = React.useState({\n order_id: GenerateID(),\n cust_name: \"\",\n cust_telp: \"\",\n cust_address: \"\",\n product_img: \"\",\n product_name: \"\",\n product_color: \"\",\n product_quantity: \"\",\n product_price: \"\",\n product_courier: \"\",\n note: \"\",\n // selectPicker: 'Louisa',\n status: 1\n }); // const [formValue, setFormValue] = React.useState({\n // order_id: \"Trx-Ord-9ab8ab88\",\n // cust_name: \"Yusmar\",\n // cust_telp: \"087797315685\",\n // cust_address: \"Thamrin Indrapura Jl.Aipda Karel Satsuit Tubun,17 Ilir, Kec.Ilir Tim.I, Palembang, KOTA PALEMBANG - ILIR TIMUR II, SUMATERA SELATAN, ID 30114\",\n // product_img: null,\n // product_name: \"NMAX 155\",\n // product_color: \"Red\",\n // product_quantity: \"1\",\n // product_price: \"28545000\",\n // product_courier: \"JNE\",\n // note: \"Tes\",\n // });\n\n function GenerateID() {\n var dt = new Date().getTime();\n var uuid = 'Trx-Ord-yyyyyyyy'.replace(/[y]/g, function (c) {\n var r = (dt + Math.random() * 16) % 16 | 0;\n dt = Math.floor(dt / 16);\n return (c == 'x' ? r : r & 0x3 | 0x8).toString(16);\n });\n return uuid;\n }\n\n const CheckoutAlamat = checkoutprofile.map(data => {\n return __jsx(\"div\", {\n align: \"center\"\n }, __jsx(\"div\", {\n style: {\n padding: \"10px\"\n }\n }, __jsx(Typography, {\n variant: \"h6\",\n align: \"center\",\n className: classes.title\n }, \"Informasi Customer\"), __jsx(\"br\", null), __jsx(GridContainer, null, __jsx(GridItem, {\n className: classes.marginAuto\n }, __jsx(Carousel, null, __jsx(\"img\", {\n src: image1,\n style: {\n width: \"1100px\"\n }\n }), __jsx(\"br\", null)))), __jsx(FormGroup, null, __jsx(FormControl, {\n name: \"cust_name\",\n value: data.username,\n type: \"text\"\n })), __jsx(\"h5\", null, __jsx(\"b\", null, data.username.toUpperCase())), __jsx(FormGroup, null, __jsx(FormControl, {\n name: \"cust_telp\",\n value: data.telp,\n type: \"text\"\n })), __jsx(\"h5\", {\n style: {\n marginTop: \"-20px\"\n }\n }, __jsx(\"b\", null, data.telp)), __jsx(\"br\", null), __jsx(\"h5\", {\n style: {\n marginTop: \"-20px\"\n }\n }, __jsx(\"b\", null, data.email.toUpperCase())), __jsx(FormGroup, null, __jsx(FormControl, {\n name: \"cust_address\",\n value: data.address,\n type: \"text\"\n }))));\n });\n const CheckoutProdukPesanan = checkoutproduct.map(data => {\n const handleChange = event => {\n setColor(event.target.value);\n };\n\n const handleChanges = event => {\n setPengiriman(event.target.value);\n };\n\n const [color, setColor] = React.useState('');\n const [pengiriman, setPengiriman] = React.useState('');\n\n const handleClose = () => {\n setFormValue(_objectSpread({}, formValue, {\n product_courier: pengiriman\n }));\n setOpen(false);\n };\n\n return __jsx(\"div\", {\n align: \"center\"\n }, __jsx(Card, {\n className: classes.textCenter,\n align: \"center\"\n }, __jsx(CardBody, null, __jsx(\"div\", {\n style: {\n padding: \"10px\"\n }\n }, __jsx(Typography, {\n variant: \"h6\",\n align: \"left\",\n className: classes.title\n }, \"Pesanan Produk\"), __jsx(\"br\", null), __jsx(\"hr\", null), __jsx(GridContainer, null, __jsx(Grid, {\n item: true,\n xs: true\n }, __jsx(FormGroup, null, __jsx(FormControl, {\n name: \"product_img\",\n value: `${backend}${data.img[0][\"url\"]}`,\n type: \"text\"\n })), __jsx(\"div\", {\n align: \"center\"\n }, __jsx(\"h4\", null, __jsx(\"b\", null, \"Produk Dipesan\")), __jsx(\"img\", {\n className: navImageClasses,\n width: \"200px\",\n alt: \"First slide\",\n src: `${backend}${data.img[0][\"url\"]}`\n }))), __jsx(Grid, {\n item: true,\n xs: true\n }, __jsx(\"div\", {\n align: \"center\"\n }, __jsx(\"h4\", null), __jsx(\"br\", null), __jsx(\"br\", null), __jsx(\"br\", null), __jsx(\"br\", null), __jsx(FormGroup, null, __jsx(FormControl, {\n name: \"product_name\",\n value: data.name,\n type: \"text\"\n })), __jsx(\"h5\", null, __jsx(\"b\", null, data.name)))), __jsx(Grid, {\n item: true,\n xs: true\n }, __jsx(\"div\", {\n align: \"center\"\n }, __jsx(\"h4\", null, __jsx(\"b\", null, \"Warna\")), __jsx(\"br\", null), __jsx(\"br\", null), __jsx(\"br\", null), __jsx(FormGroup, null, __jsx(FormControl, {\n className: classes.formControl\n }, __jsx(Select, {\n labelId: \"demo-simple-select-label\",\n id: \"demo-simple-select\",\n value: color,\n name: \"product_color\",\n onChange: e => {\n setFormValue(_objectSpread({}, formValue, {\n product_color: e.target.value.toString()\n }));\n }\n }, __jsx(MenuItem, {\n value: 1\n }, \"Hitam\"), __jsx(MenuItem, {\n value: 2\n }, \"Merah\"), __jsx(MenuItem, {\n value: 3\n }, \"Biru\"), __jsx(MenuItem, {\n value: 4\n }, \"Putih\")))))), __jsx(Grid, {\n item: true,\n xs: true\n }, __jsx(\"div\", {\n align: \"center\"\n }, __jsx(\"h4\", null, __jsx(\"b\", null, \"Harga Satuan\")), __jsx(\"br\", null), __jsx(\"br\", null), __jsx(\"br\", null), __jsx(\"h5\", null, __jsx(\"b\", null, __jsx(NumberFormat, {\n value: data.price,\n displayType: 'text',\n thousandSeparator: true,\n prefix: 'Rp.'\n }))))), __jsx(Grid, {\n item: true,\n xs: true\n }, __jsx(\"div\", {\n align: \"center\"\n }, __jsx(\"h4\", null, __jsx(\"b\", null, \"Jumlah Unit\")), __jsx(\"br\", null), __jsx(\"br\", null), __jsx(\"br\", null), __jsx(FormGroup, null, __jsx(FormControl, {\n className: classes.formControl\n }, __jsx(TextField, {\n id: \"outlined-number\",\n type: \"number\",\n align: \"center\",\n name: \"quantity\",\n InputLabelProps: {\n shrink: false\n },\n onInput: e => {\n setFormValue(_objectSpread({}, formValue, {\n product_quantity: e.target.value\n }));\n }\n }))))), __jsx(Grid, {\n item: true,\n xs: true\n }, __jsx(\"div\", {\n align: \"center\"\n }, __jsx(\"h4\", null, __jsx(\"b\", null, \"Sub Total Produk\")), __jsx(\"br\", null), __jsx(\"br\", null), __jsx(\"br\", null), __jsx(\"h5\", null, __jsx(\"b\", null, \"Total Rp.\", __jsx(NumberFormat, {\n value: data.price,\n displayType: 'text',\n thousandSeparator: true,\n prefix: 'Rp.'\n })))))), __jsx(GridContainer, {\n style: {\n padding: \"20px\"\n }\n }, __jsx(Grid, {\n item: true,\n xs: true,\n style: {\n padding: \"20px\"\n }\n }, __jsx(TextField, {\n id: \"outlined-full-width\",\n label: \"Pesan\",\n style: {\n margin: 8\n },\n placeholder: \"( Opsional ) Tinggalkan Pesan Kepada Dealer\",\n fullWidth: true,\n margin: \"normal\",\n InputLabelProps: {\n shrink: true\n },\n variant: \"outlined\",\n onInput: e => {\n setFormValue(_objectSpread({}, formValue, {\n note: e.target.value\n }));\n }\n })), __jsx(Grid, {\n item: true,\n xs: true,\n style: {\n padding: \"20px\"\n }\n }, __jsx(\"br\", null), __jsx(Button, {\n variant: \"outlined\",\n color: \"primary\",\n onClick: handleClickOpen\n }, \"Pilih Opsi Pengiriman\"), __jsx(\"span\", null, formValue.product_courier), __jsx(Dialog, {\n fullScreen: true,\n open: open,\n onClose: handleClose,\n TransitionComponent: Transition\n }, __jsx(AppBar, {\n className: classes.appBar\n }, __jsx(Toolbar, null, __jsx(IconButton, {\n edge: \"start\",\n color: \"inherit\",\n onClick: handleClose,\n \"aria-label\": \"close\"\n }, __jsx(CloseIcon, null)), __jsx(Typography, {\n variant: \"h6\",\n className: classes.title\n }, \"Pilih Opsi Pengiriman\"), __jsx(Button, {\n autoFocus: true,\n color: \"inherit\",\n onClick: handleClose\n }, \"Pilih\"))), __jsx(List, null, __jsx(ListItem, {\n button: true,\n id: \"POS\",\n selected: pengiriman == \"POS\",\n onClick: e => {\n setPengiriman(\"POS\");\n }\n }, __jsx(ListItemText, {\n primary: \"POS\",\n secondary: \"Akan diterima pada tanggal 2 Apr - 6 Apr\"\n })), __jsx(Divider, null), __jsx(ListItem, {\n button: true,\n id: \"JNE\",\n selected: pengiriman == \"JNE\",\n onClick: e => {\n setPengiriman(\"JNE\");\n }\n }, __jsx(ListItemText, {\n primary: \"JNE\",\n secondary: \"Akan diterima pada tanggal 30 Mar - 2 Apr\"\n })), __jsx(ListItem, {\n button: true,\n id: \"TIKI\",\n selected: pengiriman == \"TIKI\",\n onClick: e => {\n setPengiriman(\"TIKI\");\n }\n }, __jsx(ListItemText, {\n primary: \"TIKI\",\n secondary: \"Akan diterima pada tanggal 1 Apr - 4 Apr, COD (Bayar di Tempat) tidak didukung\"\n }))))), __jsx(Grid, {\n item: true,\n xs: true,\n align: \"right\",\n style: {\n padding: \"20px\"\n }\n }, __jsx(\"br\", null), __jsx(\"h5\", null, __jsx(\"b\", null, \"Total Rp.\", __jsx(NumberFormat, {\n value: data.price,\n displayType: 'text',\n thousandSeparator: true,\n prefix: 'Rp.'\n }))), __jsx(FormGroup, null, __jsx(FormControl, {\n name: \"product_price\",\n value: data.price,\n type: \"text\"\n }))))))));\n });\n return __jsx(\"div\", {\n style: {\n padding: \"50px\"\n }\n }, __jsx(\"div\", {\n align: \"center\",\n className: classes.section,\n id: \"notifications\"\n }, __jsx(SnackbarContent, {\n message: __jsx(\"h2\", null, __jsx(\"b\", null, \"Checkout\")),\n align: \"center\",\n color: \"info\"\n })), __jsx(Form, {\n onSubmit: async value => {\n var newformValue = _objectSpread({}, formValue, {\n cust_name: checkoutprofile[0].username,\n cust_telp: checkoutprofile[0].telp.toString(),\n cust_address: checkoutprofile[0].address,\n // product_img: checkoutproduct[0].img,\n product_name: checkoutproduct[0].name,\n product_price: checkoutproduct[0].price\n });\n\n setFormValue(newformValue);\n const response = await fetch(\"/api/transaction/create\", {\n method: \"POST\",\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(newformValue)\n });\n\n if (response.ok) {\n var res = await response.json();\n\n if (res[\"STATUS\"] === 1) {\n res[\"DATA\"][\"transaction\"];\n swal(\"Produk Berhasil Ditambah ke Keranjang\", \"Silahkan Cek Keranjang Belanja Anda\", \"success\");\n } else {\n swal(\"Produk Gagal Ditambah ke Keranjang\", \"Silahkan Coba Lagi\", \"error\");\n }\n } else {\n swal(\"Transaksi Gagal\", \"Silahkan Coba Lagi\", \"error\");\n }\n }\n }, __jsx(\"div\", null, __jsx(Card, {\n className: classes.textCenter,\n align: \"center\"\n }, __jsx(CardBody, null, __jsx(GridContainer, null, __jsx(GridItem, {\n xs: 6\n }, CheckoutAlamat), __jsx(GridItem, {\n xs: 6\n }, __jsx(\"div\", {\n style: {\n padding: \"10px\"\n }\n }, __jsx(Typography, {\n variant: \"h6\",\n align: \"center\",\n className: classes.title\n }, \"Informasi Pengiriman\"), __jsx(\"br\", null), __jsx(GridContainer, null, __jsx(GridItem, {\n className: classes.marginAuto\n }, __jsx(Carousel, null, __jsx(\"img\", {\n src: image1,\n style: {\n width: \"1100px\"\n }\n }), __jsx(\"br\", null)))), __jsx(\"br\", null), __jsx(Fragment, null, __jsx(Select, {\n className: \"basic-single\",\n classNamePrefix: \"select\",\n name: \"provinsi\",\n fullWidth: true,\n placeholder: \"Provinsi\"\n })), __jsx(\"br\", null), __jsx(\"br\", null), __jsx(Fragment, null, __jsx(Select, {\n className: \"basic-single\",\n classNamePrefix: \"select\",\n name: \"kabupaten\",\n fullWidth: true,\n placeholder: \"Kabupaten\"\n })), __jsx(\"br\", null), __jsx(\"br\", null), __jsx(Fragment, null, __jsx(Select, {\n className: \"basic-single\",\n classNamePrefix: \"select\",\n name: \"kota\",\n fullWidth: true,\n placeholder: \"Kota\"\n })), __jsx(\"br\", null), __jsx(\"br\", null), __jsx(TextField, {\n id: \"outlined-full-width\",\n label: \"Alamat Lengkap\",\n placeholder: \"Masukan Alamat Lengkap\",\n fullWidth: true,\n height: \"50px\",\n margin: \"normal\",\n InputLabelProps: {\n shrink: true\n },\n variant: \"outlined\"\n }))))))), __jsx(\"div\", null, CheckoutProdukPesanan), __jsx(\"div\", null, __jsx(GridContainer, null, __jsx(Grid, {\n item: true,\n xs: 6,\n style: {\n padding: \"20px\"\n }\n }, __jsx(Button1, {\n color: \"info\",\n style: {\n width: \"100%\"\n },\n type: \"submit\" // onClick={async function (e) {\n // // setFormValue({\n // // cust_name : data.username,\n // // ... formValue\n // // });\n //\n // }}\n\n }, __jsx(Icon, {\n className: classes.icons\n }, \"attach_money\"), \"Buat Pesanan\")), __jsx(Grid, {\n item: true,\n xs: 6,\n style: {\n padding: \"20px\"\n }\n }, __jsx(Button1, {\n color: \"danger\",\n style: {\n width: \"100%\"\n } // swal({\n // title: \"Anda Ingin Menghapus Pesanan ?\",\n // icon: \"warning\",\n // buttons: true,\n // dangerMode: true,\n // })\n // .then((willDelete) => {\n // if (willDelete) {\n // swal(\"Pesanan Anda Berhasil Dihapus\", {\n // icon: \"success\",\n // });\n // } else {\n // swal(\"Selamat Belanja Kembali\");\n // }\n // });\n\n }, __jsx(Icon, {\n className: classes.icons\n }, \"attach_money\"), \"Batalkan Pesanan\"))))));\n};\n\nexport default DataCheckout;","map":null,"metadata":{},"sourceType":"module"}