chunk-e5396eb0.cd6beec3.js 11 KB

1
  1. (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-e5396eb0"],{4083:function(e,t,n){"use strict";n("7ba6")},5712:function(e,t,n){},"5d51":function(e,t,n){"use strict";n.d(t,"d",(function(){return a})),n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return o}));var r=n("b775");function a(){return Object(r["a"])({url:"/role/getroleslist",method:"get"})}function s(e){return Object(r["a"])({url:"/role/uploadrole",method:"post",data:e})}function i(e){return Object(r["a"])({url:"/role/disablerole",method:"post",data:e})}function o(e){return Object(r["a"])({url:"/role/updaterole",method:"post",data:e})}},"7ba6":function(e,t,n){},cd9b:function(e,t,n){"use strict";n("5712")},dd57:function(e,t,n){"use strict";n.r(t);var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-container"},[n("el-button",{attrs:{type:"primary"},on:{click:e.handleAddRole}},[e._v("\n 新增角色\n ")]),e._v(" "),n("el-table",{staticStyle:{width:"100%","margin-top":"30px"},attrs:{data:e.rolesList,border:""}},[n("el-table-column",{attrs:{prop:"name",align:"center",label:"角色名",width:"220"}}),e._v(" "),n("el-table-column",{attrs:{prop:"desc",align:"header-center",label:"说明"}}),e._v(" "),n("el-table-column",{attrs:{prop:"disable",label:"状态",align:"center",width:"100"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("el-tag",{attrs:{type:0===t.row.disable?"success":"danger"}},[e._v("\n "+e._s(0===t.row.disable?"正常":"已禁用")+"\n ")])]}}])}),e._v(" "),n("el-table-column",{attrs:{align:"center",label:"操作",width:"220px"},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.row;return[n("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(t){return e.handleEdit(r)}}},[e._v("\n 编辑权限\n ")]),e._v(" "),n("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(t){return e.handleChangeStatus(r)}}},[e._v("\n "+e._s(0===r.disable?"禁用":"启用")+"\n ")])]}}])})],1),e._v(" "),e.dialogVisible?n("el-dialog",{attrs:{visible:e.dialogVisible,top:"50px",title:"edit"===e.dialogType?"编辑角色":"添加角色","close-on-press-escape":!1,"close-on-click-modal":!1,"before-close":e.handleAddRoleCancel},on:{"update:visible":function(t){e.dialogVisible=t}}},[n("el-form",{attrs:{model:e.role,"label-width":"80px","label-position":"left"}},[n("el-form-item",{attrs:{label:"角色名"}},[n("el-input",{attrs:{placeholder:"角色名"},model:{value:e.role.name,callback:function(t){e.$set(e.role,"name",t)},expression:"role.name"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"说明"}},[n("el-input",{attrs:{autosize:{minRows:2,maxRows:4},type:"textarea",placeholder:"角色说明"},model:{value:e.role.desc,callback:function(t){e.$set(e.role,"desc",t)},expression:"role.desc"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"权限"}},[n("div",{staticStyle:{height:"500px","overflow-y":"scroll"}},[n("el-tree",{ref:"tree",staticClass:"permission-tree",attrs:{data:e.routesData,props:e.defaultProps,"show-checkbox":"","node-key":"path","check-strictly":!1,"default-expand-all":""},scopedSlots:e._u([{key:"default",fn:function(t){var r=t.node,a=t.data;return n("div",{staticClass:"custom-tree-node"},[n("span",{on:{click:function(t){return e.seeNode(r)}}},[e._v(e._s(r.label))]),e._v(" "),a.authList&&a.authList.length>0?n("div",[n("role-checkbox",{attrs:{"auth-list":a.authList,"sure-list":a.buttonAuthList,selected:r.checked,"parent-key":r.key},on:{changebtnauth:e.changeParent}})],1):e._e()])}}],null,!1,4260845681)})],1)])],1),e._v(" "),n("div",{staticStyle:{"text-align":"right"}},[n("el-button",{attrs:{type:"danger"},on:{click:e.handleAddRoleCancel}},[e._v("\n 取消\n ")]),e._v(" "),n("el-button",{attrs:{type:"primary"},on:{click:e.confirmRole}},[e._v("\n 确定\n ")])],1)],1):e._e()],1)},a=[],s=n("5530"),i=(n("6762"),n("2fdb"),n("2909")),o=(n("ac6a"),n("b85c")),l=n("c7eb"),c=(n("7f7f"),n("96cf"),n("1da1")),u=n("df7c"),h=n.n(u),d=n("ed08"),p=n("a3fb"),f=n("5d51"),b=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("el-checkbox-group",{attrs:{disabled:!e.selected},model:{value:e.auth,callback:function(t){e.auth=t},expression:"auth"}},e._l(e.authList,(function(t){return n("el-checkbox",{key:t.value,attrs:{label:t.value},on:{change:e.changeBtnAuth}},[e._v("\n "+e._s(t.name)+"\n ")])})),1)],1)},g=[],m={props:{authList:{type:Array,default:function(){return[]}},sureList:{type:Array,default:function(){return[]}},selected:{type:Boolean,default:!1},parentKey:{type:String,default:""}},data:function(){return{auth:[]}},watch:{sureList:function(e,t){this.auth=e}},methods:{changeBtnAuth:function(){this.$emit("changebtnauth",this.auth,this.parentKey)}}},v=m,y=n("2877"),k=Object(y["a"])(v,b,g,!1,null,null,null),x=k.exports,O={key:"",name:"",desc:"",routes:[]},w={components:{RoleCheckbox:x},data:function(){return{role:Object.assign({},O),routes:[],formId:"",rolesList:[],dialogVisible:!1,dialogType:"new",defaultProps:{children:"children",label:"title"},changeTreeNodeType:!1,editId:"",editType:{type:!1,routes:[]}}},computed:{routesData:function(){return this.routes}},watch:{dialogVisible:function(e,t){e&&this.getRoutes()}},created:function(){this.getRoleList()},methods:{getRoleList:function(){var e=Object(c["a"])(Object(l["a"])().mark((function e(){var t,n;return Object(l["a"])().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Object(f["d"])();case 3:t=e.sent,n=t.data,this.rolesList=n.filter((function(e){return"root"!==e.name})),e.next=11;break;case 8:e.prev=8,e.t0=e["catch"](0),console.log("请求角色列表失败:".concat(e.t0));case 11:case"end":return e.stop()}}),e,this,[[0,8]])})));function t(){return e.apply(this,arguments)}return t}(),getRoutes:function(){var e=Object(c["a"])(Object(l["a"])().mark((function e(){var t;return Object(l["a"])().wrap((function(e){while(1)switch(e.prev=e.next){case 0:this.serviceRoutes=p["a"],t=this.generateRoutes(p["a"]),this.routes=this.deepRouter(t);case 3:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}(),deepRouter:function(e){var t=this,n=e.map((function(e){return e.route=e.title,e.children&&(e.children=t.deepRouter(e.children)),e}));return n},generateRoutes:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",r=[],a=Object(o["a"])(e);try{for(a.s();!(t=a.n()).done;){var s=t.value;if(!s.hidden){var i=this.onlyOneShowingChild(s.children,s);s.children&&i&&!s.alwaysShow&&(s=i);var l={path:h.a.resolve(n,s.path),title:s.meta&&s.meta.title,buttonAuthList:s.meta&&s.meta.buttonAuthList,authList:s.meta&&s.meta.authList||[]};s.children&&(l.children=this.generateRoutes(s.children,l.path)),r.push(l)}}}catch(c){a.e(c)}finally{a.f()}return r},generateArr:function(e){var t=this,n=[];return e.forEach((function(e){if(n.push(e),e.children){var r=t.generateArr(e.children);r.length>0&&(n=[].concat(Object(i["a"])(n),Object(i["a"])(r)))}})),n},handleAddRole:function(){this.role=Object.assign({},O),this.$refs.tree&&this.$refs.tree.setCheckedNodes([]),this.dialogType="new",this.dialogVisible=!0},handleEdit:function(e){var t=this,n=e.id;this.editId=n;var r=e.permissions;r=JSON.parse(r),this.formId=n,this.dialogType="edit",this.dialogVisible=!0,this.role=Object(d["c"])(e);var a=this.generateRoutes(r);this.$nextTick((function(){var e=t.generateArr(a);console.log(e,"editRoutes"),e=e.filter((function(e){return!(e.children&&e.children.length>0)})),e.map((function(e){e.buttonAuthList&&t.$refs.tree.getNode(e.path)&&(t.$refs.tree.getNode(e.path).data.buttonAuthList=e.buttonAuthList)})),t.$refs.tree.setCheckedNodes(e)}))},handleChangeStatus:function(){var e=Object(c["a"])(Object(l["a"])().mark((function e(t){var n,r,a,s,i,o;return Object(l["a"])().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return n=t.id,e.prev=1,e.next=4,Object(f["b"])({id:n});case 4:r=e.sent,a=r.message,s=r.code,this.$message({message:a,type:200===s?"success":"error"}),200===s&&this.getRoleList(),e.next=25;break;case 11:return e.prev=11,e.t0=e["catch"](1),e.next=15,Object(f["d"])();case 15:if(!e.sent){e.next=21;break}return e.next=18,Object(f["d"])();case 18:e.t1=e.sent,e.next=22;break;case 21:e.t1={message:"请求失败"};case 22:i=e.t1,o=i.message,this.$message.error(o);case 25:case"end":return e.stop()}}),e,this,[[1,11]])})));function t(t){return e.apply(this,arguments)}return t}(),generateTree:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",r=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0,s=[],i=Object(o["a"])(e);try{for(i.s();!(t=i.n()).done;){var l=t.value,c=h.a.resolve(n,l.path);if(l.meta&&l.meta.linkRouter){var u=r.indexOf(l.meta.linkRouter);-1!==u&&(l.meta.buttonAuthList=a[u].buttonAuthList)}if(l.meta&&l.meta.authList&&l.meta.buttonAuthList){var d=r.indexOf(c);-1!==d&&(l.meta.authList=a[d].authList,l.meta.buttonAuthList=a[d].buttonAuthList)}l.children&&(l.children=this.generateTree(l.children,c,r,a)),(r.includes(c)||l.children&&l.children.length>=1||l.hiddenButNeed)&&s.push(l)}}catch(p){i.e(p)}finally{i.f()}return s},confirmRole:function(){var e=Object(c["a"])(Object(l["a"])().mark((function e(){var t,n,r,a,s,i,o,c,u;return Object(l["a"])().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(this.role.name){e.next=3;break}return this.$message.error("角色名不能为空"),e.abrupt("return",!1);case 3:if(t="edit"===this.dialogType,n=this.$refs.tree.getCheckedKeys(),r=this.$refs.tree.getCheckedNodes(),console.log(this.serviceRoutes,"serviceRoutes"),this.role.routes=this.generateTree(Object(d["c"])(this.serviceRoutes),"/",n,r),!(this.role.routes.length<1)){e.next=11;break}return this.$message.error("权限最少设置一项"),e.abrupt("return",!1);case 11:if(!t){e.next=27;break}return e.prev=12,console.log(this.role.routes,"rou"),e.next=16,Object(f["c"])({id:this.editId,name:this.role.name,desc:this.role.desc,permissions:JSON.stringify(this.role.routes)});case 16:a=e.sent,s=a.message,i=a.code,this.$message({message:s,type:200===i?"success":"error"}),200===i&&(this.dialogVisible=!1,this.getRoleList()),e.next=25;break;case 22:e.prev=22,e.t0=e["catch"](12),console.log("修改角色失败: ".concat(e.t0));case 25:e.next=39;break;case 27:return e.prev=27,e.next=30,Object(f["a"])({name:this.role.name,desc:this.role.desc,permissions:JSON.stringify(this.role.routes)});case 30:o=e.sent,c=o.message,u=o.code,this.$message({message:c,type:200===u?"success":"error"}),200===u&&(this.dialogVisible=!1,this.getRoleList()),e.next=39;break;case 36:e.prev=36,e.t1=e["catch"](27),console.log("添加角色失败:".concat(e.t1));case 39:case"end":return e.stop()}}),e,this,[[12,22],[27,36]])})));function t(){return e.apply(this,arguments)}return t}(),onlyOneShowingChild:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,n=null,r=e.filter((function(e){return!e.hidden}));return 1===r.length?(n=r[0],n.path=h.a.resolve(t.path,n.path),n):0===r.length&&(n=Object(s["a"])(Object(s["a"])({},t),{},{path:"",noShowingChildren:!0}),n)},handleAddRoleCancel:function(){this.dialogVisible=!1,this.editType.type=!1,this.editType.routes=[]},seeNode:function(e){console.log(e)},changeParent:function(e,t){var n=this.$refs.tree.getNode(t);n.data.buttonAuthList=e}}},j=w,_=(n("4083"),n("cd9b"),Object(y["a"])(j,r,a,!1,null,"faee521c",null));t["default"]=_.exports}}]);