/* 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 } 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 ? : <> } ))} {isInterstate ? : <> }
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"}>{i.UnitPrice} 0 ? "" : "empty"}>{getDiscountValue(i)} ({i.DiscountPercentage}%) 0 ? "" : "empty"}>{getGSTValue(i)} ({i.GSTPercentage}%) 0 ? "" : "empty"}>{getGSTValue(i) / 2} ({i.GSTPercentage / 2}%) 0 ? "" : "empty"}>{getGSTValue(i) / 2} ({i.GSTPercentage / 2}%){i.HSN} {getAmount(i)} handleEdit(i)}/> handleDelete(i)}/>
Total 0 ? "" : "empty"}>{sum.Quantity} 0 ? "" : "empty"}>{sum.UnitPrice} 0 ? "" : "empty"}>{sum.Discount} 0 ? "" : "empty"}>{sum.GST || 0} 0 ? "" : "empty"}>{sum.GST / 2 || 0} 0 ? "" : "empty"}>{sum.GST / 2 || 0} 0 ? "" : "empty"}>{sum.Amount}
); } export default ItemTable;