"use client"; import { useResultStore } from "@/common/stores/useResultStore"; import { StockOpnameRes } from "@/common/types/stockOpname"; import { Badge, Pagination, Spacer } from "@nextui-org/react" import { useQuery } from "@tanstack/react-query"; import { useSearchParams } from "next/navigation"; import { useRouter } from "next/navigation"; import styles from "./table.module.css" import clsxm from "@/common/libs/clsxm"; import DetailRow from "./DetailRow"; import { useDebounce } from "usehooks-ts"; const Table = () => { const params = useSearchParams() const router = useRouter() const page = params.get('page') ?? '1' const { filter: { company, search } } = useResultStore() const debouncedSearch = useDebounce(search, 500) const stockOpnames = useQuery({ queryKey: ['stockOpnames', company, debouncedSearch, page], queryFn: async () => { const searchParams = new URLSearchParams() if (!company) return null searchParams.set('companyId', company) searchParams.set('page', page); if (debouncedSearch) searchParams.set('search', debouncedSearch) return await fetch(`/api/stock-opname?${searchParams}`) .then(res => res.json()) }, }) return ( <>
{stockOpnames.data?.result.map((stockOpname: StockOpnameRes['result']) => ( <> ))} {stockOpnames.data?.result.length === 0 && ( )}
STATUS NAMA PRODUK TIM HITUNG 1 TIM HITUNG 2 TIM VERIFIKASI ON-HAND QTY GUDANG SELISIH
{stockOpname.isDifferent ? 'Tidak Sesuai' : 'Sesuai'}
{stockOpname.itemCode ? `[${stockOpname.itemCode}] ` : ''} {stockOpname.name} {stockOpname.barcode ? ` [${stockOpname.barcode}]` : ''} {stockOpname.quantity.COUNT1 || '-'} {stockOpname.quantity.COUNT2 || '-'} {stockOpname.quantity.VERIFICATION || '-'} {stockOpname.onhandQty} {stockOpname.differenceQty}
Belum ada data untuk ditampilkan
router.push(`?page=${page}`)} />
) } export default Table