st-comp 0.0.164 → 0.0.166
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/components.d.ts +3 -0
- package/es/ChartLayout.cjs +1 -1
- package/es/ChartLayout.js +3 -3
- package/es/Dialog.cjs +1 -1
- package/es/Dialog.js +16 -14
- package/es/FactorWarning.cjs +1 -1
- package/es/FactorWarning.js +492 -614
- package/es/Kline.cjs +1 -1
- package/es/Kline.js +16 -16
- package/es/KlineBasic.cjs +1 -1
- package/es/KlineBasic.js +477 -766
- package/es/KlineConfig.cjs +1 -0
- package/es/KlineConfig.js +703 -0
- package/es/KlineNew.cjs +1 -1
- package/es/KlineNew.js +14 -14
- package/es/KlinePlus.cjs +6 -0
- package/es/KlinePlus.js +1212 -0
- package/es/Pagination.cjs +1 -1
- package/es/Pagination.js +21 -20
- package/es/PasswordPrompt.cjs +1 -1
- package/es/PasswordPrompt.js +3 -3
- package/es/Table.cjs +1 -1
- package/es/Table.js +100 -279
- package/es/User.cjs +1 -1
- package/es/User.js +41 -39
- package/es/VarSelectDialog.cjs +1 -1
- package/es/VarSelectDialog.js +23 -22
- package/es/VarietySearch.cjs +1 -1
- package/es/VarietySearch.js +34 -32
- package/es/VirtualTable.cjs +5 -5
- package/es/VirtualTable.js +1018 -1056
- package/es/{_initCloneObject-47814efa.cjs → _initCloneObject-9ccbb113.cjs} +1 -1
- package/es/{_initCloneObject-c939f3af.js → _initCloneObject-a9305c1e.js} +3 -3
- package/es/base-4bcd2756.js +304 -0
- package/es/base-bdc10baa.cjs +5 -0
- package/es/{castArray-a78ae889.cjs → castArray-37eb9980.cjs} +1 -1
- package/es/{castArray-2440268f.js → castArray-681d750b.js} +1 -1
- package/es/{config-provider-722dca36.js → config-provider-93846ae3.js} +9 -9
- package/es/config-provider-ec6b09df.cjs +1 -0
- package/es/dayjs.min-19fb125f.cjs +1 -0
- package/es/dayjs.min-54a4e095.js +296 -0
- package/es/{debounce-82e23c4b.js → debounce-51046b06.js} +1 -1
- package/es/{debounce-cf26af24.cjs → debounce-9e323221.cjs} +1 -1
- package/es/{dropdown-6f8379f0.js → dropdown-65e74de8.js} +6 -6
- package/es/{dropdown-790d31ea.cjs → dropdown-b2dab5bb.cjs} +1 -1
- package/es/{el-autocomplete-75762ef9.js → el-autocomplete-5064d466.js} +9 -9
- package/es/{el-autocomplete-84de99ba.cjs → el-autocomplete-814993af.cjs} +1 -1
- package/es/el-button-960edd49.cjs +1 -0
- package/es/{el-button-2e878325.js → el-button-d39472d3.js} +37 -36
- package/es/{el-checkbox-group-45247bbf.cjs → el-checkbox-group-020b49f5.cjs} +1 -1
- package/es/{el-checkbox-group-5e4f32f0.js → el-checkbox-group-779f353a.js} +2 -2
- package/es/el-dialog-cd484c1f.cjs +1 -0
- package/es/el-dialog-f45ec2a1.js +267 -0
- package/es/el-divider-40c50ce7.cjs +1 -0
- package/es/el-divider-7cf13678.js +45 -0
- package/es/{el-empty-2ece1134.cjs → el-empty-627ec09e.cjs} +1 -1
- package/es/{el-empty-7f8acbdc.js → el-empty-64b2ea8a.js} +2 -2
- package/es/{el-form-item-45ba08ff.js → el-form-item-b31e7a98.js} +8 -8
- package/es/{el-form-item-47e255d4.cjs → el-form-item-e1c3104b.cjs} +2 -2
- package/es/{el-input-1323afd2.js → el-input-42315ac4.js} +48 -48
- package/es/{el-input-cb340042.cjs → el-input-5163bda3.cjs} +1 -1
- package/es/{el-input-number-0f194f3f.cjs → el-input-number-eb54cde4.cjs} +1 -1
- package/es/{el-input-number-991f8bfc.js → el-input-number-ebd64e22.js} +19 -19
- package/es/el-loading-15a5501c.cjs +1 -0
- package/es/el-loading-5d29f26d.js +187 -0
- package/es/{el-menu-item-4c9eb7ad.cjs → el-menu-item-ac89e804.cjs} +1 -1
- package/es/{el-menu-item-dbbcd01a.js → el-menu-item-d62e0a3f.js} +32 -32
- package/es/el-message-ad87b9dd.cjs +1 -0
- package/es/{el-message-03e6f342.js → el-message-bd1d2c82.js} +17 -17
- package/es/el-overlay-690b50aa.js +269 -0
- package/es/el-overlay-e5d318c3.cjs +1 -0
- package/es/{el-popconfirm-8372cd13.js → el-popconfirm-88bbd066.js} +13 -13
- package/es/{el-popconfirm-86503f8a.cjs → el-popconfirm-a497b279.cjs} +1 -1
- package/es/{el-popper-7adbf1c6.cjs → el-popper-14a9d493.cjs} +1 -1
- package/es/{el-popper-b5315f5b.js → el-popper-85365d5b.js} +63 -63
- package/es/{el-scrollbar-ac525239.cjs → el-scrollbar-8bf765f2.cjs} +1 -1
- package/es/{el-scrollbar-4dc1493a.js → el-scrollbar-bcf29780.js} +21 -21
- package/es/el-segmented-84707138.js +136 -0
- package/es/el-segmented-bccd9f2a.cjs +1 -0
- package/es/{el-select-31f8ac8a.cjs → el-select-1d2309a1.cjs} +1 -1
- package/es/{el-select-a4ad7c8b.js → el-select-d3bce4d1.js} +13 -13
- package/es/{el-table-column-2e7132b3.js → el-table-column-9691b26d.js} +19 -18
- package/es/el-table-column-be9a76bb.cjs +14 -0
- package/es/{el-tag-a79385c6.js → el-tag-6036f51c.js} +39 -39
- package/es/{el-tag-9732314f.cjs → el-tag-8d49d4d2.cjs} +1 -1
- package/es/{index-375e8de4.cjs → index-02ca0096.cjs} +1 -1
- package/es/{index-afc88a4b.cjs → index-19fa1fcf.cjs} +1 -1
- package/es/{index-733cd68a.js → index-21fb27eb.js} +17 -17
- package/es/{index-e5fe37a4.js → index-3425f2f0.js} +10 -10
- package/es/{index-1d85ba4b.cjs → index-5b81f4da.cjs} +1 -1
- package/es/index-8d3c5e96.cjs +3 -0
- package/es/{index-97d24ab7.js → index-8ee89b40.js} +16 -16
- package/es/{index-9e6e8d03.cjs → index-a99a5307.cjs} +1 -1
- package/es/{index-58521b9e.cjs → index-b90c746b.cjs} +1 -1
- package/es/index-c45ac024.js +14 -0
- package/es/{index-f5b9b211.js → index-cb8157f2.js} +2 -2
- package/es/{index-e6a36e09.js → index-d3c37134.js} +7 -7
- package/es/{index-65b4113e.cjs → index-d94bae37.cjs} +1 -1
- package/es/{index-2d9c78d4.cjs → index-e348d5e8.cjs} +1 -1
- package/es/{index-57a7323a.js → index-ef7c4392.js} +11 -11
- package/es/{index-e3353eeb.js → index-fbe85773.js} +13 -13
- package/es/{raf-f46caea0.cjs → raf-07cb6953.cjs} +1 -1
- package/es/{raf-c817c3f7.js → raf-36faa519.js} +1 -1
- package/es/{scroll-4fe7a76f.js → scroll-0277d145.js} +1 -1
- package/es/{scroll-339681d4.cjs → scroll-4769a65d.cjs} +1 -1
- package/es/style.css +1 -1
- package/es/{use-form-common-props-04fb0752.js → use-form-common-props-54c31983.js} +40 -40
- package/es/{use-form-common-props-74a96df2.cjs → use-form-common-props-592797e2.cjs} +1 -1
- package/es/use-global-config-584b62f1.cjs +1 -0
- package/es/use-global-config-946f61a4.js +73 -0
- package/es/{vnode-b15eb11b.cjs → vnode-1b827c99.cjs} +1 -1
- package/es/{vnode-0fd3003d.js → vnode-dfc92f20.js} +1 -1
- package/es/{zh-cn-cac8283b.js → zh-cn-5066f5e9.js} +2 -2
- package/es/{zh-cn-36f34912.cjs → zh-cn-b24a7dc9.cjs} +1 -1
- package/lib/bundle.js +1 -1
- package/lib/bundle.umd.cjs +217 -212
- package/lib/{index-5f63dc2e.js → index-80531492.js} +39042 -37182
- package/lib/{python-5918f7d5.js → python-20a1a5fc.js} +1 -1
- package/lib/style.css +1 -1
- package/package.json +1 -1
- package/packages/KlineConfig/config.js +39 -0
- package/packages/KlineConfig/index.ts +8 -0
- package/packages/KlineConfig/index.vue +315 -0
- package/packages/KlinePlus/components/SliderChart.vue +218 -0
- package/packages/KlinePlus/components/Tips.vue +36 -0
- package/packages/KlinePlus/images/buy.svg +1 -0
- package/packages/KlinePlus/images/sell.svg +1 -0
- package/packages/KlinePlus/images/t.svg +1 -0
- package/packages/KlinePlus/index.ts +8 -0
- package/packages/KlinePlus/index.vue +880 -0
- package/packages/KlinePlus/utils.js +705 -0
- package/packages/index.ts +4 -0
- package/src/pages/KlineConfig/index.vue +20 -0
- package/src/pages/KlinePlus/index.vue +180 -0
- package/src/router/routes.ts +10 -0
- package/es/base-0ca7c43a.cjs +0 -5
- package/es/base-b56cf478.js +0 -303
- package/es/config-provider-cfbb9cd8.cjs +0 -1
- package/es/el-button-62966947.cjs +0 -1
- package/es/el-message-d5ed7a4f.cjs +0 -1
- package/es/el-overlay-41994f67.cjs +0 -1
- package/es/el-overlay-47b665a0.js +0 -521
- package/es/el-table-column-bdc46568.cjs +0 -14
- package/es/index-0baeaec7.js +0 -82
- package/es/index-2f958e56.cjs +0 -3
package/es/KlineNew.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const t=require("vue"),C=require("./index.esm-94a95a2a.cjs"),L=require("./_plugin-vue_export-helper-f246444f.cjs"),z=require("./index-8901a38c.cjs");require("./base-0ca7c43a.cjs");require("./el-tag-9732314f.cjs");const R=require("./el-select-31f8ac8a.cjs");require("./el-scrollbar-ac525239.cjs");require("./el-popper-7adbf1c6.cjs");const $=require("echarts");require("./index-375e8de4.cjs");require("./index-9e6e8d03.cjs");require("./index-afc88a4b.cjs");require("./use-form-common-props-74a96df2.cjs");require("./castArray-a78ae889.cjs");require("./index-1d85ba4b.cjs");require("./index-65b4113e.cjs");require("./scroll-339681d4.cjs");require("./debounce-cf26af24.cjs");function N(D){const x=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(D){for(const S in D)if(S!=="default"){const g=Object.getOwnPropertyDescriptor(D,S);Object.defineProperty(x,S,g.get?g:{enumerable:!0,get:()=>D[S]})}}return x.default=D,Object.freeze(x)}const E=N($),M=t.defineComponent({__name:"index",setup(D,{expose:x}){let S=!1,g=!0,y=[];const w=(h,u)=>h.length>u?h.slice(h.length-u):h;return x({initTalib:async()=>{if(!S)S=!0,await C.init("./talib.wasm"),g=!1,y.forEach(h=>{h()});else if(g)return new Promise(h=>{y.push(h)})},handleKeyDown:(h,u)=>{let{startValue:r,endValue:d,maxIndex:f}=u;if(h.code==="ArrowLeft"){if(r===0)return;r=r-1,d=d-1}else if(h.code==="ArrowRight"){if(d===f)return;r=r+1,d=d+1}else if(h.code==="ArrowUp"){if(d-r<5)return;const p=Math.floor((d-r)/2)+1;r=r+p,d-r<5&&(r=d-4)}else if(h.code==="ArrowDown"){const p=Math.min(500,d-r);r=r-p-1}return{startValue:r,endValue:d}},getDataZoomInfoByTime:h=>{const{showStartTime:u,showEndTime:r,xAxisData:d,maxShowDays:f}=h;let p=-1,e=-1,i={};return d.forEach((a,n)=>{const l=a.split(" ")[0];i[l]=i[l]||0,i[l]+=1,new Date(a)>=new Date(u)&&p===-1&&(p=n),new Date(a)<=new Date(r)&&(e=n)}),{startValue:p,endValue:e,maxValueSpan:Math.max(...Object.values(i))*f}},formatDataBySlide:h=>{const{originDrawData:u,addData:r,startTime:d,endTime:f}=h,{mainIndicator:p,mainIndicatorList:e,subIndicator:i,subIndicatorList:a,config:n,timeRange:l}=h,{loadAddCount:b,preLoadCount:F}=n;let m=[],v=[],q=[],k=[];d&&f?(m=r.filter(s=>new Date(s[0])>=new Date(d)&&new Date(s[0])<=new Date(f)),k=[...r]):f?(m=[...r.filter((s,o)=>o>=r.length-b&&new Date(l[0])<=new Date(s[0])&&new Date(s[0])<=new Date(l[1])),...u.originData],k=[...r,...u.originData]):d&&(m=[...u.originData,...r.filter((s,o)=>o>=F&&new Date(l[0])<=new Date(s[0])&&new Date(s[0])<=new Date(l[1]))],k=m),m.forEach((s,o)=>{v.push([s[1],s[4],s[3],s[2],o===0?0:m[o-1][4],s[6]]),q.push(s[0])});let c=[],_=[];const I={time:[],open:[],close:[],high:[],low:[],originData:k};let B=null,T=null;return k.forEach((s,o)=>{I.time.push(s[0]),I.open.push(s[1]),I.close.push(s[4]),I.high.push(s[2]),I.low.push(s[3]),s[0]===m[0][0]&&(B=o),s[0]===m[m.length-1][0]&&(T=o+1)}),c=e.find(({value:s})=>s===p).config.map(s=>{const{calculationFn:o}=s,A={time:[],open:[],close:[],high:[],low:[],originData:[]};return{...s,data:o?o(C.talib,I,A).slice(B,T):[]}}),_=a.find(({value:s})=>s===i).config.reduce((s,o)=>{const{source:A,calculationFn:V}=o;return A==="calculation"?[...s,{...o,data:V?V(C.talib,I).slice(B,T):[]}]:s},[]),{originData:m,candlestickData:v,mainIndicatorData:c,subIndicatorData:_,xAxisData:q,startTime:m[0][0],endTime:m[m.length-1][0],length:m.length}},formatDataByCount:h=>{const{originDrawData:u,addData:r,mainIndicator:d,mainIndicatorList:f,subIndicator:p,subIndicatorList:e,config:i}=h;let a={};const{addCount:n,preLoadCount:l}=i,b=[],F=[],m=[],v=[],q=[];let k=[],c=[];const _=r.filter((o,A)=>(b.push(o[0]),F.push(o[1]),m.push(o[4]),v.push(o[2]),q.push(o[3]),k.push(o[0]),c.push([o[1],o[4],o[3],o[2],A===0?0:r[A-1][4],o[6]]),r.length>=n+l-1?A>=l:!0));k=w(k,_.length),c=w(c,_.length);const I={time:b,open:F,close:m,high:v,low:q,originData:r},T=f.find(o=>o.value===d).config.map(o=>({...o,data:w(o.calculationFn?o.calculationFn(C.talib,I,{time:[],open:[],close:[],high:[],low:[],originData:[]}):[],k.length)}));let s=[];return p&&e&&(s=e.find(A=>A.value===p).config.reduce((A,V)=>V.source==="calculation"?[...A,{...V,data:w(V.calculationFn?V.calculationFn(C.talib,I):[],k.length)}]:A,[])),u.length?a={originData:[..._,...u.originData],xAxisData:[...k,...u.xAxisData],candlestickData:[...c,...u.candlestickData],mainIndicatorData:u.mainIndicatorData.map((o,A)=>({...o,data:[...T[A].data,...o.data]})),subIndicatorData:u.subIndicatorData.map((o,A)=>({...o,data:[...s[A].data,...o.data]}))}:a={originData:_,xAxisData:k,candlestickData:c,mainIndicatorData:T,subIndicatorData:s},a.length=a.xAxisData.length,a.startTime=a.xAxisData[0],a.endTime=a.xAxisData[a.length-1],a},fn:()=>{}}),(h,u)=>null}}),j={class:"kline-tips"},P=t.defineComponent({__name:"index",props:{data:{type:Array,require:!0}},setup(D){return(x,S)=>(t.openBlock(),t.createElementBlock("div",j,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(D.data,(g,y)=>(t.openBlock(),t.createElementBlock("div",{key:y,class:"kline-tips-item",style:t.normalizeStyle({color:g.color})},t.toDisplayString(g.label)+" "+t.toDisplayString(g.value),5))),128))]))}});const O=L._export_sfc(P,[["__scopeId","data-v-2a02e841"]]),K={class:"kline-tips"},U=t.defineComponent({__name:"index",props:{drawData:{type:Object,require:!0},candlestickData:{type:Array,default:()=>null},mainIndicatorData:{type:Array,default:()=>null},activeIndex:{type:Number,require:!0}},setup(D){const{round:x,multiply:S,divide:g,subtract:y,formatValue:w}=z.x,h=D,u=t.computed(()=>{const{drawData:d,activeIndex:f,candlestickData:p}=h;if(p!=null&&p.length&&p[f]){let e;return p[f][6]>0?e="red":p[f][6]<0&&(e="green"),[{label:"开",value:x(p[f][0])},{label:"高",value:x(p[f][3])},{label:"低",value:x(p[f][2])},{label:"收",value:x(p[f][1])},{label:"额",value:w(p[f][4])},{label:"涨跌",value:`${x(p[f][6])}%`,color:e}]}else if(d.candlestickData&&d.candlestickData[f]){const e=d.candlestickData[f],i=[{label:"开",value:x(e[0])},{label:"高",value:x(e[3])},{label:"低",value:x(e[2])},{label:"收",value:x(e[1])}];e[5]!==void 0&&i.push({label:"额",value:w(e[5])});const a=x(S(g(y(e[1],e[4]),Math.abs(e[4])),100));let n;return a>0?n="red":a<0&&(n="green"),i.push({label:"涨跌",value:`${a}%`,color:n}),i}return[]}),r=t.computed(()=>{var p;const{drawData:d,activeIndex:f}=h;return((p=d==null?void 0:d.mainIndicatorData)==null?void 0:p.map(e=>({label:e.key,value:x(e.data[f]),color:e.color})))||[]});return(d,f)=>(t.openBlock(),t.createElementBlock("div",K,[t.createVNode(O,{data:u.value},null,8,["data"]),t.createVNode(O,{data:r.value},null,8,["data"])]))}});const Z=L._export_sfc(U,[["__scopeId","data-v-234f3f41"]]),Y={class:"klineSub"},H={class:"klineSub-tips"},G={key:0,class:"klineSub-tips-select"},J=t.defineComponent({__name:"index",props:{drawData:{type:Object,require:!0},activeIndex:{type:Number,require:!0},modelValue:{type:String,required:!0},subIndicatorList:{type:Array,required:!0},config:{type:Object,require:!0}},emits:["update:modelValue"],setup(D,{expose:x,emit:S}){const{round:g}=z.x;let y,w;const h=S,u=D,r=t.ref(),d=t.computed({get(){return u.modelValue},set(e){h("update:modelValue",e)}}),f=t.computed(()=>{const{drawData:e,activeIndex:i}=u,a=u.subIndicatorList.find(n=>n.value===d.value);return e.originData&&e.originData[i]?a.config.map(n=>{var b,F;let l="-";return n.source==="origin"?l=e.originData[i][n.dataIndex]||"-":n.source==="calculation"&&(l=(((F=(b=e.subIndicatorData)==null?void 0:b.find(v=>v.key===n.key))==null?void 0:F.data)||[])[i]),{label:n.key,color:n.color,value:l==="-"?l:g(l)}}):[]});t.onMounted(()=>{y=E.init(r.value);let e=!0;w=new ResizeObserver(()=>{if(e){e=null;return}y.resize()}),w.observe(r.value)}),t.onUnmounted(()=>{y.dispose(),w.disconnect(),w=null});const p=(e,i)=>{const a=e[i],n=i===0?e[i]:e[i-1];return a[0]===a[1]?a[0]>=n[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:a[1]>a[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}};return x({connect:e=>{E.connect([e,y])},draw:e=>{t.nextTick(()=>{var k;const{startValue:i,endValue:a,maxValueSpan:n}=e,{xAxisData:l,subIndicatorData:b,candlestickData:F,originData:m}=u.drawData,v=u.subIndicatorList.find(c=>c.value===d.value),q=[];if(v.series==="bar"){let c=[];v.source==="origin"?c=m.map(_=>_[v.dataIndex]):c=((k=b==null?void 0:b.find(_=>_.key===v.dataIndex))==null?void 0:k.data)||[],q.push({name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:c.map((_,I)=>v.color==="kline"?{value:_,itemStyle:p(F,I)}:v.color==="value"?{value:_,itemStyle:{color:_>=0?"#FF0000":"#00FFFF"}}:{value:_,itemStyle:{color:v.color}})})}b.forEach(c=>{if(c.series==="line"){let _=[];c.source==="origin"?_=m.map(I=>I[c.dataIndex]):c.source==="calculation"&&(_=c.data),q.push({xAxisIndex:0,yAxisIndex:c.yAxis==="right"?2:1,name:c.key,type:"line",silent:!0,symbol:"none",data:_,lineStyle:{width:1},itemStyle:{color:c.color}})}}),y.setOption({animation:!1,grid:{left:`${u.config.gridLeft}px`,top:"10px",right:`${u.config.gridRight}px`,bottom:"20px"},dataZoom:[{type:"inside",startValue:i,endValue:a,maxValueSpan:n}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:c=>{const{axisDimension:_,value:I}=c;if(_==="x")return I;if(c.axisIndex===1)return String(g(I))}}},formatter:()=>""},xAxis:{type:"category",data:l,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{show:!0,formatter:c=>c}},yAxis:[{position:"right"},{position:"left",min:v.leftYAxisRange==="cover"?c=>c.min:null,max:v.leftYAxisRange==="cover"?c=>c.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:v.rightYAxisRange==="cover"?c=>c.min:null,max:v.rightYAxisRange==="cover"?c=>c.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:q},!0)})}}),(e,i)=>{const a=R.ElOption,n=R.ElSelect;return t.openBlock(),t.createElementBlock("div",Y,[t.createElementVNode("div",H,[f.value.length?(t.openBlock(),t.createElementBlock("div",G,[t.createVNode(n,{modelValue:d.value,"onUpdate:modelValue":i[0]||(i[0]=l=>d.value=l),size:"small","popper-class":"element-dark",class:"element-dark subIndicator"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(D.subIndicatorList,l=>(t.openBlock(),t.createBlock(a,{key:l.value,label:l.label,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):t.createCommentVNode("",!0),t.createVNode(O,{data:f.value},null,8,["data"])]),t.createElementVNode("div",{class:"klineSub-chart",ref_key:"subChartRef",ref:r},null,512)])}}});const Q=L._export_sfc(J,[["__scopeId","data-v-0a2f256e"]]),W=t.defineComponent({__name:"index",props:{data:{type:Array,default:()=>[]}},emits:["change"],setup(D,{expose:x,emit:S}){let g,y,w=null;const h=S,u=D,r=t.ref();t.watch(()=>u.data,()=>{p()},{deep:!0}),t.onMounted(()=>{g=E.init(r.value),d(),p();let e=!0;y=new ResizeObserver(()=>{if(e){e=null;return}g.resize()}),y.observe(r.value)}),t.onUnmounted(()=>{g.off("datazoom"),g.dispose(),y.disconnect(),y=null});const d=()=>{g.on("datazoom",e=>{e.dataZoomId&&(clearTimeout(w),w=setTimeout(()=>{const{data:i}=u,{start:a,end:n}=e,l=Math.floor(a*i.length/100),b=n===100?i.length-1:Math.floor(n*i.length/100);f(l,b),clearTimeout(w)},100))})},f=(e,i)=>{const a=u.data;if(a.length===0)return;const n=a[e][0].split(" ")[0],l=a[i][0].split(" ")[0];h("change",{startTime:`${n} 00:00:00`,endTime:`${l} 24:00:00`})},p=()=>{const{data:e}=u;if(e.length===0)return;const i=e.map(n=>n[0].split(" ")[0]),a=e.map(n=>n[1]);g.setOption({grid:{height:0,left:"80px",right:"80px"},xAxis:{type:"category",data:i,show:!1},yAxis:{type:"value"},series:[{data:a,type:"line"}]},!0)};return x({resetSlide:(e,i,a)=>{let n=-1,l=-1;u.data.forEach((b,F)=>{n===-1&&b[0]===e?n=F:n===-1&&new Date(b[0])>new Date(e)&&(n=F-1),(l===-1&&b[0]===i||l===-1&&new Date(b[0])>new Date(i))&&(l=F)}),l=l===-1?u.data.length-1:l,g.setOption({dataZoom:[{show:!0,startValue:n,endValue:l,maxValueSpan:a,textStyle:{color:"#ccc"}},{type:"inside",startValue:n,endValue:l,maxValueSpan:a}]})},resize:()=>{g==null||g.resize()}}),(e,i)=>(t.openBlock(),t.createElementBlock("div",{class:"klineSlide",ref_key:"slideChartRef",ref:r},null,512))}});const X=L._export_sfc(W,[["__scopeId","data-v-5008746a"]]),ee={install(D){D.component("st-klineUtils",M),D.component("st-klineSub",Q),D.component("st-klineTips",Z),D.component("st-klineSlide",X)}};module.exports=ee;
|
|
1
|
+
"use strict";const t=require("vue"),C=require("./index.esm-94a95a2a.cjs"),L=require("./_plugin-vue_export-helper-f246444f.cjs"),z=require("./index-8901a38c.cjs");require("./base-bdc10baa.cjs");require("./el-tag-8d49d4d2.cjs");const R=require("./el-select-1d2309a1.cjs");require("./el-scrollbar-8bf765f2.cjs");require("./el-popper-14a9d493.cjs");const $=require("echarts");require("./index-02ca0096.cjs");require("./index-a99a5307.cjs");require("./index-19fa1fcf.cjs");require("./use-form-common-props-592797e2.cjs");require("./castArray-37eb9980.cjs");require("./index-5b81f4da.cjs");require("./index-d94bae37.cjs");require("./scroll-4769a65d.cjs");require("./debounce-9e323221.cjs");function N(D){const x=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(D){for(const S in D)if(S!=="default"){const g=Object.getOwnPropertyDescriptor(D,S);Object.defineProperty(x,S,g.get?g:{enumerable:!0,get:()=>D[S]})}}return x.default=D,Object.freeze(x)}const E=N($),M=t.defineComponent({__name:"index",setup(D,{expose:x}){let S=!1,g=!0,y=[];const w=(h,u)=>h.length>u?h.slice(h.length-u):h;return x({initTalib:async()=>{if(!S)S=!0,await C.init("./talib.wasm"),g=!1,y.forEach(h=>{h()});else if(g)return new Promise(h=>{y.push(h)})},handleKeyDown:(h,u)=>{let{startValue:r,endValue:d,maxIndex:f}=u;if(h.code==="ArrowLeft"){if(r===0)return;r=r-1,d=d-1}else if(h.code==="ArrowRight"){if(d===f)return;r=r+1,d=d+1}else if(h.code==="ArrowUp"){if(d-r<5)return;const p=Math.floor((d-r)/2)+1;r=r+p,d-r<5&&(r=d-4)}else if(h.code==="ArrowDown"){const p=Math.min(500,d-r);r=r-p-1}return{startValue:r,endValue:d}},getDataZoomInfoByTime:h=>{const{showStartTime:u,showEndTime:r,xAxisData:d,maxShowDays:f}=h;let p=-1,e=-1,i={};return d.forEach((a,n)=>{const l=a.split(" ")[0];i[l]=i[l]||0,i[l]+=1,new Date(a)>=new Date(u)&&p===-1&&(p=n),new Date(a)<=new Date(r)&&(e=n)}),{startValue:p,endValue:e,maxValueSpan:Math.max(...Object.values(i))*f}},formatDataBySlide:h=>{const{originDrawData:u,addData:r,startTime:d,endTime:f}=h,{mainIndicator:p,mainIndicatorList:e,subIndicator:i,subIndicatorList:a,config:n,timeRange:l}=h,{loadAddCount:b,preLoadCount:F}=n;let m=[],v=[],q=[],k=[];d&&f?(m=r.filter(s=>new Date(s[0])>=new Date(d)&&new Date(s[0])<=new Date(f)),k=[...r]):f?(m=[...r.filter((s,o)=>o>=r.length-b&&new Date(l[0])<=new Date(s[0])&&new Date(s[0])<=new Date(l[1])),...u.originData],k=[...r,...u.originData]):d&&(m=[...u.originData,...r.filter((s,o)=>o>=F&&new Date(l[0])<=new Date(s[0])&&new Date(s[0])<=new Date(l[1]))],k=m),m.forEach((s,o)=>{v.push([s[1],s[4],s[3],s[2],o===0?0:m[o-1][4],s[6]]),q.push(s[0])});let c=[],_=[];const I={time:[],open:[],close:[],high:[],low:[],originData:k};let B=null,T=null;return k.forEach((s,o)=>{I.time.push(s[0]),I.open.push(s[1]),I.close.push(s[4]),I.high.push(s[2]),I.low.push(s[3]),s[0]===m[0][0]&&(B=o),s[0]===m[m.length-1][0]&&(T=o+1)}),c=e.find(({value:s})=>s===p).config.map(s=>{const{calculationFn:o}=s,A={time:[],open:[],close:[],high:[],low:[],originData:[]};return{...s,data:o?o(C.talib,I,A).slice(B,T):[]}}),_=a.find(({value:s})=>s===i).config.reduce((s,o)=>{const{source:A,calculationFn:V}=o;return A==="calculation"?[...s,{...o,data:V?V(C.talib,I).slice(B,T):[]}]:s},[]),{originData:m,candlestickData:v,mainIndicatorData:c,subIndicatorData:_,xAxisData:q,startTime:m[0][0],endTime:m[m.length-1][0],length:m.length}},formatDataByCount:h=>{const{originDrawData:u,addData:r,mainIndicator:d,mainIndicatorList:f,subIndicator:p,subIndicatorList:e,config:i}=h;let a={};const{addCount:n,preLoadCount:l}=i,b=[],F=[],m=[],v=[],q=[];let k=[],c=[];const _=r.filter((o,A)=>(b.push(o[0]),F.push(o[1]),m.push(o[4]),v.push(o[2]),q.push(o[3]),k.push(o[0]),c.push([o[1],o[4],o[3],o[2],A===0?0:r[A-1][4],o[6]]),r.length>=n+l-1?A>=l:!0));k=w(k,_.length),c=w(c,_.length);const I={time:b,open:F,close:m,high:v,low:q,originData:r},T=f.find(o=>o.value===d).config.map(o=>({...o,data:w(o.calculationFn?o.calculationFn(C.talib,I,{time:[],open:[],close:[],high:[],low:[],originData:[]}):[],k.length)}));let s=[];return p&&e&&(s=e.find(A=>A.value===p).config.reduce((A,V)=>V.source==="calculation"?[...A,{...V,data:w(V.calculationFn?V.calculationFn(C.talib,I):[],k.length)}]:A,[])),u.length?a={originData:[..._,...u.originData],xAxisData:[...k,...u.xAxisData],candlestickData:[...c,...u.candlestickData],mainIndicatorData:u.mainIndicatorData.map((o,A)=>({...o,data:[...T[A].data,...o.data]})),subIndicatorData:u.subIndicatorData.map((o,A)=>({...o,data:[...s[A].data,...o.data]}))}:a={originData:_,xAxisData:k,candlestickData:c,mainIndicatorData:T,subIndicatorData:s},a.length=a.xAxisData.length,a.startTime=a.xAxisData[0],a.endTime=a.xAxisData[a.length-1],a},fn:()=>{}}),(h,u)=>null}}),j={class:"kline-tips"},P=t.defineComponent({__name:"index",props:{data:{type:Array,require:!0}},setup(D){return(x,S)=>(t.openBlock(),t.createElementBlock("div",j,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(D.data,(g,y)=>(t.openBlock(),t.createElementBlock("div",{key:y,class:"kline-tips-item",style:t.normalizeStyle({color:g.color})},t.toDisplayString(g.label)+" "+t.toDisplayString(g.value),5))),128))]))}});const O=L._export_sfc(P,[["__scopeId","data-v-2a02e841"]]),K={class:"kline-tips"},U=t.defineComponent({__name:"index",props:{drawData:{type:Object,require:!0},candlestickData:{type:Array,default:()=>null},mainIndicatorData:{type:Array,default:()=>null},activeIndex:{type:Number,require:!0}},setup(D){const{round:x,multiply:S,divide:g,subtract:y,formatValue:w}=z.x,h=D,u=t.computed(()=>{const{drawData:d,activeIndex:f,candlestickData:p}=h;if(p!=null&&p.length&&p[f]){let e;return p[f][6]>0?e="red":p[f][6]<0&&(e="green"),[{label:"开",value:x(p[f][0])},{label:"高",value:x(p[f][3])},{label:"低",value:x(p[f][2])},{label:"收",value:x(p[f][1])},{label:"额",value:w(p[f][4])},{label:"涨跌",value:`${x(p[f][6])}%`,color:e}]}else if(d.candlestickData&&d.candlestickData[f]){const e=d.candlestickData[f],i=[{label:"开",value:x(e[0])},{label:"高",value:x(e[3])},{label:"低",value:x(e[2])},{label:"收",value:x(e[1])}];e[5]!==void 0&&i.push({label:"额",value:w(e[5])});const a=x(S(g(y(e[1],e[4]),Math.abs(e[4])),100));let n;return a>0?n="red":a<0&&(n="green"),i.push({label:"涨跌",value:`${a}%`,color:n}),i}return[]}),r=t.computed(()=>{var p;const{drawData:d,activeIndex:f}=h;return((p=d==null?void 0:d.mainIndicatorData)==null?void 0:p.map(e=>({label:e.key,value:x(e.data[f]),color:e.color})))||[]});return(d,f)=>(t.openBlock(),t.createElementBlock("div",K,[t.createVNode(O,{data:u.value},null,8,["data"]),t.createVNode(O,{data:r.value},null,8,["data"])]))}});const Z=L._export_sfc(U,[["__scopeId","data-v-234f3f41"]]),Y={class:"klineSub"},H={class:"klineSub-tips"},G={key:0,class:"klineSub-tips-select"},J=t.defineComponent({__name:"index",props:{drawData:{type:Object,require:!0},activeIndex:{type:Number,require:!0},modelValue:{type:String,required:!0},subIndicatorList:{type:Array,required:!0},config:{type:Object,require:!0}},emits:["update:modelValue"],setup(D,{expose:x,emit:S}){const{round:g}=z.x;let y,w;const h=S,u=D,r=t.ref(),d=t.computed({get(){return u.modelValue},set(e){h("update:modelValue",e)}}),f=t.computed(()=>{const{drawData:e,activeIndex:i}=u,a=u.subIndicatorList.find(n=>n.value===d.value);return e.originData&&e.originData[i]?a.config.map(n=>{var b,F;let l="-";return n.source==="origin"?l=e.originData[i][n.dataIndex]||"-":n.source==="calculation"&&(l=(((F=(b=e.subIndicatorData)==null?void 0:b.find(v=>v.key===n.key))==null?void 0:F.data)||[])[i]),{label:n.key,color:n.color,value:l==="-"?l:g(l)}}):[]});t.onMounted(()=>{y=E.init(r.value);let e=!0;w=new ResizeObserver(()=>{if(e){e=null;return}y.resize()}),w.observe(r.value)}),t.onUnmounted(()=>{y.dispose(),w.disconnect(),w=null});const p=(e,i)=>{const a=e[i],n=i===0?e[i]:e[i-1];return a[0]===a[1]?a[0]>=n[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:a[1]>a[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}};return x({connect:e=>{E.connect([e,y])},draw:e=>{t.nextTick(()=>{var k;const{startValue:i,endValue:a,maxValueSpan:n}=e,{xAxisData:l,subIndicatorData:b,candlestickData:F,originData:m}=u.drawData,v=u.subIndicatorList.find(c=>c.value===d.value),q=[];if(v.series==="bar"){let c=[];v.source==="origin"?c=m.map(_=>_[v.dataIndex]):c=((k=b==null?void 0:b.find(_=>_.key===v.dataIndex))==null?void 0:k.data)||[],q.push({name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:c.map((_,I)=>v.color==="kline"?{value:_,itemStyle:p(F,I)}:v.color==="value"?{value:_,itemStyle:{color:_>=0?"#FF0000":"#00FFFF"}}:{value:_,itemStyle:{color:v.color}})})}b.forEach(c=>{if(c.series==="line"){let _=[];c.source==="origin"?_=m.map(I=>I[c.dataIndex]):c.source==="calculation"&&(_=c.data),q.push({xAxisIndex:0,yAxisIndex:c.yAxis==="right"?2:1,name:c.key,type:"line",silent:!0,symbol:"none",data:_,lineStyle:{width:1},itemStyle:{color:c.color}})}}),y.setOption({animation:!1,grid:{left:`${u.config.gridLeft}px`,top:"10px",right:`${u.config.gridRight}px`,bottom:"20px"},dataZoom:[{type:"inside",startValue:i,endValue:a,maxValueSpan:n}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:c=>{const{axisDimension:_,value:I}=c;if(_==="x")return I;if(c.axisIndex===1)return String(g(I))}}},formatter:()=>""},xAxis:{type:"category",data:l,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{show:!0,formatter:c=>c}},yAxis:[{position:"right"},{position:"left",min:v.leftYAxisRange==="cover"?c=>c.min:null,max:v.leftYAxisRange==="cover"?c=>c.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:v.rightYAxisRange==="cover"?c=>c.min:null,max:v.rightYAxisRange==="cover"?c=>c.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:q},!0)})}}),(e,i)=>{const a=R.ElOption,n=R.ElSelect;return t.openBlock(),t.createElementBlock("div",Y,[t.createElementVNode("div",H,[f.value.length?(t.openBlock(),t.createElementBlock("div",G,[t.createVNode(n,{modelValue:d.value,"onUpdate:modelValue":i[0]||(i[0]=l=>d.value=l),size:"small","popper-class":"element-dark",class:"element-dark subIndicator"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(D.subIndicatorList,l=>(t.openBlock(),t.createBlock(a,{key:l.value,label:l.label,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):t.createCommentVNode("",!0),t.createVNode(O,{data:f.value},null,8,["data"])]),t.createElementVNode("div",{class:"klineSub-chart",ref_key:"subChartRef",ref:r},null,512)])}}});const Q=L._export_sfc(J,[["__scopeId","data-v-0a2f256e"]]),W=t.defineComponent({__name:"index",props:{data:{type:Array,default:()=>[]}},emits:["change"],setup(D,{expose:x,emit:S}){let g,y,w=null;const h=S,u=D,r=t.ref();t.watch(()=>u.data,()=>{p()},{deep:!0}),t.onMounted(()=>{g=E.init(r.value),d(),p();let e=!0;y=new ResizeObserver(()=>{if(e){e=null;return}g.resize()}),y.observe(r.value)}),t.onUnmounted(()=>{g.off("datazoom"),g.dispose(),y.disconnect(),y=null});const d=()=>{g.on("datazoom",e=>{e.dataZoomId&&(clearTimeout(w),w=setTimeout(()=>{const{data:i}=u,{start:a,end:n}=e,l=Math.floor(a*i.length/100),b=n===100?i.length-1:Math.floor(n*i.length/100);f(l,b),clearTimeout(w)},100))})},f=(e,i)=>{const a=u.data;if(a.length===0)return;const n=a[e][0].split(" ")[0],l=a[i][0].split(" ")[0];h("change",{startTime:`${n} 00:00:00`,endTime:`${l} 24:00:00`})},p=()=>{const{data:e}=u;if(e.length===0)return;const i=e.map(n=>n[0].split(" ")[0]),a=e.map(n=>n[1]);g.setOption({grid:{height:0,left:"80px",right:"80px"},xAxis:{type:"category",data:i,show:!1},yAxis:{type:"value"},series:[{data:a,type:"line"}]},!0)};return x({resetSlide:(e,i,a)=>{let n=-1,l=-1;u.data.forEach((b,F)=>{n===-1&&b[0]===e?n=F:n===-1&&new Date(b[0])>new Date(e)&&(n=F-1),(l===-1&&b[0]===i||l===-1&&new Date(b[0])>new Date(i))&&(l=F)}),l=l===-1?u.data.length-1:l,g.setOption({dataZoom:[{show:!0,startValue:n,endValue:l,maxValueSpan:a,textStyle:{color:"#ccc"}},{type:"inside",startValue:n,endValue:l,maxValueSpan:a}]})},resize:()=>{g==null||g.resize()}}),(e,i)=>(t.openBlock(),t.createElementBlock("div",{class:"klineSlide",ref_key:"slideChartRef",ref:r},null,512))}});const X=L._export_sfc(W,[["__scopeId","data-v-5008746a"]]),ee={install(D){D.component("st-klineUtils",M),D.component("st-klineSub",Q),D.component("st-klineTips",Z),D.component("st-klineSlide",X)}};module.exports=ee;
|
package/es/KlineNew.js
CHANGED
|
@@ -2,21 +2,21 @@ import { defineComponent as R, openBlock as T, createElementBlock as L, Fragment
|
|
|
2
2
|
import { i as te, t as z } from "./index.esm-8d9a2abe.js";
|
|
3
3
|
import { _ as q } from "./_plugin-vue_export-helper-dad06003.js";
|
|
4
4
|
import { x as G } from "./index-7ed0999e.js";
|
|
5
|
-
import "./base-
|
|
6
|
-
import "./el-tag-
|
|
7
|
-
import { E as ae, a as ne } from "./el-select-
|
|
8
|
-
import "./el-scrollbar-
|
|
9
|
-
import "./el-popper-
|
|
5
|
+
import "./base-4bcd2756.js";
|
|
6
|
+
import "./el-tag-6036f51c.js";
|
|
7
|
+
import { E as ae, a as ne } from "./el-select-d3bce4d1.js";
|
|
8
|
+
import "./el-scrollbar-bcf29780.js";
|
|
9
|
+
import "./el-popper-85365d5b.js";
|
|
10
10
|
import * as B from "echarts";
|
|
11
|
-
import "./index-
|
|
12
|
-
import "./index-
|
|
13
|
-
import "./index-
|
|
14
|
-
import "./use-form-common-props-
|
|
15
|
-
import "./castArray-
|
|
16
|
-
import "./index-
|
|
17
|
-
import "./index-
|
|
18
|
-
import "./scroll-
|
|
19
|
-
import "./debounce-
|
|
11
|
+
import "./index-ef7c4392.js";
|
|
12
|
+
import "./index-d3c37134.js";
|
|
13
|
+
import "./index-3425f2f0.js";
|
|
14
|
+
import "./use-form-common-props-54c31983.js";
|
|
15
|
+
import "./castArray-681d750b.js";
|
|
16
|
+
import "./index-fbe85773.js";
|
|
17
|
+
import "./index-21fb27eb.js";
|
|
18
|
+
import "./scroll-0277d145.js";
|
|
19
|
+
import "./debounce-51046b06.js";
|
|
20
20
|
const oe = /* @__PURE__ */ R({
|
|
21
21
|
__name: "index",
|
|
22
22
|
setup(k, { expose: D }) {
|
package/es/KlinePlus.cjs
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";require("./base-bdc10baa.cjs");const ye=require("./el-loading-15a5501c.cjs"),de=require("./el-empty-627ec09e.cjs");require("./el-tag-8d49d4d2.cjs");const le=require("./el-select-1d2309a1.cjs");require("./el-scrollbar-8bf765f2.cjs");require("./el-popper-14a9d493.cjs");const t=require("vue"),O=require("./dayjs.min-19fb125f.cjs"),Te=require("echarts"),_=require("./index-8901a38c.cjs"),ne=require("./_plugin-vue_export-helper-f246444f.cjs");require("./use-global-config-584b62f1.cjs");require("./use-form-common-props-592797e2.cjs");require("./index-02ca0096.cjs");require("./index-19fa1fcf.cjs");require("./index-a99a5307.cjs");require("./castArray-37eb9980.cjs");require("./index-5b81f4da.cjs");require("./index-d94bae37.cjs");require("./scroll-4769a65d.cjs");require("./debounce-9e323221.cjs");require("./_commonjsHelpers-87b0abe8.cjs");function De(a){const d=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const c in a)if(c!=="default"){const l=Object.getOwnPropertyDescriptor(a,c);Object.defineProperty(d,c,l.get?l:{enumerable:!0,get:()=>a[c]})}}return d.default=a,Object.freeze(d)}const te=De(Te),ge="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=",Ie="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+",Ye="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",{round:Le}=_.x,$={minValueSpan:5,maxValueSpan:2e3,loadCheckCount:500,loadAddCount:2e3},Ae=(a,d)=>{const c=a[d],l=d===0?a[d]:a[d-1];return c[0]===c[1]?c[0]>=l[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:c[1]>c[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}},me=(a,d,c)=>{var y,m,Y,g;const l=a.subIndicator.map(e=>{if(e.series==="bar")return{name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:e.data.map((v,S)=>e.seriesColor==="kline"?{value:v,itemStyle:Ae(a.data,S)}:e.seriesColor==="value"?{value:v,itemStyle:{color:v>=0?"#FF0000":"#00FFFF"}}:{value:v,itemStyle:{color:e.seriesColor}})};if(e.series==="line")return{xAxisIndex:0,yAxisIndex:e.yAxis==="right"?2:1,name:e.key,type:"line",silent:!0,symbol:"none",data:e.data,lineStyle:{width:1},itemStyle:{color:e.color}}});return{animation:!1,grid:{top:"10px",left:"60px",right:"20px",bottom:"10px"},dataZoom:[{type:"inside",startValue:d,endValue:c,maxValueSpan:$.maxValueSpan}],tooltip:{show:!1},axisPointer:{show:!0,triggerTooltip:!1,label:{rich:{},formatter:e=>{const{axisDimension:v,value:S}=e;if(v==="x")return null;if(e.axisIndex===1)return String(Le(S))}}},xAxis:{type:"category",data:a.time,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{show:!1}},yAxis:[{position:"right"},{position:"left",min:((y=a.subIndicator[0])==null?void 0:y.leftYAxisRange)==="cover"?e=>e.min:null,max:((m=a.subIndicator[0])==null?void 0:m.leftYAxisRange)==="cover"?e=>e.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:((Y=a.subIndicator[0])==null?void 0:Y.rightYAxisRange)==="cover"?e=>e.min:null,max:((g=a.subIndicator[0])==null?void 0:g.rightYAxisRange)==="cover"?e=>e.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:l}},ie=(a,d,c="strict")=>{let l=0,y=a.length-1,m=-1;for(;l<=y;){let Y=Math.floor((l+y)/2);if(c==="strict"){if(a[Y]===d)return Y;a[Y]<d?l=Y+1:y=Y-1}else c==="gte"&&(a[Y]>=d?(m=Y,y=Y-1):l=Y+1)}return c==="strict"?-1:m},ue=(a,d)=>({data:[...a.data,...d.data.slice(1)],mainIndicator:a.mainIndicator.map((c,l)=>({...c,data:[...c.data,...d.mainIndicator[l].data.slice(1)]})),subIndicator:a.subIndicator.map((c,l)=>({...c,data:[...c.data,...d.subIndicator[l].data.slice(1)]})),time:[...a.time,...d.time.slice(1)]}),je=(a,d,c)=>{switch(c){case"5":{let I=[...new Set(a.slice(-20).map(z=>{const M=new Date(z),r=String(M.getHours()).padStart(2,"0"),L=String(M.getMinutes()).padStart(2,"0"),k=String(M.getSeconds()).padStart(2,"0");return`${r}:${L}:${k}`}))];I.includes("00:00:00")&&(I.splice(I.indexOf("00:00:00"),1),I.push("24:00:00")),I=I.sort((z,M)=>new Date(`2000-01-30 ${z}`).getTime()-new Date(`2000-01-30 ${M}`).getTime());const T=new Date(d),N=T.getFullYear(),u=String(T.getMonth()+1).padStart(2,"0"),i=String(T.getDate()).padStart(2,"0"),A=String(T.getHours()).padStart(2,"0"),s=String(T.getMinutes()).padStart(2,"0"),o=String(T.getSeconds()).padStart(2,"0");if(`${A}:${s}:${o}`=="00:00:00")return`${N}-${u}-${i} 01:00:00`;{let z=null;for(let M=0;M<I.length;M++){const r=I[M].split(":");if(+`${r[0]}${r[1]}${r[2]}`>=+`${A}${s}${o}`){z=I[M];break}}if(z==="24:00:00"){const M=new Date(d);M.setDate(M.getDate()+1);const r=M.getFullYear(),L=String(M.getMonth()+1).padStart(2,"0"),k=String(M.getDate()).padStart(2,"0");return`${r}-${L}-${k} 00:00:00`}return`${N}-${u}-${i} ${z}`}}case"6":{const I=new Date(d),T=I.getHours();if(T>=4&&T<21){const N=I.getFullYear(),u=String(I.getMonth()+1).padStart(2,"0"),i=String(I.getDate()).padStart(2,"0");return`${N}-${u}-${i} 09:00:00`}else{const N=new Date(d);N.getHours()>=21&&N.setDate(N.getDate()+1);const u=N.getFullYear(),i=String(N.getMonth()+1).padStart(2,"0"),A=String(N.getDate()).padStart(2,"0"),s=`${u}-${i}-${A} 09:00:00`,o=ie(a,s,"gte");return o===-1?s:a[o]}}case"7":{const I=new Date(d),T=new Date(I);T.setDate(I.getDate()-I.getDay()),T.setHours(0,0,0,0);const N=new Date(T);N.setDate(T.getDate()+5),N.setHours(23,59,59,0);const u=new Date(T);u.setDate(T.getDate()+12),u.setHours(9,0,0,0);const i=I<=N?N:u,A=i.getFullYear(),s=String(i.getMonth()+1).padStart(2,"0"),o=String(i.getDate()).padStart(2,"0");return`${A}-${s}-${o} 09:00:00`}case"8":{const I=new Date(d),T=new Date(I.getFullYear(),I.getMonth()+1,1),N=new Date(T);N.setDate(T.getDate()-1),N.setHours(9,0,0,0);const u=N.getFullYear(),i=String(N.getMonth()+1).padStart(2,"0"),A=String(N.getDate()).padStart(2,"0");return`${u}-${i}-${A} 09:00:00`}}const l=new Date(d),y=l.getFullYear(),m=l.getMonth(),Y=l.getDate(),g=l.getHours(),e=l.getMinutes(),v=l.getSeconds(),S=I=>{let T=null;const N=Math.floor(e/I);e%I===0&&v===0?T=e:T=(N+1)*I;const u=Math.floor(T/60),i=g+u,A=T%60,s=new Date(y,m,Y,i,A,0),o=Q=>String(Q).padStart(2,"0"),z=s.getFullYear(),M=o(s.getMonth()+1),r=o(s.getDate()),L=o(s.getHours()),k=o(s.getMinutes());return`${z}-${M}-${r} ${L}:${k}:00`};switch(c){case"1":return S(1);case"2":return S(5);case"3":return S(15);case"4":return S(30);default:throw new Error(`Unsupported cycle: ${d} ${c}`)}},Me=(a,d,c)=>{let l=null,y=null;const[m,Y]=d;switch(c){case"6":{l=a.find(g=>new Date(O.dayjs(g).format("YYYY-MM-DD 23:59:59")).getTime()>=new Date(m).getTime()),y=a.findLast(g=>new Date(O.dayjs(g).format("YYYY-MM-DD 00:00:00")).getTime()<=new Date(Y).getTime());break}case"7":{const g=O.dayjs(Y).endOf("week").add(1,"day").format("YYYY-MM-DD 23:59:59");l=a.find(e=>O.dayjs(e).endOf("week").add(1,"day").format("YYYY-MM-DD")===O.dayjs(m).endOf("week").add(1,"day").format("YYYY-MM-DD")),y=a.findLast(e=>new Date(e).getTime()<=new Date(g).getTime());break}case"8":{l=a.find(g=>O.dayjs(g).format("YYYY-MM")===O.dayjs(m).format("YYYY-MM")),y=a.findLast(g=>O.dayjs(g).format("YYYY-MM")===O.dayjs(Y).format("YYYY-MM"));break}default:l=a.find(g=>new Date(g).getTime()>=new Date(m).getTime()),y=a.findLast(g=>new Date(g).getTime()<=new Date(Y).getTime())}return[l,y]},xe=a=>{const d=[];return a.reduce((c,l)=>{const y=`${l.coord[0]}+${l.label.position}`,m=l.label.position==="top"?-16:16,Y=c.get(y);return Y?(c.set(y,Y+1),l.symbolOffset[1]=m*(Y+1)):(c.set(y,1),l.symbolOffset[1]=l.label.position==="top"?-7:7),d.push(l),c},new Map),d},pe=(a,d,c,l,y)=>{const m=(T,N)=>{const{direction:u="",tradeAction:i="",tradeType:A=""}=T,s=A??u+i;switch(N){case 0:return new Map([["开多","买"],["平多","卖"],["开空","卖"],["平空","买"]]).get(s);case 1:return A??u+i}},Y=(T,N,u,i)=>T.reduce((A,s)=>{var Q;const o=m(s,0),z=T.filter(P=>P.klineTime===s.klineTime),M=[...new Set(z.map(P=>m(P,0)))];let r=null;M.length>1?r="image://"+new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",self.location).href:r="image://"+new URL(Object.assign({"./images/buy.svg":ge,"./images/sell.svg":Ie,"./images/t.svg":Ye})[`./images/${o==="买"?"buy":"sell"}.svg`],self.location).href;const L=ie(u,s.klineTime),k=(Q=i[L])==null?void 0:Q[3];return N.forEach(P=>{var B;const W=o==="买"?0:1;P.range[W]===s.klineTime&&(P.rangeValue[W]=(B=i[L])==null?void 0:B[o==="买"?2:3])}),A.push({symbol:r,symbolSize:25,symbolRotate:0,symbolOffset:[0,0],label:{show:!1,position:"top"},coord:[s.klineTime,k],silent:!0,animation:!1,customData:{tradeType:o,amount:s.amount,part:s.part,profitAndLoss:s.profitAndLoss,openPriceAll:s.openPriceAll,closePriceAll:s.closePriceAll}}),A},[]),g=(T,N,u,i)=>T.reduce((A,s,o)=>{var k,Q;const z=m(s,1),M=["开多","开空"].includes(z)?"top":"bottom",r=ie(u,s.klineTime),L=M==="top"?(k=i[r])==null?void 0:k[3]:(Q=i[r])==null?void 0:Q[2];return N.forEach(P=>{(M==="top"?P.range[0]:P.range[1])===s.klineTime&&(P.rangeValue[M==="top"?0:1]=L)}),A.push({symbol:"triangle",symbolSize:[10,12],symbolRotate:M==="top"?180:0,symbolOffset:[0,0],label:{show:!0,position:M,color:"#fff",formatter:`${z} ${M==="top"?"+":"-"} ${s.amount}手 ${s.part?`(${s.part}份)`:""}`},itemStyle:{color:M==="top"?"#FF0000":"#389e0d"},coord:[s.klineTime,L],silent:!0,animation:!1,customData:{tradeType:z,amount:s.amount,part:s.part,profitAndLoss:s.profitAndLoss,openPriceAll:s.openPriceAll,closePriceAll:s.closePriceAll}}),A},[]),e=(T,N,u)=>{const{basePointData:i,baseLineData:A}=T.reduce((M,r)=>{const L={pointTime:r.openTime,klineTime:je(u,r.openTime,N),tradeAction:"开",tradeDirection:r.tradeDirection?"空":"多",tradeType:`开${r.tradeDirection?"空":"多"}`,part:null,amount:r.tradeVolume,profitAndLoss:r.profitAndLoss,openPriceAll:r.openPrice*r.tradeVolume,closePriceAll:r.closePrice*r.tradeVolume},k={pointTime:r.closeTime,klineTime:je(u,r.closeTime,N),tradeAction:"平",tradeDirection:r.tradeDirection?"空":"多",tradeType:`平${r.tradeDirection?"空":"多"}`,part:null,amount:r.tradeVolume,profitAndLoss:r.profitAndLoss,openPriceAll:r.openPrice*r.tradeVolume,closePriceAll:r.closePrice*r.tradeVolume};return M.basePointData.push(L,k),M.baseLineData.push({range:[L.klineTime,k.klineTime],rangeValue:[null,null],color:k.profitAndLoss>0?"#FF0000":"#389e0d"}),M},{basePointData:[],baseLineData:[]}),o=[...i.reduce((M,r)=>{const L=JSON.parse(JSON.stringify(r)),k=L.klineTime+L.tradeType;if(M.has(k)){const Q=M.get(k);L.amount+=Q.amount,L.part+=Q.part,L.profitAndLoss+=Q.profitAndLoss,L.openPriceAll+=Q.openPriceAll,L.closePriceAll+=Q.closePriceAll}return M.set(k,L),M},new Map([])).values()].sort((M,r)=>new Date(M.klineTime)-new Date(r.klineTime)),z=A.filter(({range:M})=>M[0]!==M[1]);return{pointData:o,lineData:z}},{pointData:v,lineData:S}=e(a,d,l);return{tradePointData:(c===0?Y:g)(v,S,l,y),tradeLineData:S.map(({range:T,rangeValue:N,color:u})=>[{symbol:"none",coord:[T[0],N[0]],lineStyle:{color:u,width:2,type:"solid"},silent:!0,animation:!1},{symbol:"none",coord:[T[1],N[1]],silent:!0,animation:!1}])}},we=(a,d)=>{let c=[];if(Number(d)<=5)c=a.map(({tradeDate:l,netPositionValue:y})=>[O.dayjs(l).format("YYYY-MM-DD HH:mm:ss"),y]);else if(Number(d)===6){const l=a.reduce((y,m)=>{const{tradeDate:Y,netPositionValue:g}=m;return y.set(O.dayjs(Y).format("YYYY-MM-DD 09:00:00"),g),y},new Map);c=Array.from(l,([y,m])=>[y,m])}else c=[];return{netPositionLineData:c}};const Oe={class:"tips"},fe={__name:"Tips",props:{data:{type:Array,default:()=>[]}},setup(a){return(d,c)=>(t.openBlock(),t.createElementBlock("div",Oe,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.data,(l,y)=>(t.openBlock(),t.createElementBlock("span",{key:y,class:"item",style:t.normalizeStyle({color:l.color})},t.toDisplayString(l.label)+" "+t.toDisplayString(l.value),5))),128))]))}},ae=ne._export_sfc(fe,[["__scopeId","data-v-df1caefe"]]);const Ce={__name:"SliderChart",props:{screenTimeRange:{type:Array,required:!0},varietyCode:{type:String,required:!0},varietyStock:{type:Number,required:!0},rightType:{type:Number,required:!0},klineType:{type:Number,required:!0}},emits:["change"],setup(a,{expose:d,emit:c}){const{request:l}=t.inject("stConfig");let y=null;const m=t.ref(null),Y=c,g=a,e=t.ref({data:[],mainIndicator:[],subIndicator:[],time:[]}),v=async()=>{const N={varietyCode:g.varietyCode,cycle:"6",startTime:"1999-01-01 00:00:00",endTime:O.dayjs().format("YYYY-MM-DD 23:59:59"),deleteFirstNumber:1};switch(g.varietyStock){case 0:{Object.assign(N,{contractType:g.klineType});break}case 1:{Object.assign(N,{right:g.rightType});break}}const{body:u}=await l.post("/middleLayer/kline/getKline",N);u?e.value=u:e.value={data:[],mainIndicator:[],subIndicator:[],time:[]},T("init")},S=_.G(N=>{if(!N.dataZoomId)return;const u=y.getOption();if(u!=null&&u.dataZoom[0]){const{startValue:i,endValue:A}=y.getOption().dataZoom[0],{time:s}=e.value,o=`${s[i].split(" ")[0]} 00:00:00`,z=`${s[A].split(" ")[0]} 23:59:59`;console.log(`检测到拖拽轴被拖动, 时间区间: ${o} - ${z}`),Y("change",{startTime:o,endTime:z})}},200),I=_.G(({startTime:N,endTime:u})=>{T("reset",{startTime:N,endTime:u})},100),T=(N,u)=>{switch(N){case"init":{const{data:i,time:A}=e.value,{xAxisData:s,lineData:o}=i.reduce((M,r,L)=>(M.xAxisData.push(A[L].split(" ")[0]),M.lineData.push(r[1]),M),{xAxisData:[],lineData:[]}),z={grid:{height:0,left:"100px",right:"80px"},xAxis:{type:"category",data:s,show:!1},yAxis:{type:"value"},dataZoom:[{show:!0,startValue:0,endValue:0,textStyle:{color:"#ccc"}},{type:"inside",startValue:0,endValue:0}],series:[{data:o,type:"line"}]};if(y.setOption(z,!0),g.screenTimeRange.length){const[M,r]=g.screenTimeRange;I({startTime:M,endTime:r})}break}case"reset":{const{time:i}=e.value,A=O.dayjs(u.startTime).format("YYYY-MM-DD"),s=O.dayjs(u.endTime).format("YYYY-MM-DD");let o=-1,z=-1;for(let M=0;M<i.length;M++){const r=O.dayjs(i[M]).format("YYYY-MM-DD");if(o!==-1&&z!==-1)break;o===-1&&(new Date(r)===new Date(A)?o=M:new Date(r)>new Date(A)&&(o=M-1)),z===-1&&(new Date(r)===new Date(s)?z=M:new Date(r)>new Date(s)&&(z=M-1))}z===-1&&(z=i.length-1),y.dispatchAction({type:"dataZoom",startValue:o,endValue:z});break}}};return t.onMounted(()=>{t.nextTick(()=>{y=te.init(m.value),y.on("datazoom",S),v()})}),t.watch(()=>g.screenTimeRange,N=>{const[u,i]=N;I({startTime:u,endTime:i})},{deep:!0}),t.onUnmounted(()=>{y.off("datazoom"),y.dispose()}),d({resize:_.G(()=>y.resize(),100)}),(N,u)=>(t.openBlock(),t.createElementBlock("div",{class:"chart",ref_key:"sliderChartRef",ref:m},null,512))}},ke=ne._export_sfc(Ce,[["__scopeId","data-v-503077bd"]]);const be={class:"main-chart"},he={class:"indicator"},Ee={key:0,class:"screen-time-range"},ve={key:0,class:"sub-chart"},Se={class:"indicator"},Qe={class:"title"},Ue={key:1,class:"slider-chart"},Pe={__name:"index",props:{varietyCode:{type:String,required:!0},varietyStock:{type:Number,required:!0},indicatorStore:{type:Object,required:!0},userKlineConfig:{type:Object,required:!0},cycle:{type:String,required:!0},sellBuy:{type:Number,default:1},rightType:{type:Number,default:null},klineType:{type:Number,default:null},initTimeRange:{type:Array,required:!0},mainIndicator:{type:String,required:!0},tradeLog:{type:Array,default:()=>[]},netPositionData:{type:Array,default:()=>[]},positionTime:{type:[String,null],default:null},syncBrushRange:{type:Object,default:()=>({cycleList:[],startTime:null,endTime:null})}},setup(a,{expose:d}){const{round:c,formatValue:l}=_.x,{request:y}=t.inject("stConfig"),m=t.ref(),Y=t.ref(!1),g=t.ref(!1),e=a;let v=!1,S=!1,I=!1,T=!1,N=null,u=null,i=null;const A=t.ref(null),s=t.ref(null),o=t.ref({data:[],mainIndicator:[],subIndicator:[],time:[]}),z=t.ref(0),M=t.ref([]),r=t.ref(null),L=t.ref("VOL"),k=t.computed(()=>{const n=o.value.data[z.value];if(!n)return[{label:"开",value:"-"},{label:"高",value:"-"},{label:"低",value:"-"},{label:"收",value:"-"},{label:"额",value:"-"},{label:"涨跌",value:"-"}];const j=[{label:"开",value:c(n[0])},{label:"高",value:c(n[3])},{label:"低",value:c(n[2])},{label:"收",value:c(n[1])}];n[4]!==null&&j.push({label:"额",value:l(n[4])});let D;return n[6]>0?D="red":n[6]<0&&(D="green"),j.push({label:"涨跌",value:`${c(n[6])}%`,color:D}),j}),Q=t.computed(()=>{var n,j;return((j=(n=o.value)==null?void 0:n.mainIndicator)==null?void 0:j.map(D=>({label:D.key,value:c(D.data[z.value]),color:D.color})))||[]}),P=t.computed(()=>{var n,j;return((j=(n=o.value)==null?void 0:n.subIndicator)==null?void 0:j.map(D=>({label:D.key,color:D.color,value:D.data[z.value]||"-"})))||[]}),W=()=>{i||(i=te.init(s.value),i.on("highlight",_.G(n=>{var j;n.dataIndex?z.value=n.dataIndex:z.value=((j=n.batch)==null?void 0:j[0].dataIndex)??-1},10)),i.on("datazoom",_.G(async()=>{var b;const{loadCheckCount:n}=$,{startValue:j,endValue:D}=((b=i.getOption())==null?void 0:b.dataZoom[0])??{};I===!1&&T===!1&&j<n&&await oe("history"),v===!1&&S===!1&&D>o.value.time.length-n&&await oe("new"),Ne()})),i.on("globalout",()=>{const n=i.getOption();z.value=n.dataZoom[0].endValue}),i.getZr().on("contextmenu",()=>{var n;r.value=(n=o.value)==null?void 0:n.time[z.value]}),window.addEventListener("keydown",ce),e.userKlineConfig.enable_subChart&&(u=te.init(A.value),te.connect([i,u])),N=_.D(s.value),N.listen(()=>{requestAnimationFrame(()=>{var n;i.resize(),u==null||u.resize(),(n=m.value)==null||n.resize()})}))},B=async({startTime:n,endTime:j})=>{I=!1,T=!1,v=!1,S=!1;try{Y.value=!0;const D={varietyCode:e.varietyCode,cycle:e.cycle,right:e.rightType,contractType:e.varietyStock?null:e.klineType,mainIndicatorList:e.indicatorStore.getIndicatorParams(e.mainIndicator),subIndicator:L.value,startTime:O.dayjs(n).subtract(50,"day").format("YYYY-MM-DD HH:mm:ss"),endTime:O.dayjs(j).add(50,"day").format("YYYY-MM-DD HH:mm:ss"),deleteFirstNumber:1},{body:b}=await y.post("/middleLayer/kline/getKline",D);o.value=b??{data:[],mainIndicator:[],subIndicator:[],time:[]};const C=o.value.time.findIndex(x=>new Date(x)>=new Date(n)),w=o.value.time.findIndex(x=>new Date(x)>=new Date(j));K({startValue:C===-1?0:C,endValue:w===-1?o.value.time.length-1:w})}finally{Y.value=!1}},oe=async n=>{var R,X;const{loadAddCount:j}=$;switch(n){case"history":{I=!0;const U={varietyCode:e.varietyCode,cycle:e.cycle,right:e.rightType,contractType:e.varietyStock?null:e.klineType,endTime:o.value.time[0],limit:j,mainIndicatorList:e.indicatorStore.getIndicatorParams(e.mainIndicator),subIndicator:L.value,deleteFirstNumber:1},{body:G}=await y.post("/middleLayer/kline/getKline",U);o.value=ue(G,o.value),G.data.length<j&&(console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭"),T=!0),I=!1;break}case"new":{v=!0;const U={varietyCode:e.varietyCode,cycle:e.cycle,right:e.rightType,contractType:e.varietyStock?null:e.klineType,startTime:o.value.time[o.value.time.length-1],limit:j,deleteFirstNumber:1,mainIndicatorList:e.indicatorStore.getIndicatorParams(e.mainIndicator),subIndicator:L.value},{body:G}=await y.post("/middleLayer/kline/getKline",U);o.value=ue(o.value,G),G.data.length<j&&(console.log("[K线] 获取更多数据: 右侧已全部获取完毕, 关闭"),S=!0),v=!1;break}}const{startValue:D,endValue:b}=((R=i.getOption())==null?void 0:R.dataZoom[0])??{},C=(X=i.getOption())==null?void 0:X.xAxis[0].data,w=o.value.time.findIndex(U=>new Date(U)>=new Date(C[D])),x=o.value.time.findIndex(U=>new Date(U)>=new Date(C[b]));K({startValue:w===-1?0:w,endValue:x===-1?o.value.time.length-1:x})},Ne=()=>{var w;if(!o.value.time)return M.value=[];const{time:n}=o.value,{startValue:j,endValue:D}=((w=i.getOption())==null?void 0:w.dataZoom[0])??{},b=n[j],C=n[D];["6","7","8"].includes(e.cycle)?M.value=[O.dayjs(b).format("YYYY-MM-DD"),O.dayjs(C).format("YYYY-MM-DD")]:M.value=[b,C]},K=(n={startValue:0,endValue:0})=>{W();const{maxValueSpan:j}=$,{time:D,data:b,mainIndicator:C}=o.value,w=n.endValue-n.startValue>j?n.endValue-j:n.startValue,x=n.endValue,R=C.map(p=>({name:p.key,type:"line",silent:!0,symbol:"none",data:p.data,lineStyle:{width:p.width||1},itemStyle:{color:p.color}})),{netPositionLineData:X}=we(e.netPositionData,e.cycle),{tradePointData:U,tradeLineData:G}=pe(e.tradeLog,e.cycle,e.sellBuy,D,b);i.setOption({animation:!1,grid:{top:"40px",left:"60px",right:"20px",bottom:"20px"},dataZoom:[{type:"inside",startValue:w,endValue:x,minValueSpan:$.minValueSpan,maxValueSpan:$.maxValueSpan}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:p=>{const{axisDimension:f,value:h}=p;return f==="x"?["6","7","8"].includes(e.cycle)?O.dayjs(h).format("YYYY-MM-DD"):h:String(c(h))}}},formatter:p=>{if(!(p!=null&&p.length))return null;let f="";if(p.forEach(E=>{if(E.seriesName==="netPosition"&&E.data!==null&&(f+=`<div>资产持仓净值: ${E.data[1]}</div>`),E.componentSubType==="candlestick")if(e.sellBuy===0){const Z=U.filter(V=>(V==null?void 0:V.coord[0])===E.axisValue);let H=0,F=0;Z.forEach(V=>{const{tradeType:q,amount:ee}=V.customData;q==="买"&&(H+=ee),q==="卖"&&(F+=ee)}),H&&(f+=`<div>买: ${H}</div>`),F&&(f+=`<div>卖: ${F}</div>`)}else U.forEach(Z=>{if((Z==null?void 0:Z.coord[0])===E.axisValue){const{tradeType:H,amount:F,profitAndLoss:V,openPriceAll:q,closePriceAll:ee}=Z.customData;let J=`<div>${H}: ${F}手</div>`;if(H.includes("开")&&(J+=`<div>开仓价: ${(q/F).toFixed(2)}</div>`),H.includes("平")){const re=(q/F).toFixed(2),se=(ee/F).toFixed(2);J+=`<div>平仓价: ${se}</div>`,J+=`<div>盈亏: ${V==null?void 0:V.toFixed(2)}</div>`,J+=`<div>盈亏比率: ${((se-re)/re*100).toFixed(2)} %</div>`}f+=J}})}),!f)return null;let h=p[0].axisValue;return["6","7","8"].includes(e.cycle)&&(h=O.dayjs(h).format("YYYY-MM-DD")),`
|
|
2
|
+
<div>
|
|
3
|
+
<span style="font-weight: bold;">${h}</span>
|
|
4
|
+
${f}
|
|
5
|
+
</div>
|
|
6
|
+
`}},xAxis:{show:!0,type:"category",data:D,splitLine:{show:!1},axisLabel:{formatter:p=>["6","7","8"].includes(e.cycle)?O.dayjs(p).format("YYYY-MM-DD"):p}},yAxis:[{type:"value",axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}},min:p=>{const{min:f,max:h}=p,E=Math.abs((h-f)/10);return c(f-E)},max:p=>c(p.max)},{show:!1,min:p=>{const{min:f,max:h}=p,E=Math.abs((h-f)/10);return f-E},max:p=>{const{min:f,max:h}=p,E=Math.abs((h-f)/10);return h+E}}],series:[{type:"candlestick",data:b,markPoint:{data:xe([...U])},markLine:{data:[...G]},itemStyle:{color:"transparent",color0:"#00FFFF",borderColor:"#FF0000",borderColor0:"#00FFFF",borderWidth:1}},...R,{type:"line",name:"netPosition",data:X,symbol:"none",yAxisIndex:1,connectNulls:!0,itemStyle:{color:"#666666"},lineStyle:{width:2}}],toolbox:{show:!1},brush:{xAxisIndex:"all",brushLink:"all",transformable:!1,outOfBrush:{colorAlpha:2},brushStyle:{color:"rgba(255,255,255,0.1)",borderColor:"rgba(255,255,255,0.4)"}}},!0),e.userKlineConfig.enable_subChart&&u.setOption(me(o.value,w,x),!0),Ne(),z.value=x;{const p=[];if(e.userKlineConfig.enable_tradeLogBrush&&U.length){const[f,h]=[U[0].coord[0],U.at(-1).coord[0]],E=Me(D,[f,h],e.cycle);p.push({brushId:"开平仓范围",brushType:"lineX",xAxisIndex:0,coordRange:E})}if(e.syncBrushRange.cycleList.includes(e.cycle)){const{startTime:f,endTime:h}=e.syncBrushRange,E=Me(D,[f,h],e.cycle);p.push({brushId:"同步刷选范围",brushType:"lineX",xAxisIndex:0,coordRange:E,brushStyle:{fill:"rgba(64, 158, 255, 0.2)",stroke:"rgba(64, 158, 255, 0.8)",lineWidth:1}})}if(e.positionTime){const[f,h]=[O.dayjs(e.positionTime).format("YYYY-MM-DD 00:00:00"),O.dayjs(e.positionTime).format("YYYY-MM-DD 23:59:59")],E=Me(D,[f,h],e.cycle);p.push({brushId:"强制定位高亮",brushType:"lineX",xAxisIndex:0,coordRange:E,brushStyle:{fill:"rgba(217, 179, 255, 0.2)",stroke:"rgba(217, 179, 255, 0.8)",lineWidth:1}})}i.dispatchAction({type:"brush",areas:p})}},ze=n=>{const{startTime:j,endTime:D}=n;B({startTime:j,endTime:D})},ce=({code:n,ctrlKey:j})=>{if(!(j||g.value))return;const{xAxis:D,dataZoom:b}=i.getOption(),{data:C}=(D==null?void 0:D[0])??{data:[]};let{startValue:w,endValue:x}=(b==null?void 0:b[0])??{};if(C!=null&&C.length){switch(n){case"ArrowUp":{if(x-w<5)return;const R=Math.floor((x-w)/2)+1;w=w+R,x-w<5&&(w=x-4);break}case"ArrowDown":{const R=Math.min(500,x-w);w=w-R-1;break}case"ArrowLeft":{w>0&&(w-=1,x-=1),z.value>0&&(z.value-=1);break}case"ArrowRight":{x<C.length-1&&(w+=1,x+=1),g.value&&z.value<C.length-1&&(z.value+=1);break}}i.dispatchAction({type:"dataZoom",startValue:w,endValue:x}),i.dispatchAction({type:"updateAxisPointer",seriesIndex:0,dataIndex:g.value?z.value:null}),i.dispatchAction({type:"highlight",dataIndex:g.value?z.value:x})}};return t.onMounted(()=>{const[n,j]=e.initTimeRange;B({startTime:n,endTime:j})}),t.watch(()=>[e.varietyCode,e.initTimeRange],()=>{const[n,j]=e.initTimeRange;B({startTime:n,endTime:j})},{deep:!0}),t.watch(()=>{var n,j;return[e.mainIndicator,L.value,(n=e.indicatorStore)==null?void 0:n.filterIndicator,(j=e.indicatorStore)==null?void 0:j.customIndicator,e.cycle,e.rightType,e.klineType]},()=>{var C;const{startValue:n,endValue:j}=((C=i.getOption())==null?void 0:C.dataZoom[0])??{},[D,b]=[o.value.time[n],o.value.time[j]];B({startTime:D,endTime:b})},{deep:!0}),t.watch(()=>[e.sellBuy,e.tradeLog,e.netPositionData],()=>{var D;const{startValue:n,endValue:j}=((D=i.getOption())==null?void 0:D.dataZoom[0])??{};K({startValue:n,endValue:j})},{deep:!0}),t.onUnmounted(()=>{i.off("highlight"),i.off("globalout"),i.off("datazoom"),i.getZr().off("contextmenu"),window.removeEventListener("keydown",ce),i.dispose(),u==null||u.dispose(),N.dispose(),N=null}),d({screenTimeRange:M,contextmenuKlineTime:r,reDraw:()=>{var D;const{startValue:n,endValue:j}=((D=i.getOption())==null?void 0:D.dataZoom[0])??{};K({startValue:n,endValue:j})}}),(n,j)=>{const D=le.ElOption,b=le.ElSelect,C=de.ElEmpty,w=ye.vLoading;return t.withDirectives((t.openBlock(),t.createElementBlock("div",{class:"kline-plus",onMousemove:j[1]||(j[1]=x=>g.value=!0),onMouseout:j[2]||(j[2]=x=>g.value=!1)},[t.createElementVNode("div",be,[t.createElementVNode("div",he,[t.createVNode(ae,{data:k.value},null,8,["data"]),t.createVNode(ae,{data:Q.value},null,8,["data"])]),a.userKlineConfig.enable_showScreenTimeRange?(t.openBlock(),t.createElementBlock("span",Ee,t.toDisplayString(M.value[0])+" - "+t.toDisplayString(M.value[1]),1)):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"mainChartRef",ref:s,class:"chart"},null,512)]),a.userKlineConfig.enable_subChart?(t.openBlock(),t.createElementBlock("div",ve,[t.createElementVNode("div",Se,[t.createElementVNode("div",Qe,[t.createElementVNode("span",null,t.toDisplayString(L.value),1),t.createVNode(b,{modelValue:L.value,"onUpdate:modelValue":j[0]||(j[0]=x=>L.value=x),style:{width:"100px","margin-right":"4px",height:"25px"},size:"small",class:"element-dark","popper-class":"element-dark"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.indicatorStore.subIndicatorList,(x,R)=>(t.openBlock(),t.createBlock(D,{key:R,label:x.label,value:x.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),t.createVNode(ae,{data:P.value},null,8,["data"])]),t.createElementVNode("div",{ref_key:"subChartRef",ref:A,class:"chart"},null,512)])):t.createCommentVNode("",!0),a.userKlineConfig.enable_sliderChart?(t.openBlock(),t.createElementBlock("div",Ue,[t.createVNode(ke,{ref_key:"sliderChartRef",ref:m,screenTimeRange:M.value,varietyCode:a.varietyCode,varietyStock:a.varietyStock,rightType:a.rightType,klineType:a.klineType,onChange:ze},null,8,["screenTimeRange","varietyCode","varietyStock","rightType","klineType"])])):t.createCommentVNode("",!0),o.value.time.length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(C,{key:2,class:"empty",description:"暂无数据"}))],32)),[[w,Y.value]])}}},Re=ne._export_sfc(Pe,[["__scopeId","data-v-9917caf7"]]),Ve={install(a){a.component("st-klinePlus",Re)}};module.exports=Ve;
|