5 lines
5.5 KiB
JavaScript
5 lines
5.5 KiB
JavaScript
/*!
|
|
Build based on gin-vue-admin
|
|
Time : 1776662816000 */
|
|
import{ak as e,u as a,a as t,l as s,G as l,a1 as n,ax as u,D as r,g as o,c as i,o as v,f as m,a2 as c,w as p,F as d,J as y,i as g,b as f,n as h,h as b,t as S,x,am as I,ay as q,a3 as w,K as k,H as O}from"./087AC4D233B64EB0index.D-00lXMX.js";import{_ as N}from"./087AC4D233B64EB0_plugin-vue_export-helper.BCo6x5W8.js";const C={class:"gva-tabs"},E=["tab"],J=N(Object.assign({name:"HistoryComponent"},{__name:"index",setup(N){const J=e(),_=a(),A=e=>e.name+JSON.stringify(e.query)+JSON.stringify(e.params),j=t([]),P=t(""),V=t(!1),T=s(),B=t(0),L=t(0),R=t(!1),D=t(!1),H=t(""),K=l(()=>T.userInfo.authority.defaultRouter),U=()=>{j.value=[{name:K.value,meta:{title:"首页"},query:{},params:{}}],_.push({name:K.value}),V.value=!1,sessionStorage.setItem("historys",JSON.stringify(j.value))},F=()=>{let e;const a=j.value.findIndex(a=>(A(a)===H.value&&(e=a),A(a)===H.value)),t=j.value.findIndex(e=>A(e)===P.value);j.value.splice(0,a),a>t&&_.push(e),sessionStorage.setItem("historys",JSON.stringify(j.value))},G=()=>{let e;const a=j.value.findIndex(a=>(A(a)===H.value&&(e=a),A(a)===H.value)),t=j.value.findIndex(e=>A(e)===P.value);j.value.splice(a+1,j.value.length),a<t&&_.push(e),sessionStorage.setItem("historys",JSON.stringify(j.value))},M=()=>{let e;j.value=j.value.filter(a=>(A(a)===H.value&&(e=a),A(a)===H.value)),_.push(e),sessionStorage.setItem("historys",JSON.stringify(j.value))},Q=e=>{if(!j.value.some(a=>((e,a)=>{if(e.name!==a.name)return!1;if(Object.keys(e.query).length!==Object.keys(a.query).length||Object.keys(e.params).length!==Object.keys(a.params).length)return!1;for(const t in e.query)if(e.query[t]!==a.query[t])return!1;for(const t in e.params)if(e.params[t]!==a.params[t])return!1;return!0})(a,e))){const a={};a.name=e.name,a.meta={...e.meta},delete a.meta.matched,a.query=e.query,a.params=e.params,j.value.push(a)}window.sessionStorage.setItem("activeValue",A(e))},X=t({}),Y=e=>{var a;const t=null==(a=null==e?void 0:e.props)?void 0:a.name;if(!t)return;const s=X.value[t];_.push({name:s.name,query:s.query,params:s.params})},$=e=>{const a=j.value.findIndex(a=>A(a)===e);A(J)===e&&(1===j.value.length?_.push({name:K.value}):a<j.value.length-1?_.push({name:j.value[a+1].name,query:j.value[a+1].query,params:j.value[a+1].params}):_.push({name:j.value[a-1].name,query:j.value[a-1].query,params:j.value[a-1].params})),j.value.splice(a,1)};n(()=>V.value,()=>{V.value?document.body.addEventListener("click",()=>{V.value=!1}):document.body.removeEventListener("click",()=>{V.value=!1})}),n(()=>J,e=>{"Login"!==e.name&&"Reload"!==e.name&&(j.value=j.value.filter(e=>!e.meta.closeTab),Q(e),sessionStorage.setItem("historys",JSON.stringify(j.value)),P.value=window.sessionStorage.getItem("activeValue"))},{deep:!0}),n(()=>j.value,()=>{sessionStorage.setItem("historys",JSON.stringify(j.value)),X.value={},j.value.forEach(e=>{X.value[A(e)]=e}),r.emit("setKeepAlive",j.value)},{deep:!0});(()=>{r.on("closeThisPage",()=>{$(A(J))}),r.on("closeAllPage",()=>{U()}),r.on("mobile",e=>{D.value=e}),r.on("collapse",e=>{R.value=e}),r.on("setQuery",e=>{const a=j.value.findIndex(e=>A(e)===P.value);j.value[a].query=e,P.value=A(j.value[a]);const t=window.location.href.split("?")[0],s=new URLSearchParams(e).toString();window.history.replaceState({},"","".concat(t,"?").concat(s)),sessionStorage.setItem("historys",JSON.stringify(j.value))}),r.on("switchTab",async e=>{const a=j.value.findIndex(a=>a.name===e.name);if(!(a<0)){for(const a in e.query)e.query[a]=String(e.query[a]);for(const a in e.params)e.params[a]=String(e.params[a]);j.value[a].query=e.query||{},j.value[a].params=e.params||{},await O(),_.push(j.value[a])}});const e=[{name:K.value,meta:{title:"首页"},query:{},params:{}}];Q(J),j.value=JSON.parse(sessionStorage.getItem("historys"))||e,window.sessionStorage.getItem("activeValue")?P.value=window.sessionStorage.getItem("activeValue"):P.value=A(J),"true"===window.sessionStorage.getItem("needCloseAll")&&(U(),window.sessionStorage.removeItem("needCloseAll"))})(),u(()=>{r.off("collapse"),r.off("mobile")});return(e,a)=>{const t=o("el-tab-pane"),s=o("el-tabs");return v(),i("div",C,[m(s,{modelValue:P.value,"onUpdate:modelValue":a[0]||(a[0]=e=>P.value=e),closable:!(1===j.value.length&&e.$route.name===K.value),type:"card",class:"bg-white text-slate-700 dark:text-slate-500 dark:bg-slate-900 pt-1",onContextmenu:a[1]||(a[1]=q(e=>(e=>{if(1===j.value.length&&J.name===K.value)return!1;let a="";a="SPAN"===e.srcElement.nodeName?e.srcElement.offsetParent.id:e.srcElement.id,a&&(V.value=!0,B.value=e.clientX,L.value=e.clientY+10,H.value=a.substring(4))})(e),["prevent"])),onTabClick:Y,onTabRemove:$,onMouseup:a[2]||(a[2]=q(e=>(e=>{if(1===j.value.length&&J.name===K.value)return!1;let a="";a="SPAN"===e.srcElement.nodeName?e.srcElement.offsetParent.id:e.srcElement.id,a&&$(a.substring(4))})(e),["middle","prevent"]))},{default:p(()=>[(v(!0),i(d,null,y(j.value,e=>(v(),g(t,{key:A(e),label:e.meta.title,name:A(e),tab:e,class:"border-none"},{label:p(()=>[f("span",{tab:e,class:h(P.value===A(e)?"text-active":"text-gray-600 dark:text-slate-400 ")},[f("i",{class:h(P.value===A(e)?"text-active":"text-gray-600 dark:text-slate-400")},null,2),b(" "+S(x(I)(e.meta.title,e)),1)],10,E)]),_:2},1032,["label","name","tab"]))),128))]),_:1},8,["modelValue","closable"]),c(f("ul",{style:k({left:B.value+"px",top:L.value+"px"}),class:"contextmenu"},[f("li",{onClick:U},"关闭所有"),f("li",{onClick:F},"关闭左侧"),f("li",{onClick:G},"关闭右侧"),f("li",{onClick:M},"关闭其他")],4),[[w,V.value]])])}}}),[["__scopeId","data-v-798f505a"]]);export{J as default};
|