2 lines
11 KiB
JavaScript
2 lines
11 KiB
JavaScript
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-5337e365"],{"221c":function(e,t,r){"use strict";r.d(t,"b",(function(){return i})),r.d(t,"c",(function(){return a})),r.d(t,"a",(function(){return s}));var n=r("b32d"),i=function(e){return Object(n["a"])({url:"/api/roles",method:"get",params:e})},a=function(e){return Object(n["a"])({url:"/api/roles",method:"post",data:e})},s=function(e){return Object(n["a"])({url:"/api/roles/".concat(e),method:"delete"})}},5379:function(e,t,r){"use strict";r.d(t,"a",(function(){return i})),r.d(t,"b",(function(){return a}));var n=r("b32d"),i=function(e){return Object(n["a"])({url:"/api/permissions",method:"get",params:e})},a=function(e){return Object(n["a"])({url:"/api/permission",method:"post",data:e})}},"7db0":function(e,t,r){"use strict";var n=r("23e7"),i=r("b727").find,a=r("44d2"),s="find",l=!0;s in[]&&Array(1)[s]((function(){l=!1})),n({target:"Array",proto:!0,forced:l},{find:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),a(s)},a417:function(e,t,r){"use strict";r("fdd0")},f982:function(e,t,r){"use strict";r.r(t);var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"app-container"},[r("el-button",{directives:[{name:"permission",rawName:"v-permission",value:["role:edit"],expression:"['role:edit']"}],attrs:{type:"primary"},on:{click:e.handleCreateRole}},[e._v(" "+e._s(e.$t("permission.createRole"))+" ")]),r("el-table",{staticStyle:{width:"100%","margin-top":"30px"},attrs:{data:e.rolesList,stripe:"",border:""}},[r("el-table-column",{attrs:{align:"center",label:"角色key",prop:"key"}}),r("el-table-column",{attrs:{align:"center",label:"角色名",prop:"name"}}),r("el-table-column",{attrs:{align:"center",label:"等级",prop:"level"}}),r("el-table-column",{attrs:{align:"center",label:"权限",prop:"permissions",formatter:e.formatPermissionCol}}),r("el-table-column",{attrs:{align:"header-center",label:"备注",prop:"comment"}}),r("el-table-column",{attrs:{align:"center",label:"操作"},scopedSlots:e._u([{key:"default",fn:function(t){return[r("el-button",{directives:[{name:"permission",rawName:"v-permission",value:["role:edit"],expression:"['role:edit']"}],attrs:{type:"primary",size:"small"},on:{click:function(r){return e.handleEdit(t)}}},[e._v(" "+e._s(e.$t("permission.editPermission"))+" ")]),r("el-button",{directives:[{name:"permission",rawName:"v-permission",value:["role:delete"],expression:"['role:delete']"}],attrs:{type:"danger",size:"small"},on:{click:function(r){return e.handleDelete(t)}}},[e._v(" "+e._s(e.$t("permission.delete"))+" ")])]}}])})],1),r("el-dialog",{attrs:{visible:e.dialogVisible,title:"edit"===e.dialogType?"Edit Role":"New Role"},on:{"update:visible":function(t){e.dialogVisible=t}}},[r("el-form",{ref:"modalForm",attrs:{model:e.role,"label-width":"80px","label-position":"left",rules:e.modalRules}},[r("el-form-item",{attrs:{label:"角色key",prop:"key"}},[r("el-input",{attrs:{readonly:"edit"===e.dialogType,placeholder:"角色key"},model:{value:e.role.key,callback:function(t){e.$set(e.role,"key",t)},expression:"role.key"}})],1),r("el-form-item",{attrs:{label:"角色名",prop:"name"}},[r("el-input",{attrs:{placeholder:"角色名"},model:{value:e.role.name,callback:function(t){e.$set(e.role,"name",t)},expression:"role.name"}})],1),r("el-form-item",{attrs:{label:"等级",prop:"level"}},[r("el-input",{attrs:{placeholder:"等级",type:"number",clearable:""},model:{value:e.role.level,callback:function(t){e.$set(e.role,"level",t)},expression:"role.level"}})],1),r("el-form-item",{attrs:{label:"操作",prop:"permissions"}},[r("el-select",{staticStyle:{width:"60%"},attrs:{multiple:"",filterable:"","filter-method":e.filterPermission,"allow-create":"","default-first-option":"",placeholder:"请选择权限"},on:{change:e.permissionChange},model:{value:e.role.permissions,callback:function(t){e.$set(e.role,"permissions",t)},expression:"role.permissions"}},e._l(e.filterPermissions,(function(t){return r("el-option",{key:t.id,attrs:{label:t.label,value:t.id}},[r("span",{staticStyle:{float:"left"}},[e._v(e._s(t.label))]),r("span",{staticStyle:{float:"right",color:"#8492a6","font-size":"13px"}},[e._v(e._s(t.id))])])})),1)],1),r("el-form-item",{attrs:{label:"备注"}},[r("el-input",{attrs:{autosize:{minRows:2,maxRows:4},type:"textarea",placeholder:"备注"},model:{value:e.role.comment,callback:function(t){e.$set(e.role,"comment",t)},expression:"role.comment"}})],1)],1),r("div",{staticStyle:{"text-align":"right"}},[r("el-button",{attrs:{type:"danger"},on:{click:function(t){e.dialogVisible=!1}}},[e._v(" "+e._s(e.$t("permission.cancel"))+" ")]),r("el-button",{attrs:{type:"primary"},on:{click:e.confirmRole}},[e._v(" "+e._s(e.$t("permission.confirm"))+" ")])],1)],1)],1)},i=[],a=r("2909"),s=r("b85c"),l=r("1da1"),o=r("d4ec"),c=r("bee2"),u=r("262e"),p=r("2caf"),m=(r("a434"),r("b0c0"),r("99af"),r("4de4"),r("c975"),r("a15b"),r("7db0"),r("96cf"),r("9ab4")),d=r("2ef0"),f=r("1b40"),h=r("221c"),b=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"tag-input"},[e._l(e.allTags,(function(t,n){return r("div",{key:t,staticClass:"tag-input__tag"},[r("span",{on:{click:function(t){return e.removeTag(n)}}},[e._v("x")]),e._v(" "+e._s(t)+" ")])})),r("input",{staticClass:"tag-input__text",attrs:{type:"text",placeholder:e.placeholder},on:{keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.addTag(t)},function(t){return t.type.indexOf("key")||188===t.keyCode?e.addTag(t):null}]}})],2)},g=[],v=(r("498a"),function(e){Object(u["a"])(r,e);var t=Object(p["a"])(r);function r(){return Object(o["a"])(this,r),t.apply(this,arguments)}return Object(c["a"])(r,[{key:"addTag",value:function(e){e.preventDefault(),this.allTags=this.allTags||[];var t=e.target.value.trim();t.length>0&&(this.allTags.push(t),e.target.value="",this.$emit("update",this.allTags),this.$emit("tag-change",this.allTags))}},{key:"removeTag",value:function(e){this.allTags=this.allTags||[],this.allTags.splice(e,1),this.$emit("update",this.allTags),this.$emit("tag-change",this.allTags)}}]),r}(f["c"]));v=Object(m["a"])([Object(f["a"])({name:"TagInput",props:["allTags","placeholder"],model:{prop:"allTags",event:"update"}})],v);var y=v,k=y,x=(r("a417"),r("0c7c")),O=Object(x["a"])(k,b,g,!1,null,"06b311aa",null),j=O.exports,w=r("5379"),_=r("4c9b"),T={key:"",name:"",comment:"",permissions:[],level:999},R=function(e){Object(u["a"])(r,e);var t=Object(p["a"])(r);function r(){var e;return Object(o["a"])(this,r),e=t.apply(this,arguments),e.role=Object.assign({},T),e.rolesList=[],e.dialogVisible=!1,e.dialogType="new",e.checkStrictly=!1,e.permissions=[],e.filterPermissions=[],e.modalRules={key:[{required:!0,message:"请输入角色key",trigger:"blur"},{min:2,max:20,message:"长度在 2 到 20 个字符",trigger:"blur"},{required:!0,pattern:/^[a-zA-Z]+$/,message:"权限只支持英文字母",trigger:"blur"}],name:[{required:!0,message:"请输入角色名",trigger:"blur"},{min:2,max:20,message:"长度在 2 到 20 个字符",trigger:"blur"},{required:!0,pattern:/^[\u4e00-\u9fa5_a-zA-Z0-9.·-]+$/,message:"角色名不支持特殊字符",trigger:"blur"}],level:[{required:!0,message:"请输入角色等级",trigger:"blur"}]},e}return Object(c["a"])(r,[{key:"created",value:function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this.getRoles();case 2:return e.next=4,this.getRemotePermissions();case 4:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"getRoles",value:function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(){var t,r;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,Object(h["b"])({});case 2:t=e.sent,r=t.data,this.rolesList=r;case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"handleCreateRole",value:function(){this.role=Object.assign({},T),this.dialogType="new",this.dialogVisible=!0}},{key:"handleEdit",value:function(e){this.dialogType="edit",this.dialogVisible=!0,this.checkStrictly=!0,this.role=Object(d["cloneDeep"])(e.row)}},{key:"handleDelete",value:function(e){var t=this,r=e.$index,n=e.row;this.$confirm("Confirm to remove the role?","Warning",{confirmButtonText:"Confirm",cancelButtonText:"Cancel",type:"warning"}).then(Object(l["a"])(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,Object(h["a"])(n.key);case 2:t.rolesList.splice(r,1),t.$message({type:"success",message:"Deleted!"});case 4:case"end":return e.stop()}}),e)}))))["catch"]((function(e){console.error(e)}))}},{key:"confirmRole",value:function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(){var t,r,n,i,a,s;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$refs.modalForm.validate();case 3:return t="edit"===this.dialogType,e.next=6,Object(h["c"])(this.role);case 6:if(!t){e.next=17;break}r=0;case 8:if(!(r<this.rolesList.length)){e.next=15;break}if(this.rolesList[r].key!==this.role.key){e.next=12;break}return this.rolesList.splice(r,1,Object.assign({},this.role)),e.abrupt("break",15);case 12:r++,e.next=8;break;case 15:e.next=18;break;case 17:this.rolesList.push(this.role);case 18:n=this.role,i=n.permissions,a=n.key,s=n.name,this.dialogVisible=!1,this.$refs.modalForm.clearValidate(),this.$notify({title:"Success",dangerouslyUseHTMLString:!0,message:"\n <div>Role Key: ".concat(a,"</div>\n <div>Role Name: ").concat(s,"</div>\n <div>Description: ").concat(i,"</div>\n "),type:"success"}),_["k"].$emit(_["h"],{}),e.next=28;break;case 25:e.prev=25,e.t0=e["catch"](0),console.log(e.t0);case 28:case"end":return e.stop()}}),e,this,[[0,25]])})));function t(){return e.apply(this,arguments)}return t}()},{key:"getRemotePermissions",value:function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(){var t,r,n,i,a,l,o,c;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,Object(w["a"])();case 2:t=e.sent,r=t.data,n=Object(s["a"])(r);try{for(n.s();!(i=n.n()).done;){a=i.value,l=Object(s["a"])(a.children);try{for(l.s();!(o=l.n()).done;)c=o.value,this.permissions.push({id:c.id,label:"".concat(a.label,":").concat(c.label)})}catch(u){l.e(u)}finally{l.f()}}}catch(u){n.e(u)}finally{n.f()}this.filterPermission();case 7:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"filterPermission",value:function(e){this.filterPermissions=e?this.permissions.filter((function(t){return t.id.indexOf(e)>=0||t.label.indexOf(e)>=0})):Object(a["a"])(this.permissions)}},{key:"formatPermissionCol",value:function(e,t,r){var n,i=this,a=[],l=Object(s["a"])(r);try{var o=function(){var e=n.value,t=i.permissions.find((function(t){return t.id===e}));t?a.push(t.label):a.push(e)};for(l.s();!(n=l.n()).done;)o()}catch(c){l.e(c)}finally{l.f()}return a.join(",")}},{key:"permissionChange",value:function(e){if(e.length>0){var t=this.role.permissions[this.role.permissions.length-1];console.log(t),/(^([a-zA-Z0-9*]+:[a-zA-Z0-9*]+$)|\*)/.test(t)||(this.role.permissions.pop(),this.$message({type:"error",message:"权限的格式错误, 比如 app:read, app:*"}))}}}]),r}(f["c"]);R=Object(m["a"])([Object(f["a"])({name:"RoleSystem",components:{TagInput:j}})],R);var $=R,C=$,P=Object(x["a"])(C,n,i,!1,null,null,null);t["default"]=P.exports},fdd0:function(e,t,r){}}]);
|
|
//# sourceMappingURL=chunk-5337e365.ff0b8613.js.map
|