st-comp 0.0.200 → 0.0.202
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.js +4 -4
- package/es/ConfigProvider.cjs +1 -1
- package/es/ConfigProvider.js +1 -1
- package/es/CustomFunction.cjs +1 -1
- package/es/CustomFunction.js +44 -40
- package/es/FactorWarning.cjs +1 -1
- package/es/FactorWarning.js +84 -78
- package/es/Kline.cjs +1 -1
- package/es/Kline.js +21 -19
- package/es/KlineBasic.cjs +1 -1
- package/es/KlineBasic.js +30 -28
- package/es/KlineConfig.cjs +1 -1
- package/es/KlineConfig.js +345 -331
- package/es/KlineNew.cjs +1 -1
- package/es/KlineNew.js +20 -18
- package/es/KlinePlus.cjs +4 -4
- package/es/KlinePlus.js +610 -588
- package/es/MonacoEditor.cjs +1 -1
- package/es/MonacoEditor.js +2 -2
- package/es/Pagination.cjs +1 -1
- package/es/Pagination.js +74 -72
- package/es/PasswordPrompt.cjs +1 -1
- package/es/PasswordPrompt.js +9 -157
- package/es/Pie.cjs +1 -1
- package/es/Pie.js +1 -1
- package/es/Table.cjs +1 -1
- package/es/Table.js +56 -52
- package/es/User.cjs +1 -1
- package/es/User.js +1313 -1
- package/es/VarSelectDialog.cjs +1 -1
- package/es/VarSelectDialog.js +28 -26
- package/es/VarietyAutoComplete.cjs +1 -1
- package/es/VarietyAutoComplete.js +19 -18
- package/es/VarietySearch.cjs +8 -8
- package/es/VarietySearch.js +704 -697
- package/es/VarietyTextCopy.cjs +1 -1
- package/es/VarietyTextCopy.js +12 -12
- package/es/VirtualTable.cjs +1 -1
- package/es/VirtualTable.js +80 -79
- package/es/{el-popover-5421d52a.cjs → _initCloneObject-52b6a510.cjs} +1 -1
- package/es/{el-popover-7a1c6412.js → _initCloneObject-eaef9418.js} +9 -9
- package/es/{base-8348063b.js → base-a5af3db3.js} +38 -38
- package/es/{castArray-3f45c3ec.js → castArray-7741a212.js} +1 -1
- package/es/{config-provider-eb0460f1.cjs → config-provider-a584d81e.cjs} +1 -1
- package/es/{config-provider-1a687690.js → config-provider-b16efd62.js} +6 -6
- package/es/debounce-62f5b6e8.cjs +1 -0
- package/es/debounce-8d53f4dd.js +83 -0
- package/es/dropdown-071c5d7e.cjs +1 -0
- package/es/dropdown-a59bba73.js +178 -0
- package/es/el-autocomplete-a07e9439.cjs +1 -0
- package/es/{el-autocomplete-d4cd96cd.js → el-autocomplete-ba808eb6.js} +16 -16
- package/es/{el-button-2e680390.js → el-button-c95adb85.js} +33 -33
- package/es/{el-button-4ccd7122.cjs → el-button-eec58cff.cjs} +1 -1
- package/es/el-checkbox-7421ccd3.js +459 -0
- package/es/el-checkbox-c25236a6.cjs +1 -0
- package/es/el-checkbox-group-0ea8fbf8.cjs +1 -0
- package/es/el-checkbox-group-4ed993c7.js +1 -0
- package/es/{el-dialog-bafc4b2b.js → el-dialog-41ab8417.js} +7 -6
- package/es/{el-dialog-6413b4af.cjs → el-dialog-ae86edb8.cjs} +1 -1
- package/es/{el-divider-93b0ee21.js → el-divider-4e059794.js} +1 -1
- package/es/{el-empty-56783dca.js → el-empty-33cb66f1.js} +3 -3
- package/es/el-form-item-c3fe189b.cjs +12 -0
- package/es/el-form-item-c53c374d.js +1269 -0
- package/es/{el-input-735575f4.js → el-input-2f75c4ba.js} +34 -34
- package/es/{el-input-6c5ac889.cjs → el-input-7fd293af.cjs} +1 -1
- package/es/{el-input-number-d5770776.cjs → el-input-number-22e21d16.cjs} +1 -1
- package/es/{el-input-number-6634a6ea.js → el-input-number-5193fe6d.js} +35 -35
- package/es/{el-loading-98dcebee.cjs → el-loading-cfd86c15.cjs} +1 -1
- package/es/{el-loading-049dacc5.js → el-loading-f6022062.js} +5 -5
- package/es/{el-menu-item-828bc6fa.cjs → el-menu-item-17dc717e.cjs} +1 -1
- package/es/{el-menu-item-8a210e21.js → el-menu-item-7e881203.js} +22 -22
- package/es/{el-message-a1ac37d4.cjs → el-message-5e6a6be9.cjs} +1 -1
- package/es/el-message-box-a93d2f6a.js +489 -0
- package/es/el-message-box-c10adb52.cjs +1 -0
- package/es/{el-message-def216ae.js → el-message-e544a8f5.js} +24 -24
- package/es/{el-overlay-4ea38eab.js → el-overlay-09ad71cd.js} +51 -51
- package/es/{el-overlay-69dfacb6.cjs → el-overlay-9e34965f.cjs} +1 -1
- package/es/{el-popconfirm-bdeceeb7.cjs → el-popconfirm-70a976bf.cjs} +1 -1
- package/es/{el-popconfirm-aace1104.js → el-popconfirm-81dcd202.js} +20 -20
- package/es/el-popover-0ea8fbf8.cjs +1 -0
- package/es/el-popover-4ed993c7.js +1 -0
- package/es/{el-popper-986a8371.js → el-popper-b4f97157.js} +115 -112
- package/es/{el-popper-b962125f.cjs → el-popper-b6c99b28.cjs} +1 -1
- package/es/el-scrollbar-323542e7.js +34 -0
- package/es/el-scrollbar-bc3f790d.cjs +1 -0
- package/es/{el-segmented-f892ec18.js → el-segmented-b868d074.js} +8 -8
- package/es/{el-segmented-6b057ed5.cjs → el-segmented-f8fce9ac.cjs} +1 -1
- package/es/{el-select-2189a8ac.js → el-select-95627997.js} +42 -41
- package/es/el-select-d8d91db1.cjs +1 -0
- package/es/el-table-column-376cd907.js +3432 -0
- package/es/el-table-column-c974cb96.cjs +14 -0
- package/es/{el-tag-75a7573a.js → el-tag-66cab138.js} +16 -16
- package/es/{el-tag-a15520b3.cjs → el-tag-a33c4b22.cjs} +1 -1
- package/es/{el-checkbox-group-e26a4533.js → el-text-ac60d0f2.js} +16 -16
- package/es/{el-checkbox-group-dfdad075.cjs → el-text-c20a9f48.cjs} +1 -1
- package/es/{index-1fb95601.cjs → index-098c2447.cjs} +1 -1
- package/es/{index-16802b35.cjs → index-11547a0c.cjs} +1 -1
- package/es/index-1f7d4f70.js +157 -0
- package/es/{index-680be212.cjs → index-298075cf.cjs} +1 -1
- package/es/index-57672682.js +113 -0
- package/es/{index-9cfb6ccf.js → index-7ed0999e.js} +2 -0
- package/es/{index-f3a86049.js → index-844bdd85.js} +29 -29
- package/es/index-88546436.js +163 -0
- package/es/{index-cc200b99.cjs → index-8901a38c.cjs} +1 -1
- package/es/{index-e00ee015.js → index-960806da.js} +36 -36
- package/es/index-9b9ef5dd.cjs +1 -0
- package/es/{index-847d58bc.js → index-a871c3eb.js} +92 -62
- package/es/{index-780e7fd2.js → index-bc8e277e.js} +2 -2
- package/es/{index-5e0314ac.cjs → index-c108567d.cjs} +1 -1
- package/es/{index-78381381.cjs → index-d725fef6.cjs} +2 -2
- package/es/{index-14c88a1a.js → index-d77a7336.js} +1 -1
- package/es/{index-f45c2897.js → index-d91dc23f.js} +20 -20
- package/es/{index-c94b9543.js → index-e5566b94.js} +43 -43
- package/es/index-f3562b52.cjs +1 -0
- package/es/index-f967d6c1.cjs +1 -0
- package/es/{python-2e916d28.cjs → python-c27ba105.cjs} +1 -1
- package/es/{python-7cf0b6ba.js → python-ecde9ff2.js} +2 -2
- package/es/{raf-8e5f0699.js → raf-80ef0c0a.js} +1 -1
- package/es/{scroll-c43468ab.js → scroll-679bd6bf.js} +1 -1
- package/es/style.css +1 -1
- package/es/{use-form-common-props-e6cba60f.js → use-form-common-props-815d48a6.js} +69 -69
- package/es/{use-form-common-props-d8866dc6.cjs → use-form-common-props-fd9b61a0.cjs} +1 -1
- package/es/{use-global-config-72d50e62.cjs → use-global-config-30d7d8ce.cjs} +1 -1
- package/es/{use-global-config-76ff2e3e.js → use-global-config-b5e9d3d5.js} +14 -14
- package/es/{validator-e759d43d.cjs → validator-1b8a6128.cjs} +1 -1
- package/es/{validator-220652c5.js → validator-764a9db0.js} +1 -1
- package/es/vnode-5ddb7ed1.js +14 -0
- package/es/vnode-b906ae6d.cjs +1 -0
- package/es/{zh-cn-33e7aee6.cjs → zh-cn-90317f62.cjs} +1 -1
- package/es/{zh-cn-c7fa42ea.js → zh-cn-e963c628.js} +2 -2
- package/lib/bundle.js +1 -1
- package/lib/bundle.umd.cjs +156 -156
- package/lib/{index-410c490f.js → index-a45d1494.js} +11238 -11207
- package/lib/{python-589861d2.js → python-82d17c8d.js} +1 -1
- package/lib/style.css +1 -1
- package/package.json +1 -1
- package/packages/KlineConfig/config.js +2 -0
- package/packages/KlineConfig/index.vue +9 -0
- package/packages/KlinePlus/index.vue +18 -8
- package/packages/KlinePlus/utils.js +41 -5
- package/src/pages/KlinePlus/index.vue +6 -5
- package/es/el-autocomplete-86c0d989.cjs +0 -1
- package/es/el-form-item-41becb31.js +0 -1749
- package/es/el-form-item-95476197.cjs +0 -12
- package/es/el-scrollbar-139aa96d.cjs +0 -1
- package/es/el-scrollbar-cdadd788.js +0 -115
- package/es/el-select-e1046cc6.cjs +0 -1
- package/es/el-table-column-91d69c86.js +0 -3882
- package/es/el-table-column-f1c4af89.cjs +0 -14
- package/es/index-56ea97a9.js +0 -122
- package/es/index-8583c047.cjs +0 -1
- package/es/index-ce63356a.cjs +0 -1
- package/es/index-db1e1861.js +0 -318
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-cc200b99.cjs");require("./base-ef747d02.cjs");require("./el-tag-a15520b3.cjs");const R=require("./el-select-e1046cc6.cjs");require("./el-scrollbar-139aa96d.cjs");require("./el-popper-b962125f.cjs");const $=require("echarts");require("./index-5e0314ac.cjs");require("./index-9780a537.cjs");require("./use-form-common-props-d8866dc6.cjs");require("./index-1fb95601.cjs");require("./index-bb833443.cjs");require("./index-680be212.cjs");require("./index-ce63356a.cjs");require("./castArray-35947698.cjs");require("./index-16802b35.cjs");require("./scroll-b108dabd.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:q}=n;let m=[],v=[],F=[],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>=q&&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]]),F.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:F,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=[],q=[],m=[],v=[],F=[];let k=[],c=[];const _=r.filter((o,A)=>(b.push(o[0]),q.push(o[1]),m.push(o[4]),v.push(o[2]),F.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:q,close:m,high:v,low:F,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,q;let l="-";return n.source==="origin"?l=e.originData[i][n.dataIndex]||"-":n.source==="calculation"&&(l=(((q=(b=e.subIndicatorData)==null?void 0:b.find(v=>v.key===n.key))==null?void 0:q.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:q,originData:m}=u.drawData,v=u.subIndicatorList.find(c=>c.value===d.value),F=[];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)||[],F.push({name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:c.map((_,I)=>v.color==="kline"?{value:_,itemStyle:p(q,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),F.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:F},!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,q)=>{n===-1&&b[0]===e?n=q:n===-1&&new Date(b[0])>new Date(e)&&(n=q-1),(l===-1&&b[0]===i||l===-1&&new Date(b[0])>new Date(i))&&(l=q)}),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-ef747d02.cjs");require("./el-tag-a33c4b22.cjs");const R=require("./el-select-d8d91db1.cjs");require("./el-scrollbar-bc3f790d.cjs");require("./el-popper-b6c99b28.cjs");const $=require("echarts");require("./index-c108567d.cjs");require("./index-9780a537.cjs");require("./use-form-common-props-fd9b61a0.cjs");require("./index-098c2447.cjs");require("./index-bb833443.cjs");require("./index-298075cf.cjs");require("./index-f3562b52.cjs");require("./castArray-35947698.cjs");require("./index-11547a0c.cjs");require("./scroll-b108dabd.cjs");require("./debounce-62f5b6e8.cjs");require("./vnode-b906ae6d.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:o,endValue:d,maxIndex:f}=u;if(h.code==="ArrowLeft"){if(o===0)return;o=o-1,d=d-1}else if(h.code==="ArrowRight"){if(d===f)return;o=o+1,d=d+1}else if(h.code==="ArrowUp"){if(d-o<5)return;const p=Math.floor((d-o)/2)+1;o=o+p,d-o<5&&(o=d-4)}else if(h.code==="ArrowDown"){const p=Math.min(500,d-o);o=o-p-1}return{startValue:o,endValue:d}},getDataZoomInfoByTime:h=>{const{showStartTime:u,showEndTime:o,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(o)&&(e=n)}),{startValue:p,endValue:e,maxValueSpan:Math.max(...Object.values(i))*f}},formatDataBySlide:h=>{const{originDrawData:u,addData:o,startTime:d,endTime:f}=h,{mainIndicator:p,mainIndicatorList:e,subIndicator:i,subIndicatorList:a,config:n,timeRange:l}=h,{loadAddCount:b,preLoadCount:q}=n;let m=[],v=[],F=[],k=[];d&&f?(m=o.filter(s=>new Date(s[0])>=new Date(d)&&new Date(s[0])<=new Date(f)),k=[...o]):f?(m=[...o.filter((s,r)=>r>=o.length-b&&new Date(l[0])<=new Date(s[0])&&new Date(s[0])<=new Date(l[1])),...u.originData],k=[...o,...u.originData]):d&&(m=[...u.originData,...o.filter((s,r)=>r>=q&&new Date(l[0])<=new Date(s[0])&&new Date(s[0])<=new Date(l[1]))],k=m),m.forEach((s,r)=>{v.push([s[1],s[4],s[3],s[2],r===0?0:m[r-1][4],s[6]]),F.push(s[0])});let c=[],_=[];const I={time:[],open:[],close:[],high:[],low:[],originData:k};let B=null,T=null;return k.forEach((s,r)=>{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=r),s[0]===m[m.length-1][0]&&(T=r+1)}),c=e.find(({value:s})=>s===p).config.map(s=>{const{calculationFn:r}=s,A={time:[],open:[],close:[],high:[],low:[],originData:[]};return{...s,data:r?r(C.talib,I,A).slice(B,T):[]}}),_=a.find(({value:s})=>s===i).config.reduce((s,r)=>{const{source:A,calculationFn:V}=r;return A==="calculation"?[...s,{...r,data:V?V(C.talib,I).slice(B,T):[]}]:s},[]),{originData:m,candlestickData:v,mainIndicatorData:c,subIndicatorData:_,xAxisData:F,startTime:m[0][0],endTime:m[m.length-1][0],length:m.length}},formatDataByCount:h=>{const{originDrawData:u,addData:o,mainIndicator:d,mainIndicatorList:f,subIndicator:p,subIndicatorList:e,config:i}=h;let a={};const{addCount:n,preLoadCount:l}=i,b=[],q=[],m=[],v=[],F=[];let k=[],c=[];const _=o.filter((r,A)=>(b.push(r[0]),q.push(r[1]),m.push(r[4]),v.push(r[2]),F.push(r[3]),k.push(r[0]),c.push([r[1],r[4],r[3],r[2],A===0?0:o[A-1][4],r[6]]),o.length>=n+l-1?A>=l:!0));k=w(k,_.length),c=w(c,_.length);const I={time:b,open:q,close:m,high:v,low:F,originData:o},T=f.find(r=>r.value===d).config.map(r=>({...r,data:w(r.calculationFn?r.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((r,A)=>({...r,data:[...T[A].data,...r.data]})),subIndicatorData:u.subIndicatorData.map((r,A)=>({...r,data:[...s[A].data,...r.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[]}),o=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:o.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,o=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,q;let l="-";return n.source==="origin"?l=e.originData[i][n.dataIndex]||"-":n.source==="calculation"&&(l=(((q=(b=e.subIndicatorData)==null?void 0:b.find(v=>v.key===n.key))==null?void 0:q.data)||[])[i]),{label:n.key,color:n.color,value:l==="-"?l:g(l)}}):[]});t.onMounted(()=>{y=E.init(o.value);let e=!0;w=new ResizeObserver(()=>{if(e){e=null;return}y.resize()}),w.observe(o.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:q,originData:m}=u.drawData,v=u.subIndicatorList.find(c=>c.value===d.value),F=[];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)||[],F.push({name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:c.map((_,I)=>v.color==="kline"?{value:_,itemStyle:p(q,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),F.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:F},!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:o},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,o=t.ref();t.watch(()=>u.data,()=>{p()},{deep:!0}),t.onMounted(()=>{g=E.init(o.value),d(),p();let e=!0;y=new ResizeObserver(()=>{if(e){e=null;return}g.resize()}),y.observe(o.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,q)=>{n===-1&&b[0]===e?n=q:n===-1&&new Date(b[0])>new Date(e)&&(n=q-1),(l===-1&&b[0]===i||l===-1&&new Date(b[0])>new Date(i))&&(l=q)}),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:o},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
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
import { defineComponent as R, openBlock as T, createElementBlock as L, Fragment as K, renderList as Z, normalizeStyle as H, toDisplayString as N, computed as $, createVNode as O, ref as j, onMounted as U, onUnmounted as Y, nextTick as J, createElementVNode as P, withCtx as Q, createBlock as W, createCommentVNode as X, watch as ee } from "vue";
|
|
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
|
-
import { x as G } from "./index-
|
|
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-
|
|
4
|
+
import { x as G } from "./index-7ed0999e.js";
|
|
5
|
+
import "./base-a5af3db3.js";
|
|
6
|
+
import "./el-tag-66cab138.js";
|
|
7
|
+
import { E as ae, a as ne } from "./el-select-95627997.js";
|
|
8
|
+
import "./el-scrollbar-323542e7.js";
|
|
9
|
+
import "./el-popper-b4f97157.js";
|
|
10
10
|
import * as B from "echarts";
|
|
11
|
-
import "./index-
|
|
12
|
-
import "./index-
|
|
13
|
-
import "./use-form-common-props-
|
|
14
|
-
import "./index-
|
|
15
|
-
import "./index-
|
|
16
|
-
import "./index-
|
|
17
|
-
import "./index-
|
|
18
|
-
import "./castArray-
|
|
19
|
-
import "./index-
|
|
20
|
-
import "./scroll-
|
|
11
|
+
import "./index-e5566b94.js";
|
|
12
|
+
import "./index-960806da.js";
|
|
13
|
+
import "./use-form-common-props-815d48a6.js";
|
|
14
|
+
import "./index-a871c3eb.js";
|
|
15
|
+
import "./index-d77a7336.js";
|
|
16
|
+
import "./index-844bdd85.js";
|
|
17
|
+
import "./index-57672682.js";
|
|
18
|
+
import "./castArray-7741a212.js";
|
|
19
|
+
import "./index-d91dc23f.js";
|
|
20
|
+
import "./scroll-679bd6bf.js";
|
|
21
|
+
import "./debounce-8d53f4dd.js";
|
|
22
|
+
import "./vnode-5ddb7ed1.js";
|
|
21
23
|
const oe = /* @__PURE__ */ R({
|
|
22
24
|
__name: "index",
|
|
23
25
|
setup(k, { expose: D }) {
|
|
@@ -635,11 +637,11 @@ const he = /* @__PURE__ */ q(fe, [["__scopeId", "data-v-0a2f256e"]]), me = /* @_
|
|
|
635
637
|
}, null, 512));
|
|
636
638
|
}
|
|
637
639
|
});
|
|
638
|
-
const ge = /* @__PURE__ */ q(me, [["__scopeId", "data-v-5008746a"]]),
|
|
640
|
+
const ge = /* @__PURE__ */ q(me, [["__scopeId", "data-v-5008746a"]]), qe = {
|
|
639
641
|
install(k) {
|
|
640
642
|
k.component("st-klineUtils", oe), k.component("st-klineSub", he), k.component("st-klineTips", ce), k.component("st-klineSlide", ge);
|
|
641
643
|
}
|
|
642
644
|
};
|
|
643
645
|
export {
|
|
644
|
-
|
|
646
|
+
qe as default
|
|
645
647
|
};
|
package/es/KlinePlus.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";require("./base-ef747d02.cjs");const Te=require("./el-loading-98dcebee.cjs"),ge=require("./el-empty-1697ded8.cjs");require("./el-tag-a15520b3.cjs");const je=require("./el-select-e1046cc6.cjs");require("./el-scrollbar-139aa96d.cjs");require("./el-popper-b962125f.cjs");const t=require("vue"),I=require("./dayjs.min-2c20abe6.cjs"),Ie=require("echarts"),H=require("./index-cc200b99.cjs"),oe=require("./_plugin-vue_export-helper-f246444f.cjs");require("./use-global-config-72d50e62.cjs");require("./use-form-common-props-d8866dc6.cjs");require("./index-9780a537.cjs");require("./index-1fb95601.cjs");require("./index-bb833443.cjs");require("./index-5e0314ac.cjs");require("./index-680be212.cjs");require("./index-ce63356a.cjs");require("./castArray-35947698.cjs");require("./index-16802b35.cjs");require("./scroll-b108dabd.cjs");function Ye(a){const z=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const s in a)if(s!=="default"){const y=Object.getOwnPropertyDescriptor(a,s);Object.defineProperty(z,s,y.get?y:{enumerable:!0,get:()=>a[s]})}}return z.default=a,Object.freeze(z)}const Me=Ye(Ie),Le="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=",me="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+",Ae="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",{round:we}=H.x,Z={minValueSpan:5,maxValueSpan:2e3,loadCheckCount:500,loadAddCount:2e3},pe={1:240,2:48,3:16,4:8,5:4,6:1,7:.2,8:.033},ze=({startTime:a,endTime:z,cycle:s,type:y="end"})=>{const{maxValueSpan:d}=Z,A=Math.ceil((d+1e3)/pe[s]),Y=I.dayjs(a);if(I.dayjs(z).diff(Y,"day")<=A)return[a,z];if(y==="end")return[I.dayjs(z).subtract(A,"day").format("YYYY-MM-DD HH:mm:ss"),z];if(y==="middle"){const h=I.dayjs((I.dayjs(a).valueOf()+I.dayjs(z).valueOf())/2).format("YYYY-MM-DD HH:mm:ss");return console.log("超过一屏数量上限, 进行中间时间计算",h,A/2),[I.dayjs(h).subtract(A/2,"day").format("YYYY-MM-DD HH:mm:ss"),I.dayjs(h).add(A/2,"day").format("YYYY-MM-DD HH:mm:ss")]}},fe=(a,z)=>{const s=a[z],y=z===0?a[z]:a[z-1];return s[0]===s[1]?s[0]>=y[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:s[1]>s[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}},xe=(a,z,s)=>{var d,A,Y,D;const y=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((h,S)=>e.seriesColor==="kline"?{value:h,itemStyle:fe(a.data,S)}:e.seriesColor==="value"?{value:h,itemStyle:{color:h>=0?"#FF0000":"#00FFFF"}}:{value:h,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:z,endValue:s,maxValueSpan:Z.maxValueSpan}],tooltip:{show:!1},axisPointer:{show:!0,triggerTooltip:!1,label:{rich:{},formatter:e=>{const{axisDimension:h,value:S}=e;if(h==="x")return null;if(e.axisIndex===1)return String(we(S))}}},xAxis:{type:"category",data:a.time,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{show:!1}},yAxis:[{position:"right"},{position:"left",min:((d=a.subIndicator[0])==null?void 0:d.leftYAxisRange)==="cover"?e=>e.min:null,max:((A=a.subIndicator[0])==null?void 0:A.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:((D=a.subIndicator[0])==null?void 0:D.rightYAxisRange)==="cover"?e=>e.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:y}},de=(a,z,s="strict")=>{let y=0,d=a.length-1,A=-1;for(;y<=d;){let Y=Math.floor((y+d)/2);if(s==="strict"){if(a[Y]===z)return Y;a[Y]<z?y=Y+1:d=Y-1}else s==="gte"&&(a[Y]>=z?(A=Y,d=Y-1):y=Y+1)}return s==="strict"?-1:A},ye=(a,z)=>({data:[...a.data,...z.data.slice(1)],mainIndicator:a.mainIndicator.map((s,y)=>({...s,data:[...s.data,...z.mainIndicator[y].data.slice(1)]})),subIndicator:a.subIndicator.map((s,y)=>({...s,data:[...s.data,...z.subIndicator[y].data.slice(1)]})),time:[...a.time,...z.time.slice(1)]}),ne=(a,z,s)=>{switch(s){case"5":{let m=[...new Set(a.slice(-20).map(T=>{const o=new Date(T),l=String(o.getHours()).padStart(2,"0"),w=String(o.getMinutes()).padStart(2,"0"),v=String(o.getSeconds()).padStart(2,"0");return`${l}:${w}:${v}`}))];m.includes("00:00:00")&&(m.splice(m.indexOf("00:00:00"),1),m.push("24:00:00")),m=m.sort((T,o)=>new Date(`2000-01-30 ${T}`).getTime()-new Date(`2000-01-30 ${o}`).getTime());const g=new Date(z),N=g.getFullYear(),u=String(g.getMonth()+1).padStart(2,"0"),i=String(g.getDate()).padStart(2,"0"),O=String(g.getHours()).padStart(2,"0"),c=String(g.getMinutes()).padStart(2,"0"),n=String(g.getSeconds()).padStart(2,"0");if(`${O}:${c}:${n}`=="00:00:00")return`${N}-${u}-${i} 01:00:00`;{let T=null;for(let o=0;o<m.length;o++){const l=m[o].split(":");if(+`${l[0]}${l[1]}${l[2]}`>=+`${O}${c}${n}`){T=m[o];break}}if(T==="24:00:00"){const o=new Date(z);o.setDate(o.getDate()+1);const l=o.getFullYear(),w=String(o.getMonth()+1).padStart(2,"0"),v=String(o.getDate()).padStart(2,"0");return`${l}-${w}-${v} 00:00:00`}return`${N}-${u}-${i} ${T}`}}case"6":{const m=new Date(z),g=m.getHours();if(g>=4&&g<21){const N=m.getFullYear(),u=String(m.getMonth()+1).padStart(2,"0"),i=String(m.getDate()).padStart(2,"0");return`${N}-${u}-${i} 09:00:00`}else{const N=new Date(z);N.getHours()>=21&&N.setDate(N.getDate()+1);const u=N.getFullYear(),i=String(N.getMonth()+1).padStart(2,"0"),O=String(N.getDate()).padStart(2,"0"),c=`${u}-${i}-${O} 09:00:00`,n=de(a,c,"gte");return n===-1?c:a[n]}}case"7":{const m=new Date(z),g=new Date(m);g.setDate(m.getDate()-m.getDay()),g.setHours(0,0,0,0);const N=new Date(g);N.setDate(g.getDate()+5),N.setHours(23,59,59,0);const u=new Date(g);u.setDate(g.getDate()+12),u.setHours(9,0,0,0);const i=m<=N?N:u,O=i.getFullYear(),c=String(i.getMonth()+1).padStart(2,"0"),n=String(i.getDate()).padStart(2,"0");return`${O}-${c}-${n} 09:00:00`}case"8":{const m=new Date(z),g=new Date(m.getFullYear(),m.getMonth()+1,1),N=new Date(g);N.setDate(g.getDate()-1),N.setHours(9,0,0,0);const u=N.getFullYear(),i=String(N.getMonth()+1).padStart(2,"0"),O=String(N.getDate()).padStart(2,"0");return`${u}-${i}-${O} 09:00:00`}}const y=new Date(z),d=y.getFullYear(),A=y.getMonth(),Y=y.getDate(),D=y.getHours(),e=y.getMinutes(),h=y.getSeconds(),S=m=>{let g=null;const N=Math.floor(e/m);e%m===0&&h===0?g=e:g=(N+1)*m;const u=Math.floor(g/60),i=D+u,O=g%60,c=new Date(d,A,Y,i,O,0),n=R=>String(R).padStart(2,"0"),T=c.getFullYear(),o=n(c.getMonth()+1),l=n(c.getDate()),w=n(c.getHours()),v=n(c.getMinutes());return`${T}-${o}-${l} ${w}:${v}:00`};switch(s){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: ${z} ${s}`)}},ae=(a,z,s)=>{let y=null,d=null;const[A,Y]=z;switch(s){case"6":{y=a.find(D=>new Date(I.dayjs(D).format("YYYY-MM-DD 23:59:59")).getTime()>=new Date(A).getTime()),d=a.findLast(D=>new Date(I.dayjs(D).format("YYYY-MM-DD 00:00:00")).getTime()<=new Date(Y).getTime());break}case"7":{const D=I.dayjs(Y).endOf("week").add(1,"day").format("YYYY-MM-DD 23:59:59");y=a.find(e=>I.dayjs(e).endOf("week").add(1,"day").format("YYYY-MM-DD")===I.dayjs(A).endOf("week").add(1,"day").format("YYYY-MM-DD")),d=a.findLast(e=>new Date(e).getTime()<=new Date(D).getTime());break}case"8":{y=a.find(D=>I.dayjs(D).format("YYYY-MM")===I.dayjs(A).format("YYYY-MM")),d=a.findLast(D=>I.dayjs(D).format("YYYY-MM")===I.dayjs(Y).format("YYYY-MM"));break}default:y=a.find(D=>new Date(D).getTime()>=new Date(A).getTime()),d=a.findLast(D=>new Date(D).getTime()<=new Date(Y).getTime())}return[y,d]},Oe=(a,z,s,y,d)=>{const A=(g,N)=>{const{direction:u="",tradeAction:i="",tradeType:O=""}=g,c=O??u+i;switch(N){case 0:return new Map([["开多","买"],["平多","卖"],["开空","卖"],["平空","买"]]).get(c);case 1:return O??u+i}},Y=(g,N,u,i)=>g.reduce((O,c)=>{var R;const n=A(c,0),T=g.filter(V=>V.klineTime===c.klineTime),o=[...new Set(T.map(V=>A(V,0)))];let l=null;o.length>1?l="image://"+new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",self.location).href:l="image://"+new URL(Object.assign({"./images/buy.svg":Le,"./images/sell.svg":me,"./images/t.svg":Ae})[`./images/${n==="买"?"buy":"sell"}.svg`],self.location).href;const w=de(u,c.klineTime),v=(R=i[w])==null?void 0:R[3];return N.forEach(V=>{var B;const K=n==="买"?0:1;V.range[K]===c.klineTime&&(V.rangeValue[K]=(B=i[w])==null?void 0:B[n==="买"?2:3])}),O.push({symbol:l,symbolSize:25,symbolRotate:0,symbolOffset:[0,0],label:{show:!1,position:"top"},coord:[c.klineTime,v],silent:!0,animation:!1,customData:{tradeType:n,amount:c.amount,part:c.part,profitAndLoss:c.profitAndLoss,openPriceAll:c.openPriceAll,closePriceAll:c.closePriceAll}}),O},[]),D=(g,N,u,i)=>g.reduce((O,c,n)=>{const T=A(c,1),o=["开多","开空"].includes(T)?"top":"bottom",l=o==="top"?(c.openPriceAll/c.amount).toFixed(2):(c.closePriceAll/c.amount).toFixed(2);return N.forEach(w=>{(o==="top"?w.range[0]:w.range[1])===c.klineTime&&(w.rangeValue[o==="top"?0:1]=l)}),O.push({symbol:"triangle",symbolSize:[10,12],symbolRotate:o==="top"?180:0,symbolOffset:[0,0],label:{show:!0,position:o,color:"#fff",formatter:`${T} ${o==="top"?"+":"-"} ${c.amount}手 ${c.part?`(${c.part}份)`:""}`},itemStyle:{color:o==="top"?"#FF0000":"#389e0d"},coord:[c.klineTime,l],silent:!0,animation:!1,customData:{tradeType:T,amount:c.amount,part:c.part,profitAndLoss:c.profitAndLoss,openPriceAll:c.openPriceAll,closePriceAll:c.closePriceAll}}),O},[]),e=(g,N,u)=>{const{basePointData:i,baseLineData:O}=g.reduce((o,l)=>{const w={pointTime:l.openTime,tradeAction:"开",tradeDirection:l.tradeDirection?"空":"多",tradeType:`开${l.tradeDirection?"空":"多"}`,part:null,amount:l.tradeVolume,profitAndLoss:l.profitAndLoss,openPriceAll:l.openPrice*l.tradeVolume,closePriceAll:l.closePrice*l.tradeVolume,klineTime:ne(u,l.openTime,N)},v={pointTime:l.closeTime,tradeAction:"平",tradeDirection:l.tradeDirection?"空":"多",tradeType:`平${l.tradeDirection?"空":"多"}`,part:null,amount:l.tradeVolume,profitAndLoss:l.profitAndLoss,openPriceAll:l.openPrice*l.tradeVolume,closePriceAll:l.closePrice*l.tradeVolume,klineTime:ne(u,l.closeTime,N)},R={range:[w.klineTime,v.klineTime],rangeValue:[null,null],color:v.profitAndLoss>0?"#FF0000":"#389e0d"};return o.basePointData.push(w,v),o.baseLineData.push(R),o},{basePointData:[],baseLineData:[]}),n=[...i.reduce((o,l)=>{const w=JSON.parse(JSON.stringify(l)),v=w.klineTime+w.tradeType;if(o.has(v)){const R=o.get(v);w.amount+=R.amount,w.part+=R.part,w.profitAndLoss+=R.profitAndLoss,w.openPriceAll+=R.openPriceAll,w.closePriceAll+=R.closePriceAll}return o.set(v,w),o},new Map([])).values()].sort((o,l)=>new Date(o.klineTime)-new Date(l.klineTime)),T=O.filter(({range:o})=>o[0]!==o[1]);return{pointData:n,lineData:T}},{pointData:h,lineData:S}=e(a,z,y);return{tradePointData:(s===0?Y:D)(h,S,y,d),tradeLineData:S.map(({range:g,rangeValue:N,color:u})=>[{symbol:"none",coord:[g[0],N[0]],lineStyle:{color:u,width:2,type:"solid"},silent:!0,animation:!1},{symbol:"none",coord:[g[1],N[1]],silent:!0,animation:!1}])}},Ce=(a,z)=>{let s=[];if(Number(z)<=5)s=a.map(({tradeDate:y,netPositionValue:d})=>[I.dayjs(y).format("YYYY-MM-DD HH:mm:ss"),d]);else if(Number(z)===6){const y=a.reduce((d,A)=>{const{tradeDate:Y,netPositionValue:D}=A;return d.set(I.dayjs(Y).format("YYYY-MM-DD 09:00:00"),D),d},new Map);s=Array.from(y,([d,A])=>[d,A])}else s=[];return{netPositionLineData:s}},ke=(a,z,s,y)=>{let d=[];if(["6","7","8"].includes(z)){const A=a.reduce((Y,D)=>{const e=ne(y,D.date,z),h=D[s===0?"simple":"compound"];return Y.set(e,h),Y},new Map);d=Array.from(A,([Y,D])=>[Y,D])}else d=[];return{tradeIncomeRateLineData:d}};const he={class:"tips"},be={__name:"Tips",props:{data:{type:Array,default:()=>[]}},setup(a){return(z,s)=>(t.openBlock(),t.createElementBlock("div",he,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.data,(y,d)=>(t.openBlock(),t.createElementBlock("span",{key:d,class:"item",style:t.normalizeStyle({color:y.color})},t.toDisplayString(y.label)+" "+t.toDisplayString(y.value),5))),128))]))}},ie=oe._export_sfc(be,[["__scopeId","data-v-df1caefe"]]);const Ee={__name:"SliderChart",props:{screenTimeRange:{type:Array,required:!0},varietyCode:{type:String,required:!0},varietyStock:{type:Number,required:!0},rightType:{type:[Number,null],default:null},klineType:{type:[Number,null],default:null},deleteFirstNumber:{type:Number,default:1},withoutPermission:{type:Number,default:0}},emits:["change"],setup(a,{expose:z,emit:s}){const{request:y}=t.inject("stConfig");let d=null;const A=t.ref(null),Y=s,D=a,e=t.ref({data:[],mainIndicator:[],subIndicator:[],time:[]}),h=async()=>{const N={varietyCode:D.varietyCode,cycle:"6",right:D.varietyStock===1?D.rightType:0,contractType:D.varietyStock?null:D.klineType,startTime:"1999-01-01 00:00:00",endTime:I.dayjs().format("YYYY-MM-DD 23:59:59"),deleteFirstNumber:D.deleteFirstNumber,withoutPermission:D.withoutPermission},{body:u}=await y.post("/middleLayer/kline/getKline",N);u?e.value=u:e.value={data:[],mainIndicator:[],subIndicator:[],time:[]},g("init")},S=H.G(N=>{if(!N.dataZoomId)return;const u=d.getOption();if(u!=null&&u.dataZoom[0]){const{startValue:i,endValue:O}=d.getOption().dataZoom[0],{time:c}=e.value,n=`${c[i].split(" ")[0]} 00:00:00`,T=`${c[O].split(" ")[0]} 23:59:59`;console.log(`检测到拖拽轴被拖动, 时间区间: ${n} - ${T}`),Y("change",{startTime:n,endTime:T})}},200),m=H.G(({startTime:N,endTime:u})=>{g("reset",{startTime:N,endTime:u})},100),g=(N,u)=>{switch(N){case"init":{const{data:i,time:O}=e.value,{xAxisData:c,lineData:n}=i.reduce((o,l,w)=>(o.xAxisData.push(O[w].split(" ")[0]),o.lineData.push(l[1]),o),{xAxisData:[],lineData:[]}),T={grid:{height:0,left:"100px",right:"80px"},xAxis:{type:"category",data:c,show:!1},yAxis:{type:"value"},dataZoom:[{show:!0,startValue:0,endValue:0,textStyle:{color:"#ccc"}},{type:"inside",startValue:0,endValue:0}],series:[{data:n,type:"line"}]};if(d.setOption(T,!0),D.screenTimeRange.length){const[o,l]=D.screenTimeRange;m({startTime:o,endTime:l})}break}case"reset":{const{time:i}=e.value,O=I.dayjs(u.startTime).format("YYYY-MM-DD"),c=I.dayjs(u.endTime).format("YYYY-MM-DD");let n=-1,T=-1;for(let o=0;o<i.length;o++){const l=I.dayjs(i[o]).format("YYYY-MM-DD");if(n!==-1&&T!==-1)break;n===-1&&(new Date(l)===new Date(O)?n=o:new Date(l)>new Date(O)&&(n=o-1)),T===-1&&(new Date(l)===new Date(c)?T=o:new Date(l)>new Date(c)&&(T=o-1))}T===-1&&(T=i.length-1),d.dispatchAction({type:"dataZoom",startValue:n,endValue:T});break}}};return t.onMounted(()=>{t.nextTick(()=>{d=Me.init(A.value),d.on("datazoom",S),h()})}),t.watch(()=>D.screenTimeRange,N=>{const[u,i]=N;m({startTime:u,endTime:i})},{deep:!0}),t.onUnmounted(()=>{d.off("datazoom"),d.dispose()}),z({resize:H.G(()=>d.resize(),100)}),(N,u)=>(t.openBlock(),t.createElementBlock("div",{class:"chart",ref_key:"sliderChartRef",ref:A},null,512))}},ve=oe._export_sfc(Ee,[["__scopeId","data-v-0c715da1"]]);const Se={class:"main-chart"},Qe={class:"indicator"},Pe={key:0,class:"screen-time-range"},Re={key:0,class:"sub-chart"},Fe={class:"indicator"},Ue={class:"title"},Ve={key:1,class:"slider-chart"},Be={__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,null],default:null},klineType:{type:[Number,null],default:null},incomeType:{type:Number,default:0},initTimeRange:{type:Array,required:!0},mainIndicator:{type:String,required:!0},tradeLog:{type:Array,default:()=>[]},netPositionData:{type:Array,default:()=>[]},tradeIncomeRateData:{type:Array,default:()=>[]},positionTime:{type:[String,null],default:null},syncBrushRange:{type:Object,default:()=>({cycleList:[],startTime:null,endTime:null})},deleteFirstNumber:{type:Number,default:1},withoutPermission:{type:Number,default:0}},setup(a,{expose:z}){const{round:s,formatValue:y}=H.x,{request:d}=t.inject("stConfig"),A=t.ref(),Y=t.ref(!1),D=t.ref(!1),e=a;let h=!1,S=!1,m=!1,g=!1,N=null,u=null,i=null;const O=t.ref(null),c=t.ref(null),n=t.ref({data:[],mainIndicator:[],subIndicator:[],time:[]}),T=t.ref(0),o=t.ref([]),l=t.ref(null),w=t.ref("VOL"),v=t.computed(()=>{const M=n.value.data[T.value];if(!M)return[{label:"开",value:"-"},{label:"高",value:"-"},{label:"低",value:"-"},{label:"收",value:"-"},{label:"额",value:"-"},{label:"涨跌",value:"-"}];const r=[{label:"开",value:s(M[0])},{label:"高",value:s(M[3])},{label:"低",value:s(M[2])},{label:"收",value:s(M[1])}];M[4]!==null&&r.push({label:"额",value:y(M[4])});let j;return M[6]>0?j="red":M[6]<0&&(j="green"),r.push({label:"涨跌",value:`${s(M[6])}%`,color:j}),r}),R=t.computed(()=>{var M,r;return((r=(M=n.value)==null?void 0:M.mainIndicator)==null?void 0:r.map(j=>({label:j.key,value:s(j.data[T.value]),color:j.color})))||[]}),V=t.computed(()=>{var M,r;return((r=(M=n.value)==null?void 0:M.subIndicator)==null?void 0:r.map(j=>({label:j.key,color:j.color,value:j.data[T.value]||"-"})))||[]}),K=()=>{i||(i=Me.init(c.value),i.on("highlight",H.G(M=>{var r;M.dataIndex?T.value=M.dataIndex:T.value=((r=M.batch)==null?void 0:r[0].dataIndex)??-1},10)),i.on("datazoom",H.G(async()=>{var k;const{loadCheckCount:M}=Z,{startValue:r,endValue:j}=((k=i.getOption())==null?void 0:k.dataZoom[0])??{};m===!1&&g===!1&&r<M&&await re("history"),h===!1&&S===!1&&j>n.value.time.length-M&&await re("new"),ce(),se()})),i.on("globalout",()=>{const M=i.getOption();T.value=M.dataZoom[0].endValue}),i.getZr().on("contextmenu",()=>{var M;l.value=(M=n.value)==null?void 0:M.time[T.value]}),window.addEventListener("keydown",le),e.userKlineConfig.enable_subChart&&(u=Me.init(O.value),Me.connect([i,u])),N=H.D(c.value),N.listen(()=>{requestAnimationFrame(()=>{var M;i.resize(),u==null||u.resize(),(M=A.value)==null||M.resize()})}))},B=async({startTime:M,endTime:r})=>{m=!1,g=!1,h=!1,S=!1;try{Y.value=!0;const j={varietyCode:e.varietyCode,cycle:e.cycle,right:e.varietyStock===1?e.rightType:0,contractType:e.varietyStock?null:e.klineType,mainIndicatorList:e.indicatorStore.getIndicatorParams(e.mainIndicator),subIndicator:w.value,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission};["1","2","3","4","5"].includes(e.cycle)?Object.assign(j,{startTime:I.dayjs(M).subtract(1,"day").format("YYYY-MM-DD HH:mm:ss"),endTime:I.dayjs(r).add(1,"day").format("YYYY-MM-DD HH:mm:ss")}):["6","7"].includes(e.cycle)?Object.assign(j,{startTime:I.dayjs(M).subtract(50,"day").format("YYYY-MM-DD HH:mm:ss"),endTime:I.dayjs(r).add(50,"day").format("YYYY-MM-DD HH:mm:ss")}):Object.assign(j,{startTime:I.dayjs(M).subtract(10,"month").format("YYYY-MM-DD HH:mm:ss"),endTime:I.dayjs(r).add(10,"month").format("YYYY-MM-DD HH:mm:ss")});const{body:k}=await d.post("/middleLayer/kline/getKline",j);n.value=k??{data:[],mainIndicator:[],subIndicator:[],time:[]};let f=-1,L=-1;for(let p=0;p<n.value.time.length;p++){const Q=I.dayjs(n.value.time[p]).format("YYYY-MM-DD");if(f!==-1&&L!==-1)break;f===-1&&(new Date(Q)===new Date(M)?f=p:new Date(Q)>new Date(M)&&(f=p-1)),L===-1&&(new Date(Q)===new Date(r)?L=p:new Date(Q)>new Date(r)&&(L=p-1))}L===-1&&(L=n.value.time.length-1),X({startValue:f===-1?0:f,endValue:L===-1?n.value.time.length-1:L})}finally{Y.value=!1}},re=async M=>{var Q,$;const{loadAddCount:r}=Z;switch(M){case"history":{m=!0;const F={varietyCode:e.varietyCode,cycle:e.cycle,right:e.varietyStock===1?e.rightType:0,contractType:e.varietyStock?null:e.klineType,endTime:n.value.time[0],limit:r,mainIndicatorList:e.indicatorStore.getIndicatorParams(e.mainIndicator),subIndicator:w.value,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission},{body:P}=await d.post("/middleLayer/kline/getKline",F);n.value=ye(P,n.value),P.data.length<r&&(console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭"),g=!0),m=!1;break}case"new":{h=!0;const F={varietyCode:e.varietyCode,cycle:e.cycle,right:e.varietyStock===1?e.rightType:0,contractType:e.varietyStock?null:e.klineType,startTime:n.value.time[n.value.time.length-1],limit:r,mainIndicatorList:e.indicatorStore.getIndicatorParams(e.mainIndicator),subIndicator:w.value,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission},{body:P}=await d.post("/middleLayer/kline/getKline",F);n.value=ye(n.value,P),P.data.length<r&&(console.log("[K线] 获取更多数据: 右侧已全部获取完毕, 关闭"),S=!0),h=!1;break}}const{startValue:j,endValue:k}=((Q=i.getOption())==null?void 0:Q.dataZoom[0])??{},f=($=i.getOption())==null?void 0:$.xAxis[0].data,L=n.value.time.findIndex(F=>new Date(F)>=new Date(f[j])),p=n.value.time.findIndex(F=>new Date(F)>=new Date(f[k]));X({startValue:L===-1?0:L,endValue:p===-1?n.value.time.length-1:p})},ce=()=>{var L;if(!n.value.time.length)return o.value=[];const{time:M}=n.value,{startValue:r,endValue:j}=((L=i.getOption())==null?void 0:L.dataZoom[0])??{},k=M[r],f=M[j];["6","7","8"].includes(e.cycle)?o.value=[I.dayjs(k).format("YYYY-MM-DD"),I.dayjs(f).format("YYYY-MM-DD")]:o.value=[k,f]},X=(M={startValue:0,endValue:0})=>{K();const{maxValueSpan:r}=Z,{time:j,data:k,mainIndicator:f}=n.value,L=M.endValue-M.startValue>r?M.endValue-r:M.startValue,p=M.endValue,Q=f.map(C=>({name:C.key,type:"line",silent:!0,symbol:"none",data:C.data,lineStyle:{width:C.width||1},itemStyle:{color:C.color}})),{netPositionLineData:$}=Ce(e.netPositionData,e.cycle),{tradeIncomeRateLineData:F}=ke(e.tradeIncomeRateData,e.cycle,e.incomeType,j),{tradePointData:P,tradeLineData:ee}=Oe(e.tradeLog,e.cycle,e.sellBuy,j,k);i.setOption({animation:!1,grid:{top:"40px",left:"60px",right:"20px",bottom:"20px"},dataZoom:[{type:"inside",startValue:L,endValue:p,minValueSpan:Z.minValueSpan,maxValueSpan:Z.maxValueSpan}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:C=>{const{axisDimension:x,value:b}=C;return x==="x"?["6","7","8"].includes(e.cycle)?I.dayjs(b).format("YYYY-MM-DD"):b:String(s(b))}}},formatter:C=>{if(!(C!=null&&C.length))return null;let x="";if(C.forEach(E=>{if(E.seriesName==="netPosition"&&E.data!==null&&(x+=`<div>资产持仓净值: ${E.data[1]}</div>`),E.componentSubType==="candlestick")if(e.sellBuy===0){const W=P.filter(U=>(U==null?void 0:U.coord[0])===E.axisValue);let G=0,_=0;W.forEach(U=>{const{tradeType:q,amount:te}=U.customData;q==="买"&&(G+=te),q==="卖"&&(_+=te)}),G&&(x+=`<div>买: ${G}</div>`),_&&(x+=`<div>卖: ${_}</div>`)}else P.forEach(W=>{if((W==null?void 0:W.coord[0])===E.axisValue){const{tradeType:G,amount:_,profitAndLoss:U,openPriceAll:q,closePriceAll:te}=W.customData;let J=`<div>${G}: ${_}手</div>`;if(G.includes("开")&&(J+=`<div>开仓价: ${(q/_).toFixed(2)}</div>`),G.includes("平")){const Ne=(q/_).toFixed(2),ue=(te/_).toFixed(2);J+=`<div>平仓价: ${ue}</div>`,J+=`<div>盈亏: ${U==null?void 0:U.toFixed(2)}</div>`,J+=`<div>盈亏比率: ${((ue-Ne)/Ne*100).toFixed(2)} %</div>`}x+=J}})}),!x)return null;let b=C[0].axisValue;return["6","7","8"].includes(e.cycle)&&(b=I.dayjs(b).format("YYYY-MM-DD")),`
|
|
1
|
+
"use strict";require("./base-ef747d02.cjs");const Te=require("./el-loading-cfd86c15.cjs"),ge=require("./el-empty-1697ded8.cjs");require("./el-tag-a33c4b22.cjs");const ze=require("./el-select-d8d91db1.cjs");require("./el-scrollbar-bc3f790d.cjs");require("./el-popper-b6c99b28.cjs");const t=require("vue"),L=require("./dayjs.min-2c20abe6.cjs"),Ie=require("echarts"),G=require("./index-8901a38c.cjs"),se=require("./_plugin-vue_export-helper-f246444f.cjs");require("./use-global-config-30d7d8ce.cjs");require("./use-form-common-props-fd9b61a0.cjs");require("./index-9780a537.cjs");require("./index-098c2447.cjs");require("./index-bb833443.cjs");require("./index-c108567d.cjs");require("./index-298075cf.cjs");require("./index-f3562b52.cjs");require("./castArray-35947698.cjs");require("./index-11547a0c.cjs");require("./scroll-b108dabd.cjs");require("./debounce-62f5b6e8.cjs");require("./vnode-b906ae6d.cjs");function Ye(i){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const s in i)if(s!=="default"){const c=Object.getOwnPropertyDescriptor(i,s);Object.defineProperty(l,s,c.get?c:{enumerable:!0,get:()=>i[s]})}}return l.default=i,Object.freeze(l)}const ae=Ye(Ie),Le="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=",me="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+",Ae="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",{round:pe}=G.x,Z={minValueSpan:5,maxValueSpan:2e3,loadCheckCount:500,loadAddCount:2e3},fe={1:240,2:48,3:16,4:8,5:4,6:1,7:.2,8:.033},ye=({startTime:i,endTime:l,cycle:s,type:c="end"})=>{const{maxValueSpan:z}=Z,f=Math.ceil((z+1e3)/fe[s]),T=L.dayjs(i);if(L.dayjs(l).diff(T,"day")<=f)return[i,l];if(c==="end")return[L.dayjs(l).subtract(f,"day").format("YYYY-MM-DD HH:mm:ss"),l];if(c==="middle"){const k=L.dayjs((L.dayjs(i).valueOf()+L.dayjs(l).valueOf())/2).format("YYYY-MM-DD HH:mm:ss");return console.log("超过一屏数量上限, 进行中间时间计算",k,f/2),[L.dayjs(k).subtract(f/2,"day").format("YYYY-MM-DD HH:mm:ss"),L.dayjs(k).add(f/2,"day").format("YYYY-MM-DD HH:mm:ss")]}},we=(i,l)=>{const s=i[l],c=l===0?i[l]:i[l-1];return s[0]===s[1]?s[0]>=c[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:s[1]>s[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}},xe=(i,l,s)=>{var z,f,T,D;const c=i.subIndicator.map(e=>{if(e.series==="bar")return{name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:e.data.map((k,P)=>e.seriesColor==="kline"?{value:k,itemStyle:we(i.data,P)}:e.seriesColor==="value"?{value:k,itemStyle:{color:k>=0?"#FF0000":"#00FFFF"}}:{value:k,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:l,endValue:s,maxValueSpan:Z.maxValueSpan}],tooltip:{show:!1},axisPointer:{show:!0,triggerTooltip:!1,label:{rich:{},formatter:e=>{const{axisDimension:k,value:P}=e;if(k==="x")return null;if(e.axisIndex===1)return String(pe(P))}}},xAxis:{type:"category",data:i.time,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{show:!1}},yAxis:[{position:"right"},{position:"left",min:((z=i.subIndicator[0])==null?void 0:z.leftYAxisRange)==="cover"?e=>e.min:null,max:((f=i.subIndicator[0])==null?void 0:f.leftYAxisRange)==="cover"?e=>e.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:((T=i.subIndicator[0])==null?void 0:T.rightYAxisRange)==="cover"?e=>e.min:null,max:((D=i.subIndicator[0])==null?void 0:D.rightYAxisRange)==="cover"?e=>e.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:c}},oe=(i,l,s="strict")=>{let c=0,z=i.length-1,f=-1;for(;c<=z;){let T=Math.floor((c+z)/2);if(s==="strict"){if(i[T]===l)return T;i[T]<l?c=T+1:z=T-1}else s==="gte"&&(i[T]>=l?(f=T,z=T-1):c=T+1)}return s==="strict"?-1:f},Oe=i=>{const l=[];return i.reduce((s,c)=>{const z=`${c.coord[0]}+${c.label.position}`,f=c.label.position==="top"?-16:16,T=s.get(z);return T?(s.set(z,T+1),c.symbolOffset[1]=f*(T+1)):(s.set(z,1),c.symbolOffset[1]=c.label.position==="top"?-7:7),l.push(c),s},new Map),l},de=(i,l)=>({data:[...i.data,...l.data.slice(1)],mainIndicator:i.mainIndicator.map((s,c)=>({...s,data:[...s.data,...l.mainIndicator[c].data.slice(1)]})),subIndicator:i.subIndicator.map((s,c)=>({...s,data:[...s.data,...l.subIndicator[c].data.slice(1)]})),time:[...i.time,...l.time.slice(1)]}),re=(i,l,s)=>{switch(s){case"5":{let I=[...new Set(i.slice(-20).map(y=>{const o=new Date(y),g=String(o.getHours()).padStart(2,"0"),d=String(o.getMinutes()).padStart(2,"0"),C=String(o.getSeconds()).padStart(2,"0");return`${g}:${d}:${C}`}))];I.includes("00:00:00")&&(I.splice(I.indexOf("00:00:00"),1),I.push("24:00:00")),I=I.sort((y,o)=>new Date(`2000-01-30 ${y}`).getTime()-new Date(`2000-01-30 ${o}`).getTime());const x=new Date(l),N=x.getFullYear(),j=String(x.getMonth()+1).padStart(2,"0"),n=String(x.getDate()).padStart(2,"0"),O=String(x.getHours()).padStart(2,"0"),m=String(x.getMinutes()).padStart(2,"0"),M=String(x.getSeconds()).padStart(2,"0");if(`${O}:${m}:${M}`=="00:00:00")return`${N}-${j}-${n} 01:00:00`;{let y=null;for(let o=0;o<I.length;o++){const g=I[o].split(":");if(+`${g[0]}${g[1]}${g[2]}`>=+`${O}${m}${M}`){y=I[o];break}}if(y==="24:00:00"){const o=new Date(l);o.setDate(o.getDate()+1);const g=o.getFullYear(),d=String(o.getMonth()+1).padStart(2,"0"),C=String(o.getDate()).padStart(2,"0");return`${g}-${d}-${C} 00:00:00`}return`${N}-${j}-${n} ${y}`}}case"6":{const I=new Date(l),x=I.getHours();if(x>=4&&x<21){const N=I.getFullYear(),j=String(I.getMonth()+1).padStart(2,"0"),n=String(I.getDate()).padStart(2,"0");return`${N}-${j}-${n} 09:00:00`}else{const N=new Date(l);N.getHours()>=21&&N.setDate(N.getDate()+1);const j=N.getFullYear(),n=String(N.getMonth()+1).padStart(2,"0"),O=String(N.getDate()).padStart(2,"0"),m=`${j}-${n}-${O} 09:00:00`,M=oe(i,m,"gte");return M===-1?m:i[M]}}case"7":{const I=new Date(l),x=new Date(I);x.setDate(I.getDate()-I.getDay()),x.setHours(0,0,0,0);const N=new Date(x);N.setDate(x.getDate()+5),N.setHours(23,59,59,0);const j=new Date(x);j.setDate(x.getDate()+12),j.setHours(9,0,0,0);const n=I<=N?N:j,O=n.getFullYear(),m=String(n.getMonth()+1).padStart(2,"0"),M=String(n.getDate()).padStart(2,"0");return`${O}-${m}-${M} 09:00:00`}case"8":{const I=new Date(l),x=new Date(I.getFullYear(),I.getMonth()+1,1),N=new Date(x);N.setDate(x.getDate()-1),N.setHours(9,0,0,0);const j=N.getFullYear(),n=String(N.getMonth()+1).padStart(2,"0"),O=String(N.getDate()).padStart(2,"0");return`${j}-${n}-${O} 09:00:00`}}const c=new Date(l),z=c.getFullYear(),f=c.getMonth(),T=c.getDate(),D=c.getHours(),e=c.getMinutes(),k=c.getSeconds(),P=I=>{let x=null;const N=Math.floor(e/I);e%I===0&&k===0?x=e:x=(N+1)*I;const j=Math.floor(x/60),n=D+j,O=x%60,m=new Date(z,f,T,n,O,0),M=S=>String(S).padStart(2,"0"),y=m.getFullYear(),o=M(m.getMonth()+1),g=M(m.getDate()),d=M(m.getHours()),C=M(m.getMinutes());return`${y}-${o}-${g} ${d}:${C}:00`};switch(s){case"1":return P(1);case"2":return P(5);case"3":return P(15);case"4":return P(30);default:throw new Error(`Unsupported cycle: ${l} ${s}`)}},ie=(i,l,s)=>{let c=null,z=null;const[f,T]=l;switch(s){case"6":{c=i.find(D=>new Date(L.dayjs(D).format("YYYY-MM-DD 23:59:59")).getTime()>=new Date(f).getTime()),z=i.findLast(D=>new Date(L.dayjs(D).format("YYYY-MM-DD 00:00:00")).getTime()<=new Date(T).getTime());break}case"7":{const D=L.dayjs(T).endOf("week").add(1,"day").format("YYYY-MM-DD 23:59:59");c=i.find(e=>L.dayjs(e).endOf("week").add(1,"day").format("YYYY-MM-DD")===L.dayjs(f).endOf("week").add(1,"day").format("YYYY-MM-DD")),z=i.findLast(e=>new Date(e).getTime()<=new Date(D).getTime());break}case"8":{c=i.find(D=>L.dayjs(D).format("YYYY-MM")===L.dayjs(f).format("YYYY-MM")),z=i.findLast(D=>L.dayjs(D).format("YYYY-MM")===L.dayjs(T).format("YYYY-MM"));break}default:c=i.find(D=>new Date(D).getTime()>=new Date(f).getTime()),z=i.findLast(D=>new Date(D).getTime()<=new Date(T).getTime())}return[c,z]},Ce=(i,l,s,c,z,f)=>{const T=(N,j)=>{const{direction:n="",tradeAction:O="",tradeType:m=""}=N,M=m??n+O;switch(j){case 0:return new Map([["开多","买"],["平多","卖"],["开空","卖"],["平空","买"]]).get(M);case 1:return m??n+O}},D=(N,j,n,O)=>N.reduce((m,M)=>{var F;const y=T(M,0),o=N.filter(B=>B.klineTime===M.klineTime),g=[...new Set(o.map(B=>T(B,0)))];let d=null;g.length>1?d="image://"+new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",self.location).href:d="image://"+new URL(Object.assign({"./images/buy.svg":Le,"./images/sell.svg":me,"./images/t.svg":Ae})[`./images/${y==="买"?"buy":"sell"}.svg`],self.location).href;const C=oe(n,M.klineTime),S=(F=O[C])==null?void 0:F[3];return j.forEach(B=>{var W;const U=y==="买"?0:1;B.range[U]===M.klineTime&&(B.rangeValue[U]=(W=O[C])==null?void 0:W[y==="买"?2:3])}),m.push({symbol:d,symbolSize:25,symbolRotate:0,symbolOffset:[0,0],label:{show:!1,position:"top"},coord:[M.klineTime,S],silent:!0,animation:!1,customData:{tradeType:y,amount:M.amount,part:M.part,profitAndLoss:M.profitAndLoss,openPriceAll:M.openPriceAll,closePriceAll:M.closePriceAll}}),m},[]),e=(N,j,n,O)=>{const{sellBuyByPrice:m}=f,M=N.reduce((y,o,g)=>{var F,B;const d=T(o,1),C=["开多","开空"].includes(d)?"top":"bottom";let S=null;if(m)S=C==="top"?(o.openPriceAll/o.amount).toFixed(2):(o.closePriceAll/o.amount).toFixed(2);else{const U=oe(n,o.klineTime);S=C==="top"?(F=O[U])==null?void 0:F[3]:(B=O[U])==null?void 0:B[2]}return j.forEach(U=>{(C==="top"?U.range[0]:U.range[1])===o.klineTime&&(U.rangeValue[C==="top"?0:1]=S)}),y.push({symbol:"triangle",symbolSize:[10,12],symbolRotate:C==="top"?180:0,symbolOffset:[0,0],label:{show:!0,position:C,color:"#fff",formatter:`${d} ${C==="top"?"+":"-"} ${o.amount}手 ${o.part?`(${o.part}份)`:""}`},itemStyle:{color:C==="top"?"#FF0000":"#389e0d"},coord:[o.klineTime,S],silent:!0,animation:!1,customData:{tradeType:d,amount:o.amount,part:o.part,profitAndLoss:o.profitAndLoss,openPriceAll:o.openPriceAll,closePriceAll:o.closePriceAll}}),y},[]);return m?M:Oe(M)},k=(N,j,n)=>{const{basePointData:O,baseLineData:m}=N.reduce((g,d)=>{const C={pointTime:d.openTime,tradeAction:"开",tradeDirection:d.tradeDirection?"空":"多",tradeType:`开${d.tradeDirection?"空":"多"}`,part:null,amount:d.tradeVolume,profitAndLoss:d.profitAndLoss,openPriceAll:d.openPrice*d.tradeVolume,closePriceAll:d.closePrice*d.tradeVolume,klineTime:re(n,d.openTime,j)},S={pointTime:d.closeTime,tradeAction:"平",tradeDirection:d.tradeDirection?"空":"多",tradeType:`平${d.tradeDirection?"空":"多"}`,part:null,amount:d.tradeVolume,profitAndLoss:d.profitAndLoss,openPriceAll:d.openPrice*d.tradeVolume,closePriceAll:d.closePrice*d.tradeVolume,klineTime:re(n,d.closeTime,j)},F={range:[C.klineTime,S.klineTime],rangeValue:[null,null],color:S.profitAndLoss>0?"#FF0000":"#389e0d"};return g.basePointData.push(C,S),g.baseLineData.push(F),g},{basePointData:[],baseLineData:[]}),y=[...O.reduce((g,d)=>{const C=JSON.parse(JSON.stringify(d)),S=C.klineTime+C.tradeType;if(g.has(S)){const F=g.get(S);C.amount+=F.amount,C.part+=F.part,C.profitAndLoss+=F.profitAndLoss,C.openPriceAll+=F.openPriceAll,C.closePriceAll+=F.closePriceAll}return g.set(S,C),g},new Map([])).values()].sort((g,d)=>new Date(g.klineTime)-new Date(d.klineTime)),o=m.filter(({range:g})=>g[0]!==g[1]);return{pointData:y,lineData:o}},{pointData:P,lineData:I}=k(i,l,c);return{tradePointData:(s===0?D:e)(P,I,c,z),tradeLineData:I.map(({range:N,rangeValue:j,color:n})=>[{symbol:"none",coord:[N[0],j[0]],lineStyle:{color:n,width:2,type:"solid"},silent:!0,animation:!1},{symbol:"none",coord:[N[1],j[1]],silent:!0,animation:!1}])}},be=(i,l)=>{let s=[];if(Number(l)<=5)s=i.map(({tradeDate:c,netPositionValue:z})=>[L.dayjs(c).format("YYYY-MM-DD HH:mm:ss"),z]);else if(Number(l)===6){const c=i.reduce((z,f)=>{const{tradeDate:T,netPositionValue:D}=f;return z.set(L.dayjs(T).format("YYYY-MM-DD 09:00:00"),D),z},new Map);s=Array.from(c,([z,f])=>[z,f])}else s=[];return{netPositionLineData:s}},he=(i,l,s,c)=>{let z=[];if(["6","7","8"].includes(l)){const f=i.reduce((T,D)=>{const e=re(c,D.date,l),k=D[s===0?"simple":"compound"];return T.set(e,k),T},new Map);z=Array.from(f,([T,D])=>[T,D])}else z=[];return{tradeIncomeRateLineData:z}};const ke={class:"tips"},Ee={__name:"Tips",props:{data:{type:Array,default:()=>[]}},setup(i){return(l,s)=>(t.openBlock(),t.createElementBlock("div",ke,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.data,(c,z)=>(t.openBlock(),t.createElementBlock("span",{key:z,class:"item",style:t.normalizeStyle({color:c.color})},t.toDisplayString(c.label)+" "+t.toDisplayString(c.value),5))),128))]))}},ne=se._export_sfc(Ee,[["__scopeId","data-v-df1caefe"]]);const ve={__name:"SliderChart",props:{screenTimeRange:{type:Array,required:!0},varietyCode:{type:String,required:!0},varietyStock:{type:Number,required:!0},rightType:{type:[Number,null],default:null},klineType:{type:[Number,null],default:null},deleteFirstNumber:{type:Number,default:1},withoutPermission:{type:Number,default:0}},emits:["change"],setup(i,{expose:l,emit:s}){const{request:c}=t.inject("stConfig");let z=null;const f=t.ref(null),T=s,D=i,e=t.ref({data:[],mainIndicator:[],subIndicator:[],time:[]}),k=async()=>{const N={varietyCode:D.varietyCode,cycle:"6",right:D.varietyStock===1?D.rightType:0,contractType:D.varietyStock?null:D.klineType,startTime:"1999-01-01 00:00:00",endTime:L.dayjs().format("YYYY-MM-DD 23:59:59"),deleteFirstNumber:D.deleteFirstNumber,withoutPermission:D.withoutPermission},{body:j}=await c.post("/middleLayer/kline/getKline",N);j?e.value=j:e.value={data:[],mainIndicator:[],subIndicator:[],time:[]},x("init")},P=G.G(N=>{if(!N.dataZoomId)return;const j=z.getOption();if(j!=null&&j.dataZoom[0]){const{startValue:n,endValue:O}=z.getOption().dataZoom[0],{time:m}=e.value,M=`${m[n].split(" ")[0]} 00:00:00`,y=`${m[O].split(" ")[0]} 23:59:59`;console.log(`检测到拖拽轴被拖动, 时间区间: ${M} - ${y}`),T("change",{startTime:M,endTime:y})}},200),I=G.G(({startTime:N,endTime:j})=>{x("reset",{startTime:N,endTime:j})},100),x=(N,j)=>{switch(N){case"init":{const{data:n,time:O}=e.value,{xAxisData:m,lineData:M}=n.reduce((o,g,d)=>(o.xAxisData.push(O[d].split(" ")[0]),o.lineData.push(g[1]),o),{xAxisData:[],lineData:[]}),y={grid:{height:0,left:"100px",right:"80px"},xAxis:{type:"category",data:m,show:!1},yAxis:{type:"value"},dataZoom:[{show:!0,startValue:0,endValue:0,textStyle:{color:"#ccc"}},{type:"inside",startValue:0,endValue:0}],series:[{data:M,type:"line"}]};if(z.setOption(y,!0),D.screenTimeRange.length){const[o,g]=D.screenTimeRange;I({startTime:o,endTime:g})}break}case"reset":{const{time:n}=e.value,O=L.dayjs(j.startTime).format("YYYY-MM-DD"),m=L.dayjs(j.endTime).format("YYYY-MM-DD");let M=-1,y=-1;for(let o=0;o<n.length;o++){const g=L.dayjs(n[o]).format("YYYY-MM-DD");if(M!==-1&&y!==-1)break;M===-1&&(new Date(g)===new Date(O)?M=o:new Date(g)>new Date(O)&&(M=o-1)),y===-1&&(new Date(g)===new Date(m)?y=o:new Date(g)>new Date(m)&&(y=o-1))}y===-1&&(y=n.length-1),z.dispatchAction({type:"dataZoom",startValue:M,endValue:y});break}}};return t.onMounted(()=>{t.nextTick(()=>{z=ae.init(f.value),z.on("datazoom",P),k()})}),t.watch(()=>D.screenTimeRange,N=>{const[j,n]=N;I({startTime:j,endTime:n})},{deep:!0}),t.onUnmounted(()=>{z.off("datazoom"),z.dispose()}),l({resize:G.G(()=>z.resize(),100)}),(N,j)=>(t.openBlock(),t.createElementBlock("div",{class:"chart",ref_key:"sliderChartRef",ref:f},null,512))}},Se=se._export_sfc(ve,[["__scopeId","data-v-0c715da1"]]);const Qe={class:"main-chart"},Pe={class:"indicator"},Re={key:0,class:"screen-time-range"},Fe={key:0,class:"sub-chart"},Ue={class:"indicator"},Ve={class:"title"},Be={key:1,class:"slider-chart"},_e={__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,null],default:null},klineType:{type:[Number,null],default:null},incomeType:{type:Number,default:0},initTimeRange:{type:Array,required:!0},mainIndicator:{type:String,required:!0},tradeLog:{type:Array,default:()=>[]},netPositionData:{type:Array,default:()=>[]},tradeIncomeRateData:{type:Array,default:()=>[]},positionTime:{type:[String,null],default:null},syncBrushRange:{type:Object,default:()=>({cycleList:[],startTime:null,endTime:null})},deleteFirstNumber:{type:Number,default:1},withoutPermission:{type:Number,default:0}},setup(i,{expose:l}){const{round:s,formatValue:c}=G.x,{request:z}=t.inject("stConfig"),f=t.ref(),T=t.ref(!1),D=t.ref(!1),e=i;let k=!1,P=!1,I=!1,x=!1,N=null,j=null,n=null;const O=t.ref(null),m=t.ref(null),M=t.ref({data:[],mainIndicator:[],subIndicator:[],time:[]}),y=t.ref(0),o=t.ref([]),g=t.ref(null),d=t.ref("VOL"),C=t.computed(()=>{const a=M.value.data[y.value];if(!a)return[{label:"开",value:"-"},{label:"高",value:"-"},{label:"低",value:"-"},{label:"收",value:"-"},{label:"额",value:"-"},{label:"涨跌",value:"-"}];const r=[{label:"开",value:s(a[0])},{label:"高",value:s(a[3])},{label:"低",value:s(a[2])},{label:"收",value:s(a[1])}];a[4]!==null&&r.push({label:"额",value:c(a[4])});let u;return a[6]>0?u="red":a[6]<0&&(u="green"),r.push({label:"涨跌",value:`${s(a[6])}%`,color:u}),r}),S=t.computed(()=>{var a,r;return((r=(a=M.value)==null?void 0:a.mainIndicator)==null?void 0:r.map(u=>({label:u.key,value:s(u.data[y.value]),color:u.color})))||[]}),F=t.computed(()=>{var a,r;return((r=(a=M.value)==null?void 0:a.subIndicator)==null?void 0:r.map(u=>({label:u.key,color:u.color,value:u.data[y.value]||"-"})))||[]}),B=()=>{n||(n=ae.init(m.value),n.on("highlight",G.G(a=>{var r;a.dataIndex?y.value=a.dataIndex:y.value=((r=a.batch)==null?void 0:r[0].dataIndex)??-1},10)),n.on("datazoom",G.G(async()=>{var b;const{loadCheckCount:a}=Z,{startValue:r,endValue:u}=((b=n.getOption())==null?void 0:b.dataZoom[0])??{};I===!1&&x===!1&&r<a&&await W("history"),k===!1&&P===!1&&u>M.value.time.length-a&&await W("new"),ce(),le()})),n.on("globalout",()=>{const a=n.getOption();y.value=a.dataZoom[0].endValue}),n.getZr().on("contextmenu",()=>{var a;g.value=(a=M.value)==null?void 0:a.time[y.value]}),window.addEventListener("keydown",Ne),e.userKlineConfig.enable_subChart&&(j=ae.init(O.value),ae.connect([n,j])),N=G.D(m.value),N.listen(()=>{requestAnimationFrame(()=>{var a;n.resize(),j==null||j.resize(),(a=f.value)==null||a.resize()})}))},U=async({startTime:a,endTime:r})=>{I=!1,x=!1,k=!1,P=!1;try{T.value=!0;const u={varietyCode:e.varietyCode,cycle:e.cycle,right:e.varietyStock===1?e.rightType:0,contractType:e.varietyStock?null:e.klineType,mainIndicatorList:e.indicatorStore.getIndicatorParams(e.mainIndicator),subIndicator:d.value,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission};["1","2","3","4","5"].includes(e.cycle)?Object.assign(u,{startTime:L.dayjs(a).subtract(1,"day").format("YYYY-MM-DD HH:mm:ss"),endTime:L.dayjs(r).add(1,"day").format("YYYY-MM-DD HH:mm:ss")}):["6","7"].includes(e.cycle)?Object.assign(u,{startTime:L.dayjs(a).subtract(50,"day").format("YYYY-MM-DD HH:mm:ss"),endTime:L.dayjs(r).add(50,"day").format("YYYY-MM-DD HH:mm:ss")}):Object.assign(u,{startTime:L.dayjs(a).subtract(10,"month").format("YYYY-MM-DD HH:mm:ss"),endTime:L.dayjs(r).add(10,"month").format("YYYY-MM-DD HH:mm:ss")});const{body:b}=await z.post("/middleLayer/kline/getKline",u);M.value=b??{data:[],mainIndicator:[],subIndicator:[],time:[]};let p=-1,Y=-1;for(let w=0;w<M.value.time.length;w++){const Q=L.dayjs(M.value.time[w]).format("YYYY-MM-DD");if(p!==-1&&Y!==-1)break;p===-1&&(new Date(Q)===new Date(a)?p=w:new Date(Q)>new Date(a)&&(p=w-1)),Y===-1&&(new Date(Q)===new Date(r)?Y=w:new Date(Q)>new Date(r)&&(Y=w-1))}Y===-1&&(Y=M.value.time.length-1),ee({startValue:p===-1?0:p,endValue:Y===-1?M.value.time.length-1:Y})}finally{T.value=!1}},W=async a=>{var Q,q;const{loadAddCount:r}=Z;switch(a){case"history":{I=!0;const V={varietyCode:e.varietyCode,cycle:e.cycle,right:e.varietyStock===1?e.rightType:0,contractType:e.varietyStock?null:e.klineType,endTime:M.value.time[0],limit:r,mainIndicatorList:e.indicatorStore.getIndicatorParams(e.mainIndicator),subIndicator:d.value,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission},{body:R}=await z.post("/middleLayer/kline/getKline",V);M.value=de(R,M.value),R.data.length<r&&(console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭"),x=!0),I=!1;break}case"new":{k=!0;const V={varietyCode:e.varietyCode,cycle:e.cycle,right:e.varietyStock===1?e.rightType:0,contractType:e.varietyStock?null:e.klineType,startTime:M.value.time[M.value.time.length-1],limit:r,mainIndicatorList:e.indicatorStore.getIndicatorParams(e.mainIndicator),subIndicator:d.value,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission},{body:R}=await z.post("/middleLayer/kline/getKline",V);M.value=de(M.value,R),R.data.length<r&&(console.log("[K线] 获取更多数据: 右侧已全部获取完毕, 关闭"),P=!0),k=!1;break}}const{startValue:u,endValue:b}=((Q=n.getOption())==null?void 0:Q.dataZoom[0])??{},p=(q=n.getOption())==null?void 0:q.xAxis[0].data,Y=M.value.time.findIndex(V=>new Date(V)>=new Date(p[u])),w=M.value.time.findIndex(V=>new Date(V)>=new Date(p[b]));ee({startValue:Y===-1?0:Y,endValue:w===-1?M.value.time.length-1:w})},ce=()=>{var Y;if(!M.value.time.length)return o.value=[];const{time:a}=M.value,{startValue:r,endValue:u}=((Y=n.getOption())==null?void 0:Y.dataZoom[0])??{},b=a[r],p=a[u];["6","7","8"].includes(e.cycle)?o.value=[L.dayjs(b).format("YYYY-MM-DD"),L.dayjs(p).format("YYYY-MM-DD")]:o.value=[b,p]},ee=(a={startValue:0,endValue:0})=>{B();const{maxValueSpan:r}=Z,{time:u,data:b,mainIndicator:p}=M.value,Y=a.endValue-a.startValue>r?a.endValue-r:a.startValue,w=a.endValue,Q=p.map(A=>({name:A.key,type:"line",silent:!0,symbol:"none",data:A.data,lineStyle:{width:A.width||1},itemStyle:{color:A.color}})),{netPositionLineData:q}=be(e.netPositionData,e.cycle),{tradeIncomeRateLineData:V}=he(e.tradeIncomeRateData,e.cycle,e.incomeType,u),{tradePointData:R,tradeLineData:te}=Ce(e.tradeLog,e.cycle,e.sellBuy,u,b,e.userKlineConfig);n.setOption({animation:!1,grid:{top:"40px",left:"60px",right:"20px",bottom:"20px"},dataZoom:[{type:"inside",startValue:Y,endValue:w,minValueSpan:Z.minValueSpan,maxValueSpan:Z.maxValueSpan}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:A=>{const{axisDimension:h,value:E}=A;return h==="x"?["6","7","8"].includes(e.cycle)?L.dayjs(E).format("YYYY-MM-DD"):E:String(s(E))}}},formatter:A=>{if(!(A!=null&&A.length))return null;let h="";if(A.forEach(v=>{if(v.seriesName==="netPosition"&&v.data!==null&&(h+=`<div>资产持仓净值: ${v.data[1]}</div>`),v.componentSubType==="candlestick")if(e.sellBuy===0){const J=R.filter(_=>(_==null?void 0:_.coord[0])===v.axisValue);let $=0,H=0;J.forEach(_=>{const{tradeType:K,amount:Me}=_.customData;K==="买"&&($+=Me),K==="卖"&&(H+=Me)}),$&&(h+=`<div>买: ${$}</div>`),H&&(h+=`<div>卖: ${H}</div>`)}else R.forEach(J=>{if((J==null?void 0:J.coord[0])===v.axisValue){const{tradeType:$,amount:H,profitAndLoss:_,openPriceAll:K,closePriceAll:Me}=J.customData;let X=`<div>${$}: ${H}手</div>`;if($.includes("开")&&(X+=`<div>开仓价: ${(K/H).toFixed(2)}</div>`),$.includes("平")){const ue=(K/H).toFixed(2),je=(Me/H).toFixed(2);X+=`<div>平仓价: ${je}</div>`,X+=`<div>盈亏: ${_==null?void 0:_.toFixed(2)}</div>`,X+=`<div>盈亏比率: ${((je-ue)/ue*100).toFixed(2)} %</div>`}h+=X}})}),!h)return null;let E=A[0].axisValue;return["6","7","8"].includes(e.cycle)&&(E=L.dayjs(E).format("YYYY-MM-DD")),`
|
|
2
2
|
<div>
|
|
3
|
-
<span style="font-weight: bold;">${
|
|
4
|
-
${
|
|
3
|
+
<span style="font-weight: bold;">${E}</span>
|
|
4
|
+
${h}
|
|
5
5
|
</div>
|
|
6
|
-
`}},xAxis:{show:!0,type:"category",data:
|
|
6
|
+
`}},xAxis:{show:!0,type:"category",data:u,splitLine:{show:!1},axisLabel:{formatter:A=>["6","7","8"].includes(e.cycle)?L.dayjs(A).format("YYYY-MM-DD"):A}},yAxis:[{type:"value",axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}},min:A=>{const{min:h,max:E}=A,v=Math.abs((E-h)/10);return s(h-v)},max:A=>{const{min:h,max:E}=A,v=Math.abs((E-h)/10);return s(E+v)}},{show:!1,min:A=>{const{min:h,max:E}=A,v=Math.abs((E-h)/10);return h-v},max:A=>{const{min:h,max:E}=A,v=Math.abs((E-h)/10);return E+v}}],series:[{type:"candlestick",name:"kLine",data:b,markPoint:{data:[...R]},markLine:{data:[...te]},itemStyle:{color:"transparent",color0:"#00FFFF",borderColor:"#FF0000",borderColor0:"#00FFFF",borderWidth:1}},{type:"line",name:"netPosition",data:q,symbol:"none",yAxisIndex:1,connectNulls:!0,itemStyle:{color:"#666666"},lineStyle:{width:2}},{type:"line",name:"tradeIncomeRate",data:V,symbol:"none",yAxisIndex:1,connectNulls:!1,itemStyle:{color:"#666666"},lineStyle:{width:2}},...Q],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&&j.setOption(xe(M.value,Y,w),!0),ce(),le(),y.value=w;{const A=[];if(e.userKlineConfig.enable_tradeLogBrush&&R.length){const[h,E]=[R[0].coord[0],R.at(-1).coord[0]],v=ie(u,[h,E],e.cycle);A.push({brushId:"开平仓范围",brushType:"lineX",xAxisIndex:0,coordRange:v})}if(e.syncBrushRange.cycleList.includes(e.cycle)){const{startTime:h,endTime:E}=e.syncBrushRange,v=ie(u,[h,E],e.cycle);A.push({brushId:"同步刷选范围",brushType:"lineX",xAxisIndex:0,coordRange:v,brushStyle:{fill:"rgba(64, 158, 255, 0.2)",stroke:"rgba(64, 158, 255, 0.8)",lineWidth:1}})}if(e.positionTime){const[h,E]=[L.dayjs(e.positionTime).format("YYYY-MM-DD 00:00:00"),L.dayjs(e.positionTime).format("YYYY-MM-DD 23:59:59")],v=ie(u,[h,E],e.cycle);A.push({brushId:"强制定位高亮",brushType:"lineX",xAxisIndex:0,coordRange:v,brushStyle:{fill:"rgba(217, 179, 255, 0.2)",stroke:"rgba(217, 179, 255, 0.8)",lineWidth:1}})}n.dispatchAction({type:"brush",areas:A})}},le=()=>{var te;if(!e.userKlineConfig.enable_showScreenMaxPrice||!M.value.time.length)return;const{data:a}=M.value,r=n.getOption(),{startValue:u,endValue:b}=(r==null?void 0:r.dataZoom[0])??{};let p=0,Y=u;for(let A=u;A<=b;A++)Number(a[A][3])>=p&&(p=Number(a[A][3]),Y=A);const w=((te=r.series)==null?void 0:te.filter(A=>A.name!=="maxPrice"))||[],Q=b-u,q=(Y-u)/Q;let V="right",R=`←${p}`;q>.7?(V="left",R=`${s(p)}→`):(V="right",R=`←${s(p)}`),n==null||n.setOption({series:[...w,{type:"line",name:"maxPrice",data:[],lineStyle:{opacity:0},markPoint:{symbol:"circle",symbolSize:1,itemStyle:{color:"transparent",borderColor:"transparent"},z:100,zlevel:10,label:{show:!0,position:V,formatter:R,color:"#fff",fontSize:12,padding:[4,-4]},data:[{name:"最高点",coord:[Y,p]}]}}]},{notMerge:!1,replaceMerge:[]})},De=a=>{const[r,u]=ye({startTime:a.startTime,endTime:a.endTime,cycle:e.cycle});U({startTime:r,endTime:u})},Ne=({code:a,ctrlKey:r})=>{if(!(r||D.value))return;const{xAxis:u,dataZoom:b}=n.getOption(),{data:p}=(u==null?void 0:u[0])??{data:[]};let{startValue:Y,endValue:w}=(b==null?void 0:b[0])??{};if(p!=null&&p.length){switch(a){case"ArrowUp":{if(w-Y<5)return;const Q=Math.floor((w-Y)/2)+1;Y=Y+Q,w-Y<5&&(Y=w-4);break}case"ArrowDown":{const Q=Math.min(500,w-Y);Y=Y-Q-1;break}case"ArrowLeft":{Y>0&&(Y-=1,w-=1),y.value>0&&(y.value-=1);break}case"ArrowRight":{w<p.length-1&&(Y+=1,w+=1),D.value&&y.value<p.length-1&&(y.value+=1);break}}n.dispatchAction({type:"dataZoom",startValue:Y,endValue:w}),n.dispatchAction({type:"updateAxisPointer",seriesIndex:0,dataIndex:D.value?y.value:null}),n.dispatchAction({type:"highlight",dataIndex:D.value?y.value:w})}};return t.onMounted(()=>{const[a,r]=e.initTimeRange;U({startTime:a,endTime:r})}),t.watch(()=>[e.varietyCode,e.initTimeRange],()=>{const[a,r]=e.initTimeRange;U({startTime:a,endTime:r})},{deep:!0}),t.watch(()=>[e.cycle],()=>{var p;const{startValue:a,endValue:r}=((p=n.getOption())==null?void 0:p.dataZoom[0])??{},[u,b]=ye({startTime:M.value.time[a],endTime:M.value.time[r],cycle:e.cycle,type:"middle"});U({startTime:u,endTime:b})},{deep:!0}),t.watch(()=>{var a,r;return[e.mainIndicator,d.value,(a=e.indicatorStore)==null?void 0:a.filterIndicator,(r=e.indicatorStore)==null?void 0:r.customIndicator,e.rightType,e.klineType]},()=>{var p;const{startValue:a,endValue:r}=((p=n.getOption())==null?void 0:p.dataZoom[0])??{},[u,b]=[M.value.time[a],M.value.time[r]];U({startTime:u,endTime:b})},{deep:!0}),t.watch(()=>[e.sellBuy,e.tradeLog,e.netPositionData,e.incomeType,e.tradeIncomeRateData],()=>{var u;const{startValue:a,endValue:r}=((u=n.getOption())==null?void 0:u.dataZoom[0])??{};ee({startValue:a,endValue:r})},{deep:!0}),t.onUnmounted(()=>{n.off("highlight"),n.off("globalout"),n.off("datazoom"),n.getZr().off("contextmenu"),window.removeEventListener("keydown",Ne),n.dispose(),j==null||j.dispose(),N.dispose(),N=null}),l({screenTimeRange:o,contextmenuKlineTime:g,reDraw:()=>{var u;const{startValue:a,endValue:r}=((u=n.getOption())==null?void 0:u.dataZoom[0])??{};ee({startValue:a,endValue:r})}}),(a,r)=>{const u=ze.ElOption,b=ze.ElSelect,p=ge.ElEmpty,Y=Te.vLoading;return t.withDirectives((t.openBlock(),t.createElementBlock("div",{class:"kline-plus",onMousemove:r[1]||(r[1]=w=>D.value=!0),onMouseout:r[2]||(r[2]=w=>D.value=!1)},[t.createElementVNode("div",Qe,[t.createElementVNode("div",Pe,[t.createVNode(ne,{data:C.value},null,8,["data"]),t.createVNode(ne,{data:S.value},null,8,["data"])]),i.userKlineConfig.enable_showScreenTimeRange?(t.openBlock(),t.createElementBlock("span",Re,t.toDisplayString(o.value[0])+" - "+t.toDisplayString(o.value[1]),1)):t.createCommentVNode("",!0),t.createElementVNode("div",{ref_key:"mainChartRef",ref:m,class:"chart"},null,512)]),i.userKlineConfig.enable_subChart?(t.openBlock(),t.createElementBlock("div",Fe,[t.createElementVNode("div",Ue,[t.createElementVNode("div",Ve,[t.createElementVNode("span",null,t.toDisplayString(d.value),1),t.createVNode(b,{modelValue:d.value,"onUpdate:modelValue":r[0]||(r[0]=w=>d.value=w),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(i.indicatorStore.subIndicatorList,(w,Q)=>(t.openBlock(),t.createBlock(u,{key:Q,label:w.label,value:w.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),t.createVNode(ne,{data:F.value},null,8,["data"])]),t.createElementVNode("div",{ref_key:"subChartRef",ref:O,class:"chart"},null,512)])):t.createCommentVNode("",!0),i.userKlineConfig.enable_sliderChart?(t.openBlock(),t.createElementBlock("div",Be,[t.createVNode(Se,{ref_key:"sliderChartRef",ref:f,screenTimeRange:o.value,varietyCode:i.varietyCode,varietyStock:i.varietyStock,rightType:i.rightType,klineType:i.klineType,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission,onChange:De},null,8,["screenTimeRange","varietyCode","varietyStock","rightType","klineType","deleteFirstNumber","withoutPermission"])])):t.createCommentVNode("",!0),M.value.time.length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(p,{key:2,class:"empty",description:"暂无数据"}))],32)),[[Y,T.value]])}}},He=se._export_sfc(_e,[["__scopeId","data-v-5c46a7a5"]]),Ge={install(i){i.component("st-klinePlus",He)}};module.exports=Ge;
|