st-comp 0.0.199 → 0.0.201
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/auto-imports.d.ts +3 -0
- package/es/CustomFunction.cjs +1 -1
- package/es/CustomFunction.js +267 -199
- package/es/FactorWarning.cjs +1 -1
- package/es/FactorWarning.js +27 -25
- package/es/KlinePlus.cjs +3 -3
- package/es/KlinePlus.js +252 -249
- package/es/User.cjs +1 -1
- package/es/User.js +714 -624
- package/es/VarietySearch.cjs +6 -6
- package/es/VarietySearch.js +19 -17
- package/es/VarietyTextCopy.cjs +3 -3
- package/es/VarietyTextCopy.js +4 -4
- package/es/el-checkbox-group-0ea8fbf8.cjs +1 -0
- package/es/el-checkbox-group-4ed993c7.js +1 -0
- package/es/{el-form-item-eeb64520.js → el-form-item-c53c374d.js} +2 -2
- package/es/el-message-box-a93d2f6a.js +489 -0
- package/es/el-message-box-c10adb52.cjs +1 -0
- package/es/el-text-ac60d0f2.js +67 -0
- package/es/el-text-c20a9f48.cjs +1 -0
- package/es/style.css +1 -1
- package/lib/bundle.js +1 -1
- package/lib/bundle.umd.cjs +206 -206
- package/lib/{index-c9dddb13.js → index-c0ce50bc.js} +20375 -20219
- package/lib/{python-8de8f552.js → python-9dae326e.js} +1 -1
- package/lib/style.css +1 -1
- package/package.json +1 -1
- package/packages/CustomFunction/index.vue +141 -30
- package/packages/KlinePlus/index.vue +17 -7
- package/packages/User/components/EditInfoDialog/Mobile.vue +110 -0
- package/packages/User/components/EditInfoDialog/index.vue +136 -0
- package/packages/User/components/SetPasswordDialog.vue +6 -3
- package/packages/User/index.vue +7 -22
- package/src/pages/KlinePlus/index.vue +6 -5
- package/es/el-message-box-48d71ee5.cjs +0 -1
- package/es/el-message-box-81ffd21e.js +0 -550
- package/packages/User/components/EditInfoDialog.vue +0 -144
package/es/KlinePlus.js
CHANGED
|
@@ -6,7 +6,7 @@ import { E as ve, a as Ee } from "./el-select-95627997.js";
|
|
|
6
6
|
import "./el-scrollbar-323542e7.js";
|
|
7
7
|
import "./el-popper-b4f97157.js";
|
|
8
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
|
|
9
|
+
import { d as I } from "./dayjs.min-8313b006.js";
|
|
10
10
|
import * as Ne from "echarts";
|
|
11
11
|
import { x as Oe, G as ae, D as Fe } from "./index-7ed0999e.js";
|
|
12
12
|
import { _ as ze } from "./_plugin-vue_export-helper-dad06003.js";
|
|
@@ -49,16 +49,16 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
|
|
|
49
49
|
8: 0.033
|
|
50
50
|
// 每月1根(按21个交易日算)
|
|
51
51
|
}, Le = ({ startTime: n, endTime: y, cycle: u, type: d = "end" }) => {
|
|
52
|
-
const { maxValueSpan: j } = W,
|
|
53
|
-
if (
|
|
52
|
+
const { maxValueSpan: j } = W, w = Math.ceil((j + 1e3) / Ze[u]), Y = I(n);
|
|
53
|
+
if (I(y).diff(Y, "day") <= w)
|
|
54
54
|
return [n, y];
|
|
55
55
|
if (d === "end")
|
|
56
|
-
return [
|
|
56
|
+
return [I(y).subtract(w, "day").format("YYYY-MM-DD HH:mm:ss"), y];
|
|
57
57
|
if (d === "middle") {
|
|
58
|
-
const h =
|
|
59
|
-
return console.log("超过一屏数量上限, 进行中间时间计算", h,
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
const h = I((I(n).valueOf() + I(y).valueOf()) / 2).format("YYYY-MM-DD HH:mm:ss");
|
|
59
|
+
return console.log("超过一屏数量上限, 进行中间时间计算", h, w / 2), [
|
|
60
|
+
I(h).subtract(w / 2, "day").format("YYYY-MM-DD HH:mm:ss"),
|
|
61
|
+
I(h).add(w / 2, "day").format("YYYY-MM-DD HH:mm:ss")
|
|
62
62
|
];
|
|
63
63
|
}
|
|
64
64
|
}, Be = (n, y) => {
|
|
@@ -75,7 +75,7 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
|
|
|
75
75
|
color: "#00FFFF"
|
|
76
76
|
};
|
|
77
77
|
}, Ge = (n, y, u) => {
|
|
78
|
-
var j,
|
|
78
|
+
var j, w, Y, z;
|
|
79
79
|
const d = n.subIndicator.map((e) => {
|
|
80
80
|
if (e.series === "bar")
|
|
81
81
|
return {
|
|
@@ -170,7 +170,7 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
|
|
|
170
170
|
{
|
|
171
171
|
position: "left",
|
|
172
172
|
min: ((j = n.subIndicator[0]) == null ? void 0 : j.leftYAxisRange) === "cover" ? (e) => e.min : null,
|
|
173
|
-
max: ((
|
|
173
|
+
max: ((w = n.subIndicator[0]) == null ? void 0 : w.leftYAxisRange) === "cover" ? (e) => e.max : null,
|
|
174
174
|
splitNumber: 1,
|
|
175
175
|
axisLine: {
|
|
176
176
|
show: !0
|
|
@@ -185,7 +185,7 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
|
|
|
185
185
|
},
|
|
186
186
|
{
|
|
187
187
|
position: "right",
|
|
188
|
-
min: ((
|
|
188
|
+
min: ((Y = n.subIndicator[0]) == null ? void 0 : Y.rightYAxisRange) === "cover" ? (e) => e.min : null,
|
|
189
189
|
max: ((z = n.subIndicator[0]) == null ? void 0 : z.rightYAxisRange) === "cover" ? (e) => e.max : null,
|
|
190
190
|
splitNumber: 1,
|
|
191
191
|
axisLine: {
|
|
@@ -202,17 +202,17 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
|
|
|
202
202
|
series: d
|
|
203
203
|
};
|
|
204
204
|
}, Ce = (n, y, u = "strict") => {
|
|
205
|
-
let d = 0, j = n.length - 1,
|
|
205
|
+
let d = 0, j = n.length - 1, w = -1;
|
|
206
206
|
for (; d <= j; ) {
|
|
207
|
-
let
|
|
207
|
+
let Y = Math.floor((d + j) / 2);
|
|
208
208
|
if (u === "strict") {
|
|
209
|
-
if (n[
|
|
210
|
-
return
|
|
211
|
-
n[
|
|
209
|
+
if (n[Y] === y)
|
|
210
|
+
return Y;
|
|
211
|
+
n[Y] < y ? d = Y + 1 : j = Y - 1;
|
|
212
212
|
} else
|
|
213
|
-
u === "gte" && (n[
|
|
213
|
+
u === "gte" && (n[Y] >= y ? (w = Y, j = Y - 1) : d = Y + 1);
|
|
214
214
|
}
|
|
215
|
-
return u === "strict" ? -1 :
|
|
215
|
+
return u === "strict" ? -1 : w;
|
|
216
216
|
}, me = (n, y) => ({
|
|
217
217
|
data: [...n.data, ...y.data.slice(1)],
|
|
218
218
|
mainIndicator: n.mainIndicator.map((u, d) => ({
|
|
@@ -227,71 +227,71 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
|
|
|
227
227
|
}), je = (n, y, u) => {
|
|
228
228
|
switch (u) {
|
|
229
229
|
case "5": {
|
|
230
|
-
let
|
|
230
|
+
let m = [
|
|
231
231
|
...new Set(
|
|
232
232
|
n.slice(-20).map((D) => {
|
|
233
|
-
const i = new Date(D), s = String(i.getHours()).padStart(2, "0"),
|
|
234
|
-
return `${s}:${
|
|
233
|
+
const i = new Date(D), s = String(i.getHours()).padStart(2, "0"), p = String(i.getMinutes()).padStart(2, "0"), v = String(i.getSeconds()).padStart(2, "0");
|
|
234
|
+
return `${s}:${p}:${v}`;
|
|
235
235
|
})
|
|
236
236
|
)
|
|
237
237
|
];
|
|
238
|
-
|
|
239
|
-
const T = new Date(y), N = T.getFullYear(),
|
|
238
|
+
m.includes("00:00:00") && (m.splice(m.indexOf("00:00:00"), 1), m.push("24:00:00")), m = m.sort((D, i) => (/* @__PURE__ */ new Date(`2000-01-30 ${D}`)).getTime() - (/* @__PURE__ */ new Date(`2000-01-30 ${i}`)).getTime());
|
|
239
|
+
const T = new Date(y), N = T.getFullYear(), l = 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");
|
|
240
240
|
if (`${f}:${r}:${a}` == "00:00:00")
|
|
241
|
-
return `${N}-${
|
|
241
|
+
return `${N}-${l}-${M} 01:00:00`;
|
|
242
242
|
{
|
|
243
243
|
let D = null;
|
|
244
|
-
for (let i = 0; i <
|
|
245
|
-
const s =
|
|
244
|
+
for (let i = 0; i < m.length; i++) {
|
|
245
|
+
const s = m[i].split(":");
|
|
246
246
|
if (+`${s[0]}${s[1]}${s[2]}` >= +`${f}${r}${a}`) {
|
|
247
|
-
D =
|
|
247
|
+
D = m[i];
|
|
248
248
|
break;
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
251
|
if (D === "24:00:00") {
|
|
252
252
|
const i = new Date(y);
|
|
253
253
|
i.setDate(i.getDate() + 1);
|
|
254
|
-
const s = i.getFullYear(),
|
|
255
|
-
return `${s}-${
|
|
254
|
+
const s = i.getFullYear(), p = String(i.getMonth() + 1).padStart(2, "0"), v = String(i.getDate()).padStart(2, "0");
|
|
255
|
+
return `${s}-${p}-${v} 00:00:00`;
|
|
256
256
|
}
|
|
257
|
-
return `${N}-${
|
|
257
|
+
return `${N}-${l}-${M} ${D}`;
|
|
258
258
|
}
|
|
259
259
|
}
|
|
260
260
|
case "6": {
|
|
261
|
-
const
|
|
261
|
+
const m = new Date(y), T = m.getHours();
|
|
262
262
|
if (T >= 4 && T < 21) {
|
|
263
|
-
const N =
|
|
264
|
-
return `${N}-${
|
|
263
|
+
const N = m.getFullYear(), l = String(m.getMonth() + 1).padStart(2, "0"), M = String(m.getDate()).padStart(2, "0");
|
|
264
|
+
return `${N}-${l}-${M} 09:00:00`;
|
|
265
265
|
} else {
|
|
266
266
|
const N = new Date(y);
|
|
267
267
|
N.getHours() >= 21 && N.setDate(N.getDate() + 1);
|
|
268
|
-
const
|
|
268
|
+
const l = N.getFullYear(), M = String(N.getMonth() + 1).padStart(2, "0"), f = String(N.getDate()).padStart(2, "0"), r = `${l}-${M}-${f} 09:00:00`, a = Ce(n, r, "gte");
|
|
269
269
|
return a === -1 ? r : n[a];
|
|
270
270
|
}
|
|
271
271
|
}
|
|
272
272
|
case "7": {
|
|
273
|
-
const
|
|
274
|
-
T.setDate(
|
|
273
|
+
const m = new Date(y), T = new Date(m);
|
|
274
|
+
T.setDate(m.getDate() - m.getDay()), T.setHours(0, 0, 0, 0);
|
|
275
275
|
const N = new Date(T);
|
|
276
276
|
N.setDate(T.getDate() + 5), N.setHours(23, 59, 59, 0);
|
|
277
|
-
const
|
|
278
|
-
|
|
279
|
-
const M =
|
|
277
|
+
const l = new Date(T);
|
|
278
|
+
l.setDate(T.getDate() + 12), l.setHours(9, 0, 0, 0);
|
|
279
|
+
const M = m <= N ? N : l, f = M.getFullYear(), r = String(M.getMonth() + 1).padStart(2, "0"), a = String(M.getDate()).padStart(2, "0");
|
|
280
280
|
return `${f}-${r}-${a} 09:00:00`;
|
|
281
281
|
}
|
|
282
282
|
case "8": {
|
|
283
|
-
const
|
|
283
|
+
const m = new Date(y), T = new Date(m.getFullYear(), m.getMonth() + 1, 1), N = new Date(T);
|
|
284
284
|
N.setDate(T.getDate() - 1), N.setHours(9, 0, 0, 0);
|
|
285
|
-
const
|
|
286
|
-
return `${
|
|
285
|
+
const l = N.getFullYear(), M = String(N.getMonth() + 1).padStart(2, "0"), f = String(N.getDate()).padStart(2, "0");
|
|
286
|
+
return `${l}-${M}-${f} 09:00:00`;
|
|
287
287
|
}
|
|
288
288
|
}
|
|
289
|
-
const d = new Date(y), j = d.getFullYear(),
|
|
289
|
+
const d = new Date(y), j = d.getFullYear(), w = d.getMonth(), Y = d.getDate(), z = d.getHours(), e = d.getMinutes(), h = d.getSeconds(), E = (m) => {
|
|
290
290
|
let T = null;
|
|
291
|
-
const N = Math.floor(e /
|
|
292
|
-
e %
|
|
293
|
-
const
|
|
294
|
-
return `${D}-${i}-${s} ${
|
|
291
|
+
const N = Math.floor(e / m);
|
|
292
|
+
e % m === 0 && h === 0 ? T = e : T = (N + 1) * m;
|
|
293
|
+
const l = Math.floor(T / 60), M = z + l, f = T % 60, r = new Date(j, w, Y, M, f, 0), a = (P) => String(P).padStart(2, "0"), D = r.getFullYear(), i = a(r.getMonth() + 1), s = a(r.getDate()), p = a(r.getHours()), v = a(r.getMinutes());
|
|
294
|
+
return `${D}-${i}-${s} ${p}:${v}:00`;
|
|
295
295
|
};
|
|
296
296
|
switch (u) {
|
|
297
297
|
case "1":
|
|
@@ -307,28 +307,28 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
|
|
|
307
307
|
}
|
|
308
308
|
}, le = (n, y, u) => {
|
|
309
309
|
let d = null, j = null;
|
|
310
|
-
const [
|
|
310
|
+
const [w, Y] = y;
|
|
311
311
|
switch (u) {
|
|
312
312
|
case "6": {
|
|
313
|
-
d = n.find((z) => new Date(
|
|
313
|
+
d = n.find((z) => new Date(I(z).format("YYYY-MM-DD 23:59:59")).getTime() >= new Date(w).getTime()), j = n.findLast((z) => new Date(I(z).format("YYYY-MM-DD 00:00:00")).getTime() <= new Date(Y).getTime());
|
|
314
314
|
break;
|
|
315
315
|
}
|
|
316
316
|
case "7": {
|
|
317
|
-
const z =
|
|
318
|
-
d = n.find((e) =>
|
|
317
|
+
const z = I(Y).endOf("week").add(1, "day").format("YYYY-MM-DD 23:59:59");
|
|
318
|
+
d = n.find((e) => I(e).endOf("week").add(1, "day").format("YYYY-MM-DD") === I(w).endOf("week").add(1, "day").format("YYYY-MM-DD")), j = n.findLast((e) => new Date(e).getTime() <= new Date(z).getTime());
|
|
319
319
|
break;
|
|
320
320
|
}
|
|
321
321
|
case "8": {
|
|
322
|
-
d = n.find((z) =>
|
|
322
|
+
d = n.find((z) => I(z).format("YYYY-MM") === I(w).format("YYYY-MM")), j = n.findLast((z) => I(z).format("YYYY-MM") === I(Y).format("YYYY-MM"));
|
|
323
323
|
break;
|
|
324
324
|
}
|
|
325
325
|
default:
|
|
326
|
-
d = n.find((z) => new Date(z).getTime() >= new Date(
|
|
326
|
+
d = n.find((z) => new Date(z).getTime() >= new Date(w).getTime()), j = n.findLast((z) => new Date(z).getTime() <= new Date(Y).getTime());
|
|
327
327
|
}
|
|
328
328
|
return [d, j];
|
|
329
329
|
}, $e = (n, y, u, d, j) => {
|
|
330
|
-
const
|
|
331
|
-
const { direction:
|
|
330
|
+
const w = (T, N) => {
|
|
331
|
+
const { direction: l = "", tradeAction: M = "", tradeType: f = "" } = T, r = f ?? l + M;
|
|
332
332
|
switch (N) {
|
|
333
333
|
case 0:
|
|
334
334
|
return (/* @__PURE__ */ new Map([
|
|
@@ -338,18 +338,18 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
|
|
|
338
338
|
["平空", "买"]
|
|
339
339
|
])).get(r);
|
|
340
340
|
case 1:
|
|
341
|
-
return f ??
|
|
341
|
+
return f ?? l + M;
|
|
342
342
|
}
|
|
343
|
-
},
|
|
343
|
+
}, Y = (T, N, l, M) => T.reduce((f, r) => {
|
|
344
344
|
var P;
|
|
345
|
-
const a =
|
|
345
|
+
const a = w(r, 0), D = T.filter((_) => _.klineTime === r.klineTime), i = [...new Set(D.map((_) => w(_, 0)))];
|
|
346
346
|
let s = null;
|
|
347
347
|
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;
|
|
348
|
-
const
|
|
348
|
+
const p = Ce(l, r.klineTime), v = (P = M[p]) == null ? void 0 : P[3];
|
|
349
349
|
return N.forEach((_) => {
|
|
350
350
|
var Z;
|
|
351
351
|
const ie = a === "买" ? 0 : 1;
|
|
352
|
-
_.range[ie] === r.klineTime && (_.rangeValue[ie] = (Z = M[
|
|
352
|
+
_.range[ie] === r.klineTime && (_.rangeValue[ie] = (Z = M[p]) == null ? void 0 : Z[a === "买" ? 2 : 3]);
|
|
353
353
|
}), f.push({
|
|
354
354
|
symbol: s,
|
|
355
355
|
symbolSize: 25,
|
|
@@ -376,10 +376,10 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
|
|
|
376
376
|
// 收仓价
|
|
377
377
|
}
|
|
378
378
|
}), f;
|
|
379
|
-
}, []), z = (T, N,
|
|
380
|
-
const D =
|
|
381
|
-
return N.forEach((
|
|
382
|
-
(i === "top" ?
|
|
379
|
+
}, []), z = (T, N, l, M) => T.reduce((f, r, a) => {
|
|
380
|
+
const D = w(r, 1), i = ["开多", "开空"].includes(D) ? "top" : "bottom", s = i === "top" ? (r.openPriceAll / r.amount).toFixed(2) : (r.closePriceAll / r.amount).toFixed(2);
|
|
381
|
+
return N.forEach((p) => {
|
|
382
|
+
(i === "top" ? p.range[0] : p.range[1]) === r.klineTime && (p.rangeValue[i === "top" ? 0 : 1] = s);
|
|
383
383
|
}), f.push({
|
|
384
384
|
symbol: "triangle",
|
|
385
385
|
symbolSize: [10, 12],
|
|
@@ -409,10 +409,10 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
|
|
|
409
409
|
// 收仓价
|
|
410
410
|
}
|
|
411
411
|
}), f;
|
|
412
|
-
}, []), e = (T, N,
|
|
412
|
+
}, []), e = (T, N, l) => {
|
|
413
413
|
const { basePointData: M, baseLineData: f } = T.reduce(
|
|
414
414
|
(i, s) => {
|
|
415
|
-
const
|
|
415
|
+
const p = {
|
|
416
416
|
pointTime: s.openTime,
|
|
417
417
|
// 交易时间
|
|
418
418
|
tradeAction: "开",
|
|
@@ -430,7 +430,7 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
|
|
|
430
430
|
// 开仓总价
|
|
431
431
|
closePriceAll: s.closePrice * s.tradeVolume,
|
|
432
432
|
// 平仓总价
|
|
433
|
-
klineTime: je(
|
|
433
|
+
klineTime: je(l, s.openTime, N)
|
|
434
434
|
// K线时间
|
|
435
435
|
}, v = {
|
|
436
436
|
pointTime: s.closeTime,
|
|
@@ -450,14 +450,14 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
|
|
|
450
450
|
// 开仓总价
|
|
451
451
|
closePriceAll: s.closePrice * s.tradeVolume,
|
|
452
452
|
// 平仓总价
|
|
453
|
-
klineTime: je(
|
|
453
|
+
klineTime: je(l, s.closeTime, N)
|
|
454
454
|
// K线时间
|
|
455
455
|
}, P = {
|
|
456
|
-
range: [
|
|
456
|
+
range: [p.klineTime, v.klineTime],
|
|
457
457
|
rangeValue: [null, null],
|
|
458
458
|
color: v.profitAndLoss > 0 ? "#FF0000" : "#389e0d"
|
|
459
459
|
};
|
|
460
|
-
return i.basePointData.push(
|
|
460
|
+
return i.basePointData.push(p, v), i.baseLineData.push(P), i;
|
|
461
461
|
},
|
|
462
462
|
{
|
|
463
463
|
basePointData: [],
|
|
@@ -466,22 +466,22 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
|
|
|
466
466
|
// 连线数据
|
|
467
467
|
}
|
|
468
468
|
), a = [...M.reduce((i, s) => {
|
|
469
|
-
const
|
|
469
|
+
const p = JSON.parse(JSON.stringify(s)), v = p.klineTime + p.tradeType;
|
|
470
470
|
if (i.has(v)) {
|
|
471
471
|
const P = i.get(v);
|
|
472
|
-
|
|
472
|
+
p.amount += P.amount, p.part += P.part, p.profitAndLoss += P.profitAndLoss, p.openPriceAll += P.openPriceAll, p.closePriceAll += P.closePriceAll;
|
|
473
473
|
}
|
|
474
|
-
return i.set(v,
|
|
474
|
+
return i.set(v, p), i;
|
|
475
475
|
}, /* @__PURE__ */ new Map([])).values()].sort((i, s) => new Date(i.klineTime) - new Date(s.klineTime)), D = f.filter(({ range: i }) => i[0] !== i[1]);
|
|
476
476
|
return { pointData: a, lineData: D };
|
|
477
477
|
}, { pointData: h, lineData: E } = e(n, y, d);
|
|
478
478
|
return {
|
|
479
|
-
tradePointData: (u === 0 ?
|
|
480
|
-
tradeLineData: E.map(({ range: T, rangeValue: N, color:
|
|
479
|
+
tradePointData: (u === 0 ? Y : z)(h, E, d, j),
|
|
480
|
+
tradeLineData: E.map(({ range: T, rangeValue: N, color: l }) => [
|
|
481
481
|
{
|
|
482
482
|
symbol: "none",
|
|
483
483
|
coord: [T[0], N[0]],
|
|
484
|
-
lineStyle: { color:
|
|
484
|
+
lineStyle: { color: l, width: 2, type: "solid" },
|
|
485
485
|
silent: !0,
|
|
486
486
|
animation: !1
|
|
487
487
|
},
|
|
@@ -496,24 +496,24 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
|
|
|
496
496
|
}, We = (n, y) => {
|
|
497
497
|
let u = [];
|
|
498
498
|
if (Number(y) <= 5)
|
|
499
|
-
u = n.map(({ tradeDate: d, netPositionValue: j }) => [
|
|
499
|
+
u = n.map(({ tradeDate: d, netPositionValue: j }) => [I(d).format("YYYY-MM-DD HH:mm:ss"), j]);
|
|
500
500
|
else if (Number(y) === 6) {
|
|
501
|
-
const d = n.reduce((j,
|
|
502
|
-
const { tradeDate:
|
|
503
|
-
return j.set(
|
|
501
|
+
const d = n.reduce((j, w) => {
|
|
502
|
+
const { tradeDate: Y, netPositionValue: z } = w;
|
|
503
|
+
return j.set(I(Y).format("YYYY-MM-DD 09:00:00"), z), j;
|
|
504
504
|
}, /* @__PURE__ */ new Map());
|
|
505
|
-
u = Array.from(d, ([j,
|
|
505
|
+
u = Array.from(d, ([j, w]) => [j, w]);
|
|
506
506
|
} else
|
|
507
507
|
u = [];
|
|
508
508
|
return { netPositionLineData: u };
|
|
509
509
|
}, Je = (n, y, u, d) => {
|
|
510
510
|
let j = [];
|
|
511
511
|
if (["6", "7", "8"].includes(y)) {
|
|
512
|
-
const
|
|
512
|
+
const w = n.reduce((Y, z) => {
|
|
513
513
|
const e = je(d, z.date, y), h = z[u === 0 ? "simple" : "compound"];
|
|
514
|
-
return
|
|
514
|
+
return Y.set(e, h), Y;
|
|
515
515
|
}, /* @__PURE__ */ new Map());
|
|
516
|
-
j = Array.from(
|
|
516
|
+
j = Array.from(w, ([Y, z]) => [Y, z]);
|
|
517
517
|
} else
|
|
518
518
|
j = [];
|
|
519
519
|
return { tradeIncomeRateLineData: j };
|
|
@@ -559,7 +559,7 @@ const Xe = {
|
|
|
559
559
|
setup(n, { expose: y, emit: u }) {
|
|
560
560
|
const { request: d } = pe("stConfig");
|
|
561
561
|
let j = null;
|
|
562
|
-
const
|
|
562
|
+
const w = F(null), Y = u, z = n, e = F({
|
|
563
563
|
data: [],
|
|
564
564
|
// <[开 收 低 高 成交额 涨跌值 涨跌百分比]>
|
|
565
565
|
mainIndicator: [],
|
|
@@ -574,26 +574,26 @@ const Xe = {
|
|
|
574
574
|
contractType: z.varietyStock ? null : z.klineType,
|
|
575
575
|
// 合约类型
|
|
576
576
|
startTime: "1999-01-01 00:00:00",
|
|
577
|
-
endTime:
|
|
577
|
+
endTime: I().format("YYYY-MM-DD 23:59:59"),
|
|
578
578
|
deleteFirstNumber: z.deleteFirstNumber,
|
|
579
579
|
withoutPermission: z.withoutPermission
|
|
580
|
-
}, { body:
|
|
581
|
-
|
|
580
|
+
}, { body: l } = await d.post("/middleLayer/kline/getKline", N);
|
|
581
|
+
l ? e.value = l : e.value = { data: [], mainIndicator: [], subIndicator: [], time: [] }, T("init");
|
|
582
582
|
}, E = ae((N) => {
|
|
583
583
|
if (!N.dataZoomId)
|
|
584
584
|
return;
|
|
585
|
-
const
|
|
586
|
-
if (
|
|
585
|
+
const l = j.getOption();
|
|
586
|
+
if (l != null && l.dataZoom[0]) {
|
|
587
587
|
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`;
|
|
588
|
-
console.log(`检测到拖拽轴被拖动, 时间区间: ${a} - ${D}`),
|
|
588
|
+
console.log(`检测到拖拽轴被拖动, 时间区间: ${a} - ${D}`), Y("change", { startTime: a, endTime: D });
|
|
589
589
|
}
|
|
590
|
-
}, 200),
|
|
591
|
-
T("reset", { startTime: N, endTime:
|
|
592
|
-
}, 100), T = (N,
|
|
590
|
+
}, 200), m = ae(({ startTime: N, endTime: l }) => {
|
|
591
|
+
T("reset", { startTime: N, endTime: l });
|
|
592
|
+
}, 100), T = (N, l) => {
|
|
593
593
|
switch (N) {
|
|
594
594
|
case "init": {
|
|
595
595
|
const { data: M, time: f } = e.value, { xAxisData: r, lineData: a } = M.reduce(
|
|
596
|
-
(i, s,
|
|
596
|
+
(i, s, p) => (i.xAxisData.push(f[p].split(" ")[0]), i.lineData.push(s[1]), i),
|
|
597
597
|
{ xAxisData: [], lineData: [] }
|
|
598
598
|
), D = {
|
|
599
599
|
grid: {
|
|
@@ -633,15 +633,15 @@ const Xe = {
|
|
|
633
633
|
};
|
|
634
634
|
if (j.setOption(D, !0), z.screenTimeRange.length) {
|
|
635
635
|
const [i, s] = z.screenTimeRange;
|
|
636
|
-
|
|
636
|
+
m({ startTime: i, endTime: s });
|
|
637
637
|
}
|
|
638
638
|
break;
|
|
639
639
|
}
|
|
640
640
|
case "reset": {
|
|
641
|
-
const { time: M } = e.value, f =
|
|
641
|
+
const { time: M } = e.value, f = I(l.startTime).format("YYYY-MM-DD"), r = I(l.endTime).format("YYYY-MM-DD");
|
|
642
642
|
let a = -1, D = -1;
|
|
643
643
|
for (let i = 0; i < M.length; i++) {
|
|
644
|
-
const s =
|
|
644
|
+
const s = I(M[i]).format("YYYY-MM-DD");
|
|
645
645
|
if (a !== -1 && D !== -1)
|
|
646
646
|
break;
|
|
647
647
|
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));
|
|
@@ -657,23 +657,23 @@ const Xe = {
|
|
|
657
657
|
};
|
|
658
658
|
return xe(() => {
|
|
659
659
|
Qe(() => {
|
|
660
|
-
j = Ne.init(
|
|
660
|
+
j = Ne.init(w.value), j.on("datazoom", E), h();
|
|
661
661
|
});
|
|
662
662
|
}), te(
|
|
663
663
|
() => z.screenTimeRange,
|
|
664
664
|
(N) => {
|
|
665
|
-
const [
|
|
666
|
-
|
|
665
|
+
const [l, M] = N;
|
|
666
|
+
m({ startTime: l, endTime: M });
|
|
667
667
|
},
|
|
668
668
|
{ deep: !0 }
|
|
669
669
|
), fe(() => {
|
|
670
670
|
j.off("datazoom"), j.dispose();
|
|
671
671
|
}), y({
|
|
672
672
|
resize: ae(() => j.resize(), 100)
|
|
673
|
-
}), (N,
|
|
673
|
+
}), (N, l) => (U(), H("div", {
|
|
674
674
|
class: "chart",
|
|
675
675
|
ref_key: "sliderChartRef",
|
|
676
|
-
ref:
|
|
676
|
+
ref: w
|
|
677
677
|
}, null, 512));
|
|
678
678
|
}
|
|
679
679
|
}, et = /* @__PURE__ */ ze(Xe, [["__scopeId", "data-v-0c715da1"]]);
|
|
@@ -725,14 +725,14 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
725
725
|
// 三方标记(不需要token授权)
|
|
726
726
|
},
|
|
727
727
|
setup(n, { expose: y }) {
|
|
728
|
-
const { round: u, formatValue: d } = Oe, { request: j } = pe("stConfig"),
|
|
729
|
-
let h = !1, E = !1,
|
|
728
|
+
const { round: u, formatValue: d } = Oe, { request: j } = pe("stConfig"), w = F(), Y = F(!1), z = F(!1), e = n;
|
|
729
|
+
let h = !1, E = !1, m = !1, T = !1, N = null, l = null, M = null;
|
|
730
730
|
const f = F(null), r = F(null), a = F({
|
|
731
731
|
data: [],
|
|
732
732
|
mainIndicator: [],
|
|
733
733
|
subIndicator: [],
|
|
734
734
|
time: []
|
|
735
|
-
}), D = F(0), i = F([]), s = F(null),
|
|
735
|
+
}), D = F(0), i = F([]), s = F(null), p = F("VOL"), v = ce(() => {
|
|
736
736
|
const t = a.value.data[D.value];
|
|
737
737
|
if (!t)
|
|
738
738
|
return [
|
|
@@ -750,14 +750,14 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
750
750
|
{ label: "收", value: u(t[1]) }
|
|
751
751
|
];
|
|
752
752
|
t[4] !== null && o.push({ label: "额", value: d(t[4]) });
|
|
753
|
-
let
|
|
754
|
-
return t[6] > 0 ?
|
|
753
|
+
let c;
|
|
754
|
+
return t[6] > 0 ? c = "red" : t[6] < 0 && (c = "green"), o.push({ label: "涨跌", value: `${u(t[6])}%`, color: c }), o;
|
|
755
755
|
}), P = ce(() => {
|
|
756
756
|
var t, o;
|
|
757
|
-
return ((o = (t = a.value) == null ? void 0 : t.mainIndicator) == null ? void 0 : o.map((
|
|
757
|
+
return ((o = (t = a.value) == null ? void 0 : t.mainIndicator) == null ? void 0 : o.map((c) => ({ label: c.key, value: u(c.data[D.value]), color: c.color }))) || [];
|
|
758
758
|
}), _ = ce(() => {
|
|
759
759
|
var t, o;
|
|
760
|
-
return ((o = (t = a.value) == null ? void 0 : t.subIndicator) == null ? void 0 : o.map((
|
|
760
|
+
return ((o = (t = a.value) == null ? void 0 : t.subIndicator) == null ? void 0 : o.map((c) => ({ label: c.key, color: c.color, value: c.data[D.value] || "-" }))) || [];
|
|
761
761
|
}), ie = () => {
|
|
762
762
|
M || (M = Ne.init(r.value), M.on(
|
|
763
763
|
"highlight",
|
|
@@ -768,9 +768,9 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
768
768
|
), M.on(
|
|
769
769
|
"datazoom",
|
|
770
770
|
ae(async () => {
|
|
771
|
-
var
|
|
772
|
-
const { loadCheckCount: t } = W, { startValue: o, endValue:
|
|
773
|
-
|
|
771
|
+
var O;
|
|
772
|
+
const { loadCheckCount: t } = W, { startValue: o, endValue: c } = ((O = M.getOption()) == null ? void 0 : O.dataZoom[0]) ?? {};
|
|
773
|
+
m === !1 && T === !1 && o < t && await ye("history"), h === !1 && E === !1 && c > a.value.time.length - t && await ye("new"), de(), De();
|
|
774
774
|
})
|
|
775
775
|
), M.on("globalout", () => {
|
|
776
776
|
const t = M.getOption();
|
|
@@ -778,17 +778,17 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
778
778
|
}), M.getZr().on("contextmenu", () => {
|
|
779
779
|
var t;
|
|
780
780
|
s.value = (t = a.value) == null ? void 0 : t.time[D.value];
|
|
781
|
-
}), window.addEventListener("keydown", Te), e.userKlineConfig.enable_subChart && (
|
|
781
|
+
}), window.addEventListener("keydown", Te), e.userKlineConfig.enable_subChart && (l = Ne.init(f.value), Ne.connect([M, l])), N = Fe(r.value), N.listen(() => {
|
|
782
782
|
requestAnimationFrame(() => {
|
|
783
783
|
var t;
|
|
784
|
-
M.resize(),
|
|
784
|
+
M.resize(), l == null || l.resize(), (t = w.value) == null || t.resize();
|
|
785
785
|
});
|
|
786
786
|
}));
|
|
787
787
|
}, Z = async ({ startTime: t, endTime: o }) => {
|
|
788
|
-
|
|
788
|
+
m = !1, T = !1, h = !1, E = !1;
|
|
789
789
|
try {
|
|
790
|
-
|
|
791
|
-
const
|
|
790
|
+
Y.value = !0;
|
|
791
|
+
const c = {
|
|
792
792
|
varietyCode: e.varietyCode,
|
|
793
793
|
cycle: e.cycle,
|
|
794
794
|
// 周期
|
|
@@ -797,42 +797,42 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
797
797
|
contractType: e.varietyStock ? null : e.klineType,
|
|
798
798
|
// 合约类型
|
|
799
799
|
mainIndicatorList: e.indicatorStore.getIndicatorParams(e.mainIndicator),
|
|
800
|
-
subIndicator:
|
|
800
|
+
subIndicator: p.value,
|
|
801
801
|
deleteFirstNumber: e.deleteFirstNumber,
|
|
802
802
|
withoutPermission: e.withoutPermission
|
|
803
803
|
};
|
|
804
|
-
["1", "2", "3", "4", "5"].includes(e.cycle) ? Object.assign(
|
|
805
|
-
startTime:
|
|
806
|
-
endTime:
|
|
807
|
-
}) : ["6", "7"].includes(e.cycle) ? Object.assign(
|
|
808
|
-
startTime:
|
|
809
|
-
endTime:
|
|
810
|
-
}) : Object.assign(
|
|
811
|
-
startTime:
|
|
812
|
-
endTime:
|
|
804
|
+
["1", "2", "3", "4", "5"].includes(e.cycle) ? Object.assign(c, {
|
|
805
|
+
startTime: I(t).subtract(1, "day").format("YYYY-MM-DD HH:mm:ss"),
|
|
806
|
+
endTime: I(o).add(1, "day").format("YYYY-MM-DD HH:mm:ss")
|
|
807
|
+
}) : ["6", "7"].includes(e.cycle) ? Object.assign(c, {
|
|
808
|
+
startTime: I(t).subtract(50, "day").format("YYYY-MM-DD HH:mm:ss"),
|
|
809
|
+
endTime: I(o).add(50, "day").format("YYYY-MM-DD HH:mm:ss")
|
|
810
|
+
}) : Object.assign(c, {
|
|
811
|
+
startTime: I(t).subtract(10, "month").format("YYYY-MM-DD HH:mm:ss"),
|
|
812
|
+
endTime: I(o).add(10, "month").format("YYYY-MM-DD HH:mm:ss")
|
|
813
813
|
});
|
|
814
|
-
const { body:
|
|
815
|
-
a.value =
|
|
816
|
-
let
|
|
817
|
-
for (let
|
|
818
|
-
const S =
|
|
819
|
-
if (
|
|
814
|
+
const { body: O } = await j.post("/middleLayer/kline/getKline", c);
|
|
815
|
+
a.value = O ?? { data: [], mainIndicator: [], subIndicator: [], time: [] };
|
|
816
|
+
let A = -1, g = -1;
|
|
817
|
+
for (let x = 0; x < a.value.time.length; x++) {
|
|
818
|
+
const S = I(a.value.time[x]).format("YYYY-MM-DD");
|
|
819
|
+
if (A !== -1 && g !== -1)
|
|
820
820
|
break;
|
|
821
|
-
|
|
821
|
+
A === -1 && (new Date(S) === new Date(t) ? A = x : new Date(S) > new Date(t) && (A = x - 1)), g === -1 && (new Date(S) === new Date(o) ? g = x : new Date(S) > new Date(o) && (g = x - 1));
|
|
822
822
|
}
|
|
823
|
-
|
|
824
|
-
startValue:
|
|
825
|
-
endValue:
|
|
823
|
+
g === -1 && (g = a.value.time.length - 1), ne({
|
|
824
|
+
startValue: A === -1 ? 0 : A,
|
|
825
|
+
endValue: g === -1 ? a.value.time.length - 1 : g
|
|
826
826
|
});
|
|
827
827
|
} finally {
|
|
828
|
-
|
|
828
|
+
Y.value = !1;
|
|
829
829
|
}
|
|
830
830
|
}, ye = async (t) => {
|
|
831
831
|
var S, J;
|
|
832
832
|
const { loadAddCount: o } = W;
|
|
833
833
|
switch (t) {
|
|
834
834
|
case "history": {
|
|
835
|
-
|
|
835
|
+
m = !0;
|
|
836
836
|
const R = {
|
|
837
837
|
varietyCode: e.varietyCode,
|
|
838
838
|
cycle: e.cycle,
|
|
@@ -842,11 +842,11 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
842
842
|
endTime: a.value.time[0],
|
|
843
843
|
limit: o,
|
|
844
844
|
mainIndicatorList: e.indicatorStore.getIndicatorParams(e.mainIndicator),
|
|
845
|
-
subIndicator:
|
|
845
|
+
subIndicator: p.value,
|
|
846
846
|
deleteFirstNumber: e.deleteFirstNumber,
|
|
847
847
|
withoutPermission: e.withoutPermission
|
|
848
848
|
}, { body: Q } = await j.post("/middleLayer/kline/getKline", R);
|
|
849
|
-
a.value = me(Q, a.value), Q.data.length < o && (console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭"), T = !0),
|
|
849
|
+
a.value = me(Q, a.value), Q.data.length < o && (console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭"), T = !0), m = !1;
|
|
850
850
|
break;
|
|
851
851
|
}
|
|
852
852
|
case "new": {
|
|
@@ -864,7 +864,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
864
864
|
limit: o,
|
|
865
865
|
// 查询K线数量
|
|
866
866
|
mainIndicatorList: e.indicatorStore.getIndicatorParams(e.mainIndicator),
|
|
867
|
-
subIndicator:
|
|
867
|
+
subIndicator: p.value,
|
|
868
868
|
deleteFirstNumber: e.deleteFirstNumber,
|
|
869
869
|
withoutPermission: e.withoutPermission
|
|
870
870
|
}, { body: Q } = await j.post("/middleLayer/kline/getKline", R);
|
|
@@ -872,32 +872,32 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
872
872
|
break;
|
|
873
873
|
}
|
|
874
874
|
}
|
|
875
|
-
const { startValue:
|
|
875
|
+
const { startValue: c, endValue: O } = ((S = M.getOption()) == null ? void 0 : S.dataZoom[0]) ?? {}, A = (J = M.getOption()) == null ? void 0 : J.xAxis[0].data, g = a.value.time.findIndex((R) => new Date(R) >= new Date(A[c])), x = a.value.time.findIndex((R) => new Date(R) >= new Date(A[O]));
|
|
876
876
|
ne({
|
|
877
|
-
startValue:
|
|
878
|
-
endValue:
|
|
877
|
+
startValue: g === -1 ? 0 : g,
|
|
878
|
+
endValue: x === -1 ? a.value.time.length - 1 : x
|
|
879
879
|
});
|
|
880
880
|
}, de = () => {
|
|
881
|
-
var
|
|
881
|
+
var g;
|
|
882
882
|
if (!a.value.time.length)
|
|
883
883
|
return i.value = [];
|
|
884
|
-
const { time: t } = a.value, { startValue: o, endValue:
|
|
885
|
-
["6", "7", "8"].includes(e.cycle) ? i.value = [
|
|
884
|
+
const { time: t } = a.value, { startValue: o, endValue: c } = ((g = M.getOption()) == null ? void 0 : g.dataZoom[0]) ?? {}, O = t[o], A = t[c];
|
|
885
|
+
["6", "7", "8"].includes(e.cycle) ? i.value = [I(O).format("YYYY-MM-DD"), I(A).format("YYYY-MM-DD")] : i.value = [O, A];
|
|
886
886
|
}, ne = (t = { startValue: 0, endValue: 0 }) => {
|
|
887
887
|
ie();
|
|
888
|
-
const { maxValueSpan: o } = W, { time:
|
|
889
|
-
name:
|
|
888
|
+
const { maxValueSpan: o } = W, { time: c, data: O, mainIndicator: A } = a.value, g = t.endValue - t.startValue > o ? t.endValue - o : t.startValue, x = t.endValue, S = A.map((L) => ({
|
|
889
|
+
name: L.key,
|
|
890
890
|
type: "line",
|
|
891
891
|
silent: !0,
|
|
892
892
|
symbol: "none",
|
|
893
|
-
data:
|
|
893
|
+
data: L.data,
|
|
894
894
|
lineStyle: {
|
|
895
|
-
width:
|
|
895
|
+
width: L.width || 1
|
|
896
896
|
},
|
|
897
897
|
itemStyle: {
|
|
898
|
-
color:
|
|
898
|
+
color: L.color
|
|
899
899
|
}
|
|
900
|
-
})), { netPositionLineData: J } = We(e.netPositionData, e.cycle), { tradeIncomeRateLineData: R } = Je(e.tradeIncomeRateData, e.cycle, e.incomeType,
|
|
900
|
+
})), { netPositionLineData: J } = We(e.netPositionData, e.cycle), { tradeIncomeRateLineData: R } = Je(e.tradeIncomeRateData, e.cycle, e.incomeType, c), { tradePointData: Q, tradeLineData: oe } = $e(e.tradeLog, e.cycle, e.sellBuy, c, O);
|
|
901
901
|
M.setOption(
|
|
902
902
|
{
|
|
903
903
|
animation: !1,
|
|
@@ -910,8 +910,8 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
910
910
|
dataZoom: [
|
|
911
911
|
{
|
|
912
912
|
type: "inside",
|
|
913
|
-
startValue:
|
|
914
|
-
endValue:
|
|
913
|
+
startValue: g,
|
|
914
|
+
endValue: x,
|
|
915
915
|
minValueSpan: W.minValueSpan,
|
|
916
916
|
maxValueSpan: W.maxValueSpan
|
|
917
917
|
}
|
|
@@ -924,25 +924,25 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
924
924
|
type: "cross",
|
|
925
925
|
label: {
|
|
926
926
|
rich: {},
|
|
927
|
-
formatter: (
|
|
928
|
-
const { axisDimension:
|
|
929
|
-
return
|
|
927
|
+
formatter: (L) => {
|
|
928
|
+
const { axisDimension: C, value: b } = L;
|
|
929
|
+
return C === "x" ? ["6", "7", "8"].includes(e.cycle) ? I(b).format("YYYY-MM-DD") : b : String(u(b));
|
|
930
930
|
}
|
|
931
931
|
}
|
|
932
932
|
},
|
|
933
|
-
formatter: (
|
|
934
|
-
if (!(
|
|
933
|
+
formatter: (L) => {
|
|
934
|
+
if (!(L != null && L.length))
|
|
935
935
|
return null;
|
|
936
|
-
let
|
|
937
|
-
if (
|
|
938
|
-
if (k.seriesName === "netPosition" && k.data !== null && (
|
|
936
|
+
let C = "";
|
|
937
|
+
if (L.forEach((k) => {
|
|
938
|
+
if (k.seriesName === "netPosition" && k.data !== null && (C += `<div>资产持仓净值: ${k.data[1]}</div>`), k.componentSubType === "candlestick")
|
|
939
939
|
if (e.sellBuy === 0) {
|
|
940
940
|
const K = Q.filter((V) => (V == null ? void 0 : V.coord[0]) === k.axisValue);
|
|
941
941
|
let G = 0, B = 0;
|
|
942
942
|
K.forEach((V) => {
|
|
943
943
|
const { tradeType: q, amount: re } = V.customData;
|
|
944
944
|
q === "买" && (G += re), q === "卖" && (B += re);
|
|
945
|
-
}), G && (
|
|
945
|
+
}), G && (C += `<div>买: ${G}</div>`), B && (C += `<div>卖: ${B}</div>`);
|
|
946
946
|
} else
|
|
947
947
|
Q.forEach((K) => {
|
|
948
948
|
if ((K == null ? void 0 : K.coord[0]) === k.axisValue) {
|
|
@@ -952,16 +952,16 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
952
952
|
const ge = (q / B).toFixed(2), Ie = (re / B).toFixed(2);
|
|
953
953
|
X += `<div>平仓价: ${Ie}</div>`, X += `<div>盈亏: ${V == null ? void 0 : V.toFixed(2)}</div>`, X += `<div>盈亏比率: ${((Ie - ge) / ge * 100).toFixed(2)} %</div>`;
|
|
954
954
|
}
|
|
955
|
-
|
|
955
|
+
C += X;
|
|
956
956
|
}
|
|
957
957
|
});
|
|
958
|
-
}), !
|
|
958
|
+
}), !C)
|
|
959
959
|
return null;
|
|
960
|
-
let b =
|
|
961
|
-
return ["6", "7", "8"].includes(e.cycle) && (b =
|
|
960
|
+
let b = L[0].axisValue;
|
|
961
|
+
return ["6", "7", "8"].includes(e.cycle) && (b = I(b).format("YYYY-MM-DD")), `
|
|
962
962
|
<div>
|
|
963
963
|
<span style="font-weight: bold;">${b}</span>
|
|
964
|
-
${
|
|
964
|
+
${C}
|
|
965
965
|
</div>
|
|
966
966
|
`;
|
|
967
967
|
}
|
|
@@ -969,12 +969,12 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
969
969
|
xAxis: {
|
|
970
970
|
show: !0,
|
|
971
971
|
type: "category",
|
|
972
|
-
data:
|
|
972
|
+
data: c,
|
|
973
973
|
splitLine: {
|
|
974
974
|
show: !1
|
|
975
975
|
},
|
|
976
976
|
axisLabel: {
|
|
977
|
-
formatter: (
|
|
977
|
+
formatter: (L) => ["6", "7", "8"].includes(e.cycle) ? I(L).format("YYYY-MM-DD") : L
|
|
978
978
|
}
|
|
979
979
|
},
|
|
980
980
|
yAxis: [
|
|
@@ -990,23 +990,23 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
990
990
|
color: "#333"
|
|
991
991
|
}
|
|
992
992
|
},
|
|
993
|
-
min: (
|
|
994
|
-
const { min:
|
|
995
|
-
return u(
|
|
993
|
+
min: (L) => {
|
|
994
|
+
const { min: C, max: b } = L, k = Math.abs((b - C) / 10);
|
|
995
|
+
return u(C - k);
|
|
996
996
|
},
|
|
997
|
-
max: (
|
|
998
|
-
const { min:
|
|
997
|
+
max: (L) => {
|
|
998
|
+
const { min: C, max: b } = L, k = Math.abs((b - C) / 10);
|
|
999
999
|
return u(b + k);
|
|
1000
1000
|
}
|
|
1001
1001
|
},
|
|
1002
1002
|
{
|
|
1003
1003
|
show: !1,
|
|
1004
|
-
min: (
|
|
1005
|
-
const { min:
|
|
1006
|
-
return
|
|
1004
|
+
min: (L) => {
|
|
1005
|
+
const { min: C, max: b } = L, k = Math.abs((b - C) / 10);
|
|
1006
|
+
return C - k;
|
|
1007
1007
|
},
|
|
1008
|
-
max: (
|
|
1009
|
-
const { min:
|
|
1008
|
+
max: (L) => {
|
|
1009
|
+
const { min: C, max: b } = L, k = Math.abs((b - C) / 10);
|
|
1010
1010
|
return b + k;
|
|
1011
1011
|
}
|
|
1012
1012
|
}
|
|
@@ -1016,7 +1016,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
1016
1016
|
{
|
|
1017
1017
|
type: "candlestick",
|
|
1018
1018
|
name: "kLine",
|
|
1019
|
-
data:
|
|
1019
|
+
data: O,
|
|
1020
1020
|
markPoint: { data: [...Q] },
|
|
1021
1021
|
markLine: { data: [...oe] },
|
|
1022
1022
|
itemStyle: {
|
|
@@ -1077,12 +1077,12 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
1077
1077
|
}
|
|
1078
1078
|
},
|
|
1079
1079
|
!0
|
|
1080
|
-
), e.userKlineConfig.enable_subChart &&
|
|
1080
|
+
), e.userKlineConfig.enable_subChart && l.setOption(Ge(a.value, g, x), !0), de(), De(), D.value = x;
|
|
1081
1081
|
{
|
|
1082
|
-
const
|
|
1082
|
+
const L = [];
|
|
1083
1083
|
if (e.userKlineConfig.enable_tradeLogBrush && Q.length) {
|
|
1084
|
-
const [
|
|
1085
|
-
|
|
1084
|
+
const [C, b] = [Q[0].coord[0], Q.at(-1).coord[0]], k = le(c, [C, b], e.cycle);
|
|
1085
|
+
L.push({
|
|
1086
1086
|
brushId: "开平仓范围",
|
|
1087
1087
|
brushType: "lineX",
|
|
1088
1088
|
xAxisIndex: 0,
|
|
@@ -1090,8 +1090,8 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
1090
1090
|
});
|
|
1091
1091
|
}
|
|
1092
1092
|
if (e.syncBrushRange.cycleList.includes(e.cycle)) {
|
|
1093
|
-
const { startTime:
|
|
1094
|
-
|
|
1093
|
+
const { startTime: C, endTime: b } = e.syncBrushRange, k = le(c, [C, b], e.cycle);
|
|
1094
|
+
L.push({
|
|
1095
1095
|
brushId: "同步刷选范围",
|
|
1096
1096
|
brushType: "lineX",
|
|
1097
1097
|
xAxisIndex: 0,
|
|
@@ -1104,8 +1104,8 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
1104
1104
|
});
|
|
1105
1105
|
}
|
|
1106
1106
|
if (e.positionTime) {
|
|
1107
|
-
const [
|
|
1108
|
-
|
|
1107
|
+
const [C, b] = [I(e.positionTime).format("YYYY-MM-DD 00:00:00"), I(e.positionTime).format("YYYY-MM-DD 23:59:59")], k = le(c, [C, b], e.cycle);
|
|
1108
|
+
L.push({
|
|
1109
1109
|
brushId: "强制定位高亮",
|
|
1110
1110
|
brushType: "lineX",
|
|
1111
1111
|
xAxisIndex: 0,
|
|
@@ -1119,29 +1119,29 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
1119
1119
|
}
|
|
1120
1120
|
M.dispatchAction({
|
|
1121
1121
|
type: "brush",
|
|
1122
|
-
areas:
|
|
1122
|
+
areas: L
|
|
1123
1123
|
});
|
|
1124
1124
|
}
|
|
1125
1125
|
}, De = () => {
|
|
1126
|
-
var oe
|
|
1126
|
+
var oe;
|
|
1127
1127
|
if (!e.userKlineConfig.enable_showScreenMaxPrice || !a.value.time.length)
|
|
1128
1128
|
return;
|
|
1129
|
-
const { data: t } = a.value, { startValue:
|
|
1130
|
-
let
|
|
1131
|
-
for (let
|
|
1132
|
-
Number(t[
|
|
1133
|
-
const
|
|
1134
|
-
let R = "right", Q = `←${
|
|
1135
|
-
J > 0.7 ? (R = "left", Q = `${u(
|
|
1129
|
+
const { data: t } = a.value, o = M.getOption(), { startValue: c, endValue: O } = (o == null ? void 0 : o.dataZoom[0]) ?? {};
|
|
1130
|
+
let A = 0, g = c;
|
|
1131
|
+
for (let L = c; L <= O; L++)
|
|
1132
|
+
Number(t[L][3]) >= A && (A = Number(t[L][3]), g = L);
|
|
1133
|
+
const x = ((oe = o.series) == null ? void 0 : oe.filter((L) => L.name !== "maxPrice")) || [], S = O - c, J = (g - c) / S;
|
|
1134
|
+
let R = "right", Q = `←${A}`;
|
|
1135
|
+
J > 0.7 ? (R = "left", Q = `${u(A)}→`) : (R = "right", Q = `←${u(A)}`), M == null || M.setOption(
|
|
1136
1136
|
{
|
|
1137
|
-
...Y,
|
|
1138
1137
|
series: [
|
|
1139
|
-
...
|
|
1138
|
+
...x,
|
|
1140
1139
|
{
|
|
1141
1140
|
type: "line",
|
|
1142
1141
|
name: "maxPrice",
|
|
1142
|
+
data: [],
|
|
1143
|
+
lineStyle: { opacity: 0 },
|
|
1143
1144
|
markPoint: {
|
|
1144
|
-
// 点位原本样式通过透明去进行隐藏, 从而仅展示文案
|
|
1145
1145
|
symbol: "circle",
|
|
1146
1146
|
symbolSize: 1,
|
|
1147
1147
|
itemStyle: {
|
|
@@ -1149,9 +1149,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
1149
1149
|
borderColor: "transparent"
|
|
1150
1150
|
},
|
|
1151
1151
|
z: 100,
|
|
1152
|
-
// 设置较高的 z 值,确保在最上层
|
|
1153
1152
|
zlevel: 10,
|
|
1154
|
-
// 设置较高的 zlevel
|
|
1155
1153
|
label: {
|
|
1156
1154
|
show: !0,
|
|
1157
1155
|
position: R,
|
|
@@ -1163,61 +1161,66 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
1163
1161
|
data: [
|
|
1164
1162
|
{
|
|
1165
1163
|
name: "最高点",
|
|
1166
|
-
coord: [
|
|
1164
|
+
coord: [g, A]
|
|
1167
1165
|
}
|
|
1168
1166
|
]
|
|
1169
1167
|
}
|
|
1170
1168
|
}
|
|
1171
1169
|
]
|
|
1172
1170
|
},
|
|
1173
|
-
|
|
1171
|
+
{
|
|
1172
|
+
notMerge: !1,
|
|
1173
|
+
// 合并模式
|
|
1174
|
+
replaceMerge: []
|
|
1175
|
+
// 不替换任何配置
|
|
1176
|
+
}
|
|
1174
1177
|
);
|
|
1175
1178
|
}, he = (t) => {
|
|
1176
|
-
const [o,
|
|
1179
|
+
const [o, c] = Le({
|
|
1177
1180
|
startTime: t.startTime,
|
|
1178
1181
|
endTime: t.endTime,
|
|
1179
1182
|
cycle: e.cycle
|
|
1180
1183
|
});
|
|
1181
|
-
Z({ startTime: o, endTime:
|
|
1184
|
+
Z({ startTime: o, endTime: c });
|
|
1182
1185
|
}, Te = ({ code: t, ctrlKey: o }) => {
|
|
1183
1186
|
if (!(o || z.value))
|
|
1184
1187
|
return;
|
|
1185
|
-
const { xAxis:
|
|
1186
|
-
let { startValue:
|
|
1187
|
-
if (
|
|
1188
|
+
const { xAxis: c, dataZoom: O } = M.getOption(), { data: A } = (c == null ? void 0 : c[0]) ?? { data: [] };
|
|
1189
|
+
let { startValue: g, endValue: x } = (O == null ? void 0 : O[0]) ?? {};
|
|
1190
|
+
if (A != null && A.length) {
|
|
1188
1191
|
switch (t) {
|
|
1189
1192
|
case "ArrowUp": {
|
|
1190
|
-
if (
|
|
1193
|
+
if (x - g < 5)
|
|
1191
1194
|
return;
|
|
1192
|
-
const S = Math.floor((
|
|
1193
|
-
|
|
1195
|
+
const S = Math.floor((x - g) / 2) + 1;
|
|
1196
|
+
g = g + S, x - g < 5 && (g = x - 4);
|
|
1194
1197
|
break;
|
|
1195
1198
|
}
|
|
1196
1199
|
case "ArrowDown": {
|
|
1197
|
-
const S = Math.min(500,
|
|
1198
|
-
|
|
1200
|
+
const S = Math.min(500, x - g);
|
|
1201
|
+
g = g - S - 1;
|
|
1199
1202
|
break;
|
|
1200
1203
|
}
|
|
1201
1204
|
case "ArrowLeft": {
|
|
1202
|
-
|
|
1205
|
+
g > 0 && (g -= 1, x -= 1), D.value > 0 && (D.value -= 1);
|
|
1203
1206
|
break;
|
|
1204
1207
|
}
|
|
1205
1208
|
case "ArrowRight": {
|
|
1206
|
-
|
|
1209
|
+
x < A.length - 1 && (g += 1, x += 1), z.value && D.value < A.length - 1 && (D.value += 1);
|
|
1207
1210
|
break;
|
|
1208
1211
|
}
|
|
1209
1212
|
}
|
|
1210
1213
|
M.dispatchAction({
|
|
1211
1214
|
type: "dataZoom",
|
|
1212
|
-
startValue:
|
|
1213
|
-
endValue:
|
|
1215
|
+
startValue: g,
|
|
1216
|
+
endValue: x
|
|
1214
1217
|
}), M.dispatchAction({
|
|
1215
1218
|
type: "updateAxisPointer",
|
|
1216
1219
|
seriesIndex: 0,
|
|
1217
1220
|
dataIndex: z.value ? D.value : null
|
|
1218
1221
|
}), M.dispatchAction({
|
|
1219
1222
|
type: "highlight",
|
|
1220
|
-
dataIndex: z.value ? D.value :
|
|
1223
|
+
dataIndex: z.value ? D.value : x
|
|
1221
1224
|
});
|
|
1222
1225
|
}
|
|
1223
1226
|
};
|
|
@@ -1234,51 +1237,51 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
1234
1237
|
), te(
|
|
1235
1238
|
() => [e.cycle],
|
|
1236
1239
|
() => {
|
|
1237
|
-
var
|
|
1238
|
-
const { startValue: t, endValue: o } = ((
|
|
1240
|
+
var A;
|
|
1241
|
+
const { startValue: t, endValue: o } = ((A = M.getOption()) == null ? void 0 : A.dataZoom[0]) ?? {}, [c, O] = Le({
|
|
1239
1242
|
startTime: a.value.time[t],
|
|
1240
1243
|
endTime: a.value.time[o],
|
|
1241
1244
|
cycle: e.cycle,
|
|
1242
1245
|
type: "middle"
|
|
1243
1246
|
});
|
|
1244
|
-
Z({ startTime:
|
|
1247
|
+
Z({ startTime: c, endTime: O });
|
|
1245
1248
|
},
|
|
1246
1249
|
{ deep: !0 }
|
|
1247
1250
|
), te(
|
|
1248
1251
|
() => {
|
|
1249
1252
|
var t, o;
|
|
1250
|
-
return [e.mainIndicator,
|
|
1253
|
+
return [e.mainIndicator, p.value, (t = e.indicatorStore) == null ? void 0 : t.filterIndicator, (o = e.indicatorStore) == null ? void 0 : o.customIndicator, e.rightType, e.klineType];
|
|
1251
1254
|
},
|
|
1252
1255
|
() => {
|
|
1253
|
-
var
|
|
1254
|
-
const { startValue: t, endValue: o } = ((
|
|
1255
|
-
Z({ startTime:
|
|
1256
|
+
var A;
|
|
1257
|
+
const { startValue: t, endValue: o } = ((A = M.getOption()) == null ? void 0 : A.dataZoom[0]) ?? {}, [c, O] = [a.value.time[t], a.value.time[o]];
|
|
1258
|
+
Z({ startTime: c, endTime: O });
|
|
1256
1259
|
},
|
|
1257
1260
|
{ deep: !0 }
|
|
1258
1261
|
), te(
|
|
1259
1262
|
() => [e.sellBuy, e.tradeLog, e.netPositionData, e.incomeType, e.tradeIncomeRateData],
|
|
1260
1263
|
() => {
|
|
1261
|
-
var
|
|
1262
|
-
const { startValue: t, endValue: o } = ((
|
|
1264
|
+
var c;
|
|
1265
|
+
const { startValue: t, endValue: o } = ((c = M.getOption()) == null ? void 0 : c.dataZoom[0]) ?? {};
|
|
1263
1266
|
ne({ startValue: t, endValue: o });
|
|
1264
1267
|
},
|
|
1265
1268
|
{ deep: !0 }
|
|
1266
1269
|
), fe(() => {
|
|
1267
|
-
M.off("highlight"), M.off("globalout"), M.off("datazoom"), M.getZr().off("contextmenu"), window.removeEventListener("keydown", Te), M.dispose(),
|
|
1270
|
+
M.off("highlight"), M.off("globalout"), M.off("datazoom"), M.getZr().off("contextmenu"), window.removeEventListener("keydown", Te), M.dispose(), l == null || l.dispose(), N.dispose(), N = null;
|
|
1268
1271
|
}), y({
|
|
1269
1272
|
screenTimeRange: i,
|
|
1270
1273
|
contextmenuKlineTime: s,
|
|
1271
1274
|
reDraw: () => {
|
|
1272
|
-
var
|
|
1273
|
-
const { startValue: t, endValue: o } = ((
|
|
1275
|
+
var c;
|
|
1276
|
+
const { startValue: t, endValue: o } = ((c = M.getOption()) == null ? void 0 : c.dataZoom[0]) ?? {};
|
|
1274
1277
|
ne({ startValue: t, endValue: o });
|
|
1275
1278
|
}
|
|
1276
1279
|
}), (t, o) => {
|
|
1277
|
-
const
|
|
1280
|
+
const c = ve, O = Ee, A = ke, g = be;
|
|
1278
1281
|
return Pe((U(), H("div", {
|
|
1279
1282
|
class: "kline-plus",
|
|
1280
|
-
onMousemove: o[1] || (o[1] = (
|
|
1281
|
-
onMouseout: o[2] || (o[2] = (
|
|
1283
|
+
onMousemove: o[1] || (o[1] = (x) => z.value = !0),
|
|
1284
|
+
onMouseout: o[2] || (o[2] = (x) => z.value = !1)
|
|
1282
1285
|
}, [
|
|
1283
1286
|
$("div", tt, [
|
|
1284
1287
|
$("div", Mt, [
|
|
@@ -1295,20 +1298,20 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
1295
1298
|
n.userKlineConfig.enable_subChart ? (U(), H("div", it, [
|
|
1296
1299
|
$("div", nt, [
|
|
1297
1300
|
$("div", ot, [
|
|
1298
|
-
$("span", null, Me(
|
|
1299
|
-
ee(
|
|
1300
|
-
modelValue:
|
|
1301
|
-
"onUpdate:modelValue": o[0] || (o[0] = (
|
|
1301
|
+
$("span", null, Me(p.value), 1),
|
|
1302
|
+
ee(O, {
|
|
1303
|
+
modelValue: p.value,
|
|
1304
|
+
"onUpdate:modelValue": o[0] || (o[0] = (x) => p.value = x),
|
|
1302
1305
|
style: { width: "100px", "margin-right": "4px", height: "25px" },
|
|
1303
1306
|
size: "small",
|
|
1304
1307
|
class: "element-dark",
|
|
1305
1308
|
"popper-class": "element-dark"
|
|
1306
1309
|
}, {
|
|
1307
1310
|
default: Re(() => [
|
|
1308
|
-
(U(!0), H(Ae, null, we(n.indicatorStore.subIndicatorList, (
|
|
1311
|
+
(U(!0), H(Ae, null, we(n.indicatorStore.subIndicatorList, (x, S) => (U(), Ye(c, {
|
|
1309
1312
|
key: S,
|
|
1310
|
-
label:
|
|
1311
|
-
value:
|
|
1313
|
+
label: x.label,
|
|
1314
|
+
value: x.value
|
|
1312
1315
|
}, null, 8, ["label", "value"]))), 128))
|
|
1313
1316
|
]),
|
|
1314
1317
|
_: 1
|
|
@@ -1325,7 +1328,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
1325
1328
|
n.userKlineConfig.enable_sliderChart ? (U(), H("div", rt, [
|
|
1326
1329
|
ee(et, {
|
|
1327
1330
|
ref_key: "sliderChartRef",
|
|
1328
|
-
ref:
|
|
1331
|
+
ref: w,
|
|
1329
1332
|
screenTimeRange: i.value,
|
|
1330
1333
|
varietyCode: n.varietyCode,
|
|
1331
1334
|
varietyStock: n.varietyStock,
|
|
@@ -1336,17 +1339,17 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
|
|
|
1336
1339
|
onChange: he
|
|
1337
1340
|
}, null, 8, ["screenTimeRange", "varietyCode", "varietyStock", "rightType", "klineType", "deleteFirstNumber", "withoutPermission"])
|
|
1338
1341
|
])) : se("", !0),
|
|
1339
|
-
a.value.time.length ? se("", !0) : (U(), Ye(
|
|
1342
|
+
a.value.time.length ? se("", !0) : (U(), Ye(A, {
|
|
1340
1343
|
key: 2,
|
|
1341
1344
|
class: "empty",
|
|
1342
1345
|
description: "暂无数据"
|
|
1343
1346
|
}))
|
|
1344
1347
|
], 32)), [
|
|
1345
|
-
[
|
|
1348
|
+
[g, Y.value]
|
|
1346
1349
|
]);
|
|
1347
1350
|
};
|
|
1348
1351
|
}
|
|
1349
|
-
}, Nt = /* @__PURE__ */ ze(st, [["__scopeId", "data-v-
|
|
1352
|
+
}, Nt = /* @__PURE__ */ ze(st, [["__scopeId", "data-v-402d6033"]]), vt = {
|
|
1350
1353
|
install(n) {
|
|
1351
1354
|
n.component("st-klinePlus", Nt);
|
|
1352
1355
|
}
|