2 lines
6.1 KiB
JavaScript
2 lines
6.1 KiB
JavaScript
var H=Object.defineProperty,M=Object.defineProperties;var G=Object.getOwnPropertyDescriptors;var V=Object.getOwnPropertySymbols;var J=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable;var L=(c,l,s)=>l in c?H(c,l,{enumerable:!0,configurable:!0,writable:!0,value:s}):c[l]=s,m=(c,l)=>{for(var s in l||(l={}))J.call(l,s)&&L(c,s,l[s]);if(V)for(var s of V(l))K.call(l,s)&&L(c,s,l[s]);return c},O=(c,l)=>M(c,G(l));var A=(c,l,s)=>new Promise((x,u)=>{var _=r=>{try{v(s.next(r))}catch(p){u(p)}},g=r=>{try{v(s.throw(r))}catch(p){u(p)}},v=r=>r.done?x(r.value):Promise.resolve(r.value).then(_,g);v((s=s.apply(c,l)).next())});import{c1 as $,au as Q,an as y,aL as W,aB as X,ay as N,aO as Z,c0 as ee,bE as oe,bV as te,bd as ae,ac as se}from"./bootstrap-DsjPfOC_.js";import{D as w,a as le}from"./index-yxfSHS0I.js";import{m as re,b9 as P,v as ne,be as ie,ad as S,b2 as b,bL as ce,ac as de,ab as z,bJ as f,I as fe,bb as ue,u as a,j as d,ae as n,aT as pe,ai as T,bp as h,cY as be,ci as ge}from"../jse/index-index-CO0ZsLf2.js";import{D as B}from"./dict-enum-DRf9W45H.js";const ve={class:"device-card-view"},Ce={class:"min-h-[400px]"},_e={class:"card-content"},me={class:"card-header"},ye={class:"device-icon"},Te=["title"],he={class:"info-section"},xe={class:"info-item"},De=["onClick"],ke={class:"info-item"},Ne={class:"info-item"},Pe=["title"],Se={class:"action-bar"},Ee={key:0,class:"mt-6 flex justify-center"},we=re({name:"DeviceCardView",__name:"device-card-view",props:{products:{},deviceGroups:{},searchParams:{}},emits:["create","delete","detail","edit","model","productDetail"],setup(c,{expose:l,emit:s}){const x=c,u=s,_=P(!1),g=P([]),v=P(0),r=P({pageNo:1,pageSize:12}),p={[w.ONLINE]:{text:"在线",color:"#52c41a",bgColor:"#f6ffed",borderColor:"#b7eb8f"},[w.OFFLINE]:{text:"离线",color:"#faad14",bgColor:"#fffbe6",borderColor:"#ffe58f"},[w.INACTIVE]:{text:"未激活",color:"#ff4d4f",bgColor:"#fff1f0",borderColor:"#ffccc7"},default:{text:"未知状态",color:"#595959",bgColor:"#fafafa",borderColor:"#d9d9d9"}},I={success:{color:"#52c41a",bgColor:"#f6ffed",borderColor:"#b7eb8f"},processing:{color:"#1890ff",bgColor:"#e6f7ff",borderColor:"#91d5ff"},warning:{color:"#faad14",bgColor:"#fffbe6",borderColor:"#ffe58f"},error:{color:"#ff4d4f",bgColor:"#fff1f0",borderColor:"#ffccc7"},default:{color:"#595959",bgColor:"#fafafa",borderColor:"#d9d9d9"}};function F(i){switch(i){case"danger":return"error";case"default":case"error":case"processing":case"success":case"warning":return i;case"info":return"default";case"primary":return"processing";default:return"default"}}function R(i){const e=x.products.find(C=>C.id===i);return(e==null?void 0:e.name)||"-"}function D(){return A(this,null,function*(){_.value=!0;try{const i=yield le(m(m({},r.value),x.searchParams));g.value=i.list||[],v.value=i.total||0}finally{_.value=!1}})}function U(i,e){r.value.pageNo=i,r.value.pageSize=e,D()}function j(i){return{0:"blue",1:"cyan"}[i]||"default"}function k(i){const e=Number(i),C=Number.isFinite(e),o=C&&p[e]||p.default,t=ae(B.IOT_DEVICE_STATE,C?e:i);if(t){if(!t.colorType&&!t.cssClass)return O(m({},o),{text:t.label||o.text});const Y=F(t.colorType);if(be(t.cssClass)){const E=new ge(t.cssClass);return{text:t.label||o.text,color:E.toHexString(),bgColor:E.clone().setAlpha(.15).toRgbString(),borderColor:E.clone().lighten(30).toHexString()}}const q=I[Y]||I.default;return m({text:t.label||o.text},q)}return o}return ne(()=>{D()}),l({reload:D,search:()=>{r.value.pageNo=1,D()}}),(i,e)=>{const C=ie("loading");return b(),S("div",ve,[ce((b(),S("div",Ce,[g.value.length>0?(b(),z(a(ee),{key:0,gutter:[16,16]},{default:f(()=>[(b(!0),S(fe,null,ue(g.value,o=>(b(),z(a($),{key:o.id,xs:24,sm:12,md:8,lg:6},{default:f(()=>[d(a(Q),{"body-style":{padding:0},class:"device-card",bordered:!1},{default:f(()=>[n("div",_e,[n("div",me,[n("div",ye,[d(a(y),{icon:"mdi:chip"})]),n("div",{class:"status-badge",style:pe({color:k(o.state).color,backgroundColor:k(o.state).bgColor,borderColor:k(o.state).borderColor})},[e[3]||(e[3]=n("span",{class:"status-dot"},null,-1)),T(" "+h(k(o.state).text),1)],4)]),n("div",{class:"device-name",title:o.deviceName},h(o.deviceName),9,Te),n("div",he,[n("div",xe,[e[4]||(e[4]=n("span",{class:"label"},"所属产品",-1)),n("a",{class:"value link",onClick:t=>{t.stopPropagation(),u("productDetail",o.productId)}},h(R(o.productId)),9,De)]),n("div",ke,[e[5]||(e[5]=n("span",{class:"label"},"设备类型",-1)),d(a(W),{color:j(o.deviceType),size:"small"},{default:f(()=>[T(h(a(X)(a(B).IOT_PRODUCT_DEVICE_TYPE,o.deviceType)),1)]),_:2},1032,["color"])]),n("div",Ne,[e[6]||(e[6]=n("span",{class:"label"},"Deviceid",-1)),n("span",{class:"value code",title:o.Deviceid||o.id},h(o.Deviceid||o.id),9,Pe)])]),n("div",Se,[d(a(N),{type:"default",size:"small",class:"action-btn btn-edit",onClick:t=>{t.stopPropagation(),u("edit",o)}},{default:f(()=>[d(a(y),{icon:"ph:note-pencil"}),e[7]||(e[7]=T(" 编辑 ",-1))]),_:1},8,["onClick"]),d(a(N),{type:"default",size:"small",class:"action-btn btn-view",onClick:t=>{t.stopPropagation(),u("detail",o.id)}},{default:f(()=>[d(a(y),{icon:"ph:eye"}),e[8]||(e[8]=T(" 详情 ",-1))]),_:1},8,["onClick"]),d(a(N),{type:"default",size:"small",class:"action-btn btn-data",onClick:t=>{t.stopPropagation(),u("model",o.id)}},{default:f(()=>[d(a(y),{icon:"ph:database"}),e[9]||(e[9]=T(" 数据 ",-1))]),_:1},8,["onClick"]),d(a(Z),{title:"确认删除该设备吗?",onConfirm:()=>u("delete",o)},{default:f(()=>[d(a(N),{type:"default",size:"small",class:"action-btn btn-delete",onClick:e[0]||(e[0]=t=>t.stopPropagation())},{default:f(()=>[d(a(y),{icon:"ph:trash"})]),_:1})]),_:1},8,["onConfirm"])])])]),_:2},1024)]),_:2},1024))),128))]),_:1})):(b(),z(a(oe),{key:1,description:"暂无设备数据",class:"my-20"}))])),[[C,_.value]]),g.value.length>0?(b(),S("div",Ee,[d(a(te),{current:r.value.pageNo,"onUpdate:current":e[1]||(e[1]=o=>r.value.pageNo=o),"page-size":r.value.pageSize,"onUpdate:pageSize":e[2]||(e[2]=o=>r.value.pageSize=o),total:v.value,"show-total":o=>`共 ${o} 条`,"show-quick-jumper":"","show-size-changer":"","page-size-options":["12","24","36","48"],onChange:U},null,8,["current","page-size","total","show-total"])])):de("",!0)])}}}),Ae=se(we,[["__scopeId","data-v-dafc08db"]]);export{Ae as default};
|