style(dispatch): 송장 밑줄 강제표시·확대 + J&T 파라미터 제거

- 송장 링크 밑줄이 erp.css 전역 a 스타일에 덮여 안 보이던 것 !important 로 강제
- 송장번호 18px 로 확대
- J&T 는 파라미터 무시(자동입력 불가)라 깔끔한 공식 페이지만 열고 클립보드 복사로 처리

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-19 19:20:48 +09:00
parent 6141f0e38a
commit ec037d7045
2 changed files with 6 additions and 4 deletions
+3 -3
View File
@@ -264,9 +264,9 @@ def courier_logo_url(provider: Any) -> str:
# 매핑 없는 배송사는 링크 없이 텍스트로 표시(courier_tracking_url 가 "" 반환). # 매핑 없는 배송사는 링크 없이 텍스트로 표시(courier_tracking_url 가 "" 반환).
_COURIER_TRACK_URL: dict[str, str] = { _COURIER_TRACK_URL: dict[str, str] = {
"ninjavan": "https://www.ninjavan.co/en-my/tracking?id={t}", "ninjavan": "https://www.ninjavan.co/en-my/tracking?id={t}",
# J&T MY 공식 페이지는 송장 자동입력이 안 된다 → 클릭 시 송장번호를 클립보드에 # J&T MY SPA 는 URL 파라미터로 송장 자동입력이 안 된다(billcode 무시). 깔끔한
# 복사하고 공식 조회 페이지를 연다(직원이 붙여넣기). 복사는 템플릿 JS 가 처리. # 공식 조회 페이지만 열고, 송장번호는 클릭 시 클립보드 복사 → 직원이 붙여넣기.
"jnt": "https://www.jtexpress.my/tracking?billcode={t}", "jnt": "https://www.jtexpress.my/tracking",
"flash": "https://www.flashexpress.my/fle/tracking?se={t}", "flash": "https://www.flashexpress.my/fle/tracking?se={t}",
"citylink": "https://www.citylinkexpress.com/tracking-result/?track_no={t}", "citylink": "https://www.citylinkexpress.com/tracking-result/?track_no={t}",
"poslaju": "https://track.pos.com.my/postal-services/quick-access/?track-trace&trackingNo03={t}", "poslaju": "https://track.pos.com.my/postal-services/quick-access/?track-trace&trackingNo03={t}",
@@ -16,8 +16,10 @@
.dsp-order { font-size:15px;line-height:1.3;color:#334155;word-break:break-all; } .dsp-order { font-size:15px;line-height:1.3;color:#334155;word-break:break-all; }
.dsp-order b { display:block;font-size:14px;font-weight:700;color:#475569;letter-spacing:.5px; } .dsp-order b { display:block;font-size:14px;font-weight:700;color:#475569;letter-spacing:.5px; }
.dsp-order span { font-size:27px;font-weight:800;color:#0f172a;letter-spacing:.2px; } .dsp-order span { font-size:27px;font-weight:800;color:#0f172a;letter-spacing:.2px; }
.dsp-track-link { color:#2563eb;font-weight:800;text-decoration:underline; .dsp-track-link { color:#2563eb !important;font-size:18px;font-weight:800;
text-decoration:underline !important;text-decoration-line:underline !important;
text-decoration-thickness:2px;text-underline-offset:3px;cursor:pointer; } text-decoration-thickness:2px;text-underline-offset:3px;cursor:pointer; }
.dsp-track-link:hover { color:#1d4ed8 !important; }
.dsp-toast { position:fixed;left:50%;bottom:24px;transform:translateX(-50%); .dsp-toast { position:fixed;left:50%;bottom:24px;transform:translateX(-50%);
background:#0f172a;color:#fff;padding:10px 18px;border-radius:9px; background:#0f172a;color:#fff;padding:10px 18px;border-radius:9px;
font-size:14px;font-weight:600;opacity:0;pointer-events:none; font-size:14px;font-weight:600;opacity:0;pointer-events:none;