st-comp 0.0.200 → 0.0.202

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 (154) hide show
  1. package/components.d.ts +3 -0
  2. package/es/ChartLayout.js +4 -4
  3. package/es/ConfigProvider.cjs +1 -1
  4. package/es/ConfigProvider.js +1 -1
  5. package/es/CustomFunction.cjs +1 -1
  6. package/es/CustomFunction.js +44 -40
  7. package/es/FactorWarning.cjs +1 -1
  8. package/es/FactorWarning.js +84 -78
  9. package/es/Kline.cjs +1 -1
  10. package/es/Kline.js +21 -19
  11. package/es/KlineBasic.cjs +1 -1
  12. package/es/KlineBasic.js +30 -28
  13. package/es/KlineConfig.cjs +1 -1
  14. package/es/KlineConfig.js +345 -331
  15. package/es/KlineNew.cjs +1 -1
  16. package/es/KlineNew.js +20 -18
  17. package/es/KlinePlus.cjs +4 -4
  18. package/es/KlinePlus.js +610 -588
  19. package/es/MonacoEditor.cjs +1 -1
  20. package/es/MonacoEditor.js +2 -2
  21. package/es/Pagination.cjs +1 -1
  22. package/es/Pagination.js +74 -72
  23. package/es/PasswordPrompt.cjs +1 -1
  24. package/es/PasswordPrompt.js +9 -157
  25. package/es/Pie.cjs +1 -1
  26. package/es/Pie.js +1 -1
  27. package/es/Table.cjs +1 -1
  28. package/es/Table.js +56 -52
  29. package/es/User.cjs +1 -1
  30. package/es/User.js +1313 -1
  31. package/es/VarSelectDialog.cjs +1 -1
  32. package/es/VarSelectDialog.js +28 -26
  33. package/es/VarietyAutoComplete.cjs +1 -1
  34. package/es/VarietyAutoComplete.js +19 -18
  35. package/es/VarietySearch.cjs +8 -8
  36. package/es/VarietySearch.js +704 -697
  37. package/es/VarietyTextCopy.cjs +1 -1
  38. package/es/VarietyTextCopy.js +12 -12
  39. package/es/VirtualTable.cjs +1 -1
  40. package/es/VirtualTable.js +80 -79
  41. package/es/{el-popover-5421d52a.cjs → _initCloneObject-52b6a510.cjs} +1 -1
  42. package/es/{el-popover-7a1c6412.js → _initCloneObject-eaef9418.js} +9 -9
  43. package/es/{base-8348063b.js → base-a5af3db3.js} +38 -38
  44. package/es/{castArray-3f45c3ec.js → castArray-7741a212.js} +1 -1
  45. package/es/{config-provider-eb0460f1.cjs → config-provider-a584d81e.cjs} +1 -1
  46. package/es/{config-provider-1a687690.js → config-provider-b16efd62.js} +6 -6
  47. package/es/debounce-62f5b6e8.cjs +1 -0
  48. package/es/debounce-8d53f4dd.js +83 -0
  49. package/es/dropdown-071c5d7e.cjs +1 -0
  50. package/es/dropdown-a59bba73.js +178 -0
  51. package/es/el-autocomplete-a07e9439.cjs +1 -0
  52. package/es/{el-autocomplete-d4cd96cd.js → el-autocomplete-ba808eb6.js} +16 -16
  53. package/es/{el-button-2e680390.js → el-button-c95adb85.js} +33 -33
  54. package/es/{el-button-4ccd7122.cjs → el-button-eec58cff.cjs} +1 -1
  55. package/es/el-checkbox-7421ccd3.js +459 -0
  56. package/es/el-checkbox-c25236a6.cjs +1 -0
  57. package/es/el-checkbox-group-0ea8fbf8.cjs +1 -0
  58. package/es/el-checkbox-group-4ed993c7.js +1 -0
  59. package/es/{el-dialog-bafc4b2b.js → el-dialog-41ab8417.js} +7 -6
  60. package/es/{el-dialog-6413b4af.cjs → el-dialog-ae86edb8.cjs} +1 -1
  61. package/es/{el-divider-93b0ee21.js → el-divider-4e059794.js} +1 -1
  62. package/es/{el-empty-56783dca.js → el-empty-33cb66f1.js} +3 -3
  63. package/es/el-form-item-c3fe189b.cjs +12 -0
  64. package/es/el-form-item-c53c374d.js +1269 -0
  65. package/es/{el-input-735575f4.js → el-input-2f75c4ba.js} +34 -34
  66. package/es/{el-input-6c5ac889.cjs → el-input-7fd293af.cjs} +1 -1
  67. package/es/{el-input-number-d5770776.cjs → el-input-number-22e21d16.cjs} +1 -1
  68. package/es/{el-input-number-6634a6ea.js → el-input-number-5193fe6d.js} +35 -35
  69. package/es/{el-loading-98dcebee.cjs → el-loading-cfd86c15.cjs} +1 -1
  70. package/es/{el-loading-049dacc5.js → el-loading-f6022062.js} +5 -5
  71. package/es/{el-menu-item-828bc6fa.cjs → el-menu-item-17dc717e.cjs} +1 -1
  72. package/es/{el-menu-item-8a210e21.js → el-menu-item-7e881203.js} +22 -22
  73. package/es/{el-message-a1ac37d4.cjs → el-message-5e6a6be9.cjs} +1 -1
  74. package/es/el-message-box-a93d2f6a.js +489 -0
  75. package/es/el-message-box-c10adb52.cjs +1 -0
  76. package/es/{el-message-def216ae.js → el-message-e544a8f5.js} +24 -24
  77. package/es/{el-overlay-4ea38eab.js → el-overlay-09ad71cd.js} +51 -51
  78. package/es/{el-overlay-69dfacb6.cjs → el-overlay-9e34965f.cjs} +1 -1
  79. package/es/{el-popconfirm-bdeceeb7.cjs → el-popconfirm-70a976bf.cjs} +1 -1
  80. package/es/{el-popconfirm-aace1104.js → el-popconfirm-81dcd202.js} +20 -20
  81. package/es/el-popover-0ea8fbf8.cjs +1 -0
  82. package/es/el-popover-4ed993c7.js +1 -0
  83. package/es/{el-popper-986a8371.js → el-popper-b4f97157.js} +115 -112
  84. package/es/{el-popper-b962125f.cjs → el-popper-b6c99b28.cjs} +1 -1
  85. package/es/el-scrollbar-323542e7.js +34 -0
  86. package/es/el-scrollbar-bc3f790d.cjs +1 -0
  87. package/es/{el-segmented-f892ec18.js → el-segmented-b868d074.js} +8 -8
  88. package/es/{el-segmented-6b057ed5.cjs → el-segmented-f8fce9ac.cjs} +1 -1
  89. package/es/{el-select-2189a8ac.js → el-select-95627997.js} +42 -41
  90. package/es/el-select-d8d91db1.cjs +1 -0
  91. package/es/el-table-column-376cd907.js +3432 -0
  92. package/es/el-table-column-c974cb96.cjs +14 -0
  93. package/es/{el-tag-75a7573a.js → el-tag-66cab138.js} +16 -16
  94. package/es/{el-tag-a15520b3.cjs → el-tag-a33c4b22.cjs} +1 -1
  95. package/es/{el-checkbox-group-e26a4533.js → el-text-ac60d0f2.js} +16 -16
  96. package/es/{el-checkbox-group-dfdad075.cjs → el-text-c20a9f48.cjs} +1 -1
  97. package/es/{index-1fb95601.cjs → index-098c2447.cjs} +1 -1
  98. package/es/{index-16802b35.cjs → index-11547a0c.cjs} +1 -1
  99. package/es/index-1f7d4f70.js +157 -0
  100. package/es/{index-680be212.cjs → index-298075cf.cjs} +1 -1
  101. package/es/index-57672682.js +113 -0
  102. package/es/{index-9cfb6ccf.js → index-7ed0999e.js} +2 -0
  103. package/es/{index-f3a86049.js → index-844bdd85.js} +29 -29
  104. package/es/index-88546436.js +163 -0
  105. package/es/{index-cc200b99.cjs → index-8901a38c.cjs} +1 -1
  106. package/es/{index-e00ee015.js → index-960806da.js} +36 -36
  107. package/es/index-9b9ef5dd.cjs +1 -0
  108. package/es/{index-847d58bc.js → index-a871c3eb.js} +92 -62
  109. package/es/{index-780e7fd2.js → index-bc8e277e.js} +2 -2
  110. package/es/{index-5e0314ac.cjs → index-c108567d.cjs} +1 -1
  111. package/es/{index-78381381.cjs → index-d725fef6.cjs} +2 -2
  112. package/es/{index-14c88a1a.js → index-d77a7336.js} +1 -1
  113. package/es/{index-f45c2897.js → index-d91dc23f.js} +20 -20
  114. package/es/{index-c94b9543.js → index-e5566b94.js} +43 -43
  115. package/es/index-f3562b52.cjs +1 -0
  116. package/es/index-f967d6c1.cjs +1 -0
  117. package/es/{python-2e916d28.cjs → python-c27ba105.cjs} +1 -1
  118. package/es/{python-7cf0b6ba.js → python-ecde9ff2.js} +2 -2
  119. package/es/{raf-8e5f0699.js → raf-80ef0c0a.js} +1 -1
  120. package/es/{scroll-c43468ab.js → scroll-679bd6bf.js} +1 -1
  121. package/es/style.css +1 -1
  122. package/es/{use-form-common-props-e6cba60f.js → use-form-common-props-815d48a6.js} +69 -69
  123. package/es/{use-form-common-props-d8866dc6.cjs → use-form-common-props-fd9b61a0.cjs} +1 -1
  124. package/es/{use-global-config-72d50e62.cjs → use-global-config-30d7d8ce.cjs} +1 -1
  125. package/es/{use-global-config-76ff2e3e.js → use-global-config-b5e9d3d5.js} +14 -14
  126. package/es/{validator-e759d43d.cjs → validator-1b8a6128.cjs} +1 -1
  127. package/es/{validator-220652c5.js → validator-764a9db0.js} +1 -1
  128. package/es/vnode-5ddb7ed1.js +14 -0
  129. package/es/vnode-b906ae6d.cjs +1 -0
  130. package/es/{zh-cn-33e7aee6.cjs → zh-cn-90317f62.cjs} +1 -1
  131. package/es/{zh-cn-c7fa42ea.js → zh-cn-e963c628.js} +2 -2
  132. package/lib/bundle.js +1 -1
  133. package/lib/bundle.umd.cjs +156 -156
  134. package/lib/{index-410c490f.js → index-a45d1494.js} +11238 -11207
  135. package/lib/{python-589861d2.js → python-82d17c8d.js} +1 -1
  136. package/lib/style.css +1 -1
  137. package/package.json +1 -1
  138. package/packages/KlineConfig/config.js +2 -0
  139. package/packages/KlineConfig/index.vue +9 -0
  140. package/packages/KlinePlus/index.vue +18 -8
  141. package/packages/KlinePlus/utils.js +41 -5
  142. package/src/pages/KlinePlus/index.vue +6 -5
  143. package/es/el-autocomplete-86c0d989.cjs +0 -1
  144. package/es/el-form-item-41becb31.js +0 -1749
  145. package/es/el-form-item-95476197.cjs +0 -12
  146. package/es/el-scrollbar-139aa96d.cjs +0 -1
  147. package/es/el-scrollbar-cdadd788.js +0 -115
  148. package/es/el-select-e1046cc6.cjs +0 -1
  149. package/es/el-table-column-91d69c86.js +0 -3882
  150. package/es/el-table-column-f1c4af89.cjs +0 -14
  151. package/es/index-56ea97a9.js +0 -122
  152. package/es/index-8583c047.cjs +0 -1
  153. package/es/index-ce63356a.cjs +0 -1
  154. package/es/index-db1e1861.js +0 -318
package/es/KlinePlus.js CHANGED
@@ -1,27 +1,29 @@
1
- import "./base-8348063b.js";
2
- import { v as be } from "./el-loading-049dacc5.js";
3
- import { E as ke } from "./el-empty-56783dca.js";
4
- import "./el-tag-75a7573a.js";
5
- import { E as ve, a as Ee } from "./el-select-2189a8ac.js";
6
- import "./el-scrollbar-cdadd788.js";
7
- import "./el-popper-986a8371.js";
8
- import { openBlock as U, createElementBlock as H, Fragment as Ae, renderList as we, normalizeStyle as Se, toDisplayString as Me, inject as pe, ref as F, onMounted as xe, nextTick as Qe, watch as te, onUnmounted as fe, computed as ce, withDirectives as Pe, createElementVNode as $, createVNode as ee, createCommentVNode as se, withCtx as Re, createBlock as Ye } from "vue";
9
- import { d as g } from "./dayjs.min-8313b006.js";
1
+ import "./base-a5af3db3.js";
2
+ import { v as he } from "./el-loading-f6022062.js";
3
+ import { E as ke } from "./el-empty-33cb66f1.js";
4
+ import "./el-tag-66cab138.js";
5
+ import { E as ve, a as Ee } from "./el-select-95627997.js";
6
+ import "./el-scrollbar-323542e7.js";
7
+ import "./el-popper-b4f97157.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";
10
10
  import * as Ne from "echarts";
11
- import { x as Oe, G as ae, D as Fe } from "./index-9cfb6ccf.js";
12
- import { _ as ze } from "./_plugin-vue_export-helper-dad06003.js";
13
- import "./use-global-config-76ff2e3e.js";
14
- import "./use-form-common-props-e6cba60f.js";
15
- import "./index-e00ee015.js";
16
- import "./index-847d58bc.js";
17
- import "./index-14c88a1a.js";
18
- import "./index-c94b9543.js";
19
- import "./index-f3a86049.js";
20
- import "./index-56ea97a9.js";
21
- import "./castArray-3f45c3ec.js";
22
- import "./index-f45c2897.js";
23
- import "./scroll-c43468ab.js";
24
- 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 } = Oe, W = {
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-b5e9d3d5.js";
14
+ import "./use-form-common-props-815d48a6.js";
15
+ import "./index-960806da.js";
16
+ import "./index-a871c3eb.js";
17
+ import "./index-d77a7336.js";
18
+ import "./index-e5566b94.js";
19
+ import "./index-844bdd85.js";
20
+ import "./index-57672682.js";
21
+ import "./castArray-7741a212.js";
22
+ import "./index-d91dc23f.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 = {
25
27
  // 单屏展示条目上限
26
28
  minValueSpan: 5,
27
29
  maxValueSpan: 2e3,
@@ -29,7 +31,7 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
29
31
  loadCheckCount: 500,
30
32
  // 加载更多: 载入条目
31
33
  loadAddCount: 2e3
32
- }, Ze = {
34
+ }, Be = {
33
35
  1: 240,
34
36
  // 每天240根(4小时×60分钟)
35
37
  2: 48,
@@ -46,35 +48,35 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
46
48
  // 每周1根(按5个交易日算)
47
49
  8: 0.033
48
50
  // 每月1根(按21个交易日算)
49
- }, Le = ({ startTime: n, endTime: y, cycle: u, type: d = "end" }) => {
50
- const { maxValueSpan: j } = W, m = Math.ceil((j + 1e3) / Ze[u]), I = g(n);
51
- if (g(y).diff(I, "day") <= m)
52
- return [n, y];
53
- if (d === "end")
54
- return [g(y).subtract(m, "day").format("YYYY-MM-DD HH:mm:ss"), y];
55
- if (d === "middle") {
56
- const h = g((g(n).valueOf() + g(y).valueOf()) / 2).format("YYYY-MM-DD HH:mm:ss");
57
- return console.log("超过一屏数量上限, 进行中间时间计算", h, m / 2), [
58
- g(h).subtract(m / 2, "day").format("YYYY-MM-DD HH:mm:ss"),
59
- g(h).add(m / 2, "day").format("YYYY-MM-DD HH:mm:ss")
51
+ }, me = ({ startTime: i, endTime: j, cycle: r, type: s = "end" }) => {
52
+ const { maxValueSpan: u } = J, p = Math.ceil((u + 1e3) / Be[r]), D = Y(i);
53
+ if (Y(j).diff(D, "day") <= p)
54
+ return [i, j];
55
+ if (s === "end")
56
+ return [Y(j).subtract(p, "day").format("YYYY-MM-DD HH:mm:ss"), j];
57
+ if (s === "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")
60
62
  ];
61
63
  }
62
- }, Be = (n, y) => {
63
- const u = n[y], d = y === 0 ? n[y] : n[y - 1];
64
- return u[0] === u[1] ? u[0] >= d[1] ? {
64
+ }, Ze = (i, j) => {
65
+ const r = i[j], s = j === 0 ? i[j] : i[j - 1];
66
+ return r[0] === r[1] ? r[0] >= s[1] ? {
65
67
  color: "transparent",
66
68
  borderColor: "#FF0000"
67
69
  } : {
68
70
  color: "#00FFFF"
69
- } : u[1] > u[0] ? {
71
+ } : r[1] > r[0] ? {
70
72
  color: "transparent",
71
73
  borderColor: "#FF0000"
72
74
  } : {
73
75
  color: "#00FFFF"
74
76
  };
75
- }, Ge = (n, y, u) => {
76
- var j, m, I, z;
77
- const d = n.subIndicator.map((e) => {
77
+ }, $e = (i, j, r) => {
78
+ var u, p, D, d;
79
+ const s = i.subIndicator.map((e) => {
78
80
  if (e.series === "bar")
79
81
  return {
80
82
  name: "subMain",
@@ -83,9 +85,9 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
83
85
  type: "bar",
84
86
  silent: !0,
85
87
  symbol: "none",
86
- data: e.data.map((h, E) => e.seriesColor === "kline" ? {
88
+ data: e.data.map((h, Q) => e.seriesColor === "kline" ? {
87
89
  value: h,
88
- itemStyle: Be(n.data, E)
90
+ itemStyle: Ze(i.data, Q)
89
91
  } : e.seriesColor === "value" ? {
90
92
  value: h,
91
93
  itemStyle: {
@@ -126,9 +128,9 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
126
128
  dataZoom: [
127
129
  {
128
130
  type: "inside",
129
- startValue: y,
130
- endValue: u,
131
- maxValueSpan: W.maxValueSpan
131
+ startValue: j,
132
+ endValue: r,
133
+ maxValueSpan: J.maxValueSpan
132
134
  }
133
135
  ],
134
136
  tooltip: {
@@ -140,17 +142,17 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
140
142
  label: {
141
143
  rich: {},
142
144
  formatter: (e) => {
143
- const { axisDimension: h, value: E } = e;
145
+ const { axisDimension: h, value: Q } = e;
144
146
  if (h === "x")
145
147
  return null;
146
148
  if (e.axisIndex === 1)
147
- return String(_e(E));
149
+ return String(_e(Q));
148
150
  }
149
151
  }
150
152
  },
151
153
  xAxis: {
152
154
  type: "category",
153
- data: n.time,
155
+ data: i.time,
154
156
  axisLine: {
155
157
  show: !0
156
158
  },
@@ -167,8 +169,8 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
167
169
  },
168
170
  {
169
171
  position: "left",
170
- min: ((j = n.subIndicator[0]) == null ? void 0 : j.leftYAxisRange) === "cover" ? (e) => e.min : null,
171
- max: ((m = n.subIndicator[0]) == null ? void 0 : m.leftYAxisRange) === "cover" ? (e) => e.max : null,
172
+ min: ((u = i.subIndicator[0]) == null ? void 0 : u.leftYAxisRange) === "cover" ? (e) => e.min : null,
173
+ max: ((p = i.subIndicator[0]) == null ? void 0 : p.leftYAxisRange) === "cover" ? (e) => e.max : null,
172
174
  splitNumber: 1,
173
175
  axisLine: {
174
176
  show: !0
@@ -183,8 +185,8 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
183
185
  },
184
186
  {
185
187
  position: "right",
186
- min: ((I = n.subIndicator[0]) == null ? void 0 : I.rightYAxisRange) === "cover" ? (e) => e.min : null,
187
- max: ((z = n.subIndicator[0]) == null ? void 0 : z.rightYAxisRange) === "cover" ? (e) => e.max : null,
188
+ min: ((D = i.subIndicator[0]) == null ? void 0 : D.rightYAxisRange) === "cover" ? (e) => e.min : null,
189
+ max: ((d = i.subIndicator[0]) == null ? void 0 : d.rightYAxisRange) === "cover" ? (e) => e.max : null,
188
190
  splitNumber: 1,
189
191
  axisLine: {
190
192
  show: !1
@@ -197,159 +199,165 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
197
199
  }
198
200
  }
199
201
  ],
200
- series: d
202
+ series: s
201
203
  };
202
- }, Ce = (n, y, u = "strict") => {
203
- let d = 0, j = n.length - 1, m = -1;
204
- for (; d <= j; ) {
205
- let I = Math.floor((d + j) / 2);
206
- if (u === "strict") {
207
- if (n[I] === y)
208
- return I;
209
- n[I] < y ? d = I + 1 : j = I - 1;
204
+ }, ze = (i, j, r = "strict") => {
205
+ let s = 0, u = i.length - 1, p = -1;
206
+ for (; s <= u; ) {
207
+ let D = Math.floor((s + u) / 2);
208
+ if (r === "strict") {
209
+ if (i[D] === j)
210
+ return D;
211
+ i[D] < j ? s = D + 1 : u = D - 1;
210
212
  } else
211
- u === "gte" && (n[I] >= y ? (m = I, j = I - 1) : d = I + 1);
213
+ r === "gte" && (i[D] >= j ? (p = D, u = D - 1) : s = D + 1);
212
214
  }
213
- return u === "strict" ? -1 : m;
214
- }, me = (n, y) => ({
215
- data: [...n.data, ...y.data.slice(1)],
216
- mainIndicator: n.mainIndicator.map((u, d) => ({
217
- ...u,
218
- data: [...u.data, ...y.mainIndicator[d].data.slice(1)]
215
+ return r === "strict" ? -1 : p;
216
+ }, Ge = (i) => {
217
+ const j = [];
218
+ return i.reduce((r, s) => {
219
+ const u = `${s.coord[0]}+${s.label.position}`, p = s.label.position === "top" ? -16 : 16, D = r.get(u);
220
+ return D ? (r.set(u, D + 1), s.symbolOffset[1] = p * (D + 1)) : (r.set(u, 1), s.symbolOffset[1] = s.label.position === "top" ? -7 : 7), j.push(s), r;
221
+ }, /* @__PURE__ */ new Map()), j;
222
+ }, Ae = (i, j) => ({
223
+ data: [...i.data, ...j.data.slice(1)],
224
+ mainIndicator: i.mainIndicator.map((r, s) => ({
225
+ ...r,
226
+ data: [...r.data, ...j.mainIndicator[s].data.slice(1)]
219
227
  })),
220
- subIndicator: n.subIndicator.map((u, d) => ({
221
- ...u,
222
- data: [...u.data, ...y.subIndicator[d].data.slice(1)]
228
+ subIndicator: i.subIndicator.map((r, s) => ({
229
+ ...r,
230
+ data: [...r.data, ...j.subIndicator[s].data.slice(1)]
223
231
  })),
224
- time: [...n.time, ...y.time.slice(1)]
225
- }), je = (n, y, u) => {
226
- switch (u) {
232
+ time: [...i.time, ...j.time.slice(1)]
233
+ }), ye = (i, j, r) => {
234
+ switch (r) {
227
235
  case "5": {
228
- let L = [
236
+ let g = [
229
237
  ...new Set(
230
- n.slice(-20).map((D) => {
231
- const i = new Date(D), s = String(i.getHours()).padStart(2, "0"), A = String(i.getMinutes()).padStart(2, "0"), v = String(i.getSeconds()).padStart(2, "0");
232
- return `${s}:${A}:${v}`;
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}`;
233
241
  })
234
242
  )
235
243
  ];
236
- L.includes("00:00:00") && (L.splice(L.indexOf("00:00:00"), 1), L.push("24:00:00")), L = L.sort((D, i) => (/* @__PURE__ */ new Date(`2000-01-30 ${D}`)).getTime() - (/* @__PURE__ */ new Date(`2000-01-30 ${i}`)).getTime());
237
- const T = new Date(y), N = T.getFullYear(), c = String(T.getMonth() + 1).padStart(2, "0"), M = String(T.getDate()).padStart(2, "0"), f = String(T.getHours()).padStart(2, "0"), r = String(T.getMinutes()).padStart(2, "0"), a = String(T.getSeconds()).padStart(2, "0");
238
- if (`${f}:${r}:${a}` == "00:00:00")
239
- return `${N}-${c}-${M} 01:00:00`;
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), l = f.getFullYear(), c = 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 `${l}-${c}-${a} 01:00:00`;
240
248
  {
241
- let D = null;
242
- for (let i = 0; i < L.length; i++) {
243
- const s = L[i].split(":");
244
- if (+`${s[0]}${s[1]}${s[2]}` >= +`${f}${r}${a}`) {
245
- D = L[i];
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];
246
254
  break;
247
255
  }
248
256
  }
249
- if (D === "24:00:00") {
250
- const i = new Date(y);
251
- i.setDate(i.getDate() + 1);
252
- const s = i.getFullYear(), A = String(i.getMonth() + 1).padStart(2, "0"), v = String(i.getDate()).padStart(2, "0");
253
- return `${s}-${A}-${v} 00:00:00`;
257
+ if (z === "24:00:00") {
258
+ const n = new Date(j);
259
+ n.setDate(n.getDate() + 1);
260
+ const T = n.getFullYear(), y = String(n.getMonth() + 1).padStart(2, "0"), O = String(n.getDate()).padStart(2, "0");
261
+ return `${T}-${y}-${O} 00:00:00`;
254
262
  }
255
- return `${N}-${c}-${M} ${D}`;
263
+ return `${l}-${c}-${a} ${z}`;
256
264
  }
257
265
  }
258
266
  case "6": {
259
- const L = new Date(y), T = L.getHours();
260
- if (T >= 4 && T < 21) {
261
- const N = L.getFullYear(), c = String(L.getMonth() + 1).padStart(2, "0"), M = String(L.getDate()).padStart(2, "0");
262
- return `${N}-${c}-${M} 09:00:00`;
267
+ const g = new Date(j), f = g.getHours();
268
+ if (f >= 4 && f < 21) {
269
+ const l = g.getFullYear(), c = String(g.getMonth() + 1).padStart(2, "0"), a = String(g.getDate()).padStart(2, "0");
270
+ return `${l}-${c}-${a} 09:00:00`;
263
271
  } else {
264
- const N = new Date(y);
265
- N.getHours() >= 21 && N.setDate(N.getDate() + 1);
266
- const c = N.getFullYear(), M = String(N.getMonth() + 1).padStart(2, "0"), f = String(N.getDate()).padStart(2, "0"), r = `${c}-${M}-${f} 09:00:00`, a = Ce(n, r, "gte");
267
- return a === -1 ? r : n[a];
272
+ const l = new Date(j);
273
+ l.getHours() >= 21 && l.setDate(l.getDate() + 1);
274
+ const c = l.getFullYear(), a = String(l.getMonth() + 1).padStart(2, "0"), x = String(l.getDate()).padStart(2, "0"), L = `${c}-${a}-${x} 09:00:00`, t = ze(i, L, "gte");
275
+ return t === -1 ? L : i[t];
268
276
  }
269
277
  }
270
278
  case "7": {
271
- const L = new Date(y), T = new Date(L);
272
- T.setDate(L.getDate() - L.getDay()), T.setHours(0, 0, 0, 0);
273
- const N = new Date(T);
274
- N.setDate(T.getDate() + 5), N.setHours(23, 59, 59, 0);
275
- const c = new Date(T);
276
- c.setDate(T.getDate() + 12), c.setHours(9, 0, 0, 0);
277
- const M = L <= N ? N : c, f = M.getFullYear(), r = String(M.getMonth() + 1).padStart(2, "0"), a = String(M.getDate()).padStart(2, "0");
278
- return `${f}-${r}-${a} 09:00:00`;
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 l = new Date(f);
282
+ l.setDate(f.getDate() + 5), l.setHours(23, 59, 59, 0);
283
+ const c = new Date(f);
284
+ c.setDate(f.getDate() + 12), c.setHours(9, 0, 0, 0);
285
+ const a = g <= l ? l : c, x = a.getFullYear(), L = String(a.getMonth() + 1).padStart(2, "0"), t = String(a.getDate()).padStart(2, "0");
286
+ return `${x}-${L}-${t} 09:00:00`;
279
287
  }
280
288
  case "8": {
281
- const L = new Date(y), T = new Date(L.getFullYear(), L.getMonth() + 1, 1), N = new Date(T);
282
- N.setDate(T.getDate() - 1), N.setHours(9, 0, 0, 0);
283
- const c = N.getFullYear(), M = String(N.getMonth() + 1).padStart(2, "0"), f = String(N.getDate()).padStart(2, "0");
284
- return `${c}-${M}-${f} 09:00:00`;
289
+ const g = new Date(j), f = new Date(g.getFullYear(), g.getMonth() + 1, 1), l = new Date(f);
290
+ l.setDate(f.getDate() - 1), l.setHours(9, 0, 0, 0);
291
+ const c = l.getFullYear(), a = String(l.getMonth() + 1).padStart(2, "0"), x = String(l.getDate()).padStart(2, "0");
292
+ return `${c}-${a}-${x} 09:00:00`;
285
293
  }
286
294
  }
287
- const d = new Date(y), j = d.getFullYear(), m = d.getMonth(), I = d.getDate(), z = d.getHours(), e = d.getMinutes(), h = d.getSeconds(), E = (L) => {
288
- let T = null;
289
- const N = Math.floor(e / L);
290
- e % L === 0 && h === 0 ? T = e : T = (N + 1) * L;
291
- const c = Math.floor(T / 60), M = z + c, f = T % 60, r = new Date(j, m, I, M, f, 0), a = (P) => String(P).padStart(2, "0"), D = r.getFullYear(), i = a(r.getMonth() + 1), s = a(r.getDate()), A = a(r.getHours()), v = a(r.getMinutes());
292
- return `${D}-${i}-${s} ${A}:${v}:00`;
295
+ const s = new Date(j), u = s.getFullYear(), p = s.getMonth(), D = s.getDate(), d = s.getHours(), e = s.getMinutes(), h = s.getSeconds(), Q = (g) => {
296
+ let f = null;
297
+ const l = Math.floor(e / g);
298
+ e % g === 0 && h === 0 ? f = e : f = (l + 1) * g;
299
+ const c = Math.floor(f / 60), a = d + c, 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`;
293
301
  };
294
- switch (u) {
302
+ switch (r) {
295
303
  case "1":
296
- return E(1);
304
+ return Q(1);
297
305
  case "2":
298
- return E(5);
306
+ return Q(5);
299
307
  case "3":
300
- return E(15);
308
+ return Q(15);
301
309
  case "4":
302
- return E(30);
310
+ return Q(30);
303
311
  default:
304
- throw new Error(`Unsupported cycle: ${y} ${u}`);
312
+ throw new Error(`Unsupported cycle: ${j} ${r}`);
305
313
  }
306
- }, le = (n, y, u) => {
307
- let d = null, j = null;
308
- const [m, I] = y;
309
- switch (u) {
314
+ }, ue = (i, j, r) => {
315
+ let s = null, u = null;
316
+ const [p, D] = j;
317
+ switch (r) {
310
318
  case "6": {
311
- d = n.find((z) => new Date(g(z).format("YYYY-MM-DD 23:59:59")).getTime() >= new Date(m).getTime()), j = n.findLast((z) => new Date(g(z).format("YYYY-MM-DD 00:00:00")).getTime() <= new Date(I).getTime());
319
+ s = 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());
312
320
  break;
313
321
  }
314
322
  case "7": {
315
- const z = g(I).endOf("week").add(1, "day").format("YYYY-MM-DD 23:59:59");
316
- d = n.find((e) => g(e).endOf("week").add(1, "day").format("YYYY-MM-DD") === g(m).endOf("week").add(1, "day").format("YYYY-MM-DD")), j = n.findLast((e) => new Date(e).getTime() <= new Date(z).getTime());
323
+ const d = Y(D).endOf("week").add(1, "day").format("YYYY-MM-DD 23:59:59");
324
+ s = 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());
317
325
  break;
318
326
  }
319
327
  case "8": {
320
- d = n.find((z) => g(z).format("YYYY-MM") === g(m).format("YYYY-MM")), j = n.findLast((z) => g(z).format("YYYY-MM") === g(I).format("YYYY-MM"));
328
+ s = 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"));
321
329
  break;
322
330
  }
323
331
  default:
324
- d = n.find((z) => new Date(z).getTime() >= new Date(m).getTime()), j = n.findLast((z) => new Date(z).getTime() <= new Date(I).getTime());
332
+ s = i.find((d) => new Date(d).getTime() >= new Date(p).getTime()), u = i.findLast((d) => new Date(d).getTime() <= new Date(D).getTime());
325
333
  }
326
- return [d, j];
327
- }, $e = (n, y, u, d, j) => {
328
- const m = (T, N) => {
329
- const { direction: c = "", tradeAction: M = "", tradeType: f = "" } = T, r = f ?? c + M;
330
- switch (N) {
334
+ return [s, u];
335
+ }, We = (i, j, r, s, u, p) => {
336
+ const D = (l, c) => {
337
+ const { direction: a = "", tradeAction: x = "", tradeType: L = "" } = l, t = L ?? a + x;
338
+ switch (c) {
331
339
  case 0:
332
340
  return (/* @__PURE__ */ new Map([
333
341
  ["开多", "买"],
334
342
  ["平多", "卖"],
335
343
  ["开空", "卖"],
336
344
  ["平空", "买"]
337
- ])).get(r);
345
+ ])).get(t);
338
346
  case 1:
339
- return f ?? c + M;
347
+ return L ?? a + x;
340
348
  }
341
- }, I = (T, N, c, M) => T.reduce((f, r) => {
342
- var P;
343
- const a = m(r, 0), D = T.filter((_) => _.klineTime === r.klineTime), i = [...new Set(D.map((_) => m(_, 0)))];
344
- let s = null;
345
- i.length > 1 ? s = "image://" + new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", self.location).href : s = "image://" + new URL((/* @__PURE__ */ Object.assign({ "./images/buy.svg": Ue, "./images/sell.svg": Ve, "./images/t.svg": He }))[`./images/${a === "买" ? "buy" : "sell"}.svg`], self.location).href;
346
- const A = Ce(c, r.klineTime), v = (P = M[A]) == null ? void 0 : P[3];
347
- return N.forEach((_) => {
348
- var Z;
349
- const ie = a === "买" ? 0 : 1;
350
- _.range[ie] === r.klineTime && (_.rangeValue[ie] = (Z = M[A]) == null ? void 0 : Z[a === "买" ? 2 : 3]);
351
- }), f.push({
352
- symbol: s,
349
+ }, d = (l, c, a, x) => l.reduce((L, t) => {
350
+ var R;
351
+ const z = D(t, 0), n = l.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 c.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,
353
361
  symbolSize: 25,
354
362
  symbolRotate: 0,
355
363
  symbolOffset: [0, 0],
@@ -357,105 +365,116 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
357
365
  show: !1,
358
366
  position: "top"
359
367
  },
360
- coord: [r.klineTime, v],
368
+ coord: [t.klineTime, E],
361
369
  silent: !0,
362
370
  animation: !1,
363
371
  customData: {
364
- tradeType: a,
365
- amount: r.amount,
372
+ tradeType: z,
373
+ amount: t.amount,
366
374
  // 手数
367
- part: r.part,
375
+ part: t.part,
368
376
  // 份数
369
- profitAndLoss: r.profitAndLoss,
377
+ profitAndLoss: t.profitAndLoss,
370
378
  // 盈亏
371
- openPriceAll: r.openPriceAll,
379
+ openPriceAll: t.openPriceAll,
372
380
  // 开仓价
373
- closePriceAll: r.closePriceAll
381
+ closePriceAll: t.closePriceAll
374
382
  // 收仓价
375
383
  }
376
- }), f;
377
- }, []), z = (T, N, c, M) => T.reduce((f, r, a) => {
378
- const D = m(r, 1), i = ["开多", "开空"].includes(D) ? "top" : "bottom", s = i === "top" ? (r.openPriceAll / r.amount).toFixed(2) : (r.closePriceAll / r.amount).toFixed(2);
379
- return N.forEach((A) => {
380
- (i === "top" ? A.range[0] : A.range[1]) === r.klineTime && (A.rangeValue[i === "top" ? 0 : 1] = s);
381
- }), f.push({
382
- symbol: "triangle",
383
- symbolSize: [10, 12],
384
- symbolRotate: i === "top" ? 180 : 0,
385
- symbolOffset: [0, 0],
386
- label: {
387
- show: !0,
388
- position: i,
389
- color: "#fff",
390
- formatter: `${D} ${i === "top" ? "+" : "-"} ${r.amount}手 ${r.part ? `(${r.part}份)` : ""}`
391
- },
392
- itemStyle: { color: i === "top" ? "#FF0000" : "#389e0d" },
393
- coord: [r.klineTime, s],
394
- silent: !0,
395
- animation: !1,
396
- customData: {
397
- tradeType: D,
398
- amount: r.amount,
399
- // 手数
400
- part: r.part,
401
- // 份数
402
- profitAndLoss: r.profitAndLoss,
403
- // 盈亏
404
- openPriceAll: r.openPriceAll,
405
- // 开仓价
406
- closePriceAll: r.closePriceAll
407
- // 收仓价
384
+ }), L;
385
+ }, []), e = (l, c, a, x) => {
386
+ const { sellBuyByPrice: L } = p, t = l.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);
392
+ else {
393
+ const F = ze(a, n.klineTime);
394
+ E = O === "top" ? (R = x[F]) == null ? void 0 : R[3] : (H = x[F]) == null ? void 0 : H[2];
408
395
  }
409
- }), f;
410
- }, []), e = (T, N, c) => {
411
- const { basePointData: M, baseLineData: f } = T.reduce(
412
- (i, s) => {
413
- const A = {
414
- pointTime: s.openTime,
396
+ return c.forEach((F) => {
397
+ (O === "top" ? F.range[0] : F.range[1]) === n.klineTime && (F.rangeValue[O === "top" ? 0 : 1] = E);
398
+ }), z.push({
399
+ symbol: "triangle",
400
+ symbolSize: [10, 12],
401
+ symbolRotate: O === "top" ? 180 : 0,
402
+ symbolOffset: [0, 0],
403
+ label: {
404
+ show: !0,
405
+ position: O,
406
+ color: "#fff",
407
+ formatter: `${y} ${O === "top" ? "+" : "-"} ${n.amount}手 ${n.part ? `(${n.part}份)` : ""}`
408
+ },
409
+ itemStyle: { color: O === "top" ? "#FF0000" : "#389e0d" },
410
+ coord: [n.klineTime, E],
411
+ silent: !0,
412
+ animation: !1,
413
+ customData: {
414
+ tradeType: y,
415
+ amount: n.amount,
416
+ // 手数
417
+ part: n.part,
418
+ // 份数
419
+ profitAndLoss: n.profitAndLoss,
420
+ // 盈亏
421
+ openPriceAll: n.openPriceAll,
422
+ // 开仓价
423
+ closePriceAll: n.closePriceAll
424
+ // 收仓价
425
+ }
426
+ }), z;
427
+ }, []);
428
+ return L ? t : Ge(t);
429
+ }, h = (l, c, a) => {
430
+ const { basePointData: x, baseLineData: L } = l.reduce(
431
+ (T, y) => {
432
+ const O = {
433
+ pointTime: y.openTime,
415
434
  // 交易时间
416
435
  tradeAction: "开",
417
436
  // 交易行为
418
- tradeDirection: s.tradeDirection ? "空" : "多",
437
+ tradeDirection: y.tradeDirection ? "空" : "多",
419
438
  // 交易方向 1:空, 0:多
420
- tradeType: `开${s.tradeDirection ? "空" : "多"}`,
439
+ tradeType: `开${y.tradeDirection ? "空" : "多"}`,
421
440
  part: null,
422
441
  // 份数,
423
- amount: s.tradeVolume,
442
+ amount: y.tradeVolume,
424
443
  // 手数
425
- profitAndLoss: s.profitAndLoss,
444
+ profitAndLoss: y.profitAndLoss,
426
445
  // 盈亏
427
- openPriceAll: s.openPrice * s.tradeVolume,
446
+ openPriceAll: y.openPrice * y.tradeVolume,
428
447
  // 开仓总价
429
- closePriceAll: s.closePrice * s.tradeVolume,
448
+ closePriceAll: y.closePrice * y.tradeVolume,
430
449
  // 平仓总价
431
- klineTime: je(c, s.openTime, N)
450
+ klineTime: ye(a, y.openTime, c)
432
451
  // K线时间
433
- }, v = {
434
- pointTime: s.closeTime,
452
+ }, E = {
453
+ pointTime: y.closeTime,
435
454
  // 交易时间
436
455
  tradeAction: "平",
437
456
  // 交易行为
438
- tradeDirection: s.tradeDirection ? "空" : "多",
457
+ tradeDirection: y.tradeDirection ? "空" : "多",
439
458
  // 交易方向 1:空, 0:多
440
- tradeType: `平${s.tradeDirection ? "空" : "多"}`,
459
+ tradeType: `平${y.tradeDirection ? "空" : "多"}`,
441
460
  part: null,
442
461
  // 份数,
443
- amount: s.tradeVolume,
462
+ amount: y.tradeVolume,
444
463
  // 手数
445
- profitAndLoss: s.profitAndLoss,
464
+ profitAndLoss: y.profitAndLoss,
446
465
  // 盈亏
447
- openPriceAll: s.openPrice * s.tradeVolume,
466
+ openPriceAll: y.openPrice * y.tradeVolume,
448
467
  // 开仓总价
449
- closePriceAll: s.closePrice * s.tradeVolume,
468
+ closePriceAll: y.closePrice * y.tradeVolume,
450
469
  // 平仓总价
451
- klineTime: je(c, s.closeTime, N)
470
+ klineTime: ye(a, y.closeTime, c)
452
471
  // K线时间
453
- }, P = {
454
- range: [A.klineTime, v.klineTime],
472
+ }, R = {
473
+ range: [O.klineTime, E.klineTime],
455
474
  rangeValue: [null, null],
456
- color: v.profitAndLoss > 0 ? "#FF0000" : "#389e0d"
475
+ color: E.profitAndLoss > 0 ? "#FF0000" : "#389e0d"
457
476
  };
458
- return i.basePointData.push(A, v), i.baseLineData.push(P), i;
477
+ return T.basePointData.push(O, E), T.baseLineData.push(R), T;
459
478
  },
460
479
  {
461
480
  basePointData: [],
@@ -463,60 +482,60 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
463
482
  baseLineData: []
464
483
  // 连线数据
465
484
  }
466
- ), a = [...M.reduce((i, s) => {
467
- const A = JSON.parse(JSON.stringify(s)), v = A.klineTime + A.tradeType;
468
- if (i.has(v)) {
469
- const P = i.get(v);
470
- A.amount += P.amount, A.part += P.part, A.profitAndLoss += P.profitAndLoss, A.openPriceAll += P.openPriceAll, A.closePriceAll += P.closePriceAll;
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;
471
490
  }
472
- return i.set(v, A), i;
473
- }, /* @__PURE__ */ new Map([])).values()].sort((i, s) => new Date(i.klineTime) - new Date(s.klineTime)), D = f.filter(({ range: i }) => i[0] !== i[1]);
474
- return { pointData: a, lineData: D };
475
- }, { pointData: h, lineData: E } = e(n, y, d);
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, s);
476
495
  return {
477
- tradePointData: (u === 0 ? I : z)(h, E, d, j),
478
- tradeLineData: E.map(({ range: T, rangeValue: N, color: c }) => [
496
+ tradePointData: (r === 0 ? d : e)(Q, g, s, u),
497
+ tradeLineData: g.map(({ range: l, rangeValue: c, color: a }) => [
479
498
  {
480
499
  symbol: "none",
481
- coord: [T[0], N[0]],
482
- lineStyle: { color: c, width: 2, type: "solid" },
500
+ coord: [l[0], c[0]],
501
+ lineStyle: { color: a, width: 2, type: "solid" },
483
502
  silent: !0,
484
503
  animation: !1
485
504
  },
486
505
  {
487
506
  symbol: "none",
488
- coord: [T[1], N[1]],
507
+ coord: [l[1], c[1]],
489
508
  silent: !0,
490
509
  animation: !1
491
510
  }
492
511
  ])
493
512
  };
494
- }, We = (n, y) => {
495
- let u = [];
496
- if (Number(y) <= 5)
497
- u = n.map(({ tradeDate: d, netPositionValue: j }) => [g(d).format("YYYY-MM-DD HH:mm:ss"), j]);
498
- else if (Number(y) === 6) {
499
- const d = n.reduce((j, m) => {
500
- const { tradeDate: I, netPositionValue: z } = m;
501
- return j.set(g(I).format("YYYY-MM-DD 09:00:00"), z), j;
513
+ }, Je = (i, j) => {
514
+ let r = [];
515
+ if (Number(j) <= 5)
516
+ r = i.map(({ tradeDate: s, netPositionValue: u }) => [Y(s).format("YYYY-MM-DD HH:mm:ss"), u]);
517
+ else if (Number(j) === 6) {
518
+ const s = 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;
502
521
  }, /* @__PURE__ */ new Map());
503
- u = Array.from(d, ([j, m]) => [j, m]);
522
+ r = Array.from(s, ([u, p]) => [u, p]);
504
523
  } else
505
- u = [];
506
- return { netPositionLineData: u };
507
- }, Je = (n, y, u, d) => {
508
- let j = [];
509
- if (["6", "7", "8"].includes(y)) {
510
- const m = n.reduce((I, z) => {
511
- const e = je(d, z.date, y), h = z[u === 0 ? "simple" : "compound"];
512
- return I.set(e, h), I;
524
+ r = [];
525
+ return { netPositionLineData: r };
526
+ }, Ke = (i, j, r, s) => {
527
+ let u = [];
528
+ if (["6", "7", "8"].includes(j)) {
529
+ const p = i.reduce((D, d) => {
530
+ const e = ye(s, d.date, j), h = d[r === 0 ? "simple" : "compound"];
531
+ return D.set(e, h), D;
513
532
  }, /* @__PURE__ */ new Map());
514
- j = Array.from(m, ([I, z]) => [I, z]);
533
+ u = Array.from(p, ([D, d]) => [D, d]);
515
534
  } else
516
- j = [];
517
- return { tradeIncomeRateLineData: j };
535
+ u = [];
536
+ return { tradeIncomeRateLineData: u };
518
537
  };
519
- const Ke = { class: "tips" }, qe = {
538
+ const qe = { class: "tips" }, Xe = {
520
539
  __name: "Tips",
521
540
  props: {
522
541
  data: {
@@ -524,17 +543,17 @@ const Ke = { class: "tips" }, qe = {
524
543
  default: () => []
525
544
  }
526
545
  },
527
- setup(n) {
528
- return (y, u) => (U(), H("div", Ke, [
529
- (U(!0), H(Ae, null, we(n.data, (d, j) => (U(), H("span", {
530
- key: j,
546
+ setup(i) {
547
+ return (j, r) => (_(), Z("div", qe, [
548
+ (_(!0), Z(pe, null, we(i.data, (s, u) => (_(), Z("span", {
549
+ key: u,
531
550
  class: "item",
532
- style: Se({ color: d.color })
533
- }, Me(d.label) + " " + Me(d.value), 5))), 128))
551
+ style: Se({ color: s.color })
552
+ }, ie(s.label) + " " + ie(s.value), 5))), 128))
534
553
  ]));
535
554
  }
536
- }, ue = /* @__PURE__ */ ze(qe, [["__scopeId", "data-v-df1caefe"]]);
537
- const Xe = {
555
+ }, je = /* @__PURE__ */ de(Xe, [["__scopeId", "data-v-df1caefe"]]);
556
+ const et = {
538
557
  __name: "SliderChart",
539
558
  props: {
540
559
  // K线当屏时间范围
@@ -554,46 +573,46 @@ const Xe = {
554
573
  // 三方标记(不需要token授权)
555
574
  },
556
575
  emits: ["change"],
557
- setup(n, { expose: y, emit: u }) {
558
- const { request: d } = pe("stConfig");
559
- let j = null;
560
- const m = F(null), I = u, z = n, e = F({
576
+ setup(i, { expose: j, emit: r }) {
577
+ const { request: s } = fe("stConfig");
578
+ let u = null;
579
+ const p = V(null), D = r, d = i, e = V({
561
580
  data: [],
562
581
  // <[开 收 低 高 成交额 涨跌值 涨跌百分比]>
563
582
  mainIndicator: [],
564
583
  subIndicator: [],
565
584
  time: []
566
585
  }), h = async () => {
567
- const N = {
568
- varietyCode: z.varietyCode,
586
+ const l = {
587
+ varietyCode: d.varietyCode,
569
588
  cycle: "6",
570
- right: z.varietyStock === 1 ? z.rightType : 0,
589
+ right: d.varietyStock === 1 ? d.rightType : 0,
571
590
  // 复权方式
572
- contractType: z.varietyStock ? null : z.klineType,
591
+ contractType: d.varietyStock ? null : d.klineType,
573
592
  // 合约类型
574
593
  startTime: "1999-01-01 00:00:00",
575
- endTime: g().format("YYYY-MM-DD 23:59:59"),
576
- deleteFirstNumber: z.deleteFirstNumber,
577
- withoutPermission: z.withoutPermission
578
- }, { body: c } = await d.post("/middleLayer/kline/getKline", N);
579
- c ? e.value = c : e.value = { data: [], mainIndicator: [], subIndicator: [], time: [] }, T("init");
580
- }, E = ae((N) => {
581
- if (!N.dataZoomId)
594
+ endTime: Y().format("YYYY-MM-DD 23:59:59"),
595
+ deleteFirstNumber: d.deleteFirstNumber,
596
+ withoutPermission: d.withoutPermission
597
+ }, { body: c } = await s.post("/middleLayer/kline/getKline", l);
598
+ c ? e.value = c : e.value = { data: [], mainIndicator: [], subIndicator: [], time: [] }, f("init");
599
+ }, Q = ne((l) => {
600
+ if (!l.dataZoomId)
582
601
  return;
583
- const c = j.getOption();
602
+ const c = u.getOption();
584
603
  if (c != null && c.dataZoom[0]) {
585
- const { startValue: M, endValue: f } = j.getOption().dataZoom[0], { time: r } = e.value, a = `${r[M].split(" ")[0]} 00:00:00`, D = `${r[f].split(" ")[0]} 23:59:59`;
586
- console.log(`检测到拖拽轴被拖动, 时间区间: ${a} - ${D}`), I("change", { startTime: a, endTime: D });
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 });
587
606
  }
588
- }, 200), L = ae(({ startTime: N, endTime: c }) => {
589
- T("reset", { startTime: N, endTime: c });
590
- }, 100), T = (N, c) => {
591
- switch (N) {
607
+ }, 200), g = ne(({ startTime: l, endTime: c }) => {
608
+ f("reset", { startTime: l, endTime: c });
609
+ }, 100), f = (l, c) => {
610
+ switch (l) {
592
611
  case "init": {
593
- const { data: M, time: f } = e.value, { xAxisData: r, lineData: a } = M.reduce(
594
- (i, s, A) => (i.xAxisData.push(f[A].split(" ")[0]), i.lineData.push(s[1]), i),
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),
595
614
  { xAxisData: [], lineData: [] }
596
- ), D = {
615
+ ), z = {
597
616
  grid: {
598
617
  height: 0,
599
618
  left: "100px",
@@ -601,7 +620,7 @@ const Xe = {
601
620
  },
602
621
  xAxis: {
603
622
  type: "category",
604
- data: r,
623
+ data: L,
605
624
  show: !1
606
625
  },
607
626
  yAxis: {
@@ -624,30 +643,30 @@ const Xe = {
624
643
  ],
625
644
  series: [
626
645
  {
627
- data: a,
646
+ data: t,
628
647
  type: "line"
629
648
  }
630
649
  ]
631
650
  };
632
- if (j.setOption(D, !0), z.screenTimeRange.length) {
633
- const [i, s] = z.screenTimeRange;
634
- L({ startTime: i, endTime: s });
651
+ if (u.setOption(z, !0), d.screenTimeRange.length) {
652
+ const [n, T] = d.screenTimeRange;
653
+ g({ startTime: n, endTime: T });
635
654
  }
636
655
  break;
637
656
  }
638
657
  case "reset": {
639
- const { time: M } = e.value, f = g(c.startTime).format("YYYY-MM-DD"), r = g(c.endTime).format("YYYY-MM-DD");
640
- let a = -1, D = -1;
641
- for (let i = 0; i < M.length; i++) {
642
- const s = g(M[i]).format("YYYY-MM-DD");
643
- if (a !== -1 && D !== -1)
658
+ const { time: a } = e.value, x = Y(c.startTime).format("YYYY-MM-DD"), L = Y(c.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)
644
663
  break;
645
- a === -1 && (new Date(s) === new Date(f) ? a = i : new Date(s) > new Date(f) && (a = i - 1)), D === -1 && (new Date(s) === new Date(r) ? D = i : new Date(s) > new Date(r) && (D = i - 1));
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));
646
665
  }
647
- D === -1 && (D = M.length - 1), j.dispatchAction({
666
+ z === -1 && (z = a.length - 1), u.dispatchAction({
648
667
  type: "dataZoom",
649
- startValue: a,
650
- endValue: D
668
+ startValue: t,
669
+ endValue: z
651
670
  });
652
671
  break;
653
672
  }
@@ -655,36 +674,36 @@ const Xe = {
655
674
  };
656
675
  return xe(() => {
657
676
  Qe(() => {
658
- j = Ne.init(m.value), j.on("datazoom", E), h();
677
+ u = Ne.init(p.value), u.on("datazoom", Q), h();
659
678
  });
660
- }), te(
661
- () => z.screenTimeRange,
662
- (N) => {
663
- const [c, M] = N;
664
- L({ startTime: c, endTime: M });
679
+ }), ae(
680
+ () => d.screenTimeRange,
681
+ (l) => {
682
+ const [c, a] = l;
683
+ g({ startTime: c, endTime: a });
665
684
  },
666
685
  { deep: !0 }
667
- ), fe(() => {
668
- j.off("datazoom"), j.dispose();
669
- }), y({
670
- resize: ae(() => j.resize(), 100)
671
- }), (N, c) => (U(), H("div", {
686
+ ), Oe(() => {
687
+ u.off("datazoom"), u.dispose();
688
+ }), j({
689
+ resize: ne(() => u.resize(), 100)
690
+ }), (l, c) => (_(), Z("div", {
672
691
  class: "chart",
673
692
  ref_key: "sliderChartRef",
674
- ref: m
693
+ ref: p
675
694
  }, null, 512));
676
695
  }
677
- }, et = /* @__PURE__ */ ze(Xe, [["__scopeId", "data-v-0c715da1"]]);
678
- const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
696
+ }, tt = /* @__PURE__ */ de(et, [["__scopeId", "data-v-0c715da1"]]);
697
+ const Mt = { class: "main-chart" }, at = { class: "indicator" }, it = {
679
698
  key: 0,
680
699
  class: "screen-time-range"
681
- }, it = {
700
+ }, nt = {
682
701
  key: 0,
683
702
  class: "sub-chart"
684
- }, nt = { class: "indicator" }, ot = { class: "title" }, rt = {
703
+ }, ot = { class: "indicator" }, rt = { class: "title" }, st = {
685
704
  key: 1,
686
705
  class: "slider-chart"
687
- }, st = {
706
+ }, lt = {
688
707
  __name: "index",
689
708
  props: {
690
709
  varietyCode: { type: String, required: !0 },
@@ -722,17 +741,17 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
722
741
  withoutPermission: { type: Number, default: 0 }
723
742
  // 三方标记(不需要token授权)
724
743
  },
725
- setup(n, { expose: y }) {
726
- const { round: u, formatValue: d } = Oe, { request: j } = pe("stConfig"), m = F(), I = F(!1), z = F(!1), e = n;
727
- let h = !1, E = !1, L = !1, T = !1, N = null, c = null, M = null;
728
- const f = F(null), r = F(null), a = F({
744
+ setup(i, { expose: j }) {
745
+ const { round: r, formatValue: s } = 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, l = null, c = null, a = null;
747
+ const x = V(null), L = V(null), t = V({
729
748
  data: [],
730
749
  mainIndicator: [],
731
750
  subIndicator: [],
732
751
  time: []
733
- }), D = F(0), i = F([]), s = F(null), A = F("VOL"), v = ce(() => {
734
- const t = a.value.data[D.value];
735
- if (!t)
752
+ }), z = V(0), n = V([]), T = V(null), y = V("VOL"), O = ce(() => {
753
+ const M = t.value.data[z.value];
754
+ if (!M)
736
755
  return [
737
756
  { label: "开", value: "-" },
738
757
  { label: "高", value: "-" },
@@ -742,51 +761,51 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
742
761
  { label: "涨跌", value: "-" }
743
762
  ];
744
763
  const o = [
745
- { label: "开", value: u(t[0]) },
746
- { label: "高", value: u(t[3]) },
747
- { label: "低", value: u(t[2]) },
748
- { label: "收", value: u(t[1]) }
764
+ { label: "开", value: r(M[0]) },
765
+ { label: "高", value: r(M[3]) },
766
+ { label: "低", value: r(M[2]) },
767
+ { label: "收", value: r(M[1]) }
749
768
  ];
750
- t[4] !== null && o.push({ label: "额", value: d(t[4]) });
751
- let l;
752
- return t[6] > 0 ? l = "red" : t[6] < 0 && (l = "green"), o.push({ label: "涨跌", value: `${u(t[6])}%`, color: l }), o;
753
- }), P = ce(() => {
754
- var t, o;
755
- return ((o = (t = a.value) == null ? void 0 : t.mainIndicator) == null ? void 0 : o.map((l) => ({ label: l.key, value: u(l.data[D.value]), color: l.color }))) || [];
756
- }), _ = ce(() => {
757
- var t, o;
758
- return ((o = (t = a.value) == null ? void 0 : t.subIndicator) == null ? void 0 : o.map((l) => ({ label: l.key, color: l.color, value: l.data[D.value] || "-" }))) || [];
759
- }), ie = () => {
760
- M || (M = Ne.init(r.value), M.on(
769
+ M[4] !== null && o.push({ label: "额", value: s(M[4]) });
770
+ let N;
771
+ return M[6] > 0 ? N = "red" : M[6] < 0 && (N = "green"), o.push({ label: "涨跌", value: `${r(M[6])}%`, color: N }), o;
772
+ }), E = ce(() => {
773
+ var M, o;
774
+ return ((o = (M = t.value) == null ? void 0 : M.mainIndicator) == null ? void 0 : o.map((N) => ({ label: N.key, value: r(N.data[z.value]), color: N.color }))) || [];
775
+ }), R = ce(() => {
776
+ var M, o;
777
+ return ((o = (M = t.value) == null ? void 0 : M.subIndicator) == null ? void 0 : o.map((N) => ({ label: N.key, color: N.color, value: N.data[z.value] || "-" }))) || [];
778
+ }), H = () => {
779
+ a || (a = Ne.init(L.value), a.on(
761
780
  "highlight",
762
- ae((t) => {
781
+ ne((M) => {
763
782
  var o;
764
- t.dataIndex ? D.value = t.dataIndex : D.value = ((o = t.batch) == null ? void 0 : o[0].dataIndex) ?? -1;
783
+ M.dataIndex ? z.value = M.dataIndex : z.value = ((o = M.batch) == null ? void 0 : o[0].dataIndex) ?? -1;
765
784
  }, 10)
766
- ), M.on(
785
+ ), a.on(
767
786
  "datazoom",
768
- ae(async () => {
787
+ ne(async () => {
769
788
  var C;
770
- const { loadCheckCount: t } = W, { startValue: o, endValue: l } = ((C = M.getOption()) == null ? void 0 : C.dataZoom[0]) ?? {};
771
- L === !1 && T === !1 && o < t && await ye("history"), h === !1 && E === !1 && l > a.value.time.length - t && await ye("new"), de(), De();
789
+ const { loadCheckCount: M } = J, { startValue: o, endValue: N } = ((C = a.getOption()) == null ? void 0 : C.dataZoom[0]) ?? {};
790
+ g === !1 && f === !1 && o < M && await K("history"), h === !1 && Q === !1 && N > t.value.time.length - M && await K("new"), De(), Te();
772
791
  })
773
- ), M.on("globalout", () => {
774
- const t = M.getOption();
775
- D.value = t.dataZoom[0].endValue;
776
- }), M.getZr().on("contextmenu", () => {
777
- var t;
778
- s.value = (t = a.value) == null ? void 0 : t.time[D.value];
779
- }), window.addEventListener("keydown", Te), e.userKlineConfig.enable_subChart && (c = Ne.init(f.value), Ne.connect([M, c])), N = Fe(r.value), N.listen(() => {
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 && (c = Ne.init(x.value), Ne.connect([a, c])), l = Fe(L.value), l.listen(() => {
780
799
  requestAnimationFrame(() => {
781
- var t;
782
- M.resize(), c == null || c.resize(), (t = m.value) == null || t.resize();
800
+ var M;
801
+ a.resize(), c == null || c.resize(), (M = p.value) == null || M.resize();
783
802
  });
784
803
  }));
785
- }, Z = async ({ startTime: t, endTime: o }) => {
786
- L = !1, T = !1, h = !1, E = !1;
804
+ }, F = async ({ startTime: M, endTime: o }) => {
805
+ g = !1, f = !1, h = !1, Q = !1;
787
806
  try {
788
- I.value = !0;
789
- const l = {
807
+ D.value = !0;
808
+ const N = {
790
809
  varietyCode: e.varietyCode,
791
810
  cycle: e.cycle,
792
811
  // 周期
@@ -795,61 +814,61 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
795
814
  contractType: e.varietyStock ? null : e.klineType,
796
815
  // 合约类型
797
816
  mainIndicatorList: e.indicatorStore.getIndicatorParams(e.mainIndicator),
798
- subIndicator: A.value,
817
+ subIndicator: y.value,
799
818
  deleteFirstNumber: e.deleteFirstNumber,
800
819
  withoutPermission: e.withoutPermission
801
820
  };
802
- ["1", "2", "3", "4", "5"].includes(e.cycle) ? Object.assign(l, {
803
- startTime: g(t).subtract(1, "day").format("YYYY-MM-DD HH:mm:ss"),
804
- endTime: g(o).add(1, "day").format("YYYY-MM-DD HH:mm:ss")
805
- }) : ["6", "7"].includes(e.cycle) ? Object.assign(l, {
806
- startTime: g(t).subtract(50, "day").format("YYYY-MM-DD HH:mm:ss"),
807
- endTime: g(o).add(50, "day").format("YYYY-MM-DD HH:mm:ss")
808
- }) : Object.assign(l, {
809
- startTime: g(t).subtract(10, "month").format("YYYY-MM-DD HH:mm:ss"),
810
- endTime: g(o).add(10, "month").format("YYYY-MM-DD HH:mm:ss")
821
+ ["1", "2", "3", "4", "5"].includes(e.cycle) ? Object.assign(N, {
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(N, {
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(N, {
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")
811
830
  });
812
- const { body: C } = await j.post("/middleLayer/kline/getKline", l);
813
- a.value = C ?? { data: [], mainIndicator: [], subIndicator: [], time: [] };
814
- let p = -1, Y = -1;
815
- for (let w = 0; w < a.value.time.length; w++) {
816
- const S = g(a.value.time[w]).format("YYYY-MM-DD");
817
- if (p !== -1 && Y !== -1)
831
+ const { body: C } = await u.post("/middleLayer/kline/getKline", N);
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)
818
837
  break;
819
- p === -1 && (new Date(S) === new Date(t) ? p = w : new Date(S) > new Date(t) && (p = w - 1)), Y === -1 && (new Date(S) === new Date(o) ? Y = w : new Date(S) > new Date(o) && (Y = w - 1));
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));
820
839
  }
821
- Y === -1 && (Y = a.value.time.length - 1), ne({
822
- startValue: p === -1 ? 0 : p,
823
- endValue: Y === -1 ? a.value.time.length - 1 : Y
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
824
843
  });
825
844
  } finally {
826
- I.value = !1;
845
+ D.value = !1;
827
846
  }
828
- }, ye = async (t) => {
829
- var S, J;
830
- const { loadAddCount: o } = W;
831
- switch (t) {
847
+ }, K = async (M) => {
848
+ var S, q;
849
+ const { loadAddCount: o } = J;
850
+ switch (M) {
832
851
  case "history": {
833
- L = !0;
834
- const R = {
852
+ g = !0;
853
+ const U = {
835
854
  varietyCode: e.varietyCode,
836
855
  cycle: e.cycle,
837
856
  right: e.varietyStock === 1 ? e.rightType : 0,
838
857
  // 复权方式
839
858
  contractType: e.varietyStock ? null : e.klineType,
840
- endTime: a.value.time[0],
859
+ endTime: t.value.time[0],
841
860
  limit: o,
842
861
  mainIndicatorList: e.indicatorStore.getIndicatorParams(e.mainIndicator),
843
- subIndicator: A.value,
862
+ subIndicator: y.value,
844
863
  deleteFirstNumber: e.deleteFirstNumber,
845
864
  withoutPermission: e.withoutPermission
846
- }, { body: Q } = await j.post("/middleLayer/kline/getKline", R);
847
- a.value = me(Q, a.value), Q.data.length < o && (console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭"), T = !0), L = !1;
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;
848
867
  break;
849
868
  }
850
869
  case "new": {
851
870
  h = !0;
852
- const R = {
871
+ const U = {
853
872
  varietyCode: e.varietyCode,
854
873
  cycle: e.cycle,
855
874
  // 周期
@@ -857,46 +876,46 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
857
876
  // 复权方式
858
877
  contractType: e.varietyStock ? null : e.klineType,
859
878
  // 合约类型
860
- startTime: a.value.time[a.value.time.length - 1],
879
+ startTime: t.value.time[t.value.time.length - 1],
861
880
  // 开始时间
862
881
  limit: o,
863
882
  // 查询K线数量
864
883
  mainIndicatorList: e.indicatorStore.getIndicatorParams(e.mainIndicator),
865
- subIndicator: A.value,
884
+ subIndicator: y.value,
866
885
  deleteFirstNumber: e.deleteFirstNumber,
867
886
  withoutPermission: e.withoutPermission
868
- }, { body: Q } = await j.post("/middleLayer/kline/getKline", R);
869
- a.value = me(a.value, Q), Q.data.length < o && (console.log("[K线] 获取更多数据: 右侧已全部获取完毕, 关闭"), E = !0), h = !1;
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;
870
889
  break;
871
890
  }
872
891
  }
873
- const { startValue: l, endValue: C } = ((S = M.getOption()) == null ? void 0 : S.dataZoom[0]) ?? {}, p = (J = M.getOption()) == null ? void 0 : J.xAxis[0].data, Y = a.value.time.findIndex((R) => new Date(R) >= new Date(p[l])), w = a.value.time.findIndex((R) => new Date(R) >= new Date(p[C]));
874
- ne({
875
- startValue: Y === -1 ? 0 : Y,
876
- endValue: w === -1 ? a.value.time.length - 1 : w
892
+ const { startValue: N, 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[N])), 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
877
896
  });
878
- }, de = () => {
879
- var Y;
880
- if (!a.value.time.length)
881
- return i.value = [];
882
- const { time: t } = a.value, { startValue: o, endValue: l } = ((Y = M.getOption()) == null ? void 0 : Y.dataZoom[0]) ?? {}, C = t[o], p = t[l];
883
- ["6", "7", "8"].includes(e.cycle) ? i.value = [g(C).format("YYYY-MM-DD"), g(p).format("YYYY-MM-DD")] : i.value = [C, p];
884
- }, ne = (t = { startValue: 0, endValue: 0 }) => {
885
- ie();
886
- const { maxValueSpan: o } = W, { time: l, data: C, mainIndicator: p } = a.value, Y = t.endValue - t.startValue > o ? t.endValue - o : t.startValue, w = t.endValue, S = p.map((O) => ({
887
- name: O.key,
897
+ }, De = () => {
898
+ var I;
899
+ if (!t.value.time.length)
900
+ return n.value = [];
901
+ const { time: M } = t.value, { startValue: o, endValue: N } = ((I = a.getOption()) == null ? void 0 : I.dataZoom[0]) ?? {}, C = M[o], A = M[N];
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: N, 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,
888
907
  type: "line",
889
908
  silent: !0,
890
909
  symbol: "none",
891
- data: O.data,
910
+ data: m.data,
892
911
  lineStyle: {
893
- width: O.width || 1
912
+ width: m.width || 1
894
913
  },
895
914
  itemStyle: {
896
- color: O.color
915
+ color: m.color
897
916
  }
898
- })), { netPositionLineData: J } = We(e.netPositionData, e.cycle), { tradeIncomeRateLineData: R } = Je(e.tradeIncomeRateData, e.cycle, e.incomeType, l), { tradePointData: Q, tradeLineData: oe } = $e(e.tradeLog, e.cycle, e.sellBuy, l, C);
899
- M.setOption(
917
+ })), { netPositionLineData: q } = Je(e.netPositionData, e.cycle), { tradeIncomeRateLineData: U } = Ke(e.tradeIncomeRateData, e.cycle, e.incomeType, N), { tradePointData: P, tradeLineData: re } = We(e.tradeLog, e.cycle, e.sellBuy, N, C, e.userKlineConfig);
918
+ a.setOption(
900
919
  {
901
920
  animation: !1,
902
921
  grid: {
@@ -908,10 +927,10 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
908
927
  dataZoom: [
909
928
  {
910
929
  type: "inside",
911
- startValue: Y,
930
+ startValue: I,
912
931
  endValue: w,
913
- minValueSpan: W.minValueSpan,
914
- maxValueSpan: W.maxValueSpan
932
+ minValueSpan: J.minValueSpan,
933
+ maxValueSpan: J.maxValueSpan
915
934
  }
916
935
  ],
917
936
  tooltip: {
@@ -922,44 +941,44 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
922
941
  type: "cross",
923
942
  label: {
924
943
  rich: {},
925
- formatter: (O) => {
926
- const { axisDimension: x, value: b } = O;
927
- return x === "x" ? ["6", "7", "8"].includes(e.cycle) ? g(b).format("YYYY-MM-DD") : b : String(u(b));
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(r(k));
928
947
  }
929
948
  }
930
949
  },
931
- formatter: (O) => {
932
- if (!(O != null && O.length))
950
+ formatter: (m) => {
951
+ if (!(m != null && m.length))
933
952
  return null;
934
- let x = "";
935
- if (O.forEach((k) => {
936
- if (k.seriesName === "netPosition" && k.data !== null && (x += `<div>资产持仓净值: ${k.data[1]}</div>`), k.componentSubType === "candlestick")
953
+ let b = "";
954
+ if (m.forEach((v) => {
955
+ if (v.seriesName === "netPosition" && v.data !== null && (b += `<div>资产持仓净值: ${v.data[1]}</div>`), v.componentSubType === "candlestick")
937
956
  if (e.sellBuy === 0) {
938
- const K = Q.filter((V) => (V == null ? void 0 : V.coord[0]) === k.axisValue);
939
- let G = 0, B = 0;
940
- K.forEach((V) => {
941
- const { tradeType: q, amount: re } = V.customData;
942
- q === "买" && (G += re), q === "卖" && (B += re);
943
- }), G && (x += `<div>买: ${G}</div>`), B && (x += `<div>卖: ${B}</div>`);
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>`);
944
963
  } else
945
- Q.forEach((K) => {
946
- if ((K == null ? void 0 : K.coord[0]) === k.axisValue) {
947
- const { tradeType: G, amount: B, profitAndLoss: V, openPriceAll: q, closePriceAll: re } = K.customData;
948
- let X = `<div>${G}: ${B}手</div>`;
949
- if (G.includes("开") && (X += `<div>开仓价: ${(q / B).toFixed(2)}</div>`), G.includes("平")) {
950
- const ge = (q / B).toFixed(2), Ie = (re / B).toFixed(2);
951
- X += `<div>平仓价: ${Ie}</div>`, X += `<div>盈亏: ${V == null ? void 0 : V.toFixed(2)}</div>`, X += `<div>盈亏比率: ${((Ie - ge) / ge * 100).toFixed(2)} %</div>`;
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>`;
952
971
  }
953
- x += X;
972
+ b += te;
954
973
  }
955
974
  });
956
- }), !x)
975
+ }), !b)
957
976
  return null;
958
- let b = O[0].axisValue;
959
- return ["6", "7", "8"].includes(e.cycle) && (b = g(b).format("YYYY-MM-DD")), `
977
+ let k = m[0].axisValue;
978
+ return ["6", "7", "8"].includes(e.cycle) && (k = Y(k).format("YYYY-MM-DD")), `
960
979
  <div>
961
- <span style="font-weight: bold;">${b}</span>
962
- ${x}
980
+ <span style="font-weight: bold;">${k}</span>
981
+ ${b}
963
982
  </div>
964
983
  `;
965
984
  }
@@ -967,12 +986,12 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
967
986
  xAxis: {
968
987
  show: !0,
969
988
  type: "category",
970
- data: l,
989
+ data: N,
971
990
  splitLine: {
972
991
  show: !1
973
992
  },
974
993
  axisLabel: {
975
- formatter: (O) => ["6", "7", "8"].includes(e.cycle) ? g(O).format("YYYY-MM-DD") : O
994
+ formatter: (m) => ["6", "7", "8"].includes(e.cycle) ? Y(m).format("YYYY-MM-DD") : m
976
995
  }
977
996
  },
978
997
  yAxis: [
@@ -988,24 +1007,24 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
988
1007
  color: "#333"
989
1008
  }
990
1009
  },
991
- min: (O) => {
992
- const { min: x, max: b } = O, k = Math.abs((b - x) / 10);
993
- return u(x - k);
1010
+ min: (m) => {
1011
+ const { min: b, max: k } = m, v = Math.abs((k - b) / 10);
1012
+ return r(b - v);
994
1013
  },
995
- max: (O) => {
996
- const { min: x, max: b } = O, k = Math.abs((b - x) / 10);
997
- return u(b + k);
1014
+ max: (m) => {
1015
+ const { min: b, max: k } = m, v = Math.abs((k - b) / 10);
1016
+ return r(k + v);
998
1017
  }
999
1018
  },
1000
1019
  {
1001
1020
  show: !1,
1002
- min: (O) => {
1003
- const { min: x, max: b } = O, k = Math.abs((b - x) / 10);
1004
- return x - k;
1021
+ min: (m) => {
1022
+ const { min: b, max: k } = m, v = Math.abs((k - b) / 10);
1023
+ return b - v;
1005
1024
  },
1006
- max: (O) => {
1007
- const { min: x, max: b } = O, k = Math.abs((b - x) / 10);
1008
- return b + k;
1025
+ max: (m) => {
1026
+ const { min: b, max: k } = m, v = Math.abs((k - b) / 10);
1027
+ return k + v;
1009
1028
  }
1010
1029
  }
1011
1030
  ],
@@ -1015,8 +1034,8 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1015
1034
  type: "candlestick",
1016
1035
  name: "kLine",
1017
1036
  data: C,
1018
- markPoint: { data: [...Q] },
1019
- markLine: { data: [...oe] },
1037
+ markPoint: { data: [...P] },
1038
+ markLine: { data: [...re] },
1020
1039
  itemStyle: {
1021
1040
  color: "transparent",
1022
1041
  color0: "#00FFFF",
@@ -1029,7 +1048,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1029
1048
  {
1030
1049
  type: "line",
1031
1050
  name: "netPosition",
1032
- data: J,
1051
+ data: q,
1033
1052
  symbol: "none",
1034
1053
  yAxisIndex: 1,
1035
1054
  connectNulls: !0,
@@ -1044,7 +1063,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1044
1063
  {
1045
1064
  type: "line",
1046
1065
  name: "tradeIncomeRate",
1047
- data: R,
1066
+ data: U,
1048
1067
  symbol: "none",
1049
1068
  yAxisIndex: 1,
1050
1069
  connectNulls: !1,
@@ -1075,25 +1094,25 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1075
1094
  }
1076
1095
  },
1077
1096
  !0
1078
- ), e.userKlineConfig.enable_subChart && c.setOption(Ge(a.value, Y, w), !0), de(), De(), D.value = w;
1097
+ ), e.userKlineConfig.enable_subChart && c.setOption($e(t.value, I, w), !0), De(), Te(), z.value = w;
1079
1098
  {
1080
- const O = [];
1081
- if (e.userKlineConfig.enable_tradeLogBrush && Q.length) {
1082
- const [x, b] = [Q[0].coord[0], Q.at(-1).coord[0]], k = le(l, [x, b], e.cycle);
1083
- O.push({
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(N, [b, k], e.cycle);
1102
+ m.push({
1084
1103
  brushId: "开平仓范围",
1085
1104
  brushType: "lineX",
1086
1105
  xAxisIndex: 0,
1087
- coordRange: k
1106
+ coordRange: v
1088
1107
  });
1089
1108
  }
1090
1109
  if (e.syncBrushRange.cycleList.includes(e.cycle)) {
1091
- const { startTime: x, endTime: b } = e.syncBrushRange, k = le(l, [x, b], e.cycle);
1092
- O.push({
1110
+ const { startTime: b, endTime: k } = e.syncBrushRange, v = ue(N, [b, k], e.cycle);
1111
+ m.push({
1093
1112
  brushId: "同步刷选范围",
1094
1113
  brushType: "lineX",
1095
1114
  xAxisIndex: 0,
1096
- coordRange: k,
1115
+ coordRange: v,
1097
1116
  brushStyle: {
1098
1117
  fill: "rgba(64, 158, 255, 0.2)",
1099
1118
  stroke: "rgba(64, 158, 255, 0.8)",
@@ -1102,12 +1121,12 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1102
1121
  });
1103
1122
  }
1104
1123
  if (e.positionTime) {
1105
- const [x, b] = [g(e.positionTime).format("YYYY-MM-DD 00:00:00"), g(e.positionTime).format("YYYY-MM-DD 23:59:59")], k = le(l, [x, b], e.cycle);
1106
- O.push({
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(N, [b, k], e.cycle);
1125
+ m.push({
1107
1126
  brushId: "强制定位高亮",
1108
1127
  brushType: "lineX",
1109
1128
  xAxisIndex: 0,
1110
- coordRange: k,
1129
+ coordRange: v,
1111
1130
  brushStyle: {
1112
1131
  fill: "rgba(217, 179, 255, 0.2)",
1113
1132
  stroke: "rgba(217, 179, 255, 0.8)",
@@ -1115,31 +1134,31 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1115
1134
  }
1116
1135
  });
1117
1136
  }
1118
- M.dispatchAction({
1137
+ a.dispatchAction({
1119
1138
  type: "brush",
1120
- areas: O
1139
+ areas: m
1121
1140
  });
1122
1141
  }
1123
- }, De = () => {
1124
- var oe, O;
1125
- if (!e.userKlineConfig.enable_showScreenMaxPrice || !a.value.time.length)
1142
+ }, Te = () => {
1143
+ var re;
1144
+ if (!e.userKlineConfig.enable_showScreenMaxPrice || !t.value.time.length)
1126
1145
  return;
1127
- const { data: t } = a.value, { startValue: o, endValue: l } = ((oe = M.getOption()) == null ? void 0 : oe.dataZoom[0]) ?? {};
1128
- let C = 0, p = o;
1129
- for (let x = o; x <= l; x++)
1130
- Number(t[x][3]) >= C && (C = Number(t[x][3]), p = x);
1131
- const Y = M.getOption(), w = ((O = Y.series) == null ? void 0 : O.filter((x) => x.name !== "maxPrice")) || [], S = l - o, J = (p - o) / S;
1132
- let R = "right", Q = `←${C}`;
1133
- J > 0.7 ? (R = "left", Q = `${u(C)}→`) : (R = "right", Q = `←${u(C)}`), M == null || M.setOption(
1146
+ const { data: M } = t.value, o = a.getOption(), { startValue: N, endValue: C } = (o == null ? void 0 : o.dataZoom[0]) ?? {};
1147
+ let A = 0, I = N;
1148
+ for (let m = N; 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 - N, q = (I - N) / S;
1151
+ let U = "right", P = `←${A}`;
1152
+ q > 0.7 ? (U = "left", P = `${r(A)}→`) : (U = "right", P = `←${r(A)}`), a == null || a.setOption(
1134
1153
  {
1135
- ...Y,
1136
1154
  series: [
1137
1155
  ...w,
1138
1156
  {
1139
1157
  type: "line",
1140
1158
  name: "maxPrice",
1159
+ data: [],
1160
+ lineStyle: { opacity: 0 },
1141
1161
  markPoint: {
1142
- // 点位原本样式通过透明去进行隐藏, 从而仅展示文案
1143
1162
  symbol: "circle",
1144
1163
  symbolSize: 1,
1145
1164
  itemStyle: {
@@ -1147,13 +1166,11 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1147
1166
  borderColor: "transparent"
1148
1167
  },
1149
1168
  z: 100,
1150
- // 设置较高的 z 值,确保在最上层
1151
1169
  zlevel: 10,
1152
- // 设置较高的 zlevel
1153
1170
  label: {
1154
1171
  show: !0,
1155
- position: R,
1156
- formatter: Q,
1172
+ position: U,
1173
+ formatter: P,
1157
1174
  color: "#fff",
1158
1175
  fontSize: 12,
1159
1176
  padding: [4, -4]
@@ -1161,149 +1178,154 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1161
1178
  data: [
1162
1179
  {
1163
1180
  name: "最高点",
1164
- coord: [p, C]
1181
+ coord: [I, A]
1165
1182
  }
1166
1183
  ]
1167
1184
  }
1168
1185
  }
1169
1186
  ]
1170
1187
  },
1171
- !0
1188
+ {
1189
+ notMerge: !1,
1190
+ // 合并模式
1191
+ replaceMerge: []
1192
+ // 不替换任何配置
1193
+ }
1172
1194
  );
1173
- }, he = (t) => {
1174
- const [o, l] = Le({
1175
- startTime: t.startTime,
1176
- endTime: t.endTime,
1195
+ }, be = (M) => {
1196
+ const [o, N] = me({
1197
+ startTime: M.startTime,
1198
+ endTime: M.endTime,
1177
1199
  cycle: e.cycle
1178
1200
  });
1179
- Z({ startTime: o, endTime: l });
1180
- }, Te = ({ code: t, ctrlKey: o }) => {
1181
- if (!(o || z.value))
1201
+ F({ startTime: o, endTime: N });
1202
+ }, ge = ({ code: M, ctrlKey: o }) => {
1203
+ if (!(o || d.value))
1182
1204
  return;
1183
- const { xAxis: l, dataZoom: C } = M.getOption(), { data: p } = (l == null ? void 0 : l[0]) ?? { data: [] };
1184
- let { startValue: Y, endValue: w } = (C == null ? void 0 : C[0]) ?? {};
1185
- if (p != null && p.length) {
1186
- switch (t) {
1205
+ const { xAxis: N, dataZoom: C } = a.getOption(), { data: A } = (N == null ? void 0 : N[0]) ?? { data: [] };
1206
+ let { startValue: I, endValue: w } = (C == null ? void 0 : C[0]) ?? {};
1207
+ if (A != null && A.length) {
1208
+ switch (M) {
1187
1209
  case "ArrowUp": {
1188
- if (w - Y < 5)
1210
+ if (w - I < 5)
1189
1211
  return;
1190
- const S = Math.floor((w - Y) / 2) + 1;
1191
- Y = Y + S, w - Y < 5 && (Y = w - 4);
1212
+ const S = Math.floor((w - I) / 2) + 1;
1213
+ I = I + S, w - I < 5 && (I = w - 4);
1192
1214
  break;
1193
1215
  }
1194
1216
  case "ArrowDown": {
1195
- const S = Math.min(500, w - Y);
1196
- Y = Y - S - 1;
1217
+ const S = Math.min(500, w - I);
1218
+ I = I - S - 1;
1197
1219
  break;
1198
1220
  }
1199
1221
  case "ArrowLeft": {
1200
- Y > 0 && (Y -= 1, w -= 1), D.value > 0 && (D.value -= 1);
1222
+ I > 0 && (I -= 1, w -= 1), z.value > 0 && (z.value -= 1);
1201
1223
  break;
1202
1224
  }
1203
1225
  case "ArrowRight": {
1204
- w < p.length - 1 && (Y += 1, w += 1), z.value && D.value < p.length - 1 && (D.value += 1);
1226
+ w < A.length - 1 && (I += 1, w += 1), d.value && z.value < A.length - 1 && (z.value += 1);
1205
1227
  break;
1206
1228
  }
1207
1229
  }
1208
- M.dispatchAction({
1230
+ a.dispatchAction({
1209
1231
  type: "dataZoom",
1210
- startValue: Y,
1232
+ startValue: I,
1211
1233
  endValue: w
1212
- }), M.dispatchAction({
1234
+ }), a.dispatchAction({
1213
1235
  type: "updateAxisPointer",
1214
1236
  seriesIndex: 0,
1215
- dataIndex: z.value ? D.value : null
1216
- }), M.dispatchAction({
1237
+ dataIndex: d.value ? z.value : null
1238
+ }), a.dispatchAction({
1217
1239
  type: "highlight",
1218
- dataIndex: z.value ? D.value : w
1240
+ dataIndex: d.value ? z.value : w
1219
1241
  });
1220
1242
  }
1221
1243
  };
1222
1244
  return xe(() => {
1223
- const [t, o] = e.initTimeRange;
1224
- Z({ startTime: t, endTime: o });
1225
- }), te(
1245
+ const [M, o] = e.initTimeRange;
1246
+ F({ startTime: M, endTime: o });
1247
+ }), ae(
1226
1248
  () => [e.varietyCode, e.initTimeRange],
1227
1249
  () => {
1228
- const [t, o] = e.initTimeRange;
1229
- Z({ startTime: t, endTime: o });
1250
+ const [M, o] = e.initTimeRange;
1251
+ F({ startTime: M, endTime: o });
1230
1252
  },
1231
1253
  { deep: !0 }
1232
- ), te(
1254
+ ), ae(
1233
1255
  () => [e.cycle],
1234
1256
  () => {
1235
- var p;
1236
- const { startValue: t, endValue: o } = ((p = M.getOption()) == null ? void 0 : p.dataZoom[0]) ?? {}, [l, C] = Le({
1237
- startTime: a.value.time[t],
1238
- endTime: a.value.time[o],
1257
+ var A;
1258
+ const { startValue: M, endValue: o } = ((A = a.getOption()) == null ? void 0 : A.dataZoom[0]) ?? {}, [N, C] = me({
1259
+ startTime: t.value.time[M],
1260
+ endTime: t.value.time[o],
1239
1261
  cycle: e.cycle,
1240
1262
  type: "middle"
1241
1263
  });
1242
- Z({ startTime: l, endTime: C });
1264
+ F({ startTime: N, endTime: C });
1243
1265
  },
1244
1266
  { deep: !0 }
1245
- ), te(
1267
+ ), ae(
1246
1268
  () => {
1247
- var t, o;
1248
- return [e.mainIndicator, A.value, (t = e.indicatorStore) == null ? void 0 : t.filterIndicator, (o = e.indicatorStore) == null ? void 0 : o.customIndicator, e.rightType, e.klineType];
1269
+ 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];
1249
1271
  },
1250
1272
  () => {
1251
- var p;
1252
- const { startValue: t, endValue: o } = ((p = M.getOption()) == null ? void 0 : p.dataZoom[0]) ?? {}, [l, C] = [a.value.time[t], a.value.time[o]];
1253
- Z({ startTime: l, endTime: C });
1273
+ var A;
1274
+ const { startValue: M, endValue: o } = ((A = a.getOption()) == null ? void 0 : A.dataZoom[0]) ?? {}, [N, C] = [t.value.time[M], t.value.time[o]];
1275
+ F({ startTime: N, endTime: C });
1254
1276
  },
1255
1277
  { deep: !0 }
1256
- ), te(
1278
+ ), ae(
1257
1279
  () => [e.sellBuy, e.tradeLog, e.netPositionData, e.incomeType, e.tradeIncomeRateData],
1258
1280
  () => {
1259
- var l;
1260
- const { startValue: t, endValue: o } = ((l = M.getOption()) == null ? void 0 : l.dataZoom[0]) ?? {};
1261
- ne({ startValue: t, endValue: o });
1281
+ var N;
1282
+ const { startValue: M, endValue: o } = ((N = a.getOption()) == null ? void 0 : N.dataZoom[0]) ?? {};
1283
+ oe({ startValue: M, endValue: o });
1262
1284
  },
1263
1285
  { deep: !0 }
1264
- ), fe(() => {
1265
- M.off("highlight"), M.off("globalout"), M.off("datazoom"), M.getZr().off("contextmenu"), window.removeEventListener("keydown", Te), M.dispose(), c == null || c.dispose(), N.dispose(), N = null;
1266
- }), y({
1267
- screenTimeRange: i,
1268
- contextmenuKlineTime: s,
1286
+ ), Oe(() => {
1287
+ a.off("highlight"), a.off("globalout"), a.off("datazoom"), a.getZr().off("contextmenu"), window.removeEventListener("keydown", ge), a.dispose(), c == null || c.dispose(), l.dispose(), l = null;
1288
+ }), j({
1289
+ screenTimeRange: n,
1290
+ contextmenuKlineTime: T,
1269
1291
  reDraw: () => {
1270
- var l;
1271
- const { startValue: t, endValue: o } = ((l = M.getOption()) == null ? void 0 : l.dataZoom[0]) ?? {};
1272
- ne({ startValue: t, endValue: o });
1292
+ var N;
1293
+ const { startValue: M, endValue: o } = ((N = a.getOption()) == null ? void 0 : N.dataZoom[0]) ?? {};
1294
+ oe({ startValue: M, endValue: o });
1273
1295
  }
1274
- }), (t, o) => {
1275
- const l = ve, C = Ee, p = ke, Y = be;
1276
- return Pe((U(), H("div", {
1296
+ }), (M, o) => {
1297
+ const N = ve, C = Ee, A = ke, I = he;
1298
+ return Pe((_(), Z("div", {
1277
1299
  class: "kline-plus",
1278
- onMousemove: o[1] || (o[1] = (w) => z.value = !0),
1279
- onMouseout: o[2] || (o[2] = (w) => z.value = !1)
1300
+ onMousemove: o[1] || (o[1] = (w) => d.value = !0),
1301
+ onMouseout: o[2] || (o[2] = (w) => d.value = !1)
1280
1302
  }, [
1281
- $("div", tt, [
1282
- $("div", Mt, [
1283
- ee(ue, { data: v.value }, null, 8, ["data"]),
1284
- ee(ue, { data: P.value }, null, 8, ["data"])
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"])
1285
1307
  ]),
1286
- n.userKlineConfig.enable_showScreenTimeRange ? (U(), H("span", at, Me(i.value[0]) + " - " + Me(i.value[1]), 1)) : se("", !0),
1287
- $("div", {
1308
+ i.userKlineConfig.enable_showScreenTimeRange ? (_(), Z("span", it, ie(n.value[0]) + " - " + ie(n.value[1]), 1)) : le("", !0),
1309
+ W("div", {
1288
1310
  ref_key: "mainChartRef",
1289
- ref: r,
1311
+ ref: L,
1290
1312
  class: "chart"
1291
1313
  }, null, 512)
1292
1314
  ]),
1293
- n.userKlineConfig.enable_subChart ? (U(), H("div", it, [
1294
- $("div", nt, [
1295
- $("div", ot, [
1296
- $("span", null, Me(A.value), 1),
1297
- ee(C, {
1298
- modelValue: A.value,
1299
- "onUpdate:modelValue": o[0] || (o[0] = (w) => A.value = w),
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),
1300
1322
  style: { width: "100px", "margin-right": "4px", height: "25px" },
1301
1323
  size: "small",
1302
1324
  class: "element-dark",
1303
1325
  "popper-class": "element-dark"
1304
1326
  }, {
1305
1327
  default: Re(() => [
1306
- (U(!0), H(Ae, null, we(n.indicatorStore.subIndicatorList, (w, S) => (U(), Ye(l, {
1328
+ (_(!0), Z(pe, null, we(i.indicatorStore.subIndicatorList, (w, S) => (_(), Le(N, {
1307
1329
  key: S,
1308
1330
  label: w.label,
1309
1331
  value: w.value
@@ -1312,43 +1334,43 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1312
1334
  _: 1
1313
1335
  }, 8, ["modelValue"])
1314
1336
  ]),
1315
- ee(ue, { data: _.value }, null, 8, ["data"])
1337
+ Me(je, { data: R.value }, null, 8, ["data"])
1316
1338
  ]),
1317
- $("div", {
1339
+ W("div", {
1318
1340
  ref_key: "subChartRef",
1319
- ref: f,
1341
+ ref: x,
1320
1342
  class: "chart"
1321
1343
  }, null, 512)
1322
- ])) : se("", !0),
1323
- n.userKlineConfig.enable_sliderChart ? (U(), H("div", rt, [
1324
- ee(et, {
1344
+ ])) : le("", !0),
1345
+ i.userKlineConfig.enable_sliderChart ? (_(), Z("div", st, [
1346
+ Me(tt, {
1325
1347
  ref_key: "sliderChartRef",
1326
- ref: m,
1327
- screenTimeRange: i.value,
1328
- varietyCode: n.varietyCode,
1329
- varietyStock: n.varietyStock,
1330
- rightType: n.rightType,
1331
- klineType: n.klineType,
1348
+ ref: p,
1349
+ screenTimeRange: n.value,
1350
+ varietyCode: i.varietyCode,
1351
+ varietyStock: i.varietyStock,
1352
+ rightType: i.rightType,
1353
+ klineType: i.klineType,
1332
1354
  deleteFirstNumber: e.deleteFirstNumber,
1333
1355
  withoutPermission: e.withoutPermission,
1334
- onChange: he
1356
+ onChange: be
1335
1357
  }, null, 8, ["screenTimeRange", "varietyCode", "varietyStock", "rightType", "klineType", "deleteFirstNumber", "withoutPermission"])
1336
- ])) : se("", !0),
1337
- a.value.time.length ? se("", !0) : (U(), Ye(p, {
1358
+ ])) : le("", !0),
1359
+ t.value.time.length ? le("", !0) : (_(), Le(A, {
1338
1360
  key: 2,
1339
1361
  class: "empty",
1340
1362
  description: "暂无数据"
1341
1363
  }))
1342
1364
  ], 32)), [
1343
- [Y, I.value]
1365
+ [I, D.value]
1344
1366
  ]);
1345
1367
  };
1346
1368
  }
1347
- }, Nt = /* @__PURE__ */ ze(st, [["__scopeId", "data-v-e788eaed"]]), bt = {
1348
- install(n) {
1349
- n.component("st-klinePlus", Nt);
1369
+ }, Nt = /* @__PURE__ */ de(lt, [["__scopeId", "data-v-5c46a7a5"]]), Et = {
1370
+ install(i) {
1371
+ i.component("st-klinePlus", Nt);
1350
1372
  }
1351
1373
  };
1352
1374
  export {
1353
- bt as default
1375
+ Et as default
1354
1376
  };