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