1 |
- import{J as v,a5 as R,K as Y,r as u,o as k,N as x,a as r,W as P,X as j,b as e,w as l,Z as T,Y as S,v as g,a1 as ie,ah as re,O as D,as as ce,a0 as ue,c as de,$ as ve}from"./vendor-f-XNYvyw.js";import{_ as L}from"./index.vue_vue_type_style_index_0_scoped_2125171d_lang-Dtl7QzQB.js";import{_ as Q}from"./index-B5yv6piM.js";const me={class:"permission-config"},pe={class:"config-panel"},_e={class:"permission-list"},fe={class:"group-header"},he={class:"checkbox-list"},ke={class:"button-config-list"},ge={class:"button-desc"},be={__name:"index",setup(W){const w=v(!1),I=v([]),b=v(null),h=n=>{b.value=n,I.value=[{label:"新增",value:"add",description:"新增数据权限",isCheck:!1},{label:"编辑",value:"edit",description:"编辑数据权限",isCheck:!1},{label:"删除",value:"delete",description:"删除数据权限",isCheck:!1},{label:"查询",value:"query",description:"查询数据权限",isCheck:!1}],w.value=!0},$=()=>{const n=I.value.filter(s=>s.isCheck).map(s=>s.value);b.value&&(i[`${b.value.key}_buttons`]||(i[`${b.value.key}_buttons`]=[]),i[`${b.value.key}_buttons`]=n),w.value=!1,g.success("按钮权限配置已保存")},U=()=>{w.value=!1},B=(n,s)=>{const _=s.target.checked;i[n.key]||(i[n.key]=[]),_?i[n.key]=[...n.items.map(y=>y.value),n.value]:i[n.key]=[]},N=v([]);v(!1),v(!1);const i=R({}),p=()=>{const n=localStorage.getItem("permissionConfig");if(n){const s=JSON.parse(n);Object.keys(s).forEach(_=>{i[_]=s[_]})}},E=async()=>{try{const n=await ie.get("http://58.246.234.210:8085/api/system/role_menu_button_permission/get_role_menu/?roleId=9&merchant=1",{headers:{authorization:"JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzU1ODUzNTEzLCJpYXQiOjE3NTU3NjcxMTMsImp0aSI6IjI2ZmE5YmU3Njk2MzQ5OTRhMzQzZGExMzg4OGQ5OWE2IiwidXNlcl9pZCI6OX0.7k_jl5BtmCvGDY12j6UShqPdERbBbv3Mu_9ysT1pZko"}});console.log(n);const y=(d=>{const m={};d.forEach(o=>{m[o.id]={label:o.name,value:o.id,is_catalog:o.is_catalog,isCheck:o.isCheck,children:[]}});const a=[];return d.forEach(o=>{const z=m[o.id];if(o.parent===null)a.push(z);else{const C=m[o.parent];C&&C.children.push(z)}}),a})(n.data.data).map(d=>({label:d.label,key:d.value,is_catalog:d.is_catalog,value:d.isCheck,items:d.children.map(m=>({label:m.label,value:m.value,is_catalog:m.is_catalog,isCheck:m.isCheck}))}));N.value=y,N.value.forEach(d=>{i[d.key]||(i[d.key]=[])})}catch(n){g.error("获取权限信息失败"),console.error("获取权限信息失败:",n)}};return Y(async()=>{await E(),p()}),(n,s)=>{const _=u("a-checkbox"),y=u("a-button"),d=u("a-checkbox-group"),m=u("a-modal");return k(),x("div",me,[r("div",pe,[r("div",_e,[(k(!0),x(P,null,j(N.value,a=>(k(),x("div",{class:"permission-group",key:a.label},[r("div",fe,[e(_,{value:a.value,onChange:o=>B(a,o)},{default:l(()=>[T(S(a.label),1)]),_:2},1032,["value","onChange"]),e(y,{type:"link",style:{padding:"0"},size:"small",onClick:o=>h(a)},{default:l(()=>s[1]||(s[1]=[r("img",{src:L,style:{"margin-top":"2px"},alt:""},null,-1)])),_:2},1032,["onClick"])]),r("div",he,[e(d,{value:i[a.key],"onUpdate:value":o=>i[a.key]=o},{default:l(()=>[(k(!0),x(P,null,j(a.items,o=>(k(),x("div",{key:o.value,class:"checkbox-item"},[e(_,{value:o.value,style:{"padding-right":"0"}},{default:l(()=>[T(S(o.label),1)]),_:2},1032,["value"]),e(y,{type:"link",style:{padding:"0"},size:"small",onClick:z=>h(a)},{default:l(()=>s[2]||(s[2]=[r("img",{src:L,style:{"margin-top":"2px"},alt:""},null,-1)])),_:2},1032,["onClick"])]))),128))]),_:2},1032,["value","onUpdate:value"])])]))),128))]),e(m,{visible:w.value,"onUpdate:visible":s[0]||(s[0]=a=>w.value=a),title:"按钮权限配置",onOk:$,onCancel:U,width:"600px"},{default:l(()=>[r("div",ke,[(k(!0),x(P,null,j(I.value,a=>(k(),x("div",{key:a.value,class:"button-config-item"},[e(_,{checked:a.isCheck,"onUpdate:checked":o=>a.isCheck=o,value:a.value},{default:l(()=>[T(S(a.label),1)]),_:2},1032,["checked","onUpdate:checked","value"]),r("span",ge,S(a.description),1)]))),128))])]),_:1},8,["visible"])])])}}},ye=Q(be,[["__scopeId","data-v-2125171d"]]),Ce={class:"role-management"},xe={class:"header-bar"},we={class:"role-content"},Ie={class:"operation-bar"},$e={class:"search-box"},Te=["onClick"],Ne=["onClick"],Ue={class:"permission-drawer-content"},ze={style:{"text-align":"right"}},Oe={__name:"role",setup(W){const w=re(),I=v(!1),b=v(""),h=v(!1),$=v("添加角色"),U=v(),B=[{title:"角色名称",dataIndex:"name",key:"name"},{title:"描述",dataIndex:"description",key:"description"},{title:"创建时间",dataIndex:"createTime",key:"createTime"},{title:"操作",key:"action",width:200}],N=v([]),i=R({current:1,pageSize:10,total:0,showTotal:c=>`共 ${c} 条`}),p=R({name:"",description:""}),E={name:[{required:!0,message:"请输入角色名称",trigger:"blur"},{min:2,max:20,message:"长度在 2 到 20 个字符",trigger:"blur"}],description:[{max:200,message:"描述最多 200 个字符",trigger:"blur"}]},n=()=>{w.back()},s=async()=>{I.value=!0;try{N.value=[{id:1,name:"管理员",description:"系统管理员",createTime:"2024-01-20 12:00:00"},{id:2,name:"普通用户",description:"普通用户角色",createTime:"2024-01-20 12:00:00"}],i.total=2}catch{g.error("获取角色列表失败")}finally{I.value=!1}},_=()=>{i.current=1,s()},y=c=>{i.current=c.current,i.pageSize=c.pageSize,s()},d=()=>{$.value="添加角色",p.name="",p.description="",h.value=!0},m=c=>{$.value="编辑角色",p.name=c.name,p.description=c.description,h.value=!0},a=async c=>{try{g.success("删除成功"),s()}catch{g.error("删除失败")}},o=()=>{U.value.validate().then(async()=>{try{g.success(`${$.value}成功`),h.value=!1,s()}catch{g.error(`${$.value}失败`)}})},z=()=>{var c;h.value=!1,(c=U.value)==null||c.resetFields()},C=v(!1),q=v(null),G=v(null),A=c=>{G.value=c,C.value=!0},J=()=>{C.value=!1,G.value=null},F=async()=>{try{g.success("权限配置保存成功"),C.value=!1}catch{g.error("权限配置保存失败")}};return Y(()=>{s()}),(c,t)=>{const O=u("a-button"),K=u("a-input-search"),V=u("a-divider"),H=u("a-popconfirm"),ee=u("a-space"),ae=u("a-table"),te=u("a-input"),X=u("a-form-item"),se=u("a-textarea"),oe=u("a-form"),ne=u("a-modal"),le=u("a-drawer");return k(),x("div",Ce,[r("div",xe,[e(O,{type:"text",onClick:n},{default:l(()=>[e(D(ce)),t[5]||(t[5]=T(" 返回 "))]),_:1}),t[6]||(t[6]=r("h2",null,"角色及权限",-1))]),r("div",we,[r("div",Ie,[r("div",$e,[e(K,{value:b.value,"onUpdate:value":t[0]||(t[0]=f=>b.value=f),placeholder:"请输入角色名称搜索",onSearch:_,style:{width:"250px"}},null,8,["value"])]),e(O,{type:"primary",onClick:d},{default:l(()=>[e(D(ue)),t[7]||(t[7]=T(" 添加角色 "))]),_:1})]),e(ae,{columns:B,"data-source":N.value,loading:I.value,pagination:i,onChange:y},{bodyCell:l(({column:f,record:M})=>[f.key==="action"?(k(),de(ee,{key:0},{default:l(()=>[r("a",{onClick:Z=>m(M)},"编辑",8,Te),e(V,{type:"vertical"}),e(H,{title:"确定要删除这个角色吗?",onConfirm:Z=>a(M)},{default:l(()=>t[8]||(t[8]=[r("a",{class:"delete-link"},"删除",-1)])),_:2},1032,["onConfirm"]),e(V,{type:"vertical"}),r("a",{onClick:Z=>A(M)},"分配权限",8,Ne)]),_:2},1024)):ve("",!0)]),_:1},8,["data-source","loading","pagination"]),e(ne,{visible:h.value,"onUpdate:visible":t[3]||(t[3]=f=>h.value=f),title:$.value,onOk:o,onCancel:z},{default:l(()=>[e(oe,{ref_key:"formRef",ref:U,model:p,rules:E,layout:"vertical"},{default:l(()=>[e(X,{label:"角色名称",name:"name"},{default:l(()=>[e(te,{value:p.name,"onUpdate:value":t[1]||(t[1]=f=>p.name=f),placeholder:"请输入角色名称"},null,8,["value"])]),_:1}),e(X,{label:"角色描述",name:"description"},{default:l(()=>[e(se,{value:p.description,"onUpdate:value":t[2]||(t[2]=f=>p.description=f),placeholder:"请输入角色描述",rows:4},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["visible","title"]),e(le,{visible:C.value,"onUpdate:visible":t[4]||(t[4]=f=>C.value=f),title:"权限配置",placement:"right",width:500,onClose:J},{footer:l(()=>[r("div",ze,[e(O,{style:{"margin-right":"8px"},onClick:J},{default:l(()=>t[9]||(t[9]=[T("取消")])),_:1}),e(O,{type:"primary",onClick:F},{default:l(()=>t[10]||(t[10]=[T("确定")])),_:1})])]),default:l(()=>[r("div",Ue,[e(ye,{ref_key:"permissionConfigRef",ref:q},null,512)])]),_:1},8,["visible"])])])}}},Me=Q(Oe,[["__scopeId","data-v-8a0abd1a"]]);export{Me as default};
|