q`gF-g{;#ja zppW3)wZPfd@^`9wZyxcYoG?vES+5h6gX;U$KKI}UR4JjLX}%X3(1Ypj`S)pOhp`Hc zTg&T|kVdWHh+!OuM^%JQoJ4cbS$*RXzF+WoTdZ-X@9g;3!>pT%R%EKXM%rPyVr5}y za9dVE@yJKKnz-w6<4ve{&MVN%5{~rfvh=xZ_k_v?=6>*+(*DMu(?3;eXKrpYvL3-h zxBgHrWI?i;povkv9|qCd<=mM5O9gL@+(kEQh>A&lBQ{rNk}D_Q{PgP5s4uYd7YoFL zhu3f=UUDy{SL-}ItJ5|%6|< z3u8g*+flqKd_}Or=|ktKJk`HNj{AZhai&wGVgI7$wzFVg<%d2_FC6s*ugJf7lthr! zX^?vMIv1MBVAH~`=4ow4w)i9*`+Q>3?pf#syGY460nliugQhGlE-Aw+dv_N&&n%{k zX3`N{#i42Aik#E5Fb*$P%(2O_%DR;K)~NUqhU#nN#(hm~0EM*;D$YTQkod|B@x`XZ zn-K);uR-X?jIJFnq=p$IeEOyPqwU#Yep};{)4ZwD#A{STqDL5_Ku&!Z1|f6V@Rg<} z3j&KKSfiddKdV*dV7^Dv8bLu1yxICO8k-Lc$Y3-46hF?8>(U zm8`Z(9LdUTT!AG-bMz}b%GAleC^j@F3$fzB@C-YNSle^B7HI@{5H+c&tSa~R8%3gg z#e^dn6H055+nGb?${HqkvIq0b7zl1zR7Cu#b^PUt$i?Zs#fSJ@=3`24S &G^jdwK za~N=^>PJnnv|JAqOvV1xZ`Kf-hTM~DN1_ZtdX5$rs9bVpI8w^mq)Pea<89TE0_At0 zie|GJ!L6)?OCi^dyE7vOeihJGu~5GfWFx>kRD(;(-EtA^M_5>%jByZ%4L69n-D)`P z@~P=BcN$l-F%cxvx5S#vXEE0{8gm)V{|!E|vrZQI7P9FrWlHOv?r@{*!;x6RonUwG z+qtrsUF?^7)2Z6p+TA&O &ZcAv{W_y%z$kJ8{DHbK*>u&KS4;UzcY|me-tTSX#mJRk@n#gc zh!N3ET~g?137n#$$o|-jR1S!R61g#@F{AjBWzChu3!qRcm1XOt vC^|&3V5!kfB&i?aDaFu5b+Ua+l_$@7ceO@=*gfSjxpBSdPIwdtwxZHKi_ZH zcul_hq{TY)h6>_@`R<66l3+iabcB%t_9h!#POZ|EK+%s`^U-@P7D(87yziJTxbX*Q zp|V(icyHO7N29H0sX;LT QaRk%jj$T$heaB{8B2?bwC22oL3g@#oRr?)|C;OwpBb?4=-M<_5a!K=9 zy570NLVsoKc(1~Yru;CimzXIxW4o1qF7@#)2CVbx6{kj3FLfJt!c?N1hJ #BYaJRO3y4J<4}v$Sv^u9vv2Sx8$Giw?~eTPisK$dy0{+R?pW~)bP2X zCcN7&+<}E(J^zO7__TVK97cq{ouC;-3|B4$a3(wV@f{Z;%C+eY-j`J__zQhMHm`Ub zs<5wgkm9?!{PNDer=VuOjJ@m}FO*M3$}}(sib@!4We<32T|BB~S><7hUr!%O2zaoq z{x&2Tm3ckd2O)78GQ$3lCx|Mi;7;0mUUUkoZ#O=EcHoM0gm{9&nI_F_lr9I+Q4+$O z (RUC&L! zq|G!Z%WyO}sE{VX4TQKWXF`*(VKJ1u_q5bar?&Y6vchXmZb_h%`=JKoA3lQp!QEeZ zvO=z3{H)nmpqX!que@&nFn=MdV+S*j>JJcnVrasXD%8(0qiV#9#j|x6+yCFjMe)B) ziJW_a6Cgd()d=!HgbfJ3ea%rSU=qqP?zBZk-0{{c)PQkN-D}%!z{}F~-J+OuI^6AG zO_Akhje|rGj5Lc%)&?R3L2%T1XMjIAV~GOAOqe+RQ~hqm^=R97*v*fb9XEC9L{4FA zPM*r_dcYg6 jJ1M^P;+GsA?zTUYnK)6l0nWXbv z-6-dId-9*Ix#AxJQ%`%`y)!2+>y`7l*&tB4A|bEU&pv;76rM^cl^7MB#`~G_*aS=z zv-Q20pMg1+y8V}-!I80g`_stpnK%2fPm2isp4$TBQEUZ&EF=;(9pZ_}`id$5F&7Yt z0VxA#OT!}$Ixg6-wtxVdu;0!Fka*yp3HU$bbAVR!M|rKKW^Dy9z$0c=7?a+eokR2V z X}(QqKLs@ErqQA*7g%@q`DDmbqVtdi+J)iv|*vK 9TX&&r#UiAFWao~tS? z^%rvryFxh!!ABS`G1ZJ3#_I>xSpfHzf1u=_4bY4~FZ+PohD3{UesFdpd$tjDmF>jP zw`6~>>e2ywvsb?rA@*L@`G24vRc)p$db=G=H&u?mT3AsJs!a#M$2sHLWOVx-hEyA& zZ+5Xyn9ivK&YH_`XQ%!)nAxNS8^*v!_o%+QiYnAxlY=7(NK4F*oe7@<)Q01hm7?|A zdCmdiZ6FlWt~o1M%0o&Pi6kTuet*h>>T^wSrrfiy?h%_unC>aQ7dG-auKeEFp4rAF zq$d-t$VgQ^Gkjn1(* Vb!Y7e^X z(%iNlhLqfKDbvxho;Yj{IV-a{vQa;HD?M^D*?3sf=+(G2=@!J>*v6hR#?QVi0i9M> z%=r+e=P4c`id4`&mb+g}7wWTQSI4r~czggk;~?6c^4dWEb=Rt?Cfk|ESFJKzS*KTx z+j>5J J zLuUVz_9g#9eP0KEYw!AdtwY{V^qBOW1r+bV_scwmSwzVE&s6qQ{N5|R;ks;9Rr8+i zyW)qI(5nNvDLA!H#(ba1ToMSm*34XKISDj4#Ea*Xy+N{D0LIYbna`4<(4mTunKw9j z2Rcu8wX)Ya(tErgZ?8sQ+){Zl;g*c!T#p%;P`TjU|8OFnzSBB$=;;&xneRiP*d_lz zj};uDeOhM9&si~C(VIOw)5N1mSfNpiA+BTRNWs01&fr;_;md1_eWi6N)Wb==pG@vM z#-!#Imlp#J2{UP4k6pzGBrQ2Jj>N~ard4v(TrM;U5wUH*MY(p(XRhbR-purL8ohLD z4vA*$KFUA6OJi?!=t5Ox@`^pYr^;|y7Q&fImvR}7eP*U?Uv`smq!s+{2xiP5n{cT4 zlg0Gk=I>ouP19F9^r`q)^}na&4AQPr#;=_p$aIyV!0~QGEw{9+Y0dFfA1ekZRWQZK z%h;m{|7jXopt_P>B8q9LsBFy;0G-F|B7o~iCls?`KyaX8M>}7NtY+qFOVhg9WxZLC z!CXg$k{4!TXi?zL6s`c AAg`JA(?rTF3!n}1bYxkdh zOs12TBV%L{YE>KsR7#o(k<> 3oAmpI+RnTI2PTUC9 zr@=*O3)E_ESaI8YC@|XPEUpyUzQNtXh(YAW(+7?_?+c2N`Alr*`luv7Ip@%RG(9sj zL`9uz!y1aDF#^+!Wy?244qj M0KdbJ55J`S^ z2d);w(~M2%{wqM7V&W^??x#Y!jx8Q$-62=+(9I+P^w-GTI?#LWTG;BvS(wqY8&GCG zzTa!%^(|O) RfqFO(7YR-)vhi_S4OyW%WZ?;HG}AO1E=~+E$XOHDQ@?U<=}_(B|2B>F zl2=v(>z}uuJSvf4!?+5a>v9j>RE~S$i0cdygH8Z^70{N0;-3o74Rc9b@_zr{2PXN( zncJK=n05O2F2H>(`UZo~YG0T=)(($b!iVL!JuKY(k(%}ne(FCvyzY1-W16rtFqYIl zJ|UUU_41GI>6Gqp2Jvv`TcY{A^;o4wYouCF|9GGpqVD~ALkJ?Ueqf|TY#_QmX5eiZ zE~5uLS;tbtKIIV6RGzN?`w@*jEWw|@#_50ya~Q#!t8cb;r;hC#QF^mJ+GMLia=kNG zO;9az^EkNLZSLrk1rvg%CNi+5(Xw;a*GT)5d9`%#Xn26(DK>auj#4X?Pc44r|B&hU z(+`>i(l{=K%KiC6oF_9>O`0a^7a={<<-5b$rmw_!0wseNv-q4)R!4Sp@=tezS*DMF z9Cuw1GEaDh#*Z=M#dR4`;uc0$JY7PcH_pBtQvRwAfbI6|4YnVl;$4y~xO=f)Lp!^f zcJmWT@2V~G;dV9Sk;n^=B#qP(9m@Mx0+R#sI3MgBtL+9MbZv=RVo XcUOHlk(r+Xfn_S!{B-g>oY;M!mRj40GWa+vn89=G|D5HrSftq9IP)FX zdyNL-mqk^WmXut+w48Kq?U)8G-%Wo$6PLz-7)|SBk4{0e;$RGLZ#@uP>z%6WDQcLo z7T<#S{fy|}8@4H3K6jVQn@7hfq6BM6e844PYRm-XS 8M2e;icZ3$+G$z8k*^CJlbQfkVd=@K;4o`3bO(X%nJtpaP zi~oGy7w0y9(f#Gg%CGZV;dvC*i=?W|=q7aU@Zdc&7$-8hTR~>mz^3opiLUqaB(Kt* zyoc}kkNGSR3e(pt$i$R*V+w~&9>Tvm;M)Sl!71I!LXCVTCZn+}4rRlHCMOvum&!N4 zkr?iQO%x$VUv$}eKk+-*KaF7|FxzP!Arc*;|G1Sq8GGw&yFck@w@t z*x(o=jv1g7zMkpG}l@do{TV{&NbtY{8jSU5Zd6l^^C(Mq*FM3I9@e5z5 z&69e@hfM4ek*)`SPuWw7b$K(Ri)r%-7FLFa=@(;BjYDAj0P%iEIZstd+jH0I>syIj z3tGlCAsYdu*$zb!yZdH1hpS->GoIWy5WLA*j|kU|F(&-jlPoBEkvsJRmgk;8^DAs# z|5`TWZQnmEg#0PUJU}+ug{hf?}A6y;^PgI#K%r_?Z=oM zpF{fOysw9RYq^^c1b;SK L@4UVuSPUJIkOm)v5I@@fSI;G>F}@d;3RHMQ`xyVm z_`+iz<=guwh`yW*Zfl8yl-8!$$>HCRQ+9T2Fv}Ca+RN4(=!-6#8o7+?_0O ZH3AO>{aRacwebezuW3q{4fI0hZMy0q@=5)$0OZ zgYWh)QbN|6U2erRp-DJ2xP?8?o2N5Aoe)4 o+3!5yr3vOO=uo(+xn`E)?I51+4+h+54dwG`?!dR_3$YxS0-H17 z(apZXPz{-h`F9ct>XXEm8N4s#8_MR*Up}e+-hL~OCSQiz!>~x!{qysub`WYKGXVAj zex)>AR)NGG4=#TWaosofFfgp);a0o1|9UNg6PyPOqxZ}Vca@FW$S;st&jG%)qT0ev zJ%3cnkT5D5A;BT*q*fxcua7WMp+`ifUJQTf;))(bUhcJy!ux*|l8Na0Hkddd6#QRL z>drVN(;;a8Ap`uzt*yGrCoZ?sBsdD0=vS8PwF$`!%pz(J^7U??D>ix;vwZ(`(-kQ} zO(U?QUU_cWv1AiLO`?*-R@7L3N=r?M$>{!$|if$1HQrq@0V6;AM^Qq+lvj36+p z47Je@V6JLP_6+nAev7N#PmYA)NetKsu9b(2@5RT_0WPj4$%!9YUKebSaF~CIxeM6u zfuqC&GZ_D7H&dlFi+t+;=>{+8(0dXQsw&lj&^9KNwC{cgOi_H4+j!xlL8jA!E#U^R zOaE5 DS%#F6W&& znoF|*RmGN^VZt))Ullb|UI9y&nah7*XEE{a>)W;XQqhcL2Gdy2hMQ4*T@@>E-(fgi zvPmo-SxGH^)*hsH$5mfI ha<&|A8K#JFrE#fIgd>0epBJSiDB^j5Yy{Gon9J1h*6}T_ZFTro6PHPu@~X!A z%NFy0hfPULuNewl7jSMU{;(%IF*RNVUxKR868!L7=RKoi*M=e>{|2odf1{a7i-R29 zD&gza%KH;NZ}Q7q)sAb12nJ}b;}>3e(!$dYBS7^1#$5$Urc;ItfXkr?u7iUv23Cf% zp0K1Yi+b2n+lZR5Me~;ey#Kgm)R=s(RPMT-!amwZYWT;Ks|#{*-XQug@!*muAV^_$ zd891m=xOj{`|h(--}JMC8$G4IOfSkCi+^a4EAguL%2})OoV;~(@ZC>6on|g4oxEgC z8De#DR0czY@2(T!Bz~#nMloZ;{!M_aah1|}yd-|JtpK=2VCY4E6y78u2^7bEY-#Tm zw0P1IyxO>M0 poGP`^jD|<%K%lPNPBas_rWbVH3C2>BS&@ zyMkfjH%rijC|8iyXG>)A6(VBW!=I(R=06?xM>oTRy`4&)QEU0Ww!dPlZR=#+0z#~E zD_cK7@t_zoJ&dgkU+{Vv{F?uh9XNMbz(o!_h|l`Q)p(W?u2SG)Xobt4FvS=qMdSS$ zL}c(zBXfKax7jePrKK+8THd*9XEu=%2{v4^2J7a|BG&Eqs7X!(JP^VA-se%JYYfIL zi^eo17A7>E@1DYCC0TggsPa6zo|n0@2lJ0#5B&%yyVJB5bePAi#Kr#KPE+>7BP6Pe zCWI|zh)Wl6Q(-Ur@Hk*?i7X~W1nTEU+l|)V-GccG a&I|wAKa|i z{YFRe50B4&-C3L7z=jsBuKZyC5PatYwouBd=rL|It$#P ~&f<>F-%xuY&csuI`Y%JYZl<7?hagV7N`9k1g8m zY@yuKqy;|}ICl@r$DNu#N8>?X1CoJ?Km%(3^V6+cW5?#TrEJ)+=SKov6{}y8sxLtf zyzFw=o|MXu;#Vl~z>TFS!jg-7zEa#ZW6Q&p)J$Y5g8v@#`;z}yV%&OmLGYJO!p%)f zhueVa#u?22PP70L!$0~`0Cs_O_>>N_P=g|ovcT3RL9=pw^{Sa r X?WXYYA%b-{SkqcW29?IaZJTDkL9J;9(*+_SvDBxY z#8P%btGt|M@kw0m l)Eu{!q?zIov$P<%c5L2SysYK+CIEQ8A%f4q#JyTs#rODjKS&&PhPk?A zuGDkf;w^LgNrvifFUg`4RTgVF*U$Ls%91Ds mOMoek$|HaE|N&) e8Bu+(^sV`?ib*r^3~U{Y|&)fFoF2YTn|% z8{LO6P2O{cRNcsvU9}EJVsT2hped7h3jwB~f^$%+=GlXeyfyR5{k|=6#e|L#4X&p@ z6-BKMQ$mf%!%s-S-K)R?p1@BEe%Bt^J9i)@129X?Xu|ovHS7Rj&Pas^eXJ>KBG7t} zN zfm_UZmXY7>#@ar=F0%@Z{!)tNPk=e5{^tCRv*9G{KaIteN~F7lf?kW^D;$#wFq>Q> zD?>n9T-FeiDwzD%0(m(2A$M&k+eR`h@5YjZ(Ww%E($+zJ6>b6b42V8foVAarLX>Aq zbGAMfr8`-y0p#G;FROE5^@vj$`HyX-D!*l|thyQLpGgl}J?4CsB%W~eAAEOh`$asq zY2*{5UUp=I;Jl;&T67 4m@HbVb>{ zMEcPhe1`Xv-$B-tm;7A;ZtF)sW#qh=YlHiYi$0p){#a5Gf4qI)s`^Fei&ftus|JyGcYm)9l PTsNKj`u7T9wy*yO5hOOH diff --git a/MiGu.Server/wwwroot/assets/AnnotationView-BCpnjaJW.js b/MiGu.Server/wwwroot/assets/AnnotationView-BCpnjaJW.js deleted file mode 100644 index a6db7ae..0000000 --- a/MiGu.Server/wwwroot/assets/AnnotationView-BCpnjaJW.js +++ /dev/null @@ -1 +0,0 @@ -import{aN as S,bV as N,aE as f,c8 as a,t as z,bs as p,aK as e,N as A,cb as B,O,R as T,a4 as D,aG as M,ai as U,bE as F,Z as G,r as L,bS as b,aJ as d,G as I,aa as J,ab as K,ad as R,bL as X,aD as c,bA as Z,bC as $,X as g}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */const j={style:{display:"flex","align-items":"center",gap:"8px"}},pe=S({__name:"AnnotationView",setup(q){const s=N(),l=Z({title:"",target:"",level:"info",content:""}),m=$([{id:"N001",ts:"2026-05-19 10:25",author:"ops",target:"C05",level:"warn",title:"AGV-005 故障观察",content:"出库点附近频繁停顿,怀疑激光被遮挡"}]);function w(r){return r==="error"?"danger":r==="warn"?"warning":"info"}function v(){if(!l.title){g.warning("请填写标题");return}const r=`N${String(m.value.length+1).padStart(3,"0")}`;m.value.unshift({id:r,ts:new Date().toLocaleString("zh-CN"),author:s.user?.username??"mock",target:l.target,level:l.level,title:l.title,content:l.content}),g.success("已记录(Mock,未写入数据库)"),l.title="",l.content="",l.target=""}return(r,t)=>{const u=R,_=T,i=O,V=G,y=D,E=L,x=A,h=I,n=K,k=J,C=z;return p(),f(C,{shadow:"never"},{header:a(()=>[c("div",j,[t[7]||(t[7]=c("span",null,"运营备注(monitor.note.write · 写 platform.db.Annotations)",-1)),b(s).hasOp("monitor.note.write")?(p(),f(u,{key:0,size:"small",type:"success"},{default:a(()=>[...t[5]||(t[5]=[d("可写",-1)])]),_:1})):(p(),f(u,{key:1,size:"small",type:"danger"},{default:a(()=>[...t[6]||(t[6]=[d("只读",-1)])]),_:1}))])]),default:a(()=>[e(x,{inline:"",onSubmit:t[3]||(t[3]=B(()=>{},["prevent"]))},{default:a(()=>[e(i,{label:"标题"},{default:a(()=>[e(_,{modelValue:l.title,"onUpdate:modelValue":t[0]||(t[0]=o=>l.title=o),style:{width:"240px"}},null,8,["modelValue"])]),_:1}),e(i,{label:"关联目标"},{default:a(()=>[e(_,{modelValue:l.target,"onUpdate:modelValue":t[1]||(t[1]=o=>l.target=o),placeholder:"例如 C01 / M02 / S006",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),e(i,{label:"层级"},{default:a(()=>[e(y,{modelValue:l.level,"onUpdate:modelValue":t[2]||(t[2]=o=>l.level=o),style:{width:"120px"}},{default:a(()=>[(p(),M(U,null,F(["info","warn","error"],o=>e(V,{key:o,label:o,value:o},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),e(i,null,{default:a(()=>[e(E,{type:"primary",disabled:!b(s).hasOp("monitor.note.write"),onClick:v},{default:a(()=>[...t[8]||(t[8]=[d("提交",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1}),e(_,{modelValue:l.content,"onUpdate:modelValue":t[4]||(t[4]=o=>l.content=o),type:"textarea",rows:4,placeholder:"描述备注内容...",disabled:!b(s).hasOp("monitor.note.write")},null,8,["modelValue","disabled"]),e(h),e(k,{data:m.value,size:"small","max-height":"400"},{default:a(()=>[e(n,{prop:"ts",label:"时间",width:"180"}),e(n,{prop:"author",label:"作者",width:"100"}),e(n,{prop:"target",label:"目标",width:"100"}),e(n,{prop:"level",label:"层级",width:"80"},{default:a(o=>[e(u,{size:"small",type:w(o.row.level)},{default:a(()=>[d(X(o.row.level),1)]),_:2},1032,["type"])]),_:1}),e(n,{prop:"title",label:"标题"}),e(n,{prop:"content",label:"内容"})]),_:1},8,["data"])]),_:1})}}});export{pe as default}; diff --git a/MiGu.Server/wwwroot/assets/AppShell-CFoRRXmz.css b/MiGu.Server/wwwroot/assets/AppShell-CFoRRXmz.css deleted file mode 100644 index 322e8e8..0000000 --- a/MiGu.Server/wwwroot/assets/AppShell-CFoRRXmz.css +++ /dev/null @@ -1 +0,0 @@ -.el-aside{box-sizing:border-box;width:var(--el-aside-width,300px);flex-shrink:0;overflow:auto}.el-container{box-sizing:border-box;flex-direction:row;flex:auto;min-width:0;display:flex}.el-container.is-vertical{flex-direction:column}.el-footer{--el-footer-padding:0 20px;--el-footer-height:60px;padding:var(--el-footer-padding);box-sizing:border-box;height:var(--el-footer-height);flex-shrink:0}.el-header{--el-header-padding:0 20px;--el-header-height:60px;padding:var(--el-header-padding);box-sizing:border-box;height:var(--el-header-height);flex-shrink:0}.el-main{--el-main-padding:20px;box-sizing:border-box;padding:var(--el-main-padding);flex:auto;display:block;overflow:auto}.el-avatar{--el-avatar-text-color:var(--el-color-white);--el-avatar-bg-color:var(--el-text-color-disabled);--el-avatar-text-size:14px;--el-avatar-icon-size:18px;--el-avatar-border-radius:var(--el-border-radius-base);--el-avatar-size-large:56px;--el-avatar-size:40px;--el-avatar-size-small:24px;box-sizing:border-box;text-align:center;color:var(--el-avatar-text-color);background:var(--el-avatar-bg-color);width:var(--el-avatar-size);height:var(--el-avatar-size);font-size:var(--el-avatar-text-size);outline:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.el-avatar>img{width:100%;height:100%;display:block}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:var(--el-avatar-border-radius)}.el-avatar--icon{font-size:var(--el-avatar-icon-size)}.el-avatar--small{--el-avatar-size:24px}.el-avatar--large{--el-avatar-size:56px}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:top;transform:scaleY(1)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:bottom;transform:scaleY(1)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transition:var(--el-transition-md-fade);transform-origin:0 0;transform:scale(1)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-leave-active,.el-collapse-transition-enter-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}:root{--el-menu-active-color:var(--el-color-primary);--el-menu-text-color:var(--el-text-color-primary);--el-menu-hover-text-color:var(--el-color-primary);--el-menu-bg-color:var(--el-fill-color-blank);--el-menu-hover-bg-color:var(--el-color-primary-light-9);--el-menu-item-height:56px;--el-menu-sub-item-height:calc(var(--el-menu-item-height) - 6px);--el-menu-horizontal-height:60px;--el-menu-horizontal-sub-item-height:36px;--el-menu-item-font-size:var(--el-font-size-base);--el-menu-item-hover-fill:var(--el-color-primary-light-9);--el-menu-border-color:var(--el-border-color);--el-menu-base-level-padding:20px;--el-menu-level-padding:20px;--el-menu-icon-width:24px}.el-menu{border-right:solid 1px var(--el-menu-border-color);background-color:var(--el-menu-bg-color);box-sizing:border-box;margin:0;padding-left:0;list-style:none;position:relative}.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title{white-space:nowrap;padding-left:calc(var(--el-menu-base-level-padding) + var(--el-menu-level) * var(--el-menu-level-padding))}.el-menu:not(.el-menu--collapse) .el-sub-menu__title{padding-right:calc(var(--el-menu-base-level-padding) + var(--el-menu-icon-width))}.el-menu--horizontal{height:var(--el-menu-horizontal-height);border-right:none;flex-wrap:nowrap;display:flex}.el-menu--horizontal.el-menu--popup-container{height:unset}.el-menu--horizontal.el-menu{border-bottom:solid 1px var(--el-menu-border-color)}.el-menu--horizontal>.el-menu-item{height:100%;color:var(--el-menu-text-color);border-bottom:2px solid #0000;justify-content:center;align-items:center;margin:0;display:inline-flex}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-sub-menu:focus,.el-menu--horizontal>.el-sub-menu:hover{outline:none}.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--el-menu-hover-text-color)}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{height:100%;color:var(--el-menu-text-color);border-bottom:2px solid #0000}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title:hover{background-color:var(--el-menu-bg-color)}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-sub-menu__title{background-color:var(--el-menu-bg-color);height:var(--el-menu-horizontal-sub-item-height);line-height:var(--el-menu-horizontal-sub-item-height);color:var(--el-menu-text-color);align-items:center;padding:0 10px;display:flex}.el-menu--horizontal .el-menu .el-sub-menu__title{padding-right:40px}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-menu-item.is-active:hover,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title:hover{color:var(--el-menu-active-color)}.el-menu--horizontal .el-menu-item:not(.is-disabled):hover,.el-menu--horizontal .el-menu-item:not(.is-disabled):focus{color:var(--el-menu-active-color,var(--el-menu-hover-text-color));background-color:var(--el-menu-hover-bg-color);outline:none}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)!important}.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding) * 2)}.el-menu--collapse>.el-menu-item [class^=el-icon],.el-menu--collapse>.el-sub-menu>.el-sub-menu__title [class^=el-icon],.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title [class^=el-icon]{vertical-align:middle;width:var(--el-menu-icon-width);text-align:center;margin:0}.el-menu--collapse>.el-menu-item .el-sub-menu__icon-arrow,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item>span,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title>span,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title>span{visibility:hidden;width:0;height:0;display:inline-block;overflow:hidden}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-sub-menu{min-width:200px}.el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--popup{z-index:100;border-radius:var(--el-border-radius-small);min-width:200px;box-shadow:var(--el-box-shadow-light);border:none;padding:5px 0}.el-menu .el-icon{flex-shrink:0}.el-menu-item{height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);cursor:pointer;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap;align-items:center;list-style:none;display:flex;position:relative}.el-menu-item *{vertical-align:bottom}.el-menu-item i{color:inherit}.el-menu-item:hover,.el-menu-item:focus{outline:none}.el-menu-item:hover{background-color:var(--el-menu-hover-bg-color)}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon]{width:var(--el-menu-icon-width);text-align:center;vertical-align:middle;margin-right:5px;font-size:18px}.el-menu-item.is-active{color:var(--el-menu-active-color)}.el-menu-item.is-active i{color:inherit}.el-menu-item .el-menu-tooltip__trigger{box-sizing:border-box;width:100%;height:100%;padding:0 var(--el-menu-base-level-padding);align-items:center;display:inline-flex;position:absolute;top:0;left:0}.el-sub-menu{margin:0;padding-left:0;list-style:none}.el-sub-menu__title{height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);cursor:pointer;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap;align-items:center;list-style:none;display:flex;position:relative}.el-sub-menu__title *{vertical-align:bottom}.el-sub-menu__title i{color:inherit}.el-sub-menu__title:hover,.el-sub-menu__title:focus{outline:none}.el-sub-menu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu__title:hover{background-color:var(--el-menu-hover-bg-color)}.el-sub-menu .el-menu{border:none}.el-sub-menu .el-menu-item{height:var(--el-menu-sub-item-height);line-height:var(--el-menu-sub-item-height)}.el-sub-menu.el-sub-menu__hide-arrow .el-sub-menu__title{padding-right:var(--el-menu-base-level-padding)}.el-sub-menu__hide-arrow .el-sub-menu__icon-arrow{display:none!important}.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--el-menu-active-color)}.el-sub-menu.is-disabled .el-sub-menu__title,.el-sub-menu.is-disabled .el-menu-item{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu .el-icon{vertical-align:middle;width:var(--el-menu-icon-width);text-align:center;margin-right:5px;font-size:18px}.el-sub-menu .el-icon.el-sub-menu__icon-more{margin-right:0!important}.el-sub-menu .el-sub-menu__icon-arrow{top:50%;right:var(--el-menu-base-level-padding);transition:transform var(--el-transition-duration);width:inherit;margin-top:-6px;margin-right:0;font-size:12px;position:absolute}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px var(--el-menu-base-level-padding);color:var(--el-text-color-secondary);font-size:12px;line-height:normal}.horizontal-collapse-transition .el-sub-menu__title .el-sub-menu__icon-arrow{transition:var(--el-transition-duration-fast);opacity:0}.el-popper,.el-menu--popup-container,.el-menu{outline:none}.theme-trigger[data-v-28ea4aeb]{appearance:none;display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 8px;border-radius:999px;border:1px solid var(--mg-glass-border, rgba(255, 255, 255, .18));background:var(--mg-glass-bg, rgba(255, 255, 255, .05));color:var(--mg-text-light, rgba(255, 255, 255, .9));cursor:pointer;transition:var(--mg-transition, all .25s ease);font-size:12.5px}.theme-trigger[data-v-28ea4aeb]:hover{background:rgba(var(--mg-accent-rgb),.18);border-color:rgba(var(--mg-accent-rgb),.45);color:var(--mg-text-light, #fff)}.swatch[data-v-28ea4aeb]{width:18px;height:18px;border-radius:50%;box-shadow:0 0 0 2px var(--mg-glass-border-hi, rgba(255, 255, 255, .25));flex-shrink:0}.theme-label[data-v-28ea4aeb]{font-weight:600;letter-spacing:.3px;white-space:nowrap}.caret[data-v-28ea4aeb]{font-size:12px;opacity:.7}.theme-menu .el-dropdown-menu__item{display:flex!important;align-items:center;gap:12px;min-width:240px;padding:10px 16px!important}.theme-menu .el-dropdown-menu__item.is-active{background:rgba(var(--mg-accent-rgb),.22)!important}.theme-menu .option-swatch{width:28px;height:28px;border-radius:8px;flex-shrink:0;box-shadow:0 2px 8px #00000059}.theme-menu .option-text{flex:1;display:flex;flex-direction:column;gap:2px;line-height:1.3}.theme-menu .option-name{font-weight:600;font-size:13px}.theme-menu .option-desc{font-size:11px;opacity:.65}.theme-menu .check{color:var(--mg-accent);font-size:16px}.app-shell[data-v-811456ba]{position:relative;height:100vh;overflow:hidden}.bg-orbs[data-v-811456ba]{position:absolute;inset:0;pointer-events:none;z-index:0}.bg-orb[data-v-811456ba]{position:absolute;border-radius:50%;filter:blur(120px);animation:drift-811456ba 24s ease-in-out infinite;will-change:transform}.bg-orb-a[data-v-811456ba]{width:520px;height:520px;top:-240px;left:-220px;background:radial-gradient(circle,var(--mg-primary-hover) 0%,var(--mg-primary) 55%,transparent 85%);opacity:var(--mg-orb-a-opacity, .55)}.bg-orb-b[data-v-811456ba]{width:640px;height:640px;bottom:-280px;right:-260px;background:radial-gradient(circle,var(--mg-primary) 0%,var(--mg-primary-active) 55%,transparent 90%);opacity:var(--mg-orb-b-opacity, .5);animation-delay:-7s}.bg-orb-c[data-v-811456ba]{width:320px;height:320px;top:58%;right:-140px;background:radial-gradient(circle,var(--mg-accent) 0%,var(--mg-primary-hover) 55%,transparent 95%);opacity:var(--mg-orb-c-opacity, .4);animation-delay:-14s}.bg-orb-d[data-v-811456ba]{width:380px;height:380px;top:12%;right:28%;background:radial-gradient(circle,rgba(99,102,241,.85) 0%,var(--mg-primary) 60%,transparent 92%);opacity:.3;animation-delay:-18s;filter:blur(140px)}@keyframes drift-811456ba{0%,to{transform:translate(0) scale(1)}50%{transform:translate(36px,-42px) scale(1.08)}}.app-container[data-v-811456ba]{position:relative;z-index:1;height:100vh}.aside[data-v-811456ba]{position:relative;background:linear-gradient(180deg,rgba(var(--mg-bg-aside-rgb),.78),rgba(var(--mg-bg-app-deep-rgb),.85));backdrop-filter:blur(24px) saturate(170%);-webkit-backdrop-filter:blur(24px) saturate(170%);border-right:1px solid rgba(var(--mg-accent-rgb),.18);display:flex;flex-direction:column;transition:width .28s cubic-bezier(.25,.8,.25,1);overflow:hidden;flex-shrink:0;box-shadow:inset -1px 0 #ffffff0a,4px 0 32px #00000073}.aside[data-v-811456ba]:before{content:"";position:absolute;top:0;right:0;width:1px;height:100%;background:linear-gradient(180deg,transparent 0%,rgba(var(--mg-accent-rgb),.6) 50%,transparent 100%);pointer-events:none;opacity:.4}.logo[data-v-811456ba]{flex-shrink:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px 14px 18px;border-bottom:1px solid rgba(var(--mg-accent-rgb),.16);background:radial-gradient(ellipse at center top,rgba(var(--mg-primary-hover-rgb),.3) 0%,transparent 70%),linear-gradient(180deg,rgba(var(--mg-primary-rgb),.16) 0%,transparent 100%)}.logo.collapsed[data-v-811456ba]{padding:18px 4px 14px}.logo-img-full[data-v-811456ba]{height:36px;margin-bottom:12px;filter:drop-shadow(0 2px 10px rgba(var(--mg-accent-rgb),.5))}.logo-img-small[data-v-811456ba]{height:26px;margin-bottom:4px;filter:drop-shadow(0 2px 8px rgba(var(--mg-accent-rgb),.5))}.logo-titles[data-v-811456ba]{display:flex;flex-direction:column;align-items:center;gap:3px}.logo-title-zh[data-v-811456ba]{font-size:13px;font-weight:700;letter-spacing:2.5px;background:linear-gradient(90deg,#ffffff 0%,var(--mg-accent) 60%,#ffffff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap;text-shadow:0 0 18px rgba(var(--mg-accent-rgb),.3)}.logo-title-en[data-v-811456ba]{color:#e8d7f573;font-size:7.5px;letter-spacing:.3px;white-space:nowrap;text-align:center}.logo-title-en b[data-v-811456ba]{color:#ffffffe6;font-weight:700;font-size:8.5px}.logo-abbr[data-v-811456ba]{color:#ffffffd9;font-size:10.5px;font-weight:700;letter-spacing:1.5px}.menu[data-v-811456ba]{flex:1;overflow-y:auto;overflow-x:hidden;border-right:none!important;padding:8px 0;scrollbar-width:thin;scrollbar-color:rgba(var(--mg-accent-rgb),.3) transparent}.menu[data-v-811456ba]::-webkit-scrollbar{width:4px}.menu[data-v-811456ba]::-webkit-scrollbar-thumb{background:rgba(var(--mg-accent-rgb),.25);border-radius:2px}.menu[data-v-811456ba]::-webkit-scrollbar-thumb:hover{background:rgba(var(--mg-accent-rgb),.55)}[data-v-811456ba] .el-menu{border-right:none;background:transparent!important}[data-v-811456ba] .el-menu-item,[data-v-811456ba] .el-sub-menu__title{background:transparent!important;margin:2px 10px;border-radius:10px;height:42px;line-height:42px;transition:background .2s ease,color .2s ease,box-shadow .2s ease}[data-v-811456ba] .el-menu--collapse .el-menu-item,[data-v-811456ba] .el-menu--collapse .el-sub-menu__title{margin:2px 8px;padding:0!important;justify-content:center}[data-v-811456ba] .el-menu-item:hover,[data-v-811456ba] .el-sub-menu__title:hover{background:rgba(var(--mg-primary-rgb),.2)!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(var(--mg-accent-rgb),.18)}[data-v-811456ba] .el-menu-item.is-active{background:linear-gradient(90deg,rgba(var(--mg-primary-rgb),.55) 0%,rgba(var(--mg-primary-hover-rgb),.2) 70%,transparent 100%)!important;color:#fff!important;font-weight:600;box-shadow:inset 3px 0 0 var(--mg-accent),0 4px 14px rgba(var(--mg-primary-rgb),.25)}[data-v-811456ba] .el-sub-menu.is-active>.el-sub-menu__title{color:#fff!important;font-weight:600}[data-v-811456ba] .el-sub-menu .el-menu{background:#0000002e!important;border-radius:8px;margin:0 12px;padding:4px 0}[data-v-811456ba] .el-sub-menu .el-menu .el-menu-item{margin:1px 4px;border-radius:6px;font-size:13px;height:36px;line-height:36px}[data-v-811456ba] .el-sub-menu .el-menu .el-menu-item.is-active{background:rgba(var(--mg-accent-rgb),.18)!important;box-shadow:inset 2px 0 0 var(--mg-primary-hover);color:#fff!important}.aside-footer[data-v-811456ba]{flex-shrink:0;padding:12px 16px;border-top:1px solid rgba(var(--mg-accent-rgb),.14);display:flex;align-items:center;gap:8px;font-size:10.5px;color:#ffffff8c;letter-spacing:.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aside-footer-badge[data-v-811456ba]{padding:2px 7px;border-radius:8px;background:linear-gradient(135deg,rgba(var(--mg-primary-rgb),.35),rgba(var(--mg-accent-rgb),.2));border:1px solid rgba(var(--mg-accent-rgb),.36);color:#fff;font-weight:600;font-size:10px;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums;letter-spacing:0;box-shadow:0 0 12px rgba(var(--mg-primary-hover-rgb),.35)}.container-right[data-v-811456ba]{background:transparent;flex:1;min-height:0;display:flex;flex-direction:column}.header[data-v-811456ba]{position:relative;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(180deg,rgba(var(--mg-bg-aside-rgb),.72),rgba(var(--mg-bg-aside-rgb),.55));backdrop-filter:blur(24px) saturate(170%);-webkit-backdrop-filter:blur(24px) saturate(170%);border-bottom:1px solid rgba(var(--mg-accent-rgb),.18);padding:0 20px}.header[data-v-811456ba]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(var(--mg-accent-rgb),.45) 30%,rgba(var(--mg-primary-hover-rgb),.6) 50%,rgba(var(--mg-accent-rgb),.45) 70%,transparent 100%);opacity:.55}.header-left[data-v-811456ba],.header-right[data-v-811456ba]{display:flex;align-items:center;gap:14px}.icon-btn[data-v-811456ba]{appearance:none;background:transparent;border:1px solid rgba(255,255,255,.18);color:#ffffffbf;border-radius:8px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.icon-btn[data-v-811456ba]:hover{background:rgba(var(--mg-accent-rgb),.18);border-color:rgba(var(--mg-accent-rgb),.5);color:#fff}[data-v-811456ba] .el-breadcrumb__inner{color:#ffffffc7;font-weight:500}[data-v-811456ba] .el-breadcrumb__separator{color:#ffffff59}[data-v-811456ba] .el-breadcrumb__item:last-child .el-breadcrumb__inner{color:#fff;font-weight:600}.runmode-tag[data-v-811456ba]{padding:4px 10px;border-radius:999px;font-size:11.5px;letter-spacing:.5px;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums;border:1px solid rgba(255,255,255,.18);background:#ffffff0d;color:#ffffffd9}.runmode-tag.WebEnabled[data-v-811456ba]{background:rgba(var(--mg-status-success-rgb),.18);border-color:rgba(var(--mg-status-success-rgb),.45);color:var(--mg-status-success)}.runmode-tag.WebOnly[data-v-811456ba]{background:rgba(var(--mg-primary-hover-rgb),.18);border-color:rgba(var(--mg-primary-hover-rgb),.45);color:var(--mg-accent)}.runmode-tag.Detached[data-v-811456ba]{background:rgba(var(--mg-status-warning-rgb),.18);border-color:rgba(var(--mg-status-warning-rgb),.45);color:var(--mg-status-warning)}.user-link[data-v-811456ba]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:#ffffffd9;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;transition:all .2s}.user-link[data-v-811456ba]:hover{background:rgba(var(--mg-accent-rgb),.18);border-color:rgba(var(--mg-accent-rgb),.4)}.user-name[data-v-811456ba]{font-size:13px;color:#fff;font-weight:500}[data-v-811456ba] .el-avatar{background:linear-gradient(135deg,var(--mg-accent) 0%,var(--mg-primary) 60%,var(--mg-primary-active) 100%);color:#fff;font-weight:700;box-shadow:0 0 0 1px #fff3}.main[data-v-811456ba]{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;padding:24px;background:transparent;color:#fff}.footer[data-v-811456ba]{background:rgba(var(--mg-bg-aside-rgb),.25);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:#ffffff8c;font-size:12px;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums;letter-spacing:.3px;height:32px!important;line-height:32px}.route-page[data-v-811456ba]{min-height:0;flex:1;display:flex;flex-direction:column} diff --git a/MiGu.Server/wwwroot/assets/AppShell-CsAf-EtY.js b/MiGu.Server/wwwroot/assets/AppShell-CsAf-EtY.js deleted file mode 100644 index 6047778..0000000 --- a/MiGu.Server/wwwroot/assets/AppShell-CsAf-EtY.js +++ /dev/null @@ -1 +0,0 @@ -import{aN as R,bV as G,bX as O,bs as n,aE as p,c8 as e,aK as t,a0 as ce,aJ as u,ay as f,a1 as ue,X as pe,bZ as J,aD as a,bl as F,bL as i,bS as s,Q as j,as as H,K,aG as y,ai as x,bE as N,J as Q,bk as A,at as me,aF as T,I as X,ak as q,aI as _e,A as be,bW as fe,bG as he,m as ge,V as ve,a7 as ke,W as ye,bH as D,P as we,aY as Ee,aU as Se,p as Me,q as xe,n as Ce,U as Ie,M as Pe,b3 as Te,be as W,bQ as $e,bJ as De,bh as Ne,c1 as Ae,bx as Re,bm as ze}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import{_ as Be}from"./FRLD-logo-white-no_title-BE78iS6n.js";/* empty css */const Le="/FRLD-logo-white.png",Ue=R({__name:"ScopeSwitcher",setup(z){const r=G(),w=O(),l=f(()=>r.scope??"Platform");let d=!1;async function v(_){if(!d){d=!0;try{await E(_)}finally{d=!1}}}async function E(_){try{await r.switchScope(_),w.push(_==="Platform"?"/admin/map-monitor":"/monitor/map")}catch(b){pe.error(b?.message??`切换到 ${_} 失败`)}}return(_,b)=>{const S=ce,C=ue;return n(),p(C,{"model-value":l.value,size:"small",onChange:v},{default:e(()=>[t(S,{value:"Platform"},{default:e(()=>[...b[0]||(b[0]=[u("管理员",-1)])]),_:1}),t(S,{value:"RCSMonitor"},{default:e(()=>[...b[1]||(b[1]=[u("运营",-1)])]),_:1})]),_:1},8,["model-value"])}}}),Ve=["title"],Fe={class:"theme-label"},We={class:"option-text"},Ge={class:"option-name"},Oe={class:"option-desc"},Je=R({__name:"ThemeSwitcher",setup(z){const r=J(),w=f(()=>({background:`linear-gradient(135deg, ${r.activeTheme.preview} 0%, ${r.activeTheme.previewAccent} 100%)`}));function l(v){const E=r.getMergedTheme(v);return{background:`linear-gradient(135deg, ${E.preview} 0%, ${E.previewAccent} 100%)`}}function d(v){r.setThemeId(v)}return(v,E)=>{const _=j,b=Q,S=K,C=X;return n(),p(C,{trigger:"click",onCommand:d},{dropdown:e(()=>[t(S,{class:"theme-menu"},{default:e(()=>[(n(!0),y(x,null,N(s(r).availableThemes,h=>(n(),p(b,{key:h.id,command:h.id,class:A({"is-active":h.id===s(r).themeId})},{default:e(()=>[a("span",{class:"option-swatch",style:F(l(h))},null,4),a("span",We,[a("span",Ge,i(h.name),1),a("span",Oe,i(h.description),1)]),h.id===s(r).themeId?(n(),p(_,{key:0,class:"check"},{default:e(()=>[t(s(me))]),_:1})):T("",!0)]),_:2},1032,["command","class"]))),128))]),_:1})]),default:e(()=>[a("button",{class:"theme-trigger",type:"button",title:`当前主题:${s(r).activeTheme.name}`},[a("span",{class:"swatch",style:F(w.value)},null,4),a("span",Fe,i(s(r).activeTheme.name),1),t(_,{class:"caret"},{default:e(()=>[t(s(H))]),_:1})],8,Ve)]),_:1})}}}),je=q(Je,[["__scopeId","data-v-28ea4aeb"]]),He={class:"app-shell"},Ke={class:"aside-footer"},Qe={key:0},Xe={class:"header-left"},qe={class:"header-right"},Ye={class:"user-link"},Ze={class:"user-name"},ea=R({__name:"AppShell",setup(z){const r=fe(),w=O(),l=G(),d=J(),v=f(()=>"localhost:8223".split(":")[1]??"8223"),E=f(()=>"/api"),_=f(()=>(l.user?.displayName??l.user?.username??"?").slice(0,1).toUpperCase()),b=f(()=>l.scope==="Platform"?"管理员 (Platform)":"运营 (RCSMonitor)"),S=f(()=>{switch(l.runMode){case"WebOnly":return"Web-Only";case"WebEnabled":return"Web + Desktop";case"Detached":return"SimpleLite 未连接";default:return String(l.runMode??"Unknown")}}),C=[{path:"/admin/dashboard",label:"总览",icon:Te,key:"admin-dashboard"},{path:"/admin/map-monitor",label:"地图监控",icon:W,key:"admin-map-monitor"},{path:"/admin/design",label:"设计与编排",icon:$e,children:[{path:"/admin/maps",label:"地图管理",key:"admin-maps"},{path:"/admin/map-editor",label:"地图编辑",key:"admin-map-editor"},{path:"/admin/project-properties",label:"项目属性",key:"admin-project-properties"},{path:"/admin/tracks",label:"场景管理",key:"admin-tracks"},{path:"/admin/cars",label:"车辆管理",key:"admin-cars"},{path:"/admin/processes",label:"进程管理",key:"admin-processes"},{path:"/admin/scripts",label:"脚本管理",key:"admin-scripts"},{path:"/admin/task-templates",label:"任务编排",key:"admin-task-templates"}]},{path:"/admin/config",label:"平台配置中心",icon:De,children:[{path:"/admin/config/strategy",label:"调度策略",key:"admin-config-strategy"},{path:"/admin/config/vehicle-hub",label:"车辆运维",key:"admin-vehicle-hub"},{path:"/admin/config/facility",label:"设备与库位",key:"admin-config-facility"},{path:"/admin/config/business",label:"业务与集成",key:"admin-config-business"},{path:"/admin/config/ops-center",label:"运维与回放",key:"admin-config-ops-center"},{path:"/admin/config/system-center",label:"系统与权限",key:"admin-config-system-center"}]}],h=[{path:"/monitor/dashboard",label:"运营总览",icon:Ne,key:"monitor-dashboard"},{path:"/monitor/vehicle-hub",label:"车辆运维",icon:Ae,key:"monitor-vehicle-hub"},{path:"/monitor/map",label:"地图监控",icon:W,key:"monitor-map"},{path:"/monitor/ops",label:"运维操作",icon:Re,key:"monitor-ops"},{path:"/monitor/notes",label:"运营备注",icon:ze,key:"monitor-notes"}];function Y(g){const o=[];for(const c of g)if(c.children){const M=c.children.filter(k=>!k.key||l.hasPage(k.key));M.length&&o.push({...c,children:M})}else(!c.key||l.hasPage(c.key))&&o.push(c);return o}const B=f(()=>Y(l.scope==="Platform"?C:h)),Z=f(()=>{const g=r.path,o=[],c=k=>{k.forEach(I=>{o.push(I),I.children&&c(I.children)})};return c(B.value),o.find(k=>k.path===g)?.path??g}),L=f(()=>r.meta.title??"");function ee(g){g==="logout"?(l.logout(),w.push("/login")):g==="status"?w.push("/status"):g==="wizard"&&w.push("/wizard")}return(g,o)=>{const c=j,M=ye,k=ke,I=ve,ae=ge,U=xe,te=Me,oe=Ce,$=Q,ne=K,se=X,le=we,ie=he("router-view"),re=Ie,de=Pe,V=be;return n(),y("div",He,[o[9]||(o[9]=_e('',1)),t(V,{class:"app-container"},{default:e(()=>[t(ae,{width:s(d).sidebarCollapsed?"76px":"240px",class:"aside"},{default:e(()=>[a("div",{class:A(["logo",{collapsed:s(d).sidebarCollapsed}])},[s(d).sidebarCollapsed?(n(),y(x,{key:0},[o[1]||(o[1]=a("img",{src:Be,alt:"FRLD",class:"logo-img-small"},null,-1)),o[2]||(o[2]=a("span",{class:"logo-abbr"},"迷毂",-1))],64)):(n(),y(x,{key:1},[o[3]||(o[3]=a("img",{src:Le,alt:"FRLD",class:"logo-img-full"},null,-1)),o[4]||(o[4]=a("div",{class:"logo-titles"},[a("span",{class:"logo-title-zh"},"迷 毂 · 智能调度平台"),a("span",{class:"logo-title-en"},[a("b",null,"M"),u("i "),a("b",null,"G"),u("u · "),a("b",null,"I"),u("ntelligent "),a("b",null,"D"),u("ispatch "),a("b",null,"P"),u("latform ")])],-1))],64))],2),t(I,{"default-active":Z.value,collapse:s(d).sidebarCollapsed,"collapse-transition":!1,"background-color":"transparent","text-color":"rgba(255, 255, 255, 0.72)","active-text-color":"#fff",router:"",class:"menu"},{default:e(()=>[(n(!0),y(x,null,N(B.value,m=>(n(),y(x,{key:m.path},[m.children?(n(),p(k,{key:0,index:m.path},{title:e(()=>[t(c,null,{default:e(()=>[(n(),p(D(m.icon)))]),_:2},1024),a("span",null,i(m.label),1)]),default:e(()=>[(n(!0),y(x,null,N(m.children,P=>(n(),p(M,{key:P.path,index:P.path},{default:e(()=>[a("span",null,i(P.label),1)]),_:2},1032,["index"]))),128))]),_:2},1032,["index"])):(n(),p(M,{key:1,index:m.path},{title:e(()=>[u(i(m.label),1)]),default:e(()=>[t(c,null,{default:e(()=>[(n(),p(D(m.icon)))]),_:2},1024)]),_:2},1032,["index"]))],64))),128))]),_:1},8,["default-active","collapse"]),a("div",Ke,[o[5]||(o[5]=a("span",{class:"aside-footer-badge"},"v1.6",-1)),s(d).sidebarCollapsed?T("",!0):(n(),y("span",Qe,i(s(d).activeTheme.name)+" · "+i(s(d).activeTheme.preview),1))])]),_:1},8,["width"]),t(V,{class:"container-right"},{default:e(()=>[t(le,{class:"header"},{default:e(()=>[a("div",Xe,[a("button",{class:"icon-btn",onClick:o[0]||(o[0]=m=>s(d).toggleSidebar()),title:"切换侧栏"},[t(c,{size:"18"},{default:e(()=>[s(d).sidebarCollapsed?(n(),p(s(Se),{key:1})):(n(),p(s(Ee),{key:0}))]),_:1})]),t(te,{separator:"/"},{default:e(()=>[t(U,null,{default:e(()=>[u(i(b.value),1)]),_:1}),L.value?(n(),p(U,{key:0},{default:e(()=>[u(i(L.value),1)]),_:1})):T("",!0)]),_:1})]),a("div",qe,[t(je),t(Ue),a("span",{class:A(["runmode-tag",s(l).runMode])},i(S.value),3),t(se,{trigger:"click",onCommand:ee},{dropdown:e(()=>[t(ne,null,{default:e(()=>[s(l).scope==="Platform"?(n(),p($,{key:0,command:"wizard"},{default:e(()=>[...o[6]||(o[6]=[u("配置向导",-1)])]),_:1})):T("",!0),t($,{command:"status"},{default:e(()=>[...o[7]||(o[7]=[u("服务状态",-1)])]),_:1}),t($,{command:"logout",divided:""},{default:e(()=>[...o[8]||(o[8]=[u("退出登录",-1)])]),_:1})]),_:1})]),default:e(()=>[a("span",Ye,[t(oe,{size:"small"},{default:e(()=>[u(i(_.value),1)]),_:1}),a("span",Ze,i(s(l).user?.displayName??"未登录"),1),t(c,null,{default:e(()=>[t(s(H))]),_:1})])]),_:1})])]),_:1}),t(re,{class:"main mg-content"},{default:e(()=>[t(ie,null,{default:e(({Component:m,route:P})=>[m?(n(),p(D(m),{key:P.fullPath,class:"route-page"})):T("",!0)]),_:1})]),_:1}),t(de,{class:"footer"},{default:e(()=>[a("span",null,i(b.value)+" · webVRender :"+i(v.value)+" · API "+i(E.value),1)]),_:1})]),_:1})]),_:1})])}}}),pa=q(ea,[["__scopeId","data-v-811456ba"]]);export{pa as default}; diff --git a/MiGu.Server/wwwroot/assets/BusinessConfigView-BfBO4uM6.js b/MiGu.Server/wwwroot/assets/BusinessConfigView-BfBO4uM6.js deleted file mode 100644 index 8d14125..0000000 --- a/MiGu.Server/wwwroot/assets/BusinessConfigView-BfBO4uM6.js +++ /dev/null @@ -1 +0,0 @@ -import{aN as E,bs as u,aE as V,c8 as t,aK as e,ac as B,aG as C,ai as x,bE as U,a9 as L,aa as z,ab as P,R as N,a8 as A,r as q,aJ as d,bS as v,bv as J,bL as c,c as k,a2 as W,w as F,t as G,aD as f,ad as R,G as M,B as j,C as O,g as K,ak as y,l as X,bC as H,c7 as $,bW as Q,bX as Y}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{C as D}from"./ConfigPageBase-CgfsngDp.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./PermissionGuard-CR4qtxrh.js";/* empty css */import"./reflection-BwOBPyb9.js";import"./monitorConfigCache-DXn96T8F.js";const Z=E({__name:"ExternalIntegrationView",setup(S){function m(l,_,o){const a=`${o}-${Date.now()}`,s={...l,[o]:[...l[o]??[],{id:a,name:"新端点",url:"http://",enabled:!1}]};_(s)}function h(l,_,o,a){const s={...l,[o]:(l[o]??[]).filter((n,b)=>b!==a)};_(s)}return(l,_)=>{const o=N,a=P,s=A,n=q,b=z,r=L,w=B;return u(),V(D,{section:"integrations",title:"外部系统对接",description:"MES / WMS / RCS / PTL 等标准接口配置(ExternalIntegrations)",defaults:v(k)},{default:t(({payload:T,update:I})=>[e(w,{"model-value":"mes"},{default:t(()=>[(u(),C(x,null,U(["mes","wms","rcs","ptl"],g=>e(r,{key:g,name:g,label:g.toUpperCase()},{default:t(()=>[e(b,{data:T[g]??[],size:"small",border:""},{default:t(()=>[e(a,{label:"ID",width:"120"},{default:t(i=>[e(o,{modelValue:i.row.id,"onUpdate:modelValue":p=>i.row.id=p},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(a,{label:"名称","min-width":"160"},{default:t(i=>[e(o,{modelValue:i.row.name,"onUpdate:modelValue":p=>i.row.name=p},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(a,{label:"URL","min-width":"260"},{default:t(i=>[e(o,{modelValue:i.row.url,"onUpdate:modelValue":p=>i.row.url=p},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(a,{label:"启用",width:"80"},{default:t(i=>[e(s,{modelValue:i.row.enabled,"onUpdate:modelValue":p=>i.row.enabled=p},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(a,{label:"操作",width:"80"},{default:t(i=>[e(n,{text:"",type:"danger",size:"small",onClick:p=>h(T,I,g,i.$index)},{default:t(()=>[..._[0]||(_[0]=[d("删除",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1032,["data"]),e(n,{size:"small",icon:v(J),style:{"margin-top":"8px"},onClick:i=>m(T,I,g)},{default:t(()=>[d("新增 "+c(g.toUpperCase())+" 端点",1)]),_:2},1032,["icon","onClick"])]),_:2},1032,["name","label"])),64))]),_:2},1024)]),_:1},8,["defaults"])}}}),ee={class:"tpl-title"},te={class:"tpl-meta"},ae={class:"tpl-baseline"},oe=E({__name:"ScenarioTemplateView",setup(S){return(m,h)=>{const l=R,_=G,o=F,a=W,s=M,n=O,b=j;return u(),V(D,{section:"scenario",title:"业务场景模板化",description:"SPS / Pack / 环线 / 点对点;DSL/低代码扩展(ScenarioTemplateConfig)",defaults:v(K)},{default:t(({payload:r})=>[e(a,{gutter:12},{default:t(()=>[(u(!0),C(x,null,U(r.templates,w=>(u(),V(o,{key:w.id,span:6},{default:t(()=>[e(_,{shadow:"hover",class:"tpl-card"},{default:t(()=>[f("div",ee,c(w.name),1),f("div",te,[e(l,{size:"small"},{default:t(()=>[d(c(w.category),1)]),_:2},1024),e(l,{size:"small",type:"info"},{default:t(()=>[d("v"+c(w.version),1)]),_:2},1024)]),f("pre",ae,c(w.baselineJson||"{}"),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024),e(s),e(b,{column:2,border:""},{default:t(()=>[e(n,{label:"DSL 启用"},{default:t(()=>[d(c(r.dslPolicy.enabled?"是":"否"),1)]),_:2},1024),e(n,{label:"Schema 版本"},{default:t(()=>[d(c(r.dslPolicy.schemaVersion),1)]),_:2},1024),e(n,{label:"低代码"},{default:t(()=>[d(c(r.lowCode.enabled?"启用":"关闭"),1)]),_:2},1024),e(n,{label:"编辑器"},{default:t(()=>[d(c(r.lowCode.editor),1)]),_:2},1024),e(n,{label:"保留版本"},{default:t(()=>[d(c(r.versionPolicy.keepVersions),1)]),_:2},1024),e(n,{label:"允许回滚"},{default:t(()=>[d(c(r.versionPolicy.allowRollback?"是":"否"),1)]),_:2},1024)]),_:2},1024)]),_:1},8,["defaults"])}}}),le=y(oe,[["__scopeId","data-v-4faf66a8"]]),ne={class:"js-mini"},se={class:"js-mini"},ie=E({__name:"CustomWidgetView",setup(S){return(m,h)=>{const l=P,_=R,o=z;return u(),V(D,{section:"widget",title:"自定义控件",description:"呼叫/展示界面可自由定义(platform-vue + rcsmonitor-vue 双渲染器)",defaults:v(X)},{default:t(({payload:a})=>[e(o,{data:a.items,size:"small",border:""},{default:t(()=>[e(l,{label:"ID",prop:"id",width:"180"}),e(l,{label:"名称",prop:"name",width:"140"}),e(l,{label:"Schema",prop:"schemaJson"},{default:t(s=>[f("pre",ne,c(s.row.schemaJson),1)]),_:1}),e(l,{label:"Layout",prop:"layoutJson"},{default:t(s=>[f("pre",se,c(s.row.layoutJson),1)]),_:1}),e(l,{label:"绑定 Scope"},{default:t(s=>[(u(!0),C(x,null,U(s.row.bindToScopes,n=>(u(),V(_,{key:n,size:"small",effect:"plain",style:{"margin-right":"4px"}},{default:t(()=>[d(c(n),1)]),_:2},1024))),128))]),_:1})]),_:1},8,["data"])]),_:1},8,["defaults"])}}}),ce=y(ie,[["__scopeId","data-v-96b90481"]]),_e={class:"config-hub-page"},re={class:"config-pane"},de={class:"config-pane"},ue={class:"config-pane"},me=E({__name:"BusinessConfigView",setup(S){const m=Q(),h=Y(),l=["integrations","scenario","widget"];function _(){const a=m.query.tab;return typeof a=="string"&&l.includes(a)?a:"integrations"}const o=H(_());return $(o,a=>{m.query.tab!==a&&h.replace({query:{...m.query,tab:a}})}),$(()=>m.query.tab,()=>{const a=_();a!==o.value&&(o.value=a)}),(a,s)=>{const n=L,b=B;return u(),C("div",_e,[e(b,{modelValue:o.value,"onUpdate:modelValue":s[0]||(s[0]=r=>o.value=r),class:"hub-tabs"},{default:t(()=>[e(n,{name:"integrations",label:"外部系统对接"},{default:t(()=>[f("div",re,[e(Z)])]),_:1}),e(n,{name:"scenario",label:"场景模板",lazy:""},{default:t(()=>[f("div",de,[e(le)])]),_:1}),e(n,{name:"widget",label:"自定义控件",lazy:""},{default:t(()=>[f("div",ue,[e(ce)])]),_:1})]),_:1},8,["modelValue"])])}}}),Pe=y(me,[["__scopeId","data-v-aaea055a"]]);export{Pe as default}; diff --git a/MiGu.Server/wwwroot/assets/BusinessConfigView-mcy1bFqR.css b/MiGu.Server/wwwroot/assets/BusinessConfigView-mcy1bFqR.css deleted file mode 100644 index 170d9c1..0000000 --- a/MiGu.Server/wwwroot/assets/BusinessConfigView-mcy1bFqR.css +++ /dev/null @@ -1 +0,0 @@ -.tpl-card[data-v-4faf66a8]{margin-bottom:12px}.tpl-title[data-v-4faf66a8]{font-weight:600;margin-bottom:6px}.tpl-meta[data-v-4faf66a8]{display:flex;gap:6px;margin-bottom:8px}.tpl-baseline[data-v-4faf66a8]{margin:0;font-size:11px;background:#f5f7fa;padding:6px;border-radius:4px;max-height:80px;overflow:auto}.js-mini[data-v-96b90481]{margin:0;font-size:11px;background:#f5f7fa;padding:4px 6px;border-radius:4px;max-height:60px;overflow:auto}.config-hub-page[data-v-aaea055a]{padding:16px;height:100%;display:flex;flex-direction:column;overflow:hidden}.hub-tabs[data-v-aaea055a]{flex:1;min-height:0;display:flex;flex-direction:column}[data-v-aaea055a] .el-tabs__content{flex:1;min-height:0;overflow:auto}[data-v-aaea055a] .el-tab-pane{height:100%}.config-pane[data-v-aaea055a]{height:100%;overflow:auto}[data-v-aaea055a] .el-tabs__item{color:var(--mg-text-muted, rgba(255, 255, 255, .65))}[data-v-aaea055a] .el-tabs__item.is-active{color:var(--mg-text-light, #fff)}[data-v-aaea055a] .el-tabs__active-bar{background-color:var(--mg-accent, var(--el-color-primary))}[data-v-aaea055a] .el-tabs__nav-wrap:after{background-color:#ffffff14} diff --git a/MiGu.Server/wwwroot/assets/CarPanelView-BiDARL2O.js b/MiGu.Server/wwwroot/assets/CarPanelView-BiDARL2O.js deleted file mode 100644 index e6d2a2a..0000000 --- a/MiGu.Server/wwwroot/assets/CarPanelView-BiDARL2O.js +++ /dev/null @@ -1 +0,0 @@ -import{aN as W,bs as y,aE as $,N as ae,c8 as l,aK as a,a2 as se,w as oe,O as ne,S as re,a8 as ie,z as J,aD as r,bL as w,R as de,r as Q,aJ as f,aF as P,ay as X,bC as N,ak as G,bp as Y,c9 as ue,b$ as ce,aG as j,t as pe,ad as me,ai as H,bE as q,x as fe,Q as ye,bS as ve,bD as _e,bA as K,X as V,Y as be,y as ge,L as ke,ac as Ce,a9 as Ee}from"./index-D5GfLbIx.js";/* empty css *//* empty css */import{R as Ne}from"./ReflectionManagerPanel-CqcqGxZI.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{r as B}from"./reflection-BwOBPyb9.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./projectSaveFlow-BOHSv3Vc.js";import"./useProjectionStream-ayb6RvWW.js";import"./mapEdit-BXIATxCI.js";const $e={class:"cse-color-code"},Se={class:"cse-color-code"},Ie={class:"cse-color-code"},Ae={class:"cse-model-row"},Ve=W({__name:"CarStyleEditorForm",props:{typeFullName:{},modelValue:{},hasOverride:{type:Boolean},saving:{type:Boolean}},emits:["update:modelValue","save","reset"],setup(D,{emit:C}){const x=D,b=C,c=X(()=>x.modelValue);function m(n){b("update:modelValue",{...c.value,...n})}const S=N(null);function g(){S.value?.click()}function M(n){const t=n.target,v=t.files?.[0];v&&(m({modelPath:v.name}),t.value="")}function T(n){const t=n>>>24&255,v=n>>>16&255,p=n>>>8&255,_=n&255,E=z=>z.toString(16).padStart(2,"0");return`${E(v)}${E(p)}${E(_)}${E(t)}`}function h(n){const t=n.replace(/^#/,"");if(t.length===6){const v=parseInt(t.slice(0,2),16),p=parseInt(t.slice(2,4),16),_=parseInt(t.slice(4,6),16);return(255<<24|v<<16|p<<8|_)>>>0}if(t.length===8){const v=parseInt(t.slice(0,2),16),p=parseInt(t.slice(2,4),16),_=parseInt(t.slice(4,6),16);return(parseInt(t.slice(6,8),16)<<24|v<<16|p<<8|_)>>>0}return 0}return(n,t)=>{const v=re,p=ne,_=oe,E=ie,z=se,I=J,L=Q,F=de,R=ae;return y(),$(R,{"label-width":"120px",size:"default",class:"cse-form",model:c.value},{default:l(()=>[a(z,{gutter:16},{default:l(()=>[a(_,{span:8},{default:l(()=>[a(p,{label:"长度 (m)"},{default:l(()=>[a(v,{"model-value":c.value.bodyLengthM,min:.12,max:4,step:.01,precision:2,"onUpdate:modelValue":t[0]||(t[0]=u=>m({bodyLengthM:Number(u??0)}))},null,8,["model-value"])]),_:1})]),_:1}),a(_,{span:8},{default:l(()=>[a(p,{label:"宽度 (m)"},{default:l(()=>[a(v,{"model-value":c.value.bodyWidthM,min:.08,max:3,step:.01,precision:2,"onUpdate:modelValue":t[1]||(t[1]=u=>m({bodyWidthM:Number(u??0)}))},null,8,["model-value"])]),_:1})]),_:1}),a(_,{span:8},{default:l(()=>[a(p,{label:"显示名称"},{default:l(()=>[a(E,{"model-value":c.value.showLabel,"onUpdate:modelValue":t[2]||(t[2]=u=>m({showLabel:!!u}))},null,8,["model-value"])]),_:1})]),_:1})]),_:1}),a(z,{gutter:16},{default:l(()=>[a(_,{span:8},{default:l(()=>[a(p,{label:"车体颜色"},{default:l(()=>[a(I,{"model-value":T(c.value.bodyColorArgb),"show-alpha":"","onUpdate:modelValue":t[3]||(t[3]=u=>m({bodyColorArgb:u?h(u):0}))},null,8,["model-value"]),r("code",$e,"#"+w(T(c.value.bodyColorArgb).toUpperCase()),1),t[9]||(t[9]=r("span",{class:"cse-color-hint"},"无报警/上线时生效",-1))]),_:1})]),_:1}),a(_,{span:8},{default:l(()=>[a(p,{label:"描边颜色"},{default:l(()=>[a(I,{"model-value":T(c.value.outlineColorArgb),"show-alpha":"","onUpdate:modelValue":t[4]||(t[4]=u=>m({outlineColorArgb:u?h(u):0}))},null,8,["model-value"]),r("code",Se,"#"+w(T(c.value.outlineColorArgb).toUpperCase()),1)]),_:1})]),_:1}),a(_,{span:8},{default:l(()=>[a(p,{label:"标签颜色"},{default:l(()=>[a(I,{"model-value":T(c.value.labelColorArgb),"show-alpha":"","onUpdate:modelValue":t[5]||(t[5]=u=>m({labelColorArgb:u?h(u):0}))},null,8,["model-value"]),r("code",Ie,"#"+w(T(c.value.labelColorArgb).toUpperCase()),1)]),_:1})]),_:1})]),_:1}),a(p,{label:"3D 模型路径"},{default:l(()=>[r("div",Ae,[a(F,{"model-value":c.value.modelPath,placeholder:"如 ./models/agv-base.glb(路径仅保存,3D 替换矩形渲染由后续阶段接入)",clearable:"","onUpdate:modelValue":t[6]||(t[6]=u=>m({modelPath:u??""}))},{append:l(()=>[a(L,{onClick:g},{default:l(()=>[...t[10]||(t[10]=[f("浏览…",-1)])]),_:1})]),_:1},8,["model-value"]),r("input",{ref_key:"fileInput",ref:S,type:"file",accept:".glb,.gltf,.obj,.fbx",style:{display:"none"},onChange:M},null,544)]),t[11]||(t[11]=r("p",{class:"cse-model-hint"}," 现版本仅记录文件路径作为元信息。3D 渲染替代矩形将在后续阶段实现(CycleGUI Workspace LoadModel)。 如需上传文件到服务器请先用其它方式将模型放到 SimpleLite 可访问的相对路径。 ",-1))]),_:1}),a(p,null,{default:l(()=>[a(L,{type:"primary",loading:D.saving,onClick:t[7]||(t[7]=u=>n.$emit("save"))},{default:l(()=>[...t[12]||(t[12]=[f("保存此车型",-1)])]),_:1},8,["loading"]),D.hasOverride?(y(),$(L,{key:0,type:"warning",plain:"",onClick:t[8]||(t[8]=u=>n.$emit("reset"))},{default:l(()=>[...t[13]||(t[13]=[f("恢复为默认",-1)])]),_:1})):P("",!0)]),_:1})]),_:1},8,["model"])}}}),xe=G(Ve,[["__scopeId","data-v-3cdad944"]]),Te={class:"cse-root"},Ue={class:"cse-card-header"},we={class:"cse-desc"},he={class:"cse-palette"},ze={class:"cse-palette-label"},Pe={class:"cse-palette-key"},De={class:"cse-palette-pickers"},Le={class:"cse-color-code"},Oe={class:"cse-card-header"},Be={class:"cse-row-title"},je={class:"cse-row-name"},Me={class:"cse-row-fqn"},Fe=W({__name:"CarStyleEditor",setup(D,{expose:C}){const x=N(!1),b=N(!1),c=N(!1),m=N(null),S=N([]),g=K({}),M=N(void 0),T=N([]),h=N([]),n=K({}),t=K({}),v=X(()=>{const s=new Set([...Object.keys(n),...Object.keys(t)]);for(const e of s)if(n[e]!==t[e])return!0;return!1});function p(s){return n[s]??0}function _(s,e){n[s]=e?z(e):0}function E(s){const e=s>>>24&255,i=s>>>16&255,k=s>>>8&255,A=s&255,o=U=>U.toString(16).padStart(2,"0");return`${o(i)}${o(k)}${o(A)}${o(e)}`}function z(s){const e=s.replace(/^#/,"");if(e.length===6){const i=parseInt(e.slice(0,2),16),k=parseInt(e.slice(2,4),16),A=parseInt(e.slice(4,6),16);return(255<<24|i<<16|k<<8|A)>>>0}if(e.length===8){const i=parseInt(e.slice(0,2),16),k=parseInt(e.slice(2,4),16),A=parseInt(e.slice(4,6),16);return(parseInt(e.slice(6,8),16)<<24|i<<16|k<<8|A)>>>0}return 0}async function I(){x.value=!0;try{const s=await B.getCarStyleTypes().catch(o=>(console.warn("[CarStyleEditor] getCarStyleTypes failed:",o),null)),e=await B.getAlarmColors().catch(o=>(console.warn("[CarStyleEditor] getAlarmColors failed:",o),null)),i=Array.isArray(s?.types)?s.types:[];S.value=i;for(const o of i)g[o.typeName]={...o.style};for(const o of Object.keys(g))i.find(U=>U.typeName===o)||delete g[o];const k=Array.isArray(e?.entries)?e.entries:[],A=Array.isArray(e?.defaultKeys)?e.defaultKeys:[];T.value=A,h.value=k;for(const o of Object.keys(n))delete n[o];for(const o of Object.keys(t))delete t[o];for(const o of k){if(!o?.key)continue;const U=Number(o.colorArgb)>>>0;n[o.key]=U,t[o.key]=U}(!s||!e)&&V.warning("车型样式 / 报警颜色加载部分失败,请确认 SimpleLite 已启动(端口 8222)。")}catch(s){V.error(`加载车型样式失败:${s.message}`)}finally{x.value=!1}}async function L(){if(v.value){b.value=!0;try{await B.putAlarmColors({...n}),V.success("调色板已写入并生效"),await I()}catch(s){V.error(`保存调色板失败:${s.message}`)}finally{b.value=!1}}}function F(){c.value=!0;const s={避障:4294940672,运行:4283215696,上线:4280391411,下线:4288585374,导航失联:4288423856,报警:4294198070,低电量:4294951175};for(const e of Object.keys(n))delete n[e];for(const e of Object.keys(s))n[e]=s[e];c.value=!1,V.info("已恢复为 7 种默认颜色,未写入。点「保存调色板」生效。")}async function R(s){const e=g[s.typeName];if(e){m.value=s.typeName;try{const i=await B.putCarStyle(s.typeName,e);g[s.typeName]={...i},s.hasOverride=!0,V.success(`已保存 ${s.label} 车型样式`)}catch(i){V.error(`保存 ${s.label} 失败:${i.message}`)}finally{m.value=null}}}async function u(s){try{await be.confirm(`把 ${s.label} (${s.typeName}) 的样式恢复为全局默认?删除条目后将与未覆盖车型一致。`,"恢复默认",{confirmButtonText:"恢复",cancelButtonText:"取消",type:"warning"})}catch{return}try{await B.deleteCarStyle(s.typeName),V.success(`已恢复 ${s.label} 为默认样式`),await I()}catch(e){V.error(`恢复默认失败:${e.message}`)}}return Y(I),C({refresh:I}),(s,e)=>{const i=me,k=Q,A=J,o=pe,U=ye,Z=ge,ee=fe,te=ke,le=ce;return ue((y(),j("div",Te,[a(o,{shadow:"never",class:"cse-card"},{header:l(()=>[r("div",Ue,[e[4]||(e[4]=r("span",{class:"cse-card-title"},"报警 / 状态调色板",-1)),a(i,{size:"small",type:"info",effect:"plain"},{default:l(()=>[...e[1]||(e[1]=[f("7 种默认状态",-1)])]),_:1}),e[5]||(e[5]=r("span",{class:"cse-card-spacer"},null,-1)),a(k,{size:"small",loading:c.value,onClick:F},{default:l(()=>[...e[2]||(e[2]=[f("恢复默认",-1)])]),_:1},8,["loading"]),a(k,{size:"small",type:"primary",disabled:!v.value,loading:b.value,onClick:L},{default:l(()=>[...e[3]||(e[3]=[f(" 保存调色板(写入 simple.json) ",-1)])]),_:1},8,["disabled","loading"])])]),default:l(()=>[r("p",we,[e[9]||(e[9]=f(" 车体颜色的判定优先级: ",-1)),a(i,{size:"small",effect:"plain"},{default:l(()=>[...e[6]||(e[6]=[f("1. AlarmInfo 非空 → 「报警」",-1)])]),_:1}),a(i,{size:"small",effect:"plain"},{default:l(()=>[...e[7]||(e[7]=[f("2. lstatus 包含关键字 → 对应键",-1)])]),_:1}),a(i,{size:"small",effect:"plain"},{default:l(()=>[...e[8]||(e[8]=[f("3. 兜底 → 上下线默认色",-1)])]),_:1}),e[10]||(e[10]=f(" 修改下方颜色 + 「保存调色板」即时生效。 ",-1))]),r("div",he,[(y(!0),j(H,null,q(h.value,d=>(y(),j("div",{key:d.key,class:"cse-palette-item"},[r("div",ze,[r("span",Pe,w(d.key),1),d.isDefault?P("",!0):(y(),$(i,{key:0,size:"small",type:"warning",effect:"plain"},{default:l(()=>[...e[11]||(e[11]=[f("自定义",-1)])]),_:1}))]),r("div",De,[a(A,{"model-value":E(p(d.key)),"show-alpha":"",size:"small","onUpdate:modelValue":O=>_(d.key,O)},null,8,["model-value","onUpdate:modelValue"]),r("code",Le,"#"+w(E(p(d.key)).toUpperCase()),1)])]))),128))])]),_:1}),a(o,{shadow:"never",class:"cse-card cse-types-card"},{header:l(()=>[r("div",Oe,[e[13]||(e[13]=r("span",{class:"cse-card-title"},"车型样式",-1)),a(i,{size:"small",type:"info",effect:"plain"},{default:l(()=>[f(w(S.value.length)+" 个已加载车型",1)]),_:1}),e[14]||(e[14]=r("span",{class:"cse-card-spacer"},null,-1)),a(k,{size:"small",onClick:I},{default:l(()=>[a(U,null,{default:l(()=>[a(ve(_e))]),_:1}),e[12]||(e[12]=r("span",{class:"cse-btn-text"},"刷新",-1))]),_:1})])]),default:l(()=>[e[17]||(e[17]=r("p",{class:"cse-desc"}," 点击车型行展开编辑:尺寸(米)、车体 / 描边 / 标签颜色、是否显示名称、3D 模型文件路径。 每辆车按 .NET 类型 (`assemblyName::shortName`) 索引样式。修改后点行内「保存」即时写入并生效。 ",-1)),a(ee,{modelValue:M.value,"onUpdate:modelValue":e[0]||(e[0]=d=>M.value=d),accordion:""},{default:l(()=>[(y(!0),j(H,null,q(S.value,d=>(y(),$(Z,{key:d.typeName,name:d.typeName},{title:l(()=>[r("div",Be,[r("span",je,w(d.label),1),r("code",Me,w(d.typeName),1),d.hasOverride?(y(),$(i,{key:0,size:"small",type:"success",effect:"plain"},{default:l(()=>[...e[15]||(e[15]=[f("已覆盖",-1)])]),_:1})):(y(),$(i,{key:1,size:"small",type:"info",effect:"plain"},{default:l(()=>[...e[16]||(e[16]=[f("默认",-1)])]),_:1}))])]),default:l(()=>[g[d.typeName]?(y(),$(xe,{key:0,"type-full-name":d.typeName,"model-value":g[d.typeName],"has-override":d.hasOverride,saving:m.value===d.typeName,"onUpdate:modelValue":O=>g[d.typeName]=O,onSave:O=>R(d),onReset:O=>u(d)},null,8,["type-full-name","model-value","has-override","saving","onUpdate:modelValue","onSave","onReset"])):P("",!0)]),_:2},1032,["name"]))),128))]),_:1},8,["modelValue"]),!x.value&&S.value.length===0?(y(),$(te,{key:0,description:"未发现任何 Car 子类(请确认 SimpleLite 已加载相应插件 dll)"})):P("",!0)]),_:1})])),[[le,x.value]])}}}),Re=G(Fe,[["__scopeId","data-v-3af8f925"]]),Ke={class:"car-page"},We=W({__name:"CarPanelView",setup(D){const C=N("list");function x(b){C.value=b,sessionStorage.setItem("admin.cars.tab",C.value)}return Y(()=>{const b=sessionStorage.getItem("admin.cars.tab");(b==="list"||b==="style")&&(C.value=b)}),(b,c)=>{const m=Ee,S=Ce;return y(),j("div",Ke,[a(S,{modelValue:C.value,"onUpdate:modelValue":c[0]||(c[0]=g=>C.value=g),type:"border-card",class:"car-tabs admin-tabs",onTabChange:x},{default:l(()=>[a(m,{label:"车辆列表",name:"list"},{default:l(()=>[C.value==="list"?(y(),$(Ne,{key:0,kind:"car","kind-label":"车辆",title:"车辆管理(Car / AbstractCar,含模拟车、插件车型 reflectionApi 实例化)","empty-text":"当前没有车辆;点击右上角「新建车辆」从已加载的 CarType 中选一个实例化。","enable-project-save":""})):P("",!0)]),_:1}),a(m,{label:"车型样式 / 报警颜色",name:"style"},{default:l(()=>[C.value==="style"?(y(),$(Re,{key:0})):P("",!0)]),_:1})]),_:1},8,["modelValue"])])}}}),Et=G(We,[["__scopeId","data-v-a07bde0e"]]);export{Et as default}; diff --git a/MiGu.Server/wwwroot/assets/CarPanelView-CyQ-iKoo.css b/MiGu.Server/wwwroot/assets/CarPanelView-CyQ-iKoo.css deleted file mode 100644 index fc799d0..0000000 --- a/MiGu.Server/wwwroot/assets/CarPanelView-CyQ-iKoo.css +++ /dev/null @@ -1 +0,0 @@ -.cse-form[data-v-3cdad944]{padding:8px 4px}.cse-color-code[data-v-3cdad944]{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;color:var(--el-text-color-secondary);margin-left:8px}.cse-color-hint[data-v-3cdad944]{font-size:12px;color:var(--el-text-color-secondary);margin-left:8px}.cse-model-row[data-v-3cdad944]{display:flex;align-items:center;gap:8px;width:100%}.cse-model-hint[data-v-3cdad944]{margin:6px 0 0;font-size:12px;color:var(--el-text-color-secondary);line-height:1.55}.cse-root[data-v-3af8f925]{height:100%;display:flex;flex-direction:column;gap:12px;padding:12px;box-sizing:border-box;overflow:auto}.cse-card[data-v-3af8f925] .el-card__body{padding:12px 16px}.cse-card-header[data-v-3af8f925]{display:flex;align-items:center;gap:10px}.cse-card-title[data-v-3af8f925]{font-weight:600}.cse-card-spacer[data-v-3af8f925]{flex:1}.cse-desc[data-v-3af8f925]{margin:0 0 12px;color:var(--el-text-color-primary);font-size:13px;line-height:1.65;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cse-palette[data-v-3af8f925]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.cse-palette-item[data-v-3af8f925]{border:1px solid var(--el-border-color);background:var(--el-fill-color-light);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.cse-palette-label[data-v-3af8f925]{display:flex;align-items:center;gap:6px}.cse-palette-key[data-v-3af8f925]{font-weight:600;color:var(--el-text-color-primary)}.cse-palette-pickers[data-v-3af8f925]{display:flex;align-items:center;gap:8px}.cse-color-code[data-v-3af8f925]{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;color:var(--el-text-color-secondary)}.cse-types-card[data-v-3af8f925]{flex:1}.cse-row-title[data-v-3af8f925]{display:flex;align-items:center;gap:8px;width:100%}.cse-row-name[data-v-3af8f925]{font-weight:600}.cse-row-fqn[data-v-3af8f925]{font-family:JetBrains Mono,Consolas,monospace;font-size:12px;color:var(--el-text-color-secondary);flex:1;text-align:left;word-break:break-all}.cse-btn-text[data-v-3af8f925]{margin-left:4px}.car-page[data-v-a07bde0e]{height:calc(100vh - 56px);padding:12px 14px;box-sizing:border-box;display:flex;flex-direction:column}.car-tabs[data-v-a07bde0e]{flex:1;display:flex;flex-direction:column;overflow:hidden}.car-tabs[data-v-a07bde0e] .el-tabs__content{flex:1;overflow:hidden;padding:0}.car-tabs[data-v-a07bde0e] .el-tab-pane{height:100%;overflow:hidden} diff --git a/MiGu.Server/wwwroot/assets/ConfigPageBase-CgfsngDp.js b/MiGu.Server/wwwroot/assets/ConfigPageBase-CgfsngDp.js deleted file mode 100644 index bbc6875..0000000 --- a/MiGu.Server/wwwroot/assets/ConfigPageBase-CgfsngDp.js +++ /dev/null @@ -1 +0,0 @@ -import{b4 as J,e as z,aO as L,aN as R,bC as S,c7 as D,bp as V,bs as k,aE as B,c8 as r,aK as l,t as j,aG as G,bL as y,aF as w,aD as p,a2 as I,w as U,bF as W,aJ as u,ad as X,r as q,bS as T,bD as H,at as Q,ay as E,X as m,ak as Y}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{P as Z}from"./PermissionGuard-CR4qtxrh.js";import{b as tt,r as C}from"./reflection-BwOBPyb9.js";import{i as et}from"./monitorConfigCache-DXn96T8F.js";async function at(t){const{data:e}=await J.get(`/config/${t}`);return e}async function ot(t,e){const{data:a}=await J.put(`/config/${t}`,e);return a}function h(){return JSON.parse(JSON.stringify(z.monitor))}function b(t){const e=JSON.parse(JSON.stringify(z));if(!t)return e;const a={...h(),...t.monitor??{},car:{...h().car,...t.monitor?.car??{}},site:{...h().site,...t.monitor?.site??{}},track:{...h().track,...t.monitor?.track??{}},carActionByType:{...t.monitor?.carActionByType??{}}};return{...e,...t,playback:{...e.playback,...t.playback??{}},logRetention:{...e.logRetention,...t.logRetention??{}},version:{...e.version,...t.version??{}},monitor:a}}function M(t){const e={};if(!t)return e;for(const[a,o]of Object.entries(t))!a||!Array.isArray(o)||(e[a]=[...o]);return e}function nt(t){return{carActionByType:M(t.carActionByType),siteActionKeys:[...t.site?.methods??[]],trackActionKeys:[...t.track?.methods??[]]}}async function kt(t,e){const a=b(t);let o=null;try{o=(e??await C.getMonitorConfig()).config;const d=nt(o);a.monitor.carActionByType=d.carActionByType,a.monitor.site.actionKeys=d.siteActionKeys,a.monitor.track.actionKeys=d.trackActionKeys}catch{}return{config:a,cache:o}}async function Ct(t,e){const a=b(t).monitor;let o=e?.cachedRoot??tt();if(!e?.cachedRoot)try{o=(await C.getMonitorConfig()).config}catch{}const c=await C.saveMonitorConfig({car:{fields:[...o.car?.fields??[]],status:[...o.car?.status??[]],methods:[...o.car?.methods??[]]},site:{fields:[...o.site?.fields??[]],status:[...o.site?.status??[]],methods:[...a.site.actionKeys]},track:{fields:[...o.track?.fields??[]],status:[...o.track?.status??[]],methods:[...a.track.actionKeys]},carActionByType:M(a.carActionByType)});return et(),c}const st=L("config",{state:()=>({cache:{},loading:{}}),actions:{async load(t,e=!1){if(!e&&this.cache[t])return this.cache[t];this.loading[t]=!0;try{const a=await at(t);return t==="ops"&&a.payload&&(a.payload=b(a.payload)),this.cache[t]=a,a}finally{this.loading[t]=!1}},async save(t,e){this.loading[t]=!0;try{const a=t==="ops"?b(e):e,o=await ot(t,a);return this.cache[t]=o,o}finally{this.loading[t]=!1}}}}),it={class:"cpb-header"},rt={class:"cpb-title"},ct={key:0,class:"cpb-desc"},lt={class:"cpb-body"},dt={class:"cpb-json"},ft=R({__name:"ConfigPageBase",props:{section:{},title:{},description:{},defaults:{},normalizePayload:{type:Function},afterLoad:{type:Function},beforeSave:{type:Function},afterSave:{type:Function}},setup(t){const e=t,a=st(),o=S(null),c=S(JSON.parse(JSON.stringify(e.defaults))),d=S(!1),v=S(!1),P=E(()=>JSON.stringify(c.value,null,2)),$=E(()=>o.value?.updatedAt?new Date(o.value.updatedAt).toLocaleString("zh-CN"):"—");function A(i){c.value=i}function x(i){let n=JSON.parse(JSON.stringify(i||e.defaults));e.normalizePayload&&(n=e.normalizePayload(n)),c.value=n}async function N(i,n){d.value=!0;try{const s=await a.load(e.section,i);o.value=s,x(s.payload),e.afterLoad&&await e.afterLoad(c.value,A),n&&m.success("已重载")}catch(s){m.error(`加载失败:${s instanceof Error?s.message:String(s)}`)}finally{d.value=!1}}async function _(i=!1){await N(i,i)}async function F(){v.value=!0;let i=c.value;if(e.normalizePayload&&(i=e.normalizePayload(i)),e.beforeSave)try{await e.beforeSave(i)}catch(s){m.error(`地图监控配置保存失败:${s instanceof Error?s.message:String(s)}`),v.value=!1;return}let n="";try{const s=await a.save(e.section,i);if(o.value=s,c.value=i,e.afterSave)try{await e.afterSave(i)}catch(f){n=`(平台配置已保存,但 SimpleLite 同步失败:${f instanceof Error?f.message:String(f)})`}await N(!0,!1);const g=e.beforeSave||e.afterSave?",地图监控配置已写入 SimpleLite":"";m.success(`已保存 v${s.version}${g}${n}`)}catch(s){m.error(`保存失败:${s instanceof Error?s.message:String(s)}`)}finally{v.value=!1}}return D(()=>e.section,()=>_()),V(()=>_()),(i,n)=>{const s=X,g=q,f=j,O=U,K=I;return k(),B(Z,{"widget-id":"ConfigCenter"},{default:r(()=>[l(f,{shadow:"never"},{header:r(()=>[p("div",it,[p("span",rt,y(t.title),1),l(s,{size:"small",effect:"plain"},{default:r(()=>[u("section="+y(t.section),1)]),_:1}),l(s,{size:"small",type:"info",effect:"plain"},{default:r(()=>[u("v"+y(o.value?.version??"-"),1)]),_:1}),o.value?.updatedAt?(k(),B(s,{key:0,size:"small",type:"success",effect:"plain"},{default:r(()=>[u(y($.value),1)]),_:1})):w("",!0),n[3]||(n[3]=p("div",{class:"spacer"},null,-1)),l(g,{size:"small",icon:T(H),loading:d.value,onClick:n[0]||(n[0]=ut=>_(!0))},{default:r(()=>[...n[1]||(n[1]=[u("重载",-1)])]),_:1},8,["icon","loading"]),l(g,{size:"small",type:"primary",icon:T(Q),loading:v.value,onClick:F},{default:r(()=>[...n[2]||(n[2]=[u("保存",-1)])]),_:1},8,["icon","loading"])])]),default:r(()=>[t.description?(k(),G("p",ct,y(t.description),1)):w("",!0),p("div",lt,[l(K,{gutter:12},{default:r(()=>[l(O,{span:14},{default:r(()=>[l(f,{shadow:"never","body-style":"padding: 12px"},{header:r(()=>[...n[4]||(n[4]=[u("表单",-1)])]),default:r(()=>[W(i.$slots,"default",{payload:c.value,update:A},void 0,!0)]),_:3})]),_:3}),l(O,{span:10},{default:r(()=>[l(f,{shadow:"never","body-style":"padding: 0"},{header:r(()=>[...n[5]||(n[5]=[u("JSON 预览(保存即下发占位)",-1)])]),default:r(()=>[p("pre",dt,y(P.value),1)]),_:1})]),_:1})]),_:3})])]),_:3})]),_:3})}}}),At=Y(ft,[["__scopeId","data-v-1d51a575"]]);export{At as C,M as c,h as d,kt as l,b as n,Ct as s,st as u}; diff --git a/MiGu.Server/wwwroot/assets/ConfigPageBase-DOgE48Ff.css b/MiGu.Server/wwwroot/assets/ConfigPageBase-DOgE48Ff.css deleted file mode 100644 index f529b76..0000000 --- a/MiGu.Server/wwwroot/assets/ConfigPageBase-DOgE48Ff.css +++ /dev/null @@ -1 +0,0 @@ -.cpb-header[data-v-1d51a575]{display:flex;align-items:center;gap:8px}.cpb-title[data-v-1d51a575]{font-weight:600;font-size:15px;color:var(--mg-text-light)}.cpb-header .spacer[data-v-1d51a575]{flex:1}.cpb-desc[data-v-1d51a575]{color:var(--mg-text-muted);font-size:12.5px;margin:0 0 14px;line-height:1.6}.cpb-body[data-v-1d51a575]{margin-top:4px}.cpb-json[data-v-1d51a575]{margin:0;padding:14px;font-size:12px;line-height:1.55;font-family:ui-monospace,Menlo,Consolas,monospace;background:var(--mg-veil-2);color:var(--mg-text-light);max-height:520px;overflow:auto} diff --git a/MiGu.Server/wwwroot/assets/DashboardView-Rj8saK5Q.js b/MiGu.Server/wwwroot/assets/DashboardView-Rj8saK5Q.js deleted file mode 100644 index 49a6062..0000000 --- a/MiGu.Server/wwwroot/assets/DashboardView-Rj8saK5Q.js +++ /dev/null @@ -1,22 +0,0 @@ -import{aN as cd,bC as me,bp as fd,bj as hd,br as pd,aG as Lt,aD as z,bk as Se,bL as yt,aJ as $e,ai as Ye,bE as Ze,aI as xl,aK as $t,c8 as Ht,ay as Yt,t as dd,bX as gd,bs as bt,bl as ui,aE as vi,bH as bl,Q as yd,bS as Oa,bR as md,c1 as _l,aF as wl,bu as Sd,ac as xd,a9 as bd,aq as _d,T as wd,bJ as Ad,bt as ci,ao as Td,bQ as Cd,c6 as Dd,bb as Ld,bv as Id,X as Md,aC as Pd,aA as Ed,ar as Rd,ba as kd,ak as Vd}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css *//* empty css */import{es as Al,ac as V,c6 as Nd,dd as mo,cn as os,ah as fa,ba as D,f as Tt,d9 as lf,d4 as uf,d2 as $,bm as Gt,z as mt,n as So,dS as Rt,J as Te,b6 as ot,X as ha,b8 as dr,cP as sn,P as Wt,y as ss,dF as zd,b1 as Gd,dl as Ne,cV as Dt,a8 as kr,cv as gt,cI as Mt,bz as ht,dw as U,dB as Od,ea as Bd,eb as vf,c5 as Fd,cu as Hd,cJ as Wd,ca as Ut,c7 as Pt,eq as xt,ag as cf,co as qe,aa as Re,di as pa,bI as Ud,m as Tl,bf as $d,j as ff,cH as lt,aL as Yd,aH as Zd,bk as K,bR as hf,cA as le,bN as pf,cR as Xd,a6 as df,bC as Fn,D as qd,ae as Kd,bJ as jd,a4 as Jd,c3 as Qd,dv as tg,l as eg,cz as rg,cE as ag,dX as ng,cy as ig,ak as da,aT as og,au as pt,bL as sg,cw as gf,cD as ls,bA as lg,c4 as ug,bT as vg,cp as q,cC as Zt,bV as Cl,be as cg,df as yr,dh as yf,cT as Nt,bH as fe,Z as Be,dQ as mf,C as kt,ab as St,bS as Vr,dY as Fe,e8 as ae,el as Et,e5 as ue,bE as Qt,dT as Ur,dC as Hn,_ as re,an as at,b3 as st,d0 as us,bO as fg,b4 as La,$ as Ft,aR as Sf,aY as $r,G as nt,aZ as ve,dz as Wn,a3 as Un,er as it,cb as hg,bn as pg,F as Ae,b$ as Yr,dn as Ia,dU as dg,b0 as ne,d5 as Ct,x as ce,da as Ce,b as $n,al as gg,h as Xt,a as mr,g as Ma,N as xf,d8 as be,i as te,A as ke,I as xo,af as yg,K as Bt,c2 as Z,aO as mg,t as Sg,v as _e,R as xg,w as vs,ep as bg,dV as Yn,dZ as bf,en as Sr,aI as Zr,aP as ut,bZ as _f,Q as Zn,s as xr,e3 as Br,aU as cs,e9 as fs,bb as _g,a9 as Pa,e7 as wf,aE as wg,aF as Kt,U as Ar,d6 as hs,dR as se,dK as Af,bo as Tf,bq as Xn,a2 as Cf,aA as fn,H as Ag,dP as hn,e as Df,aD as ze,bw as bo,dp as Jt,dA as ps,bs as Tg,a$ as At,o as Qe,et as pn,cx as Dl,e1 as ra,bd as Ll,dj as Cg,d1 as Lf,dr as Dg,ef as fi,bl as hi,db as dn,dc as la,M as Il,av as je,dg as Ea,d_ as Lg,aJ as Ig,eg as Nr,cO as Ml,e0 as Mg,d$ as _o,dW as ds,bh as ga,cN as ya,dm as Ra,eo as qn,dG as Pg,dD as If,b9 as Eg,k as Mf,b5 as Rg,Y as Pl,e2 as El,e6 as kg,dq as Vg,bj as Ng,aS as Pf,as as zg,aX as gs,de as gn,ai as Gr,ed as ys,aj as br,ej as Gg,dO as Og,u as Bg,em as Ef,bX as ua,at as Fg,c1 as ms,am as yn,c0 as wo,by as Ao,c$ as Hg,dH as pi,V as Rf,ek as It,aW as Ss,aK as Kn,eh as di,aN as Wg,aw as Ug,dE as $g,aB as Rl,aC as Yg,dy as kl,cr as jn,bx as To,cB as Zg,c8 as Jn,d as Vl,cK as Xg,aV as qg,E as Kg,cF as jg,cQ as Jg,br as ka,a5 as ma,ay as Qg,cq as kf,a_ as Nl,bF as ty,bB as Vf,cY as ey,bU as Nf,aq as zf,ar as ry,B as Gf,c_ as zl,cX as Of,bt as Bf,bu as Gl,c as Va,cs as Ff,cc as xs,dJ as ay,dI as ny,ei as iy,ap as oy,bY as sy,cZ as ly,bG as uy,ec as vy,d7 as Hf,bp as cy,bK as Ol,dt as fy,d3 as hy,aG as py,L as dy,q as gy,r as yy,cm as my,aQ as Wf,cL as Sy,cU as xy,bi as Uf,dM as bs,ct as by,ad as Bl,du as $f,dN as _y,cW as wy,bD as Yf,e4 as Zf,cS as Ba,bv as Ay,p as _s,bc as gi,dx as Co,a7 as Ty,O as Cy,ds as mn,bP as Dy,bg as Ly,cM as Iy,b_ as Qn,bW as My,dk as Py,ee as Do,az as Ey,dL as Fl,ao as Ry,bQ as Xf,aM as ky,cG as Vy,a0 as Ny,W as zy,a1 as Gy,b7 as Hl,S as Oy,b2 as Sn,ax as ws,T as yi,bM as By,cd as Fy,ce as Hy,cf as Wy,cg as Uy,ch as $y,ci as Yy,cj as Zy,ck as Xy,cl as qy,c9 as Wl}from"./install-D_iTbSFG.js";import{b as Ky,c as jy,l as Jy,a as Qy}from"./projection-BHFE6Meg.js";import"./reflection-BwOBPyb9.js";var tm=1e-8;function Ul(a,e){return Math.abs(a-e) n&&(r=o,n=l)}if(r)return rm(r.exterior);var u=this.getBoundingRect();return[u.x+u.width/2,u.y+u.height/2]},e.prototype.getBoundingRect=function(t){var r=this._rect;if(r&&!t)return r;var n=[1/0,1/0],i=[-1/0,-1/0],o=this.geometries;return D(o,function(s){s.type==="polygon"?$l(s.exterior,n,i,t):D(s.points,function(l){$l(l,n,i,t)})}),isFinite(n[0])&&isFinite(n[1])&&isFinite(i[0])&&isFinite(i[1])||(n[0]=n[1]=i[0]=i[1]=0),r=new Tt(n[0],n[1],i[0]-n[0],i[1]-n[1]),t||(this._rect=r),r},e.prototype.contain=function(t){var r=this.getBoundingRect(),n=this.geometries;if(!r.contain(t[0],t[1]))return!1;t:for(var i=0,o=n.length;i >1^-(s&1),l=l>>1^-(l&1),s+=n,l+=i,n=s,i=l,r.push([s/t,l/t])}return r}function im(a,e){return a=nm(a),$(Gt(a.features,function(t){return t.geometry&&t.properties&&t.geometry.coordinates.length>0}),function(t){var r=t.properties,n=t.geometry,i=[];switch(n.type){case"Polygon":var o=n.coordinates;i.push(new Yl(o[0],o.slice(1)));break;case"MultiPolygon":D(n.coordinates,function(l){l[0]&&i.push(new Yl(l[0],l.slice(1)))});break;case"LineString":i.push(new Zl([n.coordinates]));break;case"MultiLineString":i.push(new Zl(n.coordinates))}var s=new Kf(r[e||"name"],i,r.cp);return s.properties=r,s})}var qr=Math.PI*2,ar=ss.CMD,om=["top","right","bottom","left"];function sm(a,e,t,r,n){var i=t.width,o=t.height;switch(a){case"top":r.set(t.x+i/2,t.y-e),n.set(0,-1);break;case"bottom":r.set(t.x+i/2,t.y+o+e),n.set(0,1);break;case"left":r.set(t.x-e,t.y+o/2),n.set(-1,0);break;case"right":r.set(t.x+i+e,t.y+o/2),n.set(1,0);break}}function lm(a,e,t,r,n,i,o,s,l){o-=a,s-=e;var u=Math.sqrt(o*o+s*s);o/=u,s/=u;var v=o*t+a,c=s*t+e;if(Math.abs(r-n)%qr<1e-4)return l[0]=v,l[1]=c,u-t;if(i){var f=r;r=Ne(n),n=Ne(f)}else r=Ne(r),n=Ne(n);r>n&&(n+=qr);var h=Math.atan2(s,o);if(h<0&&(h+=qr),h>=r&&h<=n||h+qr>=r&&h+qr<=n)return l[0]=v,l[1]=c,u-t;var p=t*Math.cos(r)+a,d=t*Math.sin(r)+e,g=t*Math.cos(n)+a,y=t*Math.sin(n)+e,S=(p-o)*(p-o)+(d-s)*(d-s),m=(g-o)*(g-o)+(y-s)*(y-s);return S 0){e=e/180*Math.PI,we.fromArray(a[0]),dt.fromArray(a[1]),wt.fromArray(a[2]),mt.sub(Ee,we,dt),mt.sub(Pe,wt,dt);var t=Ee.len(),r=Pe.len();if(!(t<.001||r<.001)){Ee.scale(1/t),Pe.scale(1/r);var n=Ee.dot(Pe),i=Math.cos(e);if(i 1&&mt.copy(jt,wt),jt.toArray(a[1])}}}}function cm(a,e,t){if(t<=180&&t>0){t=t/180*Math.PI,we.fromArray(a[0]),dt.fromArray(a[1]),wt.fromArray(a[2]),mt.sub(Ee,dt,we),mt.sub(Pe,wt,dt);var r=Ee.len(),n=Pe.len();if(!(r<.001||n<.001)){Ee.scale(1/r),Pe.scale(1/n);var i=Ee.dot(e),o=Math.cos(t);if(i =l)mt.copy(jt,wt);else{jt.scaleAndAdd(Pe,s/Math.tan(Math.PI/2-v));var c=wt.x!==dt.x?(jt.x-dt.x)/(wt.x-dt.x):(jt.y-dt.y)/(wt.y-dt.y);if(isNaN(c))return;c<0?mt.copy(jt,dt):c>1&&mt.copy(jt,wt)}jt.toArray(a[1])}}}}function xi(a,e,t,r){var n=t==="normal",i=n?a:a.ensureState(t);i.ignore=e;var o=r.get("smooth");o&&o===!0&&(o=.3),i.shape=i.shape||{},o>0&&(i.shape.smooth=o);var s=r.getModel("lineStyle").getLineStyle();n?a.useStyle(s):i.style=s}function fm(a,e){var t=e.smooth,r=e.points;if(r)if(a.moveTo(r[0][0],r[0][1]),t>0&&r.length>=3){var n=dr(r[0],r[1]),i=dr(r[1],r[2]);if(!n||!i){a.lineTo(r[1][0],r[1][1]),a.lineTo(r[2][0],r[2][1]);return}var o=Math.min(n,i)*t,s=sn([],r[1],r[0],o/n),l=sn([],r[1],r[2],o/i),u=sn([],s,l,.5);a.bezierCurveTo(s[0],s[1],s[0],s[1],u[0],u[1]),a.bezierCurveTo(l[0],l[1],l[0],l[1],r[2][0],r[2][1])}else for(var v=1;v =0&&r.attr(i.oldLayoutSelect),Pt(f,"emphasis")>=0&&r.attr(i.oldLayoutEmphasis)),xt(r,u,t,l)}else if(r.attr(u),!Wd(r).valueAnimation){var c=Rt(r.style.opacity,1);r.style.opacity=0,Ut(r,{style:{opacity:c}},t,l)}if(i.oldLayout=u,r.states.select){var h=i.oldLayoutSelect={};Fa(h,u,Ha),Fa(h,r.states.select,Ha)}if(r.states.emphasis){var p=i.oldLayoutEmphasis={};Fa(p,u,Ha),Fa(p,r.states.emphasis,Ha)}cf(r,l,v,t,t)}if(n&&!n.ignore&&!n.invisible){var i=dm(n),o=i.oldLayout,d={points:n.shape.points};o?(n.attr({shape:o}),xt(n,{shape:d},t)):(n.setShape(d),n.style.strokePercent=0,Ut(n,{style:{strokePercent:1}},t)),i.oldLayout=d}},a}(),_i=Dt();function ym(a){a.registerUpdateLifecycle("series:beforeupdate",function(e,t,r){var n=_i(t).labelManager;n||(n=_i(t).labelManager=new gm),n.clearLabels()}),a.registerUpdateLifecycle("series:layoutlabels",function(e,t,r){var n=_i(t).labelManager;r.updatedSeries.forEach(function(i){n.addLabelsOfSeries(t.getViewOfSeriesModel(i))}),n.updateLayoutConfig(t),n.layout(t),n.processLabelsOverall()})}var wi=Math.sin,Ai=Math.cos,th=Math.PI,nr=Math.PI*2,mm=180/th,eh=function(){function a(){}return a.prototype.reset=function(e){this._start=!0,this._d=[],this._str="",this._p=Math.pow(10,e||4)},a.prototype.moveTo=function(e,t){this._add("M",e,t)},a.prototype.lineTo=function(e,t){this._add("L",e,t)},a.prototype.bezierCurveTo=function(e,t,r,n,i,o){this._add("C",e,t,r,n,i,o)},a.prototype.quadraticCurveTo=function(e,t,r,n){this._add("Q",e,t,r,n)},a.prototype.arc=function(e,t,r,n,i,o){this.ellipse(e,t,r,r,0,n,i,o)},a.prototype.ellipse=function(e,t,r,n,i,o,s,l){var u=s-o,v=!l,c=Math.abs(u),f=qe(c-nr)||(v?u>=nr:-u>=nr),h=u>0?u%nr:u%nr+nr,p=!1;f?p=!0:qe(c)?p=!1:p=h>=th==!!v;var d=e+r*Ai(o),g=t+n*wi(o);this._start&&this._add("M",d,g);var y=Math.round(i*mm);if(f){var S=1/this._p,m=(v?1:-1)*(nr-S);this._add("A",r,n,y,1,+v,e+r*Ai(o+m),t+n*wi(o+m)),S>.01&&this._add("A",r,n,y,0,+v,d,g)}else{var x=e+r*Ai(s),b=t+n*wi(s);this._add("A",r,n,y,+p,+v,x,b)}},a.prototype.rect=function(e,t,r,n){this._add("M",e,t),this._add("l",r,0),this._add("l",0,n),this._add("l",-r,0),this._add("Z")},a.prototype.closePath=function(){this._d.length>0&&this._add("Z")},a.prototype._add=function(e,t,r,n,i,o,s,l,u){for(var v=[],c=this._p,f=1;f "}function Dm(a){return""+a+">"}function Ds(a,e){e=e||{};var t=e.newline?` -`:"";function r(n){var i=n.children,o=n.tag,s=n.attrs,l=n.text;return Cm(o,s)+(o!=="style"?$d(l):l||"")+(i?""+t+$(i,function(u){return r(u)}).join(t)+t:"")+Dm(o)}return r(a)}function Lm(a,e,t){t=t||{};var r=t.newline?` -`:"",n=" {"+r,i=r+"}",o=$(Mt(a),function(l){return l+n+$(Mt(a[l]),function(u){return u+":"+a[l][u]+";"}).join(r)+i}).join(r),s=$(Mt(e),function(l){return"@keyframes "+l+n+$(Mt(e[l]),function(u){return u+n+$(Mt(e[l][u]),function(v){var c=e[l][u][v];return v==="d"&&(c='path("'+c+'")'),v+":"+c+";"}).join(r)+i}).join(r)+i}).join(r);return!o&&!s?"":[""].join(r)}function Io(a){return{zrId:a,shadowCache:{},patternCache:{},gradientCache:{},clipPathCache:{},defs:{},cssNodes:{},cssAnims:{},cssStyleCache:{},cssAnimIdx:0,shadowIdx:0,gradientIdx:0,patternIdx:0,clipPathIdx:0}}function jl(a,e,t,r){return zt("svg","root",{width:a,height:e,xmlns:rh,"xmlns:xlink":ah,version:"1.1",baseProfile:"full",viewBox:r?"0 0 "+a+" "+e:!1},t)}var Im=0;function ih(){return Im++}var Jl={cubicIn:"0.32,0,0.67,0",cubicOut:"0.33,1,0.68,1",cubicInOut:"0.65,0,0.35,1",quadraticIn:"0.11,0,0.5,0",quadraticOut:"0.5,1,0.89,1",quadraticInOut:"0.45,0,0.55,1",quarticIn:"0.5,0,0.75,0",quarticOut:"0.25,1,0.5,1",quarticInOut:"0.76,0,0.24,1",quinticIn:"0.64,0,0.78,0",quinticOut:"0.22,1,0.36,1",quinticInOut:"0.83,0,0.17,1",sinusoidalIn:"0.12,0,0.39,0",sinusoidalOut:"0.61,1,0.88,1",sinusoidalInOut:"0.37,0,0.63,1",exponentialIn:"0.7,0,0.84,0",exponentialOut:"0.16,1,0.3,1",exponentialInOut:"0.87,0,0.13,1",circularIn:"0.55,0,1,0.45",circularOut:"0,0.55,0.45,1",circularInOut:"0.85,0,0.15,1"},or="transform-origin";function Mm(a,e,t){var r=K({},a.shape);K(r,e),a.buildPath(t,r);var n=new eh;return n.reset(pf(a)),t.rebuildPath(n,1),n.generateStr(),n.getStr()}function Pm(a,e){var t=e.originX,r=e.originY;(t||r)&&(a[or]=t+"px "+r+"px")}var Em={fill:"fill",opacity:"opacity",lineWidth:"stroke-width",lineDashOffset:"stroke-dashoffset"};function oh(a,e){var t=e.zrId+"-ani-"+e.cssAnimIdx++;return e.cssAnims[t]=a,t}function Rm(a,e,t){var r=a.shape.paths,n={},i,o;if(D(r,function(l){var u=Io(t.zrId);u.animation=!0,ti(l,{},u,!0);var v=u.cssAnims,c=u.cssNodes,f=Mt(v),h=f.length;if(h){o=f[h-1];var p=v[o];for(var d in p){var g=p[d];n[d]=n[d]||{d:""},n[d].d+=g.d||""}for(var y in c){var S=c[y].animation;S.indexOf(o)>=0&&(i=S)}}}),!!i){e.d=!1;var s=oh(n,t);return i.replace(o,s)}}function Ql(a){return lt(a)?Jl[a]?"cubic-bezier("+Jl[a]+")":Yd(a)?a:"":""}function ti(a,e,t,r){var n=a.animators,i=n.length,o=[];if(a instanceof ff){var s=Rm(a,e,t);if(s)o.push(s);else if(!i)return}else if(!i)return;for(var l={},u=0;u0}).length){var J=oh(w,t);return J+" "+S[0]+" both"}}for(var g in l){var s=d(l[g]);s&&o.push(s)}if(o.length){var y=t.zrId+"-cls-"+ih();t.cssNodes["."+y]={animation:o.join(",")},e.class=y}}function km(a,e,t){if(!a.ignore)if(a.isSilent()){var r={"pointer-events":"none"};tu(r,e,t)}else{var n=a.states.emphasis&&a.states.emphasis.style?a.states.emphasis.style:{},i=n.fill;if(!i){var o=a.style&&a.style.fill,s=a.states.select&&a.states.select.style&&a.states.select.style.fill,l=a.currentStates.indexOf("select")>=0&&s||o;l&&(i=Xd(l))}var u=n.lineWidth;if(u){var v=!n.strokeNoScale&&a.transform?a.transform[0]:1;u=u/v}var r={cursor:"pointer"};i&&(r.fill=i),n.stroke&&(r.stroke=n.stroke),u&&(r["stroke-width"]=u),tu(r,e,t)}}function tu(a,e,t,r){var n=JSON.stringify(a),i=t.cssStyleCache[n];i||(i=t.zrId+"-cls-"+ih(),t.cssStyleCache[n]=i,t.cssNodes["."+i+":hover"]=a),e.class=e.class?e.class+" "+i:i}var Sa=Math.round;function sh(a){return a&<(a.src)}function lh(a){return a&>(a.toDataURL)}function Ls(a,e,t,r){wm(function(n,i){var o=n==="fill"||n==="stroke";o&&gf(i)?vh(e,a,n,r):o&&ls(i)?ch(t,a,n,r):a[n]=i,o&&r.ssr&&i==="none"&&(a["pointer-events"]="visible")},e,t,!1),Fm(t,a,r)}function Is(a,e){var t=lg(e);t&&(t.each(function(r,n){r!=null&&(a[(Kl+n).toLowerCase()]=r+"")}),e.isSilent()&&(a[Kl+"silent"]="true"))}function eu(a){return qe(a[0]-1)&&qe(a[1])&&qe(a[2])&&qe(a[3]-1)}function Vm(a){return qe(a[4])&&qe(a[5])}function Ms(a,e,t){if(e&&!(Vm(e)&&eu(e))){var r=1e4;a.transform=eu(e)?"translate("+Sa(e[4]*r)/r+" "+Sa(e[5]*r)/r+")":sg(e)}}function ru(a,e,t){for(var r=a.points,n=[],i=0;i "u"){var g="Image width/height must been given explictly in svg-ssr renderer.";da(f,g),da(h,g)}else if(f==null||h==null){var y=function(C,L){if(C){var M=C.elm,I=f||L.width,P=h||L.height;C.tag==="pattern"&&(u?(P=1,I/=i.width):v&&(I=1,P/=i.height)),C.attrs.width=I,C.attrs.height=P,M&&(M.setAttribute("width",I),M.setAttribute("height",P))}},S=og(p,null,a,function(C){l||y(_,C),y(c,C)});S&&S.width&&S.height&&(f=f||S.width,h=h||S.height)}c=zt("image","img",{href:p,width:f,height:h}),o.width=f,o.height=h}else n.svgElement&&(c=pt(n.svgElement),o.width=n.svgWidth,o.height=n.svgHeight);if(c){var m,x;l?m=x=1:u?(x=1,m=o.width/i.width):v?(m=1,x=o.height/i.height):o.patternUnits="userSpaceOnUse",m!=null&&!isNaN(m)&&(o.width=m),x!=null&&!isNaN(x)&&(o.height=x);var b=hf(n);b&&(o.patternTransform=b);var _=zt("pattern","",o,[c]),w=Ds(_),A=r.patternCache,T=A[w];T||(T=r.zrId+"-p"+r.patternIdx++,A[w]=T,o.id=T,_=r.defs[T]=zt("pattern",T,o,[c])),e[t]=Fn(T)}}function Hm(a,e,t){var r=t.clipPathCache,n=t.defs,i=r[a.id];if(!i){i=t.zrId+"-c"+t.clipPathIdx++;var o={id:i};r[a.id]=i,n[i]=zt("clipPath",i,o,[uh(a,t)])}e["clip-path"]=Fn(i)}function iu(a){return document.createTextNode(a)}function hr(a,e,t){a.insertBefore(e,t)}function ou(a,e){a.removeChild(e)}function su(a,e){a.appendChild(e)}function fh(a){return a.parentNode}function hh(a){return a.nextSibling}function Ti(a,e){a.textContent=e}var lu=58,Wm=120,Um=zt("","");function Mo(a){return a===void 0}function Me(a){return a!==void 0}function $m(a,e,t){for(var r={},n=e;n<=t;++n){var i=a[n].key;i!==void 0&&(r[i]=n)}return r}function aa(a,e){var t=a.key===e.key,r=a.tag===e.tag;return r&&t}function xa(a){var e,t=a.children,r=a.tag;if(Me(r)){var n=a.elm=nh(r);if(Ps(Um,a),q(t))for(e=0;e i?(p=t[l+1]==null?null:t[l+1].elm,ph(a,p,t,n,l)):_n(a,e,r,i))}function Er(a,e){var t=e.elm=a.elm,r=a.children,n=e.children;a!==e&&(Ps(a,e),Mo(e.text)?Me(r)&&Me(n)?r!==n&&Ym(t,r,n):Me(n)?(Me(a.text)&&Ti(t,""),ph(t,null,n,0,n.length-1)):Me(r)?_n(t,r,0,r.length-1):Me(a.text)&&Ti(t,""):a.text!==e.text&&(Me(r)&&_n(t,r,0,r.length-1),Ti(t,e.text)))}function Zm(a,e){if(aa(a,e))Er(a,e);else{var t=a.elm,r=fh(t);xa(e),r!==null&&(hr(r,e.elm,hh(t)),_n(r,[a],0,0))}return e}var Xm=0,qm=function(){function a(e,t,r){if(this.type="svg",this.refreshHover=uu(),this.configLayer=uu(),this.storage=t,this._opts=r=K({},r),this.root=e,this._id="zr"+Xm++,this._oldVNode=jl(r.width,r.height),e&&!r.ssr){var n=this._viewport=document.createElement("div");n.style.cssText="position:relative;overflow:hidden";var i=this._svgDom=this._oldVNode.elm=nh("svg");Ps(null,this._oldVNode),n.appendChild(i),e.appendChild(n)}this.resize(r.width,r.height)}return a.prototype.getType=function(){return this.type},a.prototype.getViewportRoot=function(){return this._viewport},a.prototype.getViewportRootOffset=function(){var e=this.getViewportRoot();if(e)return{offsetLeft:e.offsetLeft||0,offsetTop:e.offsetTop||0}},a.prototype.getSvgDom=function(){return this._svgDom},a.prototype.refresh=function(){if(this.root){var e=this.renderToVNode({willUpdate:!0});e.attrs.style="position:absolute;left:0;top:0;user-select:none",Zm(this._oldVNode,e),this._oldVNode=e}},a.prototype.renderOneToVNode=function(e){return nu(e,Io(this._id))},a.prototype.renderToVNode=function(e){e=e||{};var t=this.storage.getDisplayList(!0),r=this._width,n=this._height,i=Io(this._id);i.animation=e.animation,i.willUpdate=e.willUpdate,i.compress=e.compress,i.emphasis=e.emphasis,i.ssr=this._opts.ssr;var o=[],s=this._bgVNode=Km(r,n,this._backgroundColor,i);s&&o.push(s);var l=e.compress?null:this._mainVNode=zt("g","main",{},[]);this._paintList(t,i,l?l.children:o),l&&o.push(l);var u=$(Mt(i.defs),function(f){return i.defs[f]});if(u.length&&o.push(zt("defs","defs",{},u)),e.animation){var v=Lm(i.cssNodes,i.cssAnims,{newline:!0});if(v){var c=zt("style","stl",{},[],v);o.push(c)}}return jl(r,n,o,e.useViewBox)},a.prototype.renderToString=function(e){return e=e||{},Ds(this.renderToVNode({animation:Rt(e.cssAnimation,!0),emphasis:Rt(e.cssEmphasis,!0),willUpdate:!1,compress:!0,useViewBox:Rt(e.useViewBox,!0)}),{newline:!0})},a.prototype.setBackgroundColor=function(e){this._backgroundColor=e},a.prototype.getSvgRoot=function(){return this._mainVNode&&this._mainVNode.elm},a.prototype._paintList=function(e,t,r){for(var n=e.length,i=[],o=0,s,l,u=0,v=0;v =0&&!(f&&l&&f[d]===l[d]);d--);for(var g=p-1;g>d;g--)o--,s=i[o-1];for(var y=d+1;y F?(X=E+A*F/2,j=X):(X=E+C,j=H-C),n.setItemLayout(N,{angle:F,startAngle:X,endAngle:j,clockwise:x,cx:l,cy:u,r0:c,r:b?Nt(k,w,[c,v]):v}),E=H}),I t?y:g,b=Math.abs(m.label.y-t);if(b>=x.maxY){var _=m.label.x-e-m.len2*n,w=r+m.len,A=Math.abs(_) a.unconstrainedWidth?null:h:null;r.setStyle("width",p)}var d=r.getBoundingRect();i.width=d.width;var g=(r.style.margin||0)+2.1;i.height=d.height+g,i.y-=(i.height-c)/2}}}function Ci(a){return a.position==="center"}function e0(a){var e=a.getData(),t=[],r,n,i=!1,o=(a.get("minShowLabelAngle")||0)*Qm,s=e.getLayout("viewRect"),l=e.getLayout("r"),u=s.width,v=s.x,c=s.y,f=s.height;function h(_){_.ignore=!0}function p(_){if(!_.ignore)return!0;for(var w in _.states)if(_.states[w].ignore===!1)return!0;return!1}e.each(function(_){var w=e.getItemGraphicEl(_),A=w.shape,T=w.getTextContent(),C=w.getTextGuideLine(),L=e.getItemModel(_),M=L.getModel("label"),I=M.get("position")||L.get(["emphasis","label","position"]),P=M.get("distanceToLabelLine"),E=M.get("alignTo"),R=U(M.get("edgeDistance"),u),k=M.get("bleedMargin"),N=L.getModel("labelLine"),F=N.get("length");F=U(F,u);var H=N.get("length2");if(H=U(H,u),Math.abs(A.endAngle-A.startAngle) 0?"right":"left":j>0?"left":"right"}var ft=Math.PI,_t=0,Vt=M.get("rotate");if(le(Vt))_t=Vt*(ft/180);else if(I==="center")_t=0;else if(Vt==="radial"||Vt===!0){var ie=j<0?-X+ft:-X;_t=ie}else if(Vt==="tangential"&&I!=="outside"&&I!=="outer"){var ee=Math.atan2(j,rt);ee<0&&(ee=ft*2+ee);var rr=rt>0;rr&&(ee=ft+ee),_t=ee-ft}if(i=!!_t,T.x=tt,T.y=O,T.rotation=_t,T.setStyle({verticalAlign:"middle"}),Y){T.setStyle({align:J});var li=T.states.select;li&&(li.x+=T.x,li.y+=T.y)}else{var Ue=T.getBoundingRect().clone();Ue.applyTransform(T.getComputedTransform());var Sl=(T.style.margin||0)+2.1;Ue.y-=Sl/2,Ue.height+=Sl,t.push({label:T,labelLine:C,position:I,len:F,len2:H,minTurnAngle:N.get("minTurnAngle"),maxSurfaceAngle:N.get("maxSurfaceAngle"),surfaceNormal:new mt(j,rt),linePoints:G,textAlign:J,labelDistance:P,labelAlignTo:E,edgeDistance:R,bleedMargin:k,rect:Ue,unconstrainedWidth:Ue.width,labelStyleWidth:T.style.width})}w.setTextConfig({inside:Y})}}),!i&&a.get("avoidLabelOverlap")&&t0(t,r,n,l,u,f,v,c);for(var d=0;d 0){for(var v=o.getItemLayout(0),c=1;isNaN(v&&v.startAngle)&&c =i.r0}},e.type="pie",e}(kt);function Xr(a,e,t){e=q(e)&&{coordDimensions:e}||K({encodeDefine:a.getEncode()},e);var r=a.getSource(),n=Hn(r,e).dimensions,i=new re(n,a);return i.initData(r,t),i}var za=function(){function a(e,t){this._getDataWithEncodedVisual=e,this._getRawData=t}return a.prototype.getAllNames=function(){var e=this._getRawData();return e.mapArray(e.getName)},a.prototype.containName=function(e){var t=this._getRawData();return t.indexOfName(e)>=0},a.prototype.indexOfName=function(e){var t=this._getDataWithEncodedVisual();return t.indexOfName(e)},a.prototype.getItemVisual=function(e,t){var r=this._getDataWithEncodedVisual();return r.getItemVisual(e,t)},a}(),n0=Dt(),i0=function(a){V(e,a);function e(){return a!==null&&a.apply(this,arguments)||this}return e.prototype.init=function(t){a.prototype.init.apply(this,arguments),this.legendVisualProvider=new za(at(this.getData,this),at(this.getRawData,this)),this._defaultLabelLine(t)},e.prototype.mergeOption=function(){a.prototype.mergeOption.apply(this,arguments)},e.prototype.getInitialData=function(){return Xr(this,{coordDimensions:["value"],encodeDefaulter:st(us,this)})},e.prototype.getDataParams=function(t){var r=this.getData(),n=n0(r),i=n.seats;if(!i){var o=[];r.each(r.mapDimension("value"),function(l){o.push(l)}),i=n.seats=fg(o,r.hostModel.get("percentPrecision"))}var s=a.prototype.getDataParams.call(this,t);return s.percent=i[t]||0,s.$vars.push("percent"),s},e.prototype._defaultLabelLine=function(t){La(t,"labelLine",["show"]);var r=t.labelLine,n=t.emphasis.labelLine;r.show=r.show&&t.label.show,n.show=n.show&&t.emphasis.label.show},e.type="series.pie",e.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,endAngle:"auto",padAngle:0,minAngle:0,minShowLabelAngle:0,selectedOffset:10,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:0,show:!0,overflow:"truncate",position:"outer",alignTo:"none",edgeDistance:"25%",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,minTurnAngle:90,maxSurfaceAngle:90,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1,borderJoin:"round"},showEmptyCircle:!0,emptyCircleStyle:{color:"lightgray",opacity:1},labelLayout:{hideOverlap:!0},emphasis:{scale:!0,scaleSize:5},avoidLabelOverlap:!0,animationType:"expansion",animationDuration:1e3,animationTypeUpdate:"transition",animationEasingUpdate:"cubicInOut",animationDurationUpdate:500,animationEasing:"cubicInOut"},e}(Ft);function o0(a){return{seriesType:a,reset:function(e,t){var r=e.getData();r.filterSelf(function(n){var i=r.mapDimension("value"),o=r.get(i,n);return!(le(o)&&!isNaN(o)&&o<0)})}}}function s0(a){a.registerChartView(a0),a.registerSeriesModel(i0),Sf("pie",a.registerAction),a.registerLayout(st(Jm,"pie")),a.registerProcessor(Na("pie")),a.registerProcessor(o0("pie"))}var l0=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t}return e.prototype.getInitialData=function(t,r){return $r(null,this,{useEncodeDefaulter:!0})},e.prototype.getProgressive=function(){var t=this.option.progressive;return t??(this.option.large?5e3:this.get("progressive"))},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return t??(this.option.large?1e4:this.get("progressiveThreshold"))},e.prototype.brushSelector=function(t,r,n){return n.point(r.getItemLayout(t))},e.prototype.getZLevelKey=function(){return this.getData().count()>this.getProgressiveThreshold()?this.id:""},e.type="series.scatter",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},emphasis:{scale:!0},clip:!0,select:{itemStyle:{borderColor:"#212121"}},universalTransition:{divideShape:"clone"}},e}(Ft),Sh=4,u0=function(){function a(){}return a}(),v0=function(a){V(e,a);function e(t){var r=a.call(this,t)||this;return r._off=0,r.hoverDataIdx=-1,r}return e.prototype.getDefaultShape=function(){return new u0},e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.buildPath=function(t,r){var n=r.points,i=r.size,o=this.symbolProxy,s=o.shape,l=t.getContext?t.getContext():t,u=l&&i[0] =0;u--){var v=u*2,c=i[v]-s/2,f=i[v+1]-l/2;if(t>=c&&r>=f&&t<=c+s&&r<=f+l)return u}return-1},e.prototype.contain=function(t,r){var n=this.transformCoordToLocal(t,r),i=this.getBoundingRect();if(t=n[0],r=n[1],i.contain(t,r)){var o=this.hoverDataIdx=this.findDataIndex(t,r);return o>=0}return this.hoverDataIdx=-1,!1},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var r=this.shape,n=r.points,i=r.size,o=i[0],s=i[1],l=1/0,u=1/0,v=-1/0,c=-1/0,f=0;f =0&&(u.dataIndex=c+(e.startIndex||0))})},a.prototype.remove=function(){this._clear()},a.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},a}(),f0=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,r,n){var i=t.getData(),o=this._updateSymbolDraw(i,t);o.updateData(i,{clipShape:this._getClipShape(t)}),this._finished=!0},e.prototype.incrementalPrepareRender=function(t,r,n){var i=t.getData(),o=this._updateSymbolDraw(i,t);o.incrementalPrepareUpdate(i),this._finished=!1},e.prototype.incrementalRender=function(t,r,n){this._symbolDraw.incrementalUpdate(t,r.getData(),{clipShape:this._getClipShape(r)}),this._finished=t.end===r.getData().count()},e.prototype.updateTransform=function(t,r,n){var i=t.getData();if(this.group.dirty(),!this._finished||i.count()>1e4)return{update:!0};var o=Wn("").reset(t,r,n);o.progress&&o.progress({start:0,end:i.count(),count:i.count()},i),this._symbolDraw.updateLayout(i)},e.prototype.eachRendered=function(t){this._symbolDraw&&this._symbolDraw.eachRendered(t)},e.prototype._getClipShape=function(t){if(t.get("clip",!0)){var r=t.coordinateSystem;return r&&r.getArea&&r.getArea(.1)}},e.prototype._updateSymbolDraw=function(t,r){var n=this._symbolDraw,i=r.pipelineContext,o=i.large;return(!n||o!==this._isLargeDraw)&&(n&&n.remove(),n=this._symbolDraw=o?new c0:new Un,this._isLargeDraw=o,this.group.removeAll()),this.group.add(n.group),n},e.prototype.remove=function(t,r){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},e.prototype.dispose=function(){},e.type="scatter",e}(kt);function h0(a){it(hg),a.registerSeriesModel(l0),a.registerChartView(f0),a.registerLayout(Wn("scatter"))}function p0(a){a.eachSeriesByType("radar",function(e){var t=e.getData(),r=[],n=e.coordinateSystem;if(n){var i=n.getIndicatorAxes();D(i,function(o,s){t.each(t.mapDimension(i[s].dim),function(l,u){r[u]=r[u]||[];var v=n.dataToPoint(l,s);r[u][s]=fu(v)?v:hu(n)})}),t.each(function(o){var s=pg(r[o],function(l){return fu(l)})||hu(n);r[o].push(s.slice()),t.setItemLayout(o,r[o])})}})}function fu(a){return!isNaN(a[0])&&!isNaN(a[1])}function hu(a){return[a.cx,a.cy]}function d0(a){var e=a.polar;if(e){q(e)||(e=[e]);var t=[];D(e,function(r,n){r.indicator?(r.type&&!r.shape&&(r.shape=r.type),a.radar=a.radar||[],q(a.radar)||(a.radar=[a.radar]),a.radar.push(r)):t.push(r)}),a.polar=t}D(a.series,function(r){r&&r.type==="radar"&&r.polarIndex&&(r.radarIndex=r.polarIndex)})}var g0=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,r,n){var i=t.coordinateSystem,o=this.group,s=t.getData(),l=this._data;function u(f,h){var p=f.getItemVisual(h,"symbol")||"circle";if(p!=="none"){var d=Ia(f.getItemVisual(h,"symbolSize")),g=ve(p,-1,-1,2,2),y=f.getItemVisual(h,"symbolRotate")||0;return g.attr({style:{strokeNoScale:!0},z2:100,scaleX:d[0]/2,scaleY:d[1]/2,rotation:y*Math.PI/180||0}),g}}function v(f,h,p,d,g,y){p.removeAll();for(var S=0;S 0&&!p.min?p.min=0:p.min!=null&&p.min<0&&!p.max&&(p.max=0);var d=l;p.color!=null&&(d=ot({color:p.color},l));var g=Ct(pt(p),{boundaryGap:t,splitNumber:r,scale:n,axisLine:i,axisTick:o,axisLabel:s,name:p.text,showName:u,nameLocation:"end",nameGap:c,nameTextStyle:d,triggerEvent:f},!1);if(lt(v)){var y=g.name;g.name=v.replace("{value}",y??"")}else gt(v)&&(g.name=v(g.name,g));var S=new ce(g,null,this.ecModel);return Ce(S,$n.prototype),S.mainType="radar",S.componentIndex=this.componentIndex,S},this);this._indicatorModels=h},e.prototype.getIndicatorModels=function(){return this._indicatorModels},e.type="radar",e.defaultOption={z:0,center:["50%","50%"],radius:"75%",startAngle:90,axisName:{show:!0},boundaryGap:[0,0],splitNumber:5,axisNameGap:15,scale:!1,shape:"polygon",axisLine:Ct({lineStyle:{color:"#bbb"}},Kr.axisLine),axisLabel:Ua(Kr.axisLabel,!1),axisTick:Ua(Kr.axisTick,!1),splitLine:Ua(Kr.splitLine,!0),splitArea:Ua(Kr.splitArea,!0),indicator:[]},e}(Xt),S0=["axisLine","axisTickLabel","axisName"],x0=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,r,n){var i=this.group;i.removeAll(),this._buildAxes(t),this._buildSplitLineAndArea(t)},e.prototype._buildAxes=function(t){var r=t.coordinateSystem,n=r.getIndicatorAxes(),i=$(n,function(o){var s=o.model.get("showName")?o.name:"",l=new mr(o.model,{axisName:s,position:[r.cx,r.cy],rotation:o.angle,labelDirection:-1,tickDirection:-1,nameDirection:1});return l});D(i,function(o){D(S0,o.add,o),this.group.add(o.getGroup())},this)},e.prototype._buildSplitLineAndArea=function(t){var r=t.coordinateSystem,n=r.getIndicatorAxes();if(!n.length)return;var i=t.get("shape"),o=t.getModel("splitLine"),s=t.getModel("splitArea"),l=o.getModel("lineStyle"),u=s.getModel("areaStyle"),v=o.get("show"),c=s.get("show"),f=l.get("color"),h=u.get("color"),p=q(f)?f:[f],d=q(h)?h:[h],g=[],y=[];function S(E,R,k){var N=k%R.length;return E[N]=E[N]||[],N}if(i==="circle")for(var m=n[0].getTicksCoords(),x=r.cx,b=r.cy,_=0;_ =4&&(v={x:parseFloat(f[0]||0),y:parseFloat(f[1]||0),width:parseFloat(f[2]),height:parseFloat(f[3])})}if(v&&s!=null&&l!=null&&(c=_h(v,{x:0,y:0,width:s,height:l}),!t.ignoreViewBox)){var h=n;n=new nt,n.add(h),h.scaleX=h.scaleY=c.scale,h.x=c.x,h.y=c.y}return!t.ignoreRootClip&&s!=null&&l!=null&&n.setClipPath(new Bt({shape:{x:0,y:0,width:s,height:l}})),{root:n,width:s,height:l,viewBoxRect:v,viewBoxTransform:c,named:i}},a.prototype._parseNode=function(e,t,r,n,i,o){var s=e.nodeName.toLowerCase(),l,u=n;if(s==="defs"&&(i=!0),s==="text"&&(o=!0),s==="defs"||s==="switch")l=t;else{if(!i){var v=Di[s];if(v&&Z(Di,s)){l=v.call(this,e,t);var c=e.getAttribute("name");if(c){var f={name:c,namedFrom:null,svgNodeTagLower:s,el:l};r.push(f),s==="g"&&(u=f)}else n&&r.push({name:n.name,namedFrom:n,svgNodeTagLower:s,el:l});t.add(l)}}var h=gu[s];if(h&&Z(gu,s)){var p=h.call(this,e),d=e.getAttribute("id");d&&(this._defs[d]=p)}}if(l&&l.isGroup)for(var g=e.firstChild;g;)g.nodeType===1?this._parseNode(g,l,r,u,i,o):g.nodeType===3&&o&&this._parseText(g,l),g=g.nextSibling},a.prototype._parseText=function(e,t){var r=new df({style:{text:e.textContent},silent:!0,x:this._textX||0,y:this._textY||0});he(t,r),oe(e,r,this._defsUsePending,!1,!1),D0(r,t);var n=r.style,i=n.fontSize;i&&i<9&&(n.fontSize=9,r.scaleX*=i/9,r.scaleY*=i/9);var o=(n.fontSize||n.fontFamily)&&[n.fontStyle,n.fontWeight,(n.fontSize||12)+"px",n.fontFamily||"sans-serif"].join(" ");n.font=o;var s=r.getBoundingRect();return this._textX+=s.width,t.add(r),r},a.internalField=function(){Di={g:function(e,t){var r=new nt;return he(t,r),oe(e,r,this._defsUsePending,!1,!1),r},rect:function(e,t){var r=new Bt;return he(t,r),oe(e,r,this._defsUsePending,!1,!1),r.setShape({x:parseFloat(e.getAttribute("x")||"0"),y:parseFloat(e.getAttribute("y")||"0"),width:parseFloat(e.getAttribute("width")||"0"),height:parseFloat(e.getAttribute("height")||"0")}),r.silent=!0,r},circle:function(e,t){var r=new Ma;return he(t,r),oe(e,r,this._defsUsePending,!1,!1),r.setShape({cx:parseFloat(e.getAttribute("cx")||"0"),cy:parseFloat(e.getAttribute("cy")||"0"),r:parseFloat(e.getAttribute("r")||"0")}),r.silent=!0,r},line:function(e,t){var r=new _e;return he(t,r),oe(e,r,this._defsUsePending,!1,!1),r.setShape({x1:parseFloat(e.getAttribute("x1")||"0"),y1:parseFloat(e.getAttribute("y1")||"0"),x2:parseFloat(e.getAttribute("x2")||"0"),y2:parseFloat(e.getAttribute("y2")||"0")}),r.silent=!0,r},ellipse:function(e,t){var r=new Sg;return he(t,r),oe(e,r,this._defsUsePending,!1,!1),r.setShape({cx:parseFloat(e.getAttribute("cx")||"0"),cy:parseFloat(e.getAttribute("cy")||"0"),rx:parseFloat(e.getAttribute("rx")||"0"),ry:parseFloat(e.getAttribute("ry")||"0")}),r.silent=!0,r},polygon:function(e,t){var r=e.getAttribute("points"),n;r&&(n=Su(r));var i=new Ae({shape:{points:n||[]},silent:!0});return he(t,i),oe(e,i,this._defsUsePending,!1,!1),i},polyline:function(e,t){var r=e.getAttribute("points"),n;r&&(n=Su(r));var i=new Te({shape:{points:n||[]},silent:!0});return he(t,i),oe(e,i,this._defsUsePending,!1,!1),i},image:function(e,t){var r=new Re;return he(t,r),oe(e,r,this._defsUsePending,!1,!1),r.setStyle({image:e.getAttribute("xlink:href")||e.getAttribute("href"),x:+e.getAttribute("x"),y:+e.getAttribute("y"),width:+e.getAttribute("width"),height:+e.getAttribute("height")}),r.silent=!0,r},text:function(e,t){var r=e.getAttribute("x")||"0",n=e.getAttribute("y")||"0",i=e.getAttribute("dx")||"0",o=e.getAttribute("dy")||"0";this._textX=parseFloat(r)+parseFloat(i),this._textY=parseFloat(n)+parseFloat(o);var s=new nt;return he(t,s),oe(e,s,this._defsUsePending,!1,!0),s},tspan:function(e,t){var r=e.getAttribute("x"),n=e.getAttribute("y");r!=null&&(this._textX=parseFloat(r)),n!=null&&(this._textY=parseFloat(n));var i=e.getAttribute("dx")||"0",o=e.getAttribute("dy")||"0",s=new nt;return he(t,s),oe(e,s,this._defsUsePending,!1,!0),this._textX+=parseFloat(i),this._textY+=parseFloat(o),s},path:function(e,t){var r=e.getAttribute("d")||"",n=mg(r);return he(t,n),oe(e,n,this._defsUsePending,!1,!1),n.silent=!0,n}}}(),a}(),gu={lineargradient:function(a){var e=parseInt(a.getAttribute("x1")||"0",10),t=parseInt(a.getAttribute("y1")||"0",10),r=parseInt(a.getAttribute("x2")||"10",10),n=parseInt(a.getAttribute("y2")||"0",10),i=new vs(e,t,r,n);return yu(a,i),mu(a,i),i},radialgradient:function(a){var e=parseInt(a.getAttribute("cx")||"0",10),t=parseInt(a.getAttribute("cy")||"0",10),r=parseInt(a.getAttribute("r")||"0",10),n=new xg(e,t,r);return yu(a,n),mu(a,n),n}};function yu(a,e){var t=a.getAttribute("gradientUnits");t==="userSpaceOnUse"&&(e.global=!0)}function mu(a,e){for(var t=a.firstChild;t;){if(t.nodeType===1&&t.nodeName.toLocaleLowerCase()==="stop"){var r=t.getAttribute("offset"),n=void 0;r&&r.indexOf("%")>0?n=parseInt(r,10)/100:r?n=parseFloat(r):n=0;var i={};bh(t,i,i);var o=i.stopColor||t.getAttribute("stop-color")||"#000000";e.colorStops.push({offset:n,color:o})}t=t.nextSibling}}function he(a,e){a&&a.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),ot(e.__inheritedStyle,a.__inheritedStyle))}function Su(a){for(var e=ri(a),t=[],r=0;r 0;i-=2){var o=r[i],s=r[i-1],l=ri(o);switch(n=n||Zr(),s){case"translate":Sr(n,n,[parseFloat(l[0]),parseFloat(l[1]||"0")]);break;case"scale":bf(n,n,[parseFloat(l[0]),parseFloat(l[1]||l[0])]);break;case"rotate":Yn(n,n,-parseFloat(l[0])*Li,[parseFloat(l[1]||"0"),parseFloat(l[2]||"0")]);break;case"skewX":var u=Math.tan(parseFloat(l[0])*Li);mo(n,[1,0,u,1,0,0],n);break;case"skewY":var v=Math.tan(parseFloat(l[0])*Li);mo(n,[1,v,0,1,0,0],n);break;case"matrix":n[0]=parseFloat(l[0]),n[1]=parseFloat(l[1]),n[2]=parseFloat(l[2]),n[3]=parseFloat(l[3]),n[4]=parseFloat(l[4]),n[5]=parseFloat(l[5]);break}}e.setLocalTransform(n)}}var bu=/([^\s:;]+)\s*:\s*([^:;]+)/g;function bh(a,e,t){var r=a.getAttribute("style");if(r){bu.lastIndex=0;for(var n;(n=bu.exec(r))!=null;){var i=n[1],o=Z(wn,i)?wn[i]:null;o&&(e[o]=n[2]);var s=Z(An,i)?An[i]:null;s&&(t[s]=n[2])}}}function R0(a,e,t){for(var r=0;r 0,g={api:r,geo:l,mapOrGeoModel:e,data:s,isVisualEncodedByVisualMap:d,isGeo:o,transformInfoRaw:f};l.resourceType==="geoJSON"?this._buildGeoJSON(g):l.resourceType==="geoSVG"&&this._buildSVG(g),this._updateController(e,t,r),this._updateMapSelectHandler(e,u,r,n)},a.prototype._buildGeoJSON=function(e){var t=this._regionsGroupByName=ut(),r=ut(),n=this._regionsGroup,i=e.transformInfoRaw,o=e.mapOrGeoModel,s=e.data,l=e.geo.projection,u=l&&l.stream;function v(h,p){return p&&(h=p(h)),h&&[h[0]*i.scaleX+i.x,h[1]*i.scaleY+i.y]}function c(h){for(var p=[],d=!u&&l&&l.project,g=0;g =0)&&(f=n);var h=o?{normal:{align:"center",verticalAlign:"middle"}}:null;ue(e,Qt(r),{labelFetcher:f,labelDataIndex:c,defaultText:t},h);var p=e.getTextContent();if(p&&(wh(p).ignore=p.ignore,e.textConfig&&o)){var d=e.getBoundingRect().clone();e.textConfig.layoutRect=d,e.textConfig.position=[(o[0]-d.x)/d.width*100+"%",(o[1]-d.y)/d.height*100+"%"]}e.disableLabelAnimation=!0}else e.removeTextContent(),e.removeTextConfig(),e.disableLabelAnimation=null}function Cu(a,e,t,r,n,i){a.data?a.data.setItemGraphicEl(i,e):ht(e).eventData={componentType:"geo",componentIndex:n.componentIndex,geoIndex:n.componentIndex,name:t,region:r&&r.option||{}}}function Du(a,e,t,r,n){a.data||fs({el:e,componentModel:n,itemName:t,itemTooltipOption:r.get("tooltip")})}function Lu(a,e,t,r,n){e.highDownSilentOnTouch=!!n.get("selectedMode");var i=r.getModel("emphasis"),o=i.get("focus");return Et(e,o,i.get("blurScope"),i.get("disabled")),a.isGeo&&_g(e,n,t),o}function Iu(a,e,t){var r=[],n;function i(){n=[]}function o(){n.length&&(r.push(n),n=[])}var s=e({polygonStart:i,polygonEnd:o,lineStart:i,lineEnd:o,point:function(l,u){isFinite(l)&&isFinite(u)&&n.push([l,u])},sphere:function(){}});return!t&&s.polygonStart(),D(a,function(l){s.lineStart();for(var u=0;u -1&&(n.style.stroke=n.style.fill,n.style.fill="#fff",n.style.lineWidth=2),n},e.type="series.map",e.dependencies=["geo"],e.layoutMode="box",e.defaultOption={z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:null,showLegendSymbol:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,selectedMode:!0,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}},select:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},nameProperty:"name"},e}(Ft);function Q0(a,e){var t={};return D(a,function(r){r.each(r.mapDimension("value"),function(n,i){var o="ec-"+r.getName(i);t[o]=t[o]||[],isNaN(n)||t[o].push(n)})}),a[0].map(a[0].mapDimension("value"),function(r,n){for(var i="ec-"+a[0].getName(n),o=0,s=1/0,l=-1/0,u=t[i].length,v=0;v1?(x.width=m,x.height=m/g):(x.height=m,x.width=m*g),x.y=S[1]-x.height/2,x.x=S[0]-x.width/2;else{var b=a.getBoxLayoutParams();b.aspect=g,x=fe(b,{width:p,height:d})}this.setViewRect(x.x,x.y,x.width,x.height),this.setCenter(a.get("center"),e),this.setZoom(a.get("zoom"))}function a1(a,e){D(e.get("geoCoord"),function(t,r){a.addGeoCoord(r,t)})}var n1=function(){function a(){this.dimensions=Th}return a.prototype.create=function(e,t){var r=[];function n(o){return{nameProperty:o.get("nameProperty"),aspectScale:o.get("aspectScale"),projection:o.get("projection")}}e.eachComponent("geo",function(o,s){var l=o.get("map"),u=new Eo(l+s,l,K({nameMap:o.get("nameMap")},n(o)));u.zoomLimit=o.get("scaleLimit"),r.push(u),o.coordinateSystem=u,u.model=o,u.resize=Ru,u.resize(o,t)}),e.eachSeries(function(o){var s=o.get("coordinateSystem");if(s==="geo"){var l=o.get("geoIndex")||0;o.coordinateSystem=r[l]}});var i={};return e.eachSeriesByType("map",function(o){if(!o.getHostGeoModel()){var s=o.getMapType();i[s]=i[s]||[],i[s].push(o)}}),D(i,function(o,s){var l=$(o,function(v){return v.get("nameMap")}),u=new Eo(s,s,K({nameMap:hs(l)},n(o[0])));u.zoomLimit=se.apply(null,$(o,function(v){return v.get("scaleLimit")})),r.push(u),u.resize=Ru,u.resize(o[0],t),D(o,function(v){v.coordinateSystem=u,a1(u,v)})}),r},a.prototype.getFilledRegions=function(e,t,r,n){for(var i=(e||[]).slice(),o=ut(),s=0;s =0;o--){var s=n[o];s.hierNode={defaultAncestor:null,ancestor:s,prelim:0,modifier:0,change:0,shift:0,i:o,thread:null},t.push(s)}}function v1(a,e){var t=a.isExpand?a.children:[],r=a.parentNode.children,n=a.hierNode.i?r[a.hierNode.i-1]:null;if(t.length){h1(a);var i=(t[0].hierNode.prelim+t[t.length-1].hierNode.prelim)/2;n?(a.hierNode.prelim=n.hierNode.prelim+e(a,n),a.hierNode.modifier=a.hierNode.prelim-i):a.hierNode.prelim=i}else n&&(a.hierNode.prelim=n.hierNode.prelim+e(a,n));a.parentNode.hierNode.defaultAncestor=p1(a,n,a.parentNode.hierNode.defaultAncestor||r[0],e)}function c1(a){var e=a.hierNode.prelim+a.parentNode.hierNode.modifier;a.setLayout({x:e},!0),a.hierNode.modifier+=a.parentNode.hierNode.modifier}function Vu(a){return arguments.length?a:y1}function na(a,e){return a-=Math.PI/2,{x:e*Math.cos(a),y:e*Math.sin(a)}}function f1(a,e){return fe(a.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function h1(a){for(var e=a.children,t=e.length,r=0,n=0;--t>=0;){var i=e[t];i.hierNode.prelim+=r,i.hierNode.modifier+=r,n+=i.hierNode.change,r+=i.hierNode.shift+n}}function p1(a,e,t,r){if(e){for(var n=a,i=a,o=i.parentNode.children[0],s=e,l=n.hierNode.modifier,u=i.hierNode.modifier,v=o.hierNode.modifier,c=s.hierNode.modifier;s=Ii(s),i=Mi(i),s&&i;){n=Ii(n),o=Mi(o),n.hierNode.ancestor=a;var f=s.hierNode.prelim+c-i.hierNode.prelim-u+r(s,i);f>0&&(g1(d1(s,a,t),a,f),u+=f,l+=f),c+=s.hierNode.modifier,u+=i.hierNode.modifier,l+=n.hierNode.modifier,v+=o.hierNode.modifier}s&&!Ii(n)&&(n.hierNode.thread=s,n.hierNode.modifier+=c-l),i&&!Mi(o)&&(o.hierNode.thread=i,o.hierNode.modifier+=u-v,t=a)}return t}function Ii(a){var e=a.children;return e.length&&a.isExpand?e[e.length-1]:a.hierNode.thread}function Mi(a){var e=a.children;return e.length&&a.isExpand?e[0]:a.hierNode.thread}function d1(a,e,t){return a.hierNode.ancestor.parentNode===e.parentNode?a.hierNode.ancestor:t}function g1(a,e,t){var r=t/(e.hierNode.i-a.hierNode.i);e.hierNode.change-=r,e.hierNode.shift+=t,e.hierNode.modifier+=t,e.hierNode.prelim+=t,a.hierNode.change+=r}function y1(a,e){return a.parentNode===e.parentNode?1:2}var m1=function(){function a(){this.parentPoint=[],this.childPoints=[]}return a}(),S1=function(a){V(e,a);function e(t){return a.call(this,t)||this}return e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new m1},e.prototype.buildPath=function(t,r){var n=r.childPoints,i=n.length,o=r.parentPoint,s=n[0],l=n[i-1];if(i===1){t.moveTo(o[0],o[1]),t.lineTo(s[0],s[1]);return}var u=r.orient,v=u==="TB"||u==="BT"?0:1,c=1-v,f=U(r.forkPosition,1),h=[];h[v]=o[v],h[c]=o[c]+(l[c]-o[c])*f,t.moveTo(o[0],o[1]),t.lineTo(h[0],h[1]),t.moveTo(s[0],s[1]),h[v]=s[v],t.lineTo(h[0],h[1]),h[v]=l[v],t.lineTo(h[0],h[1]),t.lineTo(l[0],l[1]);for(var p=1;p S.x,b||(x=x-Math.PI));var w=b?"left":"right",A=s.getModel("label"),T=A.get("rotate"),C=T*(Math.PI/180),L=g.getTextContent();L&&(g.setTextConfig({position:A.get("position")||w,rotation:T==null?-x:C,origin:"center"}),L.setStyle("verticalAlign","middle"))}var M=s.get(["emphasis","focus"]),I=M==="relative"?fn(o.getAncestorsIndices(),o.getDescendantIndices()):M==="ancestor"?o.getAncestorsIndices():M==="descendant"?o.getDescendantIndices():null;I&&(ht(t).focus=I),b1(n,o,v,t,p,h,d,r),t.__edge&&(t.onHoverStateChange=function(P){if(P!=="blur"){var E=o.parentNode&&a.getItemGraphicEl(o.parentNode.dataIndex);E&&E.hoverState===Ag||wf(t.__edge,P)}})}function b1(a,e,t,r,n,i,o,s){var l=e.getModel(),u=a.get("edgeShape"),v=a.get("layout"),c=a.getOrient(),f=a.get(["lineStyle","curveness"]),h=a.get("edgeForkPosition"),p=l.getModel("lineStyle").getLineStyle(),d=r.__edge;if(u==="curve")e.parentNode&&e.parentNode!==t&&(d||(d=r.__edge=new Df({shape:Ro(v,c,f,n,n)})),xt(d,{shape:Ro(v,c,f,i,o)},a));else if(u==="polyline"&&v==="orthogonal"&&e!==t&&e.children&&e.children.length!==0&&e.isExpand===!0){for(var g=e.children,y=[],S=0;S t&&(t=n.height)}this.height=t+1},a.prototype.getNodeById=function(e){if(this.getId()===e)return this;for(var t=0,r=this.children,n=r.length;t =0&&this.hostTree.data.setItemLayout(this.dataIndex,e,t)},a.prototype.getLayout=function(){return this.hostTree.data.getItemLayout(this.dataIndex)},a.prototype.getModel=function(e){if(!(this.dataIndex<0)){var t=this.hostTree,r=t.data.getItemModel(this.dataIndex);return r.getModel(e)}},a.prototype.getLevelModel=function(){return(this.hostTree.levelModels||[])[this.depth]},a.prototype.setVisual=function(e,t){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,e,t)},a.prototype.getVisual=function(e){return this.hostTree.data.getItemVisual(this.dataIndex,e)},a.prototype.getRawIndex=function(){return this.hostTree.data.getRawIndex(this.dataIndex)},a.prototype.getId=function(){return this.hostTree.data.getId(this.dataIndex)},a.prototype.getChildIndex=function(){if(this.parentNode){for(var e=this.parentNode.children,t=0;t =0){var r=t.getData().tree.root,n=a.targetNode;if(lt(n)&&(n=r.getNodeById(n)),n&&r.contains(n))return{node:n};var i=a.targetNodeId;if(i!=null&&(n=r.getNodeById(i)))return{node:n}}}function Ph(a){for(var e=[];a;)a=a.parentNode,a&&e.push(a);return e.reverse()}function Gs(a,e){var t=Ph(a);return Pt(t,e)>=0}function ai(a,e){for(var t=[];a;){var r=a.dataIndex;t.push({name:a.name,dataIndex:r,value:e.getRawValue(r)}),a=a.parentNode}return t.reverse(),t}var M1=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.hasSymbolVisual=!0,t.ignoreStyleOnData=!0,t}return e.prototype.getInitialData=function(t){var r={name:t.name,children:t.data},n=t.leaves||{},i=new ce(n,this,this.ecModel),o=zs.createTree(r,this,s);function s(c){c.wrapMethod("getItemModel",function(f,h){var p=o.getNodeByDataIndex(h);return p&&p.children.length&&p.isExpand||(f.parentModel=i),f})}var l=0;o.eachNode("preorder",function(c){c.depth>l&&(l=c.depth)});var u=t.expandAndCollapse,v=u&&t.initialTreeDepth>=0?t.initialTreeDepth:l;return o.root.eachNode("preorder",function(c){var f=c.hostTree.data.getRawDataItem(c.dataIndex);c.isExpand=f&&f.collapsed!=null?!f.collapsed:c.depth<=v}),o.data},e.prototype.getOrient=function(){var t=this.get("orient");return t==="horizontal"?t="LR":t==="vertical"&&(t="TB"),t},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.formatTooltip=function(t,r,n){for(var i=this.getData().tree,o=i.root.children[0],s=i.getNodeByDataIndex(t),l=s.getValue(),u=s.name;s&&s!==o;)u=s.parentNode.name+"."+u,s=s.parentNode;return ne("nameValue",{name:u,value:l,noValue:isNaN(l)||l==null})},e.prototype.getDataParams=function(t){var r=a.prototype.getDataParams.apply(this,arguments),n=this.getData().tree.getNodeByDataIndex(t);return r.treeAncestors=ai(n,this),r.collapsed=!n.isExpand,r},e.type="series.tree",e.layoutMode="box",e.defaultOption={z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",edgeShape:"curve",edgeForkPosition:"50%",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderWidth:1.5},label:{show:!0},animationEasing:"linear",animationDuration:700,animationDurationUpdate:500},e}(Ft);function P1(a,e,t){for(var r=[a],n=[],i;i=r.pop();)if(n.push(i),i.isExpand){var o=i.children;if(o.length)for(var s=0;s =0;i--)t.push(n[i])}}function E1(a,e){a.eachSeriesByType("tree",function(t){R1(t,e)})}function R1(a,e){var t=f1(a,e);a.layoutInfo=t;var r=a.get("layout"),n=0,i=0,o=null;r==="radial"?(n=2*Math.PI,i=Math.min(t.height,t.width)/2,o=Vu(function(m,x){return(m.parentNode===x.parentNode?1:2)/m.depth})):(n=t.width,i=t.height,o=Vu());var s=a.getData().tree.root,l=s.children[0];if(l){u1(s),P1(l,v1,o),s.hierNode.modifier=-l.hierNode.prelim,Jr(l,c1);var u=l,v=l,c=l;Jr(l,function(m){var x=m.getLayout().x;x v.getLayout().x&&(v=m),m.depth>c.depth&&(c=m)});var f=u===v?1:o(u,v)/2,h=f-u.getLayout().x,p=0,d=0,g=0,y=0;if(r==="radial")p=n/(v.getLayout().x+f+h),d=i/(c.depth-1||1),Jr(l,function(m){g=(m.getLayout().x+h)*p,y=(m.depth-1)*d;var x=na(g,y);m.setLayout({x:x.x,y:x.y,rawX:g,rawY:y},!0)});else{var S=a.getOrient();S==="RL"||S==="LR"?(d=i/(v.getLayout().x+f+h),p=n/(c.depth-1||1),Jr(l,function(m){y=(m.getLayout().x+h)*d,g=S==="LR"?(m.depth-1)*p:n-(m.depth-1)*p,m.setLayout({x:g,y},!0)})):(S==="TB"||S==="BT")&&(p=n/(v.getLayout().x+f+h),d=i/(c.depth-1||1),Jr(l,function(m){g=(m.getLayout().x+h)*p,y=S==="TB"?(m.depth-1)*d:i-(m.depth-1)*d,m.setLayout({x:g,y},!0)}))}}}function k1(a){a.eachSeriesByType("tree",function(e){var t=e.getData(),r=t.tree;r.eachNode(function(n){var i=n.getModel(),o=i.getModel("itemStyle").getItemStyle(),s=t.ensureUniqueItemVisual(n.dataIndex,"style");K(s,o)})})}function V1(a){a.registerAction({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(e,t){t.eachComponent({mainType:"series",subType:"tree",query:e},function(r){var n=e.dataIndex,i=r.getData().tree,o=i.getNodeByDataIndex(n);o.isExpand=!o.isExpand})}),a.registerAction({type:"treeRoam",event:"treeRoam",update:"none"},function(e,t,r){t.eachComponent({mainType:"series",subType:"tree",query:e},function(n){var i=n.coordinateSystem,o=Vs(i,e,void 0,r);n.setCenter&&n.setCenter(o.center),n.setZoom&&n.setZoom(o.zoom)})})}function N1(a){a.registerChartView(x1),a.registerSeriesModel(M1),a.registerLayout(E1),a.registerVisual(k1),V1(a)}var Bu=["treemapZoomToNode","treemapRender","treemapMove"];function z1(a){for(var e=0;e 1;)i=i.parentNode;var o=bo(a.ecModel,i.name||i.dataIndex+"",r);n.setVisual("decal",o)})}var G1=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t.preventUsingHoverLayer=!0,t}return e.prototype.getInitialData=function(t,r){var n={name:t.name,children:t.data};Rh(n);var i=t.levels||[],o=this.designatedVisualItemStyle={},s=new ce({itemStyle:o},this,r);i=t.levels=O1(i,r);var l=$(i||[],function(c){return new ce(c,s,r)},this),u=zs.createTree(n,this,v);function v(c){c.wrapMethod("getItemModel",function(f,h){var p=u.getNodeByDataIndex(h),d=p?l[p.depth]:null;return f.parentModel=d||s,f})}return u.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.formatTooltip=function(t,r,n){var i=this.getData(),o=this.getRawValue(t),s=i.getName(t);return ne("nameValue",{name:s,value:o})},e.prototype.getDataParams=function(t){var r=a.prototype.getDataParams.apply(this,arguments),n=this.getData().tree.getNodeByDataIndex(t);return r.treeAncestors=ai(n,this),r.treePathInfo=r.treeAncestors,r},e.prototype.setLayoutInfo=function(t){this.layoutInfo=this.layoutInfo||{},K(this.layoutInfo,t)},e.prototype.mapIdToIndex=function(t){var r=this._idIndexMap;r||(r=this._idIndexMap=ut(),this._idIndexMapCount=0);var n=r.get(t);return n==null&&r.set(t,n=this._idIndexMapCount++),n},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var r=this.getRawData().tree.root;(!t||t!==r&&!r.contains(t))&&(this._viewRoot=r)},e.prototype.enableAriaDecal=function(){Eh(this)},e.type="series.treemap",e.layoutMode="box",e.defaultOption={progressive:0,left:"center",top:"middle",width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",zoomToNodeRatio:.32*.32,scaleLimit:null,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",textStyle:{color:"#fff"}},emphasis:{itemStyle:{color:"rgba(0,0,0,0.9)"}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",overflow:"truncate"},upperLabel:{show:!1,position:[0,"50%"],height:20,overflow:"truncate",verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],overflow:"truncate",verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},e}(Ft);function Rh(a){var e=0;D(a.children,function(r){Rh(r);var n=r.value;q(n)&&(n=n[0]),e+=n});var t=a.value;q(t)&&(t=t[0]),(t==null||isNaN(t))&&(t=e),t<0&&(t=0),q(a.value)?a.value[0]=t:a.value=t}function O1(a,e){var t=Jt(e.get("color")),r=Jt(e.get(["aria","decal","decals"]));if(t){a=a||[];var n,i;D(a,function(s){var l=new ce(s),u=l.get("color"),v=l.get("decal");(l.get(["itemStyle","color"])||u&&u!=="none")&&(n=!0),(l.get(["itemStyle","decal"])||v&&v!=="none")&&(i=!0)});var o=a[0]||(a[0]={});return n||(o.color=t.slice()),!i&&r&&(o.decal=r.slice()),a}}var B1=8,Fu=8,Pi=5,F1=function(){function a(e){this.group=new nt,e.add(this.group)}return a.prototype.render=function(e,t,r,n){var i=e.getModel("breadcrumb"),o=this.group;if(o.removeAll(),!(!i.get("show")||!r)){var s=i.getModel("itemStyle"),l=i.getModel("emphasis"),u=s.getModel("textStyle"),v=l.getModel(["itemStyle","textStyle"]),c={pos:{left:i.get("left"),right:i.get("right"),top:i.get("top"),bottom:i.get("bottom")},box:{width:t.getWidth(),height:t.getHeight()},emptyItemWidth:i.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(r,c,u),this._renderContent(e,c,s,l,u,v,n),ps(o,c.pos,c.box)}},a.prototype._prepare=function(e,t,r){for(var n=e;n;n=n.parentNode){var i=ze(n.getModel().get("name"),""),o=r.getTextRect(i),s=Math.max(o.width+B1*2,t.emptyItemWidth);t.totalWidth+=s+Fu,t.renderList.push({node:n,text:i,width:s})}},a.prototype._renderContent=function(e,t,r,n,i,o,s){for(var l=0,u=t.emptyItemWidth,v=e.get(["breadcrumb","height"]),c=Tg(t.pos,t.box),f=t.totalWidth,h=t.renderList,p=n.getModel("itemStyle").getItemStyle(),d=h.length-1;d>=0;d--){var g=h[d],y=g.node,S=g.width,m=g.text;f>c.width&&(f-=S-u,S=u,m=null);var x=new Ae({shape:{points:H1(l,0,S,v,d===h.length-1,d===0)},style:ot(r.getItemStyle(),{lineJoin:"bevel"}),textContent:new St({style:At(i,{text:m})}),textConfig:{position:"inside"},z2:Pa*1e4,onclick:st(s,y)});x.disableLabelAnimation=!0,x.getTextContent().ensureState("emphasis").style=At(o,{text:m}),x.ensureState("emphasis").style=p,Et(x,n.get("focus"),n.get("blurScope"),n.get("disabled")),this.group.add(x),W1(x,e,y),l+=S+Fu}},a.prototype.remove=function(){this.group.removeAll()},a}();function H1(a,e,t,r,n,i){var o=[[n?a:a-Pi,e],[a+t,e],[a+t,e+r],[n?a:a-Pi,e+r]];return!i&&o.splice(2,0,[a+t+Pi,e+r/2]),!n&&o.push([a,e+r/2]),o}function W1(a,e,t){ht(a).eventData={componentType:"series",componentSubType:"treemap",componentIndex:e.componentIndex,seriesIndex:e.seriesIndex,seriesName:e.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:t&&t.dataIndex,name:t&&t.name},treePathInfo:t&&ai(t,e)}}var U1=function(){function a(){this._storage=[],this._elExistsMap={}}return a.prototype.add=function(e,t,r,n,i){return this._elExistsMap[e.id]?!1:(this._elExistsMap[e.id]=!0,this._storage.push({el:e,target:t,duration:r,delay:n,easing:i}),!0)},a.prototype.finished=function(e){return this._finishedCallback=e,this},a.prototype.start=function(){for(var e=this,t=this._storage.length,r=function(){t--,t<=0&&(e._storage.length=0,e._elExistsMap={},e._finishedCallback&&e._finishedCallback())},n=0,i=this._storage.length;nWu||Math.abs(t.dy)>Wu)){var r=this.seriesModel.getData().tree.root;if(!r)return;var n=r.getLayout();if(!n)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:n.x+t.dx,y:n.y+t.dy,width:n.width,height:n.height}})}},e.prototype._onZoom=function(t){var r=t.originX,n=t.originY,i=t.scale;if(this._state!=="animating"){var o=this.seriesModel.getData().tree.root;if(!o)return;var s=o.getLayout();if(!s)return;var l=new Tt(s.x,s.y,s.width,s.height),u=null,v=this._controllerHost;u=v.zoomLimit;var c=v.zoom=v.zoom||1;if(c*=i,u){var f=u.min||0,h=u.max||1/0;c=Math.max(Math.min(h,c),f)}var p=c/v.zoom;v.zoom=c;var d=this.seriesModel.layoutInfo;r-=d.x,n-=d.y;var g=Zr();Sr(g,g,[-r,-n]),bf(g,g,[p,p]),Sr(g,g,[r,n]),l.applyTransform(g),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:l.x,y:l.y,width:l.width,height:l.height}})}},e.prototype._initEvents=function(t){var r=this;t.on("click",function(n){if(r._state==="ready"){var i=r.seriesModel.get("nodeClick",!0);if(i){var o=r.findTarget(n.offsetX,n.offsetY);if(o){var s=o.node;if(s.getLayout().isLeafRoot)r._rootToNode(o);else if(i==="zoomToNode")r._zoomToNode(o);else if(i==="link"){var l=s.hostTree.data.getItemModel(s.dataIndex),u=l.get("link",!0),v=l.get("target",!0)||"blank";u&&pn(u,v)}}}}},this)},e.prototype._renderBreadcrumb=function(t,r,n){var i=this;n||(n=t.get("leafDepth",!0)!=null?{node:t.getViewRoot()}:this.findTarget(r.getWidth()/2,r.getHeight()/2),n||(n={node:t.getData().tree.root})),(this._breadcrumb||(this._breadcrumb=new F1(this.group))).render(t,r,n.node,function(o){i._state!=="animating"&&(Gs(t.getViewRoot(),o)?i._rootToNode({node:o}):i._zoomToNode({node:o}))})},e.prototype.remove=function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage=Qr(),this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},e.prototype.dispose=function(){this._clearController()},e.prototype._zoomToNode=function(t){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype._rootToNode=function(t){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype.findTarget=function(t,r){var n,i=this.seriesModel.getViewRoot();return i.eachNode({attr:"viewChildren",order:"preorder"},function(o){var s=this._storage.background[o.getRawIndex()];if(s){var l=s.transformCoordToLocal(t,r),u=s.shape;if(u.x<=l[0]&&l[0]<=u.x+u.width&&u.y<=l[1]&&l[1]<=u.y+u.height)n={node:o,offsetX:l[0],offsetY:l[1]};else return!1}},this),n},e.type="treemap",e}(kt);function Qr(){return{nodeGroup:[],background:[],content:[]}}function K1(a,e,t,r,n,i,o,s,l,u){if(!o)return;var v=o.getLayout(),c=a.getData(),f=o.getModel();if(c.setItemGraphicEl(o.dataIndex,null),!v||!v.isInView)return;var h=v.width,p=v.height,d=v.borderWidth,g=v.invisible,y=o.getRawIndex(),S=s&&s.getRawIndex(),m=o.viewChildren,x=v.upperHeight,b=m&&m.length,_=f.getModel("itemStyle"),w=f.getModel(["emphasis","itemStyle"]),A=f.getModel(["blur","itemStyle"]),T=f.getModel(["select","itemStyle"]),C=_.get("borderRadius")||0,L=O("nodeGroup",ko);if(!L)return;if(l.add(L),L.x=v.x||0,L.y=v.y||0,L.markRedraw(),Tn(L).nodeWidth=h,Tn(L).nodeHeight=p,v.isAboveViewRoot)return L;var M=O("background",Hu,u,Z1);M&&H(L,M,b&&v.upperLabelHeight);var I=f.getModel("emphasis"),P=I.get("focus"),E=I.get("blurScope"),R=I.get("disabled"),k=P==="ancestor"?o.getAncestorsIndices():P==="descendant"?o.getDescendantIndices():P;if(b)Dl(L)&&ra(L,!1),M&&(ra(M,!R),c.setItemGraphicEl(o.dataIndex,M),Ll(M,k,E));else{var N=O("content",Hu,u,X1);N&&X(L,N),M.disableMorphing=!0,M&&Dl(M)&&ra(M,!1),ra(L,!R),c.setItemGraphicEl(o.dataIndex,L);var F=f.getShallow("cursor");F&&N.attr("cursor",F),Ll(L,k,E)}return L;function H(Y,W,Q){var et=ht(W);if(et.dataIndex=o.dataIndex,et.seriesIndex=a.seriesIndex,W.setShape({x:0,y:0,width:h,height:p,r:C}),g)j(W);else{W.invisible=!1;var B=o.getVisual("style"),ct=B.stroke,vt=Yu(_);vt.fill=ct;var ft=lr(w);ft.fill=w.get("borderColor");var _t=lr(A);_t.fill=A.get("borderColor");var Vt=lr(T);if(Vt.fill=T.get("borderColor"),Q){var ie=h-2*d;rt(W,ct,B.opacity,{x:d,y:0,width:ie,height:x})}else W.removeTextContent();W.setStyle(vt),W.ensureState("emphasis").style=ft,W.ensureState("blur").style=_t,W.ensureState("select").style=Vt,Br(W)}Y.add(W)}function X(Y,W){var Q=ht(W);Q.dataIndex=o.dataIndex,Q.seriesIndex=a.seriesIndex;var et=Math.max(h-2*d,0),B=Math.max(p-2*d,0);if(W.culling=!0,W.setShape({x:d,y:d,width:et,height:B,r:C}),g)j(W);else{W.invisible=!1;var ct=o.getVisual("style"),vt=ct.fill,ft=Yu(_);ft.fill=vt,ft.decal=ct.decal;var _t=lr(w),Vt=lr(A),ie=lr(T);rt(W,vt,ct.opacity,null),W.setStyle(ft),W.ensureState("emphasis").style=_t,W.ensureState("blur").style=Vt,W.ensureState("select").style=ie,Br(W)}Y.add(W)}function j(Y){!Y.invisible&&i.push(Y)}function rt(Y,W,Q,et){var B=f.getModel(et?$u:Uu),ct=ze(f.get("name"),null),vt=B.getShallow("show");ue(Y,Qt(f,et?$u:Uu),{defaultText:vt?ct:null,inheritColor:W,defaultOpacity:Q,labelFetcher:a,labelDataIndex:o.dataIndex});var ft=Y.getTextContent();if(ft){var _t=ft.style,Vt=Cg(_t.padding||0);et&&(Y.setTextConfig({layoutRect:et}),ft.disableLabelLayout=!0),ft.beforeUpdate=function(){var ee=Math.max((et?et.width:Y.shape.width)-Vt[1]-Vt[3],0),rr=Math.max((et?et.height:Y.shape.height)-Vt[0]-Vt[2],0);(_t.width!==ee||_t.height!==rr)&&ft.setStyle({width:ee,height:rr})},_t.truncateMinChar=2,_t.lineOverflow="truncate",tt(_t,et,v);var ie=ft.getState("emphasis");tt(ie?ie.style:null,et,v)}}function tt(Y,W,Q){var et=Y?Y.text:null;if(!W&&Q.isLeafRoot&&et!=null){var B=a.get("drillDownIcon",!0);Y.text=B?B+" "+et:et}}function O(Y,W,Q,et){var B=S!=null&&t[Y][S],ct=n[Y];return B?(t[Y][S]=null,G(ct,B)):g||(B=new W,B instanceof xr&&(B.z2=j1(Q,et)),J(ct,B)),e[Y][y]=B}function G(Y,W){var Q=Y[y]={};W instanceof ko?(Q.oldX=W.x,Q.oldY=W.y):Q.oldShape=K({},W.shape)}function J(Y,W){var Q=Y[y]={},et=o.parentNode,B=W instanceof nt;if(et&&(!r||r.direction==="drillDown")){var ct=0,vt=0,ft=n.background[et.getRawIndex()];!r&&ft&&ft.oldShape&&(ct=ft.oldShape.width,vt=ft.oldShape.height),B?(Q.oldX=0,Q.oldY=vt):Q.oldShape={x:ct,y:vt,width:0,height:0}}Q.fadein=!B}}function j1(a,e){return a*Y1+e}var _a=D,J1=Zt,Cn=-1,Ot=function(){function a(e){var t=e.mappingMethod,r=e.type,n=this.option=pt(e);this.type=r,this.mappingMethod=t,this._normalizeData=eS[t];var i=a.visualHandlers[r];this.applyVisual=i.applyVisual,this.getColorMapper=i.getColorMapper,this._normalizedToVisual=i._normalizedToVisual[t],t==="piecewise"?(Ei(n),Q1(n)):t==="category"?n.categories?tS(n):Ei(n,!0):(da(t!=="linear"||n.dataExtent),Ei(n))}return a.prototype.mapValueToVisual=function(e){var t=this._normalizeData(e);return this._normalizedToVisual(t,e)},a.prototype.getNormalizer=function(){return at(this._normalizeData,this)},a.listVisualTypes=function(){return Mt(a.visualHandlers)},a.isValidType=function(e){return a.visualHandlers.hasOwnProperty(e)},a.eachVisual=function(e,t,r){Zt(e)?D(e,t,r):t.call(r,e)},a.mapVisual=function(e,t,r){var n,i=q(e)?[]:Zt(e)?{}:(n=!0,null);return a.eachVisual(e,function(o,s){var l=t.call(r,o,s);n?i=l:i[s]=l}),i},a.retrieveVisuals=function(e){var t={},r;return e&&_a(a.visualHandlers,function(n,i){e.hasOwnProperty(i)&&(t[i]=e[i],r=!0)}),r?t:null},a.prepareVisualTypes=function(e){if(q(e))e=e.slice();else if(J1(e)){var t=[];_a(e,function(r,n){t.push(n)}),e=t}else return[];return e.sort(function(r,n){return n==="color"&&r!=="color"&&r.indexOf("color")===0?1:-1}),e},a.dependsOn=function(e,t){return t==="color"?!!(e&&e.indexOf(t)===0):e===t},a.findPieceIndex=function(e,t,r){for(var n,i=1/0,o=0,s=t.length;o =0;i--)r[i]==null&&(delete t[e[i]],e.pop())}function Ei(a,e){var t=a.visual,r=[];Zt(t)?_a(t,function(i){r.push(i)}):t!=null&&r.push(t);var n={color:1,symbol:1};!e&&r.length===1&&!n.hasOwnProperty(a.type)&&(r[1]=r[0]),kh(a,r)}function Ya(a){return{applyVisual:function(e,t,r){var n=this.mapValueToVisual(e);r("color",a(t("color"),n))},_normalizedToVisual:Vo([0,1])}}function Zu(a){var e=this.option.visual;return e[Math.round(Nt(a,[0,1],[0,e.length-1],!0))]||{}}function ta(a){return function(e,t,r){r(a,this.mapValueToVisual(e))}}function ia(a){var e=this.option.visual;return e[this.option.loop&&a!==Cn?a%e.length:a]}function ur(){return this.option.visual[0]}function Vo(a){return{linear:function(e){return Nt(e,a,this.option.visual,!0)},category:ia,piecewise:function(e,t){var r=No.call(this,t);return r==null&&(r=Nt(e,a,this.option.visual,!0)),r},fixed:ur}}function No(a){var e=this.option,t=e.pieceList;if(e.hasSpecialVisual){var r=Ot.findPieceIndex(a,t),n=t[r];if(n&&n.visual)return n.visual[this.type]}}function kh(a,e){return a.visual=e,a.type==="color"&&(a.parsedVisual=$(e,function(t){var r=Dg(t);return r||[0,0,0,1]})),e}var eS={linear:function(a){return Nt(a,this.option.dataExtent,[0,1],!0)},piecewise:function(a){var e=this.option.pieceList,t=Ot.findPieceIndex(a,e,!0);if(t!=null)return Nt(t,[0,e.length-1],[0,1],!0)},category:function(a){var e=this.option.categories?this.option.categoryMap[a]:a;return e??Cn},fixed:yr};function Za(a,e,t){return a?e<=t:e=t.length||d===t[d.depth]){var y=sS(n,l,d,g,p,r);Nh(d,y,t,r)}})}}}function nS(a,e,t){var r=K({},e),n=t.designatedVisualItemStyle;return D(["color","colorAlpha","colorSaturation"],function(i){n[i]=e[i];var o=a.get(i);n[i]=null,o!=null&&(r[i]=o)}),r}function Xu(a){var e=Ri(a,"color");if(e){var t=Ri(a,"colorAlpha"),r=Ri(a,"colorSaturation");return r&&(e=la(e,null,null,r)),t&&(e=dn(e,t)),e}}function iS(a,e){return e!=null?la(e,null,null,a):null}function Ri(a,e){var t=a[e];if(t!=null&&t!=="none")return t}function oS(a,e,t,r,n,i){if(!(!i||!i.length)){var o=ki(e,"color")||n.color!=null&&n.color!=="none"&&(ki(e,"colorAlpha")||ki(e,"colorSaturation"));if(o){var s=e.get("visualMin"),l=e.get("visualMax"),u=t.dataExtent.slice();s!=null&&su[1]&&(u[1]=l);var v=e.get("colorMappingBy"),c={type:o.name,dataExtent:u,visual:o.range};c.type==="color"&&(v==="index"||v==="id")?(c.mappingMethod="category",c.loop=!0):c.mappingMethod="linear";var f=new Ot(c);return Vh(f).drColorMappingBy=v,f}}}function ki(a,e){var t=a.get(e);return q(t)&&t.length?{name:e,range:t}:null}function sS(a,e,t,r,n,i){var o=K({},e);if(n){var s=n.type,l=s==="color"&&Vh(n).drColorMappingBy,u=l==="index"?r:l==="id"?i.mapIdToIndex(t.getId()):t.getValue(a.get("visualDimension"));o[s]=n.mapValueToVisual(u)}return o}var wa=Math.max,Dn=Math.min,qu=se,Os=D,zh=["itemStyle","borderWidth"],lS=["itemStyle","gapWidth"],uS=["upperLabel","show"],vS=["upperLabel","height"];const cS={seriesType:"treemap",reset:function(a,e,t,r){var n=t.getWidth(),i=t.getHeight(),o=a.option,s=fe(a.getBoxLayoutParams(),{width:t.getWidth(),height:t.getHeight()}),l=o.size||[],u=U(qu(s.width,l[0]),n),v=U(qu(s.height,l[1]),i),c=r&&r.type,f=["treemapZoomToNode","treemapRootToNode"],h=ba(r,f,a),p=c==="treemapRender"||c==="treemapMove"?r.rootRect:null,d=a.getViewRoot(),g=Ph(d);if(c!=="treemapMove"){var y=c==="treemapZoomToNode"?yS(a,h,d,u,v):p?[p.width,p.height]:[u,v],S=o.sort;S&&S!=="asc"&&S!=="desc"&&(S="desc");var m={squareRatio:o.squareRatio,sort:S,leafDepth:o.leafDepth};d.hostTree.clearLayouts();var x={x:0,y:0,width:y[0],height:y[1],area:y[0]*y[1]};d.setLayout(x),Gh(d,m,!1,0),x=d.getLayout(),Os(g,function(_,w){var A=(g[w+1]||d).getValue();_.setLayout(K({dataExtent:[A,A],borderWidth:0,upperHeight:0},x))})}var b=a.getData().tree.root;b.setLayout(mS(s,p,h),!0),a.setLayoutInfo(s),Oh(b,new Tt(-s.x,-s.y,n,i),g,d,0)}};function Gh(a,e,t,r){var n,i;if(!a.isRemoved()){var o=a.getLayout();n=o.width,i=o.height;var s=a.getModel(),l=s.get(zh),u=s.get(lS)/2,v=Bh(s),c=Math.max(l,v),f=l-u,h=c-u;a.setLayout({borderWidth:l,upperHeight:c,upperLabelHeight:v},!0),n=wa(n-2*f,0),i=wa(i-f-h,0);var p=n*i,d=fS(a,s,p,e,t,r);if(d.length){var g={x:f,y:h,width:n,height:i},y=Dn(n,i),S=1/0,m=[];m.area=0;for(var x=0,b=d.length;x=0;l--){var u=n[r==="asc"?o-l-1:l].getValue();u/t*es[1]&&(s[1]=u)})),{sum:r,dataExtent:s}}function gS(a,e,t){for(var r=0,n=1/0,i=0,o=void 0,s=a.length;i r&&(r=o));var l=a.area*a.area,u=e*e*t;return l?wa(u*r/l,l/(u*n)):1/0}function Ku(a,e,t,r,n){var i=e===t.width?0:1,o=1-i,s=["x","y"],l=["width","height"],u=t[s[i]],v=e?a.area/e:0;(n||v>t[l[o]])&&(v=t[l[o]]);for(var c=0,f=a.length;cIl&&(u=Il),i=s}u r&&(r=e);var i=r%2?r+2:r+3;n=[];for(var o=0;o0&&(b[0]=-b[0],b[1]=-b[1]);var w=x[0]<0?-1:1;if(i.__position!=="start"&&i.__position!=="end"){var A=-Math.atan2(x[1],x[0]);c[0] .8?"left":f[0]<-.8?"right":"center",d=f[1]>.8?"top":f[1]<-.8?"bottom":"middle";break;case"start":i.x=-f[0]*y+v[0],i.y=-f[1]*S+v[1],p=f[0]>.8?"right":f[0]<-.8?"left":"center",d=f[1]>.8?"bottom":f[1]<-.8?"top":"middle";break;case"insideStartTop":case"insideStart":case"insideStartBottom":i.x=y*w+v[0],i.y=v[1]+T,p=x[0]<0?"right":"left",i.originX=-y*w,i.originY=-T;break;case"insideMiddleTop":case"insideMiddle":case"insideMiddleBottom":case"middle":i.x=_[0],i.y=_[1]+T,p="center",i.originY=-T;break;case"insideEndTop":case"insideEnd":case"insideEndBottom":i.x=-y*w+c[0],i.y=c[1]+T,p=x[0]>=0?"right":"left",i.originX=y*w,i.originY=-T;break}i.scaleX=i.scaleY=o,i.setStyle({verticalAlign:i.__verticalAlign||d,align:i.__align||p})}},e}(nt),Us=function(){function a(e){this.group=new nt,this._LineCtor=e||Ws}return a.prototype.updateData=function(e){var t=this;this._progressiveEls=null;var r=this,n=r.group,i=r._lineData;r._lineData=e,i||n.removeAll();var o=rv(e);e.diff(i).add(function(s){t._doAdd(e,s,o)}).update(function(s,l){t._doUpdate(i,e,l,s,o)}).remove(function(s){n.remove(i.getItemGraphicEl(s))}).execute()},a.prototype.updateLayout=function(){var e=this._lineData;e&&e.eachItemGraphicEl(function(t,r){t.updateLayout(e,r)},this)},a.prototype.incrementalPrepareUpdate=function(e){this._seriesScope=rv(e),this._lineData=null,this.group.removeAll()},a.prototype.incrementalUpdate=function(e,t){this._progressiveEls=[];function r(s){!s.isGroup&&!NS(s)&&(s.incremental=!0,s.ensureState("emphasis").hoverLayer=!0)}for(var n=e.start;n 0}function rv(a){var e=a.hostModel,t=e.getModel("emphasis");return{lineStyle:e.getModel("lineStyle").getLineStyle(),emphasisLineStyle:t.getModel(["lineStyle"]).getLineStyle(),blurLineStyle:e.getModel(["blur","lineStyle"]).getLineStyle(),selectLineStyle:e.getModel(["select","lineStyle"]).getLineStyle(),emphasisDisabled:t.get("disabled"),blurScope:t.get("blurScope"),focus:t.get("focus"),labelStatesModels:Qt(e)}}function av(a){return isNaN(a[0])||isNaN(a[1])}function Oi(a){return a&&!av(a[0])&&!av(a[1])}var Bi=[],Fi=[],Hi=[],Dr=If,Wi=Eg,nv=Math.abs;function iv(a,e,t){for(var r=a[0],n=a[1],i=a[2],o=1/0,s,l=t*t,u=.1,v=.1;v<=.9;v+=.1){Bi[0]=Dr(r[0],n[0],i[0],v),Bi[1]=Dr(r[1],n[1],i[1],v);var c=nv(Wi(Bi,e)-l);c =0?s=s+u:s=s-u:p>=0?s=s-u:s=s+u}return s}function Ui(a,e){var t=[],r=Pg,n=[[],[],[]],i=[[],[]],o=[];e/=2,a.eachEdge(function(s,l){var u=s.getLayout(),v=s.getVisual("fromSymbol"),c=s.getVisual("toSymbol");u.__original||(u.__original=[je(u[0]),je(u[1])],u[2]&&u.__original.push(je(u[2])));var f=u.__original;if(u[2]!=null){if(Kt(n[0],f[0]),Kt(n[1],f[2]),Kt(n[2],f[1]),v&&v!=="none"){var h=sa(s.node1),p=iv(n,f[0],h*e);r(n[0][0],n[1][0],n[2][0],p,t),n[0][0]=t[3],n[1][0]=t[4],r(n[0][1],n[1][1],n[2][1],p,t),n[0][1]=t[3],n[1][1]=t[4]}if(c&&c!=="none"){var h=sa(s.node2),p=iv(n,f[1],h*e);r(n[0][0],n[1][0],n[2][0],p,t),n[1][0]=t[1],n[2][0]=t[2],r(n[0][1],n[1][1],n[2][1],p,t),n[1][1]=t[1],n[2][1]=t[2]}Kt(u[0],n[0]),Kt(u[1],n[2]),Kt(u[2],n[1])}else{if(Kt(i[0],f[0]),Kt(i[1],f[1]),Nr(o,i[1],i[0]),Ea(o,o),v&&v!=="none"){var h=sa(s.node1);_o(i[0],i[0],o,h*e)}if(c&&c!=="none"){var h=sa(s.node2);_o(i[1],i[1],o,-h*e)}Kt(u[0],i[0]),Kt(u[1],i[1])}})}function ov(a){return a.type==="view"}var zS=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,r){var n=new Un,i=new Us,o=this.group;this._controller=new Zn(r.getZr()),this._controllerHost={target:o},o.add(n.group),o.add(i.group),this._symbolDraw=n,this._lineDraw=i,this._firstRender=!0},e.prototype.render=function(t,r,n){var i=this,o=t.coordinateSystem;this._model=t;var s=this._symbolDraw,l=this._lineDraw,u=this.group;if(ov(o)){var v={x:o.x,y:o.y,scaleX:o.scaleX,scaleY:o.scaleY};this._firstRender?u.attr(v):xt(u,v,t)}Ui(t.getGraph(),oa(t));var c=t.getData();s.updateData(c);var f=t.getEdgeData();l.updateData(f),this._updateNodeAndLinkScale(),this._updateController(t,r,n),clearTimeout(this._layoutTimeout);var h=t.forceLayout,p=t.get(["force","layoutAnimation"]);h&&this._startForceLayoutIteration(h,p);var d=t.get("layout");c.graph.eachNode(function(m){var x=m.dataIndex,b=m.getGraphicEl(),_=m.getModel();if(b){b.off("drag").off("dragend");var w=_.get("draggable");w&&b.on("drag",function(T){switch(d){case"force":h.warmUp(),!i._layouting&&i._startForceLayoutIteration(h,p),h.setFixed(x),c.setItemLayout(x,[b.x,b.y]);break;case"circular":c.setItemLayout(x,[b.x,b.y]),m.setLayout({fixed:!0},!0),Hs(t,"symbolSize",m,[T.offsetX,T.offsetY]),i.updateLayout(t);break;case"none":default:c.setItemLayout(x,[b.x,b.y]),Fs(t.getGraph(),t),i.updateLayout(t);break}}).on("dragend",function(){h&&h.setUnfixed(x)}),b.setDraggable(w,!!_.get("cursor"));var A=_.get(["emphasis","focus"]);A==="adjacency"&&(ht(b).focus=m.getAdjacentDataIndices())}}),c.graph.eachEdge(function(m){var x=m.getGraphicEl(),b=m.getModel().get(["emphasis","focus"]);x&&b==="adjacency"&&(ht(x).focus={edge:[m.dataIndex],node:[m.node1.dataIndex,m.node2.dataIndex]})});var g=t.get("layout")==="circular"&&t.get(["circular","rotateLabel"]),y=c.getLayout("cx"),S=c.getLayout("cy");c.graph.eachNode(function(m){Uh(m,g,y,S)}),this._firstRender=!1},e.prototype.dispose=function(){this.remove(),this._controller&&this._controller.dispose(),this._controllerHost=null},e.prototype._startForceLayoutIteration=function(t,r){var n=this;(function i(){t.step(function(o){n.updateLayout(n._model),(n._layouting=!o)&&(r?n._layoutTimeout=setTimeout(i,16):i())})})()},e.prototype._updateController=function(t,r,n){var i=this,o=this._controller,s=this._controllerHost,l=this.group;if(o.setPointerChecker(function(u,v,c){var f=l.getBoundingRect();return f.applyTransform(l.transform),f.contain(v,c)&&!ei(u,n,t)}),!ov(t.coordinateSystem)){o.disable();return}o.enable(t.get("roam")),s.zoomLimit=t.get("scaleLimit"),s.zoom=t.coordinateSystem.getZoom(),o.off("pan").off("zoom").on("pan",function(u){Es(s,u.dx,u.dy),n.dispatchAction({seriesId:t.id,type:"graphRoam",dx:u.dx,dy:u.dy})}).on("zoom",function(u){Rs(s,u.scale,u.originX,u.originY),n.dispatchAction({seriesId:t.id,type:"graphRoam",zoom:u.scale,originX:u.originX,originY:u.originY}),i._updateNodeAndLinkScale(),Ui(t.getGraph(),oa(t)),i._lineDraw.updateLayout(),n.updateLabelLayout()})},e.prototype._updateNodeAndLinkScale=function(){var t=this._model,r=t.getData(),n=oa(t);r.eachItemGraphicEl(function(i,o){i&&i.setSymbolScale(n)})},e.prototype.updateLayout=function(t){Ui(t.getGraph(),oa(t)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout()},e.prototype.remove=function(){clearTimeout(this._layoutTimeout),this._layouting=!1,this._layoutTimeout=null,this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove()},e.type="graph",e}(kt);function Lr(a){return"_EC_"+a}var GS=function(){function a(e){this.type="graph",this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this._directed=e||!1}return a.prototype.isDirected=function(){return this._directed},a.prototype.addNode=function(e,t){e=e==null?""+t:""+e;var r=this._nodesMap;if(!r[Lr(e)]){var n=new vr(e,t);return n.hostGraph=this,this.nodes.push(n),r[Lr(e)]=n,n}},a.prototype.getNodeByIndex=function(e){var t=this.data.getRawIndex(e);return this.nodes[t]},a.prototype.getNodeById=function(e){return this._nodesMap[Lr(e)]},a.prototype.addEdge=function(e,t,r){var n=this._nodesMap,i=this._edgesMap;if(le(e)&&(e=this.nodes[e]),le(t)&&(t=this.nodes[t]),e instanceof vr||(e=n[Lr(e)]),t instanceof vr||(t=n[Lr(t)]),!(!e||!t)){var o=e.id+"-"+t.id,s=new Yh(e,t,r);return s.hostGraph=this,this._directed&&(e.outEdges.push(s),t.inEdges.push(s)),e.edges.push(s),e!==t&&t.edges.push(s),this.edges.push(s),i[o]=s,s}},a.prototype.getEdgeByIndex=function(e){var t=this.edgeData.getRawIndex(e);return this.edges[t]},a.prototype.getEdge=function(e,t){e instanceof vr&&(e=e.id),t instanceof vr&&(t=t.id);var r=this._edgesMap;return this._directed?r[e+"-"+t]:r[e+"-"+t]||r[t+"-"+e]},a.prototype.eachNode=function(e,t){for(var r=this.nodes,n=r.length,i=0;i =0&&e.call(t,r[i],i)},a.prototype.eachEdge=function(e,t){for(var r=this.edges,n=r.length,i=0;i =0&&r[i].node1.dataIndex>=0&&r[i].node2.dataIndex>=0&&e.call(t,r[i],i)},a.prototype.breadthFirstTraverse=function(e,t,r,n){if(t instanceof vr||(t=this._nodesMap[Lr(t)]),!!t){for(var i=r==="out"?"outEdges":r==="in"?"inEdges":"edges",o=0;o =0&&l.node2.dataIndex>=0});for(var i=0,o=n.length;i =0&&this[a][e].setItemVisual(this.dataIndex,t,r)},getVisual:function(t){return this[a][e].getItemVisual(this.dataIndex,t)},setLayout:function(t,r){this.dataIndex>=0&&this[a][e].setItemLayout(this.dataIndex,t,r)},getLayout:function(){return this[a][e].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[a][e].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[a][e].getRawIndex(this.dataIndex)}}}Ce(vr,Zh("hostGraph","data"));Ce(Yh,Zh("hostGraph","edgeData"));function Xh(a,e,t,r,n){for(var i=new GS(r),o=0;o "+f)),u++)}var h=t.get("coordinateSystem"),p;if(h==="cartesian2d"||h==="polar")p=$r(a,t);else{var d=Mf.get(h),g=d?d.dimensions||[]:[];Pt(g,"value")<0&&g.concat(["value"]);var y=Hn(a,{coordDimensions:g,encodeDefine:t.getEncode()}).dimensions;p=new re(y,t),p.initData(a)}var S=new re(["value"],t);return S.initData(l,s),n&&n(p,S),Ih({mainData:p,struct:i,structAttr:"graph",datas:{node:p,edge:S},datasAttr:{node:"data",edge:"edgeData"}}),i.update(),i}var OS=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t}return e.prototype.init=function(t){a.prototype.init.apply(this,arguments);var r=this;function n(){return r._categoriesData}this.legendVisualProvider=new za(n,n),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},e.prototype.mergeOption=function(t){a.prototype.mergeOption.apply(this,arguments),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},e.prototype.mergeDefaultAndTheme=function(t){a.prototype.mergeDefaultAndTheme.apply(this,arguments),La(t,"edgeLabel",["show"])},e.prototype.getInitialData=function(t,r){var n=t.edges||t.links||[],i=t.data||t.nodes||[],o=this;if(i&&n){TS(this);var s=Xh(i,n,this,!0,l);return D(s.edges,function(u){CS(u.node1,u.node2,this,u.dataIndex)},this),s.data}function l(u,v){u.wrapMethod("getItemModel",function(p){var d=o._categoriesModels,g=p.getShallow("category"),y=d[g];return y&&(y.parentModel=p.parentModel,p.parentModel=y),p});var c=ce.prototype.getModel;function f(p,d){var g=c.call(this,p,d);return g.resolveParentPath=h,g}v.wrapMethod("getItemModel",function(p){return p.resolveParentPath=h,p.getModel=f,p});function h(p){if(p&&(p[0]==="label"||p[1]==="label")){var d=p.slice();return p[0]==="label"?d[0]="edgeLabel":p[1]==="label"&&(d[1]="edgeLabel"),d}return p}}},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.getCategoriesData=function(){return this._categoriesData},e.prototype.formatTooltip=function(t,r,n){if(n==="edge"){var i=this.getData(),o=this.getDataParams(t,n),s=i.graph.getEdgeByIndex(t),l=i.getName(s.node1.dataIndex),u=i.getName(s.node2.dataIndex),v=[];return l!=null&&v.push(l),u!=null&&v.push(u),ne("nameValue",{name:v.join(" > "),value:o.value,noValue:o.value==null})}var c=Rg({series:this,dataIndex:t,multipleSeries:r});return c},e.prototype._updateCategoriesData=function(){var t=$(this.option.categories||[],function(n){return n.value!=null?n:K({value:0},n)}),r=new re(["value"],this);r.initData(t),this._categoriesData=r,this._categoriesModels=r.mapArray(function(n){return r.getItemModel(n)})},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.isAnimationEnabled=function(){return a.prototype.isAnimationEnabled.call(this)&&!(this.get("layout")==="force"&&this.get(["force","layoutAnimation"]))},e.type="series.graph",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={z:2,coordinateSystem:"view",legendHoverLink:!0,layout:null,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{scale:!0,label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},e}(Ft),BS={type:"graphRoam",event:"graphRoam",update:"none"};function FS(a){a.registerChartView(zS),a.registerSeriesModel(OS),a.registerProcessor(xS),a.registerVisual(bS),a.registerVisual(_S),a.registerLayout(DS),a.registerLayout(a.PRIORITY.VISUAL.POST_CHART_LAYOUT,IS),a.registerLayout(PS),a.registerCoordinateSystem("graphView",{dimensions:Ga.dimensions,create:RS}),a.registerAction({type:"focusNodeAdjacency",event:"focusNodeAdjacency",update:"series:focusNodeAdjacency"},yr),a.registerAction({type:"unfocusNodeAdjacency",event:"unfocusNodeAdjacency",update:"series:unfocusNodeAdjacency"},yr),a.registerAction(BS,function(e,t,r){t.eachComponent({mainType:"series",query:e},function(n){var i=n.coordinateSystem,o=Vs(i,e,void 0,r);n.setCenter&&n.setCenter(o.center),n.setZoom&&n.setZoom(o.zoom)})})}var HS=function(){function a(){this.angle=0,this.width=10,this.r=10,this.x=0,this.y=0}return a}(),WS=function(a){V(e,a);function e(t){var r=a.call(this,t)||this;return r.type="pointer",r}return e.prototype.getDefaultShape=function(){return new HS},e.prototype.buildPath=function(t,r){var n=Math.cos,i=Math.sin,o=r.r,s=r.width,l=r.angle,u=r.x-n(l)*s*(s>=o/3?1:2),v=r.y-i(l)*s*(s>=o/3?1:2);l=r.angle-Math.PI/2,t.moveTo(u,v),t.lineTo(r.x+n(l)*s,r.y+i(l)*s),t.lineTo(r.x+n(r.angle)*o,r.y+i(r.angle)*o),t.lineTo(r.x-n(l)*s,r.y-i(l)*s),t.lineTo(u,v)},e}(Wt);function US(a,e){var t=a.get("center"),r=e.getWidth(),n=e.getHeight(),i=Math.min(r,n),o=U(t[0],e.getWidth()),s=U(t[1],e.getHeight()),l=U(a.get("radius"),i/2);return{cx:o,cy:s,r:l}}function qa(a,e){var t=a==null?"":a+"";return e&&(lt(e)?t=e.replace("{value}",t):gt(e)&&(t=e(a))),t}var $S=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,r,n){this.group.removeAll();var i=t.get(["axisLine","lineStyle","color"]),o=US(t,n);this._renderMain(t,r,n,i,o),this._data=t.getData()},e.prototype.dispose=function(){},e.prototype._renderMain=function(t,r,n,i,o){var s=this.group,l=t.get("clockwise"),u=-t.get("startAngle")/180*Math.PI,v=-t.get("endAngle")/180*Math.PI,c=t.getModel("axisLine"),f=c.get("roundCap"),h=f?Pl:Be,p=c.get("show"),d=c.getModel("lineStyle"),g=d.get("width"),y=[u,v];yf(y,!l),u=y[0],v=y[1];for(var S=v-u,m=u,x=[],b=0;p&&b =T&&(C===0?0:i[C-1][0]) Math.PI/2&&(tt+=Math.PI)):rt==="tangential"?tt=-A-Math.PI/2:le(rt)&&(tt=rt*Math.PI/180),tt===0?c.add(new St({style:At(m,{text:F,x:X,y:j,verticalAlign:E<-.8?"top":E>.8?"bottom":"middle",align:P<-.4?"left":P>.4?"right":"center"},{inheritColor:H}),silent:!0})):c.add(new St({style:At(m,{text:F,x:X,y:j,verticalAlign:"middle",align:"center"},{inheritColor:H}),silent:!0,originX:X,originY:j,rotation:tt}))}if(S.get("show")&&R!==x){var k=S.get("distance");k=k?k+v:v;for(var O=0;O<=b;O++){P=Math.cos(A),E=Math.sin(A);var G=new _e({shape:{x1:P*(p-k)+f,y1:E*(p-k)+h,x2:P*(p-w-k)+f,y2:E*(p-w-k)+h},silent:!0,style:M});M.stroke==="auto"&&G.setStyle({stroke:i((R+O/b)/x)}),c.add(G),A+=C}A-=C}else A+=T}},e.prototype._renderPointer=function(t,r,n,i,o,s,l,u,v){var c=this.group,f=this._data,h=this._progressEls,p=[],d=t.get(["pointer","show"]),g=t.getModel("progress"),y=g.get("show"),S=t.getData(),m=S.mapDimension("value"),x=+t.get("min"),b=+t.get("max"),_=[x,b],w=[s,l];function A(C,L){var M=S.getItemModel(C),I=M.getModel("pointer"),P=U(I.get("width"),o.r),E=U(I.get("length"),o.r),R=t.get(["pointer","icon"]),k=I.get("offsetCenter"),N=U(k[0],o.r),F=U(k[1],o.r),H=I.get("keepAspect"),X;return R?X=ve(R,N-P/2,F-E,P,E,null,H):X=new WS({shape:{angle:-Math.PI/2,width:P,r:E,x:N,y:F}}),X.rotation=-(L+Math.PI/2),X.x=o.cx,X.y=o.cy,X}function T(C,L){var M=g.get("roundCap"),I=M?Pl:Be,P=g.get("overlap"),E=P?g.get("width"):v/S.count(),R=P?o.r-E:o.r-(C+1)*E,k=P?o.r:o.r-C*E,N=new I({shape:{startAngle:s,endAngle:L,cx:o.cx,cy:o.cy,clockwise:u,r0:R,r:k}});return P&&(N.z2=Nt(S.get(m,C),[x,b],[100,0],!0)),N}(y||d)&&(S.diff(f).add(function(C){var L=S.get(m,C);if(d){var M=A(C,s);Ut(M,{rotation:-((isNaN(+L)?w[0]:Nt(L,_,w,!0))+Math.PI/2)},t),c.add(M),S.setItemGraphicEl(C,M)}if(y){var I=T(C,s),P=g.get("clip");Ut(I,{shape:{endAngle:Nt(L,_,w,P)}},t),c.add(I),El(t.seriesIndex,S.dataType,C,I),p[C]=I}}).update(function(C,L){var M=S.get(m,C);if(d){var I=f.getItemGraphicEl(L),P=I?I.rotation:s,E=A(C,P);E.rotation=P,xt(E,{rotation:-((isNaN(+M)?w[0]:Nt(M,_,w,!0))+Math.PI/2)},t),c.add(E),S.setItemGraphicEl(C,E)}if(y){var R=h[L],k=R?R.shape.endAngle:s,N=T(C,k),F=g.get("clip");xt(N,{shape:{endAngle:Nt(M,_,w,F)}},t),c.add(N),El(t.seriesIndex,S.dataType,C,N),p[C]=N}}).execute(),S.each(function(C){var L=S.getItemModel(C),M=L.getModel("emphasis"),I=M.get("focus"),P=M.get("blurScope"),E=M.get("disabled");if(d){var R=S.getItemGraphicEl(C),k=S.getItemVisual(C,"style"),N=k.fill;if(R instanceof Re){var F=R.style;R.useStyle(K({image:F.image,x:F.x,y:F.y,width:F.width,height:F.height},k))}else R.useStyle(k),R.type!=="pointer"&&R.setColor(N);R.setStyle(L.getModel(["pointer","itemStyle"]).getItemStyle()),R.style.fill==="auto"&&R.setStyle("fill",i(Nt(S.get(m,C),_,[0,1],!0))),R.z2EmphasisLift=0,ae(R,L),Et(R,I,P,E)}if(y){var H=p[C];H.useStyle(S.getItemVisual(C,"style")),H.setStyle(L.getModel(["progress","itemStyle"]).getItemStyle()),H.z2EmphasisLift=0,ae(H,L),Et(H,I,P,E)}}),this._progressEls=p)},e.prototype._renderAnchor=function(t,r){var n=t.getModel("anchor"),i=n.get("show");if(i){var o=n.get("size"),s=n.get("icon"),l=n.get("offsetCenter"),u=n.get("keepAspect"),v=ve(s,r.cx-o/2+U(l[0],r.r),r.cy-o/2+U(l[1],r.r),o,o,null,u);v.z2=n.get("showAbove")?1:0,v.setStyle(n.getModel("itemStyle").getItemStyle()),this.group.add(v)}},e.prototype._renderTitleAndDetail=function(t,r,n,i,o){var s=this,l=t.getData(),u=l.mapDimension("value"),v=+t.get("min"),c=+t.get("max"),f=new nt,h=[],p=[],d=t.isAnimationEnabled(),g=t.get(["pointer","showAbove"]);l.diff(this._data).add(function(y){h[y]=new St({silent:!0}),p[y]=new St({silent:!0})}).update(function(y,S){h[y]=s._titleEls[S],p[y]=s._detailEls[S]}).execute(),l.each(function(y){var S=l.getItemModel(y),m=l.get(u,y),x=new nt,b=i(Nt(m,[v,c],[0,1],!0)),_=S.getModel("title");if(_.get("show")){var w=_.get("offsetCenter"),A=o.cx+U(w[0],o.r),T=o.cy+U(w[1],o.r),C=h[y];C.attr({z2:g?0:2,style:At(_,{x:A,y:T,text:l.getName(y),align:"center",verticalAlign:"middle"},{inheritColor:b})}),x.add(C)}var L=S.getModel("detail");if(L.get("show")){var M=L.get("offsetCenter"),I=o.cx+U(M[0],o.r),P=o.cy+U(M[1],o.r),E=U(L.get("width"),o.r),R=U(L.get("height"),o.r),k=t.get(["progress","show"])?l.getItemVisual(y,"style").fill:b,C=p[y],N=L.get("formatter");C.attr({z2:g?0:2,style:At(L,{x:I,y:P,text:qa(m,N),width:isNaN(E)?null:E,height:isNaN(R)?null:R,align:"center",verticalAlign:"middle"},{inheritColor:k})}),kg(C,{normal:L},m,function(H){return qa(H,N)}),d&&cf(C,y,l,t,{getFormattedLabel:function(H,X,j,rt,tt,O){return qa(O?O.interpolatedValue:m,N)}}),x.add(C)}f.add(x)}),this.group.add(f),this._titleEls=h,this._detailEls=p},e.type="gauge",e}(kt),YS=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t.visualStyleAccessPath="itemStyle",t}return e.prototype.getInitialData=function(t,r){return Xr(this,["value"])},e.type="series.gauge",e.defaultOption={z:2,colorBy:"data",center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,roundCap:!1,lineStyle:{color:[[1,"#E6EBF8"]],width:10}},progress:{show:!1,overlap:!0,width:10,roundCap:!1,clip:!0},splitLine:{show:!0,length:10,distance:10,lineStyle:{color:"#63677A",width:3,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:6,distance:10,lineStyle:{color:"#63677A",width:1,type:"solid"}},axisLabel:{show:!0,distance:15,color:"#464646",fontSize:12,rotate:0},pointer:{icon:null,offsetCenter:[0,0],show:!0,showAbove:!0,length:"60%",width:6,keepAspect:!1},anchor:{show:!1,showAbove:!1,size:6,icon:"circle",offsetCenter:[0,0],keepAspect:!1,itemStyle:{color:"#fff",borderWidth:0,borderColor:"#5470c6"}},title:{show:!0,offsetCenter:[0,"20%"],color:"#464646",fontSize:16,valueAnimation:!1},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:"#464646",fontSize:30,fontWeight:"bold",lineHeight:30,valueAnimation:!1}},e}(Ft);function ZS(a){a.registerChartView($S),a.registerSeriesModel(YS)}var XS=["itemStyle","opacity"],qS=function(a){V(e,a);function e(t,r){var n=a.call(this)||this,i=n,o=new Te,s=new St;return i.setTextContent(s),n.setTextGuideLine(o),n.updateData(t,r,!0),n}return e.prototype.updateData=function(t,r,n){var i=this,o=t.hostModel,s=t.getItemModel(r),l=t.getItemLayout(r),u=s.getModel("emphasis"),v=s.get(XS);v=v??1,n||Fe(i),i.useStyle(t.getItemVisual(r,"style")),i.style.lineJoin="round",n?(i.setShape({points:l.points}),i.style.opacity=0,Ut(i,{style:{opacity:v}},o,r)):xt(i,{style:{opacity:v},shape:{points:l.points}},o,r),ae(i,s),this._updateLabel(t,r),Et(this,u.get("focus"),u.get("blurScope"),u.get("disabled"))},e.prototype._updateLabel=function(t,r){var n=this,i=this.getTextGuideLine(),o=n.getTextContent(),s=t.hostModel,l=t.getItemModel(r),u=t.getItemLayout(r),v=u.label,c=t.getItemVisual(r,"style"),f=c.fill;ue(o,Qt(l),{labelFetcher:t.hostModel,labelDataIndex:r,defaultOpacity:c.opacity,defaultText:t.getName(r)},{normal:{align:v.textAlign,verticalAlign:v.verticalAlign}}),n.setTextConfig({local:!0,inside:!!v.inside,insideStroke:f,outsideFill:f});var h=v.linePoints;i.setShape({points:h}),n.textGuideLineConfig={anchor:h?new mt(h[0][0],h[0][1]):null},xt(o,{style:{x:v.x,y:v.y}},s,r),o.attr({rotation:v.rotation,originX:v.x,originY:v.y,z2:10}),As(n,Ts(l),{stroke:f})},e}(Ae),KS=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t.ignoreLabelLineUpdate=!0,t}return e.prototype.render=function(t,r,n){var i=t.getData(),o=this._data,s=this.group;i.diff(o).add(function(l){var u=new qS(i,l);i.setItemGraphicEl(l,u),s.add(u)}).update(function(l,u){var v=o.getItemGraphicEl(u);v.updateData(i,l),s.add(v),i.setItemGraphicEl(l,v)}).remove(function(l){var u=o.getItemGraphicEl(l);mf(u,t,l)}).execute(),this._data=i},e.prototype.remove=function(){this.group.removeAll(),this._data=null},e.prototype.dispose=function(){},e.type="funnel",e}(kt),jS=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t){a.prototype.init.apply(this,arguments),this.legendVisualProvider=new za(at(this.getData,this),at(this.getRawData,this)),this._defaultLabelLine(t)},e.prototype.getInitialData=function(t,r){return Xr(this,{coordDimensions:["value"],encodeDefaulter:st(us,this)})},e.prototype._defaultLabelLine=function(t){La(t,"labelLine",["show"]);var r=t.labelLine,n=t.emphasis.labelLine;r.show=r.show&&t.label.show,n.show=n.show&&t.emphasis.label.show},e.prototype.getDataParams=function(t){var r=this.getData(),n=a.prototype.getDataParams.call(this,t),i=r.mapDimension("value"),o=r.getSum(i);return n.percent=o?+(r.get(i,t)/o*100).toFixed(2):0,n.$vars.push("percent"),n},e.type="series.funnel",e.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",orient:"vertical",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},e}(Ft);function JS(a,e){return fe(a.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function QS(a,e){for(var t=a.mapDimension("value"),r=a.mapArray(t,function(l){return l}),n=[],i=e==="ascending",o=0,s=a.count();o dx)return;var n=this._model.coordinateSystem.getSlidedAxisExpandWindow([a.offsetX,a.offsetY]);n.behavior!=="none"&&this._dispatchExpand({axisExpandWindow:n.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(a){if(!(this._mouseDownPoint||!Yi(this,"mousemove"))){var e=this._model,t=e.coordinateSystem.getSlidedAxisExpandWindow([a.offsetX,a.offsetY]),r=t.behavior;r==="jump"&&this._throttledDispatchExpand.debounceNextCall(e.get("axisExpandDebounce")),this._throttledDispatchExpand(r==="none"?null:{axisExpandWindow:t.axisExpandWindow,animation:r==="jump"?null:{duration:0}})}}};function Yi(a,e){var t=a._model;return t.get("axisExpandable")&&t.get("axisExpandTriggerOn")===e}var mx=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(){a.prototype.init.apply(this,arguments),this.mergeOption({})},e.prototype.mergeOption=function(t){var r=this.option;t&&Ct(r,t,!0),this._initDimensions()},e.prototype.contains=function(t,r){var n=t.get("parallelIndex");return n!=null&&r.getComponent("parallel",n)===this},e.prototype.setAxisExpand=function(t){D(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],function(r){t.hasOwnProperty(r)&&(this.option[r]=t[r])},this)},e.prototype._initDimensions=function(){var t=this.dimensions=[],r=this.parallelAxisIndex=[],n=Gt(this.ecModel.queryComponents({mainType:"parallelAxis"}),function(i){return(i.get("parallelIndex")||0)===this.componentIndex},this);D(n,function(i){t.push("dim"+i.get("dim")),r.push(i.componentIndex)})},e.type="parallel",e.dependencies=["parallelAxis"],e.layoutMode="box",e.defaultOption={z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null},e}(Xt),Sx=function(a){V(e,a);function e(t,r,n,i,o){var s=a.call(this,t,r,n)||this;return s.type=i||"value",s.axisIndex=o,s}return e.prototype.isHorizontal=function(){return this.coordinateSystem.getModel().get("layout")!=="horizontal"},e}(ke),Zi=D,Kh=Math.min,jh=Math.max,uv=Math.floor,xx=Math.ceil,vv=ds,bx=Math.PI,_x=function(){function a(e,t,r){this.type="parallel",this._axesMap=ut(),this._axesLayout={},this.dimensions=e.dimensions,this._model=e,this._init(e,t,r)}return a.prototype._init=function(e,t,r){var n=e.dimensions,i=e.parallelAxisIndex;Zi(n,function(o,s){var l=i[s],u=t.getComponent("parallelAxis",l),v=this._axesMap.set(o,new Sx(o,gs(u),[0,0],u.get("type"),l)),c=v.type==="category";v.onBand=c&&u.get("boundaryGap"),v.inverse=u.get("inverse"),u.axis=v,v.model=u,v.coordinateSystem=u.coordinateSystem=this},this)},a.prototype.update=function(e,t){this._updateAxesFromSeries(this._model,e)},a.prototype.containPoint=function(e){var t=this._makeLayoutInfo(),r=t.axisBase,n=t.layoutBase,i=t.pixelDimIndex,o=e[1-i],s=e[i];return o>=r&&o<=r+t.axisLength&&s>=n&&s<=n+t.layoutLength},a.prototype.getModel=function(){return this._model},a.prototype._updateAxesFromSeries=function(e,t){t.eachSeries(function(r){if(e.contains(r,t)){var n=r.getData();Zi(this.dimensions,function(i){var o=this._axesMap.get(i);o.scale.unionExtentFromData(n,n.mapDimension(i)),gn(o.scale,o.model)},this)}},this)},a.prototype.resize=function(e,t){this._rect=fe(e.getBoxLayoutParams(),{width:t.getWidth(),height:t.getHeight()}),this._layoutAxes()},a.prototype.getRect=function(){return this._rect},a.prototype._makeLayoutInfo=function(){var e=this._model,t=this._rect,r=["x","y"],n=["width","height"],i=e.get("layout"),o=i==="horizontal"?0:1,s=t[n[o]],l=[0,s],u=this.dimensions.length,v=Ka(e.get("axisExpandWidth"),l),c=Ka(e.get("axisExpandCount")||0,[0,u]),f=e.get("axisExpandable")&&u>3&&u>c&&c>1&&v>0&&s>0,h=e.get("axisExpandWindow"),p;if(h)p=Ka(h[1]-h[0],l),h[1]=h[0]+p;else{p=Ka(v*(c-1),l);var d=e.get("axisExpandCenter")||uv(u/2);h=[v*d-p/2],h[1]=h[0]+p}var g=(s-p)/(u-c);g<3&&(g=0);var y=[uv(vv(h[0]/v,1))+1,xx(vv(h[1]/v,1))-1],S=g/v*h[0];return{layout:i,pixelDimIndex:o,layoutBase:t[r[o]],layoutLength:s,axisBase:t[r[1-o]],axisLength:t[n[1-o]],axisExpandable:f,axisExpandWidth:v,axisCollapseWidth:g,axisExpandWindow:h,axisCount:u,winInnerIndices:y,axisExpandWindow0Pos:S}},a.prototype._layoutAxes=function(){var e=this._rect,t=this._axesMap,r=this.dimensions,n=this._makeLayoutInfo(),i=n.layout;t.each(function(o){var s=[0,n.axisLength],l=o.inverse?1:0;o.setExtent(s[l],s[1-l])}),Zi(r,function(o,s){var l=(n.axisExpandable?Ax:wx)(s,n),u={horizontal:{x:l.position,y:n.axisLength},vertical:{x:0,y:l.position}},v={horizontal:bx/2,vertical:0},c=[u[i].x+e.x,u[i].y+e.y],f=v[i],h=Zr();Yn(h,h,f),Sr(h,h,c),this._axesLayout[o]={position:c,rotation:f,transform:h,axisNameAvailableWidth:l.axisNameAvailableWidth,axisLabelShow:l.axisLabelShow,nameTruncateMaxWidth:l.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},a.prototype.getAxis=function(e){return this._axesMap.get(e)},a.prototype.dataToPoint=function(e,t){return this.axisCoordToPoint(this._axesMap.get(t).dataToCoord(e),t)},a.prototype.eachActiveState=function(e,t,r,n){r==null&&(r=0),n==null&&(n=e.count());var i=this._axesMap,o=this.dimensions,s=[],l=[];D(o,function(g){s.push(e.mapDimension(g)),l.push(i.get(g).model)});for(var u=this.hasAxisBrushed(),v=r;vi*(1-c[0])?(u="jump",l=s-i*(1-c[2])):(l=s-i*c[1])>=0&&(l=s-i*(1-c[1]))<=0&&(l=0),l*=t.axisExpandWidth/v,l?ys(l,n,o,"all"):u="none";else{var h=n[1]-n[0],p=o[1]*s/h;n=[jh(0,p-h/2)],n[1]=Kh(o[1],n[0]+h),n[0]=n[1]-h}return{axisExpandWindow:n,behavior:u}},a}();function Ka(a,e){return Kh(jh(a,e[0]),e[1])}function wx(a,e){var t=e.layoutLength/(e.axisCount-1);return{position:t*a,axisNameAvailableWidth:t,axisLabelShow:!0}}function Ax(a,e){var t=e.layoutLength,r=e.axisExpandWidth,n=e.axisCount,i=e.axisCollapseWidth,o=e.winInnerIndices,s,l=i,u=!1,v;return a =0;n--)br(r[n])},e.prototype.getActiveState=function(t){var r=this.activeIntervals;if(!r.length)return"normal";if(t==null||isNaN(+t))return"inactive";if(r.length===1){var n=r[0];if(n[0]<=t&&t<=n[1])return"active"}else for(var i=0,o=r.length;i Ix}function ap(a){var e=a.length-1;return e<0&&(e=0),[a[0],a[e]]}function np(a,e,t,r){var n=new nt;return n.add(new Bt({name:"main",style:qs(t),silent:!0,draggable:!0,cursor:"move",drift:st(hv,a,e,n,["n","s","w","e"]),ondragend:st(wr,e,{isEnd:!0})})),D(r,function(i){n.add(new Bt({name:i.join(""),style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:st(hv,a,e,n,i),ondragend:st(wr,e,{isEnd:!0})}))}),n}function ip(a,e,t,r){var n=r.brushStyle.lineWidth||0,i=Fr(n,Mx),o=t[0][0],s=t[1][0],l=o-n/2,u=s-n/2,v=t[0][1],c=t[1][1],f=v-i+n/2,h=c-i+n/2,p=v-o,d=c-s,g=p+n,y=d+n;Ve(a,e,"main",o,s,p,d),r.transformable&&(Ve(a,e,"w",l,u,i,y),Ve(a,e,"e",f,u,i,y),Ve(a,e,"n",l,u,g,i),Ve(a,e,"s",l,h,g,i),Ve(a,e,"nw",l,u,i,i),Ve(a,e,"ne",f,u,i,i),Ve(a,e,"sw",l,h,i,i),Ve(a,e,"se",f,h,i,i))}function Ho(a,e){var t=e.__brushOption,r=t.transformable,n=e.childAt(0);n.useStyle(qs(t)),n.attr({silent:!r,cursor:r?"move":"default"}),D([["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]],function(i){var o=e.childOfName(i.join("")),s=i.length===1?Wo(a,i[0]):Nx(a,i);o&&o.attr({silent:!r,invisible:!r,cursor:r?Ex[s]+"-resize":null})})}function Ve(a,e,t,r,n,i,o){var s=e.childOfName(t);s&&s.setShape(Gx(Ks(a,e,[[r,n],[r+i,n+o]])))}function qs(a){return ot({strokeNoScale:!0},a.brushStyle)}function op(a,e,t,r){var n=[Ta(a,t),Ta(e,r)],i=[Fr(a,t),Fr(e,r)];return[[n[0],i[0]],[n[1],i[1]]]}function Vx(a){return ua(a.group)}function Wo(a,e){var t={w:"left",e:"right",n:"top",s:"bottom"},r={left:"w",right:"e",top:"n",bottom:"s"},n=Ef(t[e],Vx(a));return r[n]}function Nx(a,e){var t=[Wo(a,e[0]),Wo(a,e[1])];return(t[0]==="e"||t[0]==="w")&&t.reverse(),t.join("")}function hv(a,e,t,r,n,i){var o=t.__brushOption,s=a.toRectRange(o.range),l=sp(e,n,i);D(r,function(u){var v=Px[u];s[v[0]][v[1]]+=l[v[0]]}),o.range=a.fromRectRange(op(s[0][0],s[1][0],s[0][1],s[1][1])),Ys(e,t),wr(e,{isEnd:!1})}function zx(a,e,t,r){var n=e.__brushOption.range,i=sp(a,t,r);D(n,function(o){o[0]+=i[0],o[1]+=i[1]}),Ys(a,e),wr(a,{isEnd:!1})}function sp(a,e,t){var r=a.group,n=r.transformCoordToLocal(e,t),i=r.transformCoordToLocal(0,0);return[n[0]-i[0],n[1]-i[1]]}function Ks(a,e,t){var r=rp(a,e);return r&&r!==_r?r.clipPath(t,a._transform):pt(t)}function Gx(a){var e=Ta(a[0][0],a[1][0]),t=Ta(a[0][1],a[1][1]),r=Fr(a[0][0],a[1][0]),n=Fr(a[0][1],a[1][1]);return{x:e,y:t,width:r-e,height:n-t}}function Ox(a,e,t){if(!(!a._brushType||Fx(a,e.offsetX,e.offsetY))){var r=a._zr,n=a._covers,i=Xs(a,e,t);if(!a._dragging)for(var o=0;o r.getWidth()||t<0||t>r.getHeight()}var ii={lineX:gv(0),lineY:gv(1),rect:{createCover:function(a,e){function t(r){return r}return np({toRectRange:t,fromRectRange:t},a,e,[["w"],["e"],["n"],["s"],["s","e"],["s","w"],["n","e"],["n","w"]])},getCreatingRange:function(a){var e=ap(a);return op(e[1][0],e[1][1],e[0][0],e[0][1])},updateCoverShape:function(a,e,t,r){ip(a,e,t,r)},updateCommon:Ho,contain:$o},polygon:{createCover:function(a,e){var t=new nt;return t.add(new Te({name:"main",style:qs(e),silent:!0})),t},getCreatingRange:function(a){return a},endCreating:function(a,e){e.remove(e.childAt(0)),e.add(new Ae({name:"main",draggable:!0,drift:st(zx,a,e),ondragend:st(wr,a,{isEnd:!0})}))},updateCoverShape:function(a,e,t,r){e.childAt(0).setShape({points:Ks(a,e,t)})},updateCommon:Ho,contain:$o}};function gv(a){return{createCover:function(e,t){return np({toRectRange:function(r){var n=[r,[0,100]];return a&&n.reverse(),n},fromRectRange:function(r){return r[a]}},e,t,[[["w"],["e"]],[["n"],["s"]]][a])},getCreatingRange:function(e){var t=ap(e),r=Ta(t[0][a],t[1][a]),n=Fr(t[0][a],t[1][a]);return[r,n]},updateCoverShape:function(e,t,r,n){var i,o=rp(e,t);if(o!==_r&&o.getLinearBrushOtherExtent)i=o.getLinearBrushOtherExtent(a);else{var s=e._zr;i=[0,[s.getWidth(),s.getHeight()][1-a]]}var l=[r,i];a&&l.reverse(),ip(e,t,l,n)},updateCommon:Ho,contain:$o}}function up(a){return a=js(a),function(e){return Fg(e,a)}}function vp(a,e){return a=js(a),function(t){var r=e??t,n=r?a.width:a.height,i=r?a.x:a.y;return[i,i+(n||0)]}}function cp(a,e,t){var r=js(a);return function(n,i){return r.contain(i[0],i[1])&&!ei(n,e,t)}}function js(a){return Tt.create(a)}var Hx=["axisLine","axisTickLabel","axisName"],Wx=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,r){a.prototype.init.apply(this,arguments),(this._brushController=new $s(r.getZr())).on("brush",at(this._onBrush,this))},e.prototype.render=function(t,r,n,i){if(!Ux(t,r,i)){this.axisModel=t,this.api=n,this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new nt,this.group.add(this._axisGroup),!!t.get("show")){var s=Yx(t,r),l=s.coordinateSystem,u=t.getAreaSelectStyle(),v=u.width,c=t.axis.dim,f=l.getAxisLayout(c),h=K({strokeContainThreshold:v},f),p=new mr(t,h);D(Hx,p.add,p),this._axisGroup.add(p.getGroup()),this._refreshBrushController(h,u,t,s,v,n),ms(o,this._axisGroup,t)}}},e.prototype._refreshBrushController=function(t,r,n,i,o,s){var l=n.axis.getExtent(),u=l[1]-l[0],v=Math.min(30,Math.abs(u)*.1),c=Tt.create({x:l[0],y:-o/2,width:u,height:o});c.x-=v,c.width+=2*v,this._brushController.mount({enableGlobalPan:!0,rotation:t.rotation,x:t.position[0],y:t.position[1]}).setPanels([{panelId:"pl",clipPath:up(c),isTargetByCursor:cp(c,s,i),getLinearBrushOtherExtent:vp(c,0)}]).enableBrush({brushType:"lineX",brushStyle:r,removeOnClick:!0}).updateCovers($x(n))},e.prototype._onBrush=function(t){var r=t.areas,n=this.axisModel,i=n.axis,o=$(r,function(s){return[i.coordToData(s.range[0],!0),i.coordToData(s.range[1],!0)]});(!n.option.realtime===t.isEnd||t.removeOnClick)&&this.api.dispatchAction({type:"axisAreaSelect",parallelAxisId:n.id,intervals:o})},e.prototype.dispose=function(){this._brushController.dispose()},e.type="parallelAxis",e}(te);function Ux(a,e,t){return t&&t.type==="axisAreaSelect"&&e.findComponents({mainType:"parallelAxis",query:t})[0]===a}function $x(a){var e=a.axis;return $(a.activeIntervals,function(t){return{brushType:"lineX",panelId:"pl",range:[e.dataToCoord(t[0],!0),e.dataToCoord(t[1],!0)]}})}function Yx(a,e){return e.getComponent("parallel",a.get("parallelIndex"))}var Zx={type:"axisAreaSelect",event:"axisAreaSelected"};function Xx(a){a.registerAction(Zx,function(e,t){t.eachComponent({mainType:"parallelAxis",query:e},function(r){r.axis.model.setActiveIntervals(e.intervals)})}),a.registerAction("parallelAxisExpand",function(e,t){t.eachComponent({mainType:"parallel",query:e},function(r){r.setAxisExpand(e)})})}var qx={type:"value",areaSelectStyle:{width:20,borderWidth:1,borderColor:"rgba(160,197,232)",color:"rgba(160,197,232)",opacity:.3},realtime:!0,z:10};function fp(a){a.registerComponentView(gx),a.registerComponentModel(mx),a.registerCoordinateSystem("parallel",Cx),a.registerPreprocessor(fx),a.registerComponentModel(Bo),a.registerComponentView(Wx),yn(a,"parallel",Bo,qx),Xx(a)}function Kx(a){it(fp),a.registerChartView(nx),a.registerSeriesModel(sx),a.registerVisual(a.PRIORITY.VISUAL.BRUSH,cx)}var jx=function(){function a(){this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.cpx1=0,this.cpy1=0,this.cpx2=0,this.cpy2=0,this.extent=0}return a}(),Jx=function(a){V(e,a);function e(t){return a.call(this,t)||this}return e.prototype.getDefaultShape=function(){return new jx},e.prototype.buildPath=function(t,r){var n=r.extent;t.moveTo(r.x1,r.y1),t.bezierCurveTo(r.cpx1,r.cpy1,r.cpx2,r.cpy2,r.x2,r.y2),r.orient==="vertical"?(t.lineTo(r.x2+n,r.y2),t.bezierCurveTo(r.cpx2+n,r.cpy2,r.cpx1+n,r.cpy1,r.x1+n,r.y1)):(t.lineTo(r.x2,r.y2+n),t.bezierCurveTo(r.cpx2,r.cpy2+n,r.cpx1,r.cpy1+n,r.x1,r.y1+n)),t.closePath()},e.prototype.highlight=function(){ga(this)},e.prototype.downplay=function(){ya(this)},e}(Wt),Qx=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t._focusAdjacencyDisabled=!1,t}return e.prototype.render=function(t,r,n){var i=this,o=t.getGraph(),s=this.group,l=t.layoutInfo,u=l.width,v=l.height,c=t.getData(),f=t.getData("edge"),h=t.get("orient");this._model=t,s.removeAll(),s.x=l.x,s.y=l.y,o.eachEdge(function(p){var d=new Jx,g=ht(d);g.dataIndex=p.dataIndex,g.seriesIndex=t.seriesIndex,g.dataType="edge";var y=p.getModel(),S=y.getModel("lineStyle"),m=S.get("curveness"),x=p.node1.getLayout(),b=p.node1.getModel(),_=b.get("localX"),w=b.get("localY"),A=p.node2.getLayout(),T=p.node2.getModel(),C=T.get("localX"),L=T.get("localY"),M=p.getLayout(),I,P,E,R,k,N,F,H;d.shape.extent=Math.max(1,M.dy),d.shape.orient=h,h==="vertical"?(I=(_!=null?_*u:x.x)+M.sy,P=(w!=null?w*v:x.y)+x.dy,E=(C!=null?C*u:A.x)+M.ty,R=L!=null?L*v:A.y,k=I,N=P*(1-m)+R*m,F=E,H=P*m+R*(1-m)):(I=(_!=null?_*u:x.x)+x.dx,P=(w!=null?w*v:x.y)+M.sy,E=C!=null?C*u:A.x,R=(L!=null?L*v:A.y)+M.ty,k=I*(1-m)+E*m,N=P,F=I*m+E*(1-m),H=R),d.setShape({x1:I,y1:P,x2:E,y2:R,cpx1:k,cpy1:N,cpx2:F,cpy2:H}),d.useStyle(S.getItemStyle()),yv(d.style,h,p);var X=""+y.get("value"),j=Qt(y,"edgeLabel");ue(d,j,{labelFetcher:{getFormattedLabel:function(O,G,J,Y,W,Q){return t.getFormattedLabel(O,G,"edge",Y,Ur(W,j.normal&&j.normal.get("formatter"),X),Q)}},labelDataIndex:p.dataIndex,defaultText:X}),d.setTextConfig({position:"inside"});var rt=y.getModel("emphasis");ae(d,y,"lineStyle",function(O){var G=O.getItemStyle();return yv(G,h,p),G}),s.add(d),f.setItemGraphicEl(p.dataIndex,d);var tt=rt.get("focus");Et(d,tt==="adjacency"?p.getAdjacentDataIndices():tt==="trajectory"?p.getTrajectoryDataIndices():tt,rt.get("blurScope"),rt.get("disabled"))}),o.eachNode(function(p){var d=p.getLayout(),g=p.getModel(),y=g.get("localX"),S=g.get("localY"),m=g.getModel("emphasis"),x=g.get(["itemStyle","borderRadius"])||0,b=new Bt({shape:{x:y!=null?y*u:d.x,y:S!=null?S*v:d.y,width:d.dx,height:d.dy,r:x},style:g.getModel("itemStyle").getItemStyle(),z2:10});ue(b,Qt(g),{labelFetcher:{getFormattedLabel:function(w,A){return t.getFormattedLabel(w,A,"node")}},labelDataIndex:p.dataIndex,defaultText:p.id}),b.disableLabelAnimation=!0,b.setStyle("fill",p.getVisual("color")),b.setStyle("decal",p.getVisual("style").decal),ae(b,g),s.add(b),c.setItemGraphicEl(p.dataIndex,b),ht(b).dataType="node";var _=m.get("focus");Et(b,_==="adjacency"?p.getAdjacentDataIndices():_==="trajectory"?p.getTrajectoryDataIndices():_,m.get("blurScope"),m.get("disabled"))}),c.eachItemGraphicEl(function(p,d){var g=c.getItemModel(d);g.get("draggable")&&(p.drift=function(y,S){i._focusAdjacencyDisabled=!0,this.shape.x+=y,this.shape.y+=S,this.dirty(),n.dispatchAction({type:"dragNode",seriesId:t.id,dataIndex:c.getRawIndex(d),localX:this.shape.x/u,localY:this.shape.y/v})},p.ondragend=function(){i._focusAdjacencyDisabled=!1},p.draggable=!0,p.cursor="move")}),!this._data&&t.isAnimationEnabled()&&s.setClipPath(tb(s.getBoundingRect(),t,function(){s.removeClipPath()})),this._data=t.getData()},e.prototype.dispose=function(){},e.type="sankey",e}(kt);function yv(a,e,t){switch(a.fill){case"source":a.fill=t.node1.getVisual("color"),a.decal=t.node1.getVisual("style").decal;break;case"target":a.fill=t.node2.getVisual("color"),a.decal=t.node2.getVisual("style").decal;break;case"gradient":var r=t.node1.getVisual("color"),n=t.node2.getVisual("color");lt(r)&<(n)&&(a.fill=new vs(0,0,+(e==="horizontal"),+(e==="vertical"),[{color:r,offset:0},{color:n,offset:1}]))}}function tb(a,e,t){var r=new Bt({shape:{x:a.x-10,y:a.y-10,width:0,height:a.height+20}});return Ut(r,{shape:{width:a.width+20}},e,t),r}var eb=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getInitialData=function(t,r){var n=t.edges||t.links||[],i=t.data||t.nodes||[],o=t.levels||[];this.levelModels=[];for(var s=this.levelModels,l=0;l =0&&(s[o[l].depth]=new ce(o[l],this,r));var u=Xh(i,n,this,!0,v);return u.data;function v(c,f){c.wrapMethod("getItemModel",function(h,p){var d=h.parentModel,g=d.getData().getItemLayout(p);if(g){var y=g.depth,S=d.levelModels[y];S&&(h.parentModel=S)}return h}),f.wrapMethod("getItemModel",function(h,p){var d=h.parentModel,g=d.getGraph().getEdgeByIndex(p),y=g.node1.getLayout();if(y){var S=y.depth,m=d.levelModels[S];m&&(h.parentModel=m)}return h})}},e.prototype.setNodePosition=function(t,r){var n=this.option.data||this.option.nodes,i=n[t];i.localX=r[0],i.localY=r[1]},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.formatTooltip=function(t,r,n){function i(h){return isNaN(h)||h==null}if(n==="edge"){var o=this.getDataParams(t,n),s=o.data,l=o.value,u=s.source+" -- "+s.target;return ne("nameValue",{name:u,value:l,noValue:i(l)})}else{var v=this.getGraph().getNodeByIndex(t),c=v.getLayout().value,f=this.getDataParams(t,n).data.name;return ne("nameValue",{name:f!=null?f+"":null,value:c,noValue:i(c)})}},e.prototype.optionUpdated=function(){},e.prototype.getDataParams=function(t,r){var n=a.prototype.getDataParams.call(this,t,r);if(n.value==null&&r==="node"){var i=this.getGraph().getNodeByIndex(t),o=i.getLayout().value;n.value=o}return n},e.type="series.sankey",e.defaultOption={z:2,coordinateSystem:"view",left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,layoutIterations:32,label:{show:!0,position:"right",fontSize:12},edgeLabel:{show:!1,fontSize:12},levels:[],nodeAlign:"justify",lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},select:{itemStyle:{borderColor:"#212121"}},animationEasing:"linear",animationDuration:1e3},e}(Ft);function rb(a,e){a.eachSeriesByType("sankey",function(t){var r=t.get("nodeWidth"),n=t.get("nodeGap"),i=ab(t,e);t.layoutInfo=i;var o=i.width,s=i.height,l=t.getGraph(),u=l.nodes,v=l.edges;ib(u);var c=Gt(u,function(d){return d.getLayout().value===0}),f=c.length!==0?0:t.get("layoutIterations"),h=t.get("orient"),p=t.get("nodeAlign");nb(u,v,r,n,o,s,f,h,p)})}function ab(a,e){return fe(a.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function nb(a,e,t,r,n,i,o,s,l){ob(a,e,t,n,i,s,l),vb(a,e,i,n,r,o,s),Sb(a,s)}function ib(a){D(a,function(e){var t=Je(e.outEdges,Ln),r=Je(e.inEdges,Ln),n=e.getValue()||0,i=Math.max(t,r,n);e.setLayout({value:i},!0)})}function ob(a,e,t,r,n,i,o){for(var s=[],l=[],u=[],v=[],c=0,f=0;f =0;y&&g.depth>h&&(h=g.depth),d.setLayout({depth:y?g.depth:c},!0),i==="vertical"?d.setLayout({dy:t},!0):d.setLayout({dx:t},!0);for(var S=0;S c-1?h:c-1;o&&o!=="left"&&sb(a,o,i,w);var A=i==="vertical"?(n-t)/w:(r-t)/w;ub(a,A,i)}function hp(a){var e=a.hostGraph.data.getRawDataItem(a.dataIndex);return e.depth!=null&&e.depth>=0}function sb(a,e,t,r){if(e==="right"){for(var n=[],i=a,o=0;i.length;){for(var s=0;s 0;i--)l*=.99,hb(s,l,o),Xi(s,n,t,r,o),mb(s,l,o),Xi(s,n,t,r,o)}function cb(a,e){var t=[],r=e==="vertical"?"y":"x",n=wo(a,function(i){return i.getLayout()[r]});return n.keys.sort(function(i,o){return i-o}),D(n.keys,function(i){t.push(n.buckets.get(i))}),t}function fb(a,e,t,r,n,i){var o=1/0;D(a,function(s){var l=s.length,u=0;D(s,function(c){u+=c.getLayout().value});var v=i==="vertical"?(r-(l-1)*n)/u:(t-(l-1)*n)/u;v 0&&(s=l.getLayout()[i]+u,n==="vertical"?l.setLayout({x:s},!0):l.setLayout({y:s},!0)),v=l.getLayout()[i]+l.getLayout()[f]+e;var p=n==="vertical"?r:t;if(u=v-e-p,u>0){s=l.getLayout()[i]-u,n==="vertical"?l.setLayout({x:s},!0):l.setLayout({y:s},!0),v=s;for(var h=c-2;h>=0;--h)l=o[h],u=l.getLayout()[i]+l.getLayout()[f]+e-v,u>0&&(s=l.getLayout()[i]-u,n==="vertical"?l.setLayout({x:s},!0):l.setLayout({y:s},!0)),v=l.getLayout()[i]}})}function hb(a,e,t){D(a.slice().reverse(),function(r){D(r,function(n){if(n.outEdges.length){var i=Je(n.outEdges,pb,t)/Je(n.outEdges,Ln);if(isNaN(i)){var o=n.outEdges.length;i=o?Je(n.outEdges,db,t)/o:0}if(t==="vertical"){var s=n.getLayout().x+(i-tr(n,t))*e;n.setLayout({x:s},!0)}else{var l=n.getLayout().y+(i-tr(n,t))*e;n.setLayout({y:l},!0)}}})})}function pb(a,e){return tr(a.node2,e)*a.getValue()}function db(a,e){return tr(a.node2,e)}function gb(a,e){return tr(a.node1,e)*a.getValue()}function yb(a,e){return tr(a.node1,e)}function tr(a,e){return e==="vertical"?a.getLayout().x+a.getLayout().dx/2:a.getLayout().y+a.getLayout().dy/2}function Ln(a){return a.getValue()}function Je(a,e,t){for(var r=0,n=a.length,i=-1;++i o&&(o=l)}),D(r,function(s){var l=new Ot({type:"color",mappingMethod:"linear",dataExtent:[i,o],visual:e.get("color")}),u=l.mapValueToVisual(s.getLayout().value),v=s.getModel().get(["itemStyle","color"]);v!=null?(s.setVisual("color",v),s.setVisual("style",{fill:v})):(s.setVisual("color",u),s.setVisual("style",{fill:u}))})}n.length&&D(n,function(s){var l=s.getModel().get("lineStyle");s.setVisual("style",l)})})}function bb(a){a.registerChartView(Qx),a.registerSeriesModel(eb),a.registerLayout(rb),a.registerVisual(xb),a.registerAction({type:"dragNode",event:"dragnode",update:"update"},function(e,t){t.eachComponent({mainType:"series",subType:"sankey",query:e},function(r){r.setNodePosition(e.dataIndex,[e.localX,e.localY])})})}var pp=function(){function a(){}return a.prototype._hasEncodeRule=function(e){var t=this.getEncode();return t&&t.get(e)!=null},a.prototype.getInitialData=function(e,t){var r,n=t.getComponent("xAxis",this.get("xAxisIndex")),i=t.getComponent("yAxis",this.get("yAxisIndex")),o=n.get("type"),s=i.get("type"),l;o==="category"?(e.layout="horizontal",r=n.getOrdinalMeta(),l=!this._hasEncodeRule("x")):s==="category"?(e.layout="vertical",r=i.getOrdinalMeta(),l=!this._hasEncodeRule("y")):e.layout=e.layout||"horizontal";var u=["x","y"],v=e.layout==="horizontal"?0:1,c=this._baseAxisDim=u[v],f=u[1-v],h=[n,i],p=h[v].get("type"),d=h[1-v].get("type"),g=e.data;if(g&&l){var y=[];D(g,function(x,b){var _;q(x)?(_=x.slice(),x.unshift(b)):q(x.value)?(_=K({},x),_.value=_.value.slice(),x.value.unshift(b)):_=x,y.push(_)}),e.data=y}var S=this.defaultValueDimensions,m=[{name:c,type:Ao(p),ordinalMeta:r,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:f,type:Ao(d),dimsDef:S.slice()}];return Xr(this,{coordDimensions:m,dimensionsCount:S.length+1,encodeDefaulter:st(Hg,m,this)})},a.prototype.getBaseAxis=function(){var e=this._baseAxisDim;return this.ecModel.getComponent(e+"Axis",this.get(e+"AxisIndex")).axis},a}(),dp=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t.defaultValueDimensions=[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],t.visualDrawType="stroke",t}return e.type="series.boxplot",e.dependencies=["xAxis","yAxis","grid"],e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0,0,0,0.2)"}},animationDuration:800},e}(Ft);Ce(dp,pp,!0);var _b=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,r,n){var i=t.getData(),o=this.group,s=this._data;this._data||o.removeAll();var l=t.get("layout")==="horizontal"?1:0;i.diff(s).add(function(u){if(i.hasValue(u)){var v=i.getItemLayout(u),c=mv(v,i,u,l,!0);i.setItemGraphicEl(u,c),o.add(c)}}).update(function(u,v){var c=s.getItemGraphicEl(v);if(!i.hasValue(u)){o.remove(c);return}var f=i.getItemLayout(u);c?(Fe(c),gp(f,c,i,u)):c=mv(f,i,u,l),o.add(c),i.setItemGraphicEl(u,c)}).remove(function(u){var v=s.getItemGraphicEl(u);v&&o.remove(v)}).execute(),this._data=i},e.prototype.remove=function(t){var r=this.group,n=this._data;this._data=null,n&&n.eachItemGraphicEl(function(i){i&&r.remove(i)})},e.type="boxplot",e}(kt),wb=function(){function a(){}return a}(),Ab=function(a){V(e,a);function e(t){var r=a.call(this,t)||this;return r.type="boxplotBoxPath",r}return e.prototype.getDefaultShape=function(){return new wb},e.prototype.buildPath=function(t,r){var n=r.points,i=0;for(t.moveTo(n[i][0],n[i][1]),i++;i<4;i++)t.lineTo(n[i][0],n[i][1]);for(t.closePath();i d){var x=[y,m];r.push(x)}}}return{boxData:t,outliers:r}}var Pb={type:"echarts:boxplot",transform:function(e){var t=e.upstream;if(t.sourceFormat!==Rf){var r="";It(r)}var n=Mb(t.getRawData(),e.config);return[{dimensions:["ItemName","Low","Q1","Q2","Q3","High"],data:n.boxData},{data:n.outliers}]}};function Eb(a){a.registerSeriesModel(dp),a.registerChartView(_b),a.registerLayout(Cb),a.registerTransform(Pb)}var Rb=["itemStyle","borderColor"],kb=["itemStyle","borderColor0"],Vb=["itemStyle","borderColorDoji"],Nb=["itemStyle","color"],zb=["itemStyle","color0"];function Js(a,e){return e.get(a>0?Nb:zb)}function Qs(a,e){return e.get(a===0?Vb:a>0?Rb:kb)}var Gb={seriesType:"candlestick",plan:Ss(),performRawSeries:!0,reset:function(a,e){if(!e.isSeriesFiltered(a)){var t=a.pipelineContext.large;return!t&&{progress:function(r,n){for(var i;(i=r.next())!=null;){var o=n.getItemModel(i),s=n.getItemLayout(i).sign,l=o.getItemStyle();l.fill=Js(s,o),l.stroke=Qs(s,o)||l.fill;var u=n.ensureUniqueItemVisual(i,"style");K(u,l)}}}}}},Ob=["color","borderColor"],Bb=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,r,n){this.group.removeClipPath(),this._progressiveEls=null,this._updateDrawMode(t),this._isLargeDraw?this._renderLarge(t):this._renderNormal(t)},e.prototype.incrementalPrepareRender=function(t,r,n){this._clear(),this._updateDrawMode(t)},e.prototype.incrementalRender=function(t,r,n,i){this._progressiveEls=[],this._isLargeDraw?this._incrementalRenderLarge(t,r):this._incrementalRenderNormal(t,r)},e.prototype.eachRendered=function(t){qn(this._progressiveEls||this.group,t)},e.prototype._updateDrawMode=function(t){var r=t.pipelineContext.large;(this._isLargeDraw==null||r!==this._isLargeDraw)&&(this._isLargeDraw=r,this._clear())},e.prototype._renderNormal=function(t){var r=t.getData(),n=this._data,i=this.group,o=r.getLayout("isSimpleBox"),s=t.get("clip",!0),l=t.coordinateSystem,u=l.getArea&&l.getArea();this._data||i.removeAll(),r.diff(n).add(function(v){if(r.hasValue(v)){var c=r.getItemLayout(v);if(s&&Sv(u,c))return;var f=qi(c,v,!0);Ut(f,{shape:{points:c.ends}},t,v),Ki(f,r,v,o),i.add(f),r.setItemGraphicEl(v,f)}}).update(function(v,c){var f=n.getItemGraphicEl(c);if(!r.hasValue(v)){i.remove(f);return}var h=r.getItemLayout(v);if(s&&Sv(u,h)){i.remove(f);return}f?(xt(f,{shape:{points:h.ends}},t,v),Fe(f)):f=qi(h),Ki(f,r,v,o),i.add(f),r.setItemGraphicEl(v,f)}).remove(function(v){var c=n.getItemGraphicEl(v);c&&i.remove(c)}).execute(),this._data=r},e.prototype._renderLarge=function(t){this._clear(),xv(t,this.group);var r=t.get("clip",!0)?Kn(t.coordinateSystem,!1,t):null;r?this.group.setClipPath(r):this.group.removeClipPath()},e.prototype._incrementalRenderNormal=function(t,r){for(var n=r.getData(),i=n.getLayout("isSimpleBox"),o;(o=t.next())!=null;){var s=n.getItemLayout(o),l=qi(s);Ki(l,n,o,i),l.incremental=!0,this.group.add(l),this._progressiveEls.push(l)}},e.prototype._incrementalRenderLarge=function(t,r){xv(r,this.group,this._progressiveEls,!0)},e.prototype.remove=function(t){this._clear()},e.prototype._clear=function(){this.group.removeAll(),this._data=null},e.type="candlestick",e}(kt),Fb=function(){function a(){}return a}(),Hb=function(a){V(e,a);function e(t){var r=a.call(this,t)||this;return r.type="normalCandlestickBox",r}return e.prototype.getDefaultShape=function(){return new Fb},e.prototype.buildPath=function(t,r){var n=r.points;this.__simpleBox?(t.moveTo(n[4][0],n[4][1]),t.lineTo(n[6][0],n[6][1])):(t.moveTo(n[0][0],n[0][1]),t.lineTo(n[1][0],n[1][1]),t.lineTo(n[2][0],n[2][1]),t.lineTo(n[3][0],n[3][1]),t.closePath(),t.moveTo(n[4][0],n[4][1]),t.lineTo(n[5][0],n[5][1]),t.moveTo(n[6][0],n[6][1]),t.lineTo(n[7][0],n[7][1]))},e}(Wt);function qi(a,e,t){var r=a.ends;return new Hb({shape:{points:t?Wb(r,a):r},z2:100})}function Sv(a,e){for(var t=!0,r=0;r b?L[i]:C[i],ends:P,brushRect:F(_,w,m)})}function k(X,j){var rt=[];return rt[n]=j,rt[i]=X,isNaN(j)||isNaN(X)?[NaN,NaN]:e.dataToPoint(rt)}function N(X,j,rt){var tt=j.slice(),O=j.slice();tt[n]=di(tt[n]+r/2,1,!1),O[n]=di(O[n]-r/2,1,!0),rt?X.push(tt,O):X.push(O,tt)}function F(X,j,rt){var tt=k(X,rt),O=k(j,rt);return tt[n]-=r/2,O[n]-=r/2,{x:tt[0],y:tt[1],width:r,height:O[1]-tt[1]}}function H(X){return X[n]=di(X[n],1),X}}function p(d,g){for(var y=Wg(d.count*4),S=0,m,x=[],b=[],_,w=g.getStore(),A=!!a.get(["itemStyle","borderColorDoji"]);(_=d.next())!=null;){var T=w.get(s,_),C=w.get(u,_),L=w.get(v,_),M=w.get(c,_),I=w.get(f,_);if(isNaN(T)||isNaN(M)||isNaN(I)){y[S++]=NaN,S+=3;continue}y[S++]=bv(w,_,C,L,v,A),x[n]=T,x[i]=M,m=e.dataToPoint(x,null,b),y[S++]=m?m[0]:NaN,y[S++]=m?m[1]:NaN,x[i]=I,m=e.dataToPoint(x,null,b),y[S++]=m?m[1]:NaN}g.setLayout("largePoints",y)}}};function bv(a,e,t,r,n,i){var o;return t>r?o=-1:t 0?a.get(n,e-1)<=r?1:-1:1,o}function Zb(a,e){var t=a.getBaseAxis(),r,n=t.type==="category"?t.getBandWidth():(r=t.getExtent(),Math.abs(r[1]-r[0])/e.count()),i=U(Rt(a.get("barMaxWidth"),n),n),o=U(Rt(a.get("barMinWidth"),1),n),s=a.get("barWidth");return s!=null?U(s,n):Math.max(Math.min(n/2,i),o)}function Xb(a){a.registerChartView(Bb),a.registerSeriesModel(yp),a.registerPreprocessor($b),a.registerVisual(Gb),a.registerLayout(Yb)}function _v(a,e){var t=e.rippleEffectColor||e.color;a.eachChild(function(r){r.attr({z:e.z,zlevel:e.zlevel,style:{stroke:e.brushType==="stroke"?t:null,fill:e.brushType==="fill"?t:null}})})}var qb=function(a){V(e,a);function e(t,r){var n=a.call(this)||this,i=new Cf(t,r),o=new nt;return n.add(i),n.add(o),n.updateData(t,r),n}return e.prototype.stopEffectAnimation=function(){this.childAt(1).removeAll()},e.prototype.startEffectAnimation=function(t){for(var r=t.symbolType,n=t.color,i=t.rippleNumber,o=this.childAt(1),s=0;s0&&(s=this._getLineLength(i)/v*1e3),s!==this._period||l!==this._loop||u!==this._roundTrip){i.stopAnimation();var f=void 0;gt(c)?f=c(n):f=c,i.__t>0&&(f=-s*i.__t),this._animateSymbol(i,s,f,l,u)}this._period=s,this._loop=l,this._roundTrip=u}},e.prototype._animateSymbol=function(t,r,n,i,o){if(r>0){t.__t=0;var s=this,l=t.animate("",i).when(o?r*2:r,{__t:o?2:1}).delay(n).during(function(){s._updateSymbolPosition(t)});i||l.done(function(){s.remove(t)}),l.start()}},e.prototype._getLineLength=function(t){return dr(t.__p1,t.__cp1)+dr(t.__cp1,t.__p2)},e.prototype._updateAnimationPoints=function(t,r){t.__p1=r[0],t.__p2=r[1],t.__cp1=r[2]||[(r[0][0]+r[1][0])/2,(r[0][1]+r[1][1])/2]},e.prototype.updateData=function(t,r,n){this.childAt(0).updateData(t,r,n),this._updateEffectSymbol(t,r)},e.prototype._updateSymbolPosition=function(t){var r=t.__p1,n=t.__p2,i=t.__cp1,o=t.__t<1?t.__t:2-t.__t,s=[t.x,t.y],l=s.slice(),u=If,v=$g;s[0]=u(r[0],i[0],n[0],o),s[1]=u(r[1],i[1],n[1],o);var c=t.__t<1?v(r[0],i[0],n[0],o):v(n[0],i[0],r[0],1-o),f=t.__t<1?v(r[1],i[1],n[1],o):v(n[1],i[1],r[1],1-o);t.rotation=-Math.atan2(f,c)-Math.PI/2,(this._symbolType==="line"||this._symbolType==="rect"||this._symbolType==="roundRect")&&(t.__lastT!==void 0&&t.__lastT =0&&!(i[l]<=r);l--);l=Math.min(l,o-2)}else{for(l=s;l r);l++);l=Math.min(l-1,o-2)}var v=(r-i[l])/(i[l+1]-i[l]),c=n[l],f=n[l+1];t.x=c[0]*(1-v)+v*f[0],t.y=c[1]*(1-v)+v*f[1];var h=t.__t<1?f[0]-c[0]:c[0]-f[0],p=t.__t<1?f[1]-c[1]:c[1]-f[1];t.rotation=-Math.atan2(p,h)-Math.PI/2,this._lastFrame=l,this._lastFramePercent=r,t.ignore=!1}},e}(mp),t_=function(){function a(){this.polyline=!1,this.curveness=0,this.segs=[]}return a}(),e_=function(a){V(e,a);function e(t){var r=a.call(this,t)||this;return r._off=0,r.hoverDataIdx=-1,r}return e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new t_},e.prototype.buildPath=function(t,r){var n=r.segs,i=r.curveness,o;if(r.polyline)for(o=this._off;o 0){t.moveTo(n[o++],n[o++]);for(var l=1;l 0){var h=(u+c)/2-(v-f)*i,p=(v+f)/2-(c-u)*i;t.quadraticCurveTo(h,p,c,f)}else t.lineTo(c,f)}this.incremental&&(this._off=o,this.notClear=!0)},e.prototype.findDataIndex=function(t,r){var n=this.shape,i=n.segs,o=n.curveness,s=this.style.lineWidth;if(n.polyline)for(var l=0,u=0;u0)for(var c=i[u++],f=i[u++],h=1;h 0){var g=(c+p)/2-(f-d)*o,y=(f+d)/2-(p-c)*o;if(Yg(c,f,g,y,p,d,s,t,r))return l}else if(Rl(c,f,p,d,s,t,r))return l;l++}return-1},e.prototype.contain=function(t,r){var n=this.transformCoordToLocal(t,r),i=this.getBoundingRect();if(t=n[0],r=n[1],i.contain(t,r)){var o=this.hoverDataIdx=this.findDataIndex(t,r);return o>=0}return this.hoverDataIdx=-1,!1},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var r=this.shape,n=r.segs,i=1/0,o=1/0,s=-1/0,l=-1/0,u=0;u 0&&(o.dataIndex=l+e.__startIndex)})},a.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},a}(),xp={seriesType:"lines",plan:Ss(),reset:function(a){var e=a.coordinateSystem;if(e){var t=a.get("polyline"),r=a.pipelineContext.large;return{progress:function(n,i){var o=[];if(r){var s=void 0,l=n.end-n.start;if(t){for(var u=0,v=n.start;v 0&&(v||u.configLayer(s,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(l/10+.9,1),0)})),o.updateData(i);var c=t.get("clip",!0)&&Kn(t.coordinateSystem,!1,t);c?this.group.setClipPath(c):this.group.removeClipPath(),this._lastZlevel=s,this._finished=!0},e.prototype.incrementalPrepareRender=function(t,r,n){var i=t.getData(),o=this._updateLineDraw(i,t);o.incrementalPrepareUpdate(i),this._clearLayer(n),this._finished=!1},e.prototype.incrementalRender=function(t,r,n){this._lineDraw.incrementalUpdate(t,r.getData()),this._finished=t.end===r.getData().count()},e.prototype.eachRendered=function(t){this._lineDraw&&this._lineDraw.eachRendered(t)},e.prototype.updateTransform=function(t,r,n){var i=t.getData(),o=t.pipelineContext;if(!this._finished||o.large||o.progressiveRender)return{update:!0};var s=xp.reset(t,r,n);s.progress&&s.progress({start:0,end:i.count(),count:i.count()},i),this._lineDraw.updateLayout(),this._clearLayer(n)},e.prototype._updateLineDraw=function(t,r){var n=this._lineDraw,i=this._showEffect(r),o=!!r.get("polyline"),s=r.pipelineContext,l=s.large;return(!n||i!==this._hasEffet||o!==this._isPolyline||l!==this._isLargeDraw)&&(n&&n.remove(),n=this._lineDraw=l?new r_:new Us(o?i?Qb:Sp:i?mp:Ws),this._hasEffet=i,this._isPolyline=o,this._isLargeDraw=l),this.group.add(n.group),n},e.prototype._showEffect=function(t){return!!t.get(["effect","show"])},e.prototype._clearLayer=function(t){var r=t.getZr(),n=r.painter.getType()==="svg";!n&&this._lastZlevel!=null&&r.painter.getLayer(this._lastZlevel).clear(!0)},e.prototype.remove=function(t,r){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(r)},e.prototype.dispose=function(t,r){this.remove(t,r)},e.type="lines",e}(kt),n_=typeof Uint32Array>"u"?Array:Uint32Array,i_=typeof Float64Array>"u"?Array:Float64Array;function wv(a){var e=a.data;e&&e[0]&&e[0][0]&&e[0][0].coord&&(a.data=$(e,function(t){var r=[t[0].coord,t[1].coord],n={coords:r};return t[0].name&&(n.fromName=t[0].name),t[1].name&&(n.toName=t[1].name),hs([n,t[0],t[1]])}))}var o_=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t.visualStyleAccessPath="lineStyle",t.visualDrawType="stroke",t}return e.prototype.init=function(t){t.data=t.data||[],wv(t);var r=this._processFlatCoordsArray(t.data);this._flatCoords=r.flatCoords,this._flatCoordsOffset=r.flatCoordsOffset,r.flatCoords&&(t.data=new Float32Array(r.count)),a.prototype.init.apply(this,arguments)},e.prototype.mergeOption=function(t){if(wv(t),t.data){var r=this._processFlatCoordsArray(t.data);this._flatCoords=r.flatCoords,this._flatCoordsOffset=r.flatCoordsOffset,r.flatCoords&&(t.data=new Float32Array(r.count))}a.prototype.mergeOption.apply(this,arguments)},e.prototype.appendData=function(t){var r=this._processFlatCoordsArray(t.data);r.flatCoords&&(this._flatCoords?(this._flatCoords=fn(this._flatCoords,r.flatCoords),this._flatCoordsOffset=fn(this._flatCoordsOffset,r.flatCoordsOffset)):(this._flatCoords=r.flatCoords,this._flatCoordsOffset=r.flatCoordsOffset),t.data=new Float32Array(r.count)),this.getRawData().appendData(t.data)},e.prototype._getCoordsFromItemModel=function(t){var r=this.getData().getItemModel(t),n=r.option instanceof Array?r.option:r.getShallow("coords");return n},e.prototype.getLineCoordsCount=function(t){return this._flatCoordsOffset?this._flatCoordsOffset[t*2+1]:this._getCoordsFromItemModel(t).length},e.prototype.getLineCoords=function(t,r){if(this._flatCoordsOffset){for(var n=this._flatCoordsOffset[t*2],i=this._flatCoordsOffset[t*2+1],o=0;o ")})},e.prototype.preventIncremental=function(){return!!this.get(["effect","show"])},e.prototype.getProgressive=function(){var t=this.option.progressive;return t??(this.option.large?1e4:this.get("progressive"))},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return t??(this.option.large?2e4:this.get("progressiveThreshold"))},e.prototype.getZLevelKey=function(){var t=this.getModel("effect"),r=t.get("trailLength");return this.getData().count()>this.getProgressiveThreshold()?this.id:t.get("show")&&r>0?r+"":""},e.type="series.lines",e.dependencies=["grid","polar","geo","calendar"],e.defaultOption={coordinateSystem:"geo",z:2,legendHoverLink:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}},e}(Ft);function ja(a){return a instanceof Array||(a=[a,a]),a}var s_={seriesType:"lines",reset:function(a){var e=ja(a.get("symbol")),t=ja(a.get("symbolSize")),r=a.getData();r.setVisual("fromSymbol",e&&e[0]),r.setVisual("toSymbol",e&&e[1]),r.setVisual("fromSymbolSize",t&&t[0]),r.setVisual("toSymbolSize",t&&t[1]);function n(i,o){var s=i.getItemModel(o),l=ja(s.getShallow("symbol",!0)),u=ja(s.getShallow("symbolSize",!0));l[0]&&i.setItemVisual(o,"fromSymbol",l[0]),l[1]&&i.setItemVisual(o,"toSymbol",l[1]),u[0]&&i.setItemVisual(o,"fromSymbolSize",u[0]),u[1]&&i.setItemVisual(o,"toSymbolSize",u[1])}return{dataEach:r.hasItemOption?n:null}}};function l_(a){a.registerChartView(a_),a.registerSeriesModel(o_),a.registerLayout(xp),a.registerVisual(s_)}var u_=256,v_=function(){function a(){this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={inRange:null,outOfRange:null};var e=kl.createCanvas();this.canvas=e}return a.prototype.update=function(e,t,r,n,i,o){var s=this._getBrush(),l=this._getGradient(i,"inRange"),u=this._getGradient(i,"outOfRange"),v=this.pointSize+this.blurSize,c=this.canvas,f=c.getContext("2d"),h=e.length;c.width=t,c.height=r;for(var p=0;p 0){var M=o(m)?l:u;m>0&&(m=m*C+A),b[_++]=M[L],b[_++]=M[L+1],b[_++]=M[L+2],b[_++]=M[L+3]*m*256}else _+=4}return f.putImageData(x,0,0),c},a.prototype._getBrush=function(){var e=this._brushCanvas||(this._brushCanvas=kl.createCanvas()),t=this.pointSize+this.blurSize,r=t*2;e.width=r,e.height=r;var n=e.getContext("2d");return n.clearRect(0,0,r,r),n.shadowOffsetX=r,n.shadowBlur=this.blurSize,n.shadowColor="#000",n.beginPath(),n.arc(-t,t,this.pointSize,0,Math.PI*2,!0),n.closePath(),n.fill(),e},a.prototype._getGradient=function(e,t){for(var r=this._gradientPixels,n=r[t]||(r[t]=new Uint8ClampedArray(256*4)),i=[0,0,0,0],o=0,s=0;s<256;s++)e[t](s/255,!0,i),n[o++]=i[0],n[o++]=i[1],n[o++]=i[2],n[o++]=i[3];return n},a}();function c_(a,e,t){var r=a[1]-a[0];e=$(e,function(o){return{interval:[(o.interval[0]-a[0])/r,(o.interval[1]-a[0])/r]}});var n=e.length,i=0;return function(o){var s;for(s=i;s =0;s--){var l=e[s].interval;if(l[0]<=o&&o<=l[1]){i=s;break}}return s>=0&&s =e[0]&&r<=e[1]}}function Av(a){var e=a.dimensions;return e[0]==="lng"&&e[1]==="lat"}var h_=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,r,n){var i;r.eachComponent("visualMap",function(s){s.eachTargetSeries(function(l){l===t&&(i=s)})}),this._progressiveEls=null,this.group.removeAll();var o=t.coordinateSystem;o.type==="cartesian2d"||o.type==="calendar"?this._renderOnCartesianAndCalendar(t,n,0,t.getData().count()):Av(o)&&this._renderOnGeo(o,t,i,n)},e.prototype.incrementalPrepareRender=function(t,r,n){this.group.removeAll()},e.prototype.incrementalRender=function(t,r,n,i){var o=r.coordinateSystem;o&&(Av(o)?this.render(r,n,i):(this._progressiveEls=[],this._renderOnCartesianAndCalendar(r,i,t.start,t.end,!0)))},e.prototype.eachRendered=function(t){qn(this._progressiveEls||this.group,t)},e.prototype._renderOnCartesianAndCalendar=function(t,r,n,i,o){var s=t.coordinateSystem,l=jn(s,"cartesian2d"),u,v,c,f;if(l){var h=s.getAxis("x"),p=s.getAxis("y");u=h.getBandWidth()+.5,v=p.getBandWidth()+.5,c=h.scale.getExtent(),f=p.scale.getExtent()}for(var d=this.group,g=t.getData(),y=t.getModel(["emphasis","itemStyle"]).getItemStyle(),S=t.getModel(["blur","itemStyle"]).getItemStyle(),m=t.getModel(["select","itemStyle"]).getItemStyle(),x=t.get(["itemStyle","borderRadius"]),b=Qt(t),_=t.getModel("emphasis"),w=_.get("focus"),A=_.get("blurScope"),T=_.get("disabled"),C=l?[g.mapDimension("x"),g.mapDimension("y"),g.mapDimension("value")]:[g.mapDimension("time"),g.mapDimension("value")],L=n;Lc[1]||E f[1])continue;var R=s.dataToPoint([P,E]);M=new Bt({shape:{x:R[0]-u/2,y:R[1]-v/2,width:u,height:v},style:I})}else{if(isNaN(g.get(C[1],L)))continue;M=new Bt({z2:1,shape:s.dataToRect([g.get(C[0],L)]).contentShape,style:I})}if(g.hasItemOption){var k=g.getItemModel(L),N=k.getModel("emphasis");y=N.getModel("itemStyle").getItemStyle(),S=k.getModel(["blur","itemStyle"]).getItemStyle(),m=k.getModel(["select","itemStyle"]).getItemStyle(),x=k.get(["itemStyle","borderRadius"]),w=N.get("focus"),A=N.get("blurScope"),T=N.get("disabled"),b=Qt(k)}M.shape.r=x;var F=t.getRawValue(L),H="-";F&&F[2]!=null&&(H=F[2]+""),ue(M,b,{labelFetcher:t,labelDataIndex:L,defaultOpacity:I.opacity,defaultText:H}),M.ensureState("emphasis").style=y,M.ensureState("blur").style=S,M.ensureState("select").style=m,Et(M,w,A,T),M.incremental=o,o&&(M.states.emphasis.hoverLayer=!0),d.add(M),g.setItemGraphicEl(L,M),this._progressiveEls&&this._progressiveEls.push(M)}},e.prototype._renderOnGeo=function(t,r,n,i){var o=n.targetVisuals.inRange,s=n.targetVisuals.outOfRange,l=r.getData(),u=this._hmLayer||this._hmLayer||new v_;u.blurSize=r.get("blurSize"),u.pointSize=r.get("pointSize"),u.minOpacity=r.get("minOpacity"),u.maxOpacity=r.get("maxOpacity");var v=t.getViewRect().clone(),c=t.getRoamTransform();v.applyTransform(c);var f=Math.max(v.x,0),h=Math.max(v.y,0),p=Math.min(v.width+v.x,i.getWidth()),d=Math.min(v.height+v.y,i.getHeight()),g=p-f,y=d-h,S=[l.mapDimension("lng"),l.mapDimension("lat"),l.mapDimension("value")],m=l.mapArray(S,function(w,A,T){var C=t.dataToPoint([w,A]);return C[0]-=f,C[1]-=h,C.push(T),C}),x=n.getExtent(),b=n.type==="visualMap.continuous"?f_(x,n.option.range):c_(x,n.getPieceList(),n.option.selected);u.update(m,g,y,o.color.getNormalizer(),{inRange:o.color.getColorMapper(),outOfRange:s.color.getColorMapper()},b);var _=new Re({style:{width:g,height:y,x:f,y:h,image:u.canvas},silent:!0});this.group.add(_)},e.type="heatmap",e}(kt),p_=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.getInitialData=function(t,r){return $r(null,this,{generateCoord:"value"})},e.prototype.preventIncremental=function(){var t=Mf.get(this.get("coordinateSystem"));if(t&&t.dimensions)return t.dimensions[0]==="lng"&&t.dimensions[1]==="lat"},e.type="series.heatmap",e.dependencies=["grid","geo","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0,select:{itemStyle:{borderColor:"#212121"}}},e}(Ft);function d_(a){a.registerChartView(h_),a.registerSeriesModel(p_)}var g_=["itemStyle","borderWidth"],Tv=[{xy:"x",wh:"width",index:0,posDesc:["left","right"]},{xy:"y",wh:"height",index:1,posDesc:["top","bottom"]}],Qi=new Ma,y_=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,r,n){var i=this.group,o=t.getData(),s=this._data,l=t.coordinateSystem,u=l.getBaseAxis(),v=u.isHorizontal(),c=l.master.getRect(),f={ecSize:{width:n.getWidth(),height:n.getHeight()},seriesModel:t,coordSys:l,coordSysExtent:[[c.x,c.x+c.width],[c.y,c.y+c.height]],isHorizontal:v,valueDim:Tv[+v],categoryDim:Tv[1-+v]};o.diff(s).add(function(p){if(o.hasValue(p)){var d=Dv(o,p),g=Cv(o,p,d,f),y=Lv(o,f,g);o.setItemGraphicEl(p,y),i.add(y),Mv(y,f,g)}}).update(function(p,d){var g=s.getItemGraphicEl(d);if(!o.hasValue(p)){i.remove(g);return}var y=Dv(o,p),S=Cv(o,p,y,f),m=Cp(o,S);g&&m!==g.__pictorialShapeStr&&(i.remove(g),o.setItemGraphicEl(p,null),g=null),g?A_(g,f,S):g=Lv(o,f,S,!0),o.setItemGraphicEl(p,g),g.__pictorialSymbolMeta=S,i.add(g),Mv(g,f,S)}).remove(function(p){var d=s.getItemGraphicEl(p);d&&Iv(s,p,d.__pictorialSymbolMeta.animationModel,d)}).execute();var h=t.get("clip",!0)?Kn(t.coordinateSystem,!1,t):null;return h?i.setClipPath(h):i.removeClipPath(),this._data=o,this.group},e.prototype.remove=function(t,r){var n=this.group,i=this._data;t.get("animation")?i&&i.eachItemGraphicEl(function(o){Iv(i,ht(o).dataIndex,t,o)}):n.removeAll()},e.type="pictorialBar",e}(kt);function Cv(a,e,t,r){var n=a.getItemLayout(e),i=t.get("symbolRepeat"),o=t.get("symbolClip"),s=t.get("symbolPosition")||"start",l=t.get("symbolRotate"),u=(l||0)*Math.PI/180||0,v=t.get("symbolPatternSize")||2,c=t.isAnimationEnabled(),f={dataIndex:e,layout:n,itemModel:t,symbolType:a.getItemVisual(e,"symbol")||"circle",style:a.getItemVisual(e,"style"),symbolClip:o,symbolRepeat:i,symbolRepeatDirection:t.get("symbolRepeatDirection"),symbolPatternSize:v,rotation:u,animationModel:c?t:null,hoverScale:c&&t.get(["emphasis","scale"]),z2:t.getShallow("z",!0)||0};m_(t,i,n,r,f),S_(a,e,n,i,o,f.boundingLength,f.pxSign,v,r,f),x_(t,f.symbolScale,u,r,f);var h=f.symbolSize,p=Ra(t.get("symbolOffset"),h);return b_(t,h,n,i,o,p,s,f.valueLineWidth,f.boundingLength,f.repeatCutLength,r,f),f}function m_(a,e,t,r,n){var i=r.valueDim,o=a.get("symbolBoundingData"),s=r.coordSys.getOtherAxis(r.coordSys.getBaseAxis()),l=s.toGlobalCoord(s.dataToCoord(0)),u=1-+(t[i.wh]<=0),v;if(q(o)){var c=[to(s,o[0])-l,to(s,o[1])-l];c[1] =0?1:-1:v>0?1:-1}function to(a,e){return a.toGlobalCoord(a.dataToCoord(a.scale.parse(e)))}function S_(a,e,t,r,n,i,o,s,l,u){var v=l.valueDim,c=l.categoryDim,f=Math.abs(t[c.wh]),h=a.getItemVisual(e,"symbolSize"),p;q(h)?p=h.slice():h==null?p=["100%","100%"]:p=[h,h],p[c.index]=U(p[c.index],f),p[v.index]=U(p[v.index],r?f:Math.abs(i)),u.symbolSize=p;var d=u.symbolScale=[p[0]/s,p[1]/s];d[v.index]*=(l.isHorizontal?-1:1)*o}function x_(a,e,t,r,n){var i=a.get(g_)||0;i&&(Qi.attr({scaleX:e[0],scaleY:e[1],rotation:t}),Qi.updateTransform(),i/=Qi.getLineScale(),i*=e[r.valueDim.index]),n.valueLineWidth=i||0}function b_(a,e,t,r,n,i,o,s,l,u,v,c){var f=v.categoryDim,h=v.valueDim,p=c.pxSign,d=Math.max(e[h.index]+s,0),g=d;if(r){var y=Math.abs(l),S=se(a.get("symbolMargin"),"15%")+"",m=!1;S.lastIndexOf("!")===S.length-1&&(m=!0,S=S.slice(0,S.length-1));var x=U(S,e[h.index]),b=Math.max(d+x*2,0),_=m?0:x*2,w=Zg(r),A=w?r:Pv((y+_)/b),T=y-A*d;x=T/2/(m?A:Math.max(A-1,1)),b=d+x*2,_=m?0:x*2,!w&&r!=="fixed"&&(A=u?Pv((Math.abs(u)+_)/b):0),g=A*b-_,c.repeatTimes=A,c.symbolMargin=x}var C=p*(g/2),L=c.pathPosition=[];L[f.index]=t[f.wh]/2,L[h.index]=o==="start"?C:o==="end"?l-C:l/2,i&&(L[0]+=i[0],L[1]+=i[1]);var M=c.bundlePosition=[];M[f.index]=t[f.xy],M[h.index]=t[h.xy];var I=c.barRectShape=K({},t);I[h.wh]=p*Math.max(Math.abs(t[h.wh]),Math.abs(L[h.index]+C)),I[f.wh]=t[f.wh];var P=c.clipShape={};P[f.xy]=-t[f.xy],P[f.wh]=v.ecSize[f.wh],P[h.xy]=0,P[h.wh]=t[h.wh]}function bp(a){var e=a.symbolPatternSize,t=ve(a.symbolType,-e/2,-e/2,e,e);return t.attr({culling:!0}),t.type!=="image"&&t.setStyle({strokeNoScale:!0}),t}function _p(a,e,t,r){var n=a.__pictorialBundle,i=t.symbolSize,o=t.valueLineWidth,s=t.pathPosition,l=e.valueDim,u=t.repeatTimes||0,v=0,c=i[e.valueDim.index]+o+t.symbolMargin*2;for(tl(a,function(d){d.__pictorialAnimationIndex=v,d.__pictorialRepeatTimes=u,v0:y<0)&&(S=u-1-d),g[l.index]=c*(S-u/2+.5)+s[l.index],{x:g[0],y:g[1],scaleX:t.symbolScale[0],scaleY:t.symbolScale[1],rotation:t.rotation}}}function wp(a,e,t,r){var n=a.__pictorialBundle,i=a.__pictorialMainPath;i?Or(i,null,{x:t.pathPosition[0],y:t.pathPosition[1],scaleX:t.symbolScale[0],scaleY:t.symbolScale[1],rotation:t.rotation},t,r):(i=a.__pictorialMainPath=bp(t),n.add(i),Or(i,{x:t.pathPosition[0],y:t.pathPosition[1],scaleX:0,scaleY:0,rotation:t.rotation},{scaleX:t.symbolScale[0],scaleY:t.symbolScale[1]},t,r))}function Ap(a,e,t){var r=K({},e.barRectShape),n=a.__pictorialBarRect;n?Or(n,null,{shape:r},e,t):(n=a.__pictorialBarRect=new Bt({z2:2,shape:r,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}}),n.disableMorphing=!0,a.add(n))}function Tp(a,e,t,r){if(t.symbolClip){var n=a.__pictorialClipPath,i=K({},t.clipShape),o=e.valueDim,s=t.animationModel,l=t.dataIndex;if(n)xt(n,{shape:i},s,l);else{i[o.wh]=0,n=new Bt({shape:i}),a.__pictorialBundle.setClipPath(n),a.__pictorialClipPath=n;var u={};u[o.wh]=t.clipShape[o.wh],Yr[r?"updateProps":"initProps"](n,{shape:u},s,l)}}}function Dv(a,e){var t=a.getItemModel(e);return t.getAnimationDelayParams=__,t.isAnimationEnabled=w_,t}function __(a){return{index:a.__pictorialAnimationIndex,count:a.__pictorialRepeatTimes}}function w_(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function Lv(a,e,t,r){var n=new nt,i=new nt;return n.add(i),n.__pictorialBundle=i,i.x=t.bundlePosition[0],i.y=t.bundlePosition[1],t.symbolRepeat?_p(n,e,t):wp(n,e,t),Ap(n,t,r),Tp(n,e,t,r),n.__pictorialShapeStr=Cp(a,t),n.__pictorialSymbolMeta=t,n}function A_(a,e,t){var r=t.animationModel,n=t.dataIndex,i=a.__pictorialBundle;xt(i,{x:t.bundlePosition[0],y:t.bundlePosition[1]},r,n),t.symbolRepeat?_p(a,e,t,!0):wp(a,e,t,!0),Ap(a,t,!0),Tp(a,e,t,!0)}function Iv(a,e,t,r){var n=r.__pictorialBarRect;n&&n.removeTextContent();var i=[];tl(r,function(o){i.push(o)}),r.__pictorialMainPath&&i.push(r.__pictorialMainPath),r.__pictorialClipPath&&(t=null),D(i,function(o){hn(o,{scaleX:0,scaleY:0},t,e,function(){r.parent&&r.parent.remove(r)})}),a.setItemGraphicEl(e,null)}function Cp(a,e){return[a.getItemVisual(e.dataIndex,"symbol")||"none",!!e.symbolRepeat,!!e.symbolClip].join(":")}function tl(a,e,t){D(a.__pictorialBundle.children(),function(r){r!==a.__pictorialBarRect&&e.call(t,r)})}function Or(a,e,t,r,n,i){e&&a.attr(e),r.symbolClip&&!n?t&&a.attr(t):t&&Yr[n?"updateProps":"initProps"](a,t,r.animationModel,r.dataIndex,i)}function Mv(a,e,t){var r=t.dataIndex,n=t.itemModel,i=n.getModel("emphasis"),o=i.getModel("itemStyle").getItemStyle(),s=n.getModel(["blur","itemStyle"]).getItemStyle(),l=n.getModel(["select","itemStyle"]).getItemStyle(),u=n.getShallow("cursor"),v=i.get("focus"),c=i.get("blurScope"),f=i.get("scale");tl(a,function(d){if(d instanceof Re){var g=d.style;d.useStyle(K({image:g.image,x:g.x,y:g.y,width:g.width,height:g.height},t.style))}else d.useStyle(t.style);var y=d.ensureState("emphasis");y.style=o,f&&(y.scaleX=d.scaleX*1.1,y.scaleY=d.scaleY*1.1),d.ensureState("blur").style=s,d.ensureState("select").style=l,u&&(d.cursor=u),d.z2=t.z2});var h=e.valueDim.posDesc[+(t.boundingLength>0)],p=a.__pictorialBarRect;p.ignoreClip=!0,ue(p,Qt(n),{labelFetcher:e.seriesModel,labelDataIndex:r,defaultText:To(e.seriesModel.getData(),r),inheritColor:t.style.fill,defaultOpacity:t.style.opacity,defaultOutsidePosition:h}),Et(a,v,c,i.get("disabled"))}function Pv(a){var e=Math.round(a);return Math.abs(a-e)<1e-4?e:Math.ceil(a)}var T_=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t.hasSymbolVisual=!0,t.defaultSymbol="roundRect",t}return e.prototype.getInitialData=function(t){return t.stack=null,a.prototype.getInitialData.apply(this,arguments)},e.type="series.pictorialBar",e.dependencies=["grid"],e.defaultOption=Jn(Vl.defaultOption,{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",clip:!1,progressive:0,emphasis:{scale:!1},select:{itemStyle:{borderColor:"#212121"}}}),e}(Vl);function C_(a){a.registerChartView(y_),a.registerSeriesModel(T_),a.registerLayout(a.PRIORITY.VISUAL.LAYOUT,st(Xg,"pictorialBar")),a.registerLayout(a.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,qg("pictorialBar"))}var D_=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t._layers=[],t}return e.prototype.render=function(t,r,n){var i=t.getData(),o=this,s=this.group,l=t.getLayerSeries(),u=i.getLayout("layoutInfo"),v=u.rect,c=u.boundaryGap;s.x=0,s.y=v.y+c[0];function f(g){return g.name}var h=new Qe(this._layersSeries||[],l,f,f),p=[];h.add(at(d,this,"add")).update(at(d,this,"update")).remove(at(d,this,"remove")).execute();function d(g,y,S){var m=o._layers;if(g==="remove"){s.remove(m[y]);return}for(var x=[],b=[],_,w=l[y].indices,A=0;A i&&(i=s),r.push(s)}for(var u=0;u i&&(i=c)}return{y0:n,max:i}}function E_(a){a.registerChartView(D_),a.registerSeriesModel(I_),a.registerLayout(M_),a.registerProcessor(Na("themeRiver"))}var R_=2,k_=4,Rv=function(a){V(e,a);function e(t,r,n,i){var o=a.call(this)||this;o.z2=R_,o.textConfig={inside:!0},ht(o).seriesIndex=r.seriesIndex;var s=new St({z2:k_,silent:t.getModel().get(["label","silent"])});return o.setTextContent(s),o.updateData(!0,t,r,n,i),o}return e.prototype.updateData=function(t,r,n,i,o){this.node=r,r.piece=this,n=n||this._seriesModel,i=i||this._ecModel;var s=this;ht(s).dataIndex=r.dataIndex;var l=r.getModel(),u=l.getModel("emphasis"),v=r.getLayout(),c=K({},v);c.label=null;var f=r.getVisual("style");f.lineJoin="bevel";var h=r.getVisual("decal");h&&(f.decal=cs(h,o));var p=Vr(l.getModel("itemStyle"),c,!0);K(c,p),D(ha,function(S){var m=s.ensureState(S),x=l.getModel([S,"itemStyle"]);m.style=x.getItemStyle();var b=Vr(x,c);b&&(m.shape=b)}),t?(s.setShape(c),s.shape.r=v.r0,Ut(s,{shape:{r:v.r}},n,r.dataIndex)):(xt(s,{shape:c},n),Fe(s)),s.useStyle(f),this._updateLabel(n);var d=l.getShallow("cursor");d&&s.attr("cursor",d),this._seriesModel=n||this._seriesModel,this._ecModel=i||this._ecModel;var g=u.get("focus"),y=g==="relative"?fn(r.getAncestorsIndices(),r.getDescendantIndices()):g==="ancestor"?r.getAncestorsIndices():g==="descendant"?r.getDescendantIndices():g;Et(this,y,u.get("blurScope"),u.get("disabled"))},e.prototype._updateLabel=function(t){var r=this,n=this.node.getModel(),i=n.getModel("label"),o=this.node.getLayout(),s=o.endAngle-o.startAngle,l=(o.startAngle+o.endAngle)/2,u=Math.cos(l),v=Math.sin(l),c=this,f=c.getTextContent(),h=this.node.dataIndex,p=i.get("minAngle")/180*Math.PI,d=i.get("show")&&!(p!=null&&Math.abs(s) P&&!jg(R-P)&&R
0?(o.virtualPiece?o.virtualPiece.updateData(!1,S,t,r,n):(o.virtualPiece=new Rv(S,t,r,n),v.add(o.virtualPiece)),m.piece.off("click"),o.virtualPiece.on("click",function(x){o._rootToNode(m.parentNode)})):o.virtualPiece&&(v.remove(o.virtualPiece),o.virtualPiece=null)}},e.prototype._initEvents=function(){var t=this;this.group.off("click"),this.group.on("click",function(r){var n=!1,i=t.seriesModel.getViewRoot();i.eachNode(function(o){if(!n&&o.piece&&o.piece===r.target){var s=o.getModel().get("nodeClick");if(s==="rootToNode")t._rootToNode(o);else if(s==="link"){var l=o.getModel(),u=l.get("link");if(u){var v=l.get("target",!0)||"_blank";pn(u,v)}}n=!0}})})},e.prototype._rootToNode=function(t){t!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:Yo,from:this.uid,seriesId:this.seriesModel.id,targetNode:t})},e.prototype.containPoint=function(t,r){var n=r.getData(),i=n.getItemLayout(0);if(i){var o=t[0]-i.cx,s=t[1]-i.cy,l=Math.sqrt(o*o+s*s);return l<=i.r&&l>=i.r0}},e.type="sunburst",e}(kt),G_=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t.ignoreStyleOnData=!0,t}return e.prototype.getInitialData=function(t,r){var n={name:t.name,children:t.data};Dp(n);var i=this._levelModels=$(t.levels||[],function(l){return new ce(l,this,r)},this),o=zs.createTree(n,this,s);function s(l){l.wrapMethod("getItemModel",function(u,v){var c=o.getNodeByDataIndex(v),f=i[c.depth];return f&&(u.parentModel=f),u})}return o.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.getDataParams=function(t){var r=a.prototype.getDataParams.apply(this,arguments),n=this.getData().tree.getNodeByDataIndex(t);return r.treePathInfo=ai(n,this),r},e.prototype.getLevelModel=function(t){return this._levelModels&&this._levelModels[t.depth]},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var r=this.getRawData().tree.root;(!t||t!==r&&!r.contains(t))&&(this._viewRoot=r)},e.prototype.enableAriaDecal=function(){Eh(this)},e.type="series.sunburst",e.defaultOption={z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,stillShowZeroSum:!0,nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1},emphasis:{focus:"descendant"},blur:{itemStyle:{opacity:.2},label:{opacity:.1}},animationType:"expansion",animationDuration:1e3,animationDurationUpdate:500,data:[],sort:"desc"},e}(Ft);function Dp(a){var e=0;D(a.children,function(r){Dp(r);var n=r.value;q(n)&&(n=n[0]),e+=n});var t=a.value;q(t)&&(t=t[0]),(t==null||isNaN(t))&&(t=e),t<0&&(t=0),q(a.value)?a.value[0]=t:a.value=t}var Vv=Math.PI/180;function O_(a,e,t){e.eachSeriesByType(a,function(r){var n=r.get("center"),i=r.get("radius");q(i)||(i=[0,i]),q(n)||(n=[n,n]);var o=t.getWidth(),s=t.getHeight(),l=Math.min(o,s),u=U(n[0],o),v=U(n[1],s),c=U(i[0],l/2),f=U(i[1],l/2),h=-r.get("startAngle")*Vv,p=r.get("minAngle")*Vv,d=r.getData().tree.root,g=r.getViewRoot(),y=g.depth,S=r.get("sort");S!=null&&Lp(g,S);var m=0;D(g.children,function(R){!isNaN(R.getValue())&&m++});var x=g.getValue(),b=Math.PI/(x||m)*2,_=g.depth>0,w=g.height-(_?-1:1),A=(f-c)/(w||1),T=r.get("clockwise"),C=r.get("stillShowZeroSum"),L=T?1:-1,M=function(R,k){if(R){var N=k;if(R!==d){var F=R.getValue(),H=x===0&&C?b:F*b;H 1;)o=o.parentNode;var s=n.getColorFromPalette(o.name||o.dataIndex+"",e);return r.depth>1&<(s)&&(s=Jg(s,(r.depth-1)/(i-1)*.5)),s}a.eachSeriesByType("sunburst",function(r){var n=r.getData(),i=n.tree;i.eachNode(function(o){var s=o.getModel(),l=s.getModel("itemStyle").getItemStyle();l.fill||(l.fill=t(o,r,i.root.height));var u=n.ensureUniqueItemVisual(o.dataIndex,"style");K(u,l)})})}function H_(a){a.registerChartView(z_),a.registerSeriesModel(G_),a.registerLayout(st(O_,"sunburst")),a.registerProcessor(st(Na,"sunburst")),a.registerVisual(F_),N_(a)}var Nv={color:"fill",borderColor:"stroke"},W_={symbol:1,symbolSize:1,symbolKeepAspect:1,legendIcon:1,visualMeta:1,liftZ:1,decal:1},Ge=Dt(),U_=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.optionUpdated=function(){this.currentZLevel=this.get("zlevel",!0),this.currentZ=this.get("z",!0)},e.prototype.getInitialData=function(t,r){return $r(null,this)},e.prototype.getDataParams=function(t,r,n){var i=a.prototype.getDataParams.call(this,t,r);return n&&(i.info=Ge(n).info),i},e.type="series.custom",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,clip:!1},e}(Ft);function $_(a,e){return e=e||[0,0],$(["x","y"],function(t,r){var n=this.getAxis(t),i=e[r],o=a[r]/2;return n.type==="category"?n.getBandWidth():Math.abs(n.dataToCoord(i-o)-n.dataToCoord(i+o))},this)}function Y_(a){var e=a.master.getRect();return{coordSys:{type:"cartesian2d",x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:function(t){return a.dataToPoint(t)},size:at($_,a)}}}function Z_(a,e){return e=e||[0,0],$([0,1],function(t){var r=e[t],n=a[t]/2,i=[],o=[];return i[t]=r-n,o[t]=r+n,i[1-t]=o[1-t]=e[1-t],Math.abs(this.dataToPoint(i)[t]-this.dataToPoint(o)[t])},this)}function X_(a){var e=a.getBoundingRect();return{coordSys:{type:"geo",x:e.x,y:e.y,width:e.width,height:e.height,zoom:a.getZoom()},api:{coord:function(t){return a.dataToPoint(t)},size:at(Z_,a)}}}function q_(a,e){var t=this.getAxis(),r=e instanceof Array?e[0]:e,n=(a instanceof Array?a[0]:a)/2;return t.type==="category"?t.getBandWidth():Math.abs(t.dataToCoord(r-n)-t.dataToCoord(r+n))}function K_(a){var e=a.getRect();return{coordSys:{type:"singleAxis",x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:function(t){return a.dataToPoint(t)},size:at(q_,a)}}}function j_(a,e){return e=e||[0,0],$(["Radius","Angle"],function(t,r){var n="get"+t+"Axis",i=this[n](),o=e[r],s=a[r]/2,l=i.type==="category"?i.getBandWidth():Math.abs(i.dataToCoord(o-s)-i.dataToCoord(o+s));return t==="Angle"&&(l=l*Math.PI/180),l},this)}function J_(a){var e=a.getRadiusAxis(),t=a.getAngleAxis(),r=e.getExtent();return r[0]>r[1]&&r.reverse(),{coordSys:{type:"polar",cx:a.cx,cy:a.cy,r:r[1],r0:r[0]},api:{coord:function(n){var i=e.dataToRadius(n[0]),o=t.dataToAngle(n[1]),s=a.coordToPoint([i,o]);return s.push(i,o*Math.PI/180),s},size:at(j_,a)}}}function Q_(a){var e=a.getRect(),t=a.getRangeInfo();return{coordSys:{type:"calendar",x:e.x,y:e.y,width:e.width,height:e.height,cellWidth:a.getCellWidth(),cellHeight:a.getCellHeight(),rangeInfo:{start:t.start,end:t.end,weeks:t.weeks,dayCount:t.allDay}},api:{coord:function(r,n){return a.dataToPoint(r,n)}}}}function Ip(a,e,t,r){return a&&(a.legacy||a.legacy!==!1&&!t&&!r&&e!=="tspan"&&(e==="text"||Z(a,"text")))}function Mp(a,e,t){var r=a,n,i,o;if(e==="text")o=r;else{o={},Z(r,"text")&&(o.text=r.text),Z(r,"rich")&&(o.rich=r.rich),Z(r,"textFill")&&(o.fill=r.textFill),Z(r,"textStroke")&&(o.stroke=r.textStroke),Z(r,"fontFamily")&&(o.fontFamily=r.fontFamily),Z(r,"fontSize")&&(o.fontSize=r.fontSize),Z(r,"fontStyle")&&(o.fontStyle=r.fontStyle),Z(r,"fontWeight")&&(o.fontWeight=r.fontWeight),i={type:"text",style:o,silent:!0},n={};var s=Z(r,"textPosition");t?n.position=s?r.textPosition:"inside":s&&(n.position=r.textPosition),Z(r,"textPosition")&&(n.position=r.textPosition),Z(r,"textOffset")&&(n.offset=r.textOffset),Z(r,"textRotation")&&(n.rotation=r.textRotation),Z(r,"textDistance")&&(n.distance=r.textDistance)}return zv(o,a),D(o.rich,function(l){zv(l,l)}),{textConfig:n,textContent:i}}function zv(a,e){e&&(e.font=e.textFont||e.font,Z(e,"textStrokeWidth")&&(a.lineWidth=e.textStrokeWidth),Z(e,"textAlign")&&(a.align=e.textAlign),Z(e,"textVerticalAlign")&&(a.verticalAlign=e.textVerticalAlign),Z(e,"textLineHeight")&&(a.lineHeight=e.textLineHeight),Z(e,"textWidth")&&(a.width=e.textWidth),Z(e,"textHeight")&&(a.height=e.textHeight),Z(e,"textBackgroundColor")&&(a.backgroundColor=e.textBackgroundColor),Z(e,"textPadding")&&(a.padding=e.textPadding),Z(e,"textBorderColor")&&(a.borderColor=e.textBorderColor),Z(e,"textBorderWidth")&&(a.borderWidth=e.textBorderWidth),Z(e,"textBorderRadius")&&(a.borderRadius=e.textBorderRadius),Z(e,"textBoxShadowColor")&&(a.shadowColor=e.textBoxShadowColor),Z(e,"textBoxShadowBlur")&&(a.shadowBlur=e.textBoxShadowBlur),Z(e,"textBoxShadowOffsetX")&&(a.shadowOffsetX=e.textBoxShadowOffsetX),Z(e,"textBoxShadowOffsetY")&&(a.shadowOffsetY=e.textBoxShadowOffsetY))}function Gv(a,e,t){var r=a;r.textPosition=r.textPosition||t.position||"inside",t.offset!=null&&(r.textOffset=t.offset),t.rotation!=null&&(r.textRotation=t.rotation),t.distance!=null&&(r.textDistance=t.distance);var n=r.textPosition.indexOf("inside")>=0,i=a.fill||"#000";Ov(r,e);var o=r.textFill==null;return n?o&&(r.textFill=t.insideFill||"#fff",!r.textStroke&&t.insideStroke&&(r.textStroke=t.insideStroke),!r.textStroke&&(r.textStroke=i),r.textStrokeWidth==null&&(r.textStrokeWidth=2)):(o&&(r.textFill=a.fill||t.outsideFill||"#000"),!r.textStroke&&t.outsideStroke&&(r.textStroke=t.outsideStroke)),r.text=e.text,r.rich=e.rich,D(e.rich,function(s){Ov(s,s)}),r}function Ov(a,e){e&&(Z(e,"fill")&&(a.textFill=e.fill),Z(e,"stroke")&&(a.textStroke=e.fill),Z(e,"lineWidth")&&(a.textStrokeWidth=e.lineWidth),Z(e,"font")&&(a.font=e.font),Z(e,"fontStyle")&&(a.fontStyle=e.fontStyle),Z(e,"fontWeight")&&(a.fontWeight=e.fontWeight),Z(e,"fontSize")&&(a.fontSize=e.fontSize),Z(e,"fontFamily")&&(a.fontFamily=e.fontFamily),Z(e,"align")&&(a.textAlign=e.align),Z(e,"verticalAlign")&&(a.textVerticalAlign=e.verticalAlign),Z(e,"lineHeight")&&(a.textLineHeight=e.lineHeight),Z(e,"width")&&(a.textWidth=e.width),Z(e,"height")&&(a.textHeight=e.height),Z(e,"backgroundColor")&&(a.textBackgroundColor=e.backgroundColor),Z(e,"padding")&&(a.textPadding=e.padding),Z(e,"borderColor")&&(a.textBorderColor=e.borderColor),Z(e,"borderWidth")&&(a.textBorderWidth=e.borderWidth),Z(e,"borderRadius")&&(a.textBorderRadius=e.borderRadius),Z(e,"shadowColor")&&(a.textBoxShadowColor=e.shadowColor),Z(e,"shadowBlur")&&(a.textBoxShadowBlur=e.shadowBlur),Z(e,"shadowOffsetX")&&(a.textBoxShadowOffsetX=e.shadowOffsetX),Z(e,"shadowOffsetY")&&(a.textBoxShadowOffsetY=e.shadowOffsetY),Z(e,"textShadowColor")&&(a.textShadowColor=e.textShadowColor),Z(e,"textShadowBlur")&&(a.textShadowBlur=e.textShadowBlur),Z(e,"textShadowOffsetX")&&(a.textShadowOffsetX=e.textShadowOffsetX),Z(e,"textShadowOffsetY")&&(a.textShadowOffsetY=e.textShadowOffsetY))}var Pp={position:["x","y"],scale:["scaleX","scaleY"],origin:["originX","originY"]},Bv=Mt(Pp);Af(ma,function(a,e){return a[e]=1,a},{});ma.join(", ");var In=["","style","shape","extra"],Hr=Dt();function el(a,e,t,r,n){var i=a+"Animation",o=ka(a,r,n)||{},s=Hr(e).userDuring;return o.duration>0&&(o.during=s?at(nw,{el:e,userDuring:s}):null,o.setToFinal=!0,o.scope=a),K(o,t[i]),o}function ln(a,e,t,r){r=r||{};var n=r.dataIndex,i=r.isInit,o=r.clearStyle,s=t.isAnimationEnabled(),l=Hr(a),u=e.style;l.userDuring=e.during;var v={},c={};if(ow(a,e,c),Hv("shape",e,c),Hv("extra",e,c),!i&&s&&(iw(a,e,v),Fv("shape",a,e,v),Fv("extra",a,e,v),sw(a,e,u,v)),c.style=u,tw(a,c,o),rw(a,e),s)if(i){var f={};D(In,function(p){var d=p?e[p]:e;d&&d.enterFrom&&(p&&(f[p]=f[p]||{}),K(p?f[p]:f,d.enterFrom))});var h=el("enter",a,e,t,n);h.duration>0&&a.animateFrom(f,h)}else ew(a,e,n||0,t,v);Ep(a,e),u?a.dirty():a.markRedraw()}function Ep(a,e){for(var t=Hr(a).leaveToProps,r=0;r
0&&a.animateFrom(n,i)}}function rw(a,e){Z(e,"silent")&&(a.silent=e.silent),Z(e,"ignore")&&(a.ignore=e.ignore),a instanceof xr&&Z(e,"invisible")&&(a.invisible=e.invisible),a instanceof Wt&&Z(e,"autoBatch")&&(a.autoBatch=e.autoBatch)}var Le={},aw={setTransform:function(a,e){return Le.el[a]=e,this},getTransform:function(a){return Le.el[a]},setShape:function(a,e){var t=Le.el,r=t.shape||(t.shape={});return r[a]=e,t.dirtyShape&&t.dirtyShape(),this},getShape:function(a){var e=Le.el.shape;if(e)return e[a]},setStyle:function(a,e){var t=Le.el,r=t.style;return r&&(r[a]=e,t.dirtyStyle&&t.dirtyStyle()),this},getStyle:function(a){var e=Le.el.style;if(e)return e[a]},setExtra:function(a,e){var t=Le.el.extra||(Le.el.extra={});return t[a]=e,this},getExtra:function(a){var e=Le.el.extra;if(e)return e[a]}};function nw(){var a=this,e=a.el;if(e){var t=Hr(e).userDuring,r=a.userDuring;if(t!==r){a.el=a.userDuring=null;return}Le.el=e,r(aw)}}function Fv(a,e,t,r){var n=t[a];if(n){var i=e[a],o;if(i){var s=t.transition,l=n.transition;if(l)if(!o&&(o=r[a]={}),gr(l))K(o,i);else for(var u=Jt(l),v=0;v =0){!o&&(o=r[a]={});for(var h=Mt(i),v=0;v =0)){var f=a.getAnimationStyleProps(),h=f?f.style:null;if(h){!i&&(i=r.style={});for(var p=Mt(t),u=0;u =0?e.getStore().get(k,E):void 0}var N=e.get(R.name,E),F=R&&R.ordinalMeta;return F?F.categories[N]:N}function _(P,E){E==null&&(E=u);var R=e.getItemVisual(E,"style"),k=R&&R.fill,N=R&&R.opacity,F=S(E,Ke).getItemStyle();k!=null&&(F.fill=k),N!=null&&(F.opacity=N);var H={inheritColor:lt(k)?k:"#000"},X=m(E,Ke),j=At(X,null,H,!1,!0);j.text=X.getShallow("show")?Rt(a.getFormattedLabel(E,Ke),To(e,E)):null;var rt=Nl(X,H,!1);return T(P,F),F=Gv(F,j,rt),P&&A(F,P),F.legacy=!0,F}function w(P,E){E==null&&(E=u);var R=S(E,Oe).getItemStyle(),k=m(E,Oe),N=At(k,null,null,!0,!0);N.text=k.getShallow("show")?Ur(a.getFormattedLabel(E,Oe),a.getFormattedLabel(E,Ke),To(e,E)):null;var F=Nl(k,null,!0);return T(P,R),R=Gv(R,N,F),P&&A(R,P),R.legacy=!0,R}function A(P,E){for(var R in E)Z(E,R)&&(P[R]=E[R])}function T(P,E){P&&(P.textFill&&(E.textFill=P.textFill),P.textPosition&&(E.textPosition=P.textPosition))}function C(P,E){if(E==null&&(E=u),Z(Nv,P)){var R=e.getItemVisual(E,"style");return R?R[Nv[P]]:null}if(Z(W_,P))return e.getItemVisual(E,P)}function L(P){if(i.type==="cartesian2d"){var E=i.getBaseAxis();return ty(ot({axis:E},P))}}function M(){return t.getCurrentSeriesIndices()}function I(P){return Vf(P,t)}}function yw(a){var e={};return D(a.dimensions,function(t){var r=a.getDimensionInfo(t);if(!r.isExtraCoord){var n=r.coordDim,i=e[n]=e[n]||[];i[r.coordDimIndex]=a.getDimensionIndex(t)}}),e}function no(a,e,t,r,n,i,o){if(!r){i.remove(e);return}var s=ol(a,e,t,r,n,i);return s&&o.setItemGraphicEl(t,s),s&&Et(s,r.focus,r.blurScope,r.emphasisDisabled),s}function ol(a,e,t,r,n,i){var o=-1,s=e;e&&Np(e,r,n)&&(o=Pt(i.childrenRef(),e),e=null);var l=!e,u=e;u?u.clearStates():(u=nl(r),s&&hw(s,u)),r.morph===!1?u.disableMorphing=!0:u.disableMorphing&&(u.disableMorphing=!1),pe.normal.cfg=pe.normal.conOpt=pe.emphasis.cfg=pe.emphasis.conOpt=pe.blur.cfg=pe.blur.conOpt=pe.select.cfg=pe.select.conOpt=null,pe.isLegacy=!1,Sw(u,t,r,n,l,pe),mw(u,t,r,n,l),il(a,u,t,r,pe,n,l),Z(r,"info")&&(Ge(u).info=r.info);for(var v=0;v =0?i.replaceAt(u,o):i.add(u),u}function Np(a,e,t){var r=Ge(a),n=e.type,i=e.shape,o=e.style;return t.isUniversalTransitionEnabled()||n!=null&&n!==r.customGraphicType||n==="path"&&Aw(i)&&zp(i)!==r.customPathData||n==="image"&&Z(o,"image")&&o.image!==r.customImagePath}function mw(a,e,t,r,n){var i=t.clipPath;if(i===!1)a&&a.getClipPath()&&a.removeClipPath();else if(i){var o=a.getClipPath();o&&Np(o,i,r)&&(o=null),o||(o=nl(i),a.setClipPath(o)),il(null,o,e,i,null,r,n)}}function Sw(a,e,t,r,n,i){if(!a.isGroup){Uv(t,null,i),Uv(t,Oe,i);var o=i.normal.conOpt,s=i.emphasis.conOpt,l=i.blur.conOpt,u=i.select.conOpt;if(o!=null||s!=null||u!=null||l!=null){var v=a.getTextContent();if(o===!1)v&&a.removeTextContent();else{o=i.normal.conOpt=o||{type:"text"},v?v.clearStates():(v=nl(o),a.setTextContent(v)),il(null,v,e,o,null,r,n);for(var c=o&&o.style,f=0;f =v;h--){var p=e.childAt(h);bw(e,p,n)}}}function bw(a,e,t){e&&oi(e,Ge(a).option,t)}function _w(a){new Qe(a.oldChildren,a.newChildren,$v,$v,a).add(Yv).update(Yv).remove(ww).execute()}function $v(a,e){var t=a&&a.name;return t??cw+e}function Yv(a,e){var t=this.context,r=a!=null?t.newChildren[a]:null,n=e!=null?t.oldChildren[e]:null;ol(t.api,n,t.dataIndex,r,t.seriesModel,t.group)}function ww(a){var e=this.context,t=e.oldChildren[a];t&&oi(t,Ge(t).option,e.seriesModel)}function zp(a){return a&&(a.pathData||a.d)}function Aw(a){return a&&(Z(a,"pathData")||Z(a,"d"))}function Tw(a){a.registerChartView(pw),a.registerSeriesModel(U_)}var Cw=function(a){V(e,a);function e(){return a!==null&&a.apply(this,arguments)||this}return e.prototype.makeElOption=function(t,r,n,i,o){var s=n.axis;s.dim==="angle"&&(this.animationThreshold=Math.PI/18);var l=s.polar,u=l.getOtherAxis(s),v=u.getExtent(),c=s.dataToCoord(r),f=i.get("type");if(f&&f!=="none"){var h=zf(i),p=Lw[f](s,l,c,v);p.style=h,t.graphicKey=p.type,t.pointer=p}var d=i.get(["label","margin"]),g=Dw(r,n,i,l,d);ry(t,n,i,o,g)},e}(Gf);function Dw(a,e,t,r,n){var i=e.axis,o=i.dataToCoord(a),s=r.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var l=r.getRadiusAxis().getExtent(),u,v,c;if(i.dim==="radius"){var f=Zr();Yn(f,f,s),Sr(f,f,[r.cx,r.cy]),u=Gr([o,-n],f);var h=e.getModel("axisLabel").get("rotate")||0,p=mr.innerTextLayout(s,h*Math.PI/180,-1);v=p.textAlign,c=p.textVerticalAlign}else{var d=l[1];u=r.coordToPoint([d+n,o]);var g=r.cx,y=r.cy;v=Math.abs(u[0]-g)/d<.3?"center":u[0]>g?"left":"right",c=Math.abs(u[1]-y)/d<.3?"middle":u[1]>y?"top":"bottom"}return{position:u,align:v,verticalAlign:c}}var Lw={line:function(a,e,t,r){return a.dim==="angle"?{type:"Line",shape:Of(e.coordToPoint([r[0],t]),e.coordToPoint([r[1],t]))}:{type:"Circle",shape:{cx:e.cx,cy:e.cy,r:t}}},shadow:function(a,e,t,r){var n=Math.max(1,a.getBandWidth()),i=Math.PI/180;return a.dim==="angle"?{type:"Sector",shape:zl(e.cx,e.cy,r[0],r[1],(-t-n/2)*i,(-t+n/2)*i)}:{type:"Sector",shape:zl(e.cx,e.cy,t-n/2,t+n/2,0,Math.PI*2)}}},Iw=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.findAxisModel=function(t){var r,n=this.ecModel;return n.eachComponent(t,function(i){i.getCoordSysModel()===this&&(r=i)},this),r},e.type="polar",e.dependencies=["radiusAxis","angleAxis"],e.defaultOption={z:0,center:["50%","50%"],radius:"80%"},e}(Xt),ll=function(a){V(e,a);function e(){return a!==null&&a.apply(this,arguments)||this}return e.prototype.getCoordSysModel=function(){return this.getReferringComponents("polar",Ar).models[0]},e.type="polarAxis",e}(Xt);Ce(ll,$n);var Mw=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.type="angleAxis",e}(ll),Pw=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.type="radiusAxis",e}(ll),ul=function(a){V(e,a);function e(t,r){return a.call(this,"radius",t,r)||this}return e.prototype.pointToData=function(t,r){return this.polar.pointToData(t,r)[this.dim==="radius"?0:1]},e}(ke);ul.prototype.dataToRadius=ke.prototype.dataToCoord;ul.prototype.radiusToData=ke.prototype.coordToData;var Ew=Dt(),vl=function(a){V(e,a);function e(t,r){return a.call(this,"angle",t,r||[0,360])||this}return e.prototype.pointToData=function(t,r){return this.polar.pointToData(t,r)[this.dim==="radius"?0:1]},e.prototype.calculateCategoryInterval=function(){var t=this,r=t.getLabelModel(),n=t.scale,i=n.getExtent(),o=n.count();if(i[1]-i[0]<1)return 0;var s=i[0],l=t.dataToCoord(s+1)-t.dataToCoord(s),u=Math.abs(l),v=Bf(s==null?"":s+"",r.getFont(),"center","top"),c=Math.max(v.height,7),f=c/u;isNaN(f)&&(f=1/0);var h=Math.max(0,Math.floor(f)),p=Ew(t.model),d=p.lastAutoInterval,g=p.lastTickCount;return d!=null&&g!=null&&Math.abs(d-h)<=1&&Math.abs(g-o)<=1&&d>h?h=d:(p.lastTickCount=o,p.lastAutoInterval=h),h},e}(ke);vl.prototype.dataToAngle=ke.prototype.dataToCoord;vl.prototype.angleToData=ke.prototype.coordToData;var Gp=["radius","angle"],Rw=function(){function a(e){this.dimensions=Gp,this.type="polar",this.cx=0,this.cy=0,this._radiusAxis=new ul,this._angleAxis=new vl,this.axisPointerEnabled=!0,this.name=e||"",this._radiusAxis.polar=this._angleAxis.polar=this}return a.prototype.containPoint=function(e){var t=this.pointToCoord(e);return this._radiusAxis.contain(t[0])&&this._angleAxis.contain(t[1])},a.prototype.containData=function(e){return this._radiusAxis.containData(e[0])&&this._angleAxis.containData(e[1])},a.prototype.getAxis=function(e){var t="_"+e+"Axis";return this[t]},a.prototype.getAxes=function(){return[this._radiusAxis,this._angleAxis]},a.prototype.getAxesByScale=function(e){var t=[],r=this._angleAxis,n=this._radiusAxis;return r.scale.type===e&&t.push(r),n.scale.type===e&&t.push(n),t},a.prototype.getAngleAxis=function(){return this._angleAxis},a.prototype.getRadiusAxis=function(){return this._radiusAxis},a.prototype.getOtherAxis=function(e){var t=this._angleAxis;return e===t?this._radiusAxis:t},a.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},a.prototype.getTooltipAxes=function(e){var t=e!=null&&e!=="auto"?this.getAxis(e):this.getBaseAxis();return{baseAxes:[t],otherAxes:[this.getOtherAxis(t)]}},a.prototype.dataToPoint=function(e,t){return this.coordToPoint([this._radiusAxis.dataToRadius(e[0],t),this._angleAxis.dataToAngle(e[1],t)])},a.prototype.pointToData=function(e,t){var r=this.pointToCoord(e);return[this._radiusAxis.radiusToData(r[0],t),this._angleAxis.angleToData(r[1],t)]},a.prototype.pointToCoord=function(e){var t=e[0]-this.cx,r=e[1]-this.cy,n=this.getAngleAxis(),i=n.getExtent(),o=Math.min(i[0],i[1]),s=Math.max(i[0],i[1]);n.inverse?o=s-360:s=o+360;var l=Math.sqrt(t*t+r*r);t/=l,r/=l;for(var u=Math.atan2(-r,t)/Math.PI*180,v=u s;)u+=v*360;return[l,u]},a.prototype.coordToPoint=function(e){var t=e[0],r=e[1]/180*Math.PI,n=Math.cos(r)*t+this.cx,i=-Math.sin(r)*t+this.cy;return[n,i]},a.prototype.getArea=function(){var e=this.getAngleAxis(),t=this.getRadiusAxis(),r=t.getExtent().slice();r[0]>r[1]&&r.reverse();var n=e.getExtent(),i=Math.PI/180,o=1e-4;return{cx:this.cx,cy:this.cy,r0:r[0],r:r[1],startAngle:-n[0]*i,endAngle:-n[1]*i,clockwise:e.inverse,contain:function(s,l){var u=s-this.cx,v=l-this.cy,c=u*u+v*v,f=this.r,h=this.r0;return f!==h&&c-o<=f*f&&c+o>=h*h}}},a.prototype.convertToPixel=function(e,t,r){var n=Zv(t);return n===this?this.dataToPoint(r):null},a.prototype.convertFromPixel=function(e,t,r){var n=Zv(t);return n===this?this.pointToData(r):null},a}();function Zv(a){var e=a.seriesModel,t=a.polarModel;return t&&t.coordinateSystem||e&&e.coordinateSystem}function kw(a,e,t){var r=e.get("center"),n=t.getWidth(),i=t.getHeight();a.cx=U(r[0],n),a.cy=U(r[1],i);var o=a.getRadiusAxis(),s=Math.min(n,i)/2,l=e.get("radius");l==null?l=[0,"100%"]:q(l)||(l=[0,l]);var u=[U(l[0],s),U(l[1],s)];o.inverse?o.setExtent(u[1],u[0]):o.setExtent(u[0],u[1])}function Vw(a,e){var t=this,r=t.getAngleAxis(),n=t.getRadiusAxis();if(r.scale.setExtent(1/0,-1/0),n.scale.setExtent(1/0,-1/0),a.eachSeries(function(s){if(s.coordinateSystem===t){var l=s.getData();D(Gl(l,"radius"),function(u){n.scale.unionExtentFromData(l,u)}),D(Gl(l,"angle"),function(u){r.scale.unionExtentFromData(l,u)})}}),gn(r.scale,r.model),gn(n.scale,n.model),r.type==="category"&&!r.onBand){var i=r.getExtent(),o=360/r.scale.count();r.inverse?i[1]+=o:i[1]-=o,r.setExtent(i[0],i[1])}}function Nw(a){return a.mainType==="angleAxis"}function Xv(a,e){var t;if(a.type=e.get("type"),a.scale=gs(e),a.onBand=e.get("boundaryGap")&&a.type==="category",a.inverse=e.get("inverse"),Nw(e)){a.inverse=a.inverse!==e.get("clockwise");var r=e.get("startAngle"),n=(t=e.get("endAngle"))!==null&&t!==void 0?t:r+(a.inverse?-360:360);a.setExtent(r,n)}e.axis=a,a.model=e}var zw={dimensions:Gp,create:function(a,e){var t=[];return a.eachComponent("polar",function(r,n){var i=new Rw(n+"");i.update=Vw;var o=i.getRadiusAxis(),s=i.getAngleAxis(),l=r.findAxisModel("radiusAxis"),u=r.findAxisModel("angleAxis");Xv(o,l),Xv(s,u),kw(i,r,e),t.push(i),r.coordinateSystem=i,i.model=r}),a.eachSeries(function(r){if(r.get("coordinateSystem")==="polar"){var n=r.getReferringComponents("polar",Ar).models[0];r.coordinateSystem=n.coordinateSystem}}),t}},Gw=["axisLine","axisLabel","axisTick","minorTick","splitLine","minorSplitLine","splitArea"];function Ja(a,e,t){e[1]>e[0]&&(e=e.slice().reverse());var r=a.coordToPoint([e[0],t]),n=a.coordToPoint([e[1],t]);return{x1:r[0],y1:r[1],x2:n[0],y2:n[1]}}function Qa(a){var e=a.getRadiusAxis();return e.inverse?0:1}function qv(a){var e=a[0],t=a[a.length-1];e&&t&&Math.abs(Math.abs(e.coord-t.coord)-360)<1e-4&&a.pop()}var Ow=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t.axisPointerClass="PolarAxisPointer",t}return e.prototype.render=function(t,r){if(this.group.removeAll(),!!t.get("show")){var n=t.axis,i=n.polar,o=i.getRadiusAxis().getExtent(),s=n.getTicksCoords(),l=n.getMinorTicksCoords(),u=$(n.getViewLabels(),function(v){v=pt(v);var c=n.scale,f=c.type==="ordinal"?c.getRawOrdinalNumber(v.tickValue):v.tickValue;return v.coord=n.dataToCoord(f),v});qv(u),qv(s),D(Gw,function(v){t.get([v,"show"])&&(!n.scale.isBlank()||v==="axisLine")&&Bw[v](this.group,t,i,s,l,o,u)},this)}},e.type="angleAxis",e}(Va),Bw={axisLine:function(a,e,t,r,n,i){var o=e.getModel(["axisLine","lineStyle"]),s=t.getAngleAxis(),l=Math.PI/180,u=s.getExtent(),v=Qa(t),c=v?0:1,f,h=Math.abs(u[1]-u[0])===360?"Circle":"Arc";i[c]===0?f=new Yr[h]({shape:{cx:t.cx,cy:t.cy,r:i[v],startAngle:-u[0]*l,endAngle:-u[1]*l,clockwise:s.inverse},style:o.getLineStyle(),z2:1,silent:!0}):f=new xf({shape:{cx:t.cx,cy:t.cy,r:i[v],r0:i[c]},style:o.getLineStyle(),z2:1,silent:!0}),f.style.fill=null,a.add(f)},axisTick:function(a,e,t,r,n,i){var o=e.getModel("axisTick"),s=(o.get("inside")?-1:1)*o.get("length"),l=i[Qa(t)],u=$(r,function(v){return new _e({shape:Ja(t,[l,l+s],v.coord)})});a.add(be(u,{style:ot(o.getModel("lineStyle").getLineStyle(),{stroke:e.get(["axisLine","lineStyle","color"])})}))},minorTick:function(a,e,t,r,n,i){if(n.length){for(var o=e.getModel("axisTick"),s=e.getModel("minorTick"),l=(o.get("inside")?-1:1)*s.get("length"),u=i[Qa(t)],v=[],c=0;c y?"left":"right",x=Math.abs(g[1]-S)/d<.3?"middle":g[1]>S?"top":"bottom";if(s&&s[p]){var b=s[p];Zt(b)&&b.textStyle&&(h=new ce(b.textStyle,l,l.ecModel))}var _=new St({silent:mr.isLabelSilent(e),style:At(h,{x:g[0],y:g[1],fill:h.getTextColor()||e.get(["axisLine","lineStyle","color"]),text:c.formattedLabel,align:m,verticalAlign:x})});if(a.add(_),v){var w=mr.makeAxisEventDataBase(e);w.targetType="axisLabel",w.value=c.rawLabel,ht(_).eventData=w}},this)},splitLine:function(a,e,t,r,n,i){var o=e.getModel("splitLine"),s=o.getModel("lineStyle"),l=s.get("color"),u=0;l=l instanceof Array?l:[l];for(var v=[],c=0;c =0?"p":"n",E=T;b&&(r[v][I]||(r[v][I]={p:T,n:T}),E=r[v][I][P]);var R=void 0,k=void 0,N=void 0,F=void 0;if(p.dim==="radius"){var H=p.dataToCoord(M)-T,X=l.dataToCoord(I);Math.abs(H) =F})}}})}function Zw(a){var e={};D(a,function(r,n){var i=r.getData(),o=r.coordinateSystem,s=o.getBaseAxis(),l=Bp(o,s),u=s.getExtent(),v=s.type==="category"?s.getBandWidth():Math.abs(u[1]-u[0])/i.count(),c=e[l]||{bandWidth:v,remainedWidth:v,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},f=c.stacks;e[l]=c;var h=Op(r);f[h]||c.autoWidthCount++,f[h]=f[h]||{width:0,maxWidth:0};var p=U(r.get("barWidth"),v),d=U(r.get("barMaxWidth"),v),g=r.get("barGap"),y=r.get("barCategoryGap");p&&!f[h].width&&(p=Math.min(c.remainedWidth,p),f[h].width=p,c.remainedWidth-=p),d&&(f[h].maxWidth=d),g!=null&&(c.gap=g),y!=null&&(c.categoryGap=y)});var t={};return D(e,function(r,n){t[n]={};var i=r.stacks,o=r.bandWidth,s=U(r.categoryGap,o),l=U(r.gap,1),u=r.remainedWidth,v=r.autoWidthCount,c=(u-s)/(v+(v-1)*l);c=Math.max(c,0),D(i,function(d,g){var y=d.maxWidth;y&&y =t.y&&e[1]<=t.y+t.height:r.contain(r.toLocalCoord(e[1]))&&e[0]>=t.y&&e[0]<=t.y+t.height},a.prototype.pointToData=function(e){var t=this.getAxis();return[t.coordToData(t.toLocalCoord(e[t.orient==="horizontal"?0:1]))]},a.prototype.dataToPoint=function(e){var t=this.getAxis(),r=this.getRect(),n=[],i=t.orient==="horizontal"?0:1;return e instanceof Array&&(e=e[0]),n[i]=t.toGlobalCoord(t.dataToCoord(+e)),n[1-i]=i===0?r.y+r.height/2:r.x+r.width/2,n},a.prototype.convertToPixel=function(e,t,r){var n=Kv(t);return n===this?this.dataToPoint(r):null},a.prototype.convertFromPixel=function(e,t,r){var n=Kv(t);return n===this?this.pointToData(r):null},a}();function Kv(a){var e=a.seriesModel,t=a.singleAxisModel;return t&&t.coordinateSystem||e&&e.coordinateSystem}function nA(a,e){var t=[];return a.eachComponent("singleAxis",function(r,n){var i=new aA(r,a,e);i.name="single_"+n,i.resize(r,e),r.coordinateSystem=i,t.push(i)}),a.eachSeries(function(r){if(r.get("coordinateSystem")==="singleAxis"){var n=r.getReferringComponents("singleAxis",Ar).models[0];r.coordinateSystem=n&&n.coordinateSystem}}),t}var iA={create:nA,dimensions:Fp},jv=["x","y"],oA=["width","height"],sA=function(a){V(e,a);function e(){return a!==null&&a.apply(this,arguments)||this}return e.prototype.makeElOption=function(t,r,n,i,o){var s=n.axis,l=s.coordinateSystem,u=io(l,1-En(s)),v=l.dataToPoint(r)[0],c=i.get("type");if(c&&c!=="none"){var f=zf(i),h=lA[c](s,v,u);h.style=f,t.graphicKey=h.type,t.pointer=h}var p=qo(n);oy(r,t,p,n,i,o)},e.prototype.getHandleTransform=function(t,r,n){var i=qo(r,{labelInside:!1});i.labelMargin=n.get(["handle","margin"]);var o=sy(r.axis,t,i);return{x:o[0],y:o[1],rotation:i.rotation+(i.labelDirection<0?Math.PI:0)}},e.prototype.updateHandleTransform=function(t,r,n,i){var o=n.axis,s=o.coordinateSystem,l=En(o),u=io(s,l),v=[t.x,t.y];v[l]+=r[l],v[l]=Math.min(u[1],v[l]),v[l]=Math.max(u[0],v[l]);var c=io(s,1-l),f=(c[1]+c[0])/2,h=[f,f];return h[l]=v[l],{x:v[0],y:v[1],rotation:t.rotation,cursorPoint:h,tooltipOption:{verticalAlign:"middle"}}},e}(Gf),lA={line:function(a,e,t){var r=Of([e,t[0]],[e,t[1]],En(a));return{type:"Line",subPixelOptimize:!0,shape:r}},shadow:function(a,e,t){var r=a.getBandWidth(),n=t[1]-t[0];return{type:"Rect",shape:ly([e-r/2,t[0]],[r,n],En(a))}}};function En(a){return a.isHorizontal()?0:1}function io(a,e){var t=a.getRect();return[t[jv[e]],t[jv[e]]+t[oA[e]]]}var uA=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.type="single",e}(te);function vA(a){it(xs),Va.registerAxisPointerClass("SingleAxisPointer",sA),a.registerComponentView(uA),a.registerComponentView(tA),a.registerComponentModel(un),yn(a,"single",un,un.defaultOption),a.registerCoordinateSystem("single",iA)}var cA=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,r,n){var i=uy(t);a.prototype.init.apply(this,arguments),Jv(t,i)},e.prototype.mergeOption=function(t){a.prototype.mergeOption.apply(this,arguments),Jv(this.option,t)},e.prototype.getCellSize=function(){return this.option.cellSize},e.type="calendar",e.defaultOption={z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},e}(Xt);function Jv(a,e){var t=a.cellSize,r;q(t)?r=t:r=a.cellSize=[t,t],r.length===1&&(r[1]=r[0]);var n=$([0,1],function(i){return vy(e,i)&&(r[i]="auto"),r[i]!=null&&r[i]!=="auto"});Hf(a,e,{type:"box",ignoreSize:n})}var fA=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,r,n){var i=this.group;i.removeAll();var o=t.coordinateSystem,s=o.getRangeInfo(),l=o.getOrient(),u=r.getLocaleModel();this._renderDayRect(t,s,i),this._renderLines(t,s,l,i),this._renderYearText(t,s,l,i),this._renderMonthText(t,u,l,i),this._renderWeekText(t,u,s,l,i)},e.prototype._renderDayRect=function(t,r,n){for(var i=t.coordinateSystem,o=t.getModel("itemStyle").getItemStyle(),s=i.getCellWidth(),l=i.getCellHeight(),u=r.start.time;u<=r.end.time;u=i.getNextNDay(u,1).time){var v=i.dataToRect([u],!1).tl,c=new Bt({shape:{x:v[0],y:v[1],width:s,height:l},cursor:"default",style:o});n.add(c)}},e.prototype._renderLines=function(t,r,n,i){var o=this,s=t.coordinateSystem,l=t.getModel(["splitLine","lineStyle"]).getLineStyle(),u=t.get(["splitLine","show"]),v=l.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var c=r.start,f=0;c.time<=r.end.time;f++){p(c.formatedDate),f===0&&(c=s.getDateInfo(r.start.y+"-"+r.start.m));var h=c.date;h.setMonth(h.getMonth()+1),c=s.getDateInfo(h)}p(s.getNextNDay(r.end.time,1).formatedDate);function p(d){o._firstDayOfMonth.push(s.getDateInfo(d)),o._firstDayPoints.push(s.dataToRect([d],!1).tl);var g=o._getLinePointsOfOneWeek(t,d,n);o._tlpoints.push(g[0]),o._blpoints.push(g[g.length-1]),u&&o._drawSplitline(g,l,i)}u&&this._drawSplitline(o._getEdgesPoints(o._tlpoints,v,n),l,i),u&&this._drawSplitline(o._getEdgesPoints(o._blpoints,v,n),l,i)},e.prototype._getEdgesPoints=function(t,r,n){var i=[t[0].slice(),t[t.length-1].slice()],o=n==="horizontal"?0:1;return i[0][o]=i[0][o]-r/2,i[1][o]=i[1][o]+r/2,i},e.prototype._drawSplitline=function(t,r,n){var i=new Te({z2:20,shape:{points:t},style:r});n.add(i)},e.prototype._getLinePointsOfOneWeek=function(t,r,n){for(var i=t.coordinateSystem,o=i.getDateInfo(r),s=[],l=0;l<7;l++){var u=i.getNextNDay(o.time,l),v=i.dataToRect([u.time],!1);s[2*u.day]=v.tl,s[2*u.day+1]=v[n==="horizontal"?"bl":"tr"]}return s},e.prototype._formatterLabel=function(t,r){return lt(t)&&t?cy(t,r):gt(t)?t(r):r.nameMap},e.prototype._yearTextPositionControl=function(t,r,n,i,o){var s=r[0],l=r[1],u=["center","bottom"];i==="bottom"?(l+=o,u=["center","top"]):i==="left"?s-=o:i==="right"?(s+=o,u=["center","top"]):l-=o;var v=0;return(i==="left"||i==="right")&&(v=Math.PI/2),{rotation:v,x:s,y:l,style:{align:u[0],verticalAlign:u[1]}}},e.prototype._renderYearText=function(t,r,n,i){var o=t.getModel("yearLabel");if(o.get("show")){var s=o.get("margin"),l=o.get("position");l||(l=n!=="horizontal"?"top":"left");var u=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],v=(u[0][0]+u[1][0])/2,c=(u[0][1]+u[1][1])/2,f=n==="horizontal"?0:1,h={top:[v,u[f][1]],bottom:[v,u[1-f][1]],left:[u[1-f][0],c],right:[u[f][0],c]},p=r.start.y;+r.end.y>+r.start.y&&(p=p+"-"+r.end.y);var d=o.get("formatter"),g={start:r.start.y,end:r.end.y,nameMap:p},y=this._formatterLabel(d,g),S=new St({z2:30,style:At(o,{text:y}),silent:o.get("silent")});S.attr(this._yearTextPositionControl(S,h[l],n,l,s)),i.add(S)}},e.prototype._monthTextPositionControl=function(t,r,n,i,o){var s="left",l="top",u=t[0],v=t[1];return n==="horizontal"?(v=v+o,r&&(s="center"),i==="start"&&(l="bottom")):(u=u+o,r&&(l="middle"),i==="start"&&(s="right")),{x:u,y:v,align:s,verticalAlign:l}},e.prototype._renderMonthText=function(t,r,n,i){var o=t.getModel("monthLabel");if(o.get("show")){var s=o.get("nameMap"),l=o.get("margin"),u=o.get("position"),v=o.get("align"),c=[this._tlpoints,this._blpoints];(!s||lt(s))&&(s&&(r=Ol(s)||r),s=r.get(["time","monthAbbr"])||[]);var f=u==="start"?0:1,h=n==="horizontal"?0:1;l=u==="start"?-l:l;for(var p=v==="center",d=o.get("silent"),g=0;g =n.start.time&&r.time s.end.time&&t.reverse(),t},a.prototype._getRangeInfo=function(e){var t=[this.getDateInfo(e[0]),this.getDateInfo(e[1])],r;t[0].time>t[1].time&&(r=!0,t.reverse());var n=Math.floor(t[1].time/oo)-Math.floor(t[0].time/oo)+1,i=new Date(t[0].time),o=i.getDate(),s=t[1].date.getDate();i.setDate(o+n-1);var l=i.getDate();if(l!==s)for(var u=i.getTime()-t[1].time>0?1:-1;(l=i.getDate())!==s&&(i.getTime()-t[1].time)*u>0;)n-=u,i.setDate(l-u);var v=Math.floor((n+t[0].day+6)/7),c=r?-v+1:v-1;return r&&t.reverse(),{range:[t[0].formatedDate,t[1].formatedDate],start:t[0],end:t[1],allDay:n,weeks:v,nthWeek:c,fweek:t[0].day,lweek:t[1].day}},a.prototype._getDateByWeeksAndDay=function(e,t,r){var n=this._getRangeInfo(r);if(e>n.weeks||e===0&&t n.lweek)return null;var i=(e-1)*7-n.fweek+t,o=new Date(n.start.time);return o.setDate(+n.start.d+i),this.getDateInfo(o)},a.create=function(e,t){var r=[];return e.eachComponent("calendar",function(n){var i=new a(n);r.push(i),n.coordinateSystem=i}),e.eachSeries(function(n){n.get("coordinateSystem")==="calendar"&&(n.coordinateSystem=r[n.get("calendarIndex")||0])}),r},a.dimensions=["time","value"],a}();function Qv(a){var e=a.calendarModel,t=a.seriesModel,r=e?e.coordinateSystem:t?t.coordinateSystem:null;return r}function pA(a){a.registerComponentModel(cA),a.registerComponentView(fA),a.registerCoordinateSystem("calendar",hA)}function dA(a,e){var t=a.existing;if(e.id=a.keyInfo.id,!e.type&&t&&(e.type=t.type),e.parentId==null){var r=e.parentOption;r?e.parentId=r.id:t&&(e.parentId=t.parentId)}e.parentOption=null}function tc(a,e){var t;return D(e,function(r){a[r]!=null&&a[r]!=="auto"&&(t=!0)}),t}function gA(a,e,t){var r=K({},t),n=a[e],i=t.$action||"merge";i==="merge"?n?(Ct(n,r,!0),Hf(n,r,{ignoreSize:!0}),py(t,n),tn(t,n),tn(t,n,"shape"),tn(t,n,"style"),tn(t,n,"extra"),t.clipPath=n.clipPath):a[e]=r:i==="replace"?a[e]=r:i==="remove"&&n&&(a[e]=null)}var Hp=["transition","enterFrom","leaveTo"],yA=Hp.concat(["enterAnimation","updateAnimation","leaveAnimation"]);function tn(a,e,t){if(t&&(!a[t]&&e[t]&&(a[t]={}),a=a[t],e=e[t]),!(!a||!e))for(var r=t?Hp:yA,n=0;n =0;v--){var c=n[v],f=ze(c.id,null),h=f!=null?o.get(f):null;if(h){var p=h.parent,y=de(p),S=p===i?{width:s,height:l}:{width:y.width,height:y.height},m={},x=ps(h,c,S,null,{hv:c.hv,boundingMode:c.bounding},m);if(!de(h).isNew&&x){for(var b=c.transition,_={},w=0;w =0)?_[A]=T:h[A]=T}xt(h,_,t,0)}else h.attr(m)}}},e.prototype._clear=function(){var t=this,r=this._elMap;r.each(function(n){vn(n,de(n).option,r,t._lastGraphicModel)}),this._elMap=ut()},e.prototype.dispose=function(){this._clear()},e.type="graphic",e}(te);function Ko(a){var e=Z(ec,a)?ec[a]:Nf(a),t=new e({});return de(t).type=a,t}function rc(a,e,t,r){var n=Ko(t);return e.add(n),r.set(a,n),de(n).id=a,de(n).isNew=!0,n}function vn(a,e,t,r){var n=a&&a.parent;n&&(a.type==="group"&&a.traverse(function(i){vn(i,e,t,r)}),oi(a,e,r),t.removeKey(de(a).id))}function ac(a,e,t,r){a.isGroup||D([["cursor",xr.prototype.cursor],["zlevel",r||0],["z",t||0],["z2",0]],function(n){var i=n[0];Z(e,i)?a[i]=Rt(e[i],n[1]):a[i]==null&&(a[i]=n[1])}),D(Mt(e),function(n){if(n.indexOf("on")===0){var i=e[n];a[n]=gt(i)?i:null}}),Z(e,"draggable")&&(a.draggable=e.draggable),e.name!=null&&(a.name=e.name),e.id!=null&&(a.id=e.id)}function bA(a){return a=K({},a),D(["id","parentId","$action","hv","bounding","textContent","clipPath"].concat(dy),function(e){delete a[e]}),a}function _A(a,e,t){var r=ht(a).eventData;!a.silent&&!a.ignore&&!r&&(r=ht(a).eventData={componentType:"graphic",componentIndex:e.componentIndex,name:a.name}),r&&(r.info=t.info)}function wA(a){a.registerComponentModel(SA),a.registerComponentView(xA),a.registerPreprocessor(function(e){var t=e.graphic;q(t)?!t[0]||!t[0].elements?e.graphic=[{elements:t}]:e.graphic=[e.graphic[0]]:t&&!t.elements&&(e.graphic=[{elements:[t]}])})}var AA=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.type="dataZoom.select",e}(gy),TA=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.type="dataZoom.select",e}(yy);function CA(a){a.registerComponentModel(AA),a.registerComponentView(TA),my(a)}var ge=function(){function a(){}return a}(),Wp={};function Rr(a,e){Wp[a]=e}function Up(a){return Wp[a]}var DA=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.optionUpdated=function(){a.prototype.optionUpdated.apply(this,arguments);var t=this.ecModel;D(this.option.feature,function(r,n){var i=Up(n);i&&(i.getDefaultOption&&(i.defaultOption=i.getDefaultOption(t)),Ct(r,i.defaultOption))})},e.type="toolbox",e.layoutMode={type:"box",ignoreSize:!0},e.defaultOption={show:!0,z:6,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}},tooltip:{show:!1,position:"bottom"}},e}(Xt),LA=function(a){V(e,a);function e(){return a!==null&&a.apply(this,arguments)||this}return e.prototype.render=function(t,r,n,i){var o=this.group;if(o.removeAll(),!t.get("show"))return;var s=+t.get("itemSize"),l=t.get("orient")==="vertical",u=t.get("feature")||{},v=this._features||(this._features={}),c=[];D(u,function(p,d){c.push(d)}),new Qe(this._featureNames||[],c).add(f).update(f).remove(st(f,null)).execute(),this._featureNames=c;function f(p,d){var g=c[p],y=c[d],S=u[g],m=new ce(S,t,t.ecModel),x;if(i&&i.newTitle!=null&&i.featureName===g&&(S.title=i.newTitle),g&&!y){if(IA(g))x={onclick:m.option.onclick,featureName:g};else{var b=Up(g);if(!b)return;x=new b}v[g]=x}else if(x=v[y],!x)return;x.uid=_f("toolbox-feature"),x.model=m,x.ecModel=r,x.api=n;var _=x instanceof ge;if(!g&&y){_&&x.dispose&&x.dispose(r,n);return}if(!m.get("show")||_&&x.unusable){_&&x.remove&&x.remove(r,n);return}h(m,x,g),m.setIconStatus=function(w,A){var T=this.option,C=this.iconPaths;T.iconStatus=T.iconStatus||{},T.iconStatus[w]=A,C[w]&&(A==="emphasis"?ga:ya)(C[w])},x instanceof ge&&x.render&&x.render(m,r,n,i)}function h(p,d,g){var y=p.getModel("iconStyle"),S=p.getModel(["emphasis","iconStyle"]),m=d instanceof ge&&d.getIcons?d.getIcons():p.get("icon"),x=p.get("title")||{},b,_;lt(m)?(b={},b[g]=m):b=m,lt(x)?(_={},_[g]=x):_=x;var w=p.iconPaths={};D(b,function(A,T){var C=Wf(A,{},{x:-s/2,y:-s/2,width:s,height:s});C.setStyle(y.getItemStyle());var L=C.ensureState("emphasis");L.style=S.getItemStyle();var M=new St({style:{text:_[T],align:S.get("textAlign"),borderRadius:S.get("textBorderRadius"),padding:S.get("textPadding"),fill:null,font:Vf({fontStyle:S.get("textFontStyle"),fontFamily:S.get("textFontFamily"),fontSize:S.get("textFontSize"),fontWeight:S.get("textFontWeight")},r)},ignore:!0});C.setTextContent(M),fs({el:C,componentModel:t,itemName:T,formatterParamsExtra:{title:_[T]}}),C.__title=_[T],C.on("mouseover",function(){var I=S.getItemStyle(),P=l?t.get("right")==null&&t.get("left")!=="right"?"right":"left":t.get("bottom")==null&&t.get("top")!=="bottom"?"bottom":"top";M.setStyle({fill:S.get("textFill")||I.fill||I.stroke||"#000",backgroundColor:S.get("textBackgroundColor")}),C.setTextConfig({position:S.get("textPosition")||P}),M.ignore=!t.get("showTitle"),n.enterEmphasis(this)}).on("mouseout",function(){p.get(["iconStatus",T])!=="emphasis"&&n.leaveEmphasis(this),M.hide()}),(p.get(["iconStatus",T])==="emphasis"?ga:ya)(C),o.add(C),C.on("click",at(d.onclick,d,r,n,T)),w[T]=C})}Sy(o,t,n),o.add(xy(o.getBoundingRect(),t)),l||o.eachChild(function(p){var d=p.__title,g=p.ensureState("emphasis"),y=g.textConfig||(g.textConfig={}),S=p.getTextContent(),m=S&&S.ensureState("emphasis");if(m&&!gt(m)&&d){var x=m.style||(m.style={}),b=Bf(d,St.makeFont(x)),_=p.x+o.x,w=p.y+o.y+s,A=!1;w+b.height>n.getHeight()&&(y.position="top",A=!0);var T=A?-5-b.height:s+10;_+b.width/2>n.getWidth()?(y.position=["100%",T],x.align="right"):_-b.width/2<0&&(y.position=[0,T],x.align="left")}})},e.prototype.updateView=function(t,r,n,i){D(this._features,function(o){o instanceof ge&&o.updateView&&o.updateView(o.model,r,n,i)})},e.prototype.remove=function(t,r){D(this._features,function(n){n instanceof ge&&n.remove&&n.remove(t,r)}),this.group.removeAll()},e.prototype.dispose=function(t,r){D(this._features,function(n){n instanceof ge&&n.dispose&&n.dispose(t,r)})},e.type="toolbox",e}(te);function IA(a){return a.indexOf("my")===0}var MA=function(a){V(e,a);function e(){return a!==null&&a.apply(this,arguments)||this}return e.prototype.onclick=function(t,r){var n=this.model,i=n.get("name")||t.get("title.0.text")||"echarts",o=r.getZr().painter.getType()==="svg",s=o?"svg":n.get("type",!0)||"png",l=r.getConnectedDataURL({type:s,backgroundColor:n.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",connectedBackgroundColor:n.get("connectedBackgroundColor"),excludeComponents:n.get("excludeComponents"),pixelRatio:n.get("pixelRatio")}),u=Uf.browser;if(typeof MouseEvent=="function"&&(u.newEdge||!u.ie&&!u.edge)){var v=document.createElement("a");v.download=i+"."+s,v.target="_blank",v.href=l;var c=new MouseEvent("click",{view:document.defaultView,bubbles:!0,cancelable:!1});v.dispatchEvent(c)}else if(window.navigator.msSaveOrOpenBlob||o){var f=l.split(","),h=f[0].indexOf("base64")>-1,p=o?decodeURIComponent(f[1]):f[1];h&&(p=window.atob(p));var d=i+"."+s;if(window.navigator.msSaveOrOpenBlob){for(var g=p.length,y=new Uint8Array(g);g--;)y[g]=p.charCodeAt(g);var S=new Blob([y]);window.navigator.msSaveOrOpenBlob(S,d)}else{var m=document.createElement("iframe");document.body.appendChild(m);var x=m.contentWindow,b=x.document;b.open("image/svg+xml","replace"),b.write(p),b.close(),x.focus(),b.execCommand("SaveAs",!0,d),document.body.removeChild(m)}}else{var _=n.get("lang"),w=' ',A=window.open();A.document.write(w),A.document.title=i}},e.getDefaultOption=function(t){var r={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:t.getLocaleModel().get(["toolbox","saveAsImage","title"]),type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],lang:t.getLocaleModel().get(["toolbox","saveAsImage","lang"])};return r},e}(ge),nc="__ec_magicType_stack__",PA=[["line","bar"],["stack"]],EA=function(a){V(e,a);function e(){return a!==null&&a.apply(this,arguments)||this}return e.prototype.getIcons=function(){var t=this.model,r=t.get("icon"),n={};return D(t.get("type"),function(i){r[i]&&(n[i]=r[i])}),n},e.getDefaultOption=function(t){var r={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"},title:t.getLocaleModel().get(["toolbox","magicType","title"]),option:{},seriesIndex:{}};return r},e.prototype.onclick=function(t,r,n){var i=this.model,o=i.get(["seriesIndex",n]);if(ic[n]){var s={series:[]},l=function(c){var f=c.subType,h=c.id,p=ic[n](f,h,c,i);p&&(ot(p,c.option),s.series.push(p));var d=c.coordinateSystem;if(d&&d.type==="cartesian2d"&&(n==="line"||n==="bar")){var g=d.getAxesByScale("ordinal")[0];if(g){var y=g.dim,S=y+"Axis",m=c.getReferringComponents(S,Ar).models[0],x=m.componentIndex;s[S]=s[S]||[];for(var b=0;b<=x;b++)s[S][x]=s[S][x]||{};s[S][x].boundaryGap=n==="bar"}}};D(PA,function(c){Pt(c,n)>=0&&D(c,function(f){i.setIconStatus(f,"normal")})}),i.setIconStatus(n,"emphasis"),t.eachComponent({mainType:"series",query:o==null?null:{seriesIndex:o}},l);var u,v=n;n==="stack"&&(u=Ct({stack:i.option.title.tiled,tiled:i.option.title.stack},i.option.title),i.get(["iconStatus",n])!=="emphasis"&&(v="tiled")),r.dispatchAction({type:"changeMagicType",currentType:v,newOption:s,newTitle:u,featureName:"magicType"})}},e}(ge),ic={line:function(a,e,t,r){if(a==="bar")return Ct({id:e,type:"line",data:t.get("data"),stack:t.get("stack"),markPoint:t.get("markPoint"),markLine:t.get("markLine")},r.get(["option","line"])||{},!0)},bar:function(a,e,t,r){if(a==="line")return Ct({id:e,type:"bar",data:t.get("data"),stack:t.get("stack"),markPoint:t.get("markPoint"),markLine:t.get("markLine")},r.get(["option","bar"])||{},!0)},stack:function(a,e,t,r){var n=t.get("stack")===nc;if(a==="line"||a==="bar")return r.setIconStatus("stack",n?"normal":"emphasis"),Ct({id:e,stack:n?"":nc},r.get(["option","stack"])||{},!0)}};bs({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(a,e){e.mergeOption(a.newOption)});var si=new Array(60).join("-"),Wr=" ";function RA(a){var e={},t=[],r=[];return a.eachRawSeries(function(n){var i=n.coordinateSystem;if(i&&(i.type==="cartesian2d"||i.type==="polar")){var o=i.getBaseAxis();if(o.type==="category"){var s=o.dim+"_"+o.index;e[s]||(e[s]={categoryAxis:o,valueAxis:i.getOtherAxis(o),series:[]},r.push({axisDim:o.dim,axisIndex:o.index})),e[s].series.push(n)}else t.push(n)}else t.push(n)}),{seriesGroupByCategoryAxis:e,other:t,meta:r}}function kA(a){var e=[];return D(a,function(t,r){var n=t.categoryAxis,i=t.valueAxis,o=i.dim,s=[" "].concat($(t.series,function(h){return h.name})),l=[n.model.getCategories()];D(t.series,function(h){var p=h.getRawData();l.push(h.getRawData().mapArray(p.mapDimension(o),function(d){return d}))});for(var u=[s.join(Wr)],v=0;v
=0)return!0}var jo=new RegExp("["+Wr+"]+","g");function GA(a){for(var e=a.split(/\n+/g),t=Rn(e.shift()).split(jo),r=[],n=$(t,function(l){return{name:l,data:[]}}),i=0;i =0;i--){var o=t[i];if(o[n])break}if(i<0){var s=a.queryComponents({mainType:"dataZoom",subType:"select",id:n})[0];if(s){var l=s.getPercentRange();t[0][n]={dataZoomId:n,start:l[0],end:l[1]}}}}),t.push(e)}function UA(a){var e=cl(a),t=e[e.length-1];e.length>1&&e.pop();var r={};return $p(t,function(n,i){for(var o=e.length-1;o>=0;o--)if(n=e[o][i],n){r[i]=n;break}}),r}function $A(a){Yp(a).snapshots=null}function YA(a){return cl(a).length}function cl(a){var e=Yp(a);return e.snapshots||(e.snapshots=[{}]),e.snapshots}var ZA=function(a){V(e,a);function e(){return a!==null&&a.apply(this,arguments)||this}return e.prototype.onclick=function(t,r){$A(t),r.dispatchAction({type:"restore",from:this.uid})},e.getDefaultOption=function(t){var r={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:t.getLocaleModel().get(["toolbox","restore","title"])};return r},e}(ge);bs({type:"restore",event:"restore",update:"prepareAndUpdate"},function(a,e){e.resetOption("recreate")});var XA=["grid","xAxis","yAxis","geo","graph","polar","radiusAxis","angleAxis","bmap"],fl=function(){function a(e,t,r){var n=this;this._targetInfoList=[];var i=oc(t,e);D(qA,function(o,s){(!r||!r.include||Pt(r.include,s)>=0)&&o(i,n._targetInfoList)})}return a.prototype.setOutputRanges=function(e,t){return this.matchOutputRanges(e,t,function(r,n,i){if((r.coordRanges||(r.coordRanges=[])).push(n),!r.coordRange){r.coordRange=n;var o=so[r.brushType](0,i,n);r.__rangeOffset={offset:vc[r.brushType](o.values,r.range,[1,1]),xyMinMax:o.xyMinMax}}}),e},a.prototype.matchOutputRanges=function(e,t,r){D(e,function(n){var i=this.findTargetInfo(n,t);i&&i!==!0&&D(i.coordSyses,function(o){var s=so[n.brushType](1,o,n.range,!0);r(n,s.values,o,t)})},this)},a.prototype.setInputRanges=function(e,t){D(e,function(r){var n=this.findTargetInfo(r,t);if(r.range=r.range||[],n&&n!==!0){r.panelId=n.panelId;var i=so[r.brushType](0,n.coordSys,r.coordRange),o=r.__rangeOffset;r.range=o?vc[r.brushType](i.values,o.offset,KA(i.xyMinMax,o.xyMinMax)):i.values}},this)},a.prototype.makePanelOpts=function(e,t){return $(this._targetInfoList,function(r){var n=r.getPanelRect();return{panelId:r.panelId,defaultBrushType:t?t(r):null,clipPath:up(n),isTargetByCursor:cp(n,e,r.coordSysModel),getLinearBrushOtherExtent:vp(n)}})},a.prototype.controlSeries=function(e,t,r){var n=this.findTargetInfo(e,r);return n===!0||n&&Pt(n.coordSyses,t.coordinateSystem)>=0},a.prototype.findTargetInfo=function(e,t){for(var r=this._targetInfoList,n=oc(t,e),i=0;i a[1]&&a.reverse(),a}function oc(a,e){return $f(a,e,{includeMainTypes:XA})}var qA={grid:function(a,e){var t=a.xAxisModels,r=a.yAxisModels,n=a.gridModels,i=ut(),o={},s={};!t&&!r&&!n||(D(t,function(l){var u=l.axis.grid.model;i.set(u.id,u),o[u.id]=!0}),D(r,function(l){var u=l.axis.grid.model;i.set(u.id,u),s[u.id]=!0}),D(n,function(l){i.set(l.id,l),o[l.id]=!0,s[l.id]=!0}),i.each(function(l){var u=l.coordinateSystem,v=[];D(u.getCartesians(),function(c,f){(Pt(t,c.getAxis("x").model)>=0||Pt(r,c.getAxis("y").model)>=0)&&v.push(c)}),e.push({panelId:"grid--"+l.id,gridModel:l,coordSysModel:l,coordSys:v[0],coordSyses:v,getPanelRect:lc.grid,xAxisDeclared:o[l.id],yAxisDeclared:s[l.id]})}))},geo:function(a,e){D(a.geoModels,function(t){var r=t.coordinateSystem;e.push({panelId:"geo--"+t.id,geoModel:t,coordSysModel:t,coordSys:r,coordSyses:[r],getPanelRect:lc.geo})})}},sc=[function(a,e){var t=a.xAxisModel,r=a.yAxisModel,n=a.gridModel;return!n&&t&&(n=t.axis.grid.model),!n&&r&&(n=r.axis.grid.model),n&&n===e.gridModel},function(a,e){var t=a.geoModel;return t&&t===e.geoModel}],lc={grid:function(){return this.coordSys.master.getRect().clone()},geo:function(){var a=this.coordSys,e=a.getBoundingRect().clone();return e.applyTransform(ua(a)),e}},so={lineX:st(uc,0),lineY:st(uc,1),rect:function(a,e,t,r){var n=a?e.pointToData([t[0][0],t[1][0]],r):e.dataToPoint([t[0][0],t[1][0]],r),i=a?e.pointToData([t[0][1],t[1][1]],r):e.dataToPoint([t[0][1],t[1][1]],r),o=[Jo([n[0],i[0]]),Jo([n[1],i[1]])];return{values:o,xyMinMax:o}},polygon:function(a,e,t,r){var n=[[1/0,-1/0],[1/0,-1/0]],i=$(t,function(o){var s=a?e.pointToData(o,r):e.dataToPoint(o,r);return n[0][0]=Math.min(n[0][0],s[0]),n[1][0]=Math.min(n[1][0],s[1]),n[0][1]=Math.max(n[0][1],s[0]),n[1][1]=Math.max(n[1][1],s[1]),s});return{values:i,xyMinMax:n}}};function uc(a,e,t,r){var n=t.getAxis(["x","y"][a]),i=Jo($([0,1],function(s){return e?n.coordToData(n.toLocalCoord(r[s]),!0):n.toGlobalCoord(n.dataToCoord(r[s]))})),o=[];return o[a]=i,o[1-a]=[NaN,NaN],{values:i,xyMinMax:o}}var vc={lineX:st(cc,0),lineY:st(cc,1),rect:function(a,e,t){return[[a[0][0]-t[0]*e[0][0],a[0][1]-t[0]*e[0][1]],[a[1][0]-t[1]*e[1][0],a[1][1]-t[1]*e[1][1]]]},polygon:function(a,e,t){return $(a,function(r,n){return[r[0]-t[0]*e[n][0],r[1]-t[1]*e[n][1]]})}};function cc(a,e,t,r){return[e[0]-r[a]*t[0],e[1]-r[a]*t[1]]}function KA(a,e){var t=fc(a),r=fc(e),n=[t[0]/r[0],t[1]/r[1]];return isNaN(n[0])&&(n[0]=1),isNaN(n[1])&&(n[1]=1),n}function fc(a){return a?[a[0][1]-a[0][0],a[1][1]-a[1][0]]:[NaN,NaN]}var Qo=D,jA=wy("toolbox-dataZoom_"),JA=function(a){V(e,a);function e(){return a!==null&&a.apply(this,arguments)||this}return e.prototype.render=function(t,r,n,i){this._brushController||(this._brushController=new $s(n.getZr()),this._brushController.on("brush",at(this._onBrush,this)).mount()),eT(t,r,this,i,n),tT(t,r)},e.prototype.onclick=function(t,r,n){QA[n].call(this)},e.prototype.remove=function(t,r){this._brushController&&this._brushController.unmount()},e.prototype.dispose=function(t,r){this._brushController&&this._brushController.dispose()},e.prototype._onBrush=function(t){var r=t.areas;if(!t.isEnd||!r.length)return;var n={},i=this.ecModel;this._brushController.updateCovers([]);var o=new fl(hl(this.model),i,{include:["grid"]});o.matchOutputRanges(r,i,function(u,v,c){if(c.type==="cartesian2d"){var f=u.brushType;f==="rect"?(s("x",c,v[0]),s("y",c,v[1])):s({lineX:"x",lineY:"y"}[f],c,v)}}),WA(i,n),this._dispatchZoomAction(n);function s(u,v,c){var f=v.getAxis(u),h=f.model,p=l(u,h,i),d=p.findRepresentativeAxisProxy(h).getMinMaxSpan();(d.minValueSpan!=null||d.maxValueSpan!=null)&&(c=ys(0,c.slice(),f.scale.getExtent(),0,d.minValueSpan,d.maxValueSpan)),p&&(n[p.id]={dataZoomId:p.id,startValue:c[0],endValue:c[1]})}function l(u,v,c){var f;return c.eachComponent({mainType:"dataZoom",subType:"select"},function(h){var p=h.getAxisModel(u,v.componentIndex);p&&(f=h)}),f}},e.prototype._dispatchZoomAction=function(t){var r=[];Qo(t,function(n,i){r.push(pt(n))}),r.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:r})},e.getDefaultOption=function(t){var r={show:!0,filterMode:"filter",icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:t.getLocaleModel().get(["toolbox","dataZoom","title"]),brushStyle:{borderWidth:0,color:"rgba(210,219,238,0.2)"}};return r},e}(ge),QA={zoom:function(){var a=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:a})},back:function(){this._dispatchZoomAction(UA(this.ecModel))}};function hl(a){var e={xAxisIndex:a.get("xAxisIndex",!0),yAxisIndex:a.get("yAxisIndex",!0),xAxisId:a.get("xAxisId",!0),yAxisId:a.get("yAxisId",!0)};return e.xAxisIndex==null&&e.xAxisId==null&&(e.xAxisIndex="all"),e.yAxisIndex==null&&e.yAxisId==null&&(e.yAxisIndex="all"),e}function tT(a,e){a.setIconStatus("back",YA(e)>1?"emphasis":"normal")}function eT(a,e,t,r,n){var i=t._isZoomActive;r&&r.type==="takeGlobalCursor"&&(i=r.key==="dataZoomSelect"?r.dataZoomSelectActive:!1),t._isZoomActive=i,a.setIconStatus("zoom",i?"emphasis":"normal");var o=new fl(hl(a),e,{include:["grid"]}),s=o.makePanelOpts(n,function(l){return l.xAxisDeclared&&!l.yAxisDeclared?"lineX":!l.xAxisDeclared&&l.yAxisDeclared?"lineY":"rect"});t._brushController.setPanels(s).enableBrush(i&&s.length?{brushType:"auto",brushStyle:a.getModel("brushStyle").getItemStyle()}:!1)}_y("dataZoom",function(a){var e=a.getComponent("toolbox",0),t=["feature","dataZoom"];if(!e||e.get(t)==null)return;var r=e.getModel(t),n=[],i=hl(r),o=$f(a,i);Qo(o.xAxisModels,function(l){return s(l,"xAxis","xAxisIndex")}),Qo(o.yAxisModels,function(l){return s(l,"yAxis","yAxisIndex")});function s(l,u,v){var c=l.componentIndex,f={type:"select",$fromToolbox:!0,filterMode:r.get("filterMode",!0)||"filter",id:jA+u+c};f[v]=c,n.push(f)}return n});function rT(a){a.registerComponentModel(DA),a.registerComponentView(LA),Rr("saveAsImage",MA),Rr("magicType",EA),Rr("dataView",FA),Rr("dataZoom",JA),Rr("restore",ZA),it(CA)}var aT=["rect","polygon","keep","clear"];function nT(a,e){var t=Jt(a?a.brush:[]);if(t.length){var r=[];D(t,function(l){var u=l.hasOwnProperty("toolbox")?l.toolbox:[];u instanceof Array&&(r=r.concat(u))});var n=a&&a.toolbox;q(n)&&(n=n[0]),n||(n={feature:{}},a.toolbox=[n]);var i=n.feature||(n.feature={}),o=i.brush||(i.brush={}),s=o.type||(o.type=[]);s.push.apply(s,r),iT(s),e&&!s.length&&s.push.apply(s,aT)}}function iT(a){var e={};D(a,function(t){e[t]=1}),a.length=0,D(e,function(t,r){a.push(r)})}var hc=D;function pc(a){if(a){for(var e in a)if(a.hasOwnProperty(e))return!0}}function ts(a,e,t){var r={};return hc(e,function(i){var o=r[i]=n();hc(a[i],function(s,l){if(Ot.isValidType(l)){var u={type:l,visual:s};t&&t(u,i),o[l]=new Ot(u),l==="opacity"&&(u=pt(u),u.type="colorAlpha",o.__hidden.__alphaForOpacity=new Ot(u))}})}),r;function n(){var i=function(){};i.prototype.__hidden=i.prototype;var o=new i;return o}}function Zp(a,e,t){var r;D(t,function(n){e.hasOwnProperty(n)&&pc(e[n])&&(r=!0)}),r&&D(t,function(n){e.hasOwnProperty(n)&&pc(e[n])?a[n]=pt(e[n]):delete a[n]})}function oT(a,e,t,r,n,i){var o={};D(a,function(c){var f=Ot.prepareVisualTypes(e[c]);o[c]=f});var s;function l(c){return Yf(t,s,c)}function u(c,f){Zf(t,s,c,f)}t.each(v);function v(c,f){s=c;var h=t.getRawDataItem(s);if(!(h&&h.visualMap===!1))for(var p=r.call(n,c),d=e[p],g=o[p],y=0,S=g.length;y e[0][1]&&(e[0][1]=i[0]),i[1]e[1][1]&&(e[1][1]=i[1])}return e&&Sc(e)}};function Sc(a){return new Tt(a[0][0],a[1][0],a[0][1]-a[0][0],a[1][1]-a[1][0])}var pT=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,r){this.ecModel=t,this.api=r,this.model,(this._brushController=new $s(r.getZr())).on("brush",at(this._onBrush,this)).mount()},e.prototype.render=function(t,r,n,i){this.model=t,this._updateController(t,r,n,i)},e.prototype.updateTransform=function(t,r,n,i){Xp(r),this._updateController(t,r,n,i)},e.prototype.updateVisual=function(t,r,n,i){this.updateTransform(t,r,n,i)},e.prototype.updateView=function(t,r,n,i){this._updateController(t,r,n,i)},e.prototype._updateController=function(t,r,n,i){(!i||i.$from!==t.id)&&this._brushController.setPanels(t.brushTargetManager.makePanelOpts(n)).enableBrush(t.brushOption).updateCovers(t.areas.slice())},e.prototype.dispose=function(){this._brushController.dispose()},e.prototype._onBrush=function(t){var r=this.model.id,n=this.model.brushTargetManager.setOutputRanges(t.areas,this.ecModel);(!t.isEnd||t.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:r,areas:pt(n),$from:r}),t.isEnd&&this.api.dispatchAction({type:"brushEnd",brushId:r,areas:pt(n),$from:r})},e.type="brush",e}(te),dT="#ddd",gT=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t.areas=[],t.brushOption={},t}return e.prototype.optionUpdated=function(t,r){var n=this.option;!r&&Zp(n,t,["inBrush","outOfBrush"]);var i=n.inBrush=n.inBrush||{};n.outOfBrush=n.outOfBrush||{color:dT},i.hasOwnProperty("liftZ")||(i.liftZ=5)},e.prototype.setAreas=function(t){t&&(this.areas=$(t,function(r){return xc(this.option,r)},this))},e.prototype.setBrushOption=function(t){this.brushOption=xc(this.option,t),this.brushType=this.brushOption.brushType},e.type="brush",e.dependencies=["geo","grid","xAxis","yAxis","parallel","series"],e.defaultOption={seriesIndex:"all",brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(210,219,238,0.3)",borderColor:"#D2DBEE"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},e}(Xt);function xc(a,e){return Ct({brushType:a.brushType,brushMode:a.brushMode,transformable:a.transformable,brushStyle:new ce(a.brushStyle).getItemStyle(),removeOnClick:a.removeOnClick,z:a.z},e,!0)}var yT=["rect","polygon","lineX","lineY","keep","clear"],mT=function(a){V(e,a);function e(){return a!==null&&a.apply(this,arguments)||this}return e.prototype.render=function(t,r,n){var i,o,s;r.eachComponent({mainType:"brush"},function(l){i=l.brushType,o=l.brushOption.brushMode||"single",s=s||!!l.areas.length}),this._brushType=i,this._brushMode=o,D(t.get("type",!0),function(l){t.setIconStatus(l,(l==="keep"?o==="multiple":l==="clear"?s:l===i)?"emphasis":"normal")})},e.prototype.updateView=function(t,r,n){this.render(t,r,n)},e.prototype.getIcons=function(){var t=this.model,r=t.get("icon",!0),n={};return D(t.get("type",!0),function(i){r[i]&&(n[i]=r[i])}),n},e.prototype.onclick=function(t,r,n){var i=this._brushType,o=this._brushMode;n==="clear"?(r.dispatchAction({type:"axisAreaSelect",intervals:[]}),r.dispatchAction({type:"brush",command:"clear",areas:[]})):r.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:n==="keep"?i:i===n?!1:n,brushMode:n==="keep"?o==="multiple"?"single":"multiple":o}})},e.getDefaultOption=function(t){var r={show:!0,type:yT.slice(),icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:t.getLocaleModel().get(["toolbox","brush","title"])};return r},e}(ge);function ST(a){a.registerComponentView(pT),a.registerComponentModel(gT),a.registerPreprocessor(nT),a.registerVisual(a.PRIORITY.VISUAL.BRUSH,uT),a.registerAction({type:"brush",event:"brush",update:"updateVisual"},function(e,t){t.eachComponent({mainType:"brush",query:e},function(r){r.setAreas(e.areas)})}),a.registerAction({type:"brushSelect",event:"brushSelected",update:"none"},yr),a.registerAction({type:"brushEnd",event:"brushEnd",update:"none"},yr),Rr("brush",mT)}var xT=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t.layoutMode={type:"box",ignoreSize:!0},t}return e.type="title",e.defaultOption={z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bold",color:"#464646"},subtextStyle:{fontSize:12,color:"#6E7079"}},e}(Xt),bT=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.render=function(t,r,n){if(this.group.removeAll(),!!t.get("show")){var i=this.group,o=t.getModel("textStyle"),s=t.getModel("subtextStyle"),l=t.get("textAlign"),u=Rt(t.get("textBaseline"),t.get("textVerticalAlign")),v=new St({style:At(o,{text:t.get("text"),fill:o.getTextColor()},{disableBox:!0}),z2:10}),c=v.getBoundingRect(),f=t.get("subtext"),h=new St({style:At(s,{text:f,fill:s.getTextColor(),y:c.height+t.get("itemGap"),verticalAlign:"top"},{disableBox:!0}),z2:10}),p=t.get("link"),d=t.get("sublink"),g=t.get("triggerEvent",!0);v.silent=!p&&!g,h.silent=!d&&!g,p&&v.on("click",function(){pn(p,"_"+t.get("target"))}),d&&h.on("click",function(){pn(d,"_"+t.get("subtarget"))}),ht(v).eventData=ht(h).eventData=g?{componentType:"title",componentIndex:t.componentIndex}:null,i.add(v),f&&i.add(h);var y=i.getBoundingRect(),S=t.getBoxLayoutParams();S.width=y.width,S.height=y.height;var m=fe(S,{width:n.getWidth(),height:n.getHeight()},t.get("padding"));l||(l=t.get("left")||t.get("right"),l==="middle"&&(l="center"),l==="right"?m.x+=m.width:l==="center"&&(m.x+=m.width/2)),u||(u=t.get("top")||t.get("bottom"),u==="center"&&(u="middle"),u==="bottom"?m.y+=m.height:u==="middle"&&(m.y+=m.height/2),u=u||"top"),i.x=m.x,i.y=m.y,i.markRedraw();var x={align:l,verticalAlign:u};v.setStyle(x),h.setStyle(x),y=i.getBoundingRect();var b=m.margin,_=t.getItemStyle(["color","opacity"]);_.fill=t.get("backgroundColor");var w=new Bt({shape:{x:y.x-b[3],y:y.y-b[0],width:y.width+b[1]+b[3],height:y.height+b[0]+b[2],r:t.get("borderRadius")},style:_,subPixelOptimize:!0,silent:!0});i.add(w)}},e.type="title",e}(te);function _T(a){a.registerComponentModel(xT),a.registerComponentView(bT)}var bc=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t.layoutMode="box",t}return e.prototype.init=function(t,r,n){this.mergeDefaultAndTheme(t,n),this._initData()},e.prototype.mergeOption=function(t){a.prototype.mergeOption.apply(this,arguments),this._initData()},e.prototype.setCurrentIndex=function(t){t==null&&(t=this.option.currentIndex);var r=this._data.count();this.option.loop?t=(t%r+r)%r:(t>=r&&(t=r-1),t<0&&(t=0)),this.option.currentIndex=t},e.prototype.getCurrentIndex=function(){return this.option.currentIndex},e.prototype.isIndexMax=function(){return this.getCurrentIndex()>=this._data.count()-1},e.prototype.setPlayState=function(t){this.option.autoPlay=!!t},e.prototype.getPlayState=function(){return!!this.option.autoPlay},e.prototype._initData=function(){var t=this.option,r=t.data||[],n=t.axisType,i=this._names=[],o;n==="category"?(o=[],D(r,function(u,v){var c=ze(Ay(u),""),f;Zt(u)?(f=pt(u),f.value=v):f=v,o.push(f),i.push(c)})):o=r;var s={category:"ordinal",time:"time",value:"number"}[n]||"number",l=this._data=new re([{name:"value",type:s}],this);l.initData(o,i)},e.prototype.getData=function(){return this._data},e.prototype.getCategories=function(){if(this.get("axisType")==="category")return this._names.slice()},e.type="timeline",e.defaultOption={z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},e}(Xt),qp=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.type="timeline.slider",e.defaultOption=Jn(bc.defaultOption,{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"circle",symbolSize:12,lineStyle:{show:!0,width:2,color:"#DAE1F5"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#A4B1D7"},itemStyle:{color:"#A4B1D7",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:15,color:"#316bf3",borderColor:"#fff",borderWidth:2,shadowBlur:2,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0, 0, 0, 0.3)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:24,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"M2,18.5A1.52,1.52,0,0,1,.92,18a1.49,1.49,0,0,1,0-2.12L7.81,9.36,1,3.11A1.5,1.5,0,1,1,3,.89l8,7.34a1.48,1.48,0,0,1,.49,1.09,1.51,1.51,0,0,1-.46,1.1L3,18.08A1.5,1.5,0,0,1,2,18.5Z",prevIcon:"M10,.5A1.52,1.52,0,0,1,11.08,1a1.49,1.49,0,0,1,0,2.12L4.19,9.64,11,15.89a1.5,1.5,0,1,1-2,2.22L1,10.77A1.48,1.48,0,0,1,.5,9.68,1.51,1.51,0,0,1,1,8.58L9,.92A1.5,1.5,0,0,1,10,.5Z",prevBtnSize:18,nextBtnSize:18,color:"#A4B1D7",borderColor:"#A4B1D7",borderWidth:1},emphasis:{label:{show:!0,color:"#6f778d"},itemStyle:{color:"#316BF3"},controlStyle:{color:"#316BF3",borderColor:"#316BF3",borderWidth:2}},progress:{lineStyle:{color:"#316BF3"},itemStyle:{color:"#316BF3"},label:{color:"#6f778d"}},data:[]}),e}(bc);Ce(qp,_s.prototype);var wT=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.type="timeline",e}(te),AT=function(a){V(e,a);function e(t,r,n,i){var o=a.call(this,t,r,n)||this;return o.type=i||"value",o}return e.prototype.getLabelModel=function(){return this.model.getModel("label")},e.prototype.isHorizontal=function(){return this.model.get("orient")==="horizontal"},e}(ke),uo=Math.PI,_c=Dt(),TT=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(t,r){this.api=r},e.prototype.render=function(t,r,n){if(this.model=t,this.api=n,this.ecModel=r,this.group.removeAll(),t.get("show",!0)){var i=this._layout(t,n),o=this._createGroup("_mainGroup"),s=this._createGroup("_labelGroup"),l=this._axis=this._createAxis(i,t);t.formatTooltip=function(u){var v=l.scale.getLabel({value:u});return ne("nameValue",{noName:!0,value:v})},D(["AxisLine","AxisTick","Control","CurrentPointer"],function(u){this["_render"+u](i,o,l,t)},this),this._renderAxisLabel(i,s,l,t),this._position(i,t)}this._doPlayStop(),this._updateTicksStatus()},e.prototype.remove=function(){this._clearTimer(),this.group.removeAll()},e.prototype.dispose=function(){this._clearTimer()},e.prototype._layout=function(t,r){var n=t.get(["label","position"]),i=t.get("orient"),o=DT(t,r),s;n==null||n==="auto"?s=i==="horizontal"?o.y+o.height/2 =0||s==="+"?"left":"right"},u={horizontal:s>=0||s==="+"?"top":"bottom",vertical:"middle"},v={horizontal:0,vertical:uo/2},c=i==="vertical"?o.height:o.width,f=t.getModel("controlStyle"),h=f.get("show",!0),p=h?f.get("itemSize"):0,d=h?f.get("itemGap"):0,g=p+d,y=t.get(["label","rotate"])||0;y=y*uo/180;var S,m,x,b=f.get("position",!0),_=h&&f.get("showPlayBtn",!0),w=h&&f.get("showPrevBtn",!0),A=h&&f.get("showNextBtn",!0),T=0,C=c;b==="left"||b==="bottom"?(_&&(S=[0,0],T+=g),w&&(m=[T,0],T+=g),A&&(x=[C-p,0],C-=g)):(_&&(S=[C-p,0],C-=g),w&&(m=[0,0],T+=g),A&&(x=[C-p,0],C-=g));var L=[T,C];return t.get("inverse")&&L.reverse(),{viewRect:o,mainLength:c,orient:i,rotation:v[i],labelRotation:y,labelPosOpt:s,labelAlign:t.get(["label","align"])||l[i],labelBaseline:t.get(["label","verticalAlign"])||t.get(["label","baseline"])||u[i],playPosition:S,prevBtnPosition:m,nextBtnPosition:x,axisExtent:L,controlSize:p,controlGap:d}},e.prototype._position=function(t,r){var n=this._mainGroup,i=this._labelGroup,o=t.viewRect;if(t.orient==="vertical"){var s=Zr(),l=o.x,u=o.y+o.height;Sr(s,s,[-l,-u]),Yn(s,s,-uo/2),Sr(s,s,[l,u]),o=o.clone(),o.applyTransform(s)}var v=S(o),c=S(n.getBoundingRect()),f=S(i.getBoundingRect()),h=[n.x,n.y],p=[i.x,i.y];p[0]=h[0]=v[0][0];var d=t.labelPosOpt;if(d==null||lt(d)){var g=d==="+"?0:1;m(h,c,v,1,g),m(p,f,v,1,1-g)}else{var g=d>=0?0:1;m(h,c,v,1,g),p[1]=h[1]+d}n.setPosition(h),i.setPosition(p),n.rotation=i.rotation=t.rotation,y(n),y(i);function y(x){x.originX=v[0][0]-x.x,x.originY=v[1][0]-x.y}function S(x){return[[x.x,x.x+x.width],[x.y,x.y+x.height]]}function m(x,b,_,w,A){x[w]+=_[w][A]-b[w][A]}},e.prototype._createAxis=function(t,r){var n=r.getData(),i=r.get("axisType"),o=CT(r,i);o.getTicks=function(){return n.mapArray(["value"],function(u){return{value:u}})};var s=n.getDataExtent("value");o.setExtent(s[0],s[1]),o.calcNiceTicks();var l=new AT("value",o,t.axisExtent,i);return l.model=r,l},e.prototype._createGroup=function(t){var r=this[t]=new nt;return this.group.add(r),r},e.prototype._renderAxisLine=function(t,r,n,i){var o=n.getExtent();if(i.get(["lineStyle","show"])){var s=new _e({shape:{x1:o[0],y1:0,x2:o[1],y2:0},style:K({lineCap:"round"},i.getModel("lineStyle").getLineStyle()),silent:!0,z2:1});r.add(s);var l=this._progressLine=new _e({shape:{x1:o[0],x2:this._currentPointer?this._currentPointer.x:o[0],y1:0,y2:0},style:ot({lineCap:"round",lineWidth:s.style.lineWidth},i.getModel(["progress","lineStyle"]).getLineStyle()),silent:!0,z2:1});r.add(l)}},e.prototype._renderAxisTick=function(t,r,n,i){var o=this,s=i.getData(),l=n.scale.getTicks();this._tickSymbols=[],D(l,function(u){var v=n.dataToCoord(u.value),c=s.getItemModel(u.value),f=c.getModel("itemStyle"),h=c.getModel(["emphasis","itemStyle"]),p=c.getModel(["progress","itemStyle"]),d={x:v,y:0,onclick:at(o._changeTimeline,o,u.value)},g=wc(c,f,r,d);g.ensureState("emphasis").style=h.getItemStyle(),g.ensureState("progress").style=p.getItemStyle(),gi(g);var y=ht(g);c.get("tooltip")?(y.dataIndex=u.value,y.dataModel=i):y.dataIndex=y.dataModel=null,o._tickSymbols.push(g)})},e.prototype._renderAxisLabel=function(t,r,n,i){var o=this,s=n.getLabelModel();if(s.get("show")){var l=i.getData(),u=n.getViewLabels();this._tickLabels=[],D(u,function(v){var c=v.tickValue,f=l.getItemModel(c),h=f.getModel("label"),p=f.getModel(["emphasis","label"]),d=f.getModel(["progress","label"]),g=n.dataToCoord(v.tickValue),y=new St({x:g,y:0,rotation:t.labelRotation-t.rotation,onclick:at(o._changeTimeline,o,c),silent:!1,style:At(h,{text:v.formattedLabel,align:t.labelAlign,verticalAlign:t.labelBaseline})});y.ensureState("emphasis").style=At(p),y.ensureState("progress").style=At(d),r.add(y),gi(y),_c(y).dataIndex=c,o._tickLabels.push(y)})}},e.prototype._renderControl=function(t,r,n,i){var o=t.controlSize,s=t.rotation,l=i.getModel("controlStyle").getItemStyle(),u=i.getModel(["emphasis","controlStyle"]).getItemStyle(),v=i.getPlayState(),c=i.get("inverse",!0);f(t.nextBtnPosition,"next",at(this._changeTimeline,this,c?"-":"+")),f(t.prevBtnPosition,"prev",at(this._changeTimeline,this,c?"+":"-")),f(t.playPosition,v?"stop":"play",at(this._handlePlayClick,this,!v),!0);function f(h,p,d,g){if(h){var y=Co(Rt(i.get(["controlStyle",p+"BtnSize"]),o),o),S=[0,-y/2,y,y],m=LT(i,p+"Icon",S,{x:h[0],y:h[1],originX:o/2,originY:0,rotation:g?-s:0,rectHover:!0,style:l,onclick:d});m.ensureState("emphasis").style=u,r.add(m),gi(m)}}},e.prototype._renderCurrentPointer=function(t,r,n,i){var o=i.getData(),s=i.getCurrentIndex(),l=o.getItemModel(s).getModel("checkpointStyle"),u=this,v={onCreate:function(c){c.draggable=!0,c.drift=at(u._handlePointerDrag,u),c.ondragend=at(u._handlePointerDragend,u),Ac(c,u._progressLine,s,n,i,!0)},onUpdate:function(c){Ac(c,u._progressLine,s,n,i)}};this._currentPointer=wc(l,l,this._mainGroup,{},this._currentPointer,v)},e.prototype._handlePlayClick=function(t){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:t,from:this.uid})},e.prototype._handlePointerDrag=function(t,r,n){this._clearTimer(),this._pointerChangeTimeline([n.offsetX,n.offsetY])},e.prototype._handlePointerDragend=function(t){this._pointerChangeTimeline([t.offsetX,t.offsetY],!0)},e.prototype._pointerChangeTimeline=function(t,r){var n=this._toAxisCoord(t)[0],i=this._axis,o=br(i.getExtent().slice());n>o[1]&&(n=o[1]),n =0&&(o[i]=+o[i].toFixed(f)),[o,c]}var vo={min:st(an,"min"),max:st(an,"max"),average:st(an,"average"),median:st(an,"median")};function Ca(a,e){if(e){var t=a.getData(),r=a.coordinateSystem,n=r&&r.dimensions;if(!kT(e)&&!q(e.coord)&&q(n)){var i=Kp(e,t,r,a);if(e=pt(e),e.type&&vo[e.type]&&i.baseAxis&&i.valueAxis){var o=Pt(n,i.baseAxis.dim),s=Pt(n,i.valueAxis.dim),l=vo[e.type](t,i.baseDataDim,i.valueDataDim,o,s);e.coord=l[0],e.value=l[1]}else e.coord=[e.xAxis!=null?e.xAxis:e.radiusAxis,e.yAxis!=null?e.yAxis:e.angleAxis]}if(e.coord==null||!q(n))e.coord=[];else for(var u=e.coord,v=0;v<2;v++)vo[u[v]]&&(u[v]=dl(t,t.mapDimension(n[v]),u[v]));return e}}function Kp(a,e,t,r){var n={};return a.valueIndex!=null||a.valueDim!=null?(n.valueDataDim=a.valueIndex!=null?e.getDimension(a.valueIndex):a.valueDim,n.valueAxis=t.getAxis(VT(r,n.valueDataDim)),n.baseAxis=t.getOtherAxis(n.valueAxis),n.baseDataDim=e.mapDimension(n.baseAxis.dim)):(n.baseAxis=r.getBaseAxis(),n.valueAxis=t.getOtherAxis(n.baseAxis),n.baseDataDim=e.mapDimension(n.baseAxis.dim),n.valueDataDim=e.mapDimension(n.valueAxis.dim)),n}function VT(a,e){var t=a.getData().getDimensionInfo(e);return t&&t.coordDim}function Da(a,e){return a&&a.containData&&e.coord&&!rs(e)?a.containData(e.coord):!0}function NT(a,e,t){return a&&a.containZone&&e.coord&&t.coord&&!rs(e)&&!rs(t)?a.containZone(e.coord,t.coord):!0}function jp(a,e){return a?function(t,r,n,i){var o=i<2?t.coord&&t.coord[i]:t.value;return mn(o,e[i])}:function(t,r,n,i){return mn(t.value,e[i])}}function dl(a,e,t){if(t==="average"){var r=0,n=0;return a.each(e,function(i,o){isNaN(i)||(r+=i,n++)}),r/n}else return t==="median"?a.getMedian(e):a.getDataExtent(e)[t==="max"?1:0]}var co=Dt(),gl=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.init=function(){this.markerGroupMap=ut()},e.prototype.render=function(t,r,n){var i=this,o=this.markerGroupMap;o.each(function(s){co(s).keep=!1}),r.eachSeries(function(s){var l=We.getMarkerModelFromSeries(s,i.type);l&&i.renderSeries(s,l,r,n)}),o.each(function(s){!co(s).keep&&i.group.remove(s.group)})},e.prototype.markKeep=function(t){co(t).keep=!0},e.prototype.toggleBlurSeries=function(t,r){var n=this;D(t,function(i){var o=We.getMarkerModelFromSeries(i,n.type);if(o){var s=o.getData();s.eachItemGraphicEl(function(l){l&&(r?Ly(l):Iy(l))})}})},e.type="marker",e}(te);function Cc(a,e,t){var r=e.coordinateSystem;a.each(function(n){var i=a.getItemModel(n),o,s=U(i.get("x"),t.getWidth()),l=U(i.get("y"),t.getHeight());if(!isNaN(s)&&!isNaN(l))o=[s,l];else if(e.getMarkerPosition)o=e.getMarkerPosition(a.getValues(a.dimensions,n));else if(r){var u=a.get(r.dimensions[0],n),v=a.get(r.dimensions[1],n);o=r.dataToPoint([u,v])}isNaN(s)||(o[0]=s),isNaN(l)||(o[1]=l),a.setItemLayout(n,o)})}var zT=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.updateTransform=function(t,r,n){r.eachSeries(function(i){var o=We.getMarkerModelFromSeries(i,"markPoint");o&&(Cc(o.getData(),i,n),this.markerGroupMap.get(i.id).updateLayout())},this)},e.prototype.renderSeries=function(t,r,n,i){var o=t.coordinateSystem,s=t.id,l=t.getData(),u=this.markerGroupMap,v=u.get(s)||u.set(s,new Un),c=GT(o,t,r);r.setData(c),Cc(r.getData(),t,i),c.each(function(f){var h=c.getItemModel(f),p=h.getShallow("symbol"),d=h.getShallow("symbolSize"),g=h.getShallow("symbolRotate"),y=h.getShallow("symbolOffset"),S=h.getShallow("symbolKeepAspect");if(gt(p)||gt(d)||gt(g)||gt(y)){var m=r.getRawValue(f),x=r.getDataParams(f);gt(p)&&(p=p(m,x)),gt(d)&&(d=d(m,x)),gt(g)&&(g=g(m,x)),gt(y)&&(y=y(m,x))}var b=h.getModel("itemStyle").getItemStyle(),_=Qn(l,"color");b.fill||(b.fill=_),c.setItemVisual(f,{symbol:p,symbolSize:d,symbolRotate:g,symbolOffset:y,symbolKeepAspect:S,style:b})}),v.updateData(c),this.group.add(v.group),c.eachItemGraphicEl(function(f){f.traverse(function(h){ht(h).dataModel=r})}),this.markKeep(v),v.group.silent=r.get("silent")||t.get("silent")},e.type="markPoint",e}(gl);function GT(a,e,t){var r;a?r=$(a&&a.dimensions,function(s){var l=e.getData().getDimensionInfo(e.getData().mapDimension(s))||{};return K(K({},l),{name:s,ordinalMeta:null})}):r=[{name:"value",type:"float"}];var n=new re(r,t),i=$(t.get("data"),st(Ca,e));a&&(i=Gt(i,st(Da,a)));var o=jp(!!a,r);return n.initData(i,null,o),n}function OT(a){a.registerComponentModel(RT),a.registerComponentView(zT),a.registerPreprocessor(function(e){pl(e.series,"markPoint")&&(e.markPoint=e.markPoint||{})})}var BT=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.createMarkerModelFromSeries=function(t,r,n){return new e(t,r,n)},e.type="markLine",e.defaultOption={z:5,symbol:["circle","arrow"],symbolSize:[8,16],symbolOffset:0,precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end",distance:5},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"},e}(We),nn=Dt(),FT=function(a,e,t,r){var n=a.getData(),i;if(q(r))i=r;else{var o=r.type;if(o==="min"||o==="max"||o==="average"||o==="median"||r.xAxis!=null||r.yAxis!=null){var s=void 0,l=void 0;if(r.yAxis!=null||r.xAxis!=null)s=e.getAxis(r.yAxis!=null?"y":"x"),l=se(r.yAxis,r.xAxis);else{var u=Kp(r,n,e,a);s=u.valueAxis;var v=My(n,u.valueDataDim);l=dl(n,v,o)}var c=s.dim==="x"?0:1,f=1-c,h=pt(r),p={coord:[]};h.type=null,h.coord=[],h.coord[f]=-1/0,p.coord[f]=1/0;var d=t.get("precision");d>=0&&le(l)&&(l=+l.toFixed(Math.min(d,20))),h.coord[c]=p.coord[c]=l,i=[h,p,{type:o,valueIndex:r.valueIndex,value:l}]}else i=[]}var g=[Ca(a,i[0]),Ca(a,i[1]),K({},i[2])];return g[2].type=g[2].type||null,Ct(g[2],g[0]),Ct(g[2],g[1]),g};function kn(a){return!isNaN(a)&&!isFinite(a)}function Dc(a,e,t,r){var n=1-a,i=r.dimensions[a];return kn(e[n])&&kn(t[n])&&e[a]===t[a]&&r.getAxis(i).containData(e[a])}function HT(a,e){if(a.type==="cartesian2d"){var t=e[0].coord,r=e[1].coord;if(t&&r&&(Dc(1,t,r,a)||Dc(0,t,r,a)))return!0}return Da(a,e[0])&&Da(a,e[1])}function fo(a,e,t,r,n){var i=r.coordinateSystem,o=a.getItemModel(e),s,l=U(o.get("x"),n.getWidth()),u=U(o.get("y"),n.getHeight());if(!isNaN(l)&&!isNaN(u))s=[l,u];else{if(r.getMarkerPosition)s=r.getMarkerPosition(a.getValues(a.dimensions,e));else{var v=i.dimensions,c=a.get(v[0],e),f=a.get(v[1],e);s=i.dataToPoint([c,f])}if(jn(i,"cartesian2d")){var h=i.getAxis("x"),p=i.getAxis("y"),v=i.dimensions;kn(a.get(v[0],e))?s[0]=h.toGlobalCoord(h.getExtent()[t?0:1]):kn(a.get(v[1],e))&&(s[1]=p.toGlobalCoord(p.getExtent()[t?0:1]))}isNaN(l)||(s[0]=l),isNaN(u)||(s[1]=u)}a.setItemLayout(e,s)}var WT=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.updateTransform=function(t,r,n){r.eachSeries(function(i){var o=We.getMarkerModelFromSeries(i,"markLine");if(o){var s=o.getData(),l=nn(o).from,u=nn(o).to;l.each(function(v){fo(l,v,!0,i,n),fo(u,v,!1,i,n)}),s.each(function(v){s.setItemLayout(v,[l.getItemLayout(v),u.getItemLayout(v)])}),this.markerGroupMap.get(i.id).updateLayout()}},this)},e.prototype.renderSeries=function(t,r,n,i){var o=t.coordinateSystem,s=t.id,l=t.getData(),u=this.markerGroupMap,v=u.get(s)||u.set(s,new Us);this.group.add(v.group);var c=UT(o,t,r),f=c.from,h=c.to,p=c.line;nn(r).from=f,nn(r).to=h,r.setData(p);var d=r.get("symbol"),g=r.get("symbolSize"),y=r.get("symbolRotate"),S=r.get("symbolOffset");q(d)||(d=[d,d]),q(g)||(g=[g,g]),q(y)||(y=[y,y]),q(S)||(S=[S,S]),c.from.each(function(x){m(f,x,!0),m(h,x,!1)}),p.each(function(x){var b=p.getItemModel(x).getModel("lineStyle").getLineStyle();p.setItemLayout(x,[f.getItemLayout(x),h.getItemLayout(x)]),b.stroke==null&&(b.stroke=f.getItemVisual(x,"style").fill),p.setItemVisual(x,{fromSymbolKeepAspect:f.getItemVisual(x,"symbolKeepAspect"),fromSymbolOffset:f.getItemVisual(x,"symbolOffset"),fromSymbolRotate:f.getItemVisual(x,"symbolRotate"),fromSymbolSize:f.getItemVisual(x,"symbolSize"),fromSymbol:f.getItemVisual(x,"symbol"),toSymbolKeepAspect:h.getItemVisual(x,"symbolKeepAspect"),toSymbolOffset:h.getItemVisual(x,"symbolOffset"),toSymbolRotate:h.getItemVisual(x,"symbolRotate"),toSymbolSize:h.getItemVisual(x,"symbolSize"),toSymbol:h.getItemVisual(x,"symbol"),style:b})}),v.updateData(p),c.line.eachItemGraphicEl(function(x){ht(x).dataModel=r,x.traverse(function(b){ht(b).dataModel=r})});function m(x,b,_){var w=x.getItemModel(b);fo(x,b,_,t,i);var A=w.getModel("itemStyle").getItemStyle();A.fill==null&&(A.fill=Qn(l,"color")),x.setItemVisual(b,{symbolKeepAspect:w.get("symbolKeepAspect"),symbolOffset:Rt(w.get("symbolOffset",!0),S[_?0:1]),symbolRotate:Rt(w.get("symbolRotate",!0),y[_?0:1]),symbolSize:Rt(w.get("symbolSize"),g[_?0:1]),symbol:Rt(w.get("symbol",!0),d[_?0:1]),style:A})}this.markKeep(v),v.group.silent=r.get("silent")||t.get("silent")},e.type="markLine",e}(gl);function UT(a,e,t){var r;a?r=$(a&&a.dimensions,function(u){var v=e.getData().getDimensionInfo(e.getData().mapDimension(u))||{};return K(K({},v),{name:u,ordinalMeta:null})}):r=[{name:"value",type:"float"}];var n=new re(r,t),i=new re(r,t),o=new re([],t),s=$(t.get("data"),st(FT,e,a,t));a&&(s=Gt(s,st(HT,a)));var l=jp(!!a,r);return n.initData($(s,function(u){return u[0]}),null,l),i.initData($(s,function(u){return u[1]}),null,l),o.initData($(s,function(u){return u[2]})),o.hasItemOption=!0,{from:n,to:i,line:o}}function $T(a){a.registerComponentModel(BT),a.registerComponentView(WT),a.registerPreprocessor(function(e){pl(e.series,"markLine")&&(e.markLine=e.markLine||{})})}var YT=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.createMarkerModelFromSeries=function(t,r,n){return new e(t,r,n)},e.type="markArea",e.defaultOption={z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}},e}(We),on=Dt(),ZT=function(a,e,t,r){var n=r[0],i=r[1];if(!(!n||!i)){var o=Ca(a,n),s=Ca(a,i),l=o.coord,u=s.coord;l[0]=se(l[0],-1/0),l[1]=se(l[1],-1/0),u[0]=se(u[0],1/0),u[1]=se(u[1],1/0);var v=hs([{},o,s]);return v.coord=[o.coord,s.coord],v.x0=o.x,v.y0=o.y,v.x1=s.x,v.y1=s.y,v}};function Vn(a){return!isNaN(a)&&!isFinite(a)}function Lc(a,e,t,r){var n=1-a;return Vn(e[n])&&Vn(t[n])}function XT(a,e){var t=e.coord[0],r=e.coord[1],n={coord:t,x:e.x0,y:e.y0},i={coord:r,x:e.x1,y:e.y1};return jn(a,"cartesian2d")?t&&r&&(Lc(1,t,r)||Lc(0,t,r))?!0:NT(a,n,i):Da(a,n)||Da(a,i)}function Ic(a,e,t,r,n){var i=r.coordinateSystem,o=a.getItemModel(e),s,l=U(o.get(t[0]),n.getWidth()),u=U(o.get(t[1]),n.getHeight());if(!isNaN(l)&&!isNaN(u))s=[l,u];else{if(r.getMarkerPosition){var v=a.getValues(["x0","y0"],e),c=a.getValues(["x1","y1"],e),f=i.clampData(v),h=i.clampData(c),p=[];t[0]==="x0"?p[0]=f[0]>h[0]?c[0]:v[0]:p[0]=f[0]>h[0]?v[0]:c[0],t[1]==="y0"?p[1]=f[1]>h[1]?c[1]:v[1]:p[1]=f[1]>h[1]?v[1]:c[1],s=r.getMarkerPosition(p,t,!0)}else{var d=a.get(t[0],e),g=a.get(t[1],e),y=[d,g];i.clampData&&i.clampData(y,y),s=i.dataToPoint(y,!0)}if(jn(i,"cartesian2d")){var S=i.getAxis("x"),m=i.getAxis("y"),d=a.get(t[0],e),g=a.get(t[1],e);Vn(d)?s[0]=S.toGlobalCoord(S.getExtent()[t[0]==="x0"?0:1]):Vn(g)&&(s[1]=m.toGlobalCoord(m.getExtent()[t[1]==="y0"?0:1]))}isNaN(l)||(s[0]=l),isNaN(u)||(s[1]=u)}return s}var Mc=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]],qT=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.updateTransform=function(t,r,n){r.eachSeries(function(i){var o=We.getMarkerModelFromSeries(i,"markArea");if(o){var s=o.getData();s.each(function(l){var u=$(Mc,function(c){return Ic(s,l,c,i,n)});s.setItemLayout(l,u);var v=s.getItemGraphicEl(l);v.setShape("points",u)})}},this)},e.prototype.renderSeries=function(t,r,n,i){var o=t.coordinateSystem,s=t.id,l=t.getData(),u=this.markerGroupMap,v=u.get(s)||u.set(s,{group:new nt});this.group.add(v.group),this.markKeep(v);var c=KT(o,t,r);r.setData(c),c.each(function(f){var h=$(Mc,function(A){return Ic(c,f,A,t,i)}),p=o.getAxis("x").scale,d=o.getAxis("y").scale,g=p.getExtent(),y=d.getExtent(),S=[p.parse(c.get("x0",f)),p.parse(c.get("x1",f))],m=[d.parse(c.get("y0",f)),d.parse(c.get("y1",f))];br(S),br(m);var x=!(g[0]>S[1]||g[1] m[1]||y[1]"],q(t)&&(t=t.slice(),u=!0);var v=r?t:u?[c(t[0]),c(t[1])]:c(t);if(lt(l))return l.replace("{value}",u?v[0]:v).replace("{value2}",u?v[1]:v);if(gt(l))return u?l(t[0],t[1]):l(t);if(u)return t[0]===s[0]?n[0]+" "+v[1]:t[1]===s[1]?n[1]+" "+v[0]:v[0]+" - "+v[1];return v;function c(f){return f===s[0]?"min":f===s[1]?"max":(+f).toFixed(Math.min(o,20))}},e.prototype.resetExtent=function(){var t=this.option,r=e2([t.min,t.max]);this._dataExtent=r},e.prototype.getDataDimensionIndex=function(t){var r=this.option.dimension;if(r!=null)return t.getDimensionIndex(r);for(var n=t.dimensions,i=n.length-1;i>=0;i--){var o=n[i],s=t.getDimensionInfo(o);if(!s.isCalculationCoord)return s.storeDimIndex}},e.prototype.getExtent=function(){return this._dataExtent.slice()},e.prototype.completeVisualOption=function(){var t=this.ecModel,r=this.option,n={inRange:r.inRange,outOfRange:r.outOfRange},i=r.target||(r.target={}),o=r.controller||(r.controller={});Ct(i,n),Ct(o,n);var s=this.isCategory();l.call(this,i),l.call(this,o),u.call(this,i,"inRange","outOfRange"),v.call(this,o);function l(c){t2(r.color)&&!c.inRange&&(c.inRange={color:r.color.slice().reverse()}),c.inRange=c.inRange||{color:t.get("gradientColor")}}function u(c,f,h){var p=c[f],d=c[h];p&&!d&&(d=c[h]={},Ec(p,function(g,y){if(Ot.isValidType(y)){var S=Jp.get(y,"inactive",s);S!=null&&(d[y]=S,y==="color"&&!d.hasOwnProperty("opacity")&&!d.hasOwnProperty("colorAlpha")&&(d.opacity=[0,0]))}}))}function v(c){var f=(c.inRange||{}).symbol||(c.outOfRange||{}).symbol,h=(c.inRange||{}).symbolSize||(c.outOfRange||{}).symbolSize,p=this.get("inactiveColor"),d=this.getItemSymbol(),g=d||"roundRect";Ec(this.stateList,function(y){var S=this.itemSize,m=c[y];m||(m=c[y]={color:s?p:[p]}),m.symbol==null&&(m.symbol=f&&pt(f)||(s?g:[g])),m.symbolSize==null&&(m.symbolSize=h&&pt(h)||(s?S[0]:[S[0],S[0]])),m.symbol=Pc(m.symbol,function(_){return _==="none"?g:_});var x=m.symbolSize;if(x!=null){var b=-1/0;QT(x,function(_){_>b&&(b=_)}),m.symbolSize=Pc(x,function(_){return r2(_,[0,b],[0,S[0]],!0)})}},this)}},e.prototype.resetItemSize=function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},e.prototype.isCategory=function(){return!!this.option.categories},e.prototype.setSelected=function(t){},e.prototype.getSelected=function(){return null},e.prototype.getValueState=function(t){return null},e.prototype.getVisualMeta=function(t){return null},e.type="visualMap",e.dependencies=["series"],e.defaultOption={show:!0,z:4,seriesIndex:"all",min:0,max:200,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,textStyle:{color:"#333"}},e}(Xt),Rc=[20,140],a2=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.optionUpdated=function(t,r){a.prototype.optionUpdated.apply(this,arguments),this.resetExtent(),this.resetVisual(function(n){n.mappingMethod="linear",n.dataExtent=this.getExtent()}),this._resetRange()},e.prototype.resetItemSize=function(){a.prototype.resetItemSize.apply(this,arguments);var t=this.itemSize;(t[0]==null||isNaN(t[0]))&&(t[0]=Rc[0]),(t[1]==null||isNaN(t[1]))&&(t[1]=Rc[1])},e.prototype._resetRange=function(){var t=this.getExtent(),r=this.option.range;!r||r.auto?(t.auto=1,this.option.range=t):q(r)&&(r[0]>r[1]&&r.reverse(),r[0]=Math.max(r[0],t[0]),r[1]=Math.min(r[1],t[1]))},e.prototype.completeVisualOption=function(){a.prototype.completeVisualOption.apply(this,arguments),D(this.stateList,function(t){var r=this.option.controller[t].symbolSize;r&&r[0]!==r[1]&&(r[0]=r[1]/3)},this)},e.prototype.setSelected=function(t){this.option.range=t.slice(),this._resetRange()},e.prototype.getSelected=function(){var t=this.getExtent(),r=br((this.get("range")||[]).slice());return r[0]>t[1]&&(r[0]=t[1]),r[1]>t[1]&&(r[1]=t[1]),r[0] =n[1]||t<=r[1])?"inRange":"outOfRange"},e.prototype.findTargetDataIndices=function(t){var r=[];return this.eachTargetSeries(function(n){var i=[],o=n.getData();o.each(this.getDataDimensionIndex(o),function(s,l){t[0]<=s&&s<=t[1]&&i.push(l)},this),r.push({seriesId:n.id,dataIndex:i})},this),r},e.prototype.getVisualMeta=function(t){var r=kc(this,"outOfRange",this.getExtent()),n=kc(this,"inRange",this.option.range.slice()),i=[];function o(h,p){i.push({value:h,color:t(h,p)})}for(var s=0,l=0,u=n.length,v=r.length;l t[1])break;i.push({color:this.getControllerVisual(l,"color",r),offset:s/n})}return i.push({color:this.getControllerVisual(t[1],"color",r),offset:1}),i},e.prototype._createBarPoints=function(t,r){var n=this.visualMapModel.itemSize;return[[n[0]-r[0],t[0]],[n[0],t[0]],[n[0],t[1]],[n[0]-r[1],t[1]]]},e.prototype._createBarGroup=function(t){var r=this._orient,n=this.visualMapModel.get("inverse");return new nt(r==="horizontal"&&!n?{scaleX:t==="bottom"?1:-1,rotation:Math.PI/2}:r==="horizontal"&&n?{scaleX:t==="bottom"?-1:1,rotation:-Math.PI/2}:r==="vertical"&&!n?{scaleX:t==="left"?1:-1,scaleY:-1}:{scaleX:t==="left"?1:-1})},e.prototype._updateHandle=function(t,r){if(this._useHandle){var n=this._shapes,i=this.visualMapModel,o=n.handleThumbs,s=n.handleLabels,l=i.itemSize,u=i.getExtent(),v=this._applyTransform("left",n.mainGroup);n2([0,1],function(c){var f=o[c];f.setStyle("fill",r.handlesColor[c]),f.y=t[c];var h=Ie(t[c],[0,l[1]],u,!0),p=this.getControllerVisual(h,"symbolSize");f.scaleX=f.scaleY=p/l[0],f.x=l[0]-p/2;var d=Gr(n.handleLabelPoints[c],ua(f,this.group));if(this._orient==="horizontal"){var g=v==="left"||v==="top"?(l[0]-p)/2:(l[0]-p)/-2;d[1]+=g}s[c].setStyle({x:d[0],y:d[1],text:i.formatValueText(this._dataInterval[c]),verticalAlign:"middle",align:this._orient==="vertical"?this._applyTransform("left",n.mainGroup):"center"})},this)}},e.prototype._showIndicator=function(t,r,n,i){var o=this.visualMapModel,s=o.getExtent(),l=o.itemSize,u=[0,l[1]],v=this._shapes,c=v.indicator;if(c){c.attr("invisible",!1);var f={convertOpacityToAlpha:!0},h=this.getControllerVisual(t,"color",f),p=this.getControllerVisual(t,"symbolSize"),d=Ie(t,s,u,!0),g=l[0]-p/2,y={x:c.x,y:c.y};c.y=d,c.x=g;var S=Gr(v.indicatorLabelPoint,ua(c,this.group)),m=v.indicatorLabel;m.attr("invisible",!1);var x=this._applyTransform("left",v.mainGroup),b=this._orient,_=b==="horizontal";m.setStyle({text:(n||"")+o.formatValueText(r),verticalAlign:_?x:"middle",align:_?"center":x});var w={x:g,y:d,style:{fill:h}},A={style:{x:S[0],y:S[1]}};if(o.ecModel.isAnimationEnabled()&&!this._firstShowIndicator){var T={duration:100,easing:"cubicInOut",additive:!0};c.x=y.x,c.y=y.y,c.animateTo(w,T),m.animateTo(A,T)}else c.attr(w),m.attr(A);this._firstShowIndicator=!1;var C=this._shapes.handleLabels;if(C)for(var L=0;L o[1]&&(c[1]=1/0),r&&(c[0]===-1/0?this._showIndicator(v,c[1],"< ",l):c[1]===1/0?this._showIndicator(v,c[0],"> ",l):this._showIndicator(v,v,"≈ ",l));var f=this._hoverLinkDataIndices,h=[];(r||Gc(n))&&(h=this._hoverLinkDataIndices=n.findTargetDataIndices(c));var p=Ey(f,h);this._dispatchHighDown("downplay",cn(p[0],n)),this._dispatchHighDown("highlight",cn(p[1],n))}},e.prototype._hoverLinkFromSeriesMouseOver=function(t){var r;if(Tf(t.target,function(l){var u=ht(l);if(u.dataIndex!=null)return r=u,!0},!0),!!r){var n=this.ecModel.getSeriesByIndex(r.seriesIndex),i=this.visualMapModel;if(i.isTargetSeries(n)){var o=n.getData(r.dataType),s=o.getStore().get(i.getDataDimensionIndex(o),r.dataIndex);isNaN(s)||this._showIndicator(s,s)}}},e.prototype._hideIndicator=function(){var t=this._shapes;t.indicator&&t.indicator.attr("invisible",!0),t.indicatorLabel&&t.indicatorLabel.attr("invisible",!0);var r=this._shapes.handleLabels;if(r)for(var n=0;n =0&&(i.dimension=o,r.push(i))}}),a.getData().setVisual("visualMeta",r)}}];function f2(a,e,t,r){for(var n=e.targetVisuals[r],i=Ot.prepareVisualTypes(n),o={color:Qn(a.getData(),"color")},s=0,l=i.length;s 0:e.splitNumber>0)||e.calculable)?"continuous":"piecewise"}),a.registerAction(u2,v2),D(c2,function(e){a.registerVisual(a.PRIORITY.VISUAL.COMPONENT,e)}),a.registerPreprocessor(h2))}function rd(a){a.registerComponentModel(a2),a.registerComponentView(s2),ed(a)}var p2=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t._pieceList=[],t}return e.prototype.optionUpdated=function(t,r){a.prototype.optionUpdated.apply(this,arguments),this.resetExtent();var n=this._mode=this._determineMode();this._pieceList=[],d2[this._mode].call(this,this._pieceList),this._resetSelected(t,r);var i=this.option.categories;this.resetVisual(function(o,s){n==="categories"?(o.mappingMethod="category",o.categories=pt(i)):(o.dataExtent=this.getExtent(),o.mappingMethod="piecewise",o.pieceList=$(this._pieceList,function(l){return l=pt(l),s!=="inRange"&&(l.visual=null),l}))})},e.prototype.completeVisualOption=function(){var t=this.option,r={},n=Ot.listVisualTypes(),i=this.isCategory();D(t.pieces,function(s){D(n,function(l){s.hasOwnProperty(l)&&(r[l]=1)})}),D(r,function(s,l){var u=!1;D(this.stateList,function(v){u=u||o(t,v,l)||o(t.target,v,l)},this),!u&&D(this.stateList,function(v){(t[v]||(t[v]={}))[l]=Jp.get(l,v==="inRange"?"active":"inactive",i)})},this);function o(s,l,u){return s&&s[l]&&s[l].hasOwnProperty(u)}a.prototype.completeVisualOption.apply(this,arguments)},e.prototype._resetSelected=function(t,r){var n=this.option,i=this._pieceList,o=(r?n:t).selected||{};if(n.selected=o,D(i,function(l,u){var v=this.getSelectedMapKey(l);o.hasOwnProperty(v)||(o[v]=!0)},this),n.selectedMode==="single"){var s=!1;D(i,function(l,u){var v=this.getSelectedMapKey(l);o[v]&&(s?o[v]=!1:s=!0)},this)}},e.prototype.getItemSymbol=function(){return this.get("itemSymbol")},e.prototype.getSelectedMapKey=function(t){return this._mode==="categories"?t.value+"":t.index+""},e.prototype.getPieceList=function(){return this._pieceList},e.prototype._determineMode=function(){var t=this.option;return t.pieces&&t.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},e.prototype.setSelected=function(t){this.option.selected=pt(t)},e.prototype.getValueState=function(t){var r=Ot.findPieceIndex(t,this._pieceList);return r!=null&&this.option.selected[this.getSelectedMapKey(this._pieceList[r])]?"inRange":"outOfRange"},e.prototype.findTargetDataIndices=function(t){var r=[],n=this._pieceList;return this.eachTargetSeries(function(i){var o=[],s=i.getData();s.each(this.getDataDimensionIndex(s),function(l,u){var v=Ot.findPieceIndex(l,n);v===t&&o.push(u)},this),r.push({seriesId:i.id,dataIndex:o})},this),r},e.prototype.getRepresentValue=function(t){var r;if(this.isCategory())r=t.value;else if(t.value!=null)r=t.value;else{var n=t.interval||[];r=n[0]===-1/0&&n[1]===1/0?0:(n[0]+n[1])/2}return r},e.prototype.getVisualMeta=function(t){if(this.isCategory())return;var r=[],n=["",""],i=this;function o(v,c){var f=i.getRepresentValue({interval:v});c||(c=i.getValueState(f));var h=t(f,c);v[0]===-1/0?n[0]=h:v[1]===1/0?n[1]=h:r.push({value:v[0],color:h},{value:v[1],color:h})}var s=this._pieceList.slice();if(!s.length)s.push({interval:[-1/0,1/0]});else{var l=s[0].interval[0];l!==-1/0&&s.unshift({interval:[-1/0,l]}),l=s[s.length-1].interval[1],l!==1/0&&s.push({interval:[l,1/0]})}var u=-1/0;return D(s,function(v){var c=v.interval;c&&(c[0]>u&&o([u,c[0]],"outOfRange"),o(c.slice()),u=c[1])},this),{stops:r,outerColors:n}},e.type="visualMap.piecewise",e.defaultOption=Jn(Nn.defaultOption,{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieces:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0}),e}(Nn),d2={splitNumber:function(a){var e=this.option,t=Math.min(e.precision,20),r=this.getExtent(),n=e.splitNumber;n=Math.max(parseInt(n,10),1),e.splitNumber=n;for(var i=(r[1]-r[0])/n;+i.toFixed(t)!==i&&t<5;)t++;e.precision=t,i=+i.toFixed(t),e.minOpen&&a.push({interval:[-1/0,r[0]],close:[0,0]});for(var o=0,s=r[0];o ","≥"][r[0]]];t.text=t.text||this.formatValueText(t.value!=null?t.value:t.interval,!1,n)},this)}};function Hc(a,e){var t=a.inverse;(a.orient==="vertical"?!t:t)&&e.reverse()}var g2=function(a){V(e,a);function e(){var t=a!==null&&a.apply(this,arguments)||this;return t.type=e.type,t}return e.prototype.doRender=function(){var t=this.group;t.removeAll();var r=this.visualMapModel,n=r.get("textGap"),i=r.textStyleModel,o=i.getFont(),s=i.getTextColor(),l=this._getItemAlign(),u=r.itemSize,v=this._getViewData(),c=v.endsText,f=se(r.get("showLabel",!0),!c),h=!r.get("selectedMode");c&&this._renderEndsText(t,c[0],u,f,l),D(v.viewPieceList,function(p){var d=p.piece,g=new nt;g.onclick=at(this._onItemClick,this,d),this._enableHoverLink(g,p.indexInModelPieceList);var y=r.getRepresentValue(d);if(this._createItemSymbol(g,y,[0,0,u[0],u[1]],h),f){var S=this.visualMapModel.getValueState(y);g.add(new St({style:{x:l==="right"?-n:u[0]+n,y:u[1]/2,text:d.text,verticalAlign:"middle",align:l,font:o,fill:s,opacity:S==="outOfRange"?.5:1},silent:h}))}t.add(g)},this),c&&this._renderEndsText(t,c[1],u,f,l),Ry(r.get("orient"),t,r.get("itemGap")),this.renderBackground(t),this.positionGroup(t)},e.prototype._enableHoverLink=function(t,r){var n=this;t.on("mouseover",function(){return i("highlight")}).on("mouseout",function(){return i("downplay")});var i=function(o){var s=n.visualMapModel;s.option.hoverLink&&n.api.dispatchAction({type:o,batch:cn(s.findTargetDataIndices(r),s)})}},e.prototype._getItemAlign=function(){var t=this.visualMapModel,r=t.option;if(r.orient==="vertical")return td(t,this.api,t.itemSize);var n=r.align;return(!n||n==="auto")&&(n="left"),n},e.prototype._renderEndsText=function(t,r,n,i,o){if(r){var s=new nt,l=this.visualMapModel.textStyleModel;s.add(new St({style:At(l,{x:i?o==="right"?n[0]:0:n[0]/2,y:n[1]/2,verticalAlign:"middle",align:i?o:"center",text:r})})),t.add(s)}},e.prototype._getViewData=function(){var t=this.visualMapModel,r=$(t.getPieceList(),function(s,l){return{piece:s,indexInModelPieceList:l}}),n=t.get("text"),i=t.get("orient"),o=t.get("inverse");return(i==="horizontal"?o:!o)?r.reverse():n&&(n=n.slice().reverse()),{viewPieceList:r,endsText:n}},e.prototype._createItemSymbol=function(t,r,n,i){var o=ve(this.getControllerVisual(r,"symbol"),n[0],n[1],n[2],n[3],this.getControllerVisual(r,"color"));o.silent=i,t.add(o)},e.prototype._onItemClick=function(t){var r=this.visualMapModel,n=r.option,i=n.selectedMode;if(i){var o=pt(n.selected),s=r.getSelectedMapKey(t);i==="single"||i===!0?(o[s]=!0,D(o,function(l,u){o[u]=u===s})):o[s]=!o[s],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:o})}},e.type="visualMap.piecewise",e}(Qp);function ad(a){a.registerComponentModel(p2),a.registerComponentView(g2),ed(a)}function y2(a){it(rd),it(ad)}var m2={label:{enabled:!0},decal:{show:!1}},Wc=Dt(),S2={};function x2(a,e){var t=a.getModel("aria");if(!t.get("enabled"))return;var r=pt(m2);Ct(r.label,a.getLocaleModel().get("aria"),!1),Ct(t.option,r,!1),n(),i();function n(){var u=t.getModel("decal"),v=u.get("show");if(v){var c=ut();a.eachSeries(function(f){if(!f.isColorBySeries()){var h=c.get(f.type);h||(h={},c.set(f.type,h)),Wc(f).scope=h}}),a.eachRawSeries(function(f){if(a.isSeriesFiltered(f))return;if(gt(f.enableAriaDecal)){f.enableAriaDecal();return}var h=f.getData();if(f.isColorBySeries()){var S=bo(f.ecModel,f.name,S2,a.getSeriesCount()),m=h.getVisual("decal");h.setVisual("decal",x(m,S))}else{var p=f.getRawData(),d={},g=Wc(f).scope;h.each(function(b){var _=h.getRawIndex(b);d[_]=b});var y=p.count();p.each(function(b){var _=d[b],w=p.getName(b)||b+"",A=bo(f.ecModel,w,g,y),T=h.getItemVisual(_,"decal");h.setItemVisual(_,"decal",x(T,A))})}function x(b,_){var w=b?K(K({},_),b):_;return w.dirty=!0,w}})}}function i(){var u=e.getZr().dom;if(u){var v=a.getLocaleModel().get("aria"),c=t.getModel("label");if(c.option=ot(c.option,v),!!c.get("enabled")){if(u.setAttribute("role","img"),c.get("description")){u.setAttribute("aria-label",c.get("description"));return}var f=a.getSeriesCount(),h=c.get(["data","maxCount"])||10,p=c.get(["series","maxCount"])||10,d=Math.min(f,p),g;if(!(f<1)){var y=s();if(y){var S=c.get(["general","withTitle"]);g=o(S,{title:y})}else g=c.get(["general","withoutTitle"]);var m=[],x=f>1?c.get(["series","multiple","prefix"]):c.get(["series","single","prefix"]);g+=o(x,{seriesCount:f}),a.eachSeries(function(A,T){if(T 1?c.get(["series","multiple",M]):c.get(["series","single",M]),C=o(C,{seriesId:A.seriesIndex,seriesName:A.get("name"),seriesType:l(A.subType)});var I=A.getData();if(I.count()>h){var P=c.get(["data","partialData"]);C+=o(P,{displayCnt:h})}else C+=c.get(["data","allData"]);for(var E=c.get(["data","separator","middle"]),R=c.get(["data","separator","end"]),k=c.get(["data","excludeDimensionId"]),N=[],F=0;F ":"gt",">=":"gte","=":"eq","!=":"ne","<>":"ne"},w2=function(){function a(e){var t=this._condVal=lt(e)?new RegExp(e):Vy(e)?e:null;if(t==null){var r="";It(r)}}return a.prototype.evaluate=function(e){var t=typeof e;return lt(t)?this._condVal.test(e):le(t)?this._condVal.test(e+""):!1},a}(),A2=function(){function a(){}return a.prototype.evaluate=function(){return this.value},a}(),T2=function(){function a(){}return a.prototype.evaluate=function(){for(var e=this.children,t=0;t 2&&r.push(n),n=[I,P]}function v(I,P,E,R){zr(I,E)&&zr(P,R)||n.push(I,P,E,R,E,R)}function c(I,P,E,R,k,N){var F=Math.abs(P-I),H=Math.tan(F/4)*4/3,X=PA:L2&&r.push(n),r}function ns(a,e,t,r,n,i,o,s,l,u){if(zr(a,t)&&zr(e,r)&&zr(n,o)&&zr(i,s)){l.push(o,s);return}var v=2/u,c=v*v,f=o-a,h=s-e,p=Math.sqrt(f*f+h*h);f/=p,h/=p;var d=t-a,g=r-e,y=n-o,S=i-s,m=d*d+g*g,x=y*y+S*S;if(m =0&&A =0){l.push(o,s);return}var T=[],C=[];Sn(a,t,n,o,.5,T),Sn(e,r,i,s,.5,C),ns(T[0],C[0],T[1],C[1],T[2],C[2],T[3],C[3],l,u),ns(T[4],C[4],T[5],C[5],T[6],C[6],T[7],C[7],l,u)}function O2(a,e){var t=as(a),r=[];e=e||1;for(var n=0;n 0)for(var u=0;u Math.abs(u),c=id([l,u],v?0:1,e),f=(v?s:u)/c.length,h=0;h n,o=id([r,n],i?0:1,e),s=i?"width":"height",l=i?"height":"width",u=i?"x":"y",v=i?"y":"x",c=a[s]/o.length,f=0;f 1?null:new mt(d*l+a,d*u+e)}function H2(a,e,t){var r=new mt;mt.sub(r,t,e),r.normalize();var n=new mt;mt.sub(n,a,e);var i=n.dot(r);return i}function Mr(a,e){var t=a[a.length-1];t&&t[0]===e[0]&&t[1]===e[1]||a.push(e)}function W2(a,e,t){for(var r=a.length,n=[],i=0;i o?(u.x=v.x=s+i/2,u.y=l,v.y=l+o):(u.y=v.y=l+o/2,u.x=s,v.x=s+i),W2(e,u,v)}function zn(a,e,t,r){if(t===1)r.push(e);else{var n=Math.floor(t/2),i=a(e);zn(a,i[0],n,r),zn(a,i[1],t-n,r)}return r}function U2(a,e){for(var t=[],r=0;r 0;u/=2){var v=0,c=0;(a&u)>0&&(v=1),(e&u)>0&&(c=1),s+=u*u*(3*v^c),c===0&&(v===1&&(a=u-1-a,e=u-1-e),l=a,a=e,e=l)}return s}function Bn(a){var e=1/0,t=1/0,r=-1/0,n=-1/0,i=$(a,function(s){var l=s.getBoundingRect(),u=s.getComputedTransform(),v=l.x+l.width/2+(u?u[4]:0),c=l.y+l.height/2+(u?u[5]:0);return e=Math.min(v,e),t=Math.min(c,t),r=Math.max(v,r),n=Math.max(c,n),[v,c]}),o=$(i,function(s,l){return{cp:s,z:Q2(s[0],s[1],e,t,r,n),path:a[l]}});return o.sort(function(s,l){return s.z-l.z}).map(function(s){return s.path})}function ld(a){return Z2(a.path,a.count)}function is(){return{fromIndividuals:[],toIndividuals:[],count:0}}function tC(a,e,t){var r=[];function n(b){for(var _=0;_ =0;n--)if(!t[n].many.length){var l=t[s].many;if(l.length<=1)if(s)s=0;else return t;var i=l.length,u=Math.ceil(i/2);t[n].many=l.slice(u,i),t[s].many=l.slice(0,u),s++}return t}var rC={clone:function(a){for(var e=[],t=1-Math.pow(1-a.path.style.opacity,1/a.count),r=0;r 0))return;var s=r.getModel("universalTransition").get("delay"),l=Object.assign({setToFinal:!0},o),u,v;Jc(a)&&(u=a,v=e),Jc(e)&&(u=e,v=a);function c(y,S,m,x,b){var _=y.many,w=y.one;if(_.length===1&&!b){var A=S?_[0]:w,T=S?w:_[0];if(Gn(A))c({many:[A],one:T},!0,m,x,!0);else{var C=s?ot({delay:s(m,x)},l):l;ml(A,T,C),i(A,T,A,T,C)}}else for(var L=ot({dividePath:rC[t],individualDelay:s&&function(k,N,F,H){return s(k+m,x)}},l),M=S?tC(_,w,L):eC(w,_,L),I=M.fromIndividuals,P=M.toIndividuals,E=I.length,R=0;R e.length,h=u?Qc(v,u):Qc(f?e:a,[f?a:e]),p=0,d=0;d ud))for(var i=r.getIndices(),o=0;o 0&&_.group.traverse(function(A){A instanceof Wt&&!A.animators.length&&A.animateFrom({style:{opacity:0}},w)})})}function nf(a){var e=a.getModel("universalTransition").get("seriesKey");return e||a.id}function of(a){return q(a)?a.sort().join(","):a}function Xe(a){if(a.hostModel)return a.hostModel.getModel("universalTransition").get("divideShape")}function uC(a,e){var t=ut(),r=ut(),n=ut();return D(a.oldSeries,function(i,o){var s=a.oldDataGroupIds[o],l=a.oldData[o],u=nf(i),v=of(u);r.set(v,{dataGroupId:s,data:l}),q(u)&&D(u,function(c){n.set(c,{key:v,dataGroupId:s,data:l})})}),D(e.updatedSeries,function(i){if(i.isUniversalTransitionEnabled()&&i.isAnimationEnabled()){var o=i.get("dataGroupId"),s=i.getData(),l=nf(i),u=of(l),v=r.get(u);if(v)t.set(u,{oldSeries:[{dataGroupId:v.dataGroupId,divide:Xe(v.data),data:v.data}],newSeries:[{dataGroupId:o,divide:Xe(s),data:s}]});else if(q(l)){var c=[];D(l,function(p){var d=r.get(p);d.data&&c.push({dataGroupId:d.dataGroupId,divide:Xe(d.data),data:d.data})}),c.length&&t.set(u,{oldSeries:c,newSeries:[{dataGroupId:o,data:s,divide:Xe(s)}]})}else{var f=n.get(l);if(f){var h=t.get(f.key);h||(h={oldSeries:[{dataGroupId:f.dataGroupId,data:f.data,divide:Xe(f.data)}],newSeries:[]},t.set(f.key,h)),h.newSeries.push({dataGroupId:o,data:s,divide:Xe(s)})}}}}),t}function sf(a,e){for(var t=0;t =0&&n.push({dataGroupId:e.oldDataGroupIds[s],data:e.oldData[s],divide:Xe(e.oldData[s]),groupIdDim:o.dimension})}),D(Jt(a.to),function(o){var s=sf(t.updatedSeries,o);if(s>=0){var l=t.updatedSeries[s].getData();i.push({dataGroupId:e.oldDataGroupIds[s],data:l,divide:Xe(l),groupIdDim:o.dimension})}}),n.length>0&&i.length>0&&vd(n,i,r)}function cC(a){a.registerUpdateLifecycle("series:beforeupdate",function(e,t,r){D(Jt(r.seriesTransition),function(n){D(Jt(n.to),function(i){for(var o=r.updatedSeries,s=0;s "u"?G:getComputedStyle(document.documentElement).getPropertyValue(O).trim()||G}const v=me(""),c=me("");let f=null;function h(){const O=new Date;c.value=`${O.getFullYear()}-${String(O.getMonth()+1).padStart(2,"0")}-${String(O.getDate()).padStart(2,"0")}`,v.value=`${String(O.getHours()).padStart(2,"0")}:${String(O.getMinutes()).padStart(2,"0")}:${String(O.getSeconds()).padStart(2,"0")}`}h();const p=me("success"),d=Yt(()=>`is-${p.value}`),g=Yt(()=>p.value==="success"?"已连接":p.value==="warning"?"高延迟":"断连"),y=Yt(()=>n.value.filter(O=>O.state!=="offline").length),S=Yt(()=>i.value.filter(O=>O.status==="running"||O.status==="assigned").length),m=Yt(()=>[{key:"platform-config",label:"平台配置",icon:Ad,primary:!0,hint:"进入地图编辑 / 平台搭建(map-editor)",to:"/admin/map-editor"},{key:"mission",label:"任务编排",icon:ci,to:"/admin/task-templates"},{key:"cars",label:"AGV 配置",icon:_l,to:"/admin/cars"},{key:"auth",label:"权限配置",icon:Td,to:"/admin/config/system-center?tab=auth"},{key:"system",label:"系统配置",icon:Cd,to:"/admin/config/system-center?tab=system"},{key:"ops",label:"异常处理",icon:Dd,to:"/admin/config/ops-center?tab=ops"},{key:"tasks",label:"任务管理",icon:Ld,to:"/admin/config/strategy?tab=task"},{key:"add",label:"添加",icon:Id,hint:"自定义快捷入口(待实现)",action:()=>{Md.info("自定义快捷入口 — 即将在 v1.8 中开放")}}]);function x(O){O.action?O.action():O.to&&e.push(O.to)}function b(O,G=16){const J=[];let Y=50+O*7%30;for(let vt=0;vt `${ft===0?"M":"L"}${(ft*et).toFixed(2)},${(Q-vt/100*Q*.85-Q*.05).toFixed(2)}`).join(" "),ct=`${B} L${W},${Q} L0,${Q} Z`;return{line:B,area:ct}}const _=Yt(()=>Math.max(12,Math.round(t.value.length*.7))),w=Yt(()=>Math.max(6,Math.round(n.value.length*.27))),A=Yt(()=>Math.max(265,t.value.length*12)),T=Yt(()=>Math.max(10,Math.round(A.value*.04)));function C(O,G){if(O===0&&G===0)return{dir:"flat",arrow:"→",text:"0%"};const J=G-O;if(Math.abs(J)<.5)return{dir:"flat",arrow:"→",text:"0%"};const Y=O===0?100:Math.round(J/O*100);return J>0?{dir:"up",arrow:"↑",text:`${Y}%`}:{dir:"down",arrow:"↓",text:`${Math.abs(Y)}%`}}const L=Yt(()=>[{key:"devices",label:"设备数",value:n.value.length,icon:Pd,tone:"info",trend:C(n.value.length-2,n.value.length)},{key:"sites",label:"工作站数",value:t.value.length,icon:Ed,tone:"success",trend:C(t.value.length-1,t.value.length)},{key:"shelves",label:"货架数",value:_.value,icon:Rd,tone:"info",trend:C(_.value-5,_.value)},{key:"charger",label:"充电桩数",value:w.value,icon:kd,tone:"warning",trend:{dir:"flat",arrow:"→",text:"0%"}},{key:"used",label:"已用储位数",value:A.value,icon:ci,tone:"success",trend:C(A.value-12,A.value)},{key:"free",label:"空余储位数",value:T.value,icon:ci,tone:"idle",trend:C(T.value+3,T.value)}].map((G,J)=>{const Y=b(J+1);return{...G,sparkLine:Y.line,sparkArea:Y.area}})),M=Yt(()=>{const O=i.value.length||1,G={货架交接:{pct:0,tone:"info"},"搬运/落位":{pct:0,tone:"success"},"Z1 任务":{pct:0,tone:"warning"},其他:{pct:0,tone:"idle"}};i.value.forEach(Y=>{const W=Y.typeName??"";W.includes("shelf")||W.includes("货架")?G.货架交接.pct++:W.includes("move")||W.includes("搬运")||W.includes("落位")?G["搬运/落位"].pct++:W.includes("z1")||W.includes("Z1")?G["Z1 任务"].pct++:G.其他.pct++});let J=Object.entries(G).map(([Y,W])=>({name:Y,pct:Math.round(W.pct/O*100),tone:W.tone}));return J.every(Y=>Y.pct===0)&&(J=[{name:"货架交接",pct:45,tone:"info"},{name:"搬运/落位",pct:15,tone:"success"},{name:"Z1 任务",pct:15,tone:"warning"},{name:"其他",pct:25,tone:"idle"}]),J}),I=Yt(()=>n.value.length===0),P=Yt(()=>{const O=n.value.length||12,G={idle:0,running:0,charging:0,paused:0,fault:0,offline:0};n.value.forEach(Y=>{G[Y.state]=(G[Y.state]??0)+1});const J=I.value;return[{key:"running",label:"执行中",value:J?Math.round(O*.45):G.running,color:u("--mg-status-info","#3b82f6")},{key:"idle",label:"空闲",value:J?Math.round(O*.3):G.idle,color:u("--mg-status-success","#22c55e")},{key:"charging",label:"充电中",value:J?Math.round(O*.1):G.charging,color:u("--mg-status-warning","#f59e0b")},{key:"paused",label:"已暂停",value:J?Math.round(O*.05):G.paused,color:u("--mg-status-idle","#94a3b8")},{key:"fault",label:"故障",value:J?Math.round(O*.05):G.fault,color:u("--mg-status-danger","#ef4444")},{key:"offline",label:"离线",value:J?Math.round(O*.05):G.offline,color:u("--mg-text-faint","#a8a0c0")}]}),E=Yt(()=>P.value.reduce((O,G)=>O+G.value,0)),R=Yt(()=>{const O=new Date,G=[];for(let J=287;J>=0;J--){const Y=O.getTime()-J*5*60*1e3,W=J/288*Math.PI*4,Q=Math.round(8+Math.sin(W)*5+Math.cos(W*1.3)*3+(Math.random()*2-1)),et=Math.round(3+Math.sin(W*1.7)*2+Math.cos(W*.6)*1.5+(Math.random()*1-.5));G.push([Y,Math.max(0,Q),Math.max(0,et)])}return G});function k(){const O=new Date(Date.now()-Math.random()*1e3*60*60*6);return`${String(O.getHours()).padStart(2,"0")}:${String(O.getMinutes()).padStart(2,"0")}`}const N=me([{name:"alarm",label:"故障告警",count:0,tone:"danger"},{name:"abnTask",label:"异常任务",count:4,tone:"warning",items:[{text:"AGV-021 路径阻塞 · 等待解锁",time:k()},{text:"M-1024 调度超时",time:k()},{text:"M-1027 取货失败",time:k()},{text:"搬运任务 #913 因充电中断",time:k()}]},{name:"comm",label:"通信异常",count:0,tone:"info"},{name:"server",label:"服务器报警",count:2,tone:"warning",items:[{text:"SimpleScheduler · CPU 持续 85%",time:k()},{text:"WebAPI · 90% 内存使用率",time:k()}]}]),F=Yt(()=>N.value.filter(O=>O.tone==="danger"||O.tone==="warning").reduce((O,G)=>O+G.count,0));let H=null;function X(){if(!o.value)return;H?.dispose(),H=Wl(o.value,void 0,{renderer:"canvas"});const O=u("--mg-status-info","#3b82f6"),G=u("--mg-status-success","#22c55e"),J=u("--mg-text-muted","#606266"),Y=u("--mg-divider","rgba(255,255,255,0.08)"),W=R.value;H.setOption({backgroundColor:"transparent",grid:{left:36,right:16,top:22,bottom:28},tooltip:{trigger:"axis",axisPointer:{type:"line",lineStyle:{type:"dashed",color:J}},formatter:Q=>{const et=Q,B=new Date(et[0].value[0]),ct=`${String(B.getHours()).padStart(2,"0")}:${String(B.getMinutes()).padStart(2,"0")}`;return et.map(vt=>`● ${vt.seriesName}: ${vt.value[1]}`).join("
")+`
${ct}`}},legend:{show:!1},xAxis:{type:"time",axisLine:{lineStyle:{color:Y}},axisLabel:{color:J,fontSize:11,formatter:Q=>{const et=new Date(Q);return`${String(et.getHours()).padStart(2,"0")}:00`}},splitLine:{show:!1}},yAxis:{type:"value",axisLine:{show:!1},axisLabel:{color:J,fontSize:11,fontFamily:"JetBrains Mono, monospace"},splitLine:{lineStyle:{color:Y,type:"dashed"}}},series:[{name:"已完成",type:"line",smooth:!0,showSymbol:!1,data:W.map(Q=>[Q[0],Q[1]]),lineStyle:{width:2,color:G},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:`${G}55`},{offset:1,color:`${G}00`}]}},itemStyle:{color:G}},{name:"执行中",type:"line",smooth:!0,showSymbol:!1,data:W.map(Q=>[Q[0],Q[2]]),lineStyle:{width:2,color:O},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:`${O}55`},{offset:1,color:`${O}00`}]}},itemStyle:{color:O}}]})}let j=null;function rt(){if(!s.value)return;j?.dispose(),j=Wl(s.value,void 0,{renderer:"canvas"});const O=u("--mg-text-light","#1a0f3d"),J=!O.startsWith("rgba(255")&&O.toLowerCase()!=="#fff"&&O.toLowerCase()!=="#ffffff"?"#ffffff":"rgba(28,14,62,0.95)",Y=P.value;j.setOption({backgroundColor:"transparent",tooltip:{trigger:"item",formatter:"{b}: {c} 台 ({d}%)"},color:Y.map(W=>W.color),series:[{name:"AGV 状态",type:"pie",radius:["62%","88%"],center:["50%","50%"],avoidLabelOverlap:!1,itemStyle:{borderColor:J,borderWidth:2,borderRadius:3},emphasis:{itemStyle:{shadowBlur:12,shadowColor:"rgba(124, 58, 237, 0.30)"},scale:!0,scaleSize:4},label:{show:!1},labelLine:{show:!1},data:Y.map(W=>({name:W.label,value:W.value}))}]})}function tt(){H?.resize(),j?.resize()}return fd(async()=>{[t.value,r.value,n.value,i.value]=await Promise.all([Ky(),jy(),Jy(),Qy()]),r.value,await hd(),X(),rt(),window.addEventListener("resize",tt),f=setInterval(h,1e3)}),pd(()=>{window.removeEventListener("resize",tt),f&&clearInterval(f),H?.dispose(),H=null,j?.dispose(),j=null}),(O,G)=>{const J=yd,Y=dd,W=wd,Q=bd,et=xd;return bt(),Lt("div",fC,[z("section",hC,[z("div",pC,[z("span",{class:Se(["status-conn",p.value])},[z("span",{class:Se(["mg-live-dot",d.value])},null,2),z("span",null,yt(g.value),1)],2),G[4]||(G[4]=z("span",{class:"status-divider"},null,-1)),z("span",dC,[G[1]||(G[1]=z("span",{class:"status-stat-label"},"在线 AGV",-1)),z("span",gC,[$e(yt(y.value)+" ",1),z("span",yC,"/ "+yt(n.value.length||"—"),1)])]),G[5]||(G[5]=z("span",{class:"status-divider"},null,-1)),z("span",mC,[G[2]||(G[2]=z("span",{class:"status-stat-label"},"告警",-1)),z("span",{class:Se(["status-stat-value mg-num",{"is-danger":F.value>0}])},yt(F.value),3)]),G[6]||(G[6]=z("span",{class:"status-divider"},null,-1)),z("span",SC,[G[3]||(G[3]=z("span",{class:"status-stat-label"},"活跃任务",-1)),z("span",xC,yt(S.value),1)])]),z("div",bC,[z("span",_C,[z("span",wC,yt(c.value),1),z("span",AC,yt(v.value),1)])])]),z("section",TC,[G[13]||(G[13]=z("div",{class:"hero-bg","aria-hidden":"true"},[z("div",{class:"hero-orb hero-orb-a"}),z("div",{class:"hero-orb hero-orb-b"}),z("div",{class:"hero-grid"})],-1)),z("div",CC,[G[7]||(G[7]=z("div",{class:"hero-tag"},[z("span",{class:"tag-dot"}),z("span",null,"智能调度 · 一站式平台")],-1)),G[8]||(G[8]=z("h1",{class:"hero-title"},"迷毂智能调度平台",-1)),G[9]||(G[9]=z("p",{class:"hero-desc"},"以下是系统快捷入口,也可以通过点击「添加」功能进行调整",-1)),z("div",DC,[(bt(!0),Lt(Ye,null,Ze(m.value,(B,ct)=>(bt(),Lt("button",{key:B.key,class:Se(["quick-item",{primary:B.primary}]),style:ui({animationDelay:`${ct*60}ms`}),title:B.hint??B.label,onClick:vt=>x(B)},[z("span",IC,[$t(J,{size:22},{default:Ht(()=>[(bt(),vi(bl(B.icon)))]),_:2},1024)]),z("span",MC,yt(B.label),1)],14,LC))),128))])]),z("div",PC,[G[12]||(G[12]=z("div",{class:"hero-glow"},null,-1)),(bt(),Lt("svg",EC,[G[10]||(G[10]=xl('',4)),z("g",RC,[(bt(),Lt(Ye,null,Ze(4,B=>z("g",{key:`shelf-${B}`},[z("rect",{x:140+(B-1)*60,y:"130",width:"40",height:"70",rx:"3",fill:"url(#boxGrad2)",opacity:"0.85"},null,8,kC),z("rect",{x:146+(B-1)*60,y:"138",width:"28",height:"6",fill:"rgba(255,255,255,0.18)"},null,8,VC),z("rect",{x:146+(B-1)*60,y:"152",width:"28",height:"6",fill:"rgba(255,255,255,0.12)"},null,8,NC),z("rect",{x:146+(B-1)*60,y:"166",width:"28",height:"6",fill:"rgba(255,255,255,0.10)"},null,8,zC),z("rect",{x:146+(B-1)*60,y:"180",width:"28",height:"6",fill:"rgba(255,255,255,0.08)"},null,8,GC)])),64))]),G[11]||(G[11]=xl(' AGV-021 · 92% ',7))]))])]),z("section",OC,[(bt(!0),Lt(Ye,null,Ze(L.value,B=>(bt(),Lt("div",{class:"bento bento-kpi",key:B.key},[z("div",{class:Se(["kpi-accent",`tone-${B.tone}`])},null,2),z("div",BC,[z("div",FC,[$t(J,{size:18,class:Se(["kpi-icon-sm",`tone-${B.tone}`])},{default:Ht(()=>[(bt(),vi(bl(B.icon)))]),_:2},1032,["class"]),z("span",HC,yt(B.label),1)]),z("div",WC,[z("span",UC,yt(B.value),1),z("span",{class:Se(["kpi-trend",`trend-${B.trend.dir}`])},[z("span",$C,yt(B.trend.arrow),1),z("span",YC,yt(B.trend.text),1)],2)])]),(bt(),Lt("svg",ZC,[z("defs",null,[z("linearGradient",{id:`spark-grad-${B.key}`,x1:"0",y1:"0",x2:"0",y2:"1"},[z("stop",{offset:"0%","stop-color":B.tone==="danger"?"var(--mg-status-danger)":B.tone==="warning"?"var(--mg-status-warning)":"var(--mg-primary-hover)","stop-opacity":"0.50"},null,8,qC),z("stop",{offset:"100%","stop-color":B.tone==="danger"?"var(--mg-status-danger)":B.tone==="warning"?"var(--mg-status-warning)":"var(--mg-primary-hover)","stop-opacity":"0"},null,8,KC)],8,XC)]),z("path",{d:B.sparkArea,fill:`url(#spark-grad-${B.key})`},null,8,jC),z("path",{d:B.sparkLine,fill:"none","stroke-width":"1.5",stroke:B.tone==="danger"?"var(--mg-status-danger)":B.tone==="warning"?"var(--mg-status-warning)":"var(--mg-primary-hover)"},null,8,JC)]))]))),128)),$t(Y,{shadow:"never",class:"bento bento-trend"},{header:Ht(()=>[z("div",QC,[z("span",tD,[$t(J,null,{default:Ht(()=>[$t(Oa(md))]),_:1}),G[14]||(G[14]=$e(" 24h 任务趋势 ",-1))]),G[15]||(G[15]=z("span",{class:"card-tip mg-num"},"最近 24 小时 · 5 分钟粒度",-1))])]),default:Ht(()=>[z("div",{ref_key:"trendChartRef",ref:o,class:"trend-chart"},null,512)]),_:1}),$t(Y,{shadow:"never",class:"bento bento-agv"},{header:Ht(()=>[z("div",eD,[z("span",rD,[$t(J,null,{default:Ht(()=>[$t(Oa(_l))]),_:1}),G[16]||(G[16]=$e(" AGV 状态分布 ",-1))]),z("span",aD,[$e(yt(E.value)+" 台",1),I.value?(bt(),Lt("span",nD,"·示例")):wl("",!0)])])]),default:Ht(()=>[z("div",iD,[z("div",oD,[z("div",{ref_key:"agvChartRef",ref:s,class:"agv-chart"},null,512),z("div",sD,[z("div",lD,yt(E.value),1),G[17]||(G[17]=z("div",{class:"agv-center-label"},"总台数",-1))])]),z("ul",uD,[(bt(!0),Lt(Ye,null,Ze(P.value,B=>(bt(),Lt("li",{key:B.key},[z("span",{class:"dot",style:ui({background:B.color})},null,4),z("span",vD,yt(B.label),1),z("span",cD,yt(B.value),1),z("span",fD,yt(E.value>0?Math.round(B.value/E.value*100):0)+"%",1)]))),128))])])]),_:1}),$t(Y,{shadow:"never",class:"bento bento-ratio"},{header:Ht(()=>[z("div",hD,[z("span",pD,[$t(J,null,{default:Ht(()=>[$t(Oa(Sd))]),_:1}),G[18]||(G[18]=$e(" 各任务占比 ",-1))]),z("span",dD,"总计 "+yt(i.value.length)+" 个任务",1)])]),default:Ht(()=>[z("div",gD,[(bt(!0),Lt(Ye,null,Ze(M.value,B=>(bt(),Lt("span",{key:B.name,class:Se(["ratio-seg",`tone-${B.tone}`]),style:ui({width:`${B.pct}%`}),title:`${B.name} ${B.pct}%`},[B.pct>=8?(bt(),Lt("span",mD,yt(B.pct)+"%",1)):wl("",!0)],14,yD))),128))]),z("ul",SD,[(bt(!0),Lt(Ye,null,Ze(M.value,B=>(bt(),Lt("li",{key:B.name},[z("span",{class:Se(["dot",`tone-${B.tone}`])},null,2),z("span",xD,yt(B.name),1),z("span",bD,yt(B.pct)+"%",1)]))),128))])]),_:1}),$t(Y,{shadow:"never",class:"bento bento-todo"},{header:Ht(()=>[z("div",_D,[z("span",wD,[$t(J,null,{default:Ht(()=>[$t(Oa(_d))]),_:1}),G[19]||(G[19]=$e(" 待办事项 ",-1))]),$t(W,{class:"more-link",underline:"never"},{default:Ht(()=>[...G[20]||(G[20]=[$e("详情 ›",-1)])]),_:1})])]),default:Ht(()=>[$t(et,{modelValue:l.value,"onUpdate:modelValue":G[0]||(G[0]=B=>l.value=B),class:"todo-tabs"},{default:Ht(()=>[(bt(!0),Lt(Ye,null,Ze(N.value,B=>(bt(),vi(Q,{key:B.name,name:B.name},{label:Ht(()=>[z("span",AD,[$e(yt(B.label)+" ",1),z("em",{class:Se(["tab-count",B.tone])},yt(B.count),3)])]),default:Ht(()=>[B.count===0?(bt(),Lt("div",TD,[...G[21]||(G[21]=[z("svg",{width:"120",height:"80",viewBox:"0 0 120 80",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[z("defs",null,[z("linearGradient",{id:"empGrad",x1:"0",y1:"0",x2:"1",y2:"1"},[z("stop",{offset:"0%","stop-color":"var(--mg-primary-hover)"}),z("stop",{offset:"100%","stop-color":"var(--mg-primary-active)"})])]),z("ellipse",{cx:"60",cy:"68",rx:"40",ry:"6",fill:"rgba(var(--mg-accent-rgb),0.15)"}),z("rect",{x:"34",y:"28",width:"52",height:"32",rx:"4",fill:"url(#empGrad)",opacity:"0.8"}),z("rect",{x:"40",y:"34",width:"40",height:"3",rx:"1.5",fill:"rgba(255,255,255,0.4)"}),z("rect",{x:"40",y:"42",width:"30",height:"3",rx:"1.5",fill:"rgba(255,255,255,0.30)"}),z("rect",{x:"40",y:"50",width:"36",height:"3",rx:"1.5",fill:"rgba(255,255,255,0.20)"}),z("circle",{cx:"80",cy:"22",r:"6",fill:"var(--mg-accent)",opacity:"0.85"}),z("path",{d:"M77 22h6M80 19v6",stroke:"var(--mg-bg-aside-2)","stroke-width":"1.5","stroke-linecap":"round"})],-1),z("p",null,"暂无数据",-1)])])):(bt(),Lt("ul",CD,[(bt(!0),Lt(Ye,null,Ze(B.items??[],(ct,vt)=>(bt(),Lt("li",{key:vt},[z("span",{class:Se(["todo-pill",B.tone])},yt(B.label),3),z("span",DD,yt(ct.text),1),z("span",LD,yt(ct.time),1)]))),128))]))]),_:2},1032,["name"]))),128))]),_:1},8,["modelValue"])]),_:1})])])}}}),GD=Vd(ID,[["__scopeId","data-v-1b654847"]]);export{GD as default}; diff --git a/MiGu.Server/wwwroot/assets/DashboardView-hw3Lq69B.css b/MiGu.Server/wwwroot/assets/DashboardView-hw3Lq69B.css deleted file mode 100644 index 4de1667..0000000 --- a/MiGu.Server/wwwroot/assets/DashboardView-hw3Lq69B.css +++ /dev/null @@ -1 +0,0 @@ -.dashboard[data-v-1b654847]{padding:0;display:flex;flex-direction:column;gap:18px}.dashboard[data-v-1b654847]>*{flex-shrink:0}.hero-banner[data-v-1b654847]{position:relative;display:grid;grid-template-columns:1fr 480px;gap:24px;padding:28px 32px 22px;overflow:hidden;border-radius:18px;background:radial-gradient(ellipse at 0% 0%,rgba(var(--mg-primary-hover-rgb),.5) 0%,transparent 55%),radial-gradient(ellipse at 100% 100%,rgba(var(--mg-accent-rgb),.45) 0%,transparent 55%),linear-gradient(135deg,var(--mg-bg-aside-1) 0%,var(--mg-bg-aside-2) 100%);border:1px solid rgba(var(--mg-accent-rgb),.3);box-shadow:0 18px 44px #0006,0 0 0 1px #ffffff0f inset,0 1px #ffffff2e inset;color:#fff}.hero-banner[data-v-1b654847]:before{content:"";position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(var(--mg-accent-rgb),.8) 50%,transparent 100%);pointer-events:none;z-index:2}.hero-bg[data-v-1b654847]{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:18px}.hero-orb[data-v-1b654847]{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;animation:hero-drift-1b654847 18s ease-in-out infinite}.hero-orb-a[data-v-1b654847]{width:360px;height:360px;top:-120px;left:10%;background:radial-gradient(circle,rgba(var(--mg-accent-rgb),.85) 0%,rgba(var(--mg-primary-rgb),.85) 55%,transparent 85%)}.hero-orb-b[data-v-1b654847]{width:320px;height:320px;bottom:-120px;right:22%;background:radial-gradient(circle,rgba(var(--mg-primary-hover-rgb),.8) 0%,rgba(var(--mg-primary-rgb),.55) 55%,transparent 85%);animation-delay:-7s;opacity:.5}.hero-grid[data-v-1b654847]{position:absolute;inset:0;background-image:linear-gradient(rgba(var(--mg-accent-rgb),.07) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--mg-accent-rgb),.07) 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(ellipse at center,rgba(0,0,0,.85) 0%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,rgba(0,0,0,.85) 0%,transparent 75%);opacity:.55}@keyframes hero-drift-1b654847{0%,to{transform:translate(0) scale(1)}50%{transform:translate(24px,-28px) scale(1.06)}}.hero-left[data-v-1b654847],.hero-right[data-v-1b654847]{position:relative;z-index:1}.hero-tag[data-v-1b654847]{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;background:#ffffff1f;border:1px solid rgba(var(--mg-accent-rgb),.55);border-radius:999px;color:#fff;font-size:12px;letter-spacing:1.5px;width:max-content;box-shadow:0 0 12px rgba(var(--mg-primary-rgb),.3)}.tag-dot[data-v-1b654847]{width:6px;height:6px;border-radius:50%;background:var(--mg-accent);box-shadow:0 0 10px var(--mg-accent);animation:tag-pulse-1b654847 1.6s ease-in-out infinite}@keyframes tag-pulse-1b654847{0%,to{opacity:.6;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.hero-title[data-v-1b654847]{margin:14px 0 8px;font-size:40px;font-weight:700;letter-spacing:5px;line-height:1.1;color:#fff;background:linear-gradient(135deg,#ffffff 0%,var(--mg-accent) 50%,#ffffff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 4px 20px rgba(var(--mg-primary-rgb),.6);filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}.hero-desc[data-v-1b654847]{margin:0 0 22px;color:#ffffffd9;font-size:13px;letter-spacing:.8px}.quick-grid[data-v-1b654847]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 18px;max-width:540px}.quick-item[data-v-1b654847]{appearance:none;background:#ffffff14;border:1px solid rgba(var(--mg-accent-rgb),.35);border-radius:14px;padding:14px 10px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;color:#fff;transition:all .25s cubic-bezier(.25,.8,.25,1);position:relative;overflow:hidden;animation:quick-in-1b654847 .5s ease-out backwards;box-shadow:0 4px 12px #00000040,0 0 0 1px #ffffff0f inset}@keyframes quick-in-1b654847{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.quick-item[data-v-1b654847]:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 30%,rgba(var(--mg-accent-rgb),.15) 100%);opacity:0;transition:opacity .25s}.quick-item[data-v-1b654847]:hover{border-color:rgba(var(--mg-accent-rgb),.75);background:#ffffff24;color:#fff;transform:translateY(-3px);box-shadow:0 12px 28px rgba(var(--mg-primary-rgb),.45),0 0 22px rgba(var(--mg-accent-rgb),.4)}.quick-item[data-v-1b654847]:hover:before{opacity:1}.quick-icon[data-v-1b654847]{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,rgba(var(--mg-primary-hover-rgb),.6),rgba(var(--mg-primary-rgb),.45));border:1px solid rgba(var(--mg-accent-rgb),.55);display:inline-flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 6px 16px rgba(var(--mg-primary-rgb),.4),0 0 0 1px #ffffff2e inset;transition:all .25s}.quick-item:hover .quick-icon[data-v-1b654847]{background:linear-gradient(135deg,var(--mg-primary-hover) 0%,var(--mg-primary) 100%);box-shadow:0 10px 24px rgba(var(--mg-primary-rgb),.6),0 0 24px rgba(var(--mg-accent-rgb),.6),0 0 0 1px #ffffff59 inset}.quick-label[data-v-1b654847]{font-size:13px;font-weight:500;letter-spacing:1.2px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4)}.quick-item.primary[data-v-1b654847]{border-color:rgba(var(--mg-accent-rgb),.75);background:linear-gradient(135deg,rgba(var(--mg-primary-hover-rgb),.45),rgba(var(--mg-primary-rgb),.25));box-shadow:0 8px 22px rgba(var(--mg-primary-rgb),.45),0 0 0 1px rgba(var(--mg-accent-rgb),.45) inset}.quick-item.primary .quick-icon[data-v-1b654847]{background:linear-gradient(135deg,var(--mg-accent) 0%,var(--mg-primary-hover) 60%,var(--mg-primary) 100%);box-shadow:0 8px 20px rgba(var(--mg-primary-rgb),.55),0 0 28px rgba(var(--mg-accent-rgb),.55),0 0 0 1px #ffffff4d inset;animation:mg-pulse-glow 3.6s ease-in-out infinite}.hero-right[data-v-1b654847]{position:relative;align-self:stretch;min-height:280px;display:flex;align-items:center;justify-content:center}.hero-glow[data-v-1b654847]{position:absolute;inset:10% 5%;background:radial-gradient(ellipse at 30% 40%,rgba(var(--mg-primary-hover-rgb),.55) 0%,transparent 60%),radial-gradient(ellipse at 70% 60%,rgba(var(--mg-accent-rgb),.3) 0%,transparent 65%);filter:blur(36px);pointer-events:none}.hero-scene[data-v-1b654847]{position:relative;width:100%;height:auto;max-height:320px;filter:drop-shadow(0 12px 32px rgba(var(--mg-primary-rgb),.45))}.hero-scene .agv-1[data-v-1b654847]{animation:agv-roll-1b654847 6s ease-in-out infinite}.hero-scene .agv-2[data-v-1b654847]{animation:agv-roll-1b654847 8s ease-in-out infinite reverse}.hero-scene .float-data[data-v-1b654847]{animation:float-bob-1b654847 4.5s ease-in-out infinite}.hero-scene .float-data[data-v-1b654847]:nth-child(odd){animation-delay:-2.2s}@keyframes agv-roll-1b654847{0%,to{transform:translate(0)}50%{transform:translate(-20px)}}@keyframes float-bob-1b654847{0%,to{transform:translate(360px,110px)}50%{transform:translate(360px,100px)}}.status-bar[data-v-1b654847]{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 20px;border-radius:12px;background:linear-gradient(135deg,#fff,#fbf9ff);border:1px solid #ddd5ec;border-left:3px solid #7c3aed;box-shadow:0 1px 2px #2d1b690d,0 8px 22px #6c47c81a;color:#1a0f3d;font-size:13px}.status-left[data-v-1b654847],.status-right[data-v-1b654847]{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.status-conn[data-v-1b654847]{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;background:#c4b5fd;border:1px solid #8b6ff0;font-weight:600;letter-spacing:.4px;font-size:12px;box-shadow:inset 0 1px #ffffff8c,0 1px 3px #7c3aed26}.status-conn.success[data-v-1b654847]{color:var(--mg-status-success);background:rgba(var(--mg-status-success-rgb),.32);border-color:rgba(var(--mg-status-success-rgb),.7);box-shadow:inset 0 1px #ffffff8c,0 1px 3px rgba(var(--mg-status-success-rgb),.25)}.status-conn.warning[data-v-1b654847]{color:var(--mg-status-warning);background:rgba(var(--mg-status-warning-rgb),.32);border-color:rgba(var(--mg-status-warning-rgb),.7);box-shadow:inset 0 1px #ffffff8c,0 1px 3px rgba(var(--mg-status-warning-rgb),.25)}.status-conn.danger[data-v-1b654847]{color:var(--mg-status-danger);background:rgba(var(--mg-status-danger-rgb),.32);border-color:rgba(var(--mg-status-danger-rgb),.7);box-shadow:inset 0 1px #ffffff8c,0 1px 3px rgba(var(--mg-status-danger-rgb),.25)}.status-divider[data-v-1b654847]{width:1px;height:14px;background:#a78bfa}.status-stat[data-v-1b654847]{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;background:#c8b8f5;border:1px solid #9d86e6;letter-spacing:.4px;box-shadow:inset 0 1px #ffffff8c,0 1px 3px #7c3aed1f}.status-stat-label[data-v-1b654847]{color:#4a3a6d;font-size:12px;font-weight:600}.status-stat-value[data-v-1b654847]{color:#1f0d54;font-weight:700;font-size:14px}.status-stat-value.is-danger[data-v-1b654847]{color:var(--mg-status-danger)}.status-stat-total[data-v-1b654847]{font-size:12px;color:#9b8eb8;font-weight:500}.bento-grid[data-v-1b654847]{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:minmax(0,auto);gap:16px}.bento[data-v-1b654847]{position:relative;border-radius:14px;background:#fff;border:1px solid #e2dbf0;box-shadow:0 1px 2px #2d1b690d,0 10px 26px #6c47c81a;color:#2d1b69;transition:transform .25s cubic-bezier(.25,.8,.25,1),box-shadow .25s,border-color .25s;overflow:hidden}.bento[data-v-1b654847]:hover{transform:translateY(-2px);border-color:#c4b5fd;box-shadow:0 4px 14px #2d1b691a,0 18px 40px #6c47c829}.bento[data-v-1b654847] .el-card{background:transparent!important;border:none!important;box-shadow:none!important;color:inherit;height:100%}.bento[data-v-1b654847] .el-card__header{background:transparent!important;border-bottom:1px solid #f0eaf6!important;padding:14px 18px}.bento[data-v-1b654847] .el-card__body{padding:16px 18px}.card-head[data-v-1b654847]{display:flex;align-items:center;justify-content:space-between}.card-title[data-v-1b654847]{display:inline-flex;align-items:center;gap:8px;color:#2d1b69;font-size:14px;font-weight:600;letter-spacing:.4px}.card-title .el-icon[data-v-1b654847]{color:#7c3aed}.card-tip[data-v-1b654847]{font-size:12px;color:#6b5b8e;letter-spacing:.3px;font-weight:500}.more-link[data-v-1b654847]{color:#6b5b8e!important;font-size:12.5px}.more-link[data-v-1b654847]:hover{color:#7c3aed!important}.bento-kpi[data-v-1b654847]{grid-column:span 2;padding:16px 18px 14px;display:flex;flex-direction:column;justify-content:space-between;min-height:116px}.kpi-accent[data-v-1b654847]{position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--mg-primary-hover),var(--mg-accent) 50%,transparent);opacity:.85}.kpi-accent.tone-info[data-v-1b654847]{background:linear-gradient(90deg,var(--mg-status-info),rgba(var(--mg-status-info-rgb),.2) 80%,transparent)}.kpi-accent.tone-success[data-v-1b654847]{background:linear-gradient(90deg,var(--mg-status-success),rgba(var(--mg-status-success-rgb),.2) 80%,transparent)}.kpi-accent.tone-warning[data-v-1b654847]{background:linear-gradient(90deg,var(--mg-status-warning),rgba(var(--mg-status-warning-rgb),.2) 80%,transparent)}.kpi-accent.tone-danger[data-v-1b654847]{background:linear-gradient(90deg,var(--mg-status-danger),rgba(var(--mg-status-danger-rgb),.2) 80%,transparent)}.kpi-accent.tone-idle[data-v-1b654847]{background:linear-gradient(90deg,var(--mg-status-idle),rgba(var(--mg-status-idle-rgb),.2) 80%,transparent)}.kpi-body[data-v-1b654847]{display:flex;flex-direction:column;gap:6px;z-index:1}.kpi-row1[data-v-1b654847]{display:flex;align-items:center;gap:8px}.kpi-icon-sm[data-v-1b654847]{color:var(--mg-text-muted)}.kpi-icon-sm.tone-info[data-v-1b654847]{color:var(--mg-status-info)}.kpi-icon-sm.tone-success[data-v-1b654847]{color:var(--mg-status-success)}.kpi-icon-sm.tone-warning[data-v-1b654847]{color:var(--mg-status-warning)}.kpi-icon-sm.tone-danger[data-v-1b654847]{color:var(--mg-status-danger)}.kpi-icon-sm.tone-idle[data-v-1b654847]{color:var(--mg-status-idle)}.kpi-label[data-v-1b654847]{font-size:12px;color:#6b5b8e;letter-spacing:.5px;font-weight:500}.kpi-row2[data-v-1b654847]{display:flex;align-items:baseline;gap:8px}.kpi-value[data-v-1b654847]{font-size:30px;font-weight:700;color:#1a0f3d;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums;line-height:1.05;letter-spacing:-.5px}.kpi-trend[data-v-1b654847]{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:600;padding:2px 6px;border-radius:999px}.kpi-trend.trend-up[data-v-1b654847]{background:rgba(var(--mg-status-success-rgb),.16);color:var(--mg-status-success)}.kpi-trend.trend-down[data-v-1b654847]{background:rgba(var(--mg-status-danger-rgb),.16);color:var(--mg-status-danger)}.kpi-trend.trend-flat[data-v-1b654847]{background:rgba(var(--mg-status-idle-rgb),.16);color:var(--mg-status-idle)}.kpi-trend-text[data-v-1b654847]{font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums}.kpi-spark[data-v-1b654847]{position:absolute;left:0;right:0;bottom:0;height:32px;width:100%;pointer-events:none;opacity:.65}.bento-trend[data-v-1b654847]{grid-column:span 8;min-height:280px;display:flex;flex-direction:column}.bento-trend[data-v-1b654847] .el-card{display:flex;flex-direction:column}.bento-trend[data-v-1b654847] .el-card__body{flex:1;display:flex;padding:14px 18px 18px}.trend-chart[data-v-1b654847]{flex:1;width:100%;height:100%;min-height:220px}.bento-agv[data-v-1b654847]{grid-column:span 4;min-height:280px}.bento-agv[data-v-1b654847] .el-card__body{padding:14px 16px 18px}.mock-tag[data-v-1b654847]{display:inline-block;margin-left:6px;padding:1px 6px;background:#f0eaf6;color:#7c3aed;border-radius:4px;font-size:10.5px;font-weight:600;letter-spacing:.3px;vertical-align:1px}.agv-row[data-v-1b654847]{display:flex;align-items:center;gap:8px;min-height:220px}.agv-chart-wrap[data-v-1b654847]{position:relative;width:170px;height:200px;flex-shrink:0}.agv-chart[data-v-1b654847]{width:100%;height:100%}.agv-center[data-v-1b654847]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none}.agv-center-value[data-v-1b654847]{font-size:28px;font-weight:700;color:#1a0f3d;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums;line-height:1.05;letter-spacing:-.5px}.agv-center-label[data-v-1b654847]{font-size:11px;color:#6b5b8e;font-weight:500;letter-spacing:.5px;margin-top:2px}.agv-legend[data-v-1b654847]{flex:1;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.agv-legend li[data-v-1b654847]{display:grid;grid-template-columns:12px 1fr auto auto;align-items:center;gap:8px;font-size:12.5px;color:#3d2b6e;padding:5px 8px;border-radius:6px;transition:background .2s}.agv-legend li[data-v-1b654847]:hover{background:#f5f3ff}.agv-legend .legend-name[data-v-1b654847]{color:#4a3d6e;font-weight:500}.agv-legend .legend-value[data-v-1b654847]{font-weight:700;color:#1a0f3d;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums;text-align:right;min-width:18px}.agv-legend .legend-pct[data-v-1b654847]{font-size:11px;color:#9b8eb8;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums;text-align:right;min-width:32px}.agv-legend .dot[data-v-1b654847]{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3px #0000000d}.bento-ratio[data-v-1b654847]{grid-column:span 7}.ratio-track[data-v-1b654847]{display:flex;width:100%;height:32px;border-radius:999px;overflow:hidden;background:#f0eaf6;border:1px solid #e8e1f0;margin-bottom:14px;box-shadow:inset 0 1px 2px #2d1b690a}.ratio-seg[data-v-1b654847]{display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;letter-spacing:.4px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35);cursor:default;position:relative;transition:filter .2s}.ratio-seg[data-v-1b654847]:hover{filter:brightness(1.1)}.ratio-seg.tone-info[data-v-1b654847]{background:linear-gradient(180deg,var(--mg-status-info),rgba(var(--mg-status-info-rgb),.92))}.ratio-seg.tone-success[data-v-1b654847]{background:linear-gradient(180deg,var(--mg-status-success),rgba(var(--mg-status-success-rgb),.92))}.ratio-seg.tone-warning[data-v-1b654847]{background:linear-gradient(180deg,var(--mg-status-warning),rgba(var(--mg-status-warning-rgb),.92))}.ratio-seg.tone-idle[data-v-1b654847]{background:linear-gradient(180deg,var(--mg-status-idle),rgba(var(--mg-status-idle-rgb),.92))}.ratio-seg-pct[data-v-1b654847]{font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums}.ratio-legend[data-v-1b654847]{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px 18px}.ratio-legend li[data-v-1b654847]{display:flex;align-items:center;gap:8px;font-size:13px;color:#3d2b6e}.ratio-legend .dot[data-v-1b654847]{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 2px #fffffff2}.ratio-legend .dot.tone-info[data-v-1b654847]{background:var(--mg-status-info)}.ratio-legend .dot.tone-success[data-v-1b654847]{background:var(--mg-status-success)}.ratio-legend .dot.tone-warning[data-v-1b654847]{background:var(--mg-status-warning)}.ratio-legend .dot.tone-idle[data-v-1b654847]{background:var(--mg-status-idle)}.ratio-legend .legend-name[data-v-1b654847]{flex:1;color:#6b5b8e;font-weight:500}.ratio-legend .legend-value[data-v-1b654847]{font-weight:700;color:#1a0f3d;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums}.bento-todo[data-v-1b654847]{grid-column:span 5}.bento-todo[data-v-1b654847] .el-card__body{padding-top:8px}.todo-tabs[data-v-1b654847] .el-tabs__header{margin-bottom:8px}.todo-tabs[data-v-1b654847] .el-tabs__nav-wrap:after{display:none}.todo-tabs[data-v-1b654847] .el-tabs__item{color:#6b5b8e!important;font-weight:500}.todo-tabs[data-v-1b654847] .el-tabs__item:hover{color:#7c3aed!important}.todo-tabs[data-v-1b654847] .el-tabs__item.is-active{color:#7c3aed!important;font-weight:700}.todo-tabs[data-v-1b654847] .el-tabs__active-bar{background-color:#7c3aed!important;height:3px!important;border-radius:2px}.tab-label[data-v-1b654847]{display:inline-flex;align-items:center;gap:6px;font-size:13px}.tab-count[data-v-1b654847]{display:inline-flex;align-items:center;justify-content:center;font-style:normal;min-width:20px;height:18px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:700;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums}.tab-count.danger[data-v-1b654847]{background:rgba(var(--mg-status-danger-rgb),.18);color:var(--mg-status-danger);border:1px solid rgba(var(--mg-status-danger-rgb),.4)}.tab-count.warning[data-v-1b654847]{background:rgba(var(--mg-status-warning-rgb),.18);color:var(--mg-status-warning);border:1px solid rgba(var(--mg-status-warning-rgb),.4)}.tab-count.info[data-v-1b654847]{background:rgba(var(--mg-status-info-rgb),.18);color:var(--mg-status-info);border:1px solid rgba(var(--mg-status-info-rgb),.4)}.tab-count.success[data-v-1b654847]{background:rgba(var(--mg-status-success-rgb),.18);color:var(--mg-status-success);border:1px solid rgba(var(--mg-status-success-rgb),.4)}.empty-pane[data-v-1b654847]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 0 12px;color:#6b5b8e;font-size:13px}.empty-pane p[data-v-1b654847]{margin:6px 0 0;font-weight:500}.todo-list[data-v-1b654847]{list-style:none;padding:0 4px 0 0;margin:0;display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto}.todo-list li[data-v-1b654847]{display:grid;grid-template-columns:90px 1fr auto;gap:12px;align-items:center;padding:10px 12px;background:#faf7fd;border:1px solid #f0eaf6;border-radius:10px;font-size:13px;color:#2d1b69;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}.todo-list li[data-v-1b654847]:hover{background:#f5f3ff;border-color:#c4b5fd;transform:translate(2px);box-shadow:0 2px 6px #7c3aed14}.todo-text[data-v-1b654847]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.todo-pill[data-v-1b654847]{text-align:center;font-size:11px;padding:3px 8px;border-radius:999px;letter-spacing:.4px;font-weight:700}.todo-pill.danger[data-v-1b654847]{background:rgba(var(--mg-status-danger-rgb),.1);color:var(--mg-status-danger);border:1px solid rgba(var(--mg-status-danger-rgb),.32)}.todo-pill.warning[data-v-1b654847]{background:rgba(var(--mg-status-warning-rgb),.1);color:var(--mg-status-warning);border:1px solid rgba(var(--mg-status-warning-rgb),.32)}.todo-pill.info[data-v-1b654847]{background:rgba(var(--mg-status-info-rgb),.1);color:var(--mg-status-info);border:1px solid rgba(var(--mg-status-info-rgb),.32)}.todo-pill.success[data-v-1b654847]{background:rgba(var(--mg-status-success-rgb),.1);color:var(--mg-status-success);border:1px solid rgba(var(--mg-status-success-rgb),.32)}.todo-time[data-v-1b654847]{color:#9b8eb8;font-size:11.5px;font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums;font-weight:500}@media (max-width: 1440px){.bento-kpi[data-v-1b654847]{grid-column:span 3}.bento-trend[data-v-1b654847]{grid-column:span 8}.bento-agv[data-v-1b654847]{grid-column:span 4}.bento-ratio[data-v-1b654847]{grid-column:span 7}.bento-todo[data-v-1b654847]{grid-column:span 5}}@media (max-width: 1280px){.hero-banner[data-v-1b654847]{grid-template-columns:1fr 380px}.hero-right[data-v-1b654847]{min-height:240px}.bento-kpi[data-v-1b654847]{grid-column:span 4}.bento-trend[data-v-1b654847]{grid-column:span 12}.bento-agv[data-v-1b654847],.bento-ratio[data-v-1b654847]{grid-column:span 6}.bento-todo[data-v-1b654847]{grid-column:span 12}}@media (max-width: 1024px){.status-bar[data-v-1b654847]{flex-wrap:wrap}.hero-banner[data-v-1b654847]{grid-template-columns:1fr}.hero-right[data-v-1b654847]{display:none}.bento-kpi[data-v-1b654847]{grid-column:span 6}.bento-agv[data-v-1b654847],.bento-ratio[data-v-1b654847]{grid-column:span 12}}@media (max-width: 720px){.quick-grid[data-v-1b654847]{grid-template-columns:repeat(2,1fr)}.bento-kpi[data-v-1b654847]{grid-column:span 12}.agv-row[data-v-1b654847]{flex-direction:column;align-items:stretch}.agv-chart[data-v-1b654847]{width:100%;height:220px}}:root[data-theme=industrial-purple] .status-bar[data-v-1b654847]{background:linear-gradient(135deg,#26184ef0,#140c30f7);border-color:rgba(var(--mg-accent-rgb),.38);border-left-color:var(--mg-accent);box-shadow:0 4px 16px #00000061,0 0 0 1px #ffffff0f inset,0 1px #ffffff14 inset;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);color:#f4eeff}:root[data-theme=industrial-purple] .status-conn[data-v-1b654847]{background:rgba(var(--mg-primary-hover-rgb),.42);border-color:rgba(var(--mg-accent-rgb),.45);color:#f4eeff;box-shadow:inset 0 1px #ffffff1a,0 1px 4px #00000047}:root[data-theme=industrial-purple] .status-conn.success[data-v-1b654847]{color:#86efac;background:rgba(var(--mg-status-success-rgb),.28);border-color:rgba(var(--mg-status-success-rgb),.58);box-shadow:inset 0 1px #ffffff1f,0 1px 4px rgba(var(--mg-status-success-rgb),.3)}:root[data-theme=industrial-purple] .status-conn.warning[data-v-1b654847]{color:#fcd34d;background:rgba(var(--mg-status-warning-rgb),.28);border-color:rgba(var(--mg-status-warning-rgb),.58)}:root[data-theme=industrial-purple] .status-conn.danger[data-v-1b654847]{color:#fca5a5;background:rgba(var(--mg-status-danger-rgb),.28);border-color:rgba(var(--mg-status-danger-rgb),.58)}:root[data-theme=industrial-purple] .status-stat[data-v-1b654847]{background:rgba(var(--mg-primary-hover-rgb),.35);border-color:rgba(var(--mg-accent-rgb),.38);box-shadow:inset 0 1px #ffffff14,0 1px 3px #00000038}:root[data-theme=industrial-purple] .status-divider[data-v-1b654847]{background:rgba(var(--mg-accent-rgb),.48)}:root[data-theme=industrial-purple] .status-stat-label[data-v-1b654847]{color:#ffffffd1}:root[data-theme=industrial-purple] .status-stat-value[data-v-1b654847]{color:#fff}:root[data-theme=industrial-purple] .status-stat-total[data-v-1b654847]{color:#ffffff9e}:root[data-theme=industrial-purple] .status-stat-value.is-danger[data-v-1b654847]{color:#fca5a5}:root[data-theme=industrial-purple] .bento[data-v-1b654847]{background:linear-gradient(135deg,#26184ec7,#140c30db);border-color:rgba(var(--mg-accent-rgb),.16);box-shadow:0 10px 28px #00000073,0 0 22px rgba(var(--mg-primary-rgb),.16),0 0 0 1px #ffffff0a inset,0 1px #ffffff1f inset;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);color:#fff}:root[data-theme=industrial-purple] .bento[data-v-1b654847]:hover{border-color:rgba(var(--mg-accent-rgb),.45);box-shadow:0 18px 40px #0000008c,0 0 38px rgba(var(--mg-primary-hover-rgb),.32),0 0 0 1px rgba(var(--mg-accent-rgb),.25) inset,0 1px #ffffff2e inset}:root[data-theme=industrial-purple] .bento[data-v-1b654847] .el-card__header{border-bottom-color:rgba(var(--mg-accent-rgb),.14)!important}:root[data-theme=industrial-purple] .card-title[data-v-1b654847]{color:#fff}:root[data-theme=industrial-purple] .card-title .el-icon[data-v-1b654847]{color:var(--mg-accent)}:root[data-theme=industrial-purple] .card-tip[data-v-1b654847]{color:#ffffffb3}:root[data-theme=industrial-purple] .more-link[data-v-1b654847]{color:#ffffffb3!important}:root[data-theme=industrial-purple] .more-link[data-v-1b654847]:hover{color:var(--mg-accent)!important}:root[data-theme=industrial-purple] .kpi-label[data-v-1b654847]{color:#ffffffb8}:root[data-theme=industrial-purple] .kpi-value[data-v-1b654847]{color:#fff;text-shadow:0 0 18px rgba(var(--mg-primary-hover-rgb),.35)}:root[data-theme=industrial-purple] .agv-center-value[data-v-1b654847]{color:#fff;text-shadow:0 0 18px rgba(var(--mg-primary-hover-rgb),.45)}:root[data-theme=industrial-purple] .agv-center-label[data-v-1b654847]{color:#ffffffb8}:root[data-theme=industrial-purple] .agv-legend li[data-v-1b654847]{color:#f4eeff}:root[data-theme=industrial-purple] .agv-legend li[data-v-1b654847]:hover{background:rgba(var(--mg-accent-rgb),.1)}:root[data-theme=industrial-purple] .agv-legend .legend-name[data-v-1b654847]{color:#ffffffc7}:root[data-theme=industrial-purple] .agv-legend .legend-value[data-v-1b654847]{color:#fff}:root[data-theme=industrial-purple] .agv-legend .legend-pct[data-v-1b654847]{color:#ffffff8c}:root[data-theme=industrial-purple] .agv-legend .dot[data-v-1b654847]{box-shadow:0 0 8px currentColor}:root[data-theme=industrial-purple] .mock-tag[data-v-1b654847]{background:rgba(var(--mg-accent-rgb),.18);color:var(--mg-accent)}:root[data-theme=industrial-purple] .ratio-track[data-v-1b654847]{background:#ffffff0a;border-color:#ffffff14}:root[data-theme=industrial-purple] .ratio-legend li[data-v-1b654847]{color:#f4eeff}:root[data-theme=industrial-purple] .ratio-legend .legend-name[data-v-1b654847]{color:#ffffffb8}:root[data-theme=industrial-purple] .ratio-legend .legend-value[data-v-1b654847]{color:#fff}:root[data-theme=industrial-purple] .ratio-legend .dot[data-v-1b654847]{box-shadow:0 0 8px currentColor}:root[data-theme=industrial-purple] .todo-tabs[data-v-1b654847] .el-tabs__item{color:#ffffffa6!important}:root[data-theme=industrial-purple] .todo-tabs[data-v-1b654847] .el-tabs__item:hover,:root[data-theme=industrial-purple] .todo-tabs[data-v-1b654847] .el-tabs__item.is-active{color:#fff!important}:root[data-theme=industrial-purple] .todo-tabs[data-v-1b654847] .el-tabs__active-bar{background-color:var(--mg-accent)!important}:root[data-theme=industrial-purple] .empty-pane[data-v-1b654847]{color:#ffffffb3}:root[data-theme=industrial-purple] .todo-list li[data-v-1b654847]{background:#ffffff08;border-color:#ffffff0f;color:#f4eeff}:root[data-theme=industrial-purple] .todo-list li[data-v-1b654847]:hover{background:rgba(var(--mg-accent-rgb),.08);border-color:rgba(var(--mg-accent-rgb),.3)}:root[data-theme=industrial-purple] .todo-time[data-v-1b654847]{color:#ffffff8c} diff --git a/MiGu.Server/wwwroot/assets/FRLD-logo-white-no_title-BE78iS6n.js b/MiGu.Server/wwwroot/assets/FRLD-logo-white-no_title-BE78iS6n.js deleted file mode 100644 index d452fe9..0000000 --- a/MiGu.Server/wwwroot/assets/FRLD-logo-white-no_title-BE78iS6n.js +++ /dev/null @@ -1 +0,0 @@ -const o="/FRLD-logo-white-no_title.png";export{o as _}; diff --git a/MiGu.Server/wwwroot/assets/FacilityConfigView-BdZ62AIz.js b/MiGu.Server/wwwroot/assets/FacilityConfigView-BdZ62AIz.js deleted file mode 100644 index a4f8c37..0000000 --- a/MiGu.Server/wwwroot/assets/FacilityConfigView-BdZ62AIz.js +++ /dev/null @@ -1 +0,0 @@ -import{aN as u,bs as b,aE as E,c8 as t,aK as e,ac as f,a9 as h,aa as V,ab as T,a8 as I,B as P,C as B,aJ as p,bL as _,bS as C,a as L,$ as N,d as q,bC as A,c7 as g,aG as S,bW as k,bX as z,aD as y,ak as U}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css */import{C as D}from"./ConfigPageBase-CgfsngDp.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./PermissionGuard-CR4qtxrh.js";/* empty css */import"./reflection-BwOBPyb9.js";import"./monitorConfigCache-DXn96T8F.js";const F=u({__name:"DeviceHubView",setup(w){return(r,m)=>{const a=T,i=V,o=h,l=I,n=B,c=P,d=f;return b(),E(D,{section:"device",title:"第三方设备统一接入",description:"电梯/卷帘门/安全门/充电桩/AP/交换机/摄像头/读码器/PLC(DeviceManagementConfig)",defaults:C(L)},{default:t(({payload:s})=>[e(d,{"model-value":"drivers"},{default:t(()=>[e(o,{name:"drivers",label:"驱动绑定"},{default:t(()=>[e(i,{data:s.drivers,size:"small",border:""},{default:t(()=>[e(a,{label:"ID",prop:"id",width:"120"}),e(a,{label:"设备类型",prop:"deviceType",width:"120"}),e(a,{label:"驱动名",prop:"driverName"}),e(a,{label:"版本",prop:"version",width:"100"})]),_:1},8,["data"])]),_:2},1024),e(o,{name:"devices",label:"设备实例"},{default:t(()=>[e(i,{data:s.devices,size:"small",border:""},{default:t(()=>[e(a,{label:"ID",prop:"id",width:"120"}),e(a,{label:"名称",prop:"name",width:"140"}),e(a,{label:"类型",prop:"deviceType",width:"100"}),e(a,{label:"协议",prop:"protocol",width:"120"}),e(a,{label:"地址",prop:"address"}),e(a,{label:"启用",width:"80"},{default:t(v=>[e(l,{modelValue:v.row.enabled,"onUpdate:modelValue":x=>v.row.enabled=x},null,8,["modelValue","onUpdate:modelValue"])]),_:1})]),_:1},8,["data"])]),_:2},1024),e(o,{name:"policy",label:"健康 / 告警"},{default:t(()=>[e(c,{column:2,border:""},{default:t(()=>[e(n,{label:"心跳周期 (s)"},{default:t(()=>[p(_(s.healthPolicy.heartbeatSec),1)]),_:2},1024),e(n,{label:"离线判定 (s)"},{default:t(()=>[p(_(s.healthPolicy.offlineSec),1)]),_:2},1024),e(n,{label:"告警启用"},{default:t(()=>[p(_(s.alarmPolicy.enabled?"是":"否"),1)]),_:2},1024),e(n,{label:"规则数"},{default:t(()=>[p(_(s.alarmPolicy.rules.length),1)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1},8,["defaults"])}}}),M=u({__name:"LocationView",setup(w){return(r,m)=>{const a=T,i=N,o=V,l=h,n=f;return b(),E(D,{section:"location",title:"库位管理",description:"出入库、库存、库位可视化(LocationManagement)",defaults:C(q)},{default:t(({payload:c})=>[e(n,{"model-value":"locs"},{default:t(()=>[e(l,{name:"locs",label:"库位"},{default:t(()=>[e(o,{data:c.locations,size:"small",border:""},{default:t(()=>[e(a,{label:"ID",prop:"id",width:"100"}),e(a,{label:"编码",prop:"code",width:"120"}),e(a,{label:"名称",prop:"name"}),e(a,{label:"站点",prop:"siteId",width:"100"}),e(a,{label:"容量",prop:"capacity",width:"100"}),e(a,{label:"占用"},{default:t(d=>[e(i,{percentage:Math.round(d.row.occupied/d.row.capacity*100),"stroke-width":10},null,8,["percentage"])]),_:1})]),_:1},8,["data"])]),_:2},1024),e(l,{name:"rules",label:"库存规则"},{default:t(()=>[e(o,{data:c.inventoryRules,size:"small",border:""},{default:t(()=>[e(a,{label:"ID",prop:"id",width:"100"}),e(a,{label:"物料类型",prop:"itemType"}),e(a,{label:"下限",prop:"minQty",width:"100"}),e(a,{label:"上限",prop:"maxQty",width:"100"})]),_:1},8,["data"])]),_:2},1024)]),_:2},1024)]),_:1},8,["defaults"])}}}),R={class:"config-hub-page"},$={class:"config-pane"},O={class:"config-pane"},Q=u({__name:"FacilityConfigView",setup(w){const r=k(),m=z(),a=["device","location"];function i(){const l=r.query.tab;return typeof l=="string"&&a.includes(l)?l:"device"}const o=A(i());return g(o,l=>{r.query.tab!==l&&m.replace({query:{...r.query,tab:l}})}),g(()=>r.query.tab,()=>{const l=i();l!==o.value&&(o.value=l)}),(l,n)=>{const c=h,d=f;return b(),S("div",R,[e(d,{modelValue:o.value,"onUpdate:modelValue":n[0]||(n[0]=s=>o.value=s),class:"hub-tabs"},{default:t(()=>[e(c,{name:"device",label:"设备接入"},{default:t(()=>[y("div",$,[e(F)])]),_:1}),e(c,{name:"location",label:"库位管理",lazy:""},{default:t(()=>[y("div",O,[e(M)])]),_:1})]),_:1},8,["modelValue"])])}}}),pe=U(Q,[["__scopeId","data-v-c7c6b85e"]]);export{pe as default}; diff --git a/MiGu.Server/wwwroot/assets/FacilityConfigView-DTlQlSfB.css b/MiGu.Server/wwwroot/assets/FacilityConfigView-DTlQlSfB.css deleted file mode 100644 index f70a3ca..0000000 --- a/MiGu.Server/wwwroot/assets/FacilityConfigView-DTlQlSfB.css +++ /dev/null @@ -1 +0,0 @@ -.config-hub-page[data-v-c7c6b85e]{padding:16px;height:100%;display:flex;flex-direction:column;overflow:hidden}.hub-tabs[data-v-c7c6b85e]{flex:1;min-height:0;display:flex;flex-direction:column}[data-v-c7c6b85e] .el-tabs__content{flex:1;min-height:0;overflow:auto}[data-v-c7c6b85e] .el-tab-pane{height:100%}.config-pane[data-v-c7c6b85e]{height:100%;overflow:auto}[data-v-c7c6b85e] .el-tabs__item{color:var(--mg-text-muted, rgba(255, 255, 255, .65))}[data-v-c7c6b85e] .el-tabs__item.is-active{color:var(--mg-text-light, #fff)}[data-v-c7c6b85e] .el-tabs__active-bar{background-color:var(--mg-accent, var(--el-color-primary))}[data-v-c7c6b85e] .el-tabs__nav-wrap:after{background-color:#ffffff14} diff --git a/MiGu.Server/wwwroot/assets/LoginView-DKfiSb8w.css b/MiGu.Server/wwwroot/assets/LoginView-DKfiSb8w.css deleted file mode 100644 index da76cf3..0000000 --- a/MiGu.Server/wwwroot/assets/LoginView-DKfiSb8w.css +++ /dev/null @@ -1 +0,0 @@ -.login-page[data-v-a9a6f95c]{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse 75% 55% at 16% 14%,#dcbef7 0%,transparent 55%),radial-gradient(ellipse 80% 65% at 86% 90%,#abc9f5 0%,transparent 58%),linear-gradient(135deg,#cbb2f0,#b7adec 46%,#a7c6f2);color:var(--lg-text);font-family:PingFang SC,Microsoft YaHei,Segoe UI,sans-serif}.bg-image[data-v-a9a6f95c]{position:absolute;inset:0;background:url(/login-bg.jpg) center/cover no-repeat;filter:saturate(.6) brightness(1.1) contrast(.9);opacity:.07;transform:scale(1.08);z-index:0}.bg-overlay[data-v-a9a6f95c]{position:absolute;inset:0;background:radial-gradient(ellipse at 14% 16%,rgba(255,255,255,.38) 0%,transparent 50%),radial-gradient(ellipse at 86% 84%,rgba(174,203,245,.45) 0%,transparent 56%),radial-gradient(ellipse at 50% 50%,rgba(220,190,247,.22) 0%,transparent 72%);z-index:1}.bg-overlay[data-v-a9a6f95c]:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(var(--lg-accent-rgb),.06) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--lg-accent-rgb),.06) 1px,transparent 1px);background-size:60px 60px,60px 60px;mask-image:radial-gradient(ellipse at center,rgba(0,0,0,.6) 0%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse at center,rgba(0,0,0,.6) 0%,transparent 72%)}.bg-orb[data-v-a9a6f95c]{position:absolute;border-radius:50%;filter:blur(100px);z-index:1;pointer-events:none;animation:drift-a9a6f95c 20s ease-in-out infinite}.bg-orb-a[data-v-a9a6f95c]{width:460px;height:460px;top:-150px;left:-130px;background:radial-gradient(circle,var(--lg-primary-hover) 0%,var(--lg-primary) 52%,transparent 80%);opacity:.24}.bg-orb-b[data-v-a9a6f95c]{width:600px;height:600px;bottom:-220px;right:-190px;background:radial-gradient(circle,var(--lg-accent) 0%,var(--lg-primary-deep) 58%,transparent 86%);opacity:.18;animation-delay:-7s}.bg-orb-c[data-v-a9a6f95c]{width:320px;height:320px;top:32%;right:9%;background:radial-gradient(circle,var(--lg-primary-hover) 0%,var(--lg-primary) 60%,transparent 90%);opacity:.14;animation-delay:-13s}@keyframes drift-a9a6f95c{0%,to{transform:translate(0) scale(1)}50%{transform:translate(18px,-28px) scale(1.05)}}.bg-stars[data-v-a9a6f95c]{position:absolute;inset:0;z-index:1;pointer-events:none}.bg-stars span[data-v-a9a6f95c]{position:absolute;background:#fffffff2;border-radius:50%;box-shadow:0 0 6px #ffffffd9,0 0 12px #9682ff99;animation:twinkle-a9a6f95c 4s ease-in-out infinite}@keyframes twinkle-a9a6f95c{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:.95;transform:scale(1.2)}}.login-card[data-v-a9a6f95c]{position:relative;z-index:2;width:920px;max-width:calc(100vw - 32px);min-height:588px;display:grid;grid-template-columns:360px 1fr;overflow:hidden;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(140deg,#301a60f2,#211a5cf4,#161a54f5);backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%);box-shadow:0 44px 110px #0000009e,0 0 70px rgba(var(--lg-primary-rgb),.24),0 0 0 1px rgba(var(--lg-accent-rgb),.16) inset,0 1px #ffffff2e inset}.login-card[data-v-a9a6f95c]:before{content:"";position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(var(--lg-accent-rgb),.55) 30%,rgba(255,255,255,.92) 50%,rgba(var(--lg-accent-rgb),.55) 70%,transparent 100%);pointer-events:none;z-index:3}.hero[data-v-a9a6f95c]{position:relative;padding:44px 34px 34px;color:#fff;background:radial-gradient(ellipse at 16% 18%,rgba(123,77,255,.34) 0%,transparent 56%),radial-gradient(ellipse at 88% 84%,rgba(94,124,255,.32) 0%,transparent 58%),linear-gradient(170deg,rgba(var(--lg-primary-rgb),.26),rgba(var(--lg-aside-rgb),.42) 60%,rgba(var(--lg-deep-rgb),.55));border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column}.hero[data-v-a9a6f95c]:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 78% 16%,rgba(var(--lg-accent-rgb),.24),transparent 58%);pointer-events:none}.hero[data-v-a9a6f95c]>*{position:relative;z-index:1}.hero .hero-stars[data-v-a9a6f95c]{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.hero-stars span[data-v-a9a6f95c]{position:absolute;background:#ffffffeb;border-radius:50%;box-shadow:0 0 6px #fffc,0 0 12px #9682ff99;animation:twinkle-a9a6f95c 4s ease-in-out infinite}.hero-brand[data-v-a9a6f95c]{display:flex;align-items:center;gap:14px}.hero-mark[data-v-a9a6f95c]{display:inline-flex;align-items:center;justify-content:center;height:56px;padding:0 14px;border-radius:16px;background:linear-gradient(135deg,rgba(var(--lg-primary-rgb),.55),rgba(var(--lg-accent-rgb),.3));border:1px solid rgba(255,255,255,.2);box-shadow:0 12px 30px rgba(var(--lg-primary-rgb),.45),0 0 30px rgba(var(--lg-accent-rgb),.3),0 0 0 1px #ffffff29 inset;animation:mg-mark-glow-a9a6f95c 4s ease-in-out infinite}@keyframes mg-mark-glow-a9a6f95c{0%,to{box-shadow:0 12px 30px rgba(var(--lg-primary-rgb),.45),0 0 24px rgba(var(--lg-accent-rgb),.24),0 0 0 1px #ffffff29 inset}50%{box-shadow:0 14px 34px rgba(var(--lg-primary-rgb),.55),0 0 40px rgba(var(--lg-accent-rgb),.42),0 0 0 1px #ffffff38 inset}}.hero-mark-img[data-v-a9a6f95c]{display:block;height:34px;width:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}.hero-name[data-v-a9a6f95c]{font-size:34px;font-weight:700;letter-spacing:6px;background:linear-gradient(95deg,#fff,#c3b6ff 52%,#93a7ff);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 24px rgba(120,130,255,.4)}.hero-tagline[data-v-a9a6f95c]{margin-top:30px;font-size:17px;font-weight:500;letter-spacing:8px;color:#fffffff2}.hero-tagline-en[data-v-a9a6f95c]{margin-top:5px;font-size:10.5px;letter-spacing:3px;color:var(--lg-text-dim);text-transform:uppercase}.hero-divider[data-v-a9a6f95c]{margin:22px 0 18px;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--lg-accent-rgb),.5),transparent)}.hero-points[data-v-a9a6f95c]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:13px;flex:1}.hero-points li[data-v-a9a6f95c]{display:flex;align-items:flex-start;gap:10px}.hero-points .dot[data-v-a9a6f95c]{margin-top:7px;width:6px;height:6px;border-radius:50%;background:var(--lg-accent);box-shadow:0 0 10px rgba(var(--lg-accent-rgb),.85);flex-shrink:0}.feat[data-v-a9a6f95c]{display:flex;flex-direction:column;gap:2px;min-width:0}.feat-title[data-v-a9a6f95c]{font-size:13.5px;font-weight:600;letter-spacing:.5px;color:#fff}.feat-desc[data-v-a9a6f95c]{font-size:11.5px;line-height:1.55;color:var(--lg-text-soft)}.hero-footnote[data-v-a9a6f95c]{margin-top:22px;display:flex;align-items:center;gap:10px;font-size:11px;color:var(--lg-text-dim);letter-spacing:.6px}.hero-footnote .badge[data-v-a9a6f95c]{padding:2px 8px;border-radius:10px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;font-weight:600}.panel[data-v-a9a6f95c]{padding:44px 44px 32px;display:flex;flex-direction:column;background:linear-gradient(135deg,#7b4dff24,#5e7cff1a)}.panel-head[data-v-a9a6f95c]{margin-bottom:26px}.panel-title[data-v-a9a6f95c]{font-size:30px;font-weight:700;letter-spacing:12px;background:linear-gradient(135deg,#ffffff 0%,var(--lg-accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 22px rgba(var(--lg-primary-hover-rgb),.5)}.panel-sub[data-v-a9a6f95c]{margin-top:6px;font-size:12.5px;color:var(--lg-text-dim);letter-spacing:1px}.glass-form[data-v-a9a6f95c]{flex:1;display:flex;flex-direction:column}.glass-form[data-v-a9a6f95c] .el-form-item{margin-bottom:18px}.glass-form[data-v-a9a6f95c] .el-input__wrapper{background:#ffffff0f!important;box-shadow:0 0 0 1px #ffffff29 inset!important;border-radius:10px!important;transition:all .25s}.glass-form[data-v-a9a6f95c] .el-input__wrapper:hover{background:#ffffff1c!important;box-shadow:0 0 0 1px rgba(var(--lg-accent-rgb),.5) inset!important}.glass-form[data-v-a9a6f95c] .el-input__wrapper.is-focus{background:#ffffff21!important;box-shadow:0 0 0 1px rgba(var(--lg-accent-rgb),.85) inset,0 0 20px rgba(var(--lg-primary-hover-rgb),.45)!important}.glass-form[data-v-a9a6f95c] .el-input__inner{color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:14px;height:42px}.glass-form[data-v-a9a6f95c] .el-input__inner::placeholder{color:#ffffff6b}.glass-form[data-v-a9a6f95c] .el-input__prefix-inner>:first-child,.glass-form[data-v-a9a6f95c] .el-input__suffix-inner{color:#ffffff8c}.scope-item[data-v-a9a6f95c] .el-form-item__content{width:100%}.scope-wrap[data-v-a9a6f95c]{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.launch-mode-item[data-v-a9a6f95c] .el-form-item__content{display:flex;flex-direction:column;align-items:stretch}.launch-mode-head[data-v-a9a6f95c]{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;color:var(--lg-text-soft);letter-spacing:1px}.launch-mode-title[data-v-a9a6f95c]{font-weight:500}.launch-mode-help[data-v-a9a6f95c]{color:var(--lg-text-dim);cursor:help;font-size:14px}.launch-mode-help[data-v-a9a6f95c]:hover{color:var(--lg-accent)}.launch-wrap[data-v-a9a6f95c]{margin-bottom:4px}.launch-tip[data-v-a9a6f95c]{max-width:280px;line-height:1.6;font-size:12px}.launch-tip>div+div[data-v-a9a6f95c]{margin-top:6px}.scope-tab[data-v-a9a6f95c]{appearance:none;background:#ffffff0d;border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:14px;display:flex;align-items:center;gap:12px;color:#ffffffc7;cursor:pointer;transition:all .2s;text-align:left}.scope-tab[data-v-a9a6f95c]:hover{background:#ffffff1c;color:#fff;transform:translateY(-1px)}.scope-tab.active[data-v-a9a6f95c]{background:linear-gradient(135deg,rgba(var(--lg-primary-rgb),.55),rgba(var(--lg-accent-rgb),.28));border-color:rgba(var(--lg-accent-rgb),.75);color:#fff;box-shadow:0 0 22px rgba(var(--lg-primary-hover-rgb),.45),0 0 0 1px rgba(var(--lg-accent-rgb),.45) inset}.scope-tab .el-icon[data-v-a9a6f95c]{font-size:20px}.scope-meta[data-v-a9a6f95c]{display:flex;flex-direction:column;line-height:1.3;min-width:0}.scope-name[data-v-a9a6f95c]{font-size:14px;font-weight:600}.scope-desc[data-v-a9a6f95c]{font-size:11px;opacity:.75;margin-top:2px}.row[data-v-a9a6f95c]{display:flex;align-items:center}.row-between[data-v-a9a6f95c]{justify-content:space-between;margin:-6px 0 10px}.remember[data-v-a9a6f95c] .el-checkbox__label{color:#ffffffe6!important;font-size:12.5px;text-shadow:0 1px 2px rgba(6,9,18,.4)}.remember[data-v-a9a6f95c] .el-checkbox__inner{background:#ffffff1a;border-color:#ffffff52}.remember[data-v-a9a6f95c] .el-checkbox.is-checked .el-checkbox__inner{background:var(--lg-primary);border-color:var(--lg-primary)}.adv-link[data-v-a9a6f95c]{color:var(--lg-text-soft)!important;font-size:12.5px}.adv-link[data-v-a9a6f95c]:hover{color:#fff!important}.adv-collapse[data-v-a9a6f95c]{background:transparent!important;border:none!important;margin-bottom:16px}.adv-collapse[data-v-a9a6f95c] .el-collapse-item__wrap,.adv-collapse[data-v-a9a6f95c] .el-collapse-item__header{background:transparent!important;border-color:#ffffff24!important;color:var(--lg-text-soft)!important}.adv-title[data-v-a9a6f95c]{font-size:12px;letter-spacing:1px}.adv-grid[data-v-a9a6f95c]{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;padding-top:6px}.adv-grid[data-v-a9a6f95c] .el-form-item__label{color:var(--lg-text-soft);font-size:12px}.adv-grid[data-v-a9a6f95c] .el-input-number{width:100%}.adv-grid[data-v-a9a6f95c] .el-input-number .el-input__inner{text-align:left}.btn-login[data-v-a9a6f95c]{position:relative;overflow:hidden;height:46px!important;border-radius:10px;margin-top:6px;font-size:15px;letter-spacing:6px;font-weight:600;color:#fff!important;background:linear-gradient(135deg,var(--lg-primary) 0%,var(--lg-primary-hover) 100%)!important;border:none!important;box-shadow:0 12px 28px rgba(var(--lg-primary-rgb),.5),0 0 26px rgba(var(--lg-primary-hover-rgb),.36),0 0 0 1px #fff3 inset!important;transition:all .28s cubic-bezier(.25,.8,.25,1)}.btn-login[data-v-a9a6f95c]:after{content:"";position:absolute;top:0;left:-120%;width:80%;height:100%;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,0) 30%,rgba(255,255,255,.38) 50%,rgba(255,255,255,0) 70%,transparent 100%);transition:left .6s cubic-bezier(.25,.8,.25,1);pointer-events:none}.btn-login[data-v-a9a6f95c]:hover{transform:translateY(-2px);background:linear-gradient(135deg,var(--lg-primary-hover) 0%,var(--lg-accent) 130%)!important;box-shadow:0 18px 38px rgba(var(--lg-primary-rgb),.6),0 0 42px rgba(var(--lg-accent-rgb),.5),0 0 0 1px rgba(var(--lg-accent-rgb),.5) inset!important}.btn-login[data-v-a9a6f95c]:hover:after{left:120%}.bottom-note[data-v-a9a6f95c]{margin-top:16px;font-size:11.5px;color:var(--lg-text-dim);text-align:center;line-height:1.6}.footer-stamp[data-v-a9a6f95c]{position:absolute;bottom:18px;left:50%;transform:translate(-50%);font-size:11px;letter-spacing:2px;color:#2d204e99;z-index:2}.glass-form[data-v-a9a6f95c] .el-form-item__error{color:#ff9bb8;padding-top:4px}@media (max-width: 760px){.login-card[data-v-a9a6f95c]{grid-template-columns:1fr;min-height:auto}.hero[data-v-a9a6f95c]{border-right:none;border-bottom:1px solid rgba(255,255,255,.1);padding:28px}.panel[data-v-a9a6f95c]{padding:28px}.hero-points[data-v-a9a6f95c],.hero-divider[data-v-a9a6f95c]{display:none}} diff --git a/MiGu.Server/wwwroot/assets/LoginView-DR-JtkF-.js b/MiGu.Server/wwwroot/assets/LoginView-DR-JtkF-.js deleted file mode 100644 index bacd7ad..0000000 --- a/MiGu.Server/wwwroot/assets/LoginView-DR-JtkF-.js +++ /dev/null @@ -1 +0,0 @@ -import{aN as J,bW as X,bX as H,bV as K,bs as u,aG as m,aI as S,aD as a,ai as k,bE as h,bl as x,bS as r,bL as M,aK as s,c8 as o,O as Q,R as Y,Q as j,b_ as Z,bd as ee,bk as f,bJ as ae,bh as se,ag as te,bz as oe,aJ as p,aC as le,az as ne,u as re,T as de,x as ie,y as ue,S as me,r as pe,N as ce,bC as C,bA as W,ay as ve,X as b,ak as fe}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import{_ as be}from"./FRLD-logo-white-no_title-BE78iS6n.js";const ge={class:"login-page"},_e={class:"bg-stars","aria-hidden":"true"},ye={class:"login-card"},Ve={class:"hero"},we={class:"hero-stars","aria-hidden":"true"},ke={class:"hero-points"},he={class:"feat"},Me={class:"feat-title"},Ce={class:"feat-desc"},Pe={class:"panel"},Ee={class:"scope-wrap"},Se={class:"launch-mode-head"},xe={class:"scope-wrap launch-wrap"},We={class:"row row-between"},$e={class:"adv-grid"},ze={class:"footer-stamp"},Ie=J({__name:"LoginView",setup(Le){const $=X(),z=H(),P=K(),I=[{title:"路径规划与导航",desc:"全局 + 实时双层路径算法,智能寻优路线"},{title:"交通管制",desc:"任务队列 + 优先级动态调度,提前规避路口拥堵冲突"},{title:"安全可靠性",desc:"约束设备运行规范,实现 AGV 与产线设备协同安全作业"},{title:"高级任务调度",desc:"按任务优先级、现场资源动态分配搬运任务"},{title:"插件扩展",desc:"插件化架构,支持功能定制、二次开发适配场景"}],g=C(),_=C(!1),c=C([]),l=W({username:"admin",password:"admin",scope:"Platform",launchMode:"DesktopAndWeb",remember:!0}),d=W({host:"0.0.0.0",apiPort:7001,platformPort:8080,vrPort:8223}),L={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}],scope:[{required:!0,message:"请选择 scope",trigger:"change"}],launchMode:[{required:!0,message:"请选择启动模式",trigger:"change"}]},A=ve(()=>new Date().getFullYear());function E(v){return Array.from({length:v},()=>{const e=1.5+Math.random()*2.8;return{top:`${Math.random()*100}%`,left:`${Math.random()*100}%`,width:`${e}px`,height:`${e}px`,opacity:`${.35+Math.random()*.5}`,animationDelay:`${-Math.random()*6}s`,animationDuration:`${2.6+Math.random()*3.4}s`}})}const D=E(48),N=E(22);async function R(){g.value&&await g.value.validate(async v=>{if(v){_.value=!0;try{const e=await P.login({username:l.username,password:l.password,scope:l.scope,launchMode:l.launchMode});b.success(`欢迎,${P.user?.displayName??l.username}`),e.launchWarning?b({message:e.launchWarning,type:"warning",duration:6e3,showClose:!0}):e.runMode==="Detached"&&b({message:"SimpleLite 未启动(Platform.Server 单独运行),/api/sl/* 相关功能将不可用。",type:"warning",duration:6e3,showClose:!0});const n=$.query.redirect??(l.scope==="Platform"?"/admin/dashboard":"/monitor/map");z.push(n)}catch(e){const n=e instanceof Error?e.message:String(e);b.error(`登录失败:${n}`)}finally{_.value=!1}}})}return(v,e)=>{const n=j,y=Y,i=Q,T=te,U=re,q=de,V=me,F=ue,B=ie,G=pe,O=ce;return u(),m("div",ge,[e[28]||(e[28]=S('',5)),a("div",_e,[(u(!0),m(k,null,h(r(D),(t,w)=>(u(),m("span",{key:w,style:x(t)},null,4))),128))]),a("div",ye,[a("div",Ve,[a("div",we,[(u(!0),m(k,null,h(r(N),(t,w)=>(u(),m("span",{key:w,style:x(t)},null,4))),128))]),e[14]||(e[14]=S(' SHELF-A03 · OK 迷 毂智 能 调 度 平 台INTELLIGENT · DISPATCH · PLATFORM',4)),a("ul",ke,[(u(),m(k,null,h(I,t=>a("li",{key:t.title},[e[13]||(e[13]=a("span",{class:"dot"},null,-1)),a("div",he,[a("span",Me,M(t.title),1),a("span",Ce,M(t.desc),1)])])),64))]),e[15]||(e[15]=a("div",{class:"hero-footnote"},[a("span",{class:"badge"},"v1.7"),a("span",null,"稳定 · 高效 · 安全的智能调度内核")],-1))]),a("div",Pe,[e[27]||(e[27]=a("div",{class:"panel-head"},[a("div",{class:"panel-title"},"登 录"),a("div",{class:"panel-sub"},"登录以进入智能调度平台")],-1)),s(O,{ref_key:"formRef",ref:g,model:l,rules:L,class:"glass-form","hide-required-asterisk":""},{default:o(()=>[s(i,{prop:"username"},{default:o(()=>[s(y,{modelValue:l.username,"onUpdate:modelValue":e[0]||(e[0]=t=>l.username=t),size:"large",placeholder:"用户名",autocomplete:"username",clearable:""},{prefix:o(()=>[s(n,null,{default:o(()=>[s(r(Z))]),_:1})]),_:1},8,["modelValue"])]),_:1}),s(i,{prop:"password"},{default:o(()=>[s(y,{modelValue:l.password,"onUpdate:modelValue":e[1]||(e[1]=t=>l.password=t),type:"password",size:"large","show-password":"",placeholder:"密码(Mock,任意非空)",autocomplete:"current-password"},{prefix:o(()=>[s(n,null,{default:o(()=>[s(r(ee))]),_:1})]),_:1},8,["modelValue"])]),_:1}),s(i,{prop:"scope",class:"scope-item"},{default:o(()=>[a("div",Ee,[a("button",{type:"button",class:f(["scope-tab",{active:l.scope==="Platform"}]),onClick:e[2]||(e[2]=t=>l.scope="Platform")},[s(n,null,{default:o(()=>[s(r(ae))]),_:1}),e[16]||(e[16]=a("div",{class:"scope-meta"},[a("div",{class:"scope-name"},"管理员"),a("div",{class:"scope-desc"},"platform-vue · 全功能")],-1))],2),a("button",{type:"button",class:f(["scope-tab",{active:l.scope==="RCSMonitor"}]),onClick:e[3]||(e[3]=t=>l.scope="RCSMonitor")},[s(n,null,{default:o(()=>[s(r(se))]),_:1}),e[17]||(e[17]=a("div",{class:"scope-meta"},[a("div",{class:"scope-name"},"运营"),a("div",{class:"scope-desc"},"rcsmonitor-vue · 受限")],-1))],2)])]),_:1}),s(i,{prop:"launchMode",class:"scope-item launch-mode-item"},{default:o(()=>[a("div",Se,[e[19]||(e[19]=a("span",{class:"launch-mode-title"},"SimpleLite 启动模式",-1)),s(T,{placement:"top"},{content:o(()=>[...e[18]||(e[18]=[a("div",{class:"launch-tip"},[a("div",null,[a("b",null,"本地+Web"),p(":登录后由 Platform 后端拉起 SimpleLite,同时打开桌面端 ImGui 窗口与浏览器端 webVRender。")]),a("div",null,[a("b",null,"仅 Web"),p(":只起 WebTerminal,不弹本地桌面窗口,适合远程办公 / 服务器部署。")])],-1)])]),default:o(()=>[s(n,{class:"launch-mode-help"},{default:o(()=>[s(r(oe))]),_:1})]),_:1})]),a("div",xe,[a("button",{type:"button",class:f(["scope-tab",{active:l.launchMode==="DesktopAndWeb"}]),onClick:e[4]||(e[4]=t=>l.launchMode="DesktopAndWeb")},[s(n,null,{default:o(()=>[s(r(le))]),_:1}),e[20]||(e[20]=a("div",{class:"scope-meta"},[a("div",{class:"scope-name"},"本地 + Web"),a("div",{class:"scope-desc"},"桌面窗口 & 浏览器同时启动")],-1))],2),a("button",{type:"button",class:f(["scope-tab",{active:l.launchMode==="WebOnly"}]),onClick:e[5]||(e[5]=t=>l.launchMode="WebOnly")},[s(n,null,{default:o(()=>[s(r(ne))]),_:1}),e[21]||(e[21]=a("div",{class:"scope-meta"},[a("div",{class:"scope-name"},"仅 Web"),a("div",{class:"scope-desc"},"不启桌面窗口 · 浏览器使用")],-1))],2)])]),_:1}),a("div",We,[s(U,{modelValue:l.remember,"onUpdate:modelValue":e[6]||(e[6]=t=>l.remember=t),size:"default",class:"remember"},{default:o(()=>[...e[22]||(e[22]=[p("下次自动按当前 scope 进入",-1)])]),_:1},8,["modelValue"]),s(q,{underline:"never",class:"adv-link",onClick:e[7]||(e[7]=t=>c.value=c.value.length?[]:["adv"])},{default:o(()=>[...e[23]||(e[23]=[p("高级 ›",-1)])]),_:1})]),s(B,{modelValue:c.value,"onUpdate:modelValue":e[12]||(e[12]=t=>c.value=t),class:"adv-collapse"},{default:o(()=>[s(F,{name:"adv"},{title:o(()=>[...e[24]||(e[24]=[a("span",{class:"adv-title"},"Web-Enabled · 端口与监听",-1)])]),default:o(()=>[a("div",$e,[s(i,{label:"监听地址"},{default:o(()=>[s(y,{modelValue:d.host,"onUpdate:modelValue":e[8]||(e[8]=t=>d.host=t),size:"default"},null,8,["modelValue"])]),_:1}),s(i,{label:"WebAPI"},{default:o(()=>[s(V,{modelValue:d.apiPort,"onUpdate:modelValue":e[9]||(e[9]=t=>d.apiPort=t),min:1,max:65535,size:"default","controls-position":"right"},null,8,["modelValue"])]),_:1}),s(i,{label:"Platform"},{default:o(()=>[s(V,{modelValue:d.platformPort,"onUpdate:modelValue":e[10]||(e[10]=t=>d.platformPort=t),min:1,max:65535,size:"default","controls-position":"right"},null,8,["modelValue"])]),_:1}),s(i,{label:"webVRender"},{default:o(()=>[s(V,{modelValue:d.vrPort,"onUpdate:modelValue":e[11]||(e[11]=t=>d.vrPort=t),min:1,max:65535,size:"default","controls-position":"right"},null,8,["modelValue"])]),_:1})])]),_:1})]),_:1},8,["modelValue"]),s(G,{type:"primary",loading:_.value,class:"btn-login",size:"large",onClick:R},{default:o(()=>[...e[25]||(e[25]=[p(" 登 录 ",-1)])]),_:1},8,["loading"]),e[26]||(e[26]=a("div",{class:"bottom-note"}," 任意非空用户名 + 任意密码即可登录;scope 决定进入 admin / monitor 视图;权限按 Mock 表生成。 ",-1))]),_:1},8,["model"])])]),a("div",ze," 迷 毂 · 智能调度平台 · "+M(A.value),1)])}}}),Xe=fe(Ie,[["__scopeId","data-v-a9a6f95c"]]);export{Xe as default}; diff --git a/MiGu.Server/wwwroot/assets/MapEditorView-BeHcrkSz.js b/MiGu.Server/wwwroot/assets/MapEditorView-BeHcrkSz.js deleted file mode 100644 index eeaf811..0000000 --- a/MiGu.Server/wwwroot/assets/MapEditorView-BeHcrkSz.js +++ /dev/null @@ -1 +0,0 @@ -import{aN as Ae,aG as U,aK as a,r as He,c8 as l,I as wa,aD as r,ag as ut,bs as V,aJ as v,K as ka,J as ha,bL as T,ak as Ne,a3 as xa,ai as de,bE as we,aE as ee,bk as Se,aF as H,c7 as fe,ac as Sa,bC as N,a9 as _a,Q as dt,bS as D,b5 as _t,bc as rt,Z as Va,R as ct,E as pt,N as Tt,O as Et,S as It,z as zt,a8 as Pt,aa as mt,ab as ft,ay as ne,ad as Mt,a4 as Ca,bA as Je,F as Ut,ah as $a,bT as Aa,a1 as Lt,a0 as Bt,x as Na,T as Dt,y as Fa,bX as yt,X as A,bo as Rt,bl as jt,aI as Ta,bj as Ea,bp as Ot,bV as Ia,br as za,bW as Pa,Y as K}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{W as Ma}from"./Workspace3D-B9mv4VWE.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{h as Re,a as je,r as J,n as Ua}from"./reflection-BwOBPyb9.js";/* empty css *//* empty css *//* empty css *//* empty css */import{m as j,a as st,b as it}from"./mapEdit-BXIATxCI.js";import{u as La,r as Vt,a as Ba,p as Da}from"./projectSaveFlow-BOHSv3Vc.js";import"./useProjectionStream-ayb6RvWW.js";const Ra={class:"edit-top-bar"},ja=Ae({__name:"EditTopBar",props:{canUndo:{type:Boolean},canRedo:{type:Boolean},saving:{type:Boolean},viewFilter:{}},emits:["cmd"],setup(o,{emit:F}){const w=F;function y(_){w("cmd",_)}function h(_){return _?"☑":"☐"}return(_,i)=>{const k=He,u=ha,z=ka,$=wa,p=ut;return V(),U("div",Ra,[a(k,{type:"primary",class:"topbar-save-btn",loading:o.saving,onClick:i[0]||(i[0]=m=>y("project.save"))},{default:l(()=>[...i[3]||(i[3]=[v(" 保存 ",-1)])]),_:1},8,["loading"]),a($,{trigger:"click",onCommand:y},{dropdown:l(()=>[a(z,null,{default:l(()=>[a(u,{command:"file.import.dwg"},{default:l(()=>[...i[5]||(i[5]=[v("导入 .dwg/.dxf",-1)])]),_:1}),a(u,{command:"file.import.geojson"},{default:l(()=>[...i[6]||(i[6]=[v("导入 .geojson",-1)])]),_:1}),a(u,{command:"file.upload.image",divided:""},{default:l(()=>[...i[7]||(i[7]=[v("导入图片",-1)])]),_:1}),a(u,{command:"file.upload.model"},{default:l(()=>[...i[8]||(i[8]=[v("导入 CycleGUI 模型",-1)])]),_:1}),a(u,{command:"file.export.png",divided:""},{default:l(()=>[...i[9]||(i[9]=[v("导出 PNG",-1)])]),_:1}),a(u,{command:"file.export.svg"},{default:l(()=>[...i[10]||(i[10]=[v("导出 SVG",-1)])]),_:1}),a(u,{command:"file.export.json"},{default:l(()=>[...i[11]||(i[11]=[v("导出 JSON",-1)])]),_:1})]),_:1})]),default:l(()=>[a(k,{text:"",class:"topbar-btn"},{default:l(()=>[...i[4]||(i[4]=[v("导入",-1)])]),_:1})]),_:1}),a($,{trigger:"click",onCommand:y},{dropdown:l(()=>[a(z,null,{default:l(()=>[a(u,{command:"edit.cut"},{default:l(()=>[...i[13]||(i[13]=[v("剪切 (Ctrl+X)",-1)])]),_:1}),a(u,{command:"edit.copy"},{default:l(()=>[...i[14]||(i[14]=[v("复制 (Ctrl+C)",-1)])]),_:1}),a(u,{command:"edit.paste"},{default:l(()=>[...i[15]||(i[15]=[v("粘贴 (Ctrl+V)",-1)])]),_:1}),a(u,{command:"edit.delete"},{default:l(()=>[...i[16]||(i[16]=[v("删除 (Del)",-1)])]),_:1}),a(u,{command:"edit.selectAll",divided:""},{default:l(()=>[...i[17]||(i[17]=[v("全选",-1)])]),_:1}),a(u,{command:"edit.invert"},{default:l(()=>[...i[18]||(i[18]=[v("反选",-1)])]),_:1})]),_:1})]),default:l(()=>[a(k,{text:"",class:"topbar-btn"},{default:l(()=>[...i[12]||(i[12]=[v("编辑",-1)])]),_:1})]),_:1}),a($,{trigger:"click",onCommand:y},{dropdown:l(()=>[a(z,null,{default:l(()=>[a(u,{command:"edit.undo",disabled:!o.canUndo},{default:l(()=>[...i[20]||(i[20]=[v("撤销 (Ctrl+Z)",-1)])]),_:1},8,["disabled"]),a(u,{command:"edit.redo",disabled:!o.canRedo},{default:l(()=>[...i[21]||(i[21]=[v("重做 (Ctrl+Y)",-1)])]),_:1},8,["disabled"])]),_:1})]),default:l(()=>[a(k,{text:"",class:"topbar-btn"},{default:l(()=>[...i[19]||(i[19]=[v("撤销",-1)])]),_:1})]),_:1}),a($,{trigger:"click",onCommand:y},{dropdown:l(()=>[a(z,null,{default:l(()=>[a(u,{command:"view.fitAll"},{default:l(()=>[...i[23]||(i[23]=[v("缩放至全屏",-1)])]),_:1}),a(u,{command:"view.fitSelection"},{default:l(()=>[...i[24]||(i[24]=[v("缩放至选中",-1)])]),_:1}),a(u,{command:"view.toggleGrid",divided:""},{default:l(()=>[...i[25]||(i[25]=[v("显示网格",-1)])]),_:1}),a(u,{command:"view.toggleScale"},{default:l(()=>[...i[26]||(i[26]=[v("显示比例尺",-1)])]),_:1}),a(u,{command:"view.toggle2D"},{default:l(()=>[...i[27]||(i[27]=[v("切换 2D / 3D",-1)])]),_:1})]),_:1})]),default:l(()=>[a(k,{text:"",class:"topbar-btn"},{default:l(()=>[...i[22]||(i[22]=[v("视图",-1)])]),_:1})]),_:1}),a($,{trigger:"click",onCommand:y},{dropdown:l(()=>[a(z,null,{default:l(()=>[a(u,{command:"layer.new"},{default:l(()=>[...i[29]||(i[29]=[v("新建图层…",-1)])]),_:1}),a(u,{command:"layer.toggleVisibility"},{default:l(()=>[...i[30]||(i[30]=[v("切换显示图层…",-1)])]),_:1})]),_:1})]),default:l(()=>[a(k,{text:"",class:"topbar-btn"},{default:l(()=>[...i[28]||(i[28]=[v("图层",-1)])]),_:1})]),_:1}),a($,{trigger:"click",onCommand:y},{dropdown:l(()=>[a(z,{class:"topbar-filter-menu"},{default:l(()=>[a(u,{disabled:"",class:"topbar-filter-header"},{default:l(()=>[...i[32]||(i[32]=[v("选择(可拾取)",-1)])]),_:1}),a(u,{command:"view.select.sites"},{default:l(()=>[v(T(h(o.viewFilter.selectFilter.sites))+" 站点",1)]),_:1}),a(u,{command:"view.select.tracks"},{default:l(()=>[v(T(h(o.viewFilter.selectFilter.tracks))+" 路径",1)]),_:1}),a(u,{command:"view.select.cars"},{default:l(()=>[v(T(h(o.viewFilter.selectFilter.cars))+" AGV",1)]),_:1}),a(u,{command:"view.select.decor"},{default:l(()=>[v(T(h(o.viewFilter.selectFilter.decor))+" 区域 / 装饰",1)]),_:1}),a(u,{divided:"",disabled:"",class:"topbar-filter-header"},{default:l(()=>[...i[33]||(i[33]=[v("对齐(鼠标吸附)",-1)])]),_:1}),a(u,{command:"view.snap.sites"},{default:l(()=>[v(T(h(o.viewFilter.alignSnap.sites))+" 吸附站点",1)]),_:1}),a(u,{command:"view.snap.cars"},{default:l(()=>[v(T(h(o.viewFilter.alignSnap.cars))+" 吸附 AGV",1)]),_:1}),a(u,{command:"view.snap.tracks"},{default:l(()=>[v(T(h(o.viewFilter.alignSnap.tracks))+" 吸附路径",1)]),_:1}),a(u,{divided:"",disabled:"",class:"topbar-filter-header"},{default:l(()=>[...i[34]||(i[34]=[v("显示内容",-1)])]),_:1}),a(u,{command:"view.show.sceneLabels"},{default:l(()=>[v(T(h(o.viewFilter.showViewport.sceneLabels))+" 场景图元标记",1)]),_:1}),a(u,{command:"view.show.scenePrimitives"},{default:l(()=>[v(T(h(o.viewFilter.showViewport.scenePrimitives))+" 场景图元",1)]),_:1}),a(u,{command:"view.show.cars"},{default:l(()=>[v(T(h(o.viewFilter.showViewport.cars))+" 车辆",1)]),_:1})]),_:1})]),default:l(()=>[a(k,{text:"",class:"topbar-btn"},{default:l(()=>[...i[31]||(i[31]=[v("过滤",-1)])]),_:1})]),_:1}),i[37]||(i[37]=r("div",{class:"spacer"},null,-1)),a(p,{content:"撤销 (Ctrl+Z)",placement:"bottom"},{default:l(()=>[a(k,{size:"small",disabled:!o.canUndo,class:"topbar-icon-btn",onClick:i[1]||(i[1]=m=>y("edit.undo"))},{default:l(()=>[...i[35]||(i[35]=[v("↶",-1)])]),_:1},8,["disabled"])]),_:1}),a(p,{content:"重做 (Ctrl+Y)",placement:"bottom"},{default:l(()=>[a(k,{size:"small",disabled:!o.canRedo,class:"topbar-icon-btn",onClick:i[2]||(i[2]=m=>y("edit.redo"))},{default:l(()=>[...i[36]||(i[36]=[v("↷",-1)])]),_:1},8,["disabled"])]),_:1})])}}}),Oa=Ne(ja,[["__scopeId","data-v-1082d582"]]),Ka={class:"edit-tool-rail"},Ya={class:"rail-group-title"},Xa={class:"rail-group-text"},Ha={class:"rail-group-list"},Wa=["onClick"],Ga={class:"rail-btn-glyph"},qa={class:"rail-btn-label"},Za={key:0,class:"rail-divider"},Ja={class:"rail-group rail-group-ai"},Qa=Ae({__name:"EditToolRail",props:{activeTool:{}},emits:["select-tool","open-ai"],setup(o,{emit:F}){const w=o,y=F,h=[{id:"select",title:"选择",tools:[{id:"select.single",label:"单选",glyph:"⌖",tip:"点击拾取单个对象"},{id:"select.rect",label:"矩形框选",glyph:"▱"},{id:"select.lasso",label:"套索圈选",glyph:"◯"},{id:"select.byType.site",label:"仅站点",glyph:"·"},{id:"select.byType.polyline",label:"仅折线",glyph:"╱",tip:"仅 UITrack(直线/折线)"},{id:"select.byType.bezier",label:"仅贝塞尔",glyph:"∽",tip:"仅 UIBezierTrack"},{id:"select.byType.arc",label:"仅弧形",glyph:"◜",tip:"仅 UICircularArcTrack"},{id:"select.byType.decor",label:"仅装饰",glyph:"★"},{id:"select.byType.currentLayer",label:"当前图层",glyph:"▤",tip:"保留当前图层对象"},{id:"select.invert",label:"反选",glyph:"⇄"},{id:"select.clear",label:"清空选中",glyph:"⊘"}]},{id:"draw",title:"绘制",tools:[{id:"draw.site",label:"添加站点",glyph:"+",tip:"点击工具后在画布单击放置"},{id:"draw.sites.continuous",label:"连续站点",glyph:"⁂",tip:"切换工具或 Esc 退出"},{id:"draw.track.polyline",label:"折线路径",glyph:"─",tip:"依序点击两端站点"},{id:"draw.track.bezier",label:"贝塞尔路径",glyph:"∼",tip:"点两端站点 → 弹框输入中间控制点个数 → 连续点选每个控制点"},{id:"draw.track.arc",label:"弧形路径",glyph:"◜",tip:"点两端站点 → 输入半径(≥ |AB|/2,等于即半圆)"},{id:"draw.decor.line",label:"装饰线段",glyph:"╱"},{id:"draw.decor.rect",label:"装饰矩形",glyph:"▭"},{id:"draw.decor.circle",label:"装饰圆",glyph:"◯"},{id:"draw.decor.text",label:"装饰文本",glyph:"T"},{id:"draw.image",label:"插入图片",glyph:"🖼"},{id:"draw.model",label:"插入模型",glyph:"◎",tip:"CycleGUI 3D 模型 (obj/glb/gltf)"}]},{id:"transform",title:"变换",tools:[{id:"transform.move",label:"移动",glyph:"✥"},{id:"transform.rotate",label:"旋转",glyph:"⟳"},{id:"transform.scale",label:"缩放",glyph:"⤡"},{id:"transform.duplicate",label:"复制副本",glyph:"⎘",tip:"Ctrl+D"},{id:"transform.copy",label:"复制",glyph:"📋",tip:"Ctrl+C"},{id:"transform.paste",label:"粘贴",glyph:"📥",tip:"Ctrl+V"},{id:"transform.delete",label:"删除",glyph:"🗑",tip:"Delete"},{id:"transform.copyFields",label:"复制字段",glyph:"⇉",tip:"多选时第 1 个为源,其余为目标"}]},{id:"align",title:"对齐",tools:[{id:"align.left",label:"左对齐",glyph:"⫷"},{id:"align.right",label:"右对齐",glyph:"⫸"},{id:"align.top",label:"上对齐",glyph:"⫵"},{id:"align.bottom",label:"下对齐",glyph:"⫶"},{id:"align.centerH",label:"水平居中",glyph:"⇔"},{id:"align.centerV",label:"垂直居中",glyph:"⇕"},{id:"align.center",label:"整体居中",glyph:"⊕"},{id:"align.distributeH",label:"水平等距",glyph:"⇿"},{id:"align.distributeV",label:"垂直等距",glyph:"⇳"},{id:"align.toFirst",label:"对齐到首",glyph:"⏮"},{id:"align.toLast",label:"对齐到尾",glyph:"⏭"}]},{id:"batch",title:"批量生成",tools:[{id:"batch.linearH",label:"横向间距",glyph:"⇢"},{id:"batch.linearV",label:"纵向间距",glyph:"⇣"},{id:"batch.matrix",label:"矩阵生成",glyph:"#"},{id:"batch.alongPath",label:"沿路径采样",glyph:"⤳",tip:"先选 1+ 条路径,再点本工具"},{id:"batch.circular",label:"环形阵列",glyph:"◌"}]},{id:"show",title:"显示",tools:[{id:"show.controlPoints",label:"控制点",glyph:"⊙"},{id:"show.controlHandles",label:"控制柄",glyph:"⊝"}]}];function _(k){return k===w.activeTool}function i(k){y("select-tool",k)}return(k,u)=>{const z=ut,$=xa;return V(),U("div",Ka,[a($,{class:"rail-scroll"},{default:l(()=>[(V(),U(de,null,we(h,(p,m)=>r("div",{key:p.id,class:"rail-group"},[r("div",Ya,[u[1]||(u[1]=r("span",{class:"rail-group-bar"},null,-1)),r("span",Xa,T(p.title),1),u[2]||(u[2]=r("span",{class:"rail-group-bar"},null,-1))]),r("div",Ha,[(V(!0),U(de,null,we(p.tools,M=>(V(),ee(z,{key:M.id,content:M.tip??M.label,placement:"right","show-after":280},{default:l(()=>[r("button",{class:Se(["rail-btn",{"rail-btn--active":_(M.id)}]),onClick:E=>i(M.id)},[r("span",Ga,T(M.glyph),1),r("span",qa,T(M.label),1)],10,Wa)]),_:2},1032,["content"]))),128))]),my("open-ai"))},[...u[3]||(u[3]=[r("span",{class:"rail-btn-glyph"},"✦",-1),r("span",{class:"rail-btn-label"},"AI 生图",-1)])])])]),_:1})])}}}),el=Ne(Qa,[["__scopeId","data-v-6b284dea"]]),tl={class:"edit-property-panel"},al={key:0,class:"empty-hint"},ll={key:1,class:"loading-hint"},nl={key:2,class:"object-pane"},ol={class:"prop-card prop-card--header"},sl={class:"prop-card-row"},il={class:"prop-id-block"},rl={class:"prop-id-tag"},ul={class:"prop-type-tag"},dl={class:"prop-header-actions"},cl=["disabled"],pl={class:"prop-delete-icon"},ml={class:"prop-card-row prop-name-row"},fl={class:"prop-card-row prop-layer-row"},yl={key:0,class:"prop-card prop-card--geom"},vl={class:"prop-card-header"},bl=["title"],gl={class:"prop-card-flag-text"},wl={class:"prop-card-meta"},kl={class:"prop-grid"},hl={class:"prop-field-label"},xl={key:0,class:"prop-field-unit"},Sl={key:1,class:"prop-card prop-card--style"},_l={class:"prop-card-header"},Vl={class:"prop-card-meta"},Cl={class:"prop-grid"},$l={class:"prop-field-label"},Al={class:"prop-card prop-card--custom"},Nl={class:"prop-card-header"},Fl={class:"prop-card-meta"},Tl={key:0,class:"prop-grid"},El=["title"],Il={class:"prop-field-row"},zl=["onClick"],Pl={key:1,class:"prop-empty-row"},Ml={key:2,class:"prop-card prop-card--status"},Ul={class:"prop-card-header"},Ll={class:"prop-card-meta"},Bl={class:"prop-status-list"},Dl={class:"prop-status-key"},Rl=["title"],jl={key:3,class:"prop-card prop-card--actions"},Ol={class:"prop-card-header"},Kl={class:"prop-card-meta"},Yl={class:"prop-actions"},Xl=["disabled","onClick"],Hl={key:0,class:"prop-action-spinner"},Wl={class:"prop-action-label"},Gl={class:"defaults-pane"},ql={key:0,class:"empty-hint defaults-empty"},Zl={class:"prop-card prop-card--style"},Jl={class:"prop-card-header"},Ql={class:"prop-card-flag-text"},en={class:"prop-card"},tn={class:"prop-card prop-card--style"},an={class:"prop-card-header"},ln={class:"prop-card-flag-text"},nn={class:"prop-card"},on={key:3,class:"loading-hint"},sn=Ae({__name:"EditPropertyPanel",props:{selectionCount:{},primary:{},fields:{},status:{},methods:{},loading:{type:Boolean},layers:{},defaults:{},layerRows:{},selectionKind:{},viewportStyle:{},viewportStyleLoading:{type:Boolean},viewportSyncing:{type:Boolean}},emits:["rename","change-layer","set-field","add-field","exec-action","save-defaults","layer-toggle","add-layer","delete","patch-viewport"],setup(o,{emit:F}){const w=o,y=F,h=N("object"),_=N(!1);let i=null;const k=N(null),u=N(null);fe(()=>w.viewportStyle,g=>{if(!g){k.value=null,u.value=null;return}k.value={...g.site},u.value={...g.track}},{immediate:!0,deep:!0}),fe(()=>w.selectionKind,g=>{(g==="site"||g==="track")&&(h.value="defaults")});function z(){_.value=!0,i&&clearTimeout(i),i=setTimeout(()=>{_.value=!1},1400)}fe(()=>w.viewportSyncing,(g,d)=>{d&&!g&&z()});function $(g){k.value&&(k.value={...k.value,...g},y("patch-viewport",{site:{...k.value}}))}function p(g){u.value&&(u.value={...u.value,...g},y("patch-viewport",{track:{...u.value}}))}const m=N(null),M=N(""),E=N(!1),b=N(!1);let q=null;function Q(){b.value=!0,q&&clearTimeout(q),q=setTimeout(()=>{b.value=!1},1200)}const ye=new Set(["id","name","layerName"]),W=new Set(["x","y","z","cx","cy","cz","dx","dy","dz","sx","sy","ex","ey","startX","startY","endX","endY","size","width","height","depth","angle","rotation","theta","scale","radius","r","siteA","siteB"]),ve=new Set(["color","displaySetting","direction","typeInfo","mustFree","imagePath","modelPath","fontFamily","fontSize","textColor","lineWidth","opacity"]),O={x:"X",y:"Y",z:"Z",size:"大小",width:"宽",height:"高",depth:"厚",angle:"角度",rotation:"旋转",theta:"θ",scale:"缩放",radius:"半径",siteA:"起点站",siteB:"终点站",startX:"起点 X",startY:"起点 Y",endX:"终点 X",endY:"终点 Y",cx:"中心 X",cy:"中心 Y",color:"颜色",displaySetting:"显示设置",direction:"方向",typeInfo:"类型信息",mustFree:"必须互斥",imagePath:"图片路径",modelPath:"模型路径",fontSize:"字号",textColor:"文字色",lineWidth:"线宽",opacity:"透明度"},se={x:"mm",y:"mm",z:"mm",cx:"mm",cy:"mm",cz:"mm",dx:"mm",dy:"mm",dz:"mm",startX:"mm",startY:"mm",endX:"mm",endY:"mm",width:"mm",height:"mm",depth:"mm",size:"mm",radius:"mm",angle:"°",rotation:"°",theta:"°",fontSize:"px",lineWidth:"px"},ie=ne(()=>w.fields.filter(g=>!ye.has(g.key))),te=ne(()=>ie.value.filter(g=>W.has(g.key))),x=ne(()=>ie.value.filter(g=>ve.has(g.key))),C=ne(()=>ie.value.filter(g=>!W.has(g.key)&&!ve.has(g.key)));function G(g){return O[g]??g}function oe(g){return se[g]??""}function ke(g){if(g==null||g==="")return;const d=Number(g);return Number.isFinite(d)?d:void 0}function re(g){return g.toLowerCase().includes("angle")||g.toLowerCase().includes("rotation")||g==="theta"?1:g==="scale"||g==="opacity"?.1:10}function ce(g){return W.has(g)}function _e(g,d){return g==="color"||g==="textColor"?!0:/^#[0-9a-fA-F]{3,8}$/.test(d)}function B(g,d){return d==="true"||d==="false"||d==="True"||d==="False"}function Y(g){return g==="true"||g==="True"||g==="1"}const Z=ne(()=>{const g=(w.primary?.status??"").toLowerCase();return g?g.includes("error")||g.includes("alarm")||g.includes("failed")?"danger":g.includes("warn")||g.includes("idle")?"warning":g.includes("online")||g.includes("running")||g.includes("ready")||g.includes("ok")?"success":"info":"info"}),he=N("");fe(()=>w.primary?.name??"",g=>{he.value=g},{immediate:!0});function Qe(){Oe()}function Oe(){if(!w.primary)return;const g=he.value;g!==(w.primary.name??"")&&y("rename",g)}function Fe(g){y("change-layer",g)}function ae(g,d){y("set-field",g,d),W.has(g)&&Q()}function Ke(){y("add-field")}async function We(g){try{m.value=g,y("exec-action",g)}finally{m.value=null}}function Te(){y("save-defaults")}function Ee(g){y("layer-toggle",g)}function xe(){const g=M.value.trim();g&&(y("add-layer",g),M.value="")}function Ie(){w.selectionCount===0||E.value||(E.value=!0,y("delete"),setTimeout(()=>{E.value=!1},600))}return(g,d)=>{const ze=dt,ue=Mt,Pe=ut,be=ct,Ge=Va,Me=Ca,pe=It,ge=zt,Ue=Pt,Le=_a,et=pt,X=Et,Ve=Tt,Be=He,Ce=ft,qe=mt,tt=Sa;return V(),U("div",tl,[a(tt,{modelValue:h.value,"onUpdate:modelValue":d[20]||(d[20]=c=>h.value=c),class:"prop-tabs"},{default:l(()=>[a(Le,{label:"对象",name:"object"},{default:l(()=>[o.selectionCount===0?(V(),U("div",al,[a(ze,{class:"empty-icon"},{default:l(()=>[a(D(_t))]),_:1}),d[21]||(d[21]=r("span",{class:"empty-title"},"未选中对象",-1)),d[22]||(d[22]=r("span",{class:"empty-desc"},"在画布上点击或框选以编辑属性。",-1))])):o.loading?(V(),U("div",ll,[a(ze,{class:"is-loading"},{default:l(()=>[a(D(rt))]),_:1}),d[23]||(d[23]=r("span",null,"加载属性…",-1))])):(V(),U("div",nl,[r("section",ol,[r("div",sl,[r("div",il,[r("span",rl,T(o.selectionCount>1?`多选 ${o.selectionCount}`:`#${o.primary?.id??"-"}`),1),r("span",ul,T(o.primary?.typeName??"-"),1)]),r("div",dl,[o.primary?.status?(V(),ee(ue,{key:0,type:Z.value,size:"small",effect:"dark",class:"prop-status-tag"},{default:l(()=>[v(T(o.primary.status),1)]),_:1},8,["type"])):H("",!0),a(Pe,{content:o.selectionCount>1?`删除选中的 ${o.selectionCount} 个对象(可 Ctrl+Z 撤销)`:"删除该对象(可 Ctrl+Z 撤销)",placement:"top","show-after":220},{default:l(()=>[r("button",{type:"button",class:"prop-delete-btn",disabled:E.value,onClick:Ie},[r("span",pl,T(E.value?"⟳":"🗑"),1),d[24]||(d[24]=r("span",null,"删除",-1))],8,cl)]),_:1},8,["content"])])]),r("div",ml,[d[25]||(d[25]=r("label",{class:"prop-name-label"},"名称",-1)),o.primary?(V(),ee(be,{key:0,"model-value":he.value,size:"small",placeholder:"对象名","onUpdate:modelValue":d[0]||(d[0]=c=>he.value=c),onBlur:Qe,onChange:Oe},null,8,["model-value"])):H("",!0)]),r("div",fl,[d[26]||(d[26]=r("label",{class:"prop-name-label"},"图层",-1)),o.primary?(V(),ee(Me,{key:0,"model-value":o.primary.layer??"",size:"small",placeholder:"—",class:"prop-layer-select","onUpdate:modelValue":d[1]||(d[1]=c=>Fe(c))},{default:l(()=>[a(Ge,{label:"(无)",value:""}),(V(!0),U(de,null,we(o.layers,c=>(V(),ee(Ge,{key:c,label:c,value:c},null,8,["label","value"]))),128))]),_:1},8,["model-value"])):H("",!0)])]),te.value.length>0?(V(),U("section",yl,[r("header",vl,[d[28]||(d[28]=r("span",{class:"prop-card-title"},"位置 / 几何",-1)),r("span",{class:Se(["prop-card-flag",{"is-synced":b.value}]),title:b.value?"已同步到画布":"改动会立即同步到 SimpleLite 画布"},[d[27]||(d[27]=r("span",{class:"prop-card-flag-dot"},null,-1)),r("span",gl,T(b.value?"已同步":"同步到画布"),1)],10,bl),r("span",wl,T(te.value.length)+" 项",1)]),r("div",kl,[(V(!0),U(de,null,we(te.value,c=>(V(),U("div",{key:c.key,class:"prop-grid-item"},[r("label",hl,[v(T(G(c.key))+" ",1),oe(c.key)?(V(),U("span",xl,T(oe(c.key)),1)):H("",!0)]),ce(c.key)?(V(),ee(pe,{key:0,"model-value":ke(c.value),controls:!1,step:re(c.key),size:"small",class:"prop-field-num",onChange:R=>ae(c.key,R==null?"":String(R))},null,8,["model-value","step","onChange"])):(V(),ee(be,{key:1,"model-value":c.value,size:"small",spellcheck:"false",onChange:R=>ae(c.key,R)},null,8,["model-value","onChange"]))]))),128))])])):H("",!0),x.value.length>0?(V(),U("section",Sl,[r("header",_l,[d[29]||(d[29]=r("span",{class:"prop-card-title"},"样式 / 外观",-1)),r("span",Vl,T(x.value.length)+" 项",1)]),r("div",Cl,[(V(!0),U(de,null,we(x.value,c=>(V(),U("div",{key:c.key,class:"prop-grid-item"},[r("label",$l,T(G(c.key)),1),_e(c.key,c.value)?(V(),ee(ge,{key:0,"model-value":c.value||"#ffffff","show-alpha":"",size:"small",onChange:R=>ae(c.key,R??"")},null,8,["model-value","onChange"])):B(c.key,c.value)?(V(),ee(Ue,{key:1,"model-value":Y(c.value),size:"small",onChange:R=>ae(c.key,R?"true":"false")},null,8,["model-value","onChange"])):(V(),ee(be,{key:2,"model-value":c.value,size:"small",spellcheck:"false",onChange:R=>ae(c.key,R)},null,8,["model-value","onChange"]))]))),128))])])):H("",!0),r("section",Al,[r("header",Nl,[d[30]||(d[30]=r("span",{class:"prop-card-title"},"其它字段 / 自定义",-1)),r("span",Fl,T(C.value.length)+" 项",1)]),C.value.length>0?(V(),U("div",Tl,[(V(!0),U(de,null,we(C.value,c=>(V(),U("div",{key:c.key,class:"prop-grid-item prop-grid-item--wide"},[r("label",{class:"prop-field-label",title:c.key},T(c.key),9,El),r("div",Il,[a(be,{"model-value":c.value,size:"small",spellcheck:"false",onChange:R=>ae(c.key,R)},null,8,["model-value","onChange"]),a(Pe,{content:"删除该字段",placement:"top"},{default:l(()=>[r("button",{class:"prop-field-icon-btn",onClick:R=>ae(c.key,"")},"×",8,zl)]),_:2},1024)])]))),128))])):(V(),U("div",Pl,"无其它字段")),r("button",{class:"prop-add-field-btn",onClick:Ke},"+ 添加字段")]),o.status.length>0?(V(),U("section",Ml,[r("header",Ul,[d[31]||(d[31]=r("span",{class:"prop-card-title"},"运行状态",-1)),r("span",Ll,T(o.status.length)+" 项",1)]),r("div",Bl,[(V(!0),U(de,null,we(o.status,c=>(V(),U("div",{key:c.key,class:"prop-status-item"},[r("span",Dl,T(c.key),1),r("span",{class:"prop-status-value",title:c.value},T(c.value),9,Rl)]))),128))])])):H("",!0),o.methods.length>0?(V(),U("section",jl,[r("header",Ol,[d[32]||(d[32]=r("span",{class:"prop-card-title"},"操作",-1)),r("span",Kl,T(o.methods.length)+" 项",1)]),r("div",Yl,[(V(!0),U(de,null,we(o.methods,c=>(V(),ee(Pe,{key:c.methodName,content:c.description||c.label||c.methodName,placement:"top","show-after":220},{default:l(()=>[r("button",{class:"prop-action-btn",disabled:m.value===c.methodName,onClick:R=>We(c.methodName)},[m.value===c.methodName?(V(),U("span",Hl,"⟳")):H("",!0),d[33]||(d[33]=r("span",{class:"prop-action-icon"},"▶",-1)),r("span",Wl,T(c.label||c.methodName),1)],8,Xl)]),_:2},1032,["content"]))),128))])])):H("",!0)]))]),_:1}),a(Le,{label:"类型默认",name:"defaults"},{default:l(()=>[r("div",Gl,[a(et,{type:"info",closable:!1,class:"defaults-alert"},{default:l(()=>[...d[34]||(d[34]=[v(" 视口样式与 SimpleLite「视口样式」对话框同步,修改后即时重绘画布;下方「新建默认」仅影响下次创建对象。 ",-1)])]),_:1}),o.selectionKind?o.selectionKind==="site"&&k.value?(V(),U(de,{key:1},[r("section",Zl,[r("header",Jl,[d[38]||(d[38]=r("span",{class:"prop-card-title"},"站点视口样式",-1)),r("span",{class:Se(["prop-card-flag",{"is-synced":_.value}])},[d[37]||(d[37]=r("span",{class:"prop-card-flag-dot"},null,-1)),r("span",Ql,T(o.viewportSyncing?"同步中…":_.value?"已同步":"实时同步"),1)],2)]),a(Ve,{"label-width":"132px",size:"small",class:"defaults-form"},{default:l(()=>[a(X,{label:"整体大小倍率"},{default:l(()=>[a(pe,{"model-value":k.value.drawScale,min:.25,max:12,step:.1,controls:!0,"onUpdate:modelValue":d[2]||(d[2]=c=>$({drawScale:c??k.value.drawScale}))},null,8,["model-value"])]),_:1}),a(X,{label:"未选中圆点半径"},{default:l(()=>[a(pe,{"model-value":k.value.dotRadiusNormal,min:1,max:24,step:.5,"onUpdate:modelValue":d[3]||(d[3]=c=>$({dotRadiusNormal:c??k.value.dotRadiusNormal}))},null,8,["model-value"])]),_:1}),a(X,{label:"选中圆点半径"},{default:l(()=>[a(pe,{"model-value":k.value.dotRadiusSelected,min:1,max:32,step:.5,"onUpdate:modelValue":d[4]||(d[4]=c=>$({dotRadiusSelected:c??k.value.dotRadiusSelected}))},null,8,["model-value"])]),_:1}),a(X,{label:"选中环半径 (m)"},{default:l(()=>[a(pe,{"model-value":k.value.selectionRingM,min:.02,max:.8,step:.01,"onUpdate:modelValue":d[5]||(d[5]=c=>$({selectionRingM:c??k.value.selectionRingM}))},null,8,["model-value"])]),_:1}),a(X,{label:"站点颜色(未选中)"},{default:l(()=>[a(ge,{"model-value":D(je)(k.value.colorNormalArgb),"onUpdate:modelValue":d[6]||(d[6]=c=>$({colorNormalArgb:D(Re)(c??"#ffffff")}))},null,8,["model-value"])]),_:1}),a(X,{label:"站点颜色(选中)"},{default:l(()=>[a(ge,{"model-value":D(je)(k.value.colorSelectedArgb),"onUpdate:modelValue":d[7]||(d[7]=c=>$({colorSelectedArgb:D(Re)(c??"#ff0000")}))},null,8,["model-value"])]),_:1}),a(X,{label:"标签颜色(未选中)"},{default:l(()=>[a(ge,{"model-value":D(je)(k.value.labelColorNormalArgb),"onUpdate:modelValue":d[8]||(d[8]=c=>$({labelColorNormalArgb:D(Re)(c??"#ffffff")}))},null,8,["model-value"])]),_:1}),a(X,{label:"标签颜色(选中)"},{default:l(()=>[a(ge,{"model-value":D(je)(k.value.labelColorSelectedArgb),"onUpdate:modelValue":d[9]||(d[9]=c=>$({labelColorSelectedArgb:D(Re)(c??"#ff0000")}))},null,8,["model-value"])]),_:1})]),_:1})]),r("section",en,[d[40]||(d[40]=r("header",{class:"prop-card-header"},[r("span",{class:"prop-card-title"},"新建站点默认")],-1)),a(Ve,{"label-width":"132px",size:"small",class:"defaults-form"},{default:l(()=>[a(X,{label:"默认图层"},{default:l(()=>[a(be,{modelValue:o.defaults.site.layer,"onUpdate:modelValue":d[10]||(d[10]=c=>o.defaults.site.layer=c)},null,8,["modelValue"])]),_:1}),a(X,{label:"名字前缀"},{default:l(()=>[a(be,{modelValue:o.defaults.site.namePrefix,"onUpdate:modelValue":d[11]||(d[11]=c=>o.defaults.site.namePrefix=c)},null,8,["modelValue"])]),_:1}),a(Be,{size:"small",type:"primary",plain:"",onClick:Te},{default:l(()=>[...d[39]||(d[39]=[v("保存新建默认",-1)])]),_:1})]),_:1})])],64)):o.selectionKind==="track"&&u.value?(V(),U(de,{key:2},[r("section",tn,[r("header",an,[d[42]||(d[42]=r("span",{class:"prop-card-title"},"路径视口样式",-1)),r("span",{class:Se(["prop-card-flag",{"is-synced":_.value}])},[d[41]||(d[41]=r("span",{class:"prop-card-flag-dot"},null,-1)),r("span",ln,T(o.viewportSyncing?"同步中…":_.value?"已同步":"实时同步"),1)],2)]),a(Ve,{"label-width":"132px",size:"small",class:"defaults-form"},{default:l(()=>[a(X,{label:"线宽倍率"},{default:l(()=>[a(pe,{"model-value":u.value.drawScale,min:.25,max:12,step:.1,"onUpdate:modelValue":d[12]||(d[12]=c=>p({drawScale:c??u.value.drawScale}))},null,8,["model-value"])]),_:1}),a(X,{label:"未选中线宽"},{default:l(()=>[a(pe,{"model-value":u.value.widthNormal,min:.4,max:8,step:.1,"onUpdate:modelValue":d[13]||(d[13]=c=>p({widthNormal:c??u.value.widthNormal}))},null,8,["model-value"])]),_:1}),a(X,{label:"选中线宽"},{default:l(()=>[a(pe,{"model-value":u.value.widthSelected,min:.4,max:12,step:.1,"onUpdate:modelValue":d[14]||(d[14]=c=>p({widthSelected:c??u.value.widthSelected}))},null,8,["model-value"])]),_:1}),a(X,{label:"显示方向箭头"},{default:l(()=>[a(Ue,{"model-value":u.value.showDirectionArrows,"onUpdate:modelValue":d[15]||(d[15]=c=>p({showDirectionArrows:!!c}))},null,8,["model-value"])]),_:1}),a(X,{label:"路径颜色(未选中)"},{default:l(()=>[a(ge,{"model-value":D(je)(u.value.colorNormalArgb),"onUpdate:modelValue":d[16]||(d[16]=c=>p({colorNormalArgb:D(Re)(c??"#00ffff")}))},null,8,["model-value"])]),_:1}),a(X,{label:"路径颜色(选中)"},{default:l(()=>[a(ge,{"model-value":D(je)(u.value.colorSelectedArgb),"onUpdate:modelValue":d[17]||(d[17]=c=>p({colorSelectedArgb:D(Re)(c??"#ff0000")}))},null,8,["model-value"])]),_:1})]),_:1})]),r("section",nn,[d[44]||(d[44]=r("header",{class:"prop-card-header"},[r("span",{class:"prop-card-title"},"新建路径默认")],-1)),a(Ve,{"label-width":"132px",size:"small",class:"defaults-form"},{default:l(()=>[a(X,{label:"默认图层"},{default:l(()=>[a(be,{modelValue:o.defaults.track.layer,"onUpdate:modelValue":d[18]||(d[18]=c=>o.defaults.track.layer=c)},null,8,["modelValue"])]),_:1}),a(Be,{size:"small",type:"primary",plain:"",onClick:Te},{default:l(()=>[...d[43]||(d[43]=[v("保存新建默认",-1)])]),_:1})]),_:1})])],64)):o.viewportStyleLoading?(V(),U("div",on,[a(ze,{class:"is-loading"},{default:l(()=>[a(D(rt))]),_:1}),d[45]||(d[45]=r("span",null,"加载视口样式…",-1))])):H("",!0):(V(),U("div",ql,[a(ze,{class:"empty-icon"},{default:l(()=>[a(D(_t))]),_:1}),d[35]||(d[35]=r("span",{class:"empty-title"},"请选中站点或路径",-1)),d[36]||(d[36]=r("span",{class:"empty-desc"},"在画布上选中一个站点或路径后,可在此调整对应视口样式。",-1))]))])]),_:1}),a(Le,{label:"图层",name:"layers"},{default:l(()=>[a(qe,{data:o.layerRows,size:"small",class:"layer-table"},{default:l(()=>[a(Ce,{prop:"name",label:"图层",width:"120"}),a(Ce,{label:"可见",width:"60"},{default:l(({row:c})=>[a(Ue,{modelValue:c.visible,"onUpdate:modelValue":R=>c.visible=R,onChange:R=>Ee(c)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),a(Ce,{label:"可选",width:"60"},{default:l(({row:c})=>[a(Ue,{modelValue:c.selectable,"onUpdate:modelValue":R=>c.selectable=R,onChange:R=>Ee(c)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),a(Ce,{label:"颜色"},{default:l(({row:c})=>[a(ge,{modelValue:c.color,"onUpdate:modelValue":R=>c.color=R,onChange:R=>Ee(c)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1})]),_:1},8,["data"]),a(be,{modelValue:M.value,"onUpdate:modelValue":d[19]||(d[19]=c=>M.value=c),size:"small",placeholder:"新图层名",class:"new-layer"},{append:l(()=>[a(Be,{onClick:xe},{default:l(()=>[...d[46]||(d[46]=[v("添加",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["modelValue"])])}}}),rn=Ne(sn,[["__scopeId","data-v-781515fe"]]),un={class:"edit-status-bar"},dn={class:"seg"},cn={class:"seg"},pn={class:"seg"},mn={class:"seg"},fn={class:"seg"},yn={key:0,class:"seg ok"},vn={key:1,class:"seg warn"},bn=Ae({__name:"EditStatusBar",props:{selectedCount:{},mouseX:{},mouseY:{},toolLabel:{},snapOn:{type:Boolean},undoSize:{},redoSize:{},connected:{type:Boolean}},setup(o){function F(w){return Number.isFinite(w)?w.toFixed(0):"--"}return(w,y)=>(V(),U("div",un,[r("span",dn,[y[0]||(y[0]=v(" 选中 ",-1)),r("b",null,T(o.selectedCount),1),y[1]||(y[1]=v(" 个 ",-1))]),r("span",cn," 鼠标 ("+T(F(o.mouseX))+", "+T(F(o.mouseY))+") mm ",1),r("span",pn,[y[2]||(y[2]=v(" 当前工具:",-1)),r("b",null,T(o.toolLabel),1)]),r("span",mn,[y[3]||(y[3]=v(" 吸附:",-1)),r("b",{class:Se({on:o.snapOn,off:!o.snapOn})},T(o.snapOn?"开":"关"),3)]),y[4]||(y[4]=r("span",{class:"spacer"},null,-1)),r("span",fn,"历史 "+T(o.undoSize)+" / "+T(o.redoSize),1),o.connected?(V(),U("span",yn,"● 实时通道在线")):(V(),U("span",vn,"● 实时通道断开"))]))}}),gn=Ne(bn,[["__scopeId","data-v-6254b10f"]]),wn={class:"upload-hint"},kn={key:0,class:"ai-text"},hn={class:"ai-stat"},xn=Ae({__name:"AiGenerateDialog",props:{modelValue:{type:Boolean},configured:{type:Boolean},defaultBounds:{},defaultLayer:{}},emits:["update:modelValue","generated"],setup(o,{emit:F}){const w=o,y=F,h=yt(),_=N(!1),i=N(null),k=N(["r"]),u=Je({prompt:"",mode:"sites+tracks",referenceImageBase64:void 0,layer:w.defaultLayer??"ai-generated",constraints:""}),z=N(w.defaultBounds??[-1e4,-1e4,1e4,1e4]);fe(()=>w.defaultBounds,E=>{E&&(z.value=E)}),fe(()=>w.defaultLayer,E=>{E&&(u.layer=E)});function $(){y("update:modelValue",!1)}function p(){y("update:modelValue",!1),h.push("/admin/config/system")}async function m(E){if(!E.raw)return;const b=new FileReader;b.onload=()=>{const q=String(b.result||""),Q=q.includes(",")?q.split(",",2)[1]:q;u.referenceImageBase64=Q},b.readAsDataURL(E.raw)}async function M(){try{_.value=!0,u.bounds=z.value;const E=await j.aiMapGenerate(u);i.value=E,A.success(`AI 已生成 ${E.created?.length??0} 个对象`),y("generated",E)}catch(E){A.error(`AI 生图失败:${E.message}`)}finally{_.value=!1}}return(E,b)=>{const q=Dt,Q=pt,ye=ct,W=Et,ve=dt,O=$a,se=Bt,ie=Lt,te=It,x=Tt,C=ft,G=Mt,oe=mt,ke=Fa,re=Na,ce=He,_e=Ut;return V(),ee(_e,{"model-value":o.modelValue,title:"AI 生图",width:"640px",class:"ai-generate-dialog","onUpdate:modelValue":b[9]||(b[9]=B=>y("update:modelValue",B)),onClose:$},{footer:l(()=>[a(ce,{onClick:$},{default:l(()=>[...b[20]||(b[20]=[v("关闭",-1)])]),_:1}),a(ce,{type:"primary",loading:_.value,disabled:!u.prompt.trim()||!o.configured,onClick:M},{default:l(()=>[...b[21]||(b[21]=[v(" 生成并落地 ",-1)])]),_:1},8,["loading","disabled"])]),default:l(()=>[o.configured?H("",!0):(V(),ee(Q,{key:0,type:"warning",closable:!1,class:"cfg-alert"},{default:l(()=>[b[11]||(b[11]=v(" 尚未配置 AI 服务(apiKey / endpoint)。请先到 ",-1)),a(q,{type:"primary",onClick:p},{default:l(()=>[...b[10]||(b[10]=[v("系统级配置 → AI 服务",-1)])]),_:1}),b[12]||(b[12]=v(" 完成配置。 ",-1))]),_:1})),a(x,{"label-width":"100px",size:"default"},{default:l(()=>[a(W,{label:"提示词",required:""},{default:l(()=>[a(ye,{modelValue:u.prompt,"onUpdate:modelValue":b[0]||(b[0]=B=>u.prompt=B),type:"textarea",rows:4,placeholder:"一条 U 型生产线,含 5 个工站,间距 2m,方向单向通行..."},null,8,["modelValue"])]),_:1}),a(W,{label:"参考图片"},{default:l(()=>[a(O,{drag:"","auto-upload":!1,"show-file-list":!1,accept:"image/*",onChange:m},{default:l(()=>[r("div",wn,[a(ve,null,{default:l(()=>[a(D(Aa))]),_:1}),r("span",null,T(u.referenceImageBase64?"已选择图片 (点击替换)":"拖入或点击上传参考图(可选,多模态)"),1)])]),_:1})]),_:1}),a(W,{label:"生成模式"},{default:l(()=>[a(ie,{modelValue:u.mode,"onUpdate:modelValue":b[1]||(b[1]=B=>u.mode=B)},{default:l(()=>[a(se,{value:"sites"},{default:l(()=>[...b[13]||(b[13]=[v("仅站点",-1)])]),_:1}),a(se,{value:"tracks"},{default:l(()=>[...b[14]||(b[14]=[v("仅路径",-1)])]),_:1}),a(se,{value:"sites+tracks"},{default:l(()=>[...b[15]||(b[15]=[v("站点+路径",-1)])]),_:1}),a(se,{value:"full"},{default:l(()=>[...b[16]||(b[16]=[v("完整地图",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(W,{label:"范围 (mm)"},{default:l(()=>[a(te,{modelValue:z.value[0],"onUpdate:modelValue":b[2]||(b[2]=B=>z.value[0]=B),placeholder:"x1",step:500},null,8,["modelValue"]),a(te,{modelValue:z.value[1],"onUpdate:modelValue":b[3]||(b[3]=B=>z.value[1]=B),placeholder:"y1",step:500,class:"ml"},null,8,["modelValue"]),a(te,{modelValue:z.value[2],"onUpdate:modelValue":b[4]||(b[4]=B=>z.value[2]=B),placeholder:"x2",step:500,class:"ml"},null,8,["modelValue"]),a(te,{modelValue:z.value[3],"onUpdate:modelValue":b[5]||(b[5]=B=>z.value[3]=B),placeholder:"y2",step:500,class:"ml"},null,8,["modelValue"])]),_:1}),a(W,{label:"图层"},{default:l(()=>[a(ye,{modelValue:u.layer,"onUpdate:modelValue":b[6]||(b[6]=B=>u.layer=B),placeholder:"ai-generated(默认)"},null,8,["modelValue"])]),_:1}),a(W,{label:"附加约束"},{default:l(()=>[a(ye,{modelValue:u.constraints,"onUpdate:modelValue":b[7]||(b[7]=B=>u.constraints=B),placeholder:"例如:单向通行、最小转弯半径 1500mm"},null,8,["modelValue"])]),_:1})]),_:1}),i.value?(V(),ee(re,{key:1,modelValue:k.value,"onUpdate:modelValue":b[8]||(b[8]=B=>k.value=B),class:"result-panel"},{default:l(()=>[a(ke,{title:"AI 返回 / 落地结果",name:"r"},{default:l(()=>[i.value.assistantText?(V(),U("div",kn,T(i.value.assistantText),1)):H("",!0),r("div",hn,[b[17]||(b[17]=v(" 落地对象 ",-1)),r("b",null,T(i.value.created?.length??0),1),b[18]||(b[18]=v(",工具调用次数 ",-1)),r("b",null,T(i.value.usedTools),1),b[19]||(b[19]=v("。 ",-1))]),a(oe,{data:i.value.created??[],size:"small","max-height":"220"},{default:l(()=>[a(C,{label:"工具",prop:"tool",width:"160"}),a(C,{label:"kind",prop:"kind",width:"80"}),a(C,{label:"id",prop:"id",width:"80"}),a(C,{label:"typeName",prop:"typeName"}),a(C,{label:"错误"},{default:l(({row:B})=>[B.error?(V(),ee(G,{key:0,type:"danger",size:"small"},{default:l(()=>[v(T(B.error),1)]),_:2},1024)):H("",!0)]),_:1})]),_:1},8,["data"])]),_:1})]),_:1},8,["modelValue"])):H("",!0)]),_:1},8,["model-value"])}}}),Sn=Ne(xn,[["__scopeId","data-v-47584778"]]),_n={key:0,class:"aap-empty"},Vn=["onClick"],Cn={class:"aap-bubble"},$n={class:"aap-bubble-text"},An={key:0,class:"aap-meta"},Nn={key:1,class:"aap-msg aap-msg--assistant"},Fn={class:"aap-bubble aap-bubble--loading"},Tn={class:"aap-toolbar"},En={class:"aap-input"},Ct=300,$t=720,At="mapEditor.aiAssistant.mode",In=Ae({__name:"AiAssistantPanel",props:{open:{type:Boolean},configured:{type:Boolean},width:{},defaultBounds:{},defaultLayer:{}},emits:["update:open","update:width","generated"],setup(o,{emit:F}){const w=o,y=F,h=ne(()=>Math.min($t,Math.max(Ct,w.width??360))),_=yt(),i=N([]),k=N(""),u=N(!1),z=N(null);function $(){const x=localStorage.getItem(At);return x==="sites"||x==="tracks"||x==="sites+tracks"||x==="full"?x:"sites+tracks"}const p=N($());fe(p,x=>{try{localStorage.setItem(At,x)}catch{}});let m=!1,M=0,E=0;function b(x){m=!0,M=x.clientX,E=h.value,x.currentTarget.setPointerCapture?.(x.pointerId),x.preventDefault()}function q(x){if(!m)return;const C=Math.min($t,Math.max(Ct,E+(M-x.clientX)));y("update:width",C)}function Q(x){m&&(m=!1,x.currentTarget.releasePointerCapture?.(x.pointerId))}Rt(()=>{m=!1});const ye=["生成一条横向直线,5 个站点,间距 2000mm","画一个 3×3 的站点矩阵,间距 2500mm","一条 U 型产线,含 5 个工站,单向通行"];function W(){y("update:open",!1)}function ve(){W(),_.push("/admin/config/system")}function O(x){k.value=x}function se(x){x instanceof KeyboardEvent&&x.key==="Enter"&&!x.shiftKey&&!x.isComposing&&(x.preventDefault(),te())}async function ie(){await Ea();const x=z.value;x&&(x.scrollTop=x.scrollHeight)}async function te(){const x=k.value.trim();if(!(!x||u.value||!w.configured)){i.value.push({role:"user",text:x}),k.value="",ie(),u.value=!0;try{const C={prompt:x,mode:p.value,bounds:w.defaultBounds,layer:w.defaultLayer},G=await j.aiMapGenerate(C),oe=G.created?.length??0;i.value.push({role:"assistant",text:G.assistantText?.trim()||`已根据你的描述生成并落地 ${oe} 个对象。`,meta:{created:oe,usedTools:G.usedTools??0}}),y("generated",G)}catch(C){const G=C.message;i.value.push({role:"assistant",text:`生成失败:${G}`}),A.error(`AI 助手生成失败:${G}`)}finally{u.value=!1,ie()}}}return(x,C)=>{const G=Dt,oe=pt,ke=dt,re=Bt,ce=Lt,_e=ct,B=He;return V(),U("div",{class:Se(["ai-assistant-panel",{"is-open":o.open}]),style:jt({width:h.value+"px"}),role:"complementary","aria-label":"AI 助手"},[r("div",{class:"aap-resizer",title:"拖拽调整宽度",onPointerdown:b,onPointermove:q,onPointerup:Q,onPointercancel:Q},null,32),r("div",{class:"aap-header"},[C[2]||(C[2]=Ta(' ✦',1)),r("button",{class:"aap-close",type:"button",title:"收起",onClick:W},"✕")]),o.configured?H("",!0):(V(),ee(oe,{key:0,type:"warning",closable:!1,class:"aap-alert"},{default:l(()=>[C[4]||(C[4]=v(" 尚未配置 AI 服务(apiKey / endpoint)。请先到 ",-1)),a(G,{type:"primary",onClick:ve},{default:l(()=>[...C[3]||(C[3]=[v("系统级配置 → AI 服务",-1)])]),_:1}),C[5]||(C[5]=v(" 完成配置。 ",-1))]),_:1})),r("div",{ref_key:"listRef",ref:z,class:"aap-messages"},[i.value.length===0?(V(),U("div",_n,[C[6]||(C[6]=r("div",{class:"aap-empty-title"},"试着这样说:",-1)),(V(),U(de,null,we(ye,(Y,Z)=>r("button",{key:Z,type:"button",class:"aap-example",onClick:he=>O(Y)},T(Y),9,Vn)),64))])):H("",!0),(V(!0),U(de,null,we(i.value,(Y,Z)=>(V(),U("div",{key:Z,class:Se(["aap-msg",`aap-msg--${Y.role}`])},[r("div",Cn,[r("div",$n,T(Y.text),1),Y.role==="assistant"&&Y.meta?(V(),U("div",An,[C[7]||(C[7]=v(" 落地对象 ",-1)),r("b",null,T(Y.meta.created),1),C[8]||(C[8]=v(" · 工具调用 ",-1)),r("b",null,T(Y.meta.usedTools),1)])):H("",!0)])],2))),128)),u.value?(V(),U("div",Nn,[r("div",Fn,[a(ke,{class:"is-loading"},{default:l(()=>[a(D(rt))]),_:1}),C[9]||(C[9]=r("span",null,"AI 正在生成…",-1))])])):H("",!0)],512),r("div",Tn,[C[14]||(C[14]=r("span",{class:"aap-toolbar-label"},"生成模式",-1)),a(ce,{modelValue:p.value,"onUpdate:modelValue":C[0]||(C[0]=Y=>p.value=Y),size:"small"},{default:l(()=>[a(re,{value:"sites"},{default:l(()=>[...C[10]||(C[10]=[v("站点",-1)])]),_:1}),a(re,{value:"tracks"},{default:l(()=>[...C[11]||(C[11]=[v("路径",-1)])]),_:1}),a(re,{value:"sites+tracks"},{default:l(()=>[...C[12]||(C[12]=[v("站点+路径",-1)])]),_:1}),a(re,{value:"full"},{default:l(()=>[...C[13]||(C[13]=[v("完整",-1)])]),_:1})]),_:1},8,["modelValue"])]),r("div",En,[a(_e,{modelValue:k.value,"onUpdate:modelValue":C[1]||(C[1]=Y=>k.value=Y),type:"textarea",rows:3,resize:"none",disabled:!o.configured||u.value,placeholder:"例如:一条 U 型生产线,含 5 个工站,间距 2m,单向通行…(Enter 发送,Shift+Enter 换行)",onKeydown:se},null,8,["modelValue","disabled"]),a(B,{type:"primary",class:"aap-send",loading:u.value,disabled:!o.configured||!k.value.trim(),onClick:te},{default:l(()=>[...C[15]||(C[15]=[v("发送",-1)])]),_:1},8,["loading","disabled"])])],6)}}}),zn=Ne(In,[["__scopeId","data-v-9fed2b0d"]]);function Pn(){const o=N("transform.move"),F=N({grid:!1,gridSizeMm:100,object:!0,endpoint:!0,midpoint:!1,toAngleDeg:void 0}),w=N(!0),y=N(!0),h=ne(()=>{const u=o.value;return u.startsWith("select.")?"select":u.startsWith("draw.")?"draw":u.startsWith("transform.")?"transform":u.startsWith("align.")?"align":u.startsWith("batch.")?"batch":u.startsWith("snap.")?"snap":"show"}),_=ne(()=>({"select.single":"单选","select.rect":"矩形框选","select.lasso":"圈选","select.byType.site":"按类型选 - 站点","select.byType.bezier":"按类型选 - 贝塞尔","select.byType.polyline":"按类型选 - 折线","select.byType.arc":"按类型选 - 弧","select.byType.decor":"按类型选 - 装饰物","select.byType.currentLayer":"按类型选 - 当前图层","select.invert":"反选","select.clear":"清空选中","draw.site":"添加站点","draw.sites.continuous":"连续添加站点","draw.track.polyline":"添加折线路径","draw.track.bezier":"添加贝塞尔路径","draw.track.arc":"添加弧形路径","draw.track.nurbs":"添加 NURBS 路径","draw.decor.line":"添加线段","draw.decor.rect":"添加矩形","draw.decor.circle":"添加圆","draw.decor.text":"添加文本","draw.image":"插入图片","draw.model":"插入 3D 模型","transform.move":"移动","transform.rotate":"旋转","transform.scale":"缩放","transform.duplicate":"复制副本","transform.copy":"复制","transform.paste":"粘贴","transform.delete":"删除","transform.copyFields":"复制字段","align.left":"左对齐","align.right":"右对齐","align.top":"上对齐","align.bottom":"下对齐","align.centerH":"水平居中","align.centerV":"垂直居中","align.center":"整体居中","align.distributeH":"水平等距","align.distributeV":"垂直等距","align.toFirst":"对齐到第一个","align.toLast":"对齐到最后一个","batch.linearH":"横向间隔生成","batch.linearV":"纵向间隔生成","batch.matrix":"矩阵生成","batch.alongPath":"沿路径采样生成","batch.circular":"环形阵列","snap.grid":"网格吸附","snap.object":"对象吸附","snap.endpoint":"端点吸附","snap.midpoint":"中点吸附","show.controlPoints":"显示控制点","show.controlHandles":"显示控制柄"})[o.value]??o.value);function i(u){o.value=u}function k(u){F.value={...F.value,[u]:!F.value[u]}}return{activeTool:o,snap:F,showControlPoints:w,showControlHandles:y,toolCategory:h,toolLabel:_,setTool:i,toggleSnap:k}}function $e(o,F){return`${o}:${F}`}function Mn(){const o=N([]),F=N(null),w=ne(()=>o.value.map(m=>m.id)),y=ne(()=>o.value.length);function h(m,M){const E=$e(m,M);return o.value.some(b=>$e(b.kind,b.id)===E)}function _(m){h(m.kind,m.id)||(o.value=[...o.value,m],F.value=$e(m.kind,m.id))}function i(m,M){const E=$e(m,M);o.value=o.value.filter(b=>$e(b.kind,b.id)!==E),F.value===E&&(F.value=null)}function k(m){h(m.kind,m.id)?i(m.kind,m.id):_(m)}function u(m){o.value=m,F.value=m.length>0?$e(m[m.length-1].kind,m[m.length-1].id):null}function z(){o.value=[],F.value=null}function $(m){o.value=o.value.filter(M=>M.kind===m)}function p(m){o.value=[m],F.value=$e(m.kind,m.id)}return{items:o,ids:w,count:y,lastClickedKey:F,has:h,add:_,remove:i,toggle:k,set:u,clear:z,filterByKind:$,selectSingle:p}}function Un(o={}){const F=o.maxDepth??20,w=N([]),y=N([]),h=N(!1),_=ne(()=>w.value.length>0&&!h.value),i=ne(()=>y.value.length>0&&!h.value);async function k(m){if(!h.value){h.value=!0;try{await m.apply(),w.value=[...w.value,m].slice(-F),y.value=[],o.onChange?.()}finally{h.value=!1}}}async function u(){if(!_.value)return;const m=w.value[w.value.length-1];h.value=!0;try{await m.revert(),w.value=w.value.slice(0,-1),y.value=[...y.value,m].slice(-F),o.onChange?.()}finally{h.value=!1}}async function z(){if(!i.value)return;const m=y.value[y.value.length-1];h.value=!0;try{await m.apply(),y.value=y.value.slice(0,-1),w.value=[...w.value,m].slice(-F),o.onChange?.()}finally{h.value=!1}}function $(){w.value=[],y.value=[],o.onChange?.()}function p(m,M){return{label:m,apply:async()=>{for(const E of M)await E.apply()},revert:async()=>{for(let E=M.length-1;E>=0;E--)await M[E].revert()}}}return{undoStack:w,redoStack:y,busy:h,canUndo:_,canRedo:i,run:k,undo:u,redo:z,clear:$,composite:p}}function Ln(o={}){function F(w){const y=w?.data;if(!y||typeof y!="object"||typeof y.type!="string")return;const h=y.type,_=y.payload;if(h==="workspace.pick"&&o.onPick&&_&&typeof _=="object"&&"x"in _&&"y"in _){const i=_;o.onPick({x:Number(i.x),y:Number(i.y),siteId:typeof i.siteId=="number"?i.siteId:void 0})}else if(h==="workspace.select"&&o.onSelect&&Array.isArray(_))o.onSelect({names:_});else if(h==="workspace.mouse"&&o.onMouse&&_&&typeof _=="object"&&"x"in _&&"y"in _){const i=_;o.onMouse({x:Number(i.x),y:Number(i.y)})}}Ot(()=>window.addEventListener("message",F)),Rt(()=>window.removeEventListener("message",F))}function Bn(o,F){if(o.length<2)return[];const w=[],y=o.map(p=>p.x),h=o.map(p=>p.y),_=Math.min(...y),i=Math.max(...y),k=Math.min(...h),u=Math.max(...h),z=y.reduce((p,m)=>p+m,0)/y.length,$=h.reduce((p,m)=>p+m,0)/h.length;switch(F){case"left":for(const p of o)w.push(me(p,{x:_}));break;case"right":for(const p of o)w.push(me(p,{x:i}));break;case"top":for(const p of o)w.push(me(p,{y:u}));break;case"bottom":for(const p of o)w.push(me(p,{y:k}));break;case"centerH":for(const p of o)w.push(me(p,{x:z}));break;case"centerV":for(const p of o)w.push(me(p,{y:$}));break;case"center":for(const p of o)w.push(me(p,{x:z,y:$}));break;case"distributeH":{const p=[...o].sort((M,E)=>M.x-E.x),m=(p[p.length-1].x-p[0].x)/(p.length-1);p.forEach((M,E)=>{const b=p[0].x+m*E;Math.abs(b-M.x)>.5&&w.push(me(M,{x:b}))});break}case"distributeV":{const p=[...o].sort((M,E)=>M.y-E.y),m=(p[p.length-1].y-p[0].y)/(p.length-1);p.forEach((M,E)=>{const b=p[0].y+m*E;Math.abs(b-M.y)>.5&&w.push(me(M,{y:b}))});break}case"toFirst":{const p=o[0];for(const m of o.slice(1))w.push(me(m,{x:p.x,y:p.y}));break}case"toLast":{const p=o[o.length-1];for(const m of o.slice(0,-1))w.push(me(m,{x:p.x,y:p.y}));break}}return w}function me(o,F){return{action:"patch",kind:o.kind,id:o.id,data:F}}function Dn(o,F,w,y){return Kt(o,w,F,w,y)}function Rn(o,F,w,y){return Kt(o,F,o,w,y)}function Kt(o,F,w,y,h){const _=[],i=Math.max(2,Math.floor(h.count));for(let k=0;k{const e=p.items.value;if(e.length!==1)return null;const t=e[0].kind;return t==="site"||t==="track"?t:null}),B=N(["g"]),Y=N([{name:"g",visible:!0,selectable:!0,color:"#cccccc"}]),Z=Je({selectFilter:{sites:!0,tracks:!0,cars:!0,decor:!0},alignSnap:{sites:!0,cars:!0,tracks:!0},showViewport:{sceneLabels:!0,scenePrimitives:!0,cars:!0}});function he(){try{localStorage.setItem("mapEditor.viewFilter",JSON.stringify(Z))}catch{}}function Qe(){try{const e=localStorage.getItem("mapEditor.viewFilter");if(!e)return;const t=JSON.parse(e);t.selectFilter&&Object.assign(Z.selectFilter,t.selectFilter),t.alignSnap&&Object.assign(Z.alignSnap,t.alignSnap),t.showViewport&&Object.assign(Z.showViewport,t.showViewport)}catch{}}function Oe(){const e=Z.selectFilter,t=p.items.value.filter(n=>n.kind==="site"?e.sites:n.kind==="track"?e.tracks:n.kind==="car"?e.cars:n.kind==="special"?e.decor:!0);t.length!==p.items.value.length&&p.set(t)}const Fe=N(!1),ae=N({siteA:null}),Ke=N(!1),We=N(!1),Te=N("");function Ee(e){return e.map(t=>`${t.kind}:${t.id}`).sort().join(",")}const xe=N(!1),Ie=["draw.site","draw.sites.continuous","draw.track.polyline","draw.track.bezier","draw.track.arc","draw.track.nurbs"];async function g(){if(!xe.value){for(xe.value=!0;xe.value;){let e=null;try{e=await j.pick()}catch{break}if(!xe.value)break;const t=$.activeTool.value;if(!Ie.includes(t))break;if(t==="draw.site"){await c(e.x,e.y),A.success(`已添加站点 (${e.x.toFixed(0)}, ${e.y.toFixed(0)})`);break}else if(t==="draw.sites.continuous")await c(e.x,e.y);else if(t==="draw.track.polyline"||t==="draw.track.bezier"||t==="draw.track.arc"||t==="draw.track.nurbs"){const n=ae.value.siteA;if(await qe(e.siteId),n!=null&&ae.value.siteA==null){const s=t==="draw.track.bezier"?"贝塞尔路径":t==="draw.track.arc"?"弧形路径":t==="draw.track.nurbs"?"NURBS 路径":"直线路径";A.success(`已添加${s}`);break}}else break}xe.value=!1,Ie.includes($.activeTool.value)&&$.setTool("transform.move")}}const d=ne(()=>$.snap.value.grid||$.snap.value.object||$.snap.value.endpoint||$.snap.value.midpoint);async function ze(e){switch(e){case"edit.undo":await m.undo();break;case"edit.redo":await m.redo();break;case"edit.delete":await R();break;case"edit.selectAll":A.info("全选:请使用工具栏「按类型选」批量选中");break;case"edit.invert":A.info("反选功能后续实现");break;case"project.save":await ra();break;case"ai.open":await wt();break;case"file.upload.image":Ze("image");break;case"file.upload.model":Ze("model");break;case"view.fitAll":A.info("请在 3D 视口右键菜单使用「适配全部」");break;case"view.fitSelection":A.info("请在 3D 视口右键菜单使用「适配选中」");break;case"snap.toGrid":$.toggleSnap("grid");break;case"snap.toObject":$.toggleSnap("object");break;case"layer.new":await Le();break;case"layer.toggleVisibility":Fe.value=!0;break;case"view.select.sites":ue("selectFilter","sites");break;case"view.select.tracks":ue("selectFilter","tracks");break;case"view.select.cars":ue("selectFilter","cars");break;case"view.select.decor":ue("selectFilter","decor");break;case"view.snap.sites":ue("alignSnap","sites");break;case"view.snap.cars":ue("alignSnap","cars");break;case"view.snap.tracks":ue("alignSnap","tracks");break;case"view.show.sceneLabels":ue("showViewport","sceneLabels");break;case"view.show.scenePrimitives":ue("showViewport","scenePrimitives");break;case"view.show.cars":ue("showViewport","cars");break;default:A.info(`暂未实现的命令:${e}`)}}async function ue(e,t){const n=Z[e],s=t,f=n[s];n[s]=!n[s],he(),e==="selectFilter"&&Oe();const S={};S[e]={[s]:n[s]};try{await j.setViewFilter(S)}catch(I){console.warn("[MapEditor] 写后端 viewFilter 失败:",I),n[s]=f,he(),e==="selectFilter"&&Oe(),A({message:"过滤设置写入后端失败,已回滚本地状态;请检查 SimpleLite 是否连通后重试。",type:"warning",duration:5e3,showClose:!0})}}function Pe(e){return e==="bezier"?"贝塞尔路径":e==="nurbs"?"NURBS 路径":e==="arc"?"弧形路径":"直线路径"}async function be(e,t){const n=await Me(e),s=await Me(t);if(!n||!s)return A.warning(`无法拉到 site #${e} / #${t} 的 x,y,将不带 typeInfo 创建 track(圆心需手动设置)`),null;const S=Math.hypot(n.x-s.x,n.y-s.y)/2;let I;try{const L=await K.prompt(`请输入半径 (mm),必须 ≥ ${S.toFixed(1)}(等于即半圆)`,"添加弧形路径",{inputValue:String(Math.ceil(S))});I=Number(L.value)}catch{return"cancelled"}return!Number.isFinite(I)||IAI 助手用自然语言描述地图需求,自动生成站点 / 路径0?-S/I:0,va=I>0?f/I:0,St=s==="left"?1:-1,nt=(e.x+t.x)/2+St*le*ya,ot=(e.y+t.y)/2+St*le*va,ba=Math.atan2(e.y-ot,e.x-nt)*180/Math.PI,ga=Math.atan2(t.y-ot,t.x-nt)*180/Math.PI;return["1",nt.toFixed(3),ot.toFixed(3),n.toFixed(3),ba.toFixed(3),ga.toFixed(3)].join(",")}function Ue(e){e&&(x.site.layer=e,x.track.layer=e,A.success(`默认图层已切到 "${e}"`))}async function Le(){try{const t=((await K.prompt("请输入新图层名(同名会被忽略)","新建图层",{inputValue:""})).value??"").trim();if(!t)return;if(B.value.includes(t)){x.site.layer=t,x.track.layer=t,A.info(`图层 "${t}" 已存在,已切到该层`);return}gt(t),x.site.layer=t,x.track.layer=t,A.success(`已创建图层 "${t}",下次创建对象会落到该层`)}catch{}}async function et(e){if($.setTool(e),ae.value.siteA=null,xe.value=!1,e==="select.clear"){p.clear(),await J.clearSelection().catch(()=>{});return}if(Ie.includes(e)&&g(),e.startsWith("align.")){await Xt(e.replace("align.",""));return}if(e.startsWith("batch.")){await Ht(e);return}if(e==="transform.delete"){await R();return}if(e.startsWith("select.byType.")){const t=e.replace("select.byType.","");X(t);return}if(e==="show.controlPoints"&&($.showControlPoints.value=!$.showControlPoints.value),e==="show.controlHandles"&&($.showControlHandles.value=!$.showControlHandles.value),e==="draw.image"&&Ze("image"),e==="draw.model"&&Ze("model"),e==="transform.copyFields"){await Gt();return}}function X(e){e==="site"?p.filterByKind("site"):e==="polyline"||e==="bezier"||e==="arc"?p.items.value=p.items.value.filter(t=>{if(t.kind!=="track")return!1;const n=t.typeName.toLowerCase();return e==="polyline"?n==="uitrack":e==="bezier"?n.includes("bezier"):e==="arc"?n.includes("arc"):!1}):e==="decor"?p.filterByKind("special"):e==="currentLayer"&&O.value?.layer&&(p.items.value=p.items.value.filter(t=>t.layer===O.value.layer))}async function Ve(e){M.x=e.x,M.y=e.y;const t=$.activeTool.value;if(!(xe.value&&Ie.includes(t))&&!Ke.value){if(t==="draw.site"||t==="draw.sites.continuous"){await c(e.x,e.y);return}if(t==="draw.track.polyline"||t==="draw.track.bezier"||t==="draw.track.arc"||t==="draw.track.nurbs"){try{const n=await j.pick();await qe(n.siteId)}catch{}return}}}function Be(e){p.set(Ce(e))}function Ce(e){const t=[],n=Z.selectFilter;for(const s of e){const f=/^UI([A-Za-z]+)-(\d+)$/.exec(s)??/^([A-Za-z]+)-(\d+)$/.exec(s);if(!f)continue;const S=f[1],I=Number(f[2]),L=S.toLowerCase();let P;L==="site"?P="site":L==="car"||L==="vehicle"?P="car":L.includes("track")?P="track":P="special",!(P==="site"&&!n.sites)&&(P==="track"&&!n.tracks||P==="car"&&!n.cars||P==="special"&&!n.decor||t.push({kind:P,id:I,name:s,typeName:s.startsWith("UI")?`UI${S}`:S}))}return t}async function qe(e){if(e<=0){A.warning("请先拾取一个站点");return}if(ae.value.siteA==null){ae.value.siteA=e,A.success(`已选起点站 #${e},请再拾取终点站`);return}const t=ae.value.siteA,n=e;if(ae.value.siteA=null,t===n){A.warning("起止站点不能相同");return}const s=$.activeTool.value==="draw.track.bezier"?"bezier":$.activeTool.value==="draw.track.arc"?"arc":$.activeTool.value==="draw.track.nurbs"?"nurbs":"track";let f,S="";if(s==="bezier"||s==="nurbs"){const L=await tt(t,n,s);if(L==="cancelled")return;L!=null&&(f=L.typeInfo,S=`(控制点 ${L.midCount})`)}else if(s==="arc"){const L=await be(t,n);if(L==="cancelled")return;L!=null&&(f=L.typeInfo,S=`(半径 ${L.radius.toFixed(0)})`)}let I=-1;await m.run({label:`新建${Pe(s)} (${t}→${n})${S}`,apply:async()=>{const L={siteA:t,siteB:n,layer:x.track.layer};f&&(L.typeInfo=f),I=(await j.createTrack(s,L)).id},revert:async()=>{I>0&&await j.deleteObject("track",I)}}),Ge(s)}async function tt(e,t,n){const s=await Me(e),f=await Me(t);if(!s||!f)return A.warning(`无法拉到 site #${e} / #${t} 的 x,y,将不带 typeInfo 创建 track(控制点会用兜底直线)`),null;const S=Pe(n);let I;try{const P=await K.prompt("请输入中间控制点个数(不含起止站点;默认 2,输入 0 则不带控制点直接连接两站点)",`创建${S}`,{inputValue:"2",inputPattern:/^\d+$/,inputErrorMessage:"请输入非负整数"});I=Math.max(0,Math.floor(Number(P.value)))}catch{return"cancelled"}if(I===0)return{typeInfo:pe([s,f],n==="bezier"?2:3),midCount:0};A.info(`请在画布上依次点选 ${I} 个中间控制点(任意位置;右键取消创建)`),Ke.value=!0;const L=[];try{for(let P=0;P{n=(await j.createSite({x:e,y:t,layer:x.site.layer,name:`${x.site.namePrefix}-${Date.now()%1e5}`})).id},revert:async()=>{n>0&&await j.deleteObject("site",n)}})}async function R(){const e=[...p.items.value];if(e.length===0)return;const t=[];for(const n of e)try{const s=await J.getBundle(n.kind,n.id);t.push({kind:n.kind,typeName:s.typeName,data:{...s.fields??{}}})}catch{}await m.run({label:`删除 ${e.length} 个对象`,apply:async()=>{const n=e.map(s=>({action:"delete",kind:s.kind,id:s.id}));await j.batch(n),p.clear()},revert:async()=>{const n=t.map(s=>({action:"create",kind:Yt(s.kind,s.typeName),data:s.data}));n.length&&(await j.batch(n),A.success(`已恢复 ${n.length} 个对象(注意:id 已重排)`))}})}function Yt(e,t){const n=(t??"").toLowerCase();if(e==="track")return n.includes("bezier")?"bezier":n.includes("arc")?"arc":n.includes("nurbs")?"nurbs":"track";if(e==="special"){if(n.includes("image"))return"image";if(n.includes("text"))return"text";if(n.includes("model"))return"model"}return e}async function Xt(e){const t=[];for(const s of p.items.value)if(s.kind!=="track")try{const f=await J.getBundle(s.kind,s.id),S=Number(f.fields?.x??0),I=Number(f.fields?.y??0);t.push({kind:s.kind,id:s.id,x:S,y:I})}catch{}if(t.length<2){A.warning("对齐需要选中至少 2 个对象");return}const n=Bn(t,e);if(n.length===0){A.info("对齐无变化");return}await m.run({label:`对齐 (${e})`,apply:async()=>{await j.batch(n)},revert:async()=>{const s=t.map(f=>({action:"patch",kind:f.kind,id:f.id,data:{x:f.x,y:f.y}}));await j.batch(s)}})}async function Ht(e){if(e==="batch.linearH"||e==="batch.linearV"){const t=e==="batch.linearH"?"横向":"纵向";try{const{value:n}=await K.prompt(`输入 ${t}站点数量`,"批量生成",{inputValue:"5",inputType:"number"}),s=Math.max(2,Math.floor(Number(n))),f=await K.prompt("起点 X","批量生成",{inputValue:"0"}),S=await K.prompt("起点 Y","批量生成",{inputValue:"0"}),I=await K.prompt("终点 X","批量生成",{inputValue:"5000"}),L=await K.prompt("终点 Y","批量生成",{inputValue:"0"}),P=e==="batch.linearH"?Dn(Number(f.value),Number(I.value),Number(S.value),{count:s,layer:x.site.layer}):Rn(Number(f.value),Number(S.value),Number(L.value),{count:s,layer:x.site.layer});await at(`${t}间隔生成 ${s}`,P)}catch{}return}if(e==="batch.matrix"){try{const t=Number((await K.prompt("行数","矩阵生成",{inputValue:"3"})).value),n=Number((await K.prompt("列数","矩阵生成",{inputValue:"3"})).value),s=Number((await K.prompt("x1","矩阵生成",{inputValue:"0"})).value),f=Number((await K.prompt("y1","矩阵生成",{inputValue:"0"})).value),S=Number((await K.prompt("x2","矩阵生成",{inputValue:"5000"})).value),I=Number((await K.prompt("y2","矩阵生成",{inputValue:"5000"})).value),L=jn(s,f,S,I,{rows:t,cols:n,layer:x.site.layer});await at(`矩阵生成 ${t}×${n}`,L)}catch{}return}if(e==="batch.circular"){try{const t=Number((await K.prompt("圆心 X","环形阵列",{inputValue:"0"})).value),n=Number((await K.prompt("圆心 Y","环形阵列",{inputValue:"0"})).value),s=Number((await K.prompt("半径 (mm)","环形阵列",{inputValue:"2000"})).value),f=Number((await K.prompt("站点数量","环形阵列",{inputValue:"8"})).value),S=On(t,n,s,{count:f,layer:x.site.layer});await at(`环形阵列 r=${s} n=${f}`,S)}catch{}return}if(e==="batch.alongPath"){await Wt();return}}async function Wt(){const e=p.items.value.filter(f=>f.kind==="track");if(e.length===0){A.warning("请先选中至少 1 条路径");return}let t=500,n=!1;try{const{value:f}=await K.prompt("输入采样间距 (mm)","沿路径采样",{inputValue:"500",inputType:"number"});t=Math.max(10,Math.floor(Number(f)));const{value:S}=await K.prompt("是否包含端点?输入 1 包含,0 不包含","沿路径采样",{inputValue:"0"});n=Number(S)===1}catch{return}const s=[];await m.run({label:`沿 ${e.length} 条路径间距 ${t}mm 采样`,apply:async()=>{for(const f of e){const S=await j.sampleSitesAlongTrack(f.id,{spacingMm:t,includeEndpoints:n,layer:x.site.layer});s.push(...S.ids)}A.success(`已采样生成 ${s.length} 个站点`)},revert:async()=>{if(!s.length)return;const f=s.map(S=>({action:"delete",kind:"site",id:S}));await j.batch(f)}})}async function Gt(){if(p.items.value.length<2){A.warning("字段复制需要 ≥ 2 个选中对象(第 1 个为源,其余为目标)");return}const[e,...t]=p.items.value;try{const{value:n}=await K.prompt("输入要复制的字段名(逗号分隔),例如:x,y,layerName","字段复制",{inputValue:"x,y"}),s=n.split(",").map(S=>S.trim()).filter(Boolean);if(!s.length)return;const f=new Map;for(const S of t)try{const I=await J.getBundle(S.kind,S.id),L={};for(const P of s)L[P]=String(I.fields?.[P]??"");f.set(`${S.kind}:${S.id}`,L)}catch{}await m.run({label:`字段复制 ${s.join(",")} → ${t.length} 个`,apply:async()=>{const S=await j.copyFieldsTo(e.kind,e.id,s,t.map(I=>({kind:I.kind,id:I.id})));A.success(`已复制 ${S.copied} 项字段`)},revert:async()=>{const S=t.flatMap(I=>{const L=f.get(`${I.kind}:${I.id}`);return L?[{action:"patch",kind:I.kind,id:I.id,data:L}]:[]});S.length&&await j.batch(S)}})}catch{}}async function at(e,t){if(t.length===0)return;let n=[];await m.run({label:e,apply:async()=>{n=(await j.batch(t)).results.filter(f=>f.ok&&f.action==="create"&&f.result?.id).map(f=>({kind:f.result.kind,id:f.result.id}))},revert:async()=>{const s=n.map(f=>({action:"delete",kind:f.kind,id:f.id}));s.length&&await j.batch(s)}}),A.success(`${e} 完成`)}async function Ye(){if(p.items.value.length===0){O.value=null,se.value=[],ie.value=[],te.value=[];return}const e=p.items.value[0];qt();try{const t=await J.getBundle(e.kind,e.id);O.value=t.summary,se.value=Object.entries(t.fields).map(([n,s])=>({key:n,value:String(s)})),ie.value=t.methods,te.value=(t.status??[]).map(n=>({key:n.key,value:n.value}))}catch(t){A.error(`加载属性失败:${t.message}`)}finally{Zt()}}function qt(){ve.value=!0}function Zt(){ve.value=!1}async function Jt(e){if(!O.value||p.items.value.length===0)return;const t=p.items.value[0],n=O.value.id,s=O.value.name??"";s!==e&&(await m.run({label:`重命名 ${s||"(无)"} → ${e}`,apply:async()=>{await J.setField(t.kind,n,"name",e)},revert:async()=>{try{await J.setField(t.kind,n,"name",s)}catch(f){A.warning(`回滚名称失败:${f.message}`)}}}),A.success("名称已更新"))}async function Qt(e){if(!O.value||p.items.value.length===0)return;const t=p.items.value[0],n=O.value.id,s=O.value.layer??"";s!==e&&(await m.run({label:`修改图层 ${s||"(无)"} → ${e}`,apply:async()=>{await J.setField(t.kind,n,"layerName",e)},revert:async()=>{try{await J.setField(t.kind,n,"layerName",s)}catch(f){A.warning(`回滚图层失败:${f.message}`)}}}),await Ye())}async function vt(e,t){if(!O.value)return;const n=p.items.value[0];let s;try{const f=await J.getBundle(n.kind,O.value.id);s=f.fields?.[e]!=null?String(f.fields[e]):void 0}catch{}await m.run({label:`修改 ${e}`,apply:async()=>{await J.setField(n.kind,O.value.id,e,t)},revert:async()=>{if(s!==void 0)try{await J.setField(n.kind,O.value.id,e,s)}catch(f){A.warning(`回滚 ${e} 失败:${f.message}`)}else A.warning(`回滚 ${e}:没拿到原值快照,仅本地撤销`)}}),await Ye()}async function ea(){try{const e=(await K.prompt("字段名","新增字段",{inputPattern:/^[A-Za-z0-9_]+$/})).value,t=(await K.prompt("字段值","新增字段",{inputValue:""})).value;await vt(e,t)}catch{}}async function ta(e){if(O.value)try{await J.execute(p.items.value[0].kind,O.value.id,e),A.success(`已执行 ${e}`),await Ye()}catch(t){A.error(`执行失败:${t.message}`)}}function aa(){localStorage.setItem("mapEditor.defaults",JSON.stringify(x)),A.success("新建默认已保存(下次创建对象时生效)")}function bt(e){const t=e.site??e.Site,n=e.track??e.Track,s=(S,I,L)=>Number(S?.[I]??S?.[L]??0),f=(S,I,L)=>!!(S?.[I]??S?.[L]);return Ua({site:{drawScale:s(t,"drawScale","DrawScale"),dotRadiusNormal:s(t,"dotRadiusNormal","DotRadiusNormal"),dotRadiusSelected:s(t,"dotRadiusSelected","DotRadiusSelected"),selectionRingM:s(t,"selectionRingM","SelectionRingM"),colorNormalArgb:s(t,"colorNormalArgb","ColorNormalArgb"),colorSelectedArgb:s(t,"colorSelectedArgb","ColorSelectedArgb"),labelColorNormalArgb:s(t,"labelColorNormalArgb","LabelColorNormalArgb"),labelColorSelectedArgb:s(t,"labelColorSelectedArgb","LabelColorSelectedArgb")},track:{drawScale:s(n,"drawScale","DrawScale"),widthNormal:s(n,"widthNormal","WidthNormal"),widthSelected:s(n,"widthSelected","WidthSelected"),showDirectionArrows:f(n,"showDirectionArrows","ShowDirectionArrows"),colorNormalArgb:s(n,"colorNormalArgb","ColorNormalArgb"),colorSelectedArgb:s(n,"colorSelectedArgb","ColorSelectedArgb")}})}async function lt(){G.value=!0;try{const e=await J.getViewportStyle();C.value=bt(e)}catch(e){console.warn("[MapEditor] 加载视口样式失败:",e)}finally{G.value=!1}}function la(e){e.site&&(ce.site=e.site,C.value&&(C.value={...C.value,site:{...e.site}})),e.track&&(ce.track=e.track,C.value&&(C.value={...C.value,track:{...e.track}})),ke&&clearTimeout(ke),ke=setTimeout(()=>{const t={...ce};ce={},na(t)},350)}async function na(e){const t=++re;oe.value=!0;try{const n={};e.site&&(n.site=e.site),e.track&&(n.track=e.track);const s=await J.patchViewportStyle(n);if(t!==re)return;C.value=bt(s)}catch(n){A.error(`视口样式更新失败:${n.message}`),await lt()}finally{t===re&&(oe.value=!1)}}function oa(e){A.info("图层可见 / 可选切换暂时仅本地生效,后续接入反射 API")}function gt(e){Y.value.find(t=>t.name===e)||(Y.value=[...Y.value,{name:e,visible:!0,selectable:!0,color:"#cccccc"}],B.value=[...B.value,e])}async function wt(){try{const e=await st.get();Q.value=!!e.configured}catch{Q.value=!1}E.value=!0}function sa(){try{b.value=localStorage.getItem(Nt)==="1";const e=Number(localStorage.getItem(Ft));Number.isFinite(e)&&e>=300&&e<=720&&(q.value=e)}catch{}}fe(b,e=>{try{localStorage.setItem(Nt,e?"1":"0")}catch{}}),fe(q,e=>{try{localStorage.setItem(Ft,String(Math.round(e)))}catch{}});async function ia(){if(!b.value)try{const e=await st.get();Q.value=!!e.configured}catch{Q.value=!1}b.value=!b.value}async function kt(e){De();const t=(e.created??[]).filter(s=>typeof s=="object"&&s!=null&&typeof s.id=="number"&&!s.error);if(t.length===0)return;const n={label:`AI 生图:落地 ${t.length} 个对象`,apply:async()=>{},revert:async()=>{const s=t.map(f=>({action:"delete",kind:f.kind,id:f.id}));await j.batch(s),A.success(`已撤销 AI 生图(删除 ${s.length} 个对象)`)}};await m.run(n)}async function ra(){const e=await Ba();if(e==="cancel")return;let t=_.value.trim();t||(t=await Vt(),t&&(_.value=t));let n,s=!1;if(e==="replace"){if(!t){A.warning("未找到可覆盖的原地图,请选择「保存成新项目」");return}n=t,s=!0}else{const f=await Da("保存成新地图",t);if(!f)return;n=f}W.value=!0;try{let f=await it.save(n,s);if(!f.ok&&f.conflict&&e==="new"){try{await K.confirm(`服务器已存在地图「${n}」,是否覆盖该文件?`,"覆盖确认",{type:"warning",confirmButtonText:"覆盖",cancelButtonText:"取消"})}catch{return}f=await it.save(n,!0)}if(!f.ok){A.error(`保存失败:${f.message}`);return}e==="replace"?A.success(`已覆盖保存地图「${n}」`):(_.value=f.data.name,A.success(`新地图「${f.data.name}」已保存到服务器`)),await y.push({path:"/admin/maps"})}catch(f){A.error(`保存失败:${f.message}`)}finally{W.value=!1}}function Ze(e){z.value=e,u.value=e==="image"?"image/*":".obj,.glb,.gltf,.fbx,.cyclemodel",k.value?.click()}async function ua(e){const t=e.target,n=t.files?.[0];if(n)try{const s=await n.arrayBuffer(),f=da(s),S=await j.uploadAsset(n.name,f);A.success(`已上传:${S.fileName}`),z.value==="image"?await j.createImage({x:0,y:0,imagePath:S.savedPath,size:1e3}):await j.createModel({x:0,y:0,modelPath:S.savedPath,scale:1}),De()}catch(s){A.error(`上传失败:${s.message}`)}finally{t.value=""}}function da(e){let t="";const n=new Uint8Array(e);for(let s=0;s{M.x=e.x,M.y=e.y},onPick:e=>{Ve(e)},onSelect:e=>Be(e.names)});const ca=La({onWorkspaceShortcut:e=>{Xe(e.action)},onAlarm:()=>{},onObjectCreated:()=>De(),onObjectDeleted:()=>De(),onObjectPatched:()=>De(),onObjectBatchChanged:()=>De(),onViewportStyleUpdated:()=>{lt()},onSelectionDetail:e=>{if(!Array.isArray(e.names))return;const t=Ce(e.names),n=Ee(t);n!==Te.value&&(Te.value=n,p.set(t))}});function De(){Ye()}fe(()=>ca.connected.value,e=>We.value=e,{immediate:!0}),fe(()=>Ee(p.items.value),e=>{Ye(),Te.value=e,p.items.value.length===1&&J.setSelection(p.items.value[0].kind,p.items.value[0].id).catch(()=>{})});function pa(e){if(!(e instanceof HTMLElement))return!1;const t=e.tagName;return t==="INPUT"||t==="TEXTAREA"||t==="SELECT"||e.isContentEditable?!0:!!e.closest('.el-input, .el-textarea, .el-select, [contenteditable="true"]')}async function Xe(e){if(e==="undo"){if(!m.canUndo.value)return;await m.undo()}else if(e==="redo"){if(!m.canRedo.value)return;await m.redo()}else await R()}function ht(e){if(pa(e.target))return;const t=e.ctrlKey||e.metaKey;t&&e.key.toLowerCase()==="z"&&!e.shiftKey?(e.preventDefault(),Xe("undo")):t&&(e.key.toLowerCase()==="y"||e.key.toLowerCase()==="z"&&e.shiftKey)?(e.preventDefault(),Xe("redo")):e.key==="Delete"&&(e.preventDefault(),Xe("delete"))}function xt(e){const t=e.detail?.action;(t==="undo"||t==="redo"||t==="delete")&&Xe(t)}async function ma(){try{const e=await j.getViewFilter();Object.assign(Z.selectFilter,e.selectFilter),Object.assign(Z.alignSnap,e.alignSnap),Object.assign(Z.showViewport,e.showViewport),he()}catch(e){console.warn("[MapEditor] 拉后端 viewFilter 失败,沿用本地缓存:",e)}}Ot(async()=>{document.addEventListener("keydown",ht,!0),window.addEventListener("workspace-shortcut",xt);try{const t=await st.get();Q.value=!!t.configured}catch{}const e=localStorage.getItem("mapEditor.defaults");if(e)try{Object.assign(x,JSON.parse(e))}catch{}sa(),Qe(),await ma(),await lt(),await fa()});async function fa(){const e=typeof w.query.map=="string"?w.query.map:"",t=w.query.new==="1";if(e)try{const n=await it.open(e);_.value=n.name,p.clear(),O.value=null,A.success(`已载入地图「${n.name}」:${n.sites} 站点 / ${n.tracks} 路径`)}catch(n){A.error(`载入地图失败:${n.message}`)}else if(t)_.value="";else{const n=await Vt();n&&(_.value=n)}}return za(()=>{document.removeEventListener("keydown",ht,!0),window.removeEventListener("workspace-shortcut",xt)}),(e,t)=>{const n=ft,s=Pt,f=zt,S=He,I=mt,L=Ut;return V(),U("div",Kn,[a(Oa,{"can-undo":D(m).canUndo.value,"can-redo":D(m).canRedo.value,saving:W.value,"view-filter":Z,onCmd:ze},null,8,["can-undo","can-redo","saving","view-filter"]),r("div",Yn,[a(el,{"active-tool":D($).activeTool.value,onSelectTool:et,onOpenAi:wt},null,8,["active-tool"]),r("div",Xn,[a(Ma,{ref_key:"workspaceRef",ref:i,host:D(h),scope:D(F).scope??"Platform",token:D(F).token??"","read-only":!1,"embed-ui":!1,"canvas-only":!0,"hide-toolbar":!0,onPick:Ve,onSelect:Be},null,8,["host","scope","token"])]),a(rn,{"selection-count":D(p).count.value,primary:O.value,fields:se.value,status:te.value,methods:ie.value,loading:ve.value,layers:B.value,defaults:x,"layer-rows":Y.value,"selection-kind":_e.value,"viewport-style":C.value,"viewport-style-loading":G.value,"viewport-syncing":oe.value,onRename:Jt,onChangeLayer:Qt,onSetField:vt,onAddField:ea,onExecAction:ta,onSaveDefaults:aa,onLayerToggle:oa,onAddLayer:gt,onDelete:R,onPatchViewport:la},null,8,["selection-count","primary","fields","status","methods","loading","layers","defaults","layer-rows","selection-kind","viewport-style","viewport-style-loading","viewport-syncing"]),r("button",{class:Se(["ai-assistant-fab",{"is-open":b.value}]),style:jt(b.value?{right:q.value+"px"}:void 0),type:"button",title:b.value?"收起 AI 助手":"打开 AI 助手",onClick:ia},[...t[5]||(t[5]=[r("span",{class:"fab-glyph"},"✦",-1),r("span",{class:"fab-text"},[v("AI"),r("br"),v("助手")],-1)])],14,Hn),a(zn,{open:b.value,"onUpdate:open":t[0]||(t[0]=P=>b.value=P),width:q.value,"onUpdate:width":t[1]||(t[1]=P=>q.value=P),configured:Q.value,"default-bounds":ye.value,"default-layer":x.site.layer,onGenerated:kt},null,8,["open","width","configured","default-bounds","default-layer"])]),a(gn,{"selected-count":D(p).count.value,"mouse-x":M.x,"mouse-y":M.y,"tool-label":D($).toolLabel.value,"snap-on":d.value,"undo-size":D(m).undoStack.value.length,"redo-size":D(m).redoStack.value.length,connected:We.value},null,8,["selected-count","mouse-x","mouse-y","tool-label","snap-on","undo-size","redo-size","connected"]),a(Sn,{modelValue:E.value,"onUpdate:modelValue":t[2]||(t[2]=P=>E.value=P),configured:Q.value,"default-bounds":ye.value,"default-layer":x.site.layer,onGenerated:kt},null,8,["modelValue","configured","default-bounds","default-layer"]),a(L,{modelValue:Fe.value,"onUpdate:modelValue":t[4]||(t[4]=P=>Fe.value=P),title:"切换显示图层",width:"520px"},{footer:l(()=>[a(S,{onClick:t[3]||(t[3]=P=>Fe.value=!1)},{default:l(()=>[...t[6]||(t[6]=[v("关闭",-1)])]),_:1}),a(S,{type:"primary",onClick:Le},{default:l(()=>[...t[7]||(t[7]=[v("新建图层…",-1)])]),_:1})]),default:l(()=>[a(I,{data:Y.value,size:"small",style:{width:"100%"}},{default:l(()=>[a(n,{prop:"name",label:"图层","min-width":"120"}),a(n,{label:"可见",width:"80"},{default:l(({row:P})=>[a(s,{modelValue:P.visible,"onUpdate:modelValue":le=>P.visible=le},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),a(n,{label:"可选",width:"80"},{default:l(({row:P})=>[a(s,{modelValue:P.selectable,"onUpdate:modelValue":le=>P.selectable=le},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),a(n,{label:"颜色",width:"100"},{default:l(({row:P})=>[a(f,{modelValue:P.color,"onUpdate:modelValue":le=>P.color=le,size:"small"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),a(n,{label:"默认层",width:"110"},{default:l(({row:P})=>[a(S,{size:"small",type:x.site.layer===P.name?"primary":"default",onClick:le=>Ue(P.name)},{default:l(()=>[v(T(x.site.layer===P.name?"当前默认":"设为默认"),1)]),_:2},1032,["type","onClick"])]),_:1})]),_:1},8,["data"])]),_:1},8,["modelValue"]),r("input",{ref_key:"fileInputRef",ref:k,type:"file",style:{display:"none"},accept:u.value,onChange:ua},null,40,Wn)])}}}),Co=Ne(Gn,[["__scopeId","data-v-108ea5ac"]]);export{Co as default}; diff --git a/MiGu.Server/wwwroot/assets/MapEditorView-CBiaEgWL.css b/MiGu.Server/wwwroot/assets/MapEditorView-CBiaEgWL.css deleted file mode 100644 index 3f38724..0000000 --- a/MiGu.Server/wwwroot/assets/MapEditorView-CBiaEgWL.css +++ /dev/null @@ -1 +0,0 @@ -.edit-top-bar[data-v-1082d582]{display:flex;align-items:center;gap:4px;padding:8px 14px;background:linear-gradient(180deg,#321658f2,#220e40f2);border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);box-shadow:0 2px 8px #00000040}.spacer[data-v-1082d582]{flex:1}.el-divider--vertical[data-v-1082d582]{margin:0 6px;background:#ffffff26}.topbar-btn[data-v-1082d582]{color:#fdf6ff!important;font-weight:600;font-size:13.5px;padding:6px 12px;height:auto;border-radius:6px;transition:background .15s ease,color .15s ease}.topbar-btn[data-v-1082d582]:hover{color:#fff!important;background:#aa6efa47!important}.topbar-btn[data-v-1082d582]:focus{background:#aa6efa4d!important}.topbar-icon-btn[data-v-1082d582]{color:#fdf6ffeb!important;background:#ffffff0d!important;border:1px solid rgba(255,255,255,.15)!important;font-size:15px}.topbar-icon-btn[data-v-1082d582]:hover:not(.is-disabled){background:#aa6efa4d!important;border-color:#aa6efa8c!important}.topbar-icon-btn.is-disabled[data-v-1082d582]{opacity:.4}.topbar-save-btn[data-v-1082d582]{font-weight:600;font-size:13.5px;padding:6px 18px;height:auto;border-radius:6px;margin-right:4px}.topbar-filter-menu[data-v-1082d582] .topbar-filter-header{font-size:11px;color:#e8d7f58c;cursor:default;pointer-events:none;padding-top:6px;padding-bottom:2px;text-transform:none;letter-spacing:.4px}.edit-tool-rail[data-v-6b284dea]{height:100%;width:170px;background:linear-gradient(180deg,#1c0c38d9,#120624f2);border-right:1px solid rgba(255,255,255,.1);padding:4px 0 12px;backdrop-filter:blur(10px);display:flex;flex-direction:column;box-shadow:inset -1px 0 #ffffff0a}.rail-scroll[data-v-6b284dea]{height:100%}.rail-group[data-v-6b284dea]{display:flex;flex-direction:column;padding:4px 8px 2px}.rail-group-title[data-v-6b284dea]{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:2px;color:#bea0e6b3;text-transform:uppercase;margin:4px 0 6px;font-weight:600}.rail-group-bar[data-v-6b284dea]{flex:1;height:1px;background:#bea0e633}.rail-group-list[data-v-6b284dea]{display:flex;flex-direction:column;gap:2px}.rail-divider[data-v-6b284dea]{width:100%;height:1px;background:linear-gradient(90deg,#fff0,#ffffff14,#fff0);margin:6px 0 2px}.rail-btn[data-v-6b284dea]{appearance:none;border:0;cursor:pointer;width:100%;min-height:32px;padding:0 8px;border-radius:6px;background:#ffffff0a;color:#e8d7f5eb;display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;text-align:left;transition:background .14s ease,color .14s ease,box-shadow .14s ease,transform .12s ease}.rail-btn[data-v-6b284dea]:hover{background:#965ae633;color:#fff}.rail-btn[data-v-6b284dea]:active{transform:scale(.985)}.rail-btn.rail-btn--active[data-v-6b284dea]{background:linear-gradient(120deg,#aa6efaeb,#7846dceb);color:#fff;box-shadow:0 3px 10px #8c50e673,inset 0 0 0 1px #ffffff2e}.rail-btn-glyph[data-v-6b284dea]{width:20px;display:inline-flex;justify-content:center;align-items:center;font-size:15px;line-height:1;flex:none}.rail-btn-label[data-v-6b284dea]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-group-ai[data-v-6b284dea]{margin-top:14px;padding-bottom:10px;position:relative}.rail-group-ai[data-v-6b284dea]:before{content:"";position:absolute;left:8px;right:8px;top:0;height:1px;background:linear-gradient(90deg,#fff0,#dc8ce659,#fff0)}.rail-btn--ai[data-v-6b284dea]{background:linear-gradient(135deg,#7846dc8c,#ff5ac88c);color:#fff;font-weight:600;box-shadow:0 2px 10px #dc5adc4d,inset 0 0 0 1px #fff3}.rail-btn--ai[data-v-6b284dea]:hover{background:linear-gradient(135deg,#965af0d9,#ff6edcd9);color:#fff;box-shadow:0 4px 14px #e66ee68c,inset 0 0 0 1px #ffffff4d}.rail-btn--ai .rail-btn-glyph[data-v-6b284dea]{font-size:16px;text-shadow:0 0 8px rgba(255,200,250,.6)}.edit-property-panel[data-v-781515fe]{height:100%;width:360px;background:linear-gradient(180deg,#1c0c38d9,#120624f2);border-left:1px solid rgba(255,255,255,.1);padding:0;backdrop-filter:blur(10px);overflow:hidden;display:flex;flex-direction:column;color:#e8d7f5eb}.prop-tabs[data-v-781515fe]{height:100%;display:flex;flex-direction:column}.prop-tabs[data-v-781515fe] .el-tabs__header{margin:0;padding:0 8px;border-bottom:1px solid rgba(255,255,255,.08)}.prop-tabs[data-v-781515fe] .el-tabs__nav-wrap:after{background:transparent}.prop-tabs[data-v-781515fe] .el-tabs__item{color:#dcc8f0b3;font-weight:500;font-size:13px;height:36px;line-height:36px}.prop-tabs[data-v-781515fe] .el-tabs__item.is-active{color:#fff}.prop-tabs[data-v-781515fe] .el-tabs__active-bar{background:linear-gradient(90deg,#aa6efa,#ff6edc);height:2px}.prop-tabs[data-v-781515fe] .el-tabs__content{flex:1;overflow:auto;padding:10px 12px 14px}.empty-hint[data-v-781515fe]{display:flex;align-items:center;gap:6px;padding:56px 16px;text-align:center;color:#dcc8f08c;flex-direction:column}.empty-icon[data-v-781515fe]{font-size:28px;color:#b482dc73}.empty-title[data-v-781515fe]{font-size:13px;color:#e8d7f5bf;font-weight:500}.empty-desc[data-v-781515fe]{font-size:11.5px;color:#dcc8f080}.loading-hint[data-v-781515fe]{display:flex;align-items:center;gap:8px;padding:32px 16px;text-align:center;color:#e8d7f5a6;font-size:12.5px;justify-content:center}.object-pane[data-v-781515fe]{display:flex;flex-direction:column;gap:10px}.prop-card[data-v-781515fe]{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:10px 12px;box-shadow:0 1px 4px #0003}.prop-card--header[data-v-781515fe]{background:linear-gradient(140deg,#aa6efa2e,#461e6e1a);border-color:#aa6efa47}.prop-card--geom[data-v-781515fe]{background:linear-gradient(140deg,#508cdc1a,#2846820f);border-color:#78aae638}.prop-card--style[data-v-781515fe]{background:linear-gradient(140deg,#dc6ec81a,#9646820f);border-color:#e682c838}.prop-card--custom[data-v-781515fe]{background:#ffffff08;border-color:#aa6efa2e}.prop-card--status[data-v-781515fe]{background:#508cdc0f;border-color:#78aae62e}.prop-card--actions[data-v-781515fe]{background:#8c50c80f;border-color:#aa6efa2e}.prop-card-header[data-v-781515fe]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.prop-card-title[data-v-781515fe]{font-size:11.5px;font-weight:600;letter-spacing:1px;color:#dcb4fad9;text-transform:uppercase}.prop-card-meta[data-v-781515fe]{font-size:10.5px;color:#c8b4dc80}.prop-card-flag[data-v-781515fe]{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;color:#b4c8f099;padding:2px 7px;border-radius:10px;background:#78a0dc1a;transition:background .25s ease,color .25s ease,box-shadow .25s ease;margin-left:auto}.prop-card-flag.is-synced[data-v-781515fe]{background:linear-gradient(120deg,#50c88252,#78dcc852);color:#dcffe6f2;box-shadow:0 0 8px #50c88273}.prop-card-flag-dot[data-v-781515fe]{width:6px;height:6px;border-radius:50%;background:#b4c8f099;transition:background .25s ease,box-shadow .25s ease}.prop-card-flag.is-synced .prop-card-flag-dot[data-v-781515fe]{background:#6ce7a8;box-shadow:0 0 6px #6ce7a8d9}.prop-card-row[data-v-781515fe]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.prop-card-row[data-v-781515fe]:last-child{margin-bottom:0}.prop-id-block[data-v-781515fe]{display:flex;align-items:center;gap:6px}.prop-id-tag[data-v-781515fe]{background:#aa6efa4d;color:#fff;padding:2px 8px;font-size:11.5px;font-weight:600;border-radius:4px;letter-spacing:.5px}.prop-type-tag[data-v-781515fe]{color:#e8d7f5bf;font-size:11.5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.prop-status-tag[data-v-781515fe]{font-weight:500}.prop-header-actions[data-v-781515fe]{display:flex;align-items:center;gap:6px}.prop-delete-btn[data-v-781515fe]{appearance:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:5px;font-size:11.5px;font-weight:500;letter-spacing:.4px;color:#ffc8d2f2;background:linear-gradient(135deg,#ff5a782e,#dc3c6e38);border:1px solid rgba(255,110,140,.45);transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .12s ease}.prop-delete-btn[data-v-781515fe]:hover:not(:disabled){background:linear-gradient(135deg,#ff5a788c,#dc3c6ea6);border-color:#ff8caad9;color:#fff;box-shadow:0 3px 10px #dc466e73}.prop-delete-btn[data-v-781515fe]:active:not(:disabled){transform:scale(.96)}.prop-delete-btn[data-v-781515fe]:disabled{opacity:.55;cursor:progress}.prop-delete-icon[data-v-781515fe]{font-size:12px;line-height:1}.prop-name-row[data-v-781515fe],.prop-layer-row[data-v-781515fe]{gap:8px}.prop-name-label[data-v-781515fe]{width:36px;font-size:11.5px;color:#c8b4dcb3;flex:none}.prop-layer-select[data-v-781515fe]{flex:1}.prop-grid[data-v-781515fe]{display:grid;grid-template-columns:1fr 1fr;column-gap:8px;row-gap:8px}.prop-grid-item[data-v-781515fe]{display:flex;flex-direction:column;gap:3px;min-width:0}.prop-grid-item--wide[data-v-781515fe]{grid-column:1 / -1}.prop-field-label[data-v-781515fe]{font-size:11px;color:#c8b4e6c7;letter-spacing:.3px;display:flex;justify-content:space-between;align-items:baseline;gap:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prop-field-unit[data-v-781515fe]{font-size:10px;color:#aa96c88c;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;flex:none}.prop-field-num[data-v-781515fe] .el-input-number{width:100%}.prop-field-num[data-v-781515fe] .el-input__wrapper{background:#ffffff0f;box-shadow:inset 0 0 0 1px #aa6efa2e}.prop-field-row[data-v-781515fe]{display:flex;align-items:center;gap:4px}.prop-field-icon-btn[data-v-781515fe]{appearance:none;border:0;cursor:pointer;width:22px;height:22px;border-radius:4px;background:#ff64821f;color:#ffb4c8d9;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex:none;transition:background .14s,color .14s}.prop-field-icon-btn[data-v-781515fe]:hover{background:#ff648252;color:#fff}.prop-empty-row[data-v-781515fe]{font-size:11.5px;color:#c8b4dc66;text-align:center;padding:8px 0}.prop-add-field-btn[data-v-781515fe]{appearance:none;border:0;cursor:pointer;width:100%;margin-top:8px;padding:6px 10px;border-radius:6px;background:#aa6efa24;border:1px dashed rgba(170,110,250,.4);color:#dcb4faeb;font-size:12px;font-weight:500;transition:background .14s ease,border-color .14s ease,color .14s ease}.prop-add-field-btn[data-v-781515fe]:hover{background:#aa6efa42;border-color:#aa6efaa6;color:#fff}.prop-status-list[data-v-781515fe]{display:flex;flex-direction:column;gap:4px}.prop-status-item[data-v-781515fe]{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;border-radius:4px;background:#ffffff08;font-size:11.5px}.prop-status-key[data-v-781515fe]{color:#aac8f0d9;font-weight:500}.prop-status-value[data-v-781515fe]{color:#e8f5fff2;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prop-actions[data-v-781515fe]{display:grid;grid-template-columns:1fr 1fr;gap:6px}.prop-action-btn[data-v-781515fe]{appearance:none;border:0;cursor:pointer;padding:7px 10px;border-radius:7px;background:linear-gradient(135deg,#aa6efa33,#7846dc33);border:1px solid rgba(170,110,250,.35);color:#e8d7f5f2;font-size:12px;font-weight:500;display:flex;align-items:center;justify-content:flex-start;gap:6px;transition:background .14s ease,border-color .14s ease,transform .12s ease,box-shadow .14s ease;text-align:left}.prop-action-btn[data-v-781515fe]:hover:not(:disabled){background:linear-gradient(135deg,#aa6efa9e,#ff6edc8c);border-color:#ff82dcb3;color:#fff;box-shadow:0 4px 12px #b45adc66}.prop-action-btn[data-v-781515fe]:active:not(:disabled){transform:scale(.985)}.prop-action-btn[data-v-781515fe]:disabled{opacity:.6;cursor:progress}.prop-action-icon[data-v-781515fe]{font-size:9px;color:#ffc8fad9;flex:none}.prop-action-spinner[data-v-781515fe]{display:inline-block;animation:prop-spin-781515fe .8s linear infinite;font-size:13px}.prop-action-label[data-v-781515fe]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes prop-spin-781515fe{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.defaults-pane[data-v-781515fe]{display:flex;flex-direction:column;gap:10px}.defaults-alert[data-v-781515fe]{margin-bottom:4px}.defaults-empty[data-v-781515fe]{padding:40px 12px}.defaults-form .el-button[data-v-781515fe]{margin-top:8px}.defaults-form[data-v-781515fe] .el-form-item{margin-bottom:10px}.layer-table[data-v-781515fe]{margin:6px 0;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px #7c3aed24}.layer-table[data-v-781515fe] .el-table__inner-wrapper{background:#fff}.layer-table[data-v-781515fe] th.el-table__cell{background:#f5f3ff!important;color:#2d1b69!important;font-weight:600}.layer-table[data-v-781515fe] td.el-table__cell{background:#fff!important;color:#1a0f3d!important;font-weight:500}.layer-table[data-v-781515fe] .cell{color:#1a0f3d!important}.layer-table[data-v-781515fe] tr:hover>td.el-table__cell{background:#ede9fe!important}.new-layer[data-v-781515fe]{margin-top:8px}.new-layer[data-v-781515fe] .el-input__inner{color:#1a0f3d;font-weight:500}.new-layer[data-v-781515fe] .el-input__inner::placeholder{color:#7a6b9a}.new-layer[data-v-781515fe] .el-input-group__append .el-button{color:#5b21b6;font-weight:600}.edit-status-bar[data-v-6254b10f]{display:flex;align-items:center;gap:16px;padding:4px 14px;background:#140828d9;border-top:1px solid rgba(255,255,255,.08);color:#e8d7f5d9;font-size:12px;font-family:ui-monospace,Menlo,Consolas,monospace;height:28px}.spacer[data-v-6254b10f]{flex:1}.seg b[data-v-6254b10f]{color:var(--mg-accent, #c4a4ff)}.seg .on[data-v-6254b10f]{color:#67c23a}.seg .off[data-v-6254b10f]{color:#a0a0a0}.seg.ok[data-v-6254b10f]{color:#67c23a}.seg.warn[data-v-6254b10f]{color:#f56c6c}.el-upload{--el-upload-dragger-padding-horizontal:10px;--el-upload-dragger-padding-vertical:40px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;cursor:pointer;outline:none;justify-content:center;align-items:center;display:inline-flex}.el-upload.is-disabled{cursor:not-allowed}.el-upload.is-disabled:focus{border-color:var(--el-border-color-darker);color:inherit}.el-upload.is-disabled:focus .el-upload-dragger{border-color:var(--el-border-color-darker)}.el-upload.is-disabled .el-upload-dragger{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-upload.is-disabled .el-upload-dragger .el-upload__text{color:var(--el-text-color-placeholder)}.el-upload.is-disabled .el-upload-dragger .el-upload__text em{color:var(--el-disabled-text-color)}.el-upload.is-disabled .el-upload-dragger:hover{border-color:var(--el-border-color-darker)}.el-upload__input{display:none}.el-upload__tip{color:var(--el-text-color-regular);margin-top:7px;font-size:12px}.el-upload iframe{z-index:-1;opacity:0;filter:alpha(opacity=0);position:absolute;top:0;left:0}.el-upload--picture-card{background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);box-sizing:border-box;width:var(--el-upload-picture-card-size);height:var(--el-upload-picture-card-size);cursor:pointer;vertical-align:top;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.el-upload--picture-card>i{color:var(--el-text-color-secondary);font-size:28px}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{padding:var(--el-upload-dragger-padding-vertical) var(--el-upload-dragger-padding-horizontal);background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);box-sizing:border-box;text-align:center;cursor:pointer;border-radius:6px;position:relative;overflow:hidden}.el-upload-dragger .el-icon--upload{color:var(--el-text-color-placeholder);margin-bottom:16px;font-size:67px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);text-align:center;font-size:14px}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{padding:calc(var(--el-upload-dragger-padding-vertical) - 1px) calc(var(--el-upload-dragger-padding-horizontal) - 1px);background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary)}.el-upload-list{--el-upload-dragger-padding-horizontal:10px;--el-upload-dragger-padding-vertical:40px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;margin:10px 0 0;padding:0;list-style:none;position:relative}.el-upload-list__item{color:var(--el-text-color-regular);box-sizing:border-box;border-radius:4px;width:100%;margin-bottom:5px;font-size:14px;transition:all .5s cubic-bezier(.55,0,.1,1);position:relative}.el-upload-list__item .el-progress{width:100%;position:absolute;top:20px}.el-upload-list__item .el-progress__text{position:absolute;top:-13px;right:0}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{cursor:pointer;opacity:.75;color:var(--el-text-color-regular);transition:opacity var(--el-transition-duration);display:none;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.el-upload-list__item .el-icon--close:hover{opacity:1;color:var(--el-color-primary)}.el-upload-list__item .el-icon--close-tip{cursor:pointer;opacity:1;color:var(--el-color-primary);font-size:12px;font-style:normal;display:none;position:absolute;top:1px;right:5px}.el-upload-list__item:hover,.el-upload-list__item:focus-within{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close,.el-upload-list__item:focus-within .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-icon--close-tip,.el-upload-list__item:focus-within .el-icon--close-tip{right:24px}.el-upload-list__item:hover .el-progress__text,.el-upload-list__item:focus-within .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{flex-direction:column;justify-content:center;width:calc(100% - 30px);margin-left:4px;display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:hover,.el-upload-list__item.is-success .el-upload-list__item-name:focus{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:not(.focusing):focus,.el-upload-list__item.is-success:active{outline-width:0}.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip,.el-upload-list__item.is-success:active .el-icon--close-tip{display:none}.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:focus-within .el-upload-list__item-status-label{opacity:0;display:none}.el-upload-list__item-name{color:var(--el-text-color-regular);text-align:center;transition:color var(--el-transition-duration);font-size:var(--el-font-size-base);align-items:center;padding:0 4px;display:inline-flex}.el-upload-list__item-name .el-icon{color:var(--el-text-color-secondary);margin-right:6px}.el-upload-list__item-file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.el-upload-list__item-status-label{line-height:inherit;height:100%;transition:opacity var(--el-transition-duration);justify-content:center;align-items:center;display:none;position:absolute;top:0;right:5px}.el-upload-list__item-delete{color:var(--el-text-color-regular);font-size:12px;display:none;position:absolute;top:0;right:10px}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{flex-wrap:wrap;margin:0;display:inline-flex}.el-upload-list--picture-card .el-upload-list__item{background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);box-sizing:border-box;width:var(--el-upload-list-picture-card-size);height:var(--el-upload-list-picture-card-size);border-radius:6px;margin:0 8px 8px 0;padding:0;display:inline-flex;overflow:hidden}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:block}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{object-fit:contain;width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{background:var(--el-color-success);text-align:center;width:40px;height:24px;top:-6px;right:-15px;transform:rotate(45deg)}.el-upload-list--picture-card .el-upload-list__item-status-label i{margin-top:11px;font-size:12px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{cursor:default;color:#fff;opacity:0;background-color:var(--el-overlay-color-lighter);width:100%;height:100%;transition:opacity var(--el-transition-duration);justify-content:center;align-items:center;font-size:20px;display:inline-flex;position:absolute;top:0;left:0}.el-upload-list--picture-card .el-upload-list__item-actions span{cursor:pointer;display:none}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:16px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{font-size:inherit;color:inherit;position:static}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{width:126px;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%)}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{z-index:0;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);box-sizing:border-box;border-radius:6px;align-items:center;margin-top:10px;padding:10px;display:flex;overflow:hidden}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:inline-flex}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{object-fit:contain;z-index:1;background-color:var(--el-color-white);justify-content:center;align-items:center;width:70px;height:70px;display:inline-flex;position:relative}.el-upload-list--picture .el-upload-list__item-status-label{background:var(--el-color-success);text-align:center;width:46px;height:26px;position:absolute;top:-7px;right:-17px;transform:rotate(45deg)}.el-upload-list--picture .el-upload-list__item-status-label i{margin-top:12px;font-size:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{z-index:10;cursor:default;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.el-upload-cover:after{content:"";vertical-align:middle;height:100%;display:inline-block}.el-upload-cover img{width:100%;height:100%;display:block}.el-upload-cover__label{background:var(--el-color-success);text-align:center;width:40px;height:24px;top:-6px;right:-15px;transform:rotate(45deg)}.el-upload-cover__label i{color:#fff;margin-top:11px;font-size:12px;transform:rotate(-45deg)}.el-upload-cover__progress{vertical-align:middle;width:243px;display:inline-block;position:static}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{width:100%;height:100%;position:absolute;top:0;left:0}.el-upload-cover__interact{background-color:var(--el-overlay-color-light);text-align:center;width:100%;height:100%;position:absolute;bottom:0;left:0}.el-upload-cover__interact .btn{color:#fff;cursor:pointer;vertical-align:middle;transition:var(--el-transition-md-fade);margin-top:60px;font-size:14px;display:inline-block}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;font-size:24px;line-height:inherit;margin:0 auto 5px;display:block}.el-upload-cover__title{text-overflow:ellipsis;white-space:nowrap;text-align:left;width:100%;height:36px;color:var(--el-text-color-primary);background-color:#fff;margin:0;padding:0 10px;font-size:14px;font-weight:400;line-height:36px;position:absolute;bottom:0;left:0;overflow:hidden}.el-upload-cover+.el-upload__inner{opacity:0;z-index:1;position:relative}.cfg-alert[data-v-47584778]{margin-bottom:12px}.ml[data-v-47584778]{margin-left:6px}.upload-hint[data-v-47584778]{display:flex;align-items:center;gap:8px;padding:12px;color:var(--el-text-color-regular, rgba(232,215,245,.7))}.result-panel[data-v-47584778]{margin-top:8px}.ai-text[data-v-47584778]{color:var(--el-text-color-primary, rgba(232,215,245,.85));padding:6px 0;white-space:pre-wrap}.ai-stat[data-v-47584778]{padding:6px 0;color:var(--el-text-color-primary, rgba(232,215,245,.85))}.ai-stat b[data-v-47584778]{color:var(--mg-accent, #c4a4ff)}.ai-generate-dialog.el-dialog,.ai-generate-dialog .el-dialog{background-color:rgb(var(--mg-bg-card-rgb))!important;box-shadow:0 24px 60px #08021099!important}.ai-assistant-panel[data-v-9fed2b0d]{position:absolute;top:0;right:0;bottom:0;z-index:30;display:flex;flex-direction:column;background:linear-gradient(180deg,#1c0c38fa,#100622fc);border-left:1px solid rgba(190,140,240,.28);box-shadow:-10px 0 30px #0802108c;color:#ece0faf2;transform:translate(100%);opacity:0;visibility:hidden;transition:transform .26s cubic-bezier(.25,.8,.25,1),opacity .26s ease,visibility .26s}.ai-assistant-panel.is-open[data-v-9fed2b0d]{transform:translate(0);opacity:1;visibility:visible}.aap-resizer[data-v-9fed2b0d]{position:absolute;left:0;top:0;bottom:0;width:6px;cursor:ew-resize;z-index:5;background:transparent;transition:background .15s ease;touch-action:none}.aap-resizer[data-v-9fed2b0d]:hover{background:#be8cf073}.aap-header[data-v-9fed2b0d]{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;background:linear-gradient(135deg,#7846dc80,#ff5ac866);border-bottom:1px solid rgba(255,255,255,.12)}.aap-title[data-v-9fed2b0d]{display:flex;align-items:center;gap:10px;min-width:0}.aap-glyph[data-v-9fed2b0d]{font-size:20px;color:#fff;text-shadow:0 0 10px rgba(255,200,250,.7);flex:none}.aap-title-text[data-v-9fed2b0d]{min-width:0}.aap-title-main[data-v-9fed2b0d]{font-size:15px;font-weight:700;color:#fff;line-height:1.2}.aap-title-sub[data-v-9fed2b0d]{font-size:11px;color:#f0deffc7;margin-top:2px}.aap-close[data-v-9fed2b0d]{appearance:none;border:0;background:#ffffff1f;color:#fff;width:26px;height:26px;border-radius:6px;cursor:pointer;font-size:13px;line-height:1;flex:none;transition:background .15s ease}.aap-close[data-v-9fed2b0d]:hover{background:#ffffff3d}.aap-alert[data-v-9fed2b0d]{margin:10px 12px 0}.aap-messages[data-v-9fed2b0d]{flex:1 1 0;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.aap-empty[data-v-9fed2b0d]{padding:8px 2px;display:flex;flex-direction:column;gap:8px}.aap-empty-title[data-v-9fed2b0d]{font-size:12px;color:#d2bcf0b3}.aap-example[data-v-9fed2b0d]{appearance:none;text-align:left;border:1px dashed rgba(190,140,240,.4);background:#ffffff0a;color:#e8d7f5e6;border-radius:8px;padding:8px 10px;font-size:12.5px;cursor:pointer;transition:all .15s ease}.aap-example[data-v-9fed2b0d]:hover{background:#965ae638;border-color:#be8cf0b3;color:#fff}.aap-msg[data-v-9fed2b0d]{display:flex}.aap-msg--user[data-v-9fed2b0d]{justify-content:flex-end}.aap-msg--assistant[data-v-9fed2b0d]{justify-content:flex-start}.aap-bubble[data-v-9fed2b0d]{max-width:86%;padding:8px 11px;border-radius:12px;font-size:13px;line-height:1.5}.aap-msg--user .aap-bubble[data-v-9fed2b0d]{background:linear-gradient(135deg,#965af0f2,#7846dcf2);color:#fff;border-bottom-right-radius:4px}.aap-msg--assistant .aap-bubble[data-v-9fed2b0d]{background:#ffffff12;border:1px solid rgba(255,255,255,.1);color:#ece0faf2;border-bottom-left-radius:4px}.aap-bubble-text[data-v-9fed2b0d]{white-space:pre-wrap;word-break:break-word}.aap-meta[data-v-9fed2b0d]{margin-top:6px;padding-top:6px;border-top:1px dashed rgba(255,255,255,.14);font-size:11.5px;color:#d2bcf0cc}.aap-meta b[data-v-9fed2b0d]{color:var(--mg-accent, #c4a4ff)}.aap-bubble--loading[data-v-9fed2b0d]{display:inline-flex;align-items:center;gap:8px;color:#d2bcf0d9}.aap-toolbar[data-v-9fed2b0d]{flex:none;display:flex;align-items:center;gap:8px;padding:8px 12px 0;flex-wrap:wrap}.aap-toolbar-label[data-v-9fed2b0d]{font-size:11.5px;color:#d2bcf0b3;flex:none}.aap-toolbar[data-v-9fed2b0d] .el-radio-button__inner{padding:5px 9px;font-size:12px}.aap-input[data-v-9fed2b0d]{flex:none;padding:8px 12px 12px;display:flex;flex-direction:column;gap:8px}.aap-send[data-v-9fed2b0d]{align-self:flex-end;min-width:84px}.map-editor-page[data-v-108ea5ac]{height:calc(100vh - 56px);display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 40%,#2d1456,#1a0930,#0f0420);color:#e8d7f5e6}.me-body[data-v-108ea5ac]{flex:1;display:flex;min-height:0;position:relative}.ai-assistant-fab[data-v-108ea5ac]{position:absolute;top:50%;right:0;transform:translateY(-50%);z-index:31;display:flex;flex-direction:column;align-items:center;gap:5px;width:42px;padding:14px 0;border:none;border-radius:12px 0 0 12px;cursor:pointer;color:#fff;background:linear-gradient(135deg,#965af0f5,#ff5ac8eb);box-shadow:-4px 0 16px #7828c873;transition:right .26s cubic-bezier(.25,.8,.25,1),filter .15s ease,box-shadow .15s ease}.ai-assistant-fab[data-v-108ea5ac]:hover{filter:brightness(1.08);box-shadow:-6px 0 22px #963ce699}.ai-assistant-fab.is-open[data-v-108ea5ac]{right:360px}.ai-assistant-fab .fab-glyph[data-v-108ea5ac]{font-size:18px;line-height:1;text-shadow:0 0 10px rgba(255,220,255,.85)}.ai-assistant-fab .fab-text[data-v-108ea5ac]{font-size:12px;font-weight:700;line-height:1.18;letter-spacing:1px;text-align:center}.me-center[data-v-108ea5ac]{flex:1;min-width:0;display:flex}.me-center[data-v-108ea5ac] .workspace-3d-wrap{flex:1;height:100%;border:0;border-radius:0;min-height:0} diff --git a/MiGu.Server/wwwroot/assets/MapManagementView-BfnAn-Bv.js b/MiGu.Server/wwwroot/assets/MapManagementView-BfnAn-Bv.js deleted file mode 100644 index ea6d2db..0000000 --- a/MiGu.Server/wwwroot/assets/MapManagementView-BfnAn-Bv.js +++ /dev/null @@ -1,4 +0,0 @@ -import{aN as le,bC as v,bs as o,aG as c,bk as me,ai as U,aD as m,bL as M,aF as O,bE as G,aE as x,ay as N,ak as ne,L as ge,c7 as Ie,bp as de,aK as t,R as _e,bS as ve,bI as Ne,r as pe,bv as Te,c8 as n,aJ as h,c9 as ce,b$ as ye,ab as be,_ as Be,F as Oe,N as we,O as he,a4 as ke,S as Re,bA as Je,X as E,Y,aa as $e,Z as Me,E as Ce,cb as ae,ad as Se,bj as fe,ac as ze,bX as Ae,a9 as Pe,t as Ue}from"./index-D5GfLbIx.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{b as P}from"./mapEdit-BXIATxCI.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */const De={class:"jfn-toggle"},Fe={key:0,class:"jfn-key"},Le={class:"jfn-brace"},qe={key:1,class:"jfn-ellipsis"},Ge={key:2,class:"jfn-brace"},Ke={key:0,class:"jfn-children"},Xe={class:"jfn-line jfn-close"},Ye={class:"jfn-brace"},He={key:0,class:"jfn-comma"},Ze={key:1,class:"jfn-line jfn-primitive"},Qe={key:0,class:"jfn-key"},We={key:1,class:"jfn-comma"},et=le({__name:"JsonFoldNode",props:{value:{},label:{},depth:{default:0},comma:{type:Boolean,default:!1}},setup(r){const l=r,d=v(l.depth<1),_=N(()=>Array.isArray(l.value)),k=N(()=>l.value!==null&&typeof l.value=="object"&&!_.value),$=N(()=>_.value||k.value),T=N(()=>_.value?"[":"{"),y=N(()=>_.value?"]":"}"),b=N(()=>_.value?l.value.map((s,R)=>({key:String(R),label:String(R),value:s})):k.value?Object.entries(l.value).map(([s,R])=>({key:s,label:JSON.stringify(s),value:R})):[]),C=N(()=>{const s=b.value.length;return _.value?` … ${s} items `:` … ${s} keys `}),f=N(()=>{const s=typeof l.value;return s==="string"?"jfn-val jfn-val--str":s==="number"?"jfn-val jfn-val--num":s==="boolean"?"jfn-val jfn-val--bool":"jfn-val jfn-val--null"}),V=N(()=>l.value===null?"null":l.value===void 0?"undefined":typeof l.value=="string"?JSON.stringify(l.value):String(l.value));function S(){d.value=!d.value}return(s,R)=>(o(),c("div",{class:me(["jfn",{"jfn--root":r.depth===0}])},[$.value?(o(),c(U,{key:0},[m("div",{class:"jfn-line",onClick:S},[m("span",De,M(d.value?"▼":"▶"),1),r.label?(o(),c("span",Fe,M(r.label)+": ",1)):O("",!0),m("span",Le,M(T.value),1),d.value?O("",!0):(o(),c("span",qe,M(C.value),1)),d.value?O("",!0):(o(),c("span",Ge,M(y.value),1))]),d.value?(o(),c("div",Ke,[(o(!0),c(U,null,G(b.value,(A,j)=>(o(),x(xe,{key:A.key,label:A.label,value:A.value,depth:r.depth+1,comma:j