/* OpenBills-web - Web based libre billing software * Copyright (C) 2022 Vidhu Kant Sharma * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import './scss/table.scss'; import { getDiscountValue, getGSTValue, getAmount, currency } from './../../classes/item'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { faPencil, faTrashCan } from '@fortawesome/free-solid-svg-icons' const ItemTable = ({items, setItems, isInterstate, sum}) => { const handleEdit = (i) => { alert("coming soon; please delete and add item again"); } const handleDelete = (item) => { setItems(items.filter(i => i.Id !== item.Id)); } /* all the values will be calculated on runtime. * the database will only store the unit price * and gst/discount *percentages* and everything else * will be calculated on runtime. i.e the * database only store info required to re-produce * those same values shown to the user while creating the invoice */ return ( <> {isInterstate ? : <> } {items && items.map((i, id) => ( {isInterstate ? : <> {getGSTValue(i).distribute(2).map((j, id) => )} } ))} {isInterstate ? : <> {sum.GST.distribute(2).map((i, id) => )} }
S. No Name Description Brand Name Quantity UOM Unit Price Discount (%)IGST (%)SGST (%) CGST (%)HSN Amount
{id+1} {i.Name} {i.Description} {i.Brand.Name} {i.Quantity} {i.UnitOfMeasure} 0 ? "" : "empty"}>{currency(i.UnitPrice).format()} 0 ? "" : "empty"}>{getDiscountValue(i).format()} ({i.DiscountPercentage}%) 0 ? "" : "empty"}>{getGSTValue(i).format()} 0 ? "" : "empty"}>{j.format()} ({currency(i.GSTPercentage).divide(2).value}%){i.HSN} {getAmount(i).format()} handleEdit(i)}/> handleDelete(i)}/>
Total 0 ? "" : "empty"}>{sum.Quantity.value} 0 ? "" : "empty"}>{sum.UnitPrice.format()} 0 ? "" : "empty"}>{sum.Discount.format()} 0 ? "" : "empty"}>{sum.GST.format()} 0 ? "" : "empty"}>{i.format()} 0 ? "" : "empty"}>{sum.Amount.format()}
); } export default ItemTable;