1import{z as L,b as V,u as q,e as p,h as R,i as n,j as s,p as i,l as c,k as r,t as a,F as T,y as E,m as w,w as D,n as P,o as d,B as M,a as v,D as S,s as U}from"./index-BHTMErf9.js";import{l as X,m as A}from"./user-CAmOVogg.js";import{C as G}from"./clipboard-list-Do1vRMhi.js";import{C as F}from"./credit-card-D7JwR7rW.js";import{C as H}from"./circle-check-big-D2FnvZ-L.js";import{C as J}from"./circle-x-kmSNzzTN.js";import{R as K}from"./receipt-Cc3gDJIb.js";import"./request-BDShSQSj.js";/** 2 * @license lucide-vue-next v0.562.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */const Q=L("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** 7 * @license lucide-vue-next v0.562.0 - ISC 8 * 9 * This source code is licensed under the ISC license. 10 * See the LICENSE file in the root directory of this source tree. 11 */const W=L("loader",[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]]),Y={class:"orders-page"},Z={class:"page-header"},x={class:"header-icon"},ss={key:0,class:"orders-container"},es={class:"order-header"},as={class:"order-info"},ts={class:"order-id"},os={class:"order-amount"},ds={class:"order-body"},ns={class:"order-item"},ls={class:"label"},is={class:"value"},rs={class:"order-item"},cs={class:"label"},us={class:"value"},_s={class:"order-item"},hs={class:"label"},ps={class:"value"},vs={class:"order-footer"},ms=["onClick"],bs=["onClick"],ys=["onClick"],fs={key:1,class:"loading-state"},ks={key:2,class:"empty-state"},$s={class:"modal-title"},gs={key:0,class:"details-content"},Cs={class:"status-icon"},zs={class:"status-text"},ws={key:0},Ds={key:1},Ms={class:"details-section"},Fs={class:"info-grid"},Ls={class:"info-item"},Bs={class:"label"},Is={class:"value"},Os={class:"info-item"},js={class:"label"},Ns={class:"value"},Vs={key:0,class:"info-item"},qs={class:"label"},Rs={class:"value"},Ts={class:"details-section"},Es={class:"info-grid"},Ps={class:"info-item"},Ss={class:"label"},Us={class:"value"},Xs={class:"info-item"},As={class:"label"},Gs={class:"value"},Hs={class:"details-section"},Js={class:"info-grid"},Ks={class:"info-item"},Qs={class:"label"},Ws={class:"value"},Ys={key:0,class:"info-item"},Zs={class:"label"},xs={class:"value discount"},se={class:"info-item total"},ee={class:"label"},ae={class:"value"},te={key:0,class:"details-actions"},oe={__name:"Orders",setup(de){const f=P(),{t:m}=q(),_=p([]),h=p(!0),u=p(!1),t=p(null);R(async()=>{try{const e=await X();e.data&&(_.value=e.data)}catch{}finally{h.value=!1}});const k=e=>{const y={0:"pending",1:"processing",2:"cancelled",3:"completed",4:"discounted"}[e]||"unknown";return m(`dashboard.orders.status.${y}`)},$=e=>({0:"pending",1:"processing",2:"cancelled",3:"completed",4:"discounted"})[e]||"",g=e=>m(`dashboard.plans.cycles.${e}`),b=e=>e?new Date(e*1e3).toLocaleString():"--",B=e=>{f.push({path:"/order",query:{trade_no:e.trade_no}})},I=()=>{t.value&&(u.value=!1,f.push({path:"/order",query:{trade_no:t.value.trade_no}}))},O=e=>{t.value=e,u.value=!0},j=async e=>{try{await A({trade_no:e.trade_no}),U.success(m("dashboard.orders.cancelledMessage")),_.value=_.value.filter(l=>l.trade_no!==e.trade_no),u.value&&(u.value=!1)}catch{}};return(e,l)=>{const y=w("a-spin"),N=w("a-modal");return d(),n("div",Y,[s("div",Z,[s("div",x,[c(r(G),{size:32})]),s("h1",null,a(e.$t("dashboard.orders.title")),1),s("p",null,a(e.$t("dashboard.orders.description")),1)]),h.value?i("",!0):(d(),n("div",ss,[(d(!0),n(T,null,E(_.value,o=>{var C;return d(),n("div",{key:o.trade_no,class:"order-card glass-card"},[s("div",es,[s("div",as,[s("span",ts,"#"+a(o.trade_no),1),s("span",{class:M(["order-status",$(o.status)])},a(k(o.status)),3)]),s("div",os,"Â¥"+a((o.total_amount/100).toFixed(2)),1)]),s("div",ds,[s("div",ns,[s("span",ls,a(e.$t("dashboard.orders.item.plan")),1
11),s("span",is,a((C=o.plan)==null?void 0:C.name),1)]),s("div",rs,[s("span",cs,a(e.$t("dashboard.orders.item.cycle")),1),s("span",us,a(g(o.period)),1)]),s("div",_s,[s("span",hs,a(e.$t("dashboard.orders.item.created")),1),s("span",ps,a(b(o.created_at)),1)])]),s("div",vs,[s("button",{class:"action-btn secondary",onClick:z=>O(o)},[c(r(Q),{size:16}),s("span",null,a(e.$t("dashboard.orders.viewDetails")),1)],8,ms),o.status===0?(d(),n("button",{key:0,class:"action-btn primary",onClick:z=>B(o)},[c(r(F),{size:16}),s("span",null,a(e.$t("dashboard.orders.pay")),1)],8,bs)):i("",!0),o.status===0?(d(),n("button",{key:1,class:"action-btn danger",onClick:z=>j(o)},a(e.$t("dashboard.orders.cancel")),9,ys)):i("",!0)])])}),128))])),h.value?(d(),n("div",fs,[c(y,{size:"large"})])):i("",!0),!h.value&&_.value.length===0?(d(),n("div",ks,[l[1]||(l[1]=s("div",{class:"empty-icon"},"ð",-1)),s("p",null,a(e.$t("dashboard.orders.noOrders")),1)])):i("",!0),c(N,{open:u.value,"onUpdate:open":l[0]||(l[0]=o=>u.value=o),footer:null,width:700,centered:"",class:"order-details-modal"},{title:D(()=>[s("div",$s,[c(r(K),{size:20}),s("span",null,a(e.$t("dashboard.orders.orderDetails")),1)])]),default:D(()=>{var o;return[t.value?(d(),n("div",gs,[s("div",{class:M(["status-banner",$(t.value.status)])},[s("div",Cs,[t.value.status===3?(d(),v(r(H),{key:0,size:24})):t.value.status===0?(d(),v(r(S),{key:1,size:24})):t.value.status===1?(d(),v(r(W),{key:2,size:24})):(d(),v(r(J),{key:3,size:24}))]),s("div",zs,[s("h3",null,a(k(t.value.status)),1),t.value.status===0?(d(),n("p",ws,a(e.$t("dashboard.orders.details.pendingTip")),1)):t.value.status===3?(d(),n("p",Ds,a(e.$t("dashboard.orders.details.completedTip")),1)):i("",!0)])],2),s("div",Ms,[s("h4",null,a(e.$t("dashboard.orders.details.orderInfo")),1),s("div",Fs,[s("div",Ls,[s("span",Bs,a(e.$t("dashboard.orders.orderNumber")),1),s("span",Is,"#"+a(t.value.trade_no),1)]),s("div",Os,[s("span",js,a(e.$t("dashboard.orders.item.created")),1),s("span",Ns,a(b(t.value.created_at)),1)]),t.value.updated_at?(d(),n("div",Vs,[s("span",qs,a(e.$t("dashboard.orders.details.updated")),1),s("span",Rs,a(b(t.value.updated_at)),1)])):i("",!0)])]),s("div",Ts,[s("h4",null,a(e.$t("dashboard.orders.details.planInfo")),1),s("div",Es,[s("div",Ps,[s("span",Ss,a(e.$t("dashboard.orders.item.plan")),1),s("span",Us,a((o=t.value.plan)==null?void 0:o.name),1)]),s("div",Xs,[s("span",As,a(e.$t("dashboard.orders.item.cycle")),1),s("span",Gs,a(g(t.value.period)),1)])])]),s("div",Hs,[s("h4",null,a(e.$t("dashboard.orders.details.paymentInfo")),1),s("div",Js,[s("div",Ks,[s("span",Qs,a(e.$t("dashboard.orders.details.subtotal")),1),s("span",Ws,"Â¥"+a((t.value.total_amount/100).toFixed(2)),1)]),t.value.discount_amount?(d(),n("div",Ys,[s("span",Zs,a(e.$t("dashboard.orders.details.discount")),1),s("span",xs,"-Â¥"+a((t.value.discount_amount/100).toFixed(2)),1)])):i("",!0),s("div",se,[s("span",ee,a(e.$t("dashboard.orders.details.total")),1),s("span",ae,"Â¥"+a((t.value.total_amount/100).toFixed(2)),1)])])]),t.value.status===0?(d(),n("div",te,[s("button",{class:"action-btn primary full-width",onClick:I},[c(r(F),{size:18}),s("span",null,a(e.$t("dashboard.orders.pay")),1)])])):i("",!0)])):i("",!0)]}),_:1},8,["open"])])}}},pe=V(oe,[["__scopeId","data-v-66f503b3"]]);export{pe 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.