1 |
- (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-a60bb5ec"],{"1adb":function(e,t,n){},"4e8a":function(e,t,n){"use strict";n("a24a")},"7c4f":function(e,t,n){"use strict";n.r(t);var a=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("el-table",{staticStyle:{width:"100%","margin-top":"30px"},attrs:{data:e.rolesList,border:""}},[n("el-table-column",{attrs:{label:"序号",type:"index",width:"80",align:"center",index:function(t){return 15*(e.params.page_index-1)+t+1}}}),n("el-table-column",{attrs:{prop:"name",align:"center",label:"角色名",width:"220"}}),n("el-table-column",{attrs:{prop:"desc",align:"header-center",label:"说明"}}),n("el-table-column",{attrs:{align:"center",label:"操作",width:"280"},scopedSlots:e._u([{key:"default",fn:function(t){var a=t.row;return[n("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(t){return e.handleEdit(a)}}},[e._v(" 编辑权限 ")]),n("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(t){return e.delRole(a)}}},[e._v(" 删除 ")])]}}])})],1),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),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),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 a=t.node,r=t.data;return n("div",{staticClass:"custom-tree-node"},[n("span",{on:{click:function(t){return e.seeNode(a)}}},[e._v(e._s(a.label))]),r.authList&&r.authList.length>0?n("div",[n("role-checkbox",{attrs:{"auth-list":r.authList,"sure-list":r.buttonAuthList,selected:a.checked,"parent-key":a.key},on:{changebtnauth:e.changeParent}})],1):e._e()])}}],null,!1,2286784277)})],1)])],1),n("div",{staticStyle:{"text-align":"right"}},[n("el-button",{attrs:{type:"danger"},on:{click:e.handleAddRoleCancel}},[e._v(" 取消 ")]),n("el-button",{attrs:{type:"primary"},on:{click:e.confirmRole}},[e._v(" 确定 ")])],1)],1):e._e(),n("div",{staticClass:"batch-container"},[n("pagination",{attrs:{total:e.totalPage,limit:e.params.page_size,page:e.params.page_index},on:{pagination:e.changePagination,"update:limit":e.changePagination}})],1)],1)},r=[],i=n("5530"),s=n("2909"),o=n("b85c"),l=n("1da1"),c=(n("96cf"),n("b0c0"),n("d81d"),n("159b"),n("99af"),n("4de4"),n("caad"),n("2532"),n("df7c")),u=n.n(c),d=n("ed08"),h=n("a3fb"),p=n("b775"),g=function(e){return Object(p["a"])({url:"/role/index",method:"get",params:e})},f=function(e){return Object(p["a"])({url:"/admin/update_role",method:"post",data:e})},m=function(e){return Object(p["a"])({url:"/role/destroy",method:"post",data:e})},b=function(e){return Object(p["a"])({url:"/admin/upload_role",method:"post",data:e})},v=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(" "+e._s(t.name)+" ")])})),1)],1)},y=[],x={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)}}},k=x,R=n("2877"),w=Object(R["a"])(k,v,y,!1,null,null,null),L=w.exports,_={key:"",name:"",desc:"",routes:[]},O={components:{RoleCheckbox:L},data:function(){return{role:Object.assign({},_),routes:[],rolesList:[],dialogVisible:!1,dialogType:"new",defaultProps:{children:"children",label:"title"},changeTreeNodeType:!1,editId:"",editType:{type:!1,routes:[]},params:{page_index:1,page_size:15},totalPage:0}},computed:{routesData:function(){return console.log(this.routes,111),this.routes}},watch:{dialogVisible:function(e,t){e&&this.getRoutes()}},created:function(){this.getRoleList()},methods:{changePagination:function(e){var t=e.page,n=e.limit;this.params.page_size=n,this.params.page_index=t,this.getRoleList()},delRole:function(e){var t=this,n=e.id,a=e.name;this.$confirm("确定要删除".concat(a),"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){m({id:n}).then((function(e){200==e.code?(t.$message.success("删除".concat(a,"成功")),t.getRoleList()):t.$message.error(e.message||"删除".concat(a,"失败"))}))})).catch((function(){t.$message({type:"info",message:"已取消删除"})}))},getRoleList:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){var n,a,r,i,s;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return n=e.params,a=n.page_index,r=n.page_size,t.prev=1,t.next=4,g({page_index:a,page_size:r});case 4:i=t.sent,s=i.data,e.rolesList=s.list,e.totalPage=s.total,t.next=13;break;case 10:t.prev=10,t.t0=t["catch"](1),console.log("请求角色列表失败:".concat(t.t0));case 13:case"end":return t.stop()}}),t,null,[[1,10]])})))()},getRoutes:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:e.serviceRoutes=h["a"],n=e.generateRoutes(h["a"]),e.routes=e.deepRouter(n);case 3:case"end":return t.stop()}}),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]:"/",a=[],r=Object(o["a"])(e);try{for(r.s();!(t=r.n()).done;){var i=t.value;if(!i.hidden){var s=this.onlyOneShowingChild(i.children,i);i.children&&s&&!i.alwaysShow&&(i=s);var l={path:u.a.resolve(n,i.path),title:i.meta&&i.meta.title,buttonAuthList:i.meta&&i.meta.buttonAuthList,authList:i.meta&&i.meta.authList||[]};i.children&&(l.children=this.generateRoutes(i.children,l.path)),a.push(l)}}}catch(c){r.e(c)}finally{r.f()}return a},generateArr:function(e){var t=this,n=[];return e.forEach((function(e){if(n.push(e),e.children){var a=t.generateArr(e.children);a.length>0&&(n=[].concat(Object(s["a"])(n),Object(s["a"])(a)))}})),n},handleAddRole:function(){this.role=Object.assign({},_),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 a=e.permissions;a=JSON.parse(a),this.dialogType="edit",this.dialogVisible=!0,this.role=Object(d["c"])(e);var r=this.generateRoutes(a);this.$nextTick((function(){var e=t.generateArr(r);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(e){var t=this;return Object(l["a"])(regeneratorRuntime.mark((function n(){var a,r,i,s,o,l;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return a=e.id,n.prev=1,n.next=4,changeRole({id:a});case 4:r=n.sent,i=r.message,s=r.code,t.$message({message:i,type:200===s?"success":"error"}),200===s&&t.getRoleList(),n.next=25;break;case 11:return n.prev=11,n.t0=n["catch"](1),n.next=15,getRoleList();case 15:if(!n.sent){n.next=21;break}return n.next=18,getRoleList();case 18:n.t1=n.sent,n.next=22;break;case 21:n.t1={message:"请求失败"};case 22:o=n.t1,l=o.message,t.$message.error(l);case 25:case"end":return n.stop()}}),n,null,[[1,11]])})))()},generateTree:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",a=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,i=[],s=Object(o["a"])(e);try{for(s.s();!(t=s.n()).done;){var l=t.value,c=u.a.resolve(n,l.path);if(l.meta&&l.meta.linkRouter){var d=a.indexOf(l.meta.linkRouter);-1!==d&&(l.meta.buttonAuthList=r[d].buttonAuthList)}if(l.meta&&l.meta.authList&&l.meta.buttonAuthList){var h=a.indexOf(c);-1!==h&&(l.meta.authList=r[h].authList,l.meta.buttonAuthList=r[h].buttonAuthList)}l.children&&(l.children=this.generateTree(l.children,c,a,r)),(a.includes(c)||l.children&&l.children.length>=1||l.hiddenButNeed)&&i.push(l)}}catch(p){s.e(p)}finally{s.f()}return i},confirmRole:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){var n,a,r,i,s,o,l,c,u;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(e.role.name){t.next=3;break}return e.$message.error("角色名不能为空"),t.abrupt("return",!1);case 3:if(n="edit"===e.dialogType,a=e.$refs.tree.getCheckedKeys(),r=e.$refs.tree.getCheckedNodes(),e.role.routes=e.generateTree(Object(d["c"])(e.serviceRoutes),"/",a,r),!(e.role.routes.length<1)){t.next=10;break}return e.$message.error("权限最少设置一项"),t.abrupt("return",!1);case 10:if(!n){t.next=25;break}return t.prev=11,t.next=14,f({id:e.editId,name:e.role.name,desc:e.role.desc,permissions:JSON.stringify(e.role.routes)});case 14:i=t.sent,s=i.msg,o=i.code,e.$message({msg:s,type:200===o?"success":"error"}),200===o&&(e.dialogVisible=!1,e.getRoleList()),t.next=23;break;case 20:t.prev=20,t.t0=t["catch"](11),console.log("修改角色失败: ".concat(t.t0));case 23:t.next=37;break;case 25:return t.prev=25,t.next=28,b({name:e.role.name,desc:e.role.desc,permissions:JSON.stringify(e.role.routes)});case 28:l=t.sent,c=l.msg,u=l.code,e.$message({msg:c,type:200===u?"success":"error"}),200===u&&(e.dialogVisible=!1,e.getRoleList()),t.next=37;break;case 34:t.prev=34,t.t1=t["catch"](25),console.log("添加角色失败:".concat(t.t1));case 37:case"end":return t.stop()}}),t,null,[[11,20],[25,34]])})))()},onlyOneShowingChild:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,n=null,a=e.filter((function(e){return!e.hidden}));return 1===a.length?(n=a[0],n.path=u.a.resolve(t.path,n.path),n):0===a.length&&(n=Object(i["a"])(Object(i["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}}},A=O,$=(n("4e8a"),n("e3e7"),Object(R["a"])(A,a,r,!1,null,"174a5c40",null));t["default"]=$.exports},a24a:function(e,t,n){},e3e7:function(e,t,n){"use strict";n("1adb")}}]);
|