summaryrefslogtreecommitdiff
path: root/src/lib/transaction
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/transaction')
-rw-r--r--src/lib/transaction/components/Transactions.jsx60
1 files changed, 35 insertions, 25 deletions
diff --git a/src/lib/transaction/components/Transactions.jsx b/src/lib/transaction/components/Transactions.jsx
index 9485449d..1a57a976 100644
--- a/src/lib/transaction/components/Transactions.jsx
+++ b/src/lib/transaction/components/Transactions.jsx
@@ -26,6 +26,7 @@ import MobileView from '@/core/components/views/MobileView';
import DesktopView from '@/core/components/views/DesktopView';
import Menu from '@/lib/auth/components/Menu';
import * as XLSX from 'xlsx';
+import getSite from '../api/listSiteApi';
const Transactions = ({ context = '' }) => {
const auth = useAuth();
@@ -37,6 +38,7 @@ const Transactions = ({ context = '' }) => {
const [inputQuery, setInputQuery] = useState(q);
const [toOthers, setToOthers] = useState(null);
const [toCancel, setToCancel] = useState(null);
+ const [listSites, setListSites] = useState([]);
const [siteFilter, setSiteFilter] = useState(site);
@@ -51,6 +53,11 @@ const Transactions = ({ context = '' }) => {
const { transactions } = useTransactions({ query });
+ const fetchSite = async () => {
+ const site = await getSite();
+ setListSites(site.sites);
+ };
+
const submitCancelTransaction = async () => {
const isCancelled = await cancelTransactionApi({
transaction: toCancel,
@@ -108,13 +115,13 @@ const Transactions = ({ context = '' }) => {
const row = {
'No. Transaksi': saleOrder.name,
'No. PO': saleOrder.purchaseOrderName || '-',
- 'Tanggal': saleOrder.dateOrder || '-',
+ Tanggal: saleOrder.dateOrder || '-',
'Created By': saleOrder.address.customer?.name || '-',
- 'Salesperson': saleOrder.sales,
- 'Total': currencyFormat(saleOrder.amountTotal),
- 'Status': saleOrder.status,
+ Salesperson: saleOrder.sales,
+ Total: currencyFormat(saleOrder.amountTotal),
+ Status: saleOrder.status,
};
- if(siteFilter){
+ if (siteFilter) {
row['Site'] = siteFilter;
}
rowsToExport.push(row);
@@ -134,6 +141,10 @@ const Transactions = ({ context = '' }) => {
exportToExcel(dataToExport, siteFilter);
};
+
+ useEffect(() => {
+ fetchSite();
+ }, []);
return (
<>
<MobileView>
@@ -304,7 +315,7 @@ const Transactions = ({ context = '' }) => {
<Menu />
</div>
<div className='w-9/12 p-4 bg-white border border-gray_r-6 rounded'>
- <div className='flex mb-2 items-center justify-between'>
+ <div className='flex mb-6 items-center justify-between'>
<h1 className='text-title-sm font-semibold'>
Daftar Transaksi{' '}
{transactions?.data?.saleOrders
@@ -312,16 +323,21 @@ const Transactions = ({ context = '' }) => {
: ''}
</h1>
<div className='grid grid-cols-2 gap-2'>
- <select
- value={siteFilter}
- onChange={handleSiteFilterChange}
- className='form-input'
- >
- <option value=''>Semua</option>
- <option value='Depok'>Depok</option>
- <option value='Padang'>Padang</option>
- <option value='berau'>Berau</option>
- </select>
+ {listSites.length > 0 && (
+ <select
+ value={siteFilter}
+ onChange={handleSiteFilterChange}
+ className='form-input'
+ >
+ <option value=''>Pilih Site</option>
+ {listSites.map((site) => (
+ <option value={site} key={site}>
+ {site}
+ </option>
+ ))}
+ </select>
+ )}
+
<form className='flex gap-x-1' onSubmit={handleSubmit}>
<input
type='text'
@@ -341,16 +357,10 @@ const Transactions = ({ context = '' }) => {
</div>
<button
onClick={handleExportExcel}
- className='hover:text-blue-400 rounded inline-flex items-center mb-2'
+ type='button'
+ className='btn-solid-red px-3 py-2 mr-auto mb-2'
>
- <svg
- class='fill-current w-4 h-4 mr-2'
- xmlns='http://www.w3.org/2000/svg'
- viewBox='0 0 20 20'
- >
- <path d='M13 8V2H7v6H2l8 8 8-8h-5zM0 18h20v2H0v-2z' />
- </svg>
- <span>Export</span>
+ <span>Download</span>
</button>
<table className='table-data'>
<thead>