PageSourceSearch

https://snapbox.ai/assets/ShoppingOrderInfo-h1kzqDZm.js

js snapbox.ai collected 2026-10-05 12:40:24 UTC 13,237 bytes, 2 lines download raw bytes

1import{_ as V,m as J,B as P,o as z,p as F,c,b as s,h as M,t as r,F as O,f as T,e as b,i as _,n as K,w as v,v as f,z as U,u as W,j as G,g as p}from"./index-GRB8Jcml.js";import{T as H}from"./top-DaACZfYm.js";import{S as $}from"./ShoppingService-C2Pshse4.js";import"./ContentsService-DKa2qyOq.js";const Q={name:"ShoppingOrderInfo",components:{TOP:H},setup(){const d=U(),e=W(),i=J({data:"",order_id:"",order_items:"",shipping:"",payments:"",msg:"",alert_display:!1,alert_confirm:!1,cancel_order_item_id:""});i.order_id=d.params.order_id;const y=P(()=>{var o;if(!((o=i.data)!=null&&o.order_items))return{};const n={};return i.data.order_items.forEach(a=>{n[a.brand_id]||(n[a.brand_id]=[]),n[a.brand_id].push(a)}),n}),B=n=>({결제완료:"status-paid",배송준비중:"status-preparing",배송중:"status-shipping",배송완료:"status-delivered",취소완료:"status-canceled",취소접수:"status-canceled",교환신청:"status-preparing",교환접수:"status-preparing",교환재발송:"status-shipping",교환완료:"status-delivered"})[n]||"status-default",L={already_shipped:"이미 상품이 발송되었습니다",preparing_shipment:"배송 준비가 완료되어 취소가 불가능합니다",invoice_issued:"송장이 이미 출력되었습니다",other:"기타"},E=n=>{if(!Array.isArray(n))return null;const o=n.filter(a=>a.status==="취소거부");return o.length===0?null:o.reduce((a,l)=>l.id>a.id?l:a)},m=n=>{if(n.status!=="취소완료"||!Array.isArray(n.cancel_items))return null;const o=n.cancel_items.filter(l=>l.status==="취소완료"&&l.reason);if(o.length===0)return null;const a=o.reduce((l,u)=>u.id>l.id?u:l);return{reason:a.reason,note:a.note,by:a.processed_by==="brand"?"판매자":"고객"}},w=n=>{const o=[];Array.isArray(n.return_items)&&n.return_items.forEach(u=>o.push({...u,type:"반품"})),Array.isArray(n.exchange_items)&&n.exchange_items.filter(u=>u.processed_by==="brand").forEach(u=>o.push({...u,type:"교환"}));const a=o.filter(u=>u.note);if(a.length===0)return null;const l=a.reduce((u,h)=>h.id>u.id?h:u);return{label:l.type+" 안내",note:l.note}},C=n=>{if(!Array.isArray(n)||n.length===0)return null;const o=n.reduce((a,l)=>l.id>a.id?l:a);return o.status==="교환거부"?o:null},g=n=>{if(!Array.isArray(n)||n.length===0)return null;const o=n.reduce((a,l)=>l.id>a.id?l:a);return o.status==="반품거부"?o:null};let S=n=>{e.push({path:"/shopping-order-inquire/"+n,query:{from:i.order_id}})},R=n=>{e.push({path:"/shopping-order-exchange/"+n,query:{from:i.order_id}})},N=n=>{var u,h,k;const o=String(((u=n.shipping)==null?void 0:u.tracking_number)||"").replace(/[-\s]/g,"");if(!o)return;const a=(((h=n.shipping)==null?void 0:h.delivery_company)||"").replace(/\s+/g,"");let l="";a.includes("CJ")||a.includes("대한통운")?l=`https://www.cjlogistics.com/ko/tool/parcel/tracking?gnbInvcNo=${o}`:a.includes("우체국")?l=`https://service.epost.go.kr/trace.RetrieveDomRigiTraceList.comm?sid1=${o}`:a.includes("로젠")?l=`https://www.ilogen.com/web/personal/trace/${o}`:l=`https://search.naver.com/search.naver?query=${encodeURIComponent((((k=n.shipping)==null?void 0:k.delivery_company)||"택배")+" 조회 "+o)}`,window.open(l,"_blank")},t=n=>{confirm(`교환 신청을 철회하시겠습니까?
2결제하신 교환 금액은 전액 취소됩니다.`)&&$.exchangeWithdraw({order_item_id:n}).then(o=>{o.data.code==="S"?(alert("교환 신청이 철회되었습니다."),location.reload()):alert(o.data.msg)}).catch(o=>{console.log(o),alert("교환 신청 철회에 실패하였습니다.")})},A=n=>{i.cancel_order_item_id=n,i.msg="제품이 이미 발송되었을 경우 취소 접수 거부될 수 있습니다.",i.alert_confirm=!0,i.alert_display=!0},q=()=>{i.alert_display=!1,i.cancel_order_item_id&&e.push({path:"/shopping-order-cancel/"+i.cancel_order_item_id,query:{from:i.order_id}})};return z(()=>{$.orderInfo(i.order_id).then(n=>{let o=n.data;i.data=o,o==""?alert("잘못된 요청정보입니다."):(i.order_items=o.order_items,i.order_items.forEach(a=>{a.options=JSON.parse(a.options),a.item_options=JSON.parse(a.item_options),a.rejectedCancel=E(a.cancel_items),a.rejectedExchange=C(a.exch
2ange_items),a.rejectedReturn=g(a.return_items),a.canceledInfo=m(a),a.brandNote=w(a)}),i.shipping=o.order_items[0].shipping,i.payments=o.payments)}).catch(n=>{console.log(n),n.response.status==404&&alert("게시글이 존재하지 않습니다.")})}),{...F(i),cancelOrder:A,inquireOrder:S,exchangeOrder:R,withdrawExchange:t,trackShipment:N,groupedByBrand:y,snapDelete:q,getStatusClass:B,rejectReasonLabel:L}}},X={class:"header header_color",id:"main_header"},Y={class:"order-info-page"},Z={class:"order-container"},x={class:"info-card order-number-card"},ss={class:"order-num-row"},es={class:"order-id"},ts={class:"order-date-row"},ns={class:"order-date"},as={class:"products-wrap"},os={class:"brand-label"},rs={class:"product-thumb"},ds=["src","alt"],ls={class:"product-info"},is={class:"product-name"},cs={key:0,class:"product-option"},ps={class:"product-price-qty"},us={class:"price"},_s={class:"qty-badge"},ys=["onClick"],hs={class:"delivery-company"},gs={class:"tracking-num"},bs={key:0,class:"track-link"},vs={class:"status-action-row"},fs={key:0,class:"status-badge reject-badge"},ks={class:"reject-tooltip"},js={class:"reject-reason"},ms={key:0,class:"reject-note"},ws={key:1,class:"status-badge reject-badge"},Cs={class:"reject-tooltip"},Ss={class:"reject-reason"},Rs={key:0,class:"reject-note"},Ns={key:2,class:"status-badge reject-badge"},qs={class:"reject-tooltip"},Os={class:"reject-reason"},Es={key:0,class:"reject-note"},As={key:3,class:"status-badge reject-badge cancel-reason-badge"},Bs={class:"reject-tooltip"},Ls={class:"reject-reason"},Is={key:0,class:"reject-note"},Ds=["onClick"],Ts=["onClick"],Ks=["onClick"],$s=["onClick"],Vs=["onClick"],Js={key:2,class:"brand-note"},Ps={class:"brand-note-label"},zs={class:"brand-note-text"},Fs={key:3,class:"brand-note"},Ms={class:"brand-note-text"},Us={class:"info-card address-card"},Ws={class:"address-row"},Gs={class:"addr-name"},Hs={class:"addr-phone"},Qs={class:"addr-address"},Xs={key:0,class:"addr-note"},Ys={class:"info-card payment-card"},Zs={class:"payment-row"},xs={class:"pay-value"},se={class:"payment-row"},ee={class:"pay-value"},te={class:"payment-row"},ne={class:"payment-row total-row"},ae={class:"pay-value total-amount"},oe={class:"payment-row date-row"},re={class:"pay-value date-val"},de={class:"payment-row cancel-row"},le={class:"pay-value cancel-amount"},ie={class:"payment-row date-row"},ce={class:"pay-value date-val"},pe={class:"popup-overlay"},ue={class:"popup-box"},_e={class:"popup-header"},ye={class:"popup-msg"},he={class:"popup-actions"};function ge(d,e,i,y,B,L){var m,w,C;const E=G("TOP");return p(),c(O,null,[s("div",X,[M(E)]),s("section",Y,[s("div",Z,[e[23]||(e[23]=s("div",{class:"page-title"},[s("h1",null,"주문 상세")],-1)),s("div",x,[s("div",ss,[e[3]||(e[3]=s("span",{class:"label"},"주문번호",-1)),s("span",es,r(d.payments.payment_order_id),1)]),s("div",ts,[s("span",ns,r(d.payments.created_at),1)])]),e[24]||(e[24]=s("div",{class:"section-header"},[s("span",{class:"section-icon"},"📦"),s("h2",null,"상품 정보")],-1)),s("div",as,[(p(!0),c(O,null,T(y.groupedByBrand,(g,S)=>{var R,N;return p(),c("div",{key:S,class:"brand-group"},[s("div",os,[e[4]||(e[4]=s("span",{class:"brand-dot"},null,-1)),b(" "+r((N=(R=d.data.brands)==null?void 0:R[S])==null?void 0:N.shop_name),1)]),(p(!0),c(O,null,T(g,(t,A)=>{var q,n,o,a,l,u,h,k,I,D;return p(),c("div",{key:A,class:"product-card"},[s("div",rs,[s("img",{src:(q=t.product)==null?void 0:q.detail_image,alt:t.name},null,8,ds)]),s("div",ls,[s("div",is,r(t.name),1),(n=t.item_options)!=null&&n.length?(p(),c("div",cs,r((a=(o=t.item_options)==null?void 0:o.toString())==null?void 0:a.replace(",",", ")),1)):_("",!0),s("div",ps,[s("span",us,r((l=t.price)==null?void 0:l.toLocaleString("ko-Kr"))+"원",1),s("span",_s,r(t.quantity)+"개",1)]),(u=t.shipping)!=null&&u.delivery_company?(p(),c("div",{key:1,class:"delivery-info clickable",onClick:j=>y.trackShipment(t),title:"배송 추적"},[s("span",hs,r((h=t.shipping)==null?void 0:h.delivery_company),1),s("span",gs,r((k=t.shipping)==null?void 0:k.tracking_number),1),(I=t.shipping)!=null&&I.tracking_number?(p(),c("span",bs,"배송추적")):_("",!0)],8,ys)):_("",!0),s("div",vs,[s("span",{class:K(["status-badge",y.getStatusClass(t.status)])},r(t.status),3),t.rejectedCancel?(p(),c("span",fs,[e[6]||(e[6]=b(" 취소 거부 ")),s("span",ks,[e[5]||(e[5]=s("strong",null,"취소 거부 사유",-1)),s("span",js,r(y.rejectReasonLabel[t.rejectedCancel.reject_reason]||t.rejectedCancel.reject_reason),1),t.rejectedCancel.reject_note?(p(),c("span",ms,r(t.rejectedCancel.reject_note),1)):_("",!0)])])):_("",!0),t.rejectedExchange?(p(),c("span",ws,[e[8]||(e[8]=b(" 교환 거부 ")),s("span",Cs,[e[7]||(e[7]=s("strong",null,"교환 거부 사유",-1)),s("span",Ss,r(t.rejectedExchange.reject_reason),1),t.rejectedExchange.reject_note?(p(),c("span",Rs,r(t.rejectedExchange.reject_note),1)):_("",!0)])])):_("",!0),t.rejectedReturn?(p(),c("span",Ns,[e[10]||(e[10]=b(" 반품 거부 ")),s("span",qs,[e[9]||(e[9]=s("strong",null,"반품 거부 사유",-1)),s("span",Os,r(t.rejectedReturn.reject_reason),1),t.rejectedReturn.reject_note?(p(),c("span",Es,r(t.rejectedReturn.reject_note),1)):_("",!0)])])):_("",!0),t.canceledInfo?(p(),c("span",As,[e[11]||(e[11]=b(" 취소 사유 ")),s("span",Bs,[s("strong",null,r(t.canceledInfo.by)+" 취소 사유",1),s("span",Ls,r(t.canceledInfo.reason),1),t.canceledInfo.note?(p(),c("span",Is,r(t.canceledInfo.note),1)):_("",!0)])])):_("",!0),v(s("button",{type:"button",class:"action-btn cancel-btn",onClick:j=>y.cancelOrder(t.id)}," 주문취소 ",8,Ds),[[f,t.status=="결제완료"]]),v(s("button",{type:"button",class:"action-btn cancel-btn",onClick:j=>y.cancelOrder(t.id)}," 취소접수 ",8,Ts),[[f,t.status=="배송준비중"&&!t.rejectedCancel]]),v(s("button",{type:"button",class:"action-btn inquire-btn",onClick:j=>y.inquireOrder(t.id)}," 반품 문의 ",8,Ks),[[f,t.status=="배송완료"||t.status=="배송중"]]),v(s("button",{type:"button",class:"action-btn exchange-btn",onClick:j=>y.exchangeOrder(t.id)}," 옵션 교환 ",8,$s),[[f,(t.status=="배송완료"||t.status=="배송중")&&t.options&&!t.options.bundle]]),v(s("button",{type:"button",class:"action-btn cancel-btn",onClick:j=>y.withdrawExchange(t.id)}," 교환신청 철회 ",8,Vs),[[f,t.status=="교환신청"]])]),t.brandNote?(p(),c("div",Js,[s("span",Ps,r(t.brandNote.label),1),s("span",zs,r(t.brandNote.note),1)])):_("",!0),(D=t.inquire_items)!=null&&D.answer?(p(),c("div",Fs,[e[12]||(e[12]=s("span",{class:"brand-note-label"},"판매자 답변",-1)),s("span",Ms,r(t.inquire_items.answer),1)])):_("",!0)])])}),128))])}),128))]),e[25]||(e[25]=s("div",{class:"section-header"},[s("span",{class:"section-icon"},"📍"),s("h2",null,"배송지 정보")],-1)),s("div",Us,[s("div",Ws,[s("span",Gs,r(d.shipping.name),1),s("span",Hs,r(d.shipping.phone),1)]),s("div",Qs,r(d.shipping.address)+" "+r(d.shipping.detail),1),d.shipping.note?(p(),c("div",Xs,[e[13]||(e[13]=s("span",{class:"note-label"}
2,"배송 메모",-1)),b(" "+r(d.shipping.note),1)])):_("",!0)]),e[26]||(e[26]=s("div",{class:"section-header"},[s("span",{class:"section-icon"},"💳"),s("h2",null,"결제 정보")],-1)),s("div",Ys,[s("div",Zs,[e[14]||(e[14]=s("span",{class:"pay-label"},"총 주문 수량",-1)),s("span",xs,r(d.payments.total_quantity)+"개",1)]),s("div",se,[e[15]||(e[15]=s("span",{class:"pay-label"},"상품 금액",-1)),s("span",ee,r((m=d.data.total_order_price)==null?void 0:m.toLocaleString("ko-Kr"))+"원",1)]),s("div",te,[e[16]||(e[16]=s("span",{class:"pay-label"},"배송비",-1)),s("span",{class:K(["pay-value",{free:!Number(d.payments.delivery_fee)}])},r(Number(d.payments.delivery_fee)?Number(d.payments.delivery_fee).toLocaleString("ko-Kr")+"원":"무료"),3)]),e[22]||(e[22]=s("div",{class:"payment-divider"},null,-1)),s("div",ne,[e[17]||(e[17]=s("span",{class:"pay-label"},"총 결제 금액",-1)),s("span",ae,r((w=d.payments.total_amount)==null?void 0:w.toLocaleString("ko-Kr"))+"원",1)]),s("div",oe,[e[18]||(e[18]=s("span",{class:"pay-label"},"결제일",-1)),s("span",re,r(d.payments.created_at),1)]),d.payments.canceled_at?(p(),c(O,{key:0},[e[21]||(e[21]=s("div",{class:"payment-divider"},null,-1)),s("div",de,[e[19]||(e[19]=s("span",{class:"pay-label"},"취소 금액",-1)),s("span",le,"-"+r((C=d.payments.canceled_amount)==null?void 0:C.toLocaleString("ko-Kr"))+"원",1)]),s("div",ie,[e[20]||(e[20]=s("span",{class:"pay-label"},"취소일",-1)),s("span",ce,r(d.payments.canceled_at),1)])],64)):_("",!0)])]),v(s("div",pe,[
2s("div",ue,[s("div",_e,[e[27]||(e[27]=s("span",null,"알림",-1)),s("button",{type:"button",class:"popup-close",onClick:e[0]||(e[0]=g=>d.alert_display=!1)},"✕")]),s("div",ye,r(d.msg),1),s("div",he,[d.alert_confirm?(p(),c("button",{key:0,type:"button",class:"popup-btn cancel",onClick:e[1]||(e[1]=g=>d.alert_display=!1)}," 취소 ")):_("",!0),s("button",{type:"button",class:"popup-btn confirm",onClick:e[2]||(e[2]=(...g)=>y.snapDelete&&y.snapDelete(...g))}," 확인 ")])])],512),[[f,d.alert_display]])])],64)}const je=V(Q,[["render",ge],["__scopeId","data-v-2817a9f6"]]);export{je as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.