2 lines
5.2 KiB
JavaScript
2 lines
5.2 KiB
JavaScript
var B=Object.defineProperty;var I=Object.getOwnPropertySymbols;var L=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable;var D=(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)&&D(c,o,n[o]);if(I)for(var o of I(n))O.call(n,o)&&D(c,o,n[o]);return c};var S=(c,n,o)=>new Promise((h,u)=>{var g=l=>{try{_(o.next(l))}catch(y){u(y)}},m=l=>{try{_(o.throw(l))}catch(y){u(y)}},_=l=>l.done?h(l.value):Promise.resolve(l.value).then(g,m);_((o=o.apply(c,n)).next())});import{c1 as j,au as q,an as v,ax as E,aA as M,ay as b,aO as R,c0 as A,bE as K,bV as Y,ac as F}from"./bootstrap-CRjSNGHY.js";import{d as J}from"./index-y8WBv__M.js";import{_ as U}from"./dict-tag.vue_vue_type_script_setup_true_lang-BB6x-AyV.js";import{m as G,b9 as C,v as H,be as Q,ad as k,b2 as d,bL as W,ac as X,ab as f,bJ as r,I as Z,bb as ee,u as e,j as i,ae as s,bp as T,ai as N}from"../jse/index-index-CMeVxoEG.js";import{D as V}from"./dict-enum-CaHgMaDZ.js";const te={class:"product-card-view"},ae={class:"min-h-96"},se={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"},ye=G({__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 y(p){const t=h.categoryList.find(w=>w.id===p);return(t==null?void 0:t.name)||"未分类"}function x(){return S(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 $(p,t){l.value.pageNo=p,l.value.pageSize=t,x()}return n({reload:x,query:()=>{l.value.pageNo=1,x()}}),H(()=>{x()}),(p,t)=>{const w=Q("loading");return d(),k("div",te,[W((d(),k("div",ae,[m.value.length>0?(d(),f(e(A),{key:0,gutter:[16,16]},{default:r(()=>[(d(!0),k(Z,null,ee(m.value,a=>(d(),f(e(j),{key:a.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(()=>[s("div",se,[s("div",oe,[i(e(v),{icon:a.icon||"lucide:box",class:"text-xl"},null,8,["icon"])]),s("div",le,[s("div",ie,T(a.name),1)])]),s("div",ne,[s("div",ce,[s("div",de,[t[2]||(t[2]=s("span",{class:"info-label"},"产品标识",-1)),i(e(E),{title:a.productKey||a.id,placement:"top"},{default:r(()=>[s("span",re,T(a.productKey||a.id),1)]),_:2},1032,["title"])]),s("div",ue,[t[3]||(t[3]=s("span",{class:"info-label"},"产品分类",-1)),s("span",pe,T(y(a.categoryId)),1)]),s("div",ve,[t[4]||(t[4]=s("span",{class:"info-label"},"产品类型",-1)),i(e(U),{type:e(V).IOT_PRODUCT_DEVICE_TYPE,value:a.deviceType,class:"info-tag m-0"},null,8,["type","value"])]),s("div",fe,[t[5]||(t[5]=s("span",{class:"info-label"},"产品状态",-1)),i(e(U),{type:e(V).IOT_PRODUCT_STATUS,value:a.status},null,8,["type","value"])])]),s("div",me,[a.picUrl?(d(),f(e(M),{key:0,src:a.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"}))])]),s("div",_e,[i(e(b),{size:"small",class:"action-btn action-btn-edit",onClick:z=>u("edit",a)},{default:r(()=>[i(e(v),{icon:"lucide:edit",class:"mr-1"}),t[6]||(t[6]=N(" 编辑 ",-1))]),_:1},8,["onClick"]),i(e(b),{size:"small",class:"action-btn action-btn-detail",onClick:z=>u("detail",a.id)},{default:r(()=>[i(e(v),{icon:"lucide:eye",class:"mr-1"}),t[7]||(t[7]=N(" 详情 ",-1))]),_:1},8,["onClick"]),i(e(b),{size:"small",class:"action-btn action-btn-model",onClick:z=>u("thingModel",a.id)},{default:r(()=>[i(e(v),{icon:"lucide:git-branch",class:"mr-1"}),t[8]||(t[8]=N(" 物模型 ",-1))]),_:1},8,["onClick"]),a.status===1?(d(),f(e(E),{key:0,title:"已发布的产品不能删除"},{default:r(()=>[i(e(b),{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:`确认删除产品 ${a.name} 吗?`,onConfirm:z=>u("delete",a)},{default:r(()=>[i(e(b),{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(K),{key:1,description:"暂无产品数据",class:"my-20"}))])),[[w,g.value]]),m.value.length>0?(d(),k("div",ge,[i(e(Y),{current:l.value.pageNo,"onUpdate:current":t[0]||(t[0]=a=>l.value.pageNo=a),"page-size":l.value.pageSize,"onUpdate:pageSize":t[1]||(t[1]=a=>l.value.pageSize=a),total:_.value,"show-total":a=>`共 ${a} 条`,"show-quick-jumper":"","show-size-changer":"","page-size-options":["12","24","36","48"],onChange:$},null,8,["current","page-size","total","show-total"])])):X("",!0)])}}}),ze=F(ye,[["__scopeId","data-v-9f257ae6"]]);export{ze as default};
|