You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
4.1 KiB
React
100 lines
4.1 KiB
React
3 years ago
|
import React from 'react'
|
||
|
import { formatDate, formatIDR } from '@/utils'
|
||
|
|
||
|
const Td = ({ children, colSpan, className }) => {
|
||
|
return (
|
||
|
<td className={`border p-2 ${className}`} colSpan={colSpan}>
|
||
|
{children}
|
||
|
</td>
|
||
|
)
|
||
|
}
|
||
|
|
||
|
const Print = React.forwardRef((props, ref) => {
|
||
|
const {user, date, employee, items, amount, cuts, bonus, total} = props
|
||
|
return (
|
||
|
<>
|
||
|
<div ref={ref} className="p-4">
|
||
3 years ago
|
<table
|
||
|
className="border-collapse border border-black w-full"
|
||
|
border="1"
|
||
|
>
|
||
3 years ago
|
<thead>
|
||
|
<tr className="text-center border">
|
||
3 years ago
|
<th colSpan={5}>
|
||
3 years ago
|
<div className="flex text-md justify-center items-center font-bold text-4xl py-4">
|
||
|
GAJIAN KONVEKSI
|
||
|
</div>
|
||
|
</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
<tbody>
|
||
|
<tr className="border">
|
||
|
<Td>Nama Tukang</Td>
|
||
|
<Td>{employee?.name}</Td>
|
||
|
<Td>Nomer Telpon</Td>
|
||
3 years ago
|
<Td colSpan={2}>{employee?.whatsapp}</Td>
|
||
3 years ago
|
</tr>
|
||
|
<tr className="border">
|
||
|
<Td>Tanggal Pembuatan</Td>
|
||
|
<Td>{formatDate(date)}</Td>
|
||
|
<Td>Dibuat Oleh</Td>
|
||
3 years ago
|
<Td colSpan={2}>{user?.name}</Td>
|
||
3 years ago
|
</tr>
|
||
|
<tr className="border text-center">
|
||
3 years ago
|
<th colSpan={5}>
|
||
3 years ago
|
<div className="flex text-md justify-center items-center font-bold text-3xl py-4">
|
||
|
Detail Gajian
|
||
|
</div>
|
||
|
</th>
|
||
|
</tr>
|
||
|
<tr className="border">
|
||
|
<Td className="max-w-sm">#</Td>
|
||
|
<Td>Nama Barang</Td>
|
||
|
<Td>Harga</Td>
|
||
|
<Td>Jumlah</Td>
|
||
3 years ago
|
<Td>Subtotal</Td>
|
||
3 years ago
|
</tr>
|
||
|
{items?.map((item, index) => (
|
||
|
<tr className="border" key={index}>
|
||
|
<Td className="max-w-sm">{index + 1}</Td>
|
||
|
<Td>{item?.name}</Td>
|
||
|
<Td>{formatIDR(item?.price)}</Td>
|
||
|
<Td>{formatIDR(item?.quantity)}</Td>
|
||
3 years ago
|
<Td>
|
||
|
{formatIDR(item?.quantity * item?.price)}
|
||
|
</Td>
|
||
3 years ago
|
</tr>
|
||
|
))}
|
||
|
<tr className="border">
|
||
3 years ago
|
<Td colSpan={4} className="text-right">
|
||
3 years ago
|
Total
|
||
|
</Td>
|
||
|
<Td>{formatIDR(amount)}</Td>
|
||
|
</tr>
|
||
|
<tr className="border">
|
||
3 years ago
|
<Td colSpan={4} className="text-right">
|
||
3 years ago
|
Potongan/Pinjaman
|
||
|
</Td>
|
||
|
<Td>{formatIDR(cuts)}</Td>
|
||
|
</tr>
|
||
|
<tr className="border">
|
||
3 years ago
|
<Td colSpan={4} className="text-right">
|
||
3 years ago
|
Bonus
|
||
|
</Td>
|
||
|
<Td>{formatIDR(bonus)}</Td>
|
||
|
</tr>
|
||
|
<tr className="border">
|
||
3 years ago
|
<Td colSpan={4} className="text-right">
|
||
3 years ago
|
Total Diterima
|
||
|
</Td>
|
||
|
<Td className="font-bold">{formatIDR(total)}</Td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</div>
|
||
|
</>
|
||
|
)
|
||
|
})
|
||
|
|
||
|
export default Print
|