costy-plus 1.1.8-0 → 1.1.10-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.
@@ -14,7 +14,7 @@ declare class CommonWaveForm extends CommonWaveForm_base {
14
14
  protected watchLongLeadConfig(): void;
15
15
  protected watchPosStart(): void;
16
16
  protected destroyed(): void;
17
- protected repaint(): void;
17
+ protected repaint(isInitConfigInfo?: boolean): void;
18
18
  created(): void;
19
19
  mounted(): void;
20
20
  }
@@ -6,13 +6,13 @@ import { Watch as r } from "../../node_modules/.pnpm/vue-property-decorator@9.1.
6
6
  import d from "../../node_modules/.pnpm/vuescroll@4.17.5_vue@2.7.16/node_modules/vuescroll/dist/vuescroll-native.js";
7
7
  import m from "../MeasuringRuler/index2.js";
8
8
  import f from "../MagnifierWave/index.js";
9
- import g from "../ParallelRuler/index2.js";
10
- import u from "../BackgroundGrid/index2.js";
9
+ import u from "../ParallelRuler/index2.js";
10
+ import g from "../BackgroundGrid/index2.js";
11
11
  import w from "./method.js";
12
- var C = Object.defineProperty, v = Object.getOwnPropertyDescriptor, t = (i, a, n, s) => {
13
- for (var o = s > 1 ? void 0 : s ? v(a, n) : a, p = i.length - 1, h; p >= 0; p--)
14
- (h = i[p]) && (o = (s ? h(a, n, o) : h(o)) || o);
15
- return s && o && C(a, n, o), o;
12
+ var C = Object.defineProperty, v = Object.getOwnPropertyDescriptor, t = (i, a, s, n) => {
13
+ for (var o = n > 1 ? void 0 : n ? v(a, s) : a, p = i.length - 1, h; p >= 0; p--)
14
+ (h = i[p]) && (o = (n ? h(a, s, o) : h(o)) || o);
15
+ return n && o && C(a, s, o), o;
16
16
  };
17
17
  let e = class extends c(w) {
18
18
  constructor() {
@@ -31,7 +31,7 @@ let e = class extends c(w) {
31
31
  this.repaint();
32
32
  }
33
33
  watchWaveLists() {
34
- this.repaint();
34
+ this.repaint(!1);
35
35
  }
36
36
  watchLeadHeadConfig() {
37
37
  var i, a;
@@ -56,13 +56,13 @@ let e = class extends c(w) {
56
56
  destroyed() {
57
57
  this.repaintTimer && clearTimeout(this.repaintTimer);
58
58
  }
59
- repaint() {
59
+ repaint(i = !0) {
60
60
  this.repaintTimer && clearTimeout(this.repaintTimer), this.repaintTimer = setTimeout(() => {
61
- var i, a;
62
- (i = this.sceneIns) == null || i.clear(), (a = this.sceneIns) == null || a.resize({
61
+ var a, s;
62
+ i && ((a = this.sceneIns) == null || a.clear(), (s = this.sceneIns) == null || s.resize({
63
63
  width: this.canvasContainer.width,
64
64
  height: this.canvasContainer.height
65
- }), this.initCreatedConfig(), this.combinationDrawing();
65
+ }), this.initCreatedConfig()), this.combinationDrawing(i);
66
66
  }, 200);
67
67
  }
68
68
  created() {
@@ -110,9 +110,9 @@ e = t([
110
110
  name: "CommonWaveForm",
111
111
  components: {
112
112
  vueScroll: d,
113
- MXBackgroundGrid: u,
113
+ MXBackgroundGrid: g,
114
114
  MXMeasuringRuler: m,
115
- MXParallelRuler: g,
115
+ MXParallelRuler: u,
116
116
  MXMagnifierWave: f
117
117
  }
118
118
  })
@@ -162,7 +162,7 @@ export default class Methods extends Vue {
162
162
  protected init(): void;
163
163
  protected registPostStart(): void;
164
164
  protected resetScroll(val?: number): void;
165
- protected combinationDrawing(): void;
165
+ protected combinationDrawing(isInitConfigInfo?: boolean): void;
166
166
  /** 计算心拍 */
167
167
  protected calcHeartBeatPositions(): void;
168
168
  /** 初始化 波形 滑动窗口配置 */
@@ -1,13 +1,13 @@
1
1
  var T = Object.defineProperty, Y = Object.defineProperties;
2
2
  var _ = Object.getOwnPropertyDescriptors;
3
- var X = Object.getOwnPropertySymbols;
3
+ var $ = Object.getOwnPropertySymbols;
4
4
  var E = Object.prototype.hasOwnProperty, K = Object.prototype.propertyIsEnumerable;
5
- var $ = (e, t, i) => t in e ? T(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i, S = (e, t) => {
5
+ var X = (e, t, i) => t in e ? T(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i, S = (e, t) => {
6
6
  for (var i in t || (t = {}))
7
- E.call(t, i) && $(e, i, t[i]);
8
- if (X)
9
- for (var i of X(t))
10
- K.call(t, i) && $(e, i, t[i]);
7
+ E.call(t, i) && X(e, i, t[i]);
8
+ if ($)
9
+ for (var i of $(t))
10
+ K.call(t, i) && X(e, i, t[i]);
11
11
  return e;
12
12
  }, k = (e, t) => Y(e, _(t));
13
13
  import q from "vue";
@@ -15,7 +15,7 @@ import Q from "../../node_modules/.pnpm/vue-class-component@7.2.6_vue@2.6.14/nod
15
15
  import "../../node_modules/.pnpm/vue-property-decorator@9.1.2_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Emit.js";
16
16
  import { Prop as w } from "../../node_modules/.pnpm/vue-property-decorator@9.1.2_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Prop.js";
17
17
  import { flattenDeep as U, max as Z, min as J } from "lodash";
18
- import { throttling as V, getStepForSpeed as M, getPrintLengthToPx as ee, getSens as x, getDataLenTimes as O, getPointIdxForPx as H, getActualY as L, calcMs as te, calcBpm as ie } from "@costy-plus/utils";
18
+ import { throttling as V, getStepForSpeed as M, getPrintLengthToPx as ee, getSens as H, getDataLenTimes as O, getPointIdxForPx as x, getActualY as L, calcMs as te, calcBpm as ie } from "@costy-plus/utils";
19
19
  import * as se from "zrender";
20
20
  import { Group as y, Polyline as R, Line as z, Text as W, Polygon as ae, util as oe } from "zrender";
21
21
  var ne = Object.defineProperty, le = Object.getOwnPropertyDescriptor, c = (e, t, i, s) => {
@@ -50,8 +50,8 @@ let u = class extends q {
50
50
  };
51
51
  }
52
52
  destroyed() {
53
- var e, t, i, s, a, o, n, d, h, l, r;
54
- this.sceneInsEventOff(), (e = this.rowAndColwaveFromGroup) == null || e.removeAll(), (t = this.singleWaveFromGroup) == null || t.removeAll(), (i = this.addwaveFromGroup) == null || i.removeAll(), (s = this.leadHeadGroup) == null || s.removeAll(), (a = this.splitLineGroup) == null || a.removeAll(), (o = this.leadHeadNameGroup) == null || o.removeAll(), (n = this.leadHeadOffAndDelGroup) == null || n.removeAll(), (d = this.rulerGroup) == null || d.removeAll(), (h = this.arrowGroup) == null || h.removeAll(), (l = this.heardBeatLineGroup) == null || l.removeAll(), (r = this.sceneIns) == null || r.dispose();
53
+ var e, t, i, s, a, o, n, r, l, d, h;
54
+ this.sceneInsEventOff(), (e = this.rowAndColwaveFromGroup) == null || e.removeAll(), (t = this.singleWaveFromGroup) == null || t.removeAll(), (i = this.addwaveFromGroup) == null || i.removeAll(), (s = this.leadHeadGroup) == null || s.removeAll(), (a = this.splitLineGroup) == null || a.removeAll(), (o = this.leadHeadNameGroup) == null || o.removeAll(), (n = this.leadHeadOffAndDelGroup) == null || n.removeAll(), (r = this.rulerGroup) == null || r.removeAll(), (l = this.arrowGroup) == null || l.removeAll(), (d = this.heardBeatLineGroup) == null || d.removeAll(), (h = this.sceneIns) == null || h.dispose();
55
55
  }
56
56
  initCreatedConfig() {
57
57
  this.vuescrollWH.width = this.width, this.vuescrollWH.height = this.height, this.calcHeartBeatPositions(), this.initConfig();
@@ -81,8 +81,8 @@ let u = class extends q {
81
81
  });
82
82
  }) : (this.scrollWaveFrom(e), this.scrollRuler(e), this.scrollArrow(e));
83
83
  }
84
- combinationDrawing() {
85
- this.drawLeadHead(), this.drawColSplitLine(), this.initSlidingWindowInfo(), this.drawRulerNotes(), this.drawWaveFrom();
84
+ combinationDrawing(e = !0) {
85
+ e && (this.drawLeadHead(), this.drawColSplitLine(), this.initSlidingWindowInfo(), this.drawRulerNotes()), this.drawWaveFrom();
86
86
  }
87
87
  calcHeartBeatPositions() {
88
88
  this.heartBeatPosition = [];
@@ -108,7 +108,7 @@ let u = class extends q {
108
108
  if (this.slidingWindowInfo = {
109
109
  points: this.slidingWindowInfo.points !== t || this.leadModel.isSingleMode ? t : this.slidingWindowInfo.points,
110
110
  startInd: this.slidingWindowInfo.startInd || 0,
111
- endInd: this.slidingWindowInfo.endInd !== t || this.leadModel.isSingleMode ? t : this.slidingWindowInfo.endInd
111
+ endInd: (this.slidingWindowInfo.startInd || 0) + t
112
112
  }, this.scrollConfig.isShow && !this.leadModel.isSingleMode) {
113
113
  const s = M(this.leadModel.publicSpeed, this.gridConfig.cellMg, this.leadModel.publicSampleRate), a = this.dataTotalLength * s;
114
114
  this.vuescrollWH.width = this.canvasContainer.width + (a || 0) - this.splitPoint;
@@ -117,7 +117,7 @@ let u = class extends q {
117
117
  this.addSlidingWindowInfo = {
118
118
  points: this.addSlidingWindowInfo.points !== i || this.leadModel.isSingleMode ? i : this.addSlidingWindowInfo.points,
119
119
  startInd: this.addSlidingWindowInfo.startInd || 0,
120
- endInd: this.addSlidingWindowInfo.endInd !== i || this.leadModel.isSingleMode ? i : this.addSlidingWindowInfo.endInd
120
+ endInd: (this.addSlidingWindowInfo.endInd || 0) + t
121
121
  };
122
122
  }
123
123
  calcHighestAndLowestPoint() {
@@ -215,36 +215,38 @@ let u = class extends q {
215
215
  (e = this.sceneIns) == null || e.off("mousemove", this.sceneInsMousemove), (t = this.sceneIns) == null || t.off("mousedown", this.sceneInsMouseDown), (i = this.sceneIns) == null || i.off("mouseup", this.sceneInsMouseUp);
216
216
  }
217
217
  drawLeadHead() {
218
- var o, n, d, h, l;
219
- (o = this.leadHeadGroup) == null || o.removeAll(), (n = this.sceneIns) == null || n.remove(this.leadHeadGroup);
220
- let e = "", t = !1, i = 0, s = 0;
221
- for (let r = 0; r <= this.leadModel.column; r++) {
222
- s = r * this.leadModel.line;
223
- e:
224
- for (let f = 1; f <= this.leadModel.line; f++) {
225
- if (!(this.waveConfigs || [])[f - 1 + s])
226
- break e;
227
- !this.waveConfigs[f - 1 + s].isShowLeadHead || (t = !1, e = (this.leadNames || [])[f - 1 + s] || "", this.waveConfigs[f - 1 + s].gainName === "\u80F8\u5BFC\u51CF\u534A" && /^V\w+/.test(e) && (t = !0), i = this.waveConfigs[f - 1 + s].posX ? this.waveConfigs[f - 1 + s].posX - this.leadHeadConfig.leadHedeWidth : 0, this.leadHeadConfig.isShowLeadCalibration !== !1 && ((d = this.leadHeadGroup) == null || d.add(
228
- this.createLeadHead(
229
- i,
230
- this.waveConfigs[f - 1 + s].posY || f * this.splitBlockHeight,
231
- x(this.waveConfigs[f - 1 + s].gain, this.gridConfig.cellMg),
232
- t
233
- )
234
- )));
218
+ var i, s, a, o, n, r;
219
+ (i = this.leadHeadGroup) == null || i.removeAll(), (s = this.sceneIns) == null || s.remove(this.leadHeadGroup);
220
+ let e = "", t = !1;
221
+ e:
222
+ for (let l = 1; l <= this.totalRows; l++) {
223
+ if (t = !1, !(this.waveConfigs || [])[l - 1])
224
+ break e;
225
+ if (!!this.waveConfigs[l - 1].isShowLeadHead) {
226
+ if (l <= this.leadModel.line)
227
+ e = (this.leadNames || [])[l - 1] || "", this.waveConfigs[l - 1].gainName === "\u80F8\u5BFC\u51CF\u534A" && /^V\w+/.test(e) && (t = !0), this.leadHeadConfig.isShowLeadCalibration !== !1 && ((a = this.leadHeadGroup) == null || a.add(
228
+ this.createLeadHead(
229
+ 0,
230
+ this.waveConfigs[l - 1].posY || l * this.splitBlockHeight,
231
+ H(this.waveConfigs[l - 1].gain, this.gridConfig.cellMg),
232
+ t
233
+ )
234
+ ));
235
+ else if (l > this.leadModel.line && l - this.leadModel.line <= this.leadModel.add) {
236
+ if (!this.waveConfigs[this.longLeadConfig.leadIdxs[l - this.leadModel.line - 1]])
237
+ continue;
238
+ e = this.leadNames[this.longLeadConfig.leadNames[this.longLeadConfig.leadNames[l - this.leadModel.line - 1]]], this.waveConfigs[this.longLeadConfig.leadIdxs[l - this.leadModel.line - 1]].gainName === "\u80F8\u5BFC\u51CF\u534A" && /^V\w+/.test(e) && (t = !0), this.leadHeadConfig.isShowLeadCalibration !== !1 && ((n = this.leadHeadGroup) == null || n.add(
239
+ this.createLeadHead(
240
+ 0,
241
+ ((o = this.waveConfigs[this.longLeadConfig.leadIdxs[l - this.leadModel.line - 1]]) == null ? void 0 : o.posY) || l * this.splitBlockHeight,
242
+ H(this.waveConfigs[this.longLeadConfig.leadIdxs[l - this.leadModel.line - 1]].gain, this.gridConfig.cellMg),
243
+ t
244
+ )
245
+ ));
246
+ }
235
247
  }
236
- }
237
- let a = null;
238
- for (let r = 0; r < this.leadModel.add; r++)
239
- !this.waveConfigs[this.longLeadConfig.leadIdxs[r]] || (a = this.waveConfigs[this.longLeadConfig.leadIdxs[r]], e = this.leadNames[this.longLeadConfig.leadNames[this.longLeadConfig.leadNames[r]]], t = !1, a.gainName === "\u80F8\u5BFC\u51CF\u534A" && /^V\w+/.test(e) && (t = !0), i = a.posX ? a.posX - this.leadHeadConfig.leadHedeWidth : 0, this.leadHeadConfig.isShowLeadCalibration !== !1 && ((h = this.leadHeadGroup) == null || h.add(
240
- this.createLeadHead(
241
- i,
242
- a.posY || (r + 1 + this.leadModel.line) * this.splitBlockHeight,
243
- x(a.gain, this.gridConfig.cellMg),
244
- t
245
- )
246
- )));
247
- a = null, (l = this.sceneIns) == null || l.add(this.leadHeadGroup);
248
+ }
249
+ (r = this.sceneIns) == null || r.add(this.leadHeadGroup);
248
250
  }
249
251
  createLeadHead(e, t, i, s) {
250
252
  const a = this.leadHeadConfig.leadHedeWidth / 4;
@@ -285,46 +287,46 @@ let u = class extends q {
285
287
  });
286
288
  }
287
289
  drawColSplitLine() {
288
- var o, n, d, h, l;
290
+ var o, n, r, l, d;
289
291
  (o = this.splitLineGroup) == null || o.removeAll(), (n = this.sceneIns) == null || n.remove(this.splitLineGroup);
290
292
  const e = (this.drawArea.width - this.leadHeadConfig.leadHedeWidth) / (this.leadModel.column || 1);
291
293
  if (this.splitPoint = e, this.leadModel.isSingleMode) {
292
- const r = M(
294
+ const h = M(
293
295
  this.waveConfigs[this.singleModeConfig.defaultSelect].speed,
294
296
  this.gridConfig.cellMg,
295
297
  this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate
296
- ), f = O(
297
- Math.ceil(this.splitPoint / (r || 1)) || 0,
298
+ ), p = O(
299
+ Math.ceil(this.splitPoint / (h || 1)) || 0,
298
300
  this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate || 0
299
- ), v = parseInt(`${f / 1e3 % 60}`, 10);
300
- this.splitPoint = v * (this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate || 0) * (r || 0);
301
+ ), v = parseInt(`${p / 1e3 % 60}`, 10);
302
+ this.splitPoint = v * (this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate || 0) * (h || 0);
301
303
  }
302
304
  let t = 0, i = 0, s = 0, a = 0;
303
- for (let r = 1; r <= this.leadModel.column - 1; r++) {
304
- t = r * e + this.leadHeadConfig.leadHedeWidth, i = r * this.leadModel.line;
305
+ for (let h = 1; h <= this.leadModel.column - 1; h++) {
306
+ t = h * e + this.leadHeadConfig.leadHedeWidth, i = h * this.leadModel.line;
305
307
  e:
306
- for (let f = 1; f <= this.leadModel.line; f++) {
307
- if (!(this.waveConfigs || [])[f - 1 + i])
308
+ for (let p = 1; p <= this.leadModel.line; p++) {
309
+ if (!(this.waveConfigs || [])[p - 1 + i])
308
310
  break e;
309
- if ((this.waveConfigs || [])[f - 1 + i].posX !== void 0 && (t = (this.waveConfigs || [])[f - 1 + i].posX), s = (this.waveConfigs || [])[f - 1 + i].leadIdx, s === void 0)
311
+ if ((this.waveConfigs || [])[p - 1 + i].posX !== void 0 && (t = (this.waveConfigs || [])[p - 1 + i].posX), s = (this.waveConfigs || [])[p - 1 + i].leadIdx, s === void 0)
310
312
  break;
311
- a = x((this.waveConfigs || [])[f - 1 + i].gain, this.gridConfig.cellMg), (this.waveConfigs || [])[f - 1 + i].gainName === "\u80F8\u5BFC\u51CF\u534A" && /^V\w+/.test(this.leadNames[s]) ? (d = this.splitLineGroup) == null || d.add(
313
+ a = H((this.waveConfigs || [])[p - 1 + i].gain, this.gridConfig.cellMg), (this.waveConfigs || [])[p - 1 + i].gainName === "\u80F8\u5BFC\u51CF\u534A" && /^V\w+/.test(this.leadNames[s]) ? (r = this.splitLineGroup) == null || r.add(
312
314
  this.creatSplitLine(
313
315
  t,
314
- ((this.waveConfigs || [])[f - 1 + i].posY || f * this.splitBlockHeight) - (a || 0) / 2 * 0.5,
316
+ ((this.waveConfigs || [])[p - 1 + i].posY || p * this.splitBlockHeight) - (a || 0) / 2 * 0.5,
315
317
  a,
316
318
  !0
317
319
  )
318
- ) : (h = this.splitLineGroup) == null || h.add(
320
+ ) : (l = this.splitLineGroup) == null || l.add(
319
321
  this.creatSplitLine(
320
322
  t,
321
- ((this.waveConfigs || [])[f - 1 + i].posY || f * this.splitBlockHeight) - (a || 0) * 0.5,
323
+ ((this.waveConfigs || [])[p - 1 + i].posY || p * this.splitBlockHeight) - (a || 0) * 0.5,
322
324
  a
323
325
  )
324
326
  );
325
327
  }
326
328
  }
327
- (l = this.sceneIns) == null || l.add(this.splitLineGroup);
329
+ (d = this.sceneIns) == null || d.add(this.splitLineGroup);
328
330
  }
329
331
  creatSplitLine(e, t, i, s) {
330
332
  return new z({
@@ -366,30 +368,30 @@ let u = class extends q {
366
368
  (s = this.sceneIns) == null || s.add(i), (a = this.sceneIns) == null || a.add(t);
367
369
  }
368
370
  drawRuler(e = 0) {
369
- var n, d, h;
371
+ var n, r, l;
370
372
  if (this.timersCopy = e, !this.rulerConfig.isShow)
371
373
  return;
372
- const t = this.dataTotalTimes / 1e3;
374
+ const t = this.dataTotalTimes * 2;
373
375
  let i = this.leadHeadConfig.leadHedeWidth, s = 0, a = t;
374
376
  const o = M(this.rulerConfig.speed, this.gridConfig.cellMg, this.rulerConfig.sampleRate);
375
377
  if (this.leadModel.isContinuous)
376
378
  a = t * 5;
377
379
  else if (!this.leadModel.add && o) {
378
- const l = H(this.splitPoint * (this.leadModel.column || 1), o), r = O(l, this.rulerConfig.sampleRate || 0) / 1e3;
379
- a = e + r;
380
+ const d = x(this.splitPoint * (this.leadModel.column || 1), o), h = O(d, this.rulerConfig.sampleRate || 0) / 1e3;
381
+ a = e + h;
380
382
  }
381
- for (let l = e; l <= a; l = +(l + 0.1).toFixed(1))
382
- l !== e && (i += this.rulerStep), l % 1 === 0 ? (s = this.canvasContainer.height - 10, (n = this.rulerGroup) == null || n.add(new W({
383
+ for (let d = e; d <= a; d = +(d + 0.1).toFixed(1))
384
+ d !== e && (i += this.rulerStep), d % 1 === 0 ? (s = this.canvasContainer.height - 10, (n = this.rulerGroup) == null || n.add(new W({
383
385
  cursor: "",
384
386
  style: {
385
387
  x: i,
386
388
  y: s - 15,
387
- text: l + "",
389
+ text: d + "",
388
390
  fontSize: 13,
389
391
  fontFamily: this.fontFamily,
390
392
  fill: "#FF0080"
391
393
  }
392
- }))) : s = this.canvasContainer.height - 5, (d = this.rulerGroup) == null || d.add(new z({
394
+ }))) : s = this.canvasContainer.height - 5, (r = this.rulerGroup) == null || r.add(new z({
393
395
  cursor: "",
394
396
  shape: {
395
397
  x1: i,
@@ -402,11 +404,11 @@ let u = class extends q {
402
404
  lineWidth: 2
403
405
  }
404
406
  }));
405
- (h = this.sceneIns) == null || h.add(this.rulerGroup);
407
+ (l = this.sceneIns) == null || l.add(this.rulerGroup);
406
408
  }
407
409
  drawWaveFrom() {
408
- var e, t, i;
409
- this.leadModel.isSingleMode ? (this.addWaveDataCopy = [], this.waveDataCopy = [], this.createSingleWaveFrom(), (e = this.sceneIns) == null || e.add(this.singleWaveFromGroup)) : (this.singleWaveDataCopy = [], this.createAddWaveFrom(), this.createRowAndColWaveFrom(), (t = this.sceneIns) == null || t.add(this.rowAndColwaveFromGroup), (i = this.sceneIns) == null || i.add(this.addwaveFromGroup)), this.drawLeadHeadNameAndOffOrDel(), this.drawRuler(this.timersCopy), this.drawLoopArrow(this.drawLoopArrowStartPosIdx);
410
+ var e, t, i, s, a;
411
+ (e = this.leadHeadNameGroup) == null || e.removeAll(), (t = this.leadHeadOffAndDelGroup) == null || t.removeAll(), this.leadModel.isSingleMode ? (this.addWaveDataCopy = [], this.waveDataCopy = [], this.createSingleWaveFrom(), (i = this.sceneIns) == null || i.add(this.singleWaveFromGroup)) : (this.singleWaveDataCopy = [], this.createAddWaveFrom(), this.createRowAndColWaveFrom(), (s = this.sceneIns) == null || s.add(this.rowAndColwaveFromGroup), (a = this.sceneIns) == null || a.add(this.addwaveFromGroup)), this.drawLeadHeadNameAndOffOrDel(), this.drawRuler(this.timersCopy), this.drawLoopArrow(this.drawLoopArrowStartPosIdx);
410
412
  }
411
413
  getRednerSinglePoints() {
412
414
  let e = 0, t = 0;
@@ -416,76 +418,76 @@ let u = class extends q {
416
418
  this.waveConfigs[this.singleModeConfig.defaultSelect].speed,
417
419
  this.gridConfig.cellMg,
418
420
  this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate
419
- ), n = x(this.waveConfigs[this.singleModeConfig.defaultSelect].gain, this.gridConfig.cellMg), d = [], h = Math.ceil(i.length / (this.slidingWindowInfo.points || 1));
420
- for (let l = 0; l < 1; l++) {
421
- e = l * this.splitPoint + this.leadHeadConfig.leadHedeWidth, t = 0;
422
- for (let r = 1; r <= h; r++)
423
- t = r * this.splitBlockHeight, r > 1 && (t *= 0.8, s = a, a = s + (this.slidingWindowInfo.points || 0)), r === 1 && (this.loopArrowY.rowAndCol = t), d.push({
421
+ ), n = H(this.waveConfigs[this.singleModeConfig.defaultSelect].gain, this.gridConfig.cellMg), r = [], l = Math.ceil(i.length / (this.slidingWindowInfo.points || 1));
422
+ for (let d = 0; d < 1; d++) {
423
+ e = d * this.splitPoint + this.leadHeadConfig.leadHedeWidth, t = 0;
424
+ for (let h = 1; h <= l; h++)
425
+ t = h * this.splitBlockHeight, h > 1 && (t *= 0.8, s = a, a = s + (this.slidingWindowInfo.points || 0)), h === 1 && (this.loopArrowY.rowAndCol = t), r.push({
424
426
  pos: [e, t],
425
427
  startInd: s,
426
428
  endInd: a,
427
429
  step: o,
428
430
  sens: n,
429
- data: i.slice(s, a).map((f, v) => this.waveConfigs[this.singleModeConfig.defaultSelect].leadName === "\u80F8\u5BFC\u51CF\u534A" && /^V\w+/.test(this.waveConfigs[this.singleModeConfig.defaultSelect].leadName) ? L(this.waveConfigs[this.singleModeConfig.defaultSelect].sensitivity, f, n / 2) : L(this.waveConfigs[this.singleModeConfig.defaultSelect].sensitivity, f, n)).map((f, v) => [v * (o || 0), -f])
431
+ data: i.slice(s, a).map((p, v) => this.waveConfigs[this.singleModeConfig.defaultSelect].gainName === "\u80F8\u5BFC\u51CF\u534A" && /^V\w+/.test(this.waveConfigs[this.singleModeConfig.defaultSelect].leadName) ? L(this.waveConfigs[this.singleModeConfig.defaultSelect].sensitivity, p, n / 2) : L(this.waveConfigs[this.singleModeConfig.defaultSelect].sensitivity, p, n)).map((p, v) => [v * (o || 0), -p])
430
432
  });
431
433
  }
432
- return d;
434
+ return r;
433
435
  }
434
436
  createSingleWaveFrom() {
435
- var n, d, h;
437
+ var n, r, l;
436
438
  (n = this.singleWaveFromGroup) == null || n.removeAll();
437
439
  let e = this.getRednerSinglePoints(), t = O(this.slidingWindowInfo.points || 0, this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate || 0);
438
440
  const i = t;
439
441
  let s = 0, a = 0, o = 0;
440
- for (let l = 0; l < e.length && !(e[l].pos[1] > this.drawArea.height + this.bottomAreaHeight); l++)
441
- this.isLeadDel(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx) || (s = parseInt(`${t / 1e3 / 60}`, 10), a = parseInt(`${t / 1e3 % 60}`, 10), s = a === 60 ? s += 1 : s, s = s === 0 ? "00" : s < 10 ? `0${s}` : s, a = a === 0 || a === 60 ? "00" : a < 10 ? `0${a}` : a, (d = this.singleWaveFromGroup) == null || d.add(new R({
442
+ for (let d = 0; d < e.length && !(e[d].pos[1] > this.drawArea.height + this.bottomAreaHeight); d++)
443
+ this.isLeadDel(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx) || (s = parseInt(`${t / 1e3 / 60}`, 10), a = parseInt(`${t / 1e3 % 60}`, 10), s = a === 60 ? s += 1 : s, s = s === 0 ? "00" : s < 10 ? `0${s}` : s, a = a === 0 || a === 60 ? "00" : a < 10 ? `0${a}` : a, (r = this.singleWaveFromGroup) == null || r.add(new R({
442
444
  cursor: "",
443
- name: this.singleModeConfig.defaultSelect + "_" + l,
445
+ name: this.singleModeConfig.defaultSelect + "_" + d,
444
446
  shape: {
445
- points: e[l].data.map(([r, f], v) => isNaN(f) ? (o === 0 && (o = v - 1, o = o < 0 ? 0 : o), [
446
- e[l].data[o][0] + e[l].pos[0],
447
- e[l].data[o][1] + e[l].pos[1]
447
+ points: e[d].data.map(([h, p], v) => isNaN(p) ? (o === 0 && (o = v - 1, o = o < 0 ? 0 : o), [
448
+ e[d].data[o][0] + e[d].pos[0],
449
+ e[d].data[o][1] + e[d].pos[1]
448
450
  ]) : (o = 0, [
449
- r + e[l].pos[0],
450
- f + e[l].pos[1]
451
+ h + e[d].pos[0],
452
+ p + e[d].pos[1]
451
453
  ]))
452
454
  },
453
455
  style: {
454
456
  stroke: this.leadConfig.lineColor,
455
457
  lineWidth: this.leadConfig.lineWidth
456
458
  },
457
- onclick: (r) => {
458
- this.onDbClickWaveFrom(r, "single");
459
+ onclick: (h) => {
460
+ this.onDbClickWaveFrom(h, "single");
459
461
  },
460
- oncontextmenu: (r) => {
461
- this.onContextmenu(r, "single");
462
+ oncontextmenu: (h) => {
463
+ this.onContextmenu(h, "single");
462
464
  }
463
- })), t / 1e3 < this.dataTotalTimes && ((h = this.singleWaveFromGroup) == null || h.add(new W({
465
+ })), t / 1e3 < this.dataTotalTimes && ((l = this.singleWaveFromGroup) == null || l.add(new W({
464
466
  cursor: "",
465
467
  style: {
466
- x: e[l].pos[0],
467
- y: e[l].pos[1] - (e[l].sens || 0) / 2,
468
- text: l === 0 ? "00:00 \u5FC3\u7387" : `${s}:${a} \u5FC3\u7387`,
468
+ x: e[d].pos[0],
469
+ y: e[d].pos[1] - (e[d].sens || 0) / 2,
470
+ text: d === 0 ? "00:00 \u5FC3\u7387" : `${s}:${a} \u5FC3\u7387`,
469
471
  fontWeight: "bold",
470
472
  fontSize: 14,
471
473
  fill: "#FF0080",
472
474
  fontFamily: this.fontFamily
473
475
  }
474
- }))), l > 0 && (t += i)), this.createLeadName(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx, e[0].pos[0] - 10, e[0].pos[1] + 10), this.createLeadOffAndDel(
476
+ }))), d > 0 && (t += i)), this.createLeadName(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx, e[0].pos[0] - 10, e[0].pos[1] + 10), this.createLeadOffAndDel(
475
477
  this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx,
476
478
  e[0].pos[0] - 5,
477
- e[0].pos[1] - (e[l].sens || 0) / 2 - 15
479
+ e[0].pos[1] - (e[d].sens || 0) / 2 - 15
478
480
  );
479
481
  this.singleWaveDataCopy = e, e = null;
480
482
  }
481
483
  drawLoopArrow(e = 0) {
482
- var r, f, v, A, F, b, D, B, P, I, m, g;
484
+ var h, p, v, A, F, b, D, B, P, I, m, g;
483
485
  if (this.drawLoopArrowStartPosIdx = e, !this.heartFight.isShow)
484
486
  return;
485
487
  this.heartFight.mode && this.currentHeardBeat.heardBeat === null && (this.currentHeardBeat.heardBeat = this.heartBeatPosition[this.heartFight.showIdxPai][this.heartFight.defaultSelect] || null, this.drawHeardBeatLine());
486
488
  let t = 0, i = 0;
487
489
  if (this.leadModel.add) {
488
- const C = x(this.waveConfigs[this.longLeadConfig.leadIdxs[0]].gain, this.gridConfig.cellMg);
490
+ const C = H(this.waveConfigs[this.longLeadConfig.leadIdxs[0]].gain, this.gridConfig.cellMg);
489
491
  i = this.loopArrowY.add - (C || 0) - this.splitBlockHeight / 3.5;
490
492
  } else
491
493
  i = 20;
@@ -495,19 +497,19 @@ let u = class extends q {
495
497
  fill: "red",
496
498
  fontFamily: this.fontFamily
497
499
  };
498
- let n = 0, d = 0;
499
- const h = M(
500
+ let n = 0, r = 0;
501
+ const l = M(
500
502
  this.waveConfigs[this.heartFight.showIdxPai].speed,
501
503
  this.gridConfig.cellMg,
502
504
  this.waveConfigs[this.heartFight.showIdxPai].sampleRate
503
505
  );
504
- let l = 0;
506
+ let d = 0;
505
507
  for (let C = 0; C < (this.heartBeatPosition[this.heartFight.showIdxPai] || []).length; C++) {
506
- const p = this.heartBeatPosition[this.heartFight.showIdxPai][C];
507
- if (l = ((p == null ? void 0 : p.position) || 0) - e, !(e > ((p == null ? void 0 : p.position) || 0)) && !(!this.leadModel.isContinuous && !this.leadModel.add && l > (this.slidingWindowInfo.points || 0)) && !(this.leadModel.isSingleMode && l > (this.slidingWindowInfo.points || 0))) {
508
- if (((p == null ? void 0 : p.position) || 0) - this.addSlidingWindowInfo.startInd > (this.addSlidingWindowInfo.points || 0))
508
+ const f = this.heartBeatPosition[this.heartFight.showIdxPai][C];
509
+ if (d = ((f == null ? void 0 : f.position) || 0) - e, !(e > ((f == null ? void 0 : f.position) || 0)) && !(!this.leadModel.isContinuous && !this.leadModel.add && d > (this.slidingWindowInfo.points || 0)) && !(this.leadModel.isSingleMode && d > (this.slidingWindowInfo.points || 0))) {
510
+ if (((f == null ? void 0 : f.position) || 0) - this.addSlidingWindowInfo.startInd > (this.addSlidingWindowInfo.points || 0))
509
511
  break;
510
- t = l * (h || 0) + this.leadHeadConfig.leadHedeWidth - 8.5, a = 0, (v = this.arrowGroup) == null || v.add(new ae({
512
+ t = d * (l || 0) + this.leadHeadConfig.leadHedeWidth - 8.5, a = 0, (v = this.arrowGroup) == null || v.add(new ae({
511
513
  name: "arrow_box",
512
514
  shape: {
513
515
  points: [
@@ -522,7 +524,7 @@ let u = class extends q {
522
524
  ]
523
525
  },
524
526
  style: {
525
- fill: ((f = (r = this.currentHeardBeat) == null ? void 0 : r.heardBeat) == null ? void 0 : f.index) === (p == null ? void 0 : p.index) ? "blue" : "#ccc"
527
+ fill: ((p = (h = this.currentHeardBeat) == null ? void 0 : h.heardBeat) == null ? void 0 : p.index) === (f == null ? void 0 : f.index) ? "blue" : "#ccc"
526
528
  },
527
529
  onclick: (N) => {
528
530
  var j;
@@ -532,40 +534,40 @@ let u = class extends q {
532
534
  G.id !== N.target.id && G.attr({
533
535
  style: { fill: "#ccc" }
534
536
  });
535
- }), this.arrowLoopClick(p, N.target));
537
+ }), this.arrowLoopClick(f, N.target));
536
538
  }
537
- })), this.heartFight.heartrate && (n = p == null ? void 0 : p.heartrate, this.heartFight.isHeartRateCalculatedBasedOnInterval && C !== 0 && (d = te(
538
- Math.abs((p == null ? void 0 : p.position) * (h || 0) - this.heartBeatPosition[this.heartFight.showIdxPai][C - 1].position * (h || 0)),
539
+ })), this.heartFight.heartrate && (n = f == null ? void 0 : f.heartrate, this.heartFight.isHeartRateCalculatedBasedOnInterval && C !== 0 && (r = te(
540
+ Math.abs((f == null ? void 0 : f.position) * (l || 0) - this.heartBeatPosition[this.heartFight.showIdxPai][C - 1].position * (l || 0)),
539
541
  this.waveConfigs[this.heartFight.showIdxPai].speed,
540
542
  this.gridConfig.cellMg,
541
543
  1
542
- ), n = d !== 0 && ie(d) || 0), s = ((A = this.AssistCtx) == null ? void 0 : A.measureText(`${n || ""}`).width) || 0, (F = this.arrowGroup) == null || F.add(new W({
544
+ ), n = r !== 0 && ie(r) || 0), s = ((A = this.AssistCtx) == null ? void 0 : A.measureText(`${n || ""}`).width) || 0, (F = this.arrowGroup) == null || F.add(new W({
543
545
  cursor: "",
544
546
  style: S({
545
547
  x: 4 + t - s * 1.4,
546
548
  y: a + i,
547
549
  text: `${n || ""}`
548
550
  }, o)
549
- })), a += 12), this.heartFight.interval && (s = ((b = this.AssistCtx) == null ? void 0 : b.measureText(`${(p == null ? void 0 : p.interval) || ""}`).width) || 0, (D = this.arrowGroup) == null || D.add(new W({
551
+ })), a += 12), this.heartFight.interval && (s = ((b = this.AssistCtx) == null ? void 0 : b.measureText(`${(f == null ? void 0 : f.interval) || ""}`).width) || 0, (D = this.arrowGroup) == null || D.add(new W({
550
552
  cursor: "",
551
553
  style: S({
552
554
  x: 4 + t - s * 1.5,
553
555
  y: a + i,
554
- text: `${(p == null ? void 0 : p.interval) || ""}`
556
+ text: `${(f == null ? void 0 : f.interval) || ""}`
555
557
  }, o)
556
- })), a += 12), this.heartFight.qrstCompany && (s = ((B = this.AssistCtx) == null ? void 0 : B.measureText(`${(p == null ? void 0 : p.qrstCompany) || ""}`).width) || 0, (P = this.arrowGroup) == null || P.add(new W({
558
+ })), a += 12), this.heartFight.qrstCompany && (s = ((B = this.AssistCtx) == null ? void 0 : B.measureText(`${(f == null ? void 0 : f.qrstCompany) || ""}`).width) || 0, (P = this.arrowGroup) == null || P.add(new W({
557
559
  cursor: "",
558
560
  style: S({
559
561
  x: 4 + t - s * 1.5,
560
562
  y: a + i,
561
- text: `${(p == null ? void 0 : p.qrstCompany) || ""}`
563
+ text: `${(f == null ? void 0 : f.qrstCompany) || ""}`
562
564
  }, o)
563
- })), a += 12), this.heartFight.telectricalaxis && (s = ((I = this.AssistCtx) == null ? void 0 : I.measureText(`${(p == null ? void 0 : p.telectricalaxis) || ""}`).width) || 0, (m = this.arrowGroup) == null || m.add(new W({
565
+ })), a += 12), this.heartFight.telectricalaxis && (s = ((I = this.AssistCtx) == null ? void 0 : I.measureText(`${(f == null ? void 0 : f.telectricalaxis) || ""}`).width) || 0, (m = this.arrowGroup) == null || m.add(new W({
564
566
  cursor: "",
565
567
  style: S({
566
568
  x: 4 + t - s * 1.5,
567
569
  y: a + i,
568
- text: `${(p == null ? void 0 : p.telectricalaxis) || ""}`
570
+ text: `${(f == null ? void 0 : f.telectricalaxis) || ""}`
569
571
  }, o)
570
572
  })));
571
573
  }
@@ -576,7 +578,7 @@ let u = class extends q {
576
578
  this.$emit("notifyHeardBeat", oe.clone(e)), this.currentHeardBeat.heardBeat = e, this.currentHeardBeat.ele = t, this.drawHeardBeatLine();
577
579
  }
578
580
  drawHeardBeatLine(e = 0) {
579
- var a, o, n, d, h, l, r, f, v, A, F, b, D, B, P;
581
+ var a, o, n, r, l, d, h, p, v, A, F, b, D, B, P;
580
582
  if (!this.currentHeardBeat.heardBeat)
581
583
  return;
582
584
  (a = this.heardBeatLineGroup) == null || a.removeAll(), (o = this.sceneIns) == null || o.remove(this.heardBeatLineGroup);
@@ -588,15 +590,15 @@ let u = class extends q {
588
590
  if (m >= 1 || this.leadNames[this.singleModeConfig.defaultSelect] === "M")
589
591
  break e;
590
592
  if ((n = this.analyseValues[this.singleModeConfig.defaultSelect]) != null && n[this.currentHeardBeat.heardBeat.index])
591
- t = ((l = (h = this.analyseValues[this.singleModeConfig.defaultSelect]) == null ? void 0 : h[this.currentHeardBeat.heardBeat.index]) == null ? void 0 : l.KeyPosByBeat) || t;
593
+ t = ((d = (l = this.analyseValues[this.singleModeConfig.defaultSelect]) == null ? void 0 : l[this.currentHeardBeat.heardBeat.index]) == null ? void 0 : d.KeyPosByBeat) || t;
592
594
  else {
593
595
  let g = this.analyseValues.find((C) => {
594
- var p;
595
- return (p = C[this.currentHeardBeat.heardBeat.index]) == null ? void 0 : p.KeyPosByBeat;
596
+ var f;
597
+ return (f = C[this.currentHeardBeat.heardBeat.index]) == null ? void 0 : f.KeyPosByBeat;
596
598
  });
597
599
  if (!g)
598
600
  break e;
599
- g && (t = (d = g[this.currentHeardBeat.heardBeat.index]) == null ? void 0 : d.KeyPosByBeat), g = null;
601
+ g && (t = (r = g[this.currentHeardBeat.heardBeat.index]) == null ? void 0 : r.KeyPosByBeat), g = null;
600
602
  }
601
603
  for (const g in t)
602
604
  if (this.heardBeatLineKeys.includes(g)) {
@@ -604,7 +606,7 @@ let u = class extends q {
604
606
  continue;
605
607
  if (!this.leadModel.isContinuous && t[g] - this.slidingWindowInfo.startInd > (this.slidingWindowInfo.points || 0))
606
608
  break e;
607
- s = I[m], (r = this.heardBeatLineGroup) == null || r.add(this.createHeardBeatLine(s.pos[0] + i, s.pos[1], this.singleModeConfig.defaultSelect + "_" + m, "single"));
609
+ s = I[m], (h = this.heardBeatLineGroup) == null || h.add(this.createHeardBeatLine(s.pos[0] + i, s.pos[1], this.singleModeConfig.defaultSelect + "_" + m, "single"));
608
610
  }
609
611
  }
610
612
  I = null;
@@ -612,7 +614,7 @@ let u = class extends q {
612
614
  let I = this.getRednerPoints(), m = this.getAddRednerPoints();
613
615
  e:
614
616
  for (let g = 0; g < I.length; g++) {
615
- t = ((v = (f = this.analyseValues[g]) == null ? void 0 : f[this.currentHeardBeat.heardBeat.index]) == null ? void 0 : v.KeyPosByBeat) || t;
617
+ t = ((v = (p = this.analyseValues[g]) == null ? void 0 : p[this.currentHeardBeat.heardBeat.index]) == null ? void 0 : v.KeyPosByBeat) || t;
616
618
  for (const C in t)
617
619
  if (this.heardBeatLineKeys.includes(C) && Object.prototype.hasOwnProperty.call(t, C)) {
618
620
  if (i = (t[C] - this.slidingWindowInfo.startInd) * (I[g].step || 0), this.isLeadOff(g) || this.isLeadDel(g))
@@ -665,62 +667,63 @@ let u = class extends q {
665
667
  getAddRednerPoints() {
666
668
  const e = [];
667
669
  let t = this.leadHeadConfig.leadHedeWidth, i = 0, s = 0, a = [], o = 0, n = 0;
668
- for (let d = 0; d < this.leadModel.add; d++)
669
- s = this.longLeadConfig.leadIdxs[d], this.waveConfigs[s] && (t = this.waveConfigs[s].addPosX || t, o = M(this.waveConfigs[s].speed, this.gridConfig.cellMg, this.waveConfigs[s].sampleRate), n = x(this.waveConfigs[s].gain, this.gridConfig.cellMg), i = this.waveConfigs[s].addPosY || (d + this.leadModel.line + 1) * this.splitBlockHeight, a = this.waveLists[s] || [], d === 0 && (this.loopArrowY.add = i), e.push({
670
+ for (let r = 0; r < this.leadModel.add; r++)
671
+ s = this.longLeadConfig.leadIdxs[r], this.waveConfigs[s] && (t = this.waveConfigs[s].addPosX || t, o = M(this.waveConfigs[s].speed, this.gridConfig.cellMg, this.waveConfigs[s].sampleRate), n = H(this.waveConfigs[s].gain, this.gridConfig.cellMg), i = this.waveConfigs[s].addPosY || (r + this.leadModel.line + 1) * this.splitBlockHeight, a = this.waveLists[s] || [], r === 0 && (this.loopArrowY.add = i), e.push({
670
672
  pos: [t, i],
671
673
  startInd: this.addSlidingWindowInfo.startInd || 0,
672
674
  endInd: this.addSlidingWindowInfo.endInd || 0,
673
- data: a.slice(this.addSlidingWindowInfo.startInd, this.addSlidingWindowInfo.endInd).map((h, l) => this.waveConfigs[s].leadName === "\u80F8\u5BFC\u51CF\u534A" && /^V\w+/.test(this.waveConfigs[s].leadName) ? L(this.waveConfigs[s].sensitivity, h, n / 2) : L(this.waveConfigs[s].sensitivity, h, n)).map((h, l) => [l * (o || 0), -h]),
675
+ data: a.slice(this.addSlidingWindowInfo.startInd, this.addSlidingWindowInfo.endInd).map((l, d) => this.waveConfigs[s].gainName === "\u80F8\u5BFC\u51CF\u534A" && /^V\w+/.test(this.waveConfigs[s].leadName) ? L(this.waveConfigs[s].sensitivity, l, n / 2) : L(this.waveConfigs[s].sensitivity, l, n)).map((l, d) => [d * (o || 0), -l]),
674
676
  sens: n,
675
677
  step: o
676
678
  }));
677
679
  return e;
678
680
  }
679
681
  createAddWaveFrom() {
680
- var i;
682
+ var i, s;
683
+ (i = this.addwaveFromGroup) == null || i.removeAll();
681
684
  let e = this.getAddRednerPoints(), t = 0;
682
- for (let s = 0; s < e.length; s++)
683
- this.isLeadDel(this.longLeadConfig.leadIdxs[s]) || ((i = this.addwaveFromGroup) == null || i.add(new R({
685
+ for (let a = 0; a < e.length; a++)
686
+ this.isLeadDel(this.longLeadConfig.leadIdxs[a]) || ((s = this.addwaveFromGroup) == null || s.add(new R({
684
687
  cursor: "",
685
- name: this.longLeadConfig.leadIdxs[s] + "_" + s,
688
+ name: this.longLeadConfig.leadIdxs[a] + "_" + a,
686
689
  shape: {
687
- points: e[s].data.map(([a, o], n) => isNaN(o) ? (t === 0 && (t = n - 1, t = t < 0 ? 0 : t), [
688
- e[s].data[t][0] + e[s].pos[0],
689
- e[s].data[t][1] + e[s].pos[1]
690
+ points: e[a].data.map(([o, n], r) => isNaN(n) ? (t === 0 && (t = r - 1, t = t < 0 ? 0 : t), [
691
+ e[a].data[t][0] + e[a].pos[0],
692
+ e[a].data[t][1] + e[a].pos[1]
690
693
  ]) : (t = 0, [
691
- a + e[s].pos[0],
692
- o + e[s].pos[1]
694
+ o + e[a].pos[0],
695
+ n + e[a].pos[1]
693
696
  ]))
694
697
  },
695
698
  style: {
696
699
  stroke: this.leadConfig.lineColor,
697
700
  lineWidth: this.leadConfig.lineWidth
698
701
  },
699
- onclick: (a) => {
700
- this.onDbClickWaveFrom(a, "add");
702
+ onclick: (o) => {
703
+ this.onDbClickWaveFrom(o, "add");
701
704
  },
702
- oncontextmenu: (a) => {
703
- this.onContextmenu(a, "add");
705
+ oncontextmenu: (o) => {
706
+ this.onContextmenu(o, "add");
704
707
  }
705
- })), this.createLeadName(this.longLeadConfig.leadNames[s], e[s].pos[0], e[s].pos[1] - 15, !0), this.createLeadOffAndDel(this.longLeadConfig.leadIdxs[s], e[s].pos[0] - 5, e[s].pos[1] - (e[s].sens || 0) / 2 - 15));
708
+ })), this.createLeadName(this.longLeadConfig.leadNames[a], e[a].pos[0], e[a].pos[1] - 15, !0), this.createLeadOffAndDel(this.longLeadConfig.leadIdxs[a], e[a].pos[0] - 5, e[a].pos[1] - (e[a].sens || 0) / 2 - 15));
706
709
  this.addWaveDataCopy = e, e = null;
707
710
  }
708
711
  getRednerPoints() {
709
- let e = 0, t = 0, i = 0, s = [], a = 0, o = 0, n = this.slidingWindowInfo.startInd || 0, d = this.slidingWindowInfo.endInd || 0;
710
- const h = [];
711
- for (let l = 0; l < this.leadModel.column; l++) {
712
- e = l * this.splitPoint + this.leadHeadConfig.leadHedeWidth, t = 0, this.leadModel.isContinuous && l > 0 && (n = d, d = n + (this.slidingWindowInfo.points || 0));
713
- for (let r = 1; r <= this.leadModel.line && (t = r * this.splitBlockHeight, !(i > (this.waveLists || []).length - 1)); r++)
714
- e = this.waveConfigs[i].posX || e, t = this.waveConfigs[i].posY || t, a = M(this.waveConfigs[i].speed, this.gridConfig.cellMg, this.waveConfigs[i].sampleRate), o = x(this.waveConfigs[i].gain, this.gridConfig.cellMg), s = this.waveLists[i] || [], this.waveConfigs[i] && (r === 1 && (this.loopArrowY.rowAndCol = t), h.push({
712
+ let e = 0, t = 0, i = 0, s = [], a = 0, o = 0, n = this.slidingWindowInfo.startInd || 0, r = this.slidingWindowInfo.endInd || 0;
713
+ const l = [];
714
+ for (let d = 0; d < this.leadModel.column; d++) {
715
+ e = d * this.splitPoint + this.leadHeadConfig.leadHedeWidth, t = 0, this.leadModel.isContinuous && d > 0 && (n = r, r = n + (this.slidingWindowInfo.points || 0));
716
+ for (let h = 1; h <= this.leadModel.line && (t = h * this.splitBlockHeight, !(i > (this.waveLists || []).length - 1)); h++)
717
+ e = this.waveConfigs[i].posX || e, t = this.waveConfigs[i].posY || t, a = M(this.waveConfigs[i].speed, this.gridConfig.cellMg, this.waveConfigs[i].sampleRate), o = H(this.waveConfigs[i].gain, this.gridConfig.cellMg), s = this.waveLists[i] || [], this.waveConfigs[i] && (h === 1 && (this.loopArrowY.rowAndCol = t), l.push({
715
718
  pos: [e, t],
716
719
  startInd: n,
717
- endInd: d,
720
+ endInd: r,
718
721
  sens: o,
719
722
  step: a,
720
- data: s.slice(n, d).map((f, v) => this.waveConfigs[i].leadName === "\u80F8\u5BFC\u51CF\u534A" && /^V\w+/.test(this.waveConfigs[i].leadName) ? L(this.waveConfigs[i].sensitivity, f, o / 2) : L(this.waveConfigs[i].sensitivity, f, o)).map((f, v) => [v * (a || 0), -f])
723
+ data: s.slice(n, r).map((p, v) => this.waveConfigs[i].gainName === "\u80F8\u5BFC\u51CF\u534A" && /^V\w+/.test(this.waveConfigs[i].leadName) ? L(this.waveConfigs[i].sensitivity, p, o / 2) : L(this.waveConfigs[i].sensitivity, p, o)).map((p, v) => [v * (a || 0), -p])
721
724
  }), i++);
722
725
  }
723
- return h;
726
+ return l;
724
727
  }
725
728
  createRowAndColWaveFrom() {
726
729
  var s, a;
@@ -731,12 +734,12 @@ let u = class extends q {
731
734
  cursor: "",
732
735
  name: o + "_" + o,
733
736
  shape: {
734
- points: e[o].data.map(([n, d], h) => isNaN(d) ? (i === 0 && (i = h - 1, i = i < 0 ? 0 : i), [
737
+ points: e[o].data.map(([n, r], l) => isNaN(r) ? (i === 0 && (i = l - 1, i = i < 0 ? 0 : i), [
735
738
  e[o].data[i][0] + e[o].pos[0],
736
739
  e[o].data[i][1] + e[o].pos[1]
737
740
  ]) : (i = 0, [
738
741
  n + e[o].pos[0],
739
- d + e[o].pos[1]
742
+ r + e[o].pos[1]
740
743
  ]))
741
744
  },
742
745
  style: {
@@ -802,10 +805,10 @@ let u = class extends q {
802
805
  onContextmenu(e, t) {
803
806
  e.event.preventDefault(), e.event.stopPropagation(), console.log("onContextmenu", e);
804
807
  const i = e.target.name.split("_"), s = +i[1];
805
- let a = 0, o = 0, n = 0, d = 0, h = 0;
806
- t === "single" ? (a = e.offsetX - this.singleWaveDataCopy[s].pos[0], o = this.singleWaveDataCopy[s].startInd, n = H(a, this.singleWaveDataCopy[s].step || 1), d = this.singleWaveDataCopy[s].sens, h = this.singleWaveDataCopy[s].step) : t === "rowAndCol" ? (a = e.offsetX - this.waveDataCopy[s].pos[0], o = this.waveDataCopy[s].startInd || 0, n = H(a, this.waveDataCopy[s].step || 1), d = this.waveDataCopy[s].sens, h = this.waveDataCopy[s].step) : t === "add" && (a = e.offsetX - this.addWaveDataCopy[s].pos[0], o = this.addWaveDataCopy[s].startInd || 0, n = H(a, this.addWaveDataCopy[s].step || 1), d = this.addWaveDataCopy[s].sens, h = this.addWaveDataCopy[s].step), n += o, this.$emit("notifyOnContextmenu", {
807
- sens: d,
808
- step: h,
808
+ let a = 0, o = 0, n = 0, r = 0, l = 0;
809
+ t === "single" ? (a = e.offsetX - this.singleWaveDataCopy[s].pos[0], o = this.singleWaveDataCopy[s].startInd, n = x(a, this.singleWaveDataCopy[s].step || 1), r = this.singleWaveDataCopy[s].sens, l = this.singleWaveDataCopy[s].step) : t === "rowAndCol" ? (a = e.offsetX - this.waveDataCopy[s].pos[0], o = this.waveDataCopy[s].startInd || 0, n = x(a, this.waveDataCopy[s].step || 1), r = this.waveDataCopy[s].sens, l = this.waveDataCopy[s].step) : t === "add" && (a = e.offsetX - this.addWaveDataCopy[s].pos[0], o = this.addWaveDataCopy[s].startInd || 0, n = x(a, this.addWaveDataCopy[s].step || 1), r = this.addWaveDataCopy[s].sens, l = this.addWaveDataCopy[s].step), n += o, this.$emit("notifyOnContextmenu", {
810
+ sens: r,
811
+ step: l,
809
812
  activeLeadIdx: +i[0],
810
813
  pointIdx: n,
811
814
  offsetX: e.offsetX,
@@ -820,12 +823,12 @@ let u = class extends q {
820
823
  const a = e.target.name.split("_");
821
824
  this.activeLeadIdx = +a[0];
822
825
  const o = +a[1];
823
- let n = 0, d = 0, h = 0, l = 0, r = 0;
824
- t === "single" ? (n = e.offsetX - this.singleWaveDataCopy[o].pos[0], d = this.singleWaveDataCopy[o].startInd, h = H(n, this.singleWaveDataCopy[o].step || 1), l = this.singleWaveDataCopy[o].sens, r = this.singleWaveDataCopy[o].step) : t === "rowAndCol" ? (n = e.offsetX - this.waveDataCopy[o].pos[0], d = this.waveDataCopy[o].startInd || 0, h = H(n, this.waveDataCopy[o].step || 1), l = this.waveDataCopy[o].sens, r = this.waveDataCopy[o].step) : t === "add" && (n = e.offsetX - this.addWaveDataCopy[o].pos[0], d = this.addWaveDataCopy[o].startInd || 0, h = H(n, this.addWaveDataCopy[o].step || 1), l = this.addWaveDataCopy[o].sens, r = this.addWaveDataCopy[o].step), h += d, this.$emit("notifyActiveEnlargr", {
825
- sens: l,
826
- step: r,
826
+ let n = 0, r = 0, l = 0, d = 0, h = 0;
827
+ t === "single" ? (n = e.offsetX - this.singleWaveDataCopy[o].pos[0], r = this.singleWaveDataCopy[o].startInd, l = x(n, this.singleWaveDataCopy[o].step || 1), d = this.singleWaveDataCopy[o].sens, h = this.singleWaveDataCopy[o].step) : t === "rowAndCol" ? (n = e.offsetX - this.waveDataCopy[o].pos[0], r = this.waveDataCopy[o].startInd || 0, l = x(n, this.waveDataCopy[o].step || 1), d = this.waveDataCopy[o].sens, h = this.waveDataCopy[o].step) : t === "add" && (n = e.offsetX - this.addWaveDataCopy[o].pos[0], r = this.addWaveDataCopy[o].startInd || 0, l = x(n, this.addWaveDataCopy[o].step || 1), d = this.addWaveDataCopy[o].sens, h = this.addWaveDataCopy[o].step), l += r, this.$emit("notifyActiveEnlargr", {
828
+ sens: d,
829
+ step: h,
827
830
  activeLeadIdx: this.activeLeadIdx,
828
- pointIdx: h
831
+ pointIdx: l
829
832
  });
830
833
  };
831
834
  i - this.dbClickWaveFromTime < 400 ? (this.dbClickWaveFromTime = 0, s()) : this.dbClickWaveFromTime = i;
@@ -837,7 +840,7 @@ let u = class extends q {
837
840
  t.type === "horizontal" && (t.scrollLeft = t.scrollLeft || 0, this.scrollCommon(t.scrollLeft));
838
841
  }
839
842
  scrollCommon(e) {
840
- const t = H(e, this.publicStep || 1);
843
+ const t = x(e, this.publicStep || 1);
841
844
  this.scrollWaveFrom(t), this.scrollRuler(t), this.scrollArrow(t), this.$emit("notifyScrollPointIdx", {
842
845
  slidIdxs: t,
843
846
  scrollLeft: e
@@ -850,18 +853,18 @@ let u = class extends q {
850
853
  this.waveDataCopy = t, this.addWaveDataCopy = i, (s = this.rowAndColwaveFromGroup) == null || s.eachChild((o, n) => {
851
854
  n = n || 0, !(!t[n] || !t[n].data) && o.attr({
852
855
  shape: {
853
- points: t[n].data.map(([d, h]) => [
854
- d + t[n].pos[0],
855
- h + t[n].pos[1]
856
+ points: t[n].data.map(([r, l]) => [
857
+ r + t[n].pos[0],
858
+ l + t[n].pos[1]
856
859
  ])
857
860
  }
858
861
  });
859
862
  }), (a = this.addwaveFromGroup) == null || a.eachChild((o, n) => {
860
863
  n = n || 0, !(!i[n] || !i[n].data) && o.attr({
861
864
  shape: {
862
- points: i[n].data.map(([d, h]) => [
863
- d + i[n].pos[0],
864
- h + i[n].pos[1]
865
+ points: i[n].data.map(([r, l]) => [
866
+ r + i[n].pos[0],
867
+ l + i[n].pos[1]
865
868
  ])
866
869
  }
867
870
  });
@@ -14,7 +14,7 @@ declare class CommonWaveForm extends CommonWaveForm_base {
14
14
  protected watchLongLeadConfig(): void;
15
15
  protected watchPosStart(): void;
16
16
  protected destroyed(): void;
17
- protected repaint(): void;
17
+ protected repaint(isInitConfigInfo?: boolean): void;
18
18
  created(): void;
19
19
  mounted(): void;
20
20
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("./style/index.css");require("vue");const u=require("../../node_modules/.pnpm/vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-class-component/dist/vue-class-component.esm.js");require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Emit.js");const a=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Watch.js"),l=require("../../node_modules/.pnpm/vuescroll@4.17.5_vue@2.7.16/node_modules/vuescroll/dist/vuescroll-native.js"),c=require("../MeasuringRuler/index2.js"),h=require("../MagnifierWave/index.js"),p=require("../ParallelRuler/index2.js"),f=require("../BackgroundGrid/index2.js"),m=require("./method.js");var v=Object.defineProperty,g=Object.getOwnPropertyDescriptor,e=(t,o,s,i)=>{for(var r=i>1?void 0:i?g(o,s):o,n=t.length-1,d;n>=0;n--)(d=t[n])&&(r=(i?d(o,s,r):d(r))||r);return i&&r&&v(o,s,r),r};exports.default=class extends u.mixins(m.default){constructor(){super(...arguments),this.repaintTimer=Object.freeze(null)}watchVuescrollConfig(){this.repaint()}watchAnalyseValues(){this.repaint()}watchsingleModeConfig(){this.repaint()}watchWaveConfigs(){this.repaint()}watchWaveLists(){this.repaint()}watchLeadHeadConfig(){var t,o;(t=this.leadHeadGroup)==null||t.removeAll(),(o=this.sceneIns)==null||o.remove(this.leadHeadGroup),this.drawLeadHead()}watchLeadModel(){this.repaint()}watchWidth(){this.repaint()}watchHeight(){this.repaint()}watchLongLeadConfig(){var t;(t=this.sceneIns)==null||t.clear(),this.init()}watchPosStart(){this.registPostStart()}destroyed(){this.repaintTimer&&clearTimeout(this.repaintTimer)}repaint(){this.repaintTimer&&clearTimeout(this.repaintTimer),this.repaintTimer=setTimeout(()=>{var t,o;(t=this.sceneIns)==null||t.clear(),(o=this.sceneIns)==null||o.resize({width:this.canvasContainer.width,height:this.canvasContainer.height}),this.initCreatedConfig(),this.combinationDrawing()},200)}created(){this.initCreatedConfig()}mounted(){this.init()}};e([a.Watch("vuescrollConfig",{deep:!0})],exports.default.prototype,"watchVuescrollConfig",1);e([a.Watch("analyseValues",{deep:!0})],exports.default.prototype,"watchAnalyseValues",1);e([a.Watch("singleModeConfig",{deep:!0})],exports.default.prototype,"watchsingleModeConfig",1);e([a.Watch("waveConfigs",{deep:!0})],exports.default.prototype,"watchWaveConfigs",1);e([a.Watch("waveLists",{deep:!0})],exports.default.prototype,"watchWaveLists",1);e([a.Watch("leadHeadConfig",{deep:!0})],exports.default.prototype,"watchLeadHeadConfig",1);e([a.Watch("leadModel",{deep:!0})],exports.default.prototype,"watchLeadModel",1);e([a.Watch("width")],exports.default.prototype,"watchWidth",1);e([a.Watch("height")],exports.default.prototype,"watchHeight",1);e([a.Watch("longLeadConfig",{deep:!0})],exports.default.prototype,"watchLongLeadConfig",1);e([a.Watch("posStart")],exports.default.prototype,"watchPosStart",1);exports.default=e([u.default({name:"CommonWaveForm",components:{vueScroll:l.default,MXBackgroundGrid:f.default,MXMeasuringRuler:c.default,MXParallelRuler:p.default,MXMagnifierWave:h.default}})],exports.default);
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("./style/index.css");require("vue");const u=require("../../node_modules/.pnpm/vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-class-component/dist/vue-class-component.esm.js");require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Emit.js");const a=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Watch.js"),l=require("../../node_modules/.pnpm/vuescroll@4.17.5_vue@2.7.16/node_modules/vuescroll/dist/vuescroll-native.js"),c=require("../MeasuringRuler/index2.js"),h=require("../MagnifierWave/index.js"),p=require("../ParallelRuler/index2.js"),f=require("../BackgroundGrid/index2.js"),m=require("./method.js");var v=Object.defineProperty,g=Object.getOwnPropertyDescriptor,e=(t,r,i,s)=>{for(var o=s>1?void 0:s?g(r,i):r,n=t.length-1,d;n>=0;n--)(d=t[n])&&(o=(s?d(r,i,o):d(o))||o);return s&&o&&v(r,i,o),o};exports.default=class extends u.mixins(m.default){constructor(){super(...arguments),this.repaintTimer=Object.freeze(null)}watchVuescrollConfig(){this.repaint()}watchAnalyseValues(){this.repaint()}watchsingleModeConfig(){this.repaint()}watchWaveConfigs(){this.repaint()}watchWaveLists(){this.repaint(!1)}watchLeadHeadConfig(){var t,r;(t=this.leadHeadGroup)==null||t.removeAll(),(r=this.sceneIns)==null||r.remove(this.leadHeadGroup),this.drawLeadHead()}watchLeadModel(){this.repaint()}watchWidth(){this.repaint()}watchHeight(){this.repaint()}watchLongLeadConfig(){var t;(t=this.sceneIns)==null||t.clear(),this.init()}watchPosStart(){this.registPostStart()}destroyed(){this.repaintTimer&&clearTimeout(this.repaintTimer)}repaint(t=!0){this.repaintTimer&&clearTimeout(this.repaintTimer),this.repaintTimer=setTimeout(()=>{var r,i;t&&((r=this.sceneIns)==null||r.clear(),(i=this.sceneIns)==null||i.resize({width:this.canvasContainer.width,height:this.canvasContainer.height}),this.initCreatedConfig()),this.combinationDrawing(t)},200)}created(){this.initCreatedConfig()}mounted(){this.init()}};e([a.Watch("vuescrollConfig",{deep:!0})],exports.default.prototype,"watchVuescrollConfig",1);e([a.Watch("analyseValues",{deep:!0})],exports.default.prototype,"watchAnalyseValues",1);e([a.Watch("singleModeConfig",{deep:!0})],exports.default.prototype,"watchsingleModeConfig",1);e([a.Watch("waveConfigs",{deep:!0})],exports.default.prototype,"watchWaveConfigs",1);e([a.Watch("waveLists",{deep:!0})],exports.default.prototype,"watchWaveLists",1);e([a.Watch("leadHeadConfig",{deep:!0})],exports.default.prototype,"watchLeadHeadConfig",1);e([a.Watch("leadModel",{deep:!0})],exports.default.prototype,"watchLeadModel",1);e([a.Watch("width")],exports.default.prototype,"watchWidth",1);e([a.Watch("height")],exports.default.prototype,"watchHeight",1);e([a.Watch("longLeadConfig",{deep:!0})],exports.default.prototype,"watchLongLeadConfig",1);e([a.Watch("posStart")],exports.default.prototype,"watchPosStart",1);exports.default=e([u.default({name:"CommonWaveForm",components:{vueScroll:l.default,MXBackgroundGrid:f.default,MXMeasuringRuler:c.default,MXParallelRuler:p.default,MXMagnifierWave:h.default}})],exports.default);
@@ -162,7 +162,7 @@ export default class Methods extends Vue {
162
162
  protected init(): void;
163
163
  protected registPostStart(): void;
164
164
  protected resetScroll(val?: number): void;
165
- protected combinationDrawing(): void;
165
+ protected combinationDrawing(isInitConfigInfo?: boolean): void;
166
166
  /** 计算心拍 */
167
167
  protected calcHeartBeatPositions(): void;
168
168
  /** 初始化 波形 滑动窗口配置 */
@@ -1 +1 @@
1
- "use strict";var N=Object.defineProperty,R=Object.defineProperties;var k=Object.getOwnPropertyDescriptors;var G=Object.getOwnPropertySymbols;var j=Object.prototype.hasOwnProperty,T=Object.prototype.propertyIsEnumerable;var O=(e,t,i)=>t in e?N(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,S=(e,t)=>{for(var i in t||(t={}))j.call(t,i)&&O(e,i,t[i]);if(G)for(var i of G(t))T.call(t,i)&&O(e,i,t[i]);return e},b=(e,t)=>R(e,k(t));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const z=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_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Emit.js");const C=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Prop.js"),D=require("lodash"),u=require("@costy-plus/utils"),c=require("zrender"),X=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function $(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const s=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,s.get?s:{enumerable:!0,get:()=>e[i]})}}return t.default=e,Object.freeze(t)}const V=X(z),Y=$(c);var q=Object.defineProperty,E=Object.getOwnPropertyDescriptor,w=(e,t,i,s)=>{for(var o=s>1?void 0:s?E(t,i):t,a=e.length-1,n;a>=0;a--)(n=e[a])&&(o=(s?n(t,i,o):n(o))||o);return s&&o&&q(t,i,o),o};exports.default=class extends V.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(60),this.totalRows=Object.freeze(0),this.rulerStep=Object.freeze(0),this.drawLoopArrowStartPosIdx=Object.freeze(0),this.dbClickWaveFromTime=Object.freeze(0),this.timersCopy=Object.freeze(0),this.range=Object.freeze(5e3),this.heartBeatPosition=[],this.currentHeardBeat={heardBeat:null,ele:null},this.loopArrowY=Object.freeze({add:0,rowAndCol:0}),this.fontFamily=Object.freeze("\u5FAE\u8F6F\u96C5\u9ED1"),this.ruleH=Object.freeze(40),this.splitBlockHeight=0,this.splitPoint=0,this.slidingWindowInfo=Object.freeze({}),this.addSlidingWindowInfo=Object.freeze({}),this.highestAndLowestPoint=Object.freeze({maxPoints:0,minPoints:0}),this.drawArea=Object.freeze({width:0,height:0}),this.vuescrollWH={width:0,height:0},this.waveDataCopy=[],this.addWaveDataCopy=[],this.singleWaveDataCopy=[],this.leadNameList=[],this.activeLeadIdx=Object.freeze(-1),this.publicStep=Object.freeze(0),this.sceneIsMouseDown=Object.freeze(!1),this.sceneIsMouseDownX=Object.freeze(0)}get canvasContainer(){var e;return{width:this.width,height:this.height-(this.scrollConfig.isShow&&parseInt(`${(e=this.scrollConfig.bar)==null?void 0:e.size}`)||0)||0}}destroyed(){var e,t,i,s,o,a,n,d,h,l,r;this.sceneInsEventOff(),(e=this.rowAndColwaveFromGroup)==null||e.removeAll(),(t=this.singleWaveFromGroup)==null||t.removeAll(),(i=this.addwaveFromGroup)==null||i.removeAll(),(s=this.leadHeadGroup)==null||s.removeAll(),(o=this.splitLineGroup)==null||o.removeAll(),(a=this.leadHeadNameGroup)==null||a.removeAll(),(n=this.leadHeadOffAndDelGroup)==null||n.removeAll(),(d=this.rulerGroup)==null||d.removeAll(),(h=this.arrowGroup)==null||h.removeAll(),(l=this.heardBeatLineGroup)==null||l.removeAll(),(r=this.sceneIns)==null||r.dispose()}initCreatedConfig(){this.vuescrollWH.width=this.width,this.vuescrollWH.height=this.height,this.calcHeartBeatPositions(),this.initConfig()}init(){this.calcHeartBeatPositions(),this.initWaveFormPeer(),this.combinationDrawing(),this.registPostStart()}registPostStart(){this.posStart!==void 0&&this.posStart!==null&&(this.scrollConfig.isShow?this.$nextTick(()=>{var e;this.scrollConfig.isNativeScroll?(e=this.$refs[this.prefixId+"nativeScroll"])==null||e.scrollBy({left:(this.posStart||0)*(this.publicStep||1),top:0}):this.$refs[this.prefixId+"vueScroll"].scrollTo({x:(this.posStart||0)*(this.publicStep||1)})}):(this.scrollWaveFrom(this.posStart),this.scrollRuler(this.posStart),this.scrollArrow(this.posStart)))}resetScroll(e=0){this.scrollConfig.isShow?this.$nextTick(()=>{var t;this.scrollConfig.isNativeScroll?(t=this.$refs[this.prefixId+"nativeScroll"])==null||t.scrollBy({left:e,top:0}):this.$refs[this.prefixId+"vueScroll"].scrollTo({x:e})}):(this.scrollWaveFrom(e),this.scrollRuler(e),this.scrollArrow(e))}combinationDrawing(){this.drawLeadHead(),this.drawColSplitLine(),this.initSlidingWindowInfo(),this.drawRulerNotes(),this.drawWaveFrom()}calcHeartBeatPositions(){this.heartBeatPosition=[];let e=[];for(let t=0;t<this.analyseValues.length;t++){for(let i=1;i<this.analyseValues[t].length;i++)t!==1&&this.analyseValues[t][i].KeyPosByBeat.Rpoint===0||e.push({index:this.analyseValues[t][i].BeatID,position:this.analyseValues[t][i].KeyPosByBeat.Rpoint,heartrate:this.analyseValues[t][i].AnabyBeat.VentricularRate||this.analyseValues[t][i].AnabyBeat.AtrialRate,interval:Math.round(60/(this.analyseValues[t][i].AnabyBeat.VentricularRate||this.analyseValues[t][i].AnabyBeat.AtrialRate)*1e3),telectricalaxis:this.analyseValues[t][i].AnabyBeat.TAxis===9999?this.range:this.analyseValues[t][i].AnabyBeat.TAxis,qrstCompany:(this.analyseValues[t][i].AnabyBeat.QRS_T===9999?this.range:this.analyseValues[t][i].AnabyBeat.QRS_T)+"\xB0"});this.heartBeatPosition.push(e)}e=null}initSlidingWindowInfo(){const e=this.publicStep||0,t=Math.ceil(this.splitPoint/e);if(this.slidingWindowInfo={points:this.slidingWindowInfo.points!==t||this.leadModel.isSingleMode?t:this.slidingWindowInfo.points,startInd:this.slidingWindowInfo.startInd||0,endInd:this.slidingWindowInfo.endInd!==t||this.leadModel.isSingleMode?t:this.slidingWindowInfo.endInd},this.scrollConfig.isShow&&!this.leadModel.isSingleMode){const s=u.getStepForSpeed(this.leadModel.publicSpeed,this.gridConfig.cellMg,this.leadModel.publicSampleRate),o=this.dataTotalLength*s;this.vuescrollWH.width=this.canvasContainer.width+(o||0)-this.splitPoint}const i=Math.ceil((this.drawArea.width-this.leadHeadConfig.leadHedeWidth)/e);this.addSlidingWindowInfo={points:this.addSlidingWindowInfo.points!==i||this.leadModel.isSingleMode?i:this.addSlidingWindowInfo.points,startInd:this.addSlidingWindowInfo.startInd||0,endInd:this.addSlidingWindowInfo.endInd!==i||this.leadModel.isSingleMode?i:this.addSlidingWindowInfo.endInd}}calcHighestAndLowestPoint(){const e=D.flattenDeep(this.waveLists);return{maxPoints:D.max(e)||0,minPoints:D.min(e)||0}}isLeadOff(e){return!!this.waveConfigs[e].isLeadOff}isLeadDel(e){return!!this.waveConfigs[e].isLeadDelete}initConfig(){var t;this.rowAndColwaveFromGroup=new c.Group({name:"rowAndColwaveFrom"}),this.singleWaveFromGroup=new c.Group({name:"singleWaveFrom"}),this.addwaveFromGroup=new c.Group({name:"addwaveFrom"}),this.leadHeadGroup=new c.Group({name:"leadHead"}),this.splitLineGroup=new c.Group({name:"splitLine"}),this.leadHeadNameGroup=new c.Group({name:"leadHeadName"}),this.leadHeadOffAndDelGroup=new c.Group({name:"leadHeadOffAndDel"}),this.rulerGroup=new c.Group({name:"ruler"}),this.arrowGroup=new c.Group({name:"arrowLoop"}),this.heardBeatLineGroup=new c.Group({name:"heardBeatLine"});let e=this.canvasContainer.width;if(this.leadModel.ecgareawidth===1){const i=u.getPrintLengthToPx(((t=this.waveConfigs[0])==null?void 0:t.sampleRate)||0)+this.leadHeadConfig.leadHedeWidth;i<=e&&(e=i)}else if(this.leadModel.isContinuous){const i=u.getStepForSpeed(this.leadModel.publicSpeed,this.gridConfig.cellMg,this.leadModel.publicSampleRate),s=this.dataTotalLength*i;!this.leadModel.isSingleMode&&(s||0)<e-this.leadHeadConfig.leadHedeWidth&&(e=(s||0)+this.leadHeadConfig.leadHedeWidth)}this.drawArea={width:e,height:this.canvasContainer.height-this.bottomAreaHeight-30},this.slidingWindowInfo={points:this.slidingWindowInfo.points||0,startInd:this.slidingWindowInfo.startInd||0,endInd:this.slidingWindowInfo.endInd||0},this.addSlidingWindowInfo={points:this.addSlidingWindowInfo.points||0,startInd:this.addSlidingWindowInfo.startInd||0,endInd:this.addSlidingWindowInfo.endInd||0},this.loopArrowY={add:0,rowAndCol:0},this.currentHeardBeat={heardBeat:null,ele:null},this.leadNameList=this.leadNames.map((i,s)=>s)||[],this.totalRows=this.leadModel.line+this.leadModel.add||1,this.highestAndLowestPoint=this.calcHighestAndLowestPoint(),this.leadModel.isSingleMode?(this.splitBlockHeight=Math.abs(this.highestAndLowestPoint.maxPoints)+Math.abs(this.highestAndLowestPoint.minPoints)+22,this.splitBlockHeight>this.drawArea.height&&(this.splitBlockHeight=this.drawArea.height/6)):this.splitBlockHeight=this.drawArea.height/this.totalRows,this.publicStep=u.getStepForSpeed(this.leadModel.publicSpeed,this.gridConfig.cellMg,this.leadModel.publicSampleRate),this.rulerStep=(this.publicStep||1)*(this.leadModel.publicSampleRate||1)/(this.gridConfig.cellMg*2+2)}initWaveFormPeer(){var i;(i=this.sceneIns)==null||i.dispose(),this.AssistCtx=null;const e=document.getElementById(`${this.prefixId}wave-from-box`);this.sceneIns=Y.init(e,{width:this.canvasContainer.width,height:this.canvasContainer.height,devicePixelRatio:2});const t=document.getElementById(`${this.prefixId}MXGrid`);this.AssistCtx=t.getContext("2d"),this.sceneInsEventOff(),this.sceneIns.on("mousemove",this.sceneInsMousemove),this.sceneIns.on("mousedown",this.sceneInsMouseDown),this.sceneIns.on("mouseup",this.sceneInsMouseUp)}sceneInsMousemove(e){var t;this.sceneIsMouseDown&&(this.scrollConfig.isNativeScroll?(t=this.$refs[`${this.prefixId}nativeScroll`])==null||t.scrollBy({left:e.offsetX-this.sceneIsMouseDownX,top:0}):this.$refs[`${this.prefixId}vueScroll`].scrollBy({dx:e.offsetX-this.sceneIsMouseDownX}))}sceneInsMouseDown(e){this.sceneIsMouseDown=!0,this.sceneIsMouseDownX=e.offsetX}sceneInsMouseUp(e){this.sceneIsMouseDown=!1}sceneInsEventOff(){var e,t,i;(e=this.sceneIns)==null||e.off("mousemove",this.sceneInsMousemove),(t=this.sceneIns)==null||t.off("mousedown",this.sceneInsMouseDown),(i=this.sceneIns)==null||i.off("mouseup",this.sceneInsMouseUp)}drawLeadHead(){var a,n,d,h,l;(a=this.leadHeadGroup)==null||a.removeAll(),(n=this.sceneIns)==null||n.remove(this.leadHeadGroup);let e="",t=!1,i=0,s=0;for(let r=0;r<=this.leadModel.column;r++){s=r*this.leadModel.line;e:for(let f=1;f<=this.leadModel.line;f++){if(!(this.waveConfigs||[])[f-1+s])break e;!this.waveConfigs[f-1+s].isShowLeadHead||(t=!1,e=(this.leadNames||[])[f-1+s]||"",this.waveConfigs[f-1+s].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(e)&&(t=!0),i=this.waveConfigs[f-1+s].posX?this.waveConfigs[f-1+s].posX-this.leadHeadConfig.leadHedeWidth:0,this.leadHeadConfig.isShowLeadCalibration!==!1&&((d=this.leadHeadGroup)==null||d.add(this.createLeadHead(i,this.waveConfigs[f-1+s].posY||f*this.splitBlockHeight,u.getSens(this.waveConfigs[f-1+s].gain,this.gridConfig.cellMg),t))))}}let o=null;for(let r=0;r<this.leadModel.add;r++)!this.waveConfigs[this.longLeadConfig.leadIdxs[r]]||(o=this.waveConfigs[this.longLeadConfig.leadIdxs[r]],e=this.leadNames[this.longLeadConfig.leadNames[this.longLeadConfig.leadNames[r]]],t=!1,o.gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(e)&&(t=!0),i=o.posX?o.posX-this.leadHeadConfig.leadHedeWidth:0,this.leadHeadConfig.isShowLeadCalibration!==!1&&((h=this.leadHeadGroup)==null||h.add(this.createLeadHead(i,o.posY||(r+1+this.leadModel.line)*this.splitBlockHeight,u.getSens(o.gain,this.gridConfig.cellMg),t))));o=null,(l=this.sceneIns)==null||l.add(this.leadHeadGroup)}createLeadHead(e,t,i,s){const o=this.leadHeadConfig.leadHedeWidth/4;return i=s?i/2:i,new c.Polyline({cursor:"",shape:{points:[[0+e,0+t],[o+e,0+t],[o+e,-i+t],[3*o+e,-i+t],[3*o+e,0+t],[4*o+e,0+t]]},style:{stroke:this.leadHeadConfig.leadHedeColor,lineWidth:this.leadHeadConfig.leadHedeLineWidth}})}drawColSplitLine(){var a,n,d,h,l;(a=this.splitLineGroup)==null||a.removeAll(),(n=this.sceneIns)==null||n.remove(this.splitLineGroup);const e=(this.drawArea.width-this.leadHeadConfig.leadHedeWidth)/(this.leadModel.column||1);if(this.splitPoint=e,this.leadModel.isSingleMode){const r=u.getStepForSpeed(this.waveConfigs[this.singleModeConfig.defaultSelect].speed,this.gridConfig.cellMg,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate),f=u.getDataLenTimes(Math.ceil(this.splitPoint/(r||1))||0,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate||0),I=parseInt(`${f/1e3%60}`,10);this.splitPoint=I*(this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate||0)*(r||0)}let t=0,i=0,s=0,o=0;for(let r=1;r<=this.leadModel.column-1;r++){t=r*e+this.leadHeadConfig.leadHedeWidth,i=r*this.leadModel.line;e:for(let f=1;f<=this.leadModel.line;f++){if(!(this.waveConfigs||[])[f-1+i])break e;if((this.waveConfigs||[])[f-1+i].posX!==void 0&&(t=(this.waveConfigs||[])[f-1+i].posX),s=(this.waveConfigs||[])[f-1+i].leadIdx,s===void 0)break;o=u.getSens((this.waveConfigs||[])[f-1+i].gain,this.gridConfig.cellMg),(this.waveConfigs||[])[f-1+i].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.leadNames[s])?(d=this.splitLineGroup)==null||d.add(this.creatSplitLine(t,((this.waveConfigs||[])[f-1+i].posY||f*this.splitBlockHeight)-(o||0)/2*.5,o,!0)):(h=this.splitLineGroup)==null||h.add(this.creatSplitLine(t,((this.waveConfigs||[])[f-1+i].posY||f*this.splitBlockHeight)-(o||0)*.5,o))}}(l=this.sceneIns)==null||l.add(this.splitLineGroup)}creatSplitLine(e,t,i,s){return new c.Line({cursor:"",shape:{x1:0+e,y1:0+t,x2:0+e,y2:(s?(i||0)/2:i||0)+t},style:{stroke:this.leadHeadConfig.leadHedeColor,lineWidth:this.leadHeadConfig.leadHedeLineWidth}})}drawRulerNotes(){var s,o;if(!this.rulerConfig.isShow)return;const e={fill:"#FF0080",fontSize:13,fontFamily:this.fontFamily},t=new c.Text({cursor:"",style:S({text:"(s)",x:this.leadHeadConfig.leadHedeWidth/2-8,y:this.canvasContainer.height-25},e)}),i=new c.Text({style:S({text:this.rulerConfig.renderText||`${this.rulerConfig.gainName} ${this.rulerConfig.speedName}`,x:this.leadHeadConfig.leadHedeWidth/2+20,y:this.canvasContainer.height-this.ruleH},e)});(s=this.sceneIns)==null||s.add(i),(o=this.sceneIns)==null||o.add(t)}drawRuler(e=0){var n,d,h;if(this.timersCopy=e,!this.rulerConfig.isShow)return;const t=this.dataTotalTimes/1e3;let i=this.leadHeadConfig.leadHedeWidth,s=0,o=t;const a=u.getStepForSpeed(this.rulerConfig.speed,this.gridConfig.cellMg,this.rulerConfig.sampleRate);if(this.leadModel.isContinuous)o=t*5;else if(!this.leadModel.add&&a){const l=u.getPointIdxForPx(this.splitPoint*(this.leadModel.column||1),a),r=u.getDataLenTimes(l,this.rulerConfig.sampleRate||0)/1e3;o=e+r}for(let l=e;l<=o;l=+(l+.1).toFixed(1))l!==e&&(i+=this.rulerStep),l%1===0?(s=this.canvasContainer.height-10,(n=this.rulerGroup)==null||n.add(new c.Text({cursor:"",style:{x:i,y:s-15,text:l+"",fontSize:13,fontFamily:this.fontFamily,fill:"#FF0080"}}))):s=this.canvasContainer.height-5,(d=this.rulerGroup)==null||d.add(new c.Line({cursor:"",shape:{x1:i,y1:s,x2:i,y2:this.canvasContainer.height},style:{stroke:"#FF0080",lineWidth:2}}));(h=this.sceneIns)==null||h.add(this.rulerGroup)}drawWaveFrom(){var e,t,i;this.leadModel.isSingleMode?(this.addWaveDataCopy=[],this.waveDataCopy=[],this.createSingleWaveFrom(),(e=this.sceneIns)==null||e.add(this.singleWaveFromGroup)):(this.singleWaveDataCopy=[],this.createAddWaveFrom(),this.createRowAndColWaveFrom(),(t=this.sceneIns)==null||t.add(this.rowAndColwaveFromGroup),(i=this.sceneIns)==null||i.add(this.addwaveFromGroup)),this.drawLeadHeadNameAndOffOrDel(),this.drawRuler(this.timersCopy),this.drawLoopArrow(this.drawLoopArrowStartPosIdx)}getRednerSinglePoints(){let e=0,t=0;const i=this.waveLists[this.singleModeConfig.defaultSelect]||[];let s=this.slidingWindowInfo.startInd||0,o=this.slidingWindowInfo.endInd||0;const a=u.getStepForSpeed(this.waveConfigs[this.singleModeConfig.defaultSelect].speed,this.gridConfig.cellMg,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate),n=u.getSens(this.waveConfigs[this.singleModeConfig.defaultSelect].gain,this.gridConfig.cellMg),d=[],h=Math.ceil(i.length/(this.slidingWindowInfo.points||1));for(let l=0;l<1;l++){e=l*this.splitPoint+this.leadHeadConfig.leadHedeWidth,t=0;for(let r=1;r<=h;r++)t=r*this.splitBlockHeight,r>1&&(t*=.8,s=o,o=s+(this.slidingWindowInfo.points||0)),r===1&&(this.loopArrowY.rowAndCol=t),d.push({pos:[e,t],startInd:s,endInd:o,step:a,sens:n,data:i.slice(s,o).map((f,I)=>this.waveConfigs[this.singleModeConfig.defaultSelect].leadName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.waveConfigs[this.singleModeConfig.defaultSelect].leadName)?u.getActualY(this.waveConfigs[this.singleModeConfig.defaultSelect].sensitivity,f,n/2):u.getActualY(this.waveConfigs[this.singleModeConfig.defaultSelect].sensitivity,f,n)).map((f,I)=>[I*(a||0),-f])})}return d}createSingleWaveFrom(){var n,d,h;(n=this.singleWaveFromGroup)==null||n.removeAll();let e=this.getRednerSinglePoints(),t=u.getDataLenTimes(this.slidingWindowInfo.points||0,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate||0);const i=t;let s=0,o=0,a=0;for(let l=0;l<e.length&&!(e[l].pos[1]>this.drawArea.height+this.bottomAreaHeight);l++)this.isLeadDel(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx)||(s=parseInt(`${t/1e3/60}`,10),o=parseInt(`${t/1e3%60}`,10),s=o===60?s+=1:s,s=s===0?"00":s<10?`0${s}`:s,o=o===0||o===60?"00":o<10?`0${o}`:o,(d=this.singleWaveFromGroup)==null||d.add(new c.Polyline({cursor:"",name:this.singleModeConfig.defaultSelect+"_"+l,shape:{points:e[l].data.map(([r,f],I)=>isNaN(f)?(a===0&&(a=I-1,a=a<0?0:a),[e[l].data[a][0]+e[l].pos[0],e[l].data[a][1]+e[l].pos[1]]):(a=0,[r+e[l].pos[0],f+e[l].pos[1]]))},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:r=>{this.onDbClickWaveFrom(r,"single")},oncontextmenu:r=>{this.onContextmenu(r,"single")}})),t/1e3<this.dataTotalTimes&&((h=this.singleWaveFromGroup)==null||h.add(new c.Text({cursor:"",style:{x:e[l].pos[0],y:e[l].pos[1]-(e[l].sens||0)/2,text:l===0?"00:00 \u5FC3\u7387":`${s}:${o} \u5FC3\u7387`,fontWeight:"bold",fontSize:14,fill:"#FF0080",fontFamily:this.fontFamily}}))),l>0&&(t+=i)),this.createLeadName(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx,e[0].pos[0]-10,e[0].pos[1]+10),this.createLeadOffAndDel(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx,e[0].pos[0]-5,e[0].pos[1]-(e[l].sens||0)/2-15);this.singleWaveDataCopy=e,e=null}drawLoopArrow(e=0){var r,f,I,W,x,M,L,P,H,y,v,g;if(this.drawLoopArrowStartPosIdx=e,!this.heartFight.isShow)return;this.heartFight.mode&&this.currentHeardBeat.heardBeat===null&&(this.currentHeardBeat.heardBeat=this.heartBeatPosition[this.heartFight.showIdxPai][this.heartFight.defaultSelect]||null,this.drawHeardBeatLine());let t=0,i=0;if(this.leadModel.add){const m=u.getSens(this.waveConfigs[this.longLeadConfig.leadIdxs[0]].gain,this.gridConfig.cellMg);i=this.loopArrowY.add-(m||0)-this.splitBlockHeight/3.5}else i=20;let s=0,o=0;const a={fontSize:12,fill:"red",fontFamily:this.fontFamily};let n=0,d=0;const h=u.getStepForSpeed(this.waveConfigs[this.heartFight.showIdxPai].speed,this.gridConfig.cellMg,this.waveConfigs[this.heartFight.showIdxPai].sampleRate);let l=0;for(let m=0;m<(this.heartBeatPosition[this.heartFight.showIdxPai]||[]).length;m++){const p=this.heartBeatPosition[this.heartFight.showIdxPai][m];if(l=((p==null?void 0:p.position)||0)-e,!(e>((p==null?void 0:p.position)||0))&&!(!this.leadModel.isContinuous&&!this.leadModel.add&&l>(this.slidingWindowInfo.points||0))&&!(this.leadModel.isSingleMode&&l>(this.slidingWindowInfo.points||0))){if(((p==null?void 0:p.position)||0)-this.addSlidingWindowInfo.startInd>(this.addSlidingWindowInfo.points||0))break;t=l*(h||0)+this.leadHeadConfig.leadHedeWidth-8.5,o=0,(I=this.arrowGroup)==null||I.add(new c.Polygon({name:"arrow_box",shape:{points:[[4+t,0+i],[13+t,0+i],[13+t,10+i],[17+t,10+i],[8.5+t,22+i],[0+t,10+i],[4+t,10+i],[4+t,0+i]]},style:{fill:((f=(r=this.currentHeardBeat)==null?void 0:r.heardBeat)==null?void 0:f.index)===(p==null?void 0:p.index)?"blue":"#ccc"},onclick:A=>{var B;!this.heartFight.mode&&!this.heartFight.isClickArrow||(A.target.attr({style:{fill:"blue"}}),(B=this.arrowGroup)==null||B.children().filter(F=>F.name==="arrow_box").forEach(F=>{F.id!==A.target.id&&F.attr({style:{fill:"#ccc"}})}),this.arrowLoopClick(p,A.target))}})),this.heartFight.heartrate&&(n=p==null?void 0:p.heartrate,this.heartFight.isHeartRateCalculatedBasedOnInterval&&m!==0&&(d=u.calcMs(Math.abs((p==null?void 0:p.position)*(h||0)-this.heartBeatPosition[this.heartFight.showIdxPai][m-1].position*(h||0)),this.waveConfigs[this.heartFight.showIdxPai].speed,this.gridConfig.cellMg,1),n=d!==0&&u.calcBpm(d)||0),s=((W=this.AssistCtx)==null?void 0:W.measureText(`${n||""}`).width)||0,(x=this.arrowGroup)==null||x.add(new c.Text({cursor:"",style:S({x:4+t-s*1.4,y:o+i,text:`${n||""}`},a)})),o+=12),this.heartFight.interval&&(s=((M=this.AssistCtx)==null?void 0:M.measureText(`${(p==null?void 0:p.interval)||""}`).width)||0,(L=this.arrowGroup)==null||L.add(new c.Text({cursor:"",style:S({x:4+t-s*1.5,y:o+i,text:`${(p==null?void 0:p.interval)||""}`},a)})),o+=12),this.heartFight.qrstCompany&&(s=((P=this.AssistCtx)==null?void 0:P.measureText(`${(p==null?void 0:p.qrstCompany)||""}`).width)||0,(H=this.arrowGroup)==null||H.add(new c.Text({cursor:"",style:S({x:4+t-s*1.5,y:o+i,text:`${(p==null?void 0:p.qrstCompany)||""}`},a)})),o+=12),this.heartFight.telectricalaxis&&(s=((y=this.AssistCtx)==null?void 0:y.measureText(`${(p==null?void 0:p.telectricalaxis)||""}`).width)||0,(v=this.arrowGroup)==null||v.add(new c.Text({cursor:"",style:S({x:4+t-s*1.5,y:o+i,text:`${(p==null?void 0:p.telectricalaxis)||""}`},a)})))}}(g=this.sceneIns)==null||g.add(this.arrowGroup)}arrowLoopClick(e,t){this.$emit("notifyHeardBeat",c.util.clone(e)),this.currentHeardBeat.heardBeat=e,this.currentHeardBeat.ele=t,this.drawHeardBeatLine()}drawHeardBeatLine(e=0){var o,a,n,d,h,l,r,f,I,W,x,M,L,P,H;if(!this.currentHeardBeat.heardBeat)return;(o=this.heardBeatLineGroup)==null||o.removeAll(),(a=this.sceneIns)==null||a.remove(this.heardBeatLineGroup);let t={},i=0,s;if(this.leadModel.isSingleMode){let y=this.getRednerSinglePoints();e:for(let v=0;v<y.length;v++){if(v>=1||this.leadNames[this.singleModeConfig.defaultSelect]==="M")break e;if((n=this.analyseValues[this.singleModeConfig.defaultSelect])!=null&&n[this.currentHeardBeat.heardBeat.index])t=((l=(h=this.analyseValues[this.singleModeConfig.defaultSelect])==null?void 0:h[this.currentHeardBeat.heardBeat.index])==null?void 0:l.KeyPosByBeat)||t;else{let g=this.analyseValues.find(m=>{var p;return(p=m[this.currentHeardBeat.heardBeat.index])==null?void 0:p.KeyPosByBeat});if(!g)break e;g&&(t=(d=g[this.currentHeardBeat.heardBeat.index])==null?void 0:d.KeyPosByBeat),g=null}for(const g in t)if(this.heardBeatLineKeys.includes(g)){if(i=(t[g]-this.slidingWindowInfo.startInd)*(y[v].step||0),this.isLeadOff(v)||this.isLeadDel(v))continue;if(!this.leadModel.isContinuous&&t[g]-this.slidingWindowInfo.startInd>(this.slidingWindowInfo.points||0))break e;s=y[v],(r=this.heardBeatLineGroup)==null||r.add(this.createHeardBeatLine(s.pos[0]+i,s.pos[1],this.singleModeConfig.defaultSelect+"_"+v,"single"))}}y=null}else{let y=this.getRednerPoints(),v=this.getAddRednerPoints();e:for(let g=0;g<y.length;g++){t=((I=(f=this.analyseValues[g])==null?void 0:f[this.currentHeardBeat.heardBeat.index])==null?void 0:I.KeyPosByBeat)||t;for(const m in t)if(this.heardBeatLineKeys.includes(m)&&Object.prototype.hasOwnProperty.call(t,m)){if(i=(t[m]-this.slidingWindowInfo.startInd)*(y[g].step||0),this.isLeadOff(g)||this.isLeadDel(g))continue;if(e>t[m]||!this.leadModel.isContinuous&&t[m]-this.slidingWindowInfo.startInd>(this.slidingWindowInfo.points||0)||(s=y[g],this.leadModel.isContinuous&&g>this.leadModel.line-1))break e;(W=this.heardBeatLineGroup)==null||W.add(this.createHeardBeatLine(s.pos[0]+i,s.pos[1],g+"_"+g,"rowAndCol"))}}e:for(let g=0;g<v.length;g++)if(!!((x=this.analyseValues[g])!=null&&x[this.currentHeardBeat.heardBeat.index])){t=((L=(M=this.analyseValues[g])==null?void 0:M[this.currentHeardBeat.heardBeat.index])==null?void 0:L.KeyPosByBeat)||t;for(const m in t)if(this.heardBeatLineKeys.includes(m)){if(i=(t[m]-this.slidingWindowInfo.startInd)*(v[g].step||0),this.isLeadOff(this.longLeadConfig.leadIdxs[g])&&this.isLeadDel(this.longLeadConfig.leadIdxs[g]))continue;if(e>t[m])break e;s=v[g],(P=this.heardBeatLineGroup)==null||P.add(this.createHeardBeatLine(s.pos[0]+i,s.pos[1],this.longLeadConfig.leadIdxs[g]+"_"+g,"add"))}}y=null,v=null}(H=this.sceneIns)==null||H.add(this.heardBeatLineGroup),t=null}createHeardBeatLine(e,t,i,s){return new c.Line({name:i,cursor:"",shape:{x1:e,y1:t-15,x2:e,y2:t+15},style:{stroke:"blue",lineWidth:1},oncontextmenu:o=>{this.onContextmenu(o,s)}})}drawLeadHeadNameAndOffOrDel(){var e,t;(e=this.sceneIns)==null||e.add(this.leadHeadNameGroup),(t=this.sceneIns)==null||t.add(this.leadHeadOffAndDelGroup)}getAddRednerPoints(){const e=[];let t=this.leadHeadConfig.leadHedeWidth,i=0,s=0,o=[],a=0,n=0;for(let d=0;d<this.leadModel.add;d++)s=this.longLeadConfig.leadIdxs[d],this.waveConfigs[s]&&(t=this.waveConfigs[s].addPosX||t,a=u.getStepForSpeed(this.waveConfigs[s].speed,this.gridConfig.cellMg,this.waveConfigs[s].sampleRate),n=u.getSens(this.waveConfigs[s].gain,this.gridConfig.cellMg),i=this.waveConfigs[s].addPosY||(d+this.leadModel.line+1)*this.splitBlockHeight,o=this.waveLists[s]||[],d===0&&(this.loopArrowY.add=i),e.push({pos:[t,i],startInd:this.addSlidingWindowInfo.startInd||0,endInd:this.addSlidingWindowInfo.endInd||0,data:o.slice(this.addSlidingWindowInfo.startInd,this.addSlidingWindowInfo.endInd).map((h,l)=>this.waveConfigs[s].leadName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.waveConfigs[s].leadName)?u.getActualY(this.waveConfigs[s].sensitivity,h,n/2):u.getActualY(this.waveConfigs[s].sensitivity,h,n)).map((h,l)=>[l*(a||0),-h]),sens:n,step:a}));return e}createAddWaveFrom(){var i;let e=this.getAddRednerPoints(),t=0;for(let s=0;s<e.length;s++)this.isLeadDel(this.longLeadConfig.leadIdxs[s])||((i=this.addwaveFromGroup)==null||i.add(new c.Polyline({cursor:"",name:this.longLeadConfig.leadIdxs[s]+"_"+s,shape:{points:e[s].data.map(([o,a],n)=>isNaN(a)?(t===0&&(t=n-1,t=t<0?0:t),[e[s].data[t][0]+e[s].pos[0],e[s].data[t][1]+e[s].pos[1]]):(t=0,[o+e[s].pos[0],a+e[s].pos[1]]))},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:o=>{this.onDbClickWaveFrom(o,"add")},oncontextmenu:o=>{this.onContextmenu(o,"add")}})),this.createLeadName(this.longLeadConfig.leadNames[s],e[s].pos[0],e[s].pos[1]-15,!0),this.createLeadOffAndDel(this.longLeadConfig.leadIdxs[s],e[s].pos[0]-5,e[s].pos[1]-(e[s].sens||0)/2-15));this.addWaveDataCopy=e,e=null}getRednerPoints(){let e=0,t=0,i=0,s=[],o=0,a=0,n=this.slidingWindowInfo.startInd||0,d=this.slidingWindowInfo.endInd||0;const h=[];for(let l=0;l<this.leadModel.column;l++){e=l*this.splitPoint+this.leadHeadConfig.leadHedeWidth,t=0,this.leadModel.isContinuous&&l>0&&(n=d,d=n+(this.slidingWindowInfo.points||0));for(let r=1;r<=this.leadModel.line&&(t=r*this.splitBlockHeight,!(i>(this.waveLists||[]).length-1));r++)e=this.waveConfigs[i].posX||e,t=this.waveConfigs[i].posY||t,o=u.getStepForSpeed(this.waveConfigs[i].speed,this.gridConfig.cellMg,this.waveConfigs[i].sampleRate),a=u.getSens(this.waveConfigs[i].gain,this.gridConfig.cellMg),s=this.waveLists[i]||[],this.waveConfigs[i]&&(r===1&&(this.loopArrowY.rowAndCol=t),h.push({pos:[e,t],startInd:n,endInd:d,sens:a,step:o,data:s.slice(n,d).map((f,I)=>this.waveConfigs[i].leadName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.waveConfigs[i].leadName)?u.getActualY(this.waveConfigs[i].sensitivity,f,a/2):u.getActualY(this.waveConfigs[i].sensitivity,f,a)).map((f,I)=>[I*(o||0),-f])}),i++)}return h}createRowAndColWaveFrom(){var s,o;(s=this.rowAndColwaveFromGroup)==null||s.removeAll();let e=this.getRednerPoints(),t=0,i=0;for(let a=0;a<e.length;a++)t=this.waveConfigs[a].leadIdx||0,this.isLeadDel(t)||(o=this.rowAndColwaveFromGroup)==null||o.add(new c.Polyline({cursor:"",name:a+"_"+a,shape:{points:e[a].data.map(([n,d],h)=>isNaN(d)?(i===0&&(i=h-1,i=i<0?0:i),[e[a].data[i][0]+e[a].pos[0],e[a].data[i][1]+e[a].pos[1]]):(i=0,[n+e[a].pos[0],d+e[a].pos[1]]))},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:n=>{this.onDbClickWaveFrom(n,"rowAndCol")},oncontextmenu:n=>{this.onContextmenu(n,"rowAndCol")}})),a<this.leadModel.line?(this.createLeadName(t,e[a].pos[0],e[a].pos[1]-15),this.createLeadOffAndDel(t,e[a].pos[0]-5,e[a].pos[1]-(e[a].sens||0)/2-15)):(this.createLeadName(t,e[a].pos[0]+5,e[a].pos[1]-(e[a].sens||0)/2),this.createLeadOffAndDel(t,e[a].pos[0]-5,e[a].pos[1]-(e[a].sens||0)/2+9));this.waveDataCopy=e,e=null}createLeadName(e,t,i,s=!1){var a;let o=t;this.leadHeadConfig.isShowLeadCalibration===!1&&(this.leadModel.isSingleMode?o=t-this.leadHeadConfig.leadHedeWidth+12:o=t-this.leadHeadConfig.leadHedeWidth+5),(a=this.leadHeadNameGroup)==null||a.add(new c.Text({style:{x:o,y:i,text:this.leadNames[e],fontSize:this.leadConfig.fontSize,fill:this.leadConfig.lineColor,fontFamily:this.leadConfig.fontFamily},oncontextmenu:n=>{n.event.preventDefault(),this.$emit("notiifyLeadName",{event:b(S({},n),{name:this.leadNames[e],idx:e}),isAdd:s})},onclick:n=>{this.$emit("notiifyLeadName",{event:b(S({},n),{name:this.leadNames[e],idx:e}),isAdd:s})}}))}createLeadOffAndDel(e,t,i){var s;(this.isLeadOff(e)||this.isLeadDel(e))&&((s=this.leadHeadOffAndDelGroup)==null||s.add(new c.Text({cursor:"",style:{x:t,y:i,text:"X",fontWeight:"bold",fontSize:18,fill:"#E42c03",fontFamily:this.fontFamily}})))}onContextmenu(e,t){e.event.preventDefault(),e.event.stopPropagation(),console.log("onContextmenu",e);const i=e.target.name.split("_"),s=+i[1];let o=0,a=0,n=0,d=0,h=0;t==="single"?(o=e.offsetX-this.singleWaveDataCopy[s].pos[0],a=this.singleWaveDataCopy[s].startInd,n=u.getPointIdxForPx(o,this.singleWaveDataCopy[s].step||1),d=this.singleWaveDataCopy[s].sens,h=this.singleWaveDataCopy[s].step):t==="rowAndCol"?(o=e.offsetX-this.waveDataCopy[s].pos[0],a=this.waveDataCopy[s].startInd||0,n=u.getPointIdxForPx(o,this.waveDataCopy[s].step||1),d=this.waveDataCopy[s].sens,h=this.waveDataCopy[s].step):t==="add"&&(o=e.offsetX-this.addWaveDataCopy[s].pos[0],a=this.addWaveDataCopy[s].startInd||0,n=u.getPointIdxForPx(o,this.addWaveDataCopy[s].step||1),d=this.addWaveDataCopy[s].sens,h=this.addWaveDataCopy[s].step),n+=a,this.$emit("notifyOnContextmenu",{sens:d,step:h,activeLeadIdx:+i[0],pointIdx:n,offsetX:e.offsetX,offsetY:e.offsetY,pageX:e.event.pageX,pageY:e.event.pageY})}onDbClickWaveFrom(e,t){console.log("onDbClickWaveFrom",e);const i=Date.now(),s=()=>{const o=e.target.name.split("_");this.activeLeadIdx=+o[0];const a=+o[1];let n=0,d=0,h=0,l=0,r=0;t==="single"?(n=e.offsetX-this.singleWaveDataCopy[a].pos[0],d=this.singleWaveDataCopy[a].startInd,h=u.getPointIdxForPx(n,this.singleWaveDataCopy[a].step||1),l=this.singleWaveDataCopy[a].sens,r=this.singleWaveDataCopy[a].step):t==="rowAndCol"?(n=e.offsetX-this.waveDataCopy[a].pos[0],d=this.waveDataCopy[a].startInd||0,h=u.getPointIdxForPx(n,this.waveDataCopy[a].step||1),l=this.waveDataCopy[a].sens,r=this.waveDataCopy[a].step):t==="add"&&(n=e.offsetX-this.addWaveDataCopy[a].pos[0],d=this.addWaveDataCopy[a].startInd||0,h=u.getPointIdxForPx(n,this.addWaveDataCopy[a].step||1),l=this.addWaveDataCopy[a].sens,r=this.addWaveDataCopy[a].step),h+=d,this.$emit("notifyActiveEnlargr",{sens:l,step:r,activeLeadIdx:this.activeLeadIdx,pointIdx:h})};i-this.dbClickWaveFromTime<400?(this.dbClickWaveFromTime=0,s()):this.dbClickWaveFromTime=i}nativeScrollFunc(e){console.log("event",e,e.target.scrollLeft),this.scrollCommon(e.target.scrollLeft||0)}handleScroll(e,t,i){t.type==="horizontal"&&(t.scrollLeft=t.scrollLeft||0,this.scrollCommon(t.scrollLeft))}scrollCommon(e){const t=u.getPointIdxForPx(e,this.publicStep||1);this.scrollWaveFrom(t),this.scrollRuler(t),this.scrollArrow(t),this.$emit("notifyScrollPointIdx",{slidIdxs:t,scrollLeft:e})}scrollWaveFrom(e){var s,o;this.slidingWindowInfo.startInd=e,this.slidingWindowInfo.endInd=e+(this.slidingWindowInfo.points||0),this.addSlidingWindowInfo.startInd=e,this.addSlidingWindowInfo.endInd=e+(this.addSlidingWindowInfo.points||0);let t=this.getRednerPoints(),i=this.getAddRednerPoints();this.waveDataCopy=t,this.addWaveDataCopy=i,(s=this.rowAndColwaveFromGroup)==null||s.eachChild((a,n)=>{n=n||0,!(!t[n]||!t[n].data)&&a.attr({shape:{points:t[n].data.map(([d,h])=>[d+t[n].pos[0],h+t[n].pos[1]])}})}),(o=this.addwaveFromGroup)==null||o.eachChild((a,n)=>{n=n||0,!(!i[n]||!i[n].data)&&a.attr({shape:{points:i[n].data.map(([d,h])=>[d+i[n].pos[0],h+i[n].pos[1]])}})}),t=null,i=null}scrollRuler(e){var i,s;(i=this.rulerGroup)==null||i.removeAll(),(s=this.sceneIns)==null||s.remove(this.rulerGroup);const t=u.getDataLenTimes(this.leadModel.isSingleMode?0:e,this.leadModel.publicSampleRate||0)/1e3;this.drawRuler(t)}scrollArrow(e){var t,i;(t=this.arrowGroup)==null||t.removeAll(),(i=this.sceneIns)==null||i.remove(this.arrowGroup),this.drawLoopArrow(e),this.drawHeardBeatLine(e)}};w([C.Prop({default:()=>["Pstart","Pend","QRSstart","QRSend","Tstart","Tend"]})],exports.default.prototype,"heardBeatLineKeys",2);w([C.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"width",2);w([C.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"height",2);w([C.Prop({default:()=>[]})],exports.default.prototype,"waveConfigs",2);w([C.Prop({default:()=>[]})],exports.default.prototype,"waveLists",2);w([C.Prop({default:()=>[]})],exports.default.prototype,"leadNames",2);w([C.Prop({default:()=>[]})],exports.default.prototype,"analyseValues",2);w([C.Prop({default:()=>({leadHedeWidth:20,leadHedeColor:"#000",leadHedeLineWidth:2})})],exports.default.prototype,"leadHeadConfig",2);w([C.Prop({required:!0})],exports.default.prototype,"leadModel",2);w([C.Prop({default:()=>({isShow:!1,gainName:"",speedName:""})})],exports.default.prototype,"rulerConfig",2);w([C.Prop({default:()=>({lineColor:"#000",lineWidth:1,fontFamily:"\u5FAE\u8F6F\u96C5\u9ED1",fontSize:15})})],exports.default.prototype,"leadConfig",2);w([C.Prop({required:!0})],exports.default.prototype,"gridConfig",2);w([C.Prop({default:()=>({isShow:!1,speed:0,sens:0})})],exports.default.prototype,"measurRulerConfig",2);w([C.Prop({default:()=>({isShow:!1,heartRate:60,speed:0,sens:0})})],exports.default.prototype,"paralleRulerConfig",2);w([C.Prop({default:()=>({isShow:!1,speed:0})})],exports.default.prototype,"magnifierRulerConfig",2);w([C.Prop({default:()=>({isShow:!1,mode:!1,defaultSelect:2,heartrate:!1,interval:!1,qrstCompany:!1,telectricalaxis:!1,isClickArrow:!1,showIdxPai:0})})],exports.default.prototype,"heartFight",2);w([C.Prop({default:()=>({leadIdxs:[1,6,10],leadNames:[1,6,10]})})],exports.default.prototype,"longLeadConfig",2);w([C.Prop({default:()=>({defaultSelect:1})})],exports.default.prototype,"singleModeConfig",2);w([C.Prop({default:()=>({isShow:!0,isNativeScroll:!1,scrollPanel:{scrollingY:!1},bar:{keepShow:!0,size:"10px"}})})],exports.default.prototype,"scrollConfig",2);w([C.Prop({default:()=>0})],exports.default.prototype,"dataTotalTimes",2);w([C.Prop({default:()=>0})],exports.default.prototype,"dataTotalLength",2);w([C.Prop({default:()=>""})],exports.default.prototype,"prefixId",2);w([C.Prop({default:()=>0})],exports.default.prototype,"posStart",2);w([u.throttling(200)],exports.default.prototype,"nativeScrollFunc",1);w([u.throttling(200)],exports.default.prototype,"handleScroll",1);exports.default=w([_.default({name:"Methods"})],exports.default);
1
+ "use strict";var N=Object.defineProperty,R=Object.defineProperties;var k=Object.getOwnPropertyDescriptors;var G=Object.getOwnPropertySymbols;var j=Object.prototype.hasOwnProperty,T=Object.prototype.propertyIsEnumerable;var O=(e,t,i)=>t in e?N(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,S=(e,t)=>{for(var i in t||(t={}))j.call(t,i)&&O(e,i,t[i]);if(G)for(var i of G(t))T.call(t,i)&&O(e,i,t[i]);return e},b=(e,t)=>R(e,k(t));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const z=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_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Emit.js");const C=require("../../node_modules/.pnpm/vue-property-decorator@9.1.2_vue-class-component@7.2.6_vue@2.6.14/node_modules/vue-property-decorator/lib/decorators/Prop.js"),D=require("lodash"),p=require("@costy-plus/utils"),c=require("zrender"),$=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function V(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const s=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,s.get?s:{enumerable:!0,get:()=>e[i]})}}return t.default=e,Object.freeze(t)}const X=$(z),Y=V(c);var q=Object.defineProperty,E=Object.getOwnPropertyDescriptor,w=(e,t,i,s)=>{for(var a=s>1?void 0:s?E(t,i):t,o=e.length-1,n;o>=0;o--)(n=e[o])&&(a=(s?n(t,i,a):n(a))||a);return s&&a&&q(t,i,a),a};exports.default=class extends X.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(60),this.totalRows=Object.freeze(0),this.rulerStep=Object.freeze(0),this.drawLoopArrowStartPosIdx=Object.freeze(0),this.dbClickWaveFromTime=Object.freeze(0),this.timersCopy=Object.freeze(0),this.range=Object.freeze(5e3),this.heartBeatPosition=[],this.currentHeardBeat={heardBeat:null,ele:null},this.loopArrowY=Object.freeze({add:0,rowAndCol:0}),this.fontFamily=Object.freeze("\u5FAE\u8F6F\u96C5\u9ED1"),this.ruleH=Object.freeze(40),this.splitBlockHeight=0,this.splitPoint=0,this.slidingWindowInfo=Object.freeze({}),this.addSlidingWindowInfo=Object.freeze({}),this.highestAndLowestPoint=Object.freeze({maxPoints:0,minPoints:0}),this.drawArea=Object.freeze({width:0,height:0}),this.vuescrollWH={width:0,height:0},this.waveDataCopy=[],this.addWaveDataCopy=[],this.singleWaveDataCopy=[],this.leadNameList=[],this.activeLeadIdx=Object.freeze(-1),this.publicStep=Object.freeze(0),this.sceneIsMouseDown=Object.freeze(!1),this.sceneIsMouseDownX=Object.freeze(0)}get canvasContainer(){var e;return{width:this.width,height:this.height-(this.scrollConfig.isShow&&parseInt(`${(e=this.scrollConfig.bar)==null?void 0:e.size}`)||0)||0}}destroyed(){var e,t,i,s,a,o,n,r,l,d,h;this.sceneInsEventOff(),(e=this.rowAndColwaveFromGroup)==null||e.removeAll(),(t=this.singleWaveFromGroup)==null||t.removeAll(),(i=this.addwaveFromGroup)==null||i.removeAll(),(s=this.leadHeadGroup)==null||s.removeAll(),(a=this.splitLineGroup)==null||a.removeAll(),(o=this.leadHeadNameGroup)==null||o.removeAll(),(n=this.leadHeadOffAndDelGroup)==null||n.removeAll(),(r=this.rulerGroup)==null||r.removeAll(),(l=this.arrowGroup)==null||l.removeAll(),(d=this.heardBeatLineGroup)==null||d.removeAll(),(h=this.sceneIns)==null||h.dispose()}initCreatedConfig(){this.vuescrollWH.width=this.width,this.vuescrollWH.height=this.height,this.calcHeartBeatPositions(),this.initConfig()}init(){this.calcHeartBeatPositions(),this.initWaveFormPeer(),this.combinationDrawing(),this.registPostStart()}registPostStart(){this.posStart!==void 0&&this.posStart!==null&&(this.scrollConfig.isShow?this.$nextTick(()=>{var e;this.scrollConfig.isNativeScroll?(e=this.$refs[this.prefixId+"nativeScroll"])==null||e.scrollBy({left:(this.posStart||0)*(this.publicStep||1),top:0}):this.$refs[this.prefixId+"vueScroll"].scrollTo({x:(this.posStart||0)*(this.publicStep||1)})}):(this.scrollWaveFrom(this.posStart),this.scrollRuler(this.posStart),this.scrollArrow(this.posStart)))}resetScroll(e=0){this.scrollConfig.isShow?this.$nextTick(()=>{var t;this.scrollConfig.isNativeScroll?(t=this.$refs[this.prefixId+"nativeScroll"])==null||t.scrollBy({left:e,top:0}):this.$refs[this.prefixId+"vueScroll"].scrollTo({x:e})}):(this.scrollWaveFrom(e),this.scrollRuler(e),this.scrollArrow(e))}combinationDrawing(e=!0){e&&(this.drawLeadHead(),this.drawColSplitLine(),this.initSlidingWindowInfo(),this.drawRulerNotes()),this.drawWaveFrom()}calcHeartBeatPositions(){this.heartBeatPosition=[];let e=[];for(let t=0;t<this.analyseValues.length;t++){for(let i=1;i<this.analyseValues[t].length;i++)t!==1&&this.analyseValues[t][i].KeyPosByBeat.Rpoint===0||e.push({index:this.analyseValues[t][i].BeatID,position:this.analyseValues[t][i].KeyPosByBeat.Rpoint,heartrate:this.analyseValues[t][i].AnabyBeat.VentricularRate||this.analyseValues[t][i].AnabyBeat.AtrialRate,interval:Math.round(60/(this.analyseValues[t][i].AnabyBeat.VentricularRate||this.analyseValues[t][i].AnabyBeat.AtrialRate)*1e3),telectricalaxis:this.analyseValues[t][i].AnabyBeat.TAxis===9999?this.range:this.analyseValues[t][i].AnabyBeat.TAxis,qrstCompany:(this.analyseValues[t][i].AnabyBeat.QRS_T===9999?this.range:this.analyseValues[t][i].AnabyBeat.QRS_T)+"\xB0"});this.heartBeatPosition.push(e)}e=null}initSlidingWindowInfo(){const e=this.publicStep||0,t=Math.ceil(this.splitPoint/e);if(this.slidingWindowInfo={points:this.slidingWindowInfo.points!==t||this.leadModel.isSingleMode?t:this.slidingWindowInfo.points,startInd:this.slidingWindowInfo.startInd||0,endInd:(this.slidingWindowInfo.startInd||0)+t},this.scrollConfig.isShow&&!this.leadModel.isSingleMode){const s=p.getStepForSpeed(this.leadModel.publicSpeed,this.gridConfig.cellMg,this.leadModel.publicSampleRate),a=this.dataTotalLength*s;this.vuescrollWH.width=this.canvasContainer.width+(a||0)-this.splitPoint}const i=Math.ceil((this.drawArea.width-this.leadHeadConfig.leadHedeWidth)/e);this.addSlidingWindowInfo={points:this.addSlidingWindowInfo.points!==i||this.leadModel.isSingleMode?i:this.addSlidingWindowInfo.points,startInd:this.addSlidingWindowInfo.startInd||0,endInd:(this.addSlidingWindowInfo.endInd||0)+t}}calcHighestAndLowestPoint(){const e=D.flattenDeep(this.waveLists);return{maxPoints:D.max(e)||0,minPoints:D.min(e)||0}}isLeadOff(e){return!!this.waveConfigs[e].isLeadOff}isLeadDel(e){return!!this.waveConfigs[e].isLeadDelete}initConfig(){var t;this.rowAndColwaveFromGroup=new c.Group({name:"rowAndColwaveFrom"}),this.singleWaveFromGroup=new c.Group({name:"singleWaveFrom"}),this.addwaveFromGroup=new c.Group({name:"addwaveFrom"}),this.leadHeadGroup=new c.Group({name:"leadHead"}),this.splitLineGroup=new c.Group({name:"splitLine"}),this.leadHeadNameGroup=new c.Group({name:"leadHeadName"}),this.leadHeadOffAndDelGroup=new c.Group({name:"leadHeadOffAndDel"}),this.rulerGroup=new c.Group({name:"ruler"}),this.arrowGroup=new c.Group({name:"arrowLoop"}),this.heardBeatLineGroup=new c.Group({name:"heardBeatLine"});let e=this.canvasContainer.width;if(this.leadModel.ecgareawidth===1){const i=p.getPrintLengthToPx(((t=this.waveConfigs[0])==null?void 0:t.sampleRate)||0)+this.leadHeadConfig.leadHedeWidth;i<=e&&(e=i)}else if(this.leadModel.isContinuous){const i=p.getStepForSpeed(this.leadModel.publicSpeed,this.gridConfig.cellMg,this.leadModel.publicSampleRate),s=this.dataTotalLength*i;!this.leadModel.isSingleMode&&(s||0)<e-this.leadHeadConfig.leadHedeWidth&&(e=(s||0)+this.leadHeadConfig.leadHedeWidth)}this.drawArea={width:e,height:this.canvasContainer.height-this.bottomAreaHeight-30},this.slidingWindowInfo={points:this.slidingWindowInfo.points||0,startInd:this.slidingWindowInfo.startInd||0,endInd:this.slidingWindowInfo.endInd||0},this.addSlidingWindowInfo={points:this.addSlidingWindowInfo.points||0,startInd:this.addSlidingWindowInfo.startInd||0,endInd:this.addSlidingWindowInfo.endInd||0},this.loopArrowY={add:0,rowAndCol:0},this.currentHeardBeat={heardBeat:null,ele:null},this.leadNameList=this.leadNames.map((i,s)=>s)||[],this.totalRows=this.leadModel.line+this.leadModel.add||1,this.highestAndLowestPoint=this.calcHighestAndLowestPoint(),this.leadModel.isSingleMode?(this.splitBlockHeight=Math.abs(this.highestAndLowestPoint.maxPoints)+Math.abs(this.highestAndLowestPoint.minPoints)+22,this.splitBlockHeight>this.drawArea.height&&(this.splitBlockHeight=this.drawArea.height/6)):this.splitBlockHeight=this.drawArea.height/this.totalRows,this.publicStep=p.getStepForSpeed(this.leadModel.publicSpeed,this.gridConfig.cellMg,this.leadModel.publicSampleRate),this.rulerStep=(this.publicStep||1)*(this.leadModel.publicSampleRate||1)/(this.gridConfig.cellMg*2+2)}initWaveFormPeer(){var i;(i=this.sceneIns)==null||i.dispose(),this.AssistCtx=null;const e=document.getElementById(`${this.prefixId}wave-from-box`);this.sceneIns=Y.init(e,{width:this.canvasContainer.width,height:this.canvasContainer.height,devicePixelRatio:2});const t=document.getElementById(`${this.prefixId}MXGrid`);this.AssistCtx=t.getContext("2d"),this.sceneInsEventOff(),this.sceneIns.on("mousemove",this.sceneInsMousemove),this.sceneIns.on("mousedown",this.sceneInsMouseDown),this.sceneIns.on("mouseup",this.sceneInsMouseUp)}sceneInsMousemove(e){var t;this.sceneIsMouseDown&&(this.scrollConfig.isNativeScroll?(t=this.$refs[`${this.prefixId}nativeScroll`])==null||t.scrollBy({left:e.offsetX-this.sceneIsMouseDownX,top:0}):this.$refs[`${this.prefixId}vueScroll`].scrollBy({dx:e.offsetX-this.sceneIsMouseDownX}))}sceneInsMouseDown(e){this.sceneIsMouseDown=!0,this.sceneIsMouseDownX=e.offsetX}sceneInsMouseUp(e){this.sceneIsMouseDown=!1}sceneInsEventOff(){var e,t,i;(e=this.sceneIns)==null||e.off("mousemove",this.sceneInsMousemove),(t=this.sceneIns)==null||t.off("mousedown",this.sceneInsMouseDown),(i=this.sceneIns)==null||i.off("mouseup",this.sceneInsMouseUp)}drawLeadHead(){var i,s,a,o,n,r;(i=this.leadHeadGroup)==null||i.removeAll(),(s=this.sceneIns)==null||s.remove(this.leadHeadGroup);let e="",t=!1;e:for(let l=1;l<=this.totalRows;l++){if(t=!1,!(this.waveConfigs||[])[l-1])break e;if(!!this.waveConfigs[l-1].isShowLeadHead){if(l<=this.leadModel.line)e=(this.leadNames||[])[l-1]||"",this.waveConfigs[l-1].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(e)&&(t=!0),this.leadHeadConfig.isShowLeadCalibration!==!1&&((a=this.leadHeadGroup)==null||a.add(this.createLeadHead(0,this.waveConfigs[l-1].posY||l*this.splitBlockHeight,p.getSens(this.waveConfigs[l-1].gain,this.gridConfig.cellMg),t)));else if(l>this.leadModel.line&&l-this.leadModel.line<=this.leadModel.add){if(!this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]])continue;e=this.leadNames[this.longLeadConfig.leadNames[this.longLeadConfig.leadNames[l-this.leadModel.line-1]]],this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(e)&&(t=!0),this.leadHeadConfig.isShowLeadCalibration!==!1&&((n=this.leadHeadGroup)==null||n.add(this.createLeadHead(0,((o=this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]])==null?void 0:o.posY)||l*this.splitBlockHeight,p.getSens(this.waveConfigs[this.longLeadConfig.leadIdxs[l-this.leadModel.line-1]].gain,this.gridConfig.cellMg),t)))}}}(r=this.sceneIns)==null||r.add(this.leadHeadGroup)}createLeadHead(e,t,i,s){const a=this.leadHeadConfig.leadHedeWidth/4;return i=s?i/2:i,new c.Polyline({cursor:"",shape:{points:[[0+e,0+t],[a+e,0+t],[a+e,-i+t],[3*a+e,-i+t],[3*a+e,0+t],[4*a+e,0+t]]},style:{stroke:this.leadHeadConfig.leadHedeColor,lineWidth:this.leadHeadConfig.leadHedeLineWidth}})}drawColSplitLine(){var o,n,r,l,d;(o=this.splitLineGroup)==null||o.removeAll(),(n=this.sceneIns)==null||n.remove(this.splitLineGroup);const e=(this.drawArea.width-this.leadHeadConfig.leadHedeWidth)/(this.leadModel.column||1);if(this.splitPoint=e,this.leadModel.isSingleMode){const h=p.getStepForSpeed(this.waveConfigs[this.singleModeConfig.defaultSelect].speed,this.gridConfig.cellMg,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate),u=p.getDataLenTimes(Math.ceil(this.splitPoint/(h||1))||0,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate||0),I=parseInt(`${u/1e3%60}`,10);this.splitPoint=I*(this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate||0)*(h||0)}let t=0,i=0,s=0,a=0;for(let h=1;h<=this.leadModel.column-1;h++){t=h*e+this.leadHeadConfig.leadHedeWidth,i=h*this.leadModel.line;e:for(let u=1;u<=this.leadModel.line;u++){if(!(this.waveConfigs||[])[u-1+i])break e;if((this.waveConfigs||[])[u-1+i].posX!==void 0&&(t=(this.waveConfigs||[])[u-1+i].posX),s=(this.waveConfigs||[])[u-1+i].leadIdx,s===void 0)break;a=p.getSens((this.waveConfigs||[])[u-1+i].gain,this.gridConfig.cellMg),(this.waveConfigs||[])[u-1+i].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.leadNames[s])?(r=this.splitLineGroup)==null||r.add(this.creatSplitLine(t,((this.waveConfigs||[])[u-1+i].posY||u*this.splitBlockHeight)-(a||0)/2*.5,a,!0)):(l=this.splitLineGroup)==null||l.add(this.creatSplitLine(t,((this.waveConfigs||[])[u-1+i].posY||u*this.splitBlockHeight)-(a||0)*.5,a))}}(d=this.sceneIns)==null||d.add(this.splitLineGroup)}creatSplitLine(e,t,i,s){return new c.Line({cursor:"",shape:{x1:0+e,y1:0+t,x2:0+e,y2:(s?(i||0)/2:i||0)+t},style:{stroke:this.leadHeadConfig.leadHedeColor,lineWidth:this.leadHeadConfig.leadHedeLineWidth}})}drawRulerNotes(){var s,a;if(!this.rulerConfig.isShow)return;const e={fill:"#FF0080",fontSize:13,fontFamily:this.fontFamily},t=new c.Text({cursor:"",style:S({text:"(s)",x:this.leadHeadConfig.leadHedeWidth/2-8,y:this.canvasContainer.height-25},e)}),i=new c.Text({style:S({text:this.rulerConfig.renderText||`${this.rulerConfig.gainName} ${this.rulerConfig.speedName}`,x:this.leadHeadConfig.leadHedeWidth/2+20,y:this.canvasContainer.height-this.ruleH},e)});(s=this.sceneIns)==null||s.add(i),(a=this.sceneIns)==null||a.add(t)}drawRuler(e=0){var n,r,l;if(this.timersCopy=e,!this.rulerConfig.isShow)return;const t=this.dataTotalTimes*2;let i=this.leadHeadConfig.leadHedeWidth,s=0,a=t;const o=p.getStepForSpeed(this.rulerConfig.speed,this.gridConfig.cellMg,this.rulerConfig.sampleRate);if(this.leadModel.isContinuous)a=t*5;else if(!this.leadModel.add&&o){const d=p.getPointIdxForPx(this.splitPoint*(this.leadModel.column||1),o),h=p.getDataLenTimes(d,this.rulerConfig.sampleRate||0)/1e3;a=e+h}for(let d=e;d<=a;d=+(d+.1).toFixed(1))d!==e&&(i+=this.rulerStep),d%1===0?(s=this.canvasContainer.height-10,(n=this.rulerGroup)==null||n.add(new c.Text({cursor:"",style:{x:i,y:s-15,text:d+"",fontSize:13,fontFamily:this.fontFamily,fill:"#FF0080"}}))):s=this.canvasContainer.height-5,(r=this.rulerGroup)==null||r.add(new c.Line({cursor:"",shape:{x1:i,y1:s,x2:i,y2:this.canvasContainer.height},style:{stroke:"#FF0080",lineWidth:2}}));(l=this.sceneIns)==null||l.add(this.rulerGroup)}drawWaveFrom(){var e,t,i,s,a;(e=this.leadHeadNameGroup)==null||e.removeAll(),(t=this.leadHeadOffAndDelGroup)==null||t.removeAll(),this.leadModel.isSingleMode?(this.addWaveDataCopy=[],this.waveDataCopy=[],this.createSingleWaveFrom(),(i=this.sceneIns)==null||i.add(this.singleWaveFromGroup)):(this.singleWaveDataCopy=[],this.createAddWaveFrom(),this.createRowAndColWaveFrom(),(s=this.sceneIns)==null||s.add(this.rowAndColwaveFromGroup),(a=this.sceneIns)==null||a.add(this.addwaveFromGroup)),this.drawLeadHeadNameAndOffOrDel(),this.drawRuler(this.timersCopy),this.drawLoopArrow(this.drawLoopArrowStartPosIdx)}getRednerSinglePoints(){let e=0,t=0;const i=this.waveLists[this.singleModeConfig.defaultSelect]||[];let s=this.slidingWindowInfo.startInd||0,a=this.slidingWindowInfo.endInd||0;const o=p.getStepForSpeed(this.waveConfigs[this.singleModeConfig.defaultSelect].speed,this.gridConfig.cellMg,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate),n=p.getSens(this.waveConfigs[this.singleModeConfig.defaultSelect].gain,this.gridConfig.cellMg),r=[],l=Math.ceil(i.length/(this.slidingWindowInfo.points||1));for(let d=0;d<1;d++){e=d*this.splitPoint+this.leadHeadConfig.leadHedeWidth,t=0;for(let h=1;h<=l;h++)t=h*this.splitBlockHeight,h>1&&(t*=.8,s=a,a=s+(this.slidingWindowInfo.points||0)),h===1&&(this.loopArrowY.rowAndCol=t),r.push({pos:[e,t],startInd:s,endInd:a,step:o,sens:n,data:i.slice(s,a).map((u,I)=>this.waveConfigs[this.singleModeConfig.defaultSelect].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.waveConfigs[this.singleModeConfig.defaultSelect].leadName)?p.getActualY(this.waveConfigs[this.singleModeConfig.defaultSelect].sensitivity,u,n/2):p.getActualY(this.waveConfigs[this.singleModeConfig.defaultSelect].sensitivity,u,n)).map((u,I)=>[I*(o||0),-u])})}return r}createSingleWaveFrom(){var n,r,l;(n=this.singleWaveFromGroup)==null||n.removeAll();let e=this.getRednerSinglePoints(),t=p.getDataLenTimes(this.slidingWindowInfo.points||0,this.waveConfigs[this.singleModeConfig.defaultSelect].sampleRate||0);const i=t;let s=0,a=0,o=0;for(let d=0;d<e.length&&!(e[d].pos[1]>this.drawArea.height+this.bottomAreaHeight);d++)this.isLeadDel(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx)||(s=parseInt(`${t/1e3/60}`,10),a=parseInt(`${t/1e3%60}`,10),s=a===60?s+=1:s,s=s===0?"00":s<10?`0${s}`:s,a=a===0||a===60?"00":a<10?`0${a}`:a,(r=this.singleWaveFromGroup)==null||r.add(new c.Polyline({cursor:"",name:this.singleModeConfig.defaultSelect+"_"+d,shape:{points:e[d].data.map(([h,u],I)=>isNaN(u)?(o===0&&(o=I-1,o=o<0?0:o),[e[d].data[o][0]+e[d].pos[0],e[d].data[o][1]+e[d].pos[1]]):(o=0,[h+e[d].pos[0],u+e[d].pos[1]]))},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:h=>{this.onDbClickWaveFrom(h,"single")},oncontextmenu:h=>{this.onContextmenu(h,"single")}})),t/1e3<this.dataTotalTimes&&((l=this.singleWaveFromGroup)==null||l.add(new c.Text({cursor:"",style:{x:e[d].pos[0],y:e[d].pos[1]-(e[d].sens||0)/2,text:d===0?"00:00 \u5FC3\u7387":`${s}:${a} \u5FC3\u7387`,fontWeight:"bold",fontSize:14,fill:"#FF0080",fontFamily:this.fontFamily}}))),d>0&&(t+=i)),this.createLeadName(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx,e[0].pos[0]-10,e[0].pos[1]+10),this.createLeadOffAndDel(this.waveConfigs[this.singleModeConfig.defaultSelect].leadIdx,e[0].pos[0]-5,e[0].pos[1]-(e[d].sens||0)/2-15);this.singleWaveDataCopy=e,e=null}drawLoopArrow(e=0){var h,u,I,x,W,L,M,P,F,y,v,g;if(this.drawLoopArrowStartPosIdx=e,!this.heartFight.isShow)return;this.heartFight.mode&&this.currentHeardBeat.heardBeat===null&&(this.currentHeardBeat.heardBeat=this.heartBeatPosition[this.heartFight.showIdxPai][this.heartFight.defaultSelect]||null,this.drawHeardBeatLine());let t=0,i=0;if(this.leadModel.add){const m=p.getSens(this.waveConfigs[this.longLeadConfig.leadIdxs[0]].gain,this.gridConfig.cellMg);i=this.loopArrowY.add-(m||0)-this.splitBlockHeight/3.5}else i=20;let s=0,a=0;const o={fontSize:12,fill:"red",fontFamily:this.fontFamily};let n=0,r=0;const l=p.getStepForSpeed(this.waveConfigs[this.heartFight.showIdxPai].speed,this.gridConfig.cellMg,this.waveConfigs[this.heartFight.showIdxPai].sampleRate);let d=0;for(let m=0;m<(this.heartBeatPosition[this.heartFight.showIdxPai]||[]).length;m++){const f=this.heartBeatPosition[this.heartFight.showIdxPai][m];if(d=((f==null?void 0:f.position)||0)-e,!(e>((f==null?void 0:f.position)||0))&&!(!this.leadModel.isContinuous&&!this.leadModel.add&&d>(this.slidingWindowInfo.points||0))&&!(this.leadModel.isSingleMode&&d>(this.slidingWindowInfo.points||0))){if(((f==null?void 0:f.position)||0)-this.addSlidingWindowInfo.startInd>(this.addSlidingWindowInfo.points||0))break;t=d*(l||0)+this.leadHeadConfig.leadHedeWidth-8.5,a=0,(I=this.arrowGroup)==null||I.add(new c.Polygon({name:"arrow_box",shape:{points:[[4+t,0+i],[13+t,0+i],[13+t,10+i],[17+t,10+i],[8.5+t,22+i],[0+t,10+i],[4+t,10+i],[4+t,0+i]]},style:{fill:((u=(h=this.currentHeardBeat)==null?void 0:h.heardBeat)==null?void 0:u.index)===(f==null?void 0:f.index)?"blue":"#ccc"},onclick:A=>{var B;!this.heartFight.mode&&!this.heartFight.isClickArrow||(A.target.attr({style:{fill:"blue"}}),(B=this.arrowGroup)==null||B.children().filter(H=>H.name==="arrow_box").forEach(H=>{H.id!==A.target.id&&H.attr({style:{fill:"#ccc"}})}),this.arrowLoopClick(f,A.target))}})),this.heartFight.heartrate&&(n=f==null?void 0:f.heartrate,this.heartFight.isHeartRateCalculatedBasedOnInterval&&m!==0&&(r=p.calcMs(Math.abs((f==null?void 0:f.position)*(l||0)-this.heartBeatPosition[this.heartFight.showIdxPai][m-1].position*(l||0)),this.waveConfigs[this.heartFight.showIdxPai].speed,this.gridConfig.cellMg,1),n=r!==0&&p.calcBpm(r)||0),s=((x=this.AssistCtx)==null?void 0:x.measureText(`${n||""}`).width)||0,(W=this.arrowGroup)==null||W.add(new c.Text({cursor:"",style:S({x:4+t-s*1.4,y:a+i,text:`${n||""}`},o)})),a+=12),this.heartFight.interval&&(s=((L=this.AssistCtx)==null?void 0:L.measureText(`${(f==null?void 0:f.interval)||""}`).width)||0,(M=this.arrowGroup)==null||M.add(new c.Text({cursor:"",style:S({x:4+t-s*1.5,y:a+i,text:`${(f==null?void 0:f.interval)||""}`},o)})),a+=12),this.heartFight.qrstCompany&&(s=((P=this.AssistCtx)==null?void 0:P.measureText(`${(f==null?void 0:f.qrstCompany)||""}`).width)||0,(F=this.arrowGroup)==null||F.add(new c.Text({cursor:"",style:S({x:4+t-s*1.5,y:a+i,text:`${(f==null?void 0:f.qrstCompany)||""}`},o)})),a+=12),this.heartFight.telectricalaxis&&(s=((y=this.AssistCtx)==null?void 0:y.measureText(`${(f==null?void 0:f.telectricalaxis)||""}`).width)||0,(v=this.arrowGroup)==null||v.add(new c.Text({cursor:"",style:S({x:4+t-s*1.5,y:a+i,text:`${(f==null?void 0:f.telectricalaxis)||""}`},o)})))}}(g=this.sceneIns)==null||g.add(this.arrowGroup)}arrowLoopClick(e,t){this.$emit("notifyHeardBeat",c.util.clone(e)),this.currentHeardBeat.heardBeat=e,this.currentHeardBeat.ele=t,this.drawHeardBeatLine()}drawHeardBeatLine(e=0){var a,o,n,r,l,d,h,u,I,x,W,L,M,P,F;if(!this.currentHeardBeat.heardBeat)return;(a=this.heardBeatLineGroup)==null||a.removeAll(),(o=this.sceneIns)==null||o.remove(this.heardBeatLineGroup);let t={},i=0,s;if(this.leadModel.isSingleMode){let y=this.getRednerSinglePoints();e:for(let v=0;v<y.length;v++){if(v>=1||this.leadNames[this.singleModeConfig.defaultSelect]==="M")break e;if((n=this.analyseValues[this.singleModeConfig.defaultSelect])!=null&&n[this.currentHeardBeat.heardBeat.index])t=((d=(l=this.analyseValues[this.singleModeConfig.defaultSelect])==null?void 0:l[this.currentHeardBeat.heardBeat.index])==null?void 0:d.KeyPosByBeat)||t;else{let g=this.analyseValues.find(m=>{var f;return(f=m[this.currentHeardBeat.heardBeat.index])==null?void 0:f.KeyPosByBeat});if(!g)break e;g&&(t=(r=g[this.currentHeardBeat.heardBeat.index])==null?void 0:r.KeyPosByBeat),g=null}for(const g in t)if(this.heardBeatLineKeys.includes(g)){if(i=(t[g]-this.slidingWindowInfo.startInd)*(y[v].step||0),this.isLeadOff(v)||this.isLeadDel(v))continue;if(!this.leadModel.isContinuous&&t[g]-this.slidingWindowInfo.startInd>(this.slidingWindowInfo.points||0))break e;s=y[v],(h=this.heardBeatLineGroup)==null||h.add(this.createHeardBeatLine(s.pos[0]+i,s.pos[1],this.singleModeConfig.defaultSelect+"_"+v,"single"))}}y=null}else{let y=this.getRednerPoints(),v=this.getAddRednerPoints();e:for(let g=0;g<y.length;g++){t=((I=(u=this.analyseValues[g])==null?void 0:u[this.currentHeardBeat.heardBeat.index])==null?void 0:I.KeyPosByBeat)||t;for(const m in t)if(this.heardBeatLineKeys.includes(m)&&Object.prototype.hasOwnProperty.call(t,m)){if(i=(t[m]-this.slidingWindowInfo.startInd)*(y[g].step||0),this.isLeadOff(g)||this.isLeadDel(g))continue;if(e>t[m]||!this.leadModel.isContinuous&&t[m]-this.slidingWindowInfo.startInd>(this.slidingWindowInfo.points||0)||(s=y[g],this.leadModel.isContinuous&&g>this.leadModel.line-1))break e;(x=this.heardBeatLineGroup)==null||x.add(this.createHeardBeatLine(s.pos[0]+i,s.pos[1],g+"_"+g,"rowAndCol"))}}e:for(let g=0;g<v.length;g++)if(!!((W=this.analyseValues[g])!=null&&W[this.currentHeardBeat.heardBeat.index])){t=((M=(L=this.analyseValues[g])==null?void 0:L[this.currentHeardBeat.heardBeat.index])==null?void 0:M.KeyPosByBeat)||t;for(const m in t)if(this.heardBeatLineKeys.includes(m)){if(i=(t[m]-this.slidingWindowInfo.startInd)*(v[g].step||0),this.isLeadOff(this.longLeadConfig.leadIdxs[g])&&this.isLeadDel(this.longLeadConfig.leadIdxs[g]))continue;if(e>t[m])break e;s=v[g],(P=this.heardBeatLineGroup)==null||P.add(this.createHeardBeatLine(s.pos[0]+i,s.pos[1],this.longLeadConfig.leadIdxs[g]+"_"+g,"add"))}}y=null,v=null}(F=this.sceneIns)==null||F.add(this.heardBeatLineGroup),t=null}createHeardBeatLine(e,t,i,s){return new c.Line({name:i,cursor:"",shape:{x1:e,y1:t-15,x2:e,y2:t+15},style:{stroke:"blue",lineWidth:1},oncontextmenu:a=>{this.onContextmenu(a,s)}})}drawLeadHeadNameAndOffOrDel(){var e,t;(e=this.sceneIns)==null||e.add(this.leadHeadNameGroup),(t=this.sceneIns)==null||t.add(this.leadHeadOffAndDelGroup)}getAddRednerPoints(){const e=[];let t=this.leadHeadConfig.leadHedeWidth,i=0,s=0,a=[],o=0,n=0;for(let r=0;r<this.leadModel.add;r++)s=this.longLeadConfig.leadIdxs[r],this.waveConfigs[s]&&(t=this.waveConfigs[s].addPosX||t,o=p.getStepForSpeed(this.waveConfigs[s].speed,this.gridConfig.cellMg,this.waveConfigs[s].sampleRate),n=p.getSens(this.waveConfigs[s].gain,this.gridConfig.cellMg),i=this.waveConfigs[s].addPosY||(r+this.leadModel.line+1)*this.splitBlockHeight,a=this.waveLists[s]||[],r===0&&(this.loopArrowY.add=i),e.push({pos:[t,i],startInd:this.addSlidingWindowInfo.startInd||0,endInd:this.addSlidingWindowInfo.endInd||0,data:a.slice(this.addSlidingWindowInfo.startInd,this.addSlidingWindowInfo.endInd).map((l,d)=>this.waveConfigs[s].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.waveConfigs[s].leadName)?p.getActualY(this.waveConfigs[s].sensitivity,l,n/2):p.getActualY(this.waveConfigs[s].sensitivity,l,n)).map((l,d)=>[d*(o||0),-l]),sens:n,step:o}));return e}createAddWaveFrom(){var i,s;(i=this.addwaveFromGroup)==null||i.removeAll();let e=this.getAddRednerPoints(),t=0;for(let a=0;a<e.length;a++)this.isLeadDel(this.longLeadConfig.leadIdxs[a])||((s=this.addwaveFromGroup)==null||s.add(new c.Polyline({cursor:"",name:this.longLeadConfig.leadIdxs[a]+"_"+a,shape:{points:e[a].data.map(([o,n],r)=>isNaN(n)?(t===0&&(t=r-1,t=t<0?0:t),[e[a].data[t][0]+e[a].pos[0],e[a].data[t][1]+e[a].pos[1]]):(t=0,[o+e[a].pos[0],n+e[a].pos[1]]))},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:o=>{this.onDbClickWaveFrom(o,"add")},oncontextmenu:o=>{this.onContextmenu(o,"add")}})),this.createLeadName(this.longLeadConfig.leadNames[a],e[a].pos[0],e[a].pos[1]-15,!0),this.createLeadOffAndDel(this.longLeadConfig.leadIdxs[a],e[a].pos[0]-5,e[a].pos[1]-(e[a].sens||0)/2-15));this.addWaveDataCopy=e,e=null}getRednerPoints(){let e=0,t=0,i=0,s=[],a=0,o=0,n=this.slidingWindowInfo.startInd||0,r=this.slidingWindowInfo.endInd||0;const l=[];for(let d=0;d<this.leadModel.column;d++){e=d*this.splitPoint+this.leadHeadConfig.leadHedeWidth,t=0,this.leadModel.isContinuous&&d>0&&(n=r,r=n+(this.slidingWindowInfo.points||0));for(let h=1;h<=this.leadModel.line&&(t=h*this.splitBlockHeight,!(i>(this.waveLists||[]).length-1));h++)e=this.waveConfigs[i].posX||e,t=this.waveConfigs[i].posY||t,a=p.getStepForSpeed(this.waveConfigs[i].speed,this.gridConfig.cellMg,this.waveConfigs[i].sampleRate),o=p.getSens(this.waveConfigs[i].gain,this.gridConfig.cellMg),s=this.waveLists[i]||[],this.waveConfigs[i]&&(h===1&&(this.loopArrowY.rowAndCol=t),l.push({pos:[e,t],startInd:n,endInd:r,sens:o,step:a,data:s.slice(n,r).map((u,I)=>this.waveConfigs[i].gainName==="\u80F8\u5BFC\u51CF\u534A"&&/^V\w+/.test(this.waveConfigs[i].leadName)?p.getActualY(this.waveConfigs[i].sensitivity,u,o/2):p.getActualY(this.waveConfigs[i].sensitivity,u,o)).map((u,I)=>[I*(a||0),-u])}),i++)}return l}createRowAndColWaveFrom(){var s,a;(s=this.rowAndColwaveFromGroup)==null||s.removeAll();let e=this.getRednerPoints(),t=0,i=0;for(let o=0;o<e.length;o++)t=this.waveConfigs[o].leadIdx||0,this.isLeadDel(t)||(a=this.rowAndColwaveFromGroup)==null||a.add(new c.Polyline({cursor:"",name:o+"_"+o,shape:{points:e[o].data.map(([n,r],l)=>isNaN(r)?(i===0&&(i=l-1,i=i<0?0:i),[e[o].data[i][0]+e[o].pos[0],e[o].data[i][1]+e[o].pos[1]]):(i=0,[n+e[o].pos[0],r+e[o].pos[1]]))},style:{stroke:this.leadConfig.lineColor,lineWidth:this.leadConfig.lineWidth},onclick:n=>{this.onDbClickWaveFrom(n,"rowAndCol")},oncontextmenu:n=>{this.onContextmenu(n,"rowAndCol")}})),o<this.leadModel.line?(this.createLeadName(t,e[o].pos[0],e[o].pos[1]-15),this.createLeadOffAndDel(t,e[o].pos[0]-5,e[o].pos[1]-(e[o].sens||0)/2-15)):(this.createLeadName(t,e[o].pos[0]+5,e[o].pos[1]-(e[o].sens||0)/2),this.createLeadOffAndDel(t,e[o].pos[0]-5,e[o].pos[1]-(e[o].sens||0)/2+9));this.waveDataCopy=e,e=null}createLeadName(e,t,i,s=!1){var o;let a=t;this.leadHeadConfig.isShowLeadCalibration===!1&&(this.leadModel.isSingleMode?a=t-this.leadHeadConfig.leadHedeWidth+12:a=t-this.leadHeadConfig.leadHedeWidth+5),(o=this.leadHeadNameGroup)==null||o.add(new c.Text({style:{x:a,y:i,text:this.leadNames[e],fontSize:this.leadConfig.fontSize,fill:this.leadConfig.lineColor,fontFamily:this.leadConfig.fontFamily},oncontextmenu:n=>{n.event.preventDefault(),this.$emit("notiifyLeadName",{event:b(S({},n),{name:this.leadNames[e],idx:e}),isAdd:s})},onclick:n=>{this.$emit("notiifyLeadName",{event:b(S({},n),{name:this.leadNames[e],idx:e}),isAdd:s})}}))}createLeadOffAndDel(e,t,i){var s;(this.isLeadOff(e)||this.isLeadDel(e))&&((s=this.leadHeadOffAndDelGroup)==null||s.add(new c.Text({cursor:"",style:{x:t,y:i,text:"X",fontWeight:"bold",fontSize:18,fill:"#E42c03",fontFamily:this.fontFamily}})))}onContextmenu(e,t){e.event.preventDefault(),e.event.stopPropagation(),console.log("onContextmenu",e);const i=e.target.name.split("_"),s=+i[1];let a=0,o=0,n=0,r=0,l=0;t==="single"?(a=e.offsetX-this.singleWaveDataCopy[s].pos[0],o=this.singleWaveDataCopy[s].startInd,n=p.getPointIdxForPx(a,this.singleWaveDataCopy[s].step||1),r=this.singleWaveDataCopy[s].sens,l=this.singleWaveDataCopy[s].step):t==="rowAndCol"?(a=e.offsetX-this.waveDataCopy[s].pos[0],o=this.waveDataCopy[s].startInd||0,n=p.getPointIdxForPx(a,this.waveDataCopy[s].step||1),r=this.waveDataCopy[s].sens,l=this.waveDataCopy[s].step):t==="add"&&(a=e.offsetX-this.addWaveDataCopy[s].pos[0],o=this.addWaveDataCopy[s].startInd||0,n=p.getPointIdxForPx(a,this.addWaveDataCopy[s].step||1),r=this.addWaveDataCopy[s].sens,l=this.addWaveDataCopy[s].step),n+=o,this.$emit("notifyOnContextmenu",{sens:r,step:l,activeLeadIdx:+i[0],pointIdx:n,offsetX:e.offsetX,offsetY:e.offsetY,pageX:e.event.pageX,pageY:e.event.pageY})}onDbClickWaveFrom(e,t){console.log("onDbClickWaveFrom",e);const i=Date.now(),s=()=>{const a=e.target.name.split("_");this.activeLeadIdx=+a[0];const o=+a[1];let n=0,r=0,l=0,d=0,h=0;t==="single"?(n=e.offsetX-this.singleWaveDataCopy[o].pos[0],r=this.singleWaveDataCopy[o].startInd,l=p.getPointIdxForPx(n,this.singleWaveDataCopy[o].step||1),d=this.singleWaveDataCopy[o].sens,h=this.singleWaveDataCopy[o].step):t==="rowAndCol"?(n=e.offsetX-this.waveDataCopy[o].pos[0],r=this.waveDataCopy[o].startInd||0,l=p.getPointIdxForPx(n,this.waveDataCopy[o].step||1),d=this.waveDataCopy[o].sens,h=this.waveDataCopy[o].step):t==="add"&&(n=e.offsetX-this.addWaveDataCopy[o].pos[0],r=this.addWaveDataCopy[o].startInd||0,l=p.getPointIdxForPx(n,this.addWaveDataCopy[o].step||1),d=this.addWaveDataCopy[o].sens,h=this.addWaveDataCopy[o].step),l+=r,this.$emit("notifyActiveEnlargr",{sens:d,step:h,activeLeadIdx:this.activeLeadIdx,pointIdx:l})};i-this.dbClickWaveFromTime<400?(this.dbClickWaveFromTime=0,s()):this.dbClickWaveFromTime=i}nativeScrollFunc(e){console.log("event",e,e.target.scrollLeft),this.scrollCommon(e.target.scrollLeft||0)}handleScroll(e,t,i){t.type==="horizontal"&&(t.scrollLeft=t.scrollLeft||0,this.scrollCommon(t.scrollLeft))}scrollCommon(e){const t=p.getPointIdxForPx(e,this.publicStep||1);this.scrollWaveFrom(t),this.scrollRuler(t),this.scrollArrow(t),this.$emit("notifyScrollPointIdx",{slidIdxs:t,scrollLeft:e})}scrollWaveFrom(e){var s,a;this.slidingWindowInfo.startInd=e,this.slidingWindowInfo.endInd=e+(this.slidingWindowInfo.points||0),this.addSlidingWindowInfo.startInd=e,this.addSlidingWindowInfo.endInd=e+(this.addSlidingWindowInfo.points||0);let t=this.getRednerPoints(),i=this.getAddRednerPoints();this.waveDataCopy=t,this.addWaveDataCopy=i,(s=this.rowAndColwaveFromGroup)==null||s.eachChild((o,n)=>{n=n||0,!(!t[n]||!t[n].data)&&o.attr({shape:{points:t[n].data.map(([r,l])=>[r+t[n].pos[0],l+t[n].pos[1]])}})}),(a=this.addwaveFromGroup)==null||a.eachChild((o,n)=>{n=n||0,!(!i[n]||!i[n].data)&&o.attr({shape:{points:i[n].data.map(([r,l])=>[r+i[n].pos[0],l+i[n].pos[1]])}})}),t=null,i=null}scrollRuler(e){var i,s;(i=this.rulerGroup)==null||i.removeAll(),(s=this.sceneIns)==null||s.remove(this.rulerGroup);const t=p.getDataLenTimes(this.leadModel.isSingleMode?0:e,this.leadModel.publicSampleRate||0)/1e3;this.drawRuler(t)}scrollArrow(e){var t,i;(t=this.arrowGroup)==null||t.removeAll(),(i=this.sceneIns)==null||i.remove(this.arrowGroup),this.drawLoopArrow(e),this.drawHeardBeatLine(e)}};w([C.Prop({default:()=>["Pstart","Pend","QRSstart","QRSend","Tstart","Tend"]})],exports.default.prototype,"heardBeatLineKeys",2);w([C.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"width",2);w([C.Prop({required:!0,type:Number,validator:e=>typeof e=="number"})],exports.default.prototype,"height",2);w([C.Prop({default:()=>[]})],exports.default.prototype,"waveConfigs",2);w([C.Prop({default:()=>[]})],exports.default.prototype,"waveLists",2);w([C.Prop({default:()=>[]})],exports.default.prototype,"leadNames",2);w([C.Prop({default:()=>[]})],exports.default.prototype,"analyseValues",2);w([C.Prop({default:()=>({leadHedeWidth:20,leadHedeColor:"#000",leadHedeLineWidth:2})})],exports.default.prototype,"leadHeadConfig",2);w([C.Prop({required:!0})],exports.default.prototype,"leadModel",2);w([C.Prop({default:()=>({isShow:!1,gainName:"",speedName:""})})],exports.default.prototype,"rulerConfig",2);w([C.Prop({default:()=>({lineColor:"#000",lineWidth:1,fontFamily:"\u5FAE\u8F6F\u96C5\u9ED1",fontSize:15})})],exports.default.prototype,"leadConfig",2);w([C.Prop({required:!0})],exports.default.prototype,"gridConfig",2);w([C.Prop({default:()=>({isShow:!1,speed:0,sens:0})})],exports.default.prototype,"measurRulerConfig",2);w([C.Prop({default:()=>({isShow:!1,heartRate:60,speed:0,sens:0})})],exports.default.prototype,"paralleRulerConfig",2);w([C.Prop({default:()=>({isShow:!1,speed:0})})],exports.default.prototype,"magnifierRulerConfig",2);w([C.Prop({default:()=>({isShow:!1,mode:!1,defaultSelect:2,heartrate:!1,interval:!1,qrstCompany:!1,telectricalaxis:!1,isClickArrow:!1,showIdxPai:0})})],exports.default.prototype,"heartFight",2);w([C.Prop({default:()=>({leadIdxs:[1,6,10],leadNames:[1,6,10]})})],exports.default.prototype,"longLeadConfig",2);w([C.Prop({default:()=>({defaultSelect:1})})],exports.default.prototype,"singleModeConfig",2);w([C.Prop({default:()=>({isShow:!0,isNativeScroll:!1,scrollPanel:{scrollingY:!1},bar:{keepShow:!0,size:"10px"}})})],exports.default.prototype,"scrollConfig",2);w([C.Prop({default:()=>0})],exports.default.prototype,"dataTotalTimes",2);w([C.Prop({default:()=>0})],exports.default.prototype,"dataTotalLength",2);w([C.Prop({default:()=>""})],exports.default.prototype,"prefixId",2);w([C.Prop({default:()=>0})],exports.default.prototype,"posStart",2);w([p.throttling(200)],exports.default.prototype,"nativeScrollFunc",1);w([p.throttling(200)],exports.default.prototype,"handleScroll",1);exports.default=w([_.default({name:"Methods"})],exports.default);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "costy-plus",
3
- "version": "1.1.8-0",
3
+ "version": "1.1.10-0",
4
4
  "main": "dist/lib/index.js",
5
5
  "module": "dist/es/index.js",
6
6
  "types": "dist/es/index.d.ts",