costy-plus 1.0.11-0 → 1.0.13-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.
@@ -8,6 +8,7 @@ declare class ECGWaveForm extends ECGWaveForm_base {
8
8
  protected watchWidth(): void;
9
9
  protected watchHeight(): void;
10
10
  protected watchHeartFight(): void;
11
+ protected watchLongLeadConfig(): void;
11
12
  protected mounted(): void;
12
13
  protected repaint(): void;
13
14
  }
@@ -1,21 +1,21 @@
1
1
  import "./style/index.css";
2
2
  import "vue";
3
- import l, { mixins as c } from "../../node_modules/.pnpm/vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-class-component/dist/vue-class-component.esm.js";
3
+ import c, { mixins as l } from "../../node_modules/.pnpm/vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-class-component/dist/vue-class-component.esm.js";
4
4
  import "../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Emit.js";
5
5
  import { Watch as o } from "../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Watch.js";
6
6
  import d from "../../node_modules/.pnpm/vuescroll@4.17.5_vue@2.7.14/node_modules/vuescroll/dist/vuescroll-native.js";
7
7
  import m from "../BackgroundGrid/index2.js";
8
- import f from "../MeasuringRuler/index2.js";
9
- import g from "../ParallelRuler/index2.js";
8
+ import g from "../MeasuringRuler/index2.js";
9
+ import f from "../ParallelRuler/index2.js";
10
10
  import u from "../MagnifierWave/index.js";
11
11
  import w from "../EnlargeWave/index2.js";
12
12
  import v from "./method.js";
13
- var M = Object.defineProperty, C = Object.getOwnPropertyDescriptor, a = (e, t, h, n) => {
14
- for (var i = n > 1 ? void 0 : n ? C(t, h) : t, s = e.length - 1, p; s >= 0; s--)
13
+ var C = Object.defineProperty, M = Object.getOwnPropertyDescriptor, a = (e, t, h, n) => {
14
+ for (var i = n > 1 ? void 0 : n ? M(t, h) : t, s = e.length - 1, p; s >= 0; s--)
15
15
  (p = e[s]) && (i = (n ? p(t, h, i) : p(i)) || i);
16
- return n && i && M(t, h, i), i;
16
+ return n && i && C(t, h, i), i;
17
17
  };
18
- let r = class extends c(v) {
18
+ let r = class extends l(v) {
19
19
  watchFormatEcgData() {
20
20
  var e;
21
21
  (e = this.sceneIns) == null || e.clear(), this.init();
@@ -40,6 +40,10 @@ let r = class extends c(v) {
40
40
  var e;
41
41
  (e = this.sceneIns) == null || e.clear(), this.init();
42
42
  }
43
+ watchLongLeadConfig() {
44
+ var e;
45
+ (e = this.sceneIns) == null || e.clear(), this.init();
46
+ }
43
47
  mounted() {
44
48
  this.init();
45
49
  }
@@ -72,14 +76,17 @@ a([
72
76
  a([
73
77
  o("singleModeInfo", { deep: !0 })
74
78
  ], r.prototype, "watchHeartFight", 1);
79
+ a([
80
+ o("longLeadConfig", { deep: !0 })
81
+ ], r.prototype, "watchLongLeadConfig", 1);
75
82
  r = a([
76
- l({
83
+ c({
77
84
  name: "ECGWaveForm",
78
85
  components: {
79
86
  vueScroll: d,
80
87
  MXBackgroundGrid: m,
81
- MXMeasuringRuler: f,
82
- MXParallelRuler: g,
88
+ MXMeasuringRuler: g,
89
+ MXParallelRuler: f,
83
90
  MXMagnifierWave: u,
84
91
  MXEnlargeWave: w
85
92
  }
@@ -9,14 +9,14 @@ var $ = (t, e, i) => e in t ? _(t, e, { enumerable: !0, configurable: !0, writab
9
9
  for (var i of T(e))
10
10
  Y.call(e, i) && $(t, i, e[i]);
11
11
  return t;
12
- }, L = (t, e) => X(t, q(e));
12
+ }, A = (t, e) => X(t, q(e));
13
13
  import K from "vue";
14
14
  import Q from "../../node_modules/.pnpm/vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-class-component/dist/vue-class-component.esm.js";
15
15
  import "../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Emit.js";
16
16
  import { Prop as g } from "../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Prop.js";
17
- import { AnalysisMode as F, throttling as J, getPrintLengthToPx as U, getDataLenTimes as H, LeadNameTexts as G, getPointIdxForPx as b } from "@costy-plus/utils";
18
- import { init as Z, Group as D, Polyline as I, Line as E, Text as C, Polygon as ee, util as te } from "zrender";
19
- var ie = Object.defineProperty, ae = Object.getOwnPropertyDescriptor, u = (t, e, i, a) => {
17
+ import { AnalysisMode as F, throttling as J, getPrintLengthToPx as U, getDataLenTimes as L, LeadNameTexts as G, getPointIdxForPx as b } from "@costy-plus/utils";
18
+ import { init as Z, Group as D, Polyline as H, Line as x, Text as C, Polygon as ee, util as te } from "zrender";
19
+ var ie = Object.defineProperty, ae = Object.getOwnPropertyDescriptor, m = (t, e, i, a) => {
20
20
  for (var s = a > 1 ? void 0 : a ? ae(e, i) : e, o = t.length - 1, n; o >= 0; o--)
21
21
  (n = t[o]) && (s = (a ? n(e, i, s) : n(s)) || s);
22
22
  return a && s && ie(e, i, s), s;
@@ -131,7 +131,7 @@ let c = class extends K {
131
131
  }, this.currentHeardBeat = {
132
132
  heardBeat: null,
133
133
  ele: null
134
- }, this.leadNameList = ((s = this.formatEcgData) == null ? void 0 : s.processedData.otherParams.LeadName) || [], this.totalRows = this.leadModel.line + this.leadModel.add || 1, this.highestAndLowestPoint = (o = this.formatEcgData) == null ? void 0 : o.calcHighestAndLowestPoint(), this.isSingleMode ? this.splitBlockHeight = (((n = this.formatEcgData) == null ? void 0 : n.analysisValueMode) === F.CompoundWave ? Math.abs(this.highestAndLowestPoint.ComplexData.maxPoints) + Math.abs(this.highestAndLowestPoint.ComplexData.minPoints) : Math.abs(this.highestAndLowestPoint.Data.maxPoints) + Math.abs(this.highestAndLowestPoint.Data.minPoints)) + 22 : this.splitBlockHeight = this.drawArea.height / this.totalRows, this.dataTotalTimes = H(
134
+ }, this.leadNameList = ((s = this.formatEcgData) == null ? void 0 : s.processedData.otherParams.LeadName) || [], this.totalRows = this.leadModel.line + this.leadModel.add || 1, this.highestAndLowestPoint = (o = this.formatEcgData) == null ? void 0 : o.calcHighestAndLowestPoint(), this.isSingleMode ? this.splitBlockHeight = (((n = this.formatEcgData) == null ? void 0 : n.analysisValueMode) === F.CompoundWave ? Math.abs(this.highestAndLowestPoint.ComplexData.maxPoints) + Math.abs(this.highestAndLowestPoint.ComplexData.minPoints) : Math.abs(this.highestAndLowestPoint.Data.maxPoints) + Math.abs(this.highestAndLowestPoint.Data.minPoints)) + 22 : this.splitBlockHeight = this.drawArea.height / this.totalRows, this.dataTotalTimes = L(
135
135
  this.waveFromData[0].length || 0,
136
136
  ((l = this.formatEcgData) == null ? void 0 : l.processedData.otherParams.SampleRate) || 0
137
137
  ), this.rulerStep = (((r = this.formatEcgData) == null ? void 0 : r.step) || 1) * (((f = this.formatEcgData) == null ? void 0 : f.processedData.otherParams.SampleRate) || 1) / (this.gridConfig.cellMg * 2 + 2);
@@ -147,7 +147,7 @@ let c = class extends K {
147
147
  onDbClickWaveFrom(t, e) {
148
148
  console.log("onDbClickWaveFrom", t);
149
149
  const i = Date.now(), a = () => {
150
- var w, p, m, y;
150
+ var w, p, u, y;
151
151
  const s = t.target.name.split("_");
152
152
  this.activeLeadIdx = +s[0];
153
153
  const o = +s[1];
@@ -158,7 +158,7 @@ let c = class extends K {
158
158
  const f = ((p = this.formatEcgData) == null ? void 0 : p.processedData.otherParams.AnalyseValue) || [];
159
159
  let d = null;
160
160
  if (this.enlargeWaveMode === F.SelectedHeartbeat) {
161
- if (r <= f[1].KeyPosByBeat.Tend + 0.1 * (((m = this.formatEcgData) == null ? void 0 : m.processedData.otherParams.SampleRate) || 0))
161
+ if (r <= f[1].KeyPosByBeat.Tend + 0.1 * (((u = this.formatEcgData) == null ? void 0 : u.processedData.otherParams.SampleRate) || 0))
162
162
  d = f[1];
163
163
  else
164
164
  for (let W = 1; W < f.length; W++)
@@ -168,7 +168,7 @@ let c = class extends K {
168
168
  }
169
169
  } else
170
170
  d = f[0];
171
- console.log("currentAnalyseValue", d, d == null ? void 0 : d.BeatID), d && (this.activeLeadAnalyseValue = L(v({}, d), {
171
+ console.log("currentAnalyseValue", d, d == null ? void 0 : d.BeatID), d && (this.activeLeadAnalyseValue = A(v({}, d), {
172
172
  BeatCount: f.length - 1
173
173
  }), d = null, this.isShowEnlargeWave = !0);
174
174
  };
@@ -177,7 +177,7 @@ let c = class extends K {
177
177
  createLeadHead(t, e) {
178
178
  var s;
179
179
  const i = this.leadHeadConfig.leadHedeWidth / 4, a = ((s = this.formatEcgData) == null ? void 0 : s.sens) || 0;
180
- return new I({
180
+ return new H({
181
181
  cursor: "",
182
182
  shape: {
183
183
  points: [
@@ -215,7 +215,7 @@ let c = class extends K {
215
215
  }
216
216
  creatSplitLine(t, e) {
217
217
  var i;
218
- return new E({
218
+ return new x({
219
219
  cursor: "",
220
220
  shape: {
221
221
  x1: 0 + t,
@@ -305,7 +305,7 @@ let c = class extends K {
305
305
  const t = [], e = this.leadHeadConfig.leadHedeWidth;
306
306
  let i = 0, a = 0, s = [];
307
307
  for (let o = 0; o < this.leadModel.add; o++)
308
- a = this.longLeadConfig[o], i = (o + this.leadModel.line + 1) * this.splitBlockHeight, s = this.waveFromData[a] || [], o === 0 && (this.loopArrowY.add = i), t.push({
308
+ a = this.longLeadConfig.leadIdxs[o], i = (o + this.leadModel.line + 1) * this.splitBlockHeight, s = this.waveFromData[a] || [], o === 0 && (this.loopArrowY.add = i), t.push({
309
309
  pos: [e, i],
310
310
  startInd: this.addSlidingWindowInfo.startInd || 0,
311
311
  endInd: this.addSlidingWindowInfo.endInd || 0,
@@ -320,14 +320,14 @@ let c = class extends K {
320
320
  var o, n, l, r, f, d, w;
321
321
  (o = this.singleWaveFromGroup) == null || o.removeAll();
322
322
  const t = (((n = this.formatEcgData) == null ? void 0 : n.processedData.otherParams.LeadName) || [])[this.singleModeInfo.defaultSelect] || 0;
323
- let e = this.getRednerSinglePoints(), i = H(this.slidingWindowInfo.points || 0, ((l = this.formatEcgData) == null ? void 0 : l.processedData.otherParams.SampleRate) || 0), a = 0, s = 0;
323
+ let e = this.getRednerSinglePoints(), i = L(this.slidingWindowInfo.points || 0, ((l = this.formatEcgData) == null ? void 0 : l.processedData.otherParams.SampleRate) || 0), a = 0, s = 0;
324
324
  for (let p = 0; p < e.length && !(e[p].pos[1] > this.drawArea.height + this.bottomAreaHeight); p++)
325
- this.isLeadDel(t) || (a = parseInt(`${i / 1e3 / 60}`, 10), s = parseInt(`${i / 1e3 % 60}`, 10), a = s === 60 ? a += 1 : a, a = a === 0 ? "00" : a < 10 ? `0${a}` : a, s = s === 0 || s === 60 ? "00" : s < 10 ? `0${s}` : s, (r = this.singleWaveFromGroup) == null || r.add(new I({
325
+ this.isLeadDel(t) || (a = parseInt(`${i / 1e3 / 60}`, 10), s = parseInt(`${i / 1e3 % 60}`, 10), a = s === 60 ? a += 1 : a, a = a === 0 ? "00" : a < 10 ? `0${a}` : a, s = s === 0 || s === 60 ? "00" : s < 10 ? `0${s}` : s, (r = this.singleWaveFromGroup) == null || r.add(new H({
326
326
  cursor: "",
327
327
  name: this.singleModeInfo.defaultSelect + "_" + p,
328
328
  shape: {
329
- points: e[p].data.map(([m, y]) => [
330
- m + e[p].pos[0],
329
+ points: e[p].data.map(([u, y]) => [
330
+ u + e[p].pos[0],
331
331
  y + e[p].pos[1]
332
332
  ])
333
333
  },
@@ -335,8 +335,8 @@ let c = class extends K {
335
335
  stroke: this.leadConfig.lineColor,
336
336
  lineWidth: this.leadConfig.lineWidth
337
337
  },
338
- onclick: (m) => {
339
- this.onDbClickWaveFrom(m, "single");
338
+ onclick: (u) => {
339
+ this.onDbClickWaveFrom(u, "single");
340
340
  }
341
341
  })), (d = this.singleWaveFromGroup) == null || d.add(new C({
342
342
  cursor: "",
@@ -357,9 +357,9 @@ let c = class extends K {
357
357
  console.time("createAddWaveFrom");
358
358
  let t = this.getAddRednerPoints();
359
359
  for (let a = 0; a < t.length; a++)
360
- this.isLeadDel(this.longLeadConfig[a]) || ((e = this.addwaveFromGroup) == null || e.add(new I({
360
+ this.isLeadDel(this.longLeadConfig.leadIdxs[a]) || ((e = this.addwaveFromGroup) == null || e.add(new H({
361
361
  cursor: "",
362
- name: this.longLeadConfig[a] + "_" + a,
362
+ name: this.longLeadConfig.leadIdxs[a] + "_" + a,
363
363
  shape: {
364
364
  points: t[a].data.map(([s, o]) => [
365
365
  s + t[a].pos[0],
@@ -373,7 +373,7 @@ let c = class extends K {
373
373
  onclick: (s) => {
374
374
  this.onDbClickWaveFrom(s, "add");
375
375
  }
376
- })), this.createLeadName(this.longLeadConfig[a], t[a].pos[0], t[a].pos[1] - 15, !0), this.createLeadOffAndDel(this.longLeadConfig[a], t[a].pos[0] - 5, t[a].pos[1] - (((i = this.formatEcgData) == null ? void 0 : i.sens) || 0) / 2 - 15));
376
+ })), this.createLeadName(this.longLeadConfig.leadNames[a], t[a].pos[0], t[a].pos[1] - 15, !0), this.createLeadOffAndDel(this.longLeadConfig.leadIdxs[a], t[a].pos[0] - 5, t[a].pos[1] - (((i = this.formatEcgData) == null ? void 0 : i.sens) || 0) / 2 - 15));
377
377
  console.timeEnd("createAddWaveFrom"), this.addWaveDataCopy = t, t = null;
378
378
  }
379
379
  createRowAndColWaveFrom() {
@@ -381,7 +381,7 @@ let c = class extends K {
381
381
  console.time("createRowAndColWaveFrom"), (i = this.rowAndColwaveFromGroup) == null || i.removeAll();
382
382
  let t = this.getRednerPoints(), e = 0;
383
383
  for (let r = 0; r < t.length; r++)
384
- e = (((a = this.formatEcgData) == null ? void 0 : a.processedData.otherParams.LeadName) || [])[r] || 0, this.isLeadDel(e) || (s = this.rowAndColwaveFromGroup) == null || s.add(new I({
384
+ e = (((a = this.formatEcgData) == null ? void 0 : a.processedData.otherParams.LeadName) || [])[r] || 0, this.isLeadDel(e) || (s = this.rowAndColwaveFromGroup) == null || s.add(new H({
385
385
  cursor: "",
386
386
  name: r + "_" + r,
387
387
  shape: {
@@ -413,7 +413,7 @@ let c = class extends K {
413
413
  },
414
414
  oncontextmenu: (o) => {
415
415
  o.event.preventDefault(), this.$emit("notiifyLeadName", {
416
- event: L(v({}, o), {
416
+ event: A(v({}, o), {
417
417
  name: G[t],
418
418
  idx: t
419
419
  }),
@@ -422,7 +422,7 @@ let c = class extends K {
422
422
  },
423
423
  onclick: (o) => {
424
424
  this.$emit("notiifyLeadName", {
425
- event: L(v({}, o), {
425
+ event: A(v({}, o), {
426
426
  name: G[t],
427
427
  idx: t
428
428
  }),
@@ -479,7 +479,7 @@ let c = class extends K {
479
479
  if (this.leadModel.isContinuous)
480
480
  s = e * 5;
481
481
  else if (!this.leadModel.add && ((o = this.formatEcgData) == null ? void 0 : o.step)) {
482
- const d = b(this.splitPoint, this.formatEcgData.step), w = H(d, ((n = this.formatEcgData) == null ? void 0 : n.processedData.otherParams.SampleRate) || 0) / 1e3;
482
+ const d = b(this.splitPoint, this.formatEcgData.step), w = L(d, ((n = this.formatEcgData) == null ? void 0 : n.processedData.otherParams.SampleRate) || 0) / 1e3;
483
483
  s = t + w;
484
484
  }
485
485
  for (let d = t; d <= s; d = +(d + 0.1).toFixed(1))
@@ -493,7 +493,7 @@ let c = class extends K {
493
493
  fontFamily: this.fontFamily,
494
494
  fill: "#FF0080"
495
495
  }
496
- }))) : a = this.canvasContainer.height - 5, (r = this.rulerGroup) == null || r.add(new E({
496
+ }))) : a = this.canvasContainer.height - 5, (r = this.rulerGroup) == null || r.add(new x({
497
497
  cursor: "",
498
498
  shape: {
499
499
  x1: i,
@@ -517,7 +517,7 @@ let c = class extends K {
517
517
  (t = this.sceneIns) == null || t.add(this.leadHeadNameGroup), (e = this.sceneIns) == null || e.add(this.leadHeadOffAndDelGroup);
518
518
  }
519
519
  drawLoopArrow(t = 0) {
520
- var l, r, f, d, w, p, m, y, W, x, O, M, R, k, B, z, j;
520
+ var l, r, f, d, w, p, u, y, W, E, O, M, R, k, B, z, j;
521
521
  if (this.drawLoopArrowStartPosIdx = t, !this.heartFight.isShow)
522
522
  return;
523
523
  this.heartFight.mode && this.currentHeardBeat.heardBeat === null && (this.currentHeardBeat.heardBeat = ((l = this.formatEcgData) == null ? void 0 : l.heartBeatPosition[this.heartFight.defaultSelect]) || null, this.drawHeardBeatLine());
@@ -550,19 +550,19 @@ let c = class extends K {
550
550
  ]
551
551
  },
552
552
  style: {
553
- fill: ((m = (p = this.currentHeardBeat) == null ? void 0 : p.heardBeat) == null ? void 0 : m.index) === (h == null ? void 0 : h.index) ? "blue" : "#ccc"
553
+ fill: ((u = (p = this.currentHeardBeat) == null ? void 0 : p.heardBeat) == null ? void 0 : u.index) === (h == null ? void 0 : h.index) ? "blue" : "#ccc"
554
554
  },
555
555
  onclick: (S) => {
556
556
  var N;
557
557
  !this.heartFight.mode || (S.target.attr({
558
558
  style: { fill: "blue" }
559
- }), (N = this.arrowGroup) == null || N.children().filter((A) => A.name === "arrow_box").forEach((A) => {
560
- A.id !== S.target.id && A.attr({
559
+ }), (N = this.arrowGroup) == null || N.children().filter((I) => I.name === "arrow_box").forEach((I) => {
560
+ I.id !== S.target.id && I.attr({
561
561
  style: { fill: "#ccc" }
562
562
  });
563
563
  }), this.arrowLoopClick(h, S.target));
564
564
  }
565
- })), this.heartFight.heartrate && (a = ((W = this.AssistCtx) == null ? void 0 : W.measureText(`${(h == null ? void 0 : h.heartrate) || ""}`).width) || 0, (x = this.arrowGroup) == null || x.add(new C({
565
+ })), this.heartFight.heartrate && (a = ((W = this.AssistCtx) == null ? void 0 : W.measureText(`${(h == null ? void 0 : h.heartrate) || ""}`).width) || 0, (E = this.arrowGroup) == null || E.add(new C({
566
566
  cursor: "",
567
567
  style: v({
568
568
  x: 4 + e - a * 1.5,
@@ -608,24 +608,24 @@ let c = class extends K {
608
608
  if (["Pstart", "Pend", "QRSstart", "QRSend", "Tstart", "Tend"].includes(p) && Object.prototype.hasOwnProperty.call(e, p)) {
609
609
  i = (e[p] - this.slidingWindowInfo.startInd) * (((r = this.formatEcgData) == null ? void 0 : r.step) || 0);
610
610
  e:
611
- for (let m = 0; m < a.length; m++)
612
- if (!(this.isLeadOff(m) || this.isLeadDel(m))) {
613
- if (t > e[p] || !this.leadModel.isContinuous && e[p] - this.slidingWindowInfo.startInd > (this.slidingWindowInfo.points || 0) || (o = a[m], this.leadModel.isContinuous && m > this.leadModel.line - 1))
611
+ for (let u = 0; u < a.length; u++)
612
+ if (!(this.isLeadOff(u) || this.isLeadDel(u))) {
613
+ if (t > e[p] || !this.leadModel.isContinuous && e[p] - this.slidingWindowInfo.startInd > (this.slidingWindowInfo.points || 0) || (o = a[u], this.leadModel.isContinuous && u > this.leadModel.line - 1))
614
614
  break e;
615
615
  (f = this.heardBeatLineGroup) == null || f.add(this.createHeardBeatLine(o.pos[0] + i, o.pos[1]));
616
616
  }
617
617
  e:
618
- for (let m = 0; m < s.length; m++)
619
- if (!(this.isLeadOff(this.longLeadConfig[m]) && this.isLeadDel(this.longLeadConfig[m]))) {
618
+ for (let u = 0; u < s.length; u++)
619
+ if (!(this.isLeadOff(this.longLeadConfig.leadIdxs[u]) && this.isLeadDel(this.longLeadConfig.leadIdxs[u]))) {
620
620
  if (t > e[p])
621
621
  break e;
622
- o = s[m], (d = this.heardBeatLineGroup) == null || d.add(this.createHeardBeatLine(o.pos[0] + i, o.pos[1]));
622
+ o = s[u], (d = this.heardBeatLineGroup) == null || d.add(this.createHeardBeatLine(o.pos[0] + i, o.pos[1]));
623
623
  }
624
624
  }
625
625
  (w = this.sceneIns) == null || w.add(this.heardBeatLineGroup), e = null, a = null, s = null;
626
626
  }
627
627
  createHeardBeatLine(t, e) {
628
- return new E({
628
+ return new x({
629
629
  cursor: "",
630
630
  shape: {
631
631
  x1: t,
@@ -674,7 +674,7 @@ let c = class extends K {
674
674
  scrollRuler(t) {
675
675
  var i, a, s;
676
676
  (i = this.rulerGroup) == null || i.removeAll(), (a = this.sceneIns) == null || a.remove(this.rulerGroup);
677
- const e = H(t, ((s = this.formatEcgData) == null ? void 0 : s.processedData.otherParams.SampleRate) || 0) / 1e3;
677
+ const e = L(t, ((s = this.formatEcgData) == null ? void 0 : s.processedData.otherParams.SampleRate) || 0) / 1e3;
678
678
  this.drawRuler(e);
679
679
  }
680
680
  scrollArrow(t) {
@@ -682,37 +682,37 @@ let c = class extends K {
682
682
  (e = this.arrowGroup) == null || e.removeAll(), (i = this.sceneIns) == null || i.remove(this.arrowGroup), this.drawLoopArrow(t), this.drawHeardBeatLine(t);
683
683
  }
684
684
  };
685
- u([
685
+ m([
686
686
  g({
687
687
  required: !0,
688
688
  type: Number,
689
689
  validator: (t) => typeof t == "number"
690
690
  })
691
691
  ], c.prototype, "width", 2);
692
- u([
692
+ m([
693
693
  g({
694
694
  required: !0,
695
695
  type: Number,
696
696
  validator: (t) => typeof t == "number"
697
697
  })
698
698
  ], c.prototype, "height", 2);
699
- u([
699
+ m([
700
700
  g({
701
701
  required: !0
702
702
  })
703
703
  ], c.prototype, "gridConfig", 2);
704
- u([
704
+ m([
705
705
  g({
706
706
  default: 5,
707
707
  type: Number
708
708
  })
709
709
  ], c.prototype, "cellPoints", 2);
710
- u([
710
+ m([
711
711
  g({
712
712
  required: !0
713
713
  })
714
714
  ], c.prototype, "conventionalECGConfig", 2);
715
- u([
715
+ m([
716
716
  g({
717
717
  default: () => ({
718
718
  leadHedeWidth: 20,
@@ -721,17 +721,17 @@ u([
721
721
  })
722
722
  })
723
723
  ], c.prototype, "leadHeadConfig", 2);
724
- u([
724
+ m([
725
725
  g({
726
726
  required: !0
727
727
  })
728
728
  ], c.prototype, "formatEcgData", 2);
729
- u([
729
+ m([
730
730
  g({
731
731
  required: !0
732
732
  })
733
733
  ], c.prototype, "leadModel", 2);
734
- u([
734
+ m([
735
735
  g({
736
736
  default: () => ({
737
737
  lineColor: "#000",
@@ -741,12 +741,15 @@ u([
741
741
  })
742
742
  })
743
743
  ], c.prototype, "leadConfig", 2);
744
- u([
744
+ m([
745
745
  g({
746
- default: () => [1, 6, 10]
746
+ default: () => ({
747
+ leadIdxs: [1, 6, 10],
748
+ leadNames: [1, 6, 10]
749
+ })
747
750
  })
748
751
  ], c.prototype, "longLeadConfig", 2);
749
- u([
752
+ m([
750
753
  g({
751
754
  default: () => ({
752
755
  isShow: !1,
@@ -759,7 +762,7 @@ u([
759
762
  })
760
763
  })
761
764
  ], c.prototype, "heartFight", 2);
762
- u([
765
+ m([
763
766
  g({
764
767
  default: () => ({
765
768
  isShow: !0,
@@ -773,65 +776,65 @@ u([
773
776
  })
774
777
  })
775
778
  ], c.prototype, "vuescrollConfig", 2);
776
- u([
779
+ m([
777
780
  g({
778
781
  default: () => ({
779
782
  isShow: !1
780
783
  })
781
784
  })
782
785
  ], c.prototype, "rulerConfig", 2);
783
- u([
786
+ m([
784
787
  g({
785
788
  default: () => ({
786
789
  isShow: !1
787
790
  })
788
791
  })
789
792
  ], c.prototype, "measurRulerConfig", 2);
790
- u([
793
+ m([
791
794
  g({
792
795
  default: () => ({
793
796
  isShow: !1
794
797
  })
795
798
  })
796
799
  ], c.prototype, "paralleRulerConfig", 2);
797
- u([
800
+ m([
798
801
  g({
799
802
  default: () => ({
800
803
  isShow: !1
801
804
  })
802
805
  })
803
806
  ], c.prototype, "magnifierRulerConfig", 2);
804
- u([
807
+ m([
805
808
  g({
806
809
  default: 60
807
810
  })
808
811
  ], c.prototype, "ventricularRate", 2);
809
- u([
812
+ m([
810
813
  g({
811
814
  default: F.CompoundWave
812
815
  })
813
816
  ], c.prototype, "enlargeWaveMode", 2);
814
- u([
817
+ m([
815
818
  g({
816
819
  default: () => []
817
820
  })
818
821
  ], c.prototype, "gains", 2);
819
- u([
822
+ m([
820
823
  g({
821
824
  default: () => []
822
825
  })
823
826
  ], c.prototype, "speeds", 2);
824
- u([
827
+ m([
825
828
  g({
826
829
  default: () => ({
827
830
  defaultSelect: 1
828
831
  })
829
832
  })
830
833
  ], c.prototype, "singleModeInfo", 2);
831
- u([
834
+ m([
832
835
  J(200)
833
836
  ], c.prototype, "handleScroll", 1);
834
- c = u([
837
+ c = m([
835
838
  Q({
836
839
  name: "Methods"
837
840
  })
@@ -13,18 +13,18 @@ var D = (e, t, a) => t in e ? T(e, t, { enumerable: !0, configurable: !0, writab
13
13
  import K from "vue";
14
14
  import N from "../../node_modules/.pnpm/vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-class-component/dist/vue-class-component.esm.js";
15
15
  import "../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Emit.js";
16
- import { Prop as h } from "../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Prop.js";
16
+ import { Prop as l } from "../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Prop.js";
17
17
  import { Watch as w } from "../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Watch.js";
18
- import { AnalysisMode as F, AnalyseParameterTable as O, LeadNameTexts as S, getLeadpoint as X, getActualY as z, calcDistance as H, calcPRInterval as j, calcPD as E, calcQRSD as k, calcQTAndQTCAndQTD as _, caclTD as q, calcTA as $, toFixedFun as y, calcPstate as Y, calcPA as J, calcQRS as U, calcSTJA as Z, clacST as ee, calcIaddIIaddIII as te, calcRv5 as ae, calcSv1 as se, calcPelectricAxis as ie, calcQRSelectricAxis as ne, calcTelectricAxis as re, calcMs as le, getStepForSpeed as he } from "@costy-plus/utils";
18
+ import { AnalysisMode as F, AnalyseParameterTable as X, LeadNameTexts as S, getLeadpoint as z, getActualY as O, calcDistance as H, calcPRInterval as j, calcPD as E, calcQRSD as _, calcQTAndQTCAndQTD as k, caclTD as q, calcTA as $, toFixedFun as y, calcPstate as Y, calcPA as J, calcQRS as U, calcSTJA as Z, clacST as ee, calcIaddIIaddIII as te, calcRv5 as ae, calcSv1 as se, calcPelectricAxis as ie, calcQRSelectricAxis as ne, calcTelectricAxis as re, calcMs as le, getStepForSpeed as he } from "@costy-plus/utils";
19
19
  import { util as R, Polyline as P, Text as x, Group as B, Line as oe, Circle as de } from "zrender";
20
20
  var ue = Object.defineProperty, ce = Object.getOwnPropertyDescriptor, r = (e, t, a, s) => {
21
- for (var i = s > 1 ? void 0 : s ? ce(t, a) : t, l = e.length - 1, o; l >= 0; l--)
22
- (o = e[l]) && (i = (s ? o(t, a, i) : o(i)) || i);
21
+ for (var i = s > 1 ? void 0 : s ? ce(t, a) : t, h = e.length - 1, o; h >= 0; h--)
22
+ (o = e[h]) && (i = (s ? o(t, a, i) : o(i)) || i);
23
23
  return s && i && ue(t, a, i), i;
24
24
  };
25
25
  let n = class extends K {
26
26
  constructor() {
27
- super(...arguments), this.AnalysisMode = F, this.AnalyseParameterTable = O, this.sceneIns = Object.freeze(null), this.AssistCtx = Object.freeze(null), this.leadNameIns = Object.freeze(null), this.sensAndSpeedIns = Object.freeze(null), this.waveFromIns = Object.freeze(null), this.waveFromGroup = Object.freeze(null), this.measureGroup = Object.freeze(null), this.leadHeadIns = Object.freeze(null), this.M1 = Object.freeze(null), this.M2 = Object.freeze(null), this.P1 = Object.freeze(null), this.P2 = Object.freeze(null), this.R1 = Object.freeze(null), this.R2 = Object.freeze(null), this.T1 = Object.freeze(null), this.T2 = Object.freeze(null), this.bottomSafeAreaH = Object.freeze(63), this.drawWaveFromX = Object.freeze(0), this.dbClickTime = Object.freeze(0), this.startPos = Object.freeze(0), this.currentGainIdx = Object.freeze(0), this.currentSpeedIdx = Object.freeze(0), this.currentLeadAnalyseValueIdx = Object.freeze(0), this.longdata = Object.freeze(void 0), this.modifyAnalysed = Object.freeze(null), this.measureLineMoveInfo = Object.freeze({
27
+ super(...arguments), this.AnalysisMode = F, this.AnalyseParameterTable = X, this.sceneIns = Object.freeze(null), this.AssistCtx = Object.freeze(null), this.leadNameIns = Object.freeze(null), this.sensAndSpeedIns = Object.freeze(null), this.waveFromIns = Object.freeze(null), this.waveFromGroup = Object.freeze(null), this.measureGroup = Object.freeze(null), this.leadHeadIns = Object.freeze(null), this.M1 = Object.freeze(null), this.M2 = Object.freeze(null), this.P1 = Object.freeze(null), this.P2 = Object.freeze(null), this.R1 = Object.freeze(null), this.R2 = Object.freeze(null), this.T1 = Object.freeze(null), this.T2 = Object.freeze(null), this.bottomSafeAreaH = Object.freeze(63), this.drawWaveFromX = Object.freeze(0), this.dbClickTime = Object.freeze(0), this.startPos = Object.freeze(0), this.currentGainIdx = Object.freeze(0), this.currentSpeedIdx = Object.freeze(0), this.currentLeadAnalyseValueIdx = Object.freeze(0), this.longdata = Object.freeze(void 0), this.modifyAnalysed = Object.freeze(null), this.measureLineMoveInfo = Object.freeze({
28
28
  x: 0,
29
29
  findIdx: 0,
30
30
  name: "",
@@ -74,8 +74,8 @@ let n = class extends K {
74
74
  };
75
75
  }
76
76
  destroyed() {
77
- var e, t, a, s, i, l, o, d, u, f, p;
78
- (e = this.waveFromGroup) == null || e.removeAll(), (t = this.measureGroup) == null || t.removeAll(), (a = this.M1) == null || a.removeAll(), (s = this.M2) == null || s.removeAll(), (i = this.P1) == null || i.removeAll(), (l = this.P2) == null || l.removeAll(), (o = this.R1) == null || o.removeAll(), (d = this.R2) == null || d.removeAll(), (u = this.T1) == null || u.removeAll(), (f = this.T2) == null || f.removeAll();
77
+ var e, t, a, s, i, h, o, d, u, f, p;
78
+ (e = this.waveFromGroup) == null || e.removeAll(), (t = this.measureGroup) == null || t.removeAll(), (a = this.M1) == null || a.removeAll(), (s = this.M2) == null || s.removeAll(), (i = this.P1) == null || i.removeAll(), (h = this.P2) == null || h.removeAll(), (o = this.R1) == null || o.removeAll(), (d = this.R2) == null || d.removeAll(), (u = this.T1) == null || u.removeAll(), (f = this.T2) == null || f.removeAll();
79
79
  try {
80
80
  (p = this.sceneIns) == null || p.dispose();
81
81
  } catch (A) {
@@ -197,12 +197,12 @@ let n = class extends K {
197
197
  }), this.longdata = void 0;
198
198
  const e = this.containerWH.height / 2;
199
199
  for (let i = 0; i < this.leadNames.length - 1; i++) {
200
- const { beatData: l, startPos: o } = this.getWaveFrom(((a = this.currentLeadAnalyseValue) == null ? void 0 : a.BeatID) || 0, this.leadNames[i].val);
201
- this.startPos = o, this.drawWaveFromX === 0 && (this.waveFromLenPX = l.length * this.currentStep, this.drawWaveFromX = this.containerWH.width / 2 - this.waveFromLenPX / 2 + this.leadHeadConfig.leadHedeWidth), this.waveFromGroup.add(new P({
200
+ const { beatData: h, startPos: o } = this.getWaveFrom(((a = this.currentLeadAnalyseValue) == null ? void 0 : a.BeatID) || 0, this.leadNames[i].val);
201
+ this.startPos = o, this.drawWaveFromX === 0 && (this.waveFromLenPX = h.length * this.currentStep, this.drawWaveFromX = this.containerWH.width / 2 - this.waveFromLenPX / 2 + this.leadHeadConfig.leadHedeWidth), this.waveFromGroup.add(new P({
202
202
  cursor: "",
203
203
  name: `${i}`,
204
204
  shape: {
205
- points: l.map((d, u) => [
205
+ points: h.map((d, u) => [
206
206
  u * this.currentStep + this.drawWaveFromX,
207
207
  -d + e
208
208
  ])
@@ -216,12 +216,12 @@ let n = class extends K {
216
216
  (s = this.sceneIns) == null || s.add(this.waveFromGroup);
217
217
  }
218
218
  drawSingleLead() {
219
- var i, l, o;
219
+ var i, h, o;
220
220
  this.waveFromGroup && ((i = this.sceneIns) == null || i.remove(this.waveFromGroup));
221
221
  const { beatData: e, startPos: t, originData: a } = this.getWaveFrom();
222
222
  this.startPos = t, this.drawWaveFromX === 0 && (this.waveFromLenPX = e.length * this.currentStep, this.drawWaveFromX = this.containerWH.width / 2 - this.waveFromLenPX / 2 + this.leadHeadConfig.leadHedeWidth), this.longdata = a;
223
223
  const s = this.containerWH.height / 2;
224
- (l = this.waveFromIns) == null || l.attr({
224
+ (h = this.waveFromIns) == null || h.attr({
225
225
  shape: {
226
226
  points: e.map((d, u) => [
227
227
  u * this.currentStep + this.drawWaveFromX,
@@ -233,7 +233,7 @@ let n = class extends K {
233
233
  getWaveFrom(e, t) {
234
234
  var a;
235
235
  if (e = e !== void 0 ? e : ((a = this.currentLeadAnalyseValue) == null ? void 0 : a.BeatID) || 0, t = t !== void 0 ? t : this.leadNameActive.val, this.typeClass === "ECG") {
236
- const { beatData: s, startPos: i } = X({
236
+ const { beatData: s, startPos: i } = z({
237
237
  ComplexData: this.complexData,
238
238
  Data: this.normalData,
239
239
  AnalyseValue: this.analyseValue,
@@ -243,7 +243,7 @@ let n = class extends K {
243
243
  });
244
244
  return {
245
245
  originData: s,
246
- beatData: s.map((l) => z(this.sensitivity, l, this.currentSens)),
246
+ beatData: s.map((h) => O(this.sensitivity, h, this.currentSens)),
247
247
  startPos: i
248
248
  };
249
249
  }
@@ -254,7 +254,7 @@ let n = class extends K {
254
254
  };
255
255
  }
256
256
  drawMeasureLine() {
257
- var a, s, i, l, o, d, u, f, p, A, L, v, g, I;
257
+ var a, s, i, h, o, d, u, f, p, A, L, v, g, I;
258
258
  this.measureGroup ? ((a = this.sceneIns) == null || a.remove(this.measureGroup), this.measureGroup.removeAll()) : this.measureGroup = new B({
259
259
  name: "measureGroup"
260
260
  });
@@ -268,7 +268,7 @@ let n = class extends K {
268
268
  t
269
269
  ), this.P2 = this.createMeasureLineGroup(
270
270
  "P2",
271
- ((((o = (l = this.currentLeadAnalyseValue) == null ? void 0 : l.KeyPosByBeat) == null ? void 0 : o.Pend) || 0) - this.startPos) * this.currentStep + this.drawWaveFromX,
271
+ ((((o = (h = this.currentLeadAnalyseValue) == null ? void 0 : h.KeyPosByBeat) == null ? void 0 : o.Pend) || 0) - this.startPos) * this.currentStep + this.drawWaveFromX,
272
272
  t
273
273
  ), this.R1 = this.createMeasureLineGroup(
274
274
  "R1",
@@ -328,7 +328,7 @@ let n = class extends K {
328
328
  })), e !== "M1" && e !== "M2" && (this.measureLineList = [...this.measureLineList, {
329
329
  ins: s,
330
330
  x: t
331
- }].sort((l, o) => l.x - o.x)), s;
331
+ }].sort((h, o) => h.x - o.x)), s;
332
332
  }
333
333
  measureLineDrag(e) {
334
334
  e.target.name === "M1" || e.target.name === "M2" ? this.calculatedValue() : this.calcMeasureLineMove(e);
@@ -388,9 +388,7 @@ let n = class extends K {
388
388
  break;
389
389
  }
390
390
  if (this.electricAxisAnalyse(), this.processEnlargeAnalysis(), this.isShowSyncAnalyseValue) {
391
- const i = c({}, ((t = this.currentLeadAnalyseValue) == null ? void 0 : t.AnabyBeat) || {});
392
- for (const l in i)
393
- Object.prototype.hasOwnProperty.call(i, l) && (i[l] = this.enlargeAnalysisData[l]);
391
+ const i = c(c({}, ((t = this.currentLeadAnalyseValue) == null ? void 0 : t.AnabyBeat) || {}), this.enlargeAnalysisData);
394
392
  this.modifyAnalysed.set(((a = this.currentLeadAnalyseValue) == null ? void 0 : a.BeatID) || 0, m(c({}, this.currentLeadAnalyseValue), {
395
393
  AnabyBeat: i,
396
394
  BeatID: ((s = this.currentLeadAnalyseValue) == null ? void 0 : s.BeatID) || 0
@@ -398,7 +396,7 @@ let n = class extends K {
398
396
  }
399
397
  }
400
398
  processEnlargeAnalysis() {
401
- var t, a, s, i, l, o;
399
+ var t, a, s, i, h, o;
402
400
  const e = {
403
401
  start_pos: this.startPos,
404
402
  Sensitivity: this.sensitivity,
@@ -413,12 +411,12 @@ let n = class extends K {
413
411
  this.currentLeadAnalyseValue.KeyPosByBeat.Pend,
414
412
  this.currentLeadAnalyseValue.KeyPosByBeat.Pstart,
415
413
  this.sampleRate
416
- ))), (this.measureLineMoveInfo.name === "" || this.measureLineMoveInfo.name === "R1" || this.measureLineMoveInfo.name === "R2") && (this.enlargeAnalysisData.QRSd = Math.round(k(
414
+ ))), (this.measureLineMoveInfo.name === "" || this.measureLineMoveInfo.name === "R1" || this.measureLineMoveInfo.name === "R2") && (this.enlargeAnalysisData.QRSd = Math.round(_(
417
415
  this.currentLeadAnalyseValue.KeyPosByBeat.QRSend,
418
416
  this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,
419
417
  this.sampleRate
420
418
  ))), this.measureLineMoveInfo.name === "" || this.measureLineMoveInfo.name === "R1" || this.measureLineMoveInfo.name === "T2") {
421
- const { QT: d, QTC: u } = _(
419
+ const { QT: d, QTC: u } = k(
422
420
  this.currentLeadAnalyseValue.KeyPosByBeat.Tend,
423
421
  this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,
424
422
  this.analyseValue,
@@ -482,7 +480,7 @@ let n = class extends K {
482
480
  Data: this.normalData,
483
481
  QRSstart: this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,
484
482
  QRSend: this.currentLeadAnalyseValue.KeyPosByBeat.QRSend,
485
- BeatID: ((l = this.currentLeadAnalyseValue) == null ? void 0 : l.BeatID) || 0,
483
+ BeatID: ((h = this.currentLeadAnalyseValue) == null ? void 0 : h.BeatID) || 0,
486
484
  AnalyseValue: this.analyseValue,
487
485
  leadNameList: this.leadNameList
488
486
  })) || 0, 2) + "", this.enlargeAnalysisData.RV5Amp = y(se(m(c({}, e), {
@@ -541,8 +539,8 @@ let n = class extends K {
541
539
  const e = (f = this.M1) == null ? void 0 : f.childOfName("Line_M1"), t = (p = this.M2) == null ? void 0 : p.childOfName("Line_M2");
542
540
  if (!e || !t)
543
541
  return;
544
- const a = e.shape.x1 + (e.transform && e.transform[4] || 0), s = t.shape.x1 + (t.transform && t.transform[4] || 0), i = Math.abs(a - s), l = le(i, this.currentSpeedValue, this.gridConfig.cellMg, this.magnification);
545
- this.difference.timeDifference = l;
542
+ const a = e.shape.x1 + (e.transform && e.transform[4] || 0), s = t.shape.x1 + (t.transform && t.transform[4] || 0), i = Math.abs(a - s), h = le(i, this.currentSpeedValue, this.gridConfig.cellMg, this.magnification);
543
+ this.difference.timeDifference = h;
546
544
  const o = parseInt(
547
545
  `${(a - this.drawWaveFromX) / this.currentStep}`
548
546
  ), d = parseInt(
@@ -595,76 +593,76 @@ let n = class extends K {
595
593
  }
596
594
  };
597
595
  r([
598
- h({ default: () => "" })
596
+ l({ default: () => "" })
599
597
  ], n.prototype, "className", 2);
600
598
  r([
601
- h({
599
+ l({
602
600
  required: !0,
603
601
  type: Number,
604
602
  validator: (e) => typeof e == "number"
605
603
  })
606
604
  ], n.prototype, "width", 2);
607
605
  r([
608
- h({
606
+ l({
609
607
  required: !0,
610
608
  type: Number,
611
609
  validator: (e) => typeof e == "number"
612
610
  })
613
611
  ], n.prototype, "height", 2);
614
612
  r([
615
- h({
613
+ l({
616
614
  required: !0
617
615
  })
618
616
  ], n.prototype, "gridConfig", 2);
619
617
  r([
620
- h({
618
+ l({
621
619
  required: !0
622
620
  })
623
621
  ], n.prototype, "speedValue", 2);
624
622
  r([
625
- h({
623
+ l({
626
624
  default: 1
627
625
  })
628
626
  ], n.prototype, "sens", 2);
629
627
  r([
630
- h({
628
+ l({
631
629
  default: 1
632
630
  })
633
631
  ], n.prototype, "step", 2);
634
632
  r([
635
- h({
633
+ l({
636
634
  required: !0
637
635
  })
638
636
  ], n.prototype, "sampleRate", 2);
639
637
  r([
640
- h({
638
+ l({
641
639
  required: !0
642
640
  })
643
641
  ], n.prototype, "sensitivity", 2);
644
642
  r([
645
- h({
643
+ l({
646
644
  required: !0,
647
645
  default: () => []
648
646
  })
649
647
  ], n.prototype, "complexData", 2);
650
648
  r([
651
- h({
649
+ l({
652
650
  required: !0,
653
651
  default: () => []
654
652
  })
655
653
  ], n.prototype, "normalData", 2);
656
654
  r([
657
- h({
655
+ l({
658
656
  default: !1
659
657
  })
660
658
  ], n.prototype, "isShowEnlargeWave", 2);
661
659
  r([
662
- h({
660
+ l({
663
661
  default: !0
664
662
  })
665
663
  ], n.prototype, "isShowSyncAnalyseValue", 2);
666
664
  r([
667
- h({
665
+ l({
668
666
  default: () => ({
669
667
  leadHedeWidth: 20,
670
668
  leadHedeColor: "#000",
@@ -673,7 +671,7 @@ r([
673
671
  })
674
672
  ], n.prototype, "leadHeadConfig", 2);
675
673
  r([
676
- h({
674
+ l({
677
675
  default: () => ({
678
676
  lineColor: "#000",
679
677
  lineWidth: 1,
@@ -683,57 +681,57 @@ r([
683
681
  })
684
682
  ], n.prototype, "leadConfig", 2);
685
683
  r([
686
- h({
684
+ l({
687
685
  default: 5
688
686
  })
689
687
  ], n.prototype, "magnification", 2);
690
688
  r([
691
- h({
689
+ l({
692
690
  default: () => []
693
691
  })
694
692
  ], n.prototype, "leadNameList", 2);
695
693
  r([
696
- h({
694
+ l({
697
695
  required: !0
698
696
  })
699
697
  ], n.prototype, "activeLeadIdx", 2);
700
698
  r([
701
- h({
699
+ l({
702
700
  required: !0
703
701
  })
704
702
  ], n.prototype, "activeLeadAnalyseValue", 2);
705
703
  r([
706
- h({
704
+ l({
707
705
  required: !0
708
706
  })
709
707
  ], n.prototype, "analyseValue", 2);
710
708
  r([
711
- h({
709
+ l({
712
710
  default: "ECG"
713
711
  })
714
712
  ], n.prototype, "typeClass", 2);
715
713
  r([
716
- h({
714
+ l({
717
715
  default: () => ["black", "red", "orange", "yellow", "green", "#4B0082", "blue", "purple", "#FFB6C1", "#EE82EE", "#6A5ACD", "#00FFFF"]
718
716
  })
719
717
  ], n.prototype, "leadColors", 2);
720
718
  r([
721
- h({
719
+ l({
722
720
  default: F.CompoundWave
723
721
  })
724
722
  ], n.prototype, "enlargeWaveMode", 2);
725
723
  r([
726
- h({
724
+ l({
727
725
  required: !0
728
726
  })
729
727
  ], n.prototype, "conventionalECGConfig", 2);
730
728
  r([
731
- h({
729
+ l({
732
730
  default: () => []
733
731
  })
734
732
  ], n.prototype, "gains", 2);
735
733
  r([
736
- h({
734
+ l({
737
735
  default: () => []
738
736
  })
739
737
  ], n.prototype, "speeds", 2);
@@ -8,6 +8,7 @@ declare class ECGWaveForm extends ECGWaveForm_base {
8
8
  protected watchWidth(): void;
9
9
  protected watchHeight(): void;
10
10
  protected watchHeartFight(): void;
11
+ protected watchLongLeadConfig(): void;
11
12
  protected mounted(): void;
12
13
  protected repaint(): void;
13
14
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("./style/index.css");require("vue");const l=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_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Emit.js");const o=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Watch.js"),u=require("../../node_modules/.pnpm/vuescroll@4.17.5_vue@2.7.14/node_modules/vuescroll/dist/vuescroll-native.js"),c=require("../BackgroundGrid/index2.js"),h=require("../MeasuringRuler/index2.js"),p=require("../ParallelRuler/index2.js"),v=require("../MagnifierWave/index.js"),m=require("../EnlargeWave/index2.js"),f=require("./method.js");var g=Object.defineProperty,w=Object.getOwnPropertyDescriptor,a=(e,t,n,s)=>{for(var r=s>1?void 0:s?w(t,n):t,i=e.length-1,d;i>=0;i--)(d=e[i])&&(r=(s?d(t,n,r):d(r))||r);return s&&r&&g(t,n,r),r};exports.default=class extends l.mixins(f.default){watchFormatEcgData(){var e;(e=this.sceneIns)==null||e.clear(),this.init()}watchVuescrollConfig(){this.repaint()}watchLeadHeadConfig(){var e,t;(e=this.leadHeadGroup)==null||e.removeAll(),(t=this.sceneIns)==null||t.remove(this.leadHeadGroup),this.drawLeadHead()}watchLeadModel(){this.repaint()}watchWidth(){this.repaint()}watchHeight(){this.repaint()}watchHeartFight(){var e;(e=this.sceneIns)==null||e.clear(),this.init()}mounted(){this.init()}repaint(){var e,t;(e=this.sceneIns)==null||e.clear(),(t=this.sceneIns)==null||t.resize({width:this.canvasContainer.width,height:this.canvasContainer.height}),this.combinationDrawing()}};a([o.Watch("formatEcgData",{deep:!0})],exports.default.prototype,"watchFormatEcgData",1);a([o.Watch("vuescrollConfig",{deep:!0})],exports.default.prototype,"watchVuescrollConfig",1);a([o.Watch("leadHeadConfig",{deep:!0})],exports.default.prototype,"watchLeadHeadConfig",1);a([o.Watch("leadModel",{deep:!0})],exports.default.prototype,"watchLeadModel",1);a([o.Watch("width")],exports.default.prototype,"watchWidth",1);a([o.Watch("height")],exports.default.prototype,"watchHeight",1);a([o.Watch("singleModeInfo",{deep:!0})],exports.default.prototype,"watchHeartFight",1);exports.default=a([l.default({name:"ECGWaveForm",components:{vueScroll:u.default,MXBackgroundGrid:c.default,MXMeasuringRuler:h.default,MXParallelRuler:p.default,MXMagnifierWave:v.default,MXEnlargeWave:m.default}})],exports.default);
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("./style/index.css");require("vue");const l=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_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Emit.js");const r=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Watch.js"),u=require("../../node_modules/.pnpm/vuescroll@4.17.5_vue@2.7.14/node_modules/vuescroll/dist/vuescroll-native.js"),c=require("../BackgroundGrid/index2.js"),h=require("../MeasuringRuler/index2.js"),p=require("../ParallelRuler/index2.js"),f=require("../MagnifierWave/index.js"),v=require("../EnlargeWave/index2.js"),m=require("./method.js");var g=Object.defineProperty,w=Object.getOwnPropertyDescriptor,a=(e,t,s,n)=>{for(var o=n>1?void 0:n?w(t,s):t,i=e.length-1,d;i>=0;i--)(d=e[i])&&(o=(n?d(t,s,o):d(o))||o);return n&&o&&g(t,s,o),o};exports.default=class extends l.mixins(m.default){watchFormatEcgData(){var e;(e=this.sceneIns)==null||e.clear(),this.init()}watchVuescrollConfig(){this.repaint()}watchLeadHeadConfig(){var e,t;(e=this.leadHeadGroup)==null||e.removeAll(),(t=this.sceneIns)==null||t.remove(this.leadHeadGroup),this.drawLeadHead()}watchLeadModel(){this.repaint()}watchWidth(){this.repaint()}watchHeight(){this.repaint()}watchHeartFight(){var e;(e=this.sceneIns)==null||e.clear(),this.init()}watchLongLeadConfig(){var e;(e=this.sceneIns)==null||e.clear(),this.init()}mounted(){this.init()}repaint(){var e,t;(e=this.sceneIns)==null||e.clear(),(t=this.sceneIns)==null||t.resize({width:this.canvasContainer.width,height:this.canvasContainer.height}),this.combinationDrawing()}};a([r.Watch("formatEcgData",{deep:!0})],exports.default.prototype,"watchFormatEcgData",1);a([r.Watch("vuescrollConfig",{deep:!0})],exports.default.prototype,"watchVuescrollConfig",1);a([r.Watch("leadHeadConfig",{deep:!0})],exports.default.prototype,"watchLeadHeadConfig",1);a([r.Watch("leadModel",{deep:!0})],exports.default.prototype,"watchLeadModel",1);a([r.Watch("width")],exports.default.prototype,"watchWidth",1);a([r.Watch("height")],exports.default.prototype,"watchHeight",1);a([r.Watch("singleModeInfo",{deep:!0})],exports.default.prototype,"watchHeartFight",1);a([r.Watch("longLeadConfig",{deep:!0})],exports.default.prototype,"watchLongLeadConfig",1);exports.default=a([l.default({name:"ECGWaveForm",components:{vueScroll:u.default,MXBackgroundGrid:c.default,MXMeasuringRuler:h.default,MXParallelRuler:p.default,MXMagnifierWave:f.default,MXEnlargeWave:v.default}})],exports.default);
@@ -1 +1 @@
1
- "use strict";var R=Object.defineProperty,T=Object.defineProperties;var z=Object.getOwnPropertyDescriptors;var M=Object.getOwnPropertySymbols;var B=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable;var k=(t,e,a)=>e in t?R(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a,D=(t,e)=>{for(var a in e||(e={}))B.call(e,a)&&k(t,a,e[a]);if(M)for(var a of M(e))j.call(e,a)&&k(t,a,e[a]);return t},P=(t,e)=>T(t,z(e));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const _=require("vue"),N=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_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Emit.js");const g=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Prop.js"),v=require("@costy-plus/utils"),f=require("zrender"),$=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},q=$(_);var V=Object.defineProperty,X=Object.getOwnPropertyDescriptor,c=(t,e,a,i)=>{for(var s=i>1?void 0:i?X(e,a):e,o=t.length-1,n;o>=0;o--)(n=t[o])&&(s=(i?n(e,a,s):n(s))||s);return i&&s&&V(e,a,s),s};exports.default=class extends q.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(100),this.dataTotalTimes=Object.freeze(0),this.totalRows=Object.freeze(0),this.rulerStep=Object.freeze(0),this.drawLoopArrowStartPosIdx=Object.freeze(0),this.dbClickWaveFromTime=Object.freeze(0),this.currentHeardBeat={heardBeat:null,ele:null},this.loopArrowY=Object.freeze({add:0,rowAndCol:0}),this.fontFamily=Object.freeze("\u5FAE\u8F6F\u96C5\u9ED1"),this.splitBlockHeight=0,this.splitPoint=0,this.slidingWindowInfo=Object.freeze({}),this.addSlidingWindowInfo=Object.freeze({}),this.highestAndLowestPoint=Object.freeze({Data:{maxPoints:0,minPoints:0},ComplexData:{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=-1,this.activeLeadAnalyseValue=null,this.isShowEnlargeWave=!1}get canvasContainer(){var t;return{width:this.width,height:this.height-(this.vuescrollConfig.isShow&&parseInt(`${(t=this.vuescrollConfig.bar)==null?void 0:t.size}`)||0)||0}}get waveFromData(){var t,e,a;return((t=this.formatEcgData)==null?void 0:t.analysisValueMode)===v.AnalysisMode.CompoundWave?((e=this.formatEcgData)==null?void 0:e.processedData.handleData.ComplexData)||[]:((a=this.formatEcgData)==null?void 0:a.processedData.handleData.Data)||[]}get isSingleMode(){return this.leadModel.column===1&&this.leadModel.line===1}destroyed(){var t,e,a,i,s,o,n,l,r,p,d;(t=this.rowAndColwaveFromGroup)==null||t.removeAll(),(e=this.singleWaveFromGroup)==null||e.removeAll(),(a=this.addwaveFromGroup)==null||a.removeAll(),(i=this.leadHeadGroup)==null||i.removeAll(),(s=this.splitLineGroup)==null||s.removeAll(),(o=this.leadHeadNameGroup)==null||o.removeAll(),(n=this.leadHeadOffAndDelGroup)==null||n.removeAll(),(l=this.rulerGroup)==null||l.removeAll(),(r=this.arrowGroup)==null||r.removeAll(),(p=this.heardBeatLineGroup)==null||p.removeAll(),(d=this.sceneIns)==null||d.dispose()}init(){var t;this.initWaveFormPeer(),this.combinationDrawing(),(t=this.formatEcgData)!=null&&t.processedData.otherParams.PosStart&&(this.vuescrollConfig.isShow?this.$nextTick(()=>{var e,a;this.$refs.vueScroll.scrollBy({dx:(((e=this.formatEcgData)==null?void 0:e.processedData.otherParams.PosStart)||0)*(((a=this.formatEcgData)==null?void 0:a.step)||0)})}):(this.scrollWaveFrom(this.formatEcgData.processedData.otherParams.PosStart),this.scrollRuler(this.formatEcgData.processedData.otherParams.PosStart),this.scrollArrow(this.formatEcgData.processedData.otherParams.PosStart)))}initWaveFormPeer(){const t=document.getElementById("wave-from-box");this.sceneIns=f.init(t,{width:this.canvasContainer.width,height:this.canvasContainer.height,devicePixelRatio:2});const e=document.getElementById("MXGrid");this.AssistCtx=e.getContext("2d")}combinationDrawing(){this.initConfig(),this.drawLeadHead(),this.drawColSplitLine(),this.initSlidingWindowInfo(),this.drawRulerNotes(),this.drawWaveFrom()}initConfig(){var e,a,i,s,o,n,l,r,p;this.rowAndColwaveFromGroup=new f.Group({name:"rowAndColwaveFrom"}),this.singleWaveFromGroup=new f.Group({name:"singleWaveFrom"}),this.addwaveFromGroup=new f.Group({name:"addwaveFrom"}),this.leadHeadGroup=new f.Group({name:"leadHead"}),this.splitLineGroup=new f.Group({name:"splitLine"}),this.leadHeadNameGroup=new f.Group({name:"leadHeadName"}),this.leadHeadOffAndDelGroup=new f.Group({name:"leadHeadOffAndDel"}),this.rulerGroup=new f.Group({name:"ruler"}),this.arrowGroup=new f.Group({name:"arrowLoop"}),this.heardBeatLineGroup=new f.Group({name:"heardBeatLine"}),this.vuescrollWH.width=this.width,this.vuescrollWH.height=this.height;let t=this.canvasContainer.width;if(((a=(e=this.conventionalECGConfig)==null?void 0:e.ecgReviewSetting)==null?void 0:a.ecgareawidth)==="1"){const d=v.getPrintLengthToPx(((i=this.formatEcgData)==null?void 0:i.processedData.otherParams.SampleRate)||0)+this.leadHeadConfig.leadHedeWidth;d<=t&&(t=d)}this.drawArea={width:t,height:this.canvasContainer.height-this.bottomAreaHeight},this.slidingWindowInfo={points:0,startInd:0,endInd:0},this.addSlidingWindowInfo={points:0,startInd:0,endInd:0},this.loopArrowY={add:0,rowAndCol:0},this.currentHeardBeat={heardBeat:null,ele:null},this.leadNameList=((s=this.formatEcgData)==null?void 0:s.processedData.otherParams.LeadName)||[],this.totalRows=this.leadModel.line+this.leadModel.add||1,this.highestAndLowestPoint=(o=this.formatEcgData)==null?void 0:o.calcHighestAndLowestPoint(),this.isSingleMode?this.splitBlockHeight=(((n=this.formatEcgData)==null?void 0:n.analysisValueMode)===v.AnalysisMode.CompoundWave?Math.abs(this.highestAndLowestPoint.ComplexData.maxPoints)+Math.abs(this.highestAndLowestPoint.ComplexData.minPoints):Math.abs(this.highestAndLowestPoint.Data.maxPoints)+Math.abs(this.highestAndLowestPoint.Data.minPoints))+22:this.splitBlockHeight=this.drawArea.height/this.totalRows,this.dataTotalTimes=v.getDataLenTimes(this.waveFromData[0].length||0,((l=this.formatEcgData)==null?void 0:l.processedData.otherParams.SampleRate)||0),this.rulerStep=(((r=this.formatEcgData)==null?void 0:r.step)||1)*(((p=this.formatEcgData)==null?void 0:p.processedData.otherParams.SampleRate)||1)/(this.gridConfig.cellMg*2+2)}isLeadOff(t){var e;return!!(((e=this.formatEcgData)==null?void 0:e.processedData.otherParams.LeadOff)||[]).includes(t)}isLeadDel(t){var e;return!!(((e=this.formatEcgData)==null?void 0:e.processedData.otherParams.LeadDelete)||[]).includes(t)}onDbClickWaveFrom(t,e){console.log("onDbClickWaveFrom",t);const a=Date.now(),i=()=>{var w,u,m,y;const s=t.target.name.split("_");this.activeLeadIdx=+s[0];const o=+s[1];let n=0,l=0;e==="single"?(n=t.offsetX-this.singleWaveDataCopy[o].pos[0],l=this.singleWaveDataCopy[o].startInd):e==="rowAndCol"?(n=t.offsetX-this.waveDataCopy[o].pos[0],l=this.waveDataCopy[o].startInd||0):e==="add"&&(n=t.offsetX-this.addWaveDataCopy[o].pos[0],l=this.addWaveDataCopy[o].startInd||0);let r=v.getPointIdxForPx(n,((w=this.formatEcgData)==null?void 0:w.step)||1);r+=l;const p=((u=this.formatEcgData)==null?void 0:u.processedData.otherParams.AnalyseValue)||[];let d=null;if(this.enlargeWaveMode===v.AnalysisMode.SelectedHeartbeat){if(r<=p[1].KeyPosByBeat.Tend+.1*(((m=this.formatEcgData)==null?void 0:m.processedData.otherParams.SampleRate)||0))d=p[1];else for(let C=1;C<p.length;C++)if(r>p[C-1].KeyPosByBeat.Tend+1&&r<p[C].KeyPosByBeat.Tend+.1*(((y=this.formatEcgData)==null?void 0:y.processedData.otherParams.SampleRate)||0)){d=p[C];break}}else d=p[0];console.log("currentAnalyseValue",d,d==null?void 0:d.BeatID),d&&(this.activeLeadAnalyseValue=P(D({},d),{BeatCount:p.length-1}),d=null,this.isShowEnlargeWave=!0)};a-this.dbClickWaveFromTime<400?(this.dbClickWaveFromTime=0,i()):this.dbClickWaveFromTime=a}createLeadHead(t,e){var s;const a=this.leadHeadConfig.leadHedeWidth/4,i=((s=this.formatEcgData)==null?void 0:s.sens)||0;return new f.Polyline({cursor:"",shape:{points:[[0+t,0+e],[a+t,0+e],[a+t,-i+e],[3*a+t,-i+e],[3*a+t,0+e],[4*a+t,0+e]]},style:{stroke:this.leadHeadConfig.leadHedeColor,lineWidth:this.leadHeadConfig.leadHedeLineWidth}})}creatSplitLine(t,e){var a;return new f.Line({cursor:"",shape:{x1:0+t,y1:0+e,x2:0+t,y2:(((a=this.formatEcgData)==null?void 0:a.sens)||0)+e},style:{stroke:this.leadHeadConfig.leadHedeColor,lineWidth:this.leadHeadConfig.leadHedeLineWidth}})}drawLeadHead(){var t,e;for(let a=1;a<=this.totalRows;a++)(t=this.leadHeadGroup)==null||t.add(this.createLeadHead(0,a*this.splitBlockHeight));(e=this.sceneIns)==null||e.add(this.leadHeadGroup)}drawColSplitLine(){var a,i,s,o,n;(a=this.splitLineGroup)==null||a.removeAll(),(i=this.sceneIns)==null||i.remove(this.splitLineGroup);const t=(this.drawArea.width-this.leadHeadConfig.leadHedeWidth)/this.leadModel.column;this.splitPoint=t,this.isSingleMode&&(this.splitPoint-=80);let e=0;for(let l=1;l<=this.leadModel.column-1;l++){e=l*t+this.leadHeadConfig.leadHedeWidth;for(let r=1;r<=this.leadModel.line;r++)(o=this.splitLineGroup)==null||o.add(this.creatSplitLine(e,r*this.splitBlockHeight-(((s=this.formatEcgData)==null?void 0:s.sens)||0)*.5))}(n=this.sceneIns)==null||n.add(this.splitLineGroup)}initSlidingWindowInfo(){var i,s;const t=((i=this.formatEcgData)==null?void 0:i.step)||0,e=Math.ceil(this.splitPoint/t);this.slidingWindowInfo={points:e,startInd:0,endInd:e},this.vuescrollConfig.isShow&&(this.vuescrollWH.width=this.canvasContainer.width+(((s=this.formatEcgData)==null?void 0:s.dataPxLen)||0)-this.splitPoint);const a=Math.ceil((this.drawArea.width-this.leadHeadConfig.leadHedeWidth)/t);this.addSlidingWindowInfo={points:a,startInd:0,endInd:a}}getRednerSinglePoints(){let t=0,e=0;const a=this.waveFromData[this.singleModeInfo.defaultSelect]||[];let i=this.slidingWindowInfo.startInd||0,s=this.slidingWindowInfo.endInd||0;const o=[],n=Math.ceil(a.length/(this.slidingWindowInfo.points||1));for(let l=0;l<1;l++){t=l*this.splitPoint+this.leadHeadConfig.leadHedeWidth,e=0;for(let r=1;r<=n;r++)e=r*this.splitBlockHeight,r>1&&(e*=.8,i=s,s=i+(this.slidingWindowInfo.points||0)),r===1&&(this.loopArrowY.rowAndCol=e),o.push({pos:[t,e],startInd:i,endInd:s,data:a.slice(i,s).map((p,d)=>{var w;return[d*(((w=this.formatEcgData)==null?void 0:w.step)||0),-p]})})}return o}getRednerPoints(){let t=0,e=0,a=0,i=[],s=this.slidingWindowInfo.startInd||0,o=this.slidingWindowInfo.endInd||0;const n=[];for(let l=0;l<this.leadModel.column;l++){t=l*this.splitPoint+this.leadHeadConfig.leadHedeWidth,e=0,this.leadModel.isContinuous&&l>0&&(s=o,o=s+(this.slidingWindowInfo.points||0));for(let r=1;r<=this.leadModel.line&&(e=r*this.splitBlockHeight,!(a>(this.waveFromData||[]).length-1));r++)i=this.waveFromData[a]||[],a++,r===1&&(this.loopArrowY.rowAndCol=e),n.push({pos:[t,e],startInd:s,endInd:o,data:i.slice(s,o).map((p,d)=>{var w;return[d*(((w=this.formatEcgData)==null?void 0:w.step)||0),-p]})})}return n}getAddRednerPoints(){const t=[],e=this.leadHeadConfig.leadHedeWidth;let a=0,i=0,s=[];for(let o=0;o<this.leadModel.add;o++)i=this.longLeadConfig[o],a=(o+this.leadModel.line+1)*this.splitBlockHeight,s=this.waveFromData[i]||[],o===0&&(this.loopArrowY.add=a),t.push({pos:[e,a],startInd:this.addSlidingWindowInfo.startInd||0,endInd:this.addSlidingWindowInfo.endInd||0,data:s.slice(this.addSlidingWindowInfo.startInd,this.addSlidingWindowInfo.endInd).map((n,l)=>{var r;return[l*(((r=this.formatEcgData)==null?void 0:r.step)||0),-n]})});return t}createSingleWaveFrom(){var o,n,l,r,p,d,w;(o=this.singleWaveFromGroup)==null||o.removeAll();const t=(((n=this.formatEcgData)==null?void 0:n.processedData.otherParams.LeadName)||[])[this.singleModeInfo.defaultSelect]||0;let e=this.getRednerSinglePoints(),a=v.getDataLenTimes(this.slidingWindowInfo.points||0,((l=this.formatEcgData)==null?void 0:l.processedData.otherParams.SampleRate)||0),i=0,s=0;for(let u=0;u<e.length&&!(e[u].pos[1]>this.drawArea.height+this.bottomAreaHeight);u++)this.isLeadDel(t)||(i=parseInt(`${a/1e3/60}`,10),s=parseInt(`${a/1e3%60}`,10),i=s===60?i+=1:i,i=i===0?"00":i<10?`0${i}`:i,s=s===0||s===60?"00":s<10?`0${s}`:s,(r=this.singleWaveFromGroup)==null||r.add(new f.Polyline({cursor:"",name:this.singleModeInfo.defaultSelect+"_"+u,shape:{points:e[u].data.map(([m,y])=>[m+e[u].pos[0],y+e[u].pos[1]])},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:m=>{this.onDbClickWaveFrom(m,"single")}})),(d=this.singleWaveFromGroup)==null||d.add(new f.Text({cursor:"",style:{x:e[u].pos[0],y:e[u].pos[1]-(((p=this.formatEcgData)==null?void 0:p.sens)||0)/2,text:u===0?"00:00 \u5FC3\u7387":`${i}:${s} \u5FC3\u7387`,fontWeight:"bold",fontSize:14,fill:"#FF0080",fontFamily:this.fontFamily}})),u>0&&(a+=a));this.createLeadName(t,e[0].pos[0]-10,e[0].pos[1]+10),this.createLeadOffAndDel(t,e[0].pos[0]-5,e[0].pos[1]-(((w=this.formatEcgData)==null?void 0:w.sens)||0)/2-15),this.singleWaveDataCopy=e,e=null}createAddWaveFrom(){var e,a;console.time("createAddWaveFrom");let t=this.getAddRednerPoints();for(let i=0;i<t.length;i++)this.isLeadDel(this.longLeadConfig[i])||((e=this.addwaveFromGroup)==null||e.add(new f.Polyline({cursor:"",name:this.longLeadConfig[i]+"_"+i,shape:{points:t[i].data.map(([s,o])=>[s+t[i].pos[0],o+t[i].pos[1]])},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:s=>{this.onDbClickWaveFrom(s,"add")}})),this.createLeadName(this.longLeadConfig[i],t[i].pos[0],t[i].pos[1]-15,!0),this.createLeadOffAndDel(this.longLeadConfig[i],t[i].pos[0]-5,t[i].pos[1]-(((a=this.formatEcgData)==null?void 0:a.sens)||0)/2-15));console.timeEnd("createAddWaveFrom"),this.addWaveDataCopy=t,t=null}createRowAndColWaveFrom(){var a,i,s,o,n,l;console.time("createRowAndColWaveFrom"),(a=this.rowAndColwaveFromGroup)==null||a.removeAll();let t=this.getRednerPoints(),e=0;for(let r=0;r<t.length;r++)e=(((i=this.formatEcgData)==null?void 0:i.processedData.otherParams.LeadName)||[])[r]||0,this.isLeadDel(e)||(s=this.rowAndColwaveFromGroup)==null||s.add(new f.Polyline({cursor:"",name:r+"_"+r,shape:{points:t[r].data.map(([p,d])=>[p+t[r].pos[0],d+t[r].pos[1]])},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:p=>{this.onDbClickWaveFrom(p,"rowAndCol")}})),r<this.leadModel.line?(this.createLeadName(e,t[r].pos[0],t[r].pos[1]-15),this.createLeadOffAndDel(e,t[r].pos[0]-5,t[r].pos[1]-(((o=this.formatEcgData)==null?void 0:o.sens)||0)/2-15)):(this.createLeadName(e,t[r].pos[0]+5,t[r].pos[1]-(((n=this.formatEcgData)==null?void 0:n.sens)||0)/2),this.createLeadOffAndDel(e,t[r].pos[0]-5,t[r].pos[1]-(((l=this.formatEcgData)==null?void 0:l.sens)||0)/2+9));this.waveDataCopy=t,t=null}createLeadName(t,e,a,i=!1){var s;(s=this.leadHeadNameGroup)==null||s.add(new f.Text({style:{x:e,y:a,text:v.LeadNameTexts[t],fontSize:this.leadConfig.fontSize,fill:this.leadConfig.lineColor,fontFamily:this.leadConfig.fontFamily},oncontextmenu:o=>{o.event.preventDefault(),this.$emit("notiifyLeadName",{event:P(D({},o),{name:v.LeadNameTexts[t],idx:t}),isAdd:i})},onclick:o=>{this.$emit("notiifyLeadName",{event:P(D({},o),{name:v.LeadNameTexts[t],idx:t}),isAdd:i})}}))}createLeadOffAndDel(t,e,a){var i;(this.isLeadOff(t)||this.isLeadDel(t))&&((i=this.leadHeadOffAndDelGroup)==null||i.add(new f.Text({cursor:"",style:{x:e,y:a,text:"X",fontWeight:"bold",fontSize:18,fill:"#E42c03",fontFamily:this.fontFamily}})))}drawRulerNotes(){var i,s,o,n;if(!this.rulerConfig.isShow)return;const t={fill:"#FF0080",fontSize:13,fontFamily:this.fontFamily},e=new f.Text({cursor:"",style:D({text:"(s)",x:this.leadHeadConfig.leadHedeWidth/2-8,y:this.drawArea.height+this.bottomAreaHeight-25},t)}),a=new f.Text({style:D({text:`${(i=this.formatEcgData)==null?void 0:i.gain}mm/mV ${(s=this.formatEcgData)==null?void 0:s.speed}mm/s`,x:this.leadHeadConfig.leadHedeWidth/2+20,y:this.drawArea.height+this.bottomAreaHeight-40},t)});(o=this.sceneIns)==null||o.add(a),(n=this.sceneIns)==null||n.add(e)}drawRuler(t=0){var o,n,l,r,p;if(!this.rulerConfig.isShow)return;const e=this.dataTotalTimes/1e3;let a=this.leadHeadConfig.leadHedeWidth,i=0,s=e;if(this.leadModel.isContinuous)s=e*5;else if(!this.leadModel.add&&((o=this.formatEcgData)==null?void 0:o.step)){const d=v.getPointIdxForPx(this.splitPoint,this.formatEcgData.step),w=v.getDataLenTimes(d,((n=this.formatEcgData)==null?void 0:n.processedData.otherParams.SampleRate)||0)/1e3;s=t+w}for(let d=t;d<=s;d=+(d+.1).toFixed(1))d!==t&&(a+=this.rulerStep),d%1===0?(i=this.canvasContainer.height-10,(l=this.rulerGroup)==null||l.add(new f.Text({cursor:"",style:{x:a,y:i-15,text:d+"",fontSize:13,fontFamily:this.fontFamily,fill:"#FF0080"}}))):i=this.canvasContainer.height-5,(r=this.rulerGroup)==null||r.add(new f.Line({cursor:"",shape:{x1:a,y1:i,x2:a,y2:this.canvasContainer.height},style:{stroke:"#FF0080",lineWidth:2}}));(p=this.sceneIns)==null||p.add(this.rulerGroup)}drawWaveFrom(){var t,e,a;this.isSingleMode?(this.addWaveDataCopy=[],this.waveDataCopy=[],this.createSingleWaveFrom(),(t=this.sceneIns)==null||t.add(this.singleWaveFromGroup)):(this.singleWaveDataCopy=[],this.createAddWaveFrom(),this.createRowAndColWaveFrom(),(e=this.sceneIns)==null||e.add(this.rowAndColwaveFromGroup),(a=this.sceneIns)==null||a.add(this.addwaveFromGroup)),this.drawLeadHeadNameAndOffOrDel(),this.drawRuler(),this.drawLoopArrow()}drawLeadHeadNameAndOffOrDel(){var t,e;(t=this.sceneIns)==null||t.add(this.leadHeadNameGroup),(e=this.sceneIns)==null||e.add(this.leadHeadOffAndDelGroup)}drawLoopArrow(t=0){var l,r,p,d,w,u,m,y,C,I,F,H,G,S,b,x,E;if(this.drawLoopArrowStartPosIdx=t,!this.heartFight.isShow)return;this.heartFight.mode&&this.currentHeardBeat.heardBeat===null&&(this.currentHeardBeat.heardBeat=((l=this.formatEcgData)==null?void 0:l.heartBeatPosition[this.heartFight.defaultSelect])||null,this.drawHeardBeatLine());let e=0,a=0;this.leadModel.add?a=this.loopArrowY.add-(((r=this.formatEcgData)==null?void 0:r.sens)||0)-this.splitBlockHeight/3.5:a=20;let i=0,s=0;const o={fontSize:12,fill:"red",fontFamily:this.fontFamily};let n=0;for(let L=0;L<(((p=this.formatEcgData)==null?void 0:p.heartBeatPosition)||[]).length;L++){const h=(d=this.formatEcgData)==null?void 0:d.heartBeatPosition[L];if(n=((h==null?void 0:h.position)||0)-t,!(t>((h==null?void 0:h.position)||0))&&!(!this.leadModel.isContinuous&&!this.leadModel.add&&n>(this.slidingWindowInfo.points||0))){if(((h==null?void 0:h.position)||0)-this.addSlidingWindowInfo.startInd>(this.addSlidingWindowInfo.points||0))break;e=n*(((w=this.formatEcgData)==null?void 0:w.step)||0)+this.leadHeadConfig.leadHedeWidth-9.5,s=0,(y=this.arrowGroup)==null||y.add(new f.Polygon({name:"arrow_box",shape:{points:[[4+e,0+a],[15+e,0+a],[15+e,10+a],[19+e,10+a],[9.5+e,22+a],[0+e,10+a],[4+e,10+a],[4+e,0+a]]},style:{fill:((m=(u=this.currentHeardBeat)==null?void 0:u.heardBeat)==null?void 0:m.index)===(h==null?void 0:h.index)?"blue":"#ccc"},onclick:A=>{var O;!this.heartFight.mode||(A.target.attr({style:{fill:"blue"}}),(O=this.arrowGroup)==null||O.children().filter(W=>W.name==="arrow_box").forEach(W=>{W.id!==A.target.id&&W.attr({style:{fill:"#ccc"}})}),this.arrowLoopClick(h,A.target))}})),this.heartFight.heartrate&&(i=((C=this.AssistCtx)==null?void 0:C.measureText(`${(h==null?void 0:h.heartrate)||""}`).width)||0,(I=this.arrowGroup)==null||I.add(new f.Text({cursor:"",style:D({x:4+e-i*1.5,y:s+a,text:`${(h==null?void 0:h.heartrate)||""}`},o)})),s+=12),this.heartFight.interval&&(i=((F=this.AssistCtx)==null?void 0:F.measureText(`${(h==null?void 0:h.interval)||""}`).width)||0,(H=this.arrowGroup)==null||H.add(new f.Text({cursor:"",style:D({x:4+e-i*1.5,y:s+a,text:`${(h==null?void 0:h.interval)||""}`},o)})),s+=12),this.heartFight.qrstCompany&&(i=((G=this.AssistCtx)==null?void 0:G.measureText(`${(h==null?void 0:h.qrstCompany)||""}`).width)||0,(S=this.arrowGroup)==null||S.add(new f.Text({cursor:"",style:D({x:4+e-i*1.5,y:s+a,text:`${(h==null?void 0:h.qrstCompany)||""}`},o)})),s+=12),this.heartFight.telectricalaxis&&(i=((b=this.AssistCtx)==null?void 0:b.measureText(`${(h==null?void 0:h.telectricalaxis)||""}`).width)||0,(x=this.arrowGroup)==null||x.add(new f.Text({cursor:"",style:D({x:4+e-i*1.5,y:s+a,text:`${(h==null?void 0:h.telectricalaxis)||""}`},o)})))}}(E=this.sceneIns)==null||E.add(this.arrowGroup)}arrowLoopClick(t,e){this.$emit("notifyHeardBeat",f.util.clone(t)),this.currentHeardBeat.heardBeat=t,this.currentHeardBeat.ele=e,this.drawHeardBeatLine()}drawHeardBeatLine(t=0){var n,l,r,p,d,w;if(!this.currentHeardBeat.heardBeat)return;(n=this.heardBeatLineGroup)==null||n.removeAll(),(l=this.sceneIns)==null||l.remove(this.heardBeatLineGroup);let e=this.formatEcgData.processedData.otherParams.AnalyseValue[this.currentHeardBeat.heardBeat.index].KeyPosByBeat,a=0,i=this.getRednerPoints(),s=this.getAddRednerPoints(),o;for(const u in e)if(["Pstart","Pend","QRSstart","QRSend","Tstart","Tend"].includes(u)&&Object.prototype.hasOwnProperty.call(e,u)){a=(e[u]-this.slidingWindowInfo.startInd)*(((r=this.formatEcgData)==null?void 0:r.step)||0);e:for(let m=0;m<i.length;m++)if(!(this.isLeadOff(m)||this.isLeadDel(m))){if(t>e[u]||!this.leadModel.isContinuous&&e[u]-this.slidingWindowInfo.startInd>(this.slidingWindowInfo.points||0)||(o=i[m],this.leadModel.isContinuous&&m>this.leadModel.line-1))break e;(p=this.heardBeatLineGroup)==null||p.add(this.createHeardBeatLine(o.pos[0]+a,o.pos[1]))}e:for(let m=0;m<s.length;m++)if(!(this.isLeadOff(this.longLeadConfig[m])&&this.isLeadDel(this.longLeadConfig[m]))){if(t>e[u])break e;o=s[m],(d=this.heardBeatLineGroup)==null||d.add(this.createHeardBeatLine(o.pos[0]+a,o.pos[1]))}}(w=this.sceneIns)==null||w.add(this.heardBeatLineGroup),e=null,i=null,s=null}createHeardBeatLine(t,e){return new f.Line({cursor:"",shape:{x1:t,y1:e-10,x2:t,y2:e+10},style:{stroke:"blue",lineWidth:1}})}handleScroll(t,e,a){var i;if(e.type==="horizontal"){e.scrollLeft=e.scrollLeft||0;const s=v.getPointIdxForPx(e.scrollLeft,((i=this.formatEcgData)==null?void 0:i.step)||1);this.scrollWaveFrom(s),this.scrollRuler(s),this.scrollArrow(s),this.$emit("notifyScrollPointIdx",s)}}scrollWaveFrom(t){var i,s;this.slidingWindowInfo.startInd=t,this.slidingWindowInfo.endInd=t+(this.slidingWindowInfo.points||0),this.addSlidingWindowInfo.startInd=t,this.addSlidingWindowInfo.endInd=t+(this.addSlidingWindowInfo.points||0);let e=this.getRednerPoints(),a=this.getAddRednerPoints();this.waveDataCopy=e,this.addWaveDataCopy=a,(i=this.rowAndColwaveFromGroup)==null||i.eachChild((o,n)=>{n=n||0,o.attr({shape:{points:e[n].data.map(([l,r])=>[l+e[n].pos[0],r+e[n].pos[1]])}})}),(s=this.addwaveFromGroup)==null||s.eachChild((o,n)=>{n=n||0,o.attr({shape:{points:a[n].data.map(([l,r])=>[l+a[n].pos[0],r+a[n].pos[1]])}})}),e=null,a=null}scrollRuler(t){var a,i,s;(a=this.rulerGroup)==null||a.removeAll(),(i=this.sceneIns)==null||i.remove(this.rulerGroup);const e=v.getDataLenTimes(t,((s=this.formatEcgData)==null?void 0:s.processedData.otherParams.SampleRate)||0)/1e3;this.drawRuler(e)}scrollArrow(t){var e,a;(e=this.arrowGroup)==null||e.removeAll(),(a=this.sceneIns)==null||a.remove(this.arrowGroup),this.drawLoopArrow(t),this.drawHeardBeatLine(t)}};c([g.Prop({required:!0,type:Number,validator:t=>typeof t=="number"})],exports.default.prototype,"width",2);c([g.Prop({required:!0,type:Number,validator:t=>typeof t=="number"})],exports.default.prototype,"height",2);c([g.Prop({required:!0})],exports.default.prototype,"gridConfig",2);c([g.Prop({default:5,type:Number})],exports.default.prototype,"cellPoints",2);c([g.Prop({required:!0})],exports.default.prototype,"conventionalECGConfig",2);c([g.Prop({default:()=>({leadHedeWidth:20,leadHedeColor:"#000",leadHedeLineWidth:2})})],exports.default.prototype,"leadHeadConfig",2);c([g.Prop({required:!0})],exports.default.prototype,"formatEcgData",2);c([g.Prop({required:!0})],exports.default.prototype,"leadModel",2);c([g.Prop({default:()=>({lineColor:"#000",lineWidth:1,fontFamily:"\u5FAE\u8F6F\u96C5\u9ED1",fontSize:15})})],exports.default.prototype,"leadConfig",2);c([g.Prop({default:()=>[1,6,10]})],exports.default.prototype,"longLeadConfig",2);c([g.Prop({default:()=>({isShow:!1,mode:!1,defaultSelect:2,heartrate:!1,interval:!1,qrstCompany:!1,telectricalaxis:!1})})],exports.default.prototype,"heartFight",2);c([g.Prop({default:()=>({isShow:!0,scrollPanel:{scrollingY:!1},bar:{keepShow:!0,size:"10px"}})})],exports.default.prototype,"vuescrollConfig",2);c([g.Prop({default:()=>({isShow:!1})})],exports.default.prototype,"rulerConfig",2);c([g.Prop({default:()=>({isShow:!1})})],exports.default.prototype,"measurRulerConfig",2);c([g.Prop({default:()=>({isShow:!1})})],exports.default.prototype,"paralleRulerConfig",2);c([g.Prop({default:()=>({isShow:!1})})],exports.default.prototype,"magnifierRulerConfig",2);c([g.Prop({default:60})],exports.default.prototype,"ventricularRate",2);c([g.Prop({default:v.AnalysisMode.CompoundWave})],exports.default.prototype,"enlargeWaveMode",2);c([g.Prop({default:()=>[]})],exports.default.prototype,"gains",2);c([g.Prop({default:()=>[]})],exports.default.prototype,"speeds",2);c([g.Prop({default:()=>({defaultSelect:1})})],exports.default.prototype,"singleModeInfo",2);c([v.throttling(200)],exports.default.prototype,"handleScroll",1);exports.default=c([N.default({name:"Methods"})],exports.default);
1
+ "use strict";var R=Object.defineProperty,T=Object.defineProperties;var z=Object.getOwnPropertyDescriptors;var M=Object.getOwnPropertySymbols;var B=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable;var k=(t,e,a)=>e in t?R(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a,D=(t,e)=>{for(var a in e||(e={}))B.call(e,a)&&k(t,a,e[a]);if(M)for(var a of M(e))j.call(e,a)&&k(t,a,e[a]);return t},P=(t,e)=>T(t,z(e));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const N=require("vue"),_=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_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Emit.js");const g=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Prop.js"),v=require("@costy-plus/utils"),f=require("zrender"),$=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},q=$(N);var V=Object.defineProperty,X=Object.getOwnPropertyDescriptor,c=(t,e,a,i)=>{for(var s=i>1?void 0:i?X(e,a):e,o=t.length-1,n;o>=0;o--)(n=t[o])&&(s=(i?n(e,a,s):n(s))||s);return i&&s&&V(e,a,s),s};exports.default=class extends q.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(100),this.dataTotalTimes=Object.freeze(0),this.totalRows=Object.freeze(0),this.rulerStep=Object.freeze(0),this.drawLoopArrowStartPosIdx=Object.freeze(0),this.dbClickWaveFromTime=Object.freeze(0),this.currentHeardBeat={heardBeat:null,ele:null},this.loopArrowY=Object.freeze({add:0,rowAndCol:0}),this.fontFamily=Object.freeze("\u5FAE\u8F6F\u96C5\u9ED1"),this.splitBlockHeight=0,this.splitPoint=0,this.slidingWindowInfo=Object.freeze({}),this.addSlidingWindowInfo=Object.freeze({}),this.highestAndLowestPoint=Object.freeze({Data:{maxPoints:0,minPoints:0},ComplexData:{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=-1,this.activeLeadAnalyseValue=null,this.isShowEnlargeWave=!1}get canvasContainer(){var t;return{width:this.width,height:this.height-(this.vuescrollConfig.isShow&&parseInt(`${(t=this.vuescrollConfig.bar)==null?void 0:t.size}`)||0)||0}}get waveFromData(){var t,e,a;return((t=this.formatEcgData)==null?void 0:t.analysisValueMode)===v.AnalysisMode.CompoundWave?((e=this.formatEcgData)==null?void 0:e.processedData.handleData.ComplexData)||[]:((a=this.formatEcgData)==null?void 0:a.processedData.handleData.Data)||[]}get isSingleMode(){return this.leadModel.column===1&&this.leadModel.line===1}destroyed(){var t,e,a,i,s,o,n,l,r,p,d;(t=this.rowAndColwaveFromGroup)==null||t.removeAll(),(e=this.singleWaveFromGroup)==null||e.removeAll(),(a=this.addwaveFromGroup)==null||a.removeAll(),(i=this.leadHeadGroup)==null||i.removeAll(),(s=this.splitLineGroup)==null||s.removeAll(),(o=this.leadHeadNameGroup)==null||o.removeAll(),(n=this.leadHeadOffAndDelGroup)==null||n.removeAll(),(l=this.rulerGroup)==null||l.removeAll(),(r=this.arrowGroup)==null||r.removeAll(),(p=this.heardBeatLineGroup)==null||p.removeAll(),(d=this.sceneIns)==null||d.dispose()}init(){var t;this.initWaveFormPeer(),this.combinationDrawing(),(t=this.formatEcgData)!=null&&t.processedData.otherParams.PosStart&&(this.vuescrollConfig.isShow?this.$nextTick(()=>{var e,a;this.$refs.vueScroll.scrollBy({dx:(((e=this.formatEcgData)==null?void 0:e.processedData.otherParams.PosStart)||0)*(((a=this.formatEcgData)==null?void 0:a.step)||0)})}):(this.scrollWaveFrom(this.formatEcgData.processedData.otherParams.PosStart),this.scrollRuler(this.formatEcgData.processedData.otherParams.PosStart),this.scrollArrow(this.formatEcgData.processedData.otherParams.PosStart)))}initWaveFormPeer(){const t=document.getElementById("wave-from-box");this.sceneIns=f.init(t,{width:this.canvasContainer.width,height:this.canvasContainer.height,devicePixelRatio:2});const e=document.getElementById("MXGrid");this.AssistCtx=e.getContext("2d")}combinationDrawing(){this.initConfig(),this.drawLeadHead(),this.drawColSplitLine(),this.initSlidingWindowInfo(),this.drawRulerNotes(),this.drawWaveFrom()}initConfig(){var e,a,i,s,o,n,l,r,p;this.rowAndColwaveFromGroup=new f.Group({name:"rowAndColwaveFrom"}),this.singleWaveFromGroup=new f.Group({name:"singleWaveFrom"}),this.addwaveFromGroup=new f.Group({name:"addwaveFrom"}),this.leadHeadGroup=new f.Group({name:"leadHead"}),this.splitLineGroup=new f.Group({name:"splitLine"}),this.leadHeadNameGroup=new f.Group({name:"leadHeadName"}),this.leadHeadOffAndDelGroup=new f.Group({name:"leadHeadOffAndDel"}),this.rulerGroup=new f.Group({name:"ruler"}),this.arrowGroup=new f.Group({name:"arrowLoop"}),this.heardBeatLineGroup=new f.Group({name:"heardBeatLine"}),this.vuescrollWH.width=this.width,this.vuescrollWH.height=this.height;let t=this.canvasContainer.width;if(((a=(e=this.conventionalECGConfig)==null?void 0:e.ecgReviewSetting)==null?void 0:a.ecgareawidth)==="1"){const d=v.getPrintLengthToPx(((i=this.formatEcgData)==null?void 0:i.processedData.otherParams.SampleRate)||0)+this.leadHeadConfig.leadHedeWidth;d<=t&&(t=d)}this.drawArea={width:t,height:this.canvasContainer.height-this.bottomAreaHeight},this.slidingWindowInfo={points:0,startInd:0,endInd:0},this.addSlidingWindowInfo={points:0,startInd:0,endInd:0},this.loopArrowY={add:0,rowAndCol:0},this.currentHeardBeat={heardBeat:null,ele:null},this.leadNameList=((s=this.formatEcgData)==null?void 0:s.processedData.otherParams.LeadName)||[],this.totalRows=this.leadModel.line+this.leadModel.add||1,this.highestAndLowestPoint=(o=this.formatEcgData)==null?void 0:o.calcHighestAndLowestPoint(),this.isSingleMode?this.splitBlockHeight=(((n=this.formatEcgData)==null?void 0:n.analysisValueMode)===v.AnalysisMode.CompoundWave?Math.abs(this.highestAndLowestPoint.ComplexData.maxPoints)+Math.abs(this.highestAndLowestPoint.ComplexData.minPoints):Math.abs(this.highestAndLowestPoint.Data.maxPoints)+Math.abs(this.highestAndLowestPoint.Data.minPoints))+22:this.splitBlockHeight=this.drawArea.height/this.totalRows,this.dataTotalTimes=v.getDataLenTimes(this.waveFromData[0].length||0,((l=this.formatEcgData)==null?void 0:l.processedData.otherParams.SampleRate)||0),this.rulerStep=(((r=this.formatEcgData)==null?void 0:r.step)||1)*(((p=this.formatEcgData)==null?void 0:p.processedData.otherParams.SampleRate)||1)/(this.gridConfig.cellMg*2+2)}isLeadOff(t){var e;return!!(((e=this.formatEcgData)==null?void 0:e.processedData.otherParams.LeadOff)||[]).includes(t)}isLeadDel(t){var e;return!!(((e=this.formatEcgData)==null?void 0:e.processedData.otherParams.LeadDelete)||[]).includes(t)}onDbClickWaveFrom(t,e){console.log("onDbClickWaveFrom",t);const a=Date.now(),i=()=>{var w,u,m,y;const s=t.target.name.split("_");this.activeLeadIdx=+s[0];const o=+s[1];let n=0,l=0;e==="single"?(n=t.offsetX-this.singleWaveDataCopy[o].pos[0],l=this.singleWaveDataCopy[o].startInd):e==="rowAndCol"?(n=t.offsetX-this.waveDataCopy[o].pos[0],l=this.waveDataCopy[o].startInd||0):e==="add"&&(n=t.offsetX-this.addWaveDataCopy[o].pos[0],l=this.addWaveDataCopy[o].startInd||0);let r=v.getPointIdxForPx(n,((w=this.formatEcgData)==null?void 0:w.step)||1);r+=l;const p=((u=this.formatEcgData)==null?void 0:u.processedData.otherParams.AnalyseValue)||[];let d=null;if(this.enlargeWaveMode===v.AnalysisMode.SelectedHeartbeat){if(r<=p[1].KeyPosByBeat.Tend+.1*(((m=this.formatEcgData)==null?void 0:m.processedData.otherParams.SampleRate)||0))d=p[1];else for(let C=1;C<p.length;C++)if(r>p[C-1].KeyPosByBeat.Tend+1&&r<p[C].KeyPosByBeat.Tend+.1*(((y=this.formatEcgData)==null?void 0:y.processedData.otherParams.SampleRate)||0)){d=p[C];break}}else d=p[0];console.log("currentAnalyseValue",d,d==null?void 0:d.BeatID),d&&(this.activeLeadAnalyseValue=P(D({},d),{BeatCount:p.length-1}),d=null,this.isShowEnlargeWave=!0)};a-this.dbClickWaveFromTime<400?(this.dbClickWaveFromTime=0,i()):this.dbClickWaveFromTime=a}createLeadHead(t,e){var s;const a=this.leadHeadConfig.leadHedeWidth/4,i=((s=this.formatEcgData)==null?void 0:s.sens)||0;return new f.Polyline({cursor:"",shape:{points:[[0+t,0+e],[a+t,0+e],[a+t,-i+e],[3*a+t,-i+e],[3*a+t,0+e],[4*a+t,0+e]]},style:{stroke:this.leadHeadConfig.leadHedeColor,lineWidth:this.leadHeadConfig.leadHedeLineWidth}})}creatSplitLine(t,e){var a;return new f.Line({cursor:"",shape:{x1:0+t,y1:0+e,x2:0+t,y2:(((a=this.formatEcgData)==null?void 0:a.sens)||0)+e},style:{stroke:this.leadHeadConfig.leadHedeColor,lineWidth:this.leadHeadConfig.leadHedeLineWidth}})}drawLeadHead(){var t,e;for(let a=1;a<=this.totalRows;a++)(t=this.leadHeadGroup)==null||t.add(this.createLeadHead(0,a*this.splitBlockHeight));(e=this.sceneIns)==null||e.add(this.leadHeadGroup)}drawColSplitLine(){var a,i,s,o,n;(a=this.splitLineGroup)==null||a.removeAll(),(i=this.sceneIns)==null||i.remove(this.splitLineGroup);const t=(this.drawArea.width-this.leadHeadConfig.leadHedeWidth)/this.leadModel.column;this.splitPoint=t,this.isSingleMode&&(this.splitPoint-=80);let e=0;for(let l=1;l<=this.leadModel.column-1;l++){e=l*t+this.leadHeadConfig.leadHedeWidth;for(let r=1;r<=this.leadModel.line;r++)(o=this.splitLineGroup)==null||o.add(this.creatSplitLine(e,r*this.splitBlockHeight-(((s=this.formatEcgData)==null?void 0:s.sens)||0)*.5))}(n=this.sceneIns)==null||n.add(this.splitLineGroup)}initSlidingWindowInfo(){var i,s;const t=((i=this.formatEcgData)==null?void 0:i.step)||0,e=Math.ceil(this.splitPoint/t);this.slidingWindowInfo={points:e,startInd:0,endInd:e},this.vuescrollConfig.isShow&&(this.vuescrollWH.width=this.canvasContainer.width+(((s=this.formatEcgData)==null?void 0:s.dataPxLen)||0)-this.splitPoint);const a=Math.ceil((this.drawArea.width-this.leadHeadConfig.leadHedeWidth)/t);this.addSlidingWindowInfo={points:a,startInd:0,endInd:a}}getRednerSinglePoints(){let t=0,e=0;const a=this.waveFromData[this.singleModeInfo.defaultSelect]||[];let i=this.slidingWindowInfo.startInd||0,s=this.slidingWindowInfo.endInd||0;const o=[],n=Math.ceil(a.length/(this.slidingWindowInfo.points||1));for(let l=0;l<1;l++){t=l*this.splitPoint+this.leadHeadConfig.leadHedeWidth,e=0;for(let r=1;r<=n;r++)e=r*this.splitBlockHeight,r>1&&(e*=.8,i=s,s=i+(this.slidingWindowInfo.points||0)),r===1&&(this.loopArrowY.rowAndCol=e),o.push({pos:[t,e],startInd:i,endInd:s,data:a.slice(i,s).map((p,d)=>{var w;return[d*(((w=this.formatEcgData)==null?void 0:w.step)||0),-p]})})}return o}getRednerPoints(){let t=0,e=0,a=0,i=[],s=this.slidingWindowInfo.startInd||0,o=this.slidingWindowInfo.endInd||0;const n=[];for(let l=0;l<this.leadModel.column;l++){t=l*this.splitPoint+this.leadHeadConfig.leadHedeWidth,e=0,this.leadModel.isContinuous&&l>0&&(s=o,o=s+(this.slidingWindowInfo.points||0));for(let r=1;r<=this.leadModel.line&&(e=r*this.splitBlockHeight,!(a>(this.waveFromData||[]).length-1));r++)i=this.waveFromData[a]||[],a++,r===1&&(this.loopArrowY.rowAndCol=e),n.push({pos:[t,e],startInd:s,endInd:o,data:i.slice(s,o).map((p,d)=>{var w;return[d*(((w=this.formatEcgData)==null?void 0:w.step)||0),-p]})})}return n}getAddRednerPoints(){const t=[],e=this.leadHeadConfig.leadHedeWidth;let a=0,i=0,s=[];for(let o=0;o<this.leadModel.add;o++)i=this.longLeadConfig.leadIdxs[o],a=(o+this.leadModel.line+1)*this.splitBlockHeight,s=this.waveFromData[i]||[],o===0&&(this.loopArrowY.add=a),t.push({pos:[e,a],startInd:this.addSlidingWindowInfo.startInd||0,endInd:this.addSlidingWindowInfo.endInd||0,data:s.slice(this.addSlidingWindowInfo.startInd,this.addSlidingWindowInfo.endInd).map((n,l)=>{var r;return[l*(((r=this.formatEcgData)==null?void 0:r.step)||0),-n]})});return t}createSingleWaveFrom(){var o,n,l,r,p,d,w;(o=this.singleWaveFromGroup)==null||o.removeAll();const t=(((n=this.formatEcgData)==null?void 0:n.processedData.otherParams.LeadName)||[])[this.singleModeInfo.defaultSelect]||0;let e=this.getRednerSinglePoints(),a=v.getDataLenTimes(this.slidingWindowInfo.points||0,((l=this.formatEcgData)==null?void 0:l.processedData.otherParams.SampleRate)||0),i=0,s=0;for(let u=0;u<e.length&&!(e[u].pos[1]>this.drawArea.height+this.bottomAreaHeight);u++)this.isLeadDel(t)||(i=parseInt(`${a/1e3/60}`,10),s=parseInt(`${a/1e3%60}`,10),i=s===60?i+=1:i,i=i===0?"00":i<10?`0${i}`:i,s=s===0||s===60?"00":s<10?`0${s}`:s,(r=this.singleWaveFromGroup)==null||r.add(new f.Polyline({cursor:"",name:this.singleModeInfo.defaultSelect+"_"+u,shape:{points:e[u].data.map(([m,y])=>[m+e[u].pos[0],y+e[u].pos[1]])},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:m=>{this.onDbClickWaveFrom(m,"single")}})),(d=this.singleWaveFromGroup)==null||d.add(new f.Text({cursor:"",style:{x:e[u].pos[0],y:e[u].pos[1]-(((p=this.formatEcgData)==null?void 0:p.sens)||0)/2,text:u===0?"00:00 \u5FC3\u7387":`${i}:${s} \u5FC3\u7387`,fontWeight:"bold",fontSize:14,fill:"#FF0080",fontFamily:this.fontFamily}})),u>0&&(a+=a));this.createLeadName(t,e[0].pos[0]-10,e[0].pos[1]+10),this.createLeadOffAndDel(t,e[0].pos[0]-5,e[0].pos[1]-(((w=this.formatEcgData)==null?void 0:w.sens)||0)/2-15),this.singleWaveDataCopy=e,e=null}createAddWaveFrom(){var e,a;console.time("createAddWaveFrom");let t=this.getAddRednerPoints();for(let i=0;i<t.length;i++)this.isLeadDel(this.longLeadConfig.leadIdxs[i])||((e=this.addwaveFromGroup)==null||e.add(new f.Polyline({cursor:"",name:this.longLeadConfig.leadIdxs[i]+"_"+i,shape:{points:t[i].data.map(([s,o])=>[s+t[i].pos[0],o+t[i].pos[1]])},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:s=>{this.onDbClickWaveFrom(s,"add")}})),this.createLeadName(this.longLeadConfig.leadNames[i],t[i].pos[0],t[i].pos[1]-15,!0),this.createLeadOffAndDel(this.longLeadConfig.leadIdxs[i],t[i].pos[0]-5,t[i].pos[1]-(((a=this.formatEcgData)==null?void 0:a.sens)||0)/2-15));console.timeEnd("createAddWaveFrom"),this.addWaveDataCopy=t,t=null}createRowAndColWaveFrom(){var a,i,s,o,n,l;console.time("createRowAndColWaveFrom"),(a=this.rowAndColwaveFromGroup)==null||a.removeAll();let t=this.getRednerPoints(),e=0;for(let r=0;r<t.length;r++)e=(((i=this.formatEcgData)==null?void 0:i.processedData.otherParams.LeadName)||[])[r]||0,this.isLeadDel(e)||(s=this.rowAndColwaveFromGroup)==null||s.add(new f.Polyline({cursor:"",name:r+"_"+r,shape:{points:t[r].data.map(([p,d])=>[p+t[r].pos[0],d+t[r].pos[1]])},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:p=>{this.onDbClickWaveFrom(p,"rowAndCol")}})),r<this.leadModel.line?(this.createLeadName(e,t[r].pos[0],t[r].pos[1]-15),this.createLeadOffAndDel(e,t[r].pos[0]-5,t[r].pos[1]-(((o=this.formatEcgData)==null?void 0:o.sens)||0)/2-15)):(this.createLeadName(e,t[r].pos[0]+5,t[r].pos[1]-(((n=this.formatEcgData)==null?void 0:n.sens)||0)/2),this.createLeadOffAndDel(e,t[r].pos[0]-5,t[r].pos[1]-(((l=this.formatEcgData)==null?void 0:l.sens)||0)/2+9));this.waveDataCopy=t,t=null}createLeadName(t,e,a,i=!1){var s;(s=this.leadHeadNameGroup)==null||s.add(new f.Text({style:{x:e,y:a,text:v.LeadNameTexts[t],fontSize:this.leadConfig.fontSize,fill:this.leadConfig.lineColor,fontFamily:this.leadConfig.fontFamily},oncontextmenu:o=>{o.event.preventDefault(),this.$emit("notiifyLeadName",{event:P(D({},o),{name:v.LeadNameTexts[t],idx:t}),isAdd:i})},onclick:o=>{this.$emit("notiifyLeadName",{event:P(D({},o),{name:v.LeadNameTexts[t],idx:t}),isAdd:i})}}))}createLeadOffAndDel(t,e,a){var i;(this.isLeadOff(t)||this.isLeadDel(t))&&((i=this.leadHeadOffAndDelGroup)==null||i.add(new f.Text({cursor:"",style:{x:e,y:a,text:"X",fontWeight:"bold",fontSize:18,fill:"#E42c03",fontFamily:this.fontFamily}})))}drawRulerNotes(){var i,s,o,n;if(!this.rulerConfig.isShow)return;const t={fill:"#FF0080",fontSize:13,fontFamily:this.fontFamily},e=new f.Text({cursor:"",style:D({text:"(s)",x:this.leadHeadConfig.leadHedeWidth/2-8,y:this.drawArea.height+this.bottomAreaHeight-25},t)}),a=new f.Text({style:D({text:`${(i=this.formatEcgData)==null?void 0:i.gain}mm/mV ${(s=this.formatEcgData)==null?void 0:s.speed}mm/s`,x:this.leadHeadConfig.leadHedeWidth/2+20,y:this.drawArea.height+this.bottomAreaHeight-40},t)});(o=this.sceneIns)==null||o.add(a),(n=this.sceneIns)==null||n.add(e)}drawRuler(t=0){var o,n,l,r,p;if(!this.rulerConfig.isShow)return;const e=this.dataTotalTimes/1e3;let a=this.leadHeadConfig.leadHedeWidth,i=0,s=e;if(this.leadModel.isContinuous)s=e*5;else if(!this.leadModel.add&&((o=this.formatEcgData)==null?void 0:o.step)){const d=v.getPointIdxForPx(this.splitPoint,this.formatEcgData.step),w=v.getDataLenTimes(d,((n=this.formatEcgData)==null?void 0:n.processedData.otherParams.SampleRate)||0)/1e3;s=t+w}for(let d=t;d<=s;d=+(d+.1).toFixed(1))d!==t&&(a+=this.rulerStep),d%1===0?(i=this.canvasContainer.height-10,(l=this.rulerGroup)==null||l.add(new f.Text({cursor:"",style:{x:a,y:i-15,text:d+"",fontSize:13,fontFamily:this.fontFamily,fill:"#FF0080"}}))):i=this.canvasContainer.height-5,(r=this.rulerGroup)==null||r.add(new f.Line({cursor:"",shape:{x1:a,y1:i,x2:a,y2:this.canvasContainer.height},style:{stroke:"#FF0080",lineWidth:2}}));(p=this.sceneIns)==null||p.add(this.rulerGroup)}drawWaveFrom(){var t,e,a;this.isSingleMode?(this.addWaveDataCopy=[],this.waveDataCopy=[],this.createSingleWaveFrom(),(t=this.sceneIns)==null||t.add(this.singleWaveFromGroup)):(this.singleWaveDataCopy=[],this.createAddWaveFrom(),this.createRowAndColWaveFrom(),(e=this.sceneIns)==null||e.add(this.rowAndColwaveFromGroup),(a=this.sceneIns)==null||a.add(this.addwaveFromGroup)),this.drawLeadHeadNameAndOffOrDel(),this.drawRuler(),this.drawLoopArrow()}drawLeadHeadNameAndOffOrDel(){var t,e;(t=this.sceneIns)==null||t.add(this.leadHeadNameGroup),(e=this.sceneIns)==null||e.add(this.leadHeadOffAndDelGroup)}drawLoopArrow(t=0){var l,r,p,d,w,u,m,y,C,A,F,H,G,S,x,b,E;if(this.drawLoopArrowStartPosIdx=t,!this.heartFight.isShow)return;this.heartFight.mode&&this.currentHeardBeat.heardBeat===null&&(this.currentHeardBeat.heardBeat=((l=this.formatEcgData)==null?void 0:l.heartBeatPosition[this.heartFight.defaultSelect])||null,this.drawHeardBeatLine());let e=0,a=0;this.leadModel.add?a=this.loopArrowY.add-(((r=this.formatEcgData)==null?void 0:r.sens)||0)-this.splitBlockHeight/3.5:a=20;let i=0,s=0;const o={fontSize:12,fill:"red",fontFamily:this.fontFamily};let n=0;for(let L=0;L<(((p=this.formatEcgData)==null?void 0:p.heartBeatPosition)||[]).length;L++){const h=(d=this.formatEcgData)==null?void 0:d.heartBeatPosition[L];if(n=((h==null?void 0:h.position)||0)-t,!(t>((h==null?void 0:h.position)||0))&&!(!this.leadModel.isContinuous&&!this.leadModel.add&&n>(this.slidingWindowInfo.points||0))){if(((h==null?void 0:h.position)||0)-this.addSlidingWindowInfo.startInd>(this.addSlidingWindowInfo.points||0))break;e=n*(((w=this.formatEcgData)==null?void 0:w.step)||0)+this.leadHeadConfig.leadHedeWidth-9.5,s=0,(y=this.arrowGroup)==null||y.add(new f.Polygon({name:"arrow_box",shape:{points:[[4+e,0+a],[15+e,0+a],[15+e,10+a],[19+e,10+a],[9.5+e,22+a],[0+e,10+a],[4+e,10+a],[4+e,0+a]]},style:{fill:((m=(u=this.currentHeardBeat)==null?void 0:u.heardBeat)==null?void 0:m.index)===(h==null?void 0:h.index)?"blue":"#ccc"},onclick:I=>{var O;!this.heartFight.mode||(I.target.attr({style:{fill:"blue"}}),(O=this.arrowGroup)==null||O.children().filter(W=>W.name==="arrow_box").forEach(W=>{W.id!==I.target.id&&W.attr({style:{fill:"#ccc"}})}),this.arrowLoopClick(h,I.target))}})),this.heartFight.heartrate&&(i=((C=this.AssistCtx)==null?void 0:C.measureText(`${(h==null?void 0:h.heartrate)||""}`).width)||0,(A=this.arrowGroup)==null||A.add(new f.Text({cursor:"",style:D({x:4+e-i*1.5,y:s+a,text:`${(h==null?void 0:h.heartrate)||""}`},o)})),s+=12),this.heartFight.interval&&(i=((F=this.AssistCtx)==null?void 0:F.measureText(`${(h==null?void 0:h.interval)||""}`).width)||0,(H=this.arrowGroup)==null||H.add(new f.Text({cursor:"",style:D({x:4+e-i*1.5,y:s+a,text:`${(h==null?void 0:h.interval)||""}`},o)})),s+=12),this.heartFight.qrstCompany&&(i=((G=this.AssistCtx)==null?void 0:G.measureText(`${(h==null?void 0:h.qrstCompany)||""}`).width)||0,(S=this.arrowGroup)==null||S.add(new f.Text({cursor:"",style:D({x:4+e-i*1.5,y:s+a,text:`${(h==null?void 0:h.qrstCompany)||""}`},o)})),s+=12),this.heartFight.telectricalaxis&&(i=((x=this.AssistCtx)==null?void 0:x.measureText(`${(h==null?void 0:h.telectricalaxis)||""}`).width)||0,(b=this.arrowGroup)==null||b.add(new f.Text({cursor:"",style:D({x:4+e-i*1.5,y:s+a,text:`${(h==null?void 0:h.telectricalaxis)||""}`},o)})))}}(E=this.sceneIns)==null||E.add(this.arrowGroup)}arrowLoopClick(t,e){this.$emit("notifyHeardBeat",f.util.clone(t)),this.currentHeardBeat.heardBeat=t,this.currentHeardBeat.ele=e,this.drawHeardBeatLine()}drawHeardBeatLine(t=0){var n,l,r,p,d,w;if(!this.currentHeardBeat.heardBeat)return;(n=this.heardBeatLineGroup)==null||n.removeAll(),(l=this.sceneIns)==null||l.remove(this.heardBeatLineGroup);let e=this.formatEcgData.processedData.otherParams.AnalyseValue[this.currentHeardBeat.heardBeat.index].KeyPosByBeat,a=0,i=this.getRednerPoints(),s=this.getAddRednerPoints(),o;for(const u in e)if(["Pstart","Pend","QRSstart","QRSend","Tstart","Tend"].includes(u)&&Object.prototype.hasOwnProperty.call(e,u)){a=(e[u]-this.slidingWindowInfo.startInd)*(((r=this.formatEcgData)==null?void 0:r.step)||0);e:for(let m=0;m<i.length;m++)if(!(this.isLeadOff(m)||this.isLeadDel(m))){if(t>e[u]||!this.leadModel.isContinuous&&e[u]-this.slidingWindowInfo.startInd>(this.slidingWindowInfo.points||0)||(o=i[m],this.leadModel.isContinuous&&m>this.leadModel.line-1))break e;(p=this.heardBeatLineGroup)==null||p.add(this.createHeardBeatLine(o.pos[0]+a,o.pos[1]))}e:for(let m=0;m<s.length;m++)if(!(this.isLeadOff(this.longLeadConfig.leadIdxs[m])&&this.isLeadDel(this.longLeadConfig.leadIdxs[m]))){if(t>e[u])break e;o=s[m],(d=this.heardBeatLineGroup)==null||d.add(this.createHeardBeatLine(o.pos[0]+a,o.pos[1]))}}(w=this.sceneIns)==null||w.add(this.heardBeatLineGroup),e=null,i=null,s=null}createHeardBeatLine(t,e){return new f.Line({cursor:"",shape:{x1:t,y1:e-10,x2:t,y2:e+10},style:{stroke:"blue",lineWidth:1}})}handleScroll(t,e,a){var i;if(e.type==="horizontal"){e.scrollLeft=e.scrollLeft||0;const s=v.getPointIdxForPx(e.scrollLeft,((i=this.formatEcgData)==null?void 0:i.step)||1);this.scrollWaveFrom(s),this.scrollRuler(s),this.scrollArrow(s),this.$emit("notifyScrollPointIdx",s)}}scrollWaveFrom(t){var i,s;this.slidingWindowInfo.startInd=t,this.slidingWindowInfo.endInd=t+(this.slidingWindowInfo.points||0),this.addSlidingWindowInfo.startInd=t,this.addSlidingWindowInfo.endInd=t+(this.addSlidingWindowInfo.points||0);let e=this.getRednerPoints(),a=this.getAddRednerPoints();this.waveDataCopy=e,this.addWaveDataCopy=a,(i=this.rowAndColwaveFromGroup)==null||i.eachChild((o,n)=>{n=n||0,o.attr({shape:{points:e[n].data.map(([l,r])=>[l+e[n].pos[0],r+e[n].pos[1]])}})}),(s=this.addwaveFromGroup)==null||s.eachChild((o,n)=>{n=n||0,o.attr({shape:{points:a[n].data.map(([l,r])=>[l+a[n].pos[0],r+a[n].pos[1]])}})}),e=null,a=null}scrollRuler(t){var a,i,s;(a=this.rulerGroup)==null||a.removeAll(),(i=this.sceneIns)==null||i.remove(this.rulerGroup);const e=v.getDataLenTimes(t,((s=this.formatEcgData)==null?void 0:s.processedData.otherParams.SampleRate)||0)/1e3;this.drawRuler(e)}scrollArrow(t){var e,a;(e=this.arrowGroup)==null||e.removeAll(),(a=this.sceneIns)==null||a.remove(this.arrowGroup),this.drawLoopArrow(t),this.drawHeardBeatLine(t)}};c([g.Prop({required:!0,type:Number,validator:t=>typeof t=="number"})],exports.default.prototype,"width",2);c([g.Prop({required:!0,type:Number,validator:t=>typeof t=="number"})],exports.default.prototype,"height",2);c([g.Prop({required:!0})],exports.default.prototype,"gridConfig",2);c([g.Prop({default:5,type:Number})],exports.default.prototype,"cellPoints",2);c([g.Prop({required:!0})],exports.default.prototype,"conventionalECGConfig",2);c([g.Prop({default:()=>({leadHedeWidth:20,leadHedeColor:"#000",leadHedeLineWidth:2})})],exports.default.prototype,"leadHeadConfig",2);c([g.Prop({required:!0})],exports.default.prototype,"formatEcgData",2);c([g.Prop({required:!0})],exports.default.prototype,"leadModel",2);c([g.Prop({default:()=>({lineColor:"#000",lineWidth:1,fontFamily:"\u5FAE\u8F6F\u96C5\u9ED1",fontSize:15})})],exports.default.prototype,"leadConfig",2);c([g.Prop({default:()=>({leadIdxs:[1,6,10],leadNames:[1,6,10]})})],exports.default.prototype,"longLeadConfig",2);c([g.Prop({default:()=>({isShow:!1,mode:!1,defaultSelect:2,heartrate:!1,interval:!1,qrstCompany:!1,telectricalaxis:!1})})],exports.default.prototype,"heartFight",2);c([g.Prop({default:()=>({isShow:!0,scrollPanel:{scrollingY:!1},bar:{keepShow:!0,size:"10px"}})})],exports.default.prototype,"vuescrollConfig",2);c([g.Prop({default:()=>({isShow:!1})})],exports.default.prototype,"rulerConfig",2);c([g.Prop({default:()=>({isShow:!1})})],exports.default.prototype,"measurRulerConfig",2);c([g.Prop({default:()=>({isShow:!1})})],exports.default.prototype,"paralleRulerConfig",2);c([g.Prop({default:()=>({isShow:!1})})],exports.default.prototype,"magnifierRulerConfig",2);c([g.Prop({default:60})],exports.default.prototype,"ventricularRate",2);c([g.Prop({default:v.AnalysisMode.CompoundWave})],exports.default.prototype,"enlargeWaveMode",2);c([g.Prop({default:()=>[]})],exports.default.prototype,"gains",2);c([g.Prop({default:()=>[]})],exports.default.prototype,"speeds",2);c([g.Prop({default:()=>({defaultSelect:1})})],exports.default.prototype,"singleModeInfo",2);c([v.throttling(200)],exports.default.prototype,"handleScroll",1);exports.default=c([_.default({name:"Methods"})],exports.default);
@@ -1 +1 @@
1
- "use strict";var M=Object.defineProperty,D=Object.defineProperties;var F=Object.getOwnPropertyDescriptors;var x=Object.getOwnPropertySymbols;var R=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable;var S=(e,t,a)=>t in e?M(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,c=(e,t)=>{for(var a in t||(t={}))R.call(t,a)&&S(e,a,t[a]);if(x)for(var a of x(t))w.call(t,a)&&S(e,a,t[a]);return e},m=(e,t)=>D(e,F(t));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const T=require("vue"),b=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_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Emit.js");const o=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Prop.js"),B=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Watch.js"),n=require("@costy-plus/utils"),y=require("zrender"),C=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},Q=C(T);var W=Object.defineProperty,G=Object.getOwnPropertyDescriptor,r=(e,t,a,s)=>{for(var i=s>1?void 0:s?G(t,a):t,l=e.length-1,h;l>=0;l--)(h=e[l])&&(i=(s?h(t,a,i):h(i))||i);return s&&i&&W(t,a,i),i};exports.default=class extends Q.default{constructor(){super(...arguments),this.AnalysisMode=n.AnalysisMode,this.AnalyseParameterTable=n.AnalyseParameterTable,this.sceneIns=Object.freeze(null),this.AssistCtx=Object.freeze(null),this.leadNameIns=Object.freeze(null),this.sensAndSpeedIns=Object.freeze(null),this.waveFromIns=Object.freeze(null),this.waveFromGroup=Object.freeze(null),this.measureGroup=Object.freeze(null),this.leadHeadIns=Object.freeze(null),this.M1=Object.freeze(null),this.M2=Object.freeze(null),this.P1=Object.freeze(null),this.P2=Object.freeze(null),this.R1=Object.freeze(null),this.R2=Object.freeze(null),this.T1=Object.freeze(null),this.T2=Object.freeze(null),this.bottomSafeAreaH=Object.freeze(63),this.drawWaveFromX=Object.freeze(0),this.dbClickTime=Object.freeze(0),this.startPos=Object.freeze(0),this.currentGainIdx=Object.freeze(0),this.currentSpeedIdx=Object.freeze(0),this.currentLeadAnalyseValueIdx=Object.freeze(0),this.longdata=Object.freeze(void 0),this.modifyAnalysed=Object.freeze(null),this.measureLineMoveInfo=Object.freeze({x:0,findIdx:0,name:"",offLeftX:0}),this.measureLineList=Object.freeze([]),this.waveFromLenPX=Object.freeze(0),this.leadNames=[],this.leadNameActive={name:"",val:-2},this.isSyncAnalyseValue=!1,this.currentSens=0,this.currentSpeedValue=0,this.currentStep=0,this.currentLeadAnalyseValue=null,this.complexAnalysisvalue=Object.freeze(null),this.enlargeAnalysisData=null,this.difference={timeDifference:0,amplitudeDifference:""}}watchActiveLeadIdx(e){var t;this.leadNameActive=this.leadNames.find(a=>a.val===e)||{name:"",val:-2},(t=this.leadNameIns)==null||t.attr({style:{text:this.leadNameActive.name}})}watchLeadNameList(e){this.leadNames=e.map(t=>{var a;return this.activeLeadIdx===t&&((a=this.leadNameIns)==null||a.attr({style:{text:n.LeadNameTexts[t]}}),this.leadNameActive={name:n.LeadNameTexts[t],val:t}),{name:n.LeadNameTexts[t],val:t}}).concat({name:"ALL",val:-1})}get containerWH(){return{width:this.width-230,height:this.height-40-50}}destroyed(){var e,t,a,s,i,l,h,d,u,f,p;(e=this.waveFromGroup)==null||e.removeAll(),(t=this.measureGroup)==null||t.removeAll(),(a=this.M1)==null||a.removeAll(),(s=this.M2)==null||s.removeAll(),(i=this.P1)==null||i.removeAll(),(l=this.P2)==null||l.removeAll(),(h=this.R1)==null||h.removeAll(),(d=this.R2)==null||d.removeAll(),(u=this.T1)==null||u.removeAll(),(f=this.T2)==null||f.removeAll();try{(p=this.sceneIns)==null||p.dispose()}catch(A){}}created(){this.modifyAnalysed=new Map,this.measureLineList=[],this.measureLineMoveInfo={x:0,findIdx:0,name:"",offLeftX:0},this.currentGainIdx=this.gains.findIndex(e=>e.value===this.sens/this.gridConfig.cellMg),this.currentSpeedIdx=this.speeds.findIndex(e=>e.value===this.speedValue),this.currentLeadAnalyseValueIdx=this.analyseValue.findIndex(e=>{var t;return e.BeatID===((t=this.activeLeadAnalyseValue)==null?void 0:t.BeatID)}),this.currentSens=this.sens*this.magnification,this.currentSpeedValue=this.speedValue,this.currentStep=this.step*this.magnification,this.currentLeadAnalyseValue=y.util.clone(this.activeLeadAnalyseValue),this.complexAnalysisvalue=y.util.clone(this.analyseValue[0])||null,this.processEnlargeAnalysisData()}processEnlargeAnalysisData(){var e,t,a,s,i;this.enlargeAnalysisData=m(c({},((e=this.currentLeadAnalyseValue)==null?void 0:e.AnabyBeat)||{}),{AtrialRate:((a=(t=this.complexAnalysisvalue)==null?void 0:t.AnabyBeat)==null?void 0:a.AtrialRate)||0,VentricularRate:((i=(s=this.complexAnalysisvalue)==null?void 0:s.AnabyBeat)==null?void 0:i.VentricularRate)||0,QTc:""})}selectLeadName(e){var t;this.leadNameActive=e,(t=this.leadNameIns)==null||t.attr({style:{text:e.name}}),this.drawWaveFrom()}createLeadHead(){var s,i;const t=this.containerWH.height/2,a=this.leadHeadConfig.leadHedeWidth/4;this.leadHeadIns&&((s=this.sceneIns)==null||s.remove(this.leadHeadIns)),this.leadHeadIns=new y.Polyline({cursor:"",shape:{points:[[0+0,0+t],[a+0,0+t],[a+0,-this.currentSens+t],[3*a+0,-this.currentSens+t],[3*a+0,0+t],[4*a+0,0+t]]},style:{stroke:this.leadHeadConfig.leadHedeColor,lineWidth:this.leadHeadConfig.leadHedeLineWidth}}),(i=this.sceneIns)==null||i.add(this.leadHeadIns)}createLeadName(){var e;this.leadNameIns=new y.Text({style:{x:this.leadHeadConfig.leadHedeWidth,y:this.containerWH.height/2-this.leadConfig.fontSize,text:this.leadNameActive.name,fontSize:this.leadConfig.fontSize,fill:this.leadConfig.lineColor,fontFamily:this.leadConfig.fontFamily}}),(e=this.sceneIns)==null||e.add(this.leadNameIns)}createSensAndSpeed(){var e,t;this.sensAndSpeedIns&&((e=this.sceneIns)==null||e.remove(this.sensAndSpeedIns)),this.sensAndSpeedIns=new y.Text({cursor:"",style:{x:this.leadHeadConfig.leadHedeWidth,y:this.containerWH.height-50,text:`${this.currentSens/this.gridConfig.cellMg}mm/mV ${this.currentSpeedValue}mm/s`,fontSize:12,fill:"#FF0080",fontFamily:this.leadConfig.fontFamily}}),(t=this.sceneIns)==null||t.add(this.sensAndSpeedIns)}createWaveFrom(){var e;this.waveFromIns=new y.Polyline({cursor:"",shape:{points:[]},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth}}),(e=this.sceneIns)==null||e.add(this.waveFromIns)}drawWaveFrom(){this.leadNameActive.val===-1?this.drawAllLead():this.drawSingleLead(),this.calculatedValue(),this.electricAxisAnalyse(),this.processEnlargeAnalysis()}drawAllLead(){var t,a,s;(t=this.waveFromIns)==null||t.hide(),this.waveFromGroup?this.waveFromGroup.removeAll():this.waveFromGroup=new y.Group({name:"waveFromGroup"}),this.longdata=void 0;const e=this.containerWH.height/2;for(let i=0;i<this.leadNames.length-1;i++){const{beatData:l,startPos:h}=this.getWaveFrom(((a=this.currentLeadAnalyseValue)==null?void 0:a.BeatID)||0,this.leadNames[i].val);this.startPos=h,this.drawWaveFromX===0&&(this.waveFromLenPX=l.length*this.currentStep,this.drawWaveFromX=this.containerWH.width/2-this.waveFromLenPX/2+this.leadHeadConfig.leadHedeWidth),this.waveFromGroup.add(new y.Polyline({cursor:"",name:`${i}`,shape:{points:l.map((d,u)=>[u*this.currentStep+this.drawWaveFromX,-d+e])},style:{stroke:this.leadColors[i]||this.leadColors[i%this.leadColors.length],lineWidth:this.leadConfig.lineWidth}}))}(s=this.sceneIns)==null||s.add(this.waveFromGroup)}drawSingleLead(){var i,l,h;this.waveFromGroup&&((i=this.sceneIns)==null||i.remove(this.waveFromGroup));const{beatData:e,startPos:t,originData:a}=this.getWaveFrom();this.startPos=t,this.drawWaveFromX===0&&(this.waveFromLenPX=e.length*this.currentStep,this.drawWaveFromX=this.containerWH.width/2-this.waveFromLenPX/2+this.leadHeadConfig.leadHedeWidth),this.longdata=a;const s=this.containerWH.height/2;(l=this.waveFromIns)==null||l.attr({shape:{points:e.map((d,u)=>[u*this.currentStep+this.drawWaveFromX,-d+s])}}),(h=this.waveFromIns)==null||h.show()}getWaveFrom(e,t){var a;if(e=e!==void 0?e:((a=this.currentLeadAnalyseValue)==null?void 0:a.BeatID)||0,t=t!==void 0?t:this.leadNameActive.val,this.typeClass==="ECG"){const{beatData:s,startPos:i}=n.getLeadpoint({ComplexData:this.complexData,Data:this.normalData,AnalyseValue:this.analyseValue,BeatID:e,leadIdx:t,SampleRate:this.sampleRate});return{originData:s,beatData:s.map(l=>n.getActualY(this.sensitivity,l,this.currentSens)),startPos:i}}return{originData:[],beatData:[],startPos:-1}}drawMeasureLine(){var a,s,i,l,h,d,u,f,p,A,L,g,v,P;this.measureGroup?((a=this.sceneIns)==null||a.remove(this.measureGroup),this.measureGroup.removeAll()):this.measureGroup=new y.Group({name:"measureGroup"});const e=n.calcDistance(this.currentSpeedValue,this.gridConfig.cellMg,this.magnification),t={stroke:"#FF09FF",lineWidth:1.5};this.M1=this.createMeasureLineGroup("M1",this.drawWaveFromX+10,t),this.M2=this.createMeasureLineGroup("M2",this.drawWaveFromX+10+e,t),t.stroke="blue",this.P1=this.createMeasureLineGroup("P1",((((i=(s=this.currentLeadAnalyseValue)==null?void 0:s.KeyPosByBeat)==null?void 0:i.Pstart)||0)-this.startPos)*this.currentStep+this.drawWaveFromX,t),this.P2=this.createMeasureLineGroup("P2",((((h=(l=this.currentLeadAnalyseValue)==null?void 0:l.KeyPosByBeat)==null?void 0:h.Pend)||0)-this.startPos)*this.currentStep+this.drawWaveFromX,t),this.R1=this.createMeasureLineGroup("R1",((((u=(d=this.currentLeadAnalyseValue)==null?void 0:d.KeyPosByBeat)==null?void 0:u.QRSstart)||0)-this.startPos)*this.currentStep+this.drawWaveFromX,t),this.R2=this.createMeasureLineGroup("R2",((((p=(f=this.currentLeadAnalyseValue)==null?void 0:f.KeyPosByBeat)==null?void 0:p.QRSend)||0)-this.startPos)*this.currentStep+this.drawWaveFromX,t),this.T1=this.createMeasureLineGroup("T1",((((L=(A=this.currentLeadAnalyseValue)==null?void 0:A.KeyPosByBeat)==null?void 0:L.Tstart)||0)-this.startPos)*this.currentStep+this.drawWaveFromX,t),this.T2=this.createMeasureLineGroup("T2",((((v=(g=this.currentLeadAnalyseValue)==null?void 0:g.KeyPosByBeat)==null?void 0:v.Tend)||0)-this.startPos)*this.currentStep+this.drawWaveFromX,t),this.measureGroup.add(this.M1),this.measureGroup.add(this.M2),this.measureGroup.add(this.P1),this.measureGroup.add(this.P2),this.measureGroup.add(this.R1),this.measureGroup.add(this.R2),this.measureGroup.add(this.T1),this.measureGroup.add(this.T2),(P=this.sceneIns)==null||P.add(this.measureGroup)}createMeasureLineGroup(e,t,a){const s=new y.Group({name:e,draggable:"horizontal",ondrag:this.measureLineDrag}),i=this.containerWH.height-this.bottomSafeAreaH;return s.add(new y.Line({cursor:"w-resize",name:`Line_${e}`,shape:{x1:t,y1:0,x2:t,y2:i},style:a})),s.add(new y.Circle({name:"Circle",x:t,y:i,shape:{r:6},style:{fill:"#ccc"}})),s.add(new y.Text({cursor:"",name:"Text",style:{x:t-7,y:i+12+10,text:e,fontSize:12,fill:"#000",fontFamily:"\u5FAE\u8F6F\u96C5\u9ED1"}})),e!=="M1"&&e!=="M2"&&(this.measureLineList=[...this.measureLineList,{ins:s,x:t}].sort((l,h)=>l.x-h.x)),s}measureLineDrag(e){e.target.name==="M1"||e.target.name==="M2"?this.calculatedValue():this.calcMeasureLineMove(e)}calcMeasureLineMove(e){if(e.target.name!==this.measureLineMoveInfo.name){const a=this.measureLineList.findIndex(s=>s.ins.name===e.target.name);this.measureLineMoveInfo.findIdx=a,this.measureLineMoveInfo.name=e.target.name}if(this.measureLineMoveInfo.findIdx===-1)return;let t=0;if(this.calcMeasureLineOffx(),this.measureLineMoveInfo.findIdx===0){const a=this.measureLineList[this.measureLineMoveInfo.findIdx+1];if(t=e.target.childAt(0).shape.x1+e.target.transform[4]||0,this.measureLineMoveInfo.offLeftX=t,t<this.drawWaveFromX||t>a.x+a.ins.x-1.5){e.target.x=this.measureLineMoveInfo.x,this.measureLineMoveInfo.offLeftX=t;return}}else if(this.measureLineMoveInfo.findIdx===this.measureLineList.length-1){const a=this.measureLineList[this.measureLineMoveInfo.findIdx-1];if(!a)return;if(t=e.target.childAt(0).shape.x1+e.target.transform[4]||0,this.measureLineMoveInfo.offLeftX=t,t>this.waveFromLenPX+this.drawWaveFromX||t<a.x+a.ins.x-1.5){e.target.x=this.measureLineMoveInfo.x,this.measureLineMoveInfo.offLeftX=t;return}}else{const a=this.measureLineList[this.measureLineMoveInfo.findIdx+1],s=this.measureLineList[this.measureLineMoveInfo.findIdx-1];if(t=e.target.childAt(0).shape.x1+e.target.transform[4]||0,this.measureLineMoveInfo.offLeftX=t,t>a.x+a.ins.x-1.5||t<s.x+s.ins.x-1.5){e.target.x=this.measureLineMoveInfo.x,this.measureLineMoveInfo.offLeftX=t;return}}this.measureLineMoveInfo.x=e.target.x}calcMeasureLineOffx(){var t,a,s;const e=Math.round((this.measureLineMoveInfo.offLeftX-this.drawWaveFromX)/this.currentStep)+this.startPos;switch(this.measureLineMoveInfo.name){case"P1":this.currentLeadAnalyseValue.KeyPosByBeat.Pstart=e;break;case"P2":this.currentLeadAnalyseValue.KeyPosByBeat.Pend=e;break;case"R1":this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart=e;break;case"R2":this.currentLeadAnalyseValue.KeyPosByBeat.QRSend=e;break;case"T1":this.currentLeadAnalyseValue.KeyPosByBeat.Tstart=e;break;case"T2":this.currentLeadAnalyseValue.KeyPosByBeat.Tend=e;break}if(this.electricAxisAnalyse(),this.processEnlargeAnalysis(),this.isShowSyncAnalyseValue){const i=c({},((t=this.currentLeadAnalyseValue)==null?void 0:t.AnabyBeat)||{});for(const l in i)Object.prototype.hasOwnProperty.call(i,l)&&(i[l]=this.enlargeAnalysisData[l]);this.modifyAnalysed.set(((a=this.currentLeadAnalyseValue)==null?void 0:a.BeatID)||0,m(c({},this.currentLeadAnalyseValue),{AnabyBeat:i,BeatID:((s=this.currentLeadAnalyseValue)==null?void 0:s.BeatID)||0}))}}processEnlargeAnalysis(){var t,a,s,i,l,h;const e={start_pos:this.startPos,Sensitivity:this.sensitivity,SampleRate:this.sampleRate,longdata:this.longdata};if((this.measureLineMoveInfo.name===""||this.measureLineMoveInfo.name==="P1"||this.measureLineMoveInfo.name==="R1")&&(this.enlargeAnalysisData.PR=Math.round(n.calcPRInterval(this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,this.currentLeadAnalyseValue.KeyPosByBeat.Pstart,this.sampleRate))),(this.measureLineMoveInfo.name===""||this.measureLineMoveInfo.name==="P1"||this.measureLineMoveInfo.name==="P2")&&(this.enlargeAnalysisData.Pd=Math.round(n.calcPD(this.currentLeadAnalyseValue.KeyPosByBeat.Pend,this.currentLeadAnalyseValue.KeyPosByBeat.Pstart,this.sampleRate))),(this.measureLineMoveInfo.name===""||this.measureLineMoveInfo.name==="R1"||this.measureLineMoveInfo.name==="R2")&&(this.enlargeAnalysisData.QRSd=Math.round(n.calcQRSD(this.currentLeadAnalyseValue.KeyPosByBeat.QRSend,this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,this.sampleRate))),this.measureLineMoveInfo.name===""||this.measureLineMoveInfo.name==="R1"||this.measureLineMoveInfo.name==="T2"){const{QT:d,QTC:u}=n.calcQTAndQTCAndQTD(this.currentLeadAnalyseValue.KeyPosByBeat.Tend,this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,this.analyseValue,+(((a=(t=this.conventionalECGConfig)==null?void 0:t.ecgReviewSetting)==null?void 0:a.QTd_algorithm)||1),((s=this.currentLeadAnalyseValue)==null?void 0:s.BeatID)||0,this.sampleRate);this.enlargeAnalysisData.QT=Math.round(d),this.enlargeAnalysisData.QTc=Math.round(u||(Array.isArray(this.enlargeAnalysisData.QTc)?this.enlargeAnalysisData.QTc[0]:this.enlargeAnalysisData.QTc))}if(this.measureLineMoveInfo.name===""||this.measureLineMoveInfo.name==="T1"||this.measureLineMoveInfo.name==="T2"){this.enlargeAnalysisData.Td=Math.round(n.caclTD(this.currentLeadAnalyseValue.KeyPosByBeat.Tend,this.currentLeadAnalyseValue.KeyPosByBeat.Tstart,this.sampleRate));const{TA:d}=n.calcTA(m(c({},e),{Tstart:this.currentLeadAnalyseValue.KeyPosByBeat.Tstart,Tend:this.currentLeadAnalyseValue.KeyPosByBeat.Tend,QRSstart:this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,TPpeak:this.currentLeadAnalyseValue.KeyPosByBeat.TPpeak}));this.enlargeAnalysisData.TtypeA=n.toFixedFun(d||0,2)}if(this.enlargeAnalysisData.Ptype=n.calcPstate(m(c({},e),{Pstart:this.currentLeadAnalyseValue.KeyPosByBeat.Pstart,Pend:this.currentLeadAnalyseValue.KeyPosByBeat.Pend,data:this.longdata}))||"",this.measureLineMoveInfo.name===""||this.measureLineMoveInfo.name==="P1"||this.measureLineMoveInfo.name==="P2"){const{PA:d}=n.calcPA(m(c({},e),{Pstart:this.currentLeadAnalyseValue.KeyPosByBeat.Pstart,Pend:this.currentLeadAnalyseValue.KeyPosByBeat.Pend,PPpeak:this.currentLeadAnalyseValue.KeyPosByBeat.PPpeak}));this.enlargeAnalysisData.PtypeA=n.toFixedFun(d||0,2)}if(this.measureLineMoveInfo.name===""||this.measureLineMoveInfo.name==="R1"||this.measureLineMoveInfo.name==="R2"){const{qrs_morph_type:d,QA:u,QD:f,RA:p,RD:A,SD:L,RPD:g,SA:v,RPA:P}=n.calcQRS(m(c({},e),{QRSstart:this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,QRSend:this.currentLeadAnalyseValue.KeyPosByBeat.QRSend}));this.enlargeAnalysisData.QRStype=d||"",this.enlargeAnalysisData.QtypeA=n.toFixedFun(u||0,2),this.enlargeAnalysisData.QD=Math.round(f||0),this.enlargeAnalysisData.RtypeA=n.toFixedFun(p||0,2),this.enlargeAnalysisData.StypeA=n.toFixedFun(v||0,2),this.enlargeAnalysisData.RPA=n.toFixedFun(P||0,2),this.enlargeAnalysisData.RD=n.toFixedFun(A||0,2),this.enlargeAnalysisData.SD=n.toFixedFun(L||0,2),this.enlargeAnalysisData.RPD=n.toFixedFun(g||0,2);const I=n.calcSTJA(e.start_pos,this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,this.currentLeadAnalyseValue.KeyPosByBeat.QRSend,e.Sensitivity,e.longdata);this.enlargeAnalysisData.STJtypeA=n.toFixedFun(I||0,2),this.enlargeAnalysisData.STstate=n.clacST(I||0,e.longdata)||"";const V=n.calcIaddIIaddIII(m(c({},e),{ComplexData:this.complexData,Data:this.normalData,QRSstart:this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,QRSend:this.currentLeadAnalyseValue.KeyPosByBeat.QRSend,BeatID:((i=this.currentLeadAnalyseValue)==null?void 0:i.BeatID)||0,AnalyseValue:this.analyseValue,leadNameList:this.leadNameList}));this.enlargeAnalysisData.IandIIandIII=n.toFixedFun(V,2),this.enlargeAnalysisData.RV5Amp=n.toFixedFun(n.calcRv5(m(c({},e),{ComplexData:this.complexData,Data:this.normalData,QRSstart:this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,QRSend:this.currentLeadAnalyseValue.KeyPosByBeat.QRSend,BeatID:((l=this.currentLeadAnalyseValue)==null?void 0:l.BeatID)||0,AnalyseValue:this.analyseValue,leadNameList:this.leadNameList}))||0,2)+"",this.enlargeAnalysisData.RV5Amp=n.toFixedFun(n.calcSv1(m(c({},e),{ComplexData:this.complexData,Data:this.normalData,QRSstart:this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,QRSend:this.currentLeadAnalyseValue.KeyPosByBeat.QRSend,BeatID:((h=this.currentLeadAnalyseValue)==null?void 0:h.BeatID)||0,AnalyseValue:this.analyseValue,leadNameList:this.leadNameList}))||0,2)+""}}electricAxisAnalyse(){var a;const e={ComplexData:this.complexData,Data:this.normalData,BeatID:((a=this.currentLeadAnalyseValue)==null?void 0:a.BeatID)||0,AnalyseValue:this.analyseValue,SampleRate:this.sampleRate,Sensitivity:this.sensitivity,leadNameList:this.leadNameList,start_pos:this.startPos};if(this.measureLineMoveInfo.name==="P1"||this.measureLineMoveInfo.name==="P2"){this.enlargeAnalysisData.PAxis=n.calcPelectricAxis(m(c({},e),{Pstart:this.currentLeadAnalyseValue.KeyPosByBeat.Pstart,Pend:this.currentLeadAnalyseValue.KeyPosByBeat.Pend}));return}const t=()=>{let s=Math.abs(this.enlargeAnalysisData.QRSAxis-this.enlargeAnalysisData.TAxis);s>180&&(s=360-s),this.currentLeadAnalyseValue.AnabyBeat.QRS_T=s};if(this.measureLineMoveInfo.name==="R1"||this.measureLineMoveInfo.name==="R2"){this.enlargeAnalysisData.QRSAxis=n.calcQRSelectricAxis(m(c({},e),{QRSend:this.currentLeadAnalyseValue.KeyPosByBeat.QRSend,QRSstart:this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart})),t();return}if(this.measureLineMoveInfo.name==="T1"||this.measureLineMoveInfo.name==="T2"){this.enlargeAnalysisData.TAxis=n.calcTelectricAxis(m(c({},e),{QRSend:this.currentLeadAnalyseValue.KeyPosByBeat.QRSend,Tend:this.currentLeadAnalyseValue.KeyPosByBeat.Tend})),t();return}}calculatedValue(){var f,p,A,L;const e=(f=this.M1)==null?void 0:f.childOfName("Line_M1"),t=(p=this.M2)==null?void 0:p.childOfName("Line_M2");if(!e||!t)return;const a=e.shape.x1+(e.transform&&e.transform[4]||0),s=t.shape.x1+(t.transform&&t.transform[4]||0),i=Math.abs(a-s),l=n.calcMs(i,this.currentSpeedValue,this.gridConfig.cellMg,this.magnification);this.difference.timeDifference=l;const h=parseInt(`${(a-this.drawWaveFromX)/this.currentStep}`),d=parseInt(`${(s-this.drawWaveFromX)/this.currentStep}`);let u=[];if(this.leadNameActive.val===-1?u=((A=this.waveFromGroup)==null?void 0:A.childAt(this.waveFromGroup.childCount()-1)).shape.points||[]:u=((L=this.waveFromIns)==null?void 0:L.shape.points)||[],d>0&&h>0&&d<=u.length-1&&h<=u.length-1){const v=(Math.abs(u[d][1]-u[h][1])/this.currentSens).toFixed(2);this.difference.amplitudeDifference=v}else this.difference.amplitudeDifference=""}toggleGain(e){if(e){this.currentGainIdx<this.gains.length-1&&(this.currentGainIdx+=1,this.currentSens=this.gains[this.currentGainIdx].value*this.gridConfig.cellMg*this.magnification,this.toggleRender());return}this.currentGainIdx>0&&this.currentGainIdx<=this.gains.length-1&&(this.currentGainIdx-=1,this.currentSens=this.gains[this.currentGainIdx].value*this.gridConfig.cellMg*this.magnification,this.toggleRender())}toggleSpeeds(e){console.log("toggleSpeed",this.speeds,this.currentSpeedIdx);const t=()=>{const a=n.getStepForSpeed(this.currentSpeedValue,this.gridConfig.cellMg,this.sampleRate);this.currentStep=a*this.magnification};if(e){this.currentSpeedIdx<this.speeds.length-1&&(this.currentSpeedIdx+=1,this.currentSpeedValue=this.speeds[this.currentSpeedIdx].value,t(),this.toggleRender());return}this.currentSpeedIdx>0&&this.currentSpeedIdx<=this.speeds.length-1&&(this.currentSpeedIdx-=1,this.currentSpeedValue=this.speeds[this.currentSpeedIdx].value,t(),this.toggleRender())}toggleBeaadId(e){var t,a;if(e){this.currentLeadAnalyseValueIdx<this.analyseValue.length-1&&(this.currentLeadAnalyseValueIdx+=1,this.currentLeadAnalyseValue=m(c({},this.analyseValue[this.currentLeadAnalyseValueIdx]),{BeatCount:((t=this.currentLeadAnalyseValue)==null?void 0:t.BeatCount)||0}),this.toggleRender());return}this.currentLeadAnalyseValueIdx>1&&this.currentLeadAnalyseValueIdx<=this.analyseValue.length-1&&(this.currentLeadAnalyseValueIdx-=1,this.currentLeadAnalyseValue=m(c({},this.analyseValue[this.currentLeadAnalyseValueIdx]),{BeatCount:((a=this.currentLeadAnalyseValue)==null?void 0:a.BeatCount)||0}),this.toggleRender())}toggleRender(){this.createLeadHead(),this.createSensAndSpeed(),this.drawWaveFrom(),this.drawMeasureLine(),this.calculatedValue(),this.electricAxisAnalyse(),this.processEnlargeAnalysis()}mainBoxDbClick(){const e=Date.now();e-this.dbClickTime<400?(this.dbClickTime=0,this.$emit("notifyCancelEnlargr"),this.$emit("update:isShowEnlargeWave",!1),this.isShowSyncAnalyseValue&&this.isSyncAnalyseValue&&this.$emit("notifyModifyAnalyse",this.modifyAnalysed)):this.dbClickTime=e}};r([o.Prop({default:()=>""})],exports.default.prototype,"className",2);r([o.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"width",2);r([o.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"height",2);r([o.Prop({required:!0})],exports.default.prototype,"gridConfig",2);r([o.Prop({required:!0})],exports.default.prototype,"speedValue",2);r([o.Prop({default:1})],exports.default.prototype,"sens",2);r([o.Prop({default:1})],exports.default.prototype,"step",2);r([o.Prop({required:!0})],exports.default.prototype,"sampleRate",2);r([o.Prop({required:!0})],exports.default.prototype,"sensitivity",2);r([o.Prop({required:!0,default:()=>[]})],exports.default.prototype,"complexData",2);r([o.Prop({required:!0,default:()=>[]})],exports.default.prototype,"normalData",2);r([o.Prop({default:!1})],exports.default.prototype,"isShowEnlargeWave",2);r([o.Prop({default:!0})],exports.default.prototype,"isShowSyncAnalyseValue",2);r([o.Prop({default:()=>({leadHedeWidth:20,leadHedeColor:"#000",leadHedeLineWidth:2})})],exports.default.prototype,"leadHeadConfig",2);r([o.Prop({default:()=>({lineColor:"#000",lineWidth:1,fontFamily:"\u5FAE\u8F6F\u96C5\u9ED1",fontSize:15})})],exports.default.prototype,"leadConfig",2);r([o.Prop({default:5})],exports.default.prototype,"magnification",2);r([o.Prop({default:()=>[]})],exports.default.prototype,"leadNameList",2);r([o.Prop({required:!0})],exports.default.prototype,"activeLeadIdx",2);r([o.Prop({required:!0})],exports.default.prototype,"activeLeadAnalyseValue",2);r([o.Prop({required:!0})],exports.default.prototype,"analyseValue",2);r([o.Prop({default:"ECG"})],exports.default.prototype,"typeClass",2);r([o.Prop({default:()=>["black","red","orange","yellow","green","#4B0082","blue","purple","#FFB6C1","#EE82EE","#6A5ACD","#00FFFF"]})],exports.default.prototype,"leadColors",2);r([o.Prop({default:n.AnalysisMode.CompoundWave})],exports.default.prototype,"enlargeWaveMode",2);r([o.Prop({required:!0})],exports.default.prototype,"conventionalECGConfig",2);r([o.Prop({default:()=>[]})],exports.default.prototype,"gains",2);r([o.Prop({default:()=>[]})],exports.default.prototype,"speeds",2);r([B.Watch("activeLeadIdx")],exports.default.prototype,"watchActiveLeadIdx",1);r([B.Watch("leadNameList",{deep:!0,immediate:!0})],exports.default.prototype,"watchLeadNameList",1);exports.default=r([b.default({name:"Methods"})],exports.default);
1
+ "use strict";var M=Object.defineProperty,D=Object.defineProperties;var F=Object.getOwnPropertyDescriptors;var x=Object.getOwnPropertySymbols;var R=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable;var S=(e,t,a)=>t in e?M(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,c=(e,t)=>{for(var a in t||(t={}))R.call(t,a)&&S(e,a,t[a]);if(x)for(var a of x(t))w.call(t,a)&&S(e,a,t[a]);return e},m=(e,t)=>D(e,F(t));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const T=require("vue"),b=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_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Emit.js");const l=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Prop.js"),B=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_zrnidtknow37s43kh2nsmp2h4u/node_modules/vue-property-decorator/lib/decorators/Watch.js"),n=require("@costy-plus/utils"),y=require("zrender"),C=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},Q=C(T);var W=Object.defineProperty,G=Object.getOwnPropertyDescriptor,r=(e,t,a,s)=>{for(var i=s>1?void 0:s?G(t,a):t,o=e.length-1,h;o>=0;o--)(h=e[o])&&(i=(s?h(t,a,i):h(i))||i);return s&&i&&W(t,a,i),i};exports.default=class extends Q.default{constructor(){super(...arguments),this.AnalysisMode=n.AnalysisMode,this.AnalyseParameterTable=n.AnalyseParameterTable,this.sceneIns=Object.freeze(null),this.AssistCtx=Object.freeze(null),this.leadNameIns=Object.freeze(null),this.sensAndSpeedIns=Object.freeze(null),this.waveFromIns=Object.freeze(null),this.waveFromGroup=Object.freeze(null),this.measureGroup=Object.freeze(null),this.leadHeadIns=Object.freeze(null),this.M1=Object.freeze(null),this.M2=Object.freeze(null),this.P1=Object.freeze(null),this.P2=Object.freeze(null),this.R1=Object.freeze(null),this.R2=Object.freeze(null),this.T1=Object.freeze(null),this.T2=Object.freeze(null),this.bottomSafeAreaH=Object.freeze(63),this.drawWaveFromX=Object.freeze(0),this.dbClickTime=Object.freeze(0),this.startPos=Object.freeze(0),this.currentGainIdx=Object.freeze(0),this.currentSpeedIdx=Object.freeze(0),this.currentLeadAnalyseValueIdx=Object.freeze(0),this.longdata=Object.freeze(void 0),this.modifyAnalysed=Object.freeze(null),this.measureLineMoveInfo=Object.freeze({x:0,findIdx:0,name:"",offLeftX:0}),this.measureLineList=Object.freeze([]),this.waveFromLenPX=Object.freeze(0),this.leadNames=[],this.leadNameActive={name:"",val:-2},this.isSyncAnalyseValue=!1,this.currentSens=0,this.currentSpeedValue=0,this.currentStep=0,this.currentLeadAnalyseValue=null,this.complexAnalysisvalue=Object.freeze(null),this.enlargeAnalysisData=null,this.difference={timeDifference:0,amplitudeDifference:""}}watchActiveLeadIdx(e){var t;this.leadNameActive=this.leadNames.find(a=>a.val===e)||{name:"",val:-2},(t=this.leadNameIns)==null||t.attr({style:{text:this.leadNameActive.name}})}watchLeadNameList(e){this.leadNames=e.map(t=>{var a;return this.activeLeadIdx===t&&((a=this.leadNameIns)==null||a.attr({style:{text:n.LeadNameTexts[t]}}),this.leadNameActive={name:n.LeadNameTexts[t],val:t}),{name:n.LeadNameTexts[t],val:t}}).concat({name:"ALL",val:-1})}get containerWH(){return{width:this.width-230,height:this.height-40-50}}destroyed(){var e,t,a,s,i,o,h,d,u,f,p;(e=this.waveFromGroup)==null||e.removeAll(),(t=this.measureGroup)==null||t.removeAll(),(a=this.M1)==null||a.removeAll(),(s=this.M2)==null||s.removeAll(),(i=this.P1)==null||i.removeAll(),(o=this.P2)==null||o.removeAll(),(h=this.R1)==null||h.removeAll(),(d=this.R2)==null||d.removeAll(),(u=this.T1)==null||u.removeAll(),(f=this.T2)==null||f.removeAll();try{(p=this.sceneIns)==null||p.dispose()}catch(A){}}created(){this.modifyAnalysed=new Map,this.measureLineList=[],this.measureLineMoveInfo={x:0,findIdx:0,name:"",offLeftX:0},this.currentGainIdx=this.gains.findIndex(e=>e.value===this.sens/this.gridConfig.cellMg),this.currentSpeedIdx=this.speeds.findIndex(e=>e.value===this.speedValue),this.currentLeadAnalyseValueIdx=this.analyseValue.findIndex(e=>{var t;return e.BeatID===((t=this.activeLeadAnalyseValue)==null?void 0:t.BeatID)}),this.currentSens=this.sens*this.magnification,this.currentSpeedValue=this.speedValue,this.currentStep=this.step*this.magnification,this.currentLeadAnalyseValue=y.util.clone(this.activeLeadAnalyseValue),this.complexAnalysisvalue=y.util.clone(this.analyseValue[0])||null,this.processEnlargeAnalysisData()}processEnlargeAnalysisData(){var e,t,a,s,i;this.enlargeAnalysisData=m(c({},((e=this.currentLeadAnalyseValue)==null?void 0:e.AnabyBeat)||{}),{AtrialRate:((a=(t=this.complexAnalysisvalue)==null?void 0:t.AnabyBeat)==null?void 0:a.AtrialRate)||0,VentricularRate:((i=(s=this.complexAnalysisvalue)==null?void 0:s.AnabyBeat)==null?void 0:i.VentricularRate)||0,QTc:""})}selectLeadName(e){var t;this.leadNameActive=e,(t=this.leadNameIns)==null||t.attr({style:{text:e.name}}),this.drawWaveFrom()}createLeadHead(){var s,i;const t=this.containerWH.height/2,a=this.leadHeadConfig.leadHedeWidth/4;this.leadHeadIns&&((s=this.sceneIns)==null||s.remove(this.leadHeadIns)),this.leadHeadIns=new y.Polyline({cursor:"",shape:{points:[[0+0,0+t],[a+0,0+t],[a+0,-this.currentSens+t],[3*a+0,-this.currentSens+t],[3*a+0,0+t],[4*a+0,0+t]]},style:{stroke:this.leadHeadConfig.leadHedeColor,lineWidth:this.leadHeadConfig.leadHedeLineWidth}}),(i=this.sceneIns)==null||i.add(this.leadHeadIns)}createLeadName(){var e;this.leadNameIns=new y.Text({style:{x:this.leadHeadConfig.leadHedeWidth,y:this.containerWH.height/2-this.leadConfig.fontSize,text:this.leadNameActive.name,fontSize:this.leadConfig.fontSize,fill:this.leadConfig.lineColor,fontFamily:this.leadConfig.fontFamily}}),(e=this.sceneIns)==null||e.add(this.leadNameIns)}createSensAndSpeed(){var e,t;this.sensAndSpeedIns&&((e=this.sceneIns)==null||e.remove(this.sensAndSpeedIns)),this.sensAndSpeedIns=new y.Text({cursor:"",style:{x:this.leadHeadConfig.leadHedeWidth,y:this.containerWH.height-50,text:`${this.currentSens/this.gridConfig.cellMg}mm/mV ${this.currentSpeedValue}mm/s`,fontSize:12,fill:"#FF0080",fontFamily:this.leadConfig.fontFamily}}),(t=this.sceneIns)==null||t.add(this.sensAndSpeedIns)}createWaveFrom(){var e;this.waveFromIns=new y.Polyline({cursor:"",shape:{points:[]},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth}}),(e=this.sceneIns)==null||e.add(this.waveFromIns)}drawWaveFrom(){this.leadNameActive.val===-1?this.drawAllLead():this.drawSingleLead(),this.calculatedValue(),this.electricAxisAnalyse(),this.processEnlargeAnalysis()}drawAllLead(){var t,a,s;(t=this.waveFromIns)==null||t.hide(),this.waveFromGroup?this.waveFromGroup.removeAll():this.waveFromGroup=new y.Group({name:"waveFromGroup"}),this.longdata=void 0;const e=this.containerWH.height/2;for(let i=0;i<this.leadNames.length-1;i++){const{beatData:o,startPos:h}=this.getWaveFrom(((a=this.currentLeadAnalyseValue)==null?void 0:a.BeatID)||0,this.leadNames[i].val);this.startPos=h,this.drawWaveFromX===0&&(this.waveFromLenPX=o.length*this.currentStep,this.drawWaveFromX=this.containerWH.width/2-this.waveFromLenPX/2+this.leadHeadConfig.leadHedeWidth),this.waveFromGroup.add(new y.Polyline({cursor:"",name:`${i}`,shape:{points:o.map((d,u)=>[u*this.currentStep+this.drawWaveFromX,-d+e])},style:{stroke:this.leadColors[i]||this.leadColors[i%this.leadColors.length],lineWidth:this.leadConfig.lineWidth}}))}(s=this.sceneIns)==null||s.add(this.waveFromGroup)}drawSingleLead(){var i,o,h;this.waveFromGroup&&((i=this.sceneIns)==null||i.remove(this.waveFromGroup));const{beatData:e,startPos:t,originData:a}=this.getWaveFrom();this.startPos=t,this.drawWaveFromX===0&&(this.waveFromLenPX=e.length*this.currentStep,this.drawWaveFromX=this.containerWH.width/2-this.waveFromLenPX/2+this.leadHeadConfig.leadHedeWidth),this.longdata=a;const s=this.containerWH.height/2;(o=this.waveFromIns)==null||o.attr({shape:{points:e.map((d,u)=>[u*this.currentStep+this.drawWaveFromX,-d+s])}}),(h=this.waveFromIns)==null||h.show()}getWaveFrom(e,t){var a;if(e=e!==void 0?e:((a=this.currentLeadAnalyseValue)==null?void 0:a.BeatID)||0,t=t!==void 0?t:this.leadNameActive.val,this.typeClass==="ECG"){const{beatData:s,startPos:i}=n.getLeadpoint({ComplexData:this.complexData,Data:this.normalData,AnalyseValue:this.analyseValue,BeatID:e,leadIdx:t,SampleRate:this.sampleRate});return{originData:s,beatData:s.map(o=>n.getActualY(this.sensitivity,o,this.currentSens)),startPos:i}}return{originData:[],beatData:[],startPos:-1}}drawMeasureLine(){var a,s,i,o,h,d,u,f,p,A,L,g,v,P;this.measureGroup?((a=this.sceneIns)==null||a.remove(this.measureGroup),this.measureGroup.removeAll()):this.measureGroup=new y.Group({name:"measureGroup"});const e=n.calcDistance(this.currentSpeedValue,this.gridConfig.cellMg,this.magnification),t={stroke:"#FF09FF",lineWidth:1.5};this.M1=this.createMeasureLineGroup("M1",this.drawWaveFromX+10,t),this.M2=this.createMeasureLineGroup("M2",this.drawWaveFromX+10+e,t),t.stroke="blue",this.P1=this.createMeasureLineGroup("P1",((((i=(s=this.currentLeadAnalyseValue)==null?void 0:s.KeyPosByBeat)==null?void 0:i.Pstart)||0)-this.startPos)*this.currentStep+this.drawWaveFromX,t),this.P2=this.createMeasureLineGroup("P2",((((h=(o=this.currentLeadAnalyseValue)==null?void 0:o.KeyPosByBeat)==null?void 0:h.Pend)||0)-this.startPos)*this.currentStep+this.drawWaveFromX,t),this.R1=this.createMeasureLineGroup("R1",((((u=(d=this.currentLeadAnalyseValue)==null?void 0:d.KeyPosByBeat)==null?void 0:u.QRSstart)||0)-this.startPos)*this.currentStep+this.drawWaveFromX,t),this.R2=this.createMeasureLineGroup("R2",((((p=(f=this.currentLeadAnalyseValue)==null?void 0:f.KeyPosByBeat)==null?void 0:p.QRSend)||0)-this.startPos)*this.currentStep+this.drawWaveFromX,t),this.T1=this.createMeasureLineGroup("T1",((((L=(A=this.currentLeadAnalyseValue)==null?void 0:A.KeyPosByBeat)==null?void 0:L.Tstart)||0)-this.startPos)*this.currentStep+this.drawWaveFromX,t),this.T2=this.createMeasureLineGroup("T2",((((v=(g=this.currentLeadAnalyseValue)==null?void 0:g.KeyPosByBeat)==null?void 0:v.Tend)||0)-this.startPos)*this.currentStep+this.drawWaveFromX,t),this.measureGroup.add(this.M1),this.measureGroup.add(this.M2),this.measureGroup.add(this.P1),this.measureGroup.add(this.P2),this.measureGroup.add(this.R1),this.measureGroup.add(this.R2),this.measureGroup.add(this.T1),this.measureGroup.add(this.T2),(P=this.sceneIns)==null||P.add(this.measureGroup)}createMeasureLineGroup(e,t,a){const s=new y.Group({name:e,draggable:"horizontal",ondrag:this.measureLineDrag}),i=this.containerWH.height-this.bottomSafeAreaH;return s.add(new y.Line({cursor:"w-resize",name:`Line_${e}`,shape:{x1:t,y1:0,x2:t,y2:i},style:a})),s.add(new y.Circle({name:"Circle",x:t,y:i,shape:{r:6},style:{fill:"#ccc"}})),s.add(new y.Text({cursor:"",name:"Text",style:{x:t-7,y:i+12+10,text:e,fontSize:12,fill:"#000",fontFamily:"\u5FAE\u8F6F\u96C5\u9ED1"}})),e!=="M1"&&e!=="M2"&&(this.measureLineList=[...this.measureLineList,{ins:s,x:t}].sort((o,h)=>o.x-h.x)),s}measureLineDrag(e){e.target.name==="M1"||e.target.name==="M2"?this.calculatedValue():this.calcMeasureLineMove(e)}calcMeasureLineMove(e){if(e.target.name!==this.measureLineMoveInfo.name){const a=this.measureLineList.findIndex(s=>s.ins.name===e.target.name);this.measureLineMoveInfo.findIdx=a,this.measureLineMoveInfo.name=e.target.name}if(this.measureLineMoveInfo.findIdx===-1)return;let t=0;if(this.calcMeasureLineOffx(),this.measureLineMoveInfo.findIdx===0){const a=this.measureLineList[this.measureLineMoveInfo.findIdx+1];if(t=e.target.childAt(0).shape.x1+e.target.transform[4]||0,this.measureLineMoveInfo.offLeftX=t,t<this.drawWaveFromX||t>a.x+a.ins.x-1.5){e.target.x=this.measureLineMoveInfo.x,this.measureLineMoveInfo.offLeftX=t;return}}else if(this.measureLineMoveInfo.findIdx===this.measureLineList.length-1){const a=this.measureLineList[this.measureLineMoveInfo.findIdx-1];if(!a)return;if(t=e.target.childAt(0).shape.x1+e.target.transform[4]||0,this.measureLineMoveInfo.offLeftX=t,t>this.waveFromLenPX+this.drawWaveFromX||t<a.x+a.ins.x-1.5){e.target.x=this.measureLineMoveInfo.x,this.measureLineMoveInfo.offLeftX=t;return}}else{const a=this.measureLineList[this.measureLineMoveInfo.findIdx+1],s=this.measureLineList[this.measureLineMoveInfo.findIdx-1];if(t=e.target.childAt(0).shape.x1+e.target.transform[4]||0,this.measureLineMoveInfo.offLeftX=t,t>a.x+a.ins.x-1.5||t<s.x+s.ins.x-1.5){e.target.x=this.measureLineMoveInfo.x,this.measureLineMoveInfo.offLeftX=t;return}}this.measureLineMoveInfo.x=e.target.x}calcMeasureLineOffx(){var t,a,s;const e=Math.round((this.measureLineMoveInfo.offLeftX-this.drawWaveFromX)/this.currentStep)+this.startPos;switch(this.measureLineMoveInfo.name){case"P1":this.currentLeadAnalyseValue.KeyPosByBeat.Pstart=e;break;case"P2":this.currentLeadAnalyseValue.KeyPosByBeat.Pend=e;break;case"R1":this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart=e;break;case"R2":this.currentLeadAnalyseValue.KeyPosByBeat.QRSend=e;break;case"T1":this.currentLeadAnalyseValue.KeyPosByBeat.Tstart=e;break;case"T2":this.currentLeadAnalyseValue.KeyPosByBeat.Tend=e;break}if(this.electricAxisAnalyse(),this.processEnlargeAnalysis(),this.isShowSyncAnalyseValue){const i=c(c({},((t=this.currentLeadAnalyseValue)==null?void 0:t.AnabyBeat)||{}),this.enlargeAnalysisData);this.modifyAnalysed.set(((a=this.currentLeadAnalyseValue)==null?void 0:a.BeatID)||0,m(c({},this.currentLeadAnalyseValue),{AnabyBeat:i,BeatID:((s=this.currentLeadAnalyseValue)==null?void 0:s.BeatID)||0}))}}processEnlargeAnalysis(){var t,a,s,i,o,h;const e={start_pos:this.startPos,Sensitivity:this.sensitivity,SampleRate:this.sampleRate,longdata:this.longdata};if((this.measureLineMoveInfo.name===""||this.measureLineMoveInfo.name==="P1"||this.measureLineMoveInfo.name==="R1")&&(this.enlargeAnalysisData.PR=Math.round(n.calcPRInterval(this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,this.currentLeadAnalyseValue.KeyPosByBeat.Pstart,this.sampleRate))),(this.measureLineMoveInfo.name===""||this.measureLineMoveInfo.name==="P1"||this.measureLineMoveInfo.name==="P2")&&(this.enlargeAnalysisData.Pd=Math.round(n.calcPD(this.currentLeadAnalyseValue.KeyPosByBeat.Pend,this.currentLeadAnalyseValue.KeyPosByBeat.Pstart,this.sampleRate))),(this.measureLineMoveInfo.name===""||this.measureLineMoveInfo.name==="R1"||this.measureLineMoveInfo.name==="R2")&&(this.enlargeAnalysisData.QRSd=Math.round(n.calcQRSD(this.currentLeadAnalyseValue.KeyPosByBeat.QRSend,this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,this.sampleRate))),this.measureLineMoveInfo.name===""||this.measureLineMoveInfo.name==="R1"||this.measureLineMoveInfo.name==="T2"){const{QT:d,QTC:u}=n.calcQTAndQTCAndQTD(this.currentLeadAnalyseValue.KeyPosByBeat.Tend,this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,this.analyseValue,+(((a=(t=this.conventionalECGConfig)==null?void 0:t.ecgReviewSetting)==null?void 0:a.QTd_algorithm)||1),((s=this.currentLeadAnalyseValue)==null?void 0:s.BeatID)||0,this.sampleRate);this.enlargeAnalysisData.QT=Math.round(d),this.enlargeAnalysisData.QTc=Math.round(u||(Array.isArray(this.enlargeAnalysisData.QTc)?this.enlargeAnalysisData.QTc[0]:this.enlargeAnalysisData.QTc))}if(this.measureLineMoveInfo.name===""||this.measureLineMoveInfo.name==="T1"||this.measureLineMoveInfo.name==="T2"){this.enlargeAnalysisData.Td=Math.round(n.caclTD(this.currentLeadAnalyseValue.KeyPosByBeat.Tend,this.currentLeadAnalyseValue.KeyPosByBeat.Tstart,this.sampleRate));const{TA:d}=n.calcTA(m(c({},e),{Tstart:this.currentLeadAnalyseValue.KeyPosByBeat.Tstart,Tend:this.currentLeadAnalyseValue.KeyPosByBeat.Tend,QRSstart:this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,TPpeak:this.currentLeadAnalyseValue.KeyPosByBeat.TPpeak}));this.enlargeAnalysisData.TtypeA=n.toFixedFun(d||0,2)}if(this.enlargeAnalysisData.Ptype=n.calcPstate(m(c({},e),{Pstart:this.currentLeadAnalyseValue.KeyPosByBeat.Pstart,Pend:this.currentLeadAnalyseValue.KeyPosByBeat.Pend,data:this.longdata}))||"",this.measureLineMoveInfo.name===""||this.measureLineMoveInfo.name==="P1"||this.measureLineMoveInfo.name==="P2"){const{PA:d}=n.calcPA(m(c({},e),{Pstart:this.currentLeadAnalyseValue.KeyPosByBeat.Pstart,Pend:this.currentLeadAnalyseValue.KeyPosByBeat.Pend,PPpeak:this.currentLeadAnalyseValue.KeyPosByBeat.PPpeak}));this.enlargeAnalysisData.PtypeA=n.toFixedFun(d||0,2)}if(this.measureLineMoveInfo.name===""||this.measureLineMoveInfo.name==="R1"||this.measureLineMoveInfo.name==="R2"){const{qrs_morph_type:d,QA:u,QD:f,RA:p,RD:A,SD:L,RPD:g,SA:v,RPA:P}=n.calcQRS(m(c({},e),{QRSstart:this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,QRSend:this.currentLeadAnalyseValue.KeyPosByBeat.QRSend}));this.enlargeAnalysisData.QRStype=d||"",this.enlargeAnalysisData.QtypeA=n.toFixedFun(u||0,2),this.enlargeAnalysisData.QD=Math.round(f||0),this.enlargeAnalysisData.RtypeA=n.toFixedFun(p||0,2),this.enlargeAnalysisData.StypeA=n.toFixedFun(v||0,2),this.enlargeAnalysisData.RPA=n.toFixedFun(P||0,2),this.enlargeAnalysisData.RD=n.toFixedFun(A||0,2),this.enlargeAnalysisData.SD=n.toFixedFun(L||0,2),this.enlargeAnalysisData.RPD=n.toFixedFun(g||0,2);const I=n.calcSTJA(e.start_pos,this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,this.currentLeadAnalyseValue.KeyPosByBeat.QRSend,e.Sensitivity,e.longdata);this.enlargeAnalysisData.STJtypeA=n.toFixedFun(I||0,2),this.enlargeAnalysisData.STstate=n.clacST(I||0,e.longdata)||"";const V=n.calcIaddIIaddIII(m(c({},e),{ComplexData:this.complexData,Data:this.normalData,QRSstart:this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,QRSend:this.currentLeadAnalyseValue.KeyPosByBeat.QRSend,BeatID:((i=this.currentLeadAnalyseValue)==null?void 0:i.BeatID)||0,AnalyseValue:this.analyseValue,leadNameList:this.leadNameList}));this.enlargeAnalysisData.IandIIandIII=n.toFixedFun(V,2),this.enlargeAnalysisData.RV5Amp=n.toFixedFun(n.calcRv5(m(c({},e),{ComplexData:this.complexData,Data:this.normalData,QRSstart:this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,QRSend:this.currentLeadAnalyseValue.KeyPosByBeat.QRSend,BeatID:((o=this.currentLeadAnalyseValue)==null?void 0:o.BeatID)||0,AnalyseValue:this.analyseValue,leadNameList:this.leadNameList}))||0,2)+"",this.enlargeAnalysisData.RV5Amp=n.toFixedFun(n.calcSv1(m(c({},e),{ComplexData:this.complexData,Data:this.normalData,QRSstart:this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart,QRSend:this.currentLeadAnalyseValue.KeyPosByBeat.QRSend,BeatID:((h=this.currentLeadAnalyseValue)==null?void 0:h.BeatID)||0,AnalyseValue:this.analyseValue,leadNameList:this.leadNameList}))||0,2)+""}}electricAxisAnalyse(){var a;const e={ComplexData:this.complexData,Data:this.normalData,BeatID:((a=this.currentLeadAnalyseValue)==null?void 0:a.BeatID)||0,AnalyseValue:this.analyseValue,SampleRate:this.sampleRate,Sensitivity:this.sensitivity,leadNameList:this.leadNameList,start_pos:this.startPos};if(this.measureLineMoveInfo.name==="P1"||this.measureLineMoveInfo.name==="P2"){this.enlargeAnalysisData.PAxis=n.calcPelectricAxis(m(c({},e),{Pstart:this.currentLeadAnalyseValue.KeyPosByBeat.Pstart,Pend:this.currentLeadAnalyseValue.KeyPosByBeat.Pend}));return}const t=()=>{let s=Math.abs(this.enlargeAnalysisData.QRSAxis-this.enlargeAnalysisData.TAxis);s>180&&(s=360-s),this.currentLeadAnalyseValue.AnabyBeat.QRS_T=s};if(this.measureLineMoveInfo.name==="R1"||this.measureLineMoveInfo.name==="R2"){this.enlargeAnalysisData.QRSAxis=n.calcQRSelectricAxis(m(c({},e),{QRSend:this.currentLeadAnalyseValue.KeyPosByBeat.QRSend,QRSstart:this.currentLeadAnalyseValue.KeyPosByBeat.QRSstart})),t();return}if(this.measureLineMoveInfo.name==="T1"||this.measureLineMoveInfo.name==="T2"){this.enlargeAnalysisData.TAxis=n.calcTelectricAxis(m(c({},e),{QRSend:this.currentLeadAnalyseValue.KeyPosByBeat.QRSend,Tend:this.currentLeadAnalyseValue.KeyPosByBeat.Tend})),t();return}}calculatedValue(){var f,p,A,L;const e=(f=this.M1)==null?void 0:f.childOfName("Line_M1"),t=(p=this.M2)==null?void 0:p.childOfName("Line_M2");if(!e||!t)return;const a=e.shape.x1+(e.transform&&e.transform[4]||0),s=t.shape.x1+(t.transform&&t.transform[4]||0),i=Math.abs(a-s),o=n.calcMs(i,this.currentSpeedValue,this.gridConfig.cellMg,this.magnification);this.difference.timeDifference=o;const h=parseInt(`${(a-this.drawWaveFromX)/this.currentStep}`),d=parseInt(`${(s-this.drawWaveFromX)/this.currentStep}`);let u=[];if(this.leadNameActive.val===-1?u=((A=this.waveFromGroup)==null?void 0:A.childAt(this.waveFromGroup.childCount()-1)).shape.points||[]:u=((L=this.waveFromIns)==null?void 0:L.shape.points)||[],d>0&&h>0&&d<=u.length-1&&h<=u.length-1){const v=(Math.abs(u[d][1]-u[h][1])/this.currentSens).toFixed(2);this.difference.amplitudeDifference=v}else this.difference.amplitudeDifference=""}toggleGain(e){if(e){this.currentGainIdx<this.gains.length-1&&(this.currentGainIdx+=1,this.currentSens=this.gains[this.currentGainIdx].value*this.gridConfig.cellMg*this.magnification,this.toggleRender());return}this.currentGainIdx>0&&this.currentGainIdx<=this.gains.length-1&&(this.currentGainIdx-=1,this.currentSens=this.gains[this.currentGainIdx].value*this.gridConfig.cellMg*this.magnification,this.toggleRender())}toggleSpeeds(e){console.log("toggleSpeed",this.speeds,this.currentSpeedIdx);const t=()=>{const a=n.getStepForSpeed(this.currentSpeedValue,this.gridConfig.cellMg,this.sampleRate);this.currentStep=a*this.magnification};if(e){this.currentSpeedIdx<this.speeds.length-1&&(this.currentSpeedIdx+=1,this.currentSpeedValue=this.speeds[this.currentSpeedIdx].value,t(),this.toggleRender());return}this.currentSpeedIdx>0&&this.currentSpeedIdx<=this.speeds.length-1&&(this.currentSpeedIdx-=1,this.currentSpeedValue=this.speeds[this.currentSpeedIdx].value,t(),this.toggleRender())}toggleBeaadId(e){var t,a;if(e){this.currentLeadAnalyseValueIdx<this.analyseValue.length-1&&(this.currentLeadAnalyseValueIdx+=1,this.currentLeadAnalyseValue=m(c({},this.analyseValue[this.currentLeadAnalyseValueIdx]),{BeatCount:((t=this.currentLeadAnalyseValue)==null?void 0:t.BeatCount)||0}),this.toggleRender());return}this.currentLeadAnalyseValueIdx>1&&this.currentLeadAnalyseValueIdx<=this.analyseValue.length-1&&(this.currentLeadAnalyseValueIdx-=1,this.currentLeadAnalyseValue=m(c({},this.analyseValue[this.currentLeadAnalyseValueIdx]),{BeatCount:((a=this.currentLeadAnalyseValue)==null?void 0:a.BeatCount)||0}),this.toggleRender())}toggleRender(){this.createLeadHead(),this.createSensAndSpeed(),this.drawWaveFrom(),this.drawMeasureLine(),this.calculatedValue(),this.electricAxisAnalyse(),this.processEnlargeAnalysis()}mainBoxDbClick(){const e=Date.now();e-this.dbClickTime<400?(this.dbClickTime=0,this.$emit("notifyCancelEnlargr"),this.$emit("update:isShowEnlargeWave",!1),this.isShowSyncAnalyseValue&&this.isSyncAnalyseValue&&this.$emit("notifyModifyAnalyse",this.modifyAnalysed)):this.dbClickTime=e}};r([l.Prop({default:()=>""})],exports.default.prototype,"className",2);r([l.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"width",2);r([l.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"height",2);r([l.Prop({required:!0})],exports.default.prototype,"gridConfig",2);r([l.Prop({required:!0})],exports.default.prototype,"speedValue",2);r([l.Prop({default:1})],exports.default.prototype,"sens",2);r([l.Prop({default:1})],exports.default.prototype,"step",2);r([l.Prop({required:!0})],exports.default.prototype,"sampleRate",2);r([l.Prop({required:!0})],exports.default.prototype,"sensitivity",2);r([l.Prop({required:!0,default:()=>[]})],exports.default.prototype,"complexData",2);r([l.Prop({required:!0,default:()=>[]})],exports.default.prototype,"normalData",2);r([l.Prop({default:!1})],exports.default.prototype,"isShowEnlargeWave",2);r([l.Prop({default:!0})],exports.default.prototype,"isShowSyncAnalyseValue",2);r([l.Prop({default:()=>({leadHedeWidth:20,leadHedeColor:"#000",leadHedeLineWidth:2})})],exports.default.prototype,"leadHeadConfig",2);r([l.Prop({default:()=>({lineColor:"#000",lineWidth:1,fontFamily:"\u5FAE\u8F6F\u96C5\u9ED1",fontSize:15})})],exports.default.prototype,"leadConfig",2);r([l.Prop({default:5})],exports.default.prototype,"magnification",2);r([l.Prop({default:()=>[]})],exports.default.prototype,"leadNameList",2);r([l.Prop({required:!0})],exports.default.prototype,"activeLeadIdx",2);r([l.Prop({required:!0})],exports.default.prototype,"activeLeadAnalyseValue",2);r([l.Prop({required:!0})],exports.default.prototype,"analyseValue",2);r([l.Prop({default:"ECG"})],exports.default.prototype,"typeClass",2);r([l.Prop({default:()=>["black","red","orange","yellow","green","#4B0082","blue","purple","#FFB6C1","#EE82EE","#6A5ACD","#00FFFF"]})],exports.default.prototype,"leadColors",2);r([l.Prop({default:n.AnalysisMode.CompoundWave})],exports.default.prototype,"enlargeWaveMode",2);r([l.Prop({required:!0})],exports.default.prototype,"conventionalECGConfig",2);r([l.Prop({default:()=>[]})],exports.default.prototype,"gains",2);r([l.Prop({default:()=>[]})],exports.default.prototype,"speeds",2);r([B.Watch("activeLeadIdx")],exports.default.prototype,"watchActiveLeadIdx",1);r([B.Watch("leadNameList",{deep:!0,immediate:!0})],exports.default.prototype,"watchLeadNameList",1);exports.default=r([b.default({name:"Methods"})],exports.default);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "costy-plus",
3
- "version": "1.0.11-0",
3
+ "version": "1.0.13-0",
4
4
  "main": "dist/lib/index.js",
5
5
  "module": "dist/es/index.js",
6
6
  "scripts": {