st-comp 0.0.170 → 0.0.172

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";
2
+ import { v as he } from "./el-loading-5d29f26d.js";
3
3
  import { E as be } 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";
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 Ne, withCtx as Pe, createBlock as Ie } from "vue";
9
+ import { d as I } from "./dayjs.min-54a4e095.js";
10
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";
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: r, type: N = "end" }) => {
50
+ const { maxValueSpan: j } = W, Y = Math.ceil((j + 1e3) / _e[r]), 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 r = i[z], N = z === 0 ? i[z] : i[z - 1];
64
+ return r[0] === r[1] ? r[0] >= N[1] ? {
65
65
  color: "transparent",
66
66
  borderColor: "#FF0000"
67
67
  } : {
68
68
  color: "#00FFFF"
69
- } : u[1] > u[0] ? {
69
+ } : r[1] > r[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, r) => {
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: r,
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, r = "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 (r === "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
+ r === "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 r === "strict" ? -1 : Y;
214
+ }, Le = (i, z) => ({
215
+ data: [...i.data, ...z.data.slice(1)],
216
+ mainIndicator: i.mainIndicator.map((r, N) => ({
217
+ ...r,
218
+ data: [...r.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((r, N) => ({
221
+ ...r,
222
+ data: [...r.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, r) => {
226
+ switch (r) {
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), s = String(a.getHours()).padStart(2, "0"), m = String(a.getMinutes()).padStart(2, "0"), b = String(a.getSeconds()).padStart(2, "0");
232
+ return `${s}:${m}:${b}`;
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), c = 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 `${c}-${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 s = L[a].split(":");
244
+ if (+`${s[0]}${s[1]}${s[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 s = a.getFullYear(), m = String(a.getMonth() + 1).padStart(2, "0"), b = String(a.getDate()).padStart(2, "0");
253
+ return `${s}-${m}-${b} 00:00:00`;
254
254
  }
255
- return `${N}-${l}-${M} ${d}`;
255
+ return `${c}-${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 c = L.getFullYear(), u = String(L.getMonth() + 1).padStart(2, "0"), M = String(L.getDate()).padStart(2, "0");
262
+ return `${c}-${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 c = new Date(z);
265
+ c.getHours() >= 21 && c.setDate(c.getDate() + 1);
266
+ const u = c.getFullYear(), M = String(c.getMonth() + 1).padStart(2, "0"), p = String(c.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 c = new Date(T);
274
+ c.setDate(T.getDate() + 5), c.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 <= c ? c : 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), c = new Date(T);
282
+ c.setDate(T.getDate() - 1), c.setHours(9, 0, 0, 0);
283
+ const u = c.getFullYear(), M = String(c.getMonth() + 1).padStart(2, "0"), p = String(c.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 c = Math.floor(e / L);
290
+ e % L === 0 && O === 0 ? T = e : T = (c + 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), s = n(l.getDate()), m = n(l.getHours()), b = n(l.getMinutes());
292
+ return `${D}-${a}-${s} ${m}:${b}:00`;
293
293
  };
294
- switch (u) {
294
+ switch (r) {
295
295
  case "1":
296
296
  return E(1);
297
297
  case "2":
@@ -301,59 +301,59 @@ 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} ${r}`);
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, r) => {
307
+ let N = null, j = null;
308
+ const [Y, g] = z;
309
+ switch (r) {
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((r, N) => {
330
+ const j = `${N.coord[0]}+${N.label.position}`, Y = N.label.position === "top" ? -16 : 16, g = r.get(j);
331
+ return g ? (r.set(j, g + 1), N.symbolOffset[1] = Y * (g + 1)) : (r.set(j, 1), N.symbolOffset[1] = N.label.position === "top" ? -7 : 7), z.push(N), r;
332
+ }, /* @__PURE__ */ new Map()), z;
333
+ }, $e = (i, z, r, N, j) => {
334
+ const Y = (T, c) => {
335
+ const { direction: u = "", tradeAction: M = "", tradeType: p = "" } = T, l = p ?? u + M;
336
+ switch (c) {
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, c, 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)))];
349
+ const n = Y(l, 0), D = T.filter((P) => P.klineTime === l.klineTime), a = [...new Set(D.map((P) => Y(P, 0)))];
350
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]);
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": Ve }))[`./images/${n === "买" ? "buy" : "sell"}.svg`], self.location).href;
352
+ const m = ue(u, l.klineTime), b = (S = M[m]) == null ? void 0 : S[3];
353
+ return c.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
358
  symbol: s,
359
359
  symbolSize: 25,
@@ -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, b],
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) => {
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);
383
+ }, []), d = (T, c, u, M) => T.reduce((p, l, n) => {
384
+ var b, S;
385
+ const D = Y(l, 1), a = ["开多", "开空"].includes(D) ? "top" : "bottom", s = ue(u, l.klineTime), m = a === "top" ? (b = M[s]) == null ? void 0 : b[3] : (S = M[s]) == null ? void 0 : S[2];
386
+ return c.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,33 +394,33 @@ 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(
417
+ }, []), e = (T, c, u) => {
418
+ const { basePointData: M, baseLineData: p } = T.reduce(
419
419
  (a, s) => {
420
420
  const m = {
421
421
  pointTime: s.openTime,
422
422
  // 交易点位的真实时间
423
- klineTime: Le(l, s.openTime, N),
423
+ klineTime: je(u, s.openTime, c),
424
424
  // 交易点位的K线时间
425
425
  tradeAction: "开",
426
426
  // 交易行为
@@ -437,10 +437,10 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
437
437
  // 开仓价格
438
438
  closePriceAll: s.closePrice * s.tradeVolume
439
439
  // 平仓价格
440
- }, h = {
440
+ }, b = {
441
441
  pointTime: s.closeTime,
442
442
  // 交易点位的真实时间
443
- klineTime: Le(l, s.closeTime, N),
443
+ klineTime: je(u, s.closeTime, c),
444
444
  // 交易点位的K线时间
445
445
  tradeAction: "平",
446
446
  // 交易行为
@@ -458,10 +458,10 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
458
458
  closePriceAll: s.closePrice * s.tradeVolume
459
459
  // 平仓价格
460
460
  };
461
- return a.basePointData.push(m, h), a.baseLineData.push({
462
- range: [m.klineTime, h.klineTime],
461
+ return a.basePointData.push(m, b), a.baseLineData.push({
462
+ range: [m.klineTime, b.klineTime],
463
463
  rangeValue: [null, null],
464
- color: h.profitAndLoss > 0 ? "#FF0000" : "#389e0d"
464
+ color: b.profitAndLoss > 0 ? "#FF0000" : "#389e0d"
465
465
  }), a;
466
466
  },
467
467
  {
@@ -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;
475
- if (a.has(h)) {
476
- const S = a.get(h);
473
+ ), n = [...M.reduce((a, s) => {
474
+ const m = JSON.parse(JSON.stringify(s)), b = m.klineTime + m.tradeType;
475
+ if (a.has(b)) {
476
+ const S = a.get(b);
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
- 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);
479
+ return a.set(b, 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: 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: (r === 0 ? g : d)(O, E, N, j),
485
+ tradeLineData: E.map(({ range: T, rangeValue: c, 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], c[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], c[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 r = [];
503
+ if (Number(z) <= 5)
504
+ r = 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
+ r = Array.from(N, ([j, Y]) => [j, Y]);
511
511
  } else
512
- u = [];
513
- return { netPositionLineData: u };
512
+ r = [];
513
+ return { netPositionLineData: r };
514
+ }, Je = (i, z, r, 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[r === 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, r) => (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线当屏时间范围
@@ -540,9 +551,9 @@ const Ke = {
540
551
  // 品种市场类型: 0-期货, 1-股票, 2-期权
541
552
  varietyStock: { type: Number, required: !0 },
542
553
  // 复权选项 [股票]
543
- rightType: { type: Number, required: !0 },
554
+ rightType: { type: [Number, null], default: null },
544
555
  // 常用选项 [期货]
545
- klineType: { type: Number, required: !0 },
556
+ klineType: { type: [Number, null], default: null },
546
557
  // 业务系统相关
547
558
  deleteFirstNumber: { type: Number, default: 1 },
548
559
  // 绩效标记
@@ -550,57 +561,46 @@ 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: r }) {
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 = r, 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 c = {
575
+ varietyCode: d.varietyCode,
565
576
  cycle: "6",
577
+ right: d.varietyStock === 1 ? d.rightType : 0,
578
+ // 复权方式
579
+ contractType: d.varietyStock ? null : d.klineType,
580
+ // 合约类型
566
581
  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
570
- };
571
- switch (T.varietyStock) {
572
- case 0: {
573
- Object.assign(N, {
574
- contractType: T.klineType
575
- });
576
- break;
577
- }
578
- case 1: {
579
- Object.assign(N, {
580
- right: T.rightType
581
- });
582
- break;
583
- }
584
- }
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)
582
+ endTime: I().format("YYYY-MM-DD 23:59:59"),
583
+ deleteFirstNumber: d.deleteFirstNumber,
584
+ withoutPermission: d.withoutPermission
585
+ }, { body: u } = await N.post("/middleLayer/kline/getKline", c);
586
+ u ? e.value = u : e.value = { data: [], mainIndicator: [], subIndicator: [], time: [] }, T("init");
587
+ }, E = ae((c) => {
588
+ if (!c.dataZoomId)
589
589
  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 });
590
+ const u = j.getOption();
591
+ if (u != null && u.dataZoom[0]) {
592
+ 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`;
593
+ console.log(`检测到拖拽轴被拖动, 时间区间: ${n} - ${D}`), g("change", { startTime: n, endTime: D });
594
594
  }
595
- }, 200), Y = ae(({ startTime: N, endTime: l }) => {
596
- D("reset", { startTime: N, endTime: l });
597
- }, 100), D = (N, l) => {
598
- switch (N) {
595
+ }, 200), L = ae(({ startTime: c, endTime: u }) => {
596
+ T("reset", { startTime: c, endTime: u });
597
+ }, 100), T = (c, u) => {
598
+ switch (c) {
599
599
  case "init": {
600
- const { data: M, time: p } = e.value, { xAxisData: r, lineData: i } = M.reduce(
600
+ const { data: M, time: p } = e.value, { xAxisData: l, lineData: n } = M.reduce(
601
601
  (a, s, m) => (a.xAxisData.push(p[m].split(" ")[0]), a.lineData.push(s[1]), a),
602
602
  { xAxisData: [], lineData: [] }
603
- ), d = {
603
+ ), D = {
604
604
  grid: {
605
605
  height: 0,
606
606
  left: "100px",
@@ -608,7 +608,7 @@ const Ke = {
608
608
  },
609
609
  xAxis: {
610
610
  type: "category",
611
- data: r,
611
+ data: l,
612
612
  show: !1
613
613
  },
614
614
  yAxis: {
@@ -631,67 +631,67 @@ const Ke = {
631
631
  ],
632
632
  series: [
633
633
  {
634
- data: i,
634
+ data: n,
635
635
  type: "line"
636
636
  }
637
637
  ]
638
638
  };
639
- if (j.setOption(d, !0), T.screenTimeRange.length) {
640
- const [a, s] = T.screenTimeRange;
641
- Y({ startTime: a, endTime: s });
639
+ if (j.setOption(D, !0), d.screenTimeRange.length) {
640
+ const [a, s] = d.screenTimeRange;
641
+ L({ startTime: a, endTime: s });
642
642
  }
643
643
  break;
644
644
  }
645
645
  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;
646
+ const { time: M } = e.value, p = I(u.startTime).format("YYYY-MM-DD"), l = I(u.endTime).format("YYYY-MM-DD");
647
+ let n = -1, D = -1;
648
648
  for (let a = 0; a < M.length; a++) {
649
- const s = g(M[a]).format("YYYY-MM-DD");
650
- if (i !== -1 && d !== -1)
649
+ const s = I(M[a]).format("YYYY-MM-DD");
650
+ if (n !== -1 && D !== -1)
651
651
  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));
652
+ n === -1 && (new Date(s) === new Date(p) ? n = a : new Date(s) > new Date(p) && (n = a - 1)), D === -1 && (new Date(s) === new Date(l) ? D = a : new Date(s) > new Date(l) && (D = a - 1));
653
653
  }
654
- d === -1 && (d = M.length - 1), j.dispatchAction({
654
+ D === -1 && (D = M.length - 1), j.dispatchAction({
655
655
  type: "dataZoom",
656
- startValue: i,
657
- endValue: d
656
+ startValue: n,
657
+ endValue: D
658
658
  });
659
659
  break;
660
660
  }
661
661
  }
662
662
  };
663
663
  return pe(() => {
664
- Ee(() => {
665
- j = se.init(L.value), j.on("datazoom", E), b();
664
+ Se(() => {
665
+ j = se.init(Y.value), j.on("datazoom", E), O();
666
666
  });
667
667
  }), te(
668
- () => T.screenTimeRange,
669
- (N) => {
670
- const [l, M] = N;
671
- Y({ startTime: l, endTime: M });
668
+ () => d.screenTimeRange,
669
+ (c) => {
670
+ const [u, M] = c;
671
+ L({ startTime: u, endTime: M });
672
672
  },
673
673
  { deep: !0 }
674
674
  ), xe(() => {
675
675
  j.off("datazoom"), j.dispose();
676
- }), y({
676
+ }), z({
677
677
  resize: ae(() => j.resize(), 100)
678
- }), (N, l) => (R(), H("div", {
678
+ }), (c, u) => (F(), _("div", {
679
679
  class: "chart",
680
680
  ref_key: "sliderChartRef",
681
- ref: L
681
+ ref: Y
682
682
  }, null, 512));
683
683
  }
684
- }, qe = /* @__PURE__ */ je(Ke, [["__scopeId", "data-v-5ab1ed2a"]]);
685
- const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
684
+ }, et = /* @__PURE__ */ ze(Xe, [["__scopeId", "data-v-0c715da1"]]);
685
+ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
686
686
  key: 0,
687
687
  class: "screen-time-range"
688
- }, Mt = {
688
+ }, it = {
689
689
  key: 0,
690
690
  class: "sub-chart"
691
- }, at = { class: "indicator" }, it = { class: "title" }, nt = {
691
+ }, nt = { class: "indicator" }, ot = { class: "title" }, Nt = {
692
692
  key: 1,
693
693
  class: "slider-chart"
694
- }, ot = {
694
+ }, st = {
695
695
  __name: "index",
696
696
  props: {
697
697
  varietyCode: { type: String, required: !0 },
@@ -704,8 +704,12 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
704
704
  // 交互选项
705
705
  cycle: { type: String, required: !0 },
706
706
  sellBuy: { type: Number, default: 1 },
707
- rightType: { type: Number, default: null },
708
- klineType: { type: Number, default: null },
707
+ rightType: { type: [Number, null], default: null },
708
+ // 复权类型
709
+ klineType: { type: [Number, null], default: null },
710
+ // 合约类型
711
+ incomeType: { type: Number, default: 0 },
712
+ // 收益计算类型 0-单利, 1-复利
709
713
  initTimeRange: { type: Array, required: !0 },
710
714
  mainIndicator: { type: String, required: !0 },
711
715
  // 绘制数据
@@ -713,6 +717,8 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
713
717
  // 成交数据
714
718
  netPositionData: { type: Array, default: () => [] },
715
719
  // 净值数据
720
+ tradeIncomeRateData: { type: Array, default: () => [] },
721
+ // 成交收益率数据
716
722
  // 强制定位高亮(非必填)
717
723
  positionTime: { type: [String, null], default: null },
718
724
  // 同步刷选范围(非必填)
@@ -723,16 +729,16 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
723
729
  withoutPermission: { type: Number, default: 0 }
724
730
  // 三方标记(不需要token授权)
725
731
  },
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({
732
+ setup(i, { expose: z }) {
733
+ const { round: r, formatValue: N } = fe, { request: j } = we("stConfig"), Y = U(), g = U(!1), d = U(!1), e = i;
734
+ let O = !1, E = !1, L = !1, T = !1, c = null, u = null, M = null;
735
+ const p = U(null), l = U(null), n = U({
730
736
  data: [],
731
737
  mainIndicator: [],
732
738
  subIndicator: [],
733
739
  time: []
734
- }), d = F(0), a = F([]), s = F(null), m = F("VOL"), h = re(() => {
735
- const t = i.value.data[d.value];
740
+ }), D = U(0), a = U([]), s = U(null), m = U("VOL"), b = re(() => {
741
+ const t = n.value.data[D.value];
736
742
  if (!t)
737
743
  return [
738
744
  { label: "开", value: "-" },
@@ -743,55 +749,55 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
743
749
  { label: "涨跌", value: "-" }
744
750
  ];
745
751
  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]) }
752
+ { label: "开", value: r(t[0]) },
753
+ { label: "高", value: r(t[3]) },
754
+ { label: "低", value: r(t[2]) },
755
+ { label: "收", value: r(t[1]) }
750
756
  ];
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;
757
+ t[4] !== null && o.push({ label: "额", value: N(t[4]) });
758
+ let y;
759
+ return t[6] > 0 ? y = "red" : t[6] < 0 && (y = "green"), o.push({ label: "涨跌", value: `${r(t[6])}%`, color: y }), o;
754
760
  }), S = re(() => {
755
761
  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(() => {
762
+ return ((o = (t = n.value) == null ? void 0 : t.mainIndicator) == null ? void 0 : o.map((y) => ({ label: y.key, value: r(y.data[D.value]), color: y.color }))) || [];
763
+ }), P = re(() => {
758
764
  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] || "-" }))) || [];
765
+ 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
766
  }), K = () => {
761
- M || (M = se.init(r.value), M.on(
767
+ M || (M = se.init(l.value), M.on(
762
768
  "highlight",
763
769
  ae((t) => {
764
770
  var o;
765
- t.dataIndex ? d.value = t.dataIndex : d.value = ((o = t.batch) == null ? void 0 : o[0].dataIndex) ?? -1;
771
+ t.dataIndex ? D.value = t.dataIndex : D.value = ((o = t.batch) == null ? void 0 : o[0].dataIndex) ?? -1;
766
772
  }, 10)
767
773
  ), M.on(
768
774
  "datazoom",
769
775
  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();
776
+ var C;
777
+ const { loadCheckCount: t } = W, { startValue: o, endValue: y } = ((C = M.getOption()) == null ? void 0 : C.dataZoom[0]) ?? {};
778
+ L === !1 && T === !1 && o < t && await ye("history"), O === !1 && E === !1 && y > n.value.time.length - t && await ye("new"), de();
773
779
  })
774
780
  ), M.on("globalout", () => {
775
781
  const t = M.getOption();
776
- d.value = t.dataZoom[0].endValue;
782
+ D.value = t.dataZoom[0].endValue;
777
783
  }), M.getZr().on("contextmenu", () => {
778
784
  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(() => {
785
+ s.value = (t = n.value) == null ? void 0 : t.time[D.value];
786
+ }), window.addEventListener("keydown", De), e.userKlineConfig.enable_subChart && (u = se.init(p.value), se.connect([M, u])), c = Re(l.value), c.listen(() => {
781
787
  requestAnimationFrame(() => {
782
788
  var t;
783
- M.resize(), l == null || l.resize(), (t = L.value) == null || t.resize();
789
+ M.resize(), u == null || u.resize(), (t = Y.value) == null || t.resize();
784
790
  });
785
791
  }));
786
- }, _ = async ({ startTime: t, endTime: o }) => {
787
- Y = !1, D = !1, b = !1, E = !1;
792
+ }, B = async ({ startTime: t, endTime: o }) => {
793
+ L = !1, T = !1, O = !1, E = !1;
788
794
  try {
789
- I.value = !0;
790
- const z = {
795
+ g.value = !0;
796
+ const y = {
791
797
  varietyCode: e.varietyCode,
792
798
  cycle: e.cycle,
793
799
  // 周期
794
- right: e.rightType,
800
+ right: e.varietyStock === 1 ? e.rightType : 0,
795
801
  // 复权方式
796
802
  contractType: e.varietyStock ? null : e.klineType,
797
803
  // 合约类型
@@ -800,64 +806,65 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
800
806
  deleteFirstNumber: e.deleteFirstNumber,
801
807
  withoutPermission: e.withoutPermission
802
808
  };
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")
809
+ ["1", "2", "3", "4", "5"].includes(e.cycle) ? Object.assign(y, {
810
+ startTime: I(t).subtract(1, "day").format("YYYY-MM-DD HH:mm:ss"),
811
+ endTime: I(o).add(1, "day").format("YYYY-MM-DD HH:mm:ss")
812
+ }) : ["6", "7"].includes(e.cycle) ? Object.assign(y, {
813
+ startTime: I(t).subtract(50, "day").format("YYYY-MM-DD HH:mm:ss"),
814
+ endTime: I(o).add(50, "day").format("YYYY-MM-DD HH:mm:ss")
815
+ }) : Object.assign(y, {
816
+ startTime: I(t).subtract(10, "month").format("YYYY-MM-DD HH:mm:ss"),
817
+ endTime: I(o).add(10, "month").format("YYYY-MM-DD HH:mm:ss")
812
818
  });
813
- const { body: O } = await j.post("/middleLayer/kline/getKline", z);
814
- i.value = O ?? { data: [], mainIndicator: [], subIndicator: [], time: [] };
819
+ const { body: C } = await j.post("/middleLayer/kline/getKline", y);
820
+ n.value = C ?? { data: [], mainIndicator: [], subIndicator: [], time: [] };
815
821
  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");
822
+ for (let w = 0; w < n.value.time.length; w++) {
823
+ const Q = I(n.value.time[w]).format("YYYY-MM-DD");
818
824
  if (x !== -1 && A !== -1)
819
825
  break;
820
826
  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
827
  }
822
- A === -1 && (A = i.value.time.length - 1), ie({
828
+ A === -1 && (A = n.value.time.length - 1), ie({
823
829
  startValue: x === -1 ? 0 : x,
824
- endValue: A === -1 ? i.value.time.length - 1 : A
830
+ endValue: A === -1 ? n.value.time.length - 1 : A
825
831
  });
826
832
  } finally {
827
- I.value = !1;
833
+ g.value = !1;
828
834
  }
829
- }, ze = async (t) => {
835
+ }, ye = async (t) => {
830
836
  var Q, ne;
831
837
  const { loadAddCount: o } = W;
832
838
  switch (t) {
833
839
  case "history": {
834
- Y = !0;
835
- const P = {
840
+ L = !0;
841
+ const V = {
836
842
  varietyCode: e.varietyCode,
837
843
  cycle: e.cycle,
838
- right: e.rightType,
844
+ right: e.varietyStock === 1 ? e.rightType : 0,
845
+ // 复权方式
839
846
  contractType: e.varietyStock ? null : e.klineType,
840
- endTime: i.value.time[0],
847
+ endTime: n.value.time[0],
841
848
  limit: o,
842
849
  mainIndicatorList: e.indicatorStore.getIndicatorParams(e.mainIndicator),
843
850
  subIndicator: m.value,
844
851
  deleteFirstNumber: e.deleteFirstNumber,
845
852
  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;
853
+ }, { body: R } = await j.post("/middleLayer/kline/getKline", V);
854
+ n.value = Le(R, n.value), R.data.length < o && (console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭"), T = !0), L = !1;
848
855
  break;
849
856
  }
850
857
  case "new": {
851
- b = !0;
852
- const P = {
858
+ O = !0;
859
+ const V = {
853
860
  varietyCode: e.varietyCode,
854
861
  cycle: e.cycle,
855
862
  // 周期
856
- right: e.rightType,
863
+ right: e.varietyStock === 1 ? e.rightType : 0,
857
864
  // 复权方式
858
865
  contractType: e.varietyStock ? null : e.klineType,
859
866
  // 合约类型
860
- startTime: i.value.time[i.value.time.length - 1],
867
+ startTime: n.value.time[n.value.time.length - 1],
861
868
  // 开始时间
862
869
  limit: o,
863
870
  // 查询K线数量
@@ -865,25 +872,25 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
865
872
  subIndicator: m.value,
866
873
  deleteFirstNumber: e.deleteFirstNumber,
867
874
  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;
875
+ }, { body: R } = await j.post("/middleLayer/kline/getKline", V);
876
+ n.value = Le(n.value, R), R.data.length < o && (console.log("[K线] 获取更多数据: 右侧已全部获取完毕, 关闭"), E = !0), O = !1;
870
877
  break;
871
878
  }
872
879
  }
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]));
880
+ 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
881
  ie({
875
882
  startValue: A === -1 ? 0 : A,
876
- endValue: w === -1 ? i.value.time.length - 1 : w
883
+ endValue: w === -1 ? n.value.time.length - 1 : w
877
884
  });
878
- }, ye = () => {
885
+ }, de = () => {
879
886
  var A;
880
- if (!i.value.time)
887
+ if (!n.value.time)
881
888
  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];
889
+ const { time: t } = n.value, { startValue: o, endValue: y } = ((A = M.getOption()) == null ? void 0 : A.dataZoom[0]) ?? {}, C = t[o], x = t[y];
890
+ ["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
891
  }, ie = (t = { startValue: 0, endValue: 0 }) => {
885
892
  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) => ({
893
+ 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
894
  name: f.key,
888
895
  type: "line",
889
896
  silent: !0,
@@ -895,7 +902,7 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
895
902
  itemStyle: {
896
903
  color: f.color
897
904
  }
898
- })), { netPositionLineData: ne } = $e(e.netPositionData, e.cycle), { tradePointData: P, tradeLineData: Z } = Ge(e.tradeLog, e.cycle, e.sellBuy, z, O);
905
+ })), { 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
906
  M.setOption(
900
907
  {
901
908
  animation: !1,
@@ -923,43 +930,43 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
923
930
  label: {
924
931
  rich: {},
925
932
  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));
933
+ const { axisDimension: h, value: k } = f;
934
+ return h === "x" ? ["6", "7", "8"].includes(e.cycle) ? I(k).format("YYYY-MM-DD") : k : String(r(k));
928
935
  }
929
936
  }
930
937
  },
931
938
  formatter: (f) => {
932
939
  if (!(f != null && f.length))
933
940
  return null;
934
- let C = "";
941
+ let h = "";
935
942
  if (f.forEach((v) => {
936
- if (v.seriesName === "netPosition" && v.data !== null && (C += `<div>资产持仓净值: ${v.data[1]}</div>`), v.componentSubType === "candlestick")
943
+ if (v.seriesName === "netPosition" && v.data !== null && (h += `<div>资产持仓净值: ${v.data[1]}</div>`), v.componentSubType === "candlestick")
937
944
  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>`);
945
+ const J = R.filter((H) => (H == null ? void 0 : H.coord[0]) === v.axisValue);
946
+ let G = 0, Z = 0;
947
+ J.forEach((H) => {
948
+ const { tradeType: q, amount: oe } = H.customData;
949
+ q === "买" && (G += oe), q === "卖" && (Z += oe);
950
+ }), G && (h += `<div>买: ${G}</div>`), Z && (h += `<div>卖: ${Z}</div>`);
944
951
  } else
945
- P.forEach((J) => {
952
+ R.forEach((J) => {
946
953
  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>`;
954
+ const { tradeType: G, amount: Z, profitAndLoss: H, openPriceAll: q, closePriceAll: oe } = J.customData;
955
+ let X = `<div>${G}: ${Z}手</div>`;
956
+ if (G.includes("开") && (X += `<div>开仓价: ${(q / Z).toFixed(2)}</div>`), G.includes("平")) {
957
+ const Te = (q / Z).toFixed(2), ge = (oe / Z).toFixed(2);
958
+ X += `<div>平仓价: ${ge}</div>`, X += `<div>盈亏: ${H == null ? void 0 : H.toFixed(2)}</div>`, X += `<div>盈亏比率: ${((ge - Te) / Te * 100).toFixed(2)} %</div>`;
952
959
  }
953
- C += X;
960
+ h += X;
954
961
  }
955
962
  });
956
- }), !C)
963
+ }), !h)
957
964
  return null;
958
965
  let k = f[0].axisValue;
959
- return ["6", "7", "8"].includes(e.cycle) && (k = g(k).format("YYYY-MM-DD")), `
966
+ return ["6", "7", "8"].includes(e.cycle) && (k = I(k).format("YYYY-MM-DD")), `
960
967
  <div>
961
968
  <span style="font-weight: bold;">${k}</span>
962
- ${C}
969
+ ${h}
963
970
  </div>
964
971
  `;
965
972
  }
@@ -967,12 +974,12 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
967
974
  xAxis: {
968
975
  show: !0,
969
976
  type: "category",
970
- data: z,
977
+ data: y,
971
978
  splitLine: {
972
979
  show: !1
973
980
  },
974
981
  axisLabel: {
975
- formatter: (f) => ["6", "7", "8"].includes(e.cycle) ? g(f).format("YYYY-MM-DD") : f
982
+ formatter: (f) => ["6", "7", "8"].includes(e.cycle) ? I(f).format("YYYY-MM-DD") : f
976
983
  }
977
984
  },
978
985
  yAxis: [
@@ -989,19 +996,19 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
989
996
  }
990
997
  },
991
998
  min: (f) => {
992
- const { min: C, max: k } = f, v = Math.abs((k - C) / 10);
993
- return u(C - v);
999
+ const { min: h, max: k } = f, v = Math.abs((k - h) / 10);
1000
+ return r(h - v);
994
1001
  },
995
- max: (f) => u(f.max)
1002
+ max: (f) => r(f.max)
996
1003
  },
997
1004
  {
998
1005
  show: !1,
999
1006
  min: (f) => {
1000
- const { min: C, max: k } = f, v = Math.abs((k - C) / 10);
1001
- return C - v;
1007
+ const { min: h, max: k } = f, v = Math.abs((k - h) / 10);
1008
+ return h - v;
1002
1009
  },
1003
1010
  max: (f) => {
1004
- const { min: C, max: k } = f, v = Math.abs((k - C) / 10);
1011
+ const { min: h, max: k } = f, v = Math.abs((k - h) / 10);
1005
1012
  return k + v;
1006
1013
  }
1007
1014
  }
@@ -1009,9 +1016,9 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
1009
1016
  series: [
1010
1017
  {
1011
1018
  type: "candlestick",
1012
- data: O,
1013
- markPoint: { data: Ze([...P]) },
1014
- markLine: { data: [...Z] },
1019
+ data: C,
1020
+ markPoint: { data: Ge([...R]) },
1021
+ markLine: { data: [...Ce] },
1015
1022
  itemStyle: {
1016
1023
  color: "transparent",
1017
1024
  color0: "#00FFFF",
@@ -1036,6 +1043,21 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
1036
1043
  lineStyle: {
1037
1044
  width: 2
1038
1045
  }
1046
+ },
1047
+ // 交易收益率曲线
1048
+ {
1049
+ type: "line",
1050
+ name: "tradeIncomeRate",
1051
+ data: V,
1052
+ symbol: "none",
1053
+ yAxisIndex: 1,
1054
+ connectNulls: !1,
1055
+ itemStyle: {
1056
+ color: "#666666"
1057
+ },
1058
+ lineStyle: {
1059
+ width: 2
1060
+ }
1039
1061
  }
1040
1062
  ],
1041
1063
  toolbox: {
@@ -1055,11 +1077,11 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
1055
1077
  }
1056
1078
  },
1057
1079
  !0
1058
- ), e.userKlineConfig.enable_subChart && l.setOption(Be(i.value, A, w), !0), ye(), d.value = w;
1080
+ ), e.userKlineConfig.enable_subChart && u.setOption(Ze(n.value, A, w), !0), de(), D.value = w;
1059
1081
  {
1060
1082
  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);
1083
+ if (e.userKlineConfig.enable_tradeLogBrush && R.length) {
1084
+ const [h, k] = [R[0].coord[0], R.at(-1).coord[0]], v = ce(y, [h, k], e.cycle);
1063
1085
  f.push({
1064
1086
  brushId: "开平仓范围",
1065
1087
  brushType: "lineX",
@@ -1068,7 +1090,7 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
1068
1090
  });
1069
1091
  }
1070
1092
  if (e.syncBrushRange.cycleList.includes(e.cycle)) {
1071
- const { startTime: C, endTime: k } = e.syncBrushRange, v = ce(z, [C, k], e.cycle);
1093
+ const { startTime: h, endTime: k } = e.syncBrushRange, v = ce(y, [h, k], e.cycle);
1072
1094
  f.push({
1073
1095
  brushId: "同步刷选范围",
1074
1096
  brushType: "lineX",
@@ -1082,7 +1104,7 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
1082
1104
  });
1083
1105
  }
1084
1106
  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);
1107
+ const [h, k] = [I(e.positionTime).format("YYYY-MM-DD 00:00:00"), I(e.positionTime).format("YYYY-MM-DD 23:59:59")], v = ce(y, [h, k], e.cycle);
1086
1108
  f.push({
1087
1109
  brushId: "强制定位高亮",
1088
1110
  brushType: "lineX",
@@ -1101,17 +1123,17 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
1101
1123
  });
1102
1124
  }
1103
1125
  }, Oe = (t) => {
1104
- const [o, z] = Ie({
1126
+ const [o, y] = Ye({
1105
1127
  startTime: t.startTime,
1106
1128
  endTime: t.endTime,
1107
1129
  cycle: e.cycle
1108
1130
  });
1109
- _({ startTime: o, endTime: z });
1110
- }, de = ({ code: t, ctrlKey: o }) => {
1111
- if (!(o || T.value))
1131
+ B({ startTime: o, endTime: y });
1132
+ }, De = ({ code: t, ctrlKey: o }) => {
1133
+ if (!(o || d.value))
1112
1134
  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]) ?? {};
1135
+ const { xAxis: y, dataZoom: C } = M.getOption(), { data: x } = (y == null ? void 0 : y[0]) ?? { data: [] };
1136
+ let { startValue: A, endValue: w } = (C == null ? void 0 : C[0]) ?? {};
1115
1137
  if (x != null && x.length) {
1116
1138
  switch (t) {
1117
1139
  case "ArrowUp": {
@@ -1127,11 +1149,11 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
1127
1149
  break;
1128
1150
  }
1129
1151
  case "ArrowLeft": {
1130
- A > 0 && (A -= 1, w -= 1), d.value > 0 && (d.value -= 1);
1152
+ A > 0 && (A -= 1, w -= 1), D.value > 0 && (D.value -= 1);
1131
1153
  break;
1132
1154
  }
1133
1155
  case "ArrowRight": {
1134
- w < x.length - 1 && (A += 1, w += 1), T.value && d.value < x.length - 1 && (d.value += 1);
1156
+ w < x.length - 1 && (A += 1, w += 1), d.value && D.value < x.length - 1 && (D.value += 1);
1135
1157
  break;
1136
1158
  }
1137
1159
  }
@@ -1142,34 +1164,34 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
1142
1164
  }), M.dispatchAction({
1143
1165
  type: "updateAxisPointer",
1144
1166
  seriesIndex: 0,
1145
- dataIndex: T.value ? d.value : null
1167
+ dataIndex: d.value ? D.value : null
1146
1168
  }), M.dispatchAction({
1147
1169
  type: "highlight",
1148
- dataIndex: T.value ? d.value : w
1170
+ dataIndex: d.value ? D.value : w
1149
1171
  });
1150
1172
  }
1151
1173
  };
1152
1174
  return pe(() => {
1153
1175
  const [t, o] = e.initTimeRange;
1154
- _({ startTime: t, endTime: o });
1176
+ B({ startTime: t, endTime: o });
1155
1177
  }), te(
1156
1178
  () => [e.varietyCode, e.initTimeRange],
1157
1179
  () => {
1158
1180
  const [t, o] = e.initTimeRange;
1159
- _({ startTime: t, endTime: o });
1181
+ B({ startTime: t, endTime: o });
1160
1182
  },
1161
1183
  { deep: !0 }
1162
1184
  ), te(
1163
1185
  () => [e.cycle],
1164
1186
  () => {
1165
1187
  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],
1188
+ const { startValue: t, endValue: o } = ((x = M.getOption()) == null ? void 0 : x.dataZoom[0]) ?? {}, [y, C] = Ye({
1189
+ startTime: n.value.time[t],
1190
+ endTime: n.value.time[o],
1169
1191
  cycle: e.cycle,
1170
1192
  type: "middle"
1171
1193
  });
1172
- _({ startTime: z, endTime: O });
1194
+ B({ startTime: y, endTime: C });
1173
1195
  },
1174
1196
  { deep: !0 }
1175
1197
  ), te(
@@ -1179,52 +1201,52 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
1179
1201
  },
1180
1202
  () => {
1181
1203
  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 });
1204
+ const { startValue: t, endValue: o } = ((x = M.getOption()) == null ? void 0 : x.dataZoom[0]) ?? {}, [y, C] = [n.value.time[t], n.value.time[o]];
1205
+ B({ startTime: y, endTime: C });
1184
1206
  },
1185
1207
  { deep: !0 }
1186
1208
  ), te(
1187
- () => [e.sellBuy, e.tradeLog, e.netPositionData],
1209
+ () => [e.sellBuy, e.tradeLog, e.netPositionData, e.incomeType, e.tradeIncomeRateData],
1188
1210
  () => {
1189
- var z;
1190
- const { startValue: t, endValue: o } = ((z = M.getOption()) == null ? void 0 : z.dataZoom[0]) ?? {};
1211
+ var y;
1212
+ const { startValue: t, endValue: o } = ((y = M.getOption()) == null ? void 0 : y.dataZoom[0]) ?? {};
1191
1213
  ie({ startValue: t, endValue: o });
1192
1214
  },
1193
1215
  { deep: !0 }
1194
1216
  ), 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({
1217
+ M.off("highlight"), M.off("globalout"), M.off("datazoom"), M.getZr().off("contextmenu"), window.removeEventListener("keydown", De), M.dispose(), u == null || u.dispose(), c.dispose(), c = null;
1218
+ }), z({
1197
1219
  screenTimeRange: a,
1198
1220
  contextmenuKlineTime: s,
1199
1221
  reDraw: () => {
1200
- var z;
1201
- const { startValue: t, endValue: o } = ((z = M.getOption()) == null ? void 0 : z.dataZoom[0]) ?? {};
1222
+ var y;
1223
+ const { startValue: t, endValue: o } = ((y = M.getOption()) == null ? void 0 : y.dataZoom[0]) ?? {};
1202
1224
  ie({ startValue: t, endValue: o });
1203
1225
  }
1204
1226
  }), (t, o) => {
1205
- const z = he, O = ke, x = be, A = Ce;
1206
- return Se((R(), H("div", {
1227
+ const y = ke, C = ve, x = be, A = he;
1228
+ return Qe((F(), _("div", {
1207
1229
  class: "kline-plus",
1208
- onMousemove: o[1] || (o[1] = (w) => T.value = !0),
1209
- onMouseout: o[2] || (o[2] = (w) => T.value = !1)
1230
+ onMousemove: o[1] || (o[1] = (w) => d.value = !0),
1231
+ onMouseout: o[2] || (o[2] = (w) => d.value = !1)
1210
1232
  }, [
1211
- $("div", Xe, [
1212
- $("div", et, [
1213
- ee(le, { data: h.value }, null, 8, ["data"]),
1233
+ $("div", tt, [
1234
+ $("div", Mt, [
1235
+ ee(le, { data: b.value }, null, 8, ["data"]),
1214
1236
  ee(le, { data: S.value }, null, 8, ["data"])
1215
1237
  ]),
1216
- n.userKlineConfig.enable_showScreenTimeRange ? (R(), H("span", tt, Me(a.value[0]) + " - " + Me(a.value[1]), 1)) : Ne("", !0),
1238
+ i.userKlineConfig.enable_showScreenTimeRange ? (F(), _("span", at, Me(a.value[0]) + " - " + Me(a.value[1]), 1)) : Ne("", !0),
1217
1239
  $("div", {
1218
1240
  ref_key: "mainChartRef",
1219
- ref: r,
1241
+ ref: l,
1220
1242
  class: "chart"
1221
1243
  }, null, 512)
1222
1244
  ]),
1223
- n.userKlineConfig.enable_subChart ? (R(), H("div", Mt, [
1224
- $("div", at, [
1225
- $("div", it, [
1245
+ i.userKlineConfig.enable_subChart ? (F(), _("div", it, [
1246
+ $("div", nt, [
1247
+ $("div", ot, [
1226
1248
  $("span", null, Me(m.value), 1),
1227
- ee(O, {
1249
+ ee(C, {
1228
1250
  modelValue: m.value,
1229
1251
  "onUpdate:modelValue": o[0] || (o[0] = (w) => m.value = w),
1230
1252
  style: { width: "100px", "margin-right": "4px", height: "25px" },
@@ -1232,8 +1254,8 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
1232
1254
  class: "element-dark",
1233
1255
  "popper-class": "element-dark"
1234
1256
  }, {
1235
- default: Qe(() => [
1236
- (R(!0), H(me, null, Ae(n.indicatorStore.subIndicatorList, (w, Q) => (R(), ge(z, {
1257
+ default: Pe(() => [
1258
+ (F(!0), _(me, null, Ae(i.indicatorStore.subIndicatorList, (w, Q) => (F(), Ie(y, {
1237
1259
  key: Q,
1238
1260
  label: w.label,
1239
1261
  value: w.value
@@ -1242,7 +1264,7 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
1242
1264
  _: 1
1243
1265
  }, 8, ["modelValue"])
1244
1266
  ]),
1245
- ee(le, { data: U.value }, null, 8, ["data"])
1267
+ ee(le, { data: P.value }, null, 8, ["data"])
1246
1268
  ]),
1247
1269
  $("div", {
1248
1270
  ref_key: "subChartRef",
@@ -1250,35 +1272,35 @@ const Xe = { class: "main-chart" }, et = { class: "indicator" }, tt = {
1250
1272
  class: "chart"
1251
1273
  }, null, 512)
1252
1274
  ])) : Ne("", !0),
1253
- n.userKlineConfig.enable_sliderChart ? (R(), H("div", nt, [
1254
- ee(qe, {
1275
+ i.userKlineConfig.enable_sliderChart ? (F(), _("div", Nt, [
1276
+ ee(et, {
1255
1277
  ref_key: "sliderChartRef",
1256
- ref: L,
1278
+ ref: Y,
1257
1279
  screenTimeRange: a.value,
1258
- varietyCode: n.varietyCode,
1259
- varietyStock: n.varietyStock,
1260
- rightType: n.rightType,
1261
- klineType: n.klineType,
1280
+ varietyCode: i.varietyCode,
1281
+ varietyStock: i.varietyStock,
1282
+ rightType: i.rightType,
1283
+ klineType: i.klineType,
1262
1284
  deleteFirstNumber: e.deleteFirstNumber,
1263
1285
  withoutPermission: e.withoutPermission,
1264
1286
  onChange: Oe
1265
1287
  }, null, 8, ["screenTimeRange", "varietyCode", "varietyStock", "rightType", "klineType", "deleteFirstNumber", "withoutPermission"])
1266
1288
  ])) : Ne("", !0),
1267
- i.value.time.length ? Ne("", !0) : (R(), ge(x, {
1289
+ n.value.time.length ? Ne("", !0) : (F(), Ie(x, {
1268
1290
  key: 2,
1269
1291
  class: "empty",
1270
1292
  description: "暂无数据"
1271
1293
  }))
1272
1294
  ], 32)), [
1273
- [A, I.value]
1295
+ [A, g.value]
1274
1296
  ]);
1275
1297
  };
1276
1298
  }
1277
- }, Nt = /* @__PURE__ */ je(ot, [["__scopeId", "data-v-a26f972e"]]), Ct = {
1278
- install(n) {
1279
- n.component("st-klinePlus", Nt);
1299
+ }, rt = /* @__PURE__ */ ze(st, [["__scopeId", "data-v-366a34a3"]]), bt = {
1300
+ install(i) {
1301
+ i.component("st-klinePlus", rt);
1280
1302
  }
1281
1303
  };
1282
1304
  export {
1283
- Ct as default
1305
+ bt as default
1284
1306
  };