You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
haoliang-net/deploy-web/admin/assets/ProgramProduction-C8ne0AeH.js

1 line
6.5 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import{A as e,E as t,F as n,M as r,N as i,P as a,S as o,T as s,_ as c,b as l,h as u,i as d,k as f,m as p,w as m,x as h,y as g,z as _}from"./index-yNQwsZKK.js";import{t as v}from"./request-CbM-LIzp.js";import{t as y}from"./echarts-W_05fbm-.js";var b={class:`program-production`},x={class:`stat-card`},S={class:`stat-label`},C={class:`stat-value`},w={class:`stat-card`},T={class:`stat-label`},E={class:`stat-value`},D={class:`stat-card`},O={class:`stat-label`},k={class:`stat-value`},A={class:`stat-card`},j={class:`stat-label`},M={class:`stat-value top-program`},N={class:`card-title`},P={class:`card-title`},F={class:`card-title`},I=d(h({__name:`ProgramProduction`,setup(d){let h=a({dateRange:[],programName:``}),I=n(!1),L=n({}),R=n([]),z=n(),B=n(),V=null,H=null;function U(){if(!z.value||!R.value.length)return;V?.dispose(),V=y.init(z.value);let e=R.value.map(e=>e.programName),t=R.value.map(e=>e.totalQuantity);V.setOption({tooltip:{trigger:`axis`,formatter:e=>{let t=e[0];return`${t.name}<br/>产量: ${t.value}`}},grid:{left:50,right:20,top:20,bottom:40},xAxis:{type:`category`,data:e,axisLabel:{fontSize:11,rotate:e.length>8?30:0}},yAxis:{type:`value`,name:`产量(件)`,axisLabel:{fontSize:12}},series:[{type:`bar`,data:t,barWidth:`50%`,itemStyle:{color:`#E6A23C`,borderRadius:[4,4,0,0]}}]})}function W(){if(!B.value||!R.value.length)return;H?.dispose(),H=y.init(B.value);let e=R.value.map(e=>({value:e.totalQuantity,name:e.programName}));H.setOption({tooltip:{trigger:`item`,formatter:`{b}: {c}件 ({d}%)`},series:[{type:`pie`,radius:[`40%`,`65%`],center:[`50%`,`50%`],label:{show:!0,formatter:`{b}: {c}件 ({d}%)`,fontSize:11},data:e,emphasis:{label:{fontSize:14,fontWeight:`bold`}}}]})}function G(){V?.dispose(),H?.dispose(),V=null,H=null}async function K(){I.value=!0;try{let e={startDate:h.dateRange?.[0]??``,endDate:h.dateRange?.[1]??``,programName:h.programName??``},[t,n]=await Promise.all([v.get(`/admin/production/program/summary`,{params:e}),v.get(`/admin/production/program/list`,{params:e})]);L.value=t.data??{},R.value=n.data?.items??[],G(),await o(),U(),W()}finally{I.value=!1}}function q(){let e=new Date,t=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`;h.dateRange=[t(e),t(e)],h.programName=``,K()}function J(){let e=new Date,t=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`;h.dateRange=[t(e),t(e)],K()}return m(J),s(G),(n,a)=>{let o=f(`el-date-picker`),s=f(`el-form-item`),d=f(`el-input`),m=f(`el-button`),v=f(`el-form`),y=f(`el-tooltip`),V=f(`el-card`),H=f(`el-col`),U=f(`el-row`),W=f(`el-table-column`),G=f(`el-table`),J=e(`loading`);return t(),c(`div`,b,[l(v,{inline:!0,class:`filter-bar`,model:h},{default:r(()=>[l(s,{label:`日期范围`},{default:r(()=>[l(o,{modelValue:h.dateRange,"onUpdate:modelValue":a[0]||=e=>h.dateRange=e,type:`daterange`,"value-format":`YYYY-MM-DD`,"range-separator":`-`,"start-placeholder":`开始日期`,"end-placeholder":`结束日期`},null,8,[`modelValue`])]),_:1}),l(s,{label:`程序名`},{default:r(()=>[l(d,{modelValue:h.programName,"onUpdate:modelValue":a[1]||=e=>h.programName=e,placeholder:`输入程序名`,style:{width:`240px`},clearable:``},null,8,[`modelValue`])]),_:1}),l(s,null,{default:r(()=>[l(m,{type:`primary`,onClick:K},{default:r(()=>[...a[2]||=[g(`查询`,-1)]]),_:1}),l(m,{onClick:q},{default:r(()=>[...a[3]||=[g(`重置`,-1)]]),_:1})]),_:1})]),_:1},8,[`model`]),l(U,{gutter:16,class:`stat-row`},{default:r(()=>[l(H,{span:6},{default:r(()=>[l(V,{shadow:`hover`},{default:r(()=>[p(`div`,x,[p(`div`,S,[a[5]||=g(` 总产量 `,-1),l(y,{content:`选定时间范围内所有NC程序的总产量。`,placement:`top`},{default:r(()=>[...a[4]||=[p(`span`,{class:`info-icon`},``,-1)]]),_:1})]),p(`div`,C,_(L.value.totalQuantity?.toLocaleString()??`-`),1)])]),_:1})]),_:1}),l(H,{span:6},{default:r(()=>[l(V,{shadow:`hover`},{default:r(()=>[p(`div`,w,[p(`div`,T,[a[7]||=g(` 运行程序数 `,-1),l(y,{content:`选定时间范围内有产量记录的NC程序数量。`,placement:`top`},{default:r(()=>[...a[6]||=[p(`span`,{class:`info-icon`},``,-1)]]),_:1})]),p(`div`,E,_(L.value.runningProgramCount??`-`),1)])]),_:1})]),_:1}),l(H,{span:6},{default:r(()=>[l(V,{shadow:`hover`},{default:r(()=>[p(`div`,D,[p(`div`,O,[a[9]||=g(` 平均单程序产量 `,-1),l(y,{content:`平均每个NC程序的产量。`,placement:`top`},{default:r(()=>[...a[8]||=[p(`span`,{class:`info-icon`},``,-1)]]),_:1})]),p(`div`,k,_(L.value.avgPerProgram?.toFixed(1)??`-`),1)])]),_:1})]),_:1}),l(H,{span:6},{default:r(()=>[l(V,{shadow:`hover`},{default:r(()=>[p(`div`,A,[p(`div`,j,[a[11]||=g(` 最高产量程序 `,-1),l(y,{content:`产量最高的NC程序名称。`,placement:`top`},{default:r(()=>[...a[10]||=[p(`span`,{class:`info-icon`},``,-1)]]),_:1})]),p(`div`,M,_(L.value.topProgramName??`-`),1)])]),_:1})]),_:1})]),_:1}),l(U,{gutter:16,class:`chart-row`},{default:r(()=>[l(H,{span:12},{default:r(()=>[l(V,{shadow:`hover`},{header:r(()=>[p(`span`,N,[a[13]||=g(` 程序产量柱状图 `,-1),l(y,{content:`各NC程序的产量对比。`,placement:`top`},{default:r(()=>[...a[12]||=[p(`span`,{class:`info-icon`},``,-1)]]),_:1})])]),default:r(()=>[p(`div`,{ref_key:`barChartRef`,ref:z,style:{height:`320px`}},null,512)]),_:1})]),_:1}),l(H,{span:12},{default:r(()=>[l(V,{shadow:`hover`},{header:r(()=>[p(`span`,P,[a[15]||=g(` 程序产量饼图 `,-1),l(y,{content:`各NC程序产量占比分布。`,placement:`top`},{default:r(()=>[...a[14]||=[p(`span`,{class:`info-icon`},``,-1)]]),_:1})])]),default:r(()=>[p(`div`,{ref_key:`pieChartRef`,ref:B,style:{height:`320px`}},null,512)]),_:1})]),_:1})]),_:1}),l(V,{shadow:`hover`,class:`table-card`},{header:r(()=>[p(`span`,F,[a[17]||=g(` 程序产量明细 `,-1),l(y,{content:`按产量降序排列展示每个NC程序的详细统计数据。`,placement:`top`},{default:r(()=>[...a[16]||=[p(`span`,{class:`info-icon`},``,-1)]]),_:1})])]),default:r(()=>[i((t(),u(G,{data:R.value,stripe:``,size:`small`},{default:r(()=>[l(W,{prop:`rank`,label:`排名`,width:`60`,align:`center`}),l(W,{prop:`programName`,label:`程序名`,"show-overflow-tooltip":``}),l(W,{prop:`machineCount`,label:`涉及机床数`,width:`100`,align:`center`}),l(W,{prop:`totalQuantity`,label:`总产量`,width:`100`,align:`center`}),l(W,{label:`平均单机`,width:`100`,align:`center`},{default:r(({row:e})=>[g(_(e.avgPerMachine?.toFixed(1)??`-`),1)]),_:1}),l(W,{label:`占比`,width:`100`,align:`center`},{default:r(({row:e})=>[g(_(e.percentage?.toFixed(1)??`-`)+`%`,1)]),_:1})]),_:1},8,[`data`])),[[J,I.value]])]),_:1})])}}}),[[`__scopeId`,`data-v-37993a12`]]);export{I as default};