st-comp 0.0.247 → 0.0.249

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