UNPKG

@dfsj/echarts

Version:

专业的水文曲线组件或构造函数以及通用的echart二次封装图表

12 lines (10 loc) 3.76 kB
/** * * @dfsj/echarts: 专业的水文曲线组件或构造函数以及通用的echart二次封装图表 * 版本: v4.0.0-alpha.9 * 作者:yangbo <1747837358@qq.com> * 日期:2026-07-10 17:09:23 * * */ import{complexMinMaxIndex as n,minimum as t,maximum as u,getNearNDays as r,numeralFormat as e}from"../utils/tools.js";import{CATEGORY as a}from"../config.js";import i from"../utils/units.js";function m(){var m={15:{forec:{createOptions:function(r){if(null==r)return null;var e=n(r,a.FLOW);return{yAxis:[{$layout:a.RAINFALL,name:"降雨量(mm)",min:0,max:function(n){return Math.round(n.max+.1*(n.max-n.min))}},{$layout:a.SWC,name:"土壤含水量(%)",min:0,max:function(n){return Math.round(n.max+.1*(n.max-n.min))}},{$layout:a.FLOW,name:"流量(m³/s)",min:function(n){return t(n,e)},max:function(n){return u(n,e)}},{$layout:"",name:""}]}},transform:function(n){return n}},real:{createOptions:function(e){if(null==e)return null;var i=n(e,a.FLOW),m=n(e,a.STAGE),o=r(e.source,7),l=Math.min.apply(null,m),c=Math.max.apply(null,m);return{dataZoom:[{type:"slider",startValue:o[0],endValue:o[1]},{type:"inside",startValue:o[0],endValue:o[1]}],yAxis:[{layout:a.RAINFALL,name:"降雨量(mm)",min:0,max:function(n){return Math.round(n.max+.1*(n.max-n.min))}},{layout:a.FLOW,name:"流量(m³/s)",min:function(n){return t(n,i)},max:function(n){return u(n,i)}},{layout:a.STAGE,name:"水位(m)",min:function(n){var u;return Number.isNaN(n.max)&&Number.isNaN(n.min)&&null!==(u=e.indices)&&void 0!==u&&u.length?t({max:c,min:l},m):t(n,m)},max:function(n){var t;return Number.isNaN(n.max)&&Number.isNaN(n.min)&&null!==(t=e.indices)&&void 0!==t&&t.length?u({max:c,min:l},m):u(n,m)}}]}},transform:function(n){return n}}},1:{forec:{createOptions:function(r){if(null==r)return null;var e=n(r,a.FLOW);return{yAxis:[{$layout:a.RAINFALL,name:"降雨量(mm)",min:0,max:function(n){return Math.round(n.max+.1*(n.max-n.min))}},{$layout:"",name:""},{$layout:a.FLOW,name:"流量(m³/s)",min:function(n){return t(n,e)},max:function(n){return u(n,e)}},{$layout:0,name:""}]}},transform:function(n){return n}},real:{createOptions:function(e){if(null==e)return null;var i=n(e,a.FLOW),m=n(e,a.STAGE),o=n(e,a.CAPACITY),l=r(e.source||[],-7);return{dataZoom:[{type:"slider",startValue:l[0],endValue:l[1]},{type:"inside",startValue:l[0],endValue:l[1]}],yAxis:[{$layout:a.RAINFALL,name:"降雨量(mm)",min:0,max:function(n){return Math.round(n.max+.1*(n.max-n.min))}},{$layout:a.FLOW,name:"流量(m³/s)",min:function(n){return t(n,i)},max:function(n){return u(n,i)}},{$layout:a.STAGE,name:"水位(m)",min:function(n){return t(n,m)},max:function(n){return u(n,m)}},{$layout:a.CAPACITY,name:"库容(".concat(e.unit.symbol,")"),min:function(n){return t(n,o)},max:function(n){return u(n,o)}}]}},transform:function(n){if(null==n)return null;n.unit=i[2];var t=n.dimensions.findIndex(function(n){return n.code===a.CAPACITY});if(t>-1){var u=n.source.reduce(function(n,u){return u[t]>n?u[t]:n},0),r=i.find(function(n){return u>=n.value});if(r.value>0&&(n.source.forEach(function(n){return e(n[t]/=r.value)}),n.dimensions[t].name="库容(".concat(r.symbol,")"),n.unit=r,n.indices)){var m=n.indices.find(function(n){return n.code===a.CAPACITY});m&&(m.indices.forEach(function(n){return n.value/=r.value}),m.unit="(".concat(r.symbol,")"))}}return n}},dispatch:{createOptions:function(r){if(null==r)return null;var e=n(r,a.FLOW),i=n(r,a.STAGE);return{yAxis:[{$layout:a.FLOW,name:"流量(m³/s)",min:function(n){return t(n,e)},max:function(n){return u(n,e)}},{$layout:a.STAGE,name:"水位(m)",min:function(n){return t(n,i)},max:function(n){return u(n,i)}}]}}}}};return{getExistConfig:function(n){return m[n]||{}}}}export{m as useAssist};