import{u as Qe,r as $,ad as ge,_ as Pe,P as Ye,L as Ne,g as P,o as T,h as fe,m as u,i as F,w as R,t as G,k as p,j as ne,U as Ue,V as We,W as He,N,X as dt,M as ut,z as ct,B as ht,l as Se}from"./vendor.0bc3c1d4.js";import{e as gt,l as Xe,g as me,h as D,i as re,m as ft,j as mt,k as pt,n as De,o as yt,p as vt,q as Ct,r as Ze,C as _t,s as wt,t as At,G as Ft,u as Et,v as Pt,E as St,w as xt,x as Gt,y as Rt,z as Mt,A as Ot,B as It,D as bt,H as Lt,J as kt,K as Tt,P as U,L as Bt,N as Vt,O as jt,Q as Qt,R as Yt,U as Nt,W as Ut,Y as Ke,Z as Wt,_ as Ht,$ as Xt,a0 as Dt,a1 as xe,a2 as Zt,a3 as Kt,a4 as W,a5 as zt,a6 as S,F as Z,a7 as Jt,a8 as qt,S as K,a9 as Ge,aa as $t,d as oe,f as ee,b as ae,a as le,I as pe,c as ze,T as ye,X as ve,M as Je,V as qe}from"./Map.e82b79a7.js";import{_ as $e,d as es,e as ts,s as ss,b as is,c as ns}from"./index.b54ecd6f.js";function et(n,e,t,s,i,r,o){let a,l;const g=(t-e)/s;if(g===1)a=e;else if(g===2)a=e,l=i;else if(g!==0){let h=n[e],w=n[e+1],y=0;const _=[0];for(let b=e+s;b1?o:2,r=r||new Array(o);for(let h=0;h>1;i(We("data-v-5b71bffe"),n=n(),He(),n),ks=B(()=>u("div",{id:"mapHis",style:{height:"calc(100vh - 84px)",width:"100%"}},null,-1)),Ts={style:{position:"absolute",left:"0.5em",top:"0.5em"}},Bs={slot:"header",class:"clearfix bg-blue padding-sm"},Vs={class:"padding-sm"},js={class:"item flex align-center"},Qs={style:{width:"60px","font-size":"28px"}},Ys={style:{width:"calc(100% - 60px)"}},Ns={class:"item flex align-center margin-tb-sm"},Us=B(()=>u("div",{style:{width:"60px"}},"\u901F\u5EA6\uFF1A",-1)),Ws={style:{width:"calc(100% - 60px)"}},Hs={class:"item flex align-center"},Xs=B(()=>u("div",{style:{width:"50px"}},"\u5F00\u59CB\uFF1A",-1)),Ds={class:"item flex align-center margin-tb-sm"},Zs=B(()=>u("div",{style:{width:"50px"}},"\u7ED3\u675F\uFF1A",-1)),Ks={class:"item",style:{"padding-left":"50px"}},zs=N("\u67E5\u8BE2"),Js={id:"mapOpen",class:"mapOpen"},qs={class:"mapTitle"},$s={id:"mapCont",class:"mapCont"},ei=B(()=>u("div",null,"\u7ECF\u5EA6\uFF1A",-1)),ti=B(()=>u("div",null,"\u7ECF\u5EA6\uFF1A",-1)),si=B(()=>u("div",null,"\u822A\u901F\uFF1A",-1)),ii=B(()=>u("div",null,"\u8239\u824F\u5411\uFF1A",-1)),ni=B(()=>u("div",null,"\u822A\u8FF9\u5411\uFF1A",-1)),ri={props:{oneShip:{type:Object,default:{}}},setup(n){const e=n;Qe();const{proxy:t}=dt(),s=$(!1);let i=0,r,o=["---","---","---","---","---","---","---","---"],a=$(null);var l=null,g=null,h=null,w=null,y=null,_=null,f=null,E={route:new K({stroke:new Ge({width:6,color:[237,212,0,0]})}),geoMarker:new K({image:new $t({radius:7,fill:new oe({color:"black"}),stroke:new Ge({color:"red",width:2})})})};const b=ge({center:ee([118.26718,22.45402]),zoom:14,minZoom:2,maxZoom:18}),{oneShip:M}=Pe(e);Ye(M,v=>{c(),i=0,ue()},{deep:!0});const H=ge({queryParams:{key:"643a63b2f21104345c47104702061afe",mmsi:"",start:"",end:""},selectedDays:[t.parseTime(new Date,"{y}-{m}-{d}")+" 00:00:00",t.parseTime(new Date,"{y}-{m}-{d}")+" 23:59:59"],lengSli:0,speedSli:4,nowHis:["---","---","---","---","---","---","---","---"]}),{queryParams:L,selectedDays:V,lengSli:j,speedSli:z,nowHis:A}=Pe(H),de=function(){const v=new ye({visible:!0,source:new ve({url:"https://t1.tianditu.gov.cn/vec_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILECOL={x}&TILEROW={y}&TILEMATRIX={z}&tk=317e52a409b6b382957e09003ee7e235"}),isGroup:!0,name:"\u5929\u5730\u56FE\u8DEF\u7F51"}),C=new ye({visible:!0,source:new ve({url:"https://t3.tianditu.gov.cn/cva_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cva&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILECOL={x}&TILEROW={y}&TILEMATRIX={z}&tk=317e52a409b6b382957e09003ee7e235"}),isGroup:!0,name:"\u5929\u5730\u56FE\u6587\u5B57\u6807\u6CE8"});a.value=new Je({layers:[v,C],view:new qe(b),target:"mapHis"})},ue=function(){M.value.mmsi!=""&&(L.value.mmsi=M.value.mmsi,L.value.start=new Date(V.value[0]).getTime(),L.value.end=new Date(V.value[1]).getTime(),es(L.value).then(v=>{let C=[],O=ts(v.data)[L.value.mmsi];O=O.reverse(),O.forEach((m,x)=>{let J=ee([m.lon,m.lat],"EPSG:4326");m.glng=J[0],m.glat=J[1],C.push([m.glng,m.glat,t.parseTime(new Date(parseInt(m.createdAt)),"{y}-{m}-{d} {h}:{m}:{s}"),m.speed==""?0:m.speed,m.hdg==""?0:m.hdg,m.cog==""?0:m.cog,m.lon,m.lat])}),A.value=C[0],o=C[C.length-1];const Q={type:"Feature",properties:{},geometry:{type:"LineString",coordinates:C}};_=new Os().readFeature(Q,{dataProjection:"EPSG:4326",featureProjection:"EPSG:3857"}).getGeometry();const I=new Z({type:"route",geometry:_});f=new U(_.getFirstCoordinate()),y=new Z({type:"geoMarker",geometry:f}),ce(),l=new ae({source:new le({features:[I]}),style:se,zIndex:2}),g=new ae({source:new le({features:[I,y]}),style:function(m){return E[m.get("type")]},zIndex:100}),h=Y(_.getFirstCoordinate(),Is),w=Y(_.getLastCoordinate(),bs),a.value.addLayer(h),a.value.addLayer(w),a.value.addLayer(g),a.value.addLayer(l),a.value.getView().animate({center:_.getFirstCoordinate(),duration:1e3});function k(m){return new K({image:new pe({src:m,anchor:[.5,.5],scale:1.1})})}function Y(m,x){return new ae({style:k(x),source:new le({features:[new Z({geometryName:"centerMark",geometry:new U(m)})]})})}function se(m,x){for(var J=m.getGeometry(),nt=J.getLength(),rt=100*x/nt,Le=1e4,ke=[new K({stroke:new Ge({color:"red",width:2})})],Ee=0;Ee<=1;Ee+=rt){var ie=J.getCoordinateAt(Ee);J.forEachSegment(function(q,X){if(!(q[0]==X[0]||q[1]==X[1])){var Te=X[0]-ie[0],Be=X[1]-ie[1],Ve=ie[0]-q[0],je=ie[1]-q[1];if(Te!=Ve&&Be!=je&&Math.abs(Le*Te*je-Le*Ve*Be)<.001){var ot=X[0]-q[0],at=X[1]-q[1],lt=Math.atan2(at,ot);ke.push(new K({geometry:new U(ie),image:new pe({scale:.1,src:Ls,anchor:[.5,.5],rotation:-lt+Math.PI*3/2}),text:new ze({text:X[2],textAlign:"center",textBaseline:"middle",font:"normal 10px \u5FAE\u8F6F\u96C5\u9ED1",offsetX:0,offsetY:16,fill:new oe({color:"#000"}),backgroundFill:new oe({color:"rgba(255, 255, 255, 0.8)"}),padding:[2,4,2,4]})}))}}})}return ke}}))},ce=function(){l!=null&&(i=0,j.value=0,l.getSource().clear(),g.getSource().clear(),h.getSource().clear(),w.getSource().clear())};function he(v){const C=Number(z.value),O=v.frameState.time,Q=O-r;if(i=(i+C*10*Q/1e6)%2,r=O,i>1){c(),i=0,A.value=o;return}j.value=i;const I=_.getCoordinateAt(i);f.setCoordinates(I);const k=os(v);k.setStyle(E.geoMarker),k.drawGeometry(f),A.value=I,a.value.render()}function d(){s.value=!0,r=Date.now(),g.on("postrender",he),y.setGeometry(null)}function c(){s.value=!1,y.setGeometry(f),g.un("postrender",he)}return Ne(()=>{de()}),(v,C)=>{const O=P("videoPlay"),Q=P("el-icon"),I=P("videoPause"),k=P("el-slider"),Y=P("el-date-picker"),se=P("el-button"),m=P("el-card");return T(),fe("div",null,[ks,u("div",Ts,[F(m,{class:"box-card","body-style":{width:"300px",padding:"0px !important"}},{default:R(()=>[u("div",Bs,[u("span",null,G(p(M).name),1)]),u("div",Vs,[u("div",js,[u("div",Qs,[s.value?(T(),ne(Q,{key:1,onClick:c},{default:R(()=>[F(I)]),_:1})):(T(),ne(Q,{key:0,onClick:d},{default:R(()=>[F(O)]),_:1}))]),u("div",Ys,[F(k,{modelValue:p(j),"onUpdate:modelValue":C[0]||(C[0]=x=>Ue(j)?j.value=x:null),max:1,min:0},null,8,["modelValue"])])]),u("div",Ns,[Us,u("div",Ws,[F(k,{modelValue:p(z),"onUpdate:modelValue":C[1]||(C[1]=x=>Ue(z)?z.value=x:null),max:10,min:0},null,8,["modelValue"])])]),u("div",Hs,[Xs,F(Y,{modelValue:p(V)[0],"onUpdate:modelValue":C[2]||(C[2]=x=>p(V)[0]=x),type:"datetime",placeholder:"\u9009\u62E9\u65E5\u671F\u65F6\u95F4"},null,8,["modelValue"])]),u("div",Ds,[Zs,F(Y,{modelValue:p(V)[1],"onUpdate:modelValue":C[3]||(C[3]=x=>p(V)[1]=x),type:"datetime",placeholder:"\u9009\u62E9\u65E5\u671F\u65F6\u95F4"},null,8,["modelValue"])]),u("div",Ks,[F(se,{style:{width:"100%"},type:"primary",onClick:ue},{default:R(()=>[zs]),_:1})])])]),_:1})]),u("div",Js,[u("div",qs,G(p(A)[2].split("NaN")[0]),1),u("div",$s,[u("div",null,[ei,u("div",null,G(p(A)[6]=="---"?"---":parseFloat(p(A)[6])),1)]),u("div",null,[ti,u("div",null,G(p(A)[7]=="---"?"---":parseFloat(p(A)[7])),1)]),u("div",null,[si,u("div",null,G(p(A)[3]=="---"?"---":parseFloat(p(A)[3]).toFixed(1))+" km/h",1)]),u("div",null,[ii,u("div",null,G(p(A)[4]=="---"?"---":parseFloat(p(A)[4]).toFixed(1))+" \xB0",1)]),u("div",null,[ni,u("div",null,G(p(A)[5]=="---"?"---":parseFloat(p(A)[5]).toFixed(1))+" \xB0",1)])])])])}}};var oi=$e(ri,[["__scopeId","data-v-5b71bffe"]]);const te=n=>(We("data-v-3b24add4"),n=n(),He(),n),ai={class:"padding-lr-sm"},li={class:"head-container"},di={class:"head-container",style:{height:"calc(100vh - 126px)","overflow-y":"auto"}},ui=te(()=>u("div",{id:"map",style:{height:"calc(100vh - 84px)",width:"100%"}},null,-1)),ci={style:{position:"absolute",left:"0.5em",top:"0.5em"}},hi={slot:"header",class:"clearfix bg-blue padding-sm"},gi={style:{padding:"10px 20px"}},fi={class:"text item"},mi=te(()=>u("span",{class:"text-blue"},"\u7ECF\u5EA6\uFF1A",-1)),pi={class:"text item",style:{padding:"5px 0"}},yi=te(()=>u("span",{class:"text-blue"},"\u7EAC\u5EA6\uFF1A",-1)),vi={class:"text item"},Ci=te(()=>u("span",{class:"text-blue"},"\u822A\u901F\uFF1A",-1)),_i={class:"text item"},wi=te(()=>u("span",{class:"text-blue"},"\u5403\u6C34\uFF1A",-1)),Ai={class:"text item",style:{padding:"5px 0"}},Fi=te(()=>u("span",{class:"text-blue"},"\u8239\u824F\u5411\uFF1A",-1)),Ei={style:{position:"absolute",right:"0.5em",top:"0.5em","z-index":"2005"}},Pi=N("\u5386\u53F2\u8F68\u8FF9"),Si=N("\u5B9E\u65F6\u4F4D\u7F6E"),xi={key:0,style:{position:"absolute",right:"0",top:"0",width:"100%","z-index":"2000","background-color":"#000"}},Gi={setup(n){const e=Qe();let t=$(null),s=$(null);const i=ge({center:ee([118.26718,22.45402]),zoom:14,minZoom:2,maxZoom:18});let r=ns(),o=null,a=[],l=!1,g={},h=null;const w=$(""),y=$([]),_=ge({nowShip:{mmsi:"",name:"-----",lon:"-----",lat:"-----",hdg:"-----",sog:"-----"},hisShip:{},showHis:!1}),{nowShip:f,showHis:E,hisShip:b}=Pe(_),M=function(d){L(d)},H=function(d){if(d=="")y.value=a;else{let c=[];a.forEach(v=>{JSON.stringify(v).indexOf(d)!=-1&&c.push(v)}),y.value=c}},L=function(d){if(f.value.mmsi!=d){let c=y.value;for(let v=0;v{if(d.data!=null){let c="";d.data!=null?(c=d.data,localStorage.setItem("Histroy-List",c)):localStorage.getItem("Histroy-List")!=null&&localStorage.getItem("Histroy-List")!=null?c=localStorage.getItem("Histroy-List"):c="";let v=is(c);f.value=v[0],ue(v)}})},ue=function(d){d.forEach(c=>{g[c.mmsi]!=null&&(g[c.mmsi].getSource().clear(),t.value.removeLayer(g[c.mmsi])),z(c)}),e.state.data.shipList=d,e.state.data.curShipMMsi==null&&(e.state.data.curShipMMsi="413859981"),f.value=d.filter(c=>c.mmsi==e.state.data.curShipMMsi)[0],e.state.data.curShipMMsi=f.value.mmsi,e.state.data.curShipSn=f.value.sn,e.state.data.curShipDevice=f.value.device,y.value=d,a=d,l||(l=!0,ce(f.value))},ce=function(d){s.value.clear();var c=new Z({geometry:new U(ee(d.ol)),cog:d.hdg,anchor:d.anchor,status:d.sog});c.setStyle(j(c)),s.value.addFeature(c),t.value.getView().animate({center:ee(f.value.ol),duration:1e3}),b.value=f.value,e.state.data.curShipMMsi=f.value.mmsi,e.state.data.curShipSn=f.value.sn,e.state.data.curShipDevice=f.value.device},he=function(){t.value&&t.value.on("click",function(d){if(!!t.value){var c=t.value.forEachFeatureAtPixel(d.pixel,function(v,C){return v});c!=null&&L(c.values_.key)}})};return Ye([()=>e.state.data.curShipMMsi],([d])=>{L(d)}),Ne(()=>{V(),l=!1,setTimeout(()=>{de(),o=setInterval(()=>{de()},30*1e3),he()},100)}),ut(()=>{clearInterval(o)}),(d,c)=>{const v=P("el-input"),C=P("svg-icon"),O=P("el-menu-item"),Q=P("el-menu"),I=P("el-col"),k=P("el-card"),Y=P("el-button"),se=P("el-row");return T(),fe("div",ai,[F(se,{gutter:20},{default:R(()=>[F(I,{span:3,xs:6},{default:R(()=>[u("div",li,[F(v,{placeholder:"\u8BF7\u8F93\u5165\u8239\u8236\u540D\u79F0",clearable:"","prefix-icon":"Search",style:{"margin-top":"10px"},onInput:H,modelValue:w.value,"onUpdate:modelValue":c[0]||(c[0]=m=>w.value=m)},null,8,["modelValue"])]),u("div",di,[F(Q,{"default-active":""+p(f).mmsi,onSelect:M},{default:R(()=>[(T(!0),fe(ct,null,ht(y.value,(m,x)=>(T(),ne(O,{index:""+m.mmsi,key:x},{title:R(()=>[F(C,{"icon-class":"ship",class:"text-blue"}),u("span",null,G(m.name),1)]),_:2},1032,["index"]))),128))]),_:1},8,["default-active"])])]),_:1}),F(I,{span:21,xs:18,style:{position:"relative",padding:"0"}},{default:R(()=>[ui,u("div",ci,[F(k,{class:"box-card","body-style":{width:"200px",padding:"0px !important"}},{default:R(()=>[u("div",hi,[u("span",null,G(p(f).name),1)]),u("div",gi,[u("div",fi,[mi,N(G(p(f).lon),1)]),u("div",pi,[yi,N(G(p(f).lat),1)]),u("div",vi,[Ci,N(G(p(f).sog)+" \u8282",1)]),u("div",_i,[wi,N(G(p(f).draught)+" m",1)]),u("div",Ai,[Fi,N(G(p(f).hdg)+" \xB0",1)])])]),_:1})]),u("div",Ei,[p(E)?Se("",!0):(T(),ne(Y,{key:0,type:"primary",onClick:c[1]||(c[1]=m=>E.value=!0)},{default:R(()=>[Pi]),_:1})),p(E)?(T(),ne(Y,{key:1,type:"primary",onClick:c[2]||(c[2]=m=>E.value=!1)},{default:R(()=>[Si]),_:1})):Se("",!0)]),p(E)?(T(),fe("div",xi,[F(p(oi),{oneShip:p(b)},null,8,["oneShip"])])):Se("",!0)]),_:1})]),_:1})])}}};var Ii=$e(Gi,[["__scopeId","data-v-3b24add4"]]);export{Ii as default};