Files
ai_dianshang/admin/dist/assets/Permissions-4b3b2679.js

2 lines
10 KiB
JavaScript
Raw Normal View History

2025-11-17 14:11:46 +08:00
import{r as _,b as B,z as pe,c as s,I as me,o as f,d as ce,f as t,w as a,E as V,e as w,G as T,h as r,g as _e,J as fe,l as y,t as P,L as S,n as ge,c3 as ye,bY as be,cf as ve,cg as Ve,ch as he}from"./index-fa7a0ed8.js";import{_ as Ce}from"./_plugin-vue_export-helper-c27b6911.js";const xe={class:"permissions-container"},ke={class:"card-header"},Ue={class:"search-area"},ze={class:"pagination-container"},we={__name:"Permissions",setup(Te){const D=_(!1),$=_([]),g=_(!1),U=_(""),E=_(!1),z=_([]),j=_([]),m=B({name:"",type:"",status:void 0}),p=B({page:1,size:10,total:0}),o=B({id:null,parent_id:null,name:"",code:"",type:"menu",path:"",icon:"",sort:0,status:1,description:""}),A={name:[{required:!0,message:"请输入权限名称",trigger:"blur"},{min:2,max:50,message:"权限名称长度在 2 到 50 个字符",trigger:"blur"}],code:[{required:!0,message:"请输入权限标识",trigger:"blur"},{pattern:/^[a-zA-Z][a-zA-Z0-9_:]*$/,message:"权限标识格式不正确",trigger:"blur"}],type:[{required:!0,message:"请选择权限类型",trigger:"change"}],sort:[{required:!0,message:"请输入排序值",trigger:"blur"}]},h=_(),b=async()=>{D.value=!0;try{const n={list:[{id:1,name:"用户管理",code:"user",type:"menu",path:"/users",icon:"User",sort:1,status:1,created_at:"2024-01-01 10:00:00",children:[{id:11,parent_id:1,name:"用户列表",code:"user:list",type:"button",path:"",sort:1,status:1,created_at:"2024-01-01 10:00:00"},{id:12,parent_id:1,name:"用户新增",code:"user:create",type:"button",path:"",sort:2,status:1,created_at:"2024-01-01 10:00:00"}]},{id:2,name:"商品管理",code:"product",type:"menu",path:"/products",icon:"Goods",sort:2,status:1,created_at:"2024-01-02 10:00:00",children:[{id:21,parent_id:2,name:"商品列表",code:"product:list",type:"button",path:"",sort:1,status:1,created_at:"2024-01-02 10:00:00"}]}],total:2};$.value=n.list,p.total=n.total,N(n.list)}catch{V.error("获取权限列表失败")}finally{D.value=!1}},N=n=>{const e=[],u={};n.forEach(d=>{u[d.id]={...d,children:[]}}),n.forEach(d=>{d.parent_id?u[d.parent_id]&&u[d.parent_id].children.push(u[d.id]):e.push(u[d.id])}),j.value=e},K=n=>({menu:"primary",button:"success",api:"warning"})[n]||"info",R=n=>({menu:"菜单",button:"按钮",api:"接口"})[n]||"未知",M=()=>{p.page=1,b()},F=()=>{Object.assign(m,{name:"",type:"",status:void 0}),M()},G=()=>{U.value="新增权限",Object.assign(o,{id:null,parent_id:null,name:"",code:"",type:"menu",path:"",icon:"",sort:0,status:1,description:""}),g.value=!0},H=n=>{U.value="新增子权限",Object.assign(o,{id:null,parent_id:n.id,name:"",code:"",type:"button",path:"",icon:"",sort:0,status:1,description:""}),g.value=!0},I=n=>{U.value="编辑权限",Object.assign(o,{...n}),g.value=!0},L=async n=>{try{await ge.confirm(`确定要删除权限"${n.name}"吗?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),V.success("删除成功"),b()}catch(e){e!=="cancel"&&V.error("删除失败")}},Z=async n=>{try{V.success("状态更新成功")}catch{n.status=n.status===1?0:1,V.error("状态更新失败")}},J=(n,e)=>{if(e)z.value.push(n.id);else{const u=z.value.indexOf(n.id);u>-1&&z.value.splice(u,1)}},Q=async()=>{if(h.value)try{await h.value.validate(),E.value=!0,await new Promise(n=>setTimeout(n,1e3)),g.value=!1,b()}catch(n){n!==!1&&V.error("操作失败")}finally{E.value=!1}},W=()=>{h.value&&h.value.resetFields()},X=n=>{p.size=n,p.page=1,b()},ee=n=>{p.page=n,b()},te=n=>ye(n).format("YYYY-MM-DD HH:mm:ss");return pe(()=>{b()}),(n,e)=>{const u=s("el-icon"),d=s("el-button"),v=s("el-input"),i=s("el-form-item"),C=s("el-option"),O=s("el-select"),Y=s("el-form"),c=s("el-table-column"),le=s("el-tag"),ae=s("el-switch"),ne=s("el-table"),oe=s("el-pagination"),se=s("el-card"),de=s("el-tree-select"),x=s("el-radio"),q=s("el-radio-group"),re=s("el-input-number"),ue=s("el-dialog"),ie=me("loading");return f(),ce("div",xe,[t(se,null,{header:a(()=>[w("div",ke,[e[17]||(e[17]=w("span",null,"权限管理",-1)),t(d,{type:"primary",onClick:G},{default:a(()=>[t(u,null,{default:a(()=>[t(T(be))]),_:1}),e[16]||(e[16]=r(" 新增权限 ",-1))