2 lines
5.2 KiB
Java
2 lines
5.2 KiB
Java
var _=(h,T,k)=>new Promise((w,p)=>{var u=a=>{try{f(k.next(a))}catch(g){p(g)}},v=a=>{try{f(k.throw(a))}catch(g){p(g)}},f=a=>a.done?w(a.value):Promise.resolve(a.value).then(u,v);f((k=k.apply(h,T)).next())});import{d as Q,ah as I,aC as P,as as F,aF as n,k as s,u as i,f as d,G as c,ag as W,av as X,au as L,aG as Z}from"./vue-vendor-C7Zq48Yl.js";import{a as ee,u as te,B as le}from"./index-CjmLh_1m.js";import{B as oe}from"./index-CUdllngZ.js";import ne from"./RoleDataRuleDrawer-DByshB0_.js";import{m as se,n as $,o as ae}from"./role.api-DS8kwgVq.js";import{cv as N,Y as re,d as ie}from"./index-BI6CMai0.js";import"./antd-vue-vendor-BPnV8VqP.js";import"./index-DeEq83Ov.js";import"./index-pxs5MULf.js";import"./index-BgYCgfME.js";import"./index-f8O7TghW.js";import"./useTimeout-DDl4l82I.js";import"./vxe-table-vendor-B88kchpX.js";import"./useIntersectionObserver-BMxdTqP3.js";import"./bem-EhXRi4nW.js";import"./props-D4vdsy3J.js";import"./useContextMenu-Cwx1lIOK.js";const ue=Q({__name:"RolePermissionDrawer",emits:["register"],setup(h,{emit:T}){const k=T,w=d([]),p=d([]),u=d([]),v=d([]),f=d([]),a=d(""),g=d(null),y=d(!1),C=d([]),K=d(!1),[j,{openDrawer:V}]=ee(),[G,{setDrawerProps:b,closeDrawer:B}]=te(t=>_(null,null,function*(){yield z(),b({confirmLoading:!1,loading:!0}),a.value=t.roleId;const e=yield se();w.value=O(e.treeList),p.value=e.ids;const o=localStorage.getItem(N);if(o){const r=JSON.parse(o);r.level&&S({key:r.level}),r.expand&&S({key:r.expand})}else C.value=e.ids;const l=yield $({roleId:i(a)});u.value=l,v.value=l,b({loading:!1})}));function O(t){return t!=null&&t.length&&t.forEach(e=>{var o;if(e.slotTitle){const{t:l}=re();e.slotTitle.includes("t('")&&l&&(e.slotTitle=new Function("t",`return ${e.slotTitle}`)(l))}(o=e.children)!=null&&o.length&&O(e.children)}),t}function J(t,e){if(K.value)u.value=t.checked?t.checked:t;else{const o=M(e.node,"children","key");if(e.checked)u.value=[...new Set([...u.value,...o])];else{const l=q(u.value,o);u.value=l}}}function q(t,e){const o={};for(const l of e)o[l]=!0;return t.filter(l=>!o[l])}function M(t,e,o){var x;const l=[];l.push(t[o]);const r=A=>{A.forEach(m=>{var R;l.push(m[o]),(R=m[e])!=null&&R.length&&r(m[e])})};return(x=t[e])!=null&&x.length&&r(t[e]),l}function Y(t){t&&t.length>0&&(f.value=t),V(!0,{functionId:i(f)[0],roleId:i(a)})}function z(){w.value=[],p.value=[],u.value=[],v.value=[],f.value=[],a.value=""}function H(){const t=i(g);if(!t)throw new Error("tree is null!");return t}function E(t){return _(this,null,function*(){let e={roleId:i(a),permissionIds:i(H().getCheckedKeys()).join(","),lastpermissionIds:i(v).join(",")};if(y.value===!1&&(yield U(e)),t)B();else{const o=yield $({roleId:i(a)});v.value=o}})}function U(t){return _(this,null,function*(){y.value=!0;try{yield ae(t)}catch(e){y.value=!1}setTimeout(()=>{y.value=!1},500)})}function S({key:t}){t==="checkAll"?u.value=p.value:t==="cancelCheck"?u.value=[]:t==="openAll"?(C.value=p.value,D("expand","openAll")):t==="closeAll"?(C.value=[],D("expand","closeAll")):t==="relation"?(K.value=!1,D("level","relation")):(K.value=!0,D("level","standAlone"))}const D=(t,e)=>{const o=localStorage.getItem(N),l=o?JSON.parse(o):{};l[t]=e,localStorage.setItem(N,JSON.stringify(l))};return(t,e)=>{const o=I("Icon"),l=I("a-button"),r=I("a-menu-item"),x=I("a-menu"),A=I("a-dropdown");return F(),P(i(le),Z(t.$attrs,{onRegister:i(G),width:"650px",destroyOnClose:"",showFooter:""}),{title:n(()=>[e[11]||(e[11]=c(" 角色权限配置 ",-1)),s(A,null,{overlay:n(()=>[s(x,{onClick:S},{default:n(()=>[s(r,{key:"checkAll"},{default:n(()=>[...e[3]||(e[3]=[c("选择全部",-1)])]),_:1}),s(r,{key:"cancelCheck"},{default:n(()=>[...e[4]||(e[4]=[c("取消选择",-1)])]),_:1}),e[9]||(e[9]=L("div",{class:"line"},null,-1)),s(r,{key:"openAll"},{default:n(()=>[...e[5]||(e[5]=[c("展开全部",-1)])]),_:1}),s(r,{key:"closeAll"},{default:n(()=>[...e[6]||(e[6]=[c("折叠全部",-1)])]),_:1}),e[10]||(e[10]=L("div",{class:"line"},null,-1)),s(r,{key:"relation"},{default:n(()=>[...e[7]||(e[7]=[c("层级关联",-1)])]),_:1}),s(r,{key:"standAlone"},{default:n(()=>[...e[8]||(e[8]=[c("层级独立",-1)])]),_:1})]),_:1})]),default:n(()=>[s(l,{class:"more-icon"},{default:n(()=>[e[2]||(e[2]=c(" 更多操作 ",-1)),s(o,{icon:"ant-design:down-outlined",size:"14px",style:{position:"relative",top:"1px",right:"5px"}})]),_:1})]),_:1})]),footer:n(()=>[s(l,{onClick:i(B)},{default:n(()=>[...e[12]||(e[12]=[c("取消",-1)])]),_:1},8,["onClick"]),s(l,{onClick:e[0]||(e[0]=m=>E(!1)),type:"primary",loading:y.value,ghost:"",style:{"margin-right":"0.8rem"}},{default:n(()=>[...e[13]||(e[13]=[c("仅保存",-1)])]),_:1},8,["loading"]),s(l,{onClick:e[1]||(e[1]=m=>E(!0)),type:"primary",loading:y.value},{default:n(()=>[...e[14]||(e[14]=[c("保存并关闭",-1)])]),_:1},8,["loading"])]),default:n(()=>[s(i(oe),{ref_key:"treeRef",ref:g,checkable:"",treeData:w.value,checkedKeys:u.value,expandedKeys:C.value,selectedKeys:f.value,clickRowToExpand:!1,checkStrictly:!0,title:"所拥有的的权限",onCheck:J,onSelect:Y},{title:n(({slotTitle:m,ruleFlag:R})=>[c(X(m)+" ",1),R?(F(),P(o,{key:0,icon:"ant-design:align-left-outlined",style:{"margin-left":"5px",color:"red"}})):W("",!0)]),_:1},8,["treeData","checkedKeys","expandedKeys","selectedKeys"]),s(ne,{onRegister:i(j)},null,8,["onRegister"])]),_:1},16,["onRegister"])}}}),Se=ie(ue,[["__scopeId","data-v-9d520ca5"]]);export{Se as default};
|