hydro-graph 1.0.44 → 1.0.45

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,7 +1,7 @@
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
- ${e.tmText}: {a1|${T}}`:`${e.tmText2?e.tmText2:"相应时间"}: {a1|${T}}
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'>
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,Fe,me,re,Ne,Te,v,Ee,_,be){"use strict";function ze(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 Me=ze(Fe);function Be(){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 we=["#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 F(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 Se(o,g,B){const u=[];let t=new Date(o);for(;t<=g;){const S=t.getMinutes();S%B===0&&u.push(v(new Date(t)).format("YYYY-MM-DD HH:mm")),t.setMinutes(S+1)}return u}function Le(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=v(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 Ve=o=>new Promise(g=>{setTimeout(()=>{g({statusCode:200,data:o.rzw*1e3})},100)}),Ye="data:image/png;base64,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",He="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAaVBMVEUAAAAQFBgQExcQEhYLFRcQExcQExYPExcQEhcOFBUQEhcQExcPEhcPExcQEhcQExYQERcPExYPEhcQExYQEhcTExMUFBQQExcQExcQExcQFBcPEhcPExcPFBYSEhgcHBwRExcOExgQExdmmIFTAAAAInRSTlMAQL+AFuzVxbEj3KOWdF9OR7qnnmgZDPrkyY5WQzIqCXs2T8mN8gAAAeVJREFUeNrt3dlqwzAQRmFFdpx9X7omaf/3f8iSrSW0FqFy0Micc+2bDxsGI9A4IiIiIqJHNJuMFz5hxWzQiGOs9PU30Yzdk0y0jnSUstI+DtKTlXpRjkJ2KmIgK9mp344vS+rGQLo65V3KOjoXM01kCdIBAgQIECChgAABEg4IECDhgAABEg4IkLZBNrPipul7lpB1pV+95AcpF/qrIjfIVmoHxLcEstajIV6XHgsZqaZ5ZpCqxrF0eUFKnfO3rQqXGaT2CSBAgAABAgQIECBAgAABAgQIEFsQr38HBAgQIECAOF+bLvm6bEFaM9mBAAECBAgQIECAAAECBAgQIECAADlBruUO+Q4IECA/AQECJBwQIEDCAQECJBwQIEDCAQECJBwQIEDCAQECJBwQIEDCGYQ8XyCdpOncJgKykJ2Gd7wz0xuTri1jIFPZaRoDcUtZaeyiIK4rIx0iIe5VFqoGLhbi5r3ky8Wqj2aubd12JkXC5uX9IzPzgFgLiLWANN1h1w7IvlLvrQWQgY695Q/p69gwf8hQp/KHCAiQU0CAAAkHBAiQcAYhgyskbQ0s+36WnV7i/gTsNGKz/7GhrDRyUb3LSlt3V9bP1rqfLrZypPS9uiaaTVY+Yf3JvHRERERERA/oC7GKf5yH1bdrAAAAAElFTkSuQmCC",Re="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAsVBMVEUAAAAEAAAEAAAEAAAFAAAEAAAEAAAEAAAEAAAEAAADAAAEAAAFAAAEAAAFAAAEAAAEAAAEAAAEAAAEAAAEAAADAAAGAAAAAAAAAAAEAAAEAAAEAAAAAAADAAAEAAAFAAAEAAAEAAAEAAADAAADAAAFAAAHAAAFAAAAAAAFAAAEAAAAAAAEAAAFAAADAAADAAAEAAAEAAADAAAEAAAFAAADAAAEAAAAAAADAAADAAAEAADKKhWhAAAAOnRSTlMAQIC/qMxgiXfrmPcyx2s677H74nJVKRQS0LmFCd22LtjUrJ2RNiUgGaNEDXxmW0nz5k6OZFK9Flfau44tfQAAB5tJREFUeNrs29lu2lAUheFlMGAwEAhDCXEgATOEMDQUMqz3f7CqalVtN8DGDLZP5e8J+C8W8jmykUqlUqlUKpVKpVKpVGJYS2c7humm8wf+Uu/AZK0e/3qHqfr+dwo2jORVc/xHHuaZPfOrOgwzyTS4Ux8m+ehynwyMUfZr3O8JZvCqdzxsCwOsbO5k1j/w732r3AkSbfnGIzlIrlGpxqPlkFAvzRxDWSGJVgMqvvtl2BRKSJzx/QMV3Q8AsCgUPSRLXt13Yz7FbxUKVSTIzVDd9/MMfzkU3pAUHX3fuaoHYXybwCfHtbrvmt9HUHDuPxC/cUHdd6+Fr1qB7SBuG3Xfn/Mpdvqk8IE43QyLPOz22cI+hYQcFN8ddd+VhYf9RpQ6iMd2cMvDXn/0cdhb7AfFtr7v+haqaswHxUWXiifnHdB1ahRuECmrpO3bHVo40jCug+JU33d2g+OtKLiISsvW9t0otBHKHYUFotAvfFIxWCOsecQHRU/fd875hvDGlCa4rpm671rpBqepU/BxRROnQkU3j5MtKRQREO2+PzNjnKMRwSVE+f5RfSRc40w+hS6E6PZdqXZwthElD0DE+y76I1xEYIJO1PuuL3Ep1WsdFFu2qz0Szse4nG8uhX5k+3aHM1zWM4UhLuBl06Miu3jBpa0oXWLfr+ojYRnX8Ehheea+m+q+B5mroVDJ7LUZedr523ZphAdL2bc5Rtits+nRLG3sYPmvNE0F/3rR9/3A5HE9BN08aU+29jrLBCojoKqdXJtTIJEhFqQZDymWLABGhJS4X2/jAaaE3HGPx/s+AHNCatzFfd4CMCqky6+yzQlgWkiB/2j4FoBDIXUH8WhnavtDLAY5L4ASYiE2vQO/o0LpA9BC7hCf/IEQh5Klh2QRH+vAbx27/0kIbAoFg0NaFIoGhwTfO1gbHFKgMDA4ZESpY25I8DGlaXBI8L0Dg0PeaxRG5oZgSKFkcMiKwu1pIZ384Kn2/TG77ECIOCR4TlyeEDLNvPKP18wUQrQhcwpv4UPaT8rFbFQhbUqTsCGWcjEbXQjqFDIhQyzlYjbKkDyFRsiQnPL9RJQhaFCYhQpZcIcFjla+aIhPwQ4VUjnzk5Z6+/QQba+dECEj5bJGM6d9coh6UVINEXLPne5xHMsly5cMaVLIhQgZcqchjuJlSfZODdHfOygfH9LlTl0o5KnOOjFEf+/APz7EPufjyO3P9s5tKZUYiKI9owKDIBdHFJWLHEUQlYsoVP//h52qI3U0FWB3JzOUY8169sGl1clOdwIwiOpF3vkbM7nIGxuo3oGM2uCiGRLB9w4uxCIL3sqaBJTNovQXsZefrljkts5bmE10HdALVxGcHIEIGHqVCdPqgBO2g4i9/jyLRSpw5GpjLxOFZETs0NTZI4LLPSRMbM5lEhShyEiOYhE6ctkNaxHzjjQxrXmKlI1fRipiz726BLE30jp9UikdcVEhgpPjRC5C4Zz/Mw9JQLj1Mfvo821s30PEPiK9KERoFG72tras9zA9tUfJtKzyhp5GBDUhqlDEpHcRx+uARFyBezyxp8iluYQCEQ/u0XMBTxEaGOOr1EReGTHUioDxVToij23ew7xxU6hdeYpQx0iOKYn82XM37KUy8d0Q7V26kY7I2e5XTUO3nR0nxzREKp0dd8OeCLKcS0TsuFFKSgQfKe8fSURcF4jY46sUREq8hUZAUlY3TZEIzYzkmLhIELFFu0AaemNLBD9+SFrktssW4cTpvxpoMn9z4iuC23mvpGfaxyJ0ZyTHZEXerazYrJELV8ccqAL2UaIiI+sIdj4iR+IAytrJUS+yKN1KsmKV3Al0F+6KTiLBKXenOCv2KUHwB67oRSoRM8+KKzJotdnknFJmbiRHvciws8lOhb1ZMbqk5MBNiIFaZPV1Yh4Pd2fFWY0SBSdHpcjt958+j2nDQ4cNmgvS4f9sVinSYIPryvasWCAV4YP3iaGtExlb3ZFwW1Yckw6OXsmBpnGCASKwpX0S0FPEBvOhVoQ59D0zlBUiRd7KW5dNzkgvwseXflcMZhOxyDPLGJCLCJ+AhQ41IZZSkTOWUe+5iXAdLBEgOX4IRQospEhqwPxemBwNEZjRMT1nEX2hfKhFniIWckyOIqhQcHIEIsbOjVl4ifBMVyh1NgAiRrQFVMlDRF8oZSBinf3ExN4iPFAUSksjMumymPrKX4TbikJpK0SOWc41uWAluII+OWKRMiu4IRd8NiMsYrfw9WtWLxDBNg1poQyEIiFriFbgjyDnTlgogUwkZhVdMmAfmsJCOZeILFlH6C2iL5RQILIOlSy8RfSFcgVF/GFf+jXCHGVARFQoF1kQERXKaSZEBIVSzoYIvtzZ+i0i1M+EiGANPsuCSJEE/HwRYU4Z/HSRvlNy9KdK6UQUTMSJUp+kExoxISdL5RAxHidHf9Z0gIMVTo7+PNMBjro4OfozppSaDxhOlDs6RDsIJ0d/WpROgw4z5EQp0QFapjg5+lOlQzSxcXL0p0IpjRUw6S7A+kGPM0GyEPmN3jLNV3lknE3kzOLXIW+/MJB5fkN5/CNb34QMrjn9CsIHysnJycnJycnJycnJycnB/AUiHJaNu/P1RgAAAABJRU5ErkJggg==",ke=(o,g)=>{const B=o.__vccOpts||o;for(const[u,t]of g)B[u]=t;return B},Ue={class:"title"},Qe={class:"subTitle"},Ge={style:{width:"20px",display:"flex","justify-content":"center"}},Pe={class:"mychart"},Je=["id"],se=ke({__name:"HydroGraph",props:{id:{type:String,default(){return Be()}},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}){Me.use([re.TooltipComponent,re.GridComponent,re.LegendComponent,re.DataZoomComponent,me.LineChart,me.BarChart,Ne.LabelLayout,Te.CanvasRenderer]);const u=n.ref(),t=o;t.chartOption.series||(t.chartOption.series=[]);let S={};const $e=B;let ne={},ue=!1;n.watch(()=>t.chartOption,()=>{if(ue){ue=!1;return}n.nextTick(()=>{let c=setInterval(()=>{document.getElementById(t.id)&&document.getElementById(t.id).offsetHeight>100&&document.getElementById(t.id).offsetWidth>100&&(D&&D.getOption()&&!t.chartOption.restoreZoom&&(ne={...D.getOption().dataZoom[0],moveOnMouseMove:t.chartOption.series.some(h=>h.openBarDrag&&(h.type=="line"||h.type=="markLine"))?"ctrl":!0}),xe(),clearInterval(c))},100)})},{deep:!0,immediate:!0});let te={};n.watch(()=>t.legendList,()=>{D&&(te=D.getOption().legend[0].selected);let c=t.legendList.map(s=>{let A=Oe.find(i=>i.code==s.name);return A?{...s,...A}:{...s}}),h=JSON.parse(JSON.stringify(X.value));S={},X.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(H=>H.name==I.name)?m=A.children.find(H=>H.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"}],Oe=[{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"}],Ze=["校核洪水位","设计洪水位","正常高水位","坝顶高程","死水位","主汛期"],X=n.ref(t.legendList.map((c,h)=>{let s=Oe.find(A=>A.code==c.name);return c.color||(c.color=we[h]),s?{...c,...s}:{...c}}));X.value.forEach(c=>{S[c.name]=c,c.children&&c.children.forEach(h=>{S[h.name]=h})});const ae=n.ref(!0);let Ie=null;const qe=c=>{var s;let h=[];ae.value=c,X.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=>{$[A]=c,he(A,c)}),ne={...(s=D.getOption())==null?void 0:s.dataZoom[0]},xe()},ce=(c,h)=>{var A;let s=[];X.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)?($[i[0]]=c,$[i[1]]=c,he(i[0],c),he(i[1],c)):($[i]=c,he(i,c))}),Ie=X.value.some(i=>i.isSelected==!1),Ie?ae.value=!1:ae.value=!0,ne={...(A=D.getOption())==null?void 0:A.dataZoom[0]},xe()};n.onMounted(()=>{window.addEventListener("keydown",_e)});let Ae={};const _e=c=>{if(c.key==="i"){let h=JSON.parse(JSON.stringify(D.getOption()));h.series.forEach(s=>{s.markPoint&&s.markPoint.data.length!=0?s.markPoint.data=[]:s.markPoint&&s.markPoint.data==0&&(s.markPoint=Ae[s.name])}),D.setOption(h)}};let $={},D,de;const j=n.ref({}),xe=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}});X.value.forEach(e=>{$[e.name]=e.isSelected,e.children&&e.children.forEach(l=>{$[l.name]=l.isSelected})}),de=document.getElementById(t.id),D||(D=Me.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=Se(new Date(v().subtract(5,"day").format("YYYY-MM-DD 08:00")),new Date(v().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)),H=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(b){return e.type=="time"?en(v(v(b).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(b):e.name.includes("万m³")?b.toFixed(2):e.name.includes("mm")?b.toFixed(1):e.name.includes("m")?b.toFixed(2):(b||b==0)&&e.toFixed?Number(b).toFixed(e.toFixed):b:b},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 b=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,k=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),k=Math.max(...y),a.some(f=>f.type=="bar")||e.name.includes("雨")?(b=0,(d!==0||k!==0)&&(w=Math.ceil(k/F(0,k))*F(0,k),p=F(0,k))):e.min||e.min==0?(b=e.min,(d!==0||k!==0)&&(w=Math.ceil(k/F(e.min,k))*F(e.min,k),p=F(e.min,k))):(d!==0||k!==0)&&(b=Math.floor(d/F(d,k))*F(d,k),w=Math.ceil(k/F(d,k))*F(d,k),p=F(d,k))),x.min=e.min!=""&&e.min!=null?e.min:b,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}),P=t.chartOption.yAxis.map((e,l)=>{let r=0,x=100,b=10;if(e.name.includes("m³/s")?(x=1e3,b=100):e.name.includes("万m³")&&(x=1e4,b=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&&($[f.name]||!Object.keys($).includes(f.name))),p=[],a=[],M=[],y=0,d=100,k=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 z=N[1];if(z!=""&&z!=null&&z!=null&&!isNaN(z)){const C=Number(z);k===null&&(k=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/F(0,d,1))*F(0,d,1)+F(0,d,1)*(e.upIntervalNumber!=null?e.upIntervalNumber:1),b=F(0,d,1)):(y!==0||d!==0)&&(x=Math.ceil(d/F(0,d))*F(0,d)+F(0,d)*(e.upIntervalNumber!=null?e.upIntervalNumber:1),b=F(0,d));else if(e.min||e.min==0)r=e.min,(y!==0||d!==0)&&(x=Math.ceil(d/F(e.min,d))*F(e.min,d)+F(e.min,d)*(e.upIntervalNumber!=null?e.upIntervalNumber:1),b=F(e.min,d));else if(y!==0||d!==0)if(t.chartOption.xAxis.some(O=>O.type==="value")&&k!==null){r=k;const O=F(r,d);x=Math.ceil((d-r)/O)*O+r+O*(e.upIntervalNumber!=null?e.upIntervalNumber:1),b=O}else r=Math.floor(y/F(y,d))*F(y,d)-F(y,d)*(e.downIntervalNumber!=null?e.downIntervalNumber:1),x=Math.ceil(d/F(y,d))*F(y,d)+F(y,d)*(e.upIntervalNumber!=null?e.upIntervalNumber:1),b=F(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/F(0,O))*F(0,O),x=f,r=0-f,b=F(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:b,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}}}}),E=c.some(e=>e.openBarDrag),R=c.map((e,l)=>{var x,b,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:we[l];return e.color2&&p.value[1]<0?e.color2:a},decal:{symbol:e.pattern?e.pattern:"none"}},barCategoryGap:e.barCategoryGap?e.barCategoryGap:P[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||((b=S[e.name])==null?void 0:b.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:E?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,z)=>parseFloat(z[1])>parseFloat(N[1])?z:N,y[0]),k=d?d[0]:"",f=d?d[1]:"",O;i.forEach((N,z)=>{v(N).isValid()&&N==k&&(N.markPointOffset||(z>=i.length/5*4?O=[-200,0]:z>=i.length/5*3?O=[-150,0]:z>=i.length/5*2?O=[-100,0]:z>=i.length/5*1?O=[-50,0]:z>=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 z="";if(N.data&&N.data.coord&&N.data.coord[0]){let q=e.tmType?e.tmType:"YYYY-MM-DD HH:mm";z=v(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
+ ${e.tmText}: {a1|${z}}`:`${e.tmText2?e.tmText2:"相应时间"}: {a1|${z}}
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:k,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}: ${fn(M.value)}`),e.labelArr&&e.labelArr.forEach(d=>{y+=`{a1|
4
+ ${d.name}: ${d.value} ${d.unit}}`}),y}else{let y="";return(Ze.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=P.map(e=>e.name),oe={},Z={};if(L.includes("水位(m)")&&L.includes("库容(万m³)")&&t.chartOption.stationCode){let e=P.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 cn(l[a],a);r.push(M)}P.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=="库容"),b=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]}),b&&b.data&&b.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=v(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:P.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)}),j.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'>
@@ -17,12 +17,12 @@ ${d.name}: ${d.value} ${d.unit}}`}),y}else{let y="";return($e.includes(e.name)||
17
17
  <div style='width:30px'>${l}</div>
18
18
  </div>
19
19
  </div>
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'>
20
+ </div>`,r}}else if(t.chartOption.tooltipType=="2"||t.chartOption.tooltipType=="4"){let l="";return h.forEach(r=>{let x=e.find(b=>b.seriesName==r.name);if(x){let b=x.axisId,w=/[\u4e00-\u9fa5]+|\([^)]+\)/g,p=b.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],k=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
22
  <div style='margin-right:8px;'>${d}</div>
23
23
  <div style='display:flex;align-items: center;'>
24
24
  <div style='margin-right:5px;'>${x.value[1]||x.value[1]===0?x.value[1]:"--"}</div>
25
- <div style='width:30px'>${v||""}</div>
25
+ <div style='width:30px'>${k||""}</div>
26
26
  </div>
27
27
  </div>
28
28
  <div style='display:flex;align-items: center;justify-content: space-between'>
@@ -32,7 +32,7 @@ ${d.name}: ${d.value} ${d.unit}}`}),y}else{let y="";return($e.includes(e.name)||
32
32
  <div style='width:30px'>${M||""}</div>
33
33
  </div>
34
34
  </div>
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'>
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/>",b=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[b],b++,h.find(d=>d.name=="预报潮位1")&&(w=`<div>${y}</div>`)):w="",M){let d="";M.value[1]&&(d=`<div style='padding-right:8px'>
36
36
  ${w}
37
37
  <div style='display:flex;align-items: center;justify-content: space-between'>
38
38
  <div style='margin-right:8px;'>${M.marker} ${M.seriesName.replace(/\d+/g,"")}</div>
@@ -41,7 +41,7 @@ ${d.name}: ${d.value} ${d.unit}}`}),y}else{let y="";return($e.includes(e.name)||
41
41
  <div style='width:30px'>${p.unit?p.unit:""}</div>
42
42
  </div>
43
43
  </div>
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'>
44
+ </div>`),x+=d}}),x}else{let l="";return t.chartOption.tooltipNameTimeType?Array.isArray(e[0].value)?l=v(e[0].value[0]).format(t.chartOption.tooltipNameTimeType)+"<br/>":l=v(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 b;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:X.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:${(b=S[r.name])==null?void 0:b.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
46
  <div style='margin-right:8px;'>${a} ${w||x.seriesName}</div>
47
47
  <div style='display:flex;align-items: center;'>
@@ -49,8 +49,8 @@ ${d.name}: ${d.value} ${d.unit}}`}),y}else{let y="";return($e.includes(e.name)||
49
49
  <div style='width:30px'>${r.unit?r.unit:""}</div>
50
50
  </div>
51
51
  </div>
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"}})}));
52
+ </div>`}l+=p}}),l}}},legend:{show:!1,selected:$},grid:m,axisPointer:{link:{xAxisIndex:"all"}},xAxis:H,yAxis:P,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&&(j.value.visualMap=t.chartOption.visualMap.map(e=>{let l=R[e.seriesIndex],r=[],x=[];return e.step?x=Le(e.pieces,e.step):x=e.pieces,x.forEach((b,w)=>{let p=new Date(b.startTm).getTime(),a=new Date(b.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)!="{}"&&(j.value.dataZoom[0]=ne),console.log(j.value),D.setOption(j.value,!0),D.getOption().series.map(e=>{e.markPoint&&(Ae[e.name]=e.markPoint)}),t.chartOption.isTooltipItem){let e=document.createElement("div");e.className="line-name-tooltip-style",de.appendChild(e),D.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")}),D.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()})}D.off("click"),D.on("click",e=>{var O,N,z;const l=h.find(C=>C.name==e.seriesName);if(!l||e.seriesType!=="line")return;const{data:r,seriesIndex:x}=e,w=((O=D.getOption().series[x].markPoint)==null?void 0:O.data)||[],p=i.findIndex(C=>v(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:"--",k=l.tmType||"YYYY-MM-DD HH:mm",f=l.backgroundColor||((N=S[l.name])==null?void 0:N.color)||l.color;j.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 K,V;const Q=(V=(K=C.data)==null?void 0:K.coord)==null?void 0:V[0],q=Q?v(Q).format(k):"";if(C.name==="Max"){const Y=l.maxText||"最大值",T=d(C.value,l.unit),G=l.tmText||l.tmText2||"相应时间";return l.tmText?`${Y}: {a0|${T}} ${l.unit}
54
+ ${G}: {a1|${q}}`:`${G}: {a1|${q}}
55
+ ${Y}: {a0|${T}} ${l.unit}`}if(C.name!=="Min")return`相应时间: {a1|${v(Q).format(k)}}
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},j.value.dataZoom[0]={...(z=D.getOption())==null?void 0:z.dataZoom[0]},D.setOption(j.value,!0),D.getOption().series.forEach(C=>{C.markPoint&&(Ae[C.name]=C.markPoint)})}),D.on("mousedown",function(e){D.setOption({tooltip:{show:!1}}),D.dispatchAction({type:"hideTip"});const{seriesIndex:l}=e,r=t.chartOption.series[l];if(!(r!=null&&r.openBarDrag))return;const x=r.stepTM||60,b=e.componentType==="markLine"&&r.data.name==="xAxis",w=r.name==="开始",p=t.chartOption.yAxis[r.yAxisIndex],a={};let M={},y,d,k;const f=j.value.series.map((V,Y)=>b?V.name==="开始"||V.name==="结束"?JSON.parse(JSON.stringify(V)):{}:Y===l?{data:JSON.parse(JSON.stringify(V.data))}:{});let O=0;if(t.chartOption.fixedTimePeriod){const V=t.chartOption.series.find(T=>T.name==="开始").data.value,Y=t.chartOption.series.find(T=>T.name==="结束").data.value;O=v(Y).diff(v(V),"hour")}const N=v(i[i.length-1]),z=I?v(I):null,C=V=>{const Y=p.name;return Y.includes("m³")?ee(V):Y.includes("mm")?V.toFixed(1):Y.includes("m")?V.toFixed(2):V},Q=(V,Y)=>{f.forEach(T=>{T.name==="开始"?(T.markLine.data[0].xAxis=V,T.markArea.data[0][0].xAxis=V,Y!=null&&(T.markArea.data[0][1].xAxis=Y)):T.name==="结束"&&(T.markLine.data[0].xAxis=Y??T.markLine.data[0].xAxis)})},q=()=>{D.setOption({series:f},{notMerge:!1,lazyUpdate:!0})},K=D.getZr();K.off("mousemove"),K.off("mouseup"),K.on("mousemove",function(V){if(b){const Y=D.convertFromPixel({xAxisIndex:r.xAxisIndex},V.offsetX),T=v(Y).format("YYYY-MM-DD HH:00");if(T===y)return;const G=v(T);if(G.isAfter(N)||z&&G.isBefore(z))return;if(t.chartOption.fixedTimePeriod){const W=w?O:-O;if(k=v(T).add(W,"hours").format("YYYY-MM-DD HH:00"),w&&v(k).isAfter(N)||!w&&z&&v(k).isBefore(z))return;Q(w?T:k,w?k:T)}else w?Q(T,null):f.forEach(W=>{W.name==="开始"&&(W.markArea.data[0][1].xAxis=T),W.name==="结束"&&(W.markLine.data[0].xAxis=T)});q(),y=T}else{const[Y,T]=D.convertFromPixel({seriesIndex:l},[V.offsetX,V.offsetY]),G=v(Y).format("YYYY-MM-DD HH:00");if(G===y&&d&&Math.abs(T-d)<.5)return;a[G]=T;const W=Object.keys(a).sort(),Ce=new Set(W);f[l].data.forEach(J=>{Ce.has(J[0])&&(J[1]=a[J[0]])});const hn=Se(new Date(W[0]),new Date(W[W.length-1]),x);let pe=Object.entries(a).sort((J,ge)=>v(J[0]).valueOf()-v(ge[0]).valueOf());const pn=hn.filter(J=>!Ce.has(J)).map(J=>dn(pe,J));pe=pe.concat(pn).sort((J,ge)=>v(J[0]).valueOf()-v(ge[0]).valueOf());const De=new Map(pe);f[l].data.forEach(J=>{De.has(J[0])&&(J[1]=C(De.get(J[0])))}),q(),y=G,d=T}}),K.on("mouseup",function(){if(K.off("mousemove"),K.off("mouseup"),b?y&&(k?(w&&v(k).isAfter(N)?k=v(y).add(O,"hours").format("YYYY-MM-DD HH:00"):!w&&z&&v(k).isBefore(z)&&(k=v(y).add(-O,"hours").format("YYYY-MM-DD HH:00")),M={name:"开始/结束",value:w?`${y}/${k}`:`${k}/${y}`}):M={name:r.name,value:y}):M={name:e.seriesName,data:f[l].data},M.name){ue=!0,$e("getNewSeriesData",M);const V=D.getOption().series;j.value.series.forEach((Y,T)=>{const G=V[T];G&&(G.data&&(Y.data=G.data),G.markLine&&(Y.markLine=G.markLine),G.markArea&&(Y.markArea=G.markArea))})}K.on("mousemove",({offsetX:V,offsetY:Y})=>{D.dispatchAction({type:"showTip",x:V,y:Y})})})}),window.onresize=function(){D.resize()}},fe=()=>{n.nextTick(()=>{D&&D.resize()})},he=(c,h)=>{D.dispatchAction({type:h?"legendSelect":"legendUnSelect",name:c})};function en(c){return c.month()===0&&c.date()===1&&c.hour()===0&&c.minute()===0}function nn(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='${Ye}'><span>还原缩放</span></div>`,i.appendChild(I);let m=document.createElement("li");m.style.cursor="pointer",m.innerHTML=`<div><img src='${He}'><span>复制图片</span></div>`,i.appendChild(m);let H=document.createElement("li");H.style.cursor="pointer",H.innerHTML=`<div><img src='${Re}'><span>导出图片</span></div>`,i.appendChild(H),I.addEventListener("click",()=>{D.dispatchAction({type:"dataZoom",dataZoomIndex:0,start:0,end:100})}),m.addEventListener("click",()=>{Ee(u.value,{useCORS:!0,scale:2,width:u.value.offsetWidth,height:u.value.offsetHeight+50,backgroundColor:"#fff",allowTaint:!0,removeContainer:!0}).then(P=>{const E=P.toDataURL("image/png"),R=tn(E,"图片");an(R),_.ElMessage.success("复制成功")})}),H.addEventListener("click",()=>{rn()}),document.body.appendChild(i),document.addEventListener("click",()=>{i.parentNode&&document.body.removeChild(i)})}const tn=(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 H=new Uint8Array(m);for(;m--;)H[m]=I.charCodeAt(m);return new File([H],`${h}.${i}`,{type:A})},an=c=>{const h=new FileReader;h.onload=s=>{const A=s.target.result.toString(),i=new Image;i.src=A,i.onload=()=>{let I=on(i),m=ln(I.replace("data:image/png;base64,",""),"image/png",512);navigator.clipboard.write([new ClipboardItem({"image/png":m})])}},h.readAsDataURL(c)},on=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")},ln=(c,h,s)=>{h=h||"",s=s||512;let A=window.atob(c),i=[];for(let m=0;m<A.length;m+=s){let H=A.slice(m,m+s),P=new Array(H.length);for(let R=0;R<H.length;R++)P[R]=H.charCodeAt(R);let E=new Uint8Array(P);i.push(E)}return new Blob(i,{type:h})},rn=()=>{Ee(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()})},ye=n.ref();function sn(){return ye.value?ye.value.offsetHeight:0}function cn(c,h){return new Promise(s=>{Ve({STCD:t.chartOption.stationCode,rzw:c}).then(A=>{A.statusCode==200&&A.data?s(A.data):s(h*1e3)})})}function dn(c,h){if(c.length>0){let s=c.filter(i=>v(i[0]).isBefore(v(h))),A=c.filter(i=>v(i[0]).isAfter(v(h)));if(s.length==0)return[h,A[0][1]];if(A.length==0)return[h,s[s.length-1][1]];{let i=v(h).diff(v(s[s.length-1][0]),"seconds"),I=A[0][1]-s[s.length-1][1],m=v(A[0][0]).diff(v(s[s.length-1][0]),"seconds"),H=i*I/m+s[s.length-1][1];return[h,Number(H)]}}}function fn(c){var m;let h=(m=t.chartOption.series.find(H=>H.name=="开始"))==null?void 0:m.data.value;const s=v(h),A=v(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:sn,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"),H=n.resolveComponent("el-dropdown"),P=n.resolveDirective("resize");return n.withDirectives((n.openBlock(),n.createElementBlock("div",{class:"box",ref_key:"chartBox",ref:u,onContextmenu:h[1]||(h[1]=E=>nn(E))},[n.withDirectives((n.openBlock(),n.createElementBlock("div",Ue,[n.createTextVNode(n.toDisplayString(o.chartOption.title),1)])),[[n.vShow,o.chartOption.title],[P,fe]]),n.withDirectives((n.openBlock(),n.createElementBlock("div",Qe,[n.createTextVNode(n.toDisplayString(o.chartOption.subTitle),1)])),[[n.vShow,o.chartOption.subTitle],[P,fe]]),n.withDirectives((n.openBlock(),n.createElementBlock("div",{class:"legend-box",ref_key:"myLegend",ref:ye},[X.value.length>1?(n.openBlock(),n.createBlock(s,{key:0,modelValue:ae.value,"onUpdate:modelValue":h[0]||(h[0]=E=>ae.value=E),label:"全选",onChange:qe,style:{"--fill-color":"#409EFF"}},null,8,["modelValue"])):n.createCommentVNode("",!0),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(X.value,(E,R)=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:R},[E.children?n.createCommentVNode("",!0):(n.openBlock(),n.createBlock(s,{key:0,modelValue:E.isSelected,"onUpdate:modelValue":L=>E.isSelected=L,onChange:L=>ce(L,E.name),style:n.normalizeStyle({"--fill-color":E.color?E.color:"#409EFF"})},{default:n.withCtx(()=>[E.icon?(n.openBlock(),n.createBlock(A,{key:0,"icon-class":E.icon,style:n.normalizeStyle({width:E.iconWidth?E.iconWidth+"px":"20px",height:E.iconHeight?E.iconHeight+"px":"20px"}),color:E.color},null,8,["icon-class","style","color"])):n.createCommentVNode("",!0),n.createElementVNode("span",{style:n.normalizeStyle({color:E.color,marginLeft:"3px"})},n.toDisplayString(E.key?E.key:E.name),5),E.children&&E.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"])),E.children&&E.children.length>0?(n.openBlock(),n.createBlock(H,{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(E.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",Ge,[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:E.isSelected,"onUpdate:modelValue":L=>E.isSelected=L,onChange:L=>ce(L,E.name),style:n.normalizeStyle({"--fill-color":E.color?E.color:"#409EFF"})},{default:n.withCtx(()=>[E.icon?(n.openBlock(),n.createBlock(A,{key:0,"icon-class":E.icon,style:n.normalizeStyle({width:E.iconWidth?E.iconWidth+"px":"20px",height:E.iconHeight?E.iconHeight+"px":"20px"}),color:E.color},null,8,["icon-class","style","color"])):n.createCommentVNode("",!0),n.createElementVNode("span",{style:n.normalizeStyle({color:E.color,marginLeft:"3px"})},n.toDisplayString(E.key?E.key:E.name),5),E.children&&E.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))])),[[P,fe]]),n.createElementVNode("div",Pe,[n.createElementVNode("div",{id:o.id,style:n.normalizeStyle({width:o.width,height:o.height})},null,12,Je)])],32)),[[P,fe]])}}},[["__scopeId","data-v-f3fa0048"]]),We=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")}}}),Xe=["xlink:href","fill"];function je(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,Xe)],2)}const Ke=ke(We,[["render",je]]);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",Ke),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.44",
3
+ "version": "1.0.45",
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",