index.RYf6jd3U.js 5.4 KB

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