@page "{id:int}" @model Admin.Pages.Store.Shipment.DetailModel @using Domain.Entities.Store.ValueObject @{ ViewData["Title"] = "배송 상세"; }

@ViewData["Title"]


@if (Model.Data is null) {
배송 정보를 불러올 수 없습니다.
} else { var d = Model.Data;
배송 기본 정보
주문번호
@d.OrderNumber
구매자
@d.BuyerEmail
배송 상태
@Admin.Pages.Store.Shipment.IndexModel.StatusToText(d.Status)
생성일
@d.CreatedAt.ToString("yyyy-MM-dd HH:mm")
택배사
@(d.Carrier ?? "-")
송장번호
@(d.TrackingNumber ?? "-")
출고일
@(d.ShippedAt?.ToString("yyyy-MM-dd HH:mm") ?? "-")
배송완료
@(d.DeliveredAt?.ToString("yyyy-MM-dd HH:mm") ?? "-")
배송비
@d.ShippingFee.ToString("N0") P
관리자 메모
@(string.IsNullOrWhiteSpace(d.AdminMemo) ? "-" : d.AdminMemo)
수령 주소 @if (!Model.WithAddress) { 주소 보기 (복호화) } else { 숨기기 }
@if (Model.WithAddress) {
수령인
@d.RecipientName
연락처
@d.Phone
우편번호
@d.ZipCode
주소
@d.Address1
상세 주소
@d.Address2

주소 조회는 감사 로그에 기록됩니다 (S6 적용 예정).

} else {

개인정보 보호를 위해 가려져 있습니다. "주소 보기" 클릭 시 AES-GCM 복호화하여 표시합니다.

}
배송비 · 관리자 메모
@Html.AntiForgeryToken()
@if (d.Status == ShipmentStatus.Preparing) {
송장 등록
@Html.AntiForgeryToken()
}
상태 변경
@if (d.Status is ShipmentStatus.Pickup or ShipmentStatus.Preparing) {
@Html.AntiForgeryToken()
} @if (d.Status == ShipmentStatus.InTransit) {
@Html.AntiForgeryToken()
} @if (d.Status is not ShipmentStatus.Delivered and not ShipmentStatus.Failed) {
@Html.AntiForgeryToken()
}
}