hydro-graph 1.0.43 → 1.0.44

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