import{r as d,w as b,X as r}from"./index.Ct5zz34E.js";import{a as u}from"./authFunction.DPqHlaXY.js";import{a as v,I as c}from"./vue.CZk_9PbR.js";function R(t){return t.authorized=1,d({url:"/api/system/role/get_role_users/",method:"get",params:t})}function y(t,n){return d({url:`/api/system/role/${t}/remove_role_user/`,method:"delete",data:{user_id:n}})}const S=function({crudExpose:t,context:n}){const f=async e=>await R(e),m=async({form:e,row:l})=>{},h=async({row:e})=>await y(t.crudRef.value.getSearchFormData().role_id,[e.id]),p=async({form:e})=>{},o=v([]),w=e=>{const s=t.getTableData().filter(a=>!e.includes(a));r.arrayEach(e,a=>{r.pluck(o.value,"id").includes(a.id)||(o.value=r.union(o.value,[a]))}),r.arrayEach(s,a=>{o.value=r.remove(o.value,i=>i.id!==a.id)})},g=()=>{const e=t.getBaseTableRef(),l=t.getTableData(),s=r.filter(l,a=>r.pluck(o.value,"id").includes(a.id));c(()=>{r.arrayEach(s,a=>{e.toggleRowSelection(a,!0)})})};return{selectedRows:o,crudOptions:{request:{pageRequest:f,addRequest:p,editRequest:m,delRequest:h},actionbar:{buttons:{add:{show:u("role:SetMenu"),click:e=>{n.subUserRef.value.dialog=!0,c(()=>{n.subUserRef.value.setSearchFormData({form:{role_id:t.crudRef.value.getSearchFormData().role_id}}),n.subUserRef.value.doRefresh()})}}}},rowHandle:{fixed:"left",width:120,show:u("role:SetMenu"),buttons:{view:{show:!1},edit:{show:!1},remove:{iconRight:"Delete",show:!0}}},table:{rowKey:"id",onSelectionChange:w,onRefreshed:()=>g()},columns:{$checked:{title:"选择",form:{show:!1},column:{show:u("role:SetMenu"),type:"selection",align:"center",width:"55px",columnSetDisabled:!0}},_index:{title:"序号",form:{show:!1},column:{align:"center",width:"70px",columnSetDisabled:!0,formatter:e=>{let l=e.index??1,s=t.crudBinding.value.pagination;return((s.currentPage??1)-1)*s.pageSize+l+1}}},name:{title:"用户名",search:{show:!0,component:{props:{clearable:!0}}},type:"text",form:{show:!1}},dept:{title:"部门",show:!0,type:"dict-tree",column:{name:"text",formatter({value:e,row:l,index:s}){return l.dept__name}},search:{show:!0,disabled:!0,col:{span:6},component:{multiple:!1,props:{checkStrictly:!0,clearable:!0,filterable:!0}}},form:{show:!1},dict:b({isTree:!0,url:"/api/system/dept/all_dept/",value:"id",label:"name"})}}}}},T=Object.freeze(Object.defineProperty({__proto__:null,createCrudOptions:S},Symbol.toStringTag,{value:"Module"}));export{T as a,S as c,y as r};