import{M as A,$ as re,K as ce,a0 as de,av as pe,aw as ue,ax as me}from"./index.17037962789732.js";import"./index.1703796278973300.js";import"./index.170379627897315.js";import"./index.170379627897317.js";import"./index.1703796278973301.js";import"./index.1703796278973302.js";import"./index.170379627897332.js";import"./index.1703796278973303.js";import"./index.170379627897339.js";import"./index.170379627897316.js";import"./index.170379627897314.js";import"./index.1703796278973304.js";import"./index.1703796278973305.js";import"./index.1703796278973306.js";import{_ as ve}from"./index.170379627897313.js";import"./index.170379627897319.js";import"./index.170379627897327.js";import"./index.170379627897336.js";import{_ as _e}from"./index.vue_vue_type_script_setup_true_name_PermissionButton_lang.1703796278973.js";import"./index.170379627897335.js";import{k as fe,_ as ye,x as he,y as ge}from"./instance.1703796278973.js";import{c as xe}from"./dev.1703796278973.js";import{a as U}from"./comm.1703796278973.js";import{_ as ke}from"./modal.vue_vue_type_script_setup_true_name_DeviceImport_lang.1703796278973.js";import{_ as be}from"./index.vue_vue_type_script_setup_true_lang.170379627897313.js";import{_ as Ce}from"./index.vue_vue_type_script_setup_true_lang.170379627897314.js";import{_ as Ie}from"./index.vue_vue_type_script_setup_true_lang.170379627897315.js";import{b as we,g as Te,q as Se,k as Ae}from"./product.17037962789737.js";import{q as $e}from"./category.1703796278973.js";import{h as De}from"./system.1703796278973.js";import{a as Ne}from"./dayjs.min.1703796278973.js";import{_ as Oe}from"./index.vue_vue_type_script_setup_true_lang.17037962789733.js";import{u as qe}from"./useParams.1703796278973.js";import{a as Ve}from"./setting.1703796278973.js";import{d as Be,k as m,p as Fe,r as w,o as p,x as f,b as i,a as o,z as n,F as k,h as q,u as r,A as _,t as $,E as Ee,c as b,B as T}from"./vue.1703796278973.js";import"./index.17037962789733.js";import"./isArray.1703796278973.js";import"./editor.api.1703796278973.js";import"./preload-helper.1703796278973.js";import"./monaco.contribution.1703796278973.js";import"./_plugin-vue_export-helper.1703796278973.js";import"./index.170379627897320.js";import"./index.170379627897321.js";import"./permission.1703796278973.js";import"./index.170379627897337.js";import"./index.170379627897318.js";import"./index.1703796278973311.js";import"./product.17037962789733.js";import"./index.170379627897322.js";import"./index.170379627897323.js";import"./index.170379627897324.js";import"./index.170379627897325.js";import"./index.170379627897326.js";import"./index.170379627897328.js";import"./Item.1703796278973.js";import"./index.170379627897333.js";import"./index.170379627897334.js";import"./default.1703796278973.js";import"./consts.1703796278973.js";import"./404.1703796278973.js";import"./file.1703796278973.js";import"./index.170379627897329.js";import"./index.170379627897330.js";import"./index.17037962789736.js";import"./utils.1703796278973.js";import"./moment.1703796278973.js";import"./eventsource.1703796278973.js";import"./plugin.1703796278973.js";import"./index.1703796278973157.js";import"./accessConfig.1703796278973.js";import"./encodeQuery.1703796278973.js";import"./store.1703796278973.js";const Je={class:"device-list"},je=n("div",{class:"header-title-container"},[n("div",{class:"header-title-text"},"设备列表")],-1),Le={class:"device-list-content"},Pe={class:"device-list-item-content"},Re=["src"],Me={class:"count-text"},ze={class:"count-label"},Ye={class:"device-list-item-toolbox"},Ke={style:{flex:"1"}},Ue=n("div",{class:"header-title-container"},[n("div",{class:"header-title-text"},"设备管理")],-1),He=["src"],Xe={style:{"font-size":"16px","font-weight":"600"}},Ge={key:0,class:"statustag"},Qe={key:1,class:"statustag warning"},We=n("span",{style:{color:"#999999"}},"设备类型",-1),Ze=n("span",{style:{color:"#999999"}}," 产品名称 ",-1),ga=Be({__name:"index",setup(et){const C=m({}),S=m({}),h=m([]),D=m(!1),V=m(!1),I=m(!1),N=m({}),B=m(!1),H=m(""),X=m(""),F=m(!1),E=qe(),G=De(),Q=["#15C646","#FA3E2E","#4277FF"];m([{imgUrl:"/device-manager/count_icon1.png",count:64,countLabel:"设备总量",toolbars:[{name:"当前在线",value:32},{name:"离线设备",value:32}]},{imgUrl:"/device-manager/count_icon2.png",count:64,countLabel:"XX库房",toolbars:[{name:"当前在线",value:32},{name:"离线设备",value:32},{name:"产品数量",value:32}]}]);const J=e=>Array.isArray(e)&&e.length?(e||[]).map(a=>({...a,id:`classifiedId is ${a.id}`,children:J(a.children)})):[],j=[{title:"ID",dataIndex:"id",key:"id",ellipsis:!0,search:{type:"string",defaultTermType:"eq"}},{title:"设备名称",dataIndex:"name",key:"name",ellipsis:!0,search:{type:"string",first:!0}},{title:"产品名称",dataIndex:"productName",key:"productName",ellipsis:!0,search:{type:"select",rename:"productId",options:()=>new Promise(e=>{we({paging:!1}).then(a=>{e(a.result.map(l=>({label:l.name,value:l.id})))})})}},{title:"创建时间",dataIndex:"createTime",key:"createTime",scopedSlots:!0,width:200,search:{type:"date"}},{title:"状态",dataIndex:"state",key:"state",scopedSlots:!0,search:{type:"select",options:[{label:"禁用",value:"notActive"},{label:"离线",value:"offline"},{label:"在线",value:"online"}]}},{key:"classifiedId",dataIndex:"classifiedId",title:"产品分类",hideInTable:!0,search:{type:"treeSelect",options:()=>new Promise(e=>{$e({paging:!1}).then(a=>{e(J(a.result))})})}},{key:"accessProvider",title:"网关类型",dataIndex:"accessProvider",valueType:"select",hideInTable:!0,search:{type:"select",options:()=>new Promise(e=>{Te().then(a=>{const l=a.result||[];e(Ve(l).map(u=>({...u,value:`accessProvider is ${u.id}`})))})})}},{key:"accessId",dataIndex:"accessId",title:"接入方式",hideInTable:!0,search:{type:"select",options:()=>new Promise(e=>{Se({}).then(a=>{e(a.result.map(l=>({label:l.name,value:`accessId is ${l.id}`})))})})}},{dataIndex:"deviceType",title:"设备类型",valueType:"select",hideInTable:!0,search:{type:"select",options:[{label:"直连设备",value:"device"},{label:"网关子设备",value:"childrenDevice"},{label:"网关设备",value:"gateway"}]}},{dataIndex:"id$dim-assets",title:"所属组织",hideInTable:!0,search:{type:"treeSelect",options:()=>new Promise(e=>{Ae({}).then(a=>{const l=u=>{const c=[];return u.forEach(v=>{v.children&&(v.children=l(v.children)),c.push({...v,id:JSON.stringify({assetType:"device",targets:[{type:"org",id:v.id}]})})}),c};e(l(a.result))})})}},{title:"说明",dataIndex:"describe",key:"describe",ellipsis:!0,search:{type:"string"}},{title:"操作",key:"action",fixed:"right",width:200,scopedSlots:!0}],L=m();Fe(()=>{E.params.value.type==="add"&&P(),E.params.value.type==="import"&&(D.value=!0),xe({name:"AAA"}).then(e=>{L.value=e.result})});const P=()=>{I.value=!0,N.value={}},R=e=>{console.log("handleView"),G.jumpPage("device-manager/list/Detail",{id:e})},M=(e,a)=>{var u,c,v;return e?[{key:"view",text:"详情",tooltip:{title:"详情"},icon:"FileTextOutlined",onClick:()=>{R(e.id)}},{key:"update",text:"编辑",tooltip:{title:"编辑"},icon:"EditOutlined",onClick:()=>{I.value=!0,N.value=e}},{key:"action",text:((u=e.state)==null?void 0:u.value)!=="notActive"?"禁用":"启用",tooltip:{title:((c=e.state)==null?void 0:c.value)!=="notActive"?"禁用":"启用"},icon:e.state.value!=="notActive"?"StopOutlined":"CheckCircleOutlined",popConfirm:{title:`确认${e.state.value!=="notActive"?"禁用":"启用"}?`,onConfirm:async()=>{var x;let g;e.state.value!=="notActive"?g=await ye(e.id):g=await he(e.id),g&&g.status===200?(A.success("操作成功!"),(x=C.value)==null||x.reload()):A.error("操作失败!")}}},{key:"delete",text:"删除",disabled:((v=e.state)==null?void 0:v.value)!=="notActive",tooltip:{title:e.state.value!=="notActive"?"已启用的设备不能删除":"删除"},popConfirm:{title:"确认删除?",onConfirm:async()=>{var x;(await ge(e.id)).status===200?(A.success("操作成功!"),(x=C.value)==null||x.reload()):A.error("操作失败!")}},icon:"DeleteOutlined"}]:[]},W=e=>{h.value=[...e]},Z=e=>{if(F.value)if(h.value.includes(e.id)){const a=h.value.findIndex(l=>l===e.id);h.value.splice(a,1)}else h.value=[...h.value,e.id];else R(e.id)},ee=()=>{var e;I.value=!1,(e=C.value)==null||e.reload()},te=e=>{var l;const a=(l=e==null?void 0:e.terms)==null?void 0:l.map(u=>(u.terms=u.terms.map(c=>c.column&&["classifiedId","accessId","accessProvider"].includes(c.column)?{...c,column:"productId$product-info"}:c),u));S.value={terms:a||[]}},O=()=>{var e;(e=C.value)==null||e.reload()};return(e,a)=>{const l=re,u=w("pro-search"),c=w("AIcon"),v=_e,g=ce,x=de,ae=w("Ellipsis"),z=pe,oe=ue,ne=ve,se=me,ie=w("FullPage"),le=w("page-container");return p(),f(k,null,[i(le,null,{default:o(()=>[n("div",Je,[je,n("div",Le,[(p(!0),f(k,null,q(r(L),(t,d)=>(p(),f("div",{key:d,class:"device-list-item"},[n("div",Pe,[n("img",{src:r(U)("/device-manager/count_icon1.png"),alt:""},null,8,Re),n("div",null,[n("div",Me,_(t.total),1),n("div",ze,_(t.warehouseName),1)])]),n("div",Ye,[(p(!0),f(k,null,q(t.detail,(y,s)=>(p(),f("div",{key:s},[n("div",Ke,[$(_(y.stateName)+" ",1),n("span",{style:Ee({fontSize:"18px",marginLeft:"8px",color:Q[y.colorIdx]})},_(y.total),5)]),s!=t.detail.length-1?(p(),b(l,{key:0,type:"vertical"})):T("",!0)]))),128))])]))),128))])]),i(u,{columns:j,target:"device-instance",onSearch:te}),i(ie,null,{default:o(()=>[Ue,i(se,{ref_key:"instanceRef",ref:C,columns:j,request:r(fe),defaultParams:{sorts:[{name:"createTime",order:"desc"}]},rowSelection:r(F)?{selectedRowKeys:r(h),onChange:W}:!1,params:r(S)},{headerTitle:o(()=>[i(x,null,{default:o(()=>[i(v,{type:"primary",onClick:P,hasPermission:"device/Instance:add"},{icon:o(()=>[i(c,{type:"PlusOutlined"})]),default:o(()=>[$(" 新增设备 ")]),_:1}),i(g,{type:"primary",ghost:""},{icon:o(()=>[i(c,{type:"SafetyOutlined"})]),default:o(()=>[$(" 一键布防 ")]),_:1}),i(g,{danger:""},{icon:o(()=>[i(c,{type:"SafetyOutlined"})]),default:o(()=>[$(" 一键撤防 ")]),_:1})]),_:1})]),card:o(t=>{var d,y;return[i(ne,{value:t,onClick:Z,actions:M(t,"card"),active:r(h).includes(t.id),showStatus:!1,status:(d=t.state)==null?void 0:d.value,statusText:(y=t.state)==null?void 0:y.text,statusNames:{online:"processing",offline:"error",notActive:"warning"}},{img:o(()=>[n("img",{width:80,height:80,src:(t==null?void 0:t.photoUrl)||r(U)("/device/instance/device-card.png")},null,8,He)]),content:o(()=>[i(ae,{style:{width:"calc(100% - 100px)","margin-bottom":"18px"}},{default:o(()=>{var s,Y,K;return[n("span",Xe,_(t.name),1),((s=t.state)==null?void 0:s.value)=="online"?(p(),f("span",Ge,_((Y=t.state)==null?void 0:Y.text),1)):(p(),f("span",Qe,_((K=t.state)==null?void 0:K.text),1))]}),_:2},1024),i(oe,null,{default:o(()=>[i(z,{span:24},{default:o(()=>{var s;return[We,n("span",null,_((s=t.deviceType)==null?void 0:s.text),1)]}),_:2},1024),i(z,{span:24},{default:o(()=>[Ze,n("span",null,_(t.productName),1)]),_:2},1024)]),_:2},1024)]),actions:o(s=>[i(v,{disabled:s.disabled,style:{"margin-left":"10px"},popConfirm:s.popConfirm,tooltip:{...s.tooltip},onClick:s.onClick,hasPermission:"device/Instance:"+s.key},{default:o(()=>[s.key==="delete"?(p(),f(k,{key:0},[i(c,{type:"DeleteOutlined"}),n("span",null,_(s==null?void 0:s.text),1)],64)):(p(),f(k,{key:1},[i(c,{type:s.icon},null,8,["type"]),n("span",null,_(s==null?void 0:s.text),1)],64))]),_:2},1032,["disabled","popConfirm","tooltip","onClick","hasPermission"])]),_:2},1032,["value","actions","active","status","statusText"])]}),state:o(t=>{var d,y;return[i(Oe,{status:(d=t.state)==null?void 0:d.value,text:(y=t.state)==null?void 0:y.text,statusNames:{online:"processing",offline:"error",notActive:"warning"}},null,8,["status","text"])]}),createTime:o(t=>[n("span",null,_(t!=null&&t.createTime?r(Ne)(t.createTime).format("YYYY-MM-DD HH:mm:ss"):""),1)]),action:o(t=>[i(x,null,{default:o(()=>[(p(!0),f(k,null,q(M(t,"table"),d=>(p(),b(v,{key:d.key,disabled:d.disabled,popConfirm:d.popConfirm,tooltip:{...d.tooltip},onClick:d.onClick,type:"link",style:{padding:"0 5px"},danger:d.key==="delete",hasPermission:d.key==="view"?!0:"device/Instance:"+d.key},{icon:o(()=>[i(c,{type:d.icon},null,8,["type"])]),_:2},1032,["disabled","popConfirm","tooltip","onClick","danger","hasPermission"]))),128))]),_:2},1024)]),_:1},8,["request","rowSelection","params"])]),_:1})]),_:1}),r(D)?(p(),b(ke,{key:0,onCancel:a[0]||(a[0]=t=>D.value=!1),onSave:O})):T("",!0),r(V)?(p(),b(be,{key:1,onClose:a[1]||(a[1]=t=>V.value=!1),data:r(S),onSave:O},null,8,["data"])):T("",!0),r(B)?(p(),b(Ce,{key:2,onClose:a[2]||(a[2]=t=>B.value=!1),api:r(H),type:r(X),data:r(S),onSave:O},null,8,["api","type","data"])):T("",!0),r(I)?(p(),b(Ie,{key:3,data:r(N),onClose:a[3]||(a[3]=t=>I.value=!1),onSave:ee},null,8,["data"])):T("",!0)],64)}}});export{ga as default};