st-comp 0.0.201 → 0.0.202

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/es/KlinePlus.js CHANGED
@@ -1,15 +1,15 @@
1
1
  import "./base-a5af3db3.js";
2
- import { v as be } from "./el-loading-f6022062.js";
2
+ import { v as he } from "./el-loading-f6022062.js";
3
3
  import { E as ke } from "./el-empty-33cb66f1.js";
4
4
  import "./el-tag-66cab138.js";
5
5
  import { E as ve, a as Ee } from "./el-select-95627997.js";
6
6
  import "./el-scrollbar-323542e7.js";
7
7
  import "./el-popper-b4f97157.js";
8
- import { openBlock as U, createElementBlock as H, Fragment as Ae, renderList as we, normalizeStyle as Se, toDisplayString as Me, inject as pe, ref as F, onMounted as xe, nextTick as Qe, watch as te, onUnmounted as fe, computed as ce, withDirectives as Pe, createElementVNode as $, createVNode as ee, createCommentVNode as se, withCtx as Re, createBlock as Ye } from "vue";
9
- import { d as I } from "./dayjs.min-8313b006.js";
8
+ import { openBlock as _, createElementBlock as Z, Fragment as pe, renderList as we, normalizeStyle as Se, toDisplayString as ie, inject as fe, ref as V, onMounted as xe, nextTick as Qe, watch as ae, onUnmounted as Oe, computed as ce, withDirectives as Pe, createElementVNode as W, createVNode as Me, createCommentVNode as le, withCtx as Re, createBlock as Le } from "vue";
9
+ import { d as Y } from "./dayjs.min-8313b006.js";
10
10
  import * as Ne from "echarts";
11
- import { x as Oe, G as ae, D as Fe } from "./index-7ed0999e.js";
12
- import { _ as ze } from "./_plugin-vue_export-helper-dad06003.js";
11
+ import { x as Ce, G as ne, D as Fe } from "./index-7ed0999e.js";
12
+ import { _ as de } from "./_plugin-vue_export-helper-dad06003.js";
13
13
  import "./use-global-config-b5e9d3d5.js";
14
14
  import "./use-form-common-props-815d48a6.js";
15
15
  import "./index-960806da.js";
@@ -23,7 +23,7 @@ import "./index-d91dc23f.js";
23
23
  import "./scroll-679bd6bf.js";
24
24
  import "./debounce-8d53f4dd.js";
25
25
  import "./vnode-5ddb7ed1.js";
26
- const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=", Ve = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+", He = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", { round: _e } = Oe, W = {
26
+ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=", Ve = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+", He = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", { round: _e } = Ce, J = {
27
27
  // 单屏展示条目上限
28
28
  minValueSpan: 5,
29
29
  maxValueSpan: 2e3,
@@ -31,7 +31,7 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
31
31
  loadCheckCount: 500,
32
32
  // 加载更多: 载入条目
33
33
  loadAddCount: 2e3
34
- }, Ze = {
34
+ }, Be = {
35
35
  1: 240,
36
36
  // 每天240根(4小时×60分钟)
37
37
  2: 48,
@@ -48,35 +48,35 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
48
48
  // 每周1根(按5个交易日算)
49
49
  8: 0.033
50
50
  // 每月1根(按21个交易日算)
51
- }, Le = ({ startTime: n, endTime: y, cycle: u, type: d = "end" }) => {
52
- const { maxValueSpan: j } = W, w = Math.ceil((j + 1e3) / Ze[u]), Y = I(n);
53
- if (I(y).diff(Y, "day") <= w)
54
- return [n, y];
55
- if (d === "end")
56
- return [I(y).subtract(w, "day").format("YYYY-MM-DD HH:mm:ss"), y];
57
- if (d === "middle") {
58
- const h = I((I(n).valueOf() + I(y).valueOf()) / 2).format("YYYY-MM-DD HH:mm:ss");
59
- return console.log("超过一屏数量上限, 进行中间时间计算", h, w / 2), [
60
- I(h).subtract(w / 2, "day").format("YYYY-MM-DD HH:mm:ss"),
61
- I(h).add(w / 2, "day").format("YYYY-MM-DD HH:mm:ss")
51
+ }, me = ({ startTime: i, endTime: j, cycle: r, type: s = "end" }) => {
52
+ const { maxValueSpan: u } = J, p = Math.ceil((u + 1e3) / Be[r]), D = Y(i);
53
+ if (Y(j).diff(D, "day") <= p)
54
+ return [i, j];
55
+ if (s === "end")
56
+ return [Y(j).subtract(p, "day").format("YYYY-MM-DD HH:mm:ss"), j];
57
+ if (s === "middle") {
58
+ const h = Y((Y(i).valueOf() + Y(j).valueOf()) / 2).format("YYYY-MM-DD HH:mm:ss");
59
+ return console.log("超过一屏数量上限, 进行中间时间计算", h, p / 2), [
60
+ Y(h).subtract(p / 2, "day").format("YYYY-MM-DD HH:mm:ss"),
61
+ Y(h).add(p / 2, "day").format("YYYY-MM-DD HH:mm:ss")
62
62
  ];
63
63
  }
64
- }, Be = (n, y) => {
65
- const u = n[y], d = y === 0 ? n[y] : n[y - 1];
66
- return u[0] === u[1] ? u[0] >= d[1] ? {
64
+ }, Ze = (i, j) => {
65
+ const r = i[j], s = j === 0 ? i[j] : i[j - 1];
66
+ return r[0] === r[1] ? r[0] >= s[1] ? {
67
67
  color: "transparent",
68
68
  borderColor: "#FF0000"
69
69
  } : {
70
70
  color: "#00FFFF"
71
- } : u[1] > u[0] ? {
71
+ } : r[1] > r[0] ? {
72
72
  color: "transparent",
73
73
  borderColor: "#FF0000"
74
74
  } : {
75
75
  color: "#00FFFF"
76
76
  };
77
- }, Ge = (n, y, u) => {
78
- var j, w, Y, z;
79
- const d = n.subIndicator.map((e) => {
77
+ }, $e = (i, j, r) => {
78
+ var u, p, D, d;
79
+ const s = i.subIndicator.map((e) => {
80
80
  if (e.series === "bar")
81
81
  return {
82
82
  name: "subMain",
@@ -85,9 +85,9 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
85
85
  type: "bar",
86
86
  silent: !0,
87
87
  symbol: "none",
88
- data: e.data.map((h, E) => e.seriesColor === "kline" ? {
88
+ data: e.data.map((h, Q) => e.seriesColor === "kline" ? {
89
89
  value: h,
90
- itemStyle: Be(n.data, E)
90
+ itemStyle: Ze(i.data, Q)
91
91
  } : e.seriesColor === "value" ? {
92
92
  value: h,
93
93
  itemStyle: {
@@ -128,9 +128,9 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
128
128
  dataZoom: [
129
129
  {
130
130
  type: "inside",
131
- startValue: y,
132
- endValue: u,
133
- maxValueSpan: W.maxValueSpan
131
+ startValue: j,
132
+ endValue: r,
133
+ maxValueSpan: J.maxValueSpan
134
134
  }
135
135
  ],
136
136
  tooltip: {
@@ -142,17 +142,17 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
142
142
  label: {
143
143
  rich: {},
144
144
  formatter: (e) => {
145
- const { axisDimension: h, value: E } = e;
145
+ const { axisDimension: h, value: Q } = e;
146
146
  if (h === "x")
147
147
  return null;
148
148
  if (e.axisIndex === 1)
149
- return String(_e(E));
149
+ return String(_e(Q));
150
150
  }
151
151
  }
152
152
  },
153
153
  xAxis: {
154
154
  type: "category",
155
- data: n.time,
155
+ data: i.time,
156
156
  axisLine: {
157
157
  show: !0
158
158
  },
@@ -169,8 +169,8 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
169
169
  },
170
170
  {
171
171
  position: "left",
172
- min: ((j = n.subIndicator[0]) == null ? void 0 : j.leftYAxisRange) === "cover" ? (e) => e.min : null,
173
- max: ((w = n.subIndicator[0]) == null ? void 0 : w.leftYAxisRange) === "cover" ? (e) => e.max : null,
172
+ min: ((u = i.subIndicator[0]) == null ? void 0 : u.leftYAxisRange) === "cover" ? (e) => e.min : null,
173
+ max: ((p = i.subIndicator[0]) == null ? void 0 : p.leftYAxisRange) === "cover" ? (e) => e.max : null,
174
174
  splitNumber: 1,
175
175
  axisLine: {
176
176
  show: !0
@@ -185,8 +185,8 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
185
185
  },
186
186
  {
187
187
  position: "right",
188
- min: ((Y = n.subIndicator[0]) == null ? void 0 : Y.rightYAxisRange) === "cover" ? (e) => e.min : null,
189
- max: ((z = n.subIndicator[0]) == null ? void 0 : z.rightYAxisRange) === "cover" ? (e) => e.max : null,
188
+ min: ((D = i.subIndicator[0]) == null ? void 0 : D.rightYAxisRange) === "cover" ? (e) => e.min : null,
189
+ max: ((d = i.subIndicator[0]) == null ? void 0 : d.rightYAxisRange) === "cover" ? (e) => e.max : null,
190
190
  splitNumber: 1,
191
191
  axisLine: {
192
192
  show: !1
@@ -199,159 +199,165 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
199
199
  }
200
200
  }
201
201
  ],
202
- series: d
202
+ series: s
203
203
  };
204
- }, Ce = (n, y, u = "strict") => {
205
- let d = 0, j = n.length - 1, w = -1;
206
- for (; d <= j; ) {
207
- let Y = Math.floor((d + j) / 2);
208
- if (u === "strict") {
209
- if (n[Y] === y)
210
- return Y;
211
- n[Y] < y ? d = Y + 1 : j = Y - 1;
204
+ }, ze = (i, j, r = "strict") => {
205
+ let s = 0, u = i.length - 1, p = -1;
206
+ for (; s <= u; ) {
207
+ let D = Math.floor((s + u) / 2);
208
+ if (r === "strict") {
209
+ if (i[D] === j)
210
+ return D;
211
+ i[D] < j ? s = D + 1 : u = D - 1;
212
212
  } else
213
- u === "gte" && (n[Y] >= y ? (w = Y, j = Y - 1) : d = Y + 1);
213
+ r === "gte" && (i[D] >= j ? (p = D, u = D - 1) : s = D + 1);
214
214
  }
215
- return u === "strict" ? -1 : w;
216
- }, me = (n, y) => ({
217
- data: [...n.data, ...y.data.slice(1)],
218
- mainIndicator: n.mainIndicator.map((u, d) => ({
219
- ...u,
220
- data: [...u.data, ...y.mainIndicator[d].data.slice(1)]
215
+ return r === "strict" ? -1 : p;
216
+ }, Ge = (i) => {
217
+ const j = [];
218
+ return i.reduce((r, s) => {
219
+ const u = `${s.coord[0]}+${s.label.position}`, p = s.label.position === "top" ? -16 : 16, D = r.get(u);
220
+ return D ? (r.set(u, D + 1), s.symbolOffset[1] = p * (D + 1)) : (r.set(u, 1), s.symbolOffset[1] = s.label.position === "top" ? -7 : 7), j.push(s), r;
221
+ }, /* @__PURE__ */ new Map()), j;
222
+ }, Ae = (i, j) => ({
223
+ data: [...i.data, ...j.data.slice(1)],
224
+ mainIndicator: i.mainIndicator.map((r, s) => ({
225
+ ...r,
226
+ data: [...r.data, ...j.mainIndicator[s].data.slice(1)]
221
227
  })),
222
- subIndicator: n.subIndicator.map((u, d) => ({
223
- ...u,
224
- data: [...u.data, ...y.subIndicator[d].data.slice(1)]
228
+ subIndicator: i.subIndicator.map((r, s) => ({
229
+ ...r,
230
+ data: [...r.data, ...j.subIndicator[s].data.slice(1)]
225
231
  })),
226
- time: [...n.time, ...y.time.slice(1)]
227
- }), je = (n, y, u) => {
228
- switch (u) {
232
+ time: [...i.time, ...j.time.slice(1)]
233
+ }), ye = (i, j, r) => {
234
+ switch (r) {
229
235
  case "5": {
230
- let m = [
236
+ let g = [
231
237
  ...new Set(
232
- n.slice(-20).map((D) => {
233
- const i = new Date(D), s = String(i.getHours()).padStart(2, "0"), p = String(i.getMinutes()).padStart(2, "0"), v = String(i.getSeconds()).padStart(2, "0");
234
- return `${s}:${p}:${v}`;
238
+ i.slice(-20).map((z) => {
239
+ const n = new Date(z), T = String(n.getHours()).padStart(2, "0"), y = String(n.getMinutes()).padStart(2, "0"), O = String(n.getSeconds()).padStart(2, "0");
240
+ return `${T}:${y}:${O}`;
235
241
  })
236
242
  )
237
243
  ];
238
- m.includes("00:00:00") && (m.splice(m.indexOf("00:00:00"), 1), m.push("24:00:00")), m = m.sort((D, i) => (/* @__PURE__ */ new Date(`2000-01-30 ${D}`)).getTime() - (/* @__PURE__ */ new Date(`2000-01-30 ${i}`)).getTime());
239
- const T = new Date(y), N = T.getFullYear(), l = String(T.getMonth() + 1).padStart(2, "0"), M = String(T.getDate()).padStart(2, "0"), f = String(T.getHours()).padStart(2, "0"), r = String(T.getMinutes()).padStart(2, "0"), a = String(T.getSeconds()).padStart(2, "0");
240
- if (`${f}:${r}:${a}` == "00:00:00")
241
- return `${N}-${l}-${M} 01:00:00`;
244
+ g.includes("00:00:00") && (g.splice(g.indexOf("00:00:00"), 1), g.push("24:00:00")), g = g.sort((z, n) => (/* @__PURE__ */ new Date(`2000-01-30 ${z}`)).getTime() - (/* @__PURE__ */ new Date(`2000-01-30 ${n}`)).getTime());
245
+ const f = new Date(j), l = f.getFullYear(), c = String(f.getMonth() + 1).padStart(2, "0"), a = String(f.getDate()).padStart(2, "0"), x = String(f.getHours()).padStart(2, "0"), L = String(f.getMinutes()).padStart(2, "0"), t = String(f.getSeconds()).padStart(2, "0");
246
+ if (`${x}:${L}:${t}` == "00:00:00")
247
+ return `${l}-${c}-${a} 01:00:00`;
242
248
  {
243
- let D = null;
244
- for (let i = 0; i < m.length; i++) {
245
- const s = m[i].split(":");
246
- if (+`${s[0]}${s[1]}${s[2]}` >= +`${f}${r}${a}`) {
247
- D = m[i];
249
+ let z = null;
250
+ for (let n = 0; n < g.length; n++) {
251
+ const T = g[n].split(":");
252
+ if (+`${T[0]}${T[1]}${T[2]}` >= +`${x}${L}${t}`) {
253
+ z = g[n];
248
254
  break;
249
255
  }
250
256
  }
251
- if (D === "24:00:00") {
252
- const i = new Date(y);
253
- i.setDate(i.getDate() + 1);
254
- const s = i.getFullYear(), p = String(i.getMonth() + 1).padStart(2, "0"), v = String(i.getDate()).padStart(2, "0");
255
- return `${s}-${p}-${v} 00:00:00`;
257
+ if (z === "24:00:00") {
258
+ const n = new Date(j);
259
+ n.setDate(n.getDate() + 1);
260
+ const T = n.getFullYear(), y = String(n.getMonth() + 1).padStart(2, "0"), O = String(n.getDate()).padStart(2, "0");
261
+ return `${T}-${y}-${O} 00:00:00`;
256
262
  }
257
- return `${N}-${l}-${M} ${D}`;
263
+ return `${l}-${c}-${a} ${z}`;
258
264
  }
259
265
  }
260
266
  case "6": {
261
- const m = new Date(y), T = m.getHours();
262
- if (T >= 4 && T < 21) {
263
- const N = m.getFullYear(), l = String(m.getMonth() + 1).padStart(2, "0"), M = String(m.getDate()).padStart(2, "0");
264
- return `${N}-${l}-${M} 09:00:00`;
267
+ const g = new Date(j), f = g.getHours();
268
+ if (f >= 4 && f < 21) {
269
+ const l = g.getFullYear(), c = String(g.getMonth() + 1).padStart(2, "0"), a = String(g.getDate()).padStart(2, "0");
270
+ return `${l}-${c}-${a} 09:00:00`;
265
271
  } else {
266
- const N = new Date(y);
267
- N.getHours() >= 21 && N.setDate(N.getDate() + 1);
268
- const l = N.getFullYear(), M = String(N.getMonth() + 1).padStart(2, "0"), f = String(N.getDate()).padStart(2, "0"), r = `${l}-${M}-${f} 09:00:00`, a = Ce(n, r, "gte");
269
- return a === -1 ? r : n[a];
272
+ const l = new Date(j);
273
+ l.getHours() >= 21 && l.setDate(l.getDate() + 1);
274
+ const c = l.getFullYear(), a = String(l.getMonth() + 1).padStart(2, "0"), x = String(l.getDate()).padStart(2, "0"), L = `${c}-${a}-${x} 09:00:00`, t = ze(i, L, "gte");
275
+ return t === -1 ? L : i[t];
270
276
  }
271
277
  }
272
278
  case "7": {
273
- const m = new Date(y), T = new Date(m);
274
- T.setDate(m.getDate() - m.getDay()), T.setHours(0, 0, 0, 0);
275
- const N = new Date(T);
276
- N.setDate(T.getDate() + 5), N.setHours(23, 59, 59, 0);
277
- const l = new Date(T);
278
- l.setDate(T.getDate() + 12), l.setHours(9, 0, 0, 0);
279
- const M = m <= N ? N : l, f = M.getFullYear(), r = String(M.getMonth() + 1).padStart(2, "0"), a = String(M.getDate()).padStart(2, "0");
280
- return `${f}-${r}-${a} 09:00:00`;
279
+ const g = new Date(j), f = new Date(g);
280
+ f.setDate(g.getDate() - g.getDay()), f.setHours(0, 0, 0, 0);
281
+ const l = new Date(f);
282
+ l.setDate(f.getDate() + 5), l.setHours(23, 59, 59, 0);
283
+ const c = new Date(f);
284
+ c.setDate(f.getDate() + 12), c.setHours(9, 0, 0, 0);
285
+ const a = g <= l ? l : c, x = a.getFullYear(), L = String(a.getMonth() + 1).padStart(2, "0"), t = String(a.getDate()).padStart(2, "0");
286
+ return `${x}-${L}-${t} 09:00:00`;
281
287
  }
282
288
  case "8": {
283
- const m = new Date(y), T = new Date(m.getFullYear(), m.getMonth() + 1, 1), N = new Date(T);
284
- N.setDate(T.getDate() - 1), N.setHours(9, 0, 0, 0);
285
- const l = N.getFullYear(), M = String(N.getMonth() + 1).padStart(2, "0"), f = String(N.getDate()).padStart(2, "0");
286
- return `${l}-${M}-${f} 09:00:00`;
289
+ const g = new Date(j), f = new Date(g.getFullYear(), g.getMonth() + 1, 1), l = new Date(f);
290
+ l.setDate(f.getDate() - 1), l.setHours(9, 0, 0, 0);
291
+ const c = l.getFullYear(), a = String(l.getMonth() + 1).padStart(2, "0"), x = String(l.getDate()).padStart(2, "0");
292
+ return `${c}-${a}-${x} 09:00:00`;
287
293
  }
288
294
  }
289
- const d = new Date(y), j = d.getFullYear(), w = d.getMonth(), Y = d.getDate(), z = d.getHours(), e = d.getMinutes(), h = d.getSeconds(), E = (m) => {
290
- let T = null;
291
- const N = Math.floor(e / m);
292
- e % m === 0 && h === 0 ? T = e : T = (N + 1) * m;
293
- const l = Math.floor(T / 60), M = z + l, f = T % 60, r = new Date(j, w, Y, M, f, 0), a = (P) => String(P).padStart(2, "0"), D = r.getFullYear(), i = a(r.getMonth() + 1), s = a(r.getDate()), p = a(r.getHours()), v = a(r.getMinutes());
294
- return `${D}-${i}-${s} ${p}:${v}:00`;
295
+ const s = new Date(j), u = s.getFullYear(), p = s.getMonth(), D = s.getDate(), d = s.getHours(), e = s.getMinutes(), h = s.getSeconds(), Q = (g) => {
296
+ let f = null;
297
+ const l = Math.floor(e / g);
298
+ e % g === 0 && h === 0 ? f = e : f = (l + 1) * g;
299
+ const c = Math.floor(f / 60), a = d + c, x = f % 60, L = new Date(u, p, D, a, x, 0), t = (E) => String(E).padStart(2, "0"), z = L.getFullYear(), n = t(L.getMonth() + 1), T = t(L.getDate()), y = t(L.getHours()), O = t(L.getMinutes());
300
+ return `${z}-${n}-${T} ${y}:${O}:00`;
295
301
  };
296
- switch (u) {
302
+ switch (r) {
297
303
  case "1":
298
- return E(1);
304
+ return Q(1);
299
305
  case "2":
300
- return E(5);
306
+ return Q(5);
301
307
  case "3":
302
- return E(15);
308
+ return Q(15);
303
309
  case "4":
304
- return E(30);
310
+ return Q(30);
305
311
  default:
306
- throw new Error(`Unsupported cycle: ${y} ${u}`);
312
+ throw new Error(`Unsupported cycle: ${j} ${r}`);
307
313
  }
308
- }, le = (n, y, u) => {
309
- let d = null, j = null;
310
- const [w, Y] = y;
311
- switch (u) {
314
+ }, ue = (i, j, r) => {
315
+ let s = null, u = null;
316
+ const [p, D] = j;
317
+ switch (r) {
312
318
  case "6": {
313
- d = n.find((z) => new Date(I(z).format("YYYY-MM-DD 23:59:59")).getTime() >= new Date(w).getTime()), j = n.findLast((z) => new Date(I(z).format("YYYY-MM-DD 00:00:00")).getTime() <= new Date(Y).getTime());
319
+ s = i.find((d) => new Date(Y(d).format("YYYY-MM-DD 23:59:59")).getTime() >= new Date(p).getTime()), u = i.findLast((d) => new Date(Y(d).format("YYYY-MM-DD 00:00:00")).getTime() <= new Date(D).getTime());
314
320
  break;
315
321
  }
316
322
  case "7": {
317
- const z = I(Y).endOf("week").add(1, "day").format("YYYY-MM-DD 23:59:59");
318
- d = n.find((e) => I(e).endOf("week").add(1, "day").format("YYYY-MM-DD") === I(w).endOf("week").add(1, "day").format("YYYY-MM-DD")), j = n.findLast((e) => new Date(e).getTime() <= new Date(z).getTime());
323
+ const d = Y(D).endOf("week").add(1, "day").format("YYYY-MM-DD 23:59:59");
324
+ s = i.find((e) => Y(e).endOf("week").add(1, "day").format("YYYY-MM-DD") === Y(p).endOf("week").add(1, "day").format("YYYY-MM-DD")), u = i.findLast((e) => new Date(e).getTime() <= new Date(d).getTime());
319
325
  break;
320
326
  }
321
327
  case "8": {
322
- d = n.find((z) => I(z).format("YYYY-MM") === I(w).format("YYYY-MM")), j = n.findLast((z) => I(z).format("YYYY-MM") === I(Y).format("YYYY-MM"));
328
+ s = i.find((d) => Y(d).format("YYYY-MM") === Y(p).format("YYYY-MM")), u = i.findLast((d) => Y(d).format("YYYY-MM") === Y(D).format("YYYY-MM"));
323
329
  break;
324
330
  }
325
331
  default:
326
- d = n.find((z) => new Date(z).getTime() >= new Date(w).getTime()), j = n.findLast((z) => new Date(z).getTime() <= new Date(Y).getTime());
332
+ s = i.find((d) => new Date(d).getTime() >= new Date(p).getTime()), u = i.findLast((d) => new Date(d).getTime() <= new Date(D).getTime());
327
333
  }
328
- return [d, j];
329
- }, $e = (n, y, u, d, j) => {
330
- const w = (T, N) => {
331
- const { direction: l = "", tradeAction: M = "", tradeType: f = "" } = T, r = f ?? l + M;
332
- switch (N) {
334
+ return [s, u];
335
+ }, We = (i, j, r, s, u, p) => {
336
+ const D = (l, c) => {
337
+ const { direction: a = "", tradeAction: x = "", tradeType: L = "" } = l, t = L ?? a + x;
338
+ switch (c) {
333
339
  case 0:
334
340
  return (/* @__PURE__ */ new Map([
335
341
  ["开多", "买"],
336
342
  ["平多", "卖"],
337
343
  ["开空", "卖"],
338
344
  ["平空", "买"]
339
- ])).get(r);
345
+ ])).get(t);
340
346
  case 1:
341
- return f ?? l + M;
347
+ return L ?? a + x;
342
348
  }
343
- }, Y = (T, N, l, M) => T.reduce((f, r) => {
344
- var P;
345
- const a = w(r, 0), D = T.filter((_) => _.klineTime === r.klineTime), i = [...new Set(D.map((_) => w(_, 0)))];
346
- let s = null;
347
- i.length > 1 ? s = "image://" + new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", self.location).href : s = "image://" + new URL((/* @__PURE__ */ Object.assign({ "./images/buy.svg": Ue, "./images/sell.svg": Ve, "./images/t.svg": He }))[`./images/${a === "买" ? "buy" : "sell"}.svg`], self.location).href;
348
- const p = Ce(l, r.klineTime), v = (P = M[p]) == null ? void 0 : P[3];
349
- return N.forEach((_) => {
350
- var Z;
351
- const ie = a === "买" ? 0 : 1;
352
- _.range[ie] === r.klineTime && (_.rangeValue[ie] = (Z = M[p]) == null ? void 0 : Z[a === "买" ? 2 : 3]);
353
- }), f.push({
354
- symbol: s,
349
+ }, d = (l, c, a, x) => l.reduce((L, t) => {
350
+ var R;
351
+ const z = D(t, 0), n = l.filter((H) => H.klineTime === t.klineTime), T = [...new Set(n.map((H) => D(H, 0)))];
352
+ let y = null;
353
+ T.length > 1 ? y = "image://" + new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", self.location).href : y = "image://" + new URL((/* @__PURE__ */ Object.assign({ "./images/buy.svg": Ue, "./images/sell.svg": Ve, "./images/t.svg": He }))[`./images/${z === "买" ? "buy" : "sell"}.svg`], self.location).href;
354
+ const O = ze(a, t.klineTime), E = (R = x[O]) == null ? void 0 : R[3];
355
+ return c.forEach((H) => {
356
+ var K;
357
+ const F = z === "买" ? 0 : 1;
358
+ H.range[F] === t.klineTime && (H.rangeValue[F] = (K = x[O]) == null ? void 0 : K[z === "买" ? 2 : 3]);
359
+ }), L.push({
360
+ symbol: y,
355
361
  symbolSize: 25,
356
362
  symbolRotate: 0,
357
363
  symbolOffset: [0, 0],
@@ -359,105 +365,116 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
359
365
  show: !1,
360
366
  position: "top"
361
367
  },
362
- coord: [r.klineTime, v],
368
+ coord: [t.klineTime, E],
363
369
  silent: !0,
364
370
  animation: !1,
365
371
  customData: {
366
- tradeType: a,
367
- amount: r.amount,
372
+ tradeType: z,
373
+ amount: t.amount,
368
374
  // 手数
369
- part: r.part,
375
+ part: t.part,
370
376
  // 份数
371
- profitAndLoss: r.profitAndLoss,
377
+ profitAndLoss: t.profitAndLoss,
372
378
  // 盈亏
373
- openPriceAll: r.openPriceAll,
379
+ openPriceAll: t.openPriceAll,
374
380
  // 开仓价
375
- closePriceAll: r.closePriceAll
381
+ closePriceAll: t.closePriceAll
376
382
  // 收仓价
377
383
  }
378
- }), f;
379
- }, []), z = (T, N, l, M) => T.reduce((f, r, a) => {
380
- const D = w(r, 1), i = ["开多", "开空"].includes(D) ? "top" : "bottom", s = i === "top" ? (r.openPriceAll / r.amount).toFixed(2) : (r.closePriceAll / r.amount).toFixed(2);
381
- return N.forEach((p) => {
382
- (i === "top" ? p.range[0] : p.range[1]) === r.klineTime && (p.rangeValue[i === "top" ? 0 : 1] = s);
383
- }), f.push({
384
- symbol: "triangle",
385
- symbolSize: [10, 12],
386
- symbolRotate: i === "top" ? 180 : 0,
387
- symbolOffset: [0, 0],
388
- label: {
389
- show: !0,
390
- position: i,
391
- color: "#fff",
392
- formatter: `${D} ${i === "top" ? "+" : "-"} ${r.amount}手 ${r.part ? `(${r.part}份)` : ""}`
393
- },
394
- itemStyle: { color: i === "top" ? "#FF0000" : "#389e0d" },
395
- coord: [r.klineTime, s],
396
- silent: !0,
397
- animation: !1,
398
- customData: {
399
- tradeType: D,
400
- amount: r.amount,
401
- // 手数
402
- part: r.part,
403
- // 份数
404
- profitAndLoss: r.profitAndLoss,
405
- // 盈亏
406
- openPriceAll: r.openPriceAll,
407
- // 开仓价
408
- closePriceAll: r.closePriceAll
409
- // 收仓价
384
+ }), L;
385
+ }, []), e = (l, c, a, x) => {
386
+ const { sellBuyByPrice: L } = p, t = l.reduce((z, n, T) => {
387
+ var R, H;
388
+ const y = D(n, 1), O = ["开多", "开空"].includes(y) ? "top" : "bottom";
389
+ let E = null;
390
+ if (L)
391
+ E = O === "top" ? (n.openPriceAll / n.amount).toFixed(2) : (n.closePriceAll / n.amount).toFixed(2);
392
+ else {
393
+ const F = ze(a, n.klineTime);
394
+ E = O === "top" ? (R = x[F]) == null ? void 0 : R[3] : (H = x[F]) == null ? void 0 : H[2];
410
395
  }
411
- }), f;
412
- }, []), e = (T, N, l) => {
413
- const { basePointData: M, baseLineData: f } = T.reduce(
414
- (i, s) => {
415
- const p = {
416
- pointTime: s.openTime,
396
+ return c.forEach((F) => {
397
+ (O === "top" ? F.range[0] : F.range[1]) === n.klineTime && (F.rangeValue[O === "top" ? 0 : 1] = E);
398
+ }), z.push({
399
+ symbol: "triangle",
400
+ symbolSize: [10, 12],
401
+ symbolRotate: O === "top" ? 180 : 0,
402
+ symbolOffset: [0, 0],
403
+ label: {
404
+ show: !0,
405
+ position: O,
406
+ color: "#fff",
407
+ formatter: `${y} ${O === "top" ? "+" : "-"} ${n.amount}手 ${n.part ? `(${n.part}份)` : ""}`
408
+ },
409
+ itemStyle: { color: O === "top" ? "#FF0000" : "#389e0d" },
410
+ coord: [n.klineTime, E],
411
+ silent: !0,
412
+ animation: !1,
413
+ customData: {
414
+ tradeType: y,
415
+ amount: n.amount,
416
+ // 手数
417
+ part: n.part,
418
+ // 份数
419
+ profitAndLoss: n.profitAndLoss,
420
+ // 盈亏
421
+ openPriceAll: n.openPriceAll,
422
+ // 开仓价
423
+ closePriceAll: n.closePriceAll
424
+ // 收仓价
425
+ }
426
+ }), z;
427
+ }, []);
428
+ return L ? t : Ge(t);
429
+ }, h = (l, c, a) => {
430
+ const { basePointData: x, baseLineData: L } = l.reduce(
431
+ (T, y) => {
432
+ const O = {
433
+ pointTime: y.openTime,
417
434
  // 交易时间
418
435
  tradeAction: "开",
419
436
  // 交易行为
420
- tradeDirection: s.tradeDirection ? "空" : "多",
437
+ tradeDirection: y.tradeDirection ? "空" : "多",
421
438
  // 交易方向 1:空, 0:多
422
- tradeType: `开${s.tradeDirection ? "空" : "多"}`,
439
+ tradeType: `开${y.tradeDirection ? "空" : "多"}`,
423
440
  part: null,
424
441
  // 份数,
425
- amount: s.tradeVolume,
442
+ amount: y.tradeVolume,
426
443
  // 手数
427
- profitAndLoss: s.profitAndLoss,
444
+ profitAndLoss: y.profitAndLoss,
428
445
  // 盈亏
429
- openPriceAll: s.openPrice * s.tradeVolume,
446
+ openPriceAll: y.openPrice * y.tradeVolume,
430
447
  // 开仓总价
431
- closePriceAll: s.closePrice * s.tradeVolume,
448
+ closePriceAll: y.closePrice * y.tradeVolume,
432
449
  // 平仓总价
433
- klineTime: je(l, s.openTime, N)
450
+ klineTime: ye(a, y.openTime, c)
434
451
  // K线时间
435
- }, v = {
436
- pointTime: s.closeTime,
452
+ }, E = {
453
+ pointTime: y.closeTime,
437
454
  // 交易时间
438
455
  tradeAction: "平",
439
456
  // 交易行为
440
- tradeDirection: s.tradeDirection ? "空" : "多",
457
+ tradeDirection: y.tradeDirection ? "空" : "多",
441
458
  // 交易方向 1:空, 0:多
442
- tradeType: `平${s.tradeDirection ? "空" : "多"}`,
459
+ tradeType: `平${y.tradeDirection ? "空" : "多"}`,
443
460
  part: null,
444
461
  // 份数,
445
- amount: s.tradeVolume,
462
+ amount: y.tradeVolume,
446
463
  // 手数
447
- profitAndLoss: s.profitAndLoss,
464
+ profitAndLoss: y.profitAndLoss,
448
465
  // 盈亏
449
- openPriceAll: s.openPrice * s.tradeVolume,
466
+ openPriceAll: y.openPrice * y.tradeVolume,
450
467
  // 开仓总价
451
- closePriceAll: s.closePrice * s.tradeVolume,
468
+ closePriceAll: y.closePrice * y.tradeVolume,
452
469
  // 平仓总价
453
- klineTime: je(l, s.closeTime, N)
470
+ klineTime: ye(a, y.closeTime, c)
454
471
  // K线时间
455
- }, P = {
456
- range: [p.klineTime, v.klineTime],
472
+ }, R = {
473
+ range: [O.klineTime, E.klineTime],
457
474
  rangeValue: [null, null],
458
- color: v.profitAndLoss > 0 ? "#FF0000" : "#389e0d"
475
+ color: E.profitAndLoss > 0 ? "#FF0000" : "#389e0d"
459
476
  };
460
- return i.basePointData.push(p, v), i.baseLineData.push(P), i;
477
+ return T.basePointData.push(O, E), T.baseLineData.push(R), T;
461
478
  },
462
479
  {
463
480
  basePointData: [],
@@ -465,60 +482,60 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
465
482
  baseLineData: []
466
483
  // 连线数据
467
484
  }
468
- ), a = [...M.reduce((i, s) => {
469
- const p = JSON.parse(JSON.stringify(s)), v = p.klineTime + p.tradeType;
470
- if (i.has(v)) {
471
- const P = i.get(v);
472
- p.amount += P.amount, p.part += P.part, p.profitAndLoss += P.profitAndLoss, p.openPriceAll += P.openPriceAll, p.closePriceAll += P.closePriceAll;
485
+ ), z = [...x.reduce((T, y) => {
486
+ const O = JSON.parse(JSON.stringify(y)), E = O.klineTime + O.tradeType;
487
+ if (T.has(E)) {
488
+ const R = T.get(E);
489
+ O.amount += R.amount, O.part += R.part, O.profitAndLoss += R.profitAndLoss, O.openPriceAll += R.openPriceAll, O.closePriceAll += R.closePriceAll;
473
490
  }
474
- return i.set(v, p), i;
475
- }, /* @__PURE__ */ new Map([])).values()].sort((i, s) => new Date(i.klineTime) - new Date(s.klineTime)), D = f.filter(({ range: i }) => i[0] !== i[1]);
476
- return { pointData: a, lineData: D };
477
- }, { pointData: h, lineData: E } = e(n, y, d);
491
+ return T.set(E, O), T;
492
+ }, /* @__PURE__ */ new Map([])).values()].sort((T, y) => new Date(T.klineTime) - new Date(y.klineTime)), n = L.filter(({ range: T }) => T[0] !== T[1]);
493
+ return { pointData: z, lineData: n };
494
+ }, { pointData: Q, lineData: g } = h(i, j, s);
478
495
  return {
479
- tradePointData: (u === 0 ? Y : z)(h, E, d, j),
480
- tradeLineData: E.map(({ range: T, rangeValue: N, color: l }) => [
496
+ tradePointData: (r === 0 ? d : e)(Q, g, s, u),
497
+ tradeLineData: g.map(({ range: l, rangeValue: c, color: a }) => [
481
498
  {
482
499
  symbol: "none",
483
- coord: [T[0], N[0]],
484
- lineStyle: { color: l, width: 2, type: "solid" },
500
+ coord: [l[0], c[0]],
501
+ lineStyle: { color: a, width: 2, type: "solid" },
485
502
  silent: !0,
486
503
  animation: !1
487
504
  },
488
505
  {
489
506
  symbol: "none",
490
- coord: [T[1], N[1]],
507
+ coord: [l[1], c[1]],
491
508
  silent: !0,
492
509
  animation: !1
493
510
  }
494
511
  ])
495
512
  };
496
- }, We = (n, y) => {
497
- let u = [];
498
- if (Number(y) <= 5)
499
- u = n.map(({ tradeDate: d, netPositionValue: j }) => [I(d).format("YYYY-MM-DD HH:mm:ss"), j]);
500
- else if (Number(y) === 6) {
501
- const d = n.reduce((j, w) => {
502
- const { tradeDate: Y, netPositionValue: z } = w;
503
- return j.set(I(Y).format("YYYY-MM-DD 09:00:00"), z), j;
513
+ }, Je = (i, j) => {
514
+ let r = [];
515
+ if (Number(j) <= 5)
516
+ r = i.map(({ tradeDate: s, netPositionValue: u }) => [Y(s).format("YYYY-MM-DD HH:mm:ss"), u]);
517
+ else if (Number(j) === 6) {
518
+ const s = i.reduce((u, p) => {
519
+ const { tradeDate: D, netPositionValue: d } = p;
520
+ return u.set(Y(D).format("YYYY-MM-DD 09:00:00"), d), u;
504
521
  }, /* @__PURE__ */ new Map());
505
- u = Array.from(d, ([j, w]) => [j, w]);
522
+ r = Array.from(s, ([u, p]) => [u, p]);
506
523
  } else
507
- u = [];
508
- return { netPositionLineData: u };
509
- }, Je = (n, y, u, d) => {
510
- let j = [];
511
- if (["6", "7", "8"].includes(y)) {
512
- const w = n.reduce((Y, z) => {
513
- const e = je(d, z.date, y), h = z[u === 0 ? "simple" : "compound"];
514
- return Y.set(e, h), Y;
524
+ r = [];
525
+ return { netPositionLineData: r };
526
+ }, Ke = (i, j, r, s) => {
527
+ let u = [];
528
+ if (["6", "7", "8"].includes(j)) {
529
+ const p = i.reduce((D, d) => {
530
+ const e = ye(s, d.date, j), h = d[r === 0 ? "simple" : "compound"];
531
+ return D.set(e, h), D;
515
532
  }, /* @__PURE__ */ new Map());
516
- j = Array.from(w, ([Y, z]) => [Y, z]);
533
+ u = Array.from(p, ([D, d]) => [D, d]);
517
534
  } else
518
- j = [];
519
- return { tradeIncomeRateLineData: j };
535
+ u = [];
536
+ return { tradeIncomeRateLineData: u };
520
537
  };
521
- const Ke = { class: "tips" }, qe = {
538
+ const qe = { class: "tips" }, Xe = {
522
539
  __name: "Tips",
523
540
  props: {
524
541
  data: {
@@ -526,17 +543,17 @@ const Ke = { class: "tips" }, qe = {
526
543
  default: () => []
527
544
  }
528
545
  },
529
- setup(n) {
530
- return (y, u) => (U(), H("div", Ke, [
531
- (U(!0), H(Ae, null, we(n.data, (d, j) => (U(), H("span", {
532
- key: j,
546
+ setup(i) {
547
+ return (j, r) => (_(), Z("div", qe, [
548
+ (_(!0), Z(pe, null, we(i.data, (s, u) => (_(), Z("span", {
549
+ key: u,
533
550
  class: "item",
534
- style: Se({ color: d.color })
535
- }, Me(d.label) + " " + Me(d.value), 5))), 128))
551
+ style: Se({ color: s.color })
552
+ }, ie(s.label) + " " + ie(s.value), 5))), 128))
536
553
  ]));
537
554
  }
538
- }, ue = /* @__PURE__ */ ze(qe, [["__scopeId", "data-v-df1caefe"]]);
539
- const Xe = {
555
+ }, je = /* @__PURE__ */ de(Xe, [["__scopeId", "data-v-df1caefe"]]);
556
+ const et = {
540
557
  __name: "SliderChart",
541
558
  props: {
542
559
  // K线当屏时间范围
@@ -556,46 +573,46 @@ const Xe = {
556
573
  // 三方标记(不需要token授权)
557
574
  },
558
575
  emits: ["change"],
559
- setup(n, { expose: y, emit: u }) {
560
- const { request: d } = pe("stConfig");
561
- let j = null;
562
- const w = F(null), Y = u, z = n, e = F({
576
+ setup(i, { expose: j, emit: r }) {
577
+ const { request: s } = fe("stConfig");
578
+ let u = null;
579
+ const p = V(null), D = r, d = i, e = V({
563
580
  data: [],
564
581
  // <[开 收 低 高 成交额 涨跌值 涨跌百分比]>
565
582
  mainIndicator: [],
566
583
  subIndicator: [],
567
584
  time: []
568
585
  }), h = async () => {
569
- const N = {
570
- varietyCode: z.varietyCode,
586
+ const l = {
587
+ varietyCode: d.varietyCode,
571
588
  cycle: "6",
572
- right: z.varietyStock === 1 ? z.rightType : 0,
589
+ right: d.varietyStock === 1 ? d.rightType : 0,
573
590
  // 复权方式
574
- contractType: z.varietyStock ? null : z.klineType,
591
+ contractType: d.varietyStock ? null : d.klineType,
575
592
  // 合约类型
576
593
  startTime: "1999-01-01 00:00:00",
577
- endTime: I().format("YYYY-MM-DD 23:59:59"),
578
- deleteFirstNumber: z.deleteFirstNumber,
579
- withoutPermission: z.withoutPermission
580
- }, { body: l } = await d.post("/middleLayer/kline/getKline", N);
581
- l ? e.value = l : e.value = { data: [], mainIndicator: [], subIndicator: [], time: [] }, T("init");
582
- }, E = ae((N) => {
583
- if (!N.dataZoomId)
594
+ endTime: Y().format("YYYY-MM-DD 23:59:59"),
595
+ deleteFirstNumber: d.deleteFirstNumber,
596
+ withoutPermission: d.withoutPermission
597
+ }, { body: c } = await s.post("/middleLayer/kline/getKline", l);
598
+ c ? e.value = c : e.value = { data: [], mainIndicator: [], subIndicator: [], time: [] }, f("init");
599
+ }, Q = ne((l) => {
600
+ if (!l.dataZoomId)
584
601
  return;
585
- const l = j.getOption();
586
- if (l != null && l.dataZoom[0]) {
587
- const { startValue: M, endValue: f } = j.getOption().dataZoom[0], { time: r } = e.value, a = `${r[M].split(" ")[0]} 00:00:00`, D = `${r[f].split(" ")[0]} 23:59:59`;
588
- console.log(`检测到拖拽轴被拖动, 时间区间: ${a} - ${D}`), Y("change", { startTime: a, endTime: D });
602
+ const c = u.getOption();
603
+ if (c != null && c.dataZoom[0]) {
604
+ const { startValue: a, endValue: x } = u.getOption().dataZoom[0], { time: L } = e.value, t = `${L[a].split(" ")[0]} 00:00:00`, z = `${L[x].split(" ")[0]} 23:59:59`;
605
+ console.log(`检测到拖拽轴被拖动, 时间区间: ${t} - ${z}`), D("change", { startTime: t, endTime: z });
589
606
  }
590
- }, 200), m = ae(({ startTime: N, endTime: l }) => {
591
- T("reset", { startTime: N, endTime: l });
592
- }, 100), T = (N, l) => {
593
- switch (N) {
607
+ }, 200), g = ne(({ startTime: l, endTime: c }) => {
608
+ f("reset", { startTime: l, endTime: c });
609
+ }, 100), f = (l, c) => {
610
+ switch (l) {
594
611
  case "init": {
595
- const { data: M, time: f } = e.value, { xAxisData: r, lineData: a } = M.reduce(
596
- (i, s, p) => (i.xAxisData.push(f[p].split(" ")[0]), i.lineData.push(s[1]), i),
612
+ const { data: a, time: x } = e.value, { xAxisData: L, lineData: t } = a.reduce(
613
+ (n, T, y) => (n.xAxisData.push(x[y].split(" ")[0]), n.lineData.push(T[1]), n),
597
614
  { xAxisData: [], lineData: [] }
598
- ), D = {
615
+ ), z = {
599
616
  grid: {
600
617
  height: 0,
601
618
  left: "100px",
@@ -603,7 +620,7 @@ const Xe = {
603
620
  },
604
621
  xAxis: {
605
622
  type: "category",
606
- data: r,
623
+ data: L,
607
624
  show: !1
608
625
  },
609
626
  yAxis: {
@@ -626,30 +643,30 @@ const Xe = {
626
643
  ],
627
644
  series: [
628
645
  {
629
- data: a,
646
+ data: t,
630
647
  type: "line"
631
648
  }
632
649
  ]
633
650
  };
634
- if (j.setOption(D, !0), z.screenTimeRange.length) {
635
- const [i, s] = z.screenTimeRange;
636
- m({ startTime: i, endTime: s });
651
+ if (u.setOption(z, !0), d.screenTimeRange.length) {
652
+ const [n, T] = d.screenTimeRange;
653
+ g({ startTime: n, endTime: T });
637
654
  }
638
655
  break;
639
656
  }
640
657
  case "reset": {
641
- const { time: M } = e.value, f = I(l.startTime).format("YYYY-MM-DD"), r = I(l.endTime).format("YYYY-MM-DD");
642
- let a = -1, D = -1;
643
- for (let i = 0; i < M.length; i++) {
644
- const s = I(M[i]).format("YYYY-MM-DD");
645
- if (a !== -1 && D !== -1)
658
+ const { time: a } = e.value, x = Y(c.startTime).format("YYYY-MM-DD"), L = Y(c.endTime).format("YYYY-MM-DD");
659
+ let t = -1, z = -1;
660
+ for (let n = 0; n < a.length; n++) {
661
+ const T = Y(a[n]).format("YYYY-MM-DD");
662
+ if (t !== -1 && z !== -1)
646
663
  break;
647
- a === -1 && (new Date(s) === new Date(f) ? a = i : new Date(s) > new Date(f) && (a = i - 1)), D === -1 && (new Date(s) === new Date(r) ? D = i : new Date(s) > new Date(r) && (D = i - 1));
664
+ t === -1 && (new Date(T) === new Date(x) ? t = n : new Date(T) > new Date(x) && (t = n - 1)), z === -1 && (new Date(T) === new Date(L) ? z = n : new Date(T) > new Date(L) && (z = n - 1));
648
665
  }
649
- D === -1 && (D = M.length - 1), j.dispatchAction({
666
+ z === -1 && (z = a.length - 1), u.dispatchAction({
650
667
  type: "dataZoom",
651
- startValue: a,
652
- endValue: D
668
+ startValue: t,
669
+ endValue: z
653
670
  });
654
671
  break;
655
672
  }
@@ -657,36 +674,36 @@ const Xe = {
657
674
  };
658
675
  return xe(() => {
659
676
  Qe(() => {
660
- j = Ne.init(w.value), j.on("datazoom", E), h();
677
+ u = Ne.init(p.value), u.on("datazoom", Q), h();
661
678
  });
662
- }), te(
663
- () => z.screenTimeRange,
664
- (N) => {
665
- const [l, M] = N;
666
- m({ startTime: l, endTime: M });
679
+ }), ae(
680
+ () => d.screenTimeRange,
681
+ (l) => {
682
+ const [c, a] = l;
683
+ g({ startTime: c, endTime: a });
667
684
  },
668
685
  { deep: !0 }
669
- ), fe(() => {
670
- j.off("datazoom"), j.dispose();
671
- }), y({
672
- resize: ae(() => j.resize(), 100)
673
- }), (N, l) => (U(), H("div", {
686
+ ), Oe(() => {
687
+ u.off("datazoom"), u.dispose();
688
+ }), j({
689
+ resize: ne(() => u.resize(), 100)
690
+ }), (l, c) => (_(), Z("div", {
674
691
  class: "chart",
675
692
  ref_key: "sliderChartRef",
676
- ref: w
693
+ ref: p
677
694
  }, null, 512));
678
695
  }
679
- }, et = /* @__PURE__ */ ze(Xe, [["__scopeId", "data-v-0c715da1"]]);
680
- const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
696
+ }, tt = /* @__PURE__ */ de(et, [["__scopeId", "data-v-0c715da1"]]);
697
+ const Mt = { class: "main-chart" }, at = { class: "indicator" }, it = {
681
698
  key: 0,
682
699
  class: "screen-time-range"
683
- }, it = {
700
+ }, nt = {
684
701
  key: 0,
685
702
  class: "sub-chart"
686
- }, nt = { class: "indicator" }, ot = { class: "title" }, rt = {
703
+ }, ot = { class: "indicator" }, rt = { class: "title" }, st = {
687
704
  key: 1,
688
705
  class: "slider-chart"
689
- }, st = {
706
+ }, lt = {
690
707
  __name: "index",
691
708
  props: {
692
709
  varietyCode: { type: String, required: !0 },
@@ -724,17 +741,17 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
724
741
  withoutPermission: { type: Number, default: 0 }
725
742
  // 三方标记(不需要token授权)
726
743
  },
727
- setup(n, { expose: y }) {
728
- const { round: u, formatValue: d } = Oe, { request: j } = pe("stConfig"), w = F(), Y = F(!1), z = F(!1), e = n;
729
- let h = !1, E = !1, m = !1, T = !1, N = null, l = null, M = null;
730
- const f = F(null), r = F(null), a = F({
744
+ setup(i, { expose: j }) {
745
+ const { round: r, formatValue: s } = Ce, { request: u } = fe("stConfig"), p = V(), D = V(!1), d = V(!1), e = i;
746
+ let h = !1, Q = !1, g = !1, f = !1, l = null, c = null, a = null;
747
+ const x = V(null), L = V(null), t = V({
731
748
  data: [],
732
749
  mainIndicator: [],
733
750
  subIndicator: [],
734
751
  time: []
735
- }), D = F(0), i = F([]), s = F(null), p = F("VOL"), v = ce(() => {
736
- const t = a.value.data[D.value];
737
- if (!t)
752
+ }), z = V(0), n = V([]), T = V(null), y = V("VOL"), O = ce(() => {
753
+ const M = t.value.data[z.value];
754
+ if (!M)
738
755
  return [
739
756
  { label: "开", value: "-" },
740
757
  { label: "高", value: "-" },
@@ -744,51 +761,51 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
744
761
  { label: "涨跌", value: "-" }
745
762
  ];
746
763
  const o = [
747
- { label: "开", value: u(t[0]) },
748
- { label: "高", value: u(t[3]) },
749
- { label: "低", value: u(t[2]) },
750
- { label: "收", value: u(t[1]) }
764
+ { label: "开", value: r(M[0]) },
765
+ { label: "高", value: r(M[3]) },
766
+ { label: "低", value: r(M[2]) },
767
+ { label: "收", value: r(M[1]) }
751
768
  ];
752
- t[4] !== null && o.push({ label: "额", value: d(t[4]) });
753
- let c;
754
- return t[6] > 0 ? c = "red" : t[6] < 0 && (c = "green"), o.push({ label: "涨跌", value: `${u(t[6])}%`, color: c }), o;
755
- }), P = ce(() => {
756
- var t, o;
757
- return ((o = (t = a.value) == null ? void 0 : t.mainIndicator) == null ? void 0 : o.map((c) => ({ label: c.key, value: u(c.data[D.value]), color: c.color }))) || [];
758
- }), _ = ce(() => {
759
- var t, o;
760
- return ((o = (t = a.value) == null ? void 0 : t.subIndicator) == null ? void 0 : o.map((c) => ({ label: c.key, color: c.color, value: c.data[D.value] || "-" }))) || [];
761
- }), ie = () => {
762
- M || (M = Ne.init(r.value), M.on(
769
+ M[4] !== null && o.push({ label: "额", value: s(M[4]) });
770
+ let N;
771
+ return M[6] > 0 ? N = "red" : M[6] < 0 && (N = "green"), o.push({ label: "涨跌", value: `${r(M[6])}%`, color: N }), o;
772
+ }), E = ce(() => {
773
+ var M, o;
774
+ return ((o = (M = t.value) == null ? void 0 : M.mainIndicator) == null ? void 0 : o.map((N) => ({ label: N.key, value: r(N.data[z.value]), color: N.color }))) || [];
775
+ }), R = ce(() => {
776
+ var M, o;
777
+ return ((o = (M = t.value) == null ? void 0 : M.subIndicator) == null ? void 0 : o.map((N) => ({ label: N.key, color: N.color, value: N.data[z.value] || "-" }))) || [];
778
+ }), H = () => {
779
+ a || (a = Ne.init(L.value), a.on(
763
780
  "highlight",
764
- ae((t) => {
781
+ ne((M) => {
765
782
  var o;
766
- t.dataIndex ? D.value = t.dataIndex : D.value = ((o = t.batch) == null ? void 0 : o[0].dataIndex) ?? -1;
783
+ M.dataIndex ? z.value = M.dataIndex : z.value = ((o = M.batch) == null ? void 0 : o[0].dataIndex) ?? -1;
767
784
  }, 10)
768
- ), M.on(
785
+ ), a.on(
769
786
  "datazoom",
770
- ae(async () => {
771
- var O;
772
- const { loadCheckCount: t } = W, { startValue: o, endValue: c } = ((O = M.getOption()) == null ? void 0 : O.dataZoom[0]) ?? {};
773
- m === !1 && T === !1 && o < t && await ye("history"), h === !1 && E === !1 && c > a.value.time.length - t && await ye("new"), de(), De();
787
+ ne(async () => {
788
+ var C;
789
+ const { loadCheckCount: M } = J, { startValue: o, endValue: N } = ((C = a.getOption()) == null ? void 0 : C.dataZoom[0]) ?? {};
790
+ g === !1 && f === !1 && o < M && await K("history"), h === !1 && Q === !1 && N > t.value.time.length - M && await K("new"), De(), Te();
774
791
  })
775
- ), M.on("globalout", () => {
776
- const t = M.getOption();
777
- D.value = t.dataZoom[0].endValue;
778
- }), M.getZr().on("contextmenu", () => {
779
- var t;
780
- s.value = (t = a.value) == null ? void 0 : t.time[D.value];
781
- }), window.addEventListener("keydown", Te), e.userKlineConfig.enable_subChart && (l = Ne.init(f.value), Ne.connect([M, l])), N = Fe(r.value), N.listen(() => {
792
+ ), a.on("globalout", () => {
793
+ const M = a.getOption();
794
+ z.value = M.dataZoom[0].endValue;
795
+ }), a.getZr().on("contextmenu", () => {
796
+ var M;
797
+ T.value = (M = t.value) == null ? void 0 : M.time[z.value];
798
+ }), window.addEventListener("keydown", ge), e.userKlineConfig.enable_subChart && (c = Ne.init(x.value), Ne.connect([a, c])), l = Fe(L.value), l.listen(() => {
782
799
  requestAnimationFrame(() => {
783
- var t;
784
- M.resize(), l == null || l.resize(), (t = w.value) == null || t.resize();
800
+ var M;
801
+ a.resize(), c == null || c.resize(), (M = p.value) == null || M.resize();
785
802
  });
786
803
  }));
787
- }, Z = async ({ startTime: t, endTime: o }) => {
788
- m = !1, T = !1, h = !1, E = !1;
804
+ }, F = async ({ startTime: M, endTime: o }) => {
805
+ g = !1, f = !1, h = !1, Q = !1;
789
806
  try {
790
- Y.value = !0;
791
- const c = {
807
+ D.value = !0;
808
+ const N = {
792
809
  varietyCode: e.varietyCode,
793
810
  cycle: e.cycle,
794
811
  // 周期
@@ -797,61 +814,61 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
797
814
  contractType: e.varietyStock ? null : e.klineType,
798
815
  // 合约类型
799
816
  mainIndicatorList: e.indicatorStore.getIndicatorParams(e.mainIndicator),
800
- subIndicator: p.value,
817
+ subIndicator: y.value,
801
818
  deleteFirstNumber: e.deleteFirstNumber,
802
819
  withoutPermission: e.withoutPermission
803
820
  };
804
- ["1", "2", "3", "4", "5"].includes(e.cycle) ? Object.assign(c, {
805
- startTime: I(t).subtract(1, "day").format("YYYY-MM-DD HH:mm:ss"),
806
- endTime: I(o).add(1, "day").format("YYYY-MM-DD HH:mm:ss")
807
- }) : ["6", "7"].includes(e.cycle) ? Object.assign(c, {
808
- startTime: I(t).subtract(50, "day").format("YYYY-MM-DD HH:mm:ss"),
809
- endTime: I(o).add(50, "day").format("YYYY-MM-DD HH:mm:ss")
810
- }) : Object.assign(c, {
811
- startTime: I(t).subtract(10, "month").format("YYYY-MM-DD HH:mm:ss"),
812
- endTime: I(o).add(10, "month").format("YYYY-MM-DD HH:mm:ss")
821
+ ["1", "2", "3", "4", "5"].includes(e.cycle) ? Object.assign(N, {
822
+ startTime: Y(M).subtract(1, "day").format("YYYY-MM-DD HH:mm:ss"),
823
+ endTime: Y(o).add(1, "day").format("YYYY-MM-DD HH:mm:ss")
824
+ }) : ["6", "7"].includes(e.cycle) ? Object.assign(N, {
825
+ startTime: Y(M).subtract(50, "day").format("YYYY-MM-DD HH:mm:ss"),
826
+ endTime: Y(o).add(50, "day").format("YYYY-MM-DD HH:mm:ss")
827
+ }) : Object.assign(N, {
828
+ startTime: Y(M).subtract(10, "month").format("YYYY-MM-DD HH:mm:ss"),
829
+ endTime: Y(o).add(10, "month").format("YYYY-MM-DD HH:mm:ss")
813
830
  });
814
- const { body: O } = await j.post("/middleLayer/kline/getKline", c);
815
- a.value = O ?? { data: [], mainIndicator: [], subIndicator: [], time: [] };
816
- let A = -1, g = -1;
817
- for (let x = 0; x < a.value.time.length; x++) {
818
- const S = I(a.value.time[x]).format("YYYY-MM-DD");
819
- if (A !== -1 && g !== -1)
831
+ const { body: C } = await u.post("/middleLayer/kline/getKline", N);
832
+ t.value = C ?? { data: [], mainIndicator: [], subIndicator: [], time: [] };
833
+ let A = -1, I = -1;
834
+ for (let w = 0; w < t.value.time.length; w++) {
835
+ const S = Y(t.value.time[w]).format("YYYY-MM-DD");
836
+ if (A !== -1 && I !== -1)
820
837
  break;
821
- A === -1 && (new Date(S) === new Date(t) ? A = x : new Date(S) > new Date(t) && (A = x - 1)), g === -1 && (new Date(S) === new Date(o) ? g = x : new Date(S) > new Date(o) && (g = x - 1));
838
+ A === -1 && (new Date(S) === new Date(M) ? A = w : new Date(S) > new Date(M) && (A = w - 1)), I === -1 && (new Date(S) === new Date(o) ? I = w : new Date(S) > new Date(o) && (I = w - 1));
822
839
  }
823
- g === -1 && (g = a.value.time.length - 1), ne({
840
+ I === -1 && (I = t.value.time.length - 1), oe({
824
841
  startValue: A === -1 ? 0 : A,
825
- endValue: g === -1 ? a.value.time.length - 1 : g
842
+ endValue: I === -1 ? t.value.time.length - 1 : I
826
843
  });
827
844
  } finally {
828
- Y.value = !1;
845
+ D.value = !1;
829
846
  }
830
- }, ye = async (t) => {
831
- var S, J;
832
- const { loadAddCount: o } = W;
833
- switch (t) {
847
+ }, K = async (M) => {
848
+ var S, q;
849
+ const { loadAddCount: o } = J;
850
+ switch (M) {
834
851
  case "history": {
835
- m = !0;
836
- const R = {
852
+ g = !0;
853
+ const U = {
837
854
  varietyCode: e.varietyCode,
838
855
  cycle: e.cycle,
839
856
  right: e.varietyStock === 1 ? e.rightType : 0,
840
857
  // 复权方式
841
858
  contractType: e.varietyStock ? null : e.klineType,
842
- endTime: a.value.time[0],
859
+ endTime: t.value.time[0],
843
860
  limit: o,
844
861
  mainIndicatorList: e.indicatorStore.getIndicatorParams(e.mainIndicator),
845
- subIndicator: p.value,
862
+ subIndicator: y.value,
846
863
  deleteFirstNumber: e.deleteFirstNumber,
847
864
  withoutPermission: e.withoutPermission
848
- }, { body: Q } = await j.post("/middleLayer/kline/getKline", R);
849
- a.value = me(Q, a.value), Q.data.length < o && (console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭"), T = !0), m = !1;
865
+ }, { body: P } = await u.post("/middleLayer/kline/getKline", U);
866
+ t.value = Ae(P, t.value), P.data.length < o && (console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭"), f = !0), g = !1;
850
867
  break;
851
868
  }
852
869
  case "new": {
853
870
  h = !0;
854
- const R = {
871
+ const U = {
855
872
  varietyCode: e.varietyCode,
856
873
  cycle: e.cycle,
857
874
  // 周期
@@ -859,46 +876,46 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
859
876
  // 复权方式
860
877
  contractType: e.varietyStock ? null : e.klineType,
861
878
  // 合约类型
862
- startTime: a.value.time[a.value.time.length - 1],
879
+ startTime: t.value.time[t.value.time.length - 1],
863
880
  // 开始时间
864
881
  limit: o,
865
882
  // 查询K线数量
866
883
  mainIndicatorList: e.indicatorStore.getIndicatorParams(e.mainIndicator),
867
- subIndicator: p.value,
884
+ subIndicator: y.value,
868
885
  deleteFirstNumber: e.deleteFirstNumber,
869
886
  withoutPermission: e.withoutPermission
870
- }, { body: Q } = await j.post("/middleLayer/kline/getKline", R);
871
- a.value = me(a.value, Q), Q.data.length < o && (console.log("[K线] 获取更多数据: 右侧已全部获取完毕, 关闭"), E = !0), h = !1;
887
+ }, { body: P } = await u.post("/middleLayer/kline/getKline", U);
888
+ t.value = Ae(t.value, P), P.data.length < o && (console.log("[K线] 获取更多数据: 右侧已全部获取完毕, 关闭"), Q = !0), h = !1;
872
889
  break;
873
890
  }
874
891
  }
875
- const { startValue: c, endValue: O } = ((S = M.getOption()) == null ? void 0 : S.dataZoom[0]) ?? {}, A = (J = M.getOption()) == null ? void 0 : J.xAxis[0].data, g = a.value.time.findIndex((R) => new Date(R) >= new Date(A[c])), x = a.value.time.findIndex((R) => new Date(R) >= new Date(A[O]));
876
- ne({
877
- startValue: g === -1 ? 0 : g,
878
- endValue: x === -1 ? a.value.time.length - 1 : x
892
+ const { startValue: N, endValue: C } = ((S = a.getOption()) == null ? void 0 : S.dataZoom[0]) ?? {}, A = (q = a.getOption()) == null ? void 0 : q.xAxis[0].data, I = t.value.time.findIndex((U) => new Date(U) >= new Date(A[N])), w = t.value.time.findIndex((U) => new Date(U) >= new Date(A[C]));
893
+ oe({
894
+ startValue: I === -1 ? 0 : I,
895
+ endValue: w === -1 ? t.value.time.length - 1 : w
879
896
  });
880
- }, de = () => {
881
- var g;
882
- if (!a.value.time.length)
883
- return i.value = [];
884
- const { time: t } = a.value, { startValue: o, endValue: c } = ((g = M.getOption()) == null ? void 0 : g.dataZoom[0]) ?? {}, O = t[o], A = t[c];
885
- ["6", "7", "8"].includes(e.cycle) ? i.value = [I(O).format("YYYY-MM-DD"), I(A).format("YYYY-MM-DD")] : i.value = [O, A];
886
- }, ne = (t = { startValue: 0, endValue: 0 }) => {
887
- ie();
888
- const { maxValueSpan: o } = W, { time: c, data: O, mainIndicator: A } = a.value, g = t.endValue - t.startValue > o ? t.endValue - o : t.startValue, x = t.endValue, S = A.map((L) => ({
889
- name: L.key,
897
+ }, De = () => {
898
+ var I;
899
+ if (!t.value.time.length)
900
+ return n.value = [];
901
+ const { time: M } = t.value, { startValue: o, endValue: N } = ((I = a.getOption()) == null ? void 0 : I.dataZoom[0]) ?? {}, C = M[o], A = M[N];
902
+ ["6", "7", "8"].includes(e.cycle) ? n.value = [Y(C).format("YYYY-MM-DD"), Y(A).format("YYYY-MM-DD")] : n.value = [C, A];
903
+ }, oe = (M = { startValue: 0, endValue: 0 }) => {
904
+ H();
905
+ const { maxValueSpan: o } = J, { time: N, data: C, mainIndicator: A } = t.value, I = M.endValue - M.startValue > o ? M.endValue - o : M.startValue, w = M.endValue, S = A.map((m) => ({
906
+ name: m.key,
890
907
  type: "line",
891
908
  silent: !0,
892
909
  symbol: "none",
893
- data: L.data,
910
+ data: m.data,
894
911
  lineStyle: {
895
- width: L.width || 1
912
+ width: m.width || 1
896
913
  },
897
914
  itemStyle: {
898
- color: L.color
915
+ color: m.color
899
916
  }
900
- })), { netPositionLineData: J } = We(e.netPositionData, e.cycle), { tradeIncomeRateLineData: R } = Je(e.tradeIncomeRateData, e.cycle, e.incomeType, c), { tradePointData: Q, tradeLineData: oe } = $e(e.tradeLog, e.cycle, e.sellBuy, c, O);
901
- M.setOption(
917
+ })), { netPositionLineData: q } = Je(e.netPositionData, e.cycle), { tradeIncomeRateLineData: U } = Ke(e.tradeIncomeRateData, e.cycle, e.incomeType, N), { tradePointData: P, tradeLineData: re } = We(e.tradeLog, e.cycle, e.sellBuy, N, C, e.userKlineConfig);
918
+ a.setOption(
902
919
  {
903
920
  animation: !1,
904
921
  grid: {
@@ -910,10 +927,10 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
910
927
  dataZoom: [
911
928
  {
912
929
  type: "inside",
913
- startValue: g,
914
- endValue: x,
915
- minValueSpan: W.minValueSpan,
916
- maxValueSpan: W.maxValueSpan
930
+ startValue: I,
931
+ endValue: w,
932
+ minValueSpan: J.minValueSpan,
933
+ maxValueSpan: J.maxValueSpan
917
934
  }
918
935
  ],
919
936
  tooltip: {
@@ -924,44 +941,44 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
924
941
  type: "cross",
925
942
  label: {
926
943
  rich: {},
927
- formatter: (L) => {
928
- const { axisDimension: C, value: b } = L;
929
- return C === "x" ? ["6", "7", "8"].includes(e.cycle) ? I(b).format("YYYY-MM-DD") : b : String(u(b));
944
+ formatter: (m) => {
945
+ const { axisDimension: b, value: k } = m;
946
+ return b === "x" ? ["6", "7", "8"].includes(e.cycle) ? Y(k).format("YYYY-MM-DD") : k : String(r(k));
930
947
  }
931
948
  }
932
949
  },
933
- formatter: (L) => {
934
- if (!(L != null && L.length))
950
+ formatter: (m) => {
951
+ if (!(m != null && m.length))
935
952
  return null;
936
- let C = "";
937
- if (L.forEach((k) => {
938
- if (k.seriesName === "netPosition" && k.data !== null && (C += `<div>资产持仓净值: ${k.data[1]}</div>`), k.componentSubType === "candlestick")
953
+ let b = "";
954
+ if (m.forEach((v) => {
955
+ if (v.seriesName === "netPosition" && v.data !== null && (b += `<div>资产持仓净值: ${v.data[1]}</div>`), v.componentSubType === "candlestick")
939
956
  if (e.sellBuy === 0) {
940
- const K = Q.filter((V) => (V == null ? void 0 : V.coord[0]) === k.axisValue);
941
- let G = 0, B = 0;
942
- K.forEach((V) => {
943
- const { tradeType: q, amount: re } = V.customData;
944
- q === "买" && (G += re), q === "卖" && (B += re);
945
- }), G && (C += `<div>买: ${G}</div>`), B && (C += `<div>卖: ${B}</div>`);
957
+ const X = P.filter((B) => (B == null ? void 0 : B.coord[0]) === v.axisValue);
958
+ let G = 0, $ = 0;
959
+ X.forEach((B) => {
960
+ const { tradeType: ee, amount: se } = B.customData;
961
+ ee === "买" && (G += se), ee === "卖" && ($ += se);
962
+ }), G && (b += `<div>买: ${G}</div>`), $ && (b += `<div>卖: ${$}</div>`);
946
963
  } else
947
- Q.forEach((K) => {
948
- if ((K == null ? void 0 : K.coord[0]) === k.axisValue) {
949
- const { tradeType: G, amount: B, profitAndLoss: V, openPriceAll: q, closePriceAll: re } = K.customData;
950
- let X = `<div>${G}: ${B}手</div>`;
951
- if (G.includes("开") && (X += `<div>开仓价: ${(q / B).toFixed(2)}</div>`), G.includes("平")) {
952
- const ge = (q / B).toFixed(2), Ie = (re / B).toFixed(2);
953
- X += `<div>平仓价: ${Ie}</div>`, X += `<div>盈亏: ${V == null ? void 0 : V.toFixed(2)}</div>`, X += `<div>盈亏比率: ${((Ie - ge) / ge * 100).toFixed(2)} %</div>`;
964
+ P.forEach((X) => {
965
+ if ((X == null ? void 0 : X.coord[0]) === v.axisValue) {
966
+ const { tradeType: G, amount: $, profitAndLoss: B, openPriceAll: ee, closePriceAll: se } = X.customData;
967
+ let te = `<div>${G}: ${$}手</div>`;
968
+ if (G.includes("开") && (te += `<div>开仓价: ${(ee / $).toFixed(2)}</div>`), G.includes("平")) {
969
+ const Ie = (ee / $).toFixed(2), Ye = (se / $).toFixed(2);
970
+ te += `<div>平仓价: ${Ye}</div>`, te += `<div>盈亏: ${B == null ? void 0 : B.toFixed(2)}</div>`, te += `<div>盈亏比率: ${((Ye - Ie) / Ie * 100).toFixed(2)} %</div>`;
954
971
  }
955
- C += X;
972
+ b += te;
956
973
  }
957
974
  });
958
- }), !C)
975
+ }), !b)
959
976
  return null;
960
- let b = L[0].axisValue;
961
- return ["6", "7", "8"].includes(e.cycle) && (b = I(b).format("YYYY-MM-DD")), `
977
+ let k = m[0].axisValue;
978
+ return ["6", "7", "8"].includes(e.cycle) && (k = Y(k).format("YYYY-MM-DD")), `
962
979
  <div>
963
- <span style="font-weight: bold;">${b}</span>
964
- ${C}
980
+ <span style="font-weight: bold;">${k}</span>
981
+ ${b}
965
982
  </div>
966
983
  `;
967
984
  }
@@ -969,12 +986,12 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
969
986
  xAxis: {
970
987
  show: !0,
971
988
  type: "category",
972
- data: c,
989
+ data: N,
973
990
  splitLine: {
974
991
  show: !1
975
992
  },
976
993
  axisLabel: {
977
- formatter: (L) => ["6", "7", "8"].includes(e.cycle) ? I(L).format("YYYY-MM-DD") : L
994
+ formatter: (m) => ["6", "7", "8"].includes(e.cycle) ? Y(m).format("YYYY-MM-DD") : m
978
995
  }
979
996
  },
980
997
  yAxis: [
@@ -990,24 +1007,24 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
990
1007
  color: "#333"
991
1008
  }
992
1009
  },
993
- min: (L) => {
994
- const { min: C, max: b } = L, k = Math.abs((b - C) / 10);
995
- return u(C - k);
1010
+ min: (m) => {
1011
+ const { min: b, max: k } = m, v = Math.abs((k - b) / 10);
1012
+ return r(b - v);
996
1013
  },
997
- max: (L) => {
998
- const { min: C, max: b } = L, k = Math.abs((b - C) / 10);
999
- return u(b + k);
1014
+ max: (m) => {
1015
+ const { min: b, max: k } = m, v = Math.abs((k - b) / 10);
1016
+ return r(k + v);
1000
1017
  }
1001
1018
  },
1002
1019
  {
1003
1020
  show: !1,
1004
- min: (L) => {
1005
- const { min: C, max: b } = L, k = Math.abs((b - C) / 10);
1006
- return C - k;
1021
+ min: (m) => {
1022
+ const { min: b, max: k } = m, v = Math.abs((k - b) / 10);
1023
+ return b - v;
1007
1024
  },
1008
- max: (L) => {
1009
- const { min: C, max: b } = L, k = Math.abs((b - C) / 10);
1010
- return b + k;
1025
+ max: (m) => {
1026
+ const { min: b, max: k } = m, v = Math.abs((k - b) / 10);
1027
+ return k + v;
1011
1028
  }
1012
1029
  }
1013
1030
  ],
@@ -1016,9 +1033,9 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1016
1033
  {
1017
1034
  type: "candlestick",
1018
1035
  name: "kLine",
1019
- data: O,
1020
- markPoint: { data: [...Q] },
1021
- markLine: { data: [...oe] },
1036
+ data: C,
1037
+ markPoint: { data: [...P] },
1038
+ markLine: { data: [...re] },
1022
1039
  itemStyle: {
1023
1040
  color: "transparent",
1024
1041
  color0: "#00FFFF",
@@ -1031,7 +1048,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1031
1048
  {
1032
1049
  type: "line",
1033
1050
  name: "netPosition",
1034
- data: J,
1051
+ data: q,
1035
1052
  symbol: "none",
1036
1053
  yAxisIndex: 1,
1037
1054
  connectNulls: !0,
@@ -1046,7 +1063,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1046
1063
  {
1047
1064
  type: "line",
1048
1065
  name: "tradeIncomeRate",
1049
- data: R,
1066
+ data: U,
1050
1067
  symbol: "none",
1051
1068
  yAxisIndex: 1,
1052
1069
  connectNulls: !1,
@@ -1077,25 +1094,25 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1077
1094
  }
1078
1095
  },
1079
1096
  !0
1080
- ), e.userKlineConfig.enable_subChart && l.setOption(Ge(a.value, g, x), !0), de(), De(), D.value = x;
1097
+ ), e.userKlineConfig.enable_subChart && c.setOption($e(t.value, I, w), !0), De(), Te(), z.value = w;
1081
1098
  {
1082
- const L = [];
1083
- if (e.userKlineConfig.enable_tradeLogBrush && Q.length) {
1084
- const [C, b] = [Q[0].coord[0], Q.at(-1).coord[0]], k = le(c, [C, b], e.cycle);
1085
- L.push({
1099
+ const m = [];
1100
+ if (e.userKlineConfig.enable_tradeLogBrush && P.length) {
1101
+ const [b, k] = [P[0].coord[0], P.at(-1).coord[0]], v = ue(N, [b, k], e.cycle);
1102
+ m.push({
1086
1103
  brushId: "开平仓范围",
1087
1104
  brushType: "lineX",
1088
1105
  xAxisIndex: 0,
1089
- coordRange: k
1106
+ coordRange: v
1090
1107
  });
1091
1108
  }
1092
1109
  if (e.syncBrushRange.cycleList.includes(e.cycle)) {
1093
- const { startTime: C, endTime: b } = e.syncBrushRange, k = le(c, [C, b], e.cycle);
1094
- L.push({
1110
+ const { startTime: b, endTime: k } = e.syncBrushRange, v = ue(N, [b, k], e.cycle);
1111
+ m.push({
1095
1112
  brushId: "同步刷选范围",
1096
1113
  brushType: "lineX",
1097
1114
  xAxisIndex: 0,
1098
- coordRange: k,
1115
+ coordRange: v,
1099
1116
  brushStyle: {
1100
1117
  fill: "rgba(64, 158, 255, 0.2)",
1101
1118
  stroke: "rgba(64, 158, 255, 0.8)",
@@ -1104,12 +1121,12 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1104
1121
  });
1105
1122
  }
1106
1123
  if (e.positionTime) {
1107
- const [C, b] = [I(e.positionTime).format("YYYY-MM-DD 00:00:00"), I(e.positionTime).format("YYYY-MM-DD 23:59:59")], k = le(c, [C, b], e.cycle);
1108
- L.push({
1124
+ const [b, k] = [Y(e.positionTime).format("YYYY-MM-DD 00:00:00"), Y(e.positionTime).format("YYYY-MM-DD 23:59:59")], v = ue(N, [b, k], e.cycle);
1125
+ m.push({
1109
1126
  brushId: "强制定位高亮",
1110
1127
  brushType: "lineX",
1111
1128
  xAxisIndex: 0,
1112
- coordRange: k,
1129
+ coordRange: v,
1113
1130
  brushStyle: {
1114
1131
  fill: "rgba(217, 179, 255, 0.2)",
1115
1132
  stroke: "rgba(217, 179, 255, 0.8)",
@@ -1117,25 +1134,25 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1117
1134
  }
1118
1135
  });
1119
1136
  }
1120
- M.dispatchAction({
1137
+ a.dispatchAction({
1121
1138
  type: "brush",
1122
- areas: L
1139
+ areas: m
1123
1140
  });
1124
1141
  }
1125
- }, De = () => {
1126
- var oe;
1127
- if (!e.userKlineConfig.enable_showScreenMaxPrice || !a.value.time.length)
1142
+ }, Te = () => {
1143
+ var re;
1144
+ if (!e.userKlineConfig.enable_showScreenMaxPrice || !t.value.time.length)
1128
1145
  return;
1129
- const { data: t } = a.value, o = M.getOption(), { startValue: c, endValue: O } = (o == null ? void 0 : o.dataZoom[0]) ?? {};
1130
- let A = 0, g = c;
1131
- for (let L = c; L <= O; L++)
1132
- Number(t[L][3]) >= A && (A = Number(t[L][3]), g = L);
1133
- const x = ((oe = o.series) == null ? void 0 : oe.filter((L) => L.name !== "maxPrice")) || [], S = O - c, J = (g - c) / S;
1134
- let R = "right", Q = `←${A}`;
1135
- J > 0.7 ? (R = "left", Q = `${u(A)}→`) : (R = "right", Q = `←${u(A)}`), M == null || M.setOption(
1146
+ const { data: M } = t.value, o = a.getOption(), { startValue: N, endValue: C } = (o == null ? void 0 : o.dataZoom[0]) ?? {};
1147
+ let A = 0, I = N;
1148
+ for (let m = N; m <= C; m++)
1149
+ Number(M[m][3]) >= A && (A = Number(M[m][3]), I = m);
1150
+ const w = ((re = o.series) == null ? void 0 : re.filter((m) => m.name !== "maxPrice")) || [], S = C - N, q = (I - N) / S;
1151
+ let U = "right", P = `←${A}`;
1152
+ q > 0.7 ? (U = "left", P = `${r(A)}→`) : (U = "right", P = `←${r(A)}`), a == null || a.setOption(
1136
1153
  {
1137
1154
  series: [
1138
- ...x,
1155
+ ...w,
1139
1156
  {
1140
1157
  type: "line",
1141
1158
  name: "maxPrice",
@@ -1152,8 +1169,8 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1152
1169
  zlevel: 10,
1153
1170
  label: {
1154
1171
  show: !0,
1155
- position: R,
1156
- formatter: Q,
1172
+ position: U,
1173
+ formatter: P,
1157
1174
  color: "#fff",
1158
1175
  fontSize: 12,
1159
1176
  padding: [4, -4]
@@ -1161,7 +1178,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1161
1178
  data: [
1162
1179
  {
1163
1180
  name: "最高点",
1164
- coord: [g, A]
1181
+ coord: [I, A]
1165
1182
  }
1166
1183
  ]
1167
1184
  }
@@ -1175,185 +1192,185 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1175
1192
  // 不替换任何配置
1176
1193
  }
1177
1194
  );
1178
- }, he = (t) => {
1179
- const [o, c] = Le({
1180
- startTime: t.startTime,
1181
- endTime: t.endTime,
1195
+ }, be = (M) => {
1196
+ const [o, N] = me({
1197
+ startTime: M.startTime,
1198
+ endTime: M.endTime,
1182
1199
  cycle: e.cycle
1183
1200
  });
1184
- Z({ startTime: o, endTime: c });
1185
- }, Te = ({ code: t, ctrlKey: o }) => {
1186
- if (!(o || z.value))
1201
+ F({ startTime: o, endTime: N });
1202
+ }, ge = ({ code: M, ctrlKey: o }) => {
1203
+ if (!(o || d.value))
1187
1204
  return;
1188
- const { xAxis: c, dataZoom: O } = M.getOption(), { data: A } = (c == null ? void 0 : c[0]) ?? { data: [] };
1189
- let { startValue: g, endValue: x } = (O == null ? void 0 : O[0]) ?? {};
1205
+ const { xAxis: N, dataZoom: C } = a.getOption(), { data: A } = (N == null ? void 0 : N[0]) ?? { data: [] };
1206
+ let { startValue: I, endValue: w } = (C == null ? void 0 : C[0]) ?? {};
1190
1207
  if (A != null && A.length) {
1191
- switch (t) {
1208
+ switch (M) {
1192
1209
  case "ArrowUp": {
1193
- if (x - g < 5)
1210
+ if (w - I < 5)
1194
1211
  return;
1195
- const S = Math.floor((x - g) / 2) + 1;
1196
- g = g + S, x - g < 5 && (g = x - 4);
1212
+ const S = Math.floor((w - I) / 2) + 1;
1213
+ I = I + S, w - I < 5 && (I = w - 4);
1197
1214
  break;
1198
1215
  }
1199
1216
  case "ArrowDown": {
1200
- const S = Math.min(500, x - g);
1201
- g = g - S - 1;
1217
+ const S = Math.min(500, w - I);
1218
+ I = I - S - 1;
1202
1219
  break;
1203
1220
  }
1204
1221
  case "ArrowLeft": {
1205
- g > 0 && (g -= 1, x -= 1), D.value > 0 && (D.value -= 1);
1222
+ I > 0 && (I -= 1, w -= 1), z.value > 0 && (z.value -= 1);
1206
1223
  break;
1207
1224
  }
1208
1225
  case "ArrowRight": {
1209
- x < A.length - 1 && (g += 1, x += 1), z.value && D.value < A.length - 1 && (D.value += 1);
1226
+ w < A.length - 1 && (I += 1, w += 1), d.value && z.value < A.length - 1 && (z.value += 1);
1210
1227
  break;
1211
1228
  }
1212
1229
  }
1213
- M.dispatchAction({
1230
+ a.dispatchAction({
1214
1231
  type: "dataZoom",
1215
- startValue: g,
1216
- endValue: x
1217
- }), M.dispatchAction({
1232
+ startValue: I,
1233
+ endValue: w
1234
+ }), a.dispatchAction({
1218
1235
  type: "updateAxisPointer",
1219
1236
  seriesIndex: 0,
1220
- dataIndex: z.value ? D.value : null
1221
- }), M.dispatchAction({
1237
+ dataIndex: d.value ? z.value : null
1238
+ }), a.dispatchAction({
1222
1239
  type: "highlight",
1223
- dataIndex: z.value ? D.value : x
1240
+ dataIndex: d.value ? z.value : w
1224
1241
  });
1225
1242
  }
1226
1243
  };
1227
1244
  return xe(() => {
1228
- const [t, o] = e.initTimeRange;
1229
- Z({ startTime: t, endTime: o });
1230
- }), te(
1245
+ const [M, o] = e.initTimeRange;
1246
+ F({ startTime: M, endTime: o });
1247
+ }), ae(
1231
1248
  () => [e.varietyCode, e.initTimeRange],
1232
1249
  () => {
1233
- const [t, o] = e.initTimeRange;
1234
- Z({ startTime: t, endTime: o });
1250
+ const [M, o] = e.initTimeRange;
1251
+ F({ startTime: M, endTime: o });
1235
1252
  },
1236
1253
  { deep: !0 }
1237
- ), te(
1254
+ ), ae(
1238
1255
  () => [e.cycle],
1239
1256
  () => {
1240
1257
  var A;
1241
- const { startValue: t, endValue: o } = ((A = M.getOption()) == null ? void 0 : A.dataZoom[0]) ?? {}, [c, O] = Le({
1242
- startTime: a.value.time[t],
1243
- endTime: a.value.time[o],
1258
+ const { startValue: M, endValue: o } = ((A = a.getOption()) == null ? void 0 : A.dataZoom[0]) ?? {}, [N, C] = me({
1259
+ startTime: t.value.time[M],
1260
+ endTime: t.value.time[o],
1244
1261
  cycle: e.cycle,
1245
1262
  type: "middle"
1246
1263
  });
1247
- Z({ startTime: c, endTime: O });
1264
+ F({ startTime: N, endTime: C });
1248
1265
  },
1249
1266
  { deep: !0 }
1250
- ), te(
1267
+ ), ae(
1251
1268
  () => {
1252
- var t, o;
1253
- return [e.mainIndicator, p.value, (t = e.indicatorStore) == null ? void 0 : t.filterIndicator, (o = e.indicatorStore) == null ? void 0 : o.customIndicator, e.rightType, e.klineType];
1269
+ var M, o;
1270
+ return [e.mainIndicator, y.value, (M = e.indicatorStore) == null ? void 0 : M.filterIndicator, (o = e.indicatorStore) == null ? void 0 : o.customIndicator, e.rightType, e.klineType];
1254
1271
  },
1255
1272
  () => {
1256
1273
  var A;
1257
- const { startValue: t, endValue: o } = ((A = M.getOption()) == null ? void 0 : A.dataZoom[0]) ?? {}, [c, O] = [a.value.time[t], a.value.time[o]];
1258
- Z({ startTime: c, endTime: O });
1274
+ const { startValue: M, endValue: o } = ((A = a.getOption()) == null ? void 0 : A.dataZoom[0]) ?? {}, [N, C] = [t.value.time[M], t.value.time[o]];
1275
+ F({ startTime: N, endTime: C });
1259
1276
  },
1260
1277
  { deep: !0 }
1261
- ), te(
1278
+ ), ae(
1262
1279
  () => [e.sellBuy, e.tradeLog, e.netPositionData, e.incomeType, e.tradeIncomeRateData],
1263
1280
  () => {
1264
- var c;
1265
- const { startValue: t, endValue: o } = ((c = M.getOption()) == null ? void 0 : c.dataZoom[0]) ?? {};
1266
- ne({ startValue: t, endValue: o });
1281
+ var N;
1282
+ const { startValue: M, endValue: o } = ((N = a.getOption()) == null ? void 0 : N.dataZoom[0]) ?? {};
1283
+ oe({ startValue: M, endValue: o });
1267
1284
  },
1268
1285
  { deep: !0 }
1269
- ), fe(() => {
1270
- M.off("highlight"), M.off("globalout"), M.off("datazoom"), M.getZr().off("contextmenu"), window.removeEventListener("keydown", Te), M.dispose(), l == null || l.dispose(), N.dispose(), N = null;
1271
- }), y({
1272
- screenTimeRange: i,
1273
- contextmenuKlineTime: s,
1286
+ ), Oe(() => {
1287
+ a.off("highlight"), a.off("globalout"), a.off("datazoom"), a.getZr().off("contextmenu"), window.removeEventListener("keydown", ge), a.dispose(), c == null || c.dispose(), l.dispose(), l = null;
1288
+ }), j({
1289
+ screenTimeRange: n,
1290
+ contextmenuKlineTime: T,
1274
1291
  reDraw: () => {
1275
- var c;
1276
- const { startValue: t, endValue: o } = ((c = M.getOption()) == null ? void 0 : c.dataZoom[0]) ?? {};
1277
- ne({ startValue: t, endValue: o });
1292
+ var N;
1293
+ const { startValue: M, endValue: o } = ((N = a.getOption()) == null ? void 0 : N.dataZoom[0]) ?? {};
1294
+ oe({ startValue: M, endValue: o });
1278
1295
  }
1279
- }), (t, o) => {
1280
- const c = ve, O = Ee, A = ke, g = be;
1281
- return Pe((U(), H("div", {
1296
+ }), (M, o) => {
1297
+ const N = ve, C = Ee, A = ke, I = he;
1298
+ return Pe((_(), Z("div", {
1282
1299
  class: "kline-plus",
1283
- onMousemove: o[1] || (o[1] = (x) => z.value = !0),
1284
- onMouseout: o[2] || (o[2] = (x) => z.value = !1)
1300
+ onMousemove: o[1] || (o[1] = (w) => d.value = !0),
1301
+ onMouseout: o[2] || (o[2] = (w) => d.value = !1)
1285
1302
  }, [
1286
- $("div", tt, [
1287
- $("div", Mt, [
1288
- ee(ue, { data: v.value }, null, 8, ["data"]),
1289
- ee(ue, { data: P.value }, null, 8, ["data"])
1303
+ W("div", Mt, [
1304
+ W("div", at, [
1305
+ Me(je, { data: O.value }, null, 8, ["data"]),
1306
+ Me(je, { data: E.value }, null, 8, ["data"])
1290
1307
  ]),
1291
- n.userKlineConfig.enable_showScreenTimeRange ? (U(), H("span", at, Me(i.value[0]) + " - " + Me(i.value[1]), 1)) : se("", !0),
1292
- $("div", {
1308
+ i.userKlineConfig.enable_showScreenTimeRange ? (_(), Z("span", it, ie(n.value[0]) + " - " + ie(n.value[1]), 1)) : le("", !0),
1309
+ W("div", {
1293
1310
  ref_key: "mainChartRef",
1294
- ref: r,
1311
+ ref: L,
1295
1312
  class: "chart"
1296
1313
  }, null, 512)
1297
1314
  ]),
1298
- n.userKlineConfig.enable_subChart ? (U(), H("div", it, [
1299
- $("div", nt, [
1300
- $("div", ot, [
1301
- $("span", null, Me(p.value), 1),
1302
- ee(O, {
1303
- modelValue: p.value,
1304
- "onUpdate:modelValue": o[0] || (o[0] = (x) => p.value = x),
1315
+ i.userKlineConfig.enable_subChart ? (_(), Z("div", nt, [
1316
+ W("div", ot, [
1317
+ W("div", rt, [
1318
+ W("span", null, ie(y.value), 1),
1319
+ Me(C, {
1320
+ modelValue: y.value,
1321
+ "onUpdate:modelValue": o[0] || (o[0] = (w) => y.value = w),
1305
1322
  style: { width: "100px", "margin-right": "4px", height: "25px" },
1306
1323
  size: "small",
1307
1324
  class: "element-dark",
1308
1325
  "popper-class": "element-dark"
1309
1326
  }, {
1310
1327
  default: Re(() => [
1311
- (U(!0), H(Ae, null, we(n.indicatorStore.subIndicatorList, (x, S) => (U(), Ye(c, {
1328
+ (_(!0), Z(pe, null, we(i.indicatorStore.subIndicatorList, (w, S) => (_(), Le(N, {
1312
1329
  key: S,
1313
- label: x.label,
1314
- value: x.value
1330
+ label: w.label,
1331
+ value: w.value
1315
1332
  }, null, 8, ["label", "value"]))), 128))
1316
1333
  ]),
1317
1334
  _: 1
1318
1335
  }, 8, ["modelValue"])
1319
1336
  ]),
1320
- ee(ue, { data: _.value }, null, 8, ["data"])
1337
+ Me(je, { data: R.value }, null, 8, ["data"])
1321
1338
  ]),
1322
- $("div", {
1339
+ W("div", {
1323
1340
  ref_key: "subChartRef",
1324
- ref: f,
1341
+ ref: x,
1325
1342
  class: "chart"
1326
1343
  }, null, 512)
1327
- ])) : se("", !0),
1328
- n.userKlineConfig.enable_sliderChart ? (U(), H("div", rt, [
1329
- ee(et, {
1344
+ ])) : le("", !0),
1345
+ i.userKlineConfig.enable_sliderChart ? (_(), Z("div", st, [
1346
+ Me(tt, {
1330
1347
  ref_key: "sliderChartRef",
1331
- ref: w,
1332
- screenTimeRange: i.value,
1333
- varietyCode: n.varietyCode,
1334
- varietyStock: n.varietyStock,
1335
- rightType: n.rightType,
1336
- klineType: n.klineType,
1348
+ ref: p,
1349
+ screenTimeRange: n.value,
1350
+ varietyCode: i.varietyCode,
1351
+ varietyStock: i.varietyStock,
1352
+ rightType: i.rightType,
1353
+ klineType: i.klineType,
1337
1354
  deleteFirstNumber: e.deleteFirstNumber,
1338
1355
  withoutPermission: e.withoutPermission,
1339
- onChange: he
1356
+ onChange: be
1340
1357
  }, null, 8, ["screenTimeRange", "varietyCode", "varietyStock", "rightType", "klineType", "deleteFirstNumber", "withoutPermission"])
1341
- ])) : se("", !0),
1342
- a.value.time.length ? se("", !0) : (U(), Ye(A, {
1358
+ ])) : le("", !0),
1359
+ t.value.time.length ? le("", !0) : (_(), Le(A, {
1343
1360
  key: 2,
1344
1361
  class: "empty",
1345
1362
  description: "暂无数据"
1346
1363
  }))
1347
1364
  ], 32)), [
1348
- [g, Y.value]
1365
+ [I, D.value]
1349
1366
  ]);
1350
1367
  };
1351
1368
  }
1352
- }, Nt = /* @__PURE__ */ ze(st, [["__scopeId", "data-v-402d6033"]]), vt = {
1353
- install(n) {
1354
- n.component("st-klinePlus", Nt);
1369
+ }, Nt = /* @__PURE__ */ de(lt, [["__scopeId", "data-v-5c46a7a5"]]), Et = {
1370
+ install(i) {
1371
+ i.component("st-klinePlus", Nt);
1355
1372
  }
1356
1373
  };
1357
1374
  export {
1358
- vt as default
1375
+ Et as default
1359
1376
  };