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/SimulatorPage-Brj2io90.js

1 line
5.1 KiB
JavaScript

import{A as e,D as t,E as n,F as r,I as i,M as a,N as o,R as s,T as c,_ as l,b as u,f as d,g as f,h as p,k as m,m as h,o as g,r as _,u as v,w as y,x as b,y as x,z as S}from"./index-yNQwsZKK.js";import{t as C}from"./useMockMode-CGiTg8lx.js";import{a as w,d as T,f as E,h as D,i as O,m as k,o as A}from"./simulator-BI0WXqne.js";var j={class:`mb-16`,style:{display:`flex`,"justify-content":`space-between`,"align-items":`center`}},M={style:{display:`flex`,"align-items":`center`,gap:`8px`}},N={style:{"font-size":`14px`,color:`#606266`}},P={key:1},F={style:{"white-space":`nowrap`}},I={style:{"margin-top":`12px`,color:`#909399`,"font-size":`13px`}},L=b({__name:`SimulatorPage`,setup(b){let L=_(),{isMock:R}=C(),z=r(!1),B=r(!1),V=r([]),H=r(!1),U=r(!1),W=r(null),G=r([]),K=null;async function q(){z.value=!0;try{B.value=(await w()).data?.running??!1,B.value?V.value=(await O()).data??[]:V.value=[]}catch{B.value=!1,V.value=[]}finally{z.value=!1}}function J(e){let t=R.value?`/mock`:``;L.push(`${t}/simulator/${e}`)}function Y(e){W.value=e,G.value=[],H.value=!0}async function X(){if(W.value){U.value=!0;try{let e={dbAddressId:W.value.dbId};G.value.length>0&&(e.deviceCodes=G.value),await E(e),g.success(`启动成功`),H.value=!1,await q()}catch(e){g.error(e?.message??`启动失败`)}finally{U.value=!1}}}async function Z(e){try{await D({dbAddressId:e.dbId}),g.success(`已停止`),await q()}catch(e){g.error(e?.message??`停止失败`)}}async function Q(){try{await T(),g.success(`全部启动成功`),await q()}catch(e){g.error(e?.message??`操作失败`)}}async function ee(){try{await k(),g.success(`全部停止`),await q()}catch(e){g.error(e?.message??`操作失败`)}}async function te(){try{await A(),g.success(`配置已刷新`),await q()}catch(e){g.error(e?.message??`刷新失败`)}}function ne(){$(),K=setInterval(()=>{document.visibilityState===`visible`&&q()},5e3)}function $(){K&&=(clearInterval(K),null)}return y(()=>{q(),ne()}),c(()=>{$()}),(r,c)=>{let g=m(`el-button`),_=m(`el-empty`),y=m(`el-link`),b=m(`el-table-column`),C=m(`el-tag`),w=m(`el-popconfirm`),T=m(`el-table`),E=m(`el-checkbox`),D=m(`el-checkbox-group`),O=m(`el-dialog`),k=e(`loading`);return n(),l(`div`,null,[h(`div`,j,[h(`div`,M,[h(`span`,{style:s({display:`inline-block`,width:`10px`,height:`10px`,borderRadius:`50%`,backgroundColor:B.value?`#67c23a`:`#f56c6c`})},null,4),h(`span`,N,S(B.value?`模拟器已连接`:`模拟器未连接`),1),u(g,{size:`small`,icon:i(v),circle:``,onClick:q},null,8,[`icon`])]),h(`div`,null,[u(g,{type:`success`,disabled:!B.value,onClick:Q},{default:a(()=>[...c[3]||=[x(`全部启动`,-1)]]),_:1},8,[`disabled`]),u(g,{type:`danger`,disabled:!B.value,onClick:ee},{default:a(()=>[...c[4]||=[x(`全部停止`,-1)]]),_:1},8,[`disabled`]),u(g,{disabled:!B.value,onClick:te},{default:a(()=>[...c[5]||=[x(`刷新配置`,-1)]]),_:1},8,[`disabled`])])]),B.value?o((n(),p(T,{key:1,data:V.value,border:``,stripe:``,style:{width:`100%`}},{default:a(()=>[u(b,{prop:`name`,label:`名称`,"min-width":`140`},{default:a(({row:e})=>[e.isRunning&&e.runningPort>0?(n(),p(y,{key:0,type:`primary`,onClick:t=>J(e.runningPort)},{default:a(()=>[x(S(e.name),1)]),_:2},1032,[`onClick`])):(n(),l(`span`,P,S(e.name),1))]),_:1}),u(b,{prop:`url`,label:`URL`,"min-width":`200`,"show-overflow-tooltip":``}),u(b,{prop:`machineCount`,label:`机床数`,align:`center`,width:`80`}),u(b,{label:`状态`,align:`center`,width:`100`},{default:a(({row:e})=>[u(C,{type:e.isRunning?`success`:`info`,size:`small`},{default:a(()=>[x(S(e.isRunning?`运行中`:`未启动`),1)]),_:2},1032,[`type`])]),_:1}),u(b,{label:`端口`,align:`center`,width:`80`},{default:a(({row:e})=>[x(S(e.isRunning?e.runningPort:`-`),1)]),_:1}),u(b,{label:`操作`,width:`160`,align:`center`},{default:a(({row:e})=>[h(`div`,F,[e.isRunning?(n(),p(g,{key:0,link:``,type:`primary`,onClick:t=>J(e.runningPort)},{default:a(()=>[...c[6]||=[x(`详情`,-1)]]),_:1},8,[`onClick`])):f(``,!0),e.isRunning?f(``,!0):(n(),p(g,{key:1,link:``,type:`success`,onClick:t=>Y(e)},{default:a(()=>[...c[7]||=[x(`启动`,-1)]]),_:1},8,[`onClick`])),e.isRunning?(n(),p(w,{key:2,title:`确定停止该地址的模拟?`,onConfirm:t=>Z(e)},{reference:a(()=>[u(g,{link:``,type:`danger`},{default:a(()=>[...c[8]||=[x(`停止`,-1)]]),_:1})]),_:1},8,[`onConfirm`])):f(``,!0)])]),_:1})]),_:1},8,[`data`])),[[k,z.value]]):(n(),p(_,{key:0,description:`模拟器未启动,请在服务器上运行 CncSimulator.exe`})),u(O,{modelValue:H.value,"onUpdate:modelValue":c[2]||=e=>H.value=e,title:`选择模拟机床`,width:`500px`,"destroy-on-close":``},{footer:a(()=>[u(g,{onClick:c[1]||=e=>H.value=!1},{default:a(()=>[...c[9]||=[x(`取消`,-1)]]),_:1}),u(g,{type:`primary`,loading:U.value,onClick:X},{default:a(()=>[...c[10]||=[x(`确认启动`,-1)]]),_:1},8,[`loading`])]),default:a(()=>[u(D,{modelValue:G.value,"onUpdate:modelValue":c[0]||=e=>G.value=e},{default:a(()=>[(n(!0),l(d,null,t(W.value?.machines??[],e=>(n(),p(E,{key:e.deviceCode,label:e.deviceCode,value:e.deviceCode},{default:a(()=>[x(S(e.name)+` (`+S(e.deviceCode)+`)`,1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`]),h(`p`,I,` 不选择则模拟该地址下全部机床(`+S(W.value?.machineCount)+` 台) `,1)]),_:1},8,[`modelValue`])])}}});export{L as default};