st-comp 0.0.171 → 0.0.172

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/es/KlinePlus.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import "./base-4bcd2756.js";
2
- import { v as be } from "./el-loading-5d29f26d.js";
3
- import { E as he } from "./el-empty-64b2ea8a.js";
2
+ import { v as he } from "./el-loading-5d29f26d.js";
3
+ import { E as be } from "./el-empty-64b2ea8a.js";
4
4
  import "./el-tag-6036f51c.js";
5
5
  import { E as ke, a as ve } from "./el-select-d3bce4d1.js";
6
6
  import "./el-scrollbar-bcf29780.js";
7
7
  import "./el-popper-85365d5b.js";
8
- import { openBlock as F, createElementBlock as _, Fragment as me, renderList as Ae, normalizeStyle as Ee, toDisplayString as Me, inject as we, ref as U, onMounted as pe, nextTick as Se, watch as te, onUnmounted as xe, computed as re, withDirectives as Qe, createElementVNode as $, createVNode as ee, createCommentVNode as se, withCtx as Pe, createBlock as Ie } from "vue";
8
+ import { openBlock as F, createElementBlock as _, Fragment as me, renderList as Ae, normalizeStyle as Ee, toDisplayString as Me, inject as we, ref as U, onMounted as pe, nextTick as Se, watch as te, onUnmounted as xe, computed as re, withDirectives as Qe, createElementVNode as $, createVNode as ee, createCommentVNode as Ne, withCtx as Pe, createBlock as Ie } from "vue";
9
9
  import { d as I } from "./dayjs.min-54a4e095.js";
10
- import * as Ne from "echarts";
10
+ import * as se from "echarts";
11
11
  import { x as fe, G as ae, D as Re } from "./index-7ed0999e.js";
12
12
  import { _ as ze } from "./_plugin-vue_export-helper-dad06003.js";
13
13
  import "./use-global-config-946f61a4.js";
@@ -46,8 +46,8 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
46
46
  // 每周1根(按5个交易日算)
47
47
  8: 0.033
48
48
  // 每月1根(按21个交易日算)
49
- }, Ye = ({ startTime: i, endTime: z, cycle: c, type: N = "end" }) => {
50
- const { maxValueSpan: j } = W, Y = Math.ceil((j + 1e3) / _e[c]), g = I(i);
49
+ }, Ye = ({ startTime: i, endTime: z, cycle: r, type: N = "end" }) => {
50
+ const { maxValueSpan: j } = W, Y = Math.ceil((j + 1e3) / _e[r]), g = I(i);
51
51
  if (I(z).diff(g, "day") <= Y)
52
52
  return [i, z];
53
53
  if (N === "end")
@@ -60,19 +60,19 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
60
60
  ];
61
61
  }
62
62
  }, Be = (i, z) => {
63
- const c = i[z], N = z === 0 ? i[z] : i[z - 1];
64
- return c[0] === c[1] ? c[0] >= N[1] ? {
63
+ const r = i[z], N = z === 0 ? i[z] : i[z - 1];
64
+ return r[0] === r[1] ? r[0] >= N[1] ? {
65
65
  color: "transparent",
66
66
  borderColor: "#FF0000"
67
67
  } : {
68
68
  color: "#00FFFF"
69
- } : c[1] > c[0] ? {
69
+ } : r[1] > r[0] ? {
70
70
  color: "transparent",
71
71
  borderColor: "#FF0000"
72
72
  } : {
73
73
  color: "#00FFFF"
74
74
  };
75
- }, Ze = (i, z, c) => {
75
+ }, Ze = (i, z, r) => {
76
76
  var j, Y, g, d;
77
77
  const N = i.subIndicator.map((e) => {
78
78
  if (e.series === "bar")
@@ -127,7 +127,7 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
127
127
  {
128
128
  type: "inside",
129
129
  startValue: z,
130
- endValue: c,
130
+ endValue: r,
131
131
  maxValueSpan: W.maxValueSpan
132
132
  }
133
133
  ],
@@ -199,49 +199,49 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
199
199
  ],
200
200
  series: N
201
201
  };
202
- }, ue = (i, z, c = "strict") => {
202
+ }, ue = (i, z, r = "strict") => {
203
203
  let N = 0, j = i.length - 1, Y = -1;
204
204
  for (; N <= j; ) {
205
205
  let g = Math.floor((N + j) / 2);
206
- if (c === "strict") {
206
+ if (r === "strict") {
207
207
  if (i[g] === z)
208
208
  return g;
209
209
  i[g] < z ? N = g + 1 : j = g - 1;
210
210
  } else
211
- c === "gte" && (i[g] >= z ? (Y = g, j = g - 1) : N = g + 1);
211
+ r === "gte" && (i[g] >= z ? (Y = g, j = g - 1) : N = g + 1);
212
212
  }
213
- return c === "strict" ? -1 : Y;
213
+ return r === "strict" ? -1 : Y;
214
214
  }, Le = (i, z) => ({
215
215
  data: [...i.data, ...z.data.slice(1)],
216
- mainIndicator: i.mainIndicator.map((c, N) => ({
217
- ...c,
218
- data: [...c.data, ...z.mainIndicator[N].data.slice(1)]
216
+ mainIndicator: i.mainIndicator.map((r, N) => ({
217
+ ...r,
218
+ data: [...r.data, ...z.mainIndicator[N].data.slice(1)]
219
219
  })),
220
- subIndicator: i.subIndicator.map((c, N) => ({
221
- ...c,
222
- data: [...c.data, ...z.subIndicator[N].data.slice(1)]
220
+ subIndicator: i.subIndicator.map((r, N) => ({
221
+ ...r,
222
+ data: [...r.data, ...z.subIndicator[N].data.slice(1)]
223
223
  })),
224
224
  time: [...i.time, ...z.time.slice(1)]
225
- }), je = (i, z, c) => {
226
- switch (c) {
225
+ }), je = (i, z, r) => {
226
+ switch (r) {
227
227
  case "5": {
228
228
  let L = [
229
229
  ...new Set(
230
230
  i.slice(-20).map((D) => {
231
- const a = new Date(D), r = String(a.getHours()).padStart(2, "0"), m = String(a.getMinutes()).padStart(2, "0"), h = String(a.getSeconds()).padStart(2, "0");
232
- return `${r}:${m}:${h}`;
231
+ const a = new Date(D), s = String(a.getHours()).padStart(2, "0"), m = String(a.getMinutes()).padStart(2, "0"), b = String(a.getSeconds()).padStart(2, "0");
232
+ return `${s}:${m}:${b}`;
233
233
  })
234
234
  )
235
235
  ];
236
236
  L.includes("00:00:00") && (L.splice(L.indexOf("00:00:00"), 1), L.push("24:00:00")), L = L.sort((D, a) => (/* @__PURE__ */ new Date(`2000-01-30 ${D}`)).getTime() - (/* @__PURE__ */ new Date(`2000-01-30 ${a}`)).getTime());
237
- const T = new Date(z), s = T.getFullYear(), u = String(T.getMonth() + 1).padStart(2, "0"), M = String(T.getDate()).padStart(2, "0"), p = String(T.getHours()).padStart(2, "0"), l = String(T.getMinutes()).padStart(2, "0"), n = String(T.getSeconds()).padStart(2, "0");
237
+ const T = new Date(z), c = T.getFullYear(), u = String(T.getMonth() + 1).padStart(2, "0"), M = String(T.getDate()).padStart(2, "0"), p = String(T.getHours()).padStart(2, "0"), l = String(T.getMinutes()).padStart(2, "0"), n = String(T.getSeconds()).padStart(2, "0");
238
238
  if (`${p}:${l}:${n}` == "00:00:00")
239
- return `${s}-${u}-${M} 01:00:00`;
239
+ return `${c}-${u}-${M} 01:00:00`;
240
240
  {
241
241
  let D = null;
242
242
  for (let a = 0; a < L.length; a++) {
243
- const r = L[a].split(":");
244
- if (+`${r[0]}${r[1]}${r[2]}` >= +`${p}${l}${n}`) {
243
+ const s = L[a].split(":");
244
+ if (+`${s[0]}${s[1]}${s[2]}` >= +`${p}${l}${n}`) {
245
245
  D = L[a];
246
246
  break;
247
247
  }
@@ -249,49 +249,49 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
249
249
  if (D === "24:00:00") {
250
250
  const a = new Date(z);
251
251
  a.setDate(a.getDate() + 1);
252
- const r = a.getFullYear(), m = String(a.getMonth() + 1).padStart(2, "0"), h = String(a.getDate()).padStart(2, "0");
253
- return `${r}-${m}-${h} 00:00:00`;
252
+ const s = a.getFullYear(), m = String(a.getMonth() + 1).padStart(2, "0"), b = String(a.getDate()).padStart(2, "0");
253
+ return `${s}-${m}-${b} 00:00:00`;
254
254
  }
255
- return `${s}-${u}-${M} ${D}`;
255
+ return `${c}-${u}-${M} ${D}`;
256
256
  }
257
257
  }
258
258
  case "6": {
259
259
  const L = new Date(z), T = L.getHours();
260
260
  if (T >= 4 && T < 21) {
261
- const s = L.getFullYear(), u = String(L.getMonth() + 1).padStart(2, "0"), M = String(L.getDate()).padStart(2, "0");
262
- return `${s}-${u}-${M} 09:00:00`;
261
+ const c = L.getFullYear(), u = String(L.getMonth() + 1).padStart(2, "0"), M = String(L.getDate()).padStart(2, "0");
262
+ return `${c}-${u}-${M} 09:00:00`;
263
263
  } else {
264
- const s = new Date(z);
265
- s.getHours() >= 21 && s.setDate(s.getDate() + 1);
266
- const u = s.getFullYear(), M = String(s.getMonth() + 1).padStart(2, "0"), p = String(s.getDate()).padStart(2, "0"), l = `${u}-${M}-${p} 09:00:00`, n = ue(i, l, "gte");
264
+ const c = new Date(z);
265
+ c.getHours() >= 21 && c.setDate(c.getDate() + 1);
266
+ const u = c.getFullYear(), M = String(c.getMonth() + 1).padStart(2, "0"), p = String(c.getDate()).padStart(2, "0"), l = `${u}-${M}-${p} 09:00:00`, n = ue(i, l, "gte");
267
267
  return n === -1 ? l : i[n];
268
268
  }
269
269
  }
270
270
  case "7": {
271
271
  const L = new Date(z), T = new Date(L);
272
272
  T.setDate(L.getDate() - L.getDay()), T.setHours(0, 0, 0, 0);
273
- const s = new Date(T);
274
- s.setDate(T.getDate() + 5), s.setHours(23, 59, 59, 0);
273
+ const c = new Date(T);
274
+ c.setDate(T.getDate() + 5), c.setHours(23, 59, 59, 0);
275
275
  const u = new Date(T);
276
276
  u.setDate(T.getDate() + 12), u.setHours(9, 0, 0, 0);
277
- const M = L <= s ? s : u, p = M.getFullYear(), l = String(M.getMonth() + 1).padStart(2, "0"), n = String(M.getDate()).padStart(2, "0");
277
+ const M = L <= c ? c : u, p = M.getFullYear(), l = String(M.getMonth() + 1).padStart(2, "0"), n = String(M.getDate()).padStart(2, "0");
278
278
  return `${p}-${l}-${n} 09:00:00`;
279
279
  }
280
280
  case "8": {
281
- const L = new Date(z), T = new Date(L.getFullYear(), L.getMonth() + 1, 1), s = new Date(T);
282
- s.setDate(T.getDate() - 1), s.setHours(9, 0, 0, 0);
283
- const u = s.getFullYear(), M = String(s.getMonth() + 1).padStart(2, "0"), p = String(s.getDate()).padStart(2, "0");
281
+ const L = new Date(z), T = new Date(L.getFullYear(), L.getMonth() + 1, 1), c = new Date(T);
282
+ c.setDate(T.getDate() - 1), c.setHours(9, 0, 0, 0);
283
+ const u = c.getFullYear(), M = String(c.getMonth() + 1).padStart(2, "0"), p = String(c.getDate()).padStart(2, "0");
284
284
  return `${u}-${M}-${p} 09:00:00`;
285
285
  }
286
286
  }
287
287
  const N = new Date(z), j = N.getFullYear(), Y = N.getMonth(), g = N.getDate(), d = N.getHours(), e = N.getMinutes(), O = N.getSeconds(), E = (L) => {
288
288
  let T = null;
289
- const s = Math.floor(e / L);
290
- e % L === 0 && O === 0 ? T = e : T = (s + 1) * L;
291
- const u = Math.floor(T / 60), M = d + u, p = T % 60, l = new Date(j, Y, g, M, p, 0), n = (S) => String(S).padStart(2, "0"), D = l.getFullYear(), a = n(l.getMonth() + 1), r = n(l.getDate()), m = n(l.getHours()), h = n(l.getMinutes());
292
- return `${D}-${a}-${r} ${m}:${h}:00`;
289
+ const c = Math.floor(e / L);
290
+ e % L === 0 && O === 0 ? T = e : T = (c + 1) * L;
291
+ const u = Math.floor(T / 60), M = d + u, p = T % 60, l = new Date(j, Y, g, M, p, 0), n = (S) => String(S).padStart(2, "0"), D = l.getFullYear(), a = n(l.getMonth() + 1), s = n(l.getDate()), m = n(l.getHours()), b = n(l.getMinutes());
292
+ return `${D}-${a}-${s} ${m}:${b}:00`;
293
293
  };
294
- switch (c) {
294
+ switch (r) {
295
295
  case "1":
296
296
  return E(1);
297
297
  case "2":
@@ -301,12 +301,12 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
301
301
  case "4":
302
302
  return E(30);
303
303
  default:
304
- throw new Error(`Unsupported cycle: ${z} ${c}`);
304
+ throw new Error(`Unsupported cycle: ${z} ${r}`);
305
305
  }
306
- }, ce = (i, z, c) => {
306
+ }, ce = (i, z, r) => {
307
307
  let N = null, j = null;
308
308
  const [Y, g] = z;
309
- switch (c) {
309
+ switch (r) {
310
310
  case "6": {
311
311
  N = i.find((d) => new Date(I(d).format("YYYY-MM-DD 23:59:59")).getTime() >= new Date(Y).getTime()), j = i.findLast((d) => new Date(I(d).format("YYYY-MM-DD 00:00:00")).getTime() <= new Date(g).getTime());
312
312
  break;
@@ -326,14 +326,14 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
326
326
  return [N, j];
327
327
  }, Ge = (i) => {
328
328
  const z = [];
329
- return i.reduce((c, N) => {
330
- const j = `${N.coord[0]}+${N.label.position}`, Y = N.label.position === "top" ? -16 : 16, g = c.get(j);
331
- return g ? (c.set(j, g + 1), N.symbolOffset[1] = Y * (g + 1)) : (c.set(j, 1), N.symbolOffset[1] = N.label.position === "top" ? -7 : 7), z.push(N), c;
329
+ return i.reduce((r, N) => {
330
+ const j = `${N.coord[0]}+${N.label.position}`, Y = N.label.position === "top" ? -16 : 16, g = r.get(j);
331
+ return g ? (r.set(j, g + 1), N.symbolOffset[1] = Y * (g + 1)) : (r.set(j, 1), N.symbolOffset[1] = N.label.position === "top" ? -7 : 7), z.push(N), r;
332
332
  }, /* @__PURE__ */ new Map()), z;
333
- }, $e = (i, z, c, N, j) => {
334
- const Y = (T, s) => {
333
+ }, $e = (i, z, r, N, j) => {
334
+ const Y = (T, c) => {
335
335
  const { direction: u = "", tradeAction: M = "", tradeType: p = "" } = T, l = p ?? u + M;
336
- switch (s) {
336
+ switch (c) {
337
337
  case 0:
338
338
  return (/* @__PURE__ */ new Map([
339
339
  ["开多", "买"],
@@ -344,18 +344,18 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
344
344
  case 1:
345
345
  return p ?? u + M;
346
346
  }
347
- }, g = (T, s, u, M) => T.reduce((p, l) => {
347
+ }, g = (T, c, u, M) => T.reduce((p, l) => {
348
348
  var S;
349
349
  const n = Y(l, 0), D = T.filter((P) => P.klineTime === l.klineTime), a = [...new Set(D.map((P) => Y(P, 0)))];
350
- let r = null;
351
- a.length > 1 ? r = "image://" + new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", self.location).href : r = "image://" + new URL((/* @__PURE__ */ Object.assign({ "./images/buy.svg": Ue, "./images/sell.svg": Fe, "./images/t.svg": Ve }))[`./images/${n === "买" ? "buy" : "sell"}.svg`], self.location).href;
352
- const m = ue(u, l.klineTime), h = (S = M[m]) == null ? void 0 : S[3];
353
- return s.forEach((P) => {
350
+ let s = null;
351
+ a.length > 1 ? s = "image://" + new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", self.location).href : s = "image://" + new URL((/* @__PURE__ */ Object.assign({ "./images/buy.svg": Ue, "./images/sell.svg": Fe, "./images/t.svg": Ve }))[`./images/${n === "买" ? "buy" : "sell"}.svg`], self.location).href;
352
+ const m = ue(u, l.klineTime), b = (S = M[m]) == null ? void 0 : S[3];
353
+ return c.forEach((P) => {
354
354
  var B;
355
355
  const K = n === "买" ? 0 : 1;
356
356
  P.range[K] === l.klineTime && (P.rangeValue[K] = (B = M[m]) == null ? void 0 : B[n === "买" ? 2 : 3]);
357
357
  }), p.push({
358
- symbol: r,
358
+ symbol: s,
359
359
  symbolSize: 25,
360
360
  symbolRotate: 0,
361
361
  symbolOffset: [0, 0],
@@ -363,7 +363,7 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
363
363
  show: !1,
364
364
  position: "top"
365
365
  },
366
- coord: [l.klineTime, h],
366
+ coord: [l.klineTime, b],
367
367
  silent: !0,
368
368
  animation: !1,
369
369
  customData: {
@@ -380,10 +380,10 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
380
380
  // 收仓价
381
381
  }
382
382
  }), p;
383
- }, []), d = (T, s, u, M) => T.reduce((p, l, n) => {
384
- var h, S;
385
- const D = Y(l, 1), a = ["开多", "开空"].includes(D) ? "top" : "bottom", r = ue(u, l.klineTime), m = a === "top" ? (h = M[r]) == null ? void 0 : h[3] : (S = M[r]) == null ? void 0 : S[2];
386
- return s.forEach((P) => {
383
+ }, []), d = (T, c, u, M) => T.reduce((p, l, n) => {
384
+ var b, S;
385
+ const D = Y(l, 1), a = ["开多", "开空"].includes(D) ? "top" : "bottom", s = ue(u, l.klineTime), m = a === "top" ? (b = M[s]) == null ? void 0 : b[3] : (S = M[s]) == null ? void 0 : S[2];
386
+ return c.forEach((P) => {
387
387
  (a === "top" ? P.range[0] : P.range[1]) === l.klineTime && (P.rangeValue[a === "top" ? 0 : 1] = m);
388
388
  }), p.push({
389
389
  symbol: "triangle",
@@ -414,54 +414,54 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
414
414
  // 收仓价
415
415
  }
416
416
  }), p;
417
- }, []), e = (T, s, u) => {
417
+ }, []), e = (T, c, u) => {
418
418
  const { basePointData: M, baseLineData: p } = T.reduce(
419
- (a, r) => {
419
+ (a, s) => {
420
420
  const m = {
421
- pointTime: r.openTime,
421
+ pointTime: s.openTime,
422
422
  // 交易点位的真实时间
423
- klineTime: je(u, r.openTime, s),
423
+ klineTime: je(u, s.openTime, c),
424
424
  // 交易点位的K线时间
425
425
  tradeAction: "开",
426
426
  // 交易行为
427
- tradeDirection: r.tradeDirection ? "空" : "多",
427
+ tradeDirection: s.tradeDirection ? "空" : "多",
428
428
  // 交易方向 1:空, 0:多
429
- tradeType: `开${r.tradeDirection ? "空" : "多"}`,
429
+ tradeType: `开${s.tradeDirection ? "空" : "多"}`,
430
430
  part: null,
431
431
  // 份数,
432
- amount: r.tradeVolume,
432
+ amount: s.tradeVolume,
433
433
  // 手数
434
- profitAndLoss: r.profitAndLoss,
434
+ profitAndLoss: s.profitAndLoss,
435
435
  // 盈亏
436
- openPriceAll: r.openPrice * r.tradeVolume,
436
+ openPriceAll: s.openPrice * s.tradeVolume,
437
437
  // 开仓价格
438
- closePriceAll: r.closePrice * r.tradeVolume
438
+ closePriceAll: s.closePrice * s.tradeVolume
439
439
  // 平仓价格
440
- }, h = {
441
- pointTime: r.closeTime,
440
+ }, b = {
441
+ pointTime: s.closeTime,
442
442
  // 交易点位的真实时间
443
- klineTime: je(u, r.closeTime, s),
443
+ klineTime: je(u, s.closeTime, c),
444
444
  // 交易点位的K线时间
445
445
  tradeAction: "平",
446
446
  // 交易行为
447
- tradeDirection: r.tradeDirection ? "空" : "多",
447
+ tradeDirection: s.tradeDirection ? "空" : "多",
448
448
  // 交易方向 1:空, 0:多
449
- tradeType: `平${r.tradeDirection ? "空" : "多"}`,
449
+ tradeType: `平${s.tradeDirection ? "空" : "多"}`,
450
450
  part: null,
451
451
  // 份数,
452
- amount: r.tradeVolume,
452
+ amount: s.tradeVolume,
453
453
  // 手数
454
- profitAndLoss: r.profitAndLoss,
454
+ profitAndLoss: s.profitAndLoss,
455
455
  // 盈亏
456
- openPriceAll: r.openPrice * r.tradeVolume,
456
+ openPriceAll: s.openPrice * s.tradeVolume,
457
457
  // 开仓价格
458
- closePriceAll: r.closePrice * r.tradeVolume
458
+ closePriceAll: s.closePrice * s.tradeVolume
459
459
  // 平仓价格
460
460
  };
461
- return a.basePointData.push(m, h), a.baseLineData.push({
462
- range: [m.klineTime, h.klineTime],
461
+ return a.basePointData.push(m, b), a.baseLineData.push({
462
+ range: [m.klineTime, b.klineTime],
463
463
  rangeValue: [null, null],
464
- color: h.profitAndLoss > 0 ? "#FF0000" : "#389e0d"
464
+ color: b.profitAndLoss > 0 ? "#FF0000" : "#389e0d"
465
465
  }), a;
466
466
  },
467
467
  {
@@ -470,52 +470,52 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
470
470
  baseLineData: []
471
471
  // 连线数据
472
472
  }
473
- ), n = [...M.reduce((a, r) => {
474
- const m = JSON.parse(JSON.stringify(r)), h = m.klineTime + m.tradeType;
475
- if (a.has(h)) {
476
- const S = a.get(h);
473
+ ), n = [...M.reduce((a, s) => {
474
+ const m = JSON.parse(JSON.stringify(s)), b = m.klineTime + m.tradeType;
475
+ if (a.has(b)) {
476
+ const S = a.get(b);
477
477
  m.amount += S.amount, m.part += S.part, m.profitAndLoss += S.profitAndLoss, m.openPriceAll += S.openPriceAll, m.closePriceAll += S.closePriceAll;
478
478
  }
479
- return a.set(h, m), a;
480
- }, /* @__PURE__ */ new Map([])).values()].sort((a, r) => new Date(a.klineTime) - new Date(r.klineTime)), D = p.filter(({ range: a }) => a[0] !== a[1]);
479
+ return a.set(b, m), a;
480
+ }, /* @__PURE__ */ new Map([])).values()].sort((a, s) => new Date(a.klineTime) - new Date(s.klineTime)), D = p.filter(({ range: a }) => a[0] !== a[1]);
481
481
  return { pointData: n, lineData: D };
482
482
  }, { pointData: O, lineData: E } = e(i, z, N);
483
483
  return {
484
- tradePointData: (c === 0 ? g : d)(O, E, N, j),
485
- tradeLineData: E.map(({ range: T, rangeValue: s, color: u }) => [
484
+ tradePointData: (r === 0 ? g : d)(O, E, N, j),
485
+ tradeLineData: E.map(({ range: T, rangeValue: c, color: u }) => [
486
486
  {
487
487
  symbol: "none",
488
- coord: [T[0], s[0]],
488
+ coord: [T[0], c[0]],
489
489
  lineStyle: { color: u, width: 2, type: "solid" },
490
490
  silent: !0,
491
491
  animation: !1
492
492
  },
493
493
  {
494
494
  symbol: "none",
495
- coord: [T[1], s[1]],
495
+ coord: [T[1], c[1]],
496
496
  silent: !0,
497
497
  animation: !1
498
498
  }
499
499
  ])
500
500
  };
501
501
  }, We = (i, z) => {
502
- let c = [];
502
+ let r = [];
503
503
  if (Number(z) <= 5)
504
- c = i.map(({ tradeDate: N, netPositionValue: j }) => [I(N).format("YYYY-MM-DD HH:mm:ss"), j]);
504
+ r = i.map(({ tradeDate: N, netPositionValue: j }) => [I(N).format("YYYY-MM-DD HH:mm:ss"), j]);
505
505
  else if (Number(z) === 6) {
506
506
  const N = i.reduce((j, Y) => {
507
507
  const { tradeDate: g, netPositionValue: d } = Y;
508
508
  return j.set(I(g).format("YYYY-MM-DD 09:00:00"), d), j;
509
509
  }, /* @__PURE__ */ new Map());
510
- c = Array.from(N, ([j, Y]) => [j, Y]);
510
+ r = Array.from(N, ([j, Y]) => [j, Y]);
511
511
  } else
512
- c = [];
513
- return { netPositionLineData: c };
514
- }, Je = (i, z, c, N) => {
512
+ r = [];
513
+ return { netPositionLineData: r };
514
+ }, Je = (i, z, r, N) => {
515
515
  let j = [];
516
516
  if (["6", "7", "8"].includes(z)) {
517
517
  const Y = i.reduce((g, d) => {
518
- const e = je(N, d.date, z), O = d[c === 0 ? "simple" : "compound"];
518
+ const e = je(N, d.date, z), O = d[r === 0 ? "simple" : "compound"];
519
519
  return g.set(e, O), g;
520
520
  }, /* @__PURE__ */ new Map());
521
521
  j = Array.from(Y, ([g, d]) => [g, d]);
@@ -532,7 +532,7 @@ const Ke = { class: "tips" }, qe = {
532
532
  }
533
533
  },
534
534
  setup(i) {
535
- return (z, c) => (F(), _("div", Ke, [
535
+ return (z, r) => (F(), _("div", Ke, [
536
536
  (F(!0), _(me, null, Ae(i.data, (N, j) => (F(), _("span", {
537
537
  key: j,
538
538
  class: "item",
@@ -551,9 +551,9 @@ const Xe = {
551
551
  // 品种市场类型: 0-期货, 1-股票, 2-期权
552
552
  varietyStock: { type: Number, required: !0 },
553
553
  // 复权选项 [股票]
554
- rightType: { type: Number, required: !0 },
554
+ rightType: { type: [Number, null], default: null },
555
555
  // 常用选项 [期货]
556
- klineType: { type: Number, required: !0 },
556
+ klineType: { type: [Number, null], default: null },
557
557
  // 业务系统相关
558
558
  deleteFirstNumber: { type: Number, default: 1 },
559
559
  // 绩效标记
@@ -561,55 +561,44 @@ const Xe = {
561
561
  // 三方标记(不需要token授权)
562
562
  },
563
563
  emits: ["change"],
564
- setup(i, { expose: z, emit: c }) {
564
+ setup(i, { expose: z, emit: r }) {
565
565
  const { request: N } = we("stConfig");
566
566
  let j = null;
567
- const Y = U(null), g = c, d = i, e = U({
567
+ const Y = U(null), g = r, d = i, e = U({
568
568
  data: [],
569
569
  // <[开 收 低 高 成交额 涨跌值 涨跌百分比]>
570
570
  mainIndicator: [],
571
571
  subIndicator: [],
572
572
  time: []
573
573
  }), O = async () => {
574
- const s = {
574
+ const c = {
575
575
  varietyCode: d.varietyCode,
576
576
  cycle: "6",
577
+ right: d.varietyStock === 1 ? d.rightType : 0,
578
+ // 复权方式
579
+ contractType: d.varietyStock ? null : d.klineType,
580
+ // 合约类型
577
581
  startTime: "1999-01-01 00:00:00",
578
582
  endTime: I().format("YYYY-MM-DD 23:59:59"),
579
583
  deleteFirstNumber: d.deleteFirstNumber,
580
584
  withoutPermission: d.withoutPermission
581
- };
582
- switch (d.varietyStock) {
583
- case 0: {
584
- Object.assign(s, {
585
- contractType: d.klineType
586
- });
587
- break;
588
- }
589
- case 1: {
590
- Object.assign(s, {
591
- right: d.rightType
592
- });
593
- break;
594
- }
595
- }
596
- const { body: u } = await N.post("/middleLayer/kline/getKline", s);
585
+ }, { body: u } = await N.post("/middleLayer/kline/getKline", c);
597
586
  u ? e.value = u : e.value = { data: [], mainIndicator: [], subIndicator: [], time: [] }, T("init");
598
- }, E = ae((s) => {
599
- if (!s.dataZoomId)
587
+ }, E = ae((c) => {
588
+ if (!c.dataZoomId)
600
589
  return;
601
590
  const u = j.getOption();
602
591
  if (u != null && u.dataZoom[0]) {
603
592
  const { startValue: M, endValue: p } = j.getOption().dataZoom[0], { time: l } = e.value, n = `${l[M].split(" ")[0]} 00:00:00`, D = `${l[p].split(" ")[0]} 23:59:59`;
604
593
  console.log(`检测到拖拽轴被拖动, 时间区间: ${n} - ${D}`), g("change", { startTime: n, endTime: D });
605
594
  }
606
- }, 200), L = ae(({ startTime: s, endTime: u }) => {
607
- T("reset", { startTime: s, endTime: u });
608
- }, 100), T = (s, u) => {
609
- switch (s) {
595
+ }, 200), L = ae(({ startTime: c, endTime: u }) => {
596
+ T("reset", { startTime: c, endTime: u });
597
+ }, 100), T = (c, u) => {
598
+ switch (c) {
610
599
  case "init": {
611
600
  const { data: M, time: p } = e.value, { xAxisData: l, lineData: n } = M.reduce(
612
- (a, r, m) => (a.xAxisData.push(p[m].split(" ")[0]), a.lineData.push(r[1]), a),
601
+ (a, s, m) => (a.xAxisData.push(p[m].split(" ")[0]), a.lineData.push(s[1]), a),
613
602
  { xAxisData: [], lineData: [] }
614
603
  ), D = {
615
604
  grid: {
@@ -648,8 +637,8 @@ const Xe = {
648
637
  ]
649
638
  };
650
639
  if (j.setOption(D, !0), d.screenTimeRange.length) {
651
- const [a, r] = d.screenTimeRange;
652
- L({ startTime: a, endTime: r });
640
+ const [a, s] = d.screenTimeRange;
641
+ L({ startTime: a, endTime: s });
653
642
  }
654
643
  break;
655
644
  }
@@ -657,10 +646,10 @@ const Xe = {
657
646
  const { time: M } = e.value, p = I(u.startTime).format("YYYY-MM-DD"), l = I(u.endTime).format("YYYY-MM-DD");
658
647
  let n = -1, D = -1;
659
648
  for (let a = 0; a < M.length; a++) {
660
- const r = I(M[a]).format("YYYY-MM-DD");
649
+ const s = I(M[a]).format("YYYY-MM-DD");
661
650
  if (n !== -1 && D !== -1)
662
651
  break;
663
- n === -1 && (new Date(r) === new Date(p) ? n = a : new Date(r) > new Date(p) && (n = a - 1)), D === -1 && (new Date(r) === new Date(l) ? D = a : new Date(r) > new Date(l) && (D = a - 1));
652
+ n === -1 && (new Date(s) === new Date(p) ? n = a : new Date(s) > new Date(p) && (n = a - 1)), D === -1 && (new Date(s) === new Date(l) ? D = a : new Date(s) > new Date(l) && (D = a - 1));
664
653
  }
665
654
  D === -1 && (D = M.length - 1), j.dispatchAction({
666
655
  type: "dataZoom",
@@ -673,12 +662,12 @@ const Xe = {
673
662
  };
674
663
  return pe(() => {
675
664
  Se(() => {
676
- j = Ne.init(Y.value), j.on("datazoom", E), O();
665
+ j = se.init(Y.value), j.on("datazoom", E), O();
677
666
  });
678
667
  }), te(
679
668
  () => d.screenTimeRange,
680
- (s) => {
681
- const [u, M] = s;
669
+ (c) => {
670
+ const [u, M] = c;
682
671
  L({ startTime: u, endTime: M });
683
672
  },
684
673
  { deep: !0 }
@@ -686,23 +675,23 @@ const Xe = {
686
675
  j.off("datazoom"), j.dispose();
687
676
  }), z({
688
677
  resize: ae(() => j.resize(), 100)
689
- }), (s, u) => (F(), _("div", {
678
+ }), (c, u) => (F(), _("div", {
690
679
  class: "chart",
691
680
  ref_key: "sliderChartRef",
692
681
  ref: Y
693
682
  }, null, 512));
694
683
  }
695
- }, et = /* @__PURE__ */ ze(Xe, [["__scopeId", "data-v-5ab1ed2a"]]);
684
+ }, et = /* @__PURE__ */ ze(Xe, [["__scopeId", "data-v-0c715da1"]]);
696
685
  const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
697
686
  key: 0,
698
687
  class: "screen-time-range"
699
688
  }, it = {
700
689
  key: 0,
701
690
  class: "sub-chart"
702
- }, nt = { class: "indicator" }, ot = { class: "title" }, st = {
691
+ }, nt = { class: "indicator" }, ot = { class: "title" }, Nt = {
703
692
  key: 1,
704
693
  class: "slider-chart"
705
- }, Nt = {
694
+ }, st = {
706
695
  __name: "index",
707
696
  props: {
708
697
  varietyCode: { type: String, required: !0 },
@@ -715,9 +704,9 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
715
704
  // 交互选项
716
705
  cycle: { type: String, required: !0 },
717
706
  sellBuy: { type: Number, default: 1 },
718
- rightType: { type: Number, default: null },
707
+ rightType: { type: [Number, null], default: null },
719
708
  // 复权类型
720
- klineType: { type: Number, default: null },
709
+ klineType: { type: [Number, null], default: null },
721
710
  // 合约类型
722
711
  incomeType: { type: Number, default: 0 },
723
712
  // 收益计算类型 0-单利, 1-复利
@@ -741,14 +730,14 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
741
730
  // 三方标记(不需要token授权)
742
731
  },
743
732
  setup(i, { expose: z }) {
744
- const { round: c, formatValue: N } = fe, { request: j } = we("stConfig"), Y = U(), g = U(!1), d = U(!1), e = i;
745
- let O = !1, E = !1, L = !1, T = !1, s = null, u = null, M = null;
733
+ const { round: r, formatValue: N } = fe, { request: j } = we("stConfig"), Y = U(), g = U(!1), d = U(!1), e = i;
734
+ let O = !1, E = !1, L = !1, T = !1, c = null, u = null, M = null;
746
735
  const p = U(null), l = U(null), n = U({
747
736
  data: [],
748
737
  mainIndicator: [],
749
738
  subIndicator: [],
750
739
  time: []
751
- }), D = U(0), a = U([]), r = U(null), m = U("VOL"), h = re(() => {
740
+ }), D = U(0), a = U([]), s = U(null), m = U("VOL"), b = re(() => {
752
741
  const t = n.value.data[D.value];
753
742
  if (!t)
754
743
  return [
@@ -760,22 +749,22 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
760
749
  { label: "涨跌", value: "-" }
761
750
  ];
762
751
  const o = [
763
- { label: "开", value: c(t[0]) },
764
- { label: "高", value: c(t[3]) },
765
- { label: "低", value: c(t[2]) },
766
- { label: "收", value: c(t[1]) }
752
+ { label: "开", value: r(t[0]) },
753
+ { label: "高", value: r(t[3]) },
754
+ { label: "低", value: r(t[2]) },
755
+ { label: "收", value: r(t[1]) }
767
756
  ];
768
757
  t[4] !== null && o.push({ label: "额", value: N(t[4]) });
769
758
  let y;
770
- return t[6] > 0 ? y = "red" : t[6] < 0 && (y = "green"), o.push({ label: "涨跌", value: `${c(t[6])}%`, color: y }), o;
759
+ return t[6] > 0 ? y = "red" : t[6] < 0 && (y = "green"), o.push({ label: "涨跌", value: `${r(t[6])}%`, color: y }), o;
771
760
  }), S = re(() => {
772
761
  var t, o;
773
- return ((o = (t = n.value) == null ? void 0 : t.mainIndicator) == null ? void 0 : o.map((y) => ({ label: y.key, value: c(y.data[D.value]), color: y.color }))) || [];
762
+ return ((o = (t = n.value) == null ? void 0 : t.mainIndicator) == null ? void 0 : o.map((y) => ({ label: y.key, value: r(y.data[D.value]), color: y.color }))) || [];
774
763
  }), P = re(() => {
775
764
  var t, o;
776
765
  return ((o = (t = n.value) == null ? void 0 : t.subIndicator) == null ? void 0 : o.map((y) => ({ label: y.key, color: y.color, value: y.data[D.value] || "-" }))) || [];
777
766
  }), K = () => {
778
- M || (M = Ne.init(l.value), M.on(
767
+ M || (M = se.init(l.value), M.on(
779
768
  "highlight",
780
769
  ae((t) => {
781
770
  var o;
@@ -793,8 +782,8 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
793
782
  D.value = t.dataZoom[0].endValue;
794
783
  }), M.getZr().on("contextmenu", () => {
795
784
  var t;
796
- r.value = (t = n.value) == null ? void 0 : t.time[D.value];
797
- }), window.addEventListener("keydown", De), e.userKlineConfig.enable_subChart && (u = Ne.init(p.value), Ne.connect([M, u])), s = Re(l.value), s.listen(() => {
785
+ s.value = (t = n.value) == null ? void 0 : t.time[D.value];
786
+ }), window.addEventListener("keydown", De), e.userKlineConfig.enable_subChart && (u = se.init(p.value), se.connect([M, u])), c = Re(l.value), c.listen(() => {
798
787
  requestAnimationFrame(() => {
799
788
  var t;
800
789
  M.resize(), u == null || u.resize(), (t = Y.value) == null || t.resize();
@@ -808,7 +797,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
808
797
  varietyCode: e.varietyCode,
809
798
  cycle: e.cycle,
810
799
  // 周期
811
- right: e.rightType,
800
+ right: e.varietyStock === 1 ? e.rightType : 0,
812
801
  // 复权方式
813
802
  contractType: e.varietyStock ? null : e.klineType,
814
803
  // 合约类型
@@ -852,7 +841,8 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
852
841
  const V = {
853
842
  varietyCode: e.varietyCode,
854
843
  cycle: e.cycle,
855
- right: e.rightType,
844
+ right: e.varietyStock === 1 ? e.rightType : 0,
845
+ // 复权方式
856
846
  contractType: e.varietyStock ? null : e.klineType,
857
847
  endTime: n.value.time[0],
858
848
  limit: o,
@@ -870,7 +860,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
870
860
  varietyCode: e.varietyCode,
871
861
  cycle: e.cycle,
872
862
  // 周期
873
- right: e.rightType,
863
+ right: e.varietyStock === 1 ? e.rightType : 0,
874
864
  // 复权方式
875
865
  contractType: e.varietyStock ? null : e.klineType,
876
866
  // 合约类型
@@ -940,24 +930,24 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
940
930
  label: {
941
931
  rich: {},
942
932
  formatter: (f) => {
943
- const { axisDimension: b, value: k } = f;
944
- return b === "x" ? ["6", "7", "8"].includes(e.cycle) ? I(k).format("YYYY-MM-DD") : k : String(c(k));
933
+ const { axisDimension: h, value: k } = f;
934
+ return h === "x" ? ["6", "7", "8"].includes(e.cycle) ? I(k).format("YYYY-MM-DD") : k : String(r(k));
945
935
  }
946
936
  }
947
937
  },
948
938
  formatter: (f) => {
949
939
  if (!(f != null && f.length))
950
940
  return null;
951
- let b = "";
941
+ let h = "";
952
942
  if (f.forEach((v) => {
953
- if (v.seriesName === "netPosition" && v.data !== null && (b += `<div>资产持仓净值: ${v.data[1]}</div>`), v.componentSubType === "candlestick")
943
+ if (v.seriesName === "netPosition" && v.data !== null && (h += `<div>资产持仓净值: ${v.data[1]}</div>`), v.componentSubType === "candlestick")
954
944
  if (e.sellBuy === 0) {
955
945
  const J = R.filter((H) => (H == null ? void 0 : H.coord[0]) === v.axisValue);
956
946
  let G = 0, Z = 0;
957
947
  J.forEach((H) => {
958
948
  const { tradeType: q, amount: oe } = H.customData;
959
949
  q === "买" && (G += oe), q === "卖" && (Z += oe);
960
- }), G && (b += `<div>买: ${G}</div>`), Z && (b += `<div>卖: ${Z}</div>`);
950
+ }), G && (h += `<div>买: ${G}</div>`), Z && (h += `<div>卖: ${Z}</div>`);
961
951
  } else
962
952
  R.forEach((J) => {
963
953
  if ((J == null ? void 0 : J.coord[0]) === v.axisValue) {
@@ -967,16 +957,16 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
967
957
  const Te = (q / Z).toFixed(2), ge = (oe / Z).toFixed(2);
968
958
  X += `<div>平仓价: ${ge}</div>`, X += `<div>盈亏: ${H == null ? void 0 : H.toFixed(2)}</div>`, X += `<div>盈亏比率: ${((ge - Te) / Te * 100).toFixed(2)} %</div>`;
969
959
  }
970
- b += X;
960
+ h += X;
971
961
  }
972
962
  });
973
- }), !b)
963
+ }), !h)
974
964
  return null;
975
965
  let k = f[0].axisValue;
976
966
  return ["6", "7", "8"].includes(e.cycle) && (k = I(k).format("YYYY-MM-DD")), `
977
967
  <div>
978
968
  <span style="font-weight: bold;">${k}</span>
979
- ${b}
969
+ ${h}
980
970
  </div>
981
971
  `;
982
972
  }
@@ -1006,19 +996,19 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1006
996
  }
1007
997
  },
1008
998
  min: (f) => {
1009
- const { min: b, max: k } = f, v = Math.abs((k - b) / 10);
1010
- return c(b - v);
999
+ const { min: h, max: k } = f, v = Math.abs((k - h) / 10);
1000
+ return r(h - v);
1011
1001
  },
1012
- max: (f) => c(f.max)
1002
+ max: (f) => r(f.max)
1013
1003
  },
1014
1004
  {
1015
1005
  show: !1,
1016
1006
  min: (f) => {
1017
- const { min: b, max: k } = f, v = Math.abs((k - b) / 10);
1018
- return b - v;
1007
+ const { min: h, max: k } = f, v = Math.abs((k - h) / 10);
1008
+ return h - v;
1019
1009
  },
1020
1010
  max: (f) => {
1021
- const { min: b, max: k } = f, v = Math.abs((k - b) / 10);
1011
+ const { min: h, max: k } = f, v = Math.abs((k - h) / 10);
1022
1012
  return k + v;
1023
1013
  }
1024
1014
  }
@@ -1091,7 +1081,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1091
1081
  {
1092
1082
  const f = [];
1093
1083
  if (e.userKlineConfig.enable_tradeLogBrush && R.length) {
1094
- const [b, k] = [R[0].coord[0], R.at(-1).coord[0]], v = ce(y, [b, k], e.cycle);
1084
+ const [h, k] = [R[0].coord[0], R.at(-1).coord[0]], v = ce(y, [h, k], e.cycle);
1095
1085
  f.push({
1096
1086
  brushId: "开平仓范围",
1097
1087
  brushType: "lineX",
@@ -1100,7 +1090,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1100
1090
  });
1101
1091
  }
1102
1092
  if (e.syncBrushRange.cycleList.includes(e.cycle)) {
1103
- const { startTime: b, endTime: k } = e.syncBrushRange, v = ce(y, [b, k], e.cycle);
1093
+ const { startTime: h, endTime: k } = e.syncBrushRange, v = ce(y, [h, k], e.cycle);
1104
1094
  f.push({
1105
1095
  brushId: "同步刷选范围",
1106
1096
  brushType: "lineX",
@@ -1114,7 +1104,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1114
1104
  });
1115
1105
  }
1116
1106
  if (e.positionTime) {
1117
- const [b, k] = [I(e.positionTime).format("YYYY-MM-DD 00:00:00"), I(e.positionTime).format("YYYY-MM-DD 23:59:59")], v = ce(y, [b, k], e.cycle);
1107
+ const [h, k] = [I(e.positionTime).format("YYYY-MM-DD 00:00:00"), I(e.positionTime).format("YYYY-MM-DD 23:59:59")], v = ce(y, [h, k], e.cycle);
1118
1108
  f.push({
1119
1109
  brushId: "强制定位高亮",
1120
1110
  brushType: "lineX",
@@ -1224,17 +1214,17 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1224
1214
  },
1225
1215
  { deep: !0 }
1226
1216
  ), xe(() => {
1227
- M.off("highlight"), M.off("globalout"), M.off("datazoom"), M.getZr().off("contextmenu"), window.removeEventListener("keydown", De), M.dispose(), u == null || u.dispose(), s.dispose(), s = null;
1217
+ M.off("highlight"), M.off("globalout"), M.off("datazoom"), M.getZr().off("contextmenu"), window.removeEventListener("keydown", De), M.dispose(), u == null || u.dispose(), c.dispose(), c = null;
1228
1218
  }), z({
1229
1219
  screenTimeRange: a,
1230
- contextmenuKlineTime: r,
1220
+ contextmenuKlineTime: s,
1231
1221
  reDraw: () => {
1232
1222
  var y;
1233
1223
  const { startValue: t, endValue: o } = ((y = M.getOption()) == null ? void 0 : y.dataZoom[0]) ?? {};
1234
1224
  ie({ startValue: t, endValue: o });
1235
1225
  }
1236
1226
  }), (t, o) => {
1237
- const y = ke, C = ve, x = he, A = be;
1227
+ const y = ke, C = ve, x = be, A = he;
1238
1228
  return Qe((F(), _("div", {
1239
1229
  class: "kline-plus",
1240
1230
  onMousemove: o[1] || (o[1] = (w) => d.value = !0),
@@ -1242,10 +1232,10 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1242
1232
  }, [
1243
1233
  $("div", tt, [
1244
1234
  $("div", Mt, [
1245
- ee(le, { data: h.value }, null, 8, ["data"]),
1235
+ ee(le, { data: b.value }, null, 8, ["data"]),
1246
1236
  ee(le, { data: S.value }, null, 8, ["data"])
1247
1237
  ]),
1248
- i.userKlineConfig.enable_showScreenTimeRange ? (F(), _("span", at, Me(a.value[0]) + " - " + Me(a.value[1]), 1)) : se("", !0),
1238
+ i.userKlineConfig.enable_showScreenTimeRange ? (F(), _("span", at, Me(a.value[0]) + " - " + Me(a.value[1]), 1)) : Ne("", !0),
1249
1239
  $("div", {
1250
1240
  ref_key: "mainChartRef",
1251
1241
  ref: l,
@@ -1281,8 +1271,8 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1281
1271
  ref: p,
1282
1272
  class: "chart"
1283
1273
  }, null, 512)
1284
- ])) : se("", !0),
1285
- i.userKlineConfig.enable_sliderChart ? (F(), _("div", st, [
1274
+ ])) : Ne("", !0),
1275
+ i.userKlineConfig.enable_sliderChart ? (F(), _("div", Nt, [
1286
1276
  ee(et, {
1287
1277
  ref_key: "sliderChartRef",
1288
1278
  ref: Y,
@@ -1295,8 +1285,8 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1295
1285
  withoutPermission: e.withoutPermission,
1296
1286
  onChange: Oe
1297
1287
  }, null, 8, ["screenTimeRange", "varietyCode", "varietyStock", "rightType", "klineType", "deleteFirstNumber", "withoutPermission"])
1298
- ])) : se("", !0),
1299
- n.value.time.length ? se("", !0) : (F(), Ie(x, {
1288
+ ])) : Ne("", !0),
1289
+ n.value.time.length ? Ne("", !0) : (F(), Ie(x, {
1300
1290
  key: 2,
1301
1291
  class: "empty",
1302
1292
  description: "暂无数据"
@@ -1306,11 +1296,11 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1306
1296
  ]);
1307
1297
  };
1308
1298
  }
1309
- }, rt = /* @__PURE__ */ ze(Nt, [["__scopeId", "data-v-4662a612"]]), ht = {
1299
+ }, rt = /* @__PURE__ */ ze(st, [["__scopeId", "data-v-366a34a3"]]), bt = {
1310
1300
  install(i) {
1311
1301
  i.component("st-klinePlus", rt);
1312
1302
  }
1313
1303
  };
1314
1304
  export {
1315
- ht as default
1305
+ bt as default
1316
1306
  };