Files
aiot-platform-ui/apps/web-antd/dist/js/card-view-DBESf9eO.js
lzh 35c3d0e06e
All checks were successful
Web UI CI/CD / build-and-deploy (push) Successful in 8s
chore: build and deploy web-antd
2026-03-18 16:18:59 +08:00

2 lines
5.2 KiB
JavaScript

var B=Object.defineProperty;var I=Object.getOwnPropertySymbols;var L=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable;var S=(c,n,o)=>n in c?B(c,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):c[n]=o,P=(c,n)=>{for(var o in n||(n={}))L.call(n,o)&&S(c,o,n[o]);if(I)for(var o of I(n))j.call(n,o)&&S(c,o,n[o]);return c};var D=(c,n,o)=>new Promise((h,u)=>{var g=l=>{try{_(o.next(l))}catch(b){u(b)}},m=l=>{try{_(o.throw(l))}catch(b){u(b)}},_=l=>l.done?h(l.value):Promise.resolve(l.value).then(g,m);_((o=o.apply(c,n)).next())});import{b_ as O,au as q,an as v,ax as E,aC as M,ay as y,bE as R,bZ as K,bu as Y,bS as A,ac as F}from"./bootstrap-CW2RsBQq.js";import{d as J}from"./index-DvRms1Sa.js";import{_ as U}from"./dict-tag.vue_vue_type_script_setup_true_lang-DVL6Wnh1.js";import{m as Z,b9 as C,v as G,be as H,ad as k,b2 as d,bL as Q,ac as W,ab as f,bJ as r,I as X,bb as ee,u as e,j as i,ae as a,bp as T,ai as N}from"../jse/index-index-Cy8amzIl.js";import{D as $}from"./dict-enum-CaHgMaDZ.js";const te={class:"product-card-view"},se={class:"min-h-96"},ae={class:"mb-3 flex items-center"},oe={class:"product-icon"},le={class:"ml-3 min-w-0 flex-1"},ie={class:"product-title"},ne={class:"mb-3 flex items-start"},ce={class:"info-list flex-1"},de={class:"info-item"},re={class:"info-value product-key"},ue={class:"info-item"},pe={class:"info-value text-primary"},ve={class:"info-item"},fe={class:"info-item"},me={class:"product-image"},_e={class:"action-buttons"},ge={key:0,class:"mt-3 flex justify-end"},be=Z({__name:"card-view",props:{categoryList:{},searchParams:{}},emits:["create","delete","detail","edit","thingModel"],setup(c,{expose:n,emit:o}){const h=c,u=o,g=C(!1),m=C([]),_=C(0),l=C({pageNo:1,pageSize:12});function b(p){const t=h.categoryList.find(w=>w.id===p);return(t==null?void 0:t.name)||"未分类"}function x(){return D(this,null,function*(){g.value=!0;try{const p=yield J(P(P({},l.value),h.searchParams));m.value=p.list||[],_.value=p.total||0}finally{g.value=!1}})}function V(p,t){l.value.pageNo=p,l.value.pageSize=t,x()}return n({reload:x,query:()=>{l.value.pageNo=1,x()}}),G(()=>{x()}),(p,t)=>{const w=H("loading");return d(),k("div",te,[Q((d(),k("div",se,[m.value.length>0?(d(),f(e(K),{key:0,gutter:[16,16]},{default:r(()=>[(d(!0),k(X,null,ee(m.value,s=>(d(),f(e(O),{key:s.id,xs:24,sm:12,md:12,lg:6},{default:r(()=>[i(e(q),{"body-style":{padding:"16px"},class:"product-card h-full rounded-lg transition-all duration-300 hover:-translate-y-0.5 hover:shadow-lg"},{default:r(()=>[a("div",ae,[a("div",oe,[i(e(v),{icon:s.icon||"lucide:box",class:"text-xl"},null,8,["icon"])]),a("div",le,[a("div",ie,T(s.name),1)])]),a("div",ne,[a("div",ce,[a("div",de,[t[2]||(t[2]=a("span",{class:"info-label"},"产品标识",-1)),i(e(E),{title:s.productKey||s.id,placement:"top"},{default:r(()=>[a("span",re,T(s.productKey||s.id),1)]),_:2},1032,["title"])]),a("div",ue,[t[3]||(t[3]=a("span",{class:"info-label"},"产品分类",-1)),a("span",pe,T(b(s.categoryId)),1)]),a("div",ve,[t[4]||(t[4]=a("span",{class:"info-label"},"产品类型",-1)),i(e(U),{type:e($).IOT_PRODUCT_DEVICE_TYPE,value:s.deviceType,class:"info-tag m-0"},null,8,["type","value"])]),a("div",fe,[t[5]||(t[5]=a("span",{class:"info-label"},"产品状态",-1)),i(e(U),{type:e($).IOT_PRODUCT_STATUS,value:s.status},null,8,["type","value"])])]),a("div",me,[s.picUrl?(d(),f(e(M),{key:0,src:s.picUrl,preview:!0,class:"size-full rounded object-cover"},null,8,["src"])):(d(),f(e(v),{key:1,icon:"lucide:image",class:"text-2xl opacity-50"}))])]),a("div",_e,[i(e(y),{size:"small",class:"action-btn action-btn-edit",onClick:z=>u("edit",s)},{default:r(()=>[i(e(v),{icon:"lucide:edit",class:"mr-1"}),t[6]||(t[6]=N(" 编辑 ",-1))]),_:1},8,["onClick"]),i(e(y),{size:"small",class:"action-btn action-btn-detail",onClick:z=>u("detail",s.id)},{default:r(()=>[i(e(v),{icon:"lucide:eye",class:"mr-1"}),t[7]||(t[7]=N(" 详情 ",-1))]),_:1},8,["onClick"]),i(e(y),{size:"small",class:"action-btn action-btn-model",onClick:z=>u("thingModel",s.id)},{default:r(()=>[i(e(v),{icon:"lucide:git-branch",class:"mr-1"}),t[8]||(t[8]=N(" 物模型 ",-1))]),_:1},8,["onClick"]),s.status===1?(d(),f(e(E),{key:0,title:"已发布的产品不能删除"},{default:r(()=>[i(e(y),{size:"small",danger:"",disabled:"",class:"action-btn action-btn-delete !w-8"},{default:r(()=>[i(e(v),{icon:"lucide:trash-2",class:"text-sm"})]),_:1})]),_:1})):(d(),f(e(R),{key:1,title:`确认删除产品 ${s.name} 吗?`,onConfirm:z=>u("delete",s)},{default:r(()=>[i(e(y),{size:"small",danger:"",class:"action-btn action-btn-delete !w-8"},{default:r(()=>[i(e(v),{icon:"lucide:trash-2",class:"text-sm"})]),_:1})]),_:1},8,["title","onConfirm"]))])]),_:2},1024)]),_:2},1024))),128))]),_:1})):(d(),f(e(Y),{key:1,description:"暂无产品数据",class:"my-20"}))])),[[w,g.value]]),m.value.length>0?(d(),k("div",ge,[i(e(A),{current:l.value.pageNo,"onUpdate:current":t[0]||(t[0]=s=>l.value.pageNo=s),"page-size":l.value.pageSize,"onUpdate:pageSize":t[1]||(t[1]=s=>l.value.pageSize=s),total:_.value,"show-total":s=>`${s}`,"show-quick-jumper":"","show-size-changer":"","page-size-options":["12","24","36","48"],onChange:V},null,8,["current","page-size","total","show-total"])])):W("",!0)])}}}),ze=F(be,[["__scopeId","data-v-9f257ae6"]]);export{ze as default};