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/MachineListPage-BtWVzIhF.js

1 line
11 KiB
JavaScript

import{A as e,D as t,E as n,F as r,M as i,N as a,P as o,_ as s,a as c,b as l,f as u,g as d,h as f,k as p,m,o as h,r as g,w as _,x as v,y,z as b}from"./index-yNQwsZKK.js";import{t as x}from"./useMockMode-CGiTg8lx.js";import{t as S}from"./request-CbM-LIzp.js";var C={class:`mb-16`},ee={style:{"white-space":`nowrap`}},te={key:0},ne={key:1,style:{"margin-top":`8px`,color:`#f56c6c`,"font-size":`12px`}},w=v({__name:`MachineListPage`,setup(v){let w=g(),{isMock:T}=x(),E=r(!1),D=r([]),O=r([]),k=r([]),A=r([]),j=r([]),M=r([]),N=o({workshopId:void 0,isOnline:void 0,brandId:void 0,keyword:``}),P=o({page:1,pageSize:20,total:0}),F=r(!1),I=r(!1),L=r(null),R=r(),z=o({name:``,deviceCode:``,workshopId:void 0,collectAddressId:void 0,brandId:void 0,brandName:``,ipAddress:``,workerId:void 0}),re={name:[{required:!0,message:`请输入机床名称`,trigger:`blur`}],deviceCode:[{required:!0,message:`请输入device_code`,trigger:`blur`}],workshopId:[{required:!0,message:`请选择车间`,trigger:`change`}],collectAddressId:[{required:!0,message:`请选择采集地址`,trigger:`change`}],ipAddress:[{required:!0,message:`请输入IP地址`,trigger:`blur`}]},B=r(!1),V=r(!1),H=r(null),U=r(null);function W(e){w.push((T.value?`/mock/machine/`:`/machine/`)+e)}async function G(){E.value=!0;try{let e=await S.get(`/admin/machine`,{params:{...N,page:P.page,pageSize:P.pageSize}});D.value=e.data?.items||[],P.total=e.data?.total??0}finally{E.value=!1}}function K(){Object.assign(N,{workshopId:void 0,isOnline:void 0,brandId:void 0,keyword:``}),P.page=1,G()}function q(){P.page=1,G()}function J(){L.value=null,Object.assign(z,{name:``,deviceCode:``,workshopId:void 0,collectAddressId:void 0,brandId:void 0,brandName:``,ipAddress:``,workerId:void 0}),F.value=!0}function Y(e){L.value=e.id,Object.assign(z,{name:e.name,deviceCode:e.deviceCode,workshopId:e.workshopId,collectAddressId:e.collectAddressId,brandId:e.brandId,brandName:e.brandName,ipAddress:e.ipAddress,workerId:e.workerId}),F.value=!0}function ie(e){let t=j.value.find(t=>t.id===e);z.brandId=t?t.brandId:void 0,z.brandName=t?t.brandName:``}async function ae(){if(await R.value?.validate().catch(()=>!1)){I.value=!0;try{await S[L.value?`put`:`post`](L.value?`/admin/machine/${L.value}`:`/admin/machine`,{...z}),h.success(`保存成功`),F.value=!1,G()}finally{I.value=!1}}}async function oe(e){await c.confirm(`确定删除【${e.name}】?此操作不可恢复。`,`提示`,{type:`warning`}),await S.delete(`/admin/machine/${e.id}`),h.success(`已删除`),G()}async function X(e){await c.confirm(`确定对选中的${O.value.length}项操作?`,`提示`,{type:`warning`});for(let t of O.value)(e===1&&!t.isEnabled||e===0&&t.isEnabled)&&await S.put(`/admin/machine/${t.id}/toggle`);h.success(`操作成功`),G()}async function se(){await c.confirm(`确定删除选中的${O.value.length}台机床?此操作不可恢复。`,`提示`,{type:`warning`}),await S.post(`/admin/machine/batch-delete`,{ids:O.value.map(e=>e.id)}),h.success(`批量删除成功`),G()}async function ce(){let e=S.defaults?.baseURL||``,t=new URLSearchParams(N).toString();window.open(`${e}/admin/machine/export?${t}`,`_blank`),h.success(`正在导出...`)}function Z(e){H.value=e.raw}function le(){window.open(`/api/admin/machine/import-template`,`_blank`)}async function ue(){if(!H.value){h.warning(`请选择文件`);return}V.value=!0;try{let e=new FormData;e.append(`file`,H.value);let t=await S.post(`/admin/machine/import`,e);U.value=t.data,t.data?.successCount&&h.success(`成功导入${t.data.successCount}`),G()}finally{V.value=!1}}async function Q(){let e=await S.get(`/admin/workshop`),t=await S.get(`/admin/brand`),n=await S.get(`/admin/collect-address`),r=await S.get(`/admin/worker`);k.value=e.data?.items??[],A.value=t.data?.items??[],j.value=n.data?.items??[],M.value=r.data?.items??[]}return _(()=>{G(),Q()}),(r,o)=>{let c=p(`el-button`),h=p(`el-option`),g=p(`el-select`),_=p(`el-form-item`),v=p(`el-input`),x=p(`el-form`),S=p(`el-table-column`),w=p(`el-link`),T=p(`el-tag`),H=p(`el-table`),Q=p(`el-pagination`),$=p(`el-dialog`),de=p(`el-upload`),fe=e(`loading`);return n(),s(`div`,null,[m(`div`,C,[l(c,{type:`primary`,onClick:J},{default:i(()=>[...o[21]||=[y(`+ 新增机床`,-1)]]),_:1}),l(c,{onClick:o[0]||=e=>B.value=!0},{default:i(()=>[...o[22]||=[y(`导入`,-1)]]),_:1}),l(c,{type:`success`,onClick:ce},{default:i(()=>[...o[23]||=[y(`导出`,-1)]]),_:1}),O.value.length?(n(),f(c,{key:0,size:`default`,onClick:o[1]||=e=>X(0),disabled:!O.value.some(e=>e.isEnabled)},{default:i(()=>[y(`批量停用(`+b(O.value.length)+`)`,1)]),_:1},8,[`disabled`])):d(``,!0),O.value.length?(n(),f(c,{key:1,size:`default`,type:`primary`,onClick:o[2]||=e=>X(1),disabled:!O.value.some(e=>!e.isEnabled)},{default:i(()=>[y(`批量启用(`+b(O.value.length)+`)`,1)]),_:1},8,[`disabled`])):d(``,!0),O.value.length?(n(),f(c,{key:2,size:`default`,type:`danger`,onClick:se},{default:i(()=>[y(`批量删除(`+b(O.value.length)+`)`,1)]),_:1})):d(``,!0)]),l(x,{inline:!0,class:`mb-16`},{default:i(()=>[l(_,{label:`车间`},{default:i(()=>[l(g,{modelValue:N.workshopId,"onUpdate:modelValue":o[3]||=e=>N.workshopId=e,clearable:``,placeholder:`全部`},{default:i(()=>[(n(!0),s(u,null,t(k.value,e=>(n(),f(h,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),l(_,{label:`在线状态`},{default:i(()=>[l(g,{modelValue:N.isOnline,"onUpdate:modelValue":o[4]||=e=>N.isOnline=e,clearable:``,placeholder:`全部`},{default:i(()=>[l(h,{label:`在线`,value:1}),l(h,{label:`离线`,value:0})]),_:1},8,[`modelValue`])]),_:1}),l(_,{label:`品牌`},{default:i(()=>[l(g,{modelValue:N.brandId,"onUpdate:modelValue":o[5]||=e=>N.brandId=e,clearable:``,placeholder:`全部`},{default:i(()=>[(n(!0),s(u,null,t(A.value,e=>(n(),f(h,{key:e.id,label:e.brandName,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),l(_,null,{default:i(()=>[l(v,{modelValue:N.keyword,"onUpdate:modelValue":o[6]||=e=>N.keyword=e,placeholder:`机床名称/device_code`,clearable:``},null,8,[`modelValue`])]),_:1}),l(_,null,{default:i(()=>[l(c,{type:`primary`,onClick:G},{default:i(()=>[...o[24]||=[y(`查询`,-1)]]),_:1}),l(c,{onClick:K},{default:i(()=>[...o[25]||=[y(`重置`,-1)]]),_:1})]),_:1})]),_:1}),a((n(),f(H,{data:D.value,border:``,stripe:``,onSelectionChange:o[7]||=e=>O.value=e},{default:i(()=>[l(S,{type:`selection`,width:`50`,fixed:`left`,align:`center`}),l(S,{label:`机床名称`,"min-width":`120`,fixed:`left`,"show-overflow-tooltip":``},{default:i(({row:e})=>[l(w,{type:`primary`,onClick:t=>W(e.id)},{default:i(()=>[y(b(e.name),1)]),_:2},1032,[`onClick`])]),_:1}),l(S,{prop:`deviceCode`,label:`device_code`,"show-overflow-tooltip":``,sortable:``}),l(S,{prop:`workshopName`,label:`车间`,align:`center`,sortable:``}),l(S,{prop:`brandName`,label:`品牌`,align:`center`,sortable:``}),l(S,{prop:`ipAddress`,label:`IP地址`}),l(S,{label:`在线状态`,align:`center`},{default:i(({row:e})=>[l(T,{type:e.isOnline?`success`:`info`,size:`small`},{default:i(()=>[y(b(e.isOnline?`在线`:`离线`)+b(e.lastPingLatency==null?``:`-${e.lastPingLatency}ms`),1)]),_:2},1032,[`type`])]),_:1}),l(S,{label:`状态`,align:`center`},{default:i(({row:e})=>[l(T,{type:e.isEnabled?`success`:`danger`,size:`small`},{default:i(()=>[y(b(e.isEnabled?`启用`:`停用`),1)]),_:2},1032,[`type`])]),_:1}),l(S,{prop:`workerName`,label:`绑定工人`,align:`center`},{default:i(({row:e})=>[y(b(e.workerName||`-`),1)]),_:1}),l(S,{label:`操作`,width:`180`,fixed:`right`,align:`center`},{default:i(({row:e})=>[m(`div`,ee,[l(c,{link:``,type:`primary`,onClick:t=>Y(e)},{default:i(()=>[...o[26]||=[y(`编辑`,-1)]]),_:1},8,[`onClick`]),l(c,{link:``,type:`danger`,onClick:t=>oe(e)},{default:i(()=>[...o[27]||=[y(`删除`,-1)]]),_:1},8,[`onClick`])])]),_:1})]),_:1},8,[`data`])),[[fe,E.value]]),l(Q,{"current-page":P.page,"onUpdate:currentPage":o[8]||=e=>P.page=e,"page-size":P.pageSize,"onUpdate:pageSize":o[9]||=e=>P.pageSize=e,"page-sizes":[20,50,100],total:P.total,background:``,layout:`total, sizes, prev, pager, next, jumper`,style:{"margin-top":`16px`},onCurrentChange:G,onSizeChange:q},null,8,[`current-page`,`page-size`,`total`]),l($,{modelValue:F.value,"onUpdate:modelValue":o[18]||=e=>F.value=e,title:L.value?`编辑机床`:`新增机床`,width:`600px`,"destroy-on-close":``},{footer:i(()=>[l(c,{onClick:o[17]||=e=>F.value=!1},{default:i(()=>[...o[28]||=[y(`取消`,-1)]]),_:1}),l(c,{type:`primary`,loading:I.value,onClick:ae},{default:i(()=>[...o[29]||=[y(`保存`,-1)]]),_:1},8,[`loading`])]),default:i(()=>[l(x,{ref_key:`formRef`,ref:R,model:z,rules:re,"label-width":`100px`},{default:i(()=>[l(_,{label:`机床名称`,prop:`name`},{default:i(()=>[l(v,{modelValue:z.name,"onUpdate:modelValue":o[10]||=e=>z.name=e,maxlength:`100`},null,8,[`modelValue`])]),_:1}),l(_,{label:`device_code`,prop:`deviceCode`},{default:i(()=>[l(v,{modelValue:z.deviceCode,"onUpdate:modelValue":o[11]||=e=>z.deviceCode=e,maxlength:`100`,disabled:!!L.value},null,8,[`modelValue`,`disabled`])]),_:1}),l(_,{label:`所属车间`,prop:`workshopId`},{default:i(()=>[l(g,{modelValue:z.workshopId,"onUpdate:modelValue":o[12]||=e=>z.workshopId=e},{default:i(()=>[(n(!0),s(u,null,t(k.value,e=>(n(),f(h,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),l(_,{label:`采集地址`,prop:`collectAddressId`},{default:i(()=>[l(g,{modelValue:z.collectAddressId,"onUpdate:modelValue":o[13]||=e=>z.collectAddressId=e,onChange:ie},{default:i(()=>[(n(!0),s(u,null,t(j.value,e=>(n(),f(h,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1}),l(_,{label:`品牌`},{default:i(()=>[l(v,{modelValue:z.brandName,"onUpdate:modelValue":o[14]||=e=>z.brandName=e,disabled:``},null,8,[`modelValue`])]),_:1}),l(_,{label:`IP地址`,prop:`ipAddress`},{default:i(()=>[l(v,{modelValue:z.ipAddress,"onUpdate:modelValue":o[15]||=e=>z.ipAddress=e},null,8,[`modelValue`])]),_:1}),l(_,{label:`绑定工人`},{default:i(()=>[l(g,{modelValue:z.workerId,"onUpdate:modelValue":o[16]||=e=>z.workerId=e,clearable:``},{default:i(()=>[(n(!0),s(u,null,t(M.value,e=>(n(),f(h,{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`]),l($,{modelValue:B.value,"onUpdate:modelValue":o[20]||=e=>B.value=e,title:`导入机床`,width:`500px`,"destroy-on-close":``},{footer:i(()=>[l(c,{onClick:o[19]||=e=>B.value=!1},{default:i(()=>[...o[32]||=[y(`关闭`,-1)]]),_:1}),l(c,{type:`primary`,loading:V.value,onClick:ue},{default:i(()=>[...o[33]||=[y(`确认导入`,-1)]]),_:1},8,[`loading`])]),default:i(()=>[l(c,{type:`primary`,link:``,onClick:le},{default:i(()=>[...o[30]||=[y(`下载模板`,-1)]]),_:1}),l(de,{ref:`uploadRef`,accept:`.xlsx`,limit:1,"auto-upload":!1,"on-change":Z,style:{margin:`16px 0`}},{default:i(()=>[l(c,null,{default:i(()=>[...o[31]||=[y(`选择文件`,-1)]]),_:1})]),_:1},512),U.value?(n(),s(`div`,te,[l(T,{type:`success`},{default:i(()=>[y(`成功`+b(U.value.successCount)+``,1)]),_:1}),U.value.failCount?(n(),f(T,{key:0,type:`danger`,style:{"margin-left":`8px`}},{default:i(()=>[y(`失败`+b(U.value.failCount)+``,1)]),_:1})):d(``,!0),U.value.failDetails?.length?(n(),s(`div`,ne,[(n(!0),s(u,null,t(U.value.failDetails,(e,t)=>(n(),s(`div`,{key:t},b(e),1))),128))])):d(``,!0)])):d(``,!0)]),_:1},8,[`modelValue`])])}}});export{w as default};