| 1 |
- 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.ea_38_Np.js";import{f as v}from"./role.DgqJJnYL.js";import{_ as h,R as _}from"./size.C9c6Sofm.js";import{y as w,o as g}from"./index.Dwded2Oo.js";import{E as k,_ as j}from"./sql.B_67SxmZ.js";import{_ as x,a as V,P as C}from"./PageContent.CDE_q5Ba.js";import{P as R}from"./wechat.Ddj9nHVn.js";import{M as z,a_ as q,aL as P,u as U,I as S,bk as A,bJ as D,v as I,bL as F,s as N,t as L,H as M,bb as Q,F as H,aX as O,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"./vue-i18n.DXLOBfKS.js";import"./@intlify.DPMNdUn_.js";import"./time.ChT4EeUN.js";import"./vue-router.yxIMtaxH.js";import"./pinia.BlfmsheH.js";import"./@vueuse.Dnsd2JKX.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"./pinia-plugin-persistedstate.COWkwNh5.js";import"./exceljs.DLSZe_6I.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}=w(),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=g();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),v({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}),he=Y({title:"",visible:!1,type:"create"}),_e=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"}]}),we={id:void 0,name:void 0,order:1,code:"",status:"0",description:void 0};async function ge(){le.value&&(le.value.resetFields(),le.value.clearValidate()),Object.assign(ve,we)}async function ke(){he.visible=!1,await ge()}async function je(e,a){if(he.type=e,a){const t=await _.detailRole(a);"detail"===e?(he.title="角色详情",Object.assign(be.value,t.data.data)):"update"===e&&(he.title="修改角色",Object.assign(ve,t.data.data))}else he.title="新增角色",ve.id=void 0;he.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),he.visible=!1,await ge(),te();const a=g();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=g();await a.getUserInfo()}catch(a){}}).catch(()=>{b.close()}):o.warning("请先选择要操作的数据")}return(b,v)=>{const _=l,w=r,g=i,z=a,T=t,Y=e,$=n,we=d,ge=m,Ce=u,Re=c,ze=y,qe=f,Pe=p,Ue=q("hasPerm"),Se=s;return P(),U("div",B,[S(R,{ref_key:"searchRef",ref:W,"search-config":ie,onQueryClick:A(ee),onResetClick:A(ae)},null,8,["search-config","onQueryClick","onResetClick"]),S(C,{ref_key:"contentRef",ref:X,"content-config":re},{toolbar:D(({toolbarRight:e,onToolbar:a,removeIds:t,cols:l})=>[S(x,{"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(V,{buttons:e,cols:l,"on-toolbar":a},{prepend:D(()=>[S(w,{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((P(),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)?(P(),N(z,{key:0,type:"selection",width:"55",align:"center"})):L("",!0),(null==(a=se.find(e=>"index"===e.prop))?void 0:a.show)?(P(),N(z,{key:1,fixed:"",label:"序号",width:"60"},{default:D(e=>[M(Q((i.currentPage-1)*i.pageSize+e.$index+1),1)]),_:2},1024)):L("",!0),(null==(t=se.find(e=>"name"===e.prop))?void 0:t.show)?(P(),N(z,{key:"name",label:"角色名称",prop:"name","min-width":"100"})):L("",!0),(null==(l=se.find(e=>"code"===e.prop))?void 0:l.show)?(P(),N(z,{key:"code",label:"角色编码",prop:"code","min-width":"100"})):L("",!0),(null==(s=se.find(e=>"data_scope"===e.prop))?void 0:s.show)?(P(),N(z,{key:"data_scope",label:"数据权限",prop:"data_scope","min-width":"200"},{default:D(e=>[1===e.row.data_scope?(P(),N(T,{key:0,type:"primary"},{default:D(()=>[...v[9]||(v[9]=[M("仅本人数据权限",-1)])]),_:1})):2===e.row.data_scope?(P(),N(T,{key:1,type:"info"},{default:D(()=>[...v[10]||(v[10]=[M("本部门数据权限",-1)])]),_:1})):3===e.row.data_scope?(P(),N(T,{key:2,type:"warning"},{default:D(()=>[...v[11]||(v[11]=[M(" 本部门及以下数据权限 ",-1)])]),_:1})):4===e.row.data_scope?(P(),N(T,{key:3,type:"success"},{default:D(()=>[...v[12]||(v[12]=[M("全部数据权限",-1)])]),_:1})):(P(),N(T,{key:4,type:"danger"},{default:D(()=>[...v[13]||(v[13]=[M("自定义数据权限",-1)])]),_:1}))]),_:1})):L("",!0),(null==(r=se.find(e=>"depts"===e.prop))?void 0:r.show)?(P(),N(z,{key:"depts",label:"所属部门",prop:"depts","min-width":"200"},{default:D(e=>[e.row.depts&&e.row.depts.length>0?(P(),U(H,{key:0},[(P(!0),U(H,null,O(e.row.depts.slice(0,3),e=>(P(),N(T,{key:e.id,type:"info",style:{"margin-right":"4px","margin-bottom":"4px"}},{default:D(()=>[M(Q(e.name),1)]),_:2},1024))),128)),e.row.depts.length>3?(P(),N(T,{key:0,type:"info",style:{"margin-bottom":"4px"}},{default:D(()=>[M(" +"+Q(e.row.depts.length-3),1)]),_:2},1024)):L("",!0)],64)):(P(),U("span",Z,"-"))]),_:1})):L("",!0),(null==(d=se.find(e=>"order"===e.prop))?void 0:d.show)?(P(),N(z,{key:"order",label:"排序",prop:"order","min-width":"80","show-overflow-tooltip":""})):L("",!0),(null==(n=se.find(e=>"status"===e.prop))?void 0:n.show)?(P(),N(z,{key:"status",label:"状态",prop:"status","min-width":"80"},{default:D(e=>[S(T,{type:"0"===e.row.status?"success":"danger"},{default:D(()=>[M(Q("0"===e.row.status?"启用":"停用"),1)]),_:2},1032,["type"])]),_:1})):L("",!0),(null==(p=se.find(e=>"description"===e.prop))?void 0:p.show)?(P(),N(z,{key:"description",label:"描述",prop:"description","min-width":"100"})):L("",!0),(null==(u=se.find(e=>"created_time"===e.prop))?void 0:u.show)?(P(),N(z,{key:"created_time",label:"创建时间",prop:"created_time","min-width":"200",sortable:""})):L("",!0),(null==(m=se.find(e=>"updated_time"===e.prop))?void 0:m.show)?(P(),N(z,{key:"updated_time",label:"更新时间",prop:"updated_time","min-width":"200",sortable:""})):L("",!0),(null==(c=se.find(e=>"operation"===e.prop))?void 0:c.show)?(P(),N(z,{key:11,fixed:"right",label:"操作",align:"center","min-width":"280"},{default:D(e=>[F((P(),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]=[M(" 分配权限 ",-1)])]),_:1},8,["disabled","onClick"])),[[Ue,["module_system:role:permission"]]]),F((P(),N(_,{type:"info",size:"small",link:"",icon:"View",onClick:a=>je("detail",e.row.id)},{default:D(()=>[...v[15]||(v[15]=[M(" 详情 ",-1)])]),_:1},8,["onClick"])),[[Ue,["module_system:role:detail"]]]),F((P(),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]=[M(" 编辑 ",-1)])]),_:1},8,["disabled","onClick"])),[[Ue,["module_system:role:update"]]]),F((P(),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]=[M(" 删除 ",-1)])]),_:1},8,["disabled","onClick"])),[[Ue,["module_system:role:delete"]]])]),_:1})):L("",!0)]}),_:2},1032,["data","onSelectionChange"])),[[Se,a]])])]),_:1},8,["content-config"]),S(k,{modelValue:he.visible,"onUpdate:modelValue":v[6]||(v[6]=e=>he.visible=e),title:he.title,onClose:ke},{footer:D(()=>[I("div",K,[S(_,{onClick:ke},{default:D(()=>[...v[25]||(v[25]=[M("取消",-1)])]),_:1}),"detail"!==he.type?(P(),N(_,{key:0,type:"primary",loading:oe.value,onClick:xe},{default:D(()=>[...v[26]||(v[26]=[M(" 确定 ",-1)])]),_:1},8,["loading"])):(P(),N(_,{key:1,type:"primary",onClick:ke},{default:D(()=>[...v[27]||(v[27]=[M("确定",-1)])]),_:1}))])]),default:D(()=>["detail"===he.type?(P(),N(we,{key:0,column:4,border:""},{default:D(()=>[S($,{label:"角色名称",span:2},{default:D(()=>[M(Q(be.value.name),1)]),_:1}),S($,{label:"排序",span:2},{default:D(()=>[M(Q(be.value.order),1)]),_:1}),S($,{label:"角色编码",span:2},{default:D(()=>[M(Q(be.value.code),1)]),_:1}),S($,{label:"数据权限",span:2},{default:D(()=>[1===be.value.data_scope?(P(),N(T,{key:0,type:"primary"},{default:D(()=>[...v[18]||(v[18]=[M("仅本人数据权限",-1)])]),_:1})):2===be.value.data_scope?(P(),N(T,{key:1,type:"info"},{default:D(()=>[...v[19]||(v[19]=[M("本部门数据权限",-1)])]),_:1})):3===be.value.data_scope?(P(),N(T,{key:2,type:"warning"},{default:D(()=>[...v[20]||(v[20]=[M(" 本部门及以下数据权限 ",-1)])]),_:1})):4===be.value.data_scope?(P(),N(T,{key:3,type:"success"},{default:D(()=>[...v[21]||(v[21]=[M("全部数据权限",-1)])]),_:1})):(P(),N(T,{key:4,type:"danger"},{default:D(()=>[...v[22]||(v[22]=[M("自定义数据权限",-1)])]),_:1}))]),_:1}),S($,{label:"所属部门",span:2},{default:D(()=>[be.value.depts&&be.value.depts.length>0?(P(!0),U(H,{key:0},O(be.value.depts,e=>(P(),N(T,{key:e.id,type:"info",style:{"margin-right":"4px","margin-bottom":"4px"}},{default:D(()=>[M(Q(e.name),1)]),_:2},1024))),128)):(P(),U("span",G,"-"))]),_:1}),S($,{label:"状态",span:2},{default:D(()=>[S(T,{type:"0"===be.value.status?"success":"danger"},{default:D(()=>[M(Q("0"===be.value.status?"启用":"停用"),1)]),_:1},8,["type"])]),_:1}),S($,{label:"创建时间",span:2},{default:D(()=>[M(Q(be.value.created_time),1)]),_:1}),S($,{label:"更新时间",span:2},{default:D(()=>[M(Q(be.value.updated_time),1)]),_:1}),S($,{label:"描述",span:4},{default:D(()=>[M(Q(be.value.description),1)]),_:1})]),_:1})):(P(),N(Pe,{key:1,ref_key:"dataFormRef",ref:le,model:ve,rules:_e,"label-suffix":":","label-width":"auto","label-position":"right"},{default:D(()=>[S(Ce,{label:"角色名称",prop:"name"},{default:D(()=>[S(ge,{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(ge,{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(qe,{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]=[M("启用",-1)])]),_:1}),S(ze,{value:"1"},{default:D(()=>[...v[24]||(v[24]=[M("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),S(Ce,{label:"描述",prop:"description"},{default:D(()=>[S(ge,{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?(P(),N(h,{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"])):L("",!0),S(j,{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};
|