import{M as E,ci as ee,K as te,z as se,B as oe,C as ie,a0 as ne,av as re,aw as ae,Y as le,ax as pe}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 de}from"./index.vue_vue_type_script_setup_true_lang.17037962789733.js";import{_ as ce}from"./index.170379627897313.js";import"./index.170379627897319.js";import"./index.170379627897327.js";import"./index.170379627897336.js";import{_ as R}from"./index.vue_vue_type_script_setup_true_name_PermissionButton_lang.1703796278973.js";import me from"./AddDeviceOrProductDialog.1703796278973.js";import ue from"./EditPermissionDialog.1703796278973.js";import{_ as _e}from"./NextDialog.vue_vue_type_script_setup_true_lang.1703796278973.js";import{a as fe}from"./comm.1703796278973.js";import{i as ye,a as ge,j as he,k as ve}from"./department.1703796278973.js";import{d as V,k as q,v as F,m as $,r as D,o as f,x as B,b as o,a as t,u as r,t as x,y as J,j as ke,z as y,A as v,c as k,F as U,h as z,B as j,V as we,G as xe,H as be}from"./vue.1703796278973.js";import{_ as Ce}from"./_plugin-vue_export-helper.1703796278973.js";import"./index.17037962789733.js";import"./dayjs.min.1703796278973.js";import"./isArray.1703796278973.js";import"./editor.api.1703796278973.js";import"./preload-helper.1703796278973.js";import"./monaco.contribution.1703796278973.js";import"./index.170379627897333.js";import"./index.170379627897335.js";import"./index.170379627897320.js";import"./index.170379627897321.js";import"./permission.1703796278973.js";import"./index.170379627897337.js";import"./index.1703796278973312.js";import"./department.17037962789732.js";import"./system.1703796278973.js";import"./index.170379627897334.js";import"./default.1703796278973.js";import"./consts.1703796278973.js";import"./404.1703796278973.js";const M=b=>(xe("data-v-08b783f8"),b=b(),be(),b),Se={class:"product-container"},Ie=["src"],Re={class:"card-item-content-title",style:{"margin-bottom":"18px"}},Le=M(()=>y("div",{class:"card-item-content-text"},"ID",-1)),Pe={style:{cursor:"pointer"},class:"card-item-content-value"},De=M(()=>y("div",{class:"card-item-content-text"}," 资产权限 ",-1)),Be={style:{cursor:"pointer"},class:"card-item-content-value"},je={key:0},Ke={class:"dialogs"},Te=V({name:"product"}),Ee=V({...Te,props:{parentId:null},emits:["openDeviceBind"],setup(b,{emit:G}){const g=b,C="system/Department",K=[{title:"ID",dataIndex:"id",key:"id",ellipsis:!0,fixed:"left",search:{type:"string"}},{title:"名称",dataIndex:"name",key:"name",ellipsis:!0,search:{type:"string",first:!0}},{title:"资产权限",dataIndex:"permission",key:"permission",ellipsis:!0,scopedSlots:!0},{title:"说明",dataIndex:"describe",key:"describe",ellipsis:!0},{title:"状态",dataIndex:"state",key:"state",ellipsis:!0,width:"80px",search:{type:"select",options:[{label:"正常",value:1},{label:"禁用",value:0}]},scopedSlots:!0},{title:"操作",dataIndex:"action",key:"action",fixed:"right",scopedSlots:!0}],O=q({}),A=q(),n=F({_selectedRowKeys:[],selectedRows:[],permissionList:[]}),l={init:()=>{l.getPermissionDict(),$(()=>g.parentId,()=>{l.refresh()})},getActions:(s,e)=>s?[{permission:`${C}:assert`,key:"edit",tooltip:{title:"编辑"},icon:"EditOutlined",onClick:()=>l.clickEdit(s)},{permission:`${C}:bind`,key:"unbind",tooltip:{title:"解除绑定"},popConfirm:{title:"是否解除绑定",onConfirm:()=>l.clickUnBind(s)},icon:"DisconnectOutlined"}]:[],getPermissionDict:()=>{ye().then(s=>{n.permissionList=s.result})},getPermissLabel:s=>{const e=n.permissionList;return e.length<1||s.length<1?"":s.map(c=>{var u;return(u=e.find(h=>h.id===c))==null?void 0:u.name}).join(",")},onSelectChange:s=>{const e=n._selectedRowKeys,p=e.indexOf(s.id);p===-1?(e.push(s.id),n.selectedRows.push(s)):(e.splice(p,1),n.selectedRows.splice(p,1))},cancelSelect:()=>{console.log(1111),n._selectedRowKeys=[],n.selectedRows=[]},getData:(s,e)=>new Promise(p=>{ge(s).then(c=>{const{pageIndex:u,pageSize:h,total:L,data:w}=c.result,P=w.map(S=>S.id);he("product",P,e).then(S=>{const I={};S.result.forEach(_=>{I[_.assetId]=_.grantedPermissions}),w.forEach(_=>{_.permission=I[_.id],_.state={value:_.state===1?"online":_.state===0?"offline":"",text:_.state===1?"正常":_.state===0?"禁用":""}}),p({code:200,result:{data:w,pageIndex:u,pageSize:h,total:L},status:200})})})}),requestFun:async s=>{if(g.parentId){const e={...s,sorts:[{name:"createTime",order:"desc"}],terms:[...s.terms,{column:"id",termType:"dim-assets",value:{assetType:"product",targets:[{type:"org",id:g.parentId}]}}]},p=await l.getData(e,g.parentId);return{code:p.status,result:p.result,status:p.status}}else return{code:200,result:{data:[],pageIndex:0,pageSize:0,total:0},status:200}},clickEdit:s=>{const e=s?[s.id]:[...n._selectedRowKeys];if(e.length<1)return E.warning("请勾选需要编辑的数据");if(s||n.selectedRows.length===1){const u=(s==null?void 0:s.permission)||n.selectedRows[0].permission;a.selectIds=e,a.permissList=u,a.editShow=!0;return}else if(n.selectedRows.length===0)return;const p=n.selectedRows.map(u=>u.permission),c=ee(...p);a.selectIds=e,a.permissList=c,a.editShow=!0},clickUnBind:s=>{const e=s?[s.id]:[...n._selectedRowKeys];if(e.length<1)return E.warning("请勾选需要解绑的数据");const p=[{targetType:"org",targetId:g.parentId,assetType:"product",assetIdList:e}];ve("product",p).then(()=>{n._selectedRowKeys=[],E.success("操作成功"),l.refresh()})},refresh:()=>{we(()=>{A.value.reload()})},addConfirm:()=>{l.refresh(),a.nextShow=!0}};l.init();const a=F({selectIds:[],permissList:[],addShow:!1,editShow:!1,nextShow:!1});return $(()=>g.parentId,()=>{n._selectedRowKeys=[],n.selectedRows=[]}),$(()=>a.addShow,s=>{s||(n.selectedRows=[])}),(s,e)=>{const p=D("pro-search"),c=D("AIcon"),u=te,h=se,L=oe,w=ie,P=ne,S=D("Ellipsis"),I=re,_=ae,H=le,Y=ce,Q=de,W=pe,X=D("FullPage");return f(),B("div",Se,[o(p,{columns:K,target:"category",onSearch:e[0]||(e[0]=i=>O.value={...i}),style:{"margin-bottom":"0"}}),o(X,null,{default:t(()=>[o(W,{ref_key:"tableRef",ref:A,request:l.requestFun,gridColumn:2,params:r(O),rowSelection:{selectedRowKeys:r(n)._selectedRowKeys,onChange:i=>r(n)._selectedRowKeys=[...i],onSelectNone:l.cancelSelect},columns:K},{headerTitle:t(()=>[o(P,null,{default:t(()=>[o(R,{hasPermission:`${C}:assert`,type:"primary",onClick:e[1]||(e[1]=i=>r(a).addShow=!0)},{default:t(()=>[o(c,{type:"PlusOutlined"}),x("资产分配 ")]),_:1},8,["hasPermission"]),o(w,{trigger:"hover"},{overlay:t(()=>[o(L,null,{default:t(()=>[o(h,null,{default:t(()=>[o(R,{hasPermission:`${C}:bind`,popConfirm:{title:"是否批量解除绑定",onConfirm:()=>l.clickUnBind()}},{default:t(()=>[o(c,{type:"DisconnectOutlined"}),x("批量解绑 ")]),_:1},8,["hasPermission","popConfirm"])]),_:1}),o(h,null,{default:t(()=>[o(R,{hasPermission:`${C}:assert`,onClick:e[2]||(e[2]=()=>l.clickEdit())},{default:t(()=>[o(c,{type:"EditOutlined"}),x("批量编辑 ")]),_:1},8,["hasPermission"])]),_:1})]),_:1})]),default:t(()=>[o(u,null,{default:t(()=>[x("批量操作")]),_:1})]),_:1})]),_:1})]),card:t(i=>{var m,N;return[o(Y,J({value:i,actions:l.getActions(i,"card")},i,{active:r(n)._selectedRowKeys.includes(i.id),onClick:l.onSelectChange,status:(m=i.state)==null?void 0:m.value,statusText:(N=i.state)==null?void 0:N.text,statusNames:{online:"processing",offline:"error"}}),{img:t(()=>[ke(s.$slots,"img",{},()=>[y("img",{src:r(fe)("/device-product.png"),style:{cursor:"pointer"}},null,8,Ie)],!0)]),content:t(()=>[y("h3",Re,[o(S,{style:{width:"calc(100% - 100px)"}},{default:t(()=>[x(v(i.name),1)]),_:2},1024)]),o(_,null,{default:t(()=>[o(I,{span:12},{default:t(()=>[Le,y("div",Pe,v(i.id),1)]),_:2},1024),o(I,{span:12},{default:t(()=>[De,y("div",Be,v(r(n).permissionList.length&&l.getPermissLabel(i.permission)),1)]),_:2},1024)]),_:2},1024)]),actions:t(d=>[o(H,J(d.tooltip,{title:d.disabled&&d.tooltip.title}),{default:t(()=>[d.key==="others"?(f(),k(w,{key:0,placement:"bottomRight"},{overlay:t(()=>[o(L,null,{default:t(()=>[(f(!0),B(U,null,z(d.children,(T,Z)=>(f(),k(h,{key:Z},{default:t(()=>[o(u,{type:"link",onClick:T.onClick},{default:t(()=>[o(c,{type:T.icon},null,8,["type"]),y("span",null,v(T.text),1)]),_:2},1032,["onClick"])]),_:2},1024))),128))]),_:2},1024)]),default:t(()=>[o(u,null,{default:t(()=>[o(c,{type:d.icon},null,8,["type"]),y("span",null,v(d.text),1)]),_:2},1024)]),_:2},1024)):(f(),k(R,{key:1,hasPermission:d.permission,tooltip:d.tooltip,"pop-confirm":d.popConfirm,onClick:d.onClick,disabled:d.disabled},{default:t(()=>[o(c,{type:d.icon},null,8,["type"]),d.key!=="delete"?(f(),B("span",je,v(d.text),1)):j("",!0)]),_:2},1032,["hasPermission","tooltip","pop-confirm","onClick","disabled"]))]),_:2},1040,["title"])]),_:2},1040,["value","actions","active","onClick","status","statusText"])]}),permission:t(i=>[x(v(r(n).permissionList.length&&l.getPermissLabel(i.permission)),1)]),state:t(i=>[o(Q,{status:i.state.value,text:i.state.text,statusNames:{online:"processing",offline:"error"}},null,8,["status","text"])]),action:t(i=>[o(P,{size:16},{default:t(()=>[(f(!0),B(U,null,z(l.getActions(i,"table"),m=>(f(),k(R,{hasPermission:m.permission,type:"link",tooltip:m==null?void 0:m.tooltip,"pop-confirm":m.popConfirm,onClick:m.onClick,disabled:m==null?void 0:m.disabled},{default:t(()=>[o(c,{type:m.icon},null,8,["type"])]),_:2},1032,["hasPermission","tooltip","pop-confirm","onClick","disabled"]))),256))]),_:2},1024)]),_:3},8,["request","params","rowSelection"])]),_:3}),y("div",Ke,[r(a).addShow?(f(),k(me,{key:0,visible:r(a).addShow,"onUpdate:visible":e[3]||(e[3]=i=>r(a).addShow=i),"query-columns":K,"parent-id":g.parentId,"all-permission":r(n).permissionList,"asset-type":"product",onConfirm:l.addConfirm},null,8,["visible","parent-id","all-permission","onConfirm"])):j("",!0),r(a).editShow?(f(),k(ue,{key:1,visible:r(a).editShow,"onUpdate:visible":e[4]||(e[4]=i=>r(a).editShow=i),ids:r(a).selectIds,"permission-list":r(a).permissList,"parent-id":g.parentId,"all-permission":r(n).permissionList,"asset-type":"product",onConfirm:l.refresh},null,8,["visible","ids","permission-list","parent-id","all-permission","onConfirm"])):j("",!0),r(a).nextShow?(f(),k(_e,{key:2,visible:r(a).nextShow,"onUpdate:visible":e[5]||(e[5]=i=>r(a).nextShow=i),onConfirm:e[6]||(e[6]=i=>G("openDeviceBind"))},null,8,["visible"])):j("",!0)])])}}});const Lt=Ce(Ee,[["__scopeId","data-v-08b783f8"]]);export{Lt as default};