This commit is contained in:
Macbook
2026-07-12 05:37:13 +09:00
parent 9c49b01d7f
commit 3c57a28edd
6 changed files with 49 additions and 6 deletions
+3 -2
View File
@@ -83,8 +83,9 @@ export default function AgentShell({ shop = false }: Props) {
setOpenCards((prev) => {
const next = { ...prev }
sections.forEach((sec) => {
// 기본은 접힘. 현재 경로가 속한 섹션만 펼침
if (next[sec.id] === undefined) {
next[sec.id] = sectionContainsPath(sec, location.pathname) || sec.items.length <= 1
next[sec.id] = sectionContainsPath(sec, location.pathname)
}
if (sectionContainsPath(sec, location.pathname)) next[sec.id] = true
})
@@ -201,7 +202,7 @@ export default function AgentShell({ shop = false }: Props) {
{!collapsed && (
<aside className="leftpanel" style={{ width: panelWidth }}>
{sections.map((sec) => {
const open = openCards[sec.id] !== false
const open = openCards[sec.id] === true
const activeSec = sectionContainsPath(sec, location.pathname)
return (
<div className={`lp-card${activeSec ? ' is-active' : ''}`} key={sec.id}>
+25 -2
View File
@@ -19,6 +19,29 @@ import { DownOutlined } from '@ant-design/icons'
import client, { apiPrefix, unwrap, type ApiResponse } from '../../api/client'
import { options } from './homesShared'
/** 진행현황 배지 색상 클래스 */
function progressBadgeClass(status?: string) {
const s = (status || '').trim()
if (s.startsWith('1.') || s.includes('접수완료')) return 'badge badge-ps-1'
if (s.startsWith('2.') || s.includes('고객통화')) return 'badge badge-ps-2'
if (s.startsWith('3.') || s.includes('서류검토')) return 'badge badge-ps-3'
if (s.startsWith('4.') || s.includes('개통완료')) return 'badge badge-ps-4'
if (s.startsWith('5.') || s.includes('사은품지급')) return 'badge badge-ps-5'
if (s.startsWith('6.') || s.includes('정산완료')) return 'badge badge-ps-6'
if (s.startsWith('9.') || s.includes('취소')) return 'badge badge-ps-9'
return 'badge'
}
/** 사은품현황 배지 색상 클래스 */
function giftBadgeClass(status?: string) {
const s = (status || '').trim()
if (s === '미지급') return 'badge badge-gs-none'
if (s === '지급대기') return 'badge badge-gs-wait'
if (s === '지급완료') return 'badge badge-gs-done'
if (s === '반송') return 'badge badge-gs-return'
return 'badge'
}
type ReceptionRow = {
id: number
orderDate?: string
@@ -678,7 +701,7 @@ export default function ReceptionListPage() {
</td>
<td className="col-status floating-cell">
<p className="c-green">{o.employeeName || o.counselor || ''}</p>
<p><span className="badge">{o.status || o.progressStatus || ''}</span></p>
<p><span className={progressBadgeClass(o.status || o.progressStatus)}>{o.status || o.progressStatus || ''}</span></p>
<div className="floating-layer">
<p>개통일: {o.opened || o.openDate || '-'}</p>
<p>해지일: {o.canceled || '-'}</p>
@@ -694,7 +717,7 @@ export default function ReceptionListPage() {
<p className="fs11">{o.giftSended || o.giftDate || ''}</p>
</td>
<td className="col-gift">
<p><span className="badge">{o.giftStatus || ''}</span></p>
<p><span className={giftBadgeClass(o.giftStatus)}>{o.giftStatus || ''}</span></p>
<p>{num(giftAmt)}</p>
</td>
<td className="col-cstatus floating-cell">
+15
View File
@@ -4357,7 +4357,22 @@ table.order-list .badge {
font-size: 11px;
background: var(--badge-bg);
color: var(--badge-text);
white-space: nowrap;
}
/* 진행현황 */
table.order-list .badge-ps-1 { background: #1677ff; color: #fff; } /* 1.접수완료 */
table.order-list .badge-ps-2 { background: #13c2c2; color: #fff; } /* 2.고객통화 */
table.order-list .badge-ps-3 { background: #722ed1; color: #fff; } /* 3.서류검토 */
table.order-list .badge-ps-4 { background: #52c41a; color: #fff; } /* 4.개통완료 */
table.order-list .badge-ps-5 { background: #fa8c16; color: #fff; } /* 5.사은품지급 */
table.order-list .badge-ps-6 { background: #2f54eb; color: #fff; } /* 6.정산완료 */
table.order-list .badge-ps-9 { background: #f5222d; color: #fff; } /* 9.취소 */
/* 사은품현황 */
table.order-list .badge-gs-none { background: #8c8c8c; color: #fff; } /* 미지급 */
table.order-list .badge-gs-wait { background: #faad14; color: #1f1f1f; } /* 지급대기 */
table.order-list .badge-gs-done { background: #52c41a; color: #fff; } /* 지급완료 */
table.order-list .badge-gs-return { background: #f5222d; color: #fff; } /* 반송 */
html.theme-light table.order-list .badge-gs-wait { color: #fff; }
table.order-list .floating-cell { position: relative; }
table.order-list .floating-layer {
display: none;