UnisKB/static/admin/assets/index-DAPyiYkI.js

2 lines
18 KiB
JavaScript
Raw Normal View History

import{ay as Z,aB as _,aO as X,bG as j,bH as pe,bI as L,aV as ae,aD as u,b7 as H,aW as T,aF as g,aX as Q,b8 as B,aI as f,aE as P,aG as s,aH as t,aY as te,aJ as A,aK as W,b3 as ee,aC as p,cf as se,aA as ve,bF as De,aL as Pe,cL as z,aU as fe,b6 as be,b2 as E,bJ as J,bK as G,b1 as q,aS as Y,ce as Oe,c0 as he,cD as _e,cg as Ie}from"./admin-BkqzSx7d.js";import{l as x,R as Ne}from"./permission-api-juA6tR8N.js";import{_ as Se}from"./MemberFormContent.vue_vue_type_script_setup_true_lang-Cam5gSUF.js";import"./workspace-CgklukVi.js";const Ue={class:"ellipsis",style:{width:"96px"}},Le={class:"footer border-t"},Fe=Z({__name:"PermissionConfiguration",props:{currentRole:{}},setup(K){const y=K,V=_(!1),v=_([]),$=X(()=>{const l=j([pe.IS_EE,pe.IS_PE],"OR"),r=j([L.ADMIN,L.EXTENDS_ADMIN],"OR"),o=j([L.WORKSPACE_MANAGE.getWorkspaceRole,L.EXTENDS_WORKSPACE_MANAGE.getWorkspaceRole],"OR");return!l||r?!1:o}),M=X(()=>{var l;return((l=y.currentRole)==null?void 0:l.internal)||$.value});function R(l){const r=[];return l.forEach(o=>{o.children.forEach(i=>{const h=i.permission.filter(c=>c.enable).map(c=>c.id);r.push({module:o.name,name:i.name,permission:i.permission,enable:i.enable,perChecked:h,indeterminate:h.length>0&&h.length<i.permission.length})})}),r}async function d(){var l;if((l=y.currentRole)!=null&&l.id)try{v.value=[];const r=await Ne.getRolePermissionList(y.currentRole.id,V);v.value=R(r.data)}catch(r){console.error(r)}}function D(l,r,o){r.enable=l;const i=o.permission.find(c=>/:READ$/.test(c.id));l&&r.id!==(i==null?void 0:i.id)&&i&&!i.enable?i.enable=!0:!l&&r.id===(i==null?void 0:i.id)&&o.permission.forEach(c=>c.enable=!1);const h=o.permission.filter(c=>c.enable).map(c=>c.id);o.perChecked=h,o.enable=h.length===o.permission.length,o.indeterminate=h.length>0&&h.length<o.permission.length}function I(l,r){l?r.permission.forEach(o=>o.enable=!0):r.permission.forEach(o=>o.enable=!1),r.perChecked=l?r.permission.map(o=>o.id):[],r.indeterminate=!1}const O=X(()=>v.value.length>0&&v.value.every(l=>l.enable)),N=X(()=>!O.value&&v.value.some(l=>l.enable));function m(l){v.value.forEach(r=>{r.enable=l,r.perChecked=l?r.permission.map(o=>o.id):[],r.indeterminate=!1,r.permission.forEach(o=>o.enable=l)})}const a=({row:l,column:r,rowIndex:o,columnIndex:i})=>{if(i===0){const h=v.value.filter(e=>e.module===l.module),c=v.value.findIndex(e=>e.module===l.module);return o===c?{rowspan:h.length,colspan:1}:{rowspan:0,colspan:0}}};ae(()=>{var l;return(l=y.currentRole)==null?void 0:l.id},d,{immediate:!0});async function b(){var l;try{const r=v.value.flatMap(o=>o.permission.map(i=>({id:i.id,enable:i.enable})));await x("role").saveRolePermission((l=y.currentRole)==null?void 0:l.id,r,V),ee(p("common.saveSuccess"))}catch(r){console.log(r)}}return(l,r)=>{const o=u("el-table-column"),i=u("el-checkbox"),h=u("app-table"),c=u("el-scrollbar"),e=u("el-button"),n=H("loading");return g(),T(Q,null,[B((g(),P(c,null,{default:s(()=>[t(h,{data:v.value,border:"","span-method":a,maxTableHeight:280},{default:s(()=>[t(o,{prop:"module",width:150,label:l.$t("views.role.permission.moduleName")},null,8,["label"]),t(o,{prop:"name",width:150,label:l.$t("views.role.permission.operationTarget")},null,8,["label"]),t(o,{prop:"permission",label:l.$t("views.model.modelForm.permissionType.label")},{default:s(({row:w})=>[(g(!0),T(Q,null,te(w.permission,k=>(g(),P(i,{key:k.id,modelValue:k.enable,"onUpdate:modelValue":C=>k.enable=C,disabled:M.value,onChange:C=>D(C,k,w)},{default:s(()=>[f("div",Ue,A(k.name),1)]),_:2},1032,["modelValue","onUpdate:modelValue","disabled","onChange"]))),128))]),_:1},8,["label"]),t(o,{width:40},{header:s(()=>[t(i,{"model-value":O.value,indeterminate:N.value,disabled:M.value,onChange:m},null,8,["model-value","indeterminate","disabled"])]),default:s(({row:w})=>[t(i,{modelValue:w.enable,"onUpdate:modelValue":k=>w.enable=k,indeterminate:w.indeterminate,disabled:M.value,onChange:k=>I(k,w)},null,8,["modelValue","onUpdate:modelValue","indeterminate","disabled","onChange"])]),_:1})]),_:1},8,["data"])]),_:1})),[[n,V.value]]),f("div",Le,[t(e,{type:"primary",disabled:M.value,loading:V.value,on