diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-02-06 16:15:14 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-02-06 16:15:14 +0700 |
| commit | e561175d7167da3f6ac25200ad3cce63ea38e20b (patch) | |
| tree | 0ad04bc66ef2b5ca23f35bfa9614731e1240d9f3 /src/pages/my | |
| parent | 620223f151700bbd91a33d32e2a4c29d4c287e9d (diff) | |
no message
Diffstat (limited to 'src/pages/my')
| -rw-r--r-- | src/pages/my/invoice/[id].js | 2 | ||||
| -rw-r--r-- | src/pages/my/invoices.js | 43 | ||||
| -rw-r--r-- | src/pages/my/transaction/[id].js | 36 | ||||
| -rw-r--r-- | src/pages/my/transactions.js | 27 |
4 files changed, 92 insertions, 16 deletions
diff --git a/src/pages/my/invoice/[id].js b/src/pages/my/invoice/[id].js index 10f625a9..7342b1bf 100644 --- a/src/pages/my/invoice/[id].js +++ b/src/pages/my/invoice/[id].js @@ -105,7 +105,7 @@ export default function DetailInvoice() { type="button" className="btn-light py-1.5 px-3 ml-auto" onClick={downloadTaxInvoice} - disabled={invoice.efaktur ? false : true} + disabled={!invoice.efaktur} > Download </button> diff --git a/src/pages/my/invoices.js b/src/pages/my/invoices.js index a86ddffc..ed9ba660 100644 --- a/src/pages/my/invoices.js +++ b/src/pages/my/invoices.js @@ -6,6 +6,7 @@ import Layout from "@/components/layouts/Layout"; import apiOdoo from "@/core/utils/apiOdoo"; import { useAuth } from "@/core/utils/auth"; import currencyFormat from "@/core/utils/currencyFormat"; +import useBottomPopup from "@/lib/elements/hooks/useBottomPopup"; import { CheckIcon, ClockIcon, EllipsisVerticalIcon, MagnifyingGlassIcon } from "@heroicons/react/24/outline"; import { useRouter } from "next/router"; import { useEffect, useRef, useState } from "react"; @@ -54,6 +55,45 @@ export default function Invoices() { router.push(`/my/invoices${queryParams}`); }; + const downloadInvoice = (data) => { + const url = `${process.env.ODOO_HOST}/api/v1/download/invoice/${data.id}/${data.token}`; + window.open(url, 'download'); + closePopup(); + }; + + const downloadTaxInvoice = (data) => { + const url = `${process.env.ODOO_HOST}/api/v1/download/tax-invoice/${data.id}/${data.token}`; + window.open(url, 'download'); + closePopup(); + }; + + const childrenPopup = (data) => ( + <div className="flex flex-col gap-y-6"> + <button + className="text-left disabled:opacity-60" + onClick={() => downloadInvoice(data)} + > + Download Faktur Pembelian + </button> + <button + className="text-left disabled:opacity-60" + disabled={!data?.efaktur} + onClick={() => downloadTaxInvoice(data)} + > + Download Faktur Pajak + </button> + </div> + ); + + const { + closePopup, + openPopup, + BottomPopup + } = useBottomPopup({ + title: 'Lainnya', + children: childrenPopup + }); + return ( <WithAuth> <Layout> @@ -91,7 +131,7 @@ export default function Invoices() { ) : ( <div className="badge-solid-green h-fit ml-auto">Lunas</div> ) } - <EllipsisVerticalIcon className="w-5 h-5" onClick={() => {}} /> + <EllipsisVerticalIcon className="w-5 h-5" onClick={() => openPopup(invoice)} /> </div> </div> <Link href={`/my/invoice/${invoice.id}`}> @@ -129,6 +169,7 @@ export default function Invoices() { </div> )) } </div> + { BottomPopup } </Layout> </WithAuth> ); diff --git a/src/pages/my/transaction/[id].js b/src/pages/my/transaction/[id].js index d1ecbd7f..51004839 100644 --- a/src/pages/my/transaction/[id].js +++ b/src/pages/my/transaction/[id].js @@ -107,11 +107,13 @@ export default function DetailTransaction() { }); const downloadPurchaseOrder = () => { - + const url = `${process.env.ODOO_HOST}/api/v1/partner/${auth.partner_id}/sale_order/${transaction.id}/download_po/${transaction.token}`; + window.open(url, 'download') }; - const uploadPurchaseOrder = () => { - openPopup(); + const downloadQuotation = () => { + const url = `${process.env.ODOO_HOST}/api/v1/partner/${auth.partner_id}/sale_order/${transaction.id}/download/${transaction.token}`; + window.open(url, 'download') }; return ( @@ -152,7 +154,7 @@ export default function DetailTransaction() { <button type="button" className="btn-light py-1.5 px-3 ml-auto" - onClick={transaction?.purchase_order_file ? downloadPurchaseOrder : uploadPurchaseOrder} + onClick={transaction?.purchase_order_file ? downloadPurchaseOrder : openPopup} > { transaction?.purchase_order_file ? 'Download' : 'Upload' } </button> @@ -211,15 +213,27 @@ export default function DetailTransaction() { Belum ada Invoice </Alert> ) } - <button - className="btn-light w-full mt-4" - disabled={transaction?.status != 'waiting'} - onClick={() => openConfirmAlert(transaction)} - > - Batalkan Transaksi - </button> </div> </div> + + <LineDivider /> + + <div className="px-4"> + <button + className="btn-light w-full mt-4" + disabled={transaction?.status != 'draft'} + onClick={downloadQuotation} + > + Download Quotation + </button> + <button + className="btn-light w-full mt-4" + disabled={transaction?.status != 'waiting'} + onClick={() => openConfirmAlert(transaction)} + > + Batalkan Transaksi + </button> + </div> </> ) : ( <div className="p-4 py-6"> diff --git a/src/pages/my/transactions.js b/src/pages/my/transactions.js index 6eb0fb4e..8be43af7 100644 --- a/src/pages/my/transactions.js +++ b/src/pages/my/transactions.js @@ -58,15 +58,36 @@ export default function Transactions() { router.push(`/my/transactions${queryParams}`); }; + const downloadPurchaseOrder = (data) => { + const url = `${process.env.ODOO_HOST}/api/v1/partner/${auth.partner_id}/sale_order/${data.id}/download_po/${data.token}`; + window.open(url, 'download'); + closePopup(); + }; + + const downloadQuotation = (data) => { + const url = `${process.env.ODOO_HOST}/api/v1/partner/${auth.partner_id}/sale_order/${data.id}/download/${data.token}`; + window.open(url, 'download'); + closePopup(); + }; + const childrenPopup = (data) => ( <div className="flex flex-col gap-y-6"> <button - className="text-left" + className="text-left disabled:opacity-60" + disabled={!data?.purchase_order_file} + onClick={() => downloadPurchaseOrder(data)} + > + Download PO + </button> + <button + className="text-left disabled:opacity-60" + disabled={data?.status != 'draft'} + onClick={() => downloadQuotation(data)} > Download Quotation </button> <button - className="text-left disabled:opacity-70" + className="text-left disabled:opacity-60" disabled={ data?.status != 'waiting' } onClick={() => {openConfirmAlert(data); closePopup()}} > @@ -99,7 +120,7 @@ export default function Transactions() { title: 'Batalkan Transaksi', caption: 'Apakah anda yakin untuk membatalkan transaksi?', closeText: 'Tidak', - submitText: 'Iya, batalkan', + submitText: 'Ya, Batalkan', onSubmit: submitCancelTransaction }); |
