- payments/invoices/items/proc-payments/einvoices 5개 페이지에서 px-4 py-3 → px-3 py-1.5 일괄 축소. 한 화면에 더 많은 행 표시. - items: 작업(Pencil/Trash) 셀에 whitespace-nowrap + w-[80px], 품목명 컬럼 max-w-[260px] truncate (긴 이름은 title 으로 hover)
This commit is contained in:
@@ -272,15 +272,15 @@ export default function InvoicesPage() {
|
||||
onChange={toggleAll}
|
||||
/>
|
||||
</th>
|
||||
<th className="text-left px-4 py-3">발주번호</th>
|
||||
<th className="text-left px-4 py-3">발주일</th>
|
||||
<th className="text-left px-4 py-3">업체명</th>
|
||||
<th className="text-right px-4 py-3">면세</th>
|
||||
<th className="text-right px-4 py-3">과세</th>
|
||||
<th className="text-right px-4 py-3">합계</th>
|
||||
<th className="text-center px-4 py-3">상태</th>
|
||||
<th className="text-left px-4 py-3">계산서번호</th>
|
||||
<th className="text-left px-4 py-3">발행일</th>
|
||||
<th className="text-left px-4 py-1.5">발주번호</th>
|
||||
<th className="text-left px-4 py-1.5">발주일</th>
|
||||
<th className="text-left px-4 py-1.5">업체명</th>
|
||||
<th className="text-right px-4 py-1.5">면세</th>
|
||||
<th className="text-right px-4 py-1.5">과세</th>
|
||||
<th className="text-right px-4 py-1.5">합계</th>
|
||||
<th className="text-center px-4 py-1.5">상태</th>
|
||||
<th className="text-left px-4 py-1.5">계산서번호</th>
|
||||
<th className="text-left px-4 py-1.5">발행일</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -291,19 +291,19 @@ export default function InvoicesPage() {
|
||||
<td className="px-3 py-3 text-center">
|
||||
{!o.INVOICE_NO && <input type="checkbox" checked={selected.has(o.OBJID)} onChange={() => toggle(o.OBJID)} className="w-4 h-4 accent-emerald-600" />}
|
||||
</td>
|
||||
<td className="px-4 py-3 font-semibold">{o.ORDER_NO}</td>
|
||||
<td className="px-4 py-3">{o.ORDER_DATE}</td>
|
||||
<td className="px-4 py-3">{o.COMPANY_NAME}</td>
|
||||
<td className="px-4 py-3 text-right tabular-nums text-violet-700">₩{fmt(o.TOTAL_TAXFREE ?? 0)}</td>
|
||||
<td className="px-4 py-3 text-right tabular-nums text-rose-700">₩{fmt((Number(o.TOTAL_TAXABLE) || 0) + (Number(o.TOTAL_VAT) || 0))}</td>
|
||||
<td className="px-4 py-3 text-right tabular-nums font-bold text-emerald-700">₩{fmt(o.TOTAL_AMOUNT)}</td>
|
||||
<td className="px-4 py-3 text-center">
|
||||
<td className="px-3 py-1.5 font-semibold">{o.ORDER_NO}</td>
|
||||
<td className="px-4 py-1.5">{o.ORDER_DATE}</td>
|
||||
<td className="px-4 py-1.5">{o.COMPANY_NAME}</td>
|
||||
<td className="px-3 py-1.5 text-right tabular-nums text-violet-700">₩{fmt(o.TOTAL_TAXFREE ?? 0)}</td>
|
||||
<td className="px-3 py-1.5 text-right tabular-nums text-rose-700">₩{fmt((Number(o.TOTAL_TAXABLE) || 0) + (Number(o.TOTAL_VAT) || 0))}</td>
|
||||
<td className="px-3 py-1.5 text-right tabular-nums font-bold text-emerald-700">₩{fmt(o.TOTAL_AMOUNT)}</td>
|
||||
<td className="px-3 py-1.5 text-center">
|
||||
<span className={`px-2 py-1 rounded text-xs font-semibold ${o.STATUS === "INVOICED" ? "bg-violet-100 text-violet-700" : "bg-amber-100 text-amber-700"}`}>
|
||||
{STATUS_LABEL[o.STATUS]}
|
||||
</span>
|
||||
</td>
|
||||
<td className="px-4 py-3 font-mono text-xs">{o.INVOICE_NO || "-"}</td>
|
||||
<td className="px-4 py-3 text-xs text-slate-500">{o.INVOICE_DATE || "-"}</td>
|
||||
<td className="px-3 py-1.5 font-mono text-xs">{o.INVOICE_NO || "-"}</td>
|
||||
<td className="px-3 py-1.5 text-xs text-slate-500">{o.INVOICE_DATE || "-"}</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
|
||||
@@ -244,14 +244,14 @@ export default function AdminItemsPage() {
|
||||
<thead className="bg-slate-50 text-slate-600">
|
||||
<tr>
|
||||
<th className="px-3 py-3 w-14"></th>
|
||||
<th className="text-left px-3 py-3">품목코드</th>
|
||||
<th className="text-left px-3 py-3">품목명</th>
|
||||
<th className="text-center px-3 py-3">구분</th>
|
||||
<th className="text-right px-3 py-3">단가</th>
|
||||
<th className="text-right px-3 py-3">원가</th>
|
||||
<th className="text-right px-3 py-3">재고</th>
|
||||
<th className="text-center px-3 py-3">상태</th>
|
||||
<th className="text-right px-3 py-3 w-[70px]">작업</th>
|
||||
<th className="text-left px-3 py-1.5">품목코드</th>
|
||||
<th className="text-left px-3 py-1.5">품목명</th>
|
||||
<th className="text-center px-3 py-1.5">구분</th>
|
||||
<th className="text-right px-3 py-1.5">단가</th>
|
||||
<th className="text-right px-3 py-1.5">원가</th>
|
||||
<th className="text-right px-3 py-1.5">재고</th>
|
||||
<th className="text-center px-3 py-1.5">상태</th>
|
||||
<th className="text-right px-3 py-1.5 w-[80px] whitespace-nowrap">작업</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -274,7 +274,7 @@ export default function AdminItemsPage() {
|
||||
</div>
|
||||
</td>
|
||||
<td className="px-3 py-2 font-mono text-xs text-slate-500">{it.ITEM_CODE}</td>
|
||||
<td className="px-3 py-2 font-semibold text-slate-800">{it.ITEM_NAME}</td>
|
||||
<td className="px-3 py-2 font-semibold text-slate-800 max-w-[260px] truncate" title={it.ITEM_NAME}>{it.ITEM_NAME}</td>
|
||||
<td className="px-3 py-2 text-center">
|
||||
{it.IS_TAX_FREE === "Y" ? (
|
||||
<span className="px-1.5 py-0.5 rounded bg-violet-100 text-violet-700 text-[10px] font-bold">면세</span>
|
||||
@@ -300,11 +300,11 @@ export default function AdminItemsPage() {
|
||||
<span className="ml-1 text-[10px] px-1.5 py-0.5 rounded bg-orange-100 text-orange-700 font-bold">택배</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-3 py-2 text-right">
|
||||
<button onClick={() => openEdit(it)} className="text-slate-400 hover:text-emerald-700 p-1">
|
||||
<td className="px-3 py-2 text-right whitespace-nowrap">
|
||||
<button onClick={() => openEdit(it)} className="text-slate-400 hover:text-emerald-700 p-1" title="수정">
|
||||
<Pencil size={14} />
|
||||
</button>
|
||||
<button onClick={() => onDelete(it.OBJID)} className="text-slate-400 hover:text-rose-600 p-1 ml-1">
|
||||
<button onClick={() => onDelete(it.OBJID)} className="text-slate-400 hover:text-rose-600 p-1 ml-1" title="삭제">
|
||||
<Trash2 size={14} />
|
||||
</button>
|
||||
</td>
|
||||
|
||||
@@ -192,14 +192,14 @@ export default function PaymentsPage() {
|
||||
<table className="w-full text-sm min-w-[800px]">
|
||||
<thead className="bg-slate-50 text-slate-600">
|
||||
<tr>
|
||||
<th className="text-left px-4 py-3">발주번호</th>
|
||||
<th className="text-left px-4 py-3">발주일</th>
|
||||
<th className="text-left px-4 py-3">업체명</th>
|
||||
<th className="text-right px-4 py-3">합계</th>
|
||||
<th className="text-right px-4 py-3">입금액</th>
|
||||
<th className="text-right px-4 py-3">미수금</th>
|
||||
<th className="text-center px-4 py-3">상태</th>
|
||||
<th className="text-right px-4 py-3"></th>
|
||||
<th className="text-left px-4 py-1.5">발주번호</th>
|
||||
<th className="text-left px-4 py-1.5">발주일</th>
|
||||
<th className="text-left px-4 py-1.5">업체명</th>
|
||||
<th className="text-right px-4 py-1.5">합계</th>
|
||||
<th className="text-right px-4 py-1.5">입금액</th>
|
||||
<th className="text-right px-4 py-1.5">미수금</th>
|
||||
<th className="text-center px-4 py-1.5">상태</th>
|
||||
<th className="text-right px-4 py-1.5"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -209,18 +209,18 @@ export default function PaymentsPage() {
|
||||
const remain = Number(o.TOTAL_AMOUNT) - Number(o.PAID_AMOUNT || 0);
|
||||
return (
|
||||
<tr key={o.OBJID} className="border-t border-slate-100">
|
||||
<td className="px-4 py-3 font-semibold">{o.ORDER_NO}</td>
|
||||
<td className="px-4 py-3">{o.ORDER_DATE}</td>
|
||||
<td className="px-4 py-3">{o.COMPANY_NAME}</td>
|
||||
<td className="px-4 py-3 text-right tabular-nums">₩{fmt(o.TOTAL_AMOUNT)}</td>
|
||||
<td className="px-4 py-3 text-right tabular-nums text-emerald-700">₩{fmt(o.PAID_AMOUNT || 0)}</td>
|
||||
<td className={`px-4 py-3 text-right tabular-nums font-bold ${remain > 0 ? "text-rose-700" : "text-slate-400"}`}>₩{fmt(remain)}</td>
|
||||
<td className="px-4 py-3 text-center">
|
||||
<td className="px-3 py-1.5 font-semibold">{o.ORDER_NO}</td>
|
||||
<td className="px-4 py-1.5">{o.ORDER_DATE}</td>
|
||||
<td className="px-4 py-1.5">{o.COMPANY_NAME}</td>
|
||||
<td className="px-3 py-1.5 text-right tabular-nums">₩{fmt(o.TOTAL_AMOUNT)}</td>
|
||||
<td className="px-3 py-1.5 text-right tabular-nums text-emerald-700">₩{fmt(o.PAID_AMOUNT || 0)}</td>
|
||||
<td className={`px-3 py-1.5 text-right tabular-nums font-bold ${remain > 0 ? "text-rose-700" : "text-slate-400"}`}>₩{fmt(remain)}</td>
|
||||
<td className="px-3 py-1.5 text-center">
|
||||
<span className={`px-2 py-1 rounded text-xs font-semibold ${o.STATUS === "PAID" || o.STATUS === "INVOICED" ? "bg-emerald-100 text-emerald-700" : "bg-amber-100 text-amber-700"}`}>
|
||||
{STATUS_LABEL[o.STATUS]}
|
||||
</span>
|
||||
</td>
|
||||
<td className="px-4 py-3 text-right">
|
||||
<td className="px-3 py-1.5 text-right">
|
||||
{o.STATUS !== "INVOICED" && (
|
||||
<button onClick={() => onPay(o)} className="text-xs px-3 h-8 rounded-md bg-emerald-700 text-white hover:bg-emerald-800 font-semibold">
|
||||
입금 등록
|
||||
|
||||
@@ -199,13 +199,13 @@ export default function ProcPaymentsPage() {
|
||||
<table className="w-full text-sm">
|
||||
<thead className="bg-slate-50 text-slate-600 text-xs">
|
||||
<tr>
|
||||
<th className="text-left px-3 py-2.5">발주번호</th>
|
||||
<th className="text-left px-3 py-2.5">발주일</th>
|
||||
<th className="text-left px-3 py-2.5">공급업체</th>
|
||||
<th className="text-right px-3 py-2.5">발주금액</th>
|
||||
<th className="text-center px-3 py-2.5">상태</th>
|
||||
<th className="text-left px-3 py-2.5">입금일</th>
|
||||
<th className="text-right px-3 py-2.5">입금액</th>
|
||||
<th className="text-left px-3 py-1.5">발주번호</th>
|
||||
<th className="text-left px-3 py-1.5">발주일</th>
|
||||
<th className="text-left px-3 py-1.5">공급업체</th>
|
||||
<th className="text-right px-3 py-1.5">발주금액</th>
|
||||
<th className="text-center px-3 py-1.5">상태</th>
|
||||
<th className="text-left px-3 py-1.5">입금일</th>
|
||||
<th className="text-right px-3 py-1.5">입금액</th>
|
||||
<th className="text-center px-3 py-2.5 w-[120px]">동작</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -215,8 +215,8 @@ export default function ProcPaymentsPage() {
|
||||
) : list.map((p) => (
|
||||
<tr key={p.OBJID} className="border-t border-slate-100 hover:bg-slate-50">
|
||||
<td className="px-3 py-2.5 font-semibold">{p.PROC_NO}</td>
|
||||
<td className="px-3 py-2.5">{p.PROC_DATE}</td>
|
||||
<td className="px-3 py-2.5">{p.VENDOR_NAME ?? "-"}</td>
|
||||
<td className="px-3 py-1.5">{p.PROC_DATE}</td>
|
||||
<td className="px-3 py-1.5">{p.VENDOR_NAME ?? "-"}</td>
|
||||
<td className="px-3 py-2.5 text-right tabular-nums font-bold">₩{fmt(p.TOTAL_AMOUNT)}</td>
|
||||
<td className="px-3 py-2.5 text-center">
|
||||
<span className={`text-[10px] px-1.5 py-0.5 rounded font-semibold ${STATUS_COLOR[p.STATUS]}`}>
|
||||
|
||||
Reference in New Issue
Block a user