Your Name
2022-04-08 1f2a259f8cbb7eb0b12d12895116c309eb8cd609
1
(this.webpackJsonp=this.webpackJsonp||[]).push([["chunk-47a2"],{RUhY:function(e,t,r){"use strict";var a=r("pRuQ");r.n(a).a},pRuQ:function(e,t,r){},"x/lg":function(e,t,r){"use strict";r.r(t);var a=r("rerW"),o=r.n(a),i=r("omC7"),n=r.n(i),l=r("D+s9"),s=r("43Bq"),c=r("8fCU"),m=r("jJIE"),d=r.n(m),f={components:{},data:function(){return{selectIconDialog:!1,formLabelWidth:"100px",defaultProps:{children:"children",label:"title",id:"id"},maxId:7e6,menuTree:[],cascaderTree:[],cascaderValue:[],cascaderProps:{children:"children",label:"title",value:"id"},form:{id:"",title:"",name:"",path:"",icon:"",status:1,component:"",sortorder:0,parentid:"",type:1,isSafe:""},formRules:{name:[{required:!0,message:"路由英文名称不能为空",trigger:"blur"}],title:[{required:!0,message:"名称不能为空",trigger:"blur"}],path:[{required:!0,message:"路径不能为空",trigger:"blur"}],component:[{required:!0,message:"前端组件不能为空",trigger:"blur"}]},saveDisabled:!1,operatorStatus:"create",treeLoading:!1}},created:function(){this.getPermissionList()},methods:{init:function(){this.getPermissionList()},getPermissionList:function(){var e=this,t=this,r={};r.userId=d.a.get("userId"),Object(l.c)(r).then(function(r){var a=r.data;if(200==a.code){t.menuTree=a.result;var i=[],l=JSON.parse(n()(a.result)),s=!0,m=!1,d=void 0;try{for(var f,u=o()(l);!(s=(f=u.next()).done);s=!0){var p=f.value;if(0==p.children.length)p.child=null;else{var v=!0,h=!1,b=void 0;try{for(var g,y=o()(p.children);!(v=(g=y.next()).done);v=!0){var _=g.value;0==_.children.length&&(_.children=null)}}catch(e){h=!0,b=e}finally{try{!v&&y.return&&y.return()}finally{if(h)throw b}}}i.push(p)}}catch(e){m=!0,d=e}finally{try{!s&&u.return&&u.return()}finally{if(m)throw d}}e.cascaderTree=i}else Object(c.a)({error:a.message,vm:t})})},selectIcon:function(e){this.form.icon=e.target.className,this.selectIconDialog=!1},renderContent:function(e,t){t.node;var r=t.data;t.store;return e("span",[e("span",[e("span",[e("i",{class:r.icon,style:"width:20px;height:20px;"})," ",r.title])])])},newAdd:function(){this.initData()},initData:function(){this.form={id:"",title:"",name:"",path:"",icon:"",status:1,component:"",sortorder:0,parentid:"",type:1},this.operatorStatus="create",this.cascaderValue=[]},deleteSelected:function(){var e=this,t={};if(e.form.id){t.id=this.form.id;var r=d.a.get("userName"),a=d.a.get("name");t.createBy=r,t.createName=a,t.operator=a+"("+r+")",Object(l.b)(t).then(function(t){var r=t.data;200==r.code?(e.$message({message:"删除成功",type:"success"}),Object(s.a)(e),e.init(),e.initData()):Object(c.a)({error:r.message,vm:e})})}else Object(c.a)({error:"请选择要删除的菜单",vm:e})},handleNodeClick:function(e){console.log("12313"),this.form=function(e){for(let t=1,r=arguments.length;t<r;t++){let r=arguments[t]||{};for(let t in r)if(r.hasOwnProperty(t)){let a=r[t];void 0!==a&&(e[t]=a)}}return e}({},e);var t=[],r=!1,a=!0,i=!1,n=void 0;try{for(var l,s=o()(this.cascaderTree);!(a=(l=s.next()).done);a=!0){var c=l.value;if(c.id==e.parentid){t.push(c.id),r=!0;break}}}catch(e){i=!0,n=e}finally{try{!a&&s.return&&s.return()}finally{if(i)throw n}}if(!r){var m=!0,d=!1,f=void 0;try{for(var u,p=o()(this.cascaderTree);!(m=(u=p.next()).done);m=!0){var v=u.value,h=!0,b=!1,g=void 0;try{for(var y,_=o()(v.children);!(h=(y=_.next()).done);h=!0){var x=y.value;if(x.id==e.parentid){t.push(v.id),t.push(x.id),r=!0;break}}}catch(e){b=!0,g=e}finally{try{!h&&_.return&&_.return()}finally{if(b)throw g}}if(r)break}}catch(e){d=!0,f=e}finally{try{!m&&p.return&&p.return()}finally{if(d)throw f}}}this.cascaderValue=t},createData:function(){var e=this,t=this;t.$refs.form.validate(function(r){if(r){if(1==e.form.type)e.form.parentid?t.form.level=2:t.form.level=1;else{if(!e.form.parentid)return void Object(c.a)({error:"数据访问权限必须选择父级菜单",vm:t});if(e.form.parentid&&2!=e.cascaderValue.length)return void Object(c.a)({error:"数据访问权限只能挂载在二级菜单下面",vm:t});t.form.level=3}Object(l.a)(t.form).then(function(e){var r=e.data;200==r.code?(t.$message({message:"添加成功",type:"success"}),Object(s.a)(t),t.init(),t.initData()):Object(c.a)({error:r.message,vm:t}),t.saveDisabled=!1})}})},updateData:function(){var e=this;this.$refs.form.validate(function(t){var r=e;if(t){if(!e.form.id)return void Object(c.a)({error:"请先点击选择要修改的菜单节点",vm:r});if(4==e.form.type){if(!e.form.parentid)return void Object(c.a)({error:"数据访问权限必须选择父级菜单",vm:r});if(2!=e.cascaderValue.length)return void Object(c.a)({error:"数据访问权限只能挂载在二级菜单下面",vm:r})}r.saveDisabled=!0,Object(l.d)(r.form).then(function(e){var t=e.data;200==t.code?(r.$message({message:"编辑成功",type:"success"}),Object(s.a)(r),r.init(),r.initData()):Object(c.a)({error:t.message,vm:r}),r.saveDisabled=!1})}})},cascaderChangeEvent:function(e){e&&e.length>0&&(this.form.parentid=e[e.length-1])}}},u=(r("RUhY"),r("ZrdR")),p=Object(u.a)(f,function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"app-container"},[r("div",{staticClass:"filter-container"},[r("el-button",{staticClass:"filter-item",staticStyle:{"margin-left":"10px"},attrs:{type:"primary"},on:{click:e.newAdd}},[e._v("新增")])],1),e._v(" "),r("el-row",{staticStyle:{"margin-bottom":"20px"},attrs:{gutter:24}},[r("el-col",{staticStyle:{"margin-bottom":"20px"},attrs:{span:6}},[r("div",[e.menuTree?r("el-tree",{ref:"menuTree",staticStyle:{height:"560px","overflow-y":"auto"},attrs:{data:e.menuTree,"render-content":e.renderContent,props:e.defaultProps,"show-checkbox":"","highlight-current":"",clearable:"","node-key":"id"},on:{"node-click":e.handleNodeClick}}):e._e()],1)]),e._v(" "),r("el-col",{attrs:{span:18}},[r("el-card",{staticClass:"box-card"},[r("div",{staticClass:"text item"},[r("el-form",{ref:"form",attrs:{model:e.form,"label-width":e.formLabelWidth,rules:e.formRules}},[r("el-form-item",{attrs:{label:"父级"}},[r("el-cascader",{attrs:{options:e.cascaderTree,props:e.cascaderProps,clearable:"","show-all-levels":"","change-on-select":""},on:{change:e.cascaderChangeEvent},model:{value:e.cascaderValue,callback:function(t){e.cascaderValue=t},expression:"cascaderValue"}})],1),e._v(" "),r("el-form-item",{attrs:{label:"类别",prop:"type"}},[r("el-radio",{attrs:{label:1,border:""},model:{value:e.form.type,callback:function(t){e.$set(e.form,"type",t)},expression:"form.type"}},[e._v("菜单")]),e._v(" "),r("el-radio",{attrs:{label:4,border:""},model:{value:e.form.type,callback:function(t){e.$set(e.form,"type",t)},expression:"form.type"}},[e._v("数据查看权限")])],1),e._v(" "),r("el-form-item",{attrs:{label:"名称",prop:"title"}},[r("el-input",{attrs:{"auto-complete":"off"},model:{value:e.form.title,callback:function(t){e.$set(e.form,"title",t)},expression:"form.title"}})],1),e._v(" "),4===e.form.type?r("div",[r("el-form-item",{attrs:{label:"英文名",prop:"name"}},[r("el-tooltip",{attrs:{content:"需唯一",placement:"right"}},[r("el-input",{model:{value:e.form.name,callback:function(t){e.$set(e.form,"name",t)},expression:"form.name"}})],1)],1)],1):e._e(),e._v(" "),1===e.form.type?r("div",[r("el-form-item",{attrs:{label:"路径",prop:"path"}},[r("el-input",{attrs:{"auto-complete":"off"},model:{value:e.form.path,callback:function(t){e.$set(e.form,"path",t)},expression:"form.path"}})],1),e._v(" "),r("el-form-item",{attrs:{label:"路由英文名",prop:"name"}},[r("el-tooltip",{attrs:{content:"需唯一",placement:"right"}},[r("el-input",{model:{value:e.form.name,callback:function(t){e.$set(e.form,"name",t)},expression:"form.name"}})],1)],1),e._v(" "),r("el-form-item",{attrs:{label:"图标",prop:"icon"}},[r("el-input",{model:{value:e.form.icon,callback:function(t){e.$set(e.form,"icon",t)},expression:"form.icon"}})],1),e._v(" "),r("el-form-item",{attrs:{label:"前端组件",prop:"component"}},[r("el-input",{model:{value:e.form.component,callback:function(t){e.$set(e.form,"component",t)},expression:"form.component"}})],1)],1):e._e(),e._v(" "),r("el-form-item",{attrs:{label:"排序值",prop:"sortorder"}},[r("el-input-number",{attrs:{min:0,max:100},model:{value:e.form.sortorder,callback:function(t){e.$set(e.form,"sortorder",t)},expression:"form.sortorder"}}),e._v(" "),r("span",{staticStyle:{"margin-left":"5px"}},[e._v("值越小越靠前,支持小数")])],1),e._v(" "),r("el-form-item",{attrs:{label:"是否启用"}},[r("el-switch",{attrs:{"active-value":1,"inactive-value":-1,"active-text":"启用","inactive-text":"禁用"},model:{value:e.form.status,callback:function(t){e.$set(e.form,"status",t)},expression:"form.status"}})],1),e._v(" "),r("el-form-item",[r("el-button",{attrs:{disabled:e.saveDisabled,type:"primary"},domProps:{textContent:e._s(e.form.id?"修改":"新增")},on:{click:function(t){e.form.id?e.updateData():e.createData()}}}),e._v(" "),r("el-button",{directives:[{name:"show",rawName:"v-show",value:e.form.id&&null!=e.form.id,expression:"form.id && form.id!=null"}],attrs:{type:"danger",icon:"delete"},on:{click:e.deleteSelected}},[e._v("删除\n                            ")])],1)],1)],1),e._v(" "),r("el-dialog",{attrs:{visible:e.selectIconDialog,"modal-append-to-body":!1,"close-on-click-modal":!1,title:"选择图标"},on:{"update:visible":function(t){e.selectIconDialog=t}}},[r("div",{staticClass:"select-tree"},[r("el-scrollbar",{staticClass:"is-empty",attrs:{tag:"div","wrap-class":"el-select-dropdown__wrap","view-class":"el-select-dropdown__list"}},[r("div",{staticStyle:{"text-align":"center"}},[r("i",{staticClass:"el-icon-home",on:{click:function(t){e.selectIcon(t)}}}),e._v("  \n                                "),r("i",{staticClass:"el-icon-storage",on:{click:function(t){e.selectIcon(t)}}}),e._v("  \n                                "),r("i",{staticClass:"el-icon-system",on:{click:function(t){e.selectIcon(t)}}}),e._v("  \n                                "),r("i",{staticClass:"el-icon-ownspace",on:{click:function(t){e.selectIcon(t)}}}),e._v("  \n                            ")])])],1),e._v(" "),r("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[r("el-button",{on:{click:function(t){e.selectIconDialog=!1}}},[e._v("取 消")]),e._v(" "),r("el-button",{attrs:{type:"primary"},on:{click:function(t){e.selectIconDialog=!1}}},[e._v("确 定")])],1)])],1)],1)],1)],1)},[],!1,null,null,null);p.options.__file="index.vue";t.default=p.exports}}]);