st-comp 0.0.279 → 0.0.281
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/es/ChartLayout.cjs +1 -1
- package/es/ChartLayout.js +13 -14
- package/es/CustomFunction.cjs +2 -2
- package/es/CustomFunction.js +377 -376
- package/es/FactorWarning.cjs +1 -1
- package/es/FactorWarning.js +294 -294
- package/es/Kline.cjs +1 -1
- package/es/Kline.js +19 -19
- package/es/KlineBasic.cjs +1 -1
- package/es/KlineBasic.js +260 -260
- package/es/KlineConfig.cjs +1 -1
- package/es/KlineConfig.js +579 -553
- package/es/KlineNew.cjs +1 -1
- package/es/KlineNew.js +17 -17
- package/es/KlinePlus.cjs +2 -2
- package/es/KlinePlus.js +23 -24
- package/es/MonacoEditor.cjs +1 -1
- package/es/MonacoEditor.js +30 -29
- package/es/Pagination.cjs +1 -1
- package/es/Pagination.js +517 -425
- package/es/PasswordPrompt.cjs +1 -1
- package/es/PasswordPrompt.js +3 -3
- package/es/Table.cjs +1 -1
- package/es/Table.js +43 -43
- package/es/User.cjs +1 -1
- package/es/User.js +898 -866
- package/es/VarSelectDialog.cjs +3 -3
- package/es/VarSelectDialog.js +110 -109
- package/es/VarietyAiHelper.cjs +7 -7
- package/es/VarietyAiHelper.js +615 -464
- package/es/VarietyAutoComplete.cjs +1 -1
- package/es/VarietyAutoComplete.js +11 -11
- package/es/VarietySearch.cjs +18 -18
- package/es/VarietySearch.js +3079 -2913
- package/es/{VarietySelect-41daac7b.js → VarietySelect-3fc0f0ce.js} +5 -5
- package/es/{VarietySelect-d58eee29.cjs → VarietySelect-d2d25a3d.cjs} +1 -1
- package/es/VarietyTextCopy.cjs +3 -3
- package/es/VarietyTextCopy.js +51 -51
- package/es/VirtualTable.cjs +13 -1
- package/es/VirtualTable.js +1927 -2259
- package/es/_baseClone-f8e5d3ba.cjs +1 -0
- package/es/_baseClone-fb6a3947.js +210 -0
- package/es/base-d987e5c9.cjs +5 -0
- package/es/base-dd156b8e.js +790 -0
- package/es/{castArray-7741a212.js → castArray-18eb6a41.js} +1 -1
- package/es/{castArray-35947698.cjs → castArray-d9ffe84a.cjs} +1 -1
- package/es/clamp-17c4d8aa.cjs +1 -0
- package/es/clamp-c7512966.js +10 -0
- package/es/config-provider-06d8207f.js +86 -0
- package/es/config-provider-bb61bd3e.cjs +1 -0
- package/es/debounce-0a98a9c6.js +57 -0
- package/es/debounce-37b17615.cjs +1 -0
- package/es/dropdown-8fa21bfd.cjs +1 -0
- package/es/dropdown-bcf8d198.js +178 -0
- package/es/el-autocomplete-13b9e372.cjs +1 -0
- package/es/el-autocomplete-419bfbcf.js +434 -0
- package/es/el-button-ee9fe159.js +343 -0
- package/es/el-button-fac5e058.cjs +1 -0
- package/es/el-checkbox-6cf1a71c.cjs +1 -0
- package/es/el-checkbox-b5ac7f04.js +566 -0
- package/es/el-dialog-060b3735.js +252 -0
- package/es/el-dialog-54aebacd.cjs +1 -0
- package/es/el-divider-3f0320be.cjs +1 -0
- package/es/el-divider-c5d72961.js +51 -0
- package/es/el-empty-552baf04.js +159 -0
- package/es/el-empty-58bc2a10.cjs +1 -0
- package/es/el-form-item-2be6b683.js +1265 -0
- package/es/el-form-item-758dfefa.cjs +12 -0
- package/es/el-input-7fe53030.cjs +1 -0
- package/es/el-input-d23f5442.js +761 -0
- package/es/el-input-number-484fb184.js +390 -0
- package/es/el-input-number-f0f4eedb.cjs +1 -0
- package/es/el-loading-9d3e405c.js +190 -0
- package/es/el-loading-fafaaa7b.cjs +1 -0
- package/es/el-menu-item-0ac22681.js +824 -0
- package/es/el-menu-item-c91ae430.cjs +1 -0
- package/es/el-message-box-568a0aa6.js +481 -0
- package/es/el-message-box-ceacb54e.cjs +1 -0
- package/es/el-overlay-9f36e73c.cjs +1 -0
- package/es/el-overlay-cb5c85aa.js +444 -0
- package/es/el-popconfirm-4a8cd35c.cjs +1 -0
- package/es/el-popconfirm-6f8e65c8.js +190 -0
- package/es/el-popper-0454c8e8.js +2235 -0
- package/es/el-popper-acd0ff35.cjs +1 -0
- package/es/{el-scrollbar-323542e7.js → el-scrollbar-0a42c1d0.js} +4 -9
- package/es/{el-scrollbar-bc3f790d.cjs → el-scrollbar-225c6c9e.cjs} +1 -1
- package/es/el-segmented-64dc7258.js +168 -0
- package/es/el-segmented-eb3c8e65.cjs +1 -0
- package/es/el-select-a573c78b.js +1535 -0
- package/es/el-select-c317294a.cjs +1 -0
- package/es/el-table-column-1c443963.js +3651 -0
- package/es/el-table-column-f555115d.cjs +14 -0
- package/es/el-tag-2d8a3fe7.js +77 -0
- package/es/el-tag-dca1292c.cjs +1 -0
- package/es/el-text-649c986a.cjs +1 -0
- package/es/el-text-761e6717.js +84 -0
- package/es/index-11181b5f.cjs +1 -0
- package/es/index-21a3dc89.cjs +1 -0
- package/es/index-33e039e3.cjs +1 -0
- package/es/index-3806160e.js +710 -0
- package/es/{index-a9246d17.cjs → index-4614e8e9.cjs} +109 -109
- package/es/{index-44a382a5.js → index-53beef02.js} +12 -12
- package/es/index-5cada1ed.cjs +1 -0
- package/es/index-6a36e1fc.cjs +1 -0
- package/es/{index-eb96e074.js → index-6a52dc7c.js} +235 -236
- package/es/index-71ba4c28.cjs +1 -0
- package/es/index-78dab605.js +141 -0
- package/es/index-798fec2d.cjs +1 -0
- package/es/index-9573f74b.js +372 -0
- package/es/index-a181f161.js +429 -0
- package/es/{index-a33b2fb8.js → index-ab0ad219.js} +5090 -5090
- package/es/index-beb5cb7d.cjs +1 -0
- package/es/index-c09fc6f5.js +131 -0
- package/es/index-ceae4c47.cjs +1 -0
- package/es/index-d372e68f.cjs +5 -0
- package/es/index-d9379af4.js +413 -0
- package/es/index-dddacf80.js +47 -0
- package/es/index-de9ad85c.js +12 -0
- package/es/index-e2e58ea9.js +468 -0
- package/es/index-f5474dcc.cjs +3 -0
- package/es/{python-a3db9620.cjs → python-60e79979.cjs} +1 -1
- package/es/{python-8a1664e6.js → python-673bf8b8.js} +32 -31
- package/es/{raf-8249652f.cjs → raf-735cc598.cjs} +1 -1
- package/es/{raf-80ef0c0a.js → raf-b4fd1e12.js} +1 -1
- package/es/scroll-07bade1e.cjs +1 -0
- package/es/scroll-70271cb1.js +35 -0
- package/es/style.css +1 -1
- package/es/toNumber-b47ceb68.cjs +1 -0
- package/es/toNumber-f077c66a.js +31 -0
- package/es/use-form-item-76516e50.cjs +2 -0
- package/es/use-form-item-784142b4.js +422 -0
- package/es/use-global-config-7ff9a1c2.cjs +1 -0
- package/es/use-global-config-9a4ccf33.js +71 -0
- package/es/validator-1926345b.cjs +1 -0
- package/es/{validator-c60a8956.js → validator-a66ec4f8.js} +1 -1
- package/es/vnode-6f7b84f0.cjs +1 -0
- package/es/vnode-8ee9bf4e.js +12 -0
- package/es/{zh-cn-b59a0910.js → zh-cn-51c2e528.js} +36 -33
- package/es/zh-cn-ad12d9f5.cjs +1 -0
- package/lib/bundle.js +1 -1
- package/lib/bundle.umd.cjs +265 -246
- package/lib/{index-62fa175a.js → index-7282d3be.js} +52335 -50156
- package/lib/{python-4a48fa39.js → python-418be57d.js} +1 -1
- package/lib/style.css +1 -1
- package/package.json +1 -1
- package/es/_initCloneObject-5e73c9c8.js +0 -81
- package/es/_initCloneObject-a5832933.cjs +0 -1
- package/es/base-a5af3db3.js +0 -288
- package/es/base-ef747d02.cjs +0 -5
- package/es/config-provider-06ea6b42.cjs +0 -1
- package/es/config-provider-88b637a8.js +0 -59
- package/es/dayjs.min-2c20abe6.cjs +0 -1
- package/es/dayjs.min-8313b006.js +0 -299
- package/es/debounce-62f5b6e8.cjs +0 -1
- package/es/debounce-8d53f4dd.js +0 -83
- package/es/dropdown-4ce4c3e2.cjs +0 -1
- package/es/dropdown-72fbc15d.js +0 -178
- package/es/el-autocomplete-6cafcdf1.js +0 -329
- package/es/el-autocomplete-e0857c5b.cjs +0 -1
- package/es/el-button-613e0bb2.cjs +0 -1
- package/es/el-button-94d3de38.js +0 -272
- package/es/el-checkbox-6d4cb393.js +0 -459
- package/es/el-checkbox-e90762df.cjs +0 -1
- package/es/el-dialog-02942e22.cjs +0 -1
- package/es/el-dialog-5e30161f.js +0 -276
- package/es/el-divider-4713d74c.cjs +0 -1
- package/es/el-divider-4e059794.js +0 -45
- package/es/el-empty-1697ded8.cjs +0 -1
- package/es/el-empty-33cb66f1.js +0 -183
- package/es/el-form-item-44f060d8.cjs +0 -12
- package/es/el-form-item-9e8969ea.js +0 -1269
- package/es/el-input-342b2def.js +0 -531
- package/es/el-input-9a9a7f7f.cjs +0 -1
- package/es/el-input-number-65c847d6.cjs +0 -1
- package/es/el-input-number-c22b803a.js +0 -311
- package/es/el-loading-8179b497.cjs +0 -1
- package/es/el-loading-bcc51e3d.js +0 -203
- package/es/el-menu-item-339baf6d.js +0 -768
- package/es/el-menu-item-83186444.cjs +0 -1
- package/es/el-message-box-035b699c.js +0 -489
- package/es/el-message-box-c62d3217.cjs +0 -1
- package/es/el-overlay-3e17604b.js +0 -324
- package/es/el-overlay-8f1da9e8.cjs +0 -1
- package/es/el-popconfirm-4e32ec1b.cjs +0 -1
- package/es/el-popconfirm-f8a86e2c.js +0 -162
- package/es/el-popper-a4f3ae4d.cjs +0 -1
- package/es/el-popper-fbd0dcea.js +0 -2094
- package/es/el-segmented-56bd58a8.js +0 -142
- package/es/el-segmented-833ac177.cjs +0 -1
- package/es/el-select-44fa547d.js +0 -1256
- package/es/el-select-70806166.cjs +0 -1
- package/es/el-table-column-3e2cdfca.cjs +0 -14
- package/es/el-table-column-b74a857d.js +0 -3432
- package/es/el-tag-66c83156.js +0 -117
- package/es/el-tag-9c2f329f.cjs +0 -1
- package/es/el-text-034bd3f4.js +0 -67
- package/es/el-text-6b2374bb.cjs +0 -1
- package/es/index-00f6ca75.cjs +0 -1
- package/es/index-185792a7.cjs +0 -1
- package/es/index-1e2a38ab.js +0 -113
- package/es/index-2e331d74.js +0 -10
- package/es/index-3153c1db.cjs +0 -1
- package/es/index-5216d5f5.js +0 -406
- package/es/index-5c0dd943.cjs +0 -1
- package/es/index-657047bb.js +0 -513
- package/es/index-870b6c9d.cjs +0 -1
- package/es/index-8c2d7e05.js +0 -368
- package/es/index-960806da.js +0 -314
- package/es/index-9780a537.cjs +0 -1
- package/es/index-9d16cea8.cjs +0 -1
- package/es/index-ac8dc53d.cjs +0 -1
- package/es/index-bb833443.cjs +0 -1
- package/es/index-c5f2d372.js +0 -326
- package/es/index-c6584658.js +0 -163
- package/es/index-d77a7336.js +0 -204
- package/es/index-eea0bcb3.cjs +0 -1
- package/es/index-f034b910.js +0 -60
- package/es/index-f1c702f6.cjs +0 -1
- package/es/index-f58b2920.cjs +0 -1
- package/es/scroll-679bd6bf.js +0 -35
- package/es/scroll-b108dabd.cjs +0 -1
- package/es/use-form-common-props-ac666630.cjs +0 -1
- package/es/use-form-common-props-ed72e914.js +0 -364
- package/es/use-global-config-23472471.cjs +0 -1
- package/es/use-global-config-ee406d58.js +0 -72
- package/es/validator-366dbf39.cjs +0 -1
- package/es/vnode-5ddb7ed1.js +0 -14
- package/es/vnode-b906ae6d.cjs +0 -1
- package/es/zh-cn-c21d12d8.cjs +0 -1
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-94131fd7.cjs");require("./base-ef747d02.cjs");require("./el-tag-9c2f329f.cjs");const R=require("./el-select-70806166.cjs");require("./el-scrollbar-bc3f790d.cjs");require("./el-popper-a4f3ae4d.cjs");const $=require("echarts");require("./index-5c0dd943.cjs");require("./index-9780a537.cjs");require("./use-form-common-props-ac666630.cjs");require("./index-00f6ca75.cjs");require("./index-bb833443.cjs");require("./index-185792a7.cjs");require("./index-ac8dc53d.cjs");require("./castArray-35947698.cjs");require("./index-870b6c9d.cjs");require("./scroll-b108dabd.cjs");require("./debounce-62f5b6e8.cjs");require("./vnode-b906ae6d.cjs");function N(m){const A=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(m){for(const S in m)if(S!=="default"){const g=Object.getOwnPropertyDescriptor(m,S);Object.defineProperty(A,S,g.get?g:{enumerable:!0,get:()=>m[S]})}}return A.default=m,Object.freeze(A)}const E=N($),M=t.defineComponent({__name:"index",setup(m,{expose:A}){let S=!1,g=!0,v=[];const I=(h,u)=>h.length>u?h.slice(h.length-u):h;return A({initTalib:async()=>{if(!S)S=!0,await C.init("./talib.wasm"),g=!1,v.forEach(h=>{h()});else if(g)return new Promise(h=>{v.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:D,preLoadCount:q}=n;let _=[],b=[],F=[],w=[];d&&f?(_=o.filter(s=>new Date(s[0])>=new Date(d)&&new Date(s[0])<=new Date(f)),w=[...o]):f?(_=[...o.filter((s,r)=>r>=o.length-D&&new Date(l[0])<=new Date(s[0])&&new Date(s[0])<=new Date(l[1])),...u.originData],w=[...o,...u.originData]):d&&(_=[...u.originData,...o.filter((s,r)=>r>=q&&new Date(l[0])<=new Date(s[0])&&new Date(s[0])<=new Date(l[1]))],w=_),_.forEach((s,r)=>{b.push([s[1],s[4],s[3],s[2],r===0?0:_[r-1][4],s[6]]),F.push(s[0])});let c=[],x=[];const y={time:[],open:[],close:[],high:[],low:[],originData:w};let B=null,T=null;return w.forEach((s,r)=>{y.time.push(s[0]),y.open.push(s[1]),y.close.push(s[4]),y.high.push(s[2]),y.low.push(s[3]),s[0]===_[0][0]&&(B=r),s[0]===_[_.length-1][0]&&(T=r+1)}),c=e.find(({value:s})=>s===p).config.map(s=>{const{calculationFn:r}=s,k={time:[],open:[],close:[],high:[],low:[],originData:[]};return{...s,data:r?r(C.talib,y,k).slice(B,T):[]}}),x=a.find(({value:s})=>s===i).config.reduce((s,r)=>{const{source:k,calculationFn:V}=r;return k==="calculation"?[...s,{...r,data:V?V(C.talib,y).slice(B,T):[]}]:s},[]),{originData:_,candlestickData:b,mainIndicatorData:c,subIndicatorData:x,xAxisData:F,startTime:_[0][0],endTime:_[_.length-1][0],length:_.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,D=[],q=[],_=[],b=[],F=[];let w=[],c=[];const x=o.filter((r,k)=>(D.push(r[0]),q.push(r[1]),_.push(r[4]),b.push(r[2]),F.push(r[3]),w.push(r[0]),c.push([r[1],r[4],r[3],r[2],k===0?0:o[k-1][4],r[6]]),o.length>=n+l-1?k>=l:!0));w=I(w,x.length),c=I(c,x.length);const y={time:D,open:q,close:_,high:b,low:F,originData:o},T=f.find(r=>r.value===d).config.map(r=>({...r,data:I(r.calculationFn?r.calculationFn(C.talib,y,{time:[],open:[],close:[],high:[],low:[],originData:[]}):[],w.length)}));let s=[];return p&&e&&(s=e.find(k=>k.value===p).config.reduce((k,V)=>V.source==="calculation"?[...k,{...V,data:I(V.calculationFn?V.calculationFn(C.talib,y):[],w.length)}]:k,[])),u.length?a={originData:[...x,...u.originData],xAxisData:[...w,...u.xAxisData],candlestickData:[...c,...u.candlestickData],mainIndicatorData:u.mainIndicatorData.map((r,k)=>({...r,data:[...T[k].data,...r.data]})),subIndicatorData:u.subIndicatorData.map((r,k)=>({...r,data:[...s[k].data,...r.data]}))}:a={originData:x,xAxisData:w,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(m){return(A,S)=>(t.openBlock(),t.createElementBlock("div",j,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.data,(g,v)=>(t.openBlock(),t.createElementBlock("div",{key:v,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-3856aa74"]]),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(m){const{round:A,multiply:S,divide:g,subtract:v,formatValue:I}=z.x,h=m,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:p[f][0]},{label:"高",value:p[f][3]},{label:"低",value:p[f][2]},{label:"收",value:p[f][1]},{label:"额",value:I(p[f][4])},{label:"涨跌",value:`${A(p[f][6])}%`,color:e}]}else if(d.candlestickData&&d.candlestickData[f]){const e=d.candlestickData[f],i=[{label:"开",value:e[0]},{label:"高",value:e[3]},{label:"低",value:e[2]},{label:"收",value:e[1]}];e[5]!==void 0&&i.push({label:"额",value:I(e[5])});const a=A(S(g(v(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:A(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-c87d5c87"]]),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(m,{expose:A,emit:S}){const{round:g}=z.x;let v,I;const h=S,u=m,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 D,q;let l="-";return n.source==="origin"?l=e.originData[i][n.dataIndex]||"-":n.source==="calculation"&&(l=(((q=(D=e.subIndicatorData)==null?void 0:D.find(b=>b.key===n.key))==null?void 0:q.data)||[])[i]),{label:n.key,color:n.color,value:l==="-"?l:g(l)}}):[]});t.onMounted(()=>{v=E.init(o.value);let e=!0;I=new ResizeObserver(()=>{if(e){e=null;return}v.resize()}),I.observe(o.value)}),t.onUnmounted(()=>{v.dispose(),I.disconnect(),I=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 A({connect:e=>{E.connect([e,v])},draw:e=>{t.nextTick(()=>{var w;const{startValue:i,endValue:a,maxValueSpan:n}=e,{xAxisData:l,subIndicatorData:D,candlestickData:q,originData:_}=u.drawData,b=u.subIndicatorList.find(c=>c.value===d.value),F=[];if(b.series==="bar"){let c=[];b.source==="origin"?c=_.map(x=>x[b.dataIndex]):c=((w=D==null?void 0:D.find(x=>x.key===b.dataIndex))==null?void 0:w.data)||[],F.push({name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:c.map((x,y)=>b.color==="kline"?{value:x,itemStyle:p(q,y)}:b.color==="value"?{value:x,itemStyle:{color:x>=0?"#FF0000":"#00FFFF"}}:{value:x,itemStyle:{color:b.color}})})}D.forEach(c=>{if(c.series==="line"){let x=[];c.source==="origin"?x=_.map(y=>y[c.dataIndex]):c.source==="calculation"&&(x=c.data),F.push({xAxisIndex:0,yAxisIndex:c.yAxis==="right"?2:1,name:c.key,type:"line",silent:!0,symbol:"none",data:x,lineStyle:{width:1},itemStyle:{color:c.color}})}}),v.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:x,value:y}=c;if(x==="x")return y;if(c.axisIndex===1)return String(g(y))}}},formatter:()=>""},xAxis:{type:"category",data:l,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{show:!0,formatter:c=>c}},yAxis:[{position:"right"},{position:"left",min:b.leftYAxisRange==="cover"?c=>c.min:null,max:b.leftYAxisRange==="cover"?c=>c.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:b.rightYAxisRange==="cover"?c=>c.min:null,max:b.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(m.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-03eea29e"]]),W=t.defineComponent({__name:"index",props:{data:{type:Array,default:()=>[]}},emits:["change"],setup(m,{expose:A,emit:S}){let g,v,I=null;const h=S,u=m,o=t.ref();t.watch(()=>u.data,()=>{p()},{deep:!0}),t.onMounted(()=>{g=E.init(o.value),d(),p();let e=!0;v=new ResizeObserver(()=>{if(e){e=null;return}g.resize()}),v.observe(o.value)}),t.onUnmounted(()=>{g.off("datazoom"),g.dispose(),v.disconnect(),v=null});const d=()=>{g.on("datazoom",e=>{e.dataZoomId&&(clearTimeout(I),I=setTimeout(()=>{const{data:i}=u,{start:a,end:n}=e,l=Math.floor(a*i.length/100),D=n===100?i.length-1:Math.floor(n*i.length/100);f(l,D),clearTimeout(I)},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 A({resetSlide:(e,i,a)=>{let n=-1,l=-1;u.data.forEach((D,q)=>{n===-1&&D[0]===e?n=q:n===-1&&new Date(D[0])>new Date(e)&&(n=q-1),(l===-1&&D[0]===i||l===-1&&new Date(D[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-0d08cda9"]]),ee={install(m){m.component("st-klineUtils",M),m.component("st-klineSub",Q),m.component("st-klineTips",Z),m.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-94131fd7.cjs"),R=require("./el-select-c317294a.cjs");require("./base-d987e5c9.cjs");require("./el-scrollbar-225c6c9e.cjs");require("./el-popper-acd0ff35.cjs");require("./el-tag-dca1292c.cjs");const $=require("echarts");require("./index-d372e68f.cjs");require("./castArray-d9ffe84a.cjs");require("./index-6a36e1fc.cjs");require("./use-form-item-76516e50.cjs");require("./index-5cada1ed.cjs");require("./vnode-6f7b84f0.cjs");require("./index-beb5cb7d.cjs");require("./index-21a3dc89.cjs");require("./scroll-07bade1e.cjs");require("./index-11181b5f.cjs");require("./toNumber-b47ceb68.cjs");require("./clamp-17c4d8aa.cjs");function N(m){const A=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(m){for(const S in m)if(S!=="default"){const g=Object.getOwnPropertyDescriptor(m,S);Object.defineProperty(A,S,g.get?g:{enumerable:!0,get:()=>m[S]})}}return A.default=m,Object.freeze(A)}const E=N($),M=t.defineComponent({__name:"index",setup(m,{expose:A}){let S=!1,g=!0,v=[];const I=(h,u)=>h.length>u?h.slice(h.length-u):h;return A({initTalib:async()=>{if(!S)S=!0,await C.init("./talib.wasm"),g=!1,v.forEach(h=>{h()});else if(g)return new Promise(h=>{v.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:D,preLoadCount:q}=n;let _=[],b=[],F=[],w=[];d&&f?(_=o.filter(s=>new Date(s[0])>=new Date(d)&&new Date(s[0])<=new Date(f)),w=[...o]):f?(_=[...o.filter((s,r)=>r>=o.length-D&&new Date(l[0])<=new Date(s[0])&&new Date(s[0])<=new Date(l[1])),...u.originData],w=[...o,...u.originData]):d&&(_=[...u.originData,...o.filter((s,r)=>r>=q&&new Date(l[0])<=new Date(s[0])&&new Date(s[0])<=new Date(l[1]))],w=_),_.forEach((s,r)=>{b.push([s[1],s[4],s[3],s[2],r===0?0:_[r-1][4],s[6]]),F.push(s[0])});let c=[],x=[];const y={time:[],open:[],close:[],high:[],low:[],originData:w};let B=null,T=null;return w.forEach((s,r)=>{y.time.push(s[0]),y.open.push(s[1]),y.close.push(s[4]),y.high.push(s[2]),y.low.push(s[3]),s[0]===_[0][0]&&(B=r),s[0]===_[_.length-1][0]&&(T=r+1)}),c=e.find(({value:s})=>s===p).config.map(s=>{const{calculationFn:r}=s,k={time:[],open:[],close:[],high:[],low:[],originData:[]};return{...s,data:r?r(C.talib,y,k).slice(B,T):[]}}),x=a.find(({value:s})=>s===i).config.reduce((s,r)=>{const{source:k,calculationFn:V}=r;return k==="calculation"?[...s,{...r,data:V?V(C.talib,y).slice(B,T):[]}]:s},[]),{originData:_,candlestickData:b,mainIndicatorData:c,subIndicatorData:x,xAxisData:F,startTime:_[0][0],endTime:_[_.length-1][0],length:_.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,D=[],q=[],_=[],b=[],F=[];let w=[],c=[];const x=o.filter((r,k)=>(D.push(r[0]),q.push(r[1]),_.push(r[4]),b.push(r[2]),F.push(r[3]),w.push(r[0]),c.push([r[1],r[4],r[3],r[2],k===0?0:o[k-1][4],r[6]]),o.length>=n+l-1?k>=l:!0));w=I(w,x.length),c=I(c,x.length);const y={time:D,open:q,close:_,high:b,low:F,originData:o},T=f.find(r=>r.value===d).config.map(r=>({...r,data:I(r.calculationFn?r.calculationFn(C.talib,y,{time:[],open:[],close:[],high:[],low:[],originData:[]}):[],w.length)}));let s=[];return p&&e&&(s=e.find(k=>k.value===p).config.reduce((k,V)=>V.source==="calculation"?[...k,{...V,data:I(V.calculationFn?V.calculationFn(C.talib,y):[],w.length)}]:k,[])),u.length?a={originData:[...x,...u.originData],xAxisData:[...w,...u.xAxisData],candlestickData:[...c,...u.candlestickData],mainIndicatorData:u.mainIndicatorData.map((r,k)=>({...r,data:[...T[k].data,...r.data]})),subIndicatorData:u.subIndicatorData.map((r,k)=>({...r,data:[...s[k].data,...r.data]}))}:a={originData:x,xAxisData:w,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(m){return(A,S)=>(t.openBlock(),t.createElementBlock("div",j,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.data,(g,v)=>(t.openBlock(),t.createElementBlock("div",{key:v,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-3856aa74"]]),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(m){const{round:A,multiply:S,divide:g,subtract:v,formatValue:I}=z.x,h=m,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:p[f][0]},{label:"高",value:p[f][3]},{label:"低",value:p[f][2]},{label:"收",value:p[f][1]},{label:"额",value:I(p[f][4])},{label:"涨跌",value:`${A(p[f][6])}%`,color:e}]}else if(d.candlestickData&&d.candlestickData[f]){const e=d.candlestickData[f],i=[{label:"开",value:e[0]},{label:"高",value:e[3]},{label:"低",value:e[2]},{label:"收",value:e[1]}];e[5]!==void 0&&i.push({label:"额",value:I(e[5])});const a=A(S(g(v(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:A(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-c87d5c87"]]),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(m,{expose:A,emit:S}){const{round:g}=z.x;let v,I;const h=S,u=m,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 D,q;let l="-";return n.source==="origin"?l=e.originData[i][n.dataIndex]||"-":n.source==="calculation"&&(l=(((q=(D=e.subIndicatorData)==null?void 0:D.find(b=>b.key===n.key))==null?void 0:q.data)||[])[i]),{label:n.key,color:n.color,value:l==="-"?l:g(l)}}):[]});t.onMounted(()=>{v=E.init(o.value);let e=!0;I=new ResizeObserver(()=>{if(e){e=null;return}v.resize()}),I.observe(o.value)}),t.onUnmounted(()=>{v.dispose(),I.disconnect(),I=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 A({connect:e=>{E.connect([e,v])},draw:e=>{t.nextTick(()=>{var w;const{startValue:i,endValue:a,maxValueSpan:n}=e,{xAxisData:l,subIndicatorData:D,candlestickData:q,originData:_}=u.drawData,b=u.subIndicatorList.find(c=>c.value===d.value),F=[];if(b.series==="bar"){let c=[];b.source==="origin"?c=_.map(x=>x[b.dataIndex]):c=((w=D==null?void 0:D.find(x=>x.key===b.dataIndex))==null?void 0:w.data)||[],F.push({name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:c.map((x,y)=>b.color==="kline"?{value:x,itemStyle:p(q,y)}:b.color==="value"?{value:x,itemStyle:{color:x>=0?"#FF0000":"#00FFFF"}}:{value:x,itemStyle:{color:b.color}})})}D.forEach(c=>{if(c.series==="line"){let x=[];c.source==="origin"?x=_.map(y=>y[c.dataIndex]):c.source==="calculation"&&(x=c.data),F.push({xAxisIndex:0,yAxisIndex:c.yAxis==="right"?2:1,name:c.key,type:"line",silent:!0,symbol:"none",data:x,lineStyle:{width:1},itemStyle:{color:c.color}})}}),v.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:x,value:y}=c;if(x==="x")return y;if(c.axisIndex===1)return String(g(y))}}},formatter:()=>""},xAxis:{type:"category",data:l,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{show:!0,formatter:c=>c}},yAxis:[{position:"right"},{position:"left",min:b.leftYAxisRange==="cover"?c=>c.min:null,max:b.leftYAxisRange==="cover"?c=>c.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:b.rightYAxisRange==="cover"?c=>c.min:null,max:b.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(m.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-03eea29e"]]),W=t.defineComponent({__name:"index",props:{data:{type:Array,default:()=>[]}},emits:["change"],setup(m,{expose:A,emit:S}){let g,v,I=null;const h=S,u=m,o=t.ref();t.watch(()=>u.data,()=>{p()},{deep:!0}),t.onMounted(()=>{g=E.init(o.value),d(),p();let e=!0;v=new ResizeObserver(()=>{if(e){e=null;return}g.resize()}),v.observe(o.value)}),t.onUnmounted(()=>{g.off("datazoom"),g.dispose(),v.disconnect(),v=null});const d=()=>{g.on("datazoom",e=>{e.dataZoomId&&(clearTimeout(I),I=setTimeout(()=>{const{data:i}=u,{start:a,end:n}=e,l=Math.floor(a*i.length/100),D=n===100?i.length-1:Math.floor(n*i.length/100);f(l,D),clearTimeout(I)},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 A({resetSlide:(e,i,a)=>{let n=-1,l=-1;u.data.forEach((D,q)=>{n===-1&&D[0]===e?n=q:n===-1&&new Date(D[0])>new Date(e)&&(n=q-1),(l===-1&&D[0]===i||l===-1&&new Date(D[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-0d08cda9"]]),ee={install(m){m.component("st-klineUtils",M),m.component("st-klineSub",Q),m.component("st-klineTips",Z),m.component("st-klineSlide",X)}};module.exports=ee;
|
package/es/KlineNew.js
CHANGED
|
@@ -2,24 +2,24 @@ import { defineComponent as R, openBlock as T, createElementBlock as L, Fragment
|
|
|
2
2
|
import { i as te, t as z } from "./index.esm-8d9a2abe.js";
|
|
3
3
|
import { _ as q } from "./_plugin-vue_export-helper-dad06003.js";
|
|
4
4
|
import { x as G } from "./index-53cc4e43.js";
|
|
5
|
-
import "./
|
|
6
|
-
import "./
|
|
7
|
-
import
|
|
8
|
-
import "./el-
|
|
9
|
-
import "./el-
|
|
5
|
+
import { E as ae, a as ne } from "./el-select-a573c78b.js";
|
|
6
|
+
import "./base-dd156b8e.js";
|
|
7
|
+
import "./el-scrollbar-0a42c1d0.js";
|
|
8
|
+
import "./el-popper-0454c8e8.js";
|
|
9
|
+
import "./el-tag-2d8a3fe7.js";
|
|
10
10
|
import * as B from "echarts";
|
|
11
|
-
import "./index-
|
|
12
|
-
import "./
|
|
13
|
-
import "./
|
|
14
|
-
import "./
|
|
15
|
-
import "./index-
|
|
16
|
-
import "./
|
|
17
|
-
import "./index-
|
|
18
|
-
import "./
|
|
19
|
-
import "./
|
|
20
|
-
import "./
|
|
21
|
-
import "./
|
|
22
|
-
import "./
|
|
11
|
+
import "./index-a181f161.js";
|
|
12
|
+
import "./castArray-18eb6a41.js";
|
|
13
|
+
import "./index-9573f74b.js";
|
|
14
|
+
import "./use-form-item-784142b4.js";
|
|
15
|
+
import "./index-6a52dc7c.js";
|
|
16
|
+
import "./vnode-8ee9bf4e.js";
|
|
17
|
+
import "./index-d9379af4.js";
|
|
18
|
+
import "./index-c09fc6f5.js";
|
|
19
|
+
import "./scroll-70271cb1.js";
|
|
20
|
+
import "./index-dddacf80.js";
|
|
21
|
+
import "./toNumber-f077c66a.js";
|
|
22
|
+
import "./clamp-c7512966.js";
|
|
23
23
|
const oe = /* @__PURE__ */ R({
|
|
24
24
|
__name: "index",
|
|
25
25
|
setup(w, { expose: A }) {
|
package/es/KlinePlus.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";require("./base-ef747d02.cjs");const xe=require("./el-loading-8179b497.cjs"),Oe=require("./el-empty-1697ded8.cjs");require("./el-tag-9c2f329f.cjs");const De=require("./el-select-70806166.cjs");require("./el-scrollbar-bc3f790d.cjs");require("./el-popper-a4f3ae4d.cjs");const r=require("vue"),p=require("./dayjs.min-2c20abe6.cjs"),he=require("echarts"),W=require("./index-94131fd7.cjs"),Ne=require("./_plugin-vue_export-helper-f246444f.cjs");require("./use-global-config-23472471.cjs");require("./use-form-common-props-ac666630.cjs");require("./index-9780a537.cjs");require("./index-00f6ca75.cjs");require("./index-bb833443.cjs");require("./index-5c0dd943.cjs");require("./index-185792a7.cjs");require("./index-ac8dc53d.cjs");require("./castArray-35947698.cjs");require("./index-870b6c9d.cjs");require("./scroll-b108dabd.cjs");require("./debounce-62f5b6e8.cjs");require("./vnode-b906ae6d.cjs");function be(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const i in t)if(i!=="default"){const c=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(n,i,c.get?c:{enumerable:!0,get:()=>t[i]})}}return n.default=t,Object.freeze(n)}const ie=be(he),Ce="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=",ke="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+",Ee="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",{round:Se}=W.x,U={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},ve=(t,n=0)=>{const i=pe[t];if(!i)throw new Error(`[K线] 不支持的周期:${String(t)}`);if(!Number.isInteger(n)||n<0||n>U.maxValueSpan)throw new RangeError(`[K线] initialVisibleBars 必须是 0-${U.maxValueSpan} 的整数`);if(t==="8"){const y=n?Math.ceil(n/i/30):0;return{amount:Math.max(10,y),unit:"month"}}const c=["6","7"].includes(t)?50:1,M=n?Math.ceil(n/i):0;return{amount:Math.max(c,M),unit:"day"}},Ie=(t,n)=>{let i=0,c=t.length;for(;i<c;){const M=Math.floor((i+c)/2);t[M]<n?i=M+1:c=M}return i},Qe=(t,n)=>{let i=0,c=t.length;for(;i<c;){const M=Math.floor((i+c)/2);t[M]<=n?i=M+1:c=M}return i},Pe=({time:t,startTime:n,endTime:i,initialVisibleBars:c=0})=>{if(!Array.isArray(t)||t.length===0)throw new TypeError("[K线] 无法定位首屏:行情时间序列为空");if(!Number.isInteger(c)||c<0||c>U.maxValueSpan)throw new RangeError(`[K线] initialVisibleBars 必须是 0-${U.maxValueSpan} 的整数`);const M=p.dayjs(n).valueOf(),y=p.dayjs(i).valueOf();if(!Number.isFinite(M)||!Number.isFinite(y)||y<M)throw new RangeError("[K线] 无法定位首屏:开始或结束时间无效");const N=t.map((D,L)=>{const d=p.dayjs(D).valueOf();if(!Number.isFinite(d))throw new RangeError(`[K线] 行情时间[${L}]无效`);if(L>0&&d<p.dayjs(t[L-1]).valueOf())throw new Error(`[K线] 行情时间序列未按升序排列,位置 ${L}`);return d});let e=Math.min(Ie(N,M),N.length-1),u=Math.max(Qe(N,y)-1,0);if(e>u){const D=Math.min(Ie(N,M),N.length-1);e=D,u=D}let O=Math.min(c||u-e+1,N.length,U.maxValueSpan)-(u-e+1);if(O>0){const D=Math.min(e,Math.ceil(O/2));e-=D,O-=D;const L=Math.min(N.length-1-u,O);u+=L,O-=L,O>0&&(e-=Math.min(e,O))}return{startValue:e,endValue:u}},Ye=({startTime:t,endTime:n,cycle:i,type:c="end"})=>{const{maxValueSpan:M}=U,y=Math.ceil((M+1e3)/pe[i]),N=p.dayjs(t);if(p.dayjs(n).diff(N,"day")<=y)return[t,n];if(c==="end")return[p.dayjs(n).subtract(y,"day").format("YYYY-MM-DD HH:mm:ss"),n];if(c==="middle"){const f=p.dayjs((p.dayjs(t).valueOf()+p.dayjs(n).valueOf())/2).format("YYYY-MM-DD HH:mm:ss");return console.log("超过一屏数量上限, 进行中间时间计算",f,y/2),[p.dayjs(f).subtract(y/2,"day").format("YYYY-MM-DD HH:mm:ss"),p.dayjs(f).add(y/2,"day").format("YYYY-MM-DD HH:mm:ss")]}},Re=(t,n)=>{const i=t[n],c=n===0?t[n]:t[n-1];return i[0]===i[1]?i[0]>=c[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:i[1]>i[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}},Fe=(t,n,i)=>{var M,y,N,e;const c=t.subIndicator.map(u=>{if(u.series==="bar")return{name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:u.data.map((f,O)=>u.seriesColor==="kline"?{value:f,itemStyle:Re(t.data,O)}:u.seriesColor==="value"?{value:f,itemStyle:{color:f>=0?"#FF0000":"#00FFFF"}}:{value:f,itemStyle:{color:u.seriesColor}})};if(u.series==="line")return{xAxisIndex:0,yAxisIndex:u.yAxis==="right"?2:1,name:u.key,type:"line",silent:!0,symbol:"none",data:u.data,lineStyle:{width:1},itemStyle:{color:u.color}}});return{animation:!1,grid:{top:"10px",left:"60px",right:"20px",bottom:"10px"},dataZoom:[{type:"inside",startValue:n,endValue:i,maxValueSpan:U.maxValueSpan}],tooltip:{show:!1},axisPointer:{show:!0,triggerTooltip:!1,label:{rich:{},formatter:u=>{const{axisDimension:f,value:O}=u;if(f==="x")return null;if(u.axisIndex===1)return String(Se(O))}}},xAxis:{type:"category",data:t.time,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{show:!1}},yAxis:[{position:"right"},{position:"left",min:((M=t.subIndicator[0])==null?void 0:M.leftYAxisRange)==="cover"?u=>u.min:null,max:((y=t.subIndicator[0])==null?void 0:y.leftYAxisRange)==="cover"?u=>u.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:((N=t.subIndicator[0])==null?void 0:N.rightYAxisRange)==="cover"?u=>u.min:null,max:((e=t.subIndicator[0])==null?void 0:e.rightYAxisRange)==="cover"?u=>u.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:c}},ce=(t,n,i="strict")=>{let c=0,M=t.length-1,y=-1;for(;c<=M;){let N=Math.floor((c+M)/2);if(i==="strict"){if(t[N]===n)return N;t[N]<n?c=N+1:M=N-1}else i==="gte"&&(t[N]>=n?(y=N,M=N-1):c=N+1)}return i==="strict"?-1:y},Ve=t=>{const n=[];return t.reduce((i,c)=>{const M=`${c.coord[0]}+${c.label.position}`,y=c.label.position==="top"?-16:16,N=i.get(M);return N?(i.set(M,N+1),c.symbolOffset[1]=y*(N+1)):(i.set(M,1),c.symbolOffset[1]=c.label.position==="top"?-7:7),n.push(c),i},new Map),n},Le=(t,n)=>({data:[...t.data,...n.data.slice(1)],mainIndicator:t.mainIndicator.map((i,c)=>({...i,data:[...i.data,...n.mainIndicator[c].data.slice(1)]})),subIndicator:t.subIndicator.map((i,c)=>({...i,data:[...i.data,...n.subIndicator[c].data.slice(1)]})),time:[...t.time,...n.time.slice(1)]}),le=(t,n,i)=>{switch(i){case"5":{let D=[...new Set(t.slice(-20).map(x=>{const a=new Date(x),j=String(a.getHours()).padStart(2,"0"),l=String(a.getMinutes()).padStart(2,"0"),m=String(a.getSeconds()).padStart(2,"0");return`${j}:${l}:${m}`}))];D.includes("00:00:00")&&(D.splice(D.indexOf("00:00:00"),1),D.push("24:00:00")),D=D.sort((x,a)=>new Date(`2000-01-30 ${x}`).getTime()-new Date(`2000-01-30 ${a}`).getTime());const L=new Date(n),d=L.getFullYear(),o=String(L.getMonth()+1).padStart(2,"0"),T=String(L.getDate()).padStart(2,"0"),I=String(L.getHours()).padStart(2,"0"),Y=String(L.getMinutes()).padStart(2,"0"),A=String(L.getSeconds()).padStart(2,"0");if(`${I}:${Y}:${A}`=="00:00:00")return`${d}-${o}-${T} 01:00:00`;{let x=null;for(let a=0;a<D.length;a++){const j=D[a].split(":");if(+`${j[0]}${j[1]}${j[2]}`>=+`${I}${Y}${A}`){x=D[a];break}}if(x==="24:00:00"){const a=new Date(n);a.setDate(a.getDate()+1);const j=a.getFullYear(),l=String(a.getMonth()+1).padStart(2,"0"),m=String(a.getDate()).padStart(2,"0");return`${j}-${l}-${m} 00:00:00`}return`${d}-${o}-${T} ${x}`}}case"6":{const D=new Date(n),L=D.getHours();if(L>=4&&L<21){const d=D.getFullYear(),o=String(D.getMonth()+1).padStart(2,"0"),T=String(D.getDate()).padStart(2,"0");return`${d}-${o}-${T} 09:00:00`}else{const d=new Date(n);d.getHours()>=21&&d.setDate(d.getDate()+1);const o=d.getFullYear(),T=String(d.getMonth()+1).padStart(2,"0"),I=String(d.getDate()).padStart(2,"0"),Y=`${o}-${T}-${I} 09:00:00`,A=ce(t,Y,"gte");return A===-1?Y:t[A]}}case"7":{const D=new Date(n),L=new Date(D);L.setDate(D.getDate()-D.getDay()),L.setHours(0,0,0,0);const d=new Date(L);d.setDate(L.getDate()+5),d.setHours(23,59,59,0);const o=new Date(L);o.setDate(L.getDate()+12),o.setHours(9,0,0,0);const T=D<=d?d:o,I=T.getFullYear(),Y=String(T.getMonth()+1).padStart(2,"0"),A=String(T.getDate()).padStart(2,"0");return`${I}-${Y}-${A} 09:00:00`}case"8":{const D=new Date(n),L=new Date(D.getFullYear(),D.getMonth()+1,1),d=new Date(L);d.setDate(L.getDate()-1),d.setHours(9,0,0,0);const o=d.getFullYear(),T=String(d.getMonth()+1).padStart(2,"0"),I=String(d.getDate()).padStart(2,"0");return`${o}-${T}-${I} 09:00:00`}}const c=new Date(n),M=c.getFullYear(),y=c.getMonth(),N=c.getDate(),e=c.getHours(),u=c.getMinutes(),f=c.getSeconds(),O=D=>{let L=null;const d=Math.floor(u/D);u%D===0&&f===0?L=u:L=(d+1)*D;const o=Math.floor(L/60),T=e+o,I=L%60,Y=new Date(M,y,N,T,I,0),A=k=>String(k).padStart(2,"0"),x=Y.getFullYear(),a=A(Y.getMonth()+1),j=A(Y.getDate()),l=A(Y.getHours()),m=A(Y.getMinutes());return`${x}-${a}-${j} ${l}:${m}:00`};switch(i){case"1":return O(1);case"2":return O(5);case"3":return O(15);case"4":return O(30);default:throw new Error(`Unsupported cycle: ${n} ${i}`)}},re=(t,n,i)=>{let c=null,M=null;const[y,N]=n;switch(i){case"6":{c=t.find(e=>new Date(p.dayjs(e).format("YYYY-MM-DD 23:59:59")).getTime()>=new Date(y).getTime()),M=t.findLast(e=>new Date(p.dayjs(e).format("YYYY-MM-DD 00:00:00")).getTime()<=new Date(N).getTime());break}case"7":{const e=p.dayjs(N).endOf("week").add(1,"day").format("YYYY-MM-DD 23:59:59");c=t.find(u=>p.dayjs(u).endOf("week").add(1,"day").format("YYYY-MM-DD")===p.dayjs(y).endOf("week").add(1,"day").format("YYYY-MM-DD")),M=t.findLast(u=>new Date(u).getTime()<=new Date(e).getTime());break}case"8":{c=t.find(e=>p.dayjs(e).format("YYYY-MM")===p.dayjs(y).format("YYYY-MM")),M=t.findLast(e=>p.dayjs(e).format("YYYY-MM")===p.dayjs(N).format("YYYY-MM"));break}default:c=t.find(e=>new Date(e).getTime()>=new Date(y).getTime()),M=t.findLast(e=>new Date(e).getTime()<=new Date(N).getTime())}return[c,M]},Ue=(t,n,i,c,M,y)=>{const N=(d,o)=>{const{direction:T="",tradeAction:I="",tradeType:Y=""}=d,A=Y??T+I;switch(o){case 0:return new Map([["开多","买"],["平多","卖"],["开空","卖"],["平空","买"]]).get(A);case 1:return Y??T+I}},e=(d,o,T,I)=>d.reduce((Y,A)=>{var P;const x=N(A,0),a=d.filter(_=>_.klineTime===A.klineTime),j=[...new Set(a.map(_=>N(_,0)))];let l=null;j.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":Ce,"./images/sell.svg":ke,"./images/t.svg":Ee})[`./images/${x==="买"?"buy":"sell"}.svg`],self.location).href;const m=ce(T,A.klineTime),k=(P=I[m])==null?void 0:P[3];return o.forEach(_=>{var X;const B=x==="买"?0:1;_.range[B]===A.klineTime&&(_.rangeValue[B]=(X=I[m])==null?void 0:X[x==="买"?2:3])}),Y.push({symbol:l,symbolSize:25,symbolRotate:0,symbolOffset:[0,0],label:{show:!1,position:"top"},coord:[A.klineTime,k],silent:!0,animation:!1,customData:{tradeType:x,amount:A.amount,part:A.part,profitAndLoss:A.profitAndLoss,openPriceAll:A.openPriceAll,closePriceAll:A.closePriceAll}}),Y},[]),u=(d,o,T,I)=>{const{sellBuyByPrice:Y}=y,A=d.reduce((x,a,j)=>{var P,_;const l=N(a,1),m=["开多","开空"].includes(l)?"top":"bottom";let k=null;if(Y)k=m==="top"?(a.openPriceAll/a.amount).toFixed(2):(a.closePriceAll/a.amount).toFixed(2);else{const B=ce(T,a.klineTime);k=m==="top"?(P=I[B])==null?void 0:P[3]:(_=I[B])==null?void 0:_[2]}return o.forEach(B=>{(m==="top"?B.range[0]:B.range[1])===a.klineTime&&(B.rangeValue[m==="top"?0:1]=k)}),x.push({symbol:"triangle",symbolSize:[10,12],symbolRotate:m==="top"?180:0,symbolOffset:[0,0],label:{show:!0,position:m,color:"#fff",formatter:`${l} ${m==="top"?"+":"-"} ${a.amount}手 ${a.part?`(${a.part}份)`:""}`},itemStyle:{color:m==="top"?"#FF0000":"#389e0d"},coord:[a.klineTime,k],silent:!0,animation:!1,customData:{tradeType:l,amount:a.amount,part:a.part,profitAndLoss:a.profitAndLoss,openPriceAll:a.openPriceAll,closePriceAll:a.closePriceAll}}),x},[]);return Y?A:Ve(A)},f=(d,o,T)=>{const{basePointData:I,baseLineData:Y}=d.reduce((j,l)=>{const m={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:le(T,l.openTime,o)},k={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:le(T,l.closeTime,o)},P={range:[m.klineTime,k.klineTime],rangeValue:[null,null],color:k.profitAndLoss>0?"#FF0000":"#389e0d"};return j.basePointData.push(m,k),j.baseLineData.push(P),j},{basePointData:[],baseLineData:[]}),x=[...I.reduce((j,l)=>{const m=JSON.parse(JSON.stringify(l)),k=m.klineTime+m.tradeType;if(j.has(k)){const P=j.get(k);m.amount+=P.amount,m.part+=P.part,m.profitAndLoss+=P.profitAndLoss,m.openPriceAll+=P.openPriceAll,m.closePriceAll+=P.closePriceAll}return j.set(k,m),j},new Map([])).values()].sort((j,l)=>new Date(j.klineTime)-new Date(l.klineTime)),a=Y.filter(({range:j})=>j[0]!==j[1]);return{pointData:x,lineData:a}},{pointData:O,lineData:D}=f(t,n,c);return{tradePointData:(i===0?e:u)(O,D,c,M),tradeLineData:D.map(({range:d,rangeValue:o,color:T})=>[{symbol:"none",coord:[d[0],o[0]],lineStyle:{color:T,width:2,type:"solid"},silent:!0,animation:!1},{symbol:"none",coord:[d[1],o[1]],silent:!0,animation:!1}])}},_e=(t,n)=>{let i=[];if(Number(n)<=5)i=t.map(({tradeDate:c,netPositionValue:M})=>[p.dayjs(c).format("YYYY-MM-DD HH:mm:ss"),M]);else if(Number(n)===6){const c=t.reduce((M,y)=>{const{tradeDate:N,netPositionValue:e}=y;return M.set(p.dayjs(N).format("YYYY-MM-DD 09:00:00"),e),M},new Map);i=Array.from(c,([M,y])=>[M,y])}else i=[];return{netPositionLineData:i}},Be=(t,n,i,c)=>{let M=[];if(["6","7","8"].includes(n)){const y=t.reduce((N,e)=>{const u=le(c,e.date,n),f=e[i===0?"simple":"compound"];return N.set(u,f),N},new Map);M=Array.from(y,([N,e])=>[N,e])}else M=[];return{tradeIncomeRateLineData:M}},me="/middleLayer/kline/getKline",$e=15e3,He=64,Ae=new WeakMap,Ze=new Map,Ge=t=>typeof t=="object"&&t!==null||typeof t=="function",ue=t=>t instanceof Date?t.toISOString():Array.isArray(t)?t.map(ue):t&&typeof t=="object"?Object.keys(t).sort().reduce((n,i)=>(t[i]!==void 0&&(n[i]=ue(t[i])),n),{}):t,We=t=>{if(Ge(t)){let n=Ae.get(t);return n||(n=new Map,Ae.set(t,n)),n}return Ze},fe=t=>{for(;t.size>He;){const n=t.keys().next().value;if(n===void 0)break;t.delete(n)}},oe=(t,n,i={})=>{if(!t||typeof t.post!="function")throw new TypeError("[K线] request.post 未配置,无法获取行情数据");const c=Number.isFinite(i.ttlMs)?Math.max(0,i.ttlMs):$e,M=We(t),y=`${me}:${JSON.stringify(ue(n))}`,N=Date.now(),e=M.get(y);if(e&&(e.pending||e.expiresAt>N))return e.promise;e&&M.delete(y);const u={pending:!0,expiresAt:0,promise:null};return u.promise=Promise.resolve().then(()=>t.post(me,n)).then(f=>(M.get(y)===u&&(u.pending=!1,u.expiresAt=Date.now()+c,fe(M)),f),f=>{throw M.get(y)===u&&M.delete(y),f}),M.set(y,u),fe(M),u.promise};const qe={class:"tips"},Ke={__name:"Tips",props:{data:{type:Array,default:()=>[]}},setup(t){return(n,i)=>(r.openBlock(),r.createElementBlock("div",qe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(t.data,(c,M)=>(r.openBlock(),r.createElementBlock("span",{key:M,class:"item",style:r.normalizeStyle({color:c.color})},r.toDisplayString(c.label)+" "+r.toDisplayString(c.value),5))),128))]))}},se=Ne._export_sfc(Ke,[["__scopeId","data-v-ab0b040e"]]);const Je={__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(t,{expose:n,emit:i}){const{request:c}=r.inject("stConfig");let M=null,y=!1,N=0;const e=r.ref(null),u=i,f=t,O=r.ref({data:[],mainIndicator:[],subIndicator:[],time:[]}),D=async()=>{const T=++N,I={varietyCode:f.varietyCode,cycle:"6",right:f.varietyStock===1?f.rightType:0,contractType:f.varietyStock?null:f.klineType,startTime:"1999-01-01 00:00:00",endTime:p.dayjs().format("YYYY-MM-DD 23:59:59"),deleteFirstNumber:f.deleteFirstNumber,withoutPermission:f.withoutPermission};if(y)return;const{body:Y}=await oe(c,I);y||T!==N||(Y?O.value=Y:O.value={data:[],mainIndicator:[],subIndicator:[],time:[]},o("init"))},L=W.j(T=>{if(!(T!=null&&T.dataZoomId)||y||!M)return;const I=M.getOption();if(I!=null&&I.dataZoom[0]){const{startValue:Y,endValue:A}=M.getOption().dataZoom[0],{time:x}=O.value,a=`${x[Y].split(" ")[0]} 00:00:00`,j=`${x[A].split(" ")[0]} 23:59:59`;console.log(`检测到拖拽轴被拖动, 时间区间: ${a} - ${j}`),u("change",{startTime:a,endTime:j})}},200),d=W.j(({startTime:T,endTime:I})=>{o("reset",{startTime:T,endTime:I})},100),o=(T,I)=>{if(!(y||!M))switch(T){case"init":{const{data:Y,time:A}=O.value,{xAxisData:x,lineData:a}=Y.reduce((l,m,k)=>(l.xAxisData.push(A[k].split(" ")[0]),l.lineData.push(m[1]),l),{xAxisData:[],lineData:[]}),j={grid:{height:0,left:"100px",right:"80px"},xAxis:{type:"category",data:x,show:!1},yAxis:{type:"value"},dataZoom:[{show:!0,startValue:0,endValue:0,textStyle:{color:"#ccc"}},{type:"inside",startValue:0,endValue:0}],series:[{data:a,type:"line"}]};if(M.setOption(j,!0),f.screenTimeRange.length){const[l,m]=f.screenTimeRange;d({startTime:l,endTime:m})}break}case"reset":{const{time:Y}=O.value,A=p.dayjs(I.startTime).format("YYYY-MM-DD"),x=p.dayjs(I.endTime).format("YYYY-MM-DD");let a=-1,j=-1;for(let l=0;l<Y.length;l++){const m=p.dayjs(Y[l]).format("YYYY-MM-DD");if(a!==-1&&j!==-1)break;a===-1&&(new Date(m)===new Date(A)?a=l:new Date(m)>new Date(A)&&(a=l-1)),j===-1&&(new Date(m)===new Date(x)?j=l:new Date(m)>new Date(x)&&(j=l-1))}j===-1&&(j=Y.length-1),M.dispatchAction({type:"dataZoom",startValue:a,endValue:j});break}}};return r.onMounted(()=>{r.nextTick(()=>{y||(M=ie.init(e.value),M.on("datazoom",L),D())})}),r.watch(()=>f.screenTimeRange,T=>{if(y||!M||T.length<2)return;const[I,Y]=T;d({startTime:I,endTime:Y})},{deep:!0}),r.onUnmounted(()=>{y=!0,N+=1,M==null||M.off("datazoom"),M==null||M.dispose(),M=null}),n({resize:W.j(()=>M==null?void 0:M.resize(),100)}),(T,I)=>(r.openBlock(),r.createElementBlock("div",{class:"chart",ref_key:"sliderChartRef",ref:e},null,512))}},Xe=Ne._export_sfc(Je,[["__scopeId","data-v-4a4659da"]]);const et={class:"main-chart"},tt={class:"indicator"},Mt={key:0,class:"screen-time-range"},at={key:0,class:"sub-chart"},nt={class:"indicator"},it={class:"title"},ot={key:1,class:"slider-chart"},rt={__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},initialVisibleBars:{type:Number,default:0,validator:t=>Number.isInteger(t)&&t>=0&&t<=U.maxValueSpan},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(t,{expose:n}){const{round:i,formatValue:c}=W.x,{request:M}=r.inject("stConfig"),y=r.ref(!1),N=r.ref(!1),e=t;let u=!1,f=!1,O=!1,D=!1,L=null,d=null,o=null,T=!1,I=0;const Y=r.ref(null),A=r.ref(null),x=r.ref(null),a=r.ref({data:[],mainIndicator:[],subIndicator:[],time:[]}),j=r.ref(0),l=r.ref([]),m=r.ref(null),k=r.ref("VOL"),P=r.computed(()=>{const s=a.value.data[j.value];if(!s)return[{label:"开",value:"-"},{label:"高",value:"-"},{label:"低",value:"-"},{label:"收",value:"-"},{label:"额",value:"-"},{label:"涨跌",value:"-"}];const z=[{label:"开",value:s[0]},{label:"高",value:s[3]},{label:"低",value:s[2]},{label:"收",value:s[1]}];s[4]!==null&&z.push({label:"额",value:c(s[4])});let g;return s[6]>0?g="red":s[6]<0&&(g="green"),z.push({label:"涨跌",value:`${i(s[6])}%`,color:g}),z}),_=r.computed(()=>{var s,z;return((z=(s=a.value)==null?void 0:s.mainIndicator)==null?void 0:z.map(g=>({label:g.key,value:i(g.data[j.value]),color:g.color})))||[]}),B=r.computed(()=>{var s,z;return((z=(s=a.value)==null?void 0:s.subIndicator)==null?void 0:z.map(g=>({label:g.key,color:g.color,value:g.data[j.value]||"-"})))||[]}),X=()=>{if(!Y.value)return console.warn("[K线] 主图DOM元素不存在,取消初始化"),!1;if(o)return!0;try{return o=ie.init(Y.value),o.on("highlight",W.j(s=>{var z;s.dataIndex?j.value=s.dataIndex:j.value=((z=s.batch)==null?void 0:z[0].dataIndex)??-1},10)),o.on("datazoom",W.j(async()=>{var h;const{loadCheckCount:s}=U,{startValue:z,endValue:g}=((h=o.getOption())==null?void 0:h.dataZoom[0])??{};O===!1&&D===!1&&z<s&&await je("history"),u===!1&&f===!1&&g>a.value.time.length-s&&await je("new"),ze(),ye()})),o.on("globalout",()=>{if(o){const s=o.getOption();j.value=s.dataZoom[0].endValue}}),o.getZr().on("contextmenu",()=>{var s;m.value=(s=a.value)==null?void 0:s.time[j.value]}),window.addEventListener("keydown",de),e.userKlineConfig.enable_subChart&&A.value&&(d=ie.init(A.value),ie.connect([o,d])),Y.value&&(L=W.D(Y.value),L.listen(()=>{requestAnimationFrame(()=>{var s;o==null||o.resize(),d==null||d.resize(),(s=x.value)==null||s.resize()})})),!0}catch(s){return console.error("[st-klinePlus]: 初始化异常:",s),!1}},ee=async({startTime:s,endTime:z})=>{const g=++I;O=!1,D=!1,u=!1,f=!1;try{if(T)return;y.value=!0;const h={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:k.value,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission},w=ve(e.cycle,e.initialVisibleBars);Object.assign(h,{startTime:p.dayjs(s).subtract(w.amount,w.unit).format("YYYY-MM-DD HH:mm:ss"),endTime:p.dayjs(z).add(w.amount,w.unit).format("YYYY-MM-DD HH:mm:ss")});const{body:b}=await oe(M,h);if(T||g!==I)return;if(a.value=b??{data:[],mainIndicator:[],subIndicator:[],time:[]},!a.value.time.length){te({startValue:0,endValue:0});return}te(Pe({time:a.value.time,startTime:s,endTime:z,initialVisibleBars:e.initialVisibleBars}))}finally{g===I&&(y.value=!1)}},je=async s=>{var K,Z;const z=I,{loadAddCount:g}=U;switch(s){case"history":{O=!0;const V={varietyCode:e.varietyCode,cycle:e.cycle,right:e.varietyStock===1?e.rightType:0,contractType:e.varietyStock?null:e.klineType,endTime:a.value.time[0],limit:g,mainIndicatorList:e.indicatorStore.getIndicatorParams(e.mainIndicator),subIndicator:k.value,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission},{body:R}=await oe(M,V);if(T||z!==I){O=!1;return}a.value=Le(R,a.value),R.data.length<g&&(console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭"),D=!0),O=!1;break}case"new":{u=!0;const V={varietyCode:e.varietyCode,cycle:e.cycle,right:e.varietyStock===1?e.rightType:0,contractType:e.varietyStock?null:e.klineType,startTime:a.value.time[a.value.time.length-1],limit:g,mainIndicatorList:e.indicatorStore.getIndicatorParams(e.mainIndicator),subIndicator:k.value,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission},{body:R}=await oe(M,V);if(T||z!==I){u=!1;return}a.value=Le(a.value,R),R.data.length<g&&(console.log("[K线] 获取更多数据: 右侧已全部获取完毕, 关闭"),f=!0),u=!1;break}}const{startValue:h,endValue:w}=((K=o.getOption())==null?void 0:K.dataZoom[0])??{},b=(Z=o.getOption())==null?void 0:Z.xAxis[0].data,E=a.value.time.findIndex(V=>new Date(V)>=new Date(b[h])),F=a.value.time.findIndex(V=>new Date(V)>=new Date(b[w]));te({startValue:E===-1?0:E,endValue:F===-1?a.value.time.length-1:F})},ze=()=>{var b;if(!a.value.time.length)return l.value=[];const{time:s}=a.value,{startValue:z,endValue:g}=((b=o.getOption())==null?void 0:b.dataZoom[0])??{},h=s[z],w=s[g];["6","7","8"].includes(e.cycle)?l.value=[p.dayjs(h).format("YYYY-MM-DD"),p.dayjs(w).format("YYYY-MM-DD")]:l.value=[h,w]},te=(s={startValue:0,endValue:0})=>{if(!X()||!o)return console.warn("[st-klinePlus]: 图表未准备就绪, 跳过绘制");if(!a.value.time.length)return console.warn("[st-klinePlus]: 图表无数据, 跳过绘制");const{maxValueSpan:g}=U,{time:h,data:w,mainIndicator:b}=a.value,E=s.endValue-s.startValue>g?s.endValue-g:s.startValue,F=s.endValue,K=b.map(C=>({name:C.key,type:"line",silent:!0,symbol:"none",data:C.data,lineStyle:{width:C.width||1},itemStyle:{color:C.color}})),{netPositionLineData:Z}=_e(e.netPositionData,e.cycle),{tradeIncomeRateLineData:V}=Be(e.tradeIncomeRateData,e.cycle,e.incomeType,h),{tradePointData:R,tradeLineData:$}=Ue(e.tradeLog,e.cycle,e.sellBuy,h,w,e.userKlineConfig);o.setOption({animation:!1,grid:{top:"40px",left:"60px",right:"20px",bottom:"20px"},dataZoom:[{type:"inside",startValue:E,endValue:F,minValueSpan:U.minValueSpan,maxValueSpan:U.maxValueSpan}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:C=>{const{axisDimension:S,value:v}=C;return S==="x"?["6","7","8"].includes(e.cycle)?p.dayjs(v).format("YYYY-MM-DD"):v:String(i(v))}}},formatter:C=>{if(!(C!=null&&C.length))return null;let S="";if(C.forEach(Q=>{if(Q.seriesName==="netPosition"&&Q.data!==null&&(S+=`<div>资产持仓净值: ${Q.data[1]}</div>`),Q.componentSubType==="candlestick")if(e.sellBuy===0){const J=R.filter(H=>(H==null?void 0:H.coord[0])===Q.axisValue);let q=0,G=0;J.forEach(H=>{const{tradeType:Me,amount:ne}=H.customData;Me==="买"&&(q+=ne),Me==="卖"&&(G+=ne)}),q&&(S+=`<div>买: ${q}</div>`),G&&(S+=`<div>卖: ${G}</div>`)}else R.forEach(J=>{if((J==null?void 0:J.coord[0])===Q.axisValue){const{tradeType:q,amount:G,profitAndLoss:H,openPriceAll:Me,closePriceAll:ne}=J.customData;let ae=`<div>${q}: ${G}手</div>`;if(q.includes("开")&&(ae+=`<div>开仓价: ${(Me/G).toFixed(2)}</div>`),q.includes("平")){const ge=(Me/G).toFixed(2),Te=(ne/G).toFixed(2);ae+=`<div>平仓价: ${Te}</div>`,ae+=`<div>盈亏: ${H==null?void 0:H.toFixed(2)}</div>`,ae+=`<div>盈亏比率: ${((Te-ge)/ge*100).toFixed(2)} %</div>`}S+=ae}})}),!S)return null;let v=C[0].axisValue;return["6","7","8"].includes(e.cycle)&&(v=p.dayjs(v).format("YYYY-MM-DD")),`
|
|
1
|
+
"use strict";const De=require("./el-select-c317294a.cjs"),xe=require("./el-empty-58bc2a10.cjs"),Oe=require("./el-loading-fafaaa7b.cjs"),p=require("./base-d987e5c9.cjs");require("./el-scrollbar-225c6c9e.cjs");require("./el-popper-acd0ff35.cjs");require("./el-tag-dca1292c.cjs");const r=require("vue"),he=require("echarts"),W=require("./index-94131fd7.cjs"),Ne=require("./_plugin-vue_export-helper-f246444f.cjs");require("./index-d372e68f.cjs");require("./castArray-d9ffe84a.cjs");require("./index-6a36e1fc.cjs");require("./use-form-item-76516e50.cjs");require("./index-5cada1ed.cjs");require("./vnode-6f7b84f0.cjs");require("./index-beb5cb7d.cjs");require("./index-21a3dc89.cjs");require("./scroll-07bade1e.cjs");require("./index-11181b5f.cjs");require("./toNumber-b47ceb68.cjs");require("./clamp-17c4d8aa.cjs");require("./use-global-config-7ff9a1c2.cjs");function be(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const i in t)if(i!=="default"){const c=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(n,i,c.get?c:{enumerable:!0,get:()=>t[i]})}}return n.default=t,Object.freeze(n)}const ie=be(he),Ce="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=",ke="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+",Ee="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",{round:Se}=W.x,U={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},ve=(t,n=0)=>{const i=pe[t];if(!i)throw new Error(`[K线] 不支持的周期:${String(t)}`);if(!Number.isInteger(n)||n<0||n>U.maxValueSpan)throw new RangeError(`[K线] initialVisibleBars 必须是 0-${U.maxValueSpan} 的整数`);if(t==="8"){const y=n?Math.ceil(n/i/30):0;return{amount:Math.max(10,y),unit:"month"}}const c=["6","7"].includes(t)?50:1,M=n?Math.ceil(n/i):0;return{amount:Math.max(c,M),unit:"day"}},Ie=(t,n)=>{let i=0,c=t.length;for(;i<c;){const M=Math.floor((i+c)/2);t[M]<n?i=M+1:c=M}return i},Qe=(t,n)=>{let i=0,c=t.length;for(;i<c;){const M=Math.floor((i+c)/2);t[M]<=n?i=M+1:c=M}return i},Pe=({time:t,startTime:n,endTime:i,initialVisibleBars:c=0})=>{if(!Array.isArray(t)||t.length===0)throw new TypeError("[K线] 无法定位首屏:行情时间序列为空");if(!Number.isInteger(c)||c<0||c>U.maxValueSpan)throw new RangeError(`[K线] initialVisibleBars 必须是 0-${U.maxValueSpan} 的整数`);const M=p.dayjs(n).valueOf(),y=p.dayjs(i).valueOf();if(!Number.isFinite(M)||!Number.isFinite(y)||y<M)throw new RangeError("[K线] 无法定位首屏:开始或结束时间无效");const N=t.map((D,L)=>{const d=p.dayjs(D).valueOf();if(!Number.isFinite(d))throw new RangeError(`[K线] 行情时间[${L}]无效`);if(L>0&&d<p.dayjs(t[L-1]).valueOf())throw new Error(`[K线] 行情时间序列未按升序排列,位置 ${L}`);return d});let e=Math.min(Ie(N,M),N.length-1),u=Math.max(Qe(N,y)-1,0);if(e>u){const D=Math.min(Ie(N,M),N.length-1);e=D,u=D}let O=Math.min(c||u-e+1,N.length,U.maxValueSpan)-(u-e+1);if(O>0){const D=Math.min(e,Math.ceil(O/2));e-=D,O-=D;const L=Math.min(N.length-1-u,O);u+=L,O-=L,O>0&&(e-=Math.min(e,O))}return{startValue:e,endValue:u}},Ye=({startTime:t,endTime:n,cycle:i,type:c="end"})=>{const{maxValueSpan:M}=U,y=Math.ceil((M+1e3)/pe[i]),N=p.dayjs(t);if(p.dayjs(n).diff(N,"day")<=y)return[t,n];if(c==="end")return[p.dayjs(n).subtract(y,"day").format("YYYY-MM-DD HH:mm:ss"),n];if(c==="middle"){const f=p.dayjs((p.dayjs(t).valueOf()+p.dayjs(n).valueOf())/2).format("YYYY-MM-DD HH:mm:ss");return console.log("超过一屏数量上限, 进行中间时间计算",f,y/2),[p.dayjs(f).subtract(y/2,"day").format("YYYY-MM-DD HH:mm:ss"),p.dayjs(f).add(y/2,"day").format("YYYY-MM-DD HH:mm:ss")]}},Re=(t,n)=>{const i=t[n],c=n===0?t[n]:t[n-1];return i[0]===i[1]?i[0]>=c[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:i[1]>i[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}},Fe=(t,n,i)=>{var M,y,N,e;const c=t.subIndicator.map(u=>{if(u.series==="bar")return{name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:u.data.map((f,O)=>u.seriesColor==="kline"?{value:f,itemStyle:Re(t.data,O)}:u.seriesColor==="value"?{value:f,itemStyle:{color:f>=0?"#FF0000":"#00FFFF"}}:{value:f,itemStyle:{color:u.seriesColor}})};if(u.series==="line")return{xAxisIndex:0,yAxisIndex:u.yAxis==="right"?2:1,name:u.key,type:"line",silent:!0,symbol:"none",data:u.data,lineStyle:{width:1},itemStyle:{color:u.color}}});return{animation:!1,grid:{top:"10px",left:"60px",right:"20px",bottom:"10px"},dataZoom:[{type:"inside",startValue:n,endValue:i,maxValueSpan:U.maxValueSpan}],tooltip:{show:!1},axisPointer:{show:!0,triggerTooltip:!1,label:{rich:{},formatter:u=>{const{axisDimension:f,value:O}=u;if(f==="x")return null;if(u.axisIndex===1)return String(Se(O))}}},xAxis:{type:"category",data:t.time,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{show:!1}},yAxis:[{position:"right"},{position:"left",min:((M=t.subIndicator[0])==null?void 0:M.leftYAxisRange)==="cover"?u=>u.min:null,max:((y=t.subIndicator[0])==null?void 0:y.leftYAxisRange)==="cover"?u=>u.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:((N=t.subIndicator[0])==null?void 0:N.rightYAxisRange)==="cover"?u=>u.min:null,max:((e=t.subIndicator[0])==null?void 0:e.rightYAxisRange)==="cover"?u=>u.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:c}},ce=(t,n,i="strict")=>{let c=0,M=t.length-1,y=-1;for(;c<=M;){let N=Math.floor((c+M)/2);if(i==="strict"){if(t[N]===n)return N;t[N]<n?c=N+1:M=N-1}else i==="gte"&&(t[N]>=n?(y=N,M=N-1):c=N+1)}return i==="strict"?-1:y},Ve=t=>{const n=[];return t.reduce((i,c)=>{const M=`${c.coord[0]}+${c.label.position}`,y=c.label.position==="top"?-16:16,N=i.get(M);return N?(i.set(M,N+1),c.symbolOffset[1]=y*(N+1)):(i.set(M,1),c.symbolOffset[1]=c.label.position==="top"?-7:7),n.push(c),i},new Map),n},Le=(t,n)=>({data:[...t.data,...n.data.slice(1)],mainIndicator:t.mainIndicator.map((i,c)=>({...i,data:[...i.data,...n.mainIndicator[c].data.slice(1)]})),subIndicator:t.subIndicator.map((i,c)=>({...i,data:[...i.data,...n.subIndicator[c].data.slice(1)]})),time:[...t.time,...n.time.slice(1)]}),le=(t,n,i)=>{switch(i){case"5":{let D=[...new Set(t.slice(-20).map(x=>{const a=new Date(x),j=String(a.getHours()).padStart(2,"0"),l=String(a.getMinutes()).padStart(2,"0"),m=String(a.getSeconds()).padStart(2,"0");return`${j}:${l}:${m}`}))];D.includes("00:00:00")&&(D.splice(D.indexOf("00:00:00"),1),D.push("24:00:00")),D=D.sort((x,a)=>new Date(`2000-01-30 ${x}`).getTime()-new Date(`2000-01-30 ${a}`).getTime());const L=new Date(n),d=L.getFullYear(),o=String(L.getMonth()+1).padStart(2,"0"),T=String(L.getDate()).padStart(2,"0"),I=String(L.getHours()).padStart(2,"0"),Y=String(L.getMinutes()).padStart(2,"0"),A=String(L.getSeconds()).padStart(2,"0");if(`${I}:${Y}:${A}`=="00:00:00")return`${d}-${o}-${T} 01:00:00`;{let x=null;for(let a=0;a<D.length;a++){const j=D[a].split(":");if(+`${j[0]}${j[1]}${j[2]}`>=+`${I}${Y}${A}`){x=D[a];break}}if(x==="24:00:00"){const a=new Date(n);a.setDate(a.getDate()+1);const j=a.getFullYear(),l=String(a.getMonth()+1).padStart(2,"0"),m=String(a.getDate()).padStart(2,"0");return`${j}-${l}-${m} 00:00:00`}return`${d}-${o}-${T} ${x}`}}case"6":{const D=new Date(n),L=D.getHours();if(L>=4&&L<21){const d=D.getFullYear(),o=String(D.getMonth()+1).padStart(2,"0"),T=String(D.getDate()).padStart(2,"0");return`${d}-${o}-${T} 09:00:00`}else{const d=new Date(n);d.getHours()>=21&&d.setDate(d.getDate()+1);const o=d.getFullYear(),T=String(d.getMonth()+1).padStart(2,"0"),I=String(d.getDate()).padStart(2,"0"),Y=`${o}-${T}-${I} 09:00:00`,A=ce(t,Y,"gte");return A===-1?Y:t[A]}}case"7":{const D=new Date(n),L=new Date(D);L.setDate(D.getDate()-D.getDay()),L.setHours(0,0,0,0);const d=new Date(L);d.setDate(L.getDate()+5),d.setHours(23,59,59,0);const o=new Date(L);o.setDate(L.getDate()+12),o.setHours(9,0,0,0);const T=D<=d?d:o,I=T.getFullYear(),Y=String(T.getMonth()+1).padStart(2,"0"),A=String(T.getDate()).padStart(2,"0");return`${I}-${Y}-${A} 09:00:00`}case"8":{const D=new Date(n),L=new Date(D.getFullYear(),D.getMonth()+1,1),d=new Date(L);d.setDate(L.getDate()-1),d.setHours(9,0,0,0);const o=d.getFullYear(),T=String(d.getMonth()+1).padStart(2,"0"),I=String(d.getDate()).padStart(2,"0");return`${o}-${T}-${I} 09:00:00`}}const c=new Date(n),M=c.getFullYear(),y=c.getMonth(),N=c.getDate(),e=c.getHours(),u=c.getMinutes(),f=c.getSeconds(),O=D=>{let L=null;const d=Math.floor(u/D);u%D===0&&f===0?L=u:L=(d+1)*D;const o=Math.floor(L/60),T=e+o,I=L%60,Y=new Date(M,y,N,T,I,0),A=k=>String(k).padStart(2,"0"),x=Y.getFullYear(),a=A(Y.getMonth()+1),j=A(Y.getDate()),l=A(Y.getHours()),m=A(Y.getMinutes());return`${x}-${a}-${j} ${l}:${m}:00`};switch(i){case"1":return O(1);case"2":return O(5);case"3":return O(15);case"4":return O(30);default:throw new Error(`Unsupported cycle: ${n} ${i}`)}},re=(t,n,i)=>{let c=null,M=null;const[y,N]=n;switch(i){case"6":{c=t.find(e=>new Date(p.dayjs(e).format("YYYY-MM-DD 23:59:59")).getTime()>=new Date(y).getTime()),M=t.findLast(e=>new Date(p.dayjs(e).format("YYYY-MM-DD 00:00:00")).getTime()<=new Date(N).getTime());break}case"7":{const e=p.dayjs(N).endOf("week").add(1,"day").format("YYYY-MM-DD 23:59:59");c=t.find(u=>p.dayjs(u).endOf("week").add(1,"day").format("YYYY-MM-DD")===p.dayjs(y).endOf("week").add(1,"day").format("YYYY-MM-DD")),M=t.findLast(u=>new Date(u).getTime()<=new Date(e).getTime());break}case"8":{c=t.find(e=>p.dayjs(e).format("YYYY-MM")===p.dayjs(y).format("YYYY-MM")),M=t.findLast(e=>p.dayjs(e).format("YYYY-MM")===p.dayjs(N).format("YYYY-MM"));break}default:c=t.find(e=>new Date(e).getTime()>=new Date(y).getTime()),M=t.findLast(e=>new Date(e).getTime()<=new Date(N).getTime())}return[c,M]},Ue=(t,n,i,c,M,y)=>{const N=(d,o)=>{const{direction:T="",tradeAction:I="",tradeType:Y=""}=d,A=Y??T+I;switch(o){case 0:return new Map([["开多","买"],["平多","卖"],["开空","卖"],["平空","买"]]).get(A);case 1:return Y??T+I}},e=(d,o,T,I)=>d.reduce((Y,A)=>{var P;const x=N(A,0),a=d.filter(_=>_.klineTime===A.klineTime),j=[...new Set(a.map(_=>N(_,0)))];let l=null;j.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":Ce,"./images/sell.svg":ke,"./images/t.svg":Ee})[`./images/${x==="买"?"buy":"sell"}.svg`],self.location).href;const m=ce(T,A.klineTime),k=(P=I[m])==null?void 0:P[3];return o.forEach(_=>{var X;const B=x==="买"?0:1;_.range[B]===A.klineTime&&(_.rangeValue[B]=(X=I[m])==null?void 0:X[x==="买"?2:3])}),Y.push({symbol:l,symbolSize:25,symbolRotate:0,symbolOffset:[0,0],label:{show:!1,position:"top"},coord:[A.klineTime,k],silent:!0,animation:!1,customData:{tradeType:x,amount:A.amount,part:A.part,profitAndLoss:A.profitAndLoss,openPriceAll:A.openPriceAll,closePriceAll:A.closePriceAll}}),Y},[]),u=(d,o,T,I)=>{const{sellBuyByPrice:Y}=y,A=d.reduce((x,a,j)=>{var P,_;const l=N(a,1),m=["开多","开空"].includes(l)?"top":"bottom";let k=null;if(Y)k=m==="top"?(a.openPriceAll/a.amount).toFixed(2):(a.closePriceAll/a.amount).toFixed(2);else{const B=ce(T,a.klineTime);k=m==="top"?(P=I[B])==null?void 0:P[3]:(_=I[B])==null?void 0:_[2]}return o.forEach(B=>{(m==="top"?B.range[0]:B.range[1])===a.klineTime&&(B.rangeValue[m==="top"?0:1]=k)}),x.push({symbol:"triangle",symbolSize:[10,12],symbolRotate:m==="top"?180:0,symbolOffset:[0,0],label:{show:!0,position:m,color:"#fff",formatter:`${l} ${m==="top"?"+":"-"} ${a.amount}手 ${a.part?`(${a.part}份)`:""}`},itemStyle:{color:m==="top"?"#FF0000":"#389e0d"},coord:[a.klineTime,k],silent:!0,animation:!1,customData:{tradeType:l,amount:a.amount,part:a.part,profitAndLoss:a.profitAndLoss,openPriceAll:a.openPriceAll,closePriceAll:a.closePriceAll}}),x},[]);return Y?A:Ve(A)},f=(d,o,T)=>{const{basePointData:I,baseLineData:Y}=d.reduce((j,l)=>{const m={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:le(T,l.openTime,o)},k={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:le(T,l.closeTime,o)},P={range:[m.klineTime,k.klineTime],rangeValue:[null,null],color:k.profitAndLoss>0?"#FF0000":"#389e0d"};return j.basePointData.push(m,k),j.baseLineData.push(P),j},{basePointData:[],baseLineData:[]}),x=[...I.reduce((j,l)=>{const m=JSON.parse(JSON.stringify(l)),k=m.klineTime+m.tradeType;if(j.has(k)){const P=j.get(k);m.amount+=P.amount,m.part+=P.part,m.profitAndLoss+=P.profitAndLoss,m.openPriceAll+=P.openPriceAll,m.closePriceAll+=P.closePriceAll}return j.set(k,m),j},new Map([])).values()].sort((j,l)=>new Date(j.klineTime)-new Date(l.klineTime)),a=Y.filter(({range:j})=>j[0]!==j[1]);return{pointData:x,lineData:a}},{pointData:O,lineData:D}=f(t,n,c);return{tradePointData:(i===0?e:u)(O,D,c,M),tradeLineData:D.map(({range:d,rangeValue:o,color:T})=>[{symbol:"none",coord:[d[0],o[0]],lineStyle:{color:T,width:2,type:"solid"},silent:!0,animation:!1},{symbol:"none",coord:[d[1],o[1]],silent:!0,animation:!1}])}},_e=(t,n)=>{let i=[];if(Number(n)<=5)i=t.map(({tradeDate:c,netPositionValue:M})=>[p.dayjs(c).format("YYYY-MM-DD HH:mm:ss"),M]);else if(Number(n)===6){const c=t.reduce((M,y)=>{const{tradeDate:N,netPositionValue:e}=y;return M.set(p.dayjs(N).format("YYYY-MM-DD 09:00:00"),e),M},new Map);i=Array.from(c,([M,y])=>[M,y])}else i=[];return{netPositionLineData:i}},Be=(t,n,i,c)=>{let M=[];if(["6","7","8"].includes(n)){const y=t.reduce((N,e)=>{const u=le(c,e.date,n),f=e[i===0?"simple":"compound"];return N.set(u,f),N},new Map);M=Array.from(y,([N,e])=>[N,e])}else M=[];return{tradeIncomeRateLineData:M}},me="/middleLayer/kline/getKline",$e=15e3,He=64,Ae=new WeakMap,Ze=new Map,Ge=t=>typeof t=="object"&&t!==null||typeof t=="function",ue=t=>t instanceof Date?t.toISOString():Array.isArray(t)?t.map(ue):t&&typeof t=="object"?Object.keys(t).sort().reduce((n,i)=>(t[i]!==void 0&&(n[i]=ue(t[i])),n),{}):t,We=t=>{if(Ge(t)){let n=Ae.get(t);return n||(n=new Map,Ae.set(t,n)),n}return Ze},fe=t=>{for(;t.size>He;){const n=t.keys().next().value;if(n===void 0)break;t.delete(n)}},oe=(t,n,i={})=>{if(!t||typeof t.post!="function")throw new TypeError("[K线] request.post 未配置,无法获取行情数据");const c=Number.isFinite(i.ttlMs)?Math.max(0,i.ttlMs):$e,M=We(t),y=`${me}:${JSON.stringify(ue(n))}`,N=Date.now(),e=M.get(y);if(e&&(e.pending||e.expiresAt>N))return e.promise;e&&M.delete(y);const u={pending:!0,expiresAt:0,promise:null};return u.promise=Promise.resolve().then(()=>t.post(me,n)).then(f=>(M.get(y)===u&&(u.pending=!1,u.expiresAt=Date.now()+c,fe(M)),f),f=>{throw M.get(y)===u&&M.delete(y),f}),M.set(y,u),fe(M),u.promise};const qe={class:"tips"},Ke={__name:"Tips",props:{data:{type:Array,default:()=>[]}},setup(t){return(n,i)=>(r.openBlock(),r.createElementBlock("div",qe,[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(t.data,(c,M)=>(r.openBlock(),r.createElementBlock("span",{key:M,class:"item",style:r.normalizeStyle({color:c.color})},r.toDisplayString(c.label)+" "+r.toDisplayString(c.value),5))),128))]))}},se=Ne._export_sfc(Ke,[["__scopeId","data-v-ab0b040e"]]);const Je={__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(t,{expose:n,emit:i}){const{request:c}=r.inject("stConfig");let M=null,y=!1,N=0;const e=r.ref(null),u=i,f=t,O=r.ref({data:[],mainIndicator:[],subIndicator:[],time:[]}),D=async()=>{const T=++N,I={varietyCode:f.varietyCode,cycle:"6",right:f.varietyStock===1?f.rightType:0,contractType:f.varietyStock?null:f.klineType,startTime:"1999-01-01 00:00:00",endTime:p.dayjs().format("YYYY-MM-DD 23:59:59"),deleteFirstNumber:f.deleteFirstNumber,withoutPermission:f.withoutPermission};if(y)return;const{body:Y}=await oe(c,I);y||T!==N||(Y?O.value=Y:O.value={data:[],mainIndicator:[],subIndicator:[],time:[]},o("init"))},L=W.j(T=>{if(!(T!=null&&T.dataZoomId)||y||!M)return;const I=M.getOption();if(I!=null&&I.dataZoom[0]){const{startValue:Y,endValue:A}=M.getOption().dataZoom[0],{time:x}=O.value,a=`${x[Y].split(" ")[0]} 00:00:00`,j=`${x[A].split(" ")[0]} 23:59:59`;console.log(`检测到拖拽轴被拖动, 时间区间: ${a} - ${j}`),u("change",{startTime:a,endTime:j})}},200),d=W.j(({startTime:T,endTime:I})=>{o("reset",{startTime:T,endTime:I})},100),o=(T,I)=>{if(!(y||!M))switch(T){case"init":{const{data:Y,time:A}=O.value,{xAxisData:x,lineData:a}=Y.reduce((l,m,k)=>(l.xAxisData.push(A[k].split(" ")[0]),l.lineData.push(m[1]),l),{xAxisData:[],lineData:[]}),j={grid:{height:0,left:"100px",right:"80px"},xAxis:{type:"category",data:x,show:!1},yAxis:{type:"value"},dataZoom:[{show:!0,startValue:0,endValue:0,textStyle:{color:"#ccc"}},{type:"inside",startValue:0,endValue:0}],series:[{data:a,type:"line"}]};if(M.setOption(j,!0),f.screenTimeRange.length){const[l,m]=f.screenTimeRange;d({startTime:l,endTime:m})}break}case"reset":{const{time:Y}=O.value,A=p.dayjs(I.startTime).format("YYYY-MM-DD"),x=p.dayjs(I.endTime).format("YYYY-MM-DD");let a=-1,j=-1;for(let l=0;l<Y.length;l++){const m=p.dayjs(Y[l]).format("YYYY-MM-DD");if(a!==-1&&j!==-1)break;a===-1&&(new Date(m)===new Date(A)?a=l:new Date(m)>new Date(A)&&(a=l-1)),j===-1&&(new Date(m)===new Date(x)?j=l:new Date(m)>new Date(x)&&(j=l-1))}j===-1&&(j=Y.length-1),M.dispatchAction({type:"dataZoom",startValue:a,endValue:j});break}}};return r.onMounted(()=>{r.nextTick(()=>{y||(M=ie.init(e.value),M.on("datazoom",L),D())})}),r.watch(()=>f.screenTimeRange,T=>{if(y||!M||T.length<2)return;const[I,Y]=T;d({startTime:I,endTime:Y})},{deep:!0}),r.onUnmounted(()=>{y=!0,N+=1,M==null||M.off("datazoom"),M==null||M.dispose(),M=null}),n({resize:W.j(()=>M==null?void 0:M.resize(),100)}),(T,I)=>(r.openBlock(),r.createElementBlock("div",{class:"chart",ref_key:"sliderChartRef",ref:e},null,512))}},Xe=Ne._export_sfc(Je,[["__scopeId","data-v-4a4659da"]]);const et={class:"main-chart"},tt={class:"indicator"},Mt={key:0,class:"screen-time-range"},at={key:0,class:"sub-chart"},nt={class:"indicator"},it={class:"title"},ot={key:1,class:"slider-chart"},rt={__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},initialVisibleBars:{type:Number,default:0,validator:t=>Number.isInteger(t)&&t>=0&&t<=U.maxValueSpan},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(t,{expose:n}){const{round:i,formatValue:c}=W.x,{request:M}=r.inject("stConfig"),y=r.ref(!1),N=r.ref(!1),e=t;let u=!1,f=!1,O=!1,D=!1,L=null,d=null,o=null,T=!1,I=0;const Y=r.ref(null),A=r.ref(null),x=r.ref(null),a=r.ref({data:[],mainIndicator:[],subIndicator:[],time:[]}),j=r.ref(0),l=r.ref([]),m=r.ref(null),k=r.ref("VOL"),P=r.computed(()=>{const s=a.value.data[j.value];if(!s)return[{label:"开",value:"-"},{label:"高",value:"-"},{label:"低",value:"-"},{label:"收",value:"-"},{label:"额",value:"-"},{label:"涨跌",value:"-"}];const z=[{label:"开",value:s[0]},{label:"高",value:s[3]},{label:"低",value:s[2]},{label:"收",value:s[1]}];s[4]!==null&&z.push({label:"额",value:c(s[4])});let g;return s[6]>0?g="red":s[6]<0&&(g="green"),z.push({label:"涨跌",value:`${i(s[6])}%`,color:g}),z}),_=r.computed(()=>{var s,z;return((z=(s=a.value)==null?void 0:s.mainIndicator)==null?void 0:z.map(g=>({label:g.key,value:i(g.data[j.value]),color:g.color})))||[]}),B=r.computed(()=>{var s,z;return((z=(s=a.value)==null?void 0:s.subIndicator)==null?void 0:z.map(g=>({label:g.key,color:g.color,value:g.data[j.value]||"-"})))||[]}),X=()=>{if(!Y.value)return console.warn("[K线] 主图DOM元素不存在,取消初始化"),!1;if(o)return!0;try{return o=ie.init(Y.value),o.on("highlight",W.j(s=>{var z;s.dataIndex?j.value=s.dataIndex:j.value=((z=s.batch)==null?void 0:z[0].dataIndex)??-1},10)),o.on("datazoom",W.j(async()=>{var h;const{loadCheckCount:s}=U,{startValue:z,endValue:g}=((h=o.getOption())==null?void 0:h.dataZoom[0])??{};O===!1&&D===!1&&z<s&&await je("history"),u===!1&&f===!1&&g>a.value.time.length-s&&await je("new"),ze(),ye()})),o.on("globalout",()=>{if(o){const s=o.getOption();j.value=s.dataZoom[0].endValue}}),o.getZr().on("contextmenu",()=>{var s;m.value=(s=a.value)==null?void 0:s.time[j.value]}),window.addEventListener("keydown",de),e.userKlineConfig.enable_subChart&&A.value&&(d=ie.init(A.value),ie.connect([o,d])),Y.value&&(L=W.D(Y.value),L.listen(()=>{requestAnimationFrame(()=>{var s;o==null||o.resize(),d==null||d.resize(),(s=x.value)==null||s.resize()})})),!0}catch(s){return console.error("[st-klinePlus]: 初始化异常:",s),!1}},ee=async({startTime:s,endTime:z})=>{const g=++I;O=!1,D=!1,u=!1,f=!1;try{if(T)return;y.value=!0;const h={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:k.value,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission},w=ve(e.cycle,e.initialVisibleBars);Object.assign(h,{startTime:p.dayjs(s).subtract(w.amount,w.unit).format("YYYY-MM-DD HH:mm:ss"),endTime:p.dayjs(z).add(w.amount,w.unit).format("YYYY-MM-DD HH:mm:ss")});const{body:b}=await oe(M,h);if(T||g!==I)return;if(a.value=b??{data:[],mainIndicator:[],subIndicator:[],time:[]},!a.value.time.length){te({startValue:0,endValue:0});return}te(Pe({time:a.value.time,startTime:s,endTime:z,initialVisibleBars:e.initialVisibleBars}))}finally{g===I&&(y.value=!1)}},je=async s=>{var K,Z;const z=I,{loadAddCount:g}=U;switch(s){case"history":{O=!0;const V={varietyCode:e.varietyCode,cycle:e.cycle,right:e.varietyStock===1?e.rightType:0,contractType:e.varietyStock?null:e.klineType,endTime:a.value.time[0],limit:g,mainIndicatorList:e.indicatorStore.getIndicatorParams(e.mainIndicator),subIndicator:k.value,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission},{body:R}=await oe(M,V);if(T||z!==I){O=!1;return}a.value=Le(R,a.value),R.data.length<g&&(console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭"),D=!0),O=!1;break}case"new":{u=!0;const V={varietyCode:e.varietyCode,cycle:e.cycle,right:e.varietyStock===1?e.rightType:0,contractType:e.varietyStock?null:e.klineType,startTime:a.value.time[a.value.time.length-1],limit:g,mainIndicatorList:e.indicatorStore.getIndicatorParams(e.mainIndicator),subIndicator:k.value,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission},{body:R}=await oe(M,V);if(T||z!==I){u=!1;return}a.value=Le(a.value,R),R.data.length<g&&(console.log("[K线] 获取更多数据: 右侧已全部获取完毕, 关闭"),f=!0),u=!1;break}}const{startValue:h,endValue:w}=((K=o.getOption())==null?void 0:K.dataZoom[0])??{},b=(Z=o.getOption())==null?void 0:Z.xAxis[0].data,E=a.value.time.findIndex(V=>new Date(V)>=new Date(b[h])),F=a.value.time.findIndex(V=>new Date(V)>=new Date(b[w]));te({startValue:E===-1?0:E,endValue:F===-1?a.value.time.length-1:F})},ze=()=>{var b;if(!a.value.time.length)return l.value=[];const{time:s}=a.value,{startValue:z,endValue:g}=((b=o.getOption())==null?void 0:b.dataZoom[0])??{},h=s[z],w=s[g];["6","7","8"].includes(e.cycle)?l.value=[p.dayjs(h).format("YYYY-MM-DD"),p.dayjs(w).format("YYYY-MM-DD")]:l.value=[h,w]},te=(s={startValue:0,endValue:0})=>{if(!X()||!o)return console.warn("[st-klinePlus]: 图表未准备就绪, 跳过绘制");if(!a.value.time.length)return console.warn("[st-klinePlus]: 图表无数据, 跳过绘制");const{maxValueSpan:g}=U,{time:h,data:w,mainIndicator:b}=a.value,E=s.endValue-s.startValue>g?s.endValue-g:s.startValue,F=s.endValue,K=b.map(C=>({name:C.key,type:"line",silent:!0,symbol:"none",data:C.data,lineStyle:{width:C.width||1},itemStyle:{color:C.color}})),{netPositionLineData:Z}=_e(e.netPositionData,e.cycle),{tradeIncomeRateLineData:V}=Be(e.tradeIncomeRateData,e.cycle,e.incomeType,h),{tradePointData:R,tradeLineData:$}=Ue(e.tradeLog,e.cycle,e.sellBuy,h,w,e.userKlineConfig);o.setOption({animation:!1,grid:{top:"40px",left:"60px",right:"20px",bottom:"20px"},dataZoom:[{type:"inside",startValue:E,endValue:F,minValueSpan:U.minValueSpan,maxValueSpan:U.maxValueSpan}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:C=>{const{axisDimension:S,value:v}=C;return S==="x"?["6","7","8"].includes(e.cycle)?p.dayjs(v).format("YYYY-MM-DD"):v:String(i(v))}}},formatter:C=>{if(!(C!=null&&C.length))return null;let S="";if(C.forEach(Q=>{if(Q.seriesName==="netPosition"&&Q.data!==null&&(S+=`<div>资产持仓净值: ${Q.data[1]}</div>`),Q.componentSubType==="candlestick")if(e.sellBuy===0){const J=R.filter(H=>(H==null?void 0:H.coord[0])===Q.axisValue);let q=0,G=0;J.forEach(H=>{const{tradeType:Me,amount:ne}=H.customData;Me==="买"&&(q+=ne),Me==="卖"&&(G+=ne)}),q&&(S+=`<div>买: ${q}</div>`),G&&(S+=`<div>卖: ${G}</div>`)}else R.forEach(J=>{if((J==null?void 0:J.coord[0])===Q.axisValue){const{tradeType:q,amount:G,profitAndLoss:H,openPriceAll:Me,closePriceAll:ne}=J.customData;let ae=`<div>${q}: ${G}手</div>`;if(q.includes("开")&&(ae+=`<div>开仓价: ${(Me/G).toFixed(2)}</div>`),q.includes("平")){const ge=(Me/G).toFixed(2),Te=(ne/G).toFixed(2);ae+=`<div>平仓价: ${Te}</div>`,ae+=`<div>盈亏: ${H==null?void 0:H.toFixed(2)}</div>`,ae+=`<div>盈亏比率: ${((Te-ge)/ge*100).toFixed(2)} %</div>`}S+=ae}})}),!S)return null;let v=C[0].axisValue;return["6","7","8"].includes(e.cycle)&&(v=p.dayjs(v).format("YYYY-MM-DD")),`
|
|
2
2
|
<div>
|
|
3
3
|
<span style="font-weight: bold;">${v}</span>
|
|
4
4
|
${S}
|
|
5
5
|
</div>
|
|
6
|
-
`}},xAxis:{show:!0,type:"category",data:h,splitLine:{show:!1},axisLabel:{formatter:C=>["6","7","8"].includes(e.cycle)?p.dayjs(C).format("YYYY-MM-DD"):C}},yAxis:[{type:"value",axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}},min:C=>{const{min:S,max:v}=C,Q=Math.abs((v-S)/10);return i(S-Q)},max:C=>{const{min:S,max:v}=C,Q=Math.abs((v-S)/10);return i(v+Q)}},{show:!1,min:C=>{const{min:S,max:v}=C,Q=Math.abs((v-S)/10);return S-Q},max:C=>{const{min:S,max:v}=C,Q=Math.abs((v-S)/10);return v+Q}}],series:[{type:"candlestick",name:"kLine",data:w,markPoint:{data:[...R]},markLine:{data:[...$]},itemStyle:{color:"transparent",color0:"#00FFFF",borderColor:"#FF0000",borderColor0:"#00FFFF",borderWidth:1}},{type:"line",name:"netPosition",data:Z,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}},...K],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&&d.setOption(Fe(a.value,E,F),!0),ze(),ye(),j.value=F;{const C=[];if(e.userKlineConfig.enable_tradeLogBrush&&R.length){const[S,v]=[R[0].coord[0],R.at(-1).coord[0]],Q=re(h,[S,v],e.cycle);C.push({brushId:"开平仓范围",brushType:"lineX",xAxisIndex:0,coordRange:Q})}if(e.syncBrushRange.cycleList.includes(e.cycle)){const{startTime:S,endTime:v}=e.syncBrushRange,Q=re(h,[S,v],e.cycle);C.push({brushId:"同步刷选范围",brushType:"lineX",xAxisIndex:0,coordRange:Q,brushStyle:{fill:"rgba(64, 158, 255, 0.2)",stroke:"rgba(64, 158, 255, 0.8)",lineWidth:1}})}if(e.positionTime){const[S,v]=[p.dayjs(e.positionTime).format("YYYY-MM-DD 00:00:00"),p.dayjs(e.positionTime).format("YYYY-MM-DD 23:59:59")],Q=re(h,[S,v],e.cycle);C.push({brushId:"强制定位高亮",brushType:"lineX",xAxisIndex:0,coordRange:Q,brushStyle:{fill:"rgba(217, 179, 255, 0.2)",stroke:"rgba(217, 179, 255, 0.8)",lineWidth:1}})}o.dispatchAction({type:"brush",areas:C})}},ye=()=>{var R;if(!e.userKlineConfig.enable_showScreenMaxPrice||!a.value.time.length)return;const{data:s}=a.value,z=o.getOption(),{startValue:g,endValue:h}=(z==null?void 0:z.dataZoom[0])??{};let w=0,b=g;for(let $=g;$<=h;$++)Number(s[$][3])>=w&&(w=Number(s[$][3]),b=$);const E=((R=z.series)==null?void 0:R.filter($=>$.name!=="maxPrice"))||[],F=h-g,K=(b-g)/F;let Z="right",V=`←${w}`;K>.7?(Z="left",V=`${i(w)}→`):(Z="right",V=`←${i(w)}`),o==null||o.setOption({series:[...E,{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:Z,formatter:V,color:"#fff",fontSize:12,padding:[4,-4]},data:[{name:"最高点",coord:[b,w]}]}}]},{notMerge:!1,replaceMerge:[]})},we=s=>{const[z,g]=Ye({startTime:s.startTime,endTime:s.endTime,cycle:e.cycle});ee({startTime:z,endTime:g})},de=({code:s,ctrlKey:z})=>{if(!o||!(z||N.value))return;const{xAxis:g,dataZoom:h}=o.getOption(),{data:w}=(g==null?void 0:g[0])??{data:[]};let{startValue:b,endValue:E}=(h==null?void 0:h[0])??{};if(w!=null&&w.length){switch(s){case"ArrowUp":{if(E-b<5)return;const F=Math.floor((E-b)/2)+1;b=b+F,E-b<5&&(b=E-4);break}case"ArrowDown":{const F=Math.min(500,E-b);b=b-F-1;break}case"ArrowLeft":{b>0&&(b-=1,E-=1),j.value>0&&(j.value-=1);break}case"ArrowRight":{E<w.length-1&&(b+=1,E+=1),N.value&&j.value<w.length-1&&(j.value+=1);break}}o.dispatchAction({type:"dataZoom",startValue:b,endValue:E}),o.dispatchAction({type:"updateAxisPointer",seriesIndex:0,dataIndex:N.value?j.value:null}),o.dispatchAction({type:"highlight",dataIndex:N.value?j.value:E})}};return r.onMounted(()=>{const[s,z]=e.initTimeRange;ee({startTime:s,endTime:z})}),r.watch(()=>[e.varietyCode,e.initTimeRange],()=>{const[s,z]=e.initTimeRange;ee({startTime:s,endTime:z})},{deep:!0}),r.watch(()=>[e.cycle],()=>{var w;const{startValue:s,endValue:z}=((w=o.getOption())==null?void 0:w.dataZoom[0])??{},[g,h]=Ye({startTime:a.value.time[s],endTime:a.value.time[z],cycle:e.cycle,type:"middle"});ee({startTime:g,endTime:h})},{deep:!0}),r.watch(()=>{var s,z;return[e.mainIndicator,k.value,(s=e.indicatorStore)==null?void 0:s.filterIndicator,(z=e.indicatorStore)==null?void 0:z.customIndicator,e.rightType,e.klineType]},()=>{var w;const{startValue:s,endValue:z}=((w=o.getOption())==null?void 0:w.dataZoom[0])??{},[g,h]=[a.value.time[s],a.value.time[z]];ee({startTime:g,endTime:h})},{deep:!0}),r.watch(()=>[e.sellBuy,e.tradeLog,e.netPositionData,e.incomeType,e.tradeIncomeRateData],()=>{var g;const{startValue:s,endValue:z}=((g=o.getOption())==null?void 0:g.dataZoom[0])??{};te({startValue:s,endValue:z})},{deep:!0}),r.onUnmounted(()=>{var s;T=!0,I+=1,o==null||o.off("highlight"),o==null||o.off("globalout"),o==null||o.off("datazoom"),(s=o==null?void 0:o.getZr())==null||s.off("contextmenu"),window.removeEventListener("keydown",de),o==null||o.dispose(),d==null||d.dispose(),L==null||L.dispose(),L=null}),n({screenTimeRange:l,contextmenuKlineTime:m,reDraw:()=>{var g;const{startValue:s,endValue:z}=((g=o.getOption())==null?void 0:g.dataZoom[0])??{};te({startValue:s,endValue:z})}}),(s,z)=>{const g=De.ElOption,h=De.ElSelect,w=
|
|
6
|
+
`}},xAxis:{show:!0,type:"category",data:h,splitLine:{show:!1},axisLabel:{formatter:C=>["6","7","8"].includes(e.cycle)?p.dayjs(C).format("YYYY-MM-DD"):C}},yAxis:[{type:"value",axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}},min:C=>{const{min:S,max:v}=C,Q=Math.abs((v-S)/10);return i(S-Q)},max:C=>{const{min:S,max:v}=C,Q=Math.abs((v-S)/10);return i(v+Q)}},{show:!1,min:C=>{const{min:S,max:v}=C,Q=Math.abs((v-S)/10);return S-Q},max:C=>{const{min:S,max:v}=C,Q=Math.abs((v-S)/10);return v+Q}}],series:[{type:"candlestick",name:"kLine",data:w,markPoint:{data:[...R]},markLine:{data:[...$]},itemStyle:{color:"transparent",color0:"#00FFFF",borderColor:"#FF0000",borderColor0:"#00FFFF",borderWidth:1}},{type:"line",name:"netPosition",data:Z,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}},...K],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&&d.setOption(Fe(a.value,E,F),!0),ze(),ye(),j.value=F;{const C=[];if(e.userKlineConfig.enable_tradeLogBrush&&R.length){const[S,v]=[R[0].coord[0],R.at(-1).coord[0]],Q=re(h,[S,v],e.cycle);C.push({brushId:"开平仓范围",brushType:"lineX",xAxisIndex:0,coordRange:Q})}if(e.syncBrushRange.cycleList.includes(e.cycle)){const{startTime:S,endTime:v}=e.syncBrushRange,Q=re(h,[S,v],e.cycle);C.push({brushId:"同步刷选范围",brushType:"lineX",xAxisIndex:0,coordRange:Q,brushStyle:{fill:"rgba(64, 158, 255, 0.2)",stroke:"rgba(64, 158, 255, 0.8)",lineWidth:1}})}if(e.positionTime){const[S,v]=[p.dayjs(e.positionTime).format("YYYY-MM-DD 00:00:00"),p.dayjs(e.positionTime).format("YYYY-MM-DD 23:59:59")],Q=re(h,[S,v],e.cycle);C.push({brushId:"强制定位高亮",brushType:"lineX",xAxisIndex:0,coordRange:Q,brushStyle:{fill:"rgba(217, 179, 255, 0.2)",stroke:"rgba(217, 179, 255, 0.8)",lineWidth:1}})}o.dispatchAction({type:"brush",areas:C})}},ye=()=>{var R;if(!e.userKlineConfig.enable_showScreenMaxPrice||!a.value.time.length)return;const{data:s}=a.value,z=o.getOption(),{startValue:g,endValue:h}=(z==null?void 0:z.dataZoom[0])??{};let w=0,b=g;for(let $=g;$<=h;$++)Number(s[$][3])>=w&&(w=Number(s[$][3]),b=$);const E=((R=z.series)==null?void 0:R.filter($=>$.name!=="maxPrice"))||[],F=h-g,K=(b-g)/F;let Z="right",V=`←${w}`;K>.7?(Z="left",V=`${i(w)}→`):(Z="right",V=`←${i(w)}`),o==null||o.setOption({series:[...E,{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:Z,formatter:V,color:"#fff",fontSize:12,padding:[4,-4]},data:[{name:"最高点",coord:[b,w]}]}}]},{notMerge:!1,replaceMerge:[]})},we=s=>{const[z,g]=Ye({startTime:s.startTime,endTime:s.endTime,cycle:e.cycle});ee({startTime:z,endTime:g})},de=({code:s,ctrlKey:z})=>{if(!o||!(z||N.value))return;const{xAxis:g,dataZoom:h}=o.getOption(),{data:w}=(g==null?void 0:g[0])??{data:[]};let{startValue:b,endValue:E}=(h==null?void 0:h[0])??{};if(w!=null&&w.length){switch(s){case"ArrowUp":{if(E-b<5)return;const F=Math.floor((E-b)/2)+1;b=b+F,E-b<5&&(b=E-4);break}case"ArrowDown":{const F=Math.min(500,E-b);b=b-F-1;break}case"ArrowLeft":{b>0&&(b-=1,E-=1),j.value>0&&(j.value-=1);break}case"ArrowRight":{E<w.length-1&&(b+=1,E+=1),N.value&&j.value<w.length-1&&(j.value+=1);break}}o.dispatchAction({type:"dataZoom",startValue:b,endValue:E}),o.dispatchAction({type:"updateAxisPointer",seriesIndex:0,dataIndex:N.value?j.value:null}),o.dispatchAction({type:"highlight",dataIndex:N.value?j.value:E})}};return r.onMounted(()=>{const[s,z]=e.initTimeRange;ee({startTime:s,endTime:z})}),r.watch(()=>[e.varietyCode,e.initTimeRange],()=>{const[s,z]=e.initTimeRange;ee({startTime:s,endTime:z})},{deep:!0}),r.watch(()=>[e.cycle],()=>{var w;const{startValue:s,endValue:z}=((w=o.getOption())==null?void 0:w.dataZoom[0])??{},[g,h]=Ye({startTime:a.value.time[s],endTime:a.value.time[z],cycle:e.cycle,type:"middle"});ee({startTime:g,endTime:h})},{deep:!0}),r.watch(()=>{var s,z;return[e.mainIndicator,k.value,(s=e.indicatorStore)==null?void 0:s.filterIndicator,(z=e.indicatorStore)==null?void 0:z.customIndicator,e.rightType,e.klineType]},()=>{var w;const{startValue:s,endValue:z}=((w=o.getOption())==null?void 0:w.dataZoom[0])??{},[g,h]=[a.value.time[s],a.value.time[z]];ee({startTime:g,endTime:h})},{deep:!0}),r.watch(()=>[e.sellBuy,e.tradeLog,e.netPositionData,e.incomeType,e.tradeIncomeRateData],()=>{var g;const{startValue:s,endValue:z}=((g=o.getOption())==null?void 0:g.dataZoom[0])??{};te({startValue:s,endValue:z})},{deep:!0}),r.onUnmounted(()=>{var s;T=!0,I+=1,o==null||o.off("highlight"),o==null||o.off("globalout"),o==null||o.off("datazoom"),(s=o==null?void 0:o.getZr())==null||s.off("contextmenu"),window.removeEventListener("keydown",de),o==null||o.dispose(),d==null||d.dispose(),L==null||L.dispose(),L=null}),n({screenTimeRange:l,contextmenuKlineTime:m,reDraw:()=>{var g;const{startValue:s,endValue:z}=((g=o.getOption())==null?void 0:g.dataZoom[0])??{};te({startValue:s,endValue:z})}}),(s,z)=>{const g=De.ElOption,h=De.ElSelect,w=xe.ElEmpty,b=Oe.vLoading;return r.withDirectives((r.openBlock(),r.createElementBlock("div",{class:"kline-plus",onMousemove:z[1]||(z[1]=E=>N.value=!0),onMouseout:z[2]||(z[2]=E=>N.value=!1)},[r.createElementVNode("div",et,[r.createElementVNode("div",tt,[r.createVNode(se,{data:P.value},null,8,["data"]),r.createVNode(se,{data:_.value},null,8,["data"])]),t.userKlineConfig.enable_showScreenTimeRange?(r.openBlock(),r.createElementBlock("span",Mt,r.toDisplayString(l.value[0])+" - "+r.toDisplayString(l.value[1]),1)):r.createCommentVNode("",!0),r.createElementVNode("div",{ref_key:"mainChartRef",ref:Y,class:"chart"},null,512)]),t.userKlineConfig.enable_subChart?(r.openBlock(),r.createElementBlock("div",at,[r.createElementVNode("div",nt,[r.createElementVNode("div",it,[r.createElementVNode("span",null,r.toDisplayString(k.value),1),r.createVNode(h,{modelValue:k.value,"onUpdate:modelValue":z[0]||(z[0]=E=>k.value=E),style:{width:"100px","margin-right":"4px",height:"25px"},size:"small",class:"element-dark","popper-class":"element-dark"},{default:r.withCtx(()=>[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(t.indicatorStore.subIndicatorList,(E,F)=>(r.openBlock(),r.createBlock(g,{key:F,label:E.label,value:E.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),r.createVNode(se,{data:B.value},null,8,["data"])]),r.createElementVNode("div",{ref_key:"subChartRef",ref:A,class:"chart"},null,512)])):r.createCommentVNode("",!0),t.userKlineConfig.enable_sliderChart?(r.openBlock(),r.createElementBlock("div",ot,[r.createVNode(Xe,{ref_key:"sliderChartRef",ref:x,screenTimeRange:l.value,varietyCode:t.varietyCode,varietyStock:t.varietyStock,rightType:t.rightType,klineType:t.klineType,deleteFirstNumber:e.deleteFirstNumber,withoutPermission:e.withoutPermission,onChange:we},null,8,["screenTimeRange","varietyCode","varietyStock","rightType","klineType","deleteFirstNumber","withoutPermission"])])):r.createCommentVNode("",!0),a.value.time.length?r.createCommentVNode("",!0):(r.openBlock(),r.createBlock(w,{key:2,class:"empty",description:"暂无数据"}))],32)),[[b,y.value]])}}},st=Ne._export_sfc(rt,[["__scopeId","data-v-b551c038"]]),ct={install(t){t.component("st-klinePlus",st)}};module.exports=ct;
|
package/es/KlinePlus.js
CHANGED
|
@@ -1,28 +1,27 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import "./
|
|
5
|
-
import
|
|
6
|
-
import "./el-
|
|
7
|
-
import "./el-
|
|
1
|
+
import { E as Ve, a as _e } from "./el-select-a573c78b.js";
|
|
2
|
+
import { E as $e } from "./el-empty-552baf04.js";
|
|
3
|
+
import { v as He } from "./el-loading-9d3e405c.js";
|
|
4
|
+
import { d as f } from "./base-dd156b8e.js";
|
|
5
|
+
import "./el-scrollbar-0a42c1d0.js";
|
|
6
|
+
import "./el-popper-0454c8e8.js";
|
|
7
|
+
import "./el-tag-2d8a3fe7.js";
|
|
8
8
|
import { openBlock as H, createElementBlock as G, Fragment as Ee, renderList as ve, normalizeStyle as Ze, toDisplayString as se, inject as Se, ref as V, onMounted as Qe, nextTick as Be, watch as re, onUnmounted as Pe, computed as ze, withDirectives as Ge, createElementVNode as q, createVNode as oe, createCommentVNode as Ne, withCtx as We, createBlock as we } from "vue";
|
|
9
|
-
import { d as f } from "./dayjs.min-8313b006.js";
|
|
10
9
|
import * as ue from "echarts";
|
|
11
10
|
import { x as Re, j as ce, D as Ke } from "./index-53cc4e43.js";
|
|
12
11
|
import { _ as Ie } from "./_plugin-vue_export-helper-dad06003.js";
|
|
13
|
-
import "./
|
|
14
|
-
import "./
|
|
15
|
-
import "./index-
|
|
16
|
-
import "./
|
|
17
|
-
import "./index-
|
|
18
|
-
import "./
|
|
19
|
-
import "./index-
|
|
20
|
-
import "./index-
|
|
21
|
-
import "./
|
|
22
|
-
import "./index-
|
|
23
|
-
import "./
|
|
24
|
-
import "./
|
|
25
|
-
import "./
|
|
12
|
+
import "./index-a181f161.js";
|
|
13
|
+
import "./castArray-18eb6a41.js";
|
|
14
|
+
import "./index-9573f74b.js";
|
|
15
|
+
import "./use-form-item-784142b4.js";
|
|
16
|
+
import "./index-6a52dc7c.js";
|
|
17
|
+
import "./vnode-8ee9bf4e.js";
|
|
18
|
+
import "./index-d9379af4.js";
|
|
19
|
+
import "./index-c09fc6f5.js";
|
|
20
|
+
import "./scroll-70271cb1.js";
|
|
21
|
+
import "./index-dddacf80.js";
|
|
22
|
+
import "./toNumber-f077c66a.js";
|
|
23
|
+
import "./clamp-c7512966.js";
|
|
24
|
+
import "./use-global-config-9a4ccf33.js";
|
|
26
25
|
const Je = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=", qe = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+", Xe = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", { round: et } = Re, U = {
|
|
27
26
|
// 单屏展示条目上限
|
|
28
27
|
minValueSpan: 5,
|
|
@@ -1412,7 +1411,7 @@ const Dt = { class: "main-chart" }, It = { class: "indicator" }, Yt = {
|
|
|
1412
1411
|
ie({ startValue: o, endValue: j });
|
|
1413
1412
|
}
|
|
1414
1413
|
}), (o, j) => {
|
|
1415
|
-
const d =
|
|
1414
|
+
const d = Ve, O = _e, p = $e, h = He;
|
|
1416
1415
|
return Ge((H(), G("div", {
|
|
1417
1416
|
class: "kline-plus",
|
|
1418
1417
|
onMousemove: j[1] || (j[1] = (k) => N.value = !0),
|
|
@@ -1484,11 +1483,11 @@ const Dt = { class: "main-chart" }, It = { class: "indicator" }, Yt = {
|
|
|
1484
1483
|
]);
|
|
1485
1484
|
};
|
|
1486
1485
|
}
|
|
1487
|
-
}, wt = /* @__PURE__ */ Ie(pt, [["__scopeId", "data-v-b551c038"]]),
|
|
1486
|
+
}, wt = /* @__PURE__ */ Ie(pt, [["__scopeId", "data-v-b551c038"]]), Jt = {
|
|
1488
1487
|
install(t) {
|
|
1489
1488
|
t.component("st-klinePlus", wt);
|
|
1490
1489
|
}
|
|
1491
1490
|
};
|
|
1492
1491
|
export {
|
|
1493
|
-
|
|
1492
|
+
Jt as default
|
|
1494
1493
|
};
|
package/es/MonacoEditor.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const r=require("./index-
|
|
1
|
+
"use strict";const r=require("./index-4614e8e9.cjs");require("./index-5cada1ed.cjs");require("vue");require("./base-d987e5c9.cjs");require("./el-popper-acd0ff35.cjs");require("./index-d372e68f.cjs");require("./use-form-item-76516e50.cjs");require("./el-input-7fe53030.cjs");require("./raf-735cc598.cjs");require("./index-11181b5f.cjs");require("./typescript-b63f8e83.cjs");require("./el-button-fac5e058.cjs");require("./index-f5474dcc.cjs");require("./use-global-config-7ff9a1c2.cjs");require("./index-6a36e1fc.cjs");require("./index-71ba4c28.cjs");require("./el-select-c317294a.cjs");require("./castArray-d9ffe84a.cjs");require("./vnode-6f7b84f0.cjs");require("./index-beb5cb7d.cjs");require("./el-scrollbar-225c6c9e.cjs");require("./index-21a3dc89.cjs");require("./scroll-07bade1e.cjs");require("./el-tag-dca1292c.cjs");require("./toNumber-b47ceb68.cjs");require("./clamp-17c4d8aa.cjs");require("./index-ceae4c47.cjs");require("./config-provider-bb61bd3e.cjs");require("./el-tooltip-0ea8fbf8.cjs");require("./index-94131fd7.cjs");require("./VarietySelect-d2d25a3d.cjs");require("./el-autocomplete-13b9e372.cjs");require("./_plugin-vue_export-helper-f246444f.cjs");require("./el-message-0ea8fbf8.cjs");const i={install(e){e.component("st-monacoEditor",r.MonacoEditor)}};module.exports=i;
|
package/es/MonacoEditor.js
CHANGED
|
@@ -1,41 +1,42 @@
|
|
|
1
|
-
import { M as t } from "./index-
|
|
2
|
-
import "./
|
|
1
|
+
import { M as t } from "./index-ab0ad219.js";
|
|
2
|
+
import "./index-6a52dc7c.js";
|
|
3
3
|
import "vue";
|
|
4
|
-
import "./
|
|
5
|
-
import "./
|
|
6
|
-
import "./index-
|
|
7
|
-
import "./use-
|
|
8
|
-
import "./
|
|
9
|
-
import "./
|
|
10
|
-
import "./index-
|
|
11
|
-
import "./index-8c2d7e05.js";
|
|
12
|
-
import "./index-657047bb.js";
|
|
13
|
-
import "./el-tag-66c83156.js";
|
|
14
|
-
import "./el-popper-fbd0dcea.js";
|
|
15
|
-
import "./el-select-44fa547d.js";
|
|
16
|
-
import "./index-c5f2d372.js";
|
|
17
|
-
import "./el-scrollbar-323542e7.js";
|
|
18
|
-
import "./index-1e2a38ab.js";
|
|
19
|
-
import "./castArray-7741a212.js";
|
|
20
|
-
import "./index-f034b910.js";
|
|
21
|
-
import "./scroll-679bd6bf.js";
|
|
22
|
-
import "./debounce-8d53f4dd.js";
|
|
23
|
-
import "./vnode-5ddb7ed1.js";
|
|
24
|
-
import "./el-input-342b2def.js";
|
|
4
|
+
import "./base-dd156b8e.js";
|
|
5
|
+
import "./el-popper-0454c8e8.js";
|
|
6
|
+
import "./index-a181f161.js";
|
|
7
|
+
import "./use-form-item-784142b4.js";
|
|
8
|
+
import "./el-input-d23f5442.js";
|
|
9
|
+
import "./raf-b4fd1e12.js";
|
|
10
|
+
import "./index-dddacf80.js";
|
|
25
11
|
import "./typescript-7ae59c4c.js";
|
|
12
|
+
import "./el-button-ee9fe159.js";
|
|
13
|
+
import "./index-de9ad85c.js";
|
|
14
|
+
import "./use-global-config-9a4ccf33.js";
|
|
15
|
+
import "./index-9573f74b.js";
|
|
16
|
+
import "./index-3806160e.js";
|
|
17
|
+
import "./el-select-a573c78b.js";
|
|
18
|
+
import "./castArray-18eb6a41.js";
|
|
19
|
+
import "./vnode-8ee9bf4e.js";
|
|
20
|
+
import "./index-d9379af4.js";
|
|
21
|
+
import "./el-scrollbar-0a42c1d0.js";
|
|
22
|
+
import "./index-c09fc6f5.js";
|
|
23
|
+
import "./scroll-70271cb1.js";
|
|
24
|
+
import "./el-tag-2d8a3fe7.js";
|
|
25
|
+
import "./toNumber-f077c66a.js";
|
|
26
|
+
import "./clamp-c7512966.js";
|
|
27
|
+
import "./index-e2e58ea9.js";
|
|
28
|
+
import "./config-provider-06d8207f.js";
|
|
26
29
|
import "./el-tooltip-4ed993c7.js";
|
|
27
30
|
import "./index-53cc4e43.js";
|
|
28
|
-
import "./VarietySelect-
|
|
29
|
-
import "./el-autocomplete-
|
|
31
|
+
import "./VarietySelect-3fc0f0ce.js";
|
|
32
|
+
import "./el-autocomplete-419bfbcf.js";
|
|
30
33
|
import "./_plugin-vue_export-helper-dad06003.js";
|
|
31
34
|
import "./el-message-4ed993c7.js";
|
|
32
|
-
|
|
33
|
-
import "./config-provider-88b637a8.js";
|
|
34
|
-
const I = {
|
|
35
|
+
const J = {
|
|
35
36
|
install(o) {
|
|
36
37
|
o.component("st-monacoEditor", t);
|
|
37
38
|
}
|
|
38
39
|
};
|
|
39
40
|
export {
|
|
40
|
-
|
|
41
|
+
J as default
|
|
41
42
|
};
|