1 |
- (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-d31e3e22"],{"5aee":function(e,t,l){"use strict";var a=function(){var e=this,t=e.$createElement,l=e._self._c||t;return l("div",{staticClass:"icon-body"},[l("el-input",{staticStyle:{position:"relative"},attrs:{clearable:"",placeholder:"请输入图标名称"},on:{clear:e.filterIcons},nativeOn:{input:function(t){return e.filterIcons(t)}},model:{value:e.name,callback:function(t){e.name=t},expression:"name"}},[l("i",{staticClass:"el-icon-search el-input__icon",attrs:{slot:"suffix"},slot:"suffix"})]),l("div",{staticClass:"icon-list"},e._l(e.iconList,(function(t,a){return l("div",{key:a,on:{click:function(l){return e.selectedIcon(t)}}},[l("svg-icon",{staticStyle:{height:"30px",width:"16px"},attrs:{"icon-class":t}}),l("span",[e._v(e._s(t))])],1)})),0)],1)},r=[],n=(l("b0c0"),l("4de4"),l("d3b7"),l("caad"),l("2532"),l("ddb0"),l("d81d"),l("ac1f"),l("466d"),l("23f1")),o=function(e){return e.keys()},s=/\.\/(.*)\.svg/,i=o(n).map((function(e){return e.match(s)[1]})),u=i,m={name:"IconSelect",data:function(){return{name:"",iconList:u}},methods:{filterIcons:function(){var e=this;this.iconList=u,this.name&&(this.iconList=this.iconList.filter((function(t){return t.includes(e.name)})))},selectedIcon:function(e){this.$emit("selected",e),document.body.click()},reset:function(){this.name="",this.iconList=u}}},c=m,p=(l("bce5"),l("2877")),d=Object(p["a"])(c,a,r,!1,null,"0273f142",null);t["a"]=d.exports},"64d5":function(e,t,l){"use strict";l.d(t,"d",(function(){return r})),l.d(t,"c",(function(){return n})),l.d(t,"a",(function(){return o})),l.d(t,"g",(function(){return s})),l.d(t,"b",(function(){return i})),l.d(t,"f",(function(){return u})),l.d(t,"e",(function(){return m}));var a=l("b775");function r(e){return Object(a["a"])({url:"/system/menuVisu/list",method:"get",params:e})}function n(e){return Object(a["a"])({url:"/system/menuVisu/"+e,method:"get"})}function o(e){return Object(a["a"])({url:"/system/menuVisu",method:"post",data:e})}function s(e){return Object(a["a"])({url:"/system/menuVisu",method:"put",data:e})}function i(e){return Object(a["a"])({url:"/system/menuVisu/"+e,method:"delete"})}function u(){return Object(a["a"])({url:"/system/menuVisu/treeselect",method:"get"})}function m(e){return Object(a["a"])({url:"/system/menuVisu/roleMenuTreeselect/"+e,method:"get"})}},"7fc8":function(e,t,l){},"9fab":function(e,t,l){"use strict";l.r(t);var a=function(){var e=this,t=e.$createElement,l=e._self._c||t;return l("div",{staticClass:"app-container"},[l("el-form",{directives:[{name:"show",rawName:"v-show",value:e.showSearch,expression:"showSearch"}],ref:"queryForm",attrs:{model:e.queryParams,size:"small",inline:!0,"label-width":"68px"}},[l("el-form-item",{attrs:{label:"菜单名称",prop:"menuName"}},[l("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),l("el-form-item",{attrs:{label:"状态",prop:"status"}},[l("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 l("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),l("el-form-item",[l("el-button",{attrs:{type:"primary",icon:"el-icon-search",size:"mini"},on:{click:e.handleQuery}},[e._v("搜索")]),l("el-button",{attrs:{icon:"el-icon-refresh",size:"mini"},on:{click:e.resetQuery}},[e._v("重置")])],1)],1),l("el-row",{staticClass:"mb8",attrs:{gutter:10}},[l("el-col",{attrs:{span:1.5}},[l("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["system:menuVisu:add"],expression:"['system:menuVisu:add']"}],attrs:{type:"primary",plain:"",icon:"el-icon-plus",size:"mini"},on:{click:e.handleAdd}},[e._v("新增 ")])],1),l("el-col",{attrs:{span:1.5}},[l("el-button",{attrs:{type:"info",plain:"",icon:"el-icon-sort",size:"mini"},on:{click:e.toggleExpandAll}},[e._v("展开/折叠 ")])],1),l("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?l("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],attrs:{data:e.menuVisuList,"row-key":"menuId","default-expand-all":e.isExpandAll,"tree-props":{children:"children",hasChildren:"hasChildren"}}},[l("el-table-column",{attrs:{type:"selection",width:"55",align:"center"}}),l("el-table-column",{attrs:{label:"菜单名称",align:"center",prop:"menuName"}}),l("el-table-column",{attrs:{label:"显示顺序",align:"center",prop:"orderNum"}}),l("el-table-column",{attrs:{label:"菜单类型",align:"center",prop:"menuType",formatter:e.menuTypeFormat}}),l("el-table-column",{attrs:{label:"权限标识",align:"center",prop:"perms"}}),l("el-table-column",{attrs:{label:"组件路径",align:"center",prop:"componentUrl"}}),l("el-table-column",{attrs:{label:"菜单状态",align:"center",prop:"status"},scopedSlots:e._u([{key:"default",fn:function(t){return[l("dict-tag",{attrs:{options:e.dict.type.sys_normal_disable,value:t.row.status}})]}}],null,!1,2802338569)}),l("el-table-column",{attrs:{label:"操作",align:"center","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){return[l("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["system:menuVisu:edit"],expression:"['system:menuVisu:edit']"}],attrs:{size:"mini",type:"text",icon:"el-icon-edit"},on:{click:function(l){return e.handleUpdate(t.row)}}},[e._v("修改 ")]),l("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["system:menuVisu:remove"],expression:"['system:menuVisu:remove']"}],attrs:{size:"mini",type:"text",icon:"el-icon-delete"},on:{click:function(l){return e.handleDelete(t.row)}}},[e._v("删除 ")])]}}],null,!1,1206592810)})],1):e._e(),l("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total>0"}],attrs:{total:e.total,page:e.queryParams.pageNum,limit:e.queryParams.pageSize},on:{"update:page":function(t){return e.$set(e.queryParams,"pageNum",t)},"update:limit":function(t){return e.$set(e.queryParams,"pageSize",t)},pagination:e.getList}}),l("el-dialog",{attrs:{title:e.title,visible:e.open,width:"1000px","append-to-body":""},on:{"update:visible":function(t){e.open=t}}},[l("el-form",{ref:"form",attrs:{model:e.form,rules:e.rules,"label-width":"150px"}},[l("el-row",[l("el-col",{attrs:{span:24}},[l("el-form-item",{attrs:{label:"上级菜单"}},[l("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),l("el-col",{attrs:{span:24}},[l("el-form-item",{attrs:{label:"菜单类型",prop:"menuType"}},[l("el-radio-group",{model:{value:e.form.menuType,callback:function(t){e.$set(e.form,"menuType",t)},expression:"form.menuType"}},[l("el-radio",{attrs:{label:"P"}},[e._v("可视化页面")]),l("el-radio",{attrs:{label:"ZC"}},[e._v("占位菜单")]),l("el-radio",{attrs:{label:"FC"}},[e._v("非占位菜单")]),l("el-radio",{attrs:{label:"ZM"}},[e._v("占位组件")]),l("el-radio",{attrs:{label:"FM"}},[e._v("非站位组件")])],1)],1)],1),l("el-col",{attrs:{span:12}},[l("el-form-item",{attrs:{label:"菜单名称",prop:"menuName"}},[l("el-input",{attrs:{placeholder:"请输入菜单名称"},model:{value:e.form.menuName,callback:function(t){e.$set(e.form,"menuName",t)},expression:"form.menuName"}})],1)],1),l("el-col",{attrs:{span:12}},[l("el-form-item",{attrs:{label:"显示顺序",prop:"orderNum"}},[l("el-input",{attrs:{placeholder:"请输入显示顺序"},model:{value:e.form.orderNum,callback:function(t){e.$set(e.form,"orderNum",t)},expression:"form.orderNum"}})],1)],1),"P"==e.form.menuType?l("el-col",{attrs:{span:12}},[l("el-form-item",{attrs:{label:"页面服务地址",prop:"pageServerUrl"}},[l("el-input",{attrs:{placeholder:"请输入页面服务地址"},model:{value:e.form.pageServerUrl,callback:function(t){e.$set(e.form,"pageServerUrl",t)},expression:"form.pageServerUrl"}})],1)],1):e._e(),"P"==e.form.menuType?l("el-col",{attrs:{span:12}},[l("el-form-item",{attrs:{label:"页面路由携带参数",prop:"pageServerParams"}},[l("el-input",{attrs:{placeholder:"请输入页面路由携带参数"},model:{value:e.form.pageServerParams,callback:function(t){e.$set(e.form,"pageServerParams",t)},expression:"form.pageServerParams"}})],1)],1):e._e(),"ZC"==e.form.menuType||"FC"==e.form.menuType?l("el-col",{attrs:{span:12}},[l("el-form-item",{attrs:{label:"菜单路径",prop:"pageRouterUrl"}},[l("el-input",{attrs:{placeholder:"请输入菜单路径"},model:{value:e.form.pageRouterUrl,callback:function(t){e.$set(e.form,"pageRouterUrl",t)},expression:"form.pageRouterUrl"}})],1)],1):e._e(),"ZC"==e.form.menuType||"FC"==e.form.menuType?l("el-col",{attrs:{span:12}},[l("el-form-item",{attrs:{label:"菜单路径携带参数",prop:"pageRouterParams"}},[l("el-input",{attrs:{placeholder:"请输入菜单路径携带参数"},model:{value:e.form.pageRouterParams,callback:function(t){e.$set(e.form,"pageRouterParams",t)},expression:"form.pageRouterParams"}})],1)],1):e._e(),"ZC"==e.form.menuType||"FC"==e.form.menuType?l("el-col",{attrs:{span:12}},[l("el-form-item",{attrs:{label:"菜单样式",prop:"menuStyle"}},[l("el-input",{attrs:{placeholder:"请输入菜单样式"},model:{value:e.form.menuStyle,callback:function(t){e.$set(e.form,"menuStyle",t)},expression:"form.menuStyle"}})],1)],1):e._e(),"ZM"==e.form.menuType||"FM"==e.form.menuType?l("el-col",{attrs:{span:12}},[l("el-form-item",{attrs:{prop:"componentUrl"}},[l("span",{attrs:{slot:"label"},slot:"label"},[l("el-tooltip",{attrs:{content:"访问的组件路径,如:`system/user/index`,默认在`views`目录下",placement:"top"}},[l("i",{staticClass:"el-icon-question"})]),e._v(" 组件路径 ")],1),l("el-input",{attrs:{placeholder:"请输入组件路径"},model:{value:e.form.componentUrl,callback:function(t){e.$set(e.form,"componentUrl",t)},expression:"form.componentUrl"}})],1)],1):e._e(),"ZM"==e.form.menuType||"FM"==e.form.menuType?l("el-col",{attrs:{span:12}},[l("el-form-item",{attrs:{label:"组件路径携带参数",prop:"componentParams"}},[l("el-input",{attrs:{placeholder:"请输入组件路径携带参数"},model:{value:e.form.componentParams,callback:function(t){e.$set(e.form,"componentParams",t)},expression:"form.componentParams"}})],1)],1):e._e(),"ZM"==e.form.menuType||"FM"==e.form.menuType?l("el-col",{attrs:{span:12}},[l("el-form-item",{attrs:{label:"组件样式",prop:"componentStyle"}},[l("el-input",{attrs:{placeholder:"请输入组件样式"},model:{value:e.form.componentStyle,callback:function(t){e.$set(e.form,"componentStyle",t)},expression:"form.componentStyle"}})],1)],1):e._e(),l("el-col",{attrs:{span:24}},[l("el-form-item",{attrs:{label:"图标",prop:"icon"}},[l("el-input",{attrs:{placeholder:"请输入图标"},model:{value:e.form.icon,callback:function(t){e.$set(e.form,"icon",t)},expression:"form.icon"}})],1)],1),l("el-col",{attrs:{span:24}},[l("el-form-item",[l("span",{attrs:{slot:"label"},slot:"label"},[l("el-tooltip",{attrs:{content:"选择是外链则路由地址需要以`http(s)://`开头",placement:"top"}},[l("i",{staticClass:"el-icon-question"})]),e._v(" 是否外链 ")],1),l("el-radio-group",{model:{value:e.form.isFrame,callback:function(t){e.$set(e.form,"isFrame",t)},expression:"form.isFrame"}},[l("el-radio",{attrs:{label:0}},[e._v("是")]),l("el-radio",{attrs:{label:1}},[e._v("否")])],1)],1)],1),l("el-col",{attrs:{span:24}},[l("el-form-item",[l("span",{attrs:{slot:"label"},slot:"label"},[l("el-tooltip",{attrs:{content:"选择是则会被`keep-alive`缓存,需要匹配组件的`name`和地址保持一致",placement:"top"}},[l("i",{staticClass:"el-icon-question"})]),e._v(" 是否缓存 ")],1),l("el-radio-group",{model:{value:e.form.isCache,callback:function(t){e.$set(e.form,"isCache",t)},expression:"form.isCache"}},[l("el-radio",{attrs:{label:0}},[e._v("缓存")]),l("el-radio",{attrs:{label:1}},[e._v("不缓存")])],1)],1)],1),l("el-col",{attrs:{span:24}},[l("el-form-item",[l("span",{attrs:{slot:"label"},slot:"label"},[l("el-tooltip",{attrs:{content:"选择隐藏则路由将不会出现在侧边栏,但仍然可以访问",placement:"top"}},[l("i",{staticClass:"el-icon-question"})]),e._v(" 显示状态 ")],1),l("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 l("el-radio",{key:t.value,attrs:{label:t.value}},[e._v(e._s(t.label)+" ")])})),1)],1)],1),l("el-col",{attrs:{span:24}},[l("el-form-item",[l("el-input",{attrs:{placeholder:"请输入权限标识",maxlength:"100"},model:{value:e.form.perms,callback:function(t){e.$set(e.form,"perms",t)},expression:"form.perms"}}),l("span",{attrs:{slot:"label"},slot:"label"},[l("el-tooltip",{attrs:{content:"控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasPermi('system:user:list')`)",placement:"top"}},[l("i",{staticClass:"el-icon-question"})]),e._v(" 权限字符 ")],1)],1)],1),l("el-col",{attrs:{span:24}},[l("el-form-item",[l("span",{attrs:{slot:"label"},slot:"label"},[l("el-tooltip",{attrs:{content:"选择停用则路由将不会出现在侧边栏,也不能被访问",placement:"top"}},[l("i",{staticClass:"el-icon-question"})]),e._v(" 菜单状态 ")],1),l("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 l("el-radio",{key:t.value,attrs:{label:t.value}},[e._v(e._s(t.label)+" ")])})),1)],1)],1),l("el-col",{attrs:{span:24}},[l("el-form-item",{attrs:{label:"备注",prop:"remark"}},[l("el-input",{attrs:{type:"textarea",placeholder:"请输入内容"},model:{value:e.form.remark,callback:function(t){e.$set(e.form,"remark",t)},expression:"form.remark"}})],1)],1)],1)],1),l("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[l("el-button",{attrs:{type:"primary"},on:{click:e.submitForm}},[e._v("确 定")]),l("el-button",{on:{click:e.cancel}},[e._v("取 消")])],1)],1)],1)},r=[],n=l("5530"),o=(l("d3b7"),l("159b"),l("d81d"),l("64d5")),s=l("ca17"),i=l.n(s),u=(l("542c"),l("5aee")),m={name:"MenuVisu",dicts:["sys_show_hide","sys_normal_disable","front_type"],components:{Treeselect:i.a,IconSelect:u["a"]},data:function(){return{menuTypeOptions:[{value:"P",label:"可视化页面"},{value:"ZC",label:"占位菜单"},{value:"FC",label:"非占位菜单"},{value:"ZM",label:"占位组件"},{value:"FM",label:"非站位组件"}],menuOptions:[],loading:!0,ids:[],single:!0,multiple:!0,showSearch:!0,total:0,menuVisuList:[],title:"",open:!1,queryParams:{pageNum:1,pageSize:10,menuName:null,parentId:null,orderNum:null,menuType:null,icon:null,pageServerUrl:null,pageServerParams:null,pageRouterUrl:null,pageRouterParams:null,menuStyle:null,componentUrl:null,componentParams:null,componentStyle:null,isFrame:null,isCache:null,visible:null,perms:null,status:null},form:{},rules:{menuName:[{required:!0,message:"菜单名称不能为空",trigger:"blur"}],orderNum:[{required:!0,message:"菜单顺序不能为空",trigger:"blur"}],path:[{required:!0,message:"路由地址不能为空",trigger:"blur"}]},refreshTable:!0,isExpandAll:!1}},created:function(){this.getList()},methods:{menuTypeFormat:function(e,t){var l="";return this.menuTypeOptions.forEach((function(t,a){e.menuType==t.value&&(l=t.label)})),l},getTreeselect:function(){var e=this;Object(o["d"])().then((function(t){e.menuOptions=[];var l={menuId:0,menuName:"主类目",children:[]};l.children=e.handleTree(t.data,"menuId"),e.menuOptions.push(l)}))},normalizer:function(e){return e.children&&!e.children.length&&delete e.children,{id:e.menuId,label:e.menuName,children:e.children}},getList:function(){var e=this;this.loading=!0,Object(o["d"])(this.queryParams).then((function(t){e.menuVisuList=e.handleTree(t.data,"menuId"),e.loading=!1}))},cancel:function(){this.open=!1,this.reset()},reset:function(){this.form={parentId:0,menuName:void 0,menuType:"P",orderNum:void 0,isFrame:1,isCache:0,visible:"0",status:"0"},this.resetForm("form")},handleQuery:function(){this.queryParams.pageNum=1,this.getList()},resetQuery:function(){this.resetForm("queryForm"),this.handleQuery()},handleSelectionChange:function(e){this.ids=e.map((function(e){return e.menuId})),this.single=1!==e.length,this.multiple=!e.length},handleAdd:function(){this.reset(),this.getTreeselect(),this.open=!0,this.title="添加可视化菜单权限"},handleUpdate:function(e){var t=this;this.reset(),this.getTreeselect();var l=e.menuId||this.ids;Object(o["c"])(l).then((function(e){console.log(e.data),t.form=e.data,t.open=!0,t.title="修改可视化菜单权限"}))},submitForm:function(){var e=this;this.$refs["form"].validate((function(t){t&&(null!=e.form.menuId?Object(o["g"])(e.form).then((function(t){e.$modal.msgSuccess("修改成功"),e.open=!1,e.getList()})):Object(o["a"])(e.form).then((function(t){e.$modal.msgSuccess("新增成功"),e.open=!1,e.getList()})))}))},handleDelete:function(e){var t=this,l=e.menuId||this.ids;this.$modal.confirm('是否确认删除可视化菜单权限编号为"'+l+'"的数据项?').then((function(){return Object(o["b"])(l)})).then((function(){t.getList(),t.$modal.msgSuccess("删除成功")})).catch((function(){}))},handleExport:function(){this.download("system/menuVisu/export",Object(n["a"])({},this.queryParams),"menuVisu_".concat((new Date).getTime(),".xlsx"))},toggleExpandAll:function(){var e=this;this.refreshTable=!1,this.isExpandAll=!this.isExpandAll,this.$nextTick((function(){e.refreshTable=!0}))}}},c=m,p=l("2877"),d=Object(p["a"])(c,a,r,!1,null,null,null);t["default"]=d.exports},bce5:function(e,t,l){"use strict";l("7fc8")}}]);
|