st-comp 0.0.246 → 0.0.248

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