Files
qhmes/deploy-qhmes/frontend/js/ProductionDataPanel-BaebLdjT.js
2026-05-15 11:34:12 +08:00

2 lines
4.9 KiB
Java

import{d as h,ah as x,ar as c,as as v,au as t,aT as q,av as a,aB as u,e as n,F as w,aD as P,k,aF as C}from"./vue-vendor-C7Zq48Yl.js";import{d as L}from"./index-BI6CMai0.js";import"./antd-vue-vendor-BPnV8VqP.js";import"./vxe-table-vendor-B88kchpX.js";const F={class:"production-data-panel"},$={class:"main-metrics"},B={class:"metric-card total-production"},S={class:"metric-info"},j={class:"metric-value"},z={class:"metric-card efficiency"},G={class:"metric-info"},N={class:"metric-value"},V={class:"metric-card device-count"},M={class:"metric-info"},E={class:"metric-value"},I={class:"status-distribution"},O={class:"status-bars"},T={class:"status-bar running"},Z={class:"bar-container"},A={class:"bar-value"},H={class:"status-bar warning"},J={class:"bar-container"},K={class:"bar-value"},Q={class:"status-bar stopped"},R={class:"bar-container"},U={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"},et={class:"production-counter"},nt=h({__name:"ProductionDataPanel",props:{productionData:{type:Object,required:!0}},setup(i){const o=i,m=n(()=>(o.productionData.runningDevices/o.productionData.deviceCount*100).toFixed(1)),f=n(()=>(o.productionData.warningDevices/o.productionData.deviceCount*100).toFixed(1)),y=n(()=>(o.productionData.stoppedDevices/o.productionData.deviceCount*100).toFixed(1)),e=[45,52,48,65,58,72,68,80,75,85],b=["08:00","10:00","12:00","14:00","16:00","18:00","20:00","22:00","00:00","02:00"],_=n(()=>e[e.length-1]),D=n(()=>`M ${e.map((s,d)=>{const l=d/(e.length-1)*280,r=100-s/100*80;return`${l},${r}`}).join(" L ")} L 280,100 L 0,100 Z`),g=n(()=>`M ${e.map((s,d)=>{const l=d/(e.length-1)*280,r=100-s/100*80;return`${l},${r}`}).join(" L ")}`);return(p,s)=>{const d=x("a-statistic");return v(),c("div",F,[s[17]||(s[17]=t("div",{class:"panel-header"},[t("h3",null,"生产数据统计")],-1)),t("div",$,[t("div",B,[s[2]||(s[2]=t("div",{class:"metric-icon"},"📊",-1)),t("div",S,[s[0]||(s[0]=t("div",{class:"metric-label"},"总产量",-1)),t("div",j,a(i.productionData.totalProduction),1),s[1]||(s[1]=t("div",{class:"metric-unit"},"",-1))])]),t("div",z,[s[5]||(s[5]=t("div",{class:"metric-icon"},"",-1)),t("div",G,[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",E,a(i.productionData.deviceCount),1),s[7]||(s[7]=t("div",{class:"metric-unit"},"",-1))])])]),t("div",I,[s[12]||(s[12]=t("h4",null,"设备状态分布",-1)),t("div",O,[t("div",T,[s[9]||(s[9]=t("div",{class:"bar-label"},"运行中",-1)),t("div",Z,[t("div",{class:"bar-fill",style:u({width:m.value+"%"})},null,4)]),t("div",A,a(i.productionData.runningDevices),1)]),t("div",H,[s[10]||(s[10]=t("div",{class:"bar-label"},"警告",-1)),t("div",J,[t("div",{class:"bar-fill",style:u({width:f.value+"%"})},null,4)]),t("div",K,a(i.productionData.warningDevices),1)]),t("div",Q,[s[11]||(s[11]=t("div",{class:"bar-label"},"停止",-1)),t("div",R,[t("div",{class:"bar-fill",style:u({width:y.value+"%"})},null,4)]),t("div",U,a(i.productionData.stoppedDevices),1)])])]),t("div",W,[s[14]||(s[14]=t("h4",null,"生产趋势",-1)),t("div",X,[t("div",Y,[(v(),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,[(v(),c(w,null,P(b,(l,r)=>t("span",{key:r},a(l),1)),64))])])]),t("div",ot,[s[16]||(s[16]=t("h4",null,"实时产量",-1)),t("div",et,[k(d,{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-6e749a63><h4 data-v-6e749a63>质量指标</h4><div class="quality-grid" data-v-6e749a63><div class="quality-item" data-v-6e749a63><div class="quality-label" data-v-6e749a63>合格率</div><div class="quality-value" data-v-6e749a63>98.5%</div></div><div class="quality-item" data-v-6e749a63><div class="quality-label" data-v-6e749a63>不良率</div><div class="quality-value bad" data-v-6e749a63>1.5%</div></div><div class="quality-item" data-v-6e749a63><div class="quality-label" data-v-6e749a63>返工率</div><div class="quality-value warning" data-v-6e749a63>2.3%</div></div></div></div>',1))])}}}),vt=L(nt,[["__scopeId","data-v-6e749a63"]]);export{vt as default};