/** * 由 Fantastic-admin 提供技术支持 * Powered by Fantastic-admin * https://fantastic-admin.github.io */ import{_ as ae}from"./index.vue_vue_type_script_setup_true_lang-CiyjFa2H.js";import{I as P,d as L,W as se,p as B,g,z as I,X as re,i as D,Y as ie,r as p,Z as de,a as me,n as i,c as pe,b as l,w as n,h as s,e as a,t as y,A as T,E as q,j as ce,_ as fe,k as R}from"./index-DEc4xym2.js";const A={quertMenu:d=>P.get("menu/query",{params:d}),visibleMenu:d=>P.post("menu/visible",d),setMenu:d=>P.post("menu/setMenu",d),delMenu:d=>P.post("menu/delete",d),updateIcon:d=>P.post("menu/updateIcon",d)},_e=L({__name:"index",props:{icon:{}},setup(d){const _=se(),b=B(()=>({class:_.class||"",style:_.style||"width: 2em, height: 2em"}));return(w,c)=>(g(),I(D(ie),re({icon:"icon"},b.value),null,16))}}),ve=a("div",{class:"flex items-center gap-4"},"动态菜单设置",-1),ye=a("div",{class:"text-sm/6"},[a("div",null," 为了确保动态菜单的有效配置,系统要求至少设置一个菜单项。如果未进行配置,系统将默认展示对话页面。 "),a("div",null,"菜单项通过排序 ID 决定显示顺序,数值越小的项排在越前。"),a("div",null," 需要注意,PC端和移动端的菜单配置是独立的,可以分别设置以适应不同设备的需求。 "),a("div",null,[a("span",null,"可在 "),a("a",{href:"https://icon-sets.iconify.design/",target:"_blank"},"iconIfy.design"),a("span",null," 搜索喜欢的图标复制到图标编号中,例如"),a("code",null,"material-symbols:chat-outline。")])],-1),ge={class:"flex justify-between"},be=a("b",null,"客户端动态菜单设置",-1),we={class:"flex items-center"},Ve={class:"flex items-center"},Ie={class:"dialog-footer"},he={style:{display:"flex","align-items":"center"}},xe=a("span",{style:{width:"130px"}},"修改ICON编码:",-1),Te={style:{display:"flex","align-items":"center","margin-top":"12px"}},Ce=a("span",{style:{width:"130px"}},"修改菜单名称:",-1),ke={style:{display:"flex","align-items":"center","margin-top":"12px"}},Ue=a("span",{style:{width:"130px"}},"修改菜单排序:",-1),Se={class:"dialog-footer"},Me=L({__name:"menu",setup(d){const _=p(1),b=p(),w=p(!1),c=p(0),C=p(""),k=p(""),U=p(0),S=p(!1),o=p({menuTipText:"",menuIframeUrl:"",isJump:!1,isShow:!0,menuIcon:"",menuPath:"",order:1e3,isNeedAuth:!1,isSystem:!0}),W={menuTipText:[{required:!0,trigger:"blur",message:"请填写菜单名称"}],menuIframeUrl:[{required:!0,trigger:"blur",message:"请填写三方网页地址"}],isJump:[{required:!0,trigger:"blur",message:"请确认是否跳转"}],isShow:[{required:!0,trigger:"blur",message:"请确认是否打开菜单"}],menuIcon:[{required:!0,trigger:"blur",message:"请填写ICON图标"}],order:[{required:!0,trigger:"blur",message:"请填写排序ID"}],menuPath:[{required:!0,trigger:"blur",message:"请填写菜单路径"}],isSystem:[{required:!0,trigger:"blur",message:"请确认是否是系统内地址"}],isNeedAuth:[{required:!0,trigger:"blur",message:"请确认是否需要权限"}]};de(_,u=>{h()});const X=B(()=>c.value>0?"编辑菜单":"添加菜单"),Y=B(()=>c.value>0?"确认修改":"确认添加"),j=p([]);async function h(){const u=await A.quertMenu({menuPlatform:_.value});j.value=u.data}function F(u){u==null||u.resetFields(),c.value=0}async function Z(u){const{id:t}=u;await A.visibleMenu({id:t}),q.success("操作成功!"),h()}async function G(u){await A.delMenu({id:u.id}),q.success("操作成功!"),h()}async function K(){var u;(u=b.value)==null||u.resetFields(),c.value=0,w.value=!0}async function Q(u){u==null||u.validate(async t=>{if(!t)return;const V=Object.assign(o.value,{id:c},{menuPlatform:_.value});await A.setMenu(V),q.success("操作成功!"),u.resetFields(),w.value=!1,h()})}function E(u){const{id:t,menuTipText:V,menuIframeUrl:M,isJump:N,isShow:$,menuIcon:z,menuPath:r,order:x,isNeedAuth:m}=u;c.value=t,o.value={menuTipText:V,menuIframeUrl:M,isJump:N,isShow:$,menuIcon:z,menuPath:r,order:x,isNeedAuth:m,isSystem:!r},w.value=!0}async function ee(u){console.log("row: ",u);const{id:t,menuIcon:V,menuTipText:M,order:N}=u;C.value=V,k.value=M,U.value=N,c.value=t,S.value=!0}async function le(){if(!C.value||!k.value||!U.value)return q.error("请填写ICON编码");const u={id:c.value,menuIcon:C.value,menuTipText:k.value,order:U.value};await A.updateIcon(u),q.success("操作成功!"),h(),S.value=!1}return me(()=>{h()}),(u,t)=>{const V=ce,M=fe,N=ae,$=i("el-radio-button"),z=i("el-radio-group"),r=i("el-table-column"),x=i("el-tag"),m=i("el-button"),te=i("el-popconfirm"),ne=i("el-table"),ue=i("el-card"),J=i("el-switch"),f=i("el-form-item"),v=i("el-input"),oe=i("el-form"),H=i("el-dialog");return g(),pe("div",null,[l(N,null,{title:n(()=>[ve]),content:n(()=>[ye]),default:n(()=>[l(M,{outline:"",size:"large",class:"ml-5",onClick:K},{default:n(()=>[l(V,{name:"i-ri:file-text-line"}),s(" 添加菜单 ")]),_:1})]),_:1}),l(ue,{style:{margin:"20px"}},{header:n(()=>[a("div",ge,[be,a("div",we,[l(z,{modelValue:_.value,"onUpdate:modelValue":t[0]||(t[0]=e=>_.value=e),size:"large"},{default:n(()=>[l($,{label:1},{default:n(()=>[s(" PC端 ")]),_:1}),l($,{label:0},{default:n(()=>[s(" 移动端 ")]),_:1})]),_:1},8,["modelValue"])])])]),default:n(()=>[l(ne,{data:j.value,style:{width:"100%"}},{default:n(()=>[l(r,{prop:"menuTipText",label:"菜单文本"}),l(r,{prop:"menuType",label:"菜单类型"},{default:n(e=>[l(x,{type:e.row.menuType?"success":"danger"},{default:n(()=>[s(y(e.row.menuType===0?"系统预设":"自定义菜单"),1)]),_:2},1032,["type"])]),_:1}),l(r,{prop:"isJump",label:"是否打开新窗口"},{default:n(e=>[l(x,{type:e.row.isJump?"success":"danger"},{default:n(()=>[s(y(e.row.isJump?"是":"否"),1)]),_:2},1032,["type"])]),_:1}),l(r,{prop:"isShow",label:"是否显示菜单"},{default:n(e=>[l(x,{type:e.row.isShow?"success":"danger"},{default:n(()=>[s(y(e.row.isShow?"是":"否"),1)]),_:2},1032,["type"])]),_:1}),l(r,{prop:"isNeedAuth",label:"是否需要登录访问"},{default:n(e=>[l(x,{type:e.row.isNeedAuth?"success":"danger"},{default:n(()=>[s(y(e.row.isNeedAuth?"是":"否"),1)]),_:2},1032,["type"])]),_:1}),l(r,{prop:"menuIcon",label:"菜单图标"},{default:n(e=>[l(_e,{style:{"font-size":"24px"},icon:e.row.menuIcon},null,8,["icon"])]),_:1}),l(r,{prop:"order",label:"排序"}),l(r,{prop:"menuPath",label:"菜单路径"},{default:n(e=>[s(y(e.row.menuPath||"---"),1)]),_:1}),l(r,{prop:"menuIframeUrl",label:"三方网页链接"},{default:n(e=>[s(y(e.row.menuIframeUrl||"---"),1)]),_:1}),l(r,{label:"操作"},{default:n(e=>[a("div",Ve,[e.row.menuType?(g(),I(m,{key:0,size:"small",onClick:O=>E(e.row)},{default:n(()=>[s(" 编辑菜单 ")]),_:2},1032,["onClick"])):T("",!0),e.row.menuType?T("",!0):(g(),I(m,{key:1,size:"small",onClick:O=>ee(e.row)},{default:n(()=>[s(" 修改默认 ")]),_:2},1032,["onClick"])),e.row.menuType?T("",!0):(g(),I(m,{key:2,type:e.row.isShow?"danger":"success",size:"small",onClick:O=>Z(e.row)},{default:n(()=>[s(y(e.row.isShow?"隐藏菜单":"打开菜单"),1)]),_:2},1032,["type","onClick"])),e.row.menuType?(g(),I(te,{key:3,title:"是否删除当前菜单?",onConfirm:O=>G(e.row)},{reference:n(()=>[l(m,{type:"danger",size:"small"},{default:n(()=>[s(" 删除菜单 ")]),_:1})]),_:2},1032,["onConfirm"])):T("",!0)])]),_:1})]),_:1},8,["data"])]),_:1}),l(H,{modelValue:w.value,"onUpdate:modelValue":t[12]||(t[12]=e=>w.value=e),"close-on-click-modal":!1,title:D(X),width:"570",onClose:t[13]||(t[13]=e=>F(b.value))},{footer:n(()=>[a("span",Ie,[l(m,{onClick:t[10]||(t[10]=e=>w.value=!1)},{default:n(()=>[s("我再想想")]),_:1}),l(m,{type:"primary",onClick:t[11]||(t[11]=e=>Q(b.value))},{default:n(()=>[s(y(D(Y)),1)]),_:1})])]),default:n(()=>[l(oe,{ref_key:"formRef",ref:b,"label-width":"140",rules:W,model:o.value},{default:n(()=>[l(f,{label:"是否打开菜单",prop:"isShow"},{default:n(()=>[l(J,{modelValue:o.value.isShow,"onUpdate:modelValue":t[1]||(t[1]=e=>o.value.isShow=e)},null,8,["modelValue"])]),_:1}),l(f,{label:"是否属于三方网页",prop:"isSystem"},{default:n(()=>[l(J,{modelValue:o.value.isSystem,"onUpdate:modelValue":t[2]||(t[2]=e=>o.value.isSystem=e)},null,8,["modelValue"])]),_:1}),l(f,{label:"菜单文本提示信息",prop:"menuTipText"},{default:n(()=>[l(v,{modelValue:o.value.menuTipText,"onUpdate:modelValue":t[3]||(t[3]=e=>o.value.menuTipText=e),placeholder:"请填写菜单提示文字"},null,8,["modelValue"])]),_:1}),l(f,{label:"菜单图标编号",prop:"menuIcon"},{default:n(()=>[l(v,{modelValue:o.value.menuIcon,"onUpdate:modelValue":t[4]||(t[4]=e=>o.value.menuIcon=e),placeholder:"请填写菜单ICON图标"},null,8,["modelValue"])]),_:1}),o.value.isSystem?(g(),I(f,{key:0,label:"加载三方网页地址",prop:"menuIframeUrl"},{default:n(()=>[l(v,{modelValue:o.value.menuIframeUrl,"onUpdate:modelValue":t[5]||(t[5]=e=>o.value.menuIframeUrl=e),placeholder:"请填写加载的三方网页地址"},null,8,["modelValue"])]),_:1})):T("",!0),l(f,{label:"数字编号排序",prop:"order"},{default:n(()=>[l(v,{modelValue:o.value.order,"onUpdate:modelValue":t[6]||(t[6]=e=>o.value.order=e),type:"number",placeholder:"请填写排序Id、越小越靠前"},null,8,["modelValue"])]),_:1}),o.value.isSystem?T("",!0):(g(),I(f,{key:1,label:"系统内菜单路径",prop:"menuPath"},{default:n(()=>[l(v,{modelValue:o.value.menuPath,"onUpdate:modelValue":t[7]||(t[7]=e=>o.value.menuPath=e),placeholder:"请填写系统内置菜单地址"},null,8,["modelValue"])]),_:1})),l(f,{label:"是否打开新窗口",prop:"isJump"},{default:n(()=>[l(J,{modelValue:o.value.isJump,"onUpdate:modelValue":t[8]||(t[8]=e=>o.value.isJump=e)},null,8,["modelValue"])]),_:1}),l(f,{label:"是否需要登录访问",prop:"isNeedAuth"},{default:n(()=>[l(J,{modelValue:o.value.isNeedAuth,"onUpdate:modelValue":t[9]||(t[9]=e=>o.value.isNeedAuth=e)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(H,{modelValue:S.value,"onUpdate:modelValue":t[18]||(t[18]=e=>S.value=e),title:"修改默认信息",width:"570",onClose:t[19]||(t[19]=e=>F(b.value))},{footer:n(()=>[a("span",Se,[l(m,{onClick:t[17]||(t[17]=e=>S.value=!1)},{default:n(()=>[s("我再想想")]),_:1}),l(m,{type:"primary",onClick:le},{default:n(()=>[s(" 确认修改 ")]),_:1})])]),default:n(()=>[a("div",he,[xe,l(v,{modelValue:C.value,"onUpdate:modelValue":t[14]||(t[14]=e=>C.value=e),placeholder:"请填写要修改的ICON编码"},null,8,["modelValue"])]),a("div",Te,[Ce,l(v,{modelValue:k.value,"onUpdate:modelValue":t[15]||(t[15]=e=>k.value=e),placeholder:"请填写要修改的菜单名称"},null,8,["modelValue"])]),a("div",ke,[Ue,l(v,{modelValue:U.value,"onUpdate:modelValue":t[16]||(t[16]=e=>U.value=e),placeholder:"请修改菜单排序 越大越靠前"},null,8,["modelValue"])])]),_:1},8,["modelValue"])])}}});typeof R=="function"&&R(Me);export{Me as default};