import{l as D}from"./lodash.8b939685.js";import{H as B,U as Y,E as K,g as I,F as q,h as x,_ as A}from"./index.189c97df.js";import{j as p,M as R,m as J,am as m,aw as L,o as V,T as w,U as n,_ as o,Y as k,V as U,u as F,b as S,Z as H,aJ as X,a as Z,X as j,D as Q,aF as ee,aG as te}from"./vue.aade88c7.js";const $=Y.role,G=()=>({id:0,name:"",remark:"",valid:1}),M=async()=>await B.get($.list),le=async()=>{const a=p(null),d=await M();return a.value=d.data,a},ae=async a=>await B.post($.create,a),N=async a=>{console.log("🚀 ~ file: index.ts:89 ~ update ~ role:",$);const d=await B.post($.update,a);return console.log("🚀 ~ file: index.ts:90 ~ update ~ role:",$),d},oe=async()=>await B.get($.codes),se=R({__name:"codes",props:{modelValue:{type:Boolean},role:{}},emits:["update:modelValue","submit"],setup(a,{emit:d}){const{modelValue:E,role:i}=a;console.log(i);const b=p(),c=p(),f=p(!1),t={value:"id",label:"label",children:"children"};J(async()=>{b.value=(await oe()).data});const s=D.throttle(async()=>{var _,g;const u=(_=c.value)==null?void 0:_.getCheckedNodes(!0).map(h=>h.lable),r=(g=c.value)==null?void 0:g.getCheckedKeys();console.log("🚀 ~ file: codes.vue:50 ~ submitForm ~ role:",i),i.codes=r,i.codes_cn=u,console.log("🚀 ~ file: codes.vue:52 ~ submitForm ~ role:",i),f.value=!0;const y=await N(i);y.code==0&&(f.value=!1,K({message:"更新成功"}),d("update:modelValue",!1),d("submit",y))});return(u,r)=>{const y=m("el-tree-v2"),_=m("el-button"),g=m("el-dialog"),h=L("loading");return V(),w(g,{modelValue:u.modelValue,onClose:r[2]||(r[2]=v=>u.$emit("update:modelValue",!1)),title:"编辑权限"},{footer:n(()=>[o(_,{type:"default",onClick:r[0]||(r[0]=v=>u.$emit("update:modelValue",!1))},{default:n(()=>[k("取消")]),_:1}),U((V(),w(_,{type:"primary",onClick:r[1]||(r[1]=v=>F(s)())},{default:n(()=>[k("提交")]),_:1})),[[h,f.value]])]),default:n(()=>[o(y,{ref_key:"tree",ref:c,data:b.value,props:t,"default-checked-keys":u.role.codes,"show-checkbox":"",height:500},{default:n(({node:v})=>[S("span",null,H(v.data.lable),1)]),_:1},8,["data","default-checked-keys"])]),_:1},8,["modelValue"])}}}),ne=R({__name:"edit",props:{modelValue:{type:Boolean},role:{},type:{}},emits:["update:modelValue","submit"],setup(a,{emit:d}){const{modelValue:E,role:i,type:b}=a,c=p(!1),f=async()=>{c.value=!0;let t;b==="update"?t=await N(i):t=await ae(i),t.code==0&&(c.value=!1,K({message:b==="create"?"新增成功":"更新成功"}),d("update:modelValue",!1),d("submit",t))};return(t,s)=>{const u=m("el-input"),r=m("el-form-item"),y=m("el-switch"),_=m("el-form"),g=m("el-button"),h=m("el-dialog"),v=L("loading");return V(),w(h,{modelValue:t.modelValue,onClose:s[5]||(s[5]=e=>t.$emit("update:modelValue",!1)),title:t.type==="create"?"新增角色":"编辑角色"},{footer:n(()=>[o(g,{type:"default",onClick:s[3]||(s[3]=e=>t.$emit("update:modelValue",!1))},{default:n(()=>[k("取消")]),_:1}),U((V(),w(g,{type:"primary",onClick:s[4]||(s[4]=e=>f())},{default:n(()=>[k(H(t.type==="create"?"新增":"更新"),1)]),_:1})),[[v,c.value]])]),default:n(()=>[o(_,{model:t.role,"lable-width":"100px"},{default:n(()=>[o(r,{label:"角色名",prop:"name",rules:{required:!0,message:"请填写角色名",trigger:"blur"}},{default:n(()=>[o(u,{modelValue:t.role.name,"onUpdate:modelValue":s[0]||(s[0]=e=>t.role.name=e),placeholder:"请填写角色名"},null,8,["modelValue"])]),_:1}),o(r,{label:"是否启用"},{default:n(()=>[o(y,{modelValue:t.role.valid,"onUpdate:modelValue":s[1]||(s[1]=e=>t.role.valid=e),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1}),o(r,{label:"备注"},{default:n(()=>[o(u,{modelValue:t.role.remark,"onUpdate:modelValue":s[2]||(s[2]=e=>t.role.remark=e),type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])}}}),de=a=>(ee("data-v-4f728dfc"),a=a(),te(),a),re={class:"card-header"},ue=de(()=>S("span",null,"权限管理",-1));function ie(a){return typeof a=="function"||Object.prototype.toString.call(a)==="[object Object]"&&!Q(a)}const me=R({__name:"index",async setup(a){let d,E;const i=([d,E]=X(()=>le()),d=await d,E(),d),b=p(!1),c=p(!1),f=p(!1),t=p(!1),s=p(G()),u=p("update"),r=[{key:"name",title:"角色名",dataKey:"name",width:150},{key:"codes_cn",title:"权限值",dataKey:"codes_cn",width:400,cellRenderer:({cellData:e})=>o("div",{style:"overflow-y: auto; display: flex",onWheel:h},[(e==null?void 0:e.map(l=>o(I,{style:"margin-right: 5px"},ie(l)?l:{default:()=>[l]})))||"暂无权限,点击权限按钮以授权"])},{key:"remark",title:"备注",dataKey:"remark",width:300},{key:"valid",title:"是否启用",dataKey:"valid",width:100,cellRenderer:({cellData:e})=>o(I,{effect:e?"dark":"plain"},{default:()=>[e?"已启用":"已禁用"]})},{key:"op",title:"操作",width:400,fixed:q.RIGHT,flexGrow:1,cellRenderer:e=>o("div",null,[o(x,{type:e.rowData.valid?"danger":"success",onClick:()=>g(e.rowData)},{default:()=>[e.rowData.valid?"禁用":"启用"]}),o(x,{type:"primary",onClick:()=>_(e.rowData)},{default:()=>[k("权限")]}),o(x,{type:"primary",onClick:()=>y("update",e.rowData)},{default:()=>[k("编辑")]})])}],y=D.throttle((e="create",l=G())=>{s.value=D.clone(l),u.value=e,t.value=!0}),_=D.throttle(e=>{s.value=D.clone(e),u.value="update",f.value=!0}),g=D.throttle(async e=>{e.valid=!e.valid,await N(e)}),h=e=>{if(!e.shiftKey){e.preventDefault();const l=e.currentTarget;l.scrollLeft+=e.deltaY}},v=async(e=!0)=>{c.value=!0;const l=await M();c.value=!1,l.code==0&&(e&&K({message:"刷新成功"}),i.value=l.data)};return(e,l)=>{const z=m("el-table-v2"),O=m("el-auto-resizer"),P=m("el-card"),T=L("loading");return V(),Z("div",null,[f.value?(V(),w(se,{key:0,modelValue:f.value,"onUpdate:modelValue":l[0]||(l[0]=C=>f.value=C),role:s.value,onSubmit:l[1]||(l[1]=()=>v(!1))},null,8,["modelValue","role"])):j("",!0),t.value?(V(),w(ne,{key:1,modelValue:t.value,"onUpdate:modelValue":l[2]||(l[2]=C=>t.value=C),role:s.value,type:u.value,onSubmit:l[3]||(l[3]=()=>v(!1))},null,8,["modelValue","role","type"])):j("",!0),S("div",null,[U((V(),w(P,{class:"box-card","element-loading-text":"Loading...",style:{height:"600px"}},{header:n(()=>[S("div",re,[ue,S("div",null,[U((V(),w(F(x),{type:"default",onClick:l[4]||(l[4]=C=>v())},{default:n(()=>[k("刷新列表")]),_:1})),[[T,c.value]]),o(F(x),{type:"primary",onClick:l[5]||(l[5]=C=>F(y)("create"))},{default:n(()=>[k("新增角色")]),_:1})])])]),default:n(()=>[o(O,null,{default:n(({height:C,width:W})=>[o(z,{data:F(i),columns:r,width:W,height:600,fixed:""},null,8,["data","width"])]),_:1})]),_:1})),[[T,b.value]])])])}}});const ve=A(me,[["__scopeId","data-v-4f728dfc"]]);export{ve as default}; //# sourceMappingURL=index.d73eab4a.js.map