st-comp 0.0.170 → 0.0.171

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