e-scooter-store-web/dist/assets/Home-DyN88qmY.js

2 lines
4.1 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{o as h,v as y}from"./api-CXZzdW5u.js";import{_ as F,e as b,o as i,c as r,a as t,t as l,b as c,w as v,f as k,F as x,g as O,h as u,r as w,i as S,n as B}from"./index-DH2ZjwZR.js";const V={class:"home-page"},E={class:"home-header"},C={class:"header-left"},I={class:"store-name"},N={class:"quick-nav"},$={class:"section"},z={class:"stat-grid"},T={class:"stat-card"},A={class:"stat-num",style:{color:"#FF6B00"}},D={class:"stat-card"},H={class:"stat-num",style:{color:"#576BFF"}},M={class:"stat-card"},j={class:"stat-num",style:{color:"#FF6B35"}},q={class:"stat-card"},L={class:"stat-num",style:{color:"#333"}},G={class:"section"},J={class:"section-header"},K={class:"order-list"},P={key:0,class:"loading-tip"},Q={key:1,class:"empty-tip"},R={class:"order-left"},U={class:"order-customer"},W={class:"order-vehicle"},X={__name:"Home",setup(Y){const m=u({}),d=u([]),_=u(!0),n=u({totalOrders:0,rentingOrders:0,warningOrders:0,totalVehicles:0}),g=e=>({renting:"status-renting",returned:"status-ok",overdue:"status-warning"})[e]||"",p=e=>({renting:"在租",returned:"已还",overdue:"逾期",pending:"待处理"})[e]||e,f=e=>{if(!e)return"-";const s=new Date(e);return`${s.getMonth()+1}/${s.getDate()} ${s.getHours().toString().padStart(2,"0")}:${s.getMinutes().toString().padStart(2,"0")}`};return b(async()=>{const e=localStorage.getItem("storeId")||"demo-store";if(m.value={name:"示例门店"},e!=="demo-store")try{const a=await(await fetch(`/api/stores/${e}`)).json();a.name&&(m.value=a)}catch{}try{const s=await h.list({storeId:e,limit:5});d.value=s.data.data||s.data||[];const a=s.data.data||s.data||[];n.value.totalOrders=a.length,n.value.rentingOrders=a.filter(o=>o.status==="renting").length,n.value.warningOrders=a.filter(o=>o.status==="overdue").length}catch{d.value=[]}_.value=!1;try{const s=await y.list({storeId:e,limit:100}),a=s.data.data||s.data||[];n.value.totalVehicles=a.length}catch{}}),(e,s)=>{const a=w("router-link");return i(),r("div",V,[t("div",E,[t("div",C,[s[1]||(s[1]=t("div",{class:"store-avatar"},"🚲",-1)),t("div",null,[t("div",I,l(m.value.name||"加载中..."),1),s[0]||(s[0]=t("div",{class:"store-sub"},"门店端",-1))])]),s[2]||(s[2]=t("div",{class:"header-badge"},"营业中",-1))]),t("div",N,[c(a,{to:"/vehicle-types",class:"nav-card"},{default:v(()=>[...s[3]||(s[3]=[t("div",{class:"nav-icon-box",style:{background:"#E8F8EE"}},[t("span",{style:{"font-size":"20px"}},"🚗")],-1),t("div",{class:"nav-label"},"车型管理",-1)])]),_:1}),c(a,{to:"/vehicles",class:"nav-card"},{default:v(()=>[...s[4]||(s[4]=[t("div",{class:"nav-icon-box",style:{background:"#FFF4E0"}},[t("span",{style:{"font-size":"20px"}},"🏍️")],-1),t("div",{class:"nav-label"},"车辆管理",-1)])]),_:1}),c(a,{to:"/orders",class:"nav-card"},{default:v(()=>[...s[5]||(s[5]=[t("div",{class:"nav-icon-box",style:{background:"#E8F0FF"}},[t("span",{style:{"font-size":"20px"}},"📋")],-1),t("div",{class:"nav-label"},"订单管理",-1)])]),_:1})]),t("div",$,[s[10]||(s[10]=t("div",{class:"section-header"},[t("div",{class:"section-title"},"今日概览"),t("div",{class:"section-more"},"实时数据")],-1)),t("div",z,[t("div",T,[t("div",A,l(n.value.totalOrders),1),s[6]||(s[6]=t("div",{class:"stat-label"},"总订单",-1))]),t("div",D,[t("div",H,l(n.value.rentingOrders),1),s[7]||(s[7]=t("div",{class:"stat-label"},"在租订单",-1))]),t("div",M,[t("div",j,l(n.value.warningOrders),1),s[8]||(s[8]=t("div",{class:"stat-label"},"预警订单",-1))]),t("div",q,[t("div",L,l(n.value.totalVehicles),1),s[9]||(s[9]=t("div",{class:"stat-label"},"车辆总数",-1))])])]),t("div",G,[t("div",J,[s[12]||(s[12]=t("div",{class:"section-title"},"最近订单",-1)),c(a,{to:"/orders",class:"section-more",style:{color:"#FF6B00"}},{default:v(()=>[...s[11]||(s[11]=[S("查看全部 ",-1)])]),_:1})]),t("div",K,[_.value?(i(),r("div",P,"加载中...")):d.value.length===0?(i(),r("div",Q,"暂无订单")):k("",!0),(i(!0),r(x,null,O(d.value,o=>(i(),r("div",{key:o._id,class:"order-item"},[t("div",R,[t("div",U,l(o.customerName||"客户"),1),t("div",W,l(o.vehicleType||"车型")+" · "+l(f(o.createdAt)),1)]),t("div",{class:B(["order-status",g(o.status)])},l(p(o.status)),3)]))),128))])])])}}},ts=F(X,[["__scopeId","data-v-cf2eec66"]]);export{ts as default};