mi-assessment/server/MiAssessment/src/MiAssessment.Admin/wwwroot/assets/index-u9LH28Hw.js
2026-02-20 19:40:59 +08:00

2 lines
6.3 KiB
JavaScript

import{d as de,r as p,a as A,v as E,o as ie,g as s,B as K,c as g,k as d,e as l,w as t,C as V,f as ue,F as L,y as M,z as f,t as m,G as re,b as O,x as T,l as me,D as ce,E as P,W as pe,_ as fe}from"./index-SVUuYg2T.js";import{g as _e,u as ve,c as ye,d as be}from"./permission-CPWUupBR.js";const ge={class:"page-container"},ke={class:"card-header"},Ve={class:"module-title"},we=de({__name:"index",setup(Ce){const w=p(!1),k=p({}),v=p([]),i=A({keyword:"",module:""}),$=E(()=>Object.keys(k.value)),C=E(()=>{const n={};for(const[e,D]of Object.entries(k.value)){if(i.module&&e!==i.module)continue;const u=D.filter(c=>{if(!i.keyword)return!0;const r=i.keyword.toLowerCase();return c.name.toLowerCase().includes(r)||c.code.toLowerCase().includes(r)});u.length>0&&(n[e]=u)}return n}),_=p(!1),y=p(!1),G=E(()=>y.value?"编辑权限":"新增权限"),x=p(),B=p(!1),o=A({id:0,code:"",name:"",module:"",description:""}),I={code:[{required:!0,message:"请输入权限编码",trigger:"blur"},{pattern:/^[a-z_:]+$/,message:"只能包含小写字母、下划线和冒号",trigger:"blur"}],name:[{required:!0,message:"请输入权限名称",trigger:"blur"}]},U=async()=>{w.value=!0;try{const n=await _e();k.value=n.data,v.value=Object.keys(n.data)}finally{w.value=!1}},z=()=>{v.value=Object.keys(C.value)},W=()=>{i.keyword="",i.module="",v.value=Object.keys(k.value)},F=()=>{var n;o.id=0,o.code="",o.name="",o.module="",o.description="",(n=x.value)==null||n.resetFields()},H=()=>{y.value=!1,F(),_.value=!0},J=n=>{y.value=!0,o.id=n.id,o.code=n.code,o.name=n.name,o.module=n.module||"",o.description=n.description||"",_.value=!0},Q=async()=>{var e;if(await((e=x.value)==null?void 0:e.validate())){B.value=!0;try{y.value?(await ve(o.id,{name:o.name,module:o.module||void 0,description:o.description||void 0}),P.success("更新成功")):(await ye({code:o.code,name:o.name,module:o.module||void 0,description:o.description||void 0}),P.success("创建成功")),_.value=!1,U()}finally{B.value=!1}}},X=async n=>{try{await pe.confirm(`确定要删除权限 "${n.name}" 吗?删除后相关角色将失去此权限。`,"提示",{type:"warning"}),await be(n.id),P.success("删除成功"),U()}catch{}};return ie(()=>{U()}),(n,e)=>{const D=s("el-icon"),u=s("el-button"),c=s("el-input"),r=s("el-form-item"),R=s("el-option"),q=s("el-select"),N=s("el-form"),Y=s("el-tag"),b=s("el-table-column"),Z=s("el-table"),ee=s("el-collapse-item"),le=s("el-collapse"),te=s("el-empty"),oe=s("el-card"),ae=s("el-dialog"),h=K("permission"),ne=K("loading");return d(),g("div",ge,[l(oe,null,{header:t(()=>[O("div",ke,[e[10]||(e[10]=O("span",null,"权限管理",-1)),V((d(),f(u,{type:"primary",onClick:H},{default:t(()=>[l(D,null,{default:t(()=>[l(me(ce))]),_:1}),e[9]||(e[9]=m("新增权限 ",-1))]),_:1})),[[h,"system:permission:add"]])])]),default:t(()=>[l(N,{inline:!0,model:i,class:"search-form"},{default:t(()=>[l(r,{label:"关键词"},{default:t(()=>[l(c,{modelValue:i.keyword,"onUpdate:modelValue":e[0]||(e[0]=a=>i.keyword=a),placeholder:"权限名称/编码",clearable:"",onKeyup:ue(z,["enter"])},null,8,["modelValue"])]),_:1}),l(r,{label:"模块"},{default:t(()=>[l(q,{modelValue:i.module,"onUpdate:modelValue":e[1]||(e[1]=a=>i.module=a),placeholder:"全部",clearable:""},{default:t(()=>[(d(!0),g(L,null,M($.value,a=>(d(),f(R,{key:a,label:a,value:a},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(r,null,{default:t(()=>[l(u,{type:"primary",onClick:z},{default:t(()=>[...e[11]||(e[11]=[m("查询",-1)])]),_:1}),l(u,{onClick:W},{default:t(()=>[...e[12]||(e[12]=[m("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),V((d(),g("div",null,[l(le,{modelValue:v.value,"onUpdate:modelValue":e[2]||(e[2]=a=>v.value=a)},{default:t(()=>[(d(!0),g(L,null,M(C.value,(a,j)=>(d(),f(ee,{key:j,name:j},{title:t(()=>[O("span",Ve,T(j),1),l(Y,{size:"small",type:"info",class:"module-count"},{default:t(()=>[m(T(a.length),1)]),_:2},1024)]),default:t(()=>[l(Z,{data:a,"show-header":!0,size:"small"},{default:t(()=>[l(b,{prop:"code",label:"权限编码","min-width":"150"}),l(b,{prop:"name",label:"权限名称","min-width":"120"}),l(b,{prop:"description",label:"描述","min-width":"200","show-overflow-tooltip":""}),l(b,{prop:"createdAt",label:"创建时间",width:"170"}),l(b,{label:"操作",width:"150",fixed:"right"},{default:t(({row:S})=>[V((d(),f(u,{link:"",type:"primary",onClick:se=>J(S)},{default:t(()=>[...e[13]||(e[13]=[m("编辑",-1)])]),_:1},8,["onClick"])),[[h,"system:permission:edit"]]),V((d(),f(u,{link:"",type:"danger",onClick:se=>X(S)},{default:t(()=>[...e[14]||(e[14]=[m("删除",-1)])]),_:1},8,["onClick"])),[[h,"system:permission:delete"]])]),_:1})]),_:1},8,["data"])]),_:2},1032,["name"]))),128))]),_:1},8,["modelValue"]),Object.keys(C.value).length===0?(d(),f(te,{key:0,description:"暂无数据"})):re("",!0)])),[[ne,w.value]])]),_:1}),l(ae,{modelValue:_.value,"onUpdate:modelValue":e[8]||(e[8]=a=>_.value=a),title:G.value,width:"500px",onClose:F},{footer:t(()=>[l(u,{onClick:e[7]||(e[7]=a=>_.value=!1)},{default:t(()=>[...e[15]||(e[15]=[m("取消",-1)])]),_:1}),l(u,{type:"primary",onClick:Q,loading:B.value},{default:t(()=>[...e[16]||(e[16]=[m("确定",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(N,{ref_key:"formRef",ref:x,model:o,rules:I,"label-width":"80px"},{default:t(()=>[l(r,{label:"权限编码",prop:"code"},{default:t(()=>[l(c,{modelValue:o.code,"onUpdate:modelValue":e[3]||(e[3]=a=>o.code=a),placeholder:"如: user:create",disabled:y.value},null,8,["modelValue","disabled"])]),_:1}),l(r,{label:"权限名称",prop:"name"},{default:t(()=>[l(c,{modelValue:o.name,"onUpdate:modelValue":e[4]||(e[4]=a=>o.name=a),placeholder:"请输入权限名称"},null,8,["modelValue"])]),_:1}),l(r,{label:"所属模块",prop:"module"},{default:t(()=>[l(q,{modelValue:o.module,"onUpdate:modelValue":e[5]||(e[5]=a=>o.module=a),placeholder:"请选择或输入模块",filterable:"","allow-create":"",clearable:"",style:{width:"100%"}},{default:t(()=>[(d(!0),g(L,null,M($.value,a=>(d(),f(R,{key:a,label:a,value:a},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"描述",prop:"description"},{default:t(()=>[l(c,{modelValue:o.description,"onUpdate:modelValue":e[6]||(e[6]=a=>o.description=a),type:"textarea",rows:3,placeholder:"请输入描述"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),Ue=fe(we,[["__scopeId","data-v-cae59146"]]);export{Ue as default};