添加离线地图

This commit is contained in:
GGJ
2024-12-16 20:57:17 +08:00
parent 0cd5598e8c
commit ccd07ed110
93 changed files with 20430 additions and 126 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 899 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 983 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 B

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
_jsload2&&_jsload2('clayer', 'z.extend(nb.prototype,{cl:{},Bj:[],Pu:"",jq:"",MG:"",dl:s,Jg:s,Ig:s,Hg:[],LG:0,pz:u(),lz:u(),Ku:u(),Sd:function(){this.UG()},na:function(a,b){Mc.prototype.na.call(this,a,b);this.cl={};this.Bj=[];this.B=a;this.UG()},zt:ca(q),remove:function(){Mc.prototype.remove.call(this);this.fU()},UG:function(){var a=this,b=a.B;b&&(this.pz=function(b){a.yT(b)},this.lz=function(b){a.XS(b)},this.Ku=function(b){a.WS(b)},b.addEventListener("mousemove",this.pz),b.addEventListener("onhotspotover",this.lz),b.addEventListener("onhotspotout", this.Ku),b.addEventListener("onzoomstart",this.Ku))},fU:function(){var a=this.B;a&&(a.removeEventListener("mousemove",this.pz),a.removeEventListener("onhotspotover",this.lz),a.removeEventListener("onhotspotout",this.Ku))},yT:function(a){var b=this,c=b.B,e=c.oa();if(c.fa()<this.gc||c.Sb())b.xB();else if(a=e.wm().kh(a.point),e=e.$c(),a=new Q(Math.floor(a.x*Math.pow(2,c.fa()-18)),Math.floor(a.y*Math.pow(2,c.fa()-18))),e=new Q(Math.floor(a.x/e),Math.floor(a.y/e)),this.jq=c=e.x+"_"+e.y+"_"+c.fa(),this.cl[c]){if(this.Pu!= c){b.xB();b.TG(this.cl[c]);this.Pu=c;for(var e=-1,a=0,f=this.Bj.length;a<f;a++)if(c==this.Bj[a]){e=a;break}0<=e&&(this.Bj.splice(e,e),this.Bj.push(c))}}else if(this.MG!=c){this.MG=c;e=Wc[parseInt(Math.random()*Wc.length)];a=b.ub;c=e+"/data?grids="+c+"&q="+a.Wm+"&tags="+a.pu+"&filter="+a.filter+"&sortby="+a.Vy+"&ak="+a.Vl+"&page_size="+a.ON+"&age="+a.Gw;b.Cf?c+="&geotable_id="+b.Cf:b.Rn&&(c+="&databox_id="+b.Rn);var g=(1E5*Math.random()).toFixed(0);!B._rd&&(B._rd={});B._rd["_cbk"+g]=function(a){b.PS(a); delete B._rd["_cbk"+g]};oa(c+("&callback=BMap._rd._cbk"+g))}},PS:function(a){var b=this.B,c=a.content;if(!(a.status!=this.LG||!c||1>c.length)){for(var a=[],e=c[0].data,b=b.oa().wm(),f=0,g=e.length;f<g;f++){var i=e[f][2].replace(nb.tU,"").split(","),i=b.nh(new J(i[0],i[1]));a.push({pt:i,userdata:{name:e[f][0]||"name",size:e[f][4]?e[f][4].split("|"):[10,13],uid:e[f][1]||"",BO:e[f][3]||"sid1"}})}c=c[0].grid.join("_");this.cl[c]=a;this.Bj.push(c);30<this.Bj.length&&(c=this.Bj.shift(),delete this.cl[c], delete c);this.Pu!=this.jq&&(this.xB(),this.cl[this.jq]&&(this.TG(this.cl[this.jq]),this.Pu=this.jq))}},TG:function(a){for(var b=this.B,c=0,e=a.length;c<e;c++){var f=a[c].userdata.size,g=f[0]/2,f=f[1]/2,g=new ib(a[c].pt,{offsets:[f,g,f,g],userData:a[c].userdata});b.Cw(g,this.ub.Fk)}},xB:function(){this.B.dm(this.ub.Fk)},XS:function(a){if(a.spots&&!(1>a.spots.length||a.spots[0].tag!=this.ub.Fk)){this.Hg=a.spots;var b=this,a=this.Hg[0].getUserData().size[0],c="",e=b.B,f="",g=b.ub.eZ;0<this.Hg.length&& (c=this.Hg[0].getUserData().name);if(this.Jg)this.Jg.sa(this.Hg[0].ga()),this.Ig.dd(c),this.Ig.Ze(new O(a,0)),this.Jg.show(),c?this.Ig.show():this.Ig.U();else{var i=this.Hg[0].getUserData().size,f=this.Hg[0].getUserData().BO,k=this.Cf||this.Rn;this.dl=new qc(G.qa+"blank.gif",new O(i[0],i[1]),{anchor:new O(i[0]/2+1,i[1]/2+1)});this.GS(k,f,function(){b.Jg&&b.Jg.Rb(b.dl)});this.Jg=new U(this.Hg[0].ga(),{icon:this.dl,enableMassClear:t});e.Ga(this.Jg);this.Ig=new uc(c,{offset:new O(a,0)});this.Ig.Md({backgroundColor:g.backgroundColor, borderColor:g.borderColor});this.Jg.dn(this.Ig);c?this.Ig.show():this.Ig.U();this.Jg.addEventListener("onclick",function(){if(!(b.Hg.length<1)&&b.Hg[0].getUserData().uid){var a=b.ub,c=a.BY;if(b.Cf)c=a.CY;a=c+b.Hg[0].getUserData().uid+"?scope=2&ak="+a.Vl;b.Cf&&(a=a+("&geotable_id="+b.Cf));var e=(Math.random()*1E5).toFixed(0);!B._rd&&(B._rd={});B._rd["_cbk"+e]=function(a){b.FS(a);delete B._rd["_cbk"+e]};oa(a+("&callback=BMap._rd._cbk"+e))}})}}},FS:function(a){var b=a.content;this.Cf&&(b=a.contents[0]); if(a&&a.status==this.LG&&b){var a={poiId:b.uid||"",databoxId:b.databox_id||"",title:this.Cf?b.title:b.name,address:this.Cf?b.address:b.addr,phoneNumber:b.tel||"",postcode:b.zip||"",provinceCode:1*b.province_id||-1,province:b.province||"",cityCode:1*b.city_id||-1,city:b.city||"",districtCode:1*b.district_id||-1,district:b.district||"",point:this.Cf?new J(b.location[0],b.location[1]):new J(b.longitude,b.latitude),tags:b.tag&&b.tag.replace(nb.wU,"").split(nb.uU),typeId:1*b.cla||-1,extendedData:b.ext|| {}},c=new z.lang.Ju("onhotspotclick");c.customPoi=a;c.content=b;this.dispatchEvent(c)}},WS:function(){this.Jg&&this.Jg.U();this.Ig&&this.Ig.U()},GS:function(a,b,c){var e=this,f=Xc+"?method=getstyle&databox="+a+"&sid="+b,g=(1E5*Math.random()).toFixed(0);if(!e.dl||!(e.dl.databoxid==a&&e.dl.sid==b))!B._rd&&(B._rd={}),B._rd["_cbk"+g]=function(a){var b="";0==a.status&&(b="data:image/png;base64,"+a.content.sid1);0<b.length&&(e.dl.mO(b),c&&c(a));delete B._rd["_cbk"+g]},oa(f+("&callback=BMap._rd._cbk"+g))}}); ');

View File

@@ -0,0 +1 @@
_jsload2&&_jsload2('common', 'z.cookie=z.cookie||{};z.cookie.oI=function(a){return RegExp(\'^[^\\\\x00-\\\\x20\\\\x7f\\\\(\\\\)<>@,;:\\\\\\\\\\\\"\\\\[\\\\]\\\\?=\\\\{\\\\}\\\\/\\\\u0080-\\\\uffff]+$\').test(a)};z.cookie.cY=function(a){return z.cookie.oI(a)&&(a=RegExp("(^| )"+a+"=([^;]*)(;|$)").exec(document.cookie))?a[2]||s:s};z.cookie.get=function(a){a=z.cookie.cY(a);return"string"==typeof a?a=decodeURIComponent(a):s}; z.cookie.vO=function(a,b,c){if(z.cookie.oI(a)){var c=c||{},e=c.qx;"number"==typeof c.qx&&(e=new Date,e.setTime(e.getTime()+c.qx));document.cookie=a+"="+b+(c.path?"; path="+c.path:"")+(e?"; expires="+e.toGMTString():"")+(c.domain?"; domain="+c.domain:"")+(c.i5?"; secure":"")}};z.cookie.set=function(a,b,c){z.cookie.vO(a,encodeURIComponent(b),c)};z.cookie.remove=function(a,b){b=b||{};b.qx=new Date(0);z.cookie.vO(a,"",b)};z.xt=function(a){return/\\d{11}/.test(a)};z.TY=function(a){return/\\d{4}/.test(a)}; z.is=function(){function a(a){a=a.replace(/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i,function(a,b,c,e){return b+b+c+c+e+e});return(a=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(a))?"rgb("+parseInt(a[1],16)+","+parseInt(a[2],16)+","+parseInt(a[3],16)+")":s}var b={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887", cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3", deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6", lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee", mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6", purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}, c={hex:/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,rgb:/rgb\\(\\s*(\\d|\\d\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\s*,\\s*(\\d|\\d\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\s*,\\s*(\\d|\\d\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\s*\\)/,rgba:/rgba\\(\\s*(\\d|\\d\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\s*,\\s*(\\d|\\d\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\s*,\\s*(\\d|\\d\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\s*,\\s*(0|1|0\\.[1-9])\\s*\\)/};return{cK:function(a){if(c.hex.test(a))return a;if(c.rgb.test(a))return a=a.match(c.rgb),"#"+("0"+parseInt(a[1],10).toString(16)).slice(-2)+("0"+parseInt(a[2],10).toString(16)).slice(-2)+ ("0"+parseInt(a[3],10).toString(16)).slice(-2);if(b[a])return b[a]},S3:a,x2:function(a){return c.hex.test(a)?a:b[a]?b[a]:"#000"},AC:function(e,f){f===l&&(f=1);if(c.rgba.test(e))return e;"undefined"!=typeof b[e.toLowerCase()]&&(e=b[e.toLowerCase()]);c.hex.test(e)&&(e=a(e));c.rgb.test(e)?(e=e.replace(/rgb/g,"rgba"),e=e.replace(/\\)/,","+f+")")):e="rgba(0,0,0,1)";return e}}}(); ');

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
_jsload2&&_jsload2('convertor', 'z.extend(lc.prototype,{qQ:function(){for(var a=0,b=this.Pa.length;a<b;a++){var c=this.Pa[a];this[c.method].apply(this,c.arguments)}delete this.Pa},translate:function(a,b,c,e){b=b||1;c=c||5;if(10<a.length)e&&e({status:25});else{var f=B.Wc+"geoconv/v1/?coords=";z.Fb(a,function(a){f+=a.lng+","+a.lat+";"});f=f.replace(/;$/gi,"");f=f+"&from="+b+"&to="+c+"&ak="+qa;oa(f,function(a){if(0===a.status){var b=[];z.Fb(a.result,function(a){b.push(new B.Point(a.x,a.y))});delete a.result;a.points=b}e&&e(a)})}}}); ');

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
_jsload2&&_jsload2('coordtransutils', 'z.extend(eb,{AV:function(a,b,c){var e=S.Eb(a),a=b.fc,e=kc.ZD(b.Ub||"bj",e),e=new J(e.x,e.y),f=b.fa(),f=b.oa().dc(f),b=b.cb(),b=new Q(Math.round((e.lng-a.lng)/f+b.width/2),Math.round((a.lat-e.lat)/f+b.height/2));c&&c(b)},zV:function(a,b,c){var e=b.fa(),e=b.oa().dc(e),f=b.cb(),g=b.fc,b=b.Ub,a=new J(g.lng+e*(a.x-f.width/2),g.lat-e*(a.y-f.height/2)),a=kc.XD(b||"bj",a),a=new J(a.lng,a.lat),a=S.Tb(a);c&&c(a)}}); ');

View File

@@ -0,0 +1 @@
_jsload2&&_jsload2('copyrightctrl', 'z.extend($b.prototype,{zf:function(){this.B&&this.He(this.B)},initialize:function(a){Vb.prototype.initialize.call(this,a);this.Aa();this.uo();this.ba(a);return this.C},ba:function(a){var b=this;a.addEventListener("load",function(){b.uo()});a.addEventListener("moveend",function(){b.uo()});a.addEventListener("zoomend",function(){b.uo()});a.addEventListener("maptypechange",function(){b.C&&(b.C.style.color=b.B.oa().zm())})},Aa:function(){Vb.prototype.Aa.call(this);z.D.Ua(this.C,"BMap_cpyCtrl");var a= this.C.style;a.cursor="default";a.whiteSpace="nowrap";a.MozUserSelect="none";a.color=this.B.oa().zm();a.background="none";a.font="11px/15px "+G.fontFamily;Vb.prototype.Nr.call(this)},uo:function(){if(this.B&&this.C&&0!=this.cc.length)for(var a=0,b=this.cc.length;a<b;a++){this.B.fa();var c=this.B.xb({x:0,y:0}),e=this.B.xb({x:this.B.width,y:this.B.height}),c=new fb(c,e);if(this.cc[a].bounds&&c.ot(this.cc[a].bounds)==s){if(this.C)for(e=0;e<this.C.children.length;e++)if(this.C.children[e].getAttribute("_cid")== this.cc[a].id&&"none"!=this.C.children[e].style.display){this.C.children[e].style.display="none";return}}else if(this.C){for(var c=t,e=0,f=this.C.children.length;e<f;e++)if(this.C.children[e].getAttribute("_cid")==this.cc[a].id){c=q;this.C.children[e].style.display="inline";this.C.children[e].innerHTML!=this.cc[a].content&&(this.C.children[e].innerHTML=this.cc[a].content);break}c||this.Uq(this.cc[a])}}},Bw:function(a){if(a&&Wa(a.id)&&!isNaN(a.id)){var b={bounds:s,content:""},c;for(c in a)b[c]=a[c]; if(a=this.pm(a.id))for(var e in b)a[e]=b[e];else this.cc.push(b);this.uo()}},pm:function(a){for(var b=0,c=this.cc.length;b<c;b++)if(this.cc[b].id==a)return this.cc[b]},PD:w("cc"),qF:function(a){for(var b,c=0,e=this.cc.length;c<e;c++)this.cc[c].id==a&&(b=this.cc.splice(c,1),c--,e=this.cc.length);(a=this.Jd(a))&&a.parentNode&&a.parentNode.removeChild(a);this.uo();return b},Uq:function(a){this.C&&(this.C.innerHTML+="<span _cid=\'"+a.id+"\'>"+a.content+"</span>")},Jd:function(a){var b=Vb.prototype.Jd.call(this); if(Hb(a)){if(b)for(var c=0,e=b.children.length;c<e;c++)if(b.children[c].getAttribute("_cid")==a)return b.children[c]}else return b}});T(wf,{addCopyright:wf.Bw,removeCopyright:wf.qF,getCopyright:wf.pm,getCopyrightCollection:wf.PD}); ');

View File

@@ -0,0 +1 @@
_jsload2&&_jsload2('draw', 'function Ag(){}var Bg=Ag.prototype;Bg.IF=u();Bg.Ao=function(){aa("addLine\\u63a5\\u53e3\\u6ca1\\u6709\\u5b9e\\u73b0")};Bg.setAttribute=function(){aa("setAttribute\\u63a5\\u53e3\\u6ca1\\u6709\\u5b9e\\u73b0")};Bg.ke=function(){aa("setPath\\u63a5\\u53e3\\u6ca1\\u6709\\u5b9e\\u73b0")};Bg.ip=w("Mb");B.jz=Ag; ');

View File

@@ -0,0 +1 @@
_jsload2&&_jsload2('drawbycanvas', 'function Gg(a){this.B=a;this.NQ={strokeweight:"lineWidth",strokecolor:"strokeStyle",fillcolor:"fillStyle",strokeopacity:"globalAlpha",fillopacity:"globalAlpha"};this.Mb="canvas"}Gg.prototype=new B.jz;var Hg=Gg.prototype;Hg.Ao=function(){if(!this.canvas||this.canvas&&!zb(this.canvas)){var a=this.canvas=L("canvas");this.B.Tf().Et.appendChild(a);a.style.position="absolute";a=a.getContext("2d");a.lineCap="round";a.lineJoin="round";a.save();this.zU(this.canvas)}return this.canvas}; Hg.ke=function(a,b,c){if(a&&0!==b[0].length){var e=a.getContext("2d");this.sa(a);var f=parseInt(a.style.top),g=parseInt(a.style.left);e.beginPath();z.mc.Fb(b,function(a){if(0!==a.length){e.moveTo(a[0].x-g,a[0].y-f);for(var b=1,c=a.length;b<c;b++)e.lineTo(a[b].x-g,a[b].y-f)}});this.FR(a,c);"dashed"===c.strokeStyle&&this.HR(e,b,g,f,c)}}; Hg.HR=function(a,b,c,e,f){var g=this;a.beginPath();z.mc.Fb(b,function(b){if(0!==b.length){for(var k=[],m=0,n=b.length;m<n;m++)k.push({x:b[m].x-c,y:b[m].y-e});a.strokeStyle=f.strokeColor||"#3a6bdb";g.GR(a,k,{lineWidth:f.rc||5,interval:2*f.rc||10,lineLength:2*f.rc||10,strokeStyle:g.JS(a.strokeStyle,f.td)})}})}; Hg.GR=function(a,b,c){for(var c=c||{},e=c.Wx||10,f=c.lineWidth||5,g=c.m4||10,c=c.strokeStyle||"#3a6bdb",i=b.length-1,k=0,m=g+e,n=0,o=0;o<i;o++)var p=b[o].x,v=b[o].y,x=b[o+1].x,y=b[o+1].y,n=n+Math.sqrt((x-p)*(x-p)+(y-v)*(y-v));if(n<g)a.strokeStyle=c,a.lineWidth=f,a.lineJoin="round",a.lineCap="round",a.beginPath(),a.moveTo(b[0].x,b[0].y),a.lineTo(b[i].x,b[i].y),a.stroke();else for(n=0;n<i;n++){var p=b[n].x,v=b[n].y,x=b[n+1].x,y=b[n+1].y,o=Math.sqrt((x-p)*(x-p)+(y-v)*(y-v))+k+g,A=m-Math.abs(k);if(k<= m){var E=parseInt(o/m),C=e*(x-p)/o,F=e*(y-v)/o;xMove=g*(x-p)/o;yMove=g*(y-v)/o;startX=p+A*(x-p)/o;startY=v+A*(y-v)/o;tailX=p+(g-Math.abs(k))*(x-p)/o;tailY=v+(g-Math.abs(k))*(y-v)/o;a.beginPath();a.strokeStyle=c;a.lineJoin="round";a.lineCap="round";a.lineWidth=f;D?a.moveTo(D,I):a.moveTo(p,v);0>=k&&a.lineTo(p,v);a.lineTo(tailX,tailY);a.moveTo(startX,startY);D=0;for(I=2*E;D<I;D++)if(D%2)startX+=C,startY+=F,a.moveTo(startX,startY);else{startX+=xMove;startY+=yMove;if(0>(x-startX)*xMove)break;a.lineTo(startX, startY)}a.stroke()}var k=parseInt(o-m*E)-g,D=x-Math.abs(k)*(x-p)/o,I=y-Math.abs(k)*(y-v)/o;n===i-1&&0<k&&(a.beginPath(),a.strokeStyle=c,p=x-k*(x-p)/o,leftY=y-k*(y-v)/o,k<=g?(a.moveTo(p,leftY),a.lineTo(x,y)):(a.moveTo(p,leftY),a.moveTo(p+xMove,leftY+yMove)),a.stroke())}}; Hg.JS=function(a,b){if(4===a.length)var c=parseInt(a.substr(1,1)+a.substr(1,1),16),e=parseInt(a.substr(2,1)+a.substr(2,1),16),f=parseInt(a.substr(3,1)+a.substr(3,1),16);else c=parseInt(a.substr(1,2),16),e=parseInt(a.substr(3,2),16),f=parseInt(a.substr(5,2),16);return c="rgba("+c+","+e+","+f+","+b+")"};Hg.setAttribute=function(a,b,c){if(a){var e=a.getContext("2d"),f=this.Wq(b);try{e[f]=c}catch(g){}a.setAttribute("_"+b,c||"");e.save()}};Hg.Wq=function(a){return this.NQ[a]||a}; Hg.zU=function(a){var b=this.B,c=b.K.lx,e=b.width+2*c,f=b.height+2*c,g=-b.offsetX-c,b=-b.offsetY-c,c=a.getContext("2d"),i={strokeStyle:c.strokeStyle,fillStyle:c.fillStyle,globalAlpha:c.globalAlpha,lineWidth:c.lineWidth,lineCap:"round",lineJoin:"round"};a.setAttribute("width",e);a.setAttribute("height",f);for(var k in i)c[k]=i[k];c.save();a=a.style;a.top=b+"px";a.left=g+"px"};Hg.XQ=function(a){a.clearRect(0,0,9999,9999)}; Hg.FR=function(a,b){var c=a.getContext("2d");c.globalAlpha=a.getAttribute("_fillopacity");0!==c.globalAlpha&&a.getAttribute("_fillcolor")&&c.fill();c.globalAlpha=a.getAttribute("_strokeopacity");0!==c.globalAlpha&&(a.getAttribute("_strokecolor")&&"dashed"!==b.strokeStyle)&&c.stroke()};Hg.sa=function(a){var b=this.B,c=b.K.lx,e=-b.offsetX-c,a=a.style;a.top=-b.offsetY-c+"px";a.left=e+"px"};B.zP=Gg; ');

View File

@@ -0,0 +1 @@
_jsload2&&_jsload2('drawbysvg', 'function Cg(a){this.B=a;this.NG="http://www.w3.org/2000/svg";this.TU={strokeweight:"stroke-width",strokecolor:"stroke",fillcolor:"fill",strokeopacity:"stroke-opacity",fillopacity:"fill-opacity",strokestyle:"stroke-dasharray"};this.hf=this.Zz();this.Mb="svg"}Cg.prototype=new B.jz;var Dg=Cg.prototype; Dg.Zz=function(){var a=this.hf=L("svg",{},this.NG);a.setAttribute("version","1.1");a.setAttribute("type","system");a.style.position="absolute";this.IF();this.B.Tf().Et.appendChild(a);z.M(a,H()?"touchstart":"mousedown",Cb);return a}; Dg.IF=function(){if(this.hf){var a=this.hf,b=this.B,c=b.K.lx,e=b.width+2*c,f=b.height+2*c,g=-b.offsetX-c,b=-b.offsetY-c;this.setAttribute(a,"x",e+"px");this.setAttribute(a,"y",f+"px");this.setAttribute(a,"viewBox",g+" "+b+" "+e+" "+f);a=a.style;a.top=b+"px";a.left=g+"px";a.width=e+"px";a.height=f+"px"}};Dg.H3=w("hf");Dg.setAttribute=function(a,b,c,e){if(a)return"strokestyle"==b&&(c="solid"==c?0:2*e),a.setAttributeNS(s,this.Wq(b),c||"none"),a};Dg.Wq=function(a){return this.TU[a]||a}; Dg.Ao=function(){var a=L("path",{},this.NG);this.setAttribute(a,"stroke-linejoin","round");this.setAttribute(a,"stroke-linecap","round");this.setAttribute(a,"fill-rule","evenodd");this.hf.appendChild(a);return a};Dg.ke=function(a,b){var c=this.tA(b)||"M -9999,-9999";this.setAttribute(a,"d",c)};Dg.tA=function(a){if(0==a.length)return"";var b=[];z.mc.Fb(a,function(a){if(!(2>a.length)){b.push("M "+a[0].x+" "+a[0].y+" L");for(var e=1,f=a.length;e<f;e++)b.push(a[e].x),b.push(a[e].y)}});return b.join(" ")}; B.ZP=Cg; ');

View File

@@ -0,0 +1 @@
_jsload2&&_jsload2('drawbyvml', 'function Eg(a){this.B=a;this.dV={strokeweight:"weight",strokecolor:"color",fillcolor:"color",strokeopacity:"opacity",fillopacity:"opacity",strokestyle:"dashstyle"};this.Mb="vml"}Eg.zK={orange:"#ffa500"};Eg.prototype=new B.jz;var Fg=Eg.prototype; Fg.setAttribute=function(a,b,c){a&&(0==b.indexOf("stroke")?a=a.getElementsByTagName("stroke")[0]:0==b.indexOf("fill")&&(a=a.getElementsByTagName("fill")[0]),0<b.indexOf("color")&&(c?(a.on=q,Eg.zK[c]&&(c=Eg.zK[c])):a.on=t),"strokestyle"==b&&(c="solid"==c?"solid":"4 2 1 2"),"strokeweight"==b&&(c+="px"),a[this.Wq(b)]=c||"")};Fg.Wq=function(a){return this.dV[a]||a};Fg.Ao=function(){return Ab(this.B.Tf().Et,\'<v:shape style="behavior:url(#default#VML);z-index:1;width:1px;height:1px;position:absolute;left:0;top:0;"coordsize="1,1" coordorigin="0,0" filled="t" fillcolor="white"><v:stroke style="behavior:url(#default#VML);" endcap="round" oned="true" /><v:fill style="behavior:url(#default#VML)" /></v:shape>\')}; Fg.ke=function(a,b){this.setAttribute(a,"path",this.tA(b));6==z.ca.ia&&(a.style.display="none",a.style.display="")};Fg.tA=function(a){if(0==a.length)return"";var b=[];z.mc.Fb(a,function(a){if(!(2>a.length)){b.push("m "+a[0].x+" "+a[0].y+" l");for(var e=1,f=a.length;e<f;e++)b.push(a[e].x),b.push(a[e].y);b.push("e")}});return b.join(" ")||" "};B.bQ=Eg; ');

View File

@@ -0,0 +1 @@
_jsload2&&_jsload2('geoctrl', 'z.extend(Zb.prototype,{initialize:function(a){var b=this;Vb.prototype.initialize.call(b,a);b.Aa();b.pr={"default":B.ka+"images/geolocation-control/mobile/default-40x40.png",loading:B.ka+"images/geolocation-control/mobile/loading-40x40.gif",success:B.ka+"images/geolocation-control/mobile/success-40x40.png",fail:B.ka+"images/geolocation-control/mobile/fail-40x40.png"};b.ij=b.C.children[0];b.FD=b.ij.children[0];b.Xo=b.FD.children[0];b.DD=b.ij.children[1];b.vL=b.DD.children[0].children[0];var c;b.B.addEventListener("moveend", function(){if(c){var a=b.B.Ka();a.lng===c.lng&&a.lat===c.lat?b.Lr(b.pr.success):(b.Lr(b.pr["default"]),b.VQ())}});z.M(b.Xo,"click",function(){b.Lr(b.pr.loading);(new Geolocation({timeout:1E4})).getCurrentPosition(function(e){b.Lr(b.pr.success);if(e.address&&b.j.O_){var f="";e.address.city?f+=e.address.city:e.address.province&&(f+=e.address.province);e.address.district&&(f+=e.address.district);e.address.street&&(f+=e.address.street);e.address.street_number&&(f+=e.address.street_number);b.xU(f)}var f= new J(e.longitude,e.latitude),g=new U(f,{icon:b.j.bN?b.j.bN:new qc(B.ka+"images/geolocation-control/point/position-icon-14x14.png",new O(14,14))});c=f;b.GD=f;a.Ga(g);a.Fd(f,15);e.address&&(b.ds={province:e.address.province||"",city:e.address.city||"",district:e.address.district||"",street:e.address.street||"",streetNumber:e.address.street_number||""},Ra(7001,{longitude:e.longitude,latitude:e.latitude,accuracy:e.accuracy}));e=new P("locationSuccess");e.point=b.GD;e.addressComponent=b.ds;b.dispatchEvent(e)}, function(a){b.Lr(b.pr.fail);var c=new P("locationError");c.code=a.errorCode;c.message=a.uk;b.dispatchEvent(c)})});return b.C},location:function(){var a=this;a.I0.push({});(new Geolocation({timeout:1E4})).getCurrentPosition(function(b){a.GD=new J(b.longitude,b.latitude);b.address&&(a.ds={province:b.address.province||"",city:b.address.city||"",district:b.address.district||"",street:b.address.street||"",streetNumber:b.address.street_number||""});b=new P("locationSuccess");b.point=a.GD;b.addressComponent= a.ds;a.dispatchEvent(b)},function(b){var c=new P("locationError");c.code=b.errorCode;c.message=b.uk;a.dispatchEvent(c)})},xX:function(){return this.ds?this.ds:s},sQ:function(){this.B?this.He(this.B):this.map&&this.He(this.map)},Aa:function(){Vb.prototype.Aa.call(this);this.C.style.cssText="height: 32px;";this.C.innerHTML=this.Vq()},Vq:function(){return[\'<div class="BMap_geolocationContainer" style="height: 32px; margin: 0px; box-sizing: border-box; border: 1px solid #d9d7d5; border-radius: 3px; -webkit-box-shadow: 1px 1px 1px rgba(0,0,0,.2); overflow: hidden;">\', \'<div class="BMap_geolocationIconBackground" style="float: left; width: 32px; height: 32px; background-image: url(\\\'\'+B.ka+"images/geolocation-control/mobile/gradient-bg-1x64.png\'); background-size: 1px 32px; background-repeat: repeat-x;\\">",\'<div class="BMap_geolocationIcon" style="width: 32px; height: 32px; cursor: pointer; background-image: url(\\\'\'+B.ka+"images/geolocation-control/mobile/default-40x40.png\'); background-size: 20px 20px; background-repeat: no-repeat; background-position: center center;\\"></div>", "</div>",\'<div class="BMap_geolocationAddress" style="display: none; float: left; min-width: 50px; padding-left: 10px; padding-right: 10px; border-left: 1px solid #d9d7d5; background-image: url(\'+B.ka+\'images/geolocation-control/mobile/gradient-bg-1x64.png); background-size: 1px 32px; background-repeat: repeat-x;">\',\'<div style="height: 32px; display: table-cell; vertical-align: middle;"><div class="BMap_geolocationAddressText" style="font-size: 12px; color: #666666; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; display: block; min-width: 50px; max-width: 200px;"></div></div></div></div>\'].join("")}, Lr:function(a){this.Xo.style.backgroundImage="url(\'"+a+"\')"},xU:function(a){this.DD.style.display="block";this.vL.textContent=a},VQ:function(){this.vL.textContent="";this.DD.style.display="none"}});Zb.prototype.location=Zb.prototype.location;Zb.prototype.getAddressComponent=Zb.prototype.xX; ');

View File

@@ -0,0 +1 @@
_jsload2&&_jsload2('groundoverlay', 'z.extend(vc.prototype,{ib:function(){if(this.map){this.V||this.Ej();var a=this.map.fa();if(a<this.z.Bs||a>this.z.As)this.U();else{var b=this.z.bb.Ve(),c=this.z.bb.Rf(),a=this.map.Xe(b).x,e=this.map.Xe(c).y,c=this.map.Xe(c).x,b=this.map.Xe(b).y;this.V.style.left=a+"px";this.V.style.top=e+"px";this.V.style.width=c-a+"px";this.V.style.height=b-e+"px";this.show()}}},draw:function(){this.ib()},Ej:function(){if(!this.V){this.V=document.createElement("div");var a=this.V.style;a.cssText="position: absolute; -moz-user-select: none; overflow: hidden;"; a.zIndex=mc.Ck(this.z.bb.Ve().lat);this.z.opacity&&(a.opacity=this.z.opacity,a.filter="alpha(opacity="+100*parseInt(this.z.opacity,10)+")");this.Og=document.createElement("img");this.Og.style.width="100%";this.z.X_&&(this.Og.style.height="100%");this.V.appendChild(this.Og);var b=this;this.Og.onload=function(){b.P1=b.Og.naturalWidth||b.Og.width;b.O1=b.Og.naturalHeight||b.Og.height};this.z.Gm&&(this.Og.src=this.z.Gm);this.map.Tf().KE.appendChild(this.V);b=this;z.M(this.V,"click",function(a){b.dispatchEvent(new P("click"), a)});z.M(this.V,"dblclick",function(a){b.dispatchEvent(new P("dblclick"),a)})}},s_:function(a){this.z.bb=a;this.map&&this.ib();this.V.style.zIndex=mc.Ck(this.z.bb.Ve().lat)},ve:function(){return this.z.bb},HF:function(a){this.z.opacity=a;this.V.style.opacity=a;this.V.style.filter="alpha(opacity="+100*parseInt(a,10)+")"},XX:function(){return this.z.opacity},x_:function(a){this.z.Gm=a;this.Og&&(this.Og.src=a)},KX:function(){return this.z.Gm},p5:function(a){this.z.Bs=a},r3:function(){return this.z.Bs}, o5:function(a){this.z.As=a},q3:function(){return this.z.As}});vc.prototype.setBounds=vc.prototype.s_;vc.prototype.getBounds=vc.prototype.ve;vc.prototype.setOpacity=vc.prototype.HF;vc.prototype.getOpacity=vc.prototype.XX;vc.prototype.setImageURL=vc.prototype.x_;vc.prototype.getImageURL=vc.prototype.KX;vc.prototype.setDispalyOnMinLevel=vc.prototype.n5;vc.prototype.setDispalyOnMaxLevel=vc.prototype.m5; ');

View File

@@ -0,0 +1 @@
_jsload2&&_jsload2('hotspot', 'B.Ye(function(a){function b(a){var b=this.R;b.Qe=[];if(this.Jh)for(var c in this.Jh)if(!(0==c.indexOf("vector_")&&!this.Sb()||0==c.indexOf("tile_")&&this.Sb())){var i=this.Jh[c],k;for(k in i){var m=i[k];if(!(m.Lh>this.fa()||m.Hf<this.fa())){var n=this.$b(m.ga());n.x<this.width&&n.y<this.height&&a.offsetX<n.x+m.Jv[1]&&(a.offsetX>n.x-m.Jv[3]&&a.offsetY>n.y-m.Jv[0]&&a.offsetY<n.y+m.Jv[2])&&b.Qe.push(m)}}}}function c(){a.R.XK&&0<a.R.Qe.length?(a.platform.style.cursor="pointer",a.R.XK=t):(a.R.Qe=[],a.platform.style.cursor= a.K.Vb)}a.R.ju=new uc("",{za:new O(15,-3),Wp:{border:"1px solid #aaa",background:"#fffec2",whiteSpace:"nowrap",font:"12px "+G.fontFamily,mozBoxShadow:"1px 2px 6px #666",webkitBoxShadow:"1px 2px 6px #666",boxShadow:"1px 2px 6px #666",padding:"2px 4px"}});a.addEventListener("mousemove",function(c){if(!(c.fb&&!(c.fb instanceof oc)||c.zb)){var f=this.R,g=f.Qe.slice(0);b.call(this,c);for(var i=f.Qe.slice(0),k=0;k<g.length;k++)for(var m=0;m<i.length;m++)g[k]===i[m]&&(g.splice(k,1),k--,i.splice(m,1),m--); if(0<g.length){var n=new P("onhotspotout");n.spots=g.slice(0);this.dispatchEvent(n)}if(0==f.Qe.length&&!f.$x)this.platform.style.cursor!=this.K.Vb&&(this.platform.style.cursor=this.K.Vb),f.Up&&(clearTimeout(f.Up),f.Up=s),f.QF=setTimeout(function(){f.ju.U()},400);else if(0<i.length&&(this.platform.style.cursor="pointer",n=new P("onhotspotover"),n.spots=i.slice(0),this.dispatchEvent(n),f.Up&&(clearTimeout(f.Up),f.Up=s),f.QF&&(clearTimeout(f.QF),f.QF=s),n.spots[0].eE()))f.Up=setTimeout(function(){f.ju.dd(n.spots[0].eE()); f.ju.sa(c.point);f.ju.show();a.Ga(f.ju)},400)}});a.addEventListener("clickex",function(a){var c=this.R;a.overlay||(0==c.Qe.length&&b.call(this,a),0<c.Qe.length&&(a=new P("onhotspotclick"),a.spots=c.Qe.slice(0),a.spots.sort(function(a,b){return a.ga().lat-b.ga().lat}),this.dispatchEvent(a),c.Qe.length=0))});a.addEventListener("load",c);a.addEventListener("moveend",c);a.addEventListener("zoomend",c);a.addEventListener("dragend",function(){this.R.XK=q})}); ');

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
_jsload2&&_jsload2('markeranimation', 'Ic[1]={options:{duration:400},Cm:[{Zb:0,translate:[0,-500],jc:"ease-in"},{Zb:0.5,translate:[0,0],jc:"ease-out"},{Zb:0.75,translate:[0,-20],jc:"ease-in"},{Zb:1,translate:[0,0],jc:"ease-out"}],du:[{Zb:0,translate:[375,-375],jc:"ease-in"},{Zb:0.5,translate:[0,0],jc:"ease-out"},{Zb:0.75,translate:[15,-15],jc:"ease-in"},{Zb:1,translate:[0,0],jc:"ease-out"}]}; Ic[2]={options:{duration:700,loop:vb},Cm:[{Zb:0,translate:[0,0],jc:"ease-out"},{Zb:0.5,translate:[0,-20],jc:"ease-in"},{Zb:1,translate:[0,0],jc:"ease-out"}],du:[{Zb:0,translate:[0,0],jc:"ease-out"},{Zb:0.5,translate:[15,-15],jc:"ease-in"},{Zb:1,translate:[0,0],jc:"ease-out"}]};Ic[3]={options:{duration:200,fP:q},Cm:[{Zb:0,translate:[0,0],jc:"ease-in"},{Zb:1,translate:[0,-20],jc:"ease-out"}],du:[{Zb:0,translate:[0,0],jc:"ease-in"},{Zb:1,translate:[15,-15],jc:"ease-out"}]}; Ic[4]={options:{duration:500,fP:q},Cm:[{Zb:0,translate:[0,-20],jc:"ease-in"},{Zb:0.5,translate:[0,0],jc:"ease-out"},{Zb:0.75,translate:[0,-10],jc:"ease-in"},{Zb:1,translate:[0,-0.0],jc:"ease-out"}],du:[{Zb:0,translate:[15,-15],jc:"ease-in"},{Zb:0.5,translate:[0,0],jc:"ease-out"},{Zb:0.75,translate:[8,-8],jc:"ease-in"},{Zb:1,translate:[0,0],jc:"ease-out"}]}; ');

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
_jsload2&&_jsload2('vmlcontext', 'var hg=10,ig=hg/2; function jg(a){this.li=[[1,0,0],[0,1,0],[0,0,1]];this.cN=[];this.TJ=[];this.qk=[];this.lineWidth=1;this.miterLimit=1*hg;this.canvas=a;var b=L("div");b.style.width=a.clientWidth+"px";b.style.height=a.clientHeight+"px";b.style.position="absolute";a.appendChild(b);this.fL=b;this.TM=this.Iw=this.Hw=1;document.styleSheets.canvas_style||(a=document.createStyleSheet(),a.owningElement.id="canvas_style",a.cssText="canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}g_vml_\\\\:shape,g_vml_\\\\:fill,g_vml_\\\\:stroke{behavior:url(#default#VML)}")} function kg(a,b){for(var c=[[1,0,0],[0,1,0],[0,0,1]],e=0;3>e;e++)for(var f=0;3>f;f++){for(var g=0,i=0;3>i;i++)g+=a[e][i]*b[i][f];c[e][f]=g}return c}var lg=jg.prototype;lg.clearRect=function(){this.fL.innerHTML=""};lg.beginPath=function(){this.qk=[]};lg.moveTo=function(a,b){var c=this.fi(a,b);this.qk.push({type:"moveTo",x:c.x,y:c.y});this.rs=c.x;this.ss=c.y};lg.lineTo=function(a,b){var c=this.fi(a,b);this.qk.push({type:"lineTo",x:c.x,y:c.y});this.rs=c.x;this.ss=c.y}; lg.bezierCurveTo=function(a,b,c,e,f,g){mg(this,this.fi(a,b),this.fi(c,e),this.fi(f,g))};function mg(a,b,c,e){a.qk.push({type:"bezierCurveTo",oW:b.x,pW:b.y,qW:c.x,rW:c.y,x:e.x,y:e.y});a.rs=e.x;a.ss=e.y}lg.quadraticCurveTo=function(a,b,c,e){a=this.fi(a,b);c=this.fi(c,e);e={x:this.rs+2/3*(a.x-this.rs),y:this.ss+2/3*(a.y-this.ss)};mg(this,e,{x:e.x+(c.x-this.rs)/3,y:e.y+(c.y-this.ss)/3},c)}; lg.arc=function(a,b,c,e,f,g){var c=c*hg,i=a+Math.cos(e)*c-ig,k=b+Math.sin(e)*c-ig,e=a+Math.cos(f)*c-ig,f=b+Math.sin(f)*c-ig;i==e&&!g&&(i+=0.125);a=this.fi(a,b);i=this.fi(i,k);e=this.fi(e,f);this.qk.push({type:g?"at":"wa",x:a.x,y:a.y,wa:c,X0:i.x,Z0:i.y,W0:e.x,Y0:e.y})};lg.rect=function(a,b,c,e){this.moveTo(a,b);this.lineTo(a+c,b);this.lineTo(a+c,b+e);this.lineTo(a,b+e);this.closePath()}; lg.stroke=function(a){var b=[],c=a?this.fillStyle:this.strokeStyle,e=c.color,c=c.alpha;b.push("<g_vml_:shape",\' filled="\',!!a,\'"\',\' style="position:absolute;width:\',10,"px;height:",10,\'px;"\',\' coordorigin="0 0" coordsize="\',10*hg," ",10*hg,\'"\',\' stroked="\',!a,\'"\',\' path="\');for(var f=s,g=s,i=s,k=s,m=0;m<this.qk.length;m++){var n=this.qk[m];switch(n.type){case "moveTo":b.push(" m ",Math.round(n.x),",",Math.round(n.y));break;case "lineTo":b.push(" l ",Math.round(n.x),",",Math.round(n.y));break;case "close":b.push(" x "); n=s;break;case "bezierCurveTo":b.push(" c ",Math.round(n.oW),",",Math.round(n.pW),",",Math.round(n.qW),",",Math.round(n.rW),",",Math.round(n.x),",",Math.round(n.y));break;case "at":case "wa":b.push(" ",n.type," ",Math.round(n.x-this.Hw*n.wa),",",Math.round(n.y-this.Iw*n.wa)," ",Math.round(n.x+this.Hw*n.wa),",",Math.round(n.y+this.Iw*n.wa)," ",Math.round(n.X0),",",Math.round(n.Z0)," ",Math.round(n.W0),",",Math.round(n.Y0))}if(n){if(f==s||n.x<f)f=n.x;if(i==s||n.x>i)i=n.x;if(g==s||n.y<g)g=n.y;if(k== s||n.y>k)k=n.y}}b.push(\' ">\');a?b.push(\'<g_vml_:fill color="\',e,\'" opacity="\',c,\'" />\'):(a=this.TM*this.lineWidth,1>a&&(c*=a),b.push("<g_vml_:stroke",\' opacity="\',c,\'"\',\' joinstyle="\',this.lineJoin,\'"\',\' miterlimit="\',this.miterLimit,\'"\',\' endcap="\',"square",\'"\',\' weight="\',a,\'px"\',\' color="\',e,\'" />\'));b.push("</g_vml_:shape>");this.fL.insertAdjacentHTML("beforeEnd",b.join(""))};lg.fill=function(){this.stroke(q)};lg.closePath=function(){this.qk.push({type:"close"})}; lg.fi=function(a,b){var c=this.li;return{x:hg*(a*c[0][0]+b*c[1][0]+c[2][0])-ig,y:hg*(a*c[0][1]+b*c[1][1]+c[2][1])-ig}};lg.save=function(){var a={};copyState(this,a);this.TJ.push(a);this.cN.push(this.li);this.li=kg(createMatrixIdentity(),this.li)};lg.restore=function(){copyState(this.TJ.pop(),this);this.li=this.cN.pop()}; function ng(a,b,c){var e;a:{for(e=0;3>e;e++)for(var f=0;2>f;f++)if(!isFinite(b[e][f])||isNaN(b[e][f])){e=t;break a}e=q}e&&(a.li=b,c&&(a.TM=Math.sqrt(Math.abs(b[0][0]*b[1][1]-b[0][1]*b[1][0]))))}lg.translate=function(a,b){ng(this,kg([[1,0,0],[0,1,0],[a,b,1]],this.li),t)};lg.rotate=function(a){var b=Math.cos(a),a=Math.sin(a);ng(this,kg([[b,a,0],[-a,b,0],[0,0,1]],this.li),t)};lg.scale=function(a,b){this.Hw*=a;this.Iw*=b;ng(this,kg([[a,0,0],[0,b,0],[0,0,1]],this.li),q)}; lg.transform=function(a,b,c,e,f,g){ng(this,kg([[a,b,0],[c,e,0],[f,g,1]],this.li),q)};lg.setTransform=function(a,b,c,e,f,g){ng(this,[[a,b,0],[c,e,0],[f,g,1]],q)};B.aQ=jg; ');

View File

@@ -1,23 +1,30 @@
import createAxios from '@/utils/request'
export function getEnterpriseSteadyQualify(data:any) {
export function getEnterpriseSteadyQualify(data: any) {
return createAxios({
url: "/harmonic-boot/steadyQualify/getEnterpriseSteadyQualify",
method: "post",
data: data,
});
url: '/harmonic-boot/steadyQualify/getEnterpriseSteadyQualify',
method: 'post',
data: data
})
}
export function getSteadyQualifyCensus(data:any) {
export function getSteadyQualifyCensus(data: any) {
return createAxios({
url: "/harmonic-boot/steadyQualify/getSteadyQualifyCensus",
method: "post",
data: data,
});
}
export function IntegrityIcon(data:any) {
url: '/harmonic-boot/steadyQualify/getSteadyQualifyCensus',
method: 'post',
data: data
})
}
export function IntegrityIcon(data: any) {
return createAxios({
url: "/device-boot/LineIntegrityData/getIntegrityIcon",
method: "post",
data: data,
});
}
url: '/device-boot/LineIntegrityData/getIntegrityIcon',
method: 'post',
data: data
})
}
export function getTHDistortionCensus(data: any) {
return createAxios({
url: '/harmonic-boot/tHDistortion/getTHDistortionCensus',
method: 'post',
data: data
})
}

View File

@@ -0,0 +1,39 @@
<template>
<div class="default-main device pd10">
<waveForm ref="waveFormRef" />
</div>
</template>
<script lang="ts" setup>
import { ref, onMounted, watch, nextTick } from 'vue'
import waveForm from '@/components/echarts/waveForm.vue'
import { useRoute } from 'vue-router'
const route = useRoute()
const activeName = ref('')
const waveFormRef = ref()
watch(
() => activeName.value,
(val, oldVal) => {
nextTick(() => {
// waveFormRef.value && waveFormRef.value.getMakeUpDataList(route.query)
})
},
{
immediate: true,
deep: true
}
)
onMounted(() => {
// activeName.value = route.query.activeName
// waveForm.value && waveForm.value.getMakeUpDataList(route.query)
})
</script>
<style lang="scss" scoped>
.device {
overflow: hidden;
// height: calc(100vh - 130px);
}
</style>

View File

@@ -1072,13 +1072,13 @@ export default {
height: 13,
start: 0,
bottom: "20px",
end: 100,
end: 15,
},
{
start: 0,
height: 13,
bottom: "20px",
end: 100,
end: 15,
},
],
series: [
@@ -1492,13 +1492,13 @@ export default {
height: 13,
start: 0,
bottom: "20px",
end: 100,
end: 15,
},
{
start: 0,
height: 13,
bottom: "20px",
end: 100,
end: 15,
},
],
series: [

View File

@@ -17,8 +17,7 @@ import $ from 'jquery'
import * as echarts from 'echarts'
import { mainHeight } from '@/utils/layout'
import url from '@/assets/img/point.png'
import { t } from 'vxe-table'
import { set } from '@vueuse/core'
export default {
props: {
value: {
@@ -733,19 +732,21 @@ export default {
height: 13,
start: 0,
bottom: '20px',
end: 100
end: 15
},
{
start: 0,
height: 13,
bottom: '20px',
end: 100
end: 15
}
],
series: [
{
name: a,
type: 'line',
large: true,
smooth: true,
symbol: 'none',
sampling: 'average',
@@ -757,6 +758,8 @@ export default {
{
name: b,
type: 'line',
large: true,
smooth: true,
symbol: 'none',
sampling: 'average',
@@ -768,6 +771,8 @@ export default {
{
name: c,
type: 'line',
large: true,
smooth: true,
symbol: 'none',
sampling: 'average',
@@ -1089,19 +1094,21 @@ export default {
height: 13,
start: 0,
bottom: '20px',
end: 100
end: 15
},
{
start: 0,
height: 13,
bottom: '20px',
end: 100
end: 15
}
],
series: [
{
name: a,
type: 'line',
large: true,
smooth: true,
symbol: 'none',
sampling: 'average',
@@ -1113,6 +1120,8 @@ export default {
{
name: b,
type: 'line',
large: true,
smooth: true,
symbol: 'none',
sampling: 'average',
@@ -1124,6 +1133,8 @@ export default {
{
name: c,
type: 'line',
large: true,
smooth: true,
symbol: 'none',
sampling: 'average',

View File

@@ -0,0 +1,180 @@
<template>
<div>
<MyEChart style="height: 400px;width: 100%" v-for="item in echartsList" :options="item" />
</div>
</template>
<script setup lang='ts'>
import MyEChart from '@/components/echarts/MyEchart.vue'
import { ref, reactive } from 'vue'
const props = defineProps({
wp: {
type: Object,
},
boxoList: {
type: Object,
},
value: {
type: Number,
default: 1
},
})
const echartsList: any = ref([])
const info = () => {
let num = (props.wp?.waveTitle.length - 1) / 3
for (let i = 0; i < num; i++) {
let A: any = [], B: any = [], C: any = []
props.wp?.listWaveData.forEach((item: any,) => {
A.push([item[0], item[i * 3 + 1]])
B.push([item[0], item[i * 3 + 2]])
C.push([item[0], item[i * 3 + 3]])
})
setTimeout(() => {
console.log("🚀 ~ info ~ A:", A)
echartsList.value.push({
title: {
text: i == 0 ? '123' : '',
x: 'center',
},
tooltip: {
axisPointer: {
type: 'cross',
label: {
color: '#fff',
fontSize: 16
}
},
textStyle: {
color: '#fff',
fontStyle: 'normal',
opacity: 0.35,
fontSize: 14
},
backgroundColor: 'rgba(0,0,0,0.55)',
borderWidth: 0,
},
dataZoom: [
{
type: 'inside',
height: 13,
start: 0,
bottom: '20px',
end: 25
},
{
start: 0,
height: 13,
bottom: '20px',
end: 25
}
],
xAxis: {
// data: data.filter(item => item.phaseType == 'A').map(item => item.time),
name: '时间',
type: 'value',
axisLine: {
show: true,
onZero: false //-----------重点
},
// splitLine: {
// show: false,
// }
},
yAxis: {
type: 'value',
name: name,
// splitLine: {
// show: false,
// }
// max: max,
// min: min
},
// legend: {
// data: ['A', 'B', 'C']
// // selectedMode: false,
// },
grid: {
top: '30px',
left: '30px'
},
color: ['#FFCC00', '#009900', '#CC0000'],
series: [
{
name: 'A相',
type: 'line',
smooth: true,
symbol: 'none',
// 开启渐进式渲染
progressive: 2000,
// 渲染阈值,大于此值则启动渐进渲染
progressiveThreshold: 5000,
sampling: 'average',
data: A
},
{
name: 'B相',
type: 'line',
smooth: true,
symbol: 'none',
// 开启渐进式渲染
progressive: 2000,
// 渲染阈值,大于此值则启动渐进渲染
progressiveThreshold: 5000,
sampling: 'average',
data: B
},
{
name: 'C相',
type: 'line',
smooth: true,
symbol: 'none',
// 开启渐进式渲染
progressive: 2000,
// 渲染阈值,大于此值则启动渐进渲染
progressiveThreshold: 5000,
sampling: 'average',
data: C
}
],
options: {
animation: false,
dataZoom: [{
type: 'inside',
height: 13,
start: 0,
bottom: '20px',
end: 10
},
{
start: 0,
height: 13,
bottom: '20px',
end: 10
}]
}
})
}, 0);
}
}
onMounted(() => {
info()
})
</script>
<style lang="scss" scoped></style>

View File

@@ -1,5 +1,5 @@
<template>
<el-dialog draggable class="cn-operate-dialog" v-model="dialogVisible" :title="title">
<el-dialog draggable width="500px" v-model="dialogVisible" :title="title">
<el-scrollbar>
<el-form :inline="false" :model="form" label-width="120px" :rules="rules" ref="formRef">
<el-form-item label="校验密码:" prop="password">

View File

@@ -37,10 +37,11 @@ const setupAll = async () => {
//开启离线地图
// app.use(BaiduMapOffline, {
// offline: true,
// offlineUrl:'http://sjzx:8088/map/' //window.location.origin + '/map/'
// // offlineUrl:'http://sjzx:8088/map/' //window.location.origin + '/map/'
// })
app.use(BaiduMap, {
ak: 'Yp57V71dkOPiXjiN8VdcFRsVELzlVNKK',
// ak: 'Yp57V71dkOPiXjiN8VdcFRsVELzlVNKK',
ak: 'aDYDfiR6ROVR1ehrLedSc9makxGD1vxZ',
v: '3.0'
})

View File

@@ -116,7 +116,7 @@ export const adminBaseRoute = {
name: 'BpmProcessInstanceDetail',
meta: {
title: pageTitle('router.instanceDetail')
},
}
},
{
path: 'ProgramReviewInter',
@@ -161,6 +161,14 @@ export const adminBaseRoute = {
// },
]
},
{
path: '/boX',
name: 'boX',
component: () => import('@/components/echarts/boX.vue'),
meta: {
title: pageTitle('boX')
}
}
/*{
path: '/bpm',
name: 'bpm',
@@ -233,6 +241,7 @@ const staticRoutes: Array<RouteRecordRaw> = [
title: pageTitle('previewFile')
}
},
{
// 后台找不到页面了-可能是路由未加载上
path: adminBaseRoutePath + ':path(.*)*',

View File

@@ -52,6 +52,7 @@ import { useMonitoringPoint } from '@/stores/monitoringPoint'
import { indexOptions, harmonicOptions, inharmonicOptions } from '@/utils/dictionary'
import { getHistoryResult } from '@/api/harmonic-boot/harmonic'
import { mainHeight } from '@/utils/layout'
import { yMethod } from '@/utils/echartMethod'
const datePickerRef = ref()
const monitoringPoint = useMonitoringPoint()
const checked = ref(monitoringPoint.state.showCheckBox)
@@ -125,8 +126,9 @@ const init = () => {
const shujuchuli = (res: any) => {
let shujuData = res.data
shujuData.forEach((item: any, i: number) => {
let [min, max] = yMethod([ ...(item.value.map(arr => arr.slice(1)).flat()),item.topLimit,,item.lowerLimit])
//判断是否存在暂降点
if (item.eventDetail !== null || item.eventDetail.length === 0) {
//向项别中添加暂降点
let chufa = []
@@ -145,8 +147,8 @@ const shujuchuli = (res: any) => {
let cvalue = []
let topLimit = []
let lowerLimit = []
item.maxValue = item.topLimit
item.minValue = item.lowerLimit
item.maxValue = max
item.minValue = min
//判断数据是否存在
if (item.value !== null) {
for (let j = 0; j < item.value.length; j++) {
@@ -211,8 +213,8 @@ const shujuchuli = (res: any) => {
let gvalue = []
let topLimit = []
let lowerLimit = []
item.maxValue = item.topLimit
item.minValue = item.lowerLimit
item.maxValue = max
item.minValue = min
//判断数据是否存在
if (item.value !== null) {
for (let j = 0; j < item.value.length; j++) {
@@ -285,7 +287,7 @@ const shujuchuli = (res: any) => {
let bvalue = []
let cvalue = []
let topLimit = []
item.maxValue = item.topLimit
item.maxValue = max
//判断数据是否存在
if (item.value !== null) {
for (let j = 0; j < item.value.length; j++) {
@@ -347,7 +349,7 @@ const shujuchuli = (res: any) => {
if (item.phaiscType.length == 3) {
let gvalue = []
let topLimit = []
item.maxValue = item.topLimit
item.maxValue = max
//判断数据是否存在
if (item.value !== null) {
for (let j = 0; j < item.value.length; j++) {
@@ -413,7 +415,7 @@ const shujuchuli = (res: any) => {
let bvalue = []
let cvalue = []
let lowerLimit = []
item.minValue = item.lowerLimit
item.minValue = min
//判断数据是否存在
if (item.value !== null) {
for (let j = 0; j < item.value.length; j++) {
@@ -470,7 +472,7 @@ const shujuchuli = (res: any) => {
if (item.phaiscType.length == 3) {
let gvalue = []
let lowerLimit = []
item.minValue = item.lowerLimit
item.minValue = min
//判断数据是否存在
if (item.value !== null) {
for (let j = 0; j < item.value.length; j++) {
@@ -661,8 +663,8 @@ const shujuchuli = (res: any) => {
let cvalue = []
let topLimit = []
let lowerLimit = []
item.maxValue = item.topLimit
item.minValue = item.lowerLimit
item.maxValue = max
item.minValue = min
//判断数据是否存在
if (item.value !== null) {
for (let j = 0; j < item.value.length; j++) {
@@ -715,8 +717,8 @@ const shujuchuli = (res: any) => {
let gvalue = []
let topLimit = []
let lowerLimit = []
item.maxValue = item.topLimit
item.minValue = item.lowerLimit
item.maxValue = max
item.minValue = min
//判断数据是否存在
if (item.value !== null) {
for (let j = 0; j < item.value.length; j++) {
@@ -778,7 +780,7 @@ const shujuchuli = (res: any) => {
let bvalue = []
let cvalue = []
let topLimit = []
item.maxValue = item.topLimit
item.maxValue = max
// item.minValue=item.lowerLimit
//判断数据是否存在
if (item.value !== null) {
@@ -829,7 +831,7 @@ const shujuchuli = (res: any) => {
if (item.phaiscType.length == 2) {
let gvalue = []
let topLimit = []
item.maxValue = item.topLimit
item.maxValue = max
// item.minValue=item.lowerLimit
//判断数据是否存在
if (item.value !== null) {
@@ -890,7 +892,7 @@ const shujuchuli = (res: any) => {
let cvalue = []
let lowerLimit = []
// item.maxValue=item.topLimit
item.minValue = item.lowerLimit
item.minValue = min
//判断数据是否存在
if (item.value !== null) {
for (let j = 0; j < item.value.length; j++) {
@@ -941,7 +943,7 @@ const shujuchuli = (res: any) => {
let gvalue = []
let lowerLimit = []
// item.maxValue=item.topLimit
item.minValue = item.lowerLimit
item.minValue = min
//判断数据是否存在
if (item.value !== null) {
for (let j = 0; j < item.value.length; j++) {
@@ -1298,6 +1300,8 @@ const rendering = () => {
getEcharts()
}
const getEcharts = () => {
console.log("🚀 ~ list.value.forEach ~ list.value:", list.value)
list.value.forEach((item: any, i: number) => {
item.option = {
backgroundColor: '#fff',
@@ -1436,6 +1440,7 @@ const getEcharts = () => {
type: 'value',
min: item.minValue,
max: item.maxValue,
name: item.valueName,
axisLabel: {
interval: 0,

View File

@@ -36,7 +36,7 @@ import TableStore from '@/utils/tableStore'
import { ref, onMounted, provide } from 'vue'
import { mainHeight } from '@/utils/layout'
import * as echarts from 'echarts/core'
import { getEnterpriseSteadyQualify, getSteadyQualifyCensus, IntegrityIcon } from '@/api/harmonic-boot/monitoring';
import { getEnterpriseSteadyQualify, getSteadyQualifyCensus, IntegrityIcon, getTHDistortionCensus } from '@/api/harmonic-boot/monitoring';
defineOptions({
name: 'harmonic-boot/views'
})
@@ -171,8 +171,8 @@ const tableStore = new TableStore({
method: 'POST',
column: [],
beforeSearchFun: () => { },
loadCallback: () => {
console.log("🚀 ~ type:", type)
loadCallback: async () => {
mapName.value = header.value.areaRef.areaName
if (type == 1) {
tableStore.table.params.statisticalType = {}
@@ -384,8 +384,7 @@ const tableStore = new TableStore({
} else {
tableStore.table.params.statisticalType = dictData.getBasicData('Statistical_Type', ['Report_Type'])[0]
// 合格率
getSteadyQualifyCensus(tableStore.table.params).then(res => {
await getSteadyQualifyCensus(tableStore.table.params).then(res => {
listcard.value[0] = {
title: {
text: '合格率'
@@ -419,15 +418,17 @@ const tableStore = new TableStore({
},
grid: {
left: '60px',
}, tooltip: {
},
tooltip: {
formatter: function (params) {
var tips = ''
tips += params[0].name + '</br/>'
for (var i = 0; i < params.length; i++) {
if (params[i].value == 3.14159) {
tips += params[i].seriesName + ':暂无数据<br/>'
tips += params[i].seriesName + '暂无数据<br/>'
} else {
tips += params[i].seriesName + ':' + params[i].value + '<br/>'
tips += params[i].seriesName + '' + params[i].value + '<br/>'
}
}
return tips
@@ -553,9 +554,20 @@ const tableStore = new TableStore({
mapList.value[0] = {
tooltip: {
formatter: function (params) {
var tips = params.name + '</br/>'
if (params.value == 3.14159) {
tips += '合格率:暂无数据<br/>'
} else {
tips += '合格率:' + (params.data == undefined ? '-' : params.value) + '<br/>'
}
return tips
}
},
visualMap: {
min: 0,
max: 2,
left: 25,
bottom: 40,
pieces: [
@@ -570,6 +582,7 @@ const tableStore = new TableStore({
label: '60%≤在线率<90%',
color: '#FFCC33'
},
{
gt: 0,
lt: 60,
@@ -577,21 +590,18 @@ const tableStore = new TableStore({
color: '#CC0000'
},
{
gt: 3.14159,
lt: 3.14159,
value: 3.14159,
label: '无数据',
color: '#ccc'
}
],
},
options: {
series: [
{
type: "map",
geoIndex: 0,
data: res.data.type.map((item: any, i: any) => {
return {
@@ -611,7 +621,8 @@ const tableStore = new TableStore({
EchartMap.value.GetEchar(header.value.areaRef.areaName)
})
IntegrityIcon(tableStore.table.params).then(res => {
// 完整性
await IntegrityIcon(tableStore.table.params).then(res => {
listcard.value[1] = {
title: {
@@ -631,15 +642,15 @@ const tableStore = new TableStore({
},
tooltip: {
formatter: function (params) {
var tips = ''
var tips = ''
for (var i = 0; i < params.length; i++) {
if (params[i].value == 3.14159) {
tips += params[i].name + '</br>'
tips += '数据完整性:暂无数据'
tips += '数据完整性暂无数据'
} else {
tips += params[i].name + '</br>'
tips += '数据完整性:' + params[i].value
tips += '数据完整性' + params[i].value
}
}
return tips
@@ -696,6 +707,18 @@ const tableStore = new TableStore({
mapList.value[1] = {
tooltip: {
formatter: function (params) {
var tips = params.name + '<br/>'
if (params.value == 3.14159) {
tips += '完整性' + ':暂无数据<br/>'
} else {
tips += '完整性' + '' + (params.data == undefined ? '-' : params.value) + '<br/>'
}
return tips
}
},
visualMap: {
min: 0,
max: 2,
@@ -720,8 +743,8 @@ const tableStore = new TableStore({
color: '#CC0000'
},
{
gt: 3.14159,
lt: 3.14159,
value: 3.14159,
label: '无数据',
color: '#ccc'
}
@@ -750,6 +773,211 @@ const tableStore = new TableStore({
})
// 畸变率
await getTHDistortionCensus(tableStore.table.params).then(res => {
listcard.value[2] = {
title: {
text: '畸变率'
},
legend: {
show: false
},
xAxis: {
type: 'value',
name: '%',
min: 0,
// max: 100,
axisLine: {
show: true,
},
},
tooltip: {
formatter: function (params) {
var tips = ''
for (var i = 0; i < params.length; i++) {
if (params[i].value == 0.314159) {
tips += params[i].name + '</br>'
tips += '畸变率:暂无数据'
} else {
tips += params[i].name + '</br>'
tips += '畸变率:' + params[i].value
}
}
return tips
}
},
yAxis: {
type: 'category',
name: '区域',// 给X轴加单位
data: res.data.type.map((item: any) => item.split('\n')[0]),
splitLine: {
show: false
},
axisLabel: {
show: true,
},
axisTick: {
alignWithLabel: false
},
},
grid: {
left: '60px',
},
dataZoom: [
{
type: 'inside',
orient: 'vertical',
left: '30px',
start: 0,
width: '13px',
end: 100
},
{
orient: 'vertical',
start: 0,
width: '13px',
left: '30px',
end: 100
}
],
options: {
series: [
{
name: '畸变率',
type: 'bar',
itemStyle: {
normal: {
// 随机显示
color: function (params) {
if (params.value == 0.314159) {
return new echarts.graphic.LinearGradient(
0,
1,
0,
0,
[
{
offset: 1,
color: '#cccccc'
}
],
false
)
} else if (params.value > 2) {
return new echarts.graphic.LinearGradient(
0,
1,
0,
0,
[{ offset: 1, color: '#CC0000' }],
false
)
} else if (params.value <= 2) {
return new echarts.graphic.LinearGradient(
0,
1,
0,
0,
[{ offset: 1, color: '#07CCCA' }],
false
)
}
}
}
},
markLine: {
silent: false,
symbol: 'circle',
data: [
{
name: '',
xAxis: 2,
lineStyle: {
color: '#07CCCA'
},
label: {
// position: "middle",
formatter: '{b}',
textStyle: {
color: '#07CCCA'
}
}
}
]
},
data: res.data.single.map(item => item == 3.14159 ? 0.314159 : item),
}
]
}
}
mapList.value[2] = {
tooltip: {
formatter: function (params) {
var tips = params.name + '<br/>'
if (params.value == 0.314159) {
tips += '完整性' + ':暂无数据<br/>'
} else {
tips += '完整性' + '' + (params.data == undefined ? '-' : params.value) + '<br/>'
}
return tips
}
},
visualMap: {
min: 0,
max: 2,
left: 25,
bottom: 40,
pieces: [
{
gt: 0,
lt: 2,
label: '畸变率<=2%',
color: '#07CCCA'
},
{
gt: 2,
lt: 100,
label: '畸变率>2%',
color: '#CC0000'
},
{
value: 3.14159,
label: '无数据',
color: '#ccc'
}
],
},
options: {
series: [
{
type: "map",
geoIndex: 0,
data: res.data.type.map((item: any, i: any) => {
return {
name: item.split('\n')[0],
value: res.data.single[i] == 3.14159 ? 0.314159 : res.data.single[i],
}
}),
}
]
}
}
})
}
}

View File

@@ -1,18 +1,19 @@
<template>
<div class="default-main">
<div v-show="view">
<TableHeader datePicker ref="TableHeaderRef" >
<template #select>
<el-form-item label="关键字">
<el-input v-model="tableStore.table.params.searchValue" clearable placeholder="输入事件关联分析描述" maxlength="32" show-word-limit/>
</el-form-item>
</template>
<template #operation>
<el-button icon="el-icon-Download" type="primary" @click="exportEvent">导出</el-button>
</template>
</TableHeader>
<Table ref="tableRef"/>
</div>
<div v-show="view">
<TableHeader datePicker ref="TableHeaderRef">
<template #select>
<el-form-item label="关键字">
<el-input v-model="tableStore.table.params.searchValue" clearable placeholder="输入事件关联分析描述"
maxlength="32" show-word-limit />
</el-form-item>
</template>
<template #operation>
<el-button icon="el-icon-Download" type="primary" @click="exportEvent">导出</el-button>
</template>
</TableHeader>
<Table ref="tableRef" />
</div>
<!-- 暂降源定位 -->
<el-dialog draggable v-model="dialogAnalysis" title="暂降源定位" width="70%">
<div class="mb10" style="display: flex; justify-content: space-between">
@@ -48,8 +49,8 @@
:total="total" @size-change="onTableSizeChange" @current-change="onTableCurrentChange"></el-pagination>
</el-dialog>
<!-- 暂降源定位 -->
<Map :style="height" :showBut="false" v-if="!view" />
<el-button class="close" :icon="Back" @click="view=true" v-if="!view">返回</el-button>
<Map :style="height" :showBut="false" v-if="!view" :mapList="mapList" />
<el-button class="close" :icon="Back" @click="view = true" v-if="!view">返回</el-button>
</div>
</template>
<script setup lang="ts">
@@ -61,10 +62,11 @@ import { defaultAttribute } from '@/components/table/defaultAttribute'
import TableHeader from '@/components/table/header/index.vue'
import { queryEventDetailByAssId } from '@/api/advance-boot/analyse'
import { useDictData } from '@/stores/dictData'
import {Back} from '@element-plus/icons-vue'
import { Back } from '@element-plus/icons-vue'
import { queryEventsAssPage } from '@/api/advance-boot/analyse'
import Map from '@/views/pqs/voltageSags/monitoringPoint/online/navigation/map.vue'
import Map from '@/views/pqs/voltageSags/monitoringPoint/online/navigation/map.vue'
import { useMonitoringPoint } from '@/stores/monitoringPoint'
import { getAreaLineInfo } from '@/api/event-boot/areaInfo'
defineOptions({
name: 'Advancedanalysis/impactscope'
})
@@ -78,6 +80,18 @@ const view = ref(true)
const tableRef = ref()
const TableHeaderRef = ref()
const dictData = useDictData()
import { useAdminInfo } from '@/stores/adminInfo'
const mapList = ref([])
const params = ref({
deptIndex: '',
monitorFlag: 2,
powerFlag: 2,
searchBeginTime: '',
searchEndTime: '',
serverName: 'event-boot',
statisticalType: {}
})
const adminInfo = useAdminInfo()
const positioningtableRef = ref()
const reason = dictData.getBasicData('Event_Reason')
const type = dictData.getBasicData('Event_Type')
@@ -127,11 +141,19 @@ const tableStore = new TableStore({
type: 'primary',
icon: 'el-icon-Plus',
render: 'basicButton' ,
render: 'basicButton',
click: row => {
view.value = false
params.value.deptIndex = adminInfo.$state.deptId
params.value.searchBeginTime = tableStore.table.params.searchBeginTime
params.value.searchEndTime = tableStore.table.params.searchEndTime
getAreaLineInfo(params.value).then(res => {
mapList.value = res.data
view.value = false
}).catch(err => {
view.value = false
})
// monitoringPoint.setValue('lineId', row.id)
}
}
]
@@ -250,10 +272,11 @@ const positioningexport = () => {
:deep(.highlight-first-row) {
color: red !important;
}
.close{
.close {
position: absolute;
right: 10px;
top: 50px;
}
</style>

View File

@@ -3,6 +3,10 @@
<baidu-map class="map" @ready="initMap" :center="{ lng: 116.403765, lat: 39.914850 }" :zoom="10"
:scroll-wheel-zoom='true'>
<bm-boundary name="北京市海淀区" :strokeWeight="2" strokeColor="blue"></bm-boundary>
<bm-boundary name="北京市西城区" :strokeWeight="2" strokeColor="red" fillColor="#ff0000"
fillOpacity="0.05"></bm-boundary>
<bm-boundary name="北京市东城区" :strokeWeight="2" strokeColor="green" fillColor="green"
fillOpacity="0.05"></bm-boundary>
<!-- <bm-polygon :path="polygonPath" stroke-color="blue" :stroke-opacity="0.5" :stroke-weight="2" :editing="true"
@lineupdate="updatePolygonPath" /> -->
@@ -27,6 +31,7 @@ const initMap = async ({ BMap, map }: any) => {
// let region = "丰台区"
// this.drawPolygon(region)
// this.addRegionLabel(city,region)
}

View File

@@ -2,7 +2,7 @@
<div class="default-main" style="position: relative">
<el-tabs v-model="activeName" type="border-card" class="demo-tabs">
<el-tab-pane label="导航" name="1" :style="height" lazy>
<Navigation @changeTab="changeTab" />
<Navigation @changeTab="changeTab" ref="navigationRef" />
</el-tab-pane>
<el-tab-pane label="事件统计" name="2" lazy v-if="!isReload">
<EventStatistics />
@@ -35,16 +35,28 @@ defineOptions({
name: 'Descentsystem/monitoringpoint'
})
const isReload = ref(false)
const navigationRef = ref()
const monitoringPoint = useMonitoringPoint()
const height = mainHeight(82)
const activeName = ref('1')
watch(
() => router.currentRoute.value.query.lineId,
(newLineId, oldLineId) => {
if (!newLineId) return
// 在这里处理 lineId 的变化
console.log(123333333);
monitoringPoint.setValue('lineId', router.currentRoute.value.query.lineId)
monitoringPoint.setValue('lineName', router.currentRoute.value.query.lineName)
setTimeout(() => {
navigationRef.value?.handleNodeClick({
level: 6,
id: router.currentRoute.value.query.lineId
})
}, 500)
},
{ immediate: true }
)

View File

@@ -1,16 +1,16 @@
<template>
<splitpanes style="height: 100%" class="default-theme" id="navigation-splitpanes">
<pane :size="size">
<PointTree
:default-expand-all="false"
<PointTree :default-expand-all="false" v-if="showTree"
:default-expanded-keys="monitoringPoint.state.lineId ? [monitoringPoint.state.lineId] : []"
:current-node-key="monitoringPoint.state.lineId"
@node-click="handleNodeClick"
@init="handleNodeClick"
></PointTree>
:current-node-key="monitoringPoint.state.lineId" @node-click="handleNodeClick" @init="handleNodeClick">
</PointTree>
</pane>
<pane>
<Map v-bind="$attrs" v-if="flag"></Map>
<div style='display: none'>
<DatePicker ref='datePickerRef'></DatePicker>
</div>
<Map v-bind="$attrs" v-if="flag" :mapList="mapList"></Map>
</pane>
</splitpanes>
</template>
@@ -21,23 +21,58 @@ import { Splitpanes, Pane } from 'splitpanes'
import PointTree from '@/components/tree/pqs/pointTree.vue'
import Map from './map.vue'
import Tree from '@/components/tree/index.vue'
import { getAreaLineInfo } from '@/api/event-boot/areaInfo'
import { useMonitoringPoint } from '@/stores/monitoringPoint'
import { useAdminInfo } from '@/stores/adminInfo'
import DatePicker from '@/components/form/datePicker/index.vue'
import router from '@/router'
const adminInfo = useAdminInfo()
const monitoringPoint = useMonitoringPoint()
const size = ref(0)
const params = ref({
deptIndex: '',
monitorFlag: 2,
powerFlag: 2,
searchBeginTime: '',
searchEndTime: '',
serverName: 'event-boot',
statisticalType: {}
})
const datePickerRef = ref()
const mapList: any = ref([])
const flag = ref(false)
const showTree = ref(false)
onMounted(() => {
const dom = document.getElementById('navigation-splitpanes')
if (dom) {
size.value = Math.round((180 / dom.offsetHeight) * 100)
}
params.value.deptIndex = adminInfo.$state.deptId
params.value.searchBeginTime = datePickerRef.value.timeValue[0]
params.value.searchEndTime = datePickerRef.value.timeValue[1]
getAreaLineInfo(params.value).then(res => {
mapList.value = res.data
showTree.value = true
}).catch(err => {
showTree.value = true
})
})
const handleNodeClick = (data: any, node: any) => {
if (data.level === 6) {
flag.value = false
monitoringPoint.setValue('lineId', data.id)
flag.value = true
}
setTimeout(() => {
flag.value = true
}, 0)
}
defineExpose({
handleNodeClick
})
</script>
<style lang="scss">
.splitpanes.default-theme .splitpanes__pane {

View File

@@ -1,8 +1,6 @@
<template>
<div style='position: relative; height: 100%' v-loading='loading'>
<div style='display: none'>
<DatePicker ref='datePickerRef'></DatePicker>
</div>
<div class='iconBox'>
<div class='div'>
<img src='@/assets/jcd.png' alt='' />
@@ -41,7 +39,7 @@
</div>
</div>
<baidu-map class='bm-view' :zoom='zoom' :map-click='false' :scroll-wheel-zoom='true' :center='center'
@ready='handler' @zoomend='syncCenterAndZoom' :dragging="true">
@ready='handler' @zoomend='syncCenterAndZoom' :dragging="true" >
<bm-map-type :map-types="['BMAP_NORMAL_MAP', 'BMAP_HYBRID_MAP']"
anchor='BMAP_ANCHOR_TOP_RIGHT'></bm-map-type>
<!-- 线-->
@@ -105,11 +103,11 @@ const emit = defineEmits(['changeTab'])
interface Props {
showBut?: boolean
mapList?: any
}
const props = withDefaults(defineProps<Props>(), {
showBut: true
showBut: true,
mapList:[]
})
@@ -118,15 +116,7 @@ const adminInfo = useAdminInfo()
const datePickerRef = ref()
const zoom = ref(11)
const loading = ref(true)
const params = ref({
deptIndex: '',
monitorFlag: 2,
powerFlag: 2,
searchBeginTime: '',
searchEndTime: '',
serverName: 'event-boot',
statisticalType: {}
})
const center = ref({
lng: 0,
@@ -142,10 +132,7 @@ const siteList = ref<any>([])
const polyline = ref<any>([])
const lineId = ref('')
const handler = async ({ BMap, map }: any) => {
params.value.deptIndex = adminInfo.$state.deptId
params.value.searchBeginTime = datePickerRef.value.timeValue[0]
params.value.searchEndTime = datePickerRef.value.timeValue[1]
let { data } = await getAreaLineInfo(params.value)
let data = props.mapList
let r = 0.0035
let list = data.filter((item: any) => item.lng != 0)
list.forEach((item: any) => {
@@ -241,7 +228,7 @@ const handler = async ({ BMap, map }: any) => {
zoom.value = 15
setTimeout(() => {
loading.value = false
}, 1500)
}, 0)
}
const syncCenterAndZoom = (e: any) => {

View File

@@ -159,12 +159,12 @@ import PopupEvent from './popupEvent.vue'
import router from '@/router'
defineOptions({
name: 'Descentsystem/overview'
// name: 'Descentsystem/overview'
})
const height = mainHeight(20)
const adminInfo = useAdminInfo()
const datePickerRef = ref()
const zoom = ref(11)
const zoom = ref(13)
const loading = ref(true)
const popupEvent = ref()
const params = ref({
@@ -267,12 +267,15 @@ const handler = async ({ BMap, map }: any) => {
areaLineInfo.value.push(...item.children)
})
setTimeout(() => {
loading.value = false
}, 0)
siteList.value = list
center.value.lng = areaLineInfo.value[0].lng
center.value.lat = areaLineInfo.value[0].lat
infoWindowPoint.value = areaLineInfo.value[0]
infoWindowPoint.value.show = true
zoom.value = 15
zoom.value = 13
setTimeout(() => {
loading.value = false
}, 1500)
@@ -288,7 +291,7 @@ const pointChange = (val: string) => {
center.value.lat = data.lat
infoWindowPoint.value = data
infoWindowPoint.value.show = true
zoom.value = 15
zoom.value = 13
}
const markerClick = (e: any) => {
infoWindowPoint.value = e