hydro-graph 1.0.42 → 1.0.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hydro-graph.css +1 -1
- package/dist/hydro-graph.es.js +263 -259
- package/dist/hydro-graph.umd.js +12 -12
- package/package.json +1 -1
package/dist/hydro-graph.umd.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
(function(H,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("echarts/core"),require("echarts/charts"),require("echarts/components"),require("echarts/features"),require("echarts/renderers"),require("dayjs"),require("html2canvas"),require("element-plus"),require("@element-plus/icons-vue")):typeof define=="function"&&define.amd?define(["exports","vue","echarts/core","echarts/charts","echarts/components","echarts/features","echarts/renderers","dayjs","html2canvas","element-plus","@element-plus/icons-vue"],t):(H=typeof globalThis<"u"?globalThis:H||self,t(H.HydroGraph={},H.Vue,H.echarts,H.echarts,H.echarts,H.echarts,H.echarts,H.dayjs,H.html2canvas,H.ElementPlus,H.ElementPlusIconsVue))})(this,(function(H,t,Se,Ae,te,ke,Oe,O,xe,j,ye){"use strict";function Ie(o){const m=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const N in o)if(N!=="default"){const x=Object.getOwnPropertyDescriptor(o,N);Object.defineProperty(m,N,x.get?x:{enumerable:!0,get:()=>o[N]})}}return m.default=o,Object.freeze(m)}const me=Ie(Se);function De(){let o=new Date().getTime();return window.performance&&typeof window.performance.now=="function"&&(o+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(N){const x=(o+Math.random()*16)%16|0;return o=Math.floor(o/16),(N=="x"?x:x&3|8).toString(16)})}const ge=["#E3A8F7","#5C2D91","#8AE2C2","#FF6B8B","#3A7BD5","#F9D423","#7B4397","#40E0D0","#FF416C","#11998E","#C94B4B","#4CA1AF","#FF8008","#8A2387","#8EC5FC","#E0C3FC","#74EBD5","#FFD89B","#FD6585","#A3CB38","#6A11CB","#FF5E62","#3494E6","#EC6EAD","#FFE000","#799F0C","#00416A","#834D9B","#0052D4","#43C6AC","#8E2DE2","#4A00E0","#FF4B1F","#1CB5E0","#FF7E5F","#FBD3E9","#BB377D","#FF5F6D","#FFC371","#159957","#155799","#3CA55C","#D66D75","#F3904F","#B3FFAB","#12FFF7","#AA076B","#61045F","#FF7A00","#FFD200","#00B4DB","#0083B0"];function ae(o){let m=/^(\d{4})-(\d{2})-(\d{2}) ([01]\d|2[0-3]):[0-5]\d$/,N=/^(\d{2})-(\d{2}) ([01]\d|2[0-3]):[0-5]\d$/,x=/^(\d{4})-(\d{2})-(\d{2})$/;return m.test(o)||N.test(o)||x.test(o)}function F(o,m,N){let x="";return m-o<=1?x=.1:m-o<=5?x=.5:m-o<=10?x=1:m-o<=25?x=2.5:m-o<=50?x=5:m-o<=100?x=10:m-o<=250?x=25:m-o<=500?x=50:m-o<=1e3?x=100:m-o<=2500?x=250:m-o<=5e3?x=500:m-o<=1e4?x=1e3:m-o<=2e4?x=2e3:m-o<=3e4?x=3e3:m-o<=4e4?x=4e3:m-o<=5e4?x=5e3:m-o<=6e4?x=6e3:m-o<=7e4?x=7e3:m-o<=8e4?x=8e3:m-o<=9e4?x=9e3:m-o<=1e5?x=1e4:m-o<=11e4?x=11e3:m-o<=12e4?x=12e3:m-o<=13e4?x=13e3:m-o<=14e4?x=14e3:m-o<=15e4?x=15e3:m-o<=16e4?x=16e3:m-o<=17e4?x=17e3:m-o<=18e4?x=18e3:m-o<=19e4?x=19e3:m-o<=2e5&&(x=2e4),N==1&&(x=x*2),x}function K(o){if(isNaN(o))return"";var m=parseFloat(o);if(m>1){for(var N=0,x=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9],a=0;a<x.length;a++)m>=x[a]&&m<x[a+1]&&(N=x[a]);if(N==0)return m.toString();var v=Math.round(m/N*100)/100;return v=v*N,v>=100?v.toFixed(0):v>=10?v.toFixed(1):v.toFixed(2)}else{if(m>=0)return m.toFixed(3);if(m<0)return"-"+K(Math.abs(m))}}function be(o,m,N){const x=[];let a=new Date(o);for(;a<=m;){const v=a.getMinutes();v%N===0&&x.push(O(new Date(a)).format("YYYY-MM-DD HH:mm")),a.setMinutes(v+1)}return x}function Ce(o,m){o=o.sort((a,v)=>Date.parse(a)-Date.parse(v));let N,x=[];for(let a=0;a<o.length;a++){a==0&&(N=o[a]);let v=O(o[a]).add(m,"minute").format("YYYY-MM-DD HH:mm");o.includes(v)||(x.push({startTm:N,endTm:o[a]}),a+1<o.length&&(N=o[a+1]))}return x}const Fe=o=>new Promise(m=>{setTimeout(()=>{m({statusCode:200,data:o.rzw*1e3})},100)}),Te="data:image/png;base64,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",Ne="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAaVBMVEUAAAAQFBgQExcQEhYLFRcQExcQExYPExcQEhcOFBUQEhcQExcPEhcPExcQEhcQExYQERcPExYPEhcQExYQEhcTExMUFBQQExcQExcQExcQFBcPEhcPExcPFBYSEhgcHBwRExcOExgQExdmmIFTAAAAInRSTlMAQL+AFuzVxbEj3KOWdF9OR7qnnmgZDPrkyY5WQzIqCXs2T8mN8gAAAeVJREFUeNrt3dlqwzAQRmFFdpx9X7omaf/3f8iSrSW0FqFy0Micc+2bDxsGI9A4IiIiIqJHNJuMFz5hxWzQiGOs9PU30Yzdk0y0jnSUstI+DtKTlXpRjkJ2KmIgK9mp344vS+rGQLo65V3KOjoXM01kCdIBAgQIECChgAABEg4IECDhgAABEg4IkLZBNrPipul7lpB1pV+95AcpF/qrIjfIVmoHxLcEstajIV6XHgsZqaZ5ZpCqxrF0eUFKnfO3rQqXGaT2CSBAgAABAgQIECBAgAABAgQIEFsQr38HBAgQIECAOF+bLvm6bEFaM9mBAAECBAgQIECAAAECBAgQIECAADlBruUO+Q4IECA/AQECJBwQIEDCAQECJBwQIEDCAQECJBwQIEDCAQECJBwQIEDCGYQ8XyCdpOncJgKykJ2Gd7wz0xuTri1jIFPZaRoDcUtZaeyiIK4rIx0iIe5VFqoGLhbi5r3ky8Wqj2aubd12JkXC5uX9IzPzgFgLiLWANN1h1w7IvlLvrQWQgY695Q/p69gwf8hQp/KHCAiQU0CAAAkHBAiQcAYhgyskbQ0s+36WnV7i/gTsNGKz/7GhrDRyUb3LSlt3V9bP1rqfLrZypPS9uiaaTVY+Yf3JvHRERERERA/oC7GKf5yH1bdrAAAAAElFTkSuQmCC",ze="data:image/png;base64,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",Ee=(o,m)=>{const N=o.__vccOpts||o;for(const[x,a]of m)N[x]=a;return N},Be={class:"title"},Le={class:"subTitle"},Ve={style:{width:"20px",display:"flex","justify-content":"center"}},Ye={class:"mychart"},He=["id"],le=Ee({__name:"HydroGraph",props:{id:{type:String,default(){return De()}},chartOption:{type:Object,default(){return{}}},legendList:{type:Array,default(){return[]}},width:{type:String,default(){return"100%"}},height:{type:String,default(){return"100%"}},backgroundColor:{type:String,default(){return"#fff"}}},setup(o,{expose:m,emit:N}){me.use([te.TooltipComponent,te.GridComponent,te.LegendComponent,te.DataZoomComponent,Ae.LineChart,Ae.BarChart,ke.LabelLayout,Oe.CanvasRenderer]);const x=t.ref(),a=o;a.chartOption.series||(a.chartOption.series=[]);let v={};const Pe=N;let Z={};t.watch(()=>a.chartOption,()=>{t.nextTick(()=>{let f=setInterval(()=>{document.getElementById(a.id)&&document.getElementById(a.id).offsetHeight>100&&document.getElementById(a.id).offsetWidth>100&&(I&&I.getOption()&&!a.chartOption.restoreZoom&&(Z={...I.getOption().dataZoom[0],moveOnMouseMove:a.chartOption.series.some(h=>h.openBarDrag&&(h.type=="line"||h.type=="markLine"))?"ctrl":!0}),he(),clearInterval(f))},100)})},{deep:!0,immediate:!0});let $={};t.watch(()=>a.legendList,()=>{I&&($=I.getOption().legend[0].selected);let f=a.legendList.map(c=>{let y=we.find(r=>r.code==c.name);return y?{...c,...y}:{...c}}),h=JSON.parse(JSON.stringify(G.value));v={},G.value=f.map(c=>{const y=h.find(D=>D.name==c.name);v[c.name]=c,c.children&&(c.children=c.children.map(D=>{v[D.name]=D;let g="";return a.chartOption.isDefaultElement===!1?g=$[D.name]!=null?$[D.name]:D.isSelected:y&&y.children&&y.children.find(L=>L.name==D.name)?g=y.children.find(L=>L.name==D.name).isSelected:g=D.isSelected,{...D,isSelected:g,id:Math.random()}}));let r="";return a.chartOption.isDefaultElement===!1?r=$[c.name]!=null?$[c.name]:c.isSelected:c.compel?r=c.isSelected:y?r=y.isSelected:r=c.isSelected,{...c,isSelected:r,id:Math.random()}})},{deep:!0});const Me=[{name:"实况雨量",type:"bar",color:"#0000ff",unit:"mm"},{name:"实测水位",type:"line",color:"#304755",unit:"m"},{name:"库容",type:"line",color:"#197e2b",unit:"万m³"},{name:"5分钟水位",type:"line",color:"#304755",unit:"m"},{name:"5分钟库容",type:"line",color:"#197e2b",unit:"万m³"},{name:"校核洪水位",type:"markLine",color:"#ffa500",unit:"m"},{name:"设计洪水位",type:"markLine",color:"#a52a2a",unit:"m"},{name:"正常高水位",type:"markLine",color:"#008000",unit:"m"},{name:"死水位",type:"markLine",color:"#000000",unit:"m"},{name:"坝顶高程",type:"markLine",color:"#cf0ce1",unit:"m"},{name:"梅汛期",code:"MXQ",type:"markLine",color:"#ff0000",unit:"m"},{name:"台汛期",code:"TXQ",type:"markLine",color:"#ff0000",unit:"m"},{name:"累计降雨",type:"line",color:"red",unit:"mm"},{name:"可纳雨量",type:"bar",color:"#0000ff",unit:"mm"},{name:"作业预报时间",type:"markLine",color:"#ff0000"}],we=[{name:"实况雨量",code:"P",color:"#0000ff",icon:"histogram"},{name:"实测水位",code:"RZ",color:"#304755",icon:"straightLine",iconWidth:"30",iconHeight:"30"},{name:"库容",code:"W",color:"#197e2b",icon:"straightLine",iconWidth:"30",iconHeight:"30"}],Je=["校核洪水位","设计洪水位","正常高水位","坝顶高程","死水位","主汛期"],G=t.ref(a.legendList.map((f,h)=>{let c=we.find(y=>y.code==f.name);return f.color||(f.color=ge[h]),c?{...f,...c}:{...f}}));G.value.forEach(f=>{v[f.name]=f,f.children&&f.children.forEach(h=>{v[h.name]=h})});const q=t.ref(!0);let ve=null;const Xe=f=>{var c;let h=[];q.value=f,G.value.forEach(y=>{y.isSelected=f,h.push(y.name),y.children&&y.children.forEach(r=>{r.isSelected=f,h.push(r.name)})}),h.forEach(y=>{X[y]=f,se(y,f)}),Z={...(c=I.getOption())==null?void 0:c.dataZoom[0]},he()},oe=(f,h)=>{var y;let c=[];G.value.forEach(r=>{r.name==h?(r.isSelected=f,r.children?r.children.forEach(D=>{D.isSelected=f,c.push(D.name)}):c.push(r.name)):r.children&&r.children.forEach(D=>{D.name==h&&(D.isSelected=f,c.push(D.name),r.children.filter(g=>g.isSelected).length==r.children.length?r.isSelected=!0:r.isSelected=!1)})}),c.forEach(r=>{Array.isArray(r)?(X[r[0]]=f,X[r[1]]=f,se(r[0],f),se(r[1],f)):(X[r]=f,se(r,f))}),ve=G.value.some(r=>r.isSelected==!1),ve?q.value=!1:q.value=!0,Z={...(y=I.getOption())==null?void 0:y.dataZoom[0]},he()};t.onMounted(()=>{window.addEventListener("keydown",We)});let fe={};const We=f=>{if(f.key==="i"){let h=JSON.parse(JSON.stringify(I.getOption()));h.series.forEach(c=>{c.markPoint&&c.markPoint.data.length!=0?c.markPoint.data=[]:c.markPoint&&c.markPoint.data==0&&(c.markPoint=fe[c.name])}),I.setOption(h)}};let X={},I,re;const P=t.ref({}),he=async()=>{let f=a.chartOption.series.map(e=>{let d="";return e.code?d=Me.find(n=>n.code==e.code):d=Me.find(n=>n.name==e.name),d?{...d,...e}:{...e}});G.value.forEach(e=>{X[e.name]=e.isSelected,e.children&&e.children.forEach(d=>{X[d.name]=d.isSelected})}),re=document.getElementById(a.id),I||(I=me.init(re));let h=f.filter(e=>Array.isArray(e.data));const c=h.every(e=>Array.isArray(e.data)&&e.data.length===0),y=be(new Date(O().subtract(5,"day").format("YYYY-MM-DD 08:00")),new Date(O().format("YYYY-MM-DD HH:00")),60).map(e=>[e,""]);let r=[];h.forEach(e=>{r=r.concat(e.data)}),r=[...new Set(r.map(e=>e[0]))],r.sort((e,d)=>Date.parse(e)-Date.parse(d)),r.some(e=>ae(e))&&(r=r.filter(e=>ae(e)));let D=r[0];a.chartOption.series.forEach(e=>{e.name=="开始"&&e.sectionStartTime&&(D=e.sectionStartTime)});let g=JSON.parse(JSON.stringify(a.chartOption.grid)),L=a.chartOption.xAxis.map((e,d)=>{let n="";e.show==!1||g.length>1&&d==0?n=!1:n=!0;let A={type:e.type,logBase:e.logBase||10,gridIndex:e.gridIndex,name:n&&e.type=="time"?"时间":e.name,nameLocation:n&&e.type=="time"?"end":"middle",nameTextStyle:{color:"#333",verticalAlign:n&&e.type=="time"?"top":""},position:e.position,offset:e.offset?e.offset:0,inverse:e.inverse?e.inverse:!1,nameGap:n&&e.type=="time"?45:e.nameGap?e.nameGap:e.name?25:0,axisLabel:{show:n,rotate:e.rotate,formatter:function(M){return e.type=="time"?je(O(O(M).format("YYYY-MM-DD HH:mm")))?a.chartOption.xTimeType?`{a|${a.chartOption.xTimeType}}`:"{a|{yyyy}-{MM}-{dd} {HH}:{mm}}":a.chartOption.xTimeType?a.chartOption.xTimeType:"{MM}-{dd} {HH}:{mm}":e.name?e.name.includes("m³/s")?K(M):e.name.includes("万m³")?M.toFixed(2):e.name.includes("mm")?M.toFixed(1):e.name.includes("m")?M.toFixed(2):(M||M==0)&&e.toFixed?Number(M).toFixed(e.toFixed):M:M},rich:{a:{fontWeight:"bold"}},color:a.chartOption.yAxisColor?a.chartOption.yAxisColor:"#333",hideOverlap:!0},axisLine:{show:!0,lineStyle:{color:a.chartOption.yAxisColor?a.chartOption.yAxisColor:"#8a949c"}},splitLine:{show:e.splitLineHide?!1:e.gridIndex!=2,lineStyle:{color:"#e0e6f1"}},axisTick:{show:e.show==!1?!1:!(g.length>1&&d==0),alignWithLabel:a.chartOption.alignWithLabel!=null?a.chartOption.alignWithLabel:!0},boundaryGap:e.boundaryGap?e.boundaryGap:["1%","1%"]};if(e.data&&(A.data=e.data),e.type=="value"||e.type=="log"){let M=0,C=100,p=10;e.name.includes("m³/s")?(C=1e3,p=100):e.name.includes("万m³")&&(C=1e4,p=1e3);let l=a.chartOption.series.filter(u=>u.yAxisIndex==d),b=[],i=[],s=0,k=100;l.forEach(u=>{u.data instanceof Array&&(b=b.concat(u.data))}),b[0]instanceof Array&&(i=b.filter(u=>u[0]!=""&&u[0]!=null&&u[0]!=null&&!isNaN(u[0])).map(u=>Number(u[0]))),i.length>0&&(s=Math.min(...i),k=Math.max(...i),l.some(u=>u.type=="bar")||e.name.includes("雨")?(M=0,(s!==0||k!==0)&&(C=Math.ceil(k/F(0,k))*F(0,k),p=F(0,k))):e.min||e.min==0?(M=e.min,(s!==0||k!==0)&&(C=Math.ceil(k/F(e.min,k))*F(e.min,k),p=F(e.min,k))):(s!==0||k!==0)&&(M=Math.floor(s/F(s,k))*F(s,k),C=Math.ceil(k/F(s,k))*F(s,k),p=F(s,k))),A.min=e.min!=""&&e.min!=null?e.min:M,A.max=e.max!=""&&e.max!=null?e.max:C,A.interval=e.interval&&e.max&&(e.min||e.min==0)?e.interval:p,e.interval&&e.max&&(e.min||e.min==0)&&e.interval,A.minorTick={show:!!e.isMinorSplitLineShow}}return A}),R=a.chartOption.yAxis.map((e,d)=>{let n=0,A=100,M=10;if(e.name.includes("m³/s")?(A=1e3,M=100):e.name.includes("万m³")&&(A=1e4,M=1e3),e.name=="可纳雨量(mm)")return{gridIndex:e.index,name:e.name,nameLocation:"middle",nameTextStyle:{color:"#333"},nameGap:e.nameGap,type:"value",position:e.position,offset:e.offset,min:e.min,max:e.max,interval:e.interval,axisLabel:{formatter:C=>C.toFixed(1),color:"#333"},axisLine:{show:!0,lineStyle:{color:"#8a949c"}},splitLine:{show:!1},minorTick:{show:!0},axisTick:{show:!0}};{let C=a.chartOption.series.filter(u=>u.yAxisIndex==d&&(X[u.name]||!Object.keys(X).includes(u.name))),p=[],l=[],b=[],i=0,s=100,k=null;if(C.forEach(u=>{u.data instanceof Array?((u.data2?u.data2:u.data).forEach(S=>{if(S instanceof Array&&S.length>=2){const T=S[1];if(T!=""&&T!=null&&T!=null&&!isNaN(T)){const B=Number(T);k===null&&(k=B)}}}),p=u.data2?p.concat(u.data2):p.concat(u.data)):u.data.name=="yAxis"&&u.data.value&&b.push(Number(u.data.value))}),p[0]instanceof Array?l=p.filter(u=>u[1]!=""&&u[1]!=null&&u[1]!=null&&!isNaN(u[1])).map(u=>Number(u[1])):p[0]instanceof Object&&p[0].value?l=p.map(E=>E.value).filter(E=>E!=""&&E!=null&&E!=null&&!isNaN(E)).map(E=>Number(E)):l=p.filter(u=>u!=""&&u!=null&&u!=null&&!isNaN(u)).map(u=>Number(u)),l.length>0||b.length>0){if(i=Math.min(...l,...b),s=Math.max(...l,...b),C.some(u=>u.type=="bar")||e.name.includes("雨"))n=0,a.chartOption.xAxis.length>1&&e.inverse?(i!==0||s!==0)&&(A=Math.ceil(s/F(0,s,1))*F(0,s,1)+F(0,s,1)*(e.upIntervalNumber!=null?e.upIntervalNumber:1),M=F(0,s,1)):(i!==0||s!==0)&&(A=Math.ceil(s/F(0,s))*F(0,s)+F(0,s)*(e.upIntervalNumber!=null?e.upIntervalNumber:1),M=F(0,s));else if(e.min||e.min==0)n=e.min,(i!==0||s!==0)&&(A=Math.ceil(s/F(e.min,s))*F(e.min,s)+F(e.min,s)*(e.upIntervalNumber!=null?e.upIntervalNumber:1),M=F(e.min,s));else if(i!==0||s!==0)if(a.chartOption.xAxis.some(E=>E.type==="value")&&k!==null){n=k;const E=F(n,s);A=Math.ceil((s-n)/E)*E+n+E*(e.upIntervalNumber!=null?e.upIntervalNumber:1),M=E}else n=Math.floor(i/F(i,s))*F(i,s)-F(i,s)*(e.downIntervalNumber!=null?e.downIntervalNumber:1),A=Math.ceil(s/F(i,s))*F(i,s)+F(i,s)*(e.upIntervalNumber!=null?e.upIntervalNumber:1),M=F(i,s)}if(e.rangeType==1){let u="",E="";Math.abs(s)>Math.abs(i)?E=Math.abs(s):E=Math.abs(i),u=Math.ceil(E/F(0,E))*F(0,E),A=u,n=0-u,M=F(0,Math.abs(u))}return{gridIndex:e.index,name:e.name,nameLocation:"middle",nameTextStyle:{color:a.chartOption.yAxisColor?a.chartOption.yAxisColor:"#333"},nameGap:e.nameGap,type:e.type||"value",logBase:e.logBase||10,position:e.position,offset:e.offset?e.offset:0,inverse:e.inverse?e.inverse:!1,min:e.min!=""&&e.min!=null?e.min:n,max:e.max!=""&&e.max!=null?e.max:A,interval:e.interval&&e.max&&(e.min||e.min==0)?e.interval:M,axisLabel:{formatter:u=>e.name.includes("m³/s")?K(u):e.name.includes("万m³")?u.toFixed(2):e.name.includes("mm")?u.toFixed(1):e.name.includes("m")?u.toFixed(2):u,color:a.chartOption.yAxisColor?a.chartOption.yAxisColor:"#333"},axisLine:{show:!0,lineStyle:{color:a.chartOption.yAxisColor?a.chartOption.yAxisColor:"#8a949c"}},axisTick:{show:!0},splitLine:{show:!(g.length>1&&e.index==1&&e.position=="right"||g.length==1&&e.index==0&&e.position=="right"||e.splitLineHide),lineStyle:{color:"#e0e6f1"}},minorTick:{show:!0},minorSplitLine:{show:g.length>1&&e.index==1&&e.position=="right"||g.length==1&&e.index==0&&e.position=="right"||e.splitLineHide?!1:!e.minorSplitLineHide,lineStyle:{color:"#f4f7fd"}},axisTick:{show:!0}}}}),w=f.some(e=>e.openBarDrag),Y=f.map((e,d)=>{var A,M,C;let n={};if(e.type=="bar")e.name=="可纳雨量"?n={name:e.name,type:e.type,xAxisIndex:e.xAxisIndex,yAxisIndex:e.yAxisIndex,barWidth:e.barWidth,data:c?y:e.data,label:{show:!0,position:"top",color:"black",fontFamily:"Times New Roman"},itemStyle:{color:function(p){if(e.barColor=="1"){if(p.dataIndex===0)return"#ff0000";if(p.dataIndex===1)return"#a52a2a";if(p.dataIndex===2)return"#ffa500";if(p.dataIndex===3)return"#cf0ce1"}else return"#00a651"}},zlevel:9,z:9}:n={name:e.name,type:e.type,xAxisIndex:e.xAxisIndex,yAxisIndex:e.yAxisIndex,label:{show:e.isLabelShow?e.isLabelShow:!1,position:"top",fontFamily:"Times New Roman",formatter:function(p){return"{a0|"+(Array.isArray(p.value)?p.value[1]:p.value)+"}"},rich:{a0:{color:v[e.name]?v[e.name].color:e.color,fontSize:12}}},stack:e.stack?e.stack:"",tooltip:{show:e.isTooltipShow!=!1,trigger:"axis",type:"none"},itemStyle:e.itemStyle?e.itemStyle:{color:function(p){let l=v[e.name]?v[e.name].color:e.color?e.color:ge[d];return e.color2&&p.value[1]<0?e.color2:l},decal:{symbol:e.pattern?e.pattern:"none"}},barCategoryGap:e.barCategoryGap?e.barCategoryGap:R[e.yAxisIndex].inverse?"0%":"20%",barGap:e.barGap?e.barGap:"0%",data:c?y:e.data,zlevel:9,z:9},e.barWidth&&(n.barWidth=e.barWidth,e.barGap?n.barGap=e.barGap:n.barGap="20%"),e.barMaxWidth&&(n.barMaxWidth=e.barMaxWidth,e.barGap?n.barGap=e.barGap:n.barGap="20%");else if(e.type=="line"){let p="rgba(0, 0, 0, 0)";a.chartOption.isFace&&(a.chartOption.faceNames?a.chartOption.faceNames.includes(e.name)&&(v[e.name]?p=v[e.name].color:p=e.color):v[e.name]?p=v[e.name].color:p=e.color);let l="",b=!1;if(e.showSymbol||((A=v[e.name])==null?void 0:A.icon)=="dottedLine"?e.symbolSize?l=e.symbolSize:l=5:a.chartOption.isTooltipItem?(l=10,b=!0):l=0,n={name:e.name,type:e.type,xAxisIndex:e.xAxisIndex,yAxisIndex:e.yAxisIndex,itemStyle:{color:v[e.name]?v[e.name].color:e.color,opacity:e.showSymbol||((M=v[e.name])==null?void 0:M.icon)=="dottedLine"?1:0},lineStyle:e.lineStyle?e.lineStyle:{type:((C=v[e.name])==null?void 0:C.icon)=="dotted"?"dotted":"solid"},areaStyle:{color:p,opacity:.5},smooth:e.smooth!=null?e.smooth:!1,showSymbol:!0,symbol:e.symbol?e.symbol:"circle",connectNulls:!0,symbolSize:l,data:c?y:e.data,silent:w?e.openBarDrag!==!0:!1,triggerLineEvent:b,zlevel:9,z:9},e.isMaxMinShow&&e.data.length>0){let i=e.data.filter(S=>!S[2]).filter(S=>S[1]),s=i.reduce((S,T)=>parseFloat(T[1])>parseFloat(S[1])?T:S,i[0]),k=s?s[0]:"",u=s?s[1]:"",E;r.forEach((S,T)=>{O(S).isValid()&&S==k&&(S.markPointOffset||(T>=r.length/5*4?E=[-200,0]:T>=r.length/5*3?E=[-150,0]:T>=r.length/5*2?E=[-100,0]:T>=r.length/5*1?E=[-50,0]:T>=0&&(E=[0,0])))}),n.markPoint={symbol:"pin",symbolSize:20,label:{show:e.isMarkPointLabelShow!==!1,position:"top",align:"left",fontSize:16,backgroundColor:e.backgroundColor?e.backgroundColor:v[e.name]?v[e.name].color:e.color,borderRadius:6,shadowColor:"#666666",shadowBlur:5,shadowOffsetX:3,shadowOffsetY:3,fontWeight:"bold",padding:[4,4,4,4],lineHeight:30,color:e.markPointColor?e.markPointColor:"#fff",formatter:S=>{let T="";if(S.data&&S.data.coord&&S.data.coord[0]){let J=e.tmType?e.tmType:"YYYY-MM-DD HH:mm";T=O(S.data.coord[0]).format(J)}let B="",Q="";if(S.name=="Max")return B=e.maxText?e.maxText:"最大值",e.unit.includes("m³")?Q=S.value?K(S.value):"--":e.unit.includes("mm")?Q=S.value?Number(S.value).toFixed(1):"--":e.unit.includes("m")?Q=S.value?Number(S.value).toFixed(2):"--":Q=S.value,e.tmText?`${B}: {a0|${Q}} ${e.unit}
|
|
1
|
+
(function(R,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("echarts/core"),require("echarts/charts"),require("echarts/components"),require("echarts/features"),require("echarts/renderers"),require("dayjs"),require("html2canvas"),require("element-plus"),require("@element-plus/icons-vue")):typeof define=="function"&&define.amd?define(["exports","vue","echarts/core","echarts/charts","echarts/components","echarts/features","echarts/renderers","dayjs","html2canvas","element-plus","@element-plus/icons-vue"],t):(R=typeof globalThis<"u"?globalThis:R||self,t(R.HydroGraph={},R.Vue,R.echarts,R.echarts,R.echarts,R.echarts,R.echarts,R.dayjs,R.html2canvas,R.ElementPlus,R.ElementPlusIconsVue))})(this,(function(R,t,ke,Ae,ae,Oe,Ie,S,xe,Z,ye){"use strict";function De(o){const m=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const N in o)if(N!=="default"){const x=Object.getOwnPropertyDescriptor(o,N);Object.defineProperty(m,N,x.get?x:{enumerable:!0,get:()=>o[N]})}}return m.default=o,Object.freeze(m)}const me=De(ke);function Ce(){let o=new Date().getTime();return window.performance&&typeof window.performance.now=="function"&&(o+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(N){const x=(o+Math.random()*16)%16|0;return o=Math.floor(o/16),(N=="x"?x:x&3|8).toString(16)})}const ge=["#E3A8F7","#5C2D91","#8AE2C2","#FF6B8B","#3A7BD5","#F9D423","#7B4397","#40E0D0","#FF416C","#11998E","#C94B4B","#4CA1AF","#FF8008","#8A2387","#8EC5FC","#E0C3FC","#74EBD5","#FFD89B","#FD6585","#A3CB38","#6A11CB","#FF5E62","#3494E6","#EC6EAD","#FFE000","#799F0C","#00416A","#834D9B","#0052D4","#43C6AC","#8E2DE2","#4A00E0","#FF4B1F","#1CB5E0","#FF7E5F","#FBD3E9","#BB377D","#FF5F6D","#FFC371","#159957","#155799","#3CA55C","#D66D75","#F3904F","#B3FFAB","#12FFF7","#AA076B","#61045F","#FF7A00","#FFD200","#00B4DB","#0083B0"];function le(o){let m=/^(\d{4})-(\d{2})-(\d{2}) ([01]\d|2[0-3]):[0-5]\d$/,N=/^(\d{2})-(\d{2}) ([01]\d|2[0-3]):[0-5]\d$/,x=/^(\d{4})-(\d{2})-(\d{2})$/;return m.test(o)||N.test(o)||x.test(o)}function F(o,m,N){let x="";return m-o<=1?x=.1:m-o<=5?x=.5:m-o<=10?x=1:m-o<=25?x=2.5:m-o<=50?x=5:m-o<=100?x=10:m-o<=250?x=25:m-o<=500?x=50:m-o<=1e3?x=100:m-o<=2500?x=250:m-o<=5e3?x=500:m-o<=1e4?x=1e3:m-o<=2e4?x=2e3:m-o<=3e4?x=3e3:m-o<=4e4?x=4e3:m-o<=5e4?x=5e3:m-o<=6e4?x=6e3:m-o<=7e4?x=7e3:m-o<=8e4?x=8e3:m-o<=9e4?x=9e3:m-o<=1e5?x=1e4:m-o<=11e4?x=11e3:m-o<=12e4?x=12e3:m-o<=13e4?x=13e3:m-o<=14e4?x=14e3:m-o<=15e4?x=15e3:m-o<=16e4?x=16e3:m-o<=17e4?x=17e3:m-o<=18e4?x=18e3:m-o<=19e4?x=19e3:m-o<=2e5&&(x=2e4),N==1&&(x=x*2),x}function j(o){if(isNaN(o))return"";var m=parseFloat(o);if(m>1){for(var N=0,x=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9],a=0;a<x.length;a++)m>=x[a]&&m<x[a+1]&&(N=x[a]);if(N==0)return m.toString();var w=Math.round(m/N*100)/100;return w=w*N,w>=100?w.toFixed(0):w>=10?w.toFixed(1):w.toFixed(2)}else{if(m>=0)return m.toFixed(3);if(m<0)return"-"+j(Math.abs(m))}}function be(o,m,N){const x=[];let a=new Date(o);for(;a<=m;){const w=a.getMinutes();w%N===0&&x.push(S(new Date(a)).format("YYYY-MM-DD HH:mm")),a.setMinutes(w+1)}return x}function Fe(o,m){o=o.sort((a,w)=>Date.parse(a)-Date.parse(w));let N,x=[];for(let a=0;a<o.length;a++){a==0&&(N=o[a]);let w=S(o[a]).add(m,"minute").format("YYYY-MM-DD HH:mm");o.includes(w)||(x.push({startTm:N,endTm:o[a]}),a+1<o.length&&(N=o[a+1]))}return x}const Te=o=>new Promise(m=>{setTimeout(()=>{m({statusCode:200,data:o.rzw*1e3})},100)}),Ne="data:image/png;base64,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",ze="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAaVBMVEUAAAAQFBgQExcQEhYLFRcQExcQExYPExcQEhcOFBUQEhcQExcPEhcPExcQEhcQExYQERcPExYPEhcQExYQEhcTExMUFBQQExcQExcQExcQFBcPEhcPExcPFBYSEhgcHBwRExcOExgQExdmmIFTAAAAInRSTlMAQL+AFuzVxbEj3KOWdF9OR7qnnmgZDPrkyY5WQzIqCXs2T8mN8gAAAeVJREFUeNrt3dlqwzAQRmFFdpx9X7omaf/3f8iSrSW0FqFy0Micc+2bDxsGI9A4IiIiIqJHNJuMFz5hxWzQiGOs9PU30Yzdk0y0jnSUstI+DtKTlXpRjkJ2KmIgK9mp344vS+rGQLo65V3KOjoXM01kCdIBAgQIECChgAABEg4IECDhgAABEg4IkLZBNrPipul7lpB1pV+95AcpF/qrIjfIVmoHxLcEstajIV6XHgsZqaZ5ZpCqxrF0eUFKnfO3rQqXGaT2CSBAgAABAgQIECBAgAABAgQIEFsQr38HBAgQIECAOF+bLvm6bEFaM9mBAAECBAgQIECAAAECBAgQIECAADlBruUO+Q4IECA/AQECJBwQIEDCAQECJBwQIEDCAQECJBwQIEDCAQECJBwQIEDCGYQ8XyCdpOncJgKykJ2Gd7wz0xuTri1jIFPZaRoDcUtZaeyiIK4rIx0iIe5VFqoGLhbi5r3ky8Wqj2aubd12JkXC5uX9IzPzgFgLiLWANN1h1w7IvlLvrQWQgY695Q/p69gwf8hQp/KHCAiQU0CAAAkHBAiQcAYhgyskbQ0s+36WnV7i/gTsNGKz/7GhrDRyUb3LSlt3V9bP1rqfLrZypPS9uiaaTVY+Yf3JvHRERERERA/oC7GKf5yH1bdrAAAAAElFTkSuQmCC",Be="data:image/png;base64,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",Ee=(o,m)=>{const N=o.__vccOpts||o;for(const[x,a]of m)N[x]=a;return N},Le={class:"title"},Ve={class:"subTitle"},Ye={style:{width:"20px",display:"flex","justify-content":"center"}},He={class:"mychart"},Re=["id"],oe=Ee({__name:"HydroGraph",props:{id:{type:String,default(){return Ce()}},chartOption:{type:Object,default(){return{}}},legendList:{type:Array,default(){return[]}},width:{type:String,default(){return"100%"}},height:{type:String,default(){return"100%"}},backgroundColor:{type:String,default(){return"#fff"}}},setup(o,{expose:m,emit:N}){me.use([ae.TooltipComponent,ae.GridComponent,ae.LegendComponent,ae.DataZoomComponent,Ae.LineChart,Ae.BarChart,Oe.LabelLayout,Ie.CanvasRenderer]);const x=t.ref(),a=o;a.chartOption.series||(a.chartOption.series=[]);let w={};const Je=N;let $={};t.watch(()=>a.chartOption,()=>{t.nextTick(()=>{let f=setInterval(()=>{document.getElementById(a.id)&&document.getElementById(a.id).offsetHeight>100&&document.getElementById(a.id).offsetWidth>100&&(I&&I.getOption()&&!a.chartOption.restoreZoom&&($={...I.getOption().dataZoom[0],moveOnMouseMove:a.chartOption.series.some(h=>h.openBarDrag&&(h.type=="line"||h.type=="markLine"))?"ctrl":!0}),ue(),clearInterval(f))},100)})},{deep:!0,immediate:!0});let q={};t.watch(()=>a.legendList,()=>{I&&(q=I.getOption().legend[0].selected);let f=a.legendList.map(c=>{let y=ve.find(r=>r.code==c.name);return y?{...c,...y}:{...c}}),h=JSON.parse(JSON.stringify(G.value));w={},G.value=f.map(c=>{const y=h.find(D=>D.name==c.name);w[c.name]=c,c.children&&(c.children=c.children.map(D=>{w[D.name]=D;let g="";return a.chartOption.isDefaultElement===!1?g=q[D.name]!=null?q[D.name]:D.isSelected:y&&y.children&&y.children.find(L=>L.name==D.name)?g=y.children.find(L=>L.name==D.name).isSelected:g=D.isSelected,{...D,isSelected:g,id:Math.random()}}));let r="";return a.chartOption.isDefaultElement===!1?r=q[c.name]!=null?q[c.name]:c.isSelected:c.compel?r=c.isSelected:y?r=y.isSelected:r=c.isSelected,{...c,isSelected:r,id:Math.random()}})},{deep:!0});const Me=[{name:"实况雨量",type:"bar",color:"#0000ff",unit:"mm"},{name:"实测水位",type:"line",color:"#304755",unit:"m"},{name:"库容",type:"line",color:"#197e2b",unit:"万m³"},{name:"5分钟水位",type:"line",color:"#304755",unit:"m"},{name:"5分钟库容",type:"line",color:"#197e2b",unit:"万m³"},{name:"校核洪水位",type:"markLine",color:"#ffa500",unit:"m"},{name:"设计洪水位",type:"markLine",color:"#a52a2a",unit:"m"},{name:"正常高水位",type:"markLine",color:"#008000",unit:"m"},{name:"死水位",type:"markLine",color:"#000000",unit:"m"},{name:"坝顶高程",type:"markLine",color:"#cf0ce1",unit:"m"},{name:"梅汛期",code:"MXQ",type:"markLine",color:"#ff0000",unit:"m"},{name:"台汛期",code:"TXQ",type:"markLine",color:"#ff0000",unit:"m"},{name:"累计降雨",type:"line",color:"red",unit:"mm"},{name:"可纳雨量",type:"bar",color:"#0000ff",unit:"mm"},{name:"作业预报时间",type:"markLine",color:"#ff0000"}],ve=[{name:"实况雨量",code:"P",color:"#0000ff",icon:"histogram"},{name:"实测水位",code:"RZ",color:"#304755",icon:"straightLine",iconWidth:"30",iconHeight:"30"},{name:"库容",code:"W",color:"#197e2b",icon:"straightLine",iconWidth:"30",iconHeight:"30"}],Xe=["校核洪水位","设计洪水位","正常高水位","坝顶高程","死水位","主汛期"],G=t.ref(a.legendList.map((f,h)=>{let c=ve.find(y=>y.code==f.name);return f.color||(f.color=ge[h]),c?{...f,...c}:{...f}}));G.value.forEach(f=>{w[f.name]=f,f.children&&f.children.forEach(h=>{w[h.name]=h})});const _=t.ref(!0);let we=null;const We=f=>{var c;let h=[];_.value=f,G.value.forEach(y=>{y.isSelected=f,h.push(y.name),y.children&&y.children.forEach(r=>{r.isSelected=f,h.push(r.name)})}),h.forEach(y=>{X[y]=f,ce(y,f)}),$={...(c=I.getOption())==null?void 0:c.dataZoom[0]},ue()},re=(f,h)=>{var y;let c=[];G.value.forEach(r=>{r.name==h?(r.isSelected=f,r.children?r.children.forEach(D=>{D.isSelected=f,c.push(D.name)}):c.push(r.name)):r.children&&r.children.forEach(D=>{D.name==h&&(D.isSelected=f,c.push(D.name),r.children.filter(g=>g.isSelected).length==r.children.length?r.isSelected=!0:r.isSelected=!1)})}),c.forEach(r=>{Array.isArray(r)?(X[r[0]]=f,X[r[1]]=f,ce(r[0],f),ce(r[1],f)):(X[r]=f,ce(r,f))}),we=G.value.some(r=>r.isSelected==!1),we?_.value=!1:_.value=!0,$={...(y=I.getOption())==null?void 0:y.dataZoom[0]},ue()};t.onMounted(()=>{window.addEventListener("keydown",Ke)});let he={};const Ke=f=>{if(f.key==="i"){let h=JSON.parse(JSON.stringify(I.getOption()));h.series.forEach(c=>{c.markPoint&&c.markPoint.data.length!=0?c.markPoint.data=[]:c.markPoint&&c.markPoint.data==0&&(c.markPoint=he[c.name])}),I.setOption(h)}};let X={},I,ie;const P=t.ref({}),ue=async()=>{let f=a.chartOption.series.map(e=>{let d="";return e.code?d=Me.find(n=>n.code==e.code):d=Me.find(n=>n.name==e.name),d?{...d,...e}:{...e}});G.value.forEach(e=>{X[e.name]=e.isSelected,e.children&&e.children.forEach(d=>{X[d.name]=d.isSelected})}),ie=document.getElementById(a.id),I||(I=me.init(ie));let h=f.filter(e=>Array.isArray(e.data));const c=h.every(e=>Array.isArray(e.data)&&e.data.length===0),y=be(new Date(S().subtract(5,"day").format("YYYY-MM-DD 08:00")),new Date(S().format("YYYY-MM-DD HH:00")),60).map(e=>[e,""]);let r=[];h.forEach(e=>{r=r.concat(e.data)}),r=[...new Set(r.map(e=>e[0]))],r.sort((e,d)=>Date.parse(e)-Date.parse(d)),r.some(e=>le(e))&&(r=r.filter(e=>le(e)));let D=r[0];a.chartOption.series.forEach(e=>{e.name=="开始"&&e.sectionStartTime&&(D=e.sectionStartTime)});let g=JSON.parse(JSON.stringify(a.chartOption.grid)),L=a.chartOption.xAxis.map((e,d)=>{let n="";e.show==!1||g.length>1&&d==0?n=!1:n=!0;let A={type:e.type,logBase:e.logBase||10,gridIndex:e.gridIndex,name:n&&e.type=="time"?"时间":e.name,nameLocation:n&&e.type=="time"?"end":"middle",nameTextStyle:{color:"#333",verticalAlign:n&&e.type=="time"?"top":""},position:e.position,offset:e.offset?e.offset:0,inverse:e.inverse?e.inverse:!1,nameGap:n&&e.type=="time"?45:e.nameGap?e.nameGap:e.name?25:0,axisLabel:{show:n,rotate:e.rotate,formatter:function(M){return e.type=="time"?Ze(S(S(M).format("YYYY-MM-DD HH:mm")))?a.chartOption.xTimeType?`{a|${a.chartOption.xTimeType}}`:"{a|{yyyy}-{MM}-{dd} {HH}:{mm}}":a.chartOption.xTimeType?a.chartOption.xTimeType:"{MM}-{dd} {HH}:{mm}":e.name?e.name.includes("m³/s")?j(M):e.name.includes("万m³")?M.toFixed(2):e.name.includes("mm")?M.toFixed(1):e.name.includes("m")?M.toFixed(2):(M||M==0)&&e.toFixed?Number(M).toFixed(e.toFixed):M:M},rich:{a:{fontWeight:"bold"}},color:a.chartOption.yAxisColor?a.chartOption.yAxisColor:"#333",hideOverlap:!0},axisLine:{show:!0,lineStyle:{color:a.chartOption.yAxisColor?a.chartOption.yAxisColor:"#8a949c"}},splitLine:{show:e.splitLineHide?!1:e.gridIndex!=2,lineStyle:{color:"#e0e6f1"}},axisTick:{show:e.show==!1?!1:!(g.length>1&&d==0),alignWithLabel:a.chartOption.alignWithLabel!=null?a.chartOption.alignWithLabel:!0},boundaryGap:e.boundaryGap?e.boundaryGap:["1%","1%"]};if(e.data&&(A.data=e.data),e.type=="value"||e.type=="log"){let M=0,C=100,u=10;e.name.includes("m³/s")?(C=1e3,u=100):e.name.includes("万m³")&&(C=1e4,u=1e3);let l=a.chartOption.series.filter(p=>p.yAxisIndex==d),b=[],i=[],s=0,O=100;l.forEach(p=>{p.data instanceof Array&&(b=b.concat(p.data))}),b[0]instanceof Array&&(i=b.filter(p=>p[0]!=""&&p[0]!=null&&p[0]!=null&&!isNaN(p[0])).map(p=>Number(p[0]))),i.length>0&&(s=Math.min(...i),O=Math.max(...i),l.some(p=>p.type=="bar")||e.name.includes("雨")?(M=0,(s!==0||O!==0)&&(C=Math.ceil(O/F(0,O))*F(0,O),u=F(0,O))):e.min||e.min==0?(M=e.min,(s!==0||O!==0)&&(C=Math.ceil(O/F(e.min,O))*F(e.min,O),u=F(e.min,O))):(s!==0||O!==0)&&(M=Math.floor(s/F(s,O))*F(s,O),C=Math.ceil(O/F(s,O))*F(s,O),u=F(s,O))),A.min=e.min!=""&&e.min!=null?e.min:M,A.max=e.max!=""&&e.max!=null?e.max:C,A.interval=e.interval&&e.max&&(e.min||e.min==0)?e.interval:u,e.interval&&e.max&&(e.min||e.min==0)&&e.interval,A.minorTick={show:!!e.isMinorSplitLineShow}}return A}),U=a.chartOption.yAxis.map((e,d)=>{let n=0,A=100,M=10;if(e.name.includes("m³/s")?(A=1e3,M=100):e.name.includes("万m³")&&(A=1e4,M=1e3),e.name=="可纳雨量(mm)")return{gridIndex:e.index,name:e.name,nameLocation:"middle",nameTextStyle:{color:"#333"},nameGap:e.nameGap,type:"value",position:e.position,offset:e.offset,min:e.min,max:e.max,interval:e.interval,axisLabel:{formatter:C=>C.toFixed(1),color:"#333"},axisLine:{show:!0,lineStyle:{color:"#8a949c"}},splitLine:{show:!1},minorTick:{show:!0},axisTick:{show:!0}};{let C=a.chartOption.series.filter(p=>p.yAxisIndex==d&&(X[p.name]||!Object.keys(X).includes(p.name))),u=[],l=[],b=[],i=0,s=100,O=null;if(C.forEach(p=>{p.data instanceof Array?((p.data2?p.data2:p.data).forEach(k=>{if(k instanceof Array&&k.length>=2){const T=k[1];if(T!=""&&T!=null&&T!=null&&!isNaN(T)){const B=Number(T);O===null&&(O=B)}}}),u=p.data2?u.concat(p.data2):u.concat(p.data)):p.data.name=="yAxis"&&p.data.value&&b.push(Number(p.data.value))}),u[0]instanceof Array?l=u.filter(p=>p[1]!=""&&p[1]!=null&&p[1]!=null&&!isNaN(p[1])).map(p=>Number(p[1])):u[0]instanceof Object&&u[0].value?l=u.map(E=>E.value).filter(E=>E!=""&&E!=null&&E!=null&&!isNaN(E)).map(E=>Number(E)):l=u.filter(p=>p!=""&&p!=null&&p!=null&&!isNaN(p)).map(p=>Number(p)),l.length>0||b.length>0){if(i=Math.min(...l,...b),s=Math.max(...l,...b),C.some(p=>p.type=="bar")||e.name.includes("雨"))n=0,a.chartOption.xAxis.length>1&&e.inverse?(i!==0||s!==0)&&(A=Math.ceil(s/F(0,s,1))*F(0,s,1)+F(0,s,1)*(e.upIntervalNumber!=null?e.upIntervalNumber:1),M=F(0,s,1)):(i!==0||s!==0)&&(A=Math.ceil(s/F(0,s))*F(0,s)+F(0,s)*(e.upIntervalNumber!=null?e.upIntervalNumber:1),M=F(0,s));else if(e.min||e.min==0)n=e.min,(i!==0||s!==0)&&(A=Math.ceil(s/F(e.min,s))*F(e.min,s)+F(e.min,s)*(e.upIntervalNumber!=null?e.upIntervalNumber:1),M=F(e.min,s));else if(i!==0||s!==0)if(a.chartOption.xAxis.some(E=>E.type==="value")&&O!==null){n=O;const E=F(n,s);A=Math.ceil((s-n)/E)*E+n+E*(e.upIntervalNumber!=null?e.upIntervalNumber:1),M=E}else n=Math.floor(i/F(i,s))*F(i,s)-F(i,s)*(e.downIntervalNumber!=null?e.downIntervalNumber:1),A=Math.ceil(s/F(i,s))*F(i,s)+F(i,s)*(e.upIntervalNumber!=null?e.upIntervalNumber:1),M=F(i,s)}if(e.rangeType==1){let p="",E="";Math.abs(s)>Math.abs(i)?E=Math.abs(s):E=Math.abs(i),p=Math.ceil(E/F(0,E))*F(0,E),A=p,n=0-p,M=F(0,Math.abs(p))}return{gridIndex:e.index,name:e.name,nameLocation:"middle",nameTextStyle:{color:a.chartOption.yAxisColor?a.chartOption.yAxisColor:"#333"},nameGap:e.nameGap,type:e.type||"value",logBase:e.logBase||10,position:e.position,offset:e.offset?e.offset:0,inverse:e.inverse?e.inverse:!1,min:e.min!=""&&e.min!=null?e.min:n,max:e.max!=""&&e.max!=null?e.max:A,interval:e.interval&&e.max&&(e.min||e.min==0)?e.interval:M,axisLabel:{formatter:p=>e.name.includes("m³/s")?j(p):e.name.includes("万m³")?p.toFixed(2):e.name.includes("mm")?p.toFixed(1):e.name.includes("m")?p.toFixed(2):p,color:a.chartOption.yAxisColor?a.chartOption.yAxisColor:"#333"},axisLine:{show:!0,lineStyle:{color:a.chartOption.yAxisColor?a.chartOption.yAxisColor:"#8a949c"}},axisTick:{show:!0},splitLine:{show:!(g.length>1&&e.index==1&&e.position=="right"||g.length==1&&e.index==0&&e.position=="right"||e.splitLineHide),lineStyle:{color:"#e0e6f1"}},minorTick:{show:!0},minorSplitLine:{show:g.length>1&&e.index==1&&e.position=="right"||g.length==1&&e.index==0&&e.position=="right"||e.splitLineHide?!1:!e.minorSplitLineHide,lineStyle:{color:"#f4f7fd"}},axisTick:{show:!0}}}}),v=f.some(e=>e.openBarDrag),H=f.map((e,d)=>{var A,M,C;let n={};if(e.type=="bar")e.name=="可纳雨量"?n={name:e.name,type:e.type,xAxisIndex:e.xAxisIndex,yAxisIndex:e.yAxisIndex,barWidth:e.barWidth,data:c?y:e.data,label:{show:!0,position:"top",color:"black",fontFamily:"Times New Roman"},itemStyle:{color:function(u){if(e.barColor=="1"){if(u.dataIndex===0)return"#ff0000";if(u.dataIndex===1)return"#a52a2a";if(u.dataIndex===2)return"#ffa500";if(u.dataIndex===3)return"#cf0ce1"}else return"#00a651"}},zlevel:9,z:9}:n={name:e.name,type:e.type,xAxisIndex:e.xAxisIndex,yAxisIndex:e.yAxisIndex,label:{show:e.isLabelShow?e.isLabelShow:!1,position:"top",fontFamily:"Times New Roman",formatter:function(u){return"{a0|"+(Array.isArray(u.value)?u.value[1]:u.value)+"}"},rich:{a0:{color:w[e.name]?w[e.name].color:e.color,fontSize:12}}},stack:e.stack?e.stack:"",tooltip:{show:e.isTooltipShow!=!1,trigger:"axis",type:"none"},itemStyle:e.itemStyle?e.itemStyle:{color:function(u){let l=w[e.name]?w[e.name].color:e.color?e.color:ge[d];return e.color2&&u.value[1]<0?e.color2:l},decal:{symbol:e.pattern?e.pattern:"none"}},barCategoryGap:e.barCategoryGap?e.barCategoryGap:U[e.yAxisIndex].inverse?"0%":"20%",barGap:e.barGap?e.barGap:"0%",data:c?y:e.data,zlevel:9,z:9},e.barWidth&&(n.barWidth=e.barWidth,e.barGap?n.barGap=e.barGap:n.barGap="20%"),e.barMaxWidth&&(n.barMaxWidth=e.barMaxWidth,e.barGap?n.barGap=e.barGap:n.barGap="20%");else if(e.type=="line"){let u="rgba(0, 0, 0, 0)";a.chartOption.isFace&&(a.chartOption.faceNames?a.chartOption.faceNames.includes(e.name)&&(w[e.name]?u=w[e.name].color:u=e.color):w[e.name]?u=w[e.name].color:u=e.color);let l="",b=!1;if(e.showSymbol||((A=w[e.name])==null?void 0:A.icon)=="dottedLine"?e.symbolSize?l=e.symbolSize:l=5:a.chartOption.isTooltipItem?(l=10,b=!0):l=0,n={name:e.name,type:e.type,xAxisIndex:e.xAxisIndex,yAxisIndex:e.yAxisIndex,itemStyle:{color:w[e.name]?w[e.name].color:e.color,opacity:e.showSymbol||((M=w[e.name])==null?void 0:M.icon)=="dottedLine"?1:0},lineStyle:e.lineStyle?e.lineStyle:{type:((C=w[e.name])==null?void 0:C.icon)=="dotted"?"dotted":"solid"},areaStyle:{color:u,opacity:.5},smooth:e.smooth!=null?e.smooth:!1,showSymbol:!0,symbol:e.symbol?e.symbol:"circle",connectNulls:!0,symbolSize:l,data:c?y:e.data,silent:v?e.openBarDrag!==!0:!1,triggerLineEvent:b,zlevel:9,z:9},e.isMaxMinShow&&e.data.length>0){let i=e.data.filter(k=>!k[2]).filter(k=>k[1]),s=i.reduce((k,T)=>parseFloat(T[1])>parseFloat(k[1])?T:k,i[0]),O=s?s[0]:"",p=s?s[1]:"",E;r.forEach((k,T)=>{S(k).isValid()&&k==O&&(k.markPointOffset||(T>=r.length/5*4?E=[-200,0]:T>=r.length/5*3?E=[-150,0]:T>=r.length/5*2?E=[-100,0]:T>=r.length/5*1?E=[-50,0]:T>=0&&(E=[0,0])))}),n.markPoint={symbol:"pin",symbolSize:20,label:{show:e.isMarkPointLabelShow!==!1,position:"top",align:"left",fontSize:16,backgroundColor:e.backgroundColor?e.backgroundColor:w[e.name]?w[e.name].color:e.color,borderRadius:6,shadowColor:"#666666",shadowBlur:5,shadowOffsetX:3,shadowOffsetY:3,fontWeight:"bold",padding:[4,4,4,4],lineHeight:30,color:e.markPointColor?e.markPointColor:"#fff",formatter:k=>{let T="";if(k.data&&k.data.coord&&k.data.coord[0]){let J=e.tmType?e.tmType:"YYYY-MM-DD HH:mm";T=S(k.data.coord[0]).format(J)}let B="",Q="";if(k.name=="Max")return B=e.maxText?e.maxText:"最大值",e.unit.includes("m³")?Q=k.value?j(k.value):"--":e.unit.includes("mm")?Q=k.value?Number(k.value).toFixed(1):"--":e.unit.includes("m")?Q=k.value?Number(k.value).toFixed(2):"--":Q=k.value,e.tmText?`${B}: {a0|${Q}} ${e.unit}
|
|
2
2
|
${e.tmText}: {a1|${T}}`:`${e.tmText2?e.tmText2:"相应时间"}: {a1|${T}}
|
|
3
|
-
${B}: {a0|${Q}} ${e.unit}`},rich:{a0:{fontSize:25,fontFamily:"Times New Roman"},a1:{fontSize:20,fontFamily:"Times New Roman"}}},data:[{name:"Max",label:{offset:e.markPointOffset?e.markPointOffset:E||[-120,0]},xAxis:
|
|
4
|
-
${s.name}: ${s.value} ${s.unit}}`}),i}else{let i="";return(
|
|
3
|
+
${B}: {a0|${Q}} ${e.unit}`},rich:{a0:{fontSize:25,fontFamily:"Times New Roman"},a1:{fontSize:20,fontFamily:"Times New Roman"}}},data:[{name:"Max",label:{offset:e.markPointOffset?e.markPointOffset:E||[-120,0]},xAxis:O,yAxis:p,value:p}]}}}else if(e.type=="markLine"){let u={},l=[];e.labelType==2?(e.name=="开始"?l=[0,0,-80,180]:e.name=="结束"&&(l=[0,180,-120,0]),u={show:!e.labelHide,position:"end",fontWeight:"bold",padding:l,fontFamily:"Times New Roman",lineHeight:20,fontSize:15}):u={show:!e.labelHide,position:"insideStartTop",fontFamily:"Times New Roman",lineHeight:20,fontSize:15},n={name:e.name,type:"line",xAxisIndex:e.xAxisIndex,yAxisIndex:e.yAxisIndex,markLine:{symbol:"none",label:u,data:[{lineStyle:{type:e.markLineStyle?e.markLineStyle:e.name=="开始"||e.name=="结束"?"dashed":[5,2],dashOffset:0,color:w[e.name]?w[e.name].color:e.color,width:e.name=="开始"||e.name=="结束"?5:1},[e.data.name]:String(e.data.value),label:{color:w[e.name]?w[e.name].color:e.color,fontFamily:"Times New Roman, serif",distance:-2,position:e.position?e.position:"insideStartTop",formatter:function(b){if(e.labelType==2){let i="";return e.name=="开始"?i=`${e.name}: ${b.value}`:e.name=="结束"&&(i=`${e.name}: ${on(b.value)}`),e.labelArr&&e.labelArr.forEach(s=>{i+=`{a1|
|
|
4
|
+
${s.name}: ${s.value} ${s.unit}}`}),i}else{let i="";return(Xe.includes(e.name)||e.name.includes("梅汛期")||e.name.includes("台汛期"))&&(i="{a0|▽}"),e.data.name=="xAxis"?e.name:` ${i}${e.name}: ${e.data.value} ${e.unit} `}},rich:{a0:{fontSize:15},a1:{color:"red",fontSize:16,fontFamily:"黑体"}}},emphasis:{lineStyle:{width:e.name=="开始"||e.name=="结束"?6:3}}}]}}}else e.type=="scatter"?n={name:e.name,type:e.type,xAxisIndex:e.xAxisIndex,yAxisIndex:e.yAxisIndex,symbolSize:e.symbolSize,itemStyle:{color:w[e.name]?w[e.name].color:e.color},data:c?y:e.data,zlevel:9,z:9}:e.type=="boxplot"&&(n={name:e.name,type:e.type,xAxisIndex:e.xAxisIndex,yAxisIndex:e.yAxisIndex,itemStyle:{color:w[e.name]?w[e.name].color:e.color,borderWidth:2,borderColor:"black"},boxWidth:e.boxWidth?e.boxWidth:30,emphasis:{itemStyle:{borderWidth:2}},data:c?y:e.data,zlevel:9,z:9});return e.markArea&&(e.markArea.data?n.markArea={silent:e.markArea.silent?e.markArea.silent:!1,label:e.markArea.label?e.markArea.label:{},itemStyle:e.markArea.itemStyle?e.markArea.itemStyle:{},data:e.markArea.data}:n.markArea={silent:!0,itemStyle:{opacity:e.markArea.opacity?e.markArea.opacity:.3,color:e.markArea.color?e.markArea.color:"#BEE6E6",borderColor:e.markArea.borderColor?e.markArea.borderColor:"red",borderWidth:e.markArea.borderWidth?e.markArea.borderWidth:2},data:[[{xAxis:e.markArea.start},{xAxis:e.markArea.end}]]}),n}),z=U.map(e=>e.name),ee={},K={};if(z.includes("水位(m)")&&z.includes("库容(万m³)")&&a.chartOption.stationCode){let e=U.find(l=>l.name=="水位(m)"),d=[];for(let l=e.min;l<=e.max;l+=e.interval)d.push(l);let n=[];for(let l=0;l<d.length;l++)if(e.max==100)n.push(l*1e3);else if(d[l]==0)n.push(0);else{let b=await an(d[l],l);n.push(b)}U.forEach(l=>{l.name=="水位(m)"?l.offset=80:l.name=="库容(万m³)"&&(l.offset=80,l.nameGap=-70,l.splitLine.show=!1,l.minorSplitLine.show=!1,l.axisLabel.inside=!0,l.axisTick.inside=!0,g.length>1?l.gridIndex==0?(g[l.gridIndex].left=150,g[l.gridIndex].right=20,g[1].left=150,g[1].right=20):l.gridIndex==1&&(g[0].left=150,g[0].right=70,g[l.gridIndex].left=150,g[l.gridIndex].right=70):g.length==1&&(g[l.gridIndex].left=150,g[l.gridIndex].right=20),l.position="left",l.max=e.max,l.min=e.min,l.interval=e.interval,l.axisLabel.formatter=(b,i)=>n[i]||n[i]==0?Number(n[i]).toFixed(2):"")});let A=H.find(l=>l.name=="库容"),M=H.find(l=>l.name=="5分钟库容"),C=H.find(l=>l.name=="实测水位"||l.name=="水位"),u=H.find(l=>l.name=="5分钟水位");A&&A.data&&A.data.forEach(l=>{ee[l[0]]=l[1]}),M&&M.data&&M.data.forEach(l=>{K[l[0]]=l[1]}),H.forEach(l=>{l.name=="库容"?l.data=C.data:l.name=="5分钟库容"&&(l.data=u.data)})}let ne=[...r];if(r.some(e=>le(e))&&(ne=ne.filter(e=>{let d=S(e);if(le(e)&&d.minute()===0&&d.second()===0)return e})),g.length==1?H.push({name:"a",xAxisIndex:0,yAxisIndex:0,data:a.chartOption.series.length==0?y:ne.map(e=>[e,void 0]),type:"line",z:9,zlevel:9}):H.push({name:"a",xAxisIndex:0,yAxisIndex:0,data:a.chartOption.series.length==0?y:ne.map(e=>[e,void 0]),type:"line",z:9,zlevel:9},{name:"b",xAxisIndex:1,yAxisIndex:U.findIndex(e=>e.gridIndex==1),data:a.chartOption.series.length==0?y:ne.map(e=>[e,void 0]),type:"line",z:9,zlevel:9}),g.length==1?g.forEach((e,d)=>{e.top=e.newTop?e.newTop:10,e.bottom=e.newBottom?e.newBottom:a.chartOption.xAxis[d].name?40:20}):g.length==2?g.forEach((e,d)=>{d==0?(e.top=10,e.height=a.chartOption.isTwoXAxis?"48%":"26%"):d==1&&(e.top=a.chartOption.isTwoXAxis?"52%":"30%",e.bottom=a.chartOption.xAxis[d].name?40:20)}):g.length==3&&g.forEach((e,d)=>{d==0?(e.top=10,e.height="26%"):(d==1||d==2)&&(e.top="30%",e.bottom=40)}),P.value={animation:!0,tooltip:{show:!(a.chartOption.isTooltipItem||a.chartOption.tooltipShow==!1),hideDelay:0,triggerOn:"mousemove",trigger:a.chartOption.tooltipType=="1"?"item":"axis",axisPointer:{animation:!1,animationDuration:1e3,animationDurationUpdate:200},formatter:function(e){if(a.chartOption.tooltipType=="1"){if(e.componentSubType=="boxplot"){let d=h[0]?h[0].unit:"",n=e.name+"<br/>";return n+=`<div style='padding-right:8px'>
|
|
5
5
|
<div style='display:flex;flex-direction: column;'>
|
|
6
6
|
<div>${e.marker} ${e.seriesName}</div>
|
|
7
7
|
<div style='display:flex;align-items: center;margin-left: 18px'>
|
|
@@ -17,12 +17,12 @@ ${s.name}: ${s.value} ${s.unit}}`}),i}else{let i="";return(Je.includes(e.name)||
|
|
|
17
17
|
<div style='width:30px'>${d}</div>
|
|
18
18
|
</div>
|
|
19
19
|
</div>
|
|
20
|
-
</div>`,n}}else if(a.chartOption.tooltipType=="2"||a.chartOption.tooltipType=="4"){let d="";return h.forEach(n=>{let A=e.find(M=>M.seriesName==n.name);if(A){let M=A.axisId,C=/[\u4e00-\u9fa5]+|\([^)]+\)/g,
|
|
20
|
+
</div>`,n}}else if(a.chartOption.tooltipType=="2"||a.chartOption.tooltipType=="4"){let d="";return h.forEach(n=>{let A=e.find(M=>M.seriesName==n.name);if(A){let M=A.axisId,C=/[\u4e00-\u9fa5]+|\([^)]+\)/g,u=M.match(C),l=u[0],b=u[1]?u[1].replace(/[\(\)]/g,""):u[0],i=a.chartOption.yAxis[0].name.match(C),s=i[0],O=i[1]?i[1].replace(/[\(\)]/g,""):i[0];a.chartOption.tooltipType=="4"&&(d+=`<div style='font-weight: bold;color: ${n.color};'>${A.seriesName}</div>`),d+=`<div style='padding-right:8px'>
|
|
21
21
|
<div style='display:flex;align-items: center;justify-content: space-between'>
|
|
22
22
|
<div style='margin-right:8px;'>${s}</div>
|
|
23
23
|
<div style='display:flex;align-items: center;'>
|
|
24
24
|
<div style='margin-right:5px;'>${A.value[1]||A.value[1]===0?A.value[1]:"--"}</div>
|
|
25
|
-
<div style='width:30px'>${
|
|
25
|
+
<div style='width:30px'>${O||""}</div>
|
|
26
26
|
</div>
|
|
27
27
|
</div>
|
|
28
28
|
<div style='display:flex;align-items: center;justify-content: space-between'>
|
|
@@ -32,16 +32,16 @@ ${s.name}: ${s.value} ${s.unit}}`}),i}else{let i="";return(Je.includes(e.name)||
|
|
|
32
32
|
<div style='width:30px'>${b||""}</div>
|
|
33
33
|
</div>
|
|
34
34
|
</div>
|
|
35
|
-
</div>`}}),d}else if(a.chartOption.tooltipType=="3"){let d=[];e.forEach(
|
|
35
|
+
</div>`}}),d}else if(a.chartOption.tooltipType=="3"){let d=[];e.forEach(u=>{d.push(u.seriesName.replace(/\d+/g,""))});let n="预报潮位",A=e[0].value[0]+"<br/>",M=0,C="";return h.forEach((u,l)=>{let b=e.find(s=>s.seriesName==u.name),i="";if(u.name.includes(n)?(i=a.chartOption.plan[M],M++,h.find(s=>s.name=="预报潮位1")&&(C=`<div>${i}</div>`)):C="",b){let s="";b.value[1]&&(s=`<div style='padding-right:8px'>
|
|
36
36
|
${C}
|
|
37
37
|
<div style='display:flex;align-items: center;justify-content: space-between'>
|
|
38
38
|
<div style='margin-right:8px;'>${b.marker} ${b.seriesName.replace(/\d+/g,"")}</div>
|
|
39
39
|
<div style='display:flex;align-items: center;'>
|
|
40
40
|
<div style='margin-right:5px;'>${b.value[1]?b.value[1]:"--"}</div>
|
|
41
|
-
<div style='width:30px'>${
|
|
41
|
+
<div style='width:30px'>${u.unit?u.unit:""}</div>
|
|
42
42
|
</div>
|
|
43
43
|
</div>
|
|
44
|
-
</div>`),A+=s}}),A}else{let d="";return a.chartOption.tooltipNameTimeType?Array.isArray(e[0].value)?d=
|
|
44
|
+
</div>`),A+=s}}),A}else{let d="";return a.chartOption.tooltipNameTimeType?Array.isArray(e[0].value)?d=S(e[0].value[0]).format(a.chartOption.tooltipNameTimeType)+"<br/>":d=S(e[0].name).format(a.chartOption.tooltipNameTimeType)+"<br/>":Array.isArray(e[0].value)?d=String(e[0].value[0]).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")+"<br/>":d=e[0].name+"<br/>",h.forEach(n=>{var M;let A=e.find(C=>C.seriesName==n.name);if(A&&!(Array.isArray(A.value)&&A.value[2]===!0)){let C="";n.key?C=n.key:G.value.forEach(b=>{b.name==A.seriesName?C=b.key?b.key:n.name:b.children&&b.children.forEach(i=>{i.name==A.seriesName&&(C=i.key)})});let u="",l="";if(A.marker=='<span style="display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:transparent;"></span>'?l=`<span style="display:inline-block;margin-right:4px;border-radius:10px;width:10px;height:10px;background-color:${(M=w[n.name])==null?void 0:M.color};"></span>`:l=A.marker,A.value){let b="";n.data2?b=n.data2.find(s=>s[0]==A.value[0])[1]:Array.isArray(A.value)?b=A.value[1]:b=A.value,JSON.stringify(ee)!="{}"&&A.seriesName=="库容"?b=ee[e[0].value[0]]:JSON.stringify(K)!="{}"&&A.seriesName=="5分钟库容"&&(b=K[e[0].value[0]]),u=`<div style='padding-right:8px'>
|
|
45
45
|
<div style='display:flex;align-items: center;justify-content: space-between'>
|
|
46
46
|
<div style='margin-right:8px;'>${l} ${C||A.seriesName}</div>
|
|
47
47
|
<div style='display:flex;align-items: center;'>
|
|
@@ -49,8 +49,8 @@ ${s.name}: ${s.value} ${s.unit}}`}),i}else{let i="";return(Je.includes(e.name)||
|
|
|
49
49
|
<div style='width:30px'>${n.unit?n.unit:""}</div>
|
|
50
50
|
</div>
|
|
51
51
|
</div>
|
|
52
|
-
</div>`}d+=
|
|
53
|
-
${e.seriesName}: ${A[1]} ${n.unit}`,label:{offset:b||[-120,0]}}],P.value.series[M].markPoint={symbol:"pin",symbolSize:20,label:{show:!0,position:"top",align:"left",fontSize:16,backgroundColor:n.backgroundColor?n.backgroundColor:
|
|
52
|
+
</div>`}d+=u}}),d}}},legend:{show:!1,selected:X},grid:g,axisPointer:{link:{xAxisIndex:"all"}},xAxis:L,yAxis:U,dataZoom:[{type:"inside",xAxisIndex:[0,1],zoomLock:!!a.chartOption.zoomLock,start:a.chartOption.viewDataRange?a.chartOption.viewDataRange[0]:0,end:a.chartOption.viewDataRange?a.chartOption.viewDataRange[1]:100,moveOnMouseMove:a.chartOption.series.some(e=>e.openBarDrag&&(e.type=="line"||e.type=="markLine"))?"ctrl":!0}],series:H},a.chartOption.visualMap&&(P.value.visualMap=a.chartOption.visualMap.map(e=>{let d=H[e.seriesIndex],n=[],A=[];return e.step?A=Fe(e.pieces,e.step):A=e.pieces,A.forEach((M,C)=>{let u=new Date(M.startTm).getTime(),l=new Date(M.endTm).getTime();C==0?n.push({lt:u,color:d.itemStyle.color},{gte:u,lte:l,color:e.color?e.color:"red"}):n.push({gt:n[n.length-1].lte,lt:u,color:d.itemStyle.color},{gte:u,lte:l,color:e.color?e.color:"red"})}),n.push({gt:n[n.length-1].lte,color:d.itemStyle.color}),{show:!1,dimension:e.dimension?e.dimension:0,seriesIndex:e.seriesIndex,pieces:n}})),JSON.stringify($)!="{}"&&(P.value.dataZoom[0]=$),console.log(P.value),I.setOption(P.value,!0),I.getOption().series.map(e=>{e.markPoint&&(he[e.name]=e.markPoint)}),a.chartOption.isTooltipItem){let e=document.createElement("div");e.className="line-name-tooltip-style",ie.appendChild(e),I.on("mouseover",function(d){d.componentType==="series"&&d.seriesType==="line"?(e.innerText=`${d.seriesName}`,e.style.left=`${d.event.offsetX}px`,e.style.top=`${d.event.offsetY}px`,e.style.opacity="1"):e&&(e.style.opacity="0")}),I.on("mouseout",function(d){e&&(e.style.opacity="0")})}else{const e=ie.querySelectorAll(".line-name-tooltip-style");e.length>0&&e.forEach(d=>{d.remove()})}I.off("click"),I.on("click",e=>{var d;if(h.find(n=>n.name==e.seriesName)){let n=h.find(A=>A.name==e.seriesName);if(e.seriesType==="line"){const A=e.data,M=e.seriesIndex;let C=I.getOption().series[M].markPoint?I.getOption().series[M].markPoint.data:[],u=C.filter(i=>i.name!="Max"&&i.name!="Min").map(i=>i.coord[0]),l=[],b;r.forEach((i,s)=>{S(i).isValid()&&i==A[0]&&(s>=r.length/5*4?b=[-200,0]:s>=r.length/5*3?b=[-150,0]:s>=r.length/5*2?b=[-100,0]:s>=r.length/5*1?b=[-50,0]:s>=0&&(b=[0,0]))}),u.includes(e.value[0])?l=C.filter(i=>i.name=="Max"||i.name=="Min"||i.coord[0]!=e.value[0]):l=[...C,{coord:A,name:`${A[0]}
|
|
53
|
+
${e.seriesName}: ${A[1]} ${n.unit}`,label:{offset:b||[-120,0]}}],P.value.series[M].markPoint={symbol:"pin",symbolSize:20,label:{show:!0,position:"top",align:"left",fontSize:16,backgroundColor:n.backgroundColor?n.backgroundColor:w[n.name]?w[n.name].color:n.color,borderRadius:6,shadowColor:"#666666",shadowBlur:5,shadowOffsetX:3,shadowOffsetY:3,fontWeight:"bold",padding:[4,4,4,4],lineHeight:30,color:n.markPointColor?n.markPointColor:"#fff",formatter:i=>{let s="",O=n.tmType?n.tmType:"YYYY-MM-DD HH:mm";i.data&&i.data.coord&&i.data.coord[0]&&(s=S(i.data.coord[0]).format(O));let p="",E="";if(i.name=="Max"||i.name=="Min"){if(i.name=="Max")return p=n.maxText?n.maxText:"最大值",n.unit.includes("m³")?E=i.value?j(i.value):"--":n.unit.includes("mm")?E=i.value?Number(i.value).toFixed(1):"--":n.unit.includes("m")?E=i.value?Number(i.value).toFixed(2):"--":E=i.value,n.tmText?`${p}: {a0|${E}} ${n.unit}
|
|
54
54
|
${n.tmText}: {a1|${s}}`:`${n.tmText2?n.tmText2:"相应时间"}: {a1|${s}}
|
|
55
|
-
${
|
|
56
|
-
${n.name}: {a0|${i.data.coord[1]}} ${n.unit}`},rich:{a0:{fontSize:25,fontFamily:"Times New Roman"},a1:{fontSize:20,fontFamily:"Times New Roman"}}},data:l},P.value.dataZoom[0]={...(d=I.getOption())==null?void 0:d.dataZoom[0]},I.setOption(P.value,!0),I.getOption().series.map(i=>{i.markPoint&&(fe[i.name]=i.markPoint)})}}}),I.on("mousedown",function(e){I.setOption({tooltip:{show:!1}}),I.dispatchAction({type:"hideTip"});let d=e.seriesIndex,n=a.chartOption.series[d],A=n.stepTM?n.stepTM:60,M="",C="",p="";if(n.openBarDrag){let l={},b={},i=a.chartOption.yAxis[n.yAxisIndex],s=[];e.componentType=="markLine"&&n.data.name=="xAxis"?s=P.value.series.map((S,T)=>S.name=="开始"||S.name=="结束"?JSON.parse(JSON.stringify(S)):{}):s=P.value.series.map((S,T)=>T==d?{data:JSON.parse(JSON.stringify(S.data))}:{});let k,u,E;a.chartOption.fixedTimePeriod&&(M=a.chartOption.series.find(S=>S.name=="开始").data.value,C=a.chartOption.series.find(S=>S.name=="结束").data.value,p=O(C).diff(O(M),"hour")),I.getZr().off("mousemove"),I.getZr().off("mouseup"),I.getZr().on("mousemove",function(S){if(e.componentType=="markLine"&&n.data.name=="xAxis"){let T=I.convertFromPixel({xAxisIndex:n.xAxisIndex},S.offsetX),B=O(T).format("YYYY-MM-DD HH:00");if(B!==k){const Q=O(B),J=O(r[r.length-1]),ce=D?O(D):"";if(Q.isAfter(J)||Q.isBefore(ce))return;if(a.chartOption.fixedTimePeriod){if(n.name=="开始"?E=O(B).add(p,"hours").format("YYYY-MM-DD HH:00"):n.name=="结束"&&(E=O(B).add(-p,"hours").format("YYYY-MM-DD HH:00")),n.name=="开始"&&O(E).isAfter(J))return;if(n.name=="结束"&&O(E).isBefore(ce))return;s.forEach(V=>{n.name=="开始"?V.name=="开始"?(V.markLine.data[0].xAxis=B,V.markArea.data[0][0].xAxis=B,V.markArea.data[0][1].xAxis=E):V.name=="结束"&&(V.markLine.data[0].xAxis=E):n.name=="结束"&&(V.name=="开始"?(V.markLine.data[0].xAxis=E,V.markArea.data[0][0].xAxis=E,V.markArea.data[0][1].xAxis=B):V.name=="结束"&&(V.markLine.data[0].xAxis=B))})}else s.forEach(V=>{n.name=="开始"?V.name=="开始"&&(V.markLine.data[0].xAxis=B,V.markArea.data[0][0].xAxis=B):n.name=="结束"&&(V.name=="开始"?V.markArea.data[0][1].xAxis=B:V.name=="结束"&&(V.markLine.data[0].xAxis=B))});I.setOption({series:s},{notMerge:!1,lazyUpdate:!0}),k=B}}else{let[T,B]=I.convertFromPixel({seriesIndex:d},[S.offsetX,S.offsetY]);if(O(T).format("YYYY-MM-DD HH:00")!==k||!u||Math.abs(B-u)>=.5){const Q=O(T).format("YYYY-MM-DD HH:00");b[Q]=B;let J=Object.keys(b),ce=new Set(J);s[d].data.forEach(U=>{ce.has(U[0])&&(U[1]=b[U[0]])});let V=be(new Date(J[0]),new Date(J[J.length-1]),A),ue=Object.entries(b),on=new Set(J);V.forEach(U=>{on.has(U)||ue.push(an(ue,U))});let ne={};ue.forEach(U=>{ne[U[0]]=U[1]});let rn=Object.keys(ne),sn=new Set(rn);s[d].data.forEach(U=>{if(sn.has(U[0])){let de="";i.name.includes("m³")?de=K(ne[U[0]]):i.name.includes("mm")?de=ne[U[0]].toFixed(1):i.name.includes("m")&&(de=ne[U[0]].toFixed(2)),U[1]=de}}),I.setOption({series:s},{notMerge:!1,lazyUpdate:!0}),k=Q,u=B}}}),I.getZr().on("mouseup",function(){if(I.getZr().off("mousemove"),I.getZr().off("mouseup"),e.componentType=="markLine"&&n.data.name=="xAxis"){if(k)if(E){const S=O(r[r.length-1]),T=D?O(D):"";n.name=="开始"&&O(E).isAfter(S)?E=O(k).add(p,"hours").format("YYYY-MM-DD HH:00"):n.name=="结束"&&O(E).isBefore(T)&&(E=O(k).add(-p,"hours").format("YYYY-MM-DD HH:00")),l={name:"开始/结束",value:n.name=="开始"?`${k}/${E}`:`${E}/${k}`}}else l={name:n.name,value:k}}else l={name:e.seriesName,data:s[d].data};l.name&&Pe("getNewSeriesData",l),I.getZr().on("mousemove",function(S){let T=S.offsetX,B=S.offsetY;I.dispatchAction({type:"showTip",x:T,y:B})})})}}),window.onresize=function(){I.resize()}},ie=f=>{t.nextTick(()=>{I&&I.resize()})},se=(f,h)=>{I.dispatchAction({type:h?"legendSelect":"legendUnSelect",name:f})};function je(f){return f.month()===0&&f.date()===1&&f.hour()===0&&f.minute()===0}function Ke(f){f.preventDefault();let h=document.querySelector("body .chartMenu");h&&h.remove();let c=f.pageX,y=f.pageY,r=document.createElement("ul");r.style.position="absolute",r.style.left=c+"px",r.style.top=y+"px",r.className="chartMenu";let D=document.createElement("li");D.style.cursor="pointer",D.innerHTML=`<div><img src='${Te}'><span>还原缩放</span></div>`,r.appendChild(D);let g=document.createElement("li");g.style.cursor="pointer",g.innerHTML=`<div><img src='${Ne}'><span>复制图片</span></div>`,r.appendChild(g);let L=document.createElement("li");L.style.cursor="pointer",L.innerHTML=`<div><img src='${ze}'><span>导出图片</span></div>`,r.appendChild(L),D.addEventListener("click",()=>{I.dispatchAction({type:"dataZoom",dataZoomIndex:0,start:0,end:100})}),g.addEventListener("click",()=>{xe(x.value,{useCORS:!0,scale:2,width:x.value.offsetWidth,height:x.value.offsetHeight+50,backgroundColor:"#fff",allowTaint:!0,removeContainer:!0}).then(R=>{const w=R.toDataURL("image/png"),Y=Ze(w,"图片");$e(Y),j.ElMessage.success("复制成功")})}),L.addEventListener("click",()=>{en()}),document.body.appendChild(r),document.addEventListener("click",()=>{r.parentNode&&document.body.removeChild(r)})}const Ze=(f,h="file")=>{const c=f.split(","),y=c[0].match(/:(.*?);/)[1],r=y.split("/")[1],D=window.atob(c[1]);let g=D.length;const L=new Uint8Array(g);for(;g--;)L[g]=D.charCodeAt(g);return new File([L],`${h}.${r}`,{type:y})},$e=f=>{const h=new FileReader;h.onload=c=>{const y=c.target.result.toString(),r=new Image;r.src=y,r.onload=()=>{let D=qe(r),g=_e(D.replace("data:image/png;base64,",""),"image/png",512);navigator.clipboard.write([new ClipboardItem({"image/png":g})])}},h.readAsDataURL(f)},qe=f=>{let h=document.createElement("canvas");return h.width=f.width,h.height=f.height,h.getContext("2d").drawImage(f,0,0,f.width,f.height),h.toDataURL("image/png")},_e=(f,h,c)=>{h=h||"",c=c||512;let y=window.atob(f),r=[];for(let g=0;g<y.length;g+=c){let L=y.slice(g,g+c),R=new Array(L.length);for(let Y=0;Y<L.length;Y++)R[Y]=L.charCodeAt(Y);let w=new Uint8Array(R);r.push(w)}return new Blob(r,{type:h})},en=()=>{xe(x.value,{useCORS:!0,scale:1,width:x.value.offsetWidth,height:x.value.offsetHeight+50,backgroundColor:"#fff",allowTaint:!0,removeContainer:!0}).then(f=>{const h=f.toDataURL("image/png"),c=document.createElement("a");c.href=h,c.download=a.chartOption.title,c.click()})},pe=t.ref();function nn(){return pe.value?pe.value.offsetHeight:0}function tn(f,h){return new Promise(c=>{Fe({STCD:a.chartOption.stationCode,rzw:f}).then(y=>{y.statusCode==200&&y.data?c(y.data):c(h*1e3)})})}function an(f,h){if(f.length>0){let c=f.filter(r=>O(r[0]).isBefore(O(h))),y=f.filter(r=>O(r[0]).isAfter(O(h)));if(c.length==0)return[h,y[0][1]];if(y.length==0)return[h,c[c.length-1][1]];{let r=O(h).diff(O(c[c.length-1][0]),"seconds"),D=y[0][1]-c[c.length-1][1],g=O(y[0][0]).diff(O(c[c.length-1][0]),"seconds"),L=r*D/g+c[c.length-1][1];return[h,Number(L)]}}}function ln(f){var g;let h=(g=a.chartOption.series.find(L=>L.name=="开始"))==null?void 0:g.data.value;const c=O(h),y=O(f),r=c.year()===y.year();return r&&c.month()===y.month()?y.format("DD HH:mm"):r?y.format("MM-DD HH:mm"):y.format("YYYY-MM-DD HH:mm")}return m({getLegendBoxHeight:nn,onChange:oe}),(f,h)=>{const c=t.resolveComponent("el-checkbox"),y=t.resolveComponent("svg-icon"),r=t.resolveComponent("el-icon"),D=t.resolveComponent("el-dropdown-item"),g=t.resolveComponent("el-dropdown-menu"),L=t.resolveComponent("el-dropdown"),R=t.resolveDirective("resize");return t.withDirectives((t.openBlock(),t.createElementBlock("div",{class:"box",ref_key:"chartBox",ref:x,onContextmenu:h[1]||(h[1]=w=>Ke(w))},[t.withDirectives((t.openBlock(),t.createElementBlock("div",Be,[t.createTextVNode(t.toDisplayString(o.chartOption.title),1)])),[[t.vShow,o.chartOption.title],[R,ie]]),t.withDirectives((t.openBlock(),t.createElementBlock("div",Le,[t.createTextVNode(t.toDisplayString(o.chartOption.subTitle),1)])),[[t.vShow,o.chartOption.subTitle],[R,ie]]),t.withDirectives((t.openBlock(),t.createElementBlock("div",{class:"legend-box",ref_key:"myLegend",ref:pe},[G.value.length>1?(t.openBlock(),t.createBlock(c,{key:0,modelValue:q.value,"onUpdate:modelValue":h[0]||(h[0]=w=>q.value=w),label:"全选",onChange:Xe,style:{"--fill-color":"#409EFF"}},null,8,["modelValue"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(G.value,(w,Y)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:Y},[w.children?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(c,{key:0,modelValue:w.isSelected,"onUpdate:modelValue":z=>w.isSelected=z,onChange:z=>oe(z,w.name),style:t.normalizeStyle({"--fill-color":w.color?w.color:"#409EFF"})},{default:t.withCtx(()=>[w.icon?(t.openBlock(),t.createBlock(y,{key:0,"icon-class":w.icon,style:t.normalizeStyle({width:w.iconWidth?w.iconWidth+"px":"20px",height:w.iconHeight?w.iconHeight+"px":"20px"}),color:w.color},null,8,["icon-class","style","color"])):t.createCommentVNode("",!0),t.createElementVNode("span",{style:t.normalizeStyle({color:w.color,marginLeft:"3px"})},t.toDisplayString(w.key?w.key:w.name),5),w.children&&w.children.length>0?(t.openBlock(),t.createBlock(r,{key:1,class:"el-icon--right"},{default:t.withCtx(()=>[t.createVNode(t.unref(ye.ArrowDown))]),_:1})):t.createCommentVNode("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange","style"])),w.children&&w.children.length>0?(t.openBlock(),t.createBlock(L,{key:1,"hide-on-click":!1},{dropdown:t.withCtx(()=>[t.createVNode(g,null,{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(w.children,(z,_)=>(t.openBlock(),t.createBlock(D,{key:_},{default:t.withCtx(()=>[t.createVNode(c,{modelValue:z.isSelected,"onUpdate:modelValue":W=>z.isSelected=W,onChange:W=>oe(W,z.name),style:t.normalizeStyle({"--fill-color":z.color?z.color:"#409EFF"})},{default:t.withCtx(()=>[t.createElementVNode("div",Ve,[z.icon?(t.openBlock(),t.createBlock(y,{key:0,"icon-class":z.icon,style:t.normalizeStyle({width:z.iconWidth?z.iconWidth+"px":"20px",height:z.iconHeight?z.iconHeight+"px":"20px"}),color:z.color},null,8,["icon-class","style","color"])):t.createCommentVNode("",!0)]),t.createElementVNode("span",{style:t.normalizeStyle({color:z.color,marginLeft:"3px"})},t.toDisplayString(z.key?z.key:z.name),5)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange","style"])]),_:2},1024))),128))]),_:2},1024)]),default:t.withCtx(()=>[t.createVNode(c,{modelValue:w.isSelected,"onUpdate:modelValue":z=>w.isSelected=z,onChange:z=>oe(z,w.name),style:t.normalizeStyle({"--fill-color":w.color?w.color:"#409EFF"})},{default:t.withCtx(()=>[w.icon?(t.openBlock(),t.createBlock(y,{key:0,"icon-class":w.icon,style:t.normalizeStyle({width:w.iconWidth?w.iconWidth+"px":"20px",height:w.iconHeight?w.iconHeight+"px":"20px"}),color:w.color},null,8,["icon-class","style","color"])):t.createCommentVNode("",!0),t.createElementVNode("span",{style:t.normalizeStyle({color:w.color,marginLeft:"3px"})},t.toDisplayString(w.key?w.key:w.name),5),w.children&&w.children.length>0?(t.openBlock(),t.createBlock(r,{key:1,class:"el-icon--right"},{default:t.withCtx(()=>[t.createVNode(t.unref(ye.ArrowDown))]),_:1})):t.createCommentVNode("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange","style"])]),_:2},1024)):t.createCommentVNode("",!0)],64))),128))])),[[R,ie]]),t.createElementVNode("div",Ye,[t.createElementVNode("div",{id:o.id,style:t.normalizeStyle({width:o.width,height:o.height})},null,12,He)])],32)),[[R,ie]])}}},[["__scopeId","data-v-0d3f793e"]]),Re=t.defineComponent({props:{iconClass:{type:String,required:!0},className:{type:String,default:""},color:{type:String,default:""}},setup(o){return{iconName:t.computed(()=>`#icon-${o.iconClass}`),svgClass:t.computed(()=>o.className?`svg-icon ${o.className}`:"svg-icon")}}}),Ue=["xlink:href","fill"];function Qe(o,m,N,x,a,v){return t.openBlock(),t.createElementBlock("svg",{class:t.normalizeClass(o.svgClass),"aria-hidden":"true"},[t.createElementVNode("use",{"xlink:href":o.iconName,fill:o.color},null,8,Ue)],2)}const Ge=Ee(Re,[["render",Qe]]);le.install=o=>{o.component("ElCheckbox",j.ElCheckbox),o.component("ElIcon",j.ElIcon),o.component("ElDropdown",j.ElDropdown),o.component("ElDropdownMenu",j.ElDropdownMenu),o.component("ElDropdownItem",j.ElDropdownItem),o.component("SvgIcon",Ge),o.component("HydroGraph",le)},H.HydroGraph=le,H.default=le,Object.defineProperties(H,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
|
55
|
+
${p}: {a0|${E}} ${n.unit}`}else return`相应时间: {a1|${S(i.data.coord[0]).format(O)}}
|
|
56
|
+
${n.name}: {a0|${i.data.coord[1]}} ${n.unit}`},rich:{a0:{fontSize:25,fontFamily:"Times New Roman"},a1:{fontSize:20,fontFamily:"Times New Roman"}}},data:l},P.value.dataZoom[0]={...(d=I.getOption())==null?void 0:d.dataZoom[0]},I.setOption(P.value,!0),I.getOption().series.map(i=>{i.markPoint&&(he[i.name]=i.markPoint)})}}}),I.on("mousedown",function(e){I.setOption({tooltip:{show:!1}}),I.dispatchAction({type:"hideTip"});let d=e.seriesIndex,n=a.chartOption.series[d],A=n.stepTM?n.stepTM:60,M="",C="",u="";if(n.openBarDrag){let l={},b={},i=a.chartOption.yAxis[n.yAxisIndex],s=[];e.componentType=="markLine"&&n.data.name=="xAxis"?s=P.value.series.map((k,T)=>k.name=="开始"||k.name=="结束"?JSON.parse(JSON.stringify(k)):{}):s=P.value.series.map((k,T)=>T==d?{data:JSON.parse(JSON.stringify(k.data))}:{});let O,p,E;a.chartOption.fixedTimePeriod&&(M=a.chartOption.series.find(k=>k.name=="开始").data.value,C=a.chartOption.series.find(k=>k.name=="结束").data.value,u=S(C).diff(S(M),"hour")),I.getZr().off("mousemove"),I.getZr().off("mouseup"),I.getZr().on("mousemove",function(k){if(e.componentType=="markLine"&&n.data.name=="xAxis"){let T=I.convertFromPixel({xAxisIndex:n.xAxisIndex},k.offsetX),B=S(T).format("YYYY-MM-DD HH:00");if(B!==O){const Q=S(B),J=S(r[r.length-1]),de=D?S(D):"";if(Q.isAfter(J)||Q.isBefore(de))return;if(a.chartOption.fixedTimePeriod){if(n.name=="开始"?E=S(B).add(u,"hours").format("YYYY-MM-DD HH:00"):n.name=="结束"&&(E=S(B).add(-u,"hours").format("YYYY-MM-DD HH:00")),n.name=="开始"&&S(E).isAfter(J))return;if(n.name=="结束"&&S(E).isBefore(de))return;s.forEach(V=>{n.name=="开始"?V.name=="开始"?(V.markLine.data[0].xAxis=B,V.markArea.data[0][0].xAxis=B,V.markArea.data[0][1].xAxis=E):V.name=="结束"&&(V.markLine.data[0].xAxis=E):n.name=="结束"&&(V.name=="开始"?(V.markLine.data[0].xAxis=E,V.markArea.data[0][0].xAxis=E,V.markArea.data[0][1].xAxis=B):V.name=="结束"&&(V.markLine.data[0].xAxis=B))})}else s.forEach(V=>{n.name=="开始"?V.name=="开始"&&(V.markLine.data[0].xAxis=B,V.markArea.data[0][0].xAxis=B):n.name=="结束"&&(V.name=="开始"?V.markArea.data[0][1].xAxis=B:V.name=="结束"&&(V.markLine.data[0].xAxis=B))});I.setOption({series:s},{notMerge:!1,lazyUpdate:!0}),O=B}}else{let[T,B]=I.convertFromPixel({seriesIndex:d},[k.offsetX,k.offsetY]);if(S(T).format("YYYY-MM-DD HH:00")!==O||!p||Math.abs(B-p)>=.5){const Q=S(T).format("YYYY-MM-DD HH:00");b[Q]=B;let J=Object.keys(b).sort(),de=new Set(J);s[d].data.forEach(Y=>{de.has(Y[0])&&(Y[1]=b[Y[0]])});let V=be(new Date(J[0]),new Date(J[J.length-1]),A),fe=Object.entries(b).sort((Y,W)=>S(Y[0]).valueOf()-S(W[0]).valueOf()),rn=new Set(J),Se=[];V.forEach(Y=>{rn.has(Y)||Se.push(ln(fe,Y))}),fe=fe.concat(Se).sort((Y,W)=>S(Y[0]).valueOf()-S(W[0]).valueOf());let te={};fe.forEach(Y=>{te[Y[0]]=Y[1]});let sn=Object.keys(te),cn=new Set(sn);s[d].data.forEach(Y=>{if(cn.has(Y[0])){let W="";i.name.includes("m³")?W=j(te[Y[0]]):i.name.includes("mm")?W=te[Y[0]].toFixed(1):i.name.includes("m")&&(W=te[Y[0]].toFixed(2)),Y[1]=W}}),I.setOption({series:s},{notMerge:!1,lazyUpdate:!0}),O=Q,p=B}}}),I.getZr().on("mouseup",function(){if(I.getZr().off("mousemove"),I.getZr().off("mouseup"),e.componentType=="markLine"&&n.data.name=="xAxis"){if(O)if(E){const k=S(r[r.length-1]),T=D?S(D):"";n.name=="开始"&&S(E).isAfter(k)?E=S(O).add(u,"hours").format("YYYY-MM-DD HH:00"):n.name=="结束"&&S(E).isBefore(T)&&(E=S(O).add(-u,"hours").format("YYYY-MM-DD HH:00")),l={name:"开始/结束",value:n.name=="开始"?`${O}/${E}`:`${E}/${O}`}}else l={name:n.name,value:O}}else l={name:e.seriesName,data:s[d].data};l.name&&Je("getNewSeriesData",l),I.getZr().on("mousemove",function(k){let T=k.offsetX,B=k.offsetY;I.dispatchAction({type:"showTip",x:T,y:B})})})}}),window.onresize=function(){I.resize()}},se=()=>{t.nextTick(()=>{I&&I.resize()})},ce=(f,h)=>{I.dispatchAction({type:h?"legendSelect":"legendUnSelect",name:f})};function Ze(f){return f.month()===0&&f.date()===1&&f.hour()===0&&f.minute()===0}function je(f){f.preventDefault();let h=document.querySelector("body .chartMenu");h&&h.remove();let c=f.pageX,y=f.pageY,r=document.createElement("ul");r.style.position="absolute",r.style.left=c+"px",r.style.top=y+"px",r.className="chartMenu";let D=document.createElement("li");D.style.cursor="pointer",D.innerHTML=`<div><img src='${Ne}'><span>还原缩放</span></div>`,r.appendChild(D);let g=document.createElement("li");g.style.cursor="pointer",g.innerHTML=`<div><img src='${ze}'><span>复制图片</span></div>`,r.appendChild(g);let L=document.createElement("li");L.style.cursor="pointer",L.innerHTML=`<div><img src='${Be}'><span>导出图片</span></div>`,r.appendChild(L),D.addEventListener("click",()=>{I.dispatchAction({type:"dataZoom",dataZoomIndex:0,start:0,end:100})}),g.addEventListener("click",()=>{xe(x.value,{useCORS:!0,scale:2,width:x.value.offsetWidth,height:x.value.offsetHeight+50,backgroundColor:"#fff",allowTaint:!0,removeContainer:!0}).then(U=>{const v=U.toDataURL("image/png"),H=$e(v,"图片");qe(H),Z.ElMessage.success("复制成功")})}),L.addEventListener("click",()=>{nn()}),document.body.appendChild(r),document.addEventListener("click",()=>{r.parentNode&&document.body.removeChild(r)})}const $e=(f,h="file")=>{const c=f.split(","),y=c[0].match(/:(.*?);/)[1],r=y.split("/")[1],D=window.atob(c[1]);let g=D.length;const L=new Uint8Array(g);for(;g--;)L[g]=D.charCodeAt(g);return new File([L],`${h}.${r}`,{type:y})},qe=f=>{const h=new FileReader;h.onload=c=>{const y=c.target.result.toString(),r=new Image;r.src=y,r.onload=()=>{let D=_e(r),g=en(D.replace("data:image/png;base64,",""),"image/png",512);navigator.clipboard.write([new ClipboardItem({"image/png":g})])}},h.readAsDataURL(f)},_e=f=>{let h=document.createElement("canvas");return h.width=f.width,h.height=f.height,h.getContext("2d").drawImage(f,0,0,f.width,f.height),h.toDataURL("image/png")},en=(f,h,c)=>{h=h||"",c=c||512;let y=window.atob(f),r=[];for(let g=0;g<y.length;g+=c){let L=y.slice(g,g+c),U=new Array(L.length);for(let H=0;H<L.length;H++)U[H]=L.charCodeAt(H);let v=new Uint8Array(U);r.push(v)}return new Blob(r,{type:h})},nn=()=>{xe(x.value,{useCORS:!0,scale:1,width:x.value.offsetWidth,height:x.value.offsetHeight+50,backgroundColor:"#fff",allowTaint:!0,removeContainer:!0}).then(f=>{const h=f.toDataURL("image/png"),c=document.createElement("a");c.href=h,c.download=a.chartOption.title,c.click()})},pe=t.ref();function tn(){return pe.value?pe.value.offsetHeight:0}function an(f,h){return new Promise(c=>{Te({STCD:a.chartOption.stationCode,rzw:f}).then(y=>{y.statusCode==200&&y.data?c(y.data):c(h*1e3)})})}function ln(f,h){if(f.length>0){let c=f.filter(r=>S(r[0]).isBefore(S(h))),y=f.filter(r=>S(r[0]).isAfter(S(h)));if(c.length==0)return[h,y[0][1]];if(y.length==0)return[h,c[c.length-1][1]];{let r=S(h).diff(S(c[c.length-1][0]),"seconds"),D=y[0][1]-c[c.length-1][1],g=S(y[0][0]).diff(S(c[c.length-1][0]),"seconds"),L=r*D/g+c[c.length-1][1];return[h,Number(L)]}}}function on(f){var g;let h=(g=a.chartOption.series.find(L=>L.name=="开始"))==null?void 0:g.data.value;const c=S(h),y=S(f),r=c.year()===y.year();return r&&c.month()===y.month()?y.format("DD HH:mm"):r?y.format("MM-DD HH:mm"):y.format("YYYY-MM-DD HH:mm")}return m({getLegendBoxHeight:tn,onChange:re}),(f,h)=>{const c=t.resolveComponent("el-checkbox"),y=t.resolveComponent("svg-icon"),r=t.resolveComponent("el-icon"),D=t.resolveComponent("el-dropdown-item"),g=t.resolveComponent("el-dropdown-menu"),L=t.resolveComponent("el-dropdown"),U=t.resolveDirective("resize");return t.withDirectives((t.openBlock(),t.createElementBlock("div",{class:"box",ref_key:"chartBox",ref:x,onContextmenu:h[1]||(h[1]=v=>je(v))},[t.withDirectives((t.openBlock(),t.createElementBlock("div",Le,[t.createTextVNode(t.toDisplayString(o.chartOption.title),1)])),[[t.vShow,o.chartOption.title],[U,se]]),t.withDirectives((t.openBlock(),t.createElementBlock("div",Ve,[t.createTextVNode(t.toDisplayString(o.chartOption.subTitle),1)])),[[t.vShow,o.chartOption.subTitle],[U,se]]),t.withDirectives((t.openBlock(),t.createElementBlock("div",{class:"legend-box",ref_key:"myLegend",ref:pe},[G.value.length>1?(t.openBlock(),t.createBlock(c,{key:0,modelValue:_.value,"onUpdate:modelValue":h[0]||(h[0]=v=>_.value=v),label:"全选",onChange:We,style:{"--fill-color":"#409EFF"}},null,8,["modelValue"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(G.value,(v,H)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:H},[v.children?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(c,{key:0,modelValue:v.isSelected,"onUpdate:modelValue":z=>v.isSelected=z,onChange:z=>re(z,v.name),style:t.normalizeStyle({"--fill-color":v.color?v.color:"#409EFF"})},{default:t.withCtx(()=>[v.icon?(t.openBlock(),t.createBlock(y,{key:0,"icon-class":v.icon,style:t.normalizeStyle({width:v.iconWidth?v.iconWidth+"px":"20px",height:v.iconHeight?v.iconHeight+"px":"20px"}),color:v.color},null,8,["icon-class","style","color"])):t.createCommentVNode("",!0),t.createElementVNode("span",{style:t.normalizeStyle({color:v.color,marginLeft:"3px"})},t.toDisplayString(v.key?v.key:v.name),5),v.children&&v.children.length>0?(t.openBlock(),t.createBlock(r,{key:1,class:"el-icon--right"},{default:t.withCtx(()=>[t.createVNode(t.unref(ye.ArrowDown))]),_:1})):t.createCommentVNode("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange","style"])),v.children&&v.children.length>0?(t.openBlock(),t.createBlock(L,{key:1,"hide-on-click":!1},{dropdown:t.withCtx(()=>[t.createVNode(g,null,{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(v.children,(z,ee)=>(t.openBlock(),t.createBlock(D,{key:ee},{default:t.withCtx(()=>[t.createVNode(c,{modelValue:z.isSelected,"onUpdate:modelValue":K=>z.isSelected=K,onChange:K=>re(K,z.name),style:t.normalizeStyle({"--fill-color":z.color?z.color:"#409EFF"})},{default:t.withCtx(()=>[t.createElementVNode("div",Ye,[z.icon?(t.openBlock(),t.createBlock(y,{key:0,"icon-class":z.icon,style:t.normalizeStyle({width:z.iconWidth?z.iconWidth+"px":"20px",height:z.iconHeight?z.iconHeight+"px":"20px"}),color:z.color},null,8,["icon-class","style","color"])):t.createCommentVNode("",!0)]),t.createElementVNode("span",{style:t.normalizeStyle({color:z.color,marginLeft:"3px"})},t.toDisplayString(z.key?z.key:z.name),5)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange","style"])]),_:2},1024))),128))]),_:2},1024)]),default:t.withCtx(()=>[t.createVNode(c,{modelValue:v.isSelected,"onUpdate:modelValue":z=>v.isSelected=z,onChange:z=>re(z,v.name),style:t.normalizeStyle({"--fill-color":v.color?v.color:"#409EFF"})},{default:t.withCtx(()=>[v.icon?(t.openBlock(),t.createBlock(y,{key:0,"icon-class":v.icon,style:t.normalizeStyle({width:v.iconWidth?v.iconWidth+"px":"20px",height:v.iconHeight?v.iconHeight+"px":"20px"}),color:v.color},null,8,["icon-class","style","color"])):t.createCommentVNode("",!0),t.createElementVNode("span",{style:t.normalizeStyle({color:v.color,marginLeft:"3px"})},t.toDisplayString(v.key?v.key:v.name),5),v.children&&v.children.length>0?(t.openBlock(),t.createBlock(r,{key:1,class:"el-icon--right"},{default:t.withCtx(()=>[t.createVNode(t.unref(ye.ArrowDown))]),_:1})):t.createCommentVNode("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange","style"])]),_:2},1024)):t.createCommentVNode("",!0)],64))),128))])),[[U,se]]),t.createElementVNode("div",He,[t.createElementVNode("div",{id:o.id,style:t.normalizeStyle({width:o.width,height:o.height})},null,12,Re)])],32)),[[U,se]])}}},[["__scopeId","data-v-27a959a0"]]),Ue=t.defineComponent({props:{iconClass:{type:String,required:!0},className:{type:String,default:""},color:{type:String,default:""}},setup(o){return{iconName:t.computed(()=>`#icon-${o.iconClass}`),svgClass:t.computed(()=>o.className?`svg-icon ${o.className}`:"svg-icon")}}}),Qe=["xlink:href","fill"];function Ge(o,m,N,x,a,w){return t.openBlock(),t.createElementBlock("svg",{class:t.normalizeClass(o.svgClass),"aria-hidden":"true"},[t.createElementVNode("use",{"xlink:href":o.iconName,fill:o.color},null,8,Qe)],2)}const Pe=Ee(Ue,[["render",Ge]]);oe.install=o=>{o.component("ElCheckbox",Z.ElCheckbox),o.component("ElIcon",Z.ElIcon),o.component("ElDropdown",Z.ElDropdown),o.component("ElDropdownMenu",Z.ElDropdownMenu),o.component("ElDropdownItem",Z.ElDropdownItem),o.component("SvgIcon",Pe),o.component("HydroGraph",oe)},R.HydroGraph=oe,R.default=oe,Object.defineProperties(R,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|