1 |
- (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-67b15014"],{"058d":function(e,t,a){},"264b":function(e,t,a){},"4d10":function(e,t,a){"use strict";a("058d")},"6eda":function(e,t,a){"use strict";a("264b")},"7c4f":function(e,t,a){"use strict";a.r(t);var n=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"app-container"},[a("el-button",{attrs:{type:"primary"},on:{click:e.handleAddRole}},[e._v(" 新增角色 ")]),a("el-table",{staticStyle:{width:"100%","margin-top":"30px"},attrs:{data:e.rolesList,border:""}},[a("el-table-column",{attrs:{label:"序号",type:"index",width:"80",align:"center",index:function(t){return 15*(e.params.page_index-1)+t+1}}}),a("el-table-column",{attrs:{prop:"name",align:"center",label:"角色名",width:"220"}}),a("el-table-column",{attrs:{prop:"desc",align:"header-center",label:"说明"}}),a("el-table-column",{attrs:{align:"center",label:"操作",width:"280"},scopedSlots:e._u([{key:"default",fn:function(t){var n=t.row;return[a("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(t){return e.handleEdit(n)}}},[e._v(" 编辑权限 ")]),a("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(t){return e.delRole(n)}}},[e._v(" 删除 ")])]}}])})],1),e.dialogVisible?a("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}}},[a("el-form",{attrs:{model:e.role,"label-width":"80px","label-position":"left"}},[a("el-form-item",{attrs:{label:"角色名"}},[a("el-input",{attrs:{placeholder:"角色名"},model:{value:e.role.name,callback:function(t){e.$set(e.role,"name",t)},expression:"role.name"}})],1),a("el-form-item",{attrs:{label:"说明"}},[a("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),a("el-form-item",{attrs:{label:"权限"}},[a("div",{staticStyle:{height:"500px","overflow-y":"scroll"}},[a("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 n=t.node,r=t.data;return a("div",{staticClass:"custom-tree-node"},[a("span",{on:{click:function(t){return e.seeNode(n)}}},[e._v(e._s(n.label))]),r.authList&&r.authList.length>0?a("div",[a("role-checkbox",{attrs:{"auth-list":r.authList,"sure-list":r.buttonAuthList,selected:n.checked,"parent-key":n.key},on:{changebtnauth:e.changeParent}})],1):e._e()])}}],null,!1,2286784277)})],1)])],1),a("div",{staticStyle:{"text-align":"right"}},[a("el-button",{attrs:{type:"danger"},on:{click:e.handleAddRoleCancel}},[e._v(" 取消 ")]),a("el-button",{attrs:{type:"primary"},on:{click:e.confirmRole}},[e._v(" 确定 ")])],1)],1):e._e(),a("div",{staticClass:"batch-container"},[a("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=a("5530"),s=a("2909"),o=a("b85c"),l=a("c7eb"),c=a("1da1"),u=(a("b0c0"),a("d81d"),a("d3b7"),a("159b"),a("99af"),a("4de4"),a("caad"),a("2532"),a("e9c4"),a("df7c")),d=a.n(u),h=a("ed08"),p=a("a3fb"),g=a("b775"),f=function(e){return Object(g["a"])({url:"/role/index",method:"get",params:e})},b=function(e){return Object(g["a"])({url:"/admin/update_role",method:"post",data:e})},m=function(e){return Object(g["a"])({url:"/role/destroy",method:"post",data:e})},v=function(e){return Object(g["a"])({url:"/admin/upload_role",method:"post",data:e})},y=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("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 a("el-checkbox",{key:t.value,attrs:{label:t.value},on:{change:e.changeBtnAuth}},[e._v(" "+e._s(t.name)+" ")])})),1)],1)},x=[],k={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)}}},w=k,L=a("2877"),O=Object(L["a"])(w,y,x,!1,null,null,null),R=O.exports,_={key:"",name:"",desc:"",routes:[]},j={components:{RoleCheckbox:R},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,"routes"),this.routes}},watch:{dialogVisible:function(e,t){e&&this.getRoutes()}},created:function(){this.getRoleList()},methods:{changePagination:function(e){var t=e.page,a=e.limit;this.params.page_size=a,this.params.page_index=t,this.getRoleList()},delRole:function(e){var t=this,a=e.id,n=e.name;this.$confirm("确定要删除".concat(n),"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){m({id:a}).then((function(e){200===e.code?(t.$message.success("删除".concat(n,"成功")),t.getRoleList()):t.$message.error(e.message||"删除".concat(n,"失败"))}))})).catch((function(){t.$message({type:"info",message:"已取消删除"})}))},getRoleList:function(){var e=this;return Object(c["a"])(Object(l["a"])().mark((function t(){var a,n,r,i,s;return Object(l["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:return a=e.params,n=a.page_index,r=a.page_size,t.prev=1,t.next=4,f({page_index:n,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(c["a"])(Object(l["a"])().mark((function t(){var a;return Object(l["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:e.serviceRoutes=p["a"],a=e.generateRoutes(p["a"]),e.routes=e.deepRouter(a);case 3:case"end":return t.stop()}}),t)})))()},deepRouter:function(e){var t=this,a=e.map((function(e){return e.route=e.title,e.children&&(e.children=t.deepRouter(e.children)),e}));return a},generateRoutes:function(e){var t,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",n=[],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:d.a.resolve(a,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)),n.push(l)}}}catch(c){r.e(c)}finally{r.f()}return n},generateArr:function(e){var t=this,a=[];return e.forEach((function(e){if(a.push(e),e.children){var n=t.generateArr(e.children);n.length>0&&(a=[].concat(Object(s["a"])(a),Object(s["a"])(n)))}})),a},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,a=e.id;this.editId=a;var n=e.permissions;n=JSON.parse(n),this.dialogType="edit",this.dialogVisible=!0,this.role=Object(h["c"])(e);var r=this.generateRoutes(n);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(c["a"])(Object(l["a"])().mark((function a(){var n,r,i,s,o,c;return Object(l["a"])().wrap((function(a){while(1)switch(a.prev=a.next){case 0:return n=e.id,a.prev=1,a.next=4,changeRole({id:n});case 4:r=a.sent,i=r.message,s=r.code,t.$message({message:i,type:200===s?"success":"error"}),200===s&&t.getRoleList(),a.next=25;break;case 11:return a.prev=11,a.t0=a["catch"](1),a.next=15,getRoleList();case 15:if(!a.sent){a.next=21;break}return a.next=18,getRoleList();case 18:a.t1=a.sent,a.next=22;break;case 21:a.t1={message:"请求失败"};case 22:o=a.t1,c=o.message,t.$message.error(c);case 25:case"end":return a.stop()}}),a,null,[[1,11]])})))()},generateTree:function(e){var t,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",n=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=d.a.resolve(a,l.path);if(l.meta&&l.meta.linkRouter){var u=n.indexOf(l.meta.linkRouter);-1!==u&&(l.meta.buttonAuthList=r[u].buttonAuthList)}if(l.meta&&l.meta.authList&&l.meta.buttonAuthList){var h=n.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,n,r)),(n.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(c["a"])(Object(l["a"])().mark((function t(){var a,n,r,i,s,o,c,u,d;return Object(l["a"])().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(a="edit"===e.dialogType,n=e.$refs.tree.getCheckedKeys(),r=e.$refs.tree.getCheckedNodes(),e.role.routes=e.generateTree(Object(h["c"])(e.serviceRoutes),"/",n,r),!(e.role.routes.length<1)){t.next=10;break}return e.$message.error("权限最少设置一项"),t.abrupt("return",!1);case 10:if(!a){t.next=25;break}return t.prev=11,t.next=14,b({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,v({name:e.role.name,desc:e.role.desc,permissions:JSON.stringify(e.role.routes)});case 28:c=t.sent,u=c.msg,d=c.code,e.$message({msg:u,type:200===d?"success":"error"}),200===d&&(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,a=null,n=e.filter((function(e){return!e.hidden}));return 1===n.length?(a=n[0],a.path=d.a.resolve(t.path,a.path),a):0===n.length&&(a=Object(i["a"])(Object(i["a"])({},t),{},{path:"",noShowingChildren:!0}),a)},handleAddRoleCancel:function(){this.dialogVisible=!1,this.editType.type=!1,this.editType.routes=[]},seeNode:function(e){console.log(e,"node")},changeParent:function(e,t){var a=this.$refs.tree.getNode(t);a.data.buttonAuthList=e}}},A=j,$=(a("6eda"),a("4d10"),Object(L["a"])(A,n,r,!1,null,"5cd3c767",null));t["default"]=$.exports}}]);
|