1 |
- (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-bb9fba9e"],{"44d2":function(t,e,i){var s=i("b622"),r=i("7c73"),n=i("9bf2"),a=s("unscopables"),o=Array.prototype;void 0==o[a]&&n.f(o,a,{configurable:!0,value:r(null)}),t.exports=function(t){o[a][t]=!0}},"4bde":function(t,e,i){"use strict";var s=i("88f2"),r=i.n(s);r.a},"586c":function(t,e,i){"use strict";i.r(e);var s=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"router-history"},[i("el-tabs",{attrs:{closable:!(1==t.historys.length&&this.$route.name==t.defaultRouter),type:"card"},on:{"tab-click":t.changeTab,"tab-remove":t.removeTab},nativeOn:{contextmenu:function(e){return e.preventDefault(),t.openContextMenu(e)}},model:{value:t.activeValue,callback:function(e){t.activeValue=e},expression:"activeValue"}},t._l(t.historys,(function(t){return i("el-tab-pane",{key:t.name+JSON.stringify(t.query)+JSON.stringify(t.params),attrs:{label:t.meta.title,name:t.name+JSON.stringify(t.query)+JSON.stringify(t.params),tab:t}})})),1),i("ul",{directives:[{name:"show",rawName:"v-show",value:t.contextMenuVisible,expression:"contextMenuVisible"}],staticClass:"contextmenu",style:{left:t.left+"px",top:t.top+"px"}},[i("li",{on:{click:t.closeAll}},[t._v("关闭所有")]),i("li",{on:{click:t.closeLeft}},[t._v("关闭左侧")]),i("li",{on:{click:t.closeRight}},[t._v("关闭右侧")]),i("li",{on:{click:t.closeOther}},[t._v("关闭其他")])])],1)},r=[],n=(i("4de4"),i("c740"),i("45fc"),i("a434"),i("b0c0"),i("ac1f"),i("1276"),i("5530")),a=i("5880"),o={name:"HistoryComponent",data:function(){return{historys:[],activeValue:"",contextMenuVisible:!1,left:0,top:0,isCollapse:!1,isMobile:!1,rightActive:""}},computed:Object(n["a"])(Object(n["a"])({},Object(a["mapGetters"])("user",["userInfo"])),{},{defaultRouter:function(){return this.userInfo.authority.defaultRouter}}),created:function(){var t=this;this.$bus.on("mobile",(function(e){t.isMobile=e})),this.$bus.on("collapse",(function(e){t.isCollapse=e}));var e=[{name:this.defaultRouter,meta:{title:"首页"},query:{},params:{}}];this.historys=JSON.parse(sessionStorage.getItem("historys"))||e,window.sessionStorage.getItem("activeValue")?this.activeValue=window.sessionStorage.getItem("activeValue"):this.activeValue=this.$route.name+JSON.stringify(this.$route.query)+JSON.stringify(this.$route.params),this.setTab(this.$route)},beforeDestroy:function(){this.$bus.off("collapse"),this.$bus.off("mobile")},methods:{openContextMenu:function(t){if(1==this.historys.length&&this.$route.name==this.defaultRouter)return!1;var e;t.srcElement.id&&(this.contextMenuVisible=!0,e=this.isCollapse?54:220,this.isMobile&&(e=0),this.left=t.clientX-e,this.top=t.clientY+10,this.rightActive=t.srcElement.id.split("-")[1])},closeAll:function(){this.historys=[{name:this.defaultRouter,meta:{title:"首页"},query:{},params:{}}],this.$router.push({name:this.defaultRouter}),this.contextMenuVisible=!1,sessionStorage.setItem("historys",JSON.stringify(this.historys))},closeLeft:function(){var t,e=this,i=this.historys.findIndex((function(i){return i.name+JSON.stringify(i.query)+JSON.stringify(i.params)==e.rightActive&&(t=i),i.name+JSON.stringify(i.query)+JSON.stringify(i.params)==e.rightActive})),s=this.historys.findIndex((function(t){return t.name+JSON.stringify(t.query)+JSON.stringify(t.params)==e.activeValue}));this.historys.splice(0,i),i>s&&this.$router.push(t),sessionStorage.setItem("historys",JSON.stringify(this.historys))},closeRight:function(){var t,e=this,i=this.historys.findIndex((function(i){return i.name+JSON.stringify(i.query)+JSON.stringify(i.params)==e.rightActive&&(t=i),i.name+JSON.stringify(i.query)+JSON.stringify(i.params)==e.rightActive})),s=this.historys.findIndex((function(t){return t.name+JSON.stringify(t.query)+JSON.stringify(t.params)==e.activeValue}));this.historys.splice(i+1,this.historys.length),i<s&&this.$router.push(t),sessionStorage.setItem("historys",JSON.stringify(this.historys))},closeOther:function(){var t,e=this;this.historys=this.historys.filter((function(i){return i.name+JSON.stringify(i.query)+JSON.stringify(i.params)==e.rightActive&&(t=i),i.name+JSON.stringify(i.query)+JSON.stringify(i.params)==e.rightActive})),this.$router.push(t),sessionStorage.setItem("historys",JSON.stringify(this.historys))},isSame:function(t,e){if(t.name!=e.name)return!1;for(var i in t.query)if(t.query[i]!=e.query[i])return!1;for(var s in t.params)if(t.params[s]!=e.params[s])return!1;return!0},setTab:function(t){var e=this;if(!this.historys.some((function(i){return e.isSame(i,t)}))){var i={};i.name=t.name,i.meta=t.meta,i.query=t.query,i.params=t.params,this.historys.push(i)}window.sessionStorage.setItem("activeValue",this.$route.name+JSON.stringify(this.$route.query)+JSON.stringify(this.$route.params))},changeTab:function(t){var e=t.$attrs.tab;this.$router.push({name:e.name,query:e.query,params:e.params})},removeTab:function(t){var e=this.historys.findIndex((function(e){return e.name+JSON.stringify(e.query)+JSON.stringify(e.params)==t}));this.$route.name+JSON.stringify(this.$route.query)+JSON.stringify(this.$route.params)==t&&(1==this.historys.length?this.$router.push({name:this.defaultRouter}):e<this.historys.length-1?this.$router.push({name:this.historys[e+1].name,query:this.historys[e+1].query,params:this.historys[e+1].params}):this.$router.push({name:this.historys[e-1].name,query:this.historys[e-1].query,params:this.historys[e-1].params})),this.historys.splice(e,1)}},watch:{contextMenuVisible:function(){var t=this;this.contextMenuVisible?document.body.addEventListener("click",(function(){t.contextMenuVisible=!1})):document.body.removeEventListener("click",(function(){t.contextMenuVisible=!1}))},$route:function(t,e){this.historys=this.historys.filter((function(t){return!t.meta.closeTab})),this.setTab(t),sessionStorage.setItem("historys",JSON.stringify(this.historys)),this.activeValue=window.sessionStorage.getItem("activeValue"),e&&t&&e.name==t.name&&this.$bus.$emit("reload")}}},u=o,h=(i("4bde"),i("2877")),c=Object(h["a"])(u,s,r,!1,null,null,null);e["default"]=c.exports},"88f2":function(t,e,i){},a434:function(t,e,i){"use strict";var s=i("23e7"),r=i("23cb"),n=i("a691"),a=i("50c4"),o=i("7b0b"),u=i("65f0"),h=i("8418"),c=i("1dde"),l=i("ae40"),f=c("splice"),y=l("splice",{ACCESSORS:!0,0:0,1:2}),m=Math.max,p=Math.min,g=9007199254740991,d="Maximum allowed length exceeded";s({target:"Array",proto:!0,forced:!f||!y},{splice:function(t,e){var i,s,c,l,f,y,v=o(this),b=a(v.length),S=r(t,b),O=arguments.length;if(0===O?i=s=0:1===O?(i=0,s=b-S):(i=O-2,s=p(m(n(e),0),b-S)),b+i-s>g)throw TypeError(d);for(c=u(v,s),l=0;l<s;l++)f=S+l,f in v&&h(c,l,v[f]);if(c.length=s,i<s){for(l=S;l<b-s;l++)f=l+s,y=l+i,f in v?v[y]=v[f]:delete v[y];for(l=b;l>b-s+i;l--)delete v[l-1]}else if(i>s)for(l=b-s;l>S;l--)f=l+s-1,y=l+i-1,f in v?v[y]=v[f]:delete v[y];for(l=0;l<i;l++)v[l+S]=arguments[l+2];return v.length=b-s+i,c}})},c740:function(t,e,i){"use strict";var s=i("23e7"),r=i("b727").findIndex,n=i("44d2"),a=i("ae40"),o="findIndex",u=!0,h=a(o);o in[]&&Array(1)[o]((function(){u=!1})),s({target:"Array",proto:!0,forced:u||!h},{findIndex:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}}),n(o)}}]);
|