cwg-system.BJsBrr89.js 2.8 KB

1
  1. import{d as e,u as s,r as t,c as a,o as n,$ as o,b as l,e as c,f as i,g as r,i as u,j as m,k as y,l as d,n as f,t as p,s as v,a as g,A as C,v as w,x as S,ai as h,ao as _,a8 as x,_ as N}from"./index-BOgQtMw7.js";import{_ as b}from"./liveChat.DQgcdWzR.js";import{_ as j,c as k}from"./user.Bi76YI_Q.js";import{c as A}from"./index.BeoSXJcF.js";const L="systemListCache",O=N(e({__name:"cwg-system",props:{iconColor:{type:String,default:"#97A1C0"},textColor:{type:String,default:"#97A1C0"},eventSource:{type:String,default:""}},setup(e){const N=e,{Code:O}=A,{locale:$}=s(),T=t([]),D=t(null),E=a(()=>T.value.map(e=>({...e,label:z(e)}))),J=a(()=>{if(!D.value||0===T.value.length)return"系统切换";const e=T.value.find(e=>e.sysCode===D.value);return e?z(e):"系统切换"}),K=e=>{if(T.value=Array.isArray(e)?e:[],T.value.length>0){const e=T.value.find(e=>e&&1===e.localSystem);D.value=e?e.sysCode:null}else D.value=null};async function U(e=!1){const s=(()=>{const e=h(L);if(!e)return null;try{return"string"==typeof e?JSON.parse(e):e}catch(s){return null}})();if("top"!==N.eventSource||g.value)if(s&&s.timestamp&&Date.now()-s.timestamp<144e5)K(s.data||[]);else try{const e=await k.getSystemList({});if(e&&e.code===O.StatusOK){const s=e.data||[];K(s),(e=>{_(L,JSON.stringify({data:e,timestamp:Date.now()}))})(s)}else C({title:e&&(e.msg||e.message)||"获取系统列表失败",icon:"none"})}catch(t){C({title:"获取系统列表失败",icon:"none"})}}function z(e){return e?"en"===$.value?e.sysNameEn||e.sysName||e.sysCode:e.sysName||e.sysNameEn||e.sysCode:""}function I(e){e&&e.sysCode&&e.sysCode!==D.value&&x({title:"系统提示",content:"是否切换系统?",confirmText:"确认",cancelText:"取消",success:async s=>{s.confirm&&await async function(e){try{if("login"===N.eventSource){const s=`${e.sysUrl}/#/signin`;window.location.replace(s)}else{const s=await k.switchSystem({sysCode:e.sysCode});if(s&&s.code===O.StatusOK){const t=s.data,a="string"==typeof t?t:String(t||""),n=`${e.sysUrl}/#/signin?sysLoginToken=${btoa(a)}`;window.location.replace(n)}else C({title:s&&(s.msg||s.message)||"切换系统失败",icon:"none"})}}catch(s){C({title:"切换系统失败",icon:"none"})}}(e)}})}function M({value:e}){I(e)}const q=t(!1);return n(()=>{q.value||(q.value=!0,U(),o("updateSystemList",e=>{U(!0)}))}),l(()=>{c("updateSystemList")}),(s,t)=>{const a=w,n=i(r("cwg-icon"),b),o=S,l=i(r("cwg-dropdown"),j);return E.value.length?(u(),m(o,{key:0,class:"cwg-system"},{default:y(()=>[d(l,{"menu-list":E.value,onMenuClick:M},{default:y(()=>[d(o,{class:"pc-header-btn"},{default:y(()=>[d(a,{class:"current-system-name"},{default:y(()=>[f(p(J.value),1)]),_:1}),d(n,{name:"crm-chevron-down",color:e.iconColor,darkColor:"#000",size:14},null,8,["color"])]),_:1})]),_:1},8,["menu-list"])]),_:1})):v("",!0)}}}),[["__scopeId","data-v-82398eb0"]]);export{O as C};