2 lines
7.0 KiB
JavaScript
2 lines
7.0 KiB
JavaScript
import{r as i,c as le,h as ne,y as u,A as t,Q as a,I as n,al as m,O as c,P,a6 as N,J as oe,K as D,ar as ie,aA as de,z as d,M as g,u as r,D as b,H,L as re}from"./vendor-C3mpOp0n.js";import{_ as ue,u as ce,a as A}from"./index-BlP3rxMf.js";import{a as B,z as E,d as ve,A as _e,B as pe,C as me,D as T,F,G as O,H as fe,I as he,J as ge,k as ye,K as ke,y as U}from"./elementPlus-DFx51bSH.js";const Ce={class:"points-history-page"},xe={class:"navbar"},De={class:"nav-right"},be={class:"points-overview"},we={class:"overview-card"},Ie={class:"current-points"},Me={class:"points-icon"},Ve={class:"points-info"},ze={class:"points-value"},Se={class:"points-stats"},$e={class:"stat-item"},Pe={class:"stat-value"},Ne={class:"stat-item"},He={class:"stat-value"},Ae={class:"filter-section"},Be={class:"filter-tabs"},Ee=["onClick"],Te={class:"date-filter"},Fe={class:"history-content"},Oe={class:"history-list"},Ue={key:0,class:"empty-state"},Re={key:1},Je={class:"item-icon"},Ke={class:"item-content"},Ge={class:"item-header"},Le={class:"item-title"},Qe={class:"item-details"},je={class:"item-description"},qe={class:"item-meta"},We={class:"item-date"},Xe={key:0,class:"item-order"},Ye={class:"item-action"},Ze={key:0,class:"load-more"},et={class:"points-rules"},tt={class:"rules-content"},st={class:"rule-item"},at={class:"rule-item"},lt={class:"rule-item"},nt={class:"rule-item"},ot={class:"rule-item"},it={class:"rules-content"},dt={class:"rule-item"},rt={class:"rule-item"},ut={class:"rule-item"},ct={__name:"PointsHistory",setup(vt){const R=de();ce();const y=i(!1),k=i(!1),p=i("all"),v=i([]),f=i([]),C=i(1),w=i(!0),I=i(0),M=i(0),V=i(0),z=i([]),J=i([{label:"全部",value:"all"},{label:"获得",value:"earn"},{label:"消费",value:"spend"},{label:"任务",value:"task"},{label:"兑换",value:"exchange"}]),S=le(()=>{let s=f.value||[];if(p.value!=="all"&&(s=s.filter(e=>e.type===p.value)),v.value&&v.value.length===2){const[e,o]=v.value;s=s.filter(_=>{const h=new Date(_.createdAt);return h>=e&&h<=o})}return s}),K=s=>{p.value=s},G=()=>{x()},L=()=>({all:"暂无积分记录",earn:"暂无获得记录",spend:"暂无消费记录",task:"暂无任务记录",exchange:"暂无兑换记录"})[p.value],Q=s=>({earn:U,spend:ke,task:O,exchange:ye,gift:ge,review:F,share:T})[s]||U,j=s=>({earn:"icon-earn",spend:"icon-spend",task:"icon-task",exchange:"icon-exchange",gift:"icon-present",review:"icon-review",share:"icon-share"})[s]||"icon-default",q=s=>s==="spend"||s==="exchange"?"points-negative":"points-positive",W=(s,e)=>s==="spend"||s==="exchange"?`-${e}`:`+${e}`,X=s=>new Date(s).toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}),Y=s=>{R.push(`/orders?orderId=${s}`)},Z=async()=>{try{const s=await A.get("/user/points");I.value=s.data.currentPoints,M.value=s.data.totalEarned,V.value=s.data.totalSpent}catch{B.error("获取积分信息失败")}},x=async(s=!1)=>{try{s?k.value=!0:(y.value=!0,C.value=1);const e={page:C.value,limit:20};v.value&&v.value.length===2&&(e.startDate=v.value[0].toISOString(),e.endDate=v.value[1].toISOString());const o=await A.get("/user/points/history",{params:e}),_=o.data.history||[];s?f.value.push(..._):f.value=_,w.value=o.data.hasMore||!1,C.value++}catch(e){console.error("获取积分记录失败:",e),B.error("获取积分记录失败"),s||(f.value=[])}finally{y.value=!1,k.value=!1}},ee=()=>{x(!0)};return ne(()=>{Z(),x()}),(s,e)=>{const o=m("el-icon"),_=m("el-button"),h=m("el-date-picker"),$=m("el-collapse-item"),te=m("el-collapse"),se=ie("loading");return d(),u("div",Ce,[t("nav",xe,[e[5]||(e[5]=t("div",{class:"nav-center"},[t("h1",{class:"nav-title"},"积分记录")],-1)),t("div",De,[a(_,{type:"text",onClick:e[0]||(e[0]=l=>s.$router.push("/shop")),class:"shop-btn"},{default:n(()=>[a(o,null,{default:n(()=>[a(r(E))]),_:1}),e[4]||(e[4]=g(" 商城 "))]),_:1,__:[4]})])]),t("div",be,[t("div",we,[t("div",Ie,[t("div",Me,[a(o,{size:"24"},{default:n(()=>[a(r(ve))]),_:1})]),t("div",Ve,[t("div",ze,c(I.value),1),e[6]||(e[6]=t("div",{class:"points-label"},"当前积分",-1))])]),t("div",Se,[t("div",$e,[t("div",Pe,c(M.value),1),e[7]||(e[7]=t("div",{class:"stat-label"},"累计获得",-1))]),t("div",Ne,[t("div",He,c(V.value),1),e[8]||(e[8]=t("div",{class:"stat-label"},"累计消费",-1))])])])]),t("div",Ae,[t("div",Be,[(d(!0),u(P,null,N(J.value,l=>(d(),u("div",{key:l.value,class:b(["tab-item",{active:p.value===l.value}]),onClick:ae=>K(l.value)},c(l.label),11,Ee))),128))]),t("div",Te,[a(h,{modelValue:v.value,"onUpdate:modelValue":e[1]||(e[1]=l=>v.value=l),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",size:"small",onChange:G},null,8,["modelValue"])])]),t("div",Fe,[oe((d(),u("div",Oe,[S.value.length===0?(d(),u("div",Ue,[a(o,{size:"60"},{default:n(()=>[a(r(_e))]),_:1}),t("p",null,c(L()),1),a(_,{type:"primary",onClick:e[2]||(e[2]=l=>s.$router.push("/shop"))},{default:n(()=>e[9]||(e[9]=[g(" 去赚积分 ")])),_:1,__:[9]})])):(d(),u("div",Re,[(d(!0),u(P,null,N(S.value,l=>(d(),u("div",{key:l.id,class:"history-item"},[t("div",Je,[a(o,{size:20,class:b(j(l.type))},{default:n(()=>[(d(),H(re(Q(l.type))))]),_:2},1032,["class"])]),t("div",Ke,[t("div",Ge,[t("h4",Le,c(l.title),1),t("div",{class:b(["item-points",q(l.type)])},c(W(l.type,l.points)),3)]),t("div",Qe,[t("p",je,c(l.description),1),t("div",qe,[t("span",We,c(X(l.createdAt)),1),l.orderId?(d(),u("span",Xe," 订单号:"+c(l.orderId),1)):D("",!0)])])]),t("div",Ye,[l.orderId?(d(),H(_,{key:0,type:"text",size:"small",onClick:ae=>Y(l.orderId)},{default:n(()=>e[10]||(e[10]=[g(" 查看订单 ")])),_:2,__:[10]},1032,["onClick"])):D("",!0)])]))),128))]))])),[[se,y.value]]),w.value?(d(),u("div",Ze,[a(_,{onClick:ee,loading:k.value},{default:n(()=>e[11]||(e[11]=[g(" 加载更多 ")])),_:1,__:[11]},8,["loading"])])):D("",!0)]),t("div",et,[a(te,{modelValue:z.value,"onUpdate:modelValue":e[3]||(e[3]=l=>z.value=l)},{default:n(()=>[a($,{title:"积分获取规则",name:"earn"},{default:n(()=>[t("div",tt,[t("div",st,[a(o,null,{default:n(()=>[a(r(pe))]),_:1}),e[12]||(e[12]=t("span",null,"注册账户:+100积分",-1))]),t("div",at,[a(o,null,{default:n(()=>[a(r(me))]),_:1}),e[13]||(e[13]=t("span",null,"每日签到:+10积分",-1))]),t("div",lt,[a(o,null,{default:n(()=>[a(r(T))]),_:1}),e[14]||(e[14]=t("span",null,"分享商品:+5积分",-1))]),t("div",nt,[a(o,null,{default:n(()=>[a(r(F))]),_:1}),e[15]||(e[15]=t("span",null,"商品评价:+20积分",-1))]),t("div",ot,[a(o,null,{default:n(()=>[a(r(O))]),_:1}),e[16]||(e[16]=t("span",null,"完成任务:+50积分",-1))])])]),_:1}),a($,{title:"积分使用规则",name:"spend"},{default:n(()=>[t("div",it,[t("div",dt,[a(o,null,{default:n(()=>[a(r(E))]),_:1}),e[17]||(e[17]=t("span",null,"商品兑换:按商品标价扣除",-1))]),t("div",rt,[a(o,null,{default:n(()=>[a(r(fe))]),_:1}),e[18]||(e[18]=t("span",null,"积分有效期:永久有效",-1))]),t("div",ut,[a(o,null,{default:n(()=>[a(r(he))]),_:1}),e[19]||(e[19]=t("span",null,"积分不可转让,不可提现",-1))])])]),_:1})]),_:1},8,["modelValue"])])])}}},ft=ue(ct,[["__scopeId","data-v-7135f2f7"]]);export{ft as default};
|