style(orders/admin): 발주 리스트 패널 폭 확대 + 업체 셀 여유 공간 + 툴팁 제거
Deploy momo-erp / deploy (push) Successful in 1m54s

- 그리드 비율 2:3 → minmax(560px,1fr) : 1.4fr 로 좌측 패널을 더 넓게 (cl­amp 560 floor).
- 셀 padding px-1 → px-2 / py-1.5 → py-2 로 여백 확대.
- 컬럼 폭 재조정: 발주번호 88→100, 발주일 72→82, 합계 82→100, 상태 62→72.
  업체 컬럼은 flex 로 남는 공간 모두 사용.
- title 속성 제거 — truncate 시 떠다니던 hover 툴팁이 다음 행 위로 겹쳐
  보이던 문제 해결.
This commit is contained in:
chpark
2026-05-29 01:19:29 +09:00
parent 0ee120f628
commit 745f0037ae
+18 -19
View File
@@ -446,7 +446,7 @@ export default function AdminOrdersPage() {
</div>
{/* 2분할 레이아웃 — 모바일은 stack, lg 이상은 좌-우 분할 */}
<div className="grid grid-cols-1 lg:grid-cols-[minmax(0,2fr)_minmax(0,3fr)] gap-3 lg:min-h-[calc(100vh-200px)]">
<div className="grid grid-cols-1 lg:grid-cols-[minmax(560px,1fr)_minmax(0,1.4fr)] gap-3 lg:min-h-[calc(100vh-200px)]">
{/* 좌측: 발주 리스트 */}
<div className="bg-white border border-slate-200 rounded-xl overflow-hidden flex flex-col">
<div className="px-3 py-2 bg-slate-50 border-b border-slate-200 text-xs font-semibold text-slate-600 flex items-center justify-between gap-2">
@@ -519,16 +519,16 @@ export default function AdminOrdersPage() {
<table className="w-full text-xs table-fixed">
<thead className="bg-slate-50 text-slate-600 sticky top-0 z-10">
<tr>
<th className="w-7 px-1 py-1.5">
<th className="w-8 px-1.5 py-2">
<input type="checkbox" checked={allRequestedChecked} onChange={toggleAllRequested}
disabled={allRequestedCount === 0}
className="accent-emerald-600 cursor-pointer disabled:opacity-30" />
</th>
<th className="text-left px-1 py-1.5 text-[11px] w-[88px]"></th>
<th className="text-left px-1 py-1.5 text-[11px] w-[72px]"></th>
<th className="text-left px-1 py-1.5 text-[11px]"></th>
<th className="text-right px-1 py-1.5 text-[11px] w-[82px]"></th>
<th className="text-center px-1 py-1.5 text-[11px] w-[62px]"></th>
<th className="text-left px-2 py-2 text-[11px] w-[100px]"></th>
<th className="text-left px-2 py-2 text-[11px] w-[82px]"></th>
<th className="text-left px-2 py-2 text-[11px]"></th>
<th className="text-right px-2 py-2 text-[11px] w-[100px]"></th>
<th className="text-center px-2 py-2 text-[11px] w-[72px]"></th>
</tr>
</thead>
<tbody>
@@ -546,30 +546,29 @@ export default function AdminOrdersPage() {
className={`border-t border-slate-100 cursor-pointer ${active ? "bg-emerald-50/60" : lockedByMeRow ? "bg-emerald-50/30 hover:bg-emerald-50/50" : lockedByOtherUser ? "bg-rose-50/30 hover:bg-rose-50/60" : "hover:bg-slate-50"}`}
title={lockedByMeRow ? "✏️ 내가 수정 중" : lockedByOtherUser ? `🔒 ${o.EDITING_BY_NAME} 님이 수정 중` : ""}
>
<td className="px-1 py-1.5 text-center" onClick={(e) => e.stopPropagation()}>
<td className="px-1.5 py-2 text-center" onClick={(e) => e.stopPropagation()}>
<input
type="checkbox"
checked={checked}
onChange={() => toggleOne(o)}
disabled={o.STATUS !== "REQUESTED"}
className="accent-emerald-600 cursor-pointer disabled:opacity-30 disabled:cursor-not-allowed"
title={o.STATUS !== "REQUESTED" ? "출고요청 상태만 선택할 수 있습니다." : ""}
/>
</td>
<td className="px-1 py-1.5 font-semibold text-slate-800 whitespace-nowrap text-xs tabular-nums">
{lockedByMeRow && <span className="mr-0.5 text-emerald-700" title="내가 수정 중"></span>}
{lockedByOtherUser && <span className="mr-0.5 text-rose-600" title={`${o.EDITING_BY_NAME} 수정 중`}>🔒</span>}
<td className="px-2 py-2 font-semibold text-slate-800 whitespace-nowrap text-xs tabular-nums">
{lockedByMeRow && <span className="mr-0.5 text-emerald-700"></span>}
{lockedByOtherUser && <span className="mr-0.5 text-rose-600">🔒</span>}
{o.ORDER_NO}
</td>
<td className="px-1 py-1.5 text-slate-600 whitespace-nowrap text-xs tabular-nums">{o.ORDER_DATE}</td>
<td className="px-1 py-1.5 font-bold text-sm text-slate-900 truncate" title={o.COMPANY_NAME}>
<td className="px-2 py-2 text-slate-600 whitespace-nowrap text-xs tabular-nums">{o.ORDER_DATE}</td>
<td className="px-2 py-2 font-bold text-sm text-slate-900 truncate">
{o.COMPANY_NAME}
{lockedByMeRow && <div className="text-[9px] font-bold text-emerald-700 truncate"> </div>}
{lockedByOtherUser && <div className="text-[9px] font-bold text-rose-600 truncate">🔒 {o.EDITING_BY_NAME}</div>}
{lockedByMeRow && <div className="text-[10px] font-bold text-emerald-700 truncate"> </div>}
{lockedByOtherUser && <div className="text-[10px] font-bold text-rose-600 truncate">🔒 {o.EDITING_BY_NAME}</div>}
</td>
<td className="px-1 py-1.5 text-right tabular-nums font-bold whitespace-nowrap text-xs">{fmt(o.TOTAL_AMOUNT)}</td>
<td className="px-1 py-1.5 text-center">
<span className={`inline-block px-1 py-0.5 rounded text-[10px] font-semibold border whitespace-nowrap ${STATUS_COLOR[o.STATUS] ?? "bg-slate-100 text-slate-500 border-slate-200"}`}>
<td className="px-2 py-2 text-right tabular-nums font-bold whitespace-nowrap text-xs">{fmt(o.TOTAL_AMOUNT)}</td>
<td className="px-2 py-2 text-center">
<span className={`inline-block px-1.5 py-0.5 rounded text-[10px] font-semibold border whitespace-nowrap ${STATUS_COLOR[o.STATUS] ?? "bg-slate-100 text-slate-500 border-slate-200"}`}>
{STATUS_LABEL[o.STATUS] ?? o.STATUS}
</span>
</td>