| 1 |
- (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d22d462"],{f794:function(e,t,n){"use strict";n.r(t);var p=function(){var e=this,t=e._self._c;return t("div",[t("x-crud",{on:{load:e.onLoad},scopedSlots:e._u([{key:"table-column-icon",fn:function({scope:e}){return[t("icon-svg",{attrs:{name:e.row.icon,size:"20px"}})]}},{key:"table-column-perms",fn:function({scope:n}){return e._l(n.row.permList,(function(n,p){return t("el-tag",{key:p,staticStyle:{margin:"2px"},attrs:{size:"medium"}},[e._v(e._s(n))])}))}},{key:"table-column-router",fn:function({scope:n}){return[1==n.row.type?t("el-link",{attrs:{type:"primary",href:n.row.router}},[e._v(e._s(n.row.router))]):t("span",[e._v(e._s(n.row.router))])]}},{key:"table-column-keepAlive",fn:function({scope:n}){return[1==n.row.type?[n.row.keepAlive?t("i",{staticClass:"el-icon-check"}):t("i",{staticClass:"el-icon-close"})]:e._e()]}},{key:"slot-column-op",fn:function({scope:n}){return[2!=n.row.type?t("el-button",{attrs:{type:"text",size:"mini"},on:{click:function(t){return e.upsertAppend(n.row)}}},[e._v("新增")]):e._e()]}}])}),t("cl-context-menu",{ref:"context-menu"})],1)},r=[],l=(n("f16c"),n("45d2"),n("9052"),n("8bc2")),o={data(){return{crud:null}},methods:{onLoad({ctx:e,app:t}){this.crud=t,e.service(this.$service.system.menu).set("dict",{api:{page:"list"}}).set("table",{columns:[{prop:"name",label:"名称",width:200},{prop:"icon",label:"图标",align:"center",width:80},{prop:"type",label:"类型",align:"center",width:100,dict:[{label:"目录",value:0},{label:"菜单",value:1},{label:"权限",value:2}]},{prop:"router",label:"节点路由",align:"center","min-width":160},{prop:"keepAlive",label:"路由缓存",align:"center",width:100},{prop:"viewPath",label:"文件路径",align:"center","min-width":200,"show-overflow-tooltip":!0},{prop:"perms",label:"权限","header-align":"center","min-width":300},{prop:"orderNum",label:"排序号",align:"center",width:100},{prop:"updateTime",label:"更新时间",align:"center",sortable:!0,width:180}],props:{"row-key":"id"},on:{"row-click":(e,n)=>{n.property&&e.children&&t.refs("table").toggleRowExpansion(e)},"row-contextmenu":(e,n,p)=>{let r=[{label:"编辑",callback:(n,p)=>{t.edit(e),p()}},{label:"删除",callback:(n,p)=>{t.delete(e),p()}}];2!=e.type&&r.unshift({label:"新增",callback:(t,n)=>{this.upsertAppend(e),n()}}),1==e.type&&r.push({label:"权限",callback:(t,n)=>{this.setPermission(e),n()}}),this.$refs["context-menu"].open(p,{list:r}),p.preventDefault()}},op:{props:{width:"200"},layout:["slot-column-op","edit","delete"]}}).set("upsert",{props:{width:"600px"},items:[{prop:"type",value:0,label:"节点类型",span:24,component:{name:"el-radio-group",options:[{label:"目录",value:0},{label:"菜单",value:1},{label:"权限",value:2}],on:{change:e=>{this.changeType(e)}}}},{prop:"name",label:"节点名称",span:24,component:{name:"el-input",attrs:{placeholder:"请输入节点名称"}},rules:{required:!0,message:"名称不能为空"}},{prop:"parentId",label:"上级节点",span:24,component:{name:"cl-menu-tree"}},{prop:"router",label:"节点路由",span:24,hidden:!0,component:{name:"el-input",attrs:{placeholder:"请输入节点路由"}}},{prop:"keepAlive",value:!0,label:"路由缓存",span:24,component:{name:"el-radio-group",options:[{label:"开启",value:!0},{label:"关闭",value:!1}]}},{prop:"viewPath",label:"文件路径",span:24,hidden:!0,component:{name:"cl-menu-file-path"}},{prop:"icon",label:"节点图标",span:24,component:{name:"cl-menu-icons"}},{prop:"orderNum",label:"排序号",span:24,component:{name:"el-input-number",props:{placeholder:"请填写排序号",min:0,max:99,"controls-position":"right"}}},{prop:"perms",label:"权限",span:24,hidden:!0,component:{name:"cl-menu-perms"}}]}).set("layout",[["refresh-btn","add-btn"],["data-table"]]).on("refresh",(e,{render:t})=>{this.$service.system.menu.list().then(e=>{e.map(e=>{e.permList=e.perms?e.perms.split(","):[]}),t(Object(l["deepTree"])(e)),this.$store.dispatch("permMenu")})}).on("open",(e,t)=>{this.changeType(t?t.type:0)}).done(),t.refresh()},changeType(e){this.crud.setData("upsert.items[prop:router].hidden",1!=e),this.crud.setData("upsert.items[prop:icon].hidden",2==e),this.crud.setData("upsert.items[prop:viewPath].hidden",1!=e),this.crud.setData("upsert.items[prop:keepAlive].hidden",1!=e),this.crud.setData("upsert.items[prop:perms].hidden",2!=e)},upsertAppend({type:e,id:t}){this.crud.append({parentId:t,type:e+1})},setPermission({id:e}){this.crud.append({parentId:e,type:2})},toUrl(e){this.$router.push(e)}}},a=o,s=n("1805"),i=Object(s["a"])(a,p,r,!1,null,null,null);t["default"]=i.exports}}]);
|