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/MachineDetailPage-BXM1GxfW.js

1 line
7.4 KiB
JavaScript

import{C as e,E as t,F as n,I as r,M as i,S as a,_ as o,b as s,h as c,i as l,j as u,k as d,m as f,n 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"./PageHeader-yD9tr7GF.js";import{t as b}from"./echarts-W_05fbm-.js";function x(e){if(!e)return{displayText:`--`,fullTime:`--`,needRefresh:!1};let t;if(t=e instanceof Date?e:typeof e==`number`?new Date(e):new Date(e.replace(/-/g,`/`)),isNaN(t.getTime()))return{displayText:`--`,fullTime:String(e),needRefresh:!1};let n=Date.now()-t.getTime(),r=Math.abs(n),i=S(t);if(n<-6e4)return{displayText:i,fullTime:i,needRefresh:!1};if(r<10*1e3)return{displayText:`刚刚`,fullTime:i,needRefresh:!0};if(r<60*1e3)return{displayText:`${Math.floor(r/1e3)}秒前`,fullTime:i,needRefresh:!0};if(r<3600*1e3)return{displayText:`${Math.floor(r/(60*1e3))}分钟前`,fullTime:i,needRefresh:!0};if(r<1440*60*1e3){let e=Math.floor(r/(3600*1e3)),t=Math.floor(r%(3600*1e3)/(60*1e3));return t>0?{displayText:`${e}小时${t}分钟前`,fullTime:i,needRefresh:!0}:{displayText:`${e}小时前`,fullTime:i,needRefresh:!0}}return r<2880*60*1e3?{displayText:`1天前`,fullTime:i,needRefresh:!1}:r<10080*60*1e3?{displayText:`${Math.floor(r/(1440*60*1e3))}天前`,fullTime:i,needRefresh:!1}:{displayText:C(t),fullTime:i,needRefresh:!1}}function S(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)} ${String(e.getHours()).padStart(2,`0`)}:${String(e.getMinutes()).padStart(2,`0`)}:${String(e.getSeconds()).padStart(2,`0`)}`}function C(e){return`${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)} ${String(e.getHours()).padStart(2,`0`)}:${String(e.getMinutes()).padStart(2,`0`)}`}var w={class:`relative-time`},T=l(h({__name:`RelativeTime`,props:{time:{}},setup(r){let a=r,o=n(`--`),s=n(`--`),l;function p(){if(!a.time){o.value=`--`,s.value=`--`;return}let e=x(a.time);o.value=e.displayText,s.value=e.fullTime,e.needRefresh&&(h(),l=window.setTimeout(()=>{p()},3e4))}function h(){l!==void 0&&(clearTimeout(l),l=void 0)}return u(()=>a.time,()=>{p()}),m(()=>{p()}),e(()=>{h()}),(e,n)=>{let r=d(`el-tooltip`);return t(),c(r,{content:s.value,placement:`top`,disabled:!s.value||s.value===`--`},{default:i(()=>[f(`span`,w,_(o.value),1)]),_:1},8,[`content`,`disabled`])}}}),[[`__scopeId`,`data-v-675474c7`]]),E={style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`}},D=h({__name:`MachineDetailPage`,setup(c){let l=p(),u=typeof window<`u`&&window.location.pathname.startsWith(`/mock`),h=u?`/mock/dashboard`:`/dashboard`,x=u?`/mock/machine`:`/machine`,S=n({}),C=n({}),w,D=n([]),O=n([]),k=n([]),A=n(new Date().toISOString().slice(0,10)),j=n(),M=null,N;async function P(){let e=l.params.id,[t,n,r,i,o]=await Promise.all([v.get(`/admin/machine/${e}`),v.get(`/admin/machine/${e}/status`),v.get(`/admin/machine/${e}/production/today`),v.get(`/admin/machine/${e}/collect-records?date=${A.value}`),v.get(`/admin/machine/${e}/latest-tags`)]);S.value=t.data||{},C.value=n.data||{},D.value=r.data?.items||[],O.value=i.data?.items||[],k.value=o.data?.items||[];let s=await v.get(`/admin/machine/${e}/production/trend`);if(await a(),j.value){M=b.init(j.value);let e=s.data?.items||[];M.setOption({xAxis:{type:`category`,data:e.map(e=>e.date.slice(5))},yAxis:{type:`value`},series:[{type:`line`,data:e.map(e=>e.quantity),smooth:!0,areaStyle:{opacity:.1}}],tooltip:{trigger:`axis`},grid:{left:40,right:20,top:10,bottom:30}})}}async function F(){let e=l.params.id;C.value=(await v.get(`/admin/machine/${e}/status`)).data||{}}async function I(){let e=l.params.id;k.value=(await v.get(`/admin/machine/${e}/latest-tags`)).data?.items||[]}async function L(){let e=l.params.id;O.value=(await v.get(`/admin/machine/${e}/collect-records?date=${A.value}`)).data?.items||[]}return m(()=>{P(),w=window.setInterval(F,1e4),N=window.setInterval(I,3e4),F()}),e(()=>{M?.dispose(),w!==void 0&&clearInterval(w),N!==void 0&&clearInterval(N)}),(e,n)=>{let a=d(`router-link`),c=d(`el-breadcrumb-item`),l=d(`el-breadcrumb`),u=d(`el-descriptions-item`),p=d(`el-tag`),m=d(`el-descriptions`),v=d(`el-card`),b=d(`el-col`),C=d(`el-table-column`),w=d(`el-table`),M=d(`el-row`),N=d(`el-date-picker`);return t(),o(`div`,null,[s(y,{title:`机床详情:${S.value.name}`,showBack:!0},{breadcrumb:i(()=>[s(l,{separator:`/`,style:{margin:`0 0 12px 0`}},{default:i(()=>[s(c,null,{default:i(()=>[s(a,{to:r(h)},{default:i(()=>[...n[1]||=[g(`首页`,-1)]]),_:1},8,[`to`])]),_:1}),s(c,null,{default:i(()=>[s(a,{to:r(x)},{default:i(()=>[...n[2]||=[g(`设备管理`,-1)]]),_:1},8,[`to`])]),_:1}),s(c,null,{default:i(()=>[g(_(S.value.name||`机床详情`),1)]),_:1})]),_:1})]),_:1},8,[`title`]),s(M,{gutter:20},{default:i(()=>[s(b,{span:12},{default:i(()=>[s(v,{shadow:`hover`},{header:i(()=>[...n[3]||=[f(`span`,null,`基本信息`,-1)]]),default:i(()=>[s(m,{column:2,border:``,size:`small`},{default:i(()=>[s(u,{label:`机床名称`},{default:i(()=>[g(_(S.value.name),1)]),_:1}),s(u,{label:`device_code`},{default:i(()=>[g(_(S.value.deviceCode),1)]),_:1}),s(u,{label:`车间`},{default:i(()=>[g(_(S.value.workshopName),1)]),_:1}),s(u,{label:`品牌`},{default:i(()=>[g(_(S.value.brandName),1)]),_:1}),s(u,{label:`IP地址`},{default:i(()=>[g(_(S.value.ipAddress),1)]),_:1}),s(u,{label:`绑定工人`},{default:i(()=>[g(_(S.value.workerName||`-`),1)]),_:1}),s(u,{label:`在线`},{default:i(()=>[s(p,{type:S.value.isOnline?`success`:`danger`,size:`small`},{default:i(()=>[g(_(S.value.isOnline?`在线`:`离线`),1)]),_:1},8,[`type`])]),_:1}),s(u,{label:`启用`},{default:i(()=>[s(p,{type:S.value.isEnabled?`success`:`danger`,size:`small`},{default:i(()=>[g(_(S.value.isEnabled?`启用`:`停用`),1)]),_:1},8,[`type`])]),_:1})]),_:1})]),_:1})]),_:1}),s(b,{span:12},{default:i(()=>[s(v,{shadow:`hover`},{header:i(()=>[...n[4]||=[f(`span`,null,`实时状态`,-1)]]),default:i(()=>[s(w,{data:k.value,border:``,stripe:``,size:`small`},{default:i(()=>[s(C,{prop:`desc`,label:`指标`}),s(C,{prop:`value`,label:`数值`}),s(C,{label:`采集时间`},{default:i(({row:e})=>[s(T,{time:e.collectTime},null,8,[`time`])]),_:1})]),_:1},8,[`data`])]),_:1})]),_:1})]),_:1}),s(M,{gutter:20,class:`mt-20`},{default:i(()=>[s(b,{span:12},{default:i(()=>[s(v,{shadow:`hover`},{header:i(()=>[...n[5]||=[f(`span`,null,`今日产量`,-1)]]),default:i(()=>[s(w,{data:D.value,border:``,stripe:``,size:`small`},{default:i(()=>[s(C,{prop:`programName`,label:`程序名`}),s(C,{prop:`quantity`,label:`产量`,align:`center`}),s(C,{prop:`runTime`,label:`运行时间`,align:`center`}),s(C,{prop:`cuttingTime`,label:`切削时间`,align:`center`})]),_:1},8,[`data`])]),_:1})]),_:1}),s(b,{span:12},{default:i(()=>[s(v,{shadow:`hover`},{header:i(()=>[...n[6]||=[f(`span`,null,`7天产量趋势`,-1)]]),default:i(()=>[f(`div`,{ref_key:`chartRef`,ref:j,style:{height:`250px`}},null,512)]),_:1})]),_:1})]),_:1}),s(v,{shadow:`hover`,class:`mt-20`},{header:i(()=>[f(`div`,E,[n[7]||=f(`span`,null,`最近采集记录`,-1),s(N,{modelValue:A.value,"onUpdate:modelValue":n[0]||=e=>A.value=e,type:`date`,"value-format":`YYYY-MM-DD`,placeholder:`选择日期`,size:`small`,onChange:L},null,8,[`modelValue`])])]),default:i(()=>[s(w,{data:O.value,border:``,stripe:``,size:`small`},{default:i(()=>[s(C,{label:`采集时间`},{default:i(({row:e})=>[s(T,{time:e.collectTime},null,8,[`time`])]),_:1}),s(C,{prop:`programName`,label:`程序名`}),s(C,{prop:`partCount`,label:`零件数`,align:`center`}),s(C,{prop:`runStatus`,label:`运行状态`})]),_:1},8,[`data`])]),_:1})])}}});export{D as default};