admin
2025-04-14 7ae97766f9776fe320b6ebe0f149301c0fd572c5
1
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-25ccdf6b"],{"1a4c":function(e,t,s){},7317:function(e,t,s){"use strict";s("1a4c")},a6dc:function(e,t,s){"use strict";s.d(t,"d",(function(){return a})),s.d(t,"c",(function(){return r})),s.d(t,"f",(function(){return o})),s.d(t,"e",(function(){return n})),s.d(t,"a",(function(){return i})),s.d(t,"g",(function(){return c})),s.d(t,"b",(function(){return m}));var l=s("b775");function a(e){return Object(l["a"])({url:"/system/menu/list",method:"get",params:e})}function r(e){return Object(l["a"])({url:"/system/menu/"+e,method:"get"})}function o(){return Object(l["a"])({url:"/system/menu/treeselect",method:"get"})}function n(e){return Object(l["a"])({url:"/system/menu/roleMenuTreeselect/"+e,method:"get"})}function i(e){return Object(l["a"])({url:"/system/menu",method:"post",data:e})}function c(e){return Object(l["a"])({url:"/system/menu",method:"put",data:e})}function m(e){return Object(l["a"])({url:"/system/menu/"+e,method:"delete"})}},f794:function(e,t,s){"use strict";s.r(t);var l=function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"app-container"},[s("el-form",{directives:[{name:"show",rawName:"v-show",value:e.showSearch,expression:"showSearch"}],ref:"queryForm",attrs:{model:e.queryParams,size:"small",inline:!0}},[s("el-form-item",{attrs:{label:"菜单名称",prop:"menuName"}},[s("el-input",{attrs:{placeholder:"请输入菜单名称",clearable:""},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.handleQuery(t)}},model:{value:e.queryParams.menuName,callback:function(t){e.$set(e.queryParams,"menuName",t)},expression:"queryParams.menuName"}})],1),s("el-form-item",{attrs:{label:"状态",prop:"status"}},[s("el-select",{attrs:{placeholder:"菜单状态",clearable:""},model:{value:e.queryParams.status,callback:function(t){e.$set(e.queryParams,"status",t)},expression:"queryParams.status"}},e._l(e.dict.type.sys_normal_disable,(function(e){return s("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),s("el-form-item",[s("el-button",{attrs:{type:"primary",icon:"el-icon-search",size:"mini"},on:{click:e.handleQuery}},[e._v("搜索")]),s("el-button",{attrs:{icon:"el-icon-refresh",size:"mini"},on:{click:e.resetQuery}},[e._v("重置")])],1)],1),s("el-row",{staticClass:"mb8",attrs:{gutter:10}},[s("el-col",{attrs:{span:1.5}},[s("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["system:menu:add"],expression:"['system:menu:add']"}],attrs:{type:"primary",plain:"",icon:"el-icon-plus",size:"mini"},on:{click:e.handleAdd}},[e._v("新增")])],1),s("el-col",{attrs:{span:1.5}},[s("el-button",{attrs:{type:"info",plain:"",icon:"el-icon-sort",size:"mini"},on:{click:e.toggleExpandAll}},[e._v("展开/折叠")])],1),s("right-toolbar",{attrs:{showSearch:e.showSearch},on:{"update:showSearch":function(t){e.showSearch=t},"update:show-search":function(t){e.showSearch=t},queryTable:e.getList}})],1),e.refreshTable?s("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],attrs:{data:e.menuList,"row-key":"menuId","default-expand-all":e.isExpandAll,"tree-props":{children:"children",hasChildren:"hasChildren"}}},[s("el-table-column",{attrs:{prop:"menuName",label:"菜单名称","show-overflow-tooltip":!0,width:"160"}}),s("el-table-column",{attrs:{prop:"icon",label:"图标",align:"center",width:"100"},scopedSlots:e._u([{key:"default",fn:function(e){return[s("svg-icon",{attrs:{"icon-class":e.row.icon}})]}}],null,!1,3094025326)}),s("el-table-column",{attrs:{prop:"orderNum",label:"排序",width:"60"}}),s("el-table-column",{attrs:{prop:"perms",label:"权限标识","show-overflow-tooltip":!0}}),s("el-table-column",{attrs:{prop:"component",label:"组件路径","show-overflow-tooltip":!0}}),s("el-table-column",{attrs:{prop:"status",label:"状态",width:"80"},scopedSlots:e._u([{key:"default",fn:function(t){return[s("dict-tag",{attrs:{options:e.dict.type.sys_normal_disable,value:t.row.status}})]}}],null,!1,2802338569)}),s("el-table-column",{attrs:{label:"创建时间",align:"center",prop:"createTime"},scopedSlots:e._u([{key:"default",fn:function(t){return[s("span",[e._v(e._s(e.parseTime(t.row.createTime)))])]}}],null,!1,3078210614)}),s("el-table-column",{attrs:{label:"操作",align:"center","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){return[s("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["system:menu:edit"],expression:"['system:menu:edit']"}],attrs:{size:"mini",type:"text",icon:"el-icon-edit"},on:{click:function(s){return e.handleUpdate(t.row)}}},[e._v("修改")]),s("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["system:menu:add"],expression:"['system:menu:add']"}],attrs:{size:"mini",type:"text",icon:"el-icon-plus"},on:{click:function(s){return e.handleAdd(t.row)}}},[e._v("新增")]),s("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["system:menu:remove"],expression:"['system:menu:remove']"}],attrs:{size:"mini",type:"text",icon:"el-icon-delete"},on:{click:function(s){return e.handleDelete(t.row)}}},[e._v("删除")])]}}],null,!1,1292372230)})],1):e._e(),s("el-dialog",{attrs:{title:e.title,visible:e.open,width:"680px","append-to-body":""},on:{"update:visible":function(t){e.open=t}}},[s("el-form",{ref:"form",attrs:{model:e.form,rules:e.rules,"label-width":"100px"}},[s("el-row",[s("el-col",{attrs:{span:24}},[s("el-form-item",{attrs:{label:"上级菜单",prop:"parentId"}},[s("treeselect",{attrs:{options:e.menuOptions,normalizer:e.normalizer,"show-count":!0,placeholder:"选择上级菜单"},model:{value:e.form.parentId,callback:function(t){e.$set(e.form,"parentId",t)},expression:"form.parentId"}})],1)],1),s("el-col",{attrs:{span:24}},[s("el-form-item",{attrs:{label:"菜单类型",prop:"menuType"}},[s("el-radio-group",{model:{value:e.form.menuType,callback:function(t){e.$set(e.form,"menuType",t)},expression:"form.menuType"}},[s("el-radio",{attrs:{label:"M"}},[e._v("目录")]),s("el-radio",{attrs:{label:"C"}},[e._v("菜单")]),s("el-radio",{attrs:{label:"F"}},[e._v("按钮")])],1)],1)],1),"F"!=e.form.menuType?s("el-col",{attrs:{span:24}},[s("el-form-item",{attrs:{label:"菜单图标",prop:"icon"}},[s("el-popover",{attrs:{placement:"bottom-start",width:"460",trigger:"click"},on:{show:function(t){return e.$refs["iconSelect"].reset()}}},[s("IconSelect",{ref:"iconSelect",attrs:{"active-icon":e.form.icon},on:{selected:e.selected}}),s("el-input",{attrs:{slot:"reference",placeholder:"点击选择图标",readonly:""},slot:"reference",model:{value:e.form.icon,callback:function(t){e.$set(e.form,"icon",t)},expression:"form.icon"}},[e.form.icon?s("svg-icon",{staticStyle:{width:"25px"},attrs:{slot:"prefix","icon-class":e.form.icon},slot:"prefix"}):s("i",{staticClass:"el-icon-search el-input__icon",attrs:{slot:"prefix"},slot:"prefix"})],1)],1)],1)],1):e._e(),s("el-col",{attrs:{span:12}},[s("el-form-item",{attrs:{label:"菜单名称",prop:"menuName"}},[s("el-input",{attrs:{placeholder:"请输入菜单名称"},model:{value:e.form.menuName,callback:function(t){e.$set(e.form,"menuName",t)},expression:"form.menuName"}})],1)],1),s("el-col",{attrs:{span:12}},[s("el-form-item",{attrs:{label:"显示排序",prop:"orderNum"}},[s("el-input-number",{attrs:{"controls-position":"right",min:0},model:{value:e.form.orderNum,callback:function(t){e.$set(e.form,"orderNum",t)},expression:"form.orderNum"}})],1)],1),"F"!=e.form.menuType?s("el-col",{attrs:{span:12}},[s("el-form-item",{attrs:{prop:"isFrame"}},[s("span",{attrs:{slot:"label"},slot:"label"},[s("el-tooltip",{attrs:{content:"选择是外链则路由地址需要以`http(s)://`开头",placement:"top"}},[s("i",{staticClass:"el-icon-question"})]),e._v(" 是否外链 ")],1),s("el-radio-group",{model:{value:e.form.isFrame,callback:function(t){e.$set(e.form,"isFrame",t)},expression:"form.isFrame"}},[s("el-radio",{attrs:{label:"0"}},[e._v("是")]),s("el-radio",{attrs:{label:"1"}},[e._v("否")])],1)],1)],1):e._e(),"F"!=e.form.menuType?s("el-col",{attrs:{span:12}},[s("el-form-item",{attrs:{prop:"path"}},[s("span",{attrs:{slot:"label"},slot:"label"},[s("el-tooltip",{attrs:{content:"访问的路由地址,如:`user`,如外网地址需内链访问则以`http(s)://`开头",placement:"top"}},[s("i",{staticClass:"el-icon-question"})]),e._v(" 路由地址 ")],1),s("el-input",{attrs:{placeholder:"请输入路由地址"},model:{value:e.form.path,callback:function(t){e.$set(e.form,"path",t)},expression:"form.path"}})],1)],1):e._e(),"C"==e.form.menuType?s("el-col",{attrs:{span:12}},[s("el-form-item",{attrs:{prop:"component"}},[s("span",{attrs:{slot:"label"},slot:"label"},[s("el-tooltip",{attrs:{content:"访问的组件路径,如:`system/user/index`,默认在`views`目录下",placement:"top"}},[s("i",{staticClass:"el-icon-question"})]),e._v(" 组件路径 ")],1),s("el-input",{attrs:{placeholder:"请输入组件路径"},model:{value:e.form.component,callback:function(t){e.$set(e.form,"component",t)},expression:"form.component"}})],1)],1):e._e(),"M"!=e.form.menuType?s("el-col",{attrs:{span:12}},[s("el-form-item",{attrs:{prop:"perms"}},[s("el-input",{attrs:{placeholder:"请输入权限标识",maxlength:"100"},model:{value:e.form.perms,callback:function(t){e.$set(e.form,"perms",t)},expression:"form.perms"}}),s("span",{attrs:{slot:"label"},slot:"label"},[s("el-tooltip",{attrs:{content:"控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasPermi('system:user:list')`)",placement:"top"}},[s("i",{staticClass:"el-icon-question"})]),e._v(" 权限字符 ")],1)],1)],1):e._e(),"C"==e.form.menuType?s("el-col",{attrs:{span:12}},[s("el-form-item",{attrs:{prop:"query"}},[s("el-input",{attrs:{placeholder:"请输入路由参数",maxlength:"255"},model:{value:e.form.query,callback:function(t){e.$set(e.form,"query",t)},expression:"form.query"}}),s("span",{attrs:{slot:"label"},slot:"label"},[s("el-tooltip",{attrs:{content:'访问路由的默认传递参数,如:`{"id": 1, "name": "ry"}`',placement:"top"}},[s("i",{staticClass:"el-icon-question"})]),e._v(" 路由参数 ")],1)],1)],1):e._e(),"C"==e.form.menuType?s("el-col",{attrs:{span:12}},[s("el-form-item",{attrs:{prop:"isCache"}},[s("span",{attrs:{slot:"label"},slot:"label"},[s("el-tooltip",{attrs:{content:"选择是则会被`keep-alive`缓存,需要匹配组件的`name`和地址保持一致",placement:"top"}},[s("i",{staticClass:"el-icon-question"})]),e._v(" 是否缓存 ")],1),s("el-radio-group",{model:{value:e.form.isCache,callback:function(t){e.$set(e.form,"isCache",t)},expression:"form.isCache"}},[s("el-radio",{attrs:{label:"0"}},[e._v("缓存")]),s("el-radio",{attrs:{label:"1"}},[e._v("不缓存")])],1)],1)],1):e._e(),"F"!=e.form.menuType?s("el-col",{attrs:{span:12}},[s("el-form-item",{attrs:{prop:"visible"}},[s("span",{attrs:{slot:"label"},slot:"label"},[s("el-tooltip",{attrs:{content:"选择隐藏则路由将不会出现在侧边栏,但仍然可以访问",placement:"top"}},[s("i",{staticClass:"el-icon-question"})]),e._v(" 显示状态 ")],1),s("el-radio-group",{model:{value:e.form.visible,callback:function(t){e.$set(e.form,"visible",t)},expression:"form.visible"}},e._l(e.dict.type.sys_show_hide,(function(t){return s("el-radio",{key:t.value,attrs:{label:t.value}},[e._v(e._s(t.label))])})),1)],1)],1):e._e(),s("el-col",{attrs:{span:12}},[s("el-form-item",{attrs:{prop:"status"}},[s("span",{attrs:{slot:"label"},slot:"label"},[s("el-tooltip",{attrs:{content:"选择停用则路由将不会出现在侧边栏,也不能被访问",placement:"top"}},[s("i",{staticClass:"el-icon-question"})]),e._v(" 菜单状态 ")],1),s("el-radio-group",{model:{value:e.form.status,callback:function(t){e.$set(e.form,"status",t)},expression:"form.status"}},e._l(e.dict.type.sys_normal_disable,(function(t){return s("el-radio",{key:t.value,attrs:{label:t.value}},[e._v(e._s(t.label))])})),1)],1)],1)],1)],1),s("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[s("el-button",{attrs:{type:"primary"},on:{click:e.submitForm}},[e._v("确 定")]),s("el-button",{on:{click:e.cancel}},[e._v("取 消")])],1)],1)],1)},a=[],r=(s("14d9"),s("a6dc")),o=s("ca17"),n=s.n(o),i=(s("542c"),function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"icon-body"},[s("el-input",{staticClass:"icon-search",attrs:{clearable:"",placeholder:"请输入图标名称"},on:{clear:e.filterIcons,input:e.filterIcons},model:{value:e.name,callback:function(t){e.name=t},expression:"name"}},[s("i",{staticClass:"el-icon-search el-input__icon",attrs:{slot:"suffix"},slot:"suffix"})]),s("div",{staticClass:"icon-list"},[s("div",{staticClass:"list-container"},e._l(e.iconList,(function(t,l){return s("div",{key:l,staticClass:"icon-item-wrapper",on:{click:function(s){return e.selectedIcon(t)}}},[s("div",{class:["icon-item",{active:e.activeIcon===t}]},[s("svg-icon",{staticStyle:{height:"25px",width:"16px"},attrs:{"icon-class":t,"class-name":"icon"}}),s("span",[e._v(e._s(t))])],1)])})),0)])],1)}),c=[];s("0643"),s("2382"),s("a573");const m=s("23f1"),u=e=>e.keys(),p=/\.\/(.*)\.svg/,d=u(m).map(e=>e.match(p)[1]);var h=d,f={name:"IconSelect",props:{activeIcon:{type:String}},data(){return{name:"",iconList:h}},methods:{filterIcons(){this.iconList=h,this.name&&(this.iconList=this.iconList.filter(e=>e.includes(this.name)))},selectedIcon(e){this.$emit("selected",e),document.body.click()},reset(){this.name="",this.iconList=h}}},b=f,v=(s("7317"),s("2877")),y=Object(v["a"])(b,i,c,!1,null,"480c2f7f",null),_=y.exports,g={name:"Menu",dicts:["sys_show_hide","sys_normal_disable"],components:{Treeselect:n.a,IconSelect:_},data(){return{loading:!0,showSearch:!0,menuList:[],menuOptions:[],title:"",open:!1,isExpandAll:!1,refreshTable:!0,queryParams:{menuName:void 0,visible:void 0},form:{},rules:{menuName:[{required:!0,message:"菜单名称不能为空",trigger:"blur"}],orderNum:[{required:!0,message:"菜单顺序不能为空",trigger:"blur"}],path:[{required:!0,message:"路由地址不能为空",trigger:"blur"}]}}},created(){this.getList()},methods:{selected(e){this.form.icon=e},getList(){this.loading=!0,Object(r["d"])(this.queryParams).then(e=>{this.menuList=this.handleTree(e.data,"menuId"),this.loading=!1})},normalizer(e){return e.children&&!e.children.length&&delete e.children,{id:e.menuId,label:e.menuName,children:e.children}},getTreeselect(){Object(r["d"])().then(e=>{this.menuOptions=[];const t={menuId:0,menuName:"主类目",children:[]};t.children=this.handleTree(e.data,"menuId"),this.menuOptions.push(t)})},cancel(){this.open=!1,this.reset()},reset(){this.form={menuId:void 0,parentId:0,menuName:void 0,icon:void 0,menuType:"M",orderNum:void 0,isFrame:"1",isCache:"0",visible:"0",status:"0"},this.resetForm("form")},handleQuery(){this.getList()},resetQuery(){this.resetForm("queryForm"),this.handleQuery()},handleAdd(e){this.reset(),this.getTreeselect(),null!=e&&e.menuId?this.form.parentId=e.menuId:this.form.parentId=0,this.open=!0,this.title="添加菜单"},toggleExpandAll(){this.refreshTable=!1,this.isExpandAll=!this.isExpandAll,this.$nextTick(()=>{this.refreshTable=!0})},handleUpdate(e){this.reset(),this.getTreeselect(),Object(r["c"])(e.menuId).then(e=>{this.form=e.data,this.open=!0,this.title="修改菜单"})},submitForm:function(){this.$refs["form"].validate(e=>{e&&(void 0!=this.form.menuId?Object(r["g"])(this.form).then(e=>{this.$modal.msgSuccess("修改成功"),this.open=!1,this.getList()}):Object(r["a"])(this.form).then(e=>{this.$modal.msgSuccess("新增成功"),this.open=!1,this.getList()}))})},handleDelete(e){this.$modal.confirm('是否确认删除名称为"'+e.menuName+'"的数据项?').then((function(){return Object(r["b"])(e.menuId)})).then(()=>{this.getList(),this.$modal.msgSuccess("删除成功")}).catch(()=>{})}}},w=g,x=Object(v["a"])(w,l,a,!1,null,null,null);t["default"]=x.exports}}]);