chunk-df682218.a6a56fbf.js 14 KB

1
  1. (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-df682218"],{"140d":function(e,t,n){"use strict";n("c206")},"5d51":function(e,t,n){"use strict";n.d(t,"g",(function(){return a})),n.d(t,"e",(function(){return i})),n.d(t,"f",(function(){return s})),n.d(t,"a",(function(){return o})),n.d(t,"d",(function(){return l})),n.d(t,"c",(function(){return c})),n.d(t,"h",(function(){return u}));var r=n("b775");function a(e){return Object(r["a"])({url:"/role/index",method:"get",params:e})}function i(e){return Object(r["a"])({url:"/role/all",method:"get",params:e})}function s(e){return Object(r["a"])({url:"/role/getAllRolePermissions",method:"get",params:e})}function o(e){return Object(r["a"])({url:"/role/create",method:"post",data:e})}function l(e){return Object(r["a"])({url:"/role/update",method:"post",data:e})}function c(e){return Object(r["a"])({method:"post",url:"/role/destroy",params:e})}function u(e){return Object(r["a"])({url:"/role/pushAllRolePermissions",method:"post",data:e})}},"84a6":function(e,t,n){"use strict";var r=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)},a=[],i={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)}}},s=i,o=n("2877"),l=Object(o["a"])(s,r,a,!1,null,null,null);t["a"]=l.exports},"8f0b":function(e,t,n){},a3f8: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("div",{directives:[{name:"loading",rawName:"v-loading.fullscreen.lock",value:e.loadingFull,expression:"loadingFull",modifiers:{fullscreen:!0,lock:!0}}]}),n("el-select",{staticStyle:{width:"300px"},attrs:{disabled:1==e.from},on:{change:function(t){return e.getRoleList()}},model:{value:e.siteId,callback:function(t){e.siteId=t},expression:"siteId"}},e._l(e.navList,(function(e){return n("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1),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:{prop:"name",align:"center",label:"角色名",width:"220"}}),n("el-table-column",{attrs:{prop:"desc",align:"center",label:"说明"}}),n("el-table-column",{attrs:{prop:"created_at",align:"center",label:"创建时间"}}),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("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(t){return e.handleDel(r)}}},[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,width:"50%"},on:{"update:visible":function(t){e.dialogVisible=t}}},[n("el-form",{attrs:{model:e.role,"label-width":"100px","label-position":"left"}},[n("el-form-item",{attrs:{label:"角色名:"}},[n("el-input",{staticStyle:{width:"320px"},attrs:{placeholder:"角色名"},model:{value:e.role.name,callback:function(t){e.$set(e.role,"name",t)},expression:"role.name"}})],1),1==e.from?n("el-form-item",{attrs:{label:"导航名称:"}},[n("el-input",{attrs:{disabled:""},model:{value:e.navName,callback:function(t){e.navName=t},expression:"navName"}})],1):n("el-form-item",{attrs:{label:"导航名称:"}},[n("el-select",{staticStyle:{width:"320px"},on:{change:function(t){return e.getPermissions()}},model:{value:e.navId,callback:function(t){e.navId=t},expression:"navId"}},e._l(e.navList,(function(e){return n("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),n("el-form-item",{attrs:{label:"说明:"}},[n("el-input",{attrs:{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 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))]),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,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()],1)},a=[],i=n("5530"),s=n("2909"),o=n("b85c"),l=n("1da1"),c=(n("96cf"),n("b0c0"),n("d3b7"),n("25f0"),n("d81d"),n("159b"),n("99af"),n("4de4"),n("caad"),n("2532"),n("df7c")),u=n.n(c),d=n("ed08"),h=n("5d51"),f=n("c476"),m=n("84a6"),p={key:"",name:"",desc:"",routes:[]},g={name:"Role",components:{RoleCheckbox:m["a"]},data:function(){return{loadingFull:!1,role:Object.assign({},p),routes:[],formId:"",rolesList:[],dialogVisible:!1,dialogType:"new",defaultProps:{children:"children",label:"title"},changeTreeNodeType:!1,editId:"",editType:{type:!1,routes:[]},id:"",name:"",allPermissions:[],navList:[],navName:"",navId:"",siteId:"",from:""}},computed:{routesData:function(){return this.routes}},watch:{dialogVisible:function(e,t){e&&this.getRoutes()}},created:function(){var e=this.$route.params,t=e.id,n=e.name,r=e.from;this.from=r,this.siteId=t?t.toString():"",this.getAllNav(),this.navName=n},methods:{handleDel:function(e){var t=this;this.$confirm("确定要删除这个角色吗?","确认删除",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){var n=e.id;t.delRole(n)}))},delRole:function(e){var t=this;Object(h["c"])({id:e}).then((function(e){200===e.code?(t.$message.success("删除成功"),t.getRoleList()):t.$message.success(e.message||"删除失败")}))},getPermissions:function(){var e=this;Object(h["f"])({site_id:this.siteId?this.siteId:this.navId}).then((function(t){200===t.code&&(t.data?(e.allPermissions=JSON.parse(t.data.permissions),console.log(e.allPermissions,"allPermissions"),e.getRoutes()):e.$message.error(t.message||"暂无权限数据"))}))},getRoleList:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){var n,r;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,Object(h["g"])({site_id:e.siteId});case 3:n=t.sent,r=n.data,e.rolesList=r.list,t.next=11;break;case 8:t.prev=8,t.t0=t["catch"](0),console.log("请求角色列表失败:".concat(t.t0));case 11:case"end":return t.stop()}}),t,null,[[0,8]])})))()},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=e.allPermissions,n=e.generateRoutes(e.allPermissions),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]:"/",r=[],a=Object(o["a"])(e);try{for(a.s();!(t=a.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)),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(s["a"])(n),Object(s["a"])(r)))}})),n},getAllNav:function(){var e=this;Object(f["d"])().then((function(t){if(200===t.code){var n=t.data;for(var r in n)e.navList.push({value:r,label:n[r]});1!==e.from&&(e.siteId=e.navList[0].value),e.getRoleList()}})).catch((function(){}))},handleAddRole:function(){this.role=Object.assign({},p),this.$refs.tree&&this.$refs.tree.setCheckedNodes([]),this.dialogType="new",this.dialogVisible=!0,this.navId=this.siteId,this.getPermissions()},handleEdit:function(e){var t=this;this.navId=this.siteId,Object(h["f"])({site_id:this.navId}).then((function(n){if(200===n.code)if(n.data){t.allPermissions=JSON.parse(n.data.permissions),t.getRoutes();var r=e.id,a=e.site_id,i=e.name;t.editId=r;var s=e.permissions;s=JSON.parse(s),t.formId=r,t.navId=a.toString(),t.name=i,t.dialogType="edit",t.dialogVisible=!0,t.role=Object(d["c"])(e);var o=t.generateRoutes(s);t.$nextTick((function(){var e=t.generateArr(o);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)}))}else t.$message.error(n.msg||"暂无权限数据")}))},handleChangeStatus:function(e){var t=this;return Object(l["a"])(regeneratorRuntime.mark((function n(){var r,a,i,s,o,l;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return r=e.id,n.prev=1,n.next=4,Object(h["changeRole"])({id:r});case 4:a=n.sent,i=a.message,s=a.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,getRolesList();case 15:if(!n.sent){n.next=21;break}return n.next=18,getRolesList();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]:"/",r=arguments.length>2?arguments[2]:void 0,a=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=r.indexOf(l.meta.linkRouter);-1!==d&&(l.meta.buttonAuthList=a[d].buttonAuthList)}if(l.meta&&l.meta.authList&&l.meta.buttonAuthList){var h=r.indexOf(c);-1!==h&&(l.meta.authList=a[h].authList,l.meta.buttonAuthList=a[h].buttonAuthList)}l.children&&(l.children=this.generateTree(l.children,c,r,a)),(r.includes(c)||l.children&&l.children.length>=1||l.hiddenButNeed)&&i.push(l)}}catch(f){s.e(f)}finally{s.f()}return i},confirmRole:function(){var e=this;return Object(l["a"])(regeneratorRuntime.mark((function t(){var n,r,a,i,s,o,l;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,r=e.$refs.tree.getCheckedKeys(),a=e.$refs.tree.getCheckedNodes(),e.role.routes=e.generateTree(Object(d["c"])(e.serviceRoutes),"/",r,a),!(e.role.routes.length<1)){t.next=10;break}return e.$message.error("权限最少设置一项"),t.abrupt("return",!1);case 10:if(console.log(e.role.routes,"上传的权限"),!n){t.next=26;break}return t.prev=12,t.next=15,Object(h["d"])({id:e.editId,name:e.role.name,desc:e.role.desc,permissions:JSON.stringify(e.role.routes),site_id:e.navId});case 15:i=t.sent,s=i.code,e.$message({message:200===s?"修改角色成功":"修改添加角色失败",type:200===s?"success":"error"}),200===s&&(e.dialogVisible=!1,e.getRoleList()),t.next=24;break;case 21:t.prev=21,t.t0=t["catch"](12),console.log("修改角色失败: ".concat(t.t0));case 24:t.next=38;break;case 26:return t.prev=26,t.next=29,Object(h["a"])({name:e.role.name,desc:e.role.desc,permissions:JSON.stringify(e.role.routes),site_id:e.navId});case 29:o=t.sent,l=o.code,e.$message({message:200===l?"添加角色成功":"添加角色失败",type:200===l?"success":"error"}),200===l&&(e.dialogVisible=!1,e.getRoleList()),t.next=38;break;case 35:t.prev=35,t.t1=t["catch"](26),console.log("添加角色失败:".concat(t.t1));case 38:case"end":return t.stop()}}),t,null,[[12,21],[26,35]])})))()},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=u.a.resolve(t.path,n.path),n):0===r.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}}},b=g,v=(n("140d"),n("d7b8"),n("2877")),y=Object(v["a"])(b,r,a,!1,null,"26d9f577",null);t["default"]=y.exports},c206:function(e,t,n){},c476:function(e,t,n){"use strict";n.d(t,"e",(function(){return a})),n.d(t,"d",(function(){return i})),n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return l})),n.d(t,"f",(function(){return c}));var r=n("b775");function a(e){return Object(r["a"])({method:"get",url:"/site/index",params:e})}function i(){return Object(r["a"])({url:"/site/all",method:"get"})}function s(e){return Object(r["a"])({method:"post",url:"/site/create",data:e})}function o(e){return Object(r["a"])({method:"post",url:"/site/update",data:e})}function l(e){return Object(r["a"])({method:"post",url:"/site/destroy",data:e})}function c(e){return Object(r["a"])({method:"post",url:"/site/uploadImg",data:e})}},d7b8:function(e,t,n){"use strict";n("8f0b")}}]);