import{k as e,m as a,g as t,a as l,q as o,x as i,O as s,_ as r,U as d,V as n,z as p,A as u,t as m,I as c,a3 as f,as as y,P as b}from"./element-plus.DUy1TWHM.js";import{y as v,af as _,t as h,O as g}from"./index.B1CvNv-2.js";import{E as w,_ as k}from"./xml.DHJV7eh_.js";import{_ as j,a as x,P as V}from"./PageContent.v2drBSrF.js";import{P as C}from"./system.0GYJijcz.js";import{_ as R}from"./size.mshfn9n4.js";import{M as z,a_ as P,aL as q,u as U,I as S,bk as A,bJ as D,v as I,bL as F,s as N,t as O,H as Q,bb as H,F as L,aX as M,aU as T,aS as Y,q as $}from"./@vue.DbmRtknU.js";import"./lodash-es.DaM9m3L-.js";import"./async-validator.j0i5Y79Y.js";import"./@popperjs.DxtSUbXb.js";import"./@ctrl.BEgk5vdO.js";import"./dayjs.DCWbrgJ0.js";import"./memoize-one.BAtLgO95.js";import"./normalize-wheel-es.TzhA1irr.js";import"./@floating-ui.8vigAAFV.js";import"./pinia.BlfmsheH.js";import"./@vueuse.Dnsd2JKX.js";import"./vue-i18n.DXLOBfKS.js";import"./@intlify.DPMNdUn_.js";import"./nprogress.BTjJXJ-u.js";import"./codemirror.CYSLATvI.js";import"./diff-match-patch.DkK4wJpa.js";import"./vue-web-terminal.D-rog7dz.js";import"./vue.MGxsMDTR.js";/* empty css */import"./axios.Da-QW0H8.js";import"./qs.BQjOrGHM.js";import"./side-channel.4q28KFJj.js";import"./es-errors.DTEWvbA_.js";import"./object-inspect.DvQZIv3_.js";import"./side-channel-list.Do0-XmF5.js";import"./side-channel-map.DNHQ53lO.js";import"./get-intrinsic.Bbe5x-9b.js";import"./es-object-atoms.CyiuHMUS.js";import"./math-intrinsics.pM-JTNwN.js";import"./gopd.BudZp56J.js";import"./es-define-property.F0aoeP8o.js";import"./has-symbols.BcO-SUVM.js";import"./get-proto.Cb_fpw-j.js";import"./dunder-proto.WEH3rgQR.js";import"./call-bind-apply-helpers.DJjIjCF_.js";import"./function-bind.DrnB-baK.js";import"./hasown.BXcyoiLU.js";import"./call-bound.22gFUC2Q.js";import"./side-channel-weakmap.DpSeWE6i.js";import"./vue-router.yxIMtaxH.js";import"./pinia-plugin-persistedstate.COWkwNh5.js";import"./exceljs.DLSZe_6I.js";import"./sql.Cx6wXxe_.js";const B={class:"app-container"},E={class:"data-table__toolbar--right"},J={class:"data-table__content"},Z={key:1,style:{color:"var(--el-text-color-placeholder)"}},G={key:1,style:{color:"var(--el-text-color-placeholder)"}},K={class:"dialog-footer"},W=z({name:"Role",inheritAttrs:!1,__name:"index",setup(z){const{searchRef:W,contentRef:X,handleQueryClick:ee,handleResetClick:ae,refreshList:te}=v(),le=T(),oe=T(!1),ie=Y({permPrefix:"module_system:role",colon:!0,isExpandable:!0,showNumber:2,form:{labelWidth:"auto"},formItems:[{prop:"name",label:"角色名称",type:"input",attrs:{placeholder:"请输入角色名称",clearable:!0}},{prop:"status",label:"状态",type:"select",options:[{label:"启用",value:"true"},{label:"停用",value:"false"}],attrs:{placeholder:"请选择状态",clearable:!0,style:{width:"167.5px"}}},{prop:"created_time",label:"创建时间",type:"date-picker",initialValue:[],attrs:{type:"datetimerange",valueFormat:"YYYY-MM-DD HH:mm:ss",rangeSeparator:"至",startPlaceholder:"开始日期",endPlaceholder:"结束日期",style:{width:"340px"}}}]}),se=Y([{prop:"selection",label:"选择框",show:!0},{prop:"index",label:"序号",show:!0},{prop:"name",label:"角色名称",show:!0},{prop:"data_scope",label:"数据权限",show:!0},{prop:"depts",label:"所属部门",show:!0},{prop:"order",label:"排序",show:!0},{prop:"code",label:"角色编码",show:!0},{prop:"status",label:"状态",show:!0},{prop:"description",label:"描述",show:!0},{prop:"created_time",label:"创建时间",show:!0},{prop:"updated_time",label:"更新时间",show:!0},{prop:"operation",label:"操作",show:!0}]),re=Y({permPrefix:"module_system:role",pk:"id",cols:se,hideColumnFilter:!1,toolbar:[],defaultToolbar:[{name:"refresh",perm:"query"},"filter"],pagination:{pageSize:10,pageSizes:[10,20,30,50]},request:{page_no:"page_no",page_size:"page_size"},indexAction:async e=>{const a=await _.listRole(e);return{total:a.data.data.total,list:a.data.data.items}},deleteAction:async e=>{await _.deleteRole(e.split(",").map(e=>Number(e.trim())).filter(e=>!Number.isNaN(e)));const a=h();await a.getUserInfo()},deleteConfirm:{title:"警告",message:"确认删除该项数据?",type:"warning"}});const de=T(!1),ne=T({id:0,name:""}),pe=T(!1),ue=$(()=>{var e;return(null==(e=W.value)?void 0:e.getQueryParams())??{}}),me=$(()=>{var e;return A(null==(e=X.value)?void 0:e.pageData)??[]}),ce=$(()=>{var e;return(null==(e=X.value)?void 0:e.getSelectionData())??[]}),fe={permPrefix:"module_system:role",cols:[{prop:"name",label:"角色名称"},{prop:"code",label:"角色编码"},{prop:"data_scope",label:"数据权限"},{prop:"depts",label:"所属部门"},{prop:"order",label:"排序"},{prop:"status",label:"状态"},{prop:"description",label:"描述"},{prop:"created_time",label:"创建时间"},{prop:"updated_time",label:"更新时间"}],exportsAction:async e=>{const a={...e};return"string"==typeof a.status&&(a.status="true"===a.status),g({initialQuery:a,fetchPage:async e=>{var a,t,l,o;const i=await _.listRole(e);return{total:(null==(t=null==(a=i.data)?void 0:a.data)?void 0:t.total)??0,list:(null==(o=null==(l=i.data)?void 0:l.data)?void 0:o.items)??[]}}})}};function ye(){pe.value=!0}const be=T({}),ve=Y({id:void 0,name:void 0,order:1,code:"",status:"0",description:void 0}),_e=Y({title:"",visible:!1,type:"create"}),he=Y({name:[{required:!0,message:"请输入角色名称",trigger:"blur"}],code:[{required:!0,message:"请输入角色编码",trigger:"blur"},{pattern:/^[A-Za-z][A-Za-z0-9_]{1,15}$/,message:"字母开头,2-16位字母/数字/下划线",trigger:"blur"}],order:[{required:!0,message:"请输入角色排序",trigger:"blur"}],status:[{required:!0,message:"请选择状态",trigger:"blur"}]}),ge={id:void 0,name:void 0,order:1,code:"",status:"0",description:void 0};async function we(){le.value&&(le.value.resetFields(),le.value.clearValidate()),Object.assign(ve,ge)}async function ke(){_e.visible=!1,await we()}async function je(e,a){if(_e.type=e,a){const t=await _.detailRole(a);"detail"===e?(_e.title="角色详情",Object.assign(be.value,t.data.data)):"update"===e&&(_e.title="修改角色",Object.assign(ve,t.data.data))}else _e.title="新增角色",ve.id=void 0;_e.visible=!0}async function xe(){le.value.validate(async e=>{if(e){oe.value=!0;const e=ve.id;try{e?await _.updateRole(e,{id:e,...ve}):await _.createRole(ve),_e.visible=!1,await we(),te();const a=h();await a.getUserInfo()}catch(a){}finally{oe.value=!1}}})}async function Ve(e){var a;const t=((null==(a=X.value)?void 0:a.getSelectionData())??[]).map(e=>e.id).filter(e=>null!=e);t.length?b.confirm(`确认${"0"===e?"启用":"停用"}该项数据?`,"警告",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(async()=>{try{await _.batchRole({ids:t,status:e}),te();const a=h();await a.getUserInfo()}catch(a){}}).catch(()=>{b.close()}):o.warning("请先选择要操作的数据")}return(b,v)=>{const _=l,h=r,g=i,z=a,T=t,Y=e,$=n,ge=d,we=m,Ce=u,Re=c,ze=y,Pe=f,qe=p,Ue=P("hasPerm"),Se=s;return q(),U("div",B,[S(C,{ref_key:"searchRef",ref:W,"search-config":ie,onQueryClick:A(ee),onResetClick:A(ae)},null,8,["search-config","onQueryClick","onResetClick"]),S(V,{ref_key:"contentRef",ref:X,"content-config":re},{toolbar:D(({toolbarRight:e,onToolbar:a,removeIds:t,cols:l})=>[S(j,{"remove-ids":t,"perm-create":["module_system:role:create"],"perm-delete":["module_system:role:delete"],"perm-patch":["module_system:role:patch"],onAdd:v[0]||(v[0]=e=>je("create")),onDelete:e=>a("delete"),onMore:Ve},null,8,["remove-ids","onDelete"]),I("div",E,[S(x,{buttons:e,cols:l,"on-toolbar":a},{prepend:D(()=>[S(h,{content:"导出"},{default:D(()=>[F(S(_,{type:"warning",icon:"download",circle:"",onClick:ye},null,512),[[Ue,["module_system:role:export"]]])]),_:1})]),_:1},8,["buttons","cols","on-toolbar"])])]),table:D(({data:e,loading:a,tableRef:t,onSelectionChange:l,pagination:i})=>[I("div",J,[F((q(),N(Y,{ref:t,"row-key":"id",data:e,height:"100%",border:"",stripe:"",onSelectionChange:l},{empty:D(()=>[S(g,{"image-size":80,description:"暂无数据"})]),default:D(()=>{var e,a,t,l,s,r,d,n,p,u,m,c;return[(null==(e=se.find(e=>"selection"===e.prop))?void 0:e.show)?(q(),N(z,{key:0,type:"selection",width:"55",align:"center"})):O("",!0),(null==(a=se.find(e=>"index"===e.prop))?void 0:a.show)?(q(),N(z,{key:1,fixed:"",label:"序号",width:"60"},{default:D(e=>[Q(H((i.currentPage-1)*i.pageSize+e.$index+1),1)]),_:2},1024)):O("",!0),(null==(t=se.find(e=>"name"===e.prop))?void 0:t.show)?(q(),N(z,{key:"name",label:"角色名称",prop:"name","min-width":"100"})):O("",!0),(null==(l=se.find(e=>"code"===e.prop))?void 0:l.show)?(q(),N(z,{key:"code",label:"角色编码",prop:"code","min-width":"100"})):O("",!0),(null==(s=se.find(e=>"data_scope"===e.prop))?void 0:s.show)?(q(),N(z,{key:"data_scope",label:"数据权限",prop:"data_scope","min-width":"200"},{default:D(e=>[1===e.row.data_scope?(q(),N(T,{key:0,type:"primary"},{default:D(()=>[...v[9]||(v[9]=[Q("仅本人数据权限",-1)])]),_:1})):2===e.row.data_scope?(q(),N(T,{key:1,type:"info"},{default:D(()=>[...v[10]||(v[10]=[Q("本部门数据权限",-1)])]),_:1})):3===e.row.data_scope?(q(),N(T,{key:2,type:"warning"},{default:D(()=>[...v[11]||(v[11]=[Q(" 本部门及以下数据权限 ",-1)])]),_:1})):4===e.row.data_scope?(q(),N(T,{key:3,type:"success"},{default:D(()=>[...v[12]||(v[12]=[Q("全部数据权限",-1)])]),_:1})):(q(),N(T,{key:4,type:"danger"},{default:D(()=>[...v[13]||(v[13]=[Q("自定义数据权限",-1)])]),_:1}))]),_:1})):O("",!0),(null==(r=se.find(e=>"depts"===e.prop))?void 0:r.show)?(q(),N(z,{key:"depts",label:"所属部门",prop:"depts","min-width":"200"},{default:D(e=>[e.row.depts&&e.row.depts.length>0?(q(),U(L,{key:0},[(q(!0),U(L,null,M(e.row.depts.slice(0,3),e=>(q(),N(T,{key:e.id,type:"info",style:{"margin-right":"4px","margin-bottom":"4px"}},{default:D(()=>[Q(H(e.name),1)]),_:2},1024))),128)),e.row.depts.length>3?(q(),N(T,{key:0,type:"info",style:{"margin-bottom":"4px"}},{default:D(()=>[Q(" +"+H(e.row.depts.length-3),1)]),_:2},1024)):O("",!0)],64)):(q(),U("span",Z,"-"))]),_:1})):O("",!0),(null==(d=se.find(e=>"order"===e.prop))?void 0:d.show)?(q(),N(z,{key:"order",label:"排序",prop:"order","min-width":"80","show-overflow-tooltip":""})):O("",!0),(null==(n=se.find(e=>"status"===e.prop))?void 0:n.show)?(q(),N(z,{key:"status",label:"状态",prop:"status","min-width":"80"},{default:D(e=>[S(T,{type:"0"===e.row.status?"success":"danger"},{default:D(()=>[Q(H("0"===e.row.status?"启用":"停用"),1)]),_:2},1032,["type"])]),_:1})):O("",!0),(null==(p=se.find(e=>"description"===e.prop))?void 0:p.show)?(q(),N(z,{key:"description",label:"描述",prop:"description","min-width":"100"})):O("",!0),(null==(u=se.find(e=>"created_time"===e.prop))?void 0:u.show)?(q(),N(z,{key:"created_time",label:"创建时间",prop:"created_time","min-width":"200",sortable:""})):O("",!0),(null==(m=se.find(e=>"updated_time"===e.prop))?void 0:m.show)?(q(),N(z,{key:"updated_time",label:"更新时间",prop:"updated_time","min-width":"200",sortable:""})):O("",!0),(null==(c=se.find(e=>"operation"===e.prop))?void 0:c.show)?(q(),N(z,{key:11,fixed:"right",label:"操作",align:"center","min-width":"280"},{default:D(e=>[F((q(),N(_,{type:"warning",size:"small",link:"",icon:"position",disabled:1===e.row.id,onClick:a=>{return 1===e.row.id?A(o).warning("系统默认角色,不可操作"):(t=e.row.id,l=e.row.name,ne.value={id:t,name:l},void(de.value=!0));var t,l}},{default:D(()=>[...v[14]||(v[14]=[Q(" 分配权限 ",-1)])]),_:1},8,["disabled","onClick"])),[[Ue,["module_system:role:permission"]]]),F((q(),N(_,{type:"info",size:"small",link:"",icon:"View",onClick:a=>je("detail",e.row.id)},{default:D(()=>[...v[15]||(v[15]=[Q(" 详情 ",-1)])]),_:1},8,["onClick"])),[[Ue,["module_system:role:detail"]]]),F((q(),N(_,{type:"primary",size:"small",link:"",icon:"edit",disabled:1===e.row.id,onClick:a=>1===e.row.id?A(o).warning("系统默认角色,不可操作"):je("update",e.row.id)},{default:D(()=>[...v[16]||(v[16]=[Q(" 编辑 ",-1)])]),_:1},8,["disabled","onClick"])),[[Ue,["module_system:role:update"]]]),F((q(),N(_,{type:"danger",size:"small",link:"",icon:"delete",disabled:1===e.row.id,onClick:a=>1===e.row.id?A(o).warning("系统默认角色,不可操作"):function(e){var a;null==(a=X.value)||a.handleDelete(e)}(e.row.id)},{default:D(()=>[...v[17]||(v[17]=[Q(" 删除 ",-1)])]),_:1},8,["disabled","onClick"])),[[Ue,["module_system:role:delete"]]])]),_:1})):O("",!0)]}),_:2},1032,["data","onSelectionChange"])),[[Se,a]])])]),_:1},8,["content-config"]),S(w,{modelValue:_e.visible,"onUpdate:modelValue":v[6]||(v[6]=e=>_e.visible=e),title:_e.title,onClose:ke},{footer:D(()=>[I("div",K,[S(_,{onClick:ke},{default:D(()=>[...v[25]||(v[25]=[Q("取消",-1)])]),_:1}),"detail"!==_e.type?(q(),N(_,{key:0,type:"primary",loading:oe.value,onClick:xe},{default:D(()=>[...v[26]||(v[26]=[Q(" 确定 ",-1)])]),_:1},8,["loading"])):(q(),N(_,{key:1,type:"primary",onClick:ke},{default:D(()=>[...v[27]||(v[27]=[Q("确定",-1)])]),_:1}))])]),default:D(()=>["detail"===_e.type?(q(),N(ge,{key:0,column:4,border:""},{default:D(()=>[S($,{label:"角色名称",span:2},{default:D(()=>[Q(H(be.value.name),1)]),_:1}),S($,{label:"排序",span:2},{default:D(()=>[Q(H(be.value.order),1)]),_:1}),S($,{label:"角色编码",span:2},{default:D(()=>[Q(H(be.value.code),1)]),_:1}),S($,{label:"数据权限",span:2},{default:D(()=>[1===be.value.data_scope?(q(),N(T,{key:0,type:"primary"},{default:D(()=>[...v[18]||(v[18]=[Q("仅本人数据权限",-1)])]),_:1})):2===be.value.data_scope?(q(),N(T,{key:1,type:"info"},{default:D(()=>[...v[19]||(v[19]=[Q("本部门数据权限",-1)])]),_:1})):3===be.value.data_scope?(q(),N(T,{key:2,type:"warning"},{default:D(()=>[...v[20]||(v[20]=[Q(" 本部门及以下数据权限 ",-1)])]),_:1})):4===be.value.data_scope?(q(),N(T,{key:3,type:"success"},{default:D(()=>[...v[21]||(v[21]=[Q("全部数据权限",-1)])]),_:1})):(q(),N(T,{key:4,type:"danger"},{default:D(()=>[...v[22]||(v[22]=[Q("自定义数据权限",-1)])]),_:1}))]),_:1}),S($,{label:"所属部门",span:2},{default:D(()=>[be.value.depts&&be.value.depts.length>0?(q(!0),U(L,{key:0},M(be.value.depts,e=>(q(),N(T,{key:e.id,type:"info",style:{"margin-right":"4px","margin-bottom":"4px"}},{default:D(()=>[Q(H(e.name),1)]),_:2},1024))),128)):(q(),U("span",G,"-"))]),_:1}),S($,{label:"状态",span:2},{default:D(()=>[S(T,{type:"0"===be.value.status?"success":"danger"},{default:D(()=>[Q(H("0"===be.value.status?"启用":"停用"),1)]),_:1},8,["type"])]),_:1}),S($,{label:"创建时间",span:2},{default:D(()=>[Q(H(be.value.created_time),1)]),_:1}),S($,{label:"更新时间",span:2},{default:D(()=>[Q(H(be.value.updated_time),1)]),_:1}),S($,{label:"描述",span:4},{default:D(()=>[Q(H(be.value.description),1)]),_:1})]),_:1})):(q(),N(qe,{key:1,ref_key:"dataFormRef",ref:le,model:ve,rules:he,"label-suffix":":","label-width":"auto","label-position":"right"},{default:D(()=>[S(Ce,{label:"角色名称",prop:"name"},{default:D(()=>[S(we,{modelValue:ve.name,"onUpdate:modelValue":v[1]||(v[1]=e=>ve.name=e),placeholder:"请输入角色名称"},null,8,["modelValue"])]),_:1}),S(Ce,{label:"排序",prop:"order"},{default:D(()=>[S(Re,{modelValue:ve.order,"onUpdate:modelValue":v[2]||(v[2]=e=>ve.order=e),"controls-position":"right",min:0,style:{width:"100px"}},null,8,["modelValue"])]),_:1}),S(Ce,{label:"角色编码",prop:"code"},{default:D(()=>[S(we,{modelValue:ve.code,"onUpdate:modelValue":v[3]||(v[3]=e=>ve.code=e),placeholder:"字母开头,2-16位字母/数字/下划线",maxlength:"16","show-word-limit":""},null,8,["modelValue"])]),_:1}),S(Ce,{label:"状态",prop:"status"},{default:D(()=>[S(Pe,{modelValue:ve.status,"onUpdate:modelValue":v[4]||(v[4]=e=>ve.status=e)},{default:D(()=>[S(ze,{value:"0"},{default:D(()=>[...v[23]||(v[23]=[Q("启用",-1)])]),_:1}),S(ze,{value:"1"},{default:D(()=>[...v[24]||(v[24]=[Q("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),S(Ce,{label:"描述",prop:"description"},{default:D(()=>[S(we,{modelValue:ve.description,"onUpdate:modelValue":v[5]||(v[5]=e=>ve.description=e),rows:4,maxlength:100,"show-word-limit":"",type:"textarea",placeholder:"请输入描述"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"]))]),_:1},8,["modelValue","title"]),de.value?(q(),N(R,{key:0,modelValue:de.value,"onUpdate:modelValue":v[7]||(v[7]=e=>de.value=e),"role-name":ne.value.name,"role-id":ne.value.id,onSaved:A(te)},null,8,["modelValue","role-name","role-id","onSaved"])):O("",!0),S(k,{modelValue:pe.value,"onUpdate:modelValue":v[8]||(v[8]=e=>pe.value=e),"content-config":fe,"query-params":ue.value,"page-data":me.value,"selection-data":ce.value},null,8,["modelValue","query-params","page-data","selection-data"])])}}});export{W as default};