import{r as p,c as de,h as ue,y as u,A as t,Q as a,I as n,al as f,P as C,a6 as x,J as re,K as y,ar as ce,O as o,aA as pe,z as i,M as r,u as g,D as ve,H as D}from"./vendor-C3mpOp0n.js";import{_ as _e,u as me,a as V}from"./index-BlP3rxMf.js";import{a as h,z as fe,j as ge,d as $,y as he,l as L}from"./elementPlus-DFx51bSH.js";const ye={class:"orders-page"},we={class:"navbar"},ke={class:"nav-right"},be={class:"filter-tabs"},Ce={class:"tabs-container"},xe=["onClick"],Ve={class:"orders-content"},$e={class:"orders-list"},De={key:0,class:"empty-state"},Me={key:1},Te={class:"order-header"},ze={class:"order-info"},Be={class:"order-number"},Ne={class:"order-date"},Oe={class:"order-status"},Se={class:"order-items"},Ue=["onClick"],Ie=["src","alt"],Re={class:"item-info"},Ee={class:"item-name"},Ae={class:"item-desc"},Pe={class:"item-price"},qe={class:"price"},Le={class:"quantity"},Qe={class:"order-total"},je={class:"total-info"},Fe={class:"total-points"},He={class:"order-actions"},Je={key:0,class:"load-more"},Ke={key:0,class:"review-form"},Ge={class:"review-product"},We=["src","alt"],Xe={class:"product-info"},Ye={class:"review-rating"},Ze={class:"review-content"},et={class:"review-images"},tt={class:"dialog-footer"},st={key:0,class:"order-detail"},lt={class:"detail-section"},at={class:"detail-item"},ot={class:"value"},nt={class:"detail-item"},it={class:"value"},dt={class:"detail-item"},ut={class:"value"},rt={class:"detail-section"},ct=["src","alt"],pt={class:"product-info"},vt={class:"product-price"},_t={class:"detail-section"},mt={class:"detail-item"},ft={class:"value"},gt={class:"detail-item"},ht={class:"value"},yt={class:"detail-section"},wt={class:"detail-item"},kt={class:"value"},bt={class:"detail-item total"},Ct={class:"value"},xt={__name:"Orders",setup(Vt){const Q=pe();me();const M=p(!1),T=p(!1),b=p("all"),m=p([]),z=p(1),S=p(!0),w=p(!1),B=p(!1),k=p(null),v=p(null),N=p(!1),U=p([{label:"全部",value:"all",count:0},{label:"待发货",value:"pending",count:0},{label:"已发货",value:"shipped",count:0},{label:"已完成",value:"completed",count:0},{label:"已取消",value:"cancelled",count:0}]),I=de(()=>b.value==="all"?m.value:m.value.filter(l=>l.status===b.value)),j=l=>{b.value=l},F=()=>({all:"暂无订单",pending:"暂无待发货订单",shipped:"暂无已发货订单",completed:"暂无已完成订单",cancelled:"暂无已取消订单"})[b.value],R=l=>({pending:"warning",shipped:"primary",completed:"success",cancelled:"danger"})[l]||"info",E=l=>({pending:"待发货",shipped:"已发货",completed:"已完成",cancelled:"已取消"})[l]||"未知状态",H=l=>new Date(l).toLocaleDateString("zh-CN"),J=l=>new Date(l).toLocaleString("zh-CN"),K=(l,e)=>l.length<=e?l:l.substring(0,e)+"...",G=l=>{Q.push(`/product/${l}`)},W=async l=>{try{await L.confirm("确定要取消这个订单吗?","确认取消",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),await V.put(`/orders/${l}/cancel`);const e=m.value.find(c=>c.id===l);e&&(e.status="cancelled"),O(),h.success("订单已取消")}catch(e){e!=="cancel"&&h.error("取消订单失败")}},X=async l=>{try{await L.confirm("确认已收到商品吗?","确认收货",{confirmButtonText:"确定",cancelButtonText:"取消",type:"info"}),await V.put(`/orders/${l}/receive`);const e=m.value.find(c=>c.id===l);e&&(e.status="completed"),O(),h.success("确认收货成功")}catch(e){e!=="cancel"&&h.error("确认收货失败")}},Y=l=>{k.value={...l,items:l.items.map(e=>({...e,rating:5,reviewContent:"",reviewImages:[]}))},w.value=!0},Z=()=>{k.value=null,w.value=!1},ee=async()=>{try{N.value=!0;const l={orderId:k.value.id,reviews:k.value.items.map(e=>({productId:e.productId,rating:e.rating,content:e.reviewContent,images:e.reviewImages.map(c=>c.url)}))};await V.post("/reviews",l),w.value=!1,h.success("评价提交成功")}catch{h.error("评价提交失败")}finally{N.value=!1}},te=async l=>{try{const e=await V.get(`/orders/${l}`);v.value=e.data,B.value=!0}catch{h.error("获取订单详情失败")}},A=async(l=!1)=>{try{l?T.value=!0:(M.value=!0,z.value=1);const e=await V.get("/orders",{params:{page:z.value,limit:10}});l?m.value.push(...e.data.orders):m.value=e.data.orders,S.value=e.data.hasMore,z.value++,O()}catch{h.error("获取订单列表失败")}finally{M.value=!1,T.value=!1}},se=()=>{A(!0)},O=()=>{const l={all:m.value.length,pending:0,shipped:0,completed:0,cancelled:0};m.value.forEach(e=>{l[e.status]++}),U.value.forEach(e=>{e.count=l[e.value]})};return ue(()=>{A()}),(l,e)=>{const c=f("el-icon"),_=f("el-button"),le=f("el-badge"),P=f("el-tag"),ae=f("el-rate"),oe=f("el-input"),ne=f("el-upload"),q=f("el-dialog"),ie=ce("loading");return i(),u("div",ye,[t("nav",we,[e[6]||(e[6]=t("div",{class:"nav-center"},[t("h1",{class:"nav-title"},"我的订单")],-1)),t("div",ke,[a(_,{type:"text",onClick:e[0]||(e[0]=s=>l.$router.push("/shop")),class:"shop-btn"},{default:n(()=>[a(c,null,{default:n(()=>[a(g(fe))]),_:1}),e[5]||(e[5]=r(" 商城 "))]),_:1,__:[5]})])]),t("div",be,[t("div",Ce,[(i(!0),u(C,null,x(U.value,s=>(i(),u("div",{key:s.value,class:ve(["tab-item",{active:b.value===s.value}]),onClick:d=>j(s.value)},[t("span",null,o(s.label),1),s.count>0?(i(),D(le,{key:0,value:s.count,class:"tab-badge"},null,8,["value"])):y("",!0)],10,xe))),128))])]),t("div",Ve,[re((i(),u("div",$e,[I.value.length===0?(i(),u("div",De,[a(c,{size:"60"},{default:n(()=>[a(g(ge))]),_:1}),t("p",null,o(F()),1),a(_,{type:"primary",onClick:e[1]||(e[1]=s=>l.$router.push("/shop"))},{default:n(()=>e[7]||(e[7]=[r(" 去购物 ")])),_:1,__:[7]})])):(i(),u("div",Me,[(i(!0),u(C,null,x(I.value,s=>(i(),u("div",{key:s.id,class:"order-card"},[t("div",Te,[t("div",ze,[t("span",Be,"订单号:"+o(s.orderNumber),1),t("span",Ne,o(H(s.createdAt)),1)]),t("div",Oe,[a(P,{type:R(s.status)},{default:n(()=>[r(o(E(s.status)),1)]),_:2},1032,["type"])])]),t("div",Se,[(i(!0),u(C,null,x(s.items,d=>(i(),u("div",{key:d.id,class:"order-item",onClick:$t=>G(d.productId)},[t("img",{src:d.product.image,alt:d.product.name,class:"item-image"},null,8,Ie),t("div",Re,[t("h4",Ee,o(d.product.name),1),t("p",Ae,o(K(d.product.description,40)),1),t("div",Pe,[t("span",qe,[a(c,null,{default:n(()=>[a(g($))]),_:1}),r(" "+o(d.points),1)]),t("span",Le,"x"+o(d.quantity),1)])])],8,Ue))),128))]),t("div",Qe,[t("div",je,[t("span",null,"共"+o(s.totalQuantity)+"件商品",1),t("span",Fe,[e[8]||(e[8]=r(" 总计:")),a(c,null,{default:n(()=>[a(g($))]),_:1}),r(o(s.totalPoints),1)])])]),t("div",He,[s.status==="pending"?(i(),D(_,{key:0,size:"small",onClick:d=>W(s.id)},{default:n(()=>e[9]||(e[9]=[r(" 取消订单 ")])),_:2,__:[9]},1032,["onClick"])):y("",!0),s.status==="shipped"?(i(),D(_,{key:1,type:"primary",size:"small",onClick:d=>X(s.id)},{default:n(()=>e[10]||(e[10]=[r(" 确认收货 ")])),_:2,__:[10]},1032,["onClick"])):y("",!0),s.status==="completed"?(i(),D(_,{key:2,size:"small",onClick:d=>Y(s)},{default:n(()=>e[11]||(e[11]=[r(" 评价 ")])),_:2,__:[11]},1032,["onClick"])):y("",!0),a(_,{size:"small",onClick:d=>te(s.id)},{default:n(()=>e[12]||(e[12]=[r(" 查看详情 ")])),_:2,__:[12]},1032,["onClick"])])]))),128))]))])),[[ie,M.value]]),S.value?(i(),u("div",Je,[a(_,{onClick:se,loading:T.value},{default:n(()=>e[13]||(e[13]=[r(" 加载更多 ")])),_:1,__:[13]},8,["loading"])])):y("",!0)]),a(q,{modelValue:w.value,"onUpdate:modelValue":e[3]||(e[3]=s=>w.value=s),title:"商品评价",width:"90%","before-close":Z},{footer:n(()=>[t("span",tt,[a(_,{onClick:e[2]||(e[2]=s=>w.value=!1)},{default:n(()=>e[15]||(e[15]=[r("取消")])),_:1,__:[15]}),a(_,{type:"primary",onClick:ee,loading:N.value},{default:n(()=>e[16]||(e[16]=[r(" 提交评价 ")])),_:1,__:[16]},8,["loading"])])]),default:n(()=>[k.value?(i(),u("div",Ke,[(i(!0),u(C,null,x(k.value.items,s=>(i(),u("div",{key:s.id,class:"review-item"},[t("div",Ge,[t("img",{src:s.product.image,alt:s.product.name,class:"product-image"},null,8,We),t("div",Xe,[t("h4",null,o(s.product.name),1),t("p",null,o(s.product.description),1)])]),t("div",Ye,[e[14]||(e[14]=t("span",{class:"rating-label"},"评分:",-1)),a(ae,{modelValue:s.rating,"onUpdate:modelValue":d=>s.rating=d,size:"large"},null,8,["modelValue","onUpdate:modelValue"])]),t("div",Ze,[a(oe,{modelValue:s.reviewContent,"onUpdate:modelValue":d=>s.reviewContent=d,type:"textarea",rows:3,placeholder:"请分享您的使用体验...",maxlength:"200","show-word-limit":""},null,8,["modelValue","onUpdate:modelValue"])]),t("div",et,[a(ne,{"file-list":s.reviewImages,"onUpdate:fileList":d=>s.reviewImages=d,action:"#","list-type":"picture-card","auto-upload":!1,limit:3},{default:n(()=>[a(c,null,{default:n(()=>[a(g(he))]),_:1})]),_:2},1032,["file-list","onUpdate:fileList"])])]))),128))])):y("",!0)]),_:1},8,["modelValue"]),a(q,{modelValue:B.value,"onUpdate:modelValue":e[4]||(e[4]=s=>B.value=s),title:"订单详情",width:"90%"},{default:n(()=>[v.value?(i(),u("div",st,[t("div",lt,[e[20]||(e[20]=t("h4",null,"订单信息",-1)),t("div",at,[e[17]||(e[17]=t("span",{class:"label"},"订单号:",-1)),t("span",ot,o(v.value.orderNumber),1)]),t("div",nt,[e[18]||(e[18]=t("span",{class:"label"},"下单时间:",-1)),t("span",it,o(J(v.value.createdAt)),1)]),t("div",dt,[e[19]||(e[19]=t("span",{class:"label"},"订单状态:",-1)),t("span",ut,[a(P,{type:R(v.value.status)},{default:n(()=>[r(o(E(v.value.status)),1)]),_:1},8,["type"])])])]),t("div",rt,[e[21]||(e[21]=t("h4",null,"商品信息",-1)),(i(!0),u(C,null,x(v.value.items,s=>(i(),u("div",{key:s.id,class:"detail-product"},[t("img",{src:s.product.image,alt:s.product.name},null,8,ct),t("div",pt,[t("h5",null,o(s.product.name),1),t("p",null,o(s.product.description),1),t("div",vt,[t("span",null,[a(c,null,{default:n(()=>[a(g($))]),_:1}),r(o(s.points)+" x "+o(s.quantity),1)])])])]))),128))]),t("div",_t,[e[24]||(e[24]=t("h4",null,"配送信息",-1)),t("div",mt,[e[22]||(e[22]=t("span",{class:"label"},"收货地址:",-1)),t("span",ft,o(v.value.shippingAddress||"虚拟商品,无需配送"),1)]),t("div",gt,[e[23]||(e[23]=t("span",{class:"label"},"物流信息:",-1)),t("span",ht,o(v.value.trackingNumber||"暂无"),1)])]),t("div",yt,[e[27]||(e[27]=t("h4",null,"费用明细",-1)),t("div",wt,[e[25]||(e[25]=t("span",{class:"label"},"商品总计:",-1)),t("span",kt,[a(c,null,{default:n(()=>[a(g($))]),_:1}),r(o(v.value.totalPoints),1)])]),t("div",bt,[e[26]||(e[26]=t("span",{class:"label"},"实付积分:",-1)),t("span",Ct,[a(c,null,{default:n(()=>[a(g($))]),_:1}),r(o(v.value.totalPoints),1)])])])])):y("",!0)]),_:1},8,["modelValue"])])}}},zt=_e(xt,[["__scopeId","data-v-f7a3f524"]]);export{zt as default};