You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
8.5 KiB

2 weeks ago
import{g as K,a as O,b as X,u as Y,c as Z}from"./menuApi-CUqEKPWz.js";import $ from"./elIconList-CbVf7wBF.js";import ee from"./faIconList-h85_ZsSh.js";import{_ as le,z as T,g as oe,h as ae,r as n,i as te,o as d,k as i,w as o,a as V,d as l,e as C,j as ne,c as ue,p as _,Q as re,A as q}from"./index-CsSGZIOI.js";const me={class:"app-container"},de={class:"el-custom-dialog-footer"},se={__name:"editDialog",emits:["onClose"],setup(ie,{expose:x,emit:D}){const N=D,k=T(),v=T(),e=oe({isShowDialog:!1,iconTabActiveName:"ele",menuTreeList:[],form:{},parentIds:[],loading:!1}),b=T({}),L={menuName:[{required:!0,message:"请输入目录名称!",trigger:"blur"}],componentPath:[{required:!0,message:"请输入组件路径!",trigger:"blur"}],routeName:[{required:!0,message:"请输入路由名称!",trigger:"blur"}],routePath:[{required:!0,message:"请输入路由路径!",trigger:"blur"}]},S={menuName:[{required:!0,message:"请输入菜单名称!",trigger:"blur"}],parentId:[{required:!0,message:"必须选择父级目录!",trigger:"blur"}],componentPath:[{required:!0,message:"请输入组件路径!",trigger:"blur"}],routeName:[{required:!0,message:"请输入路由名称!",trigger:"blur"}],routePath:[{required:!0,message:"请输入路由路径!",trigger:"blur"}]},h={menuName:[{required:!0,message:"请输入按钮名称!",trigger:"blur"}],parentId:[{required:!0,message:"必须选择父级菜单!",trigger:"blur"}],permission:[{required:!0,message:"必须输入权限标识!",trigger:"blur"}]};ae(()=>{c()});function c(){K({treeType:2}).then(m=>{e.menuTreeList=m.data})}function M(m){e.loading=!0,A(),m?O(m).then(a=>{e.form=a.data,a.data.parentId&&a.data.parentId!=="0"&&(e.parentIds=[a.data.parentId]),y()}).finally(()=>e.loading=!1):X().then(a=>{e.form.sort=a.data}).finally(()=>e.loading=!1),e.isShowDialog=!0}function w(m){e.form.menuIcon=m,k.value.hide()}function A(){e.form={id:0,menuType:1,parentId:"",menuName:"",routeName:"",routePath:"",componentPath:"",menuIcon:"",redirectPath:"",isAffix:!1,sort:10,isCache:!0,outLink:"",permission:"",status:1,openNewWindow:!1},e.parentIds=[],y(),setTimeout(()=>{var m;(m=v.value)==null||m.resetFields()},1)}function E(){y()}function y(){e.form.menuType===2?b.value=S:e.form.menuType===1?b.value=L:b.value=h}function F(){e.form.parentId=e.parentIds&&e.parentIds.length>0?e.parentIds[e.parentIds.length-1]:null,v.value.validate(m=>{m&&(e.loading=!0,e.form.id?Y(e.form).then(()=>{N("onClose"),q({message:"更新成功",type:"success"}),c(),e.isShowDialog=!1}).finally(()=>e.loading=!1):Z(e.form).then(()=>{N("onClose"),q({message:"新增成功",type:"success"}),c(),e.isShowDialog=!1}).finally(()=>e.loading=!1))})}return x({openDialog:M,refreshMenu:c}),(m,a)=>{const R=n("Edit"),B=n("el-icon"),I=n("el-radio-button"),g=n("el-radio-group"),u=n("el-form-item"),r=n("el-col"),s=n("el-row"),W=n("el-cascader"),f=n("el-input"),P=n("el-tab-pane"),j=n("el-tabs"),z=n("el-popover"),Q=n("el-input-number"),p=n("el-radio"),G=n("el-form"),U=n("el-button"),H=n("el-dialog"),J=te("loading");return d(),i(H,{modelValue:e.isShowDialog,"onUpdate:modelValue":a[17]||(a[17]=t=>e.isShowDialog=t),draggable:"","close-on-click-modal":!1,width:"700px","destroy-on-close":!0},{header:o(()=>[V("div",null,[l(B,{class:"el-custom-dialog-icon"},{default:o(()=>[l(R)]),_:1}),a[18]||(a[18]=V("span",null,"菜单信息",-1))])]),footer:o(()=>[V("div",de,[l(U,{type:"primary",onClick:F,disabled:e.loading},{default:o(()=>a[19]||(a[19]=[C("确定")])),_:1},8,["disabled"]),l(U,{onClick:a[16]||(a[16]=()=>e.isShowDialog=!1),disabled:e.loading},{default:o(()=>a[20]||(a[20]=[C("取消")])),_:1},8,["disabled"])])]),default:o(()=>[ne((d(),ue("div",me,[l(G,{ref_key:"elFormRef",ref:v,model:e.form,rules:b.value,"label-width":"90px"},{default:o(()=>[l(s,null,{default:o(()=>[l(r,{span:24},{default:o(()=>[l(u,{label:"类型"},{default:o(()=>[l(g,{modelValue:e.form.menuType,"onUpdate:modelValue":a[0]||(a[0]=t=>e.form.menuType=t),onChange:E},{default:o(()=>[l(I,{label:"目录",value:1}),l(I,{label:"菜单",value:2}),l(I,{label:"按钮",value:3})]),_:1},8,["modelValu