2 lines
9.4 KiB
JavaScript
2 lines
9.4 KiB
JavaScript
import{d as G,r as i,b as L,m as N,w as t,f as l,h as d,i as o,y as I,p as V,k as F,s as C,o as E,g as se,t as re,e as de,c as ie,T as ue,a as pe,j as ce,v as Q,l as me,n as fe,q as _e,E as ve}from"./index-DRNenl-T.js";import{l as ge,g as ye,d as be,u as ke,a as we}from"./role-zDKXfY8i.js";import{g as Ve,b as xe,l as Ce}from"./menu-Ca_cGcaO.js";const Re={class:"dialog-footer"},he=G({name:"distributionMenu"}),Me=Object.assign(he,{setup(J,{expose:O}){const y=i({permission_uids:[],roleId:void 0}),_=i(),x=i(),v=i([]);i(!1);const M=i(!0),g=i(!1),K=i(!1),D=i("");L({page:1,page_size:10,userId:"",role_name:void 0,role_code:void 0}),i(),i();const T=async(r,a)=>{var b;D.value=a=="menu"?"分配菜单权限":"分配按钮权限",await S(a),g.value=!0,y.value.roleId=r.uid;const p=await Ve(r.uid);if((p==null?void 0:p.meta.code)==200){const U=p.data?p.data.map(R=>R.uid):[];(b=_.value)==null||b.setCheckedKeys(U)}},S=async r=>{K.value=!0;const a={permission_types:r=="menu"?"1,3":"2"},p=await Ce(a);v.value=p.data,K.value=!1},c=r=>{let a=v.value;for(let p=0;p<a.length;p++)_.value&&(_.value.store.nodesMap[a[p].uid].expanded=r)},m=async()=>{var p,b;let r=(p=_.value)==null?void 0:p.getCheckedKeys(),a=(b=_.value)==null?void 0:b.getHalfCheckedKeys();return a&&(r==null||r.unshift.apply(r,a)),r},P=async()=>{y.value.roleId&&(y.value.permission_uids=await m(),(await xe(y.value)).meta.code===200?(C.success("分配成功"),g.value=!1,S()):C.error("分配失败"))},f=()=>{var r;(r=x.value)==null||r.resetFields(),y.value={permission_uids:[],roleId:void 0},g.value=!1};return O({show:T}),(r,a)=>{const p=d("el-checkbox"),b=d("el-tree"),U=d("el-form-item"),R=d("el-form"),B=d("el-button"),j=d("el-dialog"),z=d("el-row");return E(),N(z,null,{default:t(()=>[l(j,{title:o(D),modelValue:o(g),"onUpdate:modelValue":a[2]||(a[2]=h=>I(g)?g.value=h:null),width:"50%",top:"5vh","append-to-body":""},{footer:t(()=>[F("div",Re,[l(B,{type:"primary",onClick:P},{default:t(()=>[...a[4]||(a[4]=[V("确 定",-1)])]),_:1}),l(B,{onClick:f},{default:t(()=>[...a[5]||(a[5]=[V("取 消",-1)])]),_:1})])]),default:t(()=>[l(R,{model:o(y),"label-width":"80px",ref_key:"dataScopeRef",ref:x},{default:t(()=>[l(U,{label:"权限列表"},{default:t(()=>[l(p,{modelValue:o(M),"onUpdate:modelValue":a[0]||(a[0]=h=>I(M)?M.value=h:null),onChange:a[1]||(a[1]=h=>c(h))},{default:t(()=>[...a[3]||(a[3]=[V("展开/折叠",-1)])]),_:1},8,["modelValue"]),l(b,{class:"tree-border",data:o(v),"show-checkbox":"","default-expand-all":"",ref_key:"deptRef",ref:_,"node-key":"uid","check-strictly":!1,"empty-text":"加载中,请稍候",props:{label:"permission_name",children:"children"}},null,8,["data"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title","modelValue"])]),_:1})}}}),De={class:"p-2"},Ue={class:"mb-[10px]"},$e={class:"dialog-footer"},qe=G({name:"roleManagement"}),Se=Object.assign(qe,{setup(J){pe();const{proxy:O}=se(),y=i(),_=i(!0),x=i(0),v=i(["",""]);i([]),i([{value:"1",label:"正常"},{value:"0",label:"停用"}]);const M=i(),g=i(),K=i();i();const D=i(),T={uid:void 0,role_name:"",role_code:"",description:""},S=L({form:{...T},queryParams:{page:1,page_size:10,role_name:"",role_code:"",created_from:"",created_to:""},rules:{role_name:[{required:!0,message:"角色名称不能为空",trigger:"blur"}],role_code:[{required:!0,message:"权限字符不能为空",trigger:"blur"}]}}),{form:c,queryParams:m,rules:P}=re(S),f=L({visible:!1,title:""}),r=async()=>{_.value=!0,m.value.created_from=v.value[0],m.value.created_to=v.value[1];const s=await ge(m.value);_.value=!1,y.value=s.data.roles,x.value=s.data.pagination.total},a=()=>{m.value.page=1,r()},p=(s,e)=>{var u;(u=D.value)==null||u.show(s,e)},b=()=>{var s;v.value=["",""],(s=M.value)==null||s.resetFields(),a()},U=async s=>{try{await ve.confirm(`确认要删除"${s.role_name}" 角色吗?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"});const e=s==null?void 0:s.uid,u=await be(e);if(u.meta.code!==200){C.error(u.data.message);return}r(),C.success(`${s.role_name}角色删除成功`)}catch(e){const u=(e==null?void 0:e.toString())||"";if(u.includes("cancel")||u.includes("取消")||u==="cancel"||e==="cancel"||u.includes("close")||e==="close")return;C.error(`${s.role_name}角色删除失败`)}},R=()=>{var s,e;(s=K.value)==null||s.setCheckedKeys([]),c.value={...T},(e=g.value)==null||e.resetFields()},B=()=>{R(),f.visible=!0,f.title="添加角色"},j=async s=>{try{R();const e=s==null?void 0:s.uid,{meta:u,data:k}=await ye(e);if(u.code!==200){C.error(u.message);return}Object.assign(c.value,k),f.title="修改角色",f.visible=!0}catch(e){C.error(e.message)}},z=()=>{var s;(s=g.value)==null||s.validate(async e=>{if(e){c.value.uid?await ke(c.value):await we(c.value);const u=c.value.uid?"更新成功":"添加成功";C.success(u),f.visible=!1,r()}})},h=()=>{R(),f.visible=!1};return de(()=>{r()}),(s,e)=>{const u=d("el-input"),k=d("el-form-item"),W=d("el-date-picker"),w=d("el-button"),Y=d("el-form"),H=d("el-card"),X=d("el-col"),Z=d("el-row"),$=d("el-table-column"),q=d("el-tooltip"),ee=d("el-table"),le=d("pagination"),te=d("question-filled"),oe=d("el-icon"),ae=d("el-dialog"),ne=ce("loading");return E(),ie("div",De,[l(ue,null,{default:t(()=>[F("div",Ue,[l(H,{shadow:"hover"},{default:t(()=>[l(Y,{ref_key:"queryFormRef",ref:M,model:o(m),inline:!0,"label-width":"68px"},{default:t(()=>[l(k,{label:"角色名称",prop:"role_name"},{default:t(()=>[l(u,{modelValue:o(m).role_name,"onUpdate:modelValue":e[0]||(e[0]=n=>o(m).role_name=n),placeholder:"请输入角色名称",clearable:"",style:{width:"240px"},onKeyup:Q(a,["enter"])},null,8,["modelValue"])]),_:1}),l(k,{label:"权限字符",prop:"role_code"},{default:t(()=>[l(u,{modelValue:o(m).role_code,"onUpdate:modelValue":e[1]||(e[1]=n=>o(m).role_code=n),placeholder:"请输入权限字符",clearable:"",style:{width:"240px"},onKeyup:Q(a,["enter"])},null,8,["modelValue"])]),_:1}),l(k,{label:"创建时间",style:{width:"308px"}},{default:t(()=>[l(W,{modelValue:o(v),"onUpdate:modelValue":e[2]||(e[2]=n=>I(v)?v.value=n:null),"value-format":"YYYY-MM-DD HH:mm:ss",type:"daterange","range-separator":"-","start-placeholder":"开始日期","end-placeholder":"结束日期","default-time":[new Date(2e3,1,1,0,0,0),new Date(2e3,1,1,23,59,59)]},null,8,["modelValue","default-time"])]),_:1}),l(k,null,{default:t(()=>[l(w,{type:"primary",onClick:a,icon:"Search"},{default:t(()=>[...e[11]||(e[11]=[V("搜索",-1)])]),_:1}),l(w,{onClick:b,icon:"Refresh"},{default:t(()=>[...e[12]||(e[12]=[V("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1})])]),_:1}),l(H,{shadow:"hover"},{header:t(()=>[l(Z,{gutter:10},{default:t(()=>[l(X,{span:1.5},{default:t(()=>[l(w,{type:"primary",plain:"",onClick:e[3]||(e[3]=n=>B()),icon:"Plus"},{default:t(()=>[...e[13]||(e[13]=[V("新增",-1)])]),_:1})]),_:1})]),_:1})]),default:t(()=>[me((E(),N(ee,{ref:"roleTableRef",data:o(y)},{default:t(()=>[l($,{label:"角色名称",prop:"role_name","show-overflow-tooltip":!0}),l($,{label:"权限字符",prop:"role_code","show-overflow-tooltip":!0}),l($,{label:"描述",prop:"description"}),l($,{label:"创建时间",align:"center",prop:"createTime"},{default:t(n=>[F("span",null,_e(s.parseTime(n.row.created_at)),1)]),_:1}),l($,{fixed:"right",label:"操作",width:"180"},{default:t(n=>[l(q,{content:"修改",placement:"top"},{default:t(()=>[l(w,{link:"",type:"primary",icon:"Edit",onClick:A=>j(n.row)},null,8,["onClick"])]),_:2},1024),l(q,{content:"删除",placement:"top"},{default:t(()=>[l(w,{link:"",type:"primary",icon:"Delete",onClick:A=>U(n.row)},null,8,["onClick"])]),_:2},1024),l(q,{content:"分配菜单权限",placement:"top"},{default:t(()=>[l(w,{link:"",type:"primary",icon:"Menu",onClick:A=>p(n.row,"menu")},null,8,["onClick"])]),_:2},1024),l(q,{content:"分配接口权限",placement:"top"},{default:t(()=>[l(w,{link:"",type:"primary",icon:"DocumentAdd",onClick:A=>p(n.row,"interface")},null,8,["onClick"])]),_:2},1024)]),_:1})]),_:1},8,["data"])),[[ne,o(_)]]),o(x)>0?(E(),N(le,{key:0,total:o(x),"onUpdate:total":e[4]||(e[4]=n=>I(x)?x.value=n:null),page:o(m).page,"onUpdate:page":e[5]||(e[5]=n=>o(m).page=n),limit:o(m).page_size,"onUpdate:limit":e[6]||(e[6]=n=>o(m).page_size=n),onPagination:r},null,8,["total","page","limit"])):fe("",!0)]),_:1}),l(ae,{title:o(f).title,modelValue:o(f).visible,"onUpdate:modelValue":e[10]||(e[10]=n=>o(f).visible=n),width:"500px","append-to-body":""},{footer:t(()=>[F("div",$e,[l(w,{type:"primary",onClick:z},{default:t(()=>[...e[15]||(e[15]=[V("确 定",-1)])]),_:1}),l(w,{onClick:h},{default:t(()=>[...e[16]||(e[16]=[V("取 消",-1)])]),_:1})])]),default:t(()=>[l(Y,{ref_key:"roleFormRef",ref:g,model:o(c),rules:o(P),"label-width":"100px"},{default:t(()=>[l(k,{label:"角色名称",prop:"role_name"},{default:t(()=>[l(u,{modelValue:o(c).role_name,"onUpdate:modelValue":e[7]||(e[7]=n=>o(c).role_name=n),placeholder:"请输入角色名称"},null,8,["modelValue"])]),_:1}),l(k,{prop:"role_code"},{label:t(()=>[F("span",null,[l(q,{content:"控制器中定义的权限字符,如:admin",placement:"top"},{default:t(()=>[l(oe,null,{default:t(()=>[l(te)]),_:1})]),_:1}),e[14]||(e[14]=V(" 权限字符 ",-1))])]),default:t(()=>[l(u,{modelValue:o(c).role_code,"onUpdate:modelValue":e[8]||(e[8]=n=>o(c).role_code=n),placeholder:"请输入权限字符"},null,8,["modelValue"])]),_:1}),l(k,{label:"备注"},{default:t(()=>[l(u,{modelValue:o(c).description,"onUpdate:modelValue":e[9]||(e[9]=n=>o(c).description=n),type:"textarea",placeholder:"请输入内容"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["title","modelValue"]),l(Me,{ref_key:"distributionMenuRef",ref:D},null,512)])}}});export{Se as default};
|