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.
1 lines
4.0 KiB
1 lines
4.0 KiB
import{d as D,C as x,r as l,I,h as s,o as m,c as B,f as C,w as d,l as E,k as w,j as L,m as f,B as r}from"./index-3679850f.js";const U=D({__name:"menu",setup(N){const b=x(),c=l(),o=l(),p={menuType:{1:"菜单",2:"按钮"}},a=l(!0),y=l({list:[{type:"input",control:{modelValue:"",placeholder:"请输入菜单名称"},config:{},name:"name",item:{label:"菜单名称"}},{type:"select",control:{modelValue:""},options:[],config:{optionsType:2,optionsFun:"status"},name:"status",item:{label:"状态"}},{type:"button",control:{label:"搜索",key:"submit",type:"primary"},config:{}},{type:"button",control:{label:"重置",key:"reset"},config:{}}],form:{size:"default"}}),n=l({tableProps:{rowKey:"id",defaultExpandAll:!1},columns:[{label:"菜单名称",prop:"name"},{label:"地址",prop:"path"},{label:"图标",prop:"icon",width:60},{label:"排序",prop:"sort",width:60},{label:"类型",prop:"type",width:70,config:{dictKey:"menuType",tagList:{1:"success",2:"info"}}},{label:"状态",prop:"status",width:70,config:{dictKey:"status",tagList:{1:"success",2:"info"}}},{label:"操作",prop:"__control",width:140}],controlBtn:[{label:"新增",type:"primary",icon:"plus",click:()=>{e.visible=!0,e.title="新增菜单",e.formType=1}},{label:"展开折叠",click:()=>{n.value.tableProps.defaultExpandAll=!n.value.tableProps.defaultExpandAll,a.value=!1,r(()=>{a.value=!0})}}],operateBtn:[{visible:"$.parentId!==1",label:"新增",click:t=>{e.visible=!0,e.title="新增菜单",e.formType=1,r(()=>{o.value.setValue({parentId:t.id})})}},{label:"编辑",click:t=>{if(t.parentId===1){b.push({path:"/design/dataList/list"});return}e.visible=!0,e.title="编辑菜单",e.formType=2,e.editId=t.id,r(()=>{o.value.setValue(t,!0)})}},{label:"删除",key:"del",visible:"$.parentId!==0&&$.parentId!==1"}],config:{pageSize:100,fixedBottomScroll:!1}}),e=I({visible:!1,title:"",formType:1,editId:""}),g=l({list:[{type:"input",control:{modelValue:"",disabled:!0,placeholder:"父级"},config:{},name:"parentId",item:{label:"父级ID"}},{type:"radio",control:{modelValue:1},options:[],config:{optionsType:2,optionsFun:"menuType"},name:"type",item:{label:"类型"}},{type:"input",control:{modelValue:"",placeholder:"请输入菜单名称"},config:{},name:"name",item:{label:"菜单名称"},customRules:[{type:"required",message:"菜单名称不能为空",trigger:"blur"}]},{type:"input",control:{modelValue:"",placeholder:"请输入访问地址/类型标识"},config:{},name:"path",item:{label:"访问地址"}},{type:"component",control:{modelValue:""},config:{componentName:"DiyIconfont"},name:"icon",item:{label:"icon图标"}},{type:"inputNumber",control:{modelValue:0,controlsPosition:"right"},config:{},name:"sort",item:{label:"排序"}},{type:"radio",control:{modelValue:1},options:[],config:{optionsType:2,optionsFun:"status"},name:"status",item:{label:"状态"}},{type:"textarea",control:{modelValue:""},config:{span:24},name:"remark",item:{label:"备注"}},{type:"div",control:{},config:{textAlign:"center",span:24},list:[{type:"button",control:{label:"确定",type:"primary",key:"submit"},config:{span:0}},{type:"button",control:{label:"取消",key:"reset"},config:{span:0}}]}],form:{class:"form-row-2",labelWidth:"100px",size:"default"},config:{}}),v=t=>(e.formType===2&&(t.id=e.editId),t),k=t=>{e.visible=!1,t==="success"&&c.value.getListData()},h=t=>{t==="reset"&&(e.visible=!1)};return(t,u)=>{const _=s("ak-list"),V=s("ak-form"),T=s("el-dialog");return m(),B("div",null,[a.value?(m(),C(_,{key:0,ref_key:"tableListEl",ref:c,requestUrl:"menuList",deleteUrl:"menuDelete",searchData:y.value,tableData:n.value,afterResponse:"transformDataToChild",dict:p},{icon:d(({row:i})=>[E("i",{class:w(i.icon)},null,2)]),_:1},8,["searchData","tableData"])):L("",!0),f(T,{modelValue:e.visible,"onUpdate:modelValue":u[0]||(u[0]=i=>e.visible=i),title:e.title,width:"680px","destroy-on-close":""},{default:d(()=>[f(V,{ref_key:"formNameEl",ref:o,type:e.formType,formData:g.value,addUrl:"menuSave",editUrl:"menuEdit",beforeSubmit:v,afterSubmit:k,onBtnClick:h,dict:p},null,8,["type","formData"])]),_:1},8,["modelValue","title"])])}}});export{U as default};
|
|
|