feat(dispatch): 받는 사람 이름도 검색 + 검색창 컴팩트 드롭다운
- search_parcels: recipient_name ILIKE 추가(이름·주문·패키지·송장 4개 필드) - batches.html: 큰 카드 → 한 줄 입력창(🔎+clear), 결과는 절대위치 드롭다운으로 본문 안 밀리게. 바깥 클릭·Esc 닫기, 이름 매칭 강조 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -359,9 +359,9 @@ class DispatchStore:
|
||||
)
|
||||
|
||||
def search_parcels(self, *, query: str, limit: int = 50) -> list[dict[str, Any]]:
|
||||
"""주문번호/패키지번호/송장번호(부분 일치)로 박스를 찾는다.
|
||||
"""주문번호/패키지번호/송장번호/받는 사람 이름(부분 일치)로 박스를 찾는다.
|
||||
|
||||
3개 식별자 어디든 query 가 포함되면 매칭. 받는 사람(이름/전화/주소)과
|
||||
4개 필드 어디든 query 가 포함되면 매칭. 받는 사람(이름/전화/주소)과
|
||||
소속 배치(날짜/플랫폼/배치명/id) + 박스 seq 를 함께 돌려준다.
|
||||
최신 출고일/배치 우선. query 가 비면 빈 리스트.
|
||||
"""
|
||||
@@ -389,9 +389,10 @@ class DispatchStore:
|
||||
b.batch_name
|
||||
FROM dispatch_parcels p
|
||||
JOIN dispatch_batches b ON b.id = p.batch_id
|
||||
WHERE p.order_id ILIKE %(like)s
|
||||
OR p.package_id ILIKE %(like)s
|
||||
OR p.tracking_id ILIKE %(like)s
|
||||
WHERE p.order_id ILIKE %(like)s
|
||||
OR p.package_id ILIKE %(like)s
|
||||
OR p.tracking_id ILIKE %(like)s
|
||||
OR p.recipient_name ILIKE %(like)s
|
||||
ORDER BY b.dispatch_date DESC, b.id DESC, p.seq ASC
|
||||
LIMIT %(limit)s
|
||||
""",
|
||||
|
||||
Reference in New Issue
Block a user