Files
qhmes/web-dist/js/ProductionDataPanel-C6knz89W.js
2026-06-16 18:19:57 +08:00

2 lines
4.9 KiB
Java

import{S as h}from"./index-DO8NPWOz.js";import{e as x,C as c,Q as t,U as q,G as a,T as v,c as n,F as w,D as P,f as k,A as C,z as u}from"./vue-vendor-DNhG1Cve.js";import{au as L}from"./index-X7Y8jykP.js";import"./Skeleton-CimgOdM7.js";import"./emoji-mart-vue-fast-R0uJEDq-.js";const S={class:"production-data-panel"},$={class:"main-metrics"},F={class:"metric-card total-production"},z={class:"metric-info"},B={class:"metric-value"},G={class:"metric-card efficiency"},j={class:"metric-info"},N={class:"metric-value"},V={class:"metric-card device-count"},M={class:"metric-info"},A={class:"metric-value"},E={class:"status-distribution"},I={class:"status-bars"},O={class:"status-bar running"},Q={class:"bar-container"},T={class:"bar-value"},U={class:"status-bar warning"},Z={class:"bar-container"},H={class:"bar-value"},J={class:"status-bar stopped"},K={class:"bar-container"},R={class:"bar-value"},W={class:"production-trend"},X={class:"trend-chart"},Y={class:"chart-container"},tt={class:"trend-svg",viewBox:"0 0 280 100"},st=["d"],it=["d"],at={class:"trend-labels"},ot={class:"realtime-production"},dt={class:"production-counter"},nt=x({__name:"ProductionDataPanel",props:{productionData:{type:Object,required:!0}},setup(i){const o=i,b=n(()=>(o.productionData.runningDevices/o.productionData.deviceCount*100).toFixed(1)),m=n(()=>(o.productionData.warningDevices/o.productionData.deviceCount*100).toFixed(1)),f=n(()=>(o.productionData.stoppedDevices/o.productionData.deviceCount*100).toFixed(1)),d=[45,52,48,65,58,72,68,80,75,85],y=["08:00","10:00","12:00","14:00","16:00","18:00","20:00","22:00","00:00","02:00"],_=n(()=>d[d.length-1]),D=n(()=>`M ${d.map((s,e)=>{const l=e/(d.length-1)*280,r=100-s/100*80;return`${l},${r}`}).join(" L ")} L 280,100 L 0,100 Z`),g=n(()=>`M ${d.map((s,e)=>{const l=e/(d.length-1)*280,r=100-s/100*80;return`${l},${r}`}).join(" L ")}`);return(p,s)=>{const e=h;return u(),c("div",S,[s[17]||(s[17]=t("div",{class:"panel-header"},[t("h3",null,"生产数据统计")],-1)),t("div",$,[t("div",F,[s[2]||(s[2]=t("div",{class:"metric-icon"},"📊",-1)),t("div",z,[s[0]||(s[0]=t("div",{class:"metric-label"},"总产量",-1)),t("div",B,a(i.productionData.totalProduction),1),s[1]||(s[1]=t("div",{class:"metric-unit"},"",-1))])]),t("div",G,[s[5]||(s[5]=t("div",{class:"metric-icon"},"",-1)),t("div",j,[s[3]||(s[3]=t("div",{class:"metric-label"},"综合效率",-1)),t("div",N,a(i.productionData.efficiency),1),s[4]||(s[4]=t("div",{class:"metric-unit"},"%",-1))])]),t("div",V,[s[8]||(s[8]=t("div",{class:"metric-icon"},"🏭",-1)),t("div",M,[s[6]||(s[6]=t("div",{class:"metric-label"},"设备总数",-1)),t("div",A,a(i.productionData.deviceCount),1),s[7]||(s[7]=t("div",{class:"metric-unit"},"",-1))])])]),t("div",E,[s[12]||(s[12]=t("h4",null,"设备状态分布",-1)),t("div",I,[t("div",O,[s[9]||(s[9]=t("div",{class:"bar-label"},"运行中",-1)),t("div",Q,[t("div",{class:"bar-fill",style:v({width:b.value+"%"})},null,4)]),t("div",T,a(i.productionData.runningDevices),1)]),t("div",U,[s[10]||(s[10]=t("div",{class:"bar-label"},"警告",-1)),t("div",Z,[t("div",{class:"bar-fill",style:v({width:m.value+"%"})},null,4)]),t("div",H,a(i.productionData.warningDevices),1)]),t("div",J,[s[11]||(s[11]=t("div",{class:"bar-label"},"停止",-1)),t("div",K,[t("div",{class:"bar-fill",style:v({width:f.value+"%"})},null,4)]),t("div",R,a(i.productionData.stoppedDevices),1)])])]),t("div",W,[s[14]||(s[14]=t("h4",null,"生产趋势",-1)),t("div",X,[t("div",Y,[(u(),c("svg",tt,[s[13]||(s[13]=t("defs",null,[t("linearGradient",{id:"trendGradient",x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[t("stop",{offset:"0%",style:{"stop-color":"#00d4ff","stop-opacity":"0.3"}}),t("stop",{offset:"100%",style:{"stop-color":"#00d4ff","stop-opacity":"0"}})])],-1)),t("path",{d:D.value,fill:"url(#trendGradient)",stroke:"#00d4ff","stroke-width":"2","fill-opacity":"0.3"},null,8,st),t("path",{d:g.value,fill:"none",stroke:"#00d4ff","stroke-width":"2"},null,8,it)]))]),t("div",at,[(u(),c(w,null,P(y,(l,r)=>t("span",{key:r},a(l),1)),64))])])]),t("div",ot,[s[16]||(s[16]=t("h4",null,"实时产量",-1)),t("div",dt,[k(e,{value:_.value,precision:0,"value-style":{color:"#00d4ff",fontSize:"28px"}},{suffix:C(()=>[...s[15]||(s[15]=[t("span",{style:{color:"#7ec8e3","font-size":"14px"}},"/小时",-1)])]),_:1},8,["value"])])]),s[18]||(s[18]=q('<div class="quality-metrics" data-v-5d573b79><h4 data-v-5d573b79>质量指标</h4><div class="quality-grid" data-v-5d573b79><div class="quality-item" data-v-5d573b79><div class="quality-label" data-v-5d573b79>合格率</div><div class="quality-value" data-v-5d573b79>98.5%</div></div><div class="quality-item" data-v-5d573b79><div class="quality-label" data-v-5d573b79>不良率</div><div class="quality-value bad" data-v-5d573b79>1.5%</div></div><div class="quality-item" data-v-5d573b79><div class="quality-label" data-v-5d573b79>返工率</div><div class="quality-value warning" data-v-5d573b79>2.3%</div></div></div></div>',1))])}}}),ut=L(nt,[["__scopeId","data-v-5d573b79"]]);export{ut as default};