st-comp 0.0.171 → 0.0.173

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