(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-407cdc65"],{"2f04":function(e,t,n){"use strict";n.r(t);var l=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"divBox"},[n("el-card",{staticClass:"box-card"},[n("div",{ref:"tableheader",staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[n("el-form",{directives:[{name:"show",rawName:"v-show",value:e.showSearch,expression:"showSearch"}],ref:"queryForm",attrs:{model:e.queryParams,size:"small",inline:!0}},[n("el-form-item",{attrs:{label:"菜单名称",prop:"menuName"}},[n("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),e._v(" "),n("el-form-item",{attrs:{label:"状态",prop:"status"}},[n("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.constants.normalOrDisabled,(function(e){return n("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),e._v(" "),n("el-form-item",[n("el-button",{attrs:{type:"primary",icon:"el-icon-search",size:"mini"},on:{click:e.handleQuery}},[e._v("搜索")]),e._v(" "),n("el-button",{attrs:{icon:"el-icon-refresh",size:"mini"},on:{click:e.resetQuery}},[e._v("重置")])],1)],1),e._v(" "),n("el-row",{staticClass:"mb8",attrs:{gutter:10}},[n("el-col",{attrs:{span:1.5}},[n("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("新增\n ")])],1),e._v(" "),n("el-col",{attrs:{span:1.5}},[n("el-button",{attrs:{type:"info",plain:"",icon:"el-icon-sort",size:"mini"},on:{click:e.toggleExpandAll}},[e._v("展开/折叠\n ")])],1)],1)],1),e._v(" "),e.refreshTable?n("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],attrs:{data:e.menuList,"row-key":"menu_id","default-expand-all":e.isExpandAll,"tree-props":{children:"children",hasChildren:"hasChildren"}}},[n("el-table-column",{attrs:{prop:"menu_name",label:"菜单名称","show-overflow-tooltip":!0,width:"160"}}),e._v(" "),n("el-table-column",{attrs:{prop:"icon",label:"图标",align:"center",width:"100"},scopedSlots:e._u([{key:"default",fn:function(e){return[n("i",{class:"el-icon-"+e.row.icon,staticStyle:{"font-size":"20px"}})]}}],null,!1,244404100)}),e._v(" "),n("el-table-column",{attrs:{prop:"order_num",label:"排序",width:"60"}}),e._v(" "),n("el-table-column",{attrs:{prop:"perms",label:"权限标识","show-overflow-tooltip":!0}}),e._v(" "),n("el-table-column",{attrs:{prop:"component",label:"组件路径","show-overflow-tooltip":!0}}),e._v(" "),n("el-table-column",{attrs:{prop:"status",label:"状态",width:"80"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("span",[e._v(e._s(0==t.row.status?"正常":"禁用"))])]}}],null,!1,2073710069)}),e._v(" "),n("el-table-column",{attrs:{prop:"is_show",label:"可见",width:"80"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("el-tag",{attrs:{type:1==t.row.is_show?"":"danger"}},[e._v(e._s(1==t.row.is_show?"显示":"隐藏"))])]}}],null,!1,4152849384)}),e._v(" "),n("el-table-column",{attrs:{label:"菜单类型",align:"center",prop:"menu_type"}}),e._v(" "),n("el-table-column",{attrs:{label:"操作",align:"center","min-width":"130",fixed:"right"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["system:menu:edit"],expression:"['system:menu:edit']"}],attrs:{size:"mini",type:"text"},on:{click:function(n){return e.handleUpdate(t.row)}}},[e._v("修改\n ")]),e._v(" "),n("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["system:menu:add"],expression:"['system:menu:add']"}],attrs:{size:"mini",type:"text"},on:{click:function(n){return e.handleAdd(t.row)}}},[e._v("新增\n ")]),e._v(" "),n("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["system:menu:remove"],expression:"['system:menu:remove']"}],attrs:{size:"mini",type:"text"},on:{click:function(n){return e.handleDelete(t.row)}}},[e._v("删除\n ")])]}}],null,!1,1041871444)})],1):e._e()],1),e._v(" "),n("el-dialog",{attrs:{title:e.title,visible:e.open,width:"680px","append-to-body":""},on:{"update:visible":function(t){e.open=t}}},[n("el-form",{ref:"form",attrs:{model:e.form,rules:e.rules,"label-width":"100px"}},[n("el-row",[n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"上级菜单"}},[n("treeselect",{attrs:{options:e.menuOptions,normalizer:e.normalizer,"show-count":!0,placeholder:"选择上级菜单"},model:{value:e.form.parent_id,callback:function(t){e.$set(e.form,"parent_id",t)},expression:"form.parent_id"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"菜单类型",prop:"menu_type"}},[n("el-radio-group",{model:{value:e.form.menu_type,callback:function(t){e.$set(e.form,"menu_type",t)},expression:"form.menu_type"}},[n("el-radio",{attrs:{label:"M"}},[e._v("目录")]),e._v(" "),n("el-radio",{attrs:{label:"C"}},[e._v("菜单")]),e._v(" "),n("el-radio",{attrs:{label:"F"}},[e._v("按钮")])],1)],1)],1),e._v(" "),"F"!=e.form.menu_type?n("el-col",{attrs:{span:24}},[n("el-form-item",{attrs:{label:"菜单图标",prop:"icon"}},[n("el-form-item",[n("el-input",{attrs:{placeholder:"请选择菜单图标"},model:{value:e.form.icon,callback:function(t){e.$set(e.form,"icon","string"===typeof t?t.trim():t)},expression:"form.icon"}},[n("el-button",{attrs:{slot:"append",icon:"el-icon-circle-plus-outline"},on:{click:e.addIcon},slot:"append"})],1)],1)],1)],1):e._e(),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"菜单名称",prop:"menu_name"}},[n("el-input",{attrs:{placeholder:"请输入菜单名称"},model:{value:e.form.menu_name,callback:function(t){e.$set(e.form,"menu_name",t)},expression:"form.menu_name"}})],1)],1),e._v(" "),n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{label:"显示排序",prop:"order_num"}},[n("el-input-number",{attrs:{"controls-position":"right",min:0},model:{value:e.form.order_num,callback:function(t){e.$set(e.form,"order_num",t)},expression:"form.order_num"}})],1)],1),e._v(" "),"F"!=e.form.menu_type?n("el-col",{attrs:{span:12}},[n("el-form-item",[n("span",{attrs:{slot:"label"},slot:"label"},[n("el-tooltip",{attrs:{content:"选择是外链则路由地址需要以`http(s)://`开头",placement:"top"}},[n("i",{staticClass:"el-icon-question"})]),e._v("\n 是否外链\n ")],1),e._v(" "),n("el-radio-group",{model:{value:e.form.is_frame,callback:function(t){e.$set(e.form,"is_frame",t)},expression:"form.is_frame"}},[n("el-radio",{attrs:{label:"0"}},[e._v("是")]),e._v(" "),n("el-radio",{attrs:{label:"1"}},[e._v("否")])],1)],1)],1):e._e(),e._v(" "),"F"!=e.form.menu_type?n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{prop:"path"}},[n("span",{attrs:{slot:"label"},slot:"label"},[n("el-tooltip",{attrs:{content:"访问的路由地址,如:`user`,如外网地址需内链访问则以`http(s)://`开头",placement:"top"}},[n("i",{staticClass:"el-icon-question"})]),e._v("\n 路由地址\n ")],1),e._v(" "),n("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(),e._v(" "),"C"==e.form.menu_type?n("el-col",{attrs:{span:12}},[n("el-form-item",{attrs:{prop:"component"}},[n("span",{attrs:{slot:"label"},slot:"label"},[n("el-tooltip",{attrs:{content:"访问的组件路径,如:`system/user/index`,默认在`views`目录下",placement:"top"}},[n("i",{staticClass:"el-icon-question"})]),e._v("\n 组件路径\n ")],1),e._v(" "),n("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(),e._v(" "),"M"!=e.form.menu_type?n("el-col",{attrs:{span:12}},[n("el-form-item",[n("el-input",{attrs:{placeholder:"请输入权限标识",maxlength:"100"},model:{value:e.form.perms,callback:function(t){e.$set(e.form,"perms",t)},expression:"form.perms"}}),e._v(" "),n("span",{attrs:{slot:"label"},slot:"label"},[n("el-tooltip",{attrs:{content:"控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasPermi('system:user:list')`)",placement:"top"}},[n("i",{staticClass:"el-icon-question"})]),e._v("\n 权限字符\n ")],1)],1)],1):e._e(),e._v(" "),"C"==e.form.menu_type?n("el-col",{attrs:{span:12}},[n("el-form-item",[n("el-input",{attrs:{placeholder:"请输入路由参数",maxlength:"255"},model:{value:e.form.query,callback:function(t){e.$set(e.form,"query",t)},expression:"form.query"}}),e._v(" "),n("span",{attrs:{slot:"label"},slot:"label"},[n("el-tooltip",{attrs:{content:'访问路由的默认传递参数,如:`{"id": 1, "name": "ry"}`',placement:"top"}},[n("i",{staticClass:"el-icon-question"})]),e._v("\n 路由参数\n ")],1)],1)],1):e._e(),e._v(" "),"C"==e.form.menu_type?n("el-col",{attrs:{span:12}},[n("el-form-item",[n("span",{attrs:{slot:"label"},slot:"label"},[n("el-tooltip",{attrs:{content:"选择是则会被`keep-alive`缓存,需要匹配组件的`name`和地址保持一致",placement:"top"}},[n("i",{staticClass:"el-icon-question"})]),e._v("\n 是否缓存\n ")],1),e._v(" "),n("el-radio-group",{model:{value:e.form.is_cache,callback:function(t){e.$set(e.form,"is_cache",t)},expression:"form.is_cache"}},[n("el-radio",{attrs:{label:1}},[e._v("缓存")]),e._v(" "),n("el-radio",{attrs:{label:0}},[e._v("不缓存")])],1)],1)],1):e._e(),e._v(" "),"F"!=e.form.menu_type?n("el-col",{attrs:{span:12}},[n("el-form-item",[n("span",{attrs:{slot:"label"},slot:"label"},[n("el-tooltip",{attrs:{content:"选择隐藏则路由将不会出现在侧边栏,但仍然可以访问",placement:"top"}},[n("i",{staticClass:"el-icon-question"})]),e._v("\n 显示状态\n ")],1),e._v(" "),n("el-radio-group",{model:{value:e.form.is_show,callback:function(t){e.$set(e.form,"is_show",t)},expression:"form.is_show"}},e._l(e.constants.showStatus,(function(t){return n("el-radio",{key:t.value,attrs:{label:t.value}},[e._v(e._s(t.label)+"\n ")])})),1)],1)],1):e._e(),e._v(" "),"F"!=e.form.menu_type?n("el-col",{attrs:{span:12}},[n("el-form-item",[n("span",{attrs:{slot:"label"},slot:"label"},[n("el-tooltip",{attrs:{content:"选择禁用则路由将不会出现在侧边栏,也不能被访问",placement:"top"}},[n("i",{staticClass:"el-icon-question"})]),e._v("\n 菜单状态\n ")],1),e._v(" "),n("el-radio-group",{model:{value:e.form.status,callback:function(t){e.$set(e.form,"status",t)},expression:"form.status"}},e._l(e.constants.normalOrDisabled,(function(t){return n("el-radio",{key:t.value,attrs:{label:t.value}},[e._v(e._s(t.label)+"\n ")])})),1)],1)],1):e._e()],1)],1),e._v(" "),n("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{attrs:{type:"primary"},on:{click:e.submitForm}},[e._v("确 定")]),e._v(" "),n("el-button",{on:{click:e.cancel}},[e._v("取 消")])],1)],1)],1)},o=[],r=n("a6dc"),a=n("ca17"),s=n.n(a),i=(n("542c"),{name:"Menu",components:{Treeselect:s.a},data:function(){return{constants:this.$constants,loading:!0,showSearch:!0,menuList:[],menuOptions:[],title:"",open:!1,isExpandAll:!1,refreshTable:!0,queryParams:{menuName:void 0,visible:void 0},form:{menu_id:void 0,parent_id:0,menu_name:void 0,icon:void 0,menu_type:"M",order_num:void 0,is_frame:"1",is_cache:"0",visible:"0",status:"0"},rules:{menu_name:[{required:!0,message:"菜单名称不能为空",trigger:"blur"}],order_num:[{required:!0,message:"菜单顺序不能为空",trigger:"blur"}],path:[{required:!0,message:"路由地址不能为空",trigger:"blur"}]}}},created:function(){this.getList()},methods:{addIcon:function(){var e=this;this.$modalIcon((function(t){e.form.icon=t}))},getList:function(){var e=this;this.loading=!0,Object(r["d"])(this.queryParams).then((function(t){e.menuList=e.handleTree(t,"menu_id","parent_id"),e.loading=!1}))},normalizer:function(e){return e.children&&!e.children.length&&delete e.children,{id:e.menu_id,label:e.menu_name,children:e.children}},getTreeselect:function(){var e=this;Object(r["d"])().then((function(t){e.menuOptions=[];var n={menu_id:0,menu_name:"主类目",children:[]};n.children=e.handleTree(t,"menu_id","parent_id"),e.menuOptions.push(n)}))},cancel:function(){this.open=!1,this.reset()},reset:function(){this.form={menu_id:"",parent_id:0,menu_name:"",icon:"",menu_type:"M",order_num:"",is_frame:"1",is_cache:"0",visible:"0",status:"0"},this.resetForm("form")},handleQuery:function(){this.getList()},resetQuery:function(){this.resetForm("queryForm"),this.handleQuery()},handleAdd:function(e){this.reset(),this.getTreeselect(),null!=e&&e.menu_id?this.form.parent_id=e.menu_id:this.form.parent_id=0,this.open=!0,this.title="添加菜单"},toggleExpandAll:function(){var e=this;this.refreshTable=!1,this.isExpandAll=!this.isExpandAll,this.$nextTick((function(){e.refreshTable=!0}))},handleUpdate:function(e){var t=this;this.reset(),this.getTreeselect(),Object(r["c"])(e.menu_id).then((function(e){t.form=e,t.open=!0,t.title="修改菜单"}))},submitForm:function(){var e=this;this.$refs["form"].validate((function(t){t&&(console.log(e.form,"0-0-0-"),void 0!=e.form.menu_id?(delete e.form.icon_info,Object(r["g"])(e.form).then((function(t){e.$modal.msgSuccess("修改成功"),e.open=!1,e.getList()}))):(delete e.form.icon_info,Object(r["a"])(e.form).then((function(t){e.$modal.msgSuccess("新增成功"),e.open=!1,e.getList()}))))}))},handleDelete:function(e){var t=this;this.$modal.confirm('是否确认删除名称为"'+e.menu_name+'"的数据项?').then((function(){return Object(r["b"])(e.menu_id)})).then((function(){t.getList(),t.$modal.msgSuccess("删除成功")})).catch((function(){}))}}}),m=i,u=n("2877"),c=Object(u["a"])(m,l,o,!1,null,null,null);t["default"]=c.exports},a6dc:function(e,t,n){"use strict";n.d(t,"d",(function(){return o})),n.d(t,"c",(function(){return r})),n.d(t,"f",(function(){return a})),n.d(t,"e",(function(){return s})),n.d(t,"a",(function(){return i})),n.d(t,"g",(function(){return m})),n.d(t,"b",(function(){return u}));var l=n("b775");function o(e){return Object(l["a"])({url:"/system/menu/list",method:"get",params:e})}function r(e){return Object(l["a"])({url:"/system/menu/view/"+e,method:"get"})}function a(){return Object(l["a"])({url:"/system/menu/select/tree",method:"get"})}function s(e){return Object(l["a"])({url:"/system/menu/select/roleMenuTree/"+e,method:"get"})}function i(e){return Object(l["a"])({url:"/system/menu/add",method:"post",data:e})}function m(e){return Object(l["a"])({url:"/system/menu/edit",method:"post",data:e})}function u(e){return Object(l["a"])({url:"/system/menu/remove/"+e,method:"get"})}}}]);
|