(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-47da"],{"0Ldg":function(e,t,r){"use strict";var o=r("ojHL");r.n(o).a},"8fIM":function(e,t,r){"use strict";r.r(t);var o=r("Py+g"),n=r("8jdo"),i=r("yH/+"),s=r("WiP8"),a={name:"EditResource",components:{SelectTree:i.a},data:function(){return{dialogFormVisible:!1,dialogStatus:"",btnLoading:!1,resourceForm:{id:"",name:"",url:"",code:"",pid:"",resourceType:"",num:"",icon:""},defaultProps:{parent:"pid",value:"id",label:"name",children:"children"},resourceTypeList:[{value:"03",name:"菜单"},{value:"04",name:"按钮"}],resourceTreeList:null,textMap:{update:"编辑",create:"新增"},rules:{name:[{required:!0,message:"资源名称不能为空",trigger:["blur","change"]}],code:[{required:!0,message:"资源编码不能为空",trigger:["blur","change"]}],pid:[{required:!0,message:"父资源必选",trigger:["blur","change"]}],num:[{required:!0,message:"排序不能为空"},{type:"number",message:"必须为数字值"}],resourceType:[{required:!0,message:"资源类型必选",trigger:["blur","change"]}],url:[{required:!0,message:"url不能为空",trigger:["blur","change"]}]}}},computed:{resourceTree:function(){var e=Object(n.c)(this.resourceTreeList);return console.log(e),e}},mounted:function(){this.fetchPcode()},methods:{initDialog:function(e,t){var r=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this.dialogStatus=e,this.dialogFormVisible=t,this.btnLoading=!1,this.fetchPcode(),this.fetchResourceType(),"create"===e?(this.resetForm(),this.$nextTick(function(){r.$refs.dataForm.clearValidate()})):"update"===e&&(this.resourceForm={id:o.id,name:o.name,url:o.url,code:o.code,pid:o.pid,resourceType:o.resourceType,num:o.num,icon:o.icon})},fetchPcode:function(){var e=this;Object(s.e)(this.listQuery).then(function(t){console.log("fetchPcode:"),console.log(t.data),t.data.list&&(e.resourceTreeList=Object(n.c)(t.data.list,"0",!0),console.log(e.resourceTreeList))})},fetchResourceType:function(){var e=this;Object(s.f)(this.listQuery).then(function(t){t.data&&(e.resourceTypeList=t.data,console.log(e.resourceTreeList))})},resetForm:function(){this.resourceForm={id:"",name:"",url:"",code:"",pid:"",resourceType:"",num:"",icon:""}},saveData:function(){"update"===this.dialogStatus?this.updateData():"create"===this.dialogStatus&&this.createData()},createData:function(){var e=this;this.$refs.dataForm.validate(function(t){console.log(e.resourceForm),t&&(e.btnLoading=!0,Object(s.a)(e.resourceForm).then(function(t){200===t.code&&e.$confirm("新增成功,是否继续新增?","提示",{confirmButtonText:"是",cancelButtonText:"否",type:"info"}).then(function(){e.btnLoading=!1,e.resetForm(),e.$nextTick(function(){e.$refs.dataForm.clearValidate(),e.fetchPcode()})}).catch(function(){e.$emit("watchChild"),e.dialogFormVisible=!1})}).catch(function(t){e.btnLoading=!1}))})},updateData:function(){var e=this;this.$refs.dataForm.validate(function(t){t&&(e.btnLoading=!0,Object(s.g)(e.resourceForm).then(function(t){200===t.code&&(e.$message.success("修改成功"),e.$emit("watchChild"),e.dialogFormVisible=!1)}).catch(function(t){e.btnLoading=!1}))})},cancel:function(){this.dialogFormVisible=!1,this.$emit("watchChild")}}},l=(r("tzNO"),r("KHd+")),c=Object(l.a)(a,function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("el-dialog",{attrs:{title:e.textMap[e.dialogStatus],visible:e.dialogFormVisible,"append-to-body":""},on:{"update:visible":function(t){e.dialogFormVisible=t}}},[r("el-form",{ref:"dataForm",attrs:{rules:e.rules,model:e.resourceForm,"label-position":"right","label-width":"80px"}},[r("el-row",{attrs:{gutter:20}},[r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{label:"资源名称",prop:"name"}},[r("el-input",{attrs:{type:"text",placeholder:"必填"},model:{value:e.resourceForm.name,callback:function(t){e.$set(e.resourceForm,"name","string"==typeof t?t.trim():t)},expression:"resourceForm.name"}})],1)],1),e._v(" "),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{label:"资源路径",prop:"url"}},[r("el-input",{attrs:{type:"text",placeholder:"必填"},model:{value:e.resourceForm.url,callback:function(t){e.$set(e.resourceForm,"url","string"==typeof t?t.trim():t)},expression:"resourceForm.url"}})],1)],1)],1),e._v(" "),r("el-row",{attrs:{gutter:20}},[r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{label:"资源编码",prop:"code"}},[r("el-input",{attrs:{disabled:"update"==e.dialogStatus,type:"text",placeholder:"必填"},model:{value:e.resourceForm.code,callback:function(t){e.$set(e.resourceForm,"code","string"==typeof t?t.trim():t)},expression:"resourceForm.code"}})],1)],1),e._v(" "),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{label:"父资源",prop:"pid"}},[r("select-tree",{attrs:{options:e.resourceTreeList,props:e.defaultProps},model:{value:e.resourceForm.pid,callback:function(t){e.$set(e.resourceForm,"pid",t)},expression:"resourceForm.pid"}})],1)],1)],1),e._v(" "),r("el-row",{attrs:{gutter:20}},[r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{label:"资源类型",prop:"resourceType"}},[r("el-select",{attrs:{placeholder:"请选择"},model:{value:e.resourceForm.resourceType,callback:function(t){e.$set(e.resourceForm,"resourceType",t)},expression:"resourceForm.resourceType"}},e._l(e.resourceTypeList,function(e){return r("el-option",{key:e.value,attrs:{label:e.name,value:e.value}})}))],1)],1),e._v(" "),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{label:"排序",prop:"num"}},[r("el-input-number",{staticStyle:{width:"100%"},attrs:{placeholder:"必填"},model:{value:e.resourceForm.num,callback:function(t){e.$set(e.resourceForm,"num",e._n(t))},expression:"resourceForm.num"}})],1)],1)],1),e._v(" "),r("el-row",{attrs:{gutter:20}},[r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{label:"图标",prop:"icon"}},[r("el-input",{attrs:{type:"text",placeholder:"非必填"},model:{value:e.resourceForm.icon,callback:function(t){e.$set(e.resourceForm,"icon","string"==typeof t?t.trim():t)},expression:"resourceForm.icon"}})],1)],1)],1)],1),e._v(" "),r("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[r("el-button",{attrs:{loading:e.btnLoading,type:"primary"},on:{click:e.saveData}},[e._v("保存")]),e._v(" "),r("el-button",{on:{click:e.cancel}},[e._v("取消")])],1)],1)},[],!1,null,"37afdc1c",null);c.options.__file="editResource.vue";var u=c.exports,d=r("nakL"),m=r("vIUu"),h={name:"ListResource",components:{SearchItem:r("fM4a").a,SearchArea:m.a,AppContainer:d.a,treeTable:o.a,editResource:u},data:function(){return{listQuery:{resourceName:"",resourceUrl:""},columns:[{text:"资源名称",value:"name",type:"expand"},{text:"资源编号",value:"code"},{text:"资源父编号",value:"pcode"},{text:"请求地址",value:"url"},{text:"排序",value:"num",width:50},{text:"层级",value:"levels",width:50},{text:"资源类型",value:"resourceTypeName",width:80},{text:"状态",value:"status",width:70}],list:[],listLoading:!0,dialogFormVisible:!1,dialogStatus:""}},computed:{showOperate:function(){return this.hasPerm("/resource/update")||this.hasPerm("/resource/delete")}},created:function(){this.fetchData()},methods:{add:function(){this.dialogStatus="create",this.dialogFormVisible=!0,this.$refs.editResource.initDialog(this.dialogStatus,this.dialogFormVisible)},edit:function(e){this.dialogStatus="update",this.dialogFormVisible=!0,this.$refs.editResource.initDialog(this.dialogStatus,this.dialogFormVisible,e)},del:function(e){var t=this;this.$confirm("确定要删除"+e.name+"吗?","确认删除",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Object(s.b)(e.id).then(function(e){200===e.code&&(t.$message.success("删除成功"),t.fetchData())})})},search:function(){this.fetchData()},fetchData:function(){var e=this;console.log("fetchData"),this.listLoading=!0,Object(s.c)(this.listQuery).then(function(t){e.list=Object(n.c)(t.data.list,"0",!1),e.listLoading=!1})},deleteItem:function(e,t){var r=this;e.forEach(function(o,n){o.id===t.id?(console.log("findit"),e.splice(n,1)):o.children&&o.children.length>0&&r.deleteItem(o.children,t)})}}},f=(r("0Ldg"),Object(l.a)(h,function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("app-container",[r("search-area",{attrs:{size:"small"},on:{search:e.search}},[r("search-item",[r("el-input",{attrs:{size:"small",placeholder:"资源名称",clearable:""},model:{value:e.listQuery.resourceName,callback:function(t){e.$set(e.listQuery,"resourceName","string"==typeof t?t.trim():t)},expression:"listQuery.resourceName"}})],1),e._v(" "),r("search-item",[r("el-input",{attrs:{size:"small",placeholder:"资源路径",clearable:""},model:{value:e.listQuery.resourceUrl,callback:function(t){e.$set(e.listQuery,"resourceUrl",t)},expression:"listQuery.resourceUrl"}})],1)],1),e._v(" "),r("tree-table",{attrs:{data:e.list,columns:e.columns,query:e.listQuery,"list-loading":e.listLoading,rowkey:"id"}},[r("template",{slot:"btns"},[e.hasPerm("/resource/add")?r("el-button",{staticClass:"filter-item",attrs:{size:"small",icon:"el-icon-plus"},on:{click:e.add}},[e._v("新增")]):e._e()],1),e._v(" "),r("template",{slot:"columns"},[e.showOperate?r("el-table-column",{attrs:{label:"操作",width:"110",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[e.hasPerm("/resource/update")?r("el-button",{attrs:{type:"text",size:"small"},on:{click:function(r){e.edit(t.row)}}},[e._v("修改")]):e._e(),e._v(" "),e.hasPerm("/resource/delete")?r("el-button",{attrs:{type:"text",size:"small"},on:{click:function(r){e.del(t.row)}}},[e._v("删除")]):e._e()]}}])}):e._e()],1)],2),e._v(" "),r("edit-resource",{directives:[{name:"show",rawName:"v-show",value:e.dialogFormVisible,expression:"dialogFormVisible"}],ref:"editResource",on:{watchChild:e.fetchData}})],1)},[],!1,null,"2846d48b",null));f.options.__file="listResource.vue";t.default=f.exports},"8jdo":function(e,t,r){"use strict";r.d(t,"b",function(){return c}),r.d(t,"c",function(){return u}),r.d(t,"a",function(){return d});var o=r("m1cH"),n=r.n(o),i=r("jWXv"),s=r.n(i),a=r("FyfS"),l=r.n(a);function c(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e&&e.length>0){var t=!1,r=e[0].pid,o=!0,n=!1,i=void 0;try{for(var s,a=l()(e);!(o=(s=a.next()).done);o=!0){if(s.value.pid!==r){t=!0;break}}}catch(e){n=!0,i=e}finally{try{!o&&a.return&&a.return()}finally{if(n)throw i}}return t}return!1}function u(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1];var t=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=function(e){var t=new s.a;if(e){var r=!0,o=!1,i=void 0;try{for(var a,c=l()(e);!(r=(a=c.next()).done);r=!0){var u=a.value;t.add(u.pid)}}catch(e){o=!0,i=e}finally{try{!r&&c.return&&c.return()}finally{if(o)throw i}}var d=!0,m=!1,h=void 0;try{for(var f,p=l()(e);!(d=(f=p.next()).done);d=!0){var v=f.value;t.has(v.id)&&t.delete(v.id)}}catch(e){m=!0,h=e}finally{try{!d&&p.return&&p.return()}finally{if(m)throw h}}var g=[].concat(n()(t));return g}return null}(e);return r.length>1?e:function(e){return function e(t){return t.map(function(t){return t&&t.children&&t.children.length?e(t.children):delete t.children,t}),t}(e)}(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0",r=function t(r){for(var o=[],n=0;n<e.length;n++){var i=e[n],s=""+i.id,a=""+i.pid;a===r&&(i.children=t(s),o.push(i))}return o};if(!arguments[2])return r(t);var o=1,n=[],i=!0,s=!1,a=void 0;try{for(var c,u=l()(e);!(i=(c=u.next()).done);i=!0){var d=c.value,m=""+d.id;if(m===t)return d.children=r(t),o=0,n.push(d),n}}catch(e){s=!0,a=e}finally{try{!i&&u.return&&u.return()}finally{if(s)throw a}}if(1===o)return r(t)}(e,r[0],t))}function d(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1];for(var t=[],r=[],o=0;o<e.length;o++)"true"!==e[o].open&&!0!==e[o].open||t.push(e[o].id),"true"!==e[o].checked&&!0!==e[o].checked||r.push(e[o].id);return[t,r]}},"Py+g":function(e,t,r){"use strict";var o=r("FyfS"),n=r.n(o),i={name:"TreeTable",props:{query:{type:Object,default:function(){return{offset:1,limit:20}}},head:{type:Object,default:function(){return{show:!0,text:"数据列表"}}},listLoading:{type:Boolean,default:!1},data:{type:Array,default:function(){return[]}},total:{type:Number,default:0},columns:{type:Array,default:function(){return[]}},options:{type:Object,default:function(){return{needIndex:!0}}},treeProps:{type:Object,default:function(){return{children:"children",hasChildren:"hasChildren"}}},expandAll:{type:Boolean,default:!0},rowkey:{type:String,required:!0},size:{type:String,default:"small"},toolsOption:{type:Object,default:function(){return{selectColumns:!1,refresh:!1}}}},data:function(){return{columnsFiltered:[],columnsChecked:[],visible:!1,animateClass:""}},created:function(){this.initColumnsState(),this.changeColumns()},methods:{initColumnsState:function(){this.columnsChecked=[];var e=!0,t=!1,r=void 0;try{for(var o,i=n()(this.columns);!(e=(o=i.next()).done);e=!0){var s=o.value;!1===s.show?this.columnsChecked.push({text:s.text,show:!1}):this.columnsChecked.push({text:s.text,show:!0})}}catch(e){t=!0,r=e}finally{try{!e&&i.return&&i.return()}finally{if(t)throw r}}this.visible=!1},changeColumns:function(){for(var e in this.columnsFiltered=[],this.columns)!0===this.columnsChecked[e].show&&this.columnsFiltered.push(this.columns[e]);this.visible=!1},indexMethod:function(e){return e+1},refresh:function(){this.$emit("change")},iconRotate:function(){this.animateClass="animated swing"},removeAnimateClass:function(){this.animateClass=""},selectionChange:function(e){this.$emit("selectionChange",e)}}},s=(r("gBpB"),r("KHd+")),a=Object(s.a)(i,function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"table-container"},[r("div",[e.head.show?r("el-row",{staticClass:"table-title"},[r("el-col",{attrs:{span:6}},[r("div",{staticClass:"title-header"},[e.toolsOption.selectColumns?r("el-popover",{attrs:{placement:"bottom-start",trigger:"click"},model:{value:e.visible,callback:function(t){e.visible=t},expression:"visible"}},[r("div",{staticClass:"popper-div"},[e._l(e.columnsChecked,function(t,o){return r("div",{key:o},[r("el-checkbox",{model:{value:t.show,callback:function(r){e.$set(t,"show",r)},expression:"column.show"}},[e._v(e._s(t.text))])],1)}),e._v(" "),r("div",{staticClass:"popper-btns"},[r("el-button",{attrs:{size:"mini",type:""},on:{click:e.initColumnsState}},[e._v("取消")]),e._v(" "),r("el-button",{attrs:{size:"mini",type:"primary"},on:{click:e.changeColumns}},[e._v("确定")])],1)],2),e._v(" "),r("i",{ref:"icon",staticClass:"el-icon-menu",class:e.animateClass,attrs:{slot:"reference"},on:{mouseenter:e.iconRotate,mouseleave:e.removeAnimateClass},slot:"reference"})]):r("i",{staticClass:"el-icon-menu"}),e._v("\n "+e._s(e.head.text)+"\n ")],1)]),e._v(" "),r("el-col",{staticClass:"edit_btns",attrs:{span:18}},[e._t("btns")],2)],1):e._e(),e._v(" "),r("el-row",{staticClass:"tool",attrs:{type:"flex",justify:"right"}},[r("el-col",[r("el-button-group",{staticStyle:{float:"right"}},[e.toolsOption.selectColumns?r("el-popover",{attrs:{placement:"bottom-end",trigger:"click"},model:{value:e.visible,callback:function(t){e.visible=t},expression:"visible"}},[r("div",{staticClass:"popper-div"},[e._l(e.columnsChecked,function(t,o){return r("div",{key:o},[r("el-checkbox",{model:{value:t.show,callback:function(r){e.$set(t,"show",r)},expression:"column.show"}},[e._v(e._s(t.text))])],1)}),e._v(" "),r("div",{staticClass:"popper-btns"},[r("el-button",{attrs:{size:"mini",type:""},on:{click:e.initColumnsState}},[e._v("取消")]),e._v(" "),r("el-button",{attrs:{size:"mini",type:"primary"},on:{click:e.changeColumns}},[e._v("确定")])],1)],2),e._v(" "),r("el-button",{attrs:{slot:"reference",type:"",icon:"el-icon-menu",size:"mini"},slot:"reference"})],1):e._e(),e._v(" "),e.toolsOption.refresh?r("el-button",{attrs:{type:"",icon:"el-icon-refresh",size:"mini"},on:{click:e.refresh}}):e._e()],1)],1)],1),e._v(" "),r("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.listLoading,expression:"listLoading"}],staticClass:"table",attrs:{data:e.data,size:e.size,"row-key":e.rowkey,"tree-props":e.treeProps,"default-expand-all":e.expandAll,"row-class-name":"small-row-class",border:""},on:{"selection-change":e.selectionChange}},[e._t("preColumns"),e._v(" "),e.options&&e.options.needIndex?r("el-table-column",{attrs:{index:e.indexMethod,label:"#",align:"center",type:"index"}}):e._e(),e._v(" "),e.columnsFiltered&&e.columnsFiltered.length>0?e._l(e.columnsFiltered,function(t){return r("el-table-column",{key:t.value,attrs:{label:t.text,width:t.width,align:t.align?t.align:"center","show-overflow-tooltip":!t.showOverflow||t.showOverflow},scopedSlots:e._u([{key:"default",fn:function(o){return[r("span",[e._v(e._s(o.row[t.value]))])]}}])})}):e._e(),e._v(" "),e._t("columns")],2)],1)])},[],!1,null,"2d3586dc",null);a.options.__file="treeTable.vue";t.a=a.exports},WiP8:function(e,t,r){"use strict";r.d(t,"c",function(){return n}),r.d(t,"d",function(){return i}),r.d(t,"e",function(){return s}),r.d(t,"f",function(){return a}),r.d(t,"a",function(){return l}),r.d(t,"g",function(){return c}),r.d(t,"b",function(){return u});var o=r("t3Un");function n(e){return Object(o.a)({url:"resource/list",method:"get",params:e})}function i(e){return Object(o.a)({url:"resource/treeListByRoleId",method:"get",params:{roleId:e}})}function s(){return Object(o.a)({url:"resource/tree",method:"get"})}function a(){return Object(o.a)({url:"dict/code/resourceType",method:"get"})}function l(e){return Object(o.a)({url:"resource/add",method:"post",params:e})}function c(e){return Object(o.a)({url:"resource/update",method:"post",params:e})}function u(e){return Object(o.a)({url:"resource/delete",method:"post",params:{id:e}})}},gBpB:function(e,t,r){"use strict";var o=r("j2Q+");r.n(o).a},"j2Q+":function(e,t,r){},ojHL:function(e,t,r){},tn3X:function(e,t,r){},tzNO:function(e,t,r){"use strict";var o=r("tn3X");r.n(o).a}}]);