costy-plus 1.1.30-0 → 1.1.32-0
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.
|
@@ -15,7 +15,7 @@ import Z from "../../node_modules/.pnpm/vue-class-component@7.2.6_vue@2.6.14/nod
|
|
|
15
15
|
import "../../node_modules/.pnpm/vue-property-decorator@9.1.2_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Emit.js";
|
|
16
16
|
import { Prop as w } from "../../node_modules/.pnpm/vue-property-decorator@9.1.2_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Prop.js";
|
|
17
17
|
import { flattenDeep as J, max as ee, min as te } from "lodash";
|
|
18
|
-
import { throttling as X, getStepForSpeed as M, getPrintLengthToPx as ie, getSens as F, getDataLenTimes as k, getPointIdxForPx as
|
|
18
|
+
import { throttling as X, getStepForSpeed as M, getPrintLengthToPx as ie, getSens as F, getDataLenTimes as k, getPointIdxForPx as L, getActualY as A, calcMs as se, calcBpm as ae } from "@costy-plus/utils";
|
|
19
19
|
import * as oe from "zrender";
|
|
20
20
|
import { Group as W, Polyline as z, Line as $, Text as y, util as ne } from "zrender";
|
|
21
21
|
var le = Object.defineProperty, de = Object.getOwnPropertyDescriptor, c = (e, t, i, s) => {
|
|
@@ -304,8 +304,8 @@ let u = class extends U {
|
|
|
304
304
|
), g = k(
|
|
305
305
|
Math.ceil(this.splitPoint / (f || 1)) || 0,
|
|
306
306
|
this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate || 0
|
|
307
|
-
),
|
|
308
|
-
this.splitPoint =
|
|
307
|
+
), m = parseInt(`${g / 1e3 % 60}`, 10);
|
|
308
|
+
this.splitPoint = m * (this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate || 0) * (f || 0);
|
|
309
309
|
}
|
|
310
310
|
let t = 0, i = 0, s = 0, a = 0;
|
|
311
311
|
for (let f = 1; f <= this.leadModel.column - 1; f++) {
|
|
@@ -381,9 +381,9 @@ let u = class extends U {
|
|
|
381
381
|
let i = this.leadHeadConfig.leadHedeWidth, s = 0, a = t;
|
|
382
382
|
const o = M(this.rulerConfig.speed, this.gridConfig.cellMg, this.rulerConfig.sampleRate);
|
|
383
383
|
if (this.leadModel.isContinuous)
|
|
384
|
-
a = t *
|
|
384
|
+
a = t * 1.1;
|
|
385
385
|
else if (!this.leadModel.add && o) {
|
|
386
|
-
const d =
|
|
386
|
+
const d = L(this.splitPoint * (this.leadModel.column || 1), o), f = k(d, this.rulerConfig.sampleRate || 0) / 1e3;
|
|
387
387
|
a = e + f;
|
|
388
388
|
}
|
|
389
389
|
for (let d = e; d <= a; d = +(d + 0.1).toFixed(1))
|
|
@@ -434,7 +434,7 @@ let u = class extends U {
|
|
|
434
434
|
endInd: a,
|
|
435
435
|
step: o,
|
|
436
436
|
sens: n,
|
|
437
|
-
data: i.slice(s, a).map((g,
|
|
437
|
+
data: i.slice(s, a).map((g, m) => this.waveConfigs[this.singleModeConfig.defaultSelect].gainName === "\u80F8\u5BFC\u51CF\u534A" && /^V\w+/.test(this.waveConfigs[this.singleModeConfig.defaultSelect].leadName) ? A(this.waveConfigs[this.singleModeConfig.defaultSelect].sensitivity, g, n / 2) : A(this.waveConfigs[this.singleModeConfig.defaultSelect].sensitivity, g, n)).map((g, m) => [m * (o || 0), -g])
|
|
438
438
|
});
|
|
439
439
|
}
|
|
440
440
|
return h;
|
|
@@ -451,7 +451,7 @@ let u = class extends U {
|
|
|
451
451
|
name: this.singleModeConfig.defaultSelect + "_" + d,
|
|
452
452
|
sens: e[d].sens,
|
|
453
453
|
shape: {
|
|
454
|
-
points: e[d].data.map(([f, g],
|
|
454
|
+
points: e[d].data.map(([f, g], m) => isNaN(g) ? (o === 0 && (o = m - 1, o = o < 0 ? 0 : o), [
|
|
455
455
|
e[d].data[o][0] + e[d].pos[0],
|
|
456
456
|
e[d].data[o][1] + e[d].pos[1]
|
|
457
457
|
]) : (o = 0, [
|
|
@@ -488,86 +488,86 @@ let u = class extends U {
|
|
|
488
488
|
this.singleWaveDataCopy = e, e = null;
|
|
489
489
|
}
|
|
490
490
|
drawLoopArrow(e = 0) {
|
|
491
|
-
var b, D, P, G, B, N, I,
|
|
491
|
+
var m, b, D, P, G, B, N, I, C, p, v, O, T;
|
|
492
492
|
if (this.drawLoopArrowStartPosIdx = e, console.log("this.heartFight", this.heartFight), !this.heartFight.isShow)
|
|
493
493
|
return;
|
|
494
|
-
this.heartFight.mode && this.currentHeardBeat.heardBeat === null && (this.currentHeardBeat.heardBeat = this.heartBeatPosition[this.heartFight.showIdxPai][this.heartFight.defaultSelect] || null, this.drawHeardBeatLine());
|
|
494
|
+
(m = this.arrowGroup) == null || m.removeAll(), this.heartFight.mode && this.currentHeardBeat.heardBeat === null && (this.currentHeardBeat.heardBeat = this.heartBeatPosition[this.heartFight.showIdxPai][this.heartFight.defaultSelect] || null, this.drawHeardBeatLine());
|
|
495
495
|
let t = 0, i = 0, s = 0;
|
|
496
496
|
if (this.leadModel.add) {
|
|
497
497
|
const H = F(this.waveConfigs[this.longLeadConfig.leadIdxs[0]].gain, this.gridConfig.cellMg);
|
|
498
498
|
s = this.loopArrowY.add - (H || 0) - this.splitBlockHeight / 3.5;
|
|
499
499
|
} else
|
|
500
500
|
this.leadModel.column === 1 ? s = 0 : s = 20;
|
|
501
|
-
let a = 0, o = 0
|
|
502
|
-
const
|
|
501
|
+
let a = 0, o = 0;
|
|
502
|
+
const n = {
|
|
503
503
|
fontSize: 12,
|
|
504
504
|
fill: "#FF0000",
|
|
505
505
|
fontFamily: this.fontFamily
|
|
506
506
|
};
|
|
507
|
-
let
|
|
508
|
-
const
|
|
507
|
+
let h = 0, l = 0;
|
|
508
|
+
const d = M(
|
|
509
509
|
this.waveConfigs[this.heartFight.showIdxPai].speed,
|
|
510
510
|
this.gridConfig.cellMg,
|
|
511
511
|
this.waveConfigs[this.heartFight.showIdxPai].sampleRate
|
|
512
512
|
);
|
|
513
|
-
let
|
|
513
|
+
let f = 0, g = 0;
|
|
514
514
|
for (let H = 0; H < (this.heartBeatPosition[this.heartFight.showIdxPai] || []).length; H++) {
|
|
515
515
|
const r = this.heartBeatPosition[this.heartFight.showIdxPai][H];
|
|
516
|
-
if (
|
|
516
|
+
if (f = ((r == null ? void 0 : r.position) || 0) - e, e > ((r == null ? void 0 : r.position) || 0) || !this.leadModel.isContinuous && !this.leadModel.add && f > (this.slidingWindowInfo.points || 0) || this.leadModel.isSingleMode && f > (this.slidingWindowInfo.points || 0))
|
|
517
517
|
continue;
|
|
518
518
|
if (((r == null ? void 0 : r.position) || 0) - this.addSlidingWindowInfo.startInd > (this.addSlidingWindowInfo.points || 0))
|
|
519
519
|
break;
|
|
520
|
-
a = ((b = this.AssistCtx) == null ? void 0 : b.measureText(`${(r == null ? void 0 : r.heart_style) || ""}`).width) || 0, t =
|
|
520
|
+
a = ((b = this.AssistCtx) == null ? void 0 : b.measureText(`${(r == null ? void 0 : r.heart_style) || ""}`).width) || 0, t = f * (d || 0) + this.leadHeadConfig.leadHedeWidth - 0, o = 0, (D = this.arrowGroup) == null || D.add(new y({
|
|
521
521
|
name: "arrow_box",
|
|
522
522
|
cursor: "",
|
|
523
523
|
style: R(S({
|
|
524
524
|
x: t,
|
|
525
525
|
y: s + 10,
|
|
526
526
|
text: `${(r == null ? void 0 : r.heart_style) || ""}`
|
|
527
|
-
},
|
|
527
|
+
}, n), {
|
|
528
528
|
fill: "#333"
|
|
529
529
|
}),
|
|
530
530
|
onclick: (_) => {
|
|
531
531
|
!this.heartFight.mode && !this.heartFight.isClickArrow || this.arrowLoopClick(r, _.target);
|
|
532
532
|
}
|
|
533
533
|
}));
|
|
534
|
-
const
|
|
535
|
-
if (!!
|
|
536
|
-
if (((
|
|
534
|
+
const x = this.heartBeatPosition[this.heartFight.showIdxPai][H + 1] || null;
|
|
535
|
+
if (!!x && (g = ((x == null ? void 0 : x.position) || 0) - e, !(!this.leadModel.isContinuous && !this.leadModel.add && g > (this.slidingWindowInfo.points || 0)) && !(this.leadModel.isSingleMode && g > (this.slidingWindowInfo.points || 0)))) {
|
|
536
|
+
if (((x == null ? void 0 : x.position) || 0) - this.addSlidingWindowInfo.startInd > (this.addSlidingWindowInfo.points || 0))
|
|
537
537
|
break;
|
|
538
|
-
|
|
539
|
-
Math.abs((r == null ? void 0 : r.position) * (
|
|
538
|
+
(P = this.AssistCtx) != null && P.measureText(`${(r == null ? void 0 : r.heart_style) || ""}`).width, i = g * (d || 0) + this.leadHeadConfig.leadHedeWidth - 0, this.heartFight.heartrate && (h = r == null ? void 0 : r.heartrate, this.heartFight.isHeartRateCalculatedBasedOnInterval && H !== 0 && (l = se(
|
|
539
|
+
Math.abs((r == null ? void 0 : r.position) * (d || 0) - this.heartBeatPosition[this.heartFight.showIdxPai][H - 1].position * (d || 0)),
|
|
540
540
|
this.waveConfigs[this.heartFight.showIdxPai].speed,
|
|
541
541
|
this.gridConfig.cellMg,
|
|
542
542
|
1
|
|
543
|
-
),
|
|
543
|
+
), h = l !== 0 && ae(l) || 0), a = ((G = this.AssistCtx) == null ? void 0 : G.measureText(`${h || ""}`).width) || 0, (B = this.arrowGroup) == null || B.add(new y({
|
|
544
544
|
cursor: "",
|
|
545
545
|
style: S({
|
|
546
546
|
x: (i - t) / 2 - a / 2 + t,
|
|
547
|
-
y:
|
|
548
|
-
text: `${
|
|
549
|
-
},
|
|
550
|
-
})),
|
|
547
|
+
y: o + s + 5,
|
|
548
|
+
text: `${h || ""}`
|
|
549
|
+
}, n)
|
|
550
|
+
})), o += 12), this.heartFight.interval && (a = ((N = this.AssistCtx) == null ? void 0 : N.measureText(`${(r == null ? void 0 : r.interval) || ""}`).width) || 0, (I = this.arrowGroup) == null || I.add(new y({
|
|
551
551
|
cursor: "",
|
|
552
552
|
style: S({
|
|
553
553
|
x: (i - t) / 2 - a / 2 + t,
|
|
554
|
-
y:
|
|
554
|
+
y: o + s + 5,
|
|
555
555
|
text: `${(r == null ? void 0 : r.interval) || ""}`
|
|
556
|
-
},
|
|
557
|
-
})),
|
|
556
|
+
}, n)
|
|
557
|
+
})), o += 12), this.heartFight.qrstCompany && (a = ((C = this.AssistCtx) == null ? void 0 : C.measureText(`${(r == null ? void 0 : r.qrstCompany) || ""}`).width) || 0, (p = this.arrowGroup) == null || p.add(new y({
|
|
558
558
|
cursor: "",
|
|
559
559
|
style: S({
|
|
560
560
|
x: (i - t) / 2 - a / 2 + t,
|
|
561
|
-
y:
|
|
561
|
+
y: o + s + 5,
|
|
562
562
|
text: `${(r == null ? void 0 : r.qrstCompany) || ""}`
|
|
563
|
-
},
|
|
564
|
-
})),
|
|
563
|
+
}, n)
|
|
564
|
+
})), o += 12), this.heartFight.telectricalaxis && (a = ((v = this.AssistCtx) == null ? void 0 : v.measureText(`${(r == null ? void 0 : r.telectricalaxis) || ""}`).width) || 0, (O = this.arrowGroup) == null || O.add(new y({
|
|
565
565
|
cursor: "",
|
|
566
566
|
style: S({
|
|
567
567
|
x: (i - t) / 2 - a / 2 + t,
|
|
568
|
-
y:
|
|
568
|
+
y: o + s + 5,
|
|
569
569
|
text: `${(r == null ? void 0 : r.telectricalaxis) || ""}`
|
|
570
|
-
},
|
|
570
|
+
}, n)
|
|
571
571
|
})));
|
|
572
572
|
}
|
|
573
573
|
}
|
|
@@ -577,7 +577,7 @@ let u = class extends U {
|
|
|
577
577
|
this.$emit("notifyHeardBeat", ne.clone(e)), this.currentHeardBeat.heardBeat = e, this.currentHeardBeat.ele = t, this.drawHeardBeatLine();
|
|
578
578
|
}
|
|
579
579
|
drawHeardBeatLine(e = 0) {
|
|
580
|
-
var a, o, n, h, l, d, f, g,
|
|
580
|
+
var a, o, n, h, l, d, f, g, m, b, D, P, G, B, N;
|
|
581
581
|
if (!this.currentHeardBeat.heardBeat)
|
|
582
582
|
return;
|
|
583
583
|
(a = this.heardBeatLineGroup) == null || a.removeAll(), (o = this.sceneIns) == null || o.remove(this.heardBeatLineGroup);
|
|
@@ -585,8 +585,8 @@ let u = class extends U {
|
|
|
585
585
|
if (this.leadModel.isSingleMode) {
|
|
586
586
|
let I = this.getRednerSinglePoints();
|
|
587
587
|
e:
|
|
588
|
-
for (let
|
|
589
|
-
if (
|
|
588
|
+
for (let C = 0; C < I.length; C++) {
|
|
589
|
+
if (C >= 1 || this.leadNames[this.singleModeConfig.defaultSelect] === "M")
|
|
590
590
|
break e;
|
|
591
591
|
if ((n = this.analyseValues[this.singleModeConfig.defaultSelect]) != null && n[this.currentHeardBeat.heardBeat.index])
|
|
592
592
|
t = ((d = (l = this.analyseValues[this.singleModeConfig.defaultSelect]) == null ? void 0 : l[this.currentHeardBeat.heardBeat.index]) == null ? void 0 : d.KeyPosByBeat) || t;
|
|
@@ -601,19 +601,19 @@ let u = class extends U {
|
|
|
601
601
|
}
|
|
602
602
|
for (const p in t)
|
|
603
603
|
if (this.heardBeatLineKeys.includes(p)) {
|
|
604
|
-
if (i = (t[p] - this.slidingWindowInfo.startInd) * (I[
|
|
604
|
+
if (i = (t[p] - this.slidingWindowInfo.startInd) * (I[C].step || 0), this.isLeadOff(C) || this.isLeadDel(C))
|
|
605
605
|
continue;
|
|
606
606
|
if (!this.leadModel.isContinuous && t[p] - this.slidingWindowInfo.startInd > (this.slidingWindowInfo.points || 0))
|
|
607
607
|
break e;
|
|
608
|
-
s = I[
|
|
608
|
+
s = I[C], (f = this.heardBeatLineGroup) == null || f.add(this.createHeardBeatLine(s.pos[0] + i, s.pos[1], this.singleModeConfig.defaultSelect + "_" + C, "single"));
|
|
609
609
|
}
|
|
610
610
|
}
|
|
611
611
|
I = null;
|
|
612
612
|
} else {
|
|
613
|
-
let I = this.getRednerPoints(),
|
|
613
|
+
let I = this.getRednerPoints(), C = this.getAddRednerPoints();
|
|
614
614
|
e:
|
|
615
615
|
for (let p = 0; p < I.length; p++) {
|
|
616
|
-
t = ((
|
|
616
|
+
t = ((m = (g = this.analyseValues[p]) == null ? void 0 : g[this.currentHeardBeat.heardBeat.index]) == null ? void 0 : m.KeyPosByBeat) || t;
|
|
617
617
|
for (const v in t)
|
|
618
618
|
if (this.heardBeatLineKeys.includes(v) && Object.prototype.hasOwnProperty.call(t, v)) {
|
|
619
619
|
if (i = (t[v] - this.slidingWindowInfo.startInd) * (I[p].step || 0), this.isLeadOff(p) || this.isLeadDel(p))
|
|
@@ -624,19 +624,19 @@ let u = class extends U {
|
|
|
624
624
|
}
|
|
625
625
|
}
|
|
626
626
|
e:
|
|
627
|
-
for (let p = 0; p <
|
|
627
|
+
for (let p = 0; p < C.length; p++)
|
|
628
628
|
if (!!((D = this.analyseValues[p]) != null && D[this.currentHeardBeat.heardBeat.index])) {
|
|
629
629
|
t = ((G = (P = this.analyseValues[p]) == null ? void 0 : P[this.currentHeardBeat.heardBeat.index]) == null ? void 0 : G.KeyPosByBeat) || t;
|
|
630
630
|
for (const v in t)
|
|
631
631
|
if (this.heardBeatLineKeys.includes(v)) {
|
|
632
|
-
if (i = (t[v] - this.slidingWindowInfo.startInd) * (
|
|
632
|
+
if (i = (t[v] - this.slidingWindowInfo.startInd) * (C[p].step || 0), this.isLeadOff(this.longLeadConfig.leadIdxs[p]) && this.isLeadDel(this.longLeadConfig.leadIdxs[p]))
|
|
633
633
|
continue;
|
|
634
634
|
if (e > t[v])
|
|
635
635
|
break e;
|
|
636
|
-
s =
|
|
636
|
+
s = C[p], (B = this.heardBeatLineGroup) == null || B.add(this.createHeardBeatLine(s.pos[0] + i, s.pos[1], this.longLeadConfig.leadIdxs[p] + "_" + p, "add"));
|
|
637
637
|
}
|
|
638
638
|
}
|
|
639
|
-
I = null,
|
|
639
|
+
I = null, C = null;
|
|
640
640
|
}
|
|
641
641
|
(N = this.sceneIns) == null || N.add(this.heardBeatLineGroup), t = null;
|
|
642
642
|
}
|
|
@@ -720,7 +720,7 @@ let u = class extends U {
|
|
|
720
720
|
endInd: h,
|
|
721
721
|
sens: o,
|
|
722
722
|
step: a,
|
|
723
|
-
data: s.slice(n, h).map((g,
|
|
723
|
+
data: s.slice(n, h).map((g, m) => this.waveConfigs[i].gainName === "\u80F8\u5BFC\u51CF\u534A" && /^V\w+/.test(this.waveConfigs[i].leadName) ? A(this.waveConfigs[i].sensitivity, g, o / 2) : A(this.waveConfigs[i].sensitivity, g, o)).map((g, m) => [m * (a || 0), -g])
|
|
724
724
|
}), i++);
|
|
725
725
|
}
|
|
726
726
|
return l;
|
|
@@ -821,7 +821,7 @@ let u = class extends U {
|
|
|
821
821
|
e.event.preventDefault(), e.event.stopPropagation(), console.log("onContextmenu", e);
|
|
822
822
|
const i = e.target.name.split("_"), s = +i[1];
|
|
823
823
|
let a = 0, o = 0, n = 0, h = 0, l = 0;
|
|
824
|
-
t === "single" ? (a = e.offsetX - this.singleWaveDataCopy[s].pos[0], o = this.singleWaveDataCopy[s].startInd, n =
|
|
824
|
+
t === "single" ? (a = e.offsetX - this.singleWaveDataCopy[s].pos[0], o = this.singleWaveDataCopy[s].startInd, n = L(a, this.singleWaveDataCopy[s].step || 1), h = this.singleWaveDataCopy[s].sens, l = this.singleWaveDataCopy[s].step) : t === "rowAndCol" ? (a = e.offsetX - this.waveDataCopy[s].pos[0], o = this.waveDataCopy[s].startInd || 0, n = L(a, this.waveDataCopy[s].step || 1), h = this.waveDataCopy[s].sens, l = this.waveDataCopy[s].step) : t === "add" && (a = e.offsetX - this.addWaveDataCopy[s].pos[0], o = this.addWaveDataCopy[s].startInd || 0, n = L(a, this.addWaveDataCopy[s].step || 1), h = this.addWaveDataCopy[s].sens, l = this.addWaveDataCopy[s].step), n += o, this.$emit("notifyOnContextmenu", {
|
|
825
825
|
sens: h,
|
|
826
826
|
step: l,
|
|
827
827
|
activeLeadIdx: +i[0],
|
|
@@ -839,7 +839,7 @@ let u = class extends U {
|
|
|
839
839
|
this.activeLeadIdx = +a[0];
|
|
840
840
|
const o = +a[1];
|
|
841
841
|
let n = 0, h = 0, l = 0, d = 0, f = 0;
|
|
842
|
-
t === "single" ? (n = e.offsetX - this.singleWaveDataCopy[o].pos[0], h = this.singleWaveDataCopy[o].startInd, l =
|
|
842
|
+
t === "single" ? (n = e.offsetX - this.singleWaveDataCopy[o].pos[0], h = this.singleWaveDataCopy[o].startInd, l = L(n, this.singleWaveDataCopy[o].step || 1), d = this.singleWaveDataCopy[o].sens, f = this.singleWaveDataCopy[o].step) : t === "rowAndCol" ? (n = e.offsetX - this.waveDataCopy[o].pos[0], h = this.waveDataCopy[o].startInd || 0, l = L(n, this.waveDataCopy[o].step || 1), d = this.waveDataCopy[o].sens, f = this.waveDataCopy[o].step) : t === "add" && (n = e.offsetX - this.addWaveDataCopy[o].pos[0], h = this.addWaveDataCopy[o].startInd || 0, l = L(n, this.addWaveDataCopy[o].step || 1), d = this.addWaveDataCopy[o].sens, f = this.addWaveDataCopy[o].step), l += h, this.$emit("notifyActiveEnlargr", {
|
|
843
843
|
sens: d,
|
|
844
844
|
step: f,
|
|
845
845
|
activeLeadIdx: this.activeLeadIdx,
|
|
@@ -855,7 +855,7 @@ let u = class extends U {
|
|
|
855
855
|
t.type === "horizontal" && (t.scrollLeft = t.scrollLeft || 0, this.scrollCommon(t.scrollLeft));
|
|
856
856
|
}
|
|
857
857
|
scrollCommon(e) {
|
|
858
|
-
const t =
|
|
858
|
+
const t = L(e, this.publicStep || 1);
|
|
859
859
|
this.scrollWaveFrom(t), this.scrollRuler(t), this.scrollArrow(t), this.$emit("notifyScrollPointIdx", {
|
|
860
860
|
slidIdxs: t,
|
|
861
861
|
scrollLeft: e
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var k=Object.defineProperty,T=Object.defineProperties;var z=Object.getOwnPropertyDescriptors;var N=Object.getOwnPropertySymbols;var _=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable;var O=(e,t,i)=>t in e?k(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,S=(e,t)=>{for(var i in t||(t={}))_.call(t,i)&&O(e,i,t[i]);if(N)for(var i of N(t))j.call(t,i)&&O(e,i,t[i]);return e},D=(e,t)=>T(e,z(t));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const $=require("vue"),V=require("../../node_modules/.pnpm/vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-class-component/dist/vue-class-component.esm.js");require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Emit.js");const C=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Prop.js"),G=require("lodash"),u=require("@costy-plus/utils"),c=require("zrender"),X=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function q(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const s=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,s.get?s:{enumerable:!0,get:()=>e[i]})}}return t.default=e,Object.freeze(t)}const Y=X($),E=q(c);var K=Object.defineProperty,Q=Object.getOwnPropertyDescriptor,w=(e,t,i,s)=>{for(var a=s>1?void 0:s?Q(t,i):t,o=e.length-1,n;o>=0;o--)(n=e[o])&&(a=(s?n(t,i,a):n(a))||a);return s&&a&&K(t,i,a),a};exports.default=class extends Y.default{constructor(){super(...arguments),this.AssistCtx=Object.freeze(null),this.sceneIns=Object.freeze(null),this.layerBgGroup=Object.freeze(null),this.leadHeadGroup=Object.freeze(null),this.splitLineGroup=Object.freeze(null),this.rowAndColwaveFromGroup=Object.freeze(null),this.singleWaveFromGroup=Object.freeze(null),this.addwaveFromGroup=Object.freeze(null),this.leadHeadNameGroup=Object.freeze(null),this.leadHeadOffAndDelGroup=Object.freeze(null),this.rulerGroup=Object.freeze(null),this.arrowGroup=Object.freeze(null),this.heardBeatLineGroup=Object.freeze(null),this.bottomAreaHeight=Object.freeze(10),this.totalRows=Object.freeze(0),this.rulerStep=Object.freeze(0),this.drawLoopArrowStartPosIdx=Object.freeze(0),this.dbClickWaveFromTime=Object.freeze(0),this.timersCopy=Object.freeze(0),this.range=Object.freeze(5e3),this.heartBeatPosition=[],this.currentHeardBeat={heardBeat:null,ele:null},this.loopArrowY=Object.freeze({add:0,rowAndCol:0}),this.fontFamily=Object.freeze("\u5FAE\u8F6F\u96C5\u9ED1"),this.ruleH=Object.freeze(40),this.splitBlockHeight=0,this.splitPoint=0,this.slidingWindowInfo=Object.freeze({}),this.addSlidingWindowInfo=Object.freeze({}),this.highestAndLowestPoint=Object.freeze({maxPoints:0,minPoints:0}),this.drawArea=Object.freeze({width:0,height:0}),this.vuescrollWH={width:0,height:0},this.waveDataCopy=[],this.addWaveDataCopy=[],this.singleWaveDataCopy=[],this.leadNameList=[],this.activeLeadIdx=Object.freeze(-1),this.publicStep=Object.freeze(0),this.sceneIsMouseDown=Object.freeze(!1),this.sceneIsMouseDownX=Object.freeze(0)}get canvasContainer(){var e;return{width:this.width,height:this.height-(this.scrollConfig.isShow&&parseInt(`${(e=this.scrollConfig.bar)==null?void 0:e.size}`)||0)||0}}destroyed(){var e,t,i,s,a,o,n,r,l,d,f;this.sceneInsEventOff(),(e=this.rowAndColwaveFromGroup)==null||e.removeAll(),(t=this.singleWaveFromGroup)==null||t.removeAll(),(i=this.addwaveFromGroup)==null||i.removeAll(),(s=this.leadHeadGroup)==null||s.removeAll(),(a=this.splitLineGroup)==null||a.removeAll(),(o=this.leadHeadNameGroup)==null||o.removeAll(),(n=this.leadHeadOffAndDelGroup)==null||n.removeAll(),(r=this.rulerGroup)==null||r.removeAll(),(l=this.arrowGroup)==null||l.removeAll(),(d=this.heardBeatLineGroup)==null||d.removeAll(),(f=this.sceneIns)==null||f.dispose()}initCreatedConfig(){this.vuescrollWH.width=this.width,this.vuescrollWH.height=this.height,this.calcHeartBeatPositions(),this.initConfig()}init(){this.calcHeartBeatPositions(),this.initWaveFormPeer(),this.combinationDrawing(),this.registPostStart()}registPostStart(){this.posStart!==void 0&&this.posStart!==null&&(this.scrollConfig.isShow?this.$nextTick(()=>{var e;this.scrollConfig.isNativeScroll?(e=this.$refs[this.prefixId+"nativeScroll"])==null||e.scrollBy({left:(this.posStart||0)*(this.publicStep||1),top:0}):this.$refs[this.prefixId+"vueScroll"].scrollTo({x:(this.posStart||0)*(this.publicStep||1)})}):(this.scrollWaveFrom(this.posStart),this.scrollRuler(this.posStart),this.scrollArrow(this.posStart)))}resetScroll(e=0){this.scrollConfig.isShow?this.$nextTick(()=>{var t;this.scrollConfig.isNativeScroll?(t=this.$refs[this.prefixId+"nativeScroll"])==null||t.scrollBy({left:e,top:0}):this.$refs[this.prefixId+"vueScroll"].scrollTo({x:e})}):(this.scrollWaveFrom(e),this.scrollRuler(e),this.scrollArrow(e))}handleNotifyMeasurintRectPostion(e){let t=null;this.leadModel.isSingleMode&&this.singleWaveFromGroup?(t=(this.singleWaveFromGroup._children||[]).find(i=>i.rectContain(e.x,e.y)||i.rectContain(e.x,e.yEnd)),console.log("handleNotifyMeasurintRectPostion333333",t)):(t=(this.rowAndColwaveFromGroup._children||[]).find(i=>i.rectContain(e.x,e.y)||i.rectContain(e.x,e.yEnd)),t||(t=(this.addwaveFromGroup._children||[]).find(i=>i.rectContain(e.x,e.y)||i.rectContain(e.x,e.yEnd))),console.log("handleNotifyMeasurintRectPostion44444",t)),t&&this.$emit("notifyMeasurintConfig",t.sens)}combinationDrawing(e=!0){e&&(this.drawLeadHead(),this.drawColSplitLine(),this.initSlidingWindowInfo(),this.drawRulerNotes()),this.drawWaveFrom()}calcHeartBeatPositions(){this.heartBeatPosition=[];let e=[];console.log("this.analyseValues",this.analyseValues);for(let t=0;t<this.analyseValues.length;t++){for(let i=1;i<this.analyseValues[t].length;i++)t!==1&&this.analyseValues[t][i].KeyPosByBeat.Rpoint===0||e.push({index:this.analyseValues[t][i].BeatID,position:this.analyseValues[t][i].KeyPosByBeat.Rpoint,heartrate:this.analyseValues[t][i].AnabyBeat.VentricularRate||this.analyseValues[t][i].AnabyBeat.AtrialRate,interval:Math.round(60/(this.analyseValues[t][i].AnabyBeat.VentricularRate||this.analyseValues[t][i].AnabyBeat.AtrialRate)*1e3),telectricalaxis:this.analyseValues[t][i].AnabyBeat.TAxis===9999?this.range:this.analyseValues[t][i].AnabyBeat.TAxis,qrstCompany:(this.analyseValues[t][i].AnabyBeat.QRS_T===9999?this.range:this.analyseValues[t][i].AnabyBeat.QRS_T)+"\xB0",heart_style:this.analyseValues[t][i].heart_style});this.heartBeatPosition.push(e)}e=null}initSlidingWindowInfo(){const e=this.publicStep||0,t=Math.ceil(this.splitPoint/e);if(this.slidingWindowInfo={points:this.slidingWindowInfo.points!==t||this.leadModel.isSingleMode?t:this.slidingWindowInfo.points,startInd:this.slidingWindowInfo.startInd||0,endInd:(this.slidingWindowInfo.startInd||0)+t},this.slidingWindowInfo.endInd>this.dataTotalLength&&(this.slidingWindowInfo.endInd=this.dataTotalLength),this.scrollConfig.isShow&&!this.leadModel.isSingleMode){const s=u.getStepForSpeed(this.leadModel.publicSpeed,this.gridConfig.cellMg,this.leadModel.publicSampleRate),a=this.dataTotalLength*s;this.vuescrollWH.width=this.canvasContainer.width+(a||0)-this.splitPoint}const i=Math.ceil((this.drawArea.width-this.leadHeadConfig.leadHedeWidth)/e);this.addSlidingWindowInfo={points:this.addSlidingWindowInfo.points!==i||this.leadModel.isSingleMode?i:this.addSlidingWindowInfo.points,startInd:this.addSlidingWindowInfo.startInd||0,endInd:(this.addSlidingWindowInfo.endInd||0)+i},this.addSlidingWindowInfo.endInd>this.dataTotalLength&&(this.addSlidingWindowInfo.endInd=this.dataTotalLength)}calcHighestAndLowestPoint(){const e=G.flattenDeep(this.waveLists);return{maxPoints:G.max(e)||0,minPoints:G.min(e)||0}}isLeadOff(e){return!!this.waveConfigs[e].isLeadOff}isLeadDel(e){return!!this.waveConfigs[e].isLeadDelete}initConfig(){var t;this.rowAndColwaveFromGroup=new c.Group({name:"rowAndColwaveFrom"}),this.singleWaveFromGroup=new c.Group({name:"singleWaveFrom"}),this.addwaveFromGroup=new c.Group({name:"addwaveFrom"}),this.leadHeadGroup=new c.Group({name:"leadHead"}),this.splitLineGroup=new c.Group({name:"splitLine"}),this.leadHeadNameGroup=new c.Group({name:"leadHeadName"}),this.leadHeadOffAndDelGroup=new c.Group({name:"leadHeadOffAndDel"}),this.rulerGroup=new c.Group({name:"ruler"}),this.arrowGroup=new c.Group({name:"arrowLoop"}),this.heardBeatLineGroup=new c.Group({name:"heardBeatLine"});let e=this.canvasContainer.width;if(this.leadModel.ecgareawidth===1){const i=u.getPrintLengthToPx(((t=this.waveConfigs[0])==null?void 0:t.sampleRate)||0)+this.leadHeadConfig.leadHedeWidth;i<=e&&(e=i)}else if(this.leadModel.isContinuous){const i=u.getStepForSpeed(this.leadModel.publicSpeed,this.gridConfig.cellMg,this.leadModel.publicSampleRate),s=this.dataTotalLength*i;!this.leadModel.isSingleMode&&(s||0)<e-this.leadHeadConfig.leadHedeWidth&&(e=(s||0)+this.leadHeadConfig.leadHedeWidth)}this.drawArea={width:e,height:this.canvasContainer.height-this.bottomAreaHeight-30},this.slidingWindowInfo={points:this.slidingWindowInfo.points||0,startInd:this.slidingWindowInfo.startInd||0,endInd:this.slidingWindowInfo.endInd||0},this.addSlidingWindowInfo={points:this.addSlidingWindowInfo.points||0,startInd:this.addSlidingWindowInfo.startInd||0,endInd:this.addSlidingWindowInfo.endInd||0},this.loopArrowY={add:0,rowAndCol:0},this.currentHeardBeat={heardBeat:null,ele:null},this.leadNameList=this.leadNames.map((i,s)=>s)||[],this.totalRows=this.leadModel.line+this.leadModel.add||1,this.highestAndLowestPoint=this.calcHighestAndLowestPoint(),this.leadModel.isSingleMode?(this.splitBlockHeight=Math.abs(this.highestAndLowestPoint.maxPoints)+Math.abs(this.highestAndLowestPoint.minPoints)+22,this.splitBlockHeight>this.drawArea.height&&(this.splitBlockHeight=this.drawArea.height/6)):this.splitBlockHeight=this.drawArea.height/this.totalRows,this.publicStep=u.getStepForSpeed(this.leadModel.publicSpeed,this.gridConfig.cellMg,this.leadModel.publicSampleRate),this.rulerStep=(this.publicStep||1)*(this.leadModel.publicSampleRate||1)/(this.gridConfig.cellMg*2+2)}initWaveFormPeer(){var i;(i=this.sceneIns)==null||i.dispose(),this.AssistCtx=null;const e=document.getElementById(`${this.prefixId}wave-from-box`);this.sceneIns=E.init(e,{width:this.canvasContainer.width,height:this.canvasContainer.height,devicePixelRatio:1});const t=document.getElementById(`${this.prefixId}MXGrid`);this.AssistCtx=t.getContext("2d"),this.sceneInsEventOff(),this.sceneIns.on("mousemove",this.sceneInsMousemove),this.sceneIns.on("mousedown",this.sceneInsMouseDown),this.sceneIns.on("mouseup",this.sceneInsMouseUp)}sceneInsMousemove(e){var t;this.sceneIsMouseDown&&(this.scrollConfig.isNativeScroll?(t=this.$refs[`${this.prefixId}nativeScroll`])==null||t.scrollBy({left:e.offsetX-this.sceneIsMouseDownX,top:0}):this.$refs[`${this.prefixId}vueScroll`].scrollBy({dx:e.offsetX-this.sceneIsMouseDownX}))}sceneInsMouseDown(e){this.sceneIsMouseDown=!0,this.sceneIsMouseDownX=e.offsetX}sceneInsMouseUp(e){this.sceneIsMouseDown=!1}sceneInsEventOff(){var e,t,i;(e=this.sceneIns)==null||e.off("mousemove",this.sceneInsMousemove),(t=this.sceneIns)==null||t.off("mousedown",this.sceneInsMouseDown),(i=this.sceneIns)==null||i.off("mouseup",this.sceneInsMouseUp)}drawLeadHead(){var i,s,a,o,n,r;(i=this.leadHeadGroup)==null||i.removeAll(),(s=this.sceneIns)==null||s.remove(this.leadHeadGroup);let e="",t=!1;e:for(let l=1;l<=this.totalRows;l++){if(t=!1,!(this.waveConfigs||[])[l-1])break e;if(!!this.waveConfigs[l-1].isShowLeadHead){if(l<=this.leadModel.line)e=(this.leadNames||[])[l-1]||"",this.waveConfigs[l-1].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(e)&&(t=!0),this.leadHeadConfig.isShowLeadCalibration!==!1&&((a=this.leadHeadGroup)==null||a.add(this.createLeadHead(0,this.waveConfigs[l-1].posY||l*this.splitBlockHeight,u.getSens(this.waveConfigs[l-1].isFixedSquareWaveSize?this.waveConfigs[l-1].fixedSquareWaveSizeGain:this.waveConfigs[l-1].gain,this.gridConfig.cellMg),t)));else if(l>this.leadModel.line&&l-this.leadModel.line<=this.leadModel.add){if(!this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]])continue;e=this.leadNames[this.longLeadConfig.leadNames[this.longLeadConfig.leadNames[l-this.leadModel.line-1]]],this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(e)&&(t=!0),this.leadHeadConfig.isShowLeadCalibration!==!1&&((n=this.leadHeadGroup)==null||n.add(this.createLeadHead(0,((o=this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]])==null?void 0:o.posY)||l*this.splitBlockHeight,u.getSens(this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]].isFixedSquareWaveSize?this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]].fixedSquareWaveSizeGain:this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]].gain,this.gridConfig.cellMg),t)))}}}(r=this.sceneIns)==null||r.add(this.leadHeadGroup)}createLeadHead(e,t,i,s){const a=this.leadHeadConfig.leadHedeWidth/4;return i=s?i/2:i,new c.Polyline({cursor:"",shape:{points:[[0+e,0+t],[a+e,0+t],[a+e,-i+t],[3*a+e,-i+t],[3*a+e,0+t],[4*a+e,0+t]]},style:{stroke:this.leadHeadConfig.leadHedeColor,lineWidth:this.leadHeadConfig.leadHedeLineWidth}})}drawColSplitLine(){var o,n,r,l,d;(o=this.splitLineGroup)==null||o.removeAll(),(n=this.sceneIns)==null||n.remove(this.splitLineGroup);const e=(this.drawArea.width-this.leadHeadConfig.leadHedeWidth)/(this.leadModel.column||1);if(this.splitPoint=e,this.leadModel.isSingleMode){const f=u.getStepForSpeed(this.waveConfigs[this.singleModeConfig.defaultSelect].speed,this.gridConfig.cellMg,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate),g=u.getDataLenTimes(Math.ceil(this.splitPoint/(f||1))||0,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate||0),m=parseInt(`${g/1e3%60}`,10);this.splitPoint=m*(this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate||0)*(f||0)}let t=0,i=0,s=0,a=0;for(let f=1;f<=this.leadModel.column-1;f++){t=f*e+this.leadHeadConfig.leadHedeWidth,i=f*this.leadModel.line;e:for(let g=1;g<=this.leadModel.line;g++){if(!(this.waveConfigs||[])[g-1+i])break e;if((this.waveConfigs||[])[g-1+i].posX!==void 0&&(t=(this.waveConfigs||[])[g-1+i].posX),s=(this.waveConfigs||[])[g-1+i].leadIdx,s===void 0)break;a=u.getSens((this.waveConfigs||[])[g-1+i].isFixedSquareWaveSize?(this.waveConfigs||[])[g-1+i].fixedSquareWaveSizeGain:(this.waveConfigs||[])[g-1+i].gain,this.gridConfig.cellMg),(this.waveConfigs||[])[g-1+i].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.leadNames[s])?(r=this.splitLineGroup)==null||r.add(this.creatSplitLine(t,((this.waveConfigs||[])[g-1+i].posY||g*this.splitBlockHeight)-(a||0)/2*.5,a,!0)):(l=this.splitLineGroup)==null||l.add(this.creatSplitLine(t,((this.waveConfigs||[])[g-1+i].posY||g*this.splitBlockHeight)-(a||0)*.5,a))}}(d=this.sceneIns)==null||d.add(this.splitLineGroup)}creatSplitLine(e,t,i,s){return new c.Line({cursor:"",shape:{x1:0+e,y1:0+t,x2:0+e,y2:(s?(i||0)/2:i||0)+t},style:{stroke:this.leadHeadConfig.leadHedeColor,lineWidth:this.leadHeadConfig.leadHedeLineWidth}})}drawRulerNotes(){var s,a;if(!this.rulerConfig.isShow)return;const e={fill:"#FF0080",fontSize:13,fontFamily:this.fontFamily},t=new c.Text({cursor:"",style:S({text:"(s)",x:this.leadHeadConfig.leadHedeWidth/2-8,y:this.canvasContainer.height-25},e)}),i=new c.Text({style:S({text:this.rulerConfig.renderText||`${this.rulerConfig.gainName} ${this.rulerConfig.speedName}`,x:this.leadHeadConfig.leadHedeWidth/2+20,y:this.canvasContainer.height-this.ruleH},e)});(s=this.sceneIns)==null||s.add(i),(a=this.sceneIns)==null||a.add(t)}drawRuler(e=0){var n,r,l;if(this.timersCopy=e,!this.rulerConfig.isShow)return;const t=this.dataTotalTimes*2;let i=this.leadHeadConfig.leadHedeWidth,s=0,a=t;const o=u.getStepForSpeed(this.rulerConfig.speed,this.gridConfig.cellMg,this.rulerConfig.sampleRate);if(this.leadModel.isContinuous)a=t*5;else if(!this.leadModel.add&&o){const d=u.getPointIdxForPx(this.splitPoint*(this.leadModel.column||1),o),f=u.getDataLenTimes(d,this.rulerConfig.sampleRate||0)/1e3;a=e+f}for(let d=e;d<=a;d=+(d+.1).toFixed(1))d!==e&&(i+=this.rulerStep),d%1===0?(s=this.canvasContainer.height-10,(n=this.rulerGroup)==null||n.add(new c.Text({cursor:"",style:{x:i,y:s-15,text:d+"",fontSize:13,fontFamily:this.fontFamily,fill:"#FF0080"}}))):s=this.canvasContainer.height-5,(r=this.rulerGroup)==null||r.add(new c.Line({cursor:"",shape:{x1:i,y1:s,x2:i,y2:this.canvasContainer.height},style:{stroke:"#FF0080",lineWidth:2}}));(l=this.sceneIns)==null||l.add(this.rulerGroup)}drawWaveFrom(){var e,t,i,s,a;(e=this.leadHeadNameGroup)==null||e.removeAll(),(t=this.leadHeadOffAndDelGroup)==null||t.removeAll(),this.leadModel.isSingleMode?(this.addWaveDataCopy=[],this.waveDataCopy=[],this.createSingleWaveFrom(),(i=this.sceneIns)==null||i.add(this.singleWaveFromGroup)):(this.singleWaveDataCopy=[],this.createAddWaveFrom(),this.createRowAndColWaveFrom(),(s=this.sceneIns)==null||s.add(this.rowAndColwaveFromGroup),(a=this.sceneIns)==null||a.add(this.addwaveFromGroup)),this.drawLeadHeadNameAndOffOrDel(),this.drawRuler(this.timersCopy),this.drawLoopArrow(this.drawLoopArrowStartPosIdx)}getRednerSinglePoints(){let e=0,t=0;const i=this.waveLists[this.singleModeConfig.defaultSelect]||[];let s=this.slidingWindowInfo.startInd||0,a=this.slidingWindowInfo.endInd||0;const o=u.getStepForSpeed(this.waveConfigs[this.singleModeConfig.defaultSelect].speed,this.gridConfig.cellMg,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate),n=u.getSens(this.waveConfigs[this.singleModeConfig.defaultSelect].gain,this.gridConfig.cellMg),r=[],l=Math.ceil(i.length/(this.slidingWindowInfo.points||1));for(let d=0;d<1;d++){e=d*this.splitPoint+this.leadHeadConfig.leadHedeWidth,t=0;for(let f=1;f<=l;f++)t=f*this.splitBlockHeight,f>1&&(t*=.8,s=a,a=s+(this.slidingWindowInfo.points||0)),f===1&&(this.loopArrowY.rowAndCol=t),r.push({pos:[e,t],startInd:s,endInd:a,step:o,sens:n,data:i.slice(s,a).map((g,m)=>this.waveConfigs[this.singleModeConfig.defaultSelect].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.waveConfigs[this.singleModeConfig.defaultSelect].leadName)?u.getActualY(this.waveConfigs[this.singleModeConfig.defaultSelect].sensitivity,g,n/2):u.getActualY(this.waveConfigs[this.singleModeConfig.defaultSelect].sensitivity,g,n)).map((g,m)=>[m*(o||0),-g])})}return r}createSingleWaveFrom(){var n,r,l;(n=this.singleWaveFromGroup)==null||n.removeAll();let e=this.getRednerSinglePoints(),t=u.getDataLenTimes(this.slidingWindowInfo.points||0,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate||0);const i=t;let s=0,a=0,o=0;for(let d=0;d<e.length&&!(e[d].pos[1]>this.drawArea.height+this.bottomAreaHeight);d++)this.isLeadDel(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx)||(s=parseInt(`${t/1e3/60}`,10),a=parseInt(`${t/1e3%60}`,10),s=a===60?s+=1:s,s=s===0?"00":s<10?`0${s}`:s,a=a===0||a===60?"00":a<10?`0${a}`:a,(r=this.singleWaveFromGroup)==null||r.add(new c.Polyline({cursor:"",name:this.singleModeConfig.defaultSelect+"_"+d,sens:e[d].sens,shape:{points:e[d].data.map(([f,g],m)=>isNaN(g)?(o===0&&(o=m-1,o=o<0?0:o),[e[d].data[o][0]+e[d].pos[0],e[d].data[o][1]+e[d].pos[1]]):(o=0,[f+e[d].pos[0],g+e[d].pos[1]]))},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:f=>{this.onDbClickWaveFrom(f,"single")},oncontextmenu:f=>{this.onContextmenu(f,"single")}})),t/1e3<this.dataTotalTimes&&((l=this.singleWaveFromGroup)==null||l.add(new c.Text({cursor:"",style:{x:e[d].pos[0],y:e[d].pos[1]-(e[d].sens||0)/2,text:d===0?"00:00 \u5FC3\u7387":`${s}:${a} \u5FC3\u7387`,fontWeight:"bold",fontSize:14,fill:"#FF0080",fontFamily:this.fontFamily}}))),d>0&&(t+=i)),this.createLeadName(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx,e[0].pos[0]-10,e[0].pos[1]+10),this.createLeadOffAndDel(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx,e[0].pos[0]-5,e[0].pos[1]-(e[d].sens||0)/2-15),this.waveConfigs[this.singleModeConfig.defaultSelect].squareWaveSens&&this.createLeadSensNams(this.waveConfigs[this.singleModeConfig.defaultSelect].squareWaveSens,e[0].pos[0]-10,e[0].pos[1]+10);this.singleWaveDataCopy=e,e=null}drawLoopArrow(e=0){var M,L,H,F,P,A,y,v,p,I,b,B;if(this.drawLoopArrowStartPosIdx=e,console.log("this.heartFight",this.heartFight),!this.heartFight.isShow)return;this.heartFight.mode&&this.currentHeardBeat.heardBeat===null&&(this.currentHeardBeat.heardBeat=this.heartBeatPosition[this.heartFight.showIdxPai][this.heartFight.defaultSelect]||null,this.drawHeardBeatLine());let t=0,i=0,s=0;if(this.leadModel.add){const W=u.getSens(this.waveConfigs[this.longLeadConfig.leadIdxs[0]].gain,this.gridConfig.cellMg);s=this.loopArrowY.add-(W||0)-this.splitBlockHeight/3.5}else this.leadModel.column===1?s=0:s=20;let a=0,o=0,n=0;const r={fontSize:12,fill:"#FF0000",fontFamily:this.fontFamily};let l=0,d=0;const f=u.getStepForSpeed(this.waveConfigs[this.heartFight.showIdxPai].speed,this.gridConfig.cellMg,this.waveConfigs[this.heartFight.showIdxPai].sampleRate);let g=0,m=0;for(let W=0;W<(this.heartBeatPosition[this.heartFight.showIdxPai]||[]).length;W++){const h=this.heartBeatPosition[this.heartFight.showIdxPai][W];if(g=((h==null?void 0:h.position)||0)-e,e>((h==null?void 0:h.position)||0)||!this.leadModel.isContinuous&&!this.leadModel.add&&g>(this.slidingWindowInfo.points||0)||this.leadModel.isSingleMode&&g>(this.slidingWindowInfo.points||0))continue;if(((h==null?void 0:h.position)||0)-this.addSlidingWindowInfo.startInd>(this.addSlidingWindowInfo.points||0))break;a=((M=this.AssistCtx)==null?void 0:M.measureText(`${(h==null?void 0:h.heart_style)||""}`).width)||0,t=g*(f||0)+this.leadHeadConfig.leadHedeWidth-a/2,n=0,(L=this.arrowGroup)==null||L.add(new c.Text({name:"arrow_box",cursor:"",style:D(S({x:t,y:s+10,text:`${(h==null?void 0:h.heart_style)||""}`},r),{fill:"#333"}),onclick:R=>{!this.heartFight.mode&&!this.heartFight.isClickArrow||this.arrowLoopClick(h,R.target)}}));const x=this.heartBeatPosition[this.heartFight.showIdxPai][W+1]||null;if(!!x&&(m=((x==null?void 0:x.position)||0)-e,!(!this.leadModel.isContinuous&&!this.leadModel.add&&m>(this.slidingWindowInfo.points||0))&&!(this.leadModel.isSingleMode&&m>(this.slidingWindowInfo.points||0)))){if(((x==null?void 0:x.position)||0)-this.addSlidingWindowInfo.startInd>(this.addSlidingWindowInfo.points||0))break;o=((H=this.AssistCtx)==null?void 0:H.measureText(`${(h==null?void 0:h.heart_style)||""}`).width)||0,i=m*(f||0)+this.leadHeadConfig.leadHedeWidth-o/2,this.heartFight.heartrate&&(l=h==null?void 0:h.heartrate,this.heartFight.isHeartRateCalculatedBasedOnInterval&&W!==0&&(d=u.calcMs(Math.abs((h==null?void 0:h.position)*(f||0)-this.heartBeatPosition[this.heartFight.showIdxPai][W-1].position*(f||0)),this.waveConfigs[this.heartFight.showIdxPai].speed,this.gridConfig.cellMg,1),l=d!==0&&u.calcBpm(d)||0),a=((F=this.AssistCtx)==null?void 0:F.measureText(`${l||""}`).width)||0,(P=this.arrowGroup)==null||P.add(new c.Text({cursor:"",style:S({x:(i-t)/2-a/2+t,y:n+s+5,text:`${l||""}`},r)})),n+=12),this.heartFight.interval&&(a=((A=this.AssistCtx)==null?void 0:A.measureText(`${(h==null?void 0:h.interval)||""}`).width)||0,(y=this.arrowGroup)==null||y.add(new c.Text({cursor:"",style:S({x:(i-t)/2-a/2+t,y:n+s+5,text:`${(h==null?void 0:h.interval)||""}`},r)})),n+=12),this.heartFight.qrstCompany&&(a=((v=this.AssistCtx)==null?void 0:v.measureText(`${(h==null?void 0:h.qrstCompany)||""}`).width)||0,(p=this.arrowGroup)==null||p.add(new c.Text({cursor:"",style:S({x:(i-t)/2-a/2+t,y:n+s+5,text:`${(h==null?void 0:h.qrstCompany)||""}`},r)})),n+=12),this.heartFight.telectricalaxis&&(a=((I=this.AssistCtx)==null?void 0:I.measureText(`${(h==null?void 0:h.telectricalaxis)||""}`).width)||0,(b=this.arrowGroup)==null||b.add(new c.Text({cursor:"",style:S({x:(i-t)/2-a/2+t,y:n+s+5,text:`${(h==null?void 0:h.telectricalaxis)||""}`},r)})))}}(B=this.sceneIns)==null||B.add(this.arrowGroup)}arrowLoopClick(e,t){this.$emit("notifyHeardBeat",c.util.clone(e)),this.currentHeardBeat.heardBeat=e,this.currentHeardBeat.ele=t,this.drawHeardBeatLine()}drawHeardBeatLine(e=0){var a,o,n,r,l,d,f,g,m,M,L,H,F,P,A;if(!this.currentHeardBeat.heardBeat)return;(a=this.heardBeatLineGroup)==null||a.removeAll(),(o=this.sceneIns)==null||o.remove(this.heardBeatLineGroup);let t={},i=0,s;if(this.leadModel.isSingleMode){let y=this.getRednerSinglePoints();e:for(let v=0;v<y.length;v++){if(v>=1||this.leadNames[this.singleModeConfig.defaultSelect]==="M")break e;if((n=this.analyseValues[this.singleModeConfig.defaultSelect])!=null&&n[this.currentHeardBeat.heardBeat.index])t=((d=(l=this.analyseValues[this.singleModeConfig.defaultSelect])==null?void 0:l[this.currentHeardBeat.heardBeat.index])==null?void 0:d.KeyPosByBeat)||t;else{let p=this.analyseValues.find(I=>{var b;return(b=I[this.currentHeardBeat.heardBeat.index])==null?void 0:b.KeyPosByBeat});if(!p)break e;p&&(t=(r=p[this.currentHeardBeat.heardBeat.index])==null?void 0:r.KeyPosByBeat),p=null}for(const p in t)if(this.heardBeatLineKeys.includes(p)){if(i=(t[p]-this.slidingWindowInfo.startInd)*(y[v].step||0),this.isLeadOff(v)||this.isLeadDel(v))continue;if(!this.leadModel.isContinuous&&t[p]-this.slidingWindowInfo.startInd>(this.slidingWindowInfo.points||0))break e;s=y[v],(f=this.heardBeatLineGroup)==null||f.add(this.createHeardBeatLine(s.pos[0]+i,s.pos[1],this.singleModeConfig.defaultSelect+"_"+v,"single"))}}y=null}else{let y=this.getRednerPoints(),v=this.getAddRednerPoints();e:for(let p=0;p<y.length;p++){t=((m=(g=this.analyseValues[p])==null?void 0:g[this.currentHeardBeat.heardBeat.index])==null?void 0:m.KeyPosByBeat)||t;for(const I in t)if(this.heardBeatLineKeys.includes(I)&&Object.prototype.hasOwnProperty.call(t,I)){if(i=(t[I]-this.slidingWindowInfo.startInd)*(y[p].step||0),this.isLeadOff(p)||this.isLeadDel(p))continue;if(e>t[I]||!this.leadModel.isContinuous&&t[I]-this.slidingWindowInfo.startInd>(this.slidingWindowInfo.points||0)||(s=y[p],this.leadModel.isContinuous&&p>this.leadModel.line-1))break e;(M=this.heardBeatLineGroup)==null||M.add(this.createHeardBeatLine(s.pos[0]+i,s.pos[1],p+"_"+p,"rowAndCol"))}}e:for(let p=0;p<v.length;p++)if(!!((L=this.analyseValues[p])!=null&&L[this.currentHeardBeat.heardBeat.index])){t=((F=(H=this.analyseValues[p])==null?void 0:H[this.currentHeardBeat.heardBeat.index])==null?void 0:F.KeyPosByBeat)||t;for(const I in t)if(this.heardBeatLineKeys.includes(I)){if(i=(t[I]-this.slidingWindowInfo.startInd)*(v[p].step||0),this.isLeadOff(this.longLeadConfig.leadIdxs[p])&&this.isLeadDel(this.longLeadConfig.leadIdxs[p]))continue;if(e>t[I])break e;s=v[p],(P=this.heardBeatLineGroup)==null||P.add(this.createHeardBeatLine(s.pos[0]+i,s.pos[1],this.longLeadConfig.leadIdxs[p]+"_"+p,"add"))}}y=null,v=null}(A=this.sceneIns)==null||A.add(this.heardBeatLineGroup),t=null}createHeardBeatLine(e,t,i,s){return new c.Line({name:i,cursor:"",shape:{x1:e,y1:t-15,x2:e,y2:t+15},style:{stroke:"blue",lineWidth:1},oncontextmenu:a=>{this.onContextmenu(a,s)}})}drawLeadHeadNameAndOffOrDel(){var e,t;(e=this.sceneIns)==null||e.add(this.leadHeadNameGroup),(t=this.sceneIns)==null||t.add(this.leadHeadOffAndDelGroup)}getAddRednerPoints(){const e=[];let t=this.leadHeadConfig.leadHedeWidth,i=0,s=0,a=[],o=0,n=0;for(let r=0;r<this.leadModel.add;r++)s=this.longLeadConfig.leadIdxs[r],this.waveConfigs[s]&&(t=this.waveConfigs[s].addPosX||t,o=u.getStepForSpeed(this.waveConfigs[s].speed,this.gridConfig.cellMg,this.waveConfigs[s].sampleRate),n=u.getSens(this.waveConfigs[s].gain,this.gridConfig.cellMg),i=this.waveConfigs[s].addPosY||(r+this.leadModel.line+1)*this.splitBlockHeight,a=this.waveLists[s]||[],r===0&&(this.loopArrowY.add=i),e.push({pos:[t,i],startInd:this.addSlidingWindowInfo.startInd||0,endInd:this.addSlidingWindowInfo.endInd||0,data:a.slice(this.addSlidingWindowInfo.startInd,this.addSlidingWindowInfo.endInd).map((l,d)=>this.waveConfigs[s].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.waveConfigs[s].leadName)?u.getActualY(this.waveConfigs[s].sensitivity,l,n/2):u.getActualY(this.waveConfigs[s].sensitivity,l,n)).map((l,d)=>[d*(o||0),-l]),sens:n,step:o}));return e}createAddWaveFrom(){var i,s;(i=this.addwaveFromGroup)==null||i.removeAll();let e=this.getAddRednerPoints(),t=0;for(let a=0;a<e.length;a++)this.isLeadDel(this.longLeadConfig.leadIdxs[a])||((s=this.addwaveFromGroup)==null||s.add(new c.Polyline({cursor:"",name:this.longLeadConfig.leadIdxs[a]+"_"+a,sens:e[a].sens,shape:{points:e[a].data.map(([o,n],r)=>isNaN(n)?(t===0&&(t=r-1,t=t<0?0:t),[e[a].data[t][0]+e[a].pos[0],e[a].data[t][1]+e[a].pos[1]]):(t=0,[o+e[a].pos[0],n+e[a].pos[1]]))},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:o=>{this.onDbClickWaveFrom(o,"add")},oncontextmenu:o=>{this.onContextmenu(o,"add")}})),this.createLeadName(this.longLeadConfig.leadNames[a],e[a].pos[0],e[a].pos[1]-15,!0),this.createLeadOffAndDel(this.longLeadConfig.leadIdxs[a],e[a].pos[0]-5,e[a].pos[1]-(e[a].sens||0)/2-15),this.waveConfigs[this.longLeadConfig.leadIdxs[a]].squareWaveSens&&this.createLeadSensNams(this.waveConfigs[this.longLeadConfig.leadIdxs[a]].squareWaveSens,e[a].pos[0],e[a].pos[1]-15));this.addWaveDataCopy=e,e=null}getRednerPoints(){let e=0,t=0,i=0,s=[],a=0,o=0,n=this.slidingWindowInfo.startInd||0,r=this.slidingWindowInfo.endInd||0;const l=[];for(let d=0;d<this.leadModel.column;d++){e=d*this.splitPoint+this.leadHeadConfig.leadHedeWidth,t=0,this.leadModel.isContinuous&&d>0&&(n=r,r=n+(this.slidingWindowInfo.points||0));for(let f=1;f<=this.leadModel.line&&(t=f*this.splitBlockHeight,!(i>(this.waveLists||[]).length-1));f++)e=this.waveConfigs[i].posX||e,t=this.waveConfigs[i].posY||t,a=u.getStepForSpeed(this.waveConfigs[i].speed,this.gridConfig.cellMg,this.waveConfigs[i].sampleRate),o=u.getSens(this.waveConfigs[i].gain,this.gridConfig.cellMg),s=this.waveLists[i]||[],this.waveConfigs[i]&&(f===1&&(this.loopArrowY.rowAndCol=t),l.push({pos:[e,t],startInd:n,endInd:r,sens:o,step:a,data:s.slice(n,r).map((g,m)=>this.waveConfigs[i].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.waveConfigs[i].leadName)?u.getActualY(this.waveConfigs[i].sensitivity,g,o/2):u.getActualY(this.waveConfigs[i].sensitivity,g,o)).map((g,m)=>[m*(a||0),-g])}),i++)}return l}createRowAndColWaveFrom(){var s,a;(s=this.rowAndColwaveFromGroup)==null||s.removeAll();let e=this.getRednerPoints(),t=0,i=0;for(let o=0;o<e.length;o++)t=this.waveConfigs[o].leadIdx||0,this.isLeadDel(t)||(a=this.rowAndColwaveFromGroup)==null||a.add(new c.Polyline({cursor:"",name:o+"_"+o,sens:e[o].sens,shape:{points:e[o].data.map(([n,r],l)=>isNaN(r)?(i===0&&(i=l-1,i=i<0?0:i),[e[o].data[i][0]+e[o].pos[0],e[o].data[i][1]+e[o].pos[1]]):(i=0,[n+e[o].pos[0],r+e[o].pos[1]]))},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:n=>{this.onDbClickWaveFrom(n,"rowAndCol")},oncontextmenu:n=>{this.onContextmenu(n,"rowAndCol")}})),o<this.leadModel.line?(console.log("this.leadNames[LeadNameTextIdx]1111",this.leadNames[t],e[o].pos[1],e[o].sens),this.createLeadName(t,e[o].pos[0],e[o].pos[1]-15),this.createLeadOffAndDel(t,e[o].pos[0]-5,e[o].pos[1]-(e[o].sens||0)/2-15),this.waveConfigs[o].squareWaveSens&&this.createLeadSensNams(this.waveConfigs[o].squareWaveSens,e[o].pos[0],e[o].pos[1]-15)):(console.log("this.leadNames[LeadNameTextIdx]2222",this.leadNames[t],e[o].pos[1],e[o].sens),this.createLeadName(t,e[o].pos[0]+5,e[o].pos[1]-40),this.createLeadOffAndDel(t,e[o].pos[0]-5,e[o].pos[1]-(e[o].sens||0)/2+9),this.waveConfigs[o].squareWaveSens&&this.createLeadSensNams(this.waveConfigs[o].squareWaveSens,e[o].pos[0],e[o].pos[1]-15));this.waveDataCopy=e,e=null}createLeadSensNams(e,t,i){var a;let s=t;this.leadHeadConfig.isShowLeadCalibration===!1&&(this.leadModel.isSingleMode?s=t-this.leadHeadConfig.leadHedeWidth+12:s=t-this.leadHeadConfig.leadHedeWidth+5),this.leadHeadConfig.isShowLeadCalibration&&this.leadHeadConfig.isCalibrationDisplayedBelow&&(t<=this.leadHeadConfig.leadHedeWidth&&(this.leadModel.isSingleMode?s=t-this.leadHeadConfig.leadHedeWidth+12:s=t-this.leadHeadConfig.leadHedeWidth+5),i=i+40),(a=this.leadHeadNameGroup)==null||a.add(new c.Text({style:{x:s,y:i,text:e,fontSize:this.leadConfig.squareWaveSensFontSize||this.leadConfig.fontSize,fill:this.leadConfig.lineColor,fontFamily:this.leadConfig.fontFamily}}))}createLeadName(e,t,i,s=!1){var o;let a=t;this.leadHeadConfig.isShowLeadCalibration===!1&&(this.leadModel.isSingleMode?a=t-this.leadHeadConfig.leadHedeWidth+12:a=t-this.leadHeadConfig.leadHedeWidth+5),this.leadHeadConfig.isShowLeadCalibration&&this.leadHeadConfig.isCalibrationDisplayedBelow&&(t<=this.leadHeadConfig.leadHedeWidth&&(this.leadModel.isSingleMode?a=t-this.leadHeadConfig.leadHedeWidth+12:a=t-this.leadHeadConfig.leadHedeWidth+5),console.log("this.leadNames[LeadNameTextIdx]",this.leadNames[e],i),i=i+20,console.log("this.leadNames[LeadNameTextIdx]",this.leadNames[e],i)),(o=this.leadHeadNameGroup)==null||o.add(new c.Text({style:{x:a,y:i,text:this.leadNames[e],fontSize:this.leadConfig.fontSize,fill:this.leadConfig.lineColor,fontFamily:this.leadConfig.fontFamily},oncontextmenu:n=>{n.event.preventDefault(),this.$emit("notiifyLeadName",{event:D(S({},n),{name:this.leadNames[e],idx:e}),isAdd:s})},onclick:n=>{this.$emit("notiifyLeadName",{event:D(S({},n),{name:this.leadNames[e],idx:e}),isAdd:s})}}))}createLeadOffAndDel(e,t,i){var s;(this.isLeadOff(e)||this.isLeadDel(e))&&((s=this.leadHeadOffAndDelGroup)==null||s.add(new c.Text({cursor:"",style:{x:t,y:i,text:"X",fontWeight:"bold",fontSize:18,fill:"#E42c03",fontFamily:this.fontFamily}})))}onContextmenu(e,t){e.event.preventDefault(),e.event.stopPropagation(),console.log("onContextmenu",e);const i=e.target.name.split("_"),s=+i[1];let a=0,o=0,n=0,r=0,l=0;t==="single"?(a=e.offsetX-this.singleWaveDataCopy[s].pos[0],o=this.singleWaveDataCopy[s].startInd,n=u.getPointIdxForPx(a,this.singleWaveDataCopy[s].step||1),r=this.singleWaveDataCopy[s].sens,l=this.singleWaveDataCopy[s].step):t==="rowAndCol"?(a=e.offsetX-this.waveDataCopy[s].pos[0],o=this.waveDataCopy[s].startInd||0,n=u.getPointIdxForPx(a,this.waveDataCopy[s].step||1),r=this.waveDataCopy[s].sens,l=this.waveDataCopy[s].step):t==="add"&&(a=e.offsetX-this.addWaveDataCopy[s].pos[0],o=this.addWaveDataCopy[s].startInd||0,n=u.getPointIdxForPx(a,this.addWaveDataCopy[s].step||1),r=this.addWaveDataCopy[s].sens,l=this.addWaveDataCopy[s].step),n+=o,this.$emit("notifyOnContextmenu",{sens:r,step:l,activeLeadIdx:+i[0],pointIdx:n,offsetX:e.offsetX,offsetY:e.offsetY,pageX:e.event.pageX,pageY:e.event.pageY})}onDbClickWaveFrom(e,t){console.log("onDbClickWaveFrom",e);const i=Date.now(),s=()=>{const a=e.target.name.split("_");this.activeLeadIdx=+a[0];const o=+a[1];let n=0,r=0,l=0,d=0,f=0;t==="single"?(n=e.offsetX-this.singleWaveDataCopy[o].pos[0],r=this.singleWaveDataCopy[o].startInd,l=u.getPointIdxForPx(n,this.singleWaveDataCopy[o].step||1),d=this.singleWaveDataCopy[o].sens,f=this.singleWaveDataCopy[o].step):t==="rowAndCol"?(n=e.offsetX-this.waveDataCopy[o].pos[0],r=this.waveDataCopy[o].startInd||0,l=u.getPointIdxForPx(n,this.waveDataCopy[o].step||1),d=this.waveDataCopy[o].sens,f=this.waveDataCopy[o].step):t==="add"&&(n=e.offsetX-this.addWaveDataCopy[o].pos[0],r=this.addWaveDataCopy[o].startInd||0,l=u.getPointIdxForPx(n,this.addWaveDataCopy[o].step||1),d=this.addWaveDataCopy[o].sens,f=this.addWaveDataCopy[o].step),l+=r,this.$emit("notifyActiveEnlargr",{sens:d,step:f,activeLeadIdx:this.activeLeadIdx,pointIdx:l})};i-this.dbClickWaveFromTime<400?(this.dbClickWaveFromTime=0,s()):this.dbClickWaveFromTime=i}nativeScrollFunc(e){console.log("event",e,e.target.scrollLeft),this.scrollCommon(e.target.scrollLeft||0)}handleScroll(e,t,i){t.type==="horizontal"&&(t.scrollLeft=t.scrollLeft||0,this.scrollCommon(t.scrollLeft))}scrollCommon(e){const t=u.getPointIdxForPx(e,this.publicStep||1);this.scrollWaveFrom(t),this.scrollRuler(t),this.scrollArrow(t),this.$emit("notifyScrollPointIdx",{slidIdxs:t,scrollLeft:e})}scrollWaveFrom(e){var s,a;this.slidingWindowInfo.startInd=e,this.slidingWindowInfo.endInd=e+(this.slidingWindowInfo.points||0),this.addSlidingWindowInfo.startInd=e,this.addSlidingWindowInfo.endInd=e+(this.addSlidingWindowInfo.points||0);let t=this.getRednerPoints(),i=this.getAddRednerPoints();this.waveDataCopy=t,this.addWaveDataCopy=i,(s=this.rowAndColwaveFromGroup)==null||s.eachChild((o,n)=>{n=n||0,!(!t[n]||!t[n].data)&&o.attr({shape:{points:t[n].data.map(([r,l])=>[r+t[n].pos[0],l+t[n].pos[1]])}})}),(a=this.addwaveFromGroup)==null||a.eachChild((o,n)=>{n=n||0,!(!i[n]||!i[n].data)&&o.attr({shape:{points:i[n].data.map(([r,l])=>[r+i[n].pos[0],l+i[n].pos[1]])}})}),t=null,i=null}scrollRuler(e){var i,s;(i=this.rulerGroup)==null||i.removeAll(),(s=this.sceneIns)==null||s.remove(this.rulerGroup);const t=u.getDataLenTimes(this.leadModel.isSingleMode?0:e,this.leadModel.publicSampleRate||0)/1e3;this.drawRuler(t)}scrollArrow(e){var t,i;(t=this.arrowGroup)==null||t.removeAll(),(i=this.sceneIns)==null||i.remove(this.arrowGroup),this.drawLoopArrow(e),this.drawHeardBeatLine(e)}};w([C.Prop({default:()=>["Pstart","Pend","QRSstart","QRSend","Tstart","Tend"]})],exports.default.prototype,"heardBeatLineKeys",2);w([C.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"width",2);w([C.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"height",2);w([C.Prop({default:()=>[]})],exports.default.prototype,"waveConfigs",2);w([C.Prop({default:()=>[]})],exports.default.prototype,"waveLists",2);w([C.Prop({default:()=>[]})],exports.default.prototype,"leadNames",2);w([C.Prop({default:()=>[]})],exports.default.prototype,"analyseValues",2);w([C.Prop({default:()=>({leadHedeWidth:20,leadHedeColor:"#000",leadHedeLineWidth:2})})],exports.default.prototype,"leadHeadConfig",2);w([C.Prop({required:!0})],exports.default.prototype,"leadModel",2);w([C.Prop({default:()=>({isShow:!1,gainName:"",speedName:""})})],exports.default.prototype,"rulerConfig",2);w([C.Prop({default:()=>({lineColor:"#000",lineWidth:1,fontFamily:"\u5FAE\u8F6F\u96C5\u9ED1",fontSize:15})})],exports.default.prototype,"leadConfig",2);w([C.Prop({required:!0})],exports.default.prototype,"gridConfig",2);w([C.Prop({default:()=>({isShow:!1,speed:0,sens:0})})],exports.default.prototype,"measurRulerConfig",2);w([C.Prop({default:()=>({isShow:!1,heartRate:60,speed:0,sens:0})})],exports.default.prototype,"paralleRulerConfig",2);w([C.Prop({default:()=>({isShow:!1,speed:0})})],exports.default.prototype,"magnifierRulerConfig",2);w([C.Prop({default:()=>({isShow:!1,mode:!1,defaultSelect:2,heartrate:!1,interval:!1,qrstCompany:!1,telectricalaxis:!1,isClickArrow:!1,showIdxPai:0})})],exports.default.prototype,"heartFight",2);w([C.Prop({default:()=>({leadIdxs:[1,6,10],leadNames:[1,6,10]})})],exports.default.prototype,"longLeadConfig",2);w([C.Prop({default:()=>({defaultSelect:1})})],exports.default.prototype,"singleModeConfig",2);w([C.Prop({default:()=>({isShow:!0,isNativeScroll:!1,scrollPanel:{scrollingY:!1},bar:{keepShow:!0,size:"10px"}})})],exports.default.prototype,"scrollConfig",2);w([C.Prop({default:()=>0})],exports.default.prototype,"dataTotalTimes",2);w([C.Prop({default:()=>0})],exports.default.prototype,"dataTotalLength",2);w([C.Prop({default:()=>""})],exports.default.prototype,"prefixId",2);w([C.Prop({default:()=>0})],exports.default.prototype,"posStart",2);w([u.throttling(200)],exports.default.prototype,"nativeScrollFunc",1);w([u.throttling(200)],exports.default.prototype,"handleScroll",1);exports.default=w([V.default({name:"Methods"})],exports.default);
|
|
1
|
+
"use strict";var k=Object.defineProperty,T=Object.defineProperties;var z=Object.getOwnPropertyDescriptors;var N=Object.getOwnPropertySymbols;var _=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable;var O=(e,t,i)=>t in e?k(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,S=(e,t)=>{for(var i in t||(t={}))_.call(t,i)&&O(e,i,t[i]);if(N)for(var i of N(t))j.call(t,i)&&O(e,i,t[i]);return e},D=(e,t)=>T(e,z(t));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const $=require("vue"),V=require("../../node_modules/.pnpm/vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-class-component/dist/vue-class-component.esm.js");require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Emit.js");const C=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Prop.js"),G=require("lodash"),u=require("@costy-plus/utils"),c=require("zrender"),X=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function q(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const s=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,s.get?s:{enumerable:!0,get:()=>e[i]})}}return t.default=e,Object.freeze(t)}const Y=X($),E=q(c);var K=Object.defineProperty,Q=Object.getOwnPropertyDescriptor,w=(e,t,i,s)=>{for(var a=s>1?void 0:s?Q(t,i):t,o=e.length-1,n;o>=0;o--)(n=e[o])&&(a=(s?n(t,i,a):n(a))||a);return s&&a&&K(t,i,a),a};exports.default=class extends Y.default{constructor(){super(...arguments),this.AssistCtx=Object.freeze(null),this.sceneIns=Object.freeze(null),this.layerBgGroup=Object.freeze(null),this.leadHeadGroup=Object.freeze(null),this.splitLineGroup=Object.freeze(null),this.rowAndColwaveFromGroup=Object.freeze(null),this.singleWaveFromGroup=Object.freeze(null),this.addwaveFromGroup=Object.freeze(null),this.leadHeadNameGroup=Object.freeze(null),this.leadHeadOffAndDelGroup=Object.freeze(null),this.rulerGroup=Object.freeze(null),this.arrowGroup=Object.freeze(null),this.heardBeatLineGroup=Object.freeze(null),this.bottomAreaHeight=Object.freeze(10),this.totalRows=Object.freeze(0),this.rulerStep=Object.freeze(0),this.drawLoopArrowStartPosIdx=Object.freeze(0),this.dbClickWaveFromTime=Object.freeze(0),this.timersCopy=Object.freeze(0),this.range=Object.freeze(5e3),this.heartBeatPosition=[],this.currentHeardBeat={heardBeat:null,ele:null},this.loopArrowY=Object.freeze({add:0,rowAndCol:0}),this.fontFamily=Object.freeze("\u5FAE\u8F6F\u96C5\u9ED1"),this.ruleH=Object.freeze(40),this.splitBlockHeight=0,this.splitPoint=0,this.slidingWindowInfo=Object.freeze({}),this.addSlidingWindowInfo=Object.freeze({}),this.highestAndLowestPoint=Object.freeze({maxPoints:0,minPoints:0}),this.drawArea=Object.freeze({width:0,height:0}),this.vuescrollWH={width:0,height:0},this.waveDataCopy=[],this.addWaveDataCopy=[],this.singleWaveDataCopy=[],this.leadNameList=[],this.activeLeadIdx=Object.freeze(-1),this.publicStep=Object.freeze(0),this.sceneIsMouseDown=Object.freeze(!1),this.sceneIsMouseDownX=Object.freeze(0)}get canvasContainer(){var e;return{width:this.width,height:this.height-(this.scrollConfig.isShow&&parseInt(`${(e=this.scrollConfig.bar)==null?void 0:e.size}`)||0)||0}}destroyed(){var e,t,i,s,a,o,n,r,l,d,f;this.sceneInsEventOff(),(e=this.rowAndColwaveFromGroup)==null||e.removeAll(),(t=this.singleWaveFromGroup)==null||t.removeAll(),(i=this.addwaveFromGroup)==null||i.removeAll(),(s=this.leadHeadGroup)==null||s.removeAll(),(a=this.splitLineGroup)==null||a.removeAll(),(o=this.leadHeadNameGroup)==null||o.removeAll(),(n=this.leadHeadOffAndDelGroup)==null||n.removeAll(),(r=this.rulerGroup)==null||r.removeAll(),(l=this.arrowGroup)==null||l.removeAll(),(d=this.heardBeatLineGroup)==null||d.removeAll(),(f=this.sceneIns)==null||f.dispose()}initCreatedConfig(){this.vuescrollWH.width=this.width,this.vuescrollWH.height=this.height,this.calcHeartBeatPositions(),this.initConfig()}init(){this.calcHeartBeatPositions(),this.initWaveFormPeer(),this.combinationDrawing(),this.registPostStart()}registPostStart(){this.posStart!==void 0&&this.posStart!==null&&(this.scrollConfig.isShow?this.$nextTick(()=>{var e;this.scrollConfig.isNativeScroll?(e=this.$refs[this.prefixId+"nativeScroll"])==null||e.scrollBy({left:(this.posStart||0)*(this.publicStep||1),top:0}):this.$refs[this.prefixId+"vueScroll"].scrollTo({x:(this.posStart||0)*(this.publicStep||1)})}):(this.scrollWaveFrom(this.posStart),this.scrollRuler(this.posStart),this.scrollArrow(this.posStart)))}resetScroll(e=0){this.scrollConfig.isShow?this.$nextTick(()=>{var t;this.scrollConfig.isNativeScroll?(t=this.$refs[this.prefixId+"nativeScroll"])==null||t.scrollBy({left:e,top:0}):this.$refs[this.prefixId+"vueScroll"].scrollTo({x:e})}):(this.scrollWaveFrom(e),this.scrollRuler(e),this.scrollArrow(e))}handleNotifyMeasurintRectPostion(e){let t=null;this.leadModel.isSingleMode&&this.singleWaveFromGroup?(t=(this.singleWaveFromGroup._children||[]).find(i=>i.rectContain(e.x,e.y)||i.rectContain(e.x,e.yEnd)),console.log("handleNotifyMeasurintRectPostion333333",t)):(t=(this.rowAndColwaveFromGroup._children||[]).find(i=>i.rectContain(e.x,e.y)||i.rectContain(e.x,e.yEnd)),t||(t=(this.addwaveFromGroup._children||[]).find(i=>i.rectContain(e.x,e.y)||i.rectContain(e.x,e.yEnd))),console.log("handleNotifyMeasurintRectPostion44444",t)),t&&this.$emit("notifyMeasurintConfig",t.sens)}combinationDrawing(e=!0){e&&(this.drawLeadHead(),this.drawColSplitLine(),this.initSlidingWindowInfo(),this.drawRulerNotes()),this.drawWaveFrom()}calcHeartBeatPositions(){this.heartBeatPosition=[];let e=[];console.log("this.analyseValues",this.analyseValues);for(let t=0;t<this.analyseValues.length;t++){for(let i=1;i<this.analyseValues[t].length;i++)t!==1&&this.analyseValues[t][i].KeyPosByBeat.Rpoint===0||e.push({index:this.analyseValues[t][i].BeatID,position:this.analyseValues[t][i].KeyPosByBeat.Rpoint,heartrate:this.analyseValues[t][i].AnabyBeat.VentricularRate||this.analyseValues[t][i].AnabyBeat.AtrialRate,interval:Math.round(60/(this.analyseValues[t][i].AnabyBeat.VentricularRate||this.analyseValues[t][i].AnabyBeat.AtrialRate)*1e3),telectricalaxis:this.analyseValues[t][i].AnabyBeat.TAxis===9999?this.range:this.analyseValues[t][i].AnabyBeat.TAxis,qrstCompany:(this.analyseValues[t][i].AnabyBeat.QRS_T===9999?this.range:this.analyseValues[t][i].AnabyBeat.QRS_T)+"\xB0",heart_style:this.analyseValues[t][i].heart_style});this.heartBeatPosition.push(e)}e=null}initSlidingWindowInfo(){const e=this.publicStep||0,t=Math.ceil(this.splitPoint/e);if(this.slidingWindowInfo={points:this.slidingWindowInfo.points!==t||this.leadModel.isSingleMode?t:this.slidingWindowInfo.points,startInd:this.slidingWindowInfo.startInd||0,endInd:(this.slidingWindowInfo.startInd||0)+t},this.slidingWindowInfo.endInd>this.dataTotalLength&&(this.slidingWindowInfo.endInd=this.dataTotalLength),this.scrollConfig.isShow&&!this.leadModel.isSingleMode){const s=u.getStepForSpeed(this.leadModel.publicSpeed,this.gridConfig.cellMg,this.leadModel.publicSampleRate),a=this.dataTotalLength*s;this.vuescrollWH.width=this.canvasContainer.width+(a||0)-this.splitPoint}const i=Math.ceil((this.drawArea.width-this.leadHeadConfig.leadHedeWidth)/e);this.addSlidingWindowInfo={points:this.addSlidingWindowInfo.points!==i||this.leadModel.isSingleMode?i:this.addSlidingWindowInfo.points,startInd:this.addSlidingWindowInfo.startInd||0,endInd:(this.addSlidingWindowInfo.endInd||0)+i},this.addSlidingWindowInfo.endInd>this.dataTotalLength&&(this.addSlidingWindowInfo.endInd=this.dataTotalLength)}calcHighestAndLowestPoint(){const e=G.flattenDeep(this.waveLists);return{maxPoints:G.max(e)||0,minPoints:G.min(e)||0}}isLeadOff(e){return!!this.waveConfigs[e].isLeadOff}isLeadDel(e){return!!this.waveConfigs[e].isLeadDelete}initConfig(){var t;this.rowAndColwaveFromGroup=new c.Group({name:"rowAndColwaveFrom"}),this.singleWaveFromGroup=new c.Group({name:"singleWaveFrom"}),this.addwaveFromGroup=new c.Group({name:"addwaveFrom"}),this.leadHeadGroup=new c.Group({name:"leadHead"}),this.splitLineGroup=new c.Group({name:"splitLine"}),this.leadHeadNameGroup=new c.Group({name:"leadHeadName"}),this.leadHeadOffAndDelGroup=new c.Group({name:"leadHeadOffAndDel"}),this.rulerGroup=new c.Group({name:"ruler"}),this.arrowGroup=new c.Group({name:"arrowLoop"}),this.heardBeatLineGroup=new c.Group({name:"heardBeatLine"});let e=this.canvasContainer.width;if(this.leadModel.ecgareawidth===1){const i=u.getPrintLengthToPx(((t=this.waveConfigs[0])==null?void 0:t.sampleRate)||0)+this.leadHeadConfig.leadHedeWidth;i<=e&&(e=i)}else if(this.leadModel.isContinuous){const i=u.getStepForSpeed(this.leadModel.publicSpeed,this.gridConfig.cellMg,this.leadModel.publicSampleRate),s=this.dataTotalLength*i;!this.leadModel.isSingleMode&&(s||0)<e-this.leadHeadConfig.leadHedeWidth&&(e=(s||0)+this.leadHeadConfig.leadHedeWidth)}this.drawArea={width:e,height:this.canvasContainer.height-this.bottomAreaHeight-30},this.slidingWindowInfo={points:this.slidingWindowInfo.points||0,startInd:this.slidingWindowInfo.startInd||0,endInd:this.slidingWindowInfo.endInd||0},this.addSlidingWindowInfo={points:this.addSlidingWindowInfo.points||0,startInd:this.addSlidingWindowInfo.startInd||0,endInd:this.addSlidingWindowInfo.endInd||0},this.loopArrowY={add:0,rowAndCol:0},this.currentHeardBeat={heardBeat:null,ele:null},this.leadNameList=this.leadNames.map((i,s)=>s)||[],this.totalRows=this.leadModel.line+this.leadModel.add||1,this.highestAndLowestPoint=this.calcHighestAndLowestPoint(),this.leadModel.isSingleMode?(this.splitBlockHeight=Math.abs(this.highestAndLowestPoint.maxPoints)+Math.abs(this.highestAndLowestPoint.minPoints)+22,this.splitBlockHeight>this.drawArea.height&&(this.splitBlockHeight=this.drawArea.height/6)):this.splitBlockHeight=this.drawArea.height/this.totalRows,this.publicStep=u.getStepForSpeed(this.leadModel.publicSpeed,this.gridConfig.cellMg,this.leadModel.publicSampleRate),this.rulerStep=(this.publicStep||1)*(this.leadModel.publicSampleRate||1)/(this.gridConfig.cellMg*2+2)}initWaveFormPeer(){var i;(i=this.sceneIns)==null||i.dispose(),this.AssistCtx=null;const e=document.getElementById(`${this.prefixId}wave-from-box`);this.sceneIns=E.init(e,{width:this.canvasContainer.width,height:this.canvasContainer.height,devicePixelRatio:1});const t=document.getElementById(`${this.prefixId}MXGrid`);this.AssistCtx=t.getContext("2d"),this.sceneInsEventOff(),this.sceneIns.on("mousemove",this.sceneInsMousemove),this.sceneIns.on("mousedown",this.sceneInsMouseDown),this.sceneIns.on("mouseup",this.sceneInsMouseUp)}sceneInsMousemove(e){var t;this.sceneIsMouseDown&&(this.scrollConfig.isNativeScroll?(t=this.$refs[`${this.prefixId}nativeScroll`])==null||t.scrollBy({left:e.offsetX-this.sceneIsMouseDownX,top:0}):this.$refs[`${this.prefixId}vueScroll`].scrollBy({dx:e.offsetX-this.sceneIsMouseDownX}))}sceneInsMouseDown(e){this.sceneIsMouseDown=!0,this.sceneIsMouseDownX=e.offsetX}sceneInsMouseUp(e){this.sceneIsMouseDown=!1}sceneInsEventOff(){var e,t,i;(e=this.sceneIns)==null||e.off("mousemove",this.sceneInsMousemove),(t=this.sceneIns)==null||t.off("mousedown",this.sceneInsMouseDown),(i=this.sceneIns)==null||i.off("mouseup",this.sceneInsMouseUp)}drawLeadHead(){var i,s,a,o,n,r;(i=this.leadHeadGroup)==null||i.removeAll(),(s=this.sceneIns)==null||s.remove(this.leadHeadGroup);let e="",t=!1;e:for(let l=1;l<=this.totalRows;l++){if(t=!1,!(this.waveConfigs||[])[l-1])break e;if(!!this.waveConfigs[l-1].isShowLeadHead){if(l<=this.leadModel.line)e=(this.leadNames||[])[l-1]||"",this.waveConfigs[l-1].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(e)&&(t=!0),this.leadHeadConfig.isShowLeadCalibration!==!1&&((a=this.leadHeadGroup)==null||a.add(this.createLeadHead(0,this.waveConfigs[l-1].posY||l*this.splitBlockHeight,u.getSens(this.waveConfigs[l-1].isFixedSquareWaveSize?this.waveConfigs[l-1].fixedSquareWaveSizeGain:this.waveConfigs[l-1].gain,this.gridConfig.cellMg),t)));else if(l>this.leadModel.line&&l-this.leadModel.line<=this.leadModel.add){if(!this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]])continue;e=this.leadNames[this.longLeadConfig.leadNames[this.longLeadConfig.leadNames[l-this.leadModel.line-1]]],this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(e)&&(t=!0),this.leadHeadConfig.isShowLeadCalibration!==!1&&((n=this.leadHeadGroup)==null||n.add(this.createLeadHead(0,((o=this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]])==null?void 0:o.posY)||l*this.splitBlockHeight,u.getSens(this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]].isFixedSquareWaveSize?this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]].fixedSquareWaveSizeGain:this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]].gain,this.gridConfig.cellMg),t)))}}}(r=this.sceneIns)==null||r.add(this.leadHeadGroup)}createLeadHead(e,t,i,s){const a=this.leadHeadConfig.leadHedeWidth/4;return i=s?i/2:i,new c.Polyline({cursor:"",shape:{points:[[0+e,0+t],[a+e,0+t],[a+e,-i+t],[3*a+e,-i+t],[3*a+e,0+t],[4*a+e,0+t]]},style:{stroke:this.leadHeadConfig.leadHedeColor,lineWidth:this.leadHeadConfig.leadHedeLineWidth}})}drawColSplitLine(){var o,n,r,l,d;(o=this.splitLineGroup)==null||o.removeAll(),(n=this.sceneIns)==null||n.remove(this.splitLineGroup);const e=(this.drawArea.width-this.leadHeadConfig.leadHedeWidth)/(this.leadModel.column||1);if(this.splitPoint=e,this.leadModel.isSingleMode){const f=u.getStepForSpeed(this.waveConfigs[this.singleModeConfig.defaultSelect].speed,this.gridConfig.cellMg,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate),g=u.getDataLenTimes(Math.ceil(this.splitPoint/(f||1))||0,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate||0),v=parseInt(`${g/1e3%60}`,10);this.splitPoint=v*(this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate||0)*(f||0)}let t=0,i=0,s=0,a=0;for(let f=1;f<=this.leadModel.column-1;f++){t=f*e+this.leadHeadConfig.leadHedeWidth,i=f*this.leadModel.line;e:for(let g=1;g<=this.leadModel.line;g++){if(!(this.waveConfigs||[])[g-1+i])break e;if((this.waveConfigs||[])[g-1+i].posX!==void 0&&(t=(this.waveConfigs||[])[g-1+i].posX),s=(this.waveConfigs||[])[g-1+i].leadIdx,s===void 0)break;a=u.getSens((this.waveConfigs||[])[g-1+i].isFixedSquareWaveSize?(this.waveConfigs||[])[g-1+i].fixedSquareWaveSizeGain:(this.waveConfigs||[])[g-1+i].gain,this.gridConfig.cellMg),(this.waveConfigs||[])[g-1+i].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.leadNames[s])?(r=this.splitLineGroup)==null||r.add(this.creatSplitLine(t,((this.waveConfigs||[])[g-1+i].posY||g*this.splitBlockHeight)-(a||0)/2*.5,a,!0)):(l=this.splitLineGroup)==null||l.add(this.creatSplitLine(t,((this.waveConfigs||[])[g-1+i].posY||g*this.splitBlockHeight)-(a||0)*.5,a))}}(d=this.sceneIns)==null||d.add(this.splitLineGroup)}creatSplitLine(e,t,i,s){return new c.Line({cursor:"",shape:{x1:0+e,y1:0+t,x2:0+e,y2:(s?(i||0)/2:i||0)+t},style:{stroke:this.leadHeadConfig.leadHedeColor,lineWidth:this.leadHeadConfig.leadHedeLineWidth}})}drawRulerNotes(){var s,a;if(!this.rulerConfig.isShow)return;const e={fill:"#FF0080",fontSize:13,fontFamily:this.fontFamily},t=new c.Text({cursor:"",style:S({text:"(s)",x:this.leadHeadConfig.leadHedeWidth/2-8,y:this.canvasContainer.height-25},e)}),i=new c.Text({style:S({text:this.rulerConfig.renderText||`${this.rulerConfig.gainName} ${this.rulerConfig.speedName}`,x:this.leadHeadConfig.leadHedeWidth/2+20,y:this.canvasContainer.height-this.ruleH},e)});(s=this.sceneIns)==null||s.add(i),(a=this.sceneIns)==null||a.add(t)}drawRuler(e=0){var n,r,l;if(this.timersCopy=e,!this.rulerConfig.isShow)return;const t=this.dataTotalTimes*2;let i=this.leadHeadConfig.leadHedeWidth,s=0,a=t;const o=u.getStepForSpeed(this.rulerConfig.speed,this.gridConfig.cellMg,this.rulerConfig.sampleRate);if(this.leadModel.isContinuous)a=t*1.1;else if(!this.leadModel.add&&o){const d=u.getPointIdxForPx(this.splitPoint*(this.leadModel.column||1),o),f=u.getDataLenTimes(d,this.rulerConfig.sampleRate||0)/1e3;a=e+f}for(let d=e;d<=a;d=+(d+.1).toFixed(1))d!==e&&(i+=this.rulerStep),d%1===0?(s=this.canvasContainer.height-10,(n=this.rulerGroup)==null||n.add(new c.Text({cursor:"",style:{x:i,y:s-15,text:d+"",fontSize:13,fontFamily:this.fontFamily,fill:"#FF0080"}}))):s=this.canvasContainer.height-5,(r=this.rulerGroup)==null||r.add(new c.Line({cursor:"",shape:{x1:i,y1:s,x2:i,y2:this.canvasContainer.height},style:{stroke:"#FF0080",lineWidth:2}}));(l=this.sceneIns)==null||l.add(this.rulerGroup)}drawWaveFrom(){var e,t,i,s,a;(e=this.leadHeadNameGroup)==null||e.removeAll(),(t=this.leadHeadOffAndDelGroup)==null||t.removeAll(),this.leadModel.isSingleMode?(this.addWaveDataCopy=[],this.waveDataCopy=[],this.createSingleWaveFrom(),(i=this.sceneIns)==null||i.add(this.singleWaveFromGroup)):(this.singleWaveDataCopy=[],this.createAddWaveFrom(),this.createRowAndColWaveFrom(),(s=this.sceneIns)==null||s.add(this.rowAndColwaveFromGroup),(a=this.sceneIns)==null||a.add(this.addwaveFromGroup)),this.drawLeadHeadNameAndOffOrDel(),this.drawRuler(this.timersCopy),this.drawLoopArrow(this.drawLoopArrowStartPosIdx)}getRednerSinglePoints(){let e=0,t=0;const i=this.waveLists[this.singleModeConfig.defaultSelect]||[];let s=this.slidingWindowInfo.startInd||0,a=this.slidingWindowInfo.endInd||0;const o=u.getStepForSpeed(this.waveConfigs[this.singleModeConfig.defaultSelect].speed,this.gridConfig.cellMg,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate),n=u.getSens(this.waveConfigs[this.singleModeConfig.defaultSelect].gain,this.gridConfig.cellMg),r=[],l=Math.ceil(i.length/(this.slidingWindowInfo.points||1));for(let d=0;d<1;d++){e=d*this.splitPoint+this.leadHeadConfig.leadHedeWidth,t=0;for(let f=1;f<=l;f++)t=f*this.splitBlockHeight,f>1&&(t*=.8,s=a,a=s+(this.slidingWindowInfo.points||0)),f===1&&(this.loopArrowY.rowAndCol=t),r.push({pos:[e,t],startInd:s,endInd:a,step:o,sens:n,data:i.slice(s,a).map((g,v)=>this.waveConfigs[this.singleModeConfig.defaultSelect].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.waveConfigs[this.singleModeConfig.defaultSelect].leadName)?u.getActualY(this.waveConfigs[this.singleModeConfig.defaultSelect].sensitivity,g,n/2):u.getActualY(this.waveConfigs[this.singleModeConfig.defaultSelect].sensitivity,g,n)).map((g,v)=>[v*(o||0),-g])})}return r}createSingleWaveFrom(){var n,r,l;(n=this.singleWaveFromGroup)==null||n.removeAll();let e=this.getRednerSinglePoints(),t=u.getDataLenTimes(this.slidingWindowInfo.points||0,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate||0);const i=t;let s=0,a=0,o=0;for(let d=0;d<e.length&&!(e[d].pos[1]>this.drawArea.height+this.bottomAreaHeight);d++)this.isLeadDel(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx)||(s=parseInt(`${t/1e3/60}`,10),a=parseInt(`${t/1e3%60}`,10),s=a===60?s+=1:s,s=s===0?"00":s<10?`0${s}`:s,a=a===0||a===60?"00":a<10?`0${a}`:a,(r=this.singleWaveFromGroup)==null||r.add(new c.Polyline({cursor:"",name:this.singleModeConfig.defaultSelect+"_"+d,sens:e[d].sens,shape:{points:e[d].data.map(([f,g],v)=>isNaN(g)?(o===0&&(o=v-1,o=o<0?0:o),[e[d].data[o][0]+e[d].pos[0],e[d].data[o][1]+e[d].pos[1]]):(o=0,[f+e[d].pos[0],g+e[d].pos[1]]))},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:f=>{this.onDbClickWaveFrom(f,"single")},oncontextmenu:f=>{this.onContextmenu(f,"single")}})),t/1e3<this.dataTotalTimes&&((l=this.singleWaveFromGroup)==null||l.add(new c.Text({cursor:"",style:{x:e[d].pos[0],y:e[d].pos[1]-(e[d].sens||0)/2,text:d===0?"00:00 \u5FC3\u7387":`${s}:${a} \u5FC3\u7387`,fontWeight:"bold",fontSize:14,fill:"#FF0080",fontFamily:this.fontFamily}}))),d>0&&(t+=i)),this.createLeadName(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx,e[0].pos[0]-10,e[0].pos[1]+10),this.createLeadOffAndDel(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx,e[0].pos[0]-5,e[0].pos[1]-(e[d].sens||0)/2-15),this.waveConfigs[this.singleModeConfig.defaultSelect].squareWaveSens&&this.createLeadSensNams(this.waveConfigs[this.singleModeConfig.defaultSelect].squareWaveSens,e[0].pos[0]-10,e[0].pos[1]+10);this.singleWaveDataCopy=e,e=null}drawLoopArrow(e=0){var v,M,L,H,F,P,A,y,m,p,I,b,B;if(this.drawLoopArrowStartPosIdx=e,console.log("this.heartFight",this.heartFight),!this.heartFight.isShow)return;(v=this.arrowGroup)==null||v.removeAll(),this.heartFight.mode&&this.currentHeardBeat.heardBeat===null&&(this.currentHeardBeat.heardBeat=this.heartBeatPosition[this.heartFight.showIdxPai][this.heartFight.defaultSelect]||null,this.drawHeardBeatLine());let t=0,i=0,s=0;if(this.leadModel.add){const W=u.getSens(this.waveConfigs[this.longLeadConfig.leadIdxs[0]].gain,this.gridConfig.cellMg);s=this.loopArrowY.add-(W||0)-this.splitBlockHeight/3.5}else this.leadModel.column===1?s=0:s=20;let a=0,o=0;const n={fontSize:12,fill:"#FF0000",fontFamily:this.fontFamily};let r=0,l=0;const d=u.getStepForSpeed(this.waveConfigs[this.heartFight.showIdxPai].speed,this.gridConfig.cellMg,this.waveConfigs[this.heartFight.showIdxPai].sampleRate);let f=0,g=0;for(let W=0;W<(this.heartBeatPosition[this.heartFight.showIdxPai]||[]).length;W++){const h=this.heartBeatPosition[this.heartFight.showIdxPai][W];if(f=((h==null?void 0:h.position)||0)-e,e>((h==null?void 0:h.position)||0)||!this.leadModel.isContinuous&&!this.leadModel.add&&f>(this.slidingWindowInfo.points||0)||this.leadModel.isSingleMode&&f>(this.slidingWindowInfo.points||0))continue;if(((h==null?void 0:h.position)||0)-this.addSlidingWindowInfo.startInd>(this.addSlidingWindowInfo.points||0))break;a=((M=this.AssistCtx)==null?void 0:M.measureText(`${(h==null?void 0:h.heart_style)||""}`).width)||0,t=f*(d||0)+this.leadHeadConfig.leadHedeWidth-0,o=0,(L=this.arrowGroup)==null||L.add(new c.Text({name:"arrow_box",cursor:"",style:D(S({x:t,y:s+10,text:`${(h==null?void 0:h.heart_style)||""}`},n),{fill:"#333"}),onclick:R=>{!this.heartFight.mode&&!this.heartFight.isClickArrow||this.arrowLoopClick(h,R.target)}}));const x=this.heartBeatPosition[this.heartFight.showIdxPai][W+1]||null;if(!!x&&(g=((x==null?void 0:x.position)||0)-e,!(!this.leadModel.isContinuous&&!this.leadModel.add&&g>(this.slidingWindowInfo.points||0))&&!(this.leadModel.isSingleMode&&g>(this.slidingWindowInfo.points||0)))){if(((x==null?void 0:x.position)||0)-this.addSlidingWindowInfo.startInd>(this.addSlidingWindowInfo.points||0))break;(H=this.AssistCtx)!=null&&H.measureText(`${(h==null?void 0:h.heart_style)||""}`).width,i=g*(d||0)+this.leadHeadConfig.leadHedeWidth-0,this.heartFight.heartrate&&(r=h==null?void 0:h.heartrate,this.heartFight.isHeartRateCalculatedBasedOnInterval&&W!==0&&(l=u.calcMs(Math.abs((h==null?void 0:h.position)*(d||0)-this.heartBeatPosition[this.heartFight.showIdxPai][W-1].position*(d||0)),this.waveConfigs[this.heartFight.showIdxPai].speed,this.gridConfig.cellMg,1),r=l!==0&&u.calcBpm(l)||0),a=((F=this.AssistCtx)==null?void 0:F.measureText(`${r||""}`).width)||0,(P=this.arrowGroup)==null||P.add(new c.Text({cursor:"",style:S({x:(i-t)/2-a/2+t,y:o+s+5,text:`${r||""}`},n)})),o+=12),this.heartFight.interval&&(a=((A=this.AssistCtx)==null?void 0:A.measureText(`${(h==null?void 0:h.interval)||""}`).width)||0,(y=this.arrowGroup)==null||y.add(new c.Text({cursor:"",style:S({x:(i-t)/2-a/2+t,y:o+s+5,text:`${(h==null?void 0:h.interval)||""}`},n)})),o+=12),this.heartFight.qrstCompany&&(a=((m=this.AssistCtx)==null?void 0:m.measureText(`${(h==null?void 0:h.qrstCompany)||""}`).width)||0,(p=this.arrowGroup)==null||p.add(new c.Text({cursor:"",style:S({x:(i-t)/2-a/2+t,y:o+s+5,text:`${(h==null?void 0:h.qrstCompany)||""}`},n)})),o+=12),this.heartFight.telectricalaxis&&(a=((I=this.AssistCtx)==null?void 0:I.measureText(`${(h==null?void 0:h.telectricalaxis)||""}`).width)||0,(b=this.arrowGroup)==null||b.add(new c.Text({cursor:"",style:S({x:(i-t)/2-a/2+t,y:o+s+5,text:`${(h==null?void 0:h.telectricalaxis)||""}`},n)})))}}(B=this.sceneIns)==null||B.add(this.arrowGroup)}arrowLoopClick(e,t){this.$emit("notifyHeardBeat",c.util.clone(e)),this.currentHeardBeat.heardBeat=e,this.currentHeardBeat.ele=t,this.drawHeardBeatLine()}drawHeardBeatLine(e=0){var a,o,n,r,l,d,f,g,v,M,L,H,F,P,A;if(!this.currentHeardBeat.heardBeat)return;(a=this.heardBeatLineGroup)==null||a.removeAll(),(o=this.sceneIns)==null||o.remove(this.heardBeatLineGroup);let t={},i=0,s;if(this.leadModel.isSingleMode){let y=this.getRednerSinglePoints();e:for(let m=0;m<y.length;m++){if(m>=1||this.leadNames[this.singleModeConfig.defaultSelect]==="M")break e;if((n=this.analyseValues[this.singleModeConfig.defaultSelect])!=null&&n[this.currentHeardBeat.heardBeat.index])t=((d=(l=this.analyseValues[this.singleModeConfig.defaultSelect])==null?void 0:l[this.currentHeardBeat.heardBeat.index])==null?void 0:d.KeyPosByBeat)||t;else{let p=this.analyseValues.find(I=>{var b;return(b=I[this.currentHeardBeat.heardBeat.index])==null?void 0:b.KeyPosByBeat});if(!p)break e;p&&(t=(r=p[this.currentHeardBeat.heardBeat.index])==null?void 0:r.KeyPosByBeat),p=null}for(const p in t)if(this.heardBeatLineKeys.includes(p)){if(i=(t[p]-this.slidingWindowInfo.startInd)*(y[m].step||0),this.isLeadOff(m)||this.isLeadDel(m))continue;if(!this.leadModel.isContinuous&&t[p]-this.slidingWindowInfo.startInd>(this.slidingWindowInfo.points||0))break e;s=y[m],(f=this.heardBeatLineGroup)==null||f.add(this.createHeardBeatLine(s.pos[0]+i,s.pos[1],this.singleModeConfig.defaultSelect+"_"+m,"single"))}}y=null}else{let y=this.getRednerPoints(),m=this.getAddRednerPoints();e:for(let p=0;p<y.length;p++){t=((v=(g=this.analyseValues[p])==null?void 0:g[this.currentHeardBeat.heardBeat.index])==null?void 0:v.KeyPosByBeat)||t;for(const I in t)if(this.heardBeatLineKeys.includes(I)&&Object.prototype.hasOwnProperty.call(t,I)){if(i=(t[I]-this.slidingWindowInfo.startInd)*(y[p].step||0),this.isLeadOff(p)||this.isLeadDel(p))continue;if(e>t[I]||!this.leadModel.isContinuous&&t[I]-this.slidingWindowInfo.startInd>(this.slidingWindowInfo.points||0)||(s=y[p],this.leadModel.isContinuous&&p>this.leadModel.line-1))break e;(M=this.heardBeatLineGroup)==null||M.add(this.createHeardBeatLine(s.pos[0]+i,s.pos[1],p+"_"+p,"rowAndCol"))}}e:for(let p=0;p<m.length;p++)if(!!((L=this.analyseValues[p])!=null&&L[this.currentHeardBeat.heardBeat.index])){t=((F=(H=this.analyseValues[p])==null?void 0:H[this.currentHeardBeat.heardBeat.index])==null?void 0:F.KeyPosByBeat)||t;for(const I in t)if(this.heardBeatLineKeys.includes(I)){if(i=(t[I]-this.slidingWindowInfo.startInd)*(m[p].step||0),this.isLeadOff(this.longLeadConfig.leadIdxs[p])&&this.isLeadDel(this.longLeadConfig.leadIdxs[p]))continue;if(e>t[I])break e;s=m[p],(P=this.heardBeatLineGroup)==null||P.add(this.createHeardBeatLine(s.pos[0]+i,s.pos[1],this.longLeadConfig.leadIdxs[p]+"_"+p,"add"))}}y=null,m=null}(A=this.sceneIns)==null||A.add(this.heardBeatLineGroup),t=null}createHeardBeatLine(e,t,i,s){return new c.Line({name:i,cursor:"",shape:{x1:e,y1:t-15,x2:e,y2:t+15},style:{stroke:"blue",lineWidth:1},oncontextmenu:a=>{this.onContextmenu(a,s)}})}drawLeadHeadNameAndOffOrDel(){var e,t;(e=this.sceneIns)==null||e.add(this.leadHeadNameGroup),(t=this.sceneIns)==null||t.add(this.leadHeadOffAndDelGroup)}getAddRednerPoints(){const e=[];let t=this.leadHeadConfig.leadHedeWidth,i=0,s=0,a=[],o=0,n=0;for(let r=0;r<this.leadModel.add;r++)s=this.longLeadConfig.leadIdxs[r],this.waveConfigs[s]&&(t=this.waveConfigs[s].addPosX||t,o=u.getStepForSpeed(this.waveConfigs[s].speed,this.gridConfig.cellMg,this.waveConfigs[s].sampleRate),n=u.getSens(this.waveConfigs[s].gain,this.gridConfig.cellMg),i=this.waveConfigs[s].addPosY||(r+this.leadModel.line+1)*this.splitBlockHeight,a=this.waveLists[s]||[],r===0&&(this.loopArrowY.add=i),e.push({pos:[t,i],startInd:this.addSlidingWindowInfo.startInd||0,endInd:this.addSlidingWindowInfo.endInd||0,data:a.slice(this.addSlidingWindowInfo.startInd,this.addSlidingWindowInfo.endInd).map((l,d)=>this.waveConfigs[s].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.waveConfigs[s].leadName)?u.getActualY(this.waveConfigs[s].sensitivity,l,n/2):u.getActualY(this.waveConfigs[s].sensitivity,l,n)).map((l,d)=>[d*(o||0),-l]),sens:n,step:o}));return e}createAddWaveFrom(){var i,s;(i=this.addwaveFromGroup)==null||i.removeAll();let e=this.getAddRednerPoints(),t=0;for(let a=0;a<e.length;a++)this.isLeadDel(this.longLeadConfig.leadIdxs[a])||((s=this.addwaveFromGroup)==null||s.add(new c.Polyline({cursor:"",name:this.longLeadConfig.leadIdxs[a]+"_"+a,sens:e[a].sens,shape:{points:e[a].data.map(([o,n],r)=>isNaN(n)?(t===0&&(t=r-1,t=t<0?0:t),[e[a].data[t][0]+e[a].pos[0],e[a].data[t][1]+e[a].pos[1]]):(t=0,[o+e[a].pos[0],n+e[a].pos[1]]))},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:o=>{this.onDbClickWaveFrom(o,"add")},oncontextmenu:o=>{this.onContextmenu(o,"add")}})),this.createLeadName(this.longLeadConfig.leadNames[a],e[a].pos[0],e[a].pos[1]-15,!0),this.createLeadOffAndDel(this.longLeadConfig.leadIdxs[a],e[a].pos[0]-5,e[a].pos[1]-(e[a].sens||0)/2-15),this.waveConfigs[this.longLeadConfig.leadIdxs[a]].squareWaveSens&&this.createLeadSensNams(this.waveConfigs[this.longLeadConfig.leadIdxs[a]].squareWaveSens,e[a].pos[0],e[a].pos[1]-15));this.addWaveDataCopy=e,e=null}getRednerPoints(){let e=0,t=0,i=0,s=[],a=0,o=0,n=this.slidingWindowInfo.startInd||0,r=this.slidingWindowInfo.endInd||0;const l=[];for(let d=0;d<this.leadModel.column;d++){e=d*this.splitPoint+this.leadHeadConfig.leadHedeWidth,t=0,this.leadModel.isContinuous&&d>0&&(n=r,r=n+(this.slidingWindowInfo.points||0));for(let f=1;f<=this.leadModel.line&&(t=f*this.splitBlockHeight,!(i>(this.waveLists||[]).length-1));f++)e=this.waveConfigs[i].posX||e,t=this.waveConfigs[i].posY||t,a=u.getStepForSpeed(this.waveConfigs[i].speed,this.gridConfig.cellMg,this.waveConfigs[i].sampleRate),o=u.getSens(this.waveConfigs[i].gain,this.gridConfig.cellMg),s=this.waveLists[i]||[],this.waveConfigs[i]&&(f===1&&(this.loopArrowY.rowAndCol=t),l.push({pos:[e,t],startInd:n,endInd:r,sens:o,step:a,data:s.slice(n,r).map((g,v)=>this.waveConfigs[i].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.waveConfigs[i].leadName)?u.getActualY(this.waveConfigs[i].sensitivity,g,o/2):u.getActualY(this.waveConfigs[i].sensitivity,g,o)).map((g,v)=>[v*(a||0),-g])}),i++)}return l}createRowAndColWaveFrom(){var s,a;(s=this.rowAndColwaveFromGroup)==null||s.removeAll();let e=this.getRednerPoints(),t=0,i=0;for(let o=0;o<e.length;o++)t=this.waveConfigs[o].leadIdx||0,this.isLeadDel(t)||(a=this.rowAndColwaveFromGroup)==null||a.add(new c.Polyline({cursor:"",name:o+"_"+o,sens:e[o].sens,shape:{points:e[o].data.map(([n,r],l)=>isNaN(r)?(i===0&&(i=l-1,i=i<0?0:i),[e[o].data[i][0]+e[o].pos[0],e[o].data[i][1]+e[o].pos[1]]):(i=0,[n+e[o].pos[0],r+e[o].pos[1]]))},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:n=>{this.onDbClickWaveFrom(n,"rowAndCol")},oncontextmenu:n=>{this.onContextmenu(n,"rowAndCol")}})),o<this.leadModel.line?(console.log("this.leadNames[LeadNameTextIdx]1111",this.leadNames[t],e[o].pos[1],e[o].sens),this.createLeadName(t,e[o].pos[0],e[o].pos[1]-15),this.createLeadOffAndDel(t,e[o].pos[0]-5,e[o].pos[1]-(e[o].sens||0)/2-15),this.waveConfigs[o].squareWaveSens&&this.createLeadSensNams(this.waveConfigs[o].squareWaveSens,e[o].pos[0],e[o].pos[1]-15)):(console.log("this.leadNames[LeadNameTextIdx]2222",this.leadNames[t],e[o].pos[1],e[o].sens),this.createLeadName(t,e[o].pos[0]+5,e[o].pos[1]-40),this.createLeadOffAndDel(t,e[o].pos[0]-5,e[o].pos[1]-(e[o].sens||0)/2+9),this.waveConfigs[o].squareWaveSens&&this.createLeadSensNams(this.waveConfigs[o].squareWaveSens,e[o].pos[0],e[o].pos[1]-15));this.waveDataCopy=e,e=null}createLeadSensNams(e,t,i){var a;let s=t;this.leadHeadConfig.isShowLeadCalibration===!1&&(this.leadModel.isSingleMode?s=t-this.leadHeadConfig.leadHedeWidth+12:s=t-this.leadHeadConfig.leadHedeWidth+5),this.leadHeadConfig.isShowLeadCalibration&&this.leadHeadConfig.isCalibrationDisplayedBelow&&(t<=this.leadHeadConfig.leadHedeWidth&&(this.leadModel.isSingleMode?s=t-this.leadHeadConfig.leadHedeWidth+12:s=t-this.leadHeadConfig.leadHedeWidth+5),i=i+40),(a=this.leadHeadNameGroup)==null||a.add(new c.Text({style:{x:s,y:i,text:e,fontSize:this.leadConfig.squareWaveSensFontSize||this.leadConfig.fontSize,fill:this.leadConfig.lineColor,fontFamily:this.leadConfig.fontFamily}}))}createLeadName(e,t,i,s=!1){var o;let a=t;this.leadHeadConfig.isShowLeadCalibration===!1&&(this.leadModel.isSingleMode?a=t-this.leadHeadConfig.leadHedeWidth+12:a=t-this.leadHeadConfig.leadHedeWidth+5),this.leadHeadConfig.isShowLeadCalibration&&this.leadHeadConfig.isCalibrationDisplayedBelow&&(t<=this.leadHeadConfig.leadHedeWidth&&(this.leadModel.isSingleMode?a=t-this.leadHeadConfig.leadHedeWidth+12:a=t-this.leadHeadConfig.leadHedeWidth+5),console.log("this.leadNames[LeadNameTextIdx]",this.leadNames[e],i),i=i+20,console.log("this.leadNames[LeadNameTextIdx]",this.leadNames[e],i)),(o=this.leadHeadNameGroup)==null||o.add(new c.Text({style:{x:a,y:i,text:this.leadNames[e],fontSize:this.leadConfig.fontSize,fill:this.leadConfig.lineColor,fontFamily:this.leadConfig.fontFamily},oncontextmenu:n=>{n.event.preventDefault(),this.$emit("notiifyLeadName",{event:D(S({},n),{name:this.leadNames[e],idx:e}),isAdd:s})},onclick:n=>{this.$emit("notiifyLeadName",{event:D(S({},n),{name:this.leadNames[e],idx:e}),isAdd:s})}}))}createLeadOffAndDel(e,t,i){var s;(this.isLeadOff(e)||this.isLeadDel(e))&&((s=this.leadHeadOffAndDelGroup)==null||s.add(new c.Text({cursor:"",style:{x:t,y:i,text:"X",fontWeight:"bold",fontSize:18,fill:"#E42c03",fontFamily:this.fontFamily}})))}onContextmenu(e,t){e.event.preventDefault(),e.event.stopPropagation(),console.log("onContextmenu",e);const i=e.target.name.split("_"),s=+i[1];let a=0,o=0,n=0,r=0,l=0;t==="single"?(a=e.offsetX-this.singleWaveDataCopy[s].pos[0],o=this.singleWaveDataCopy[s].startInd,n=u.getPointIdxForPx(a,this.singleWaveDataCopy[s].step||1),r=this.singleWaveDataCopy[s].sens,l=this.singleWaveDataCopy[s].step):t==="rowAndCol"?(a=e.offsetX-this.waveDataCopy[s].pos[0],o=this.waveDataCopy[s].startInd||0,n=u.getPointIdxForPx(a,this.waveDataCopy[s].step||1),r=this.waveDataCopy[s].sens,l=this.waveDataCopy[s].step):t==="add"&&(a=e.offsetX-this.addWaveDataCopy[s].pos[0],o=this.addWaveDataCopy[s].startInd||0,n=u.getPointIdxForPx(a,this.addWaveDataCopy[s].step||1),r=this.addWaveDataCopy[s].sens,l=this.addWaveDataCopy[s].step),n+=o,this.$emit("notifyOnContextmenu",{sens:r,step:l,activeLeadIdx:+i[0],pointIdx:n,offsetX:e.offsetX,offsetY:e.offsetY,pageX:e.event.pageX,pageY:e.event.pageY})}onDbClickWaveFrom(e,t){console.log("onDbClickWaveFrom",e);const i=Date.now(),s=()=>{const a=e.target.name.split("_");this.activeLeadIdx=+a[0];const o=+a[1];let n=0,r=0,l=0,d=0,f=0;t==="single"?(n=e.offsetX-this.singleWaveDataCopy[o].pos[0],r=this.singleWaveDataCopy[o].startInd,l=u.getPointIdxForPx(n,this.singleWaveDataCopy[o].step||1),d=this.singleWaveDataCopy[o].sens,f=this.singleWaveDataCopy[o].step):t==="rowAndCol"?(n=e.offsetX-this.waveDataCopy[o].pos[0],r=this.waveDataCopy[o].startInd||0,l=u.getPointIdxForPx(n,this.waveDataCopy[o].step||1),d=this.waveDataCopy[o].sens,f=this.waveDataCopy[o].step):t==="add"&&(n=e.offsetX-this.addWaveDataCopy[o].pos[0],r=this.addWaveDataCopy[o].startInd||0,l=u.getPointIdxForPx(n,this.addWaveDataCopy[o].step||1),d=this.addWaveDataCopy[o].sens,f=this.addWaveDataCopy[o].step),l+=r,this.$emit("notifyActiveEnlargr",{sens:d,step:f,activeLeadIdx:this.activeLeadIdx,pointIdx:l})};i-this.dbClickWaveFromTime<400?(this.dbClickWaveFromTime=0,s()):this.dbClickWaveFromTime=i}nativeScrollFunc(e){console.log("event",e,e.target.scrollLeft),this.scrollCommon(e.target.scrollLeft||0)}handleScroll(e,t,i){t.type==="horizontal"&&(t.scrollLeft=t.scrollLeft||0,this.scrollCommon(t.scrollLeft))}scrollCommon(e){const t=u.getPointIdxForPx(e,this.publicStep||1);this.scrollWaveFrom(t),this.scrollRuler(t),this.scrollArrow(t),this.$emit("notifyScrollPointIdx",{slidIdxs:t,scrollLeft:e})}scrollWaveFrom(e){var s,a;this.slidingWindowInfo.startInd=e,this.slidingWindowInfo.endInd=e+(this.slidingWindowInfo.points||0),this.addSlidingWindowInfo.startInd=e,this.addSlidingWindowInfo.endInd=e+(this.addSlidingWindowInfo.points||0);let t=this.getRednerPoints(),i=this.getAddRednerPoints();this.waveDataCopy=t,this.addWaveDataCopy=i,(s=this.rowAndColwaveFromGroup)==null||s.eachChild((o,n)=>{n=n||0,!(!t[n]||!t[n].data)&&o.attr({shape:{points:t[n].data.map(([r,l])=>[r+t[n].pos[0],l+t[n].pos[1]])}})}),(a=this.addwaveFromGroup)==null||a.eachChild((o,n)=>{n=n||0,!(!i[n]||!i[n].data)&&o.attr({shape:{points:i[n].data.map(([r,l])=>[r+i[n].pos[0],l+i[n].pos[1]])}})}),t=null,i=null}scrollRuler(e){var i,s;(i=this.rulerGroup)==null||i.removeAll(),(s=this.sceneIns)==null||s.remove(this.rulerGroup);const t=u.getDataLenTimes(this.leadModel.isSingleMode?0:e,this.leadModel.publicSampleRate||0)/1e3;this.drawRuler(t)}scrollArrow(e){var t,i;(t=this.arrowGroup)==null||t.removeAll(),(i=this.sceneIns)==null||i.remove(this.arrowGroup),this.drawLoopArrow(e),this.drawHeardBeatLine(e)}};w([C.Prop({default:()=>["Pstart","Pend","QRSstart","QRSend","Tstart","Tend"]})],exports.default.prototype,"heardBeatLineKeys",2);w([C.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"width",2);w([C.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"height",2);w([C.Prop({default:()=>[]})],exports.default.prototype,"waveConfigs",2);w([C.Prop({default:()=>[]})],exports.default.prototype,"waveLists",2);w([C.Prop({default:()=>[]})],exports.default.prototype,"leadNames",2);w([C.Prop({default:()=>[]})],exports.default.prototype,"analyseValues",2);w([C.Prop({default:()=>({leadHedeWidth:20,leadHedeColor:"#000",leadHedeLineWidth:2})})],exports.default.prototype,"leadHeadConfig",2);w([C.Prop({required:!0})],exports.default.prototype,"leadModel",2);w([C.Prop({default:()=>({isShow:!1,gainName:"",speedName:""})})],exports.default.prototype,"rulerConfig",2);w([C.Prop({default:()=>({lineColor:"#000",lineWidth:1,fontFamily:"\u5FAE\u8F6F\u96C5\u9ED1",fontSize:15})})],exports.default.prototype,"leadConfig",2);w([C.Prop({required:!0})],exports.default.prototype,"gridConfig",2);w([C.Prop({default:()=>({isShow:!1,speed:0,sens:0})})],exports.default.prototype,"measurRulerConfig",2);w([C.Prop({default:()=>({isShow:!1,heartRate:60,speed:0,sens:0})})],exports.default.prototype,"paralleRulerConfig",2);w([C.Prop({default:()=>({isShow:!1,speed:0})})],exports.default.prototype,"magnifierRulerConfig",2);w([C.Prop({default:()=>({isShow:!1,mode:!1,defaultSelect:2,heartrate:!1,interval:!1,qrstCompany:!1,telectricalaxis:!1,isClickArrow:!1,showIdxPai:0})})],exports.default.prototype,"heartFight",2);w([C.Prop({default:()=>({leadIdxs:[1,6,10],leadNames:[1,6,10]})})],exports.default.prototype,"longLeadConfig",2);w([C.Prop({default:()=>({defaultSelect:1})})],exports.default.prototype,"singleModeConfig",2);w([C.Prop({default:()=>({isShow:!0,isNativeScroll:!1,scrollPanel:{scrollingY:!1},bar:{keepShow:!0,size:"10px"}})})],exports.default.prototype,"scrollConfig",2);w([C.Prop({default:()=>0})],exports.default.prototype,"dataTotalTimes",2);w([C.Prop({default:()=>0})],exports.default.prototype,"dataTotalLength",2);w([C.Prop({default:()=>""})],exports.default.prototype,"prefixId",2);w([C.Prop({default:()=>0})],exports.default.prototype,"posStart",2);w([u.throttling(200)],exports.default.prototype,"nativeScrollFunc",1);w([u.throttling(200)],exports.default.prototype,"handleScroll",1);exports.default=w([V.default({name:"Methods"})],exports.default);
|