cwg-system.CTBZ5tnL.js 4.4 KB

1
  1. import{r as e,u as t,_ as s,w as a,f as n,g as l,i as o,j as c,k as i,m as u,n as r,t as v,s as m,l as d,x as f,z as p,d as y,c as C,o as g,$ as w,b as _,e as h,E as b,J as S,a as x,A as k,v as T,a2 as N,ak as A,ap as L}from"./index-cgJbsk9Q.js";import{_ as j}from"./liveChat.BUvaIfgQ.js";import{a as O,_ as $,c as E}from"./user.BtyQGfSG.js";const J=e({visible:!1,title:"",content:"",cancelText:"",confirmText:"",showCancel:!0,resolve:null});function U(){const{t:e}=t();return{popupState:J,confirm:(t={})=>new Promise(s=>{console.log(t,"dia"),J.value={visible:!0,title:t.title||e("Msg.SystemPrompt"),content:t.content||"",showCancel:null==t.showCancel||t.showCancel,cancelText:t.cancelText||e("Btn.Cancel"),confirmText:t.confirmText||e("Btn.Confirm"),resolve:s}}),close:()=>{J.value.resolve&&(J.value.resolve(!1),J.value.resolve=null),J.value.visible=!1},handleConfirm:()=>{J.value.resolve&&(J.value.resolve(!0),J.value.resolve=null),J.value.visible=!1}}}const z=s({__name:"cwg-global-popup",setup(t){const{popupState:s,close:y,handleConfirm:C}=U(),g=e(null);return a(()=>s.value.visible,e=>{var t,s;e?null==(t=g.value)||t.open():null==(s=g.value)||s.close()},{immediate:!0}),(e,t)=>{const a=f,g=p,w=n(l("cwg-popup"),O);return o(),c(w,{visible:u(s).visible,"onUpdate:visible":t[0]||(t[0]=e=>u(s).visible=e),type:"center","mask-click":!1,"show-footers":!0,width:"400px"},{footer:i(()=>[u(s).showCancel?(o(),c(g,{key:0,onClick:u(y)},{default:i(()=>[r(v(u(s).cancelText),1)]),_:1},8,["onClick"])):m("",!0),d(g,{class:"btn btn-secondary btn-shadow waves-effect",onClick:u(C)},{default:i(()=>[r(v(u(s).confirmText),1)]),_:1},8,["onClick"])]),default:i(()=>[d(a,{class:"popup-content"},{default:i(()=>[d(a,{class:"confirm-title"},{default:i(()=>[r(v(u(s).title),1)]),_:1}),d(a,{class:"confirm-content"},{default:i(()=>[r(v(u(s).content),1)]),_:1})]),_:1})]),_:1},8,["visible"])}}},[["__scopeId","data-v-fae8da17"]]),B="systemListCache",D=s(y({__name:"cwg-system",props:{iconColor:{type:String,default:"#97A1C0"},textColor:{type:String,default:"#97A1C0"},eventSource:{type:String,default:""}},setup(s){const{confirm:a}=U(),u=s,{Code:p}=N,{locale:y}=t(),O=e([]),J=e(null),D=C(()=>O.value.map(e=>({...e,label:P(e)}))),I=C(()=>{if(!J.value||0===O.value.length)return"系统切换";const e=O.value.find(e=>e.sysCode===J.value);return e?P(e):"系统切换"}),K=e=>{if(O.value=Array.isArray(e)?e:[],O.value.length>0){const e=O.value.find(e=>e&&1===e.localSystem);J.value=e?e.sysCode:null}else J.value=null};async function M(e=!1){const t=(()=>{const e=A(B);if(!e)return null;try{return"string"==typeof e?JSON.parse(e):e}catch(t){return null}})();if("top"!==u.eventSource||x.value)if(t&&t.timestamp&&Date.now()-t.timestamp<144e5)K(t.data||[]);else try{const e=await E.getSystemList({});if(e&&e.code===p.StatusOK){const t=e.data||[];K(t),(e=>{L(B,JSON.stringify({data:e,timestamp:Date.now()}))})(t)}else k({title:e&&(e.msg||e.message)||"获取系统列表失败",icon:"none"})}catch(s){k({title:"获取系统列表失败",icon:"none"})}}function P(e){return e?"en"===y.value?e.sysNameEn||e.sysName||e.sysCode:e.sysName||e.sysNameEn||e.sysCode:""}async function q(e){if(!e||!e.sysCode)return;if(e.sysCode===J.value)return;await a({title:"系统提示",content:"是否切换系统?",confirmText:"确认",cancelText:"取消"})&&await async function(e){try{if("login"===u.eventSource){const t=`${e.sysUrl}/#/signin`;window.location.replace(t)}else{const t=await E.switchSystem({sysCode:e.sysCode});if(t&&t.code===p.StatusOK){const s=t.data,a="string"==typeof s?s:String(s||""),n=`${e.sysUrl}/#/signin?sysLoginToken=${btoa(a)}`;window.location.replace(n)}else k({title:t&&(t.msg||t.message)||"切换系统失败",icon:"none"})}}catch(t){k({title:"切换系统失败",icon:"none"})}}(e)}function F({value:e}){q(e)}const G=e(!1);return g(()=>{G.value||(G.value=!0,M(),w("updateSystemList",e=>{M(!0)}))}),_(()=>{h("updateSystemList")}),(e,t)=>{const a=T,u=n(l("cwg-icon"),j),p=f,y=n(l("cwg-dropdown"),$),C=n(l("cwg-global-popup"),z);return o(),b(S,null,[D.value.length?(o(),c(p,{key:0,class:"cwg-system"},{default:i(()=>[d(y,{"menu-list":D.value,onMenuClick:F},{default:i(()=>[d(p,{class:"pc-header-btn"},{default:i(()=>[d(a,{class:"current-system-name"},{default:i(()=>[r(v(I.value),1)]),_:1}),d(u,{name:"crm-chevron-down",color:s.iconColor,darkColor:"#000",size:14},null,8,["color"])]),_:1})]),_:1},8,["menu-list"])]),_:1})):m("",!0),d(C)],64)}}}),[["__scopeId","data-v-c0a2d7ac"]]);export{D as C,z as _,U as u};