kd-lane-chart-v3 0.0.8 → 0.1.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.
package/dist/esm/index.js CHANGED
@@ -2929,7 +2929,7 @@ const _hoisted_2$6 = { class: "legend-content" };
2929
2929
  const _hoisted_3$5 = { class: "scale-left" };
2930
2930
  const _hoisted_4$5 = ["onClick"];
2931
2931
  const _hoisted_5$4 = { class: "legend-line-item-top" };
2932
- const _hoisted_6$4 = { class: "legend-text" };
2932
+ const _hoisted_6$3 = { class: "legend-text" };
2933
2933
  const _hoisted_7$3 = {
2934
2934
  key: 0,
2935
2935
  class: "legend-data"
@@ -2959,7 +2959,7 @@ function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
2959
2959
  class: normalizeClass(["legend-color", legend.lineType]),
2960
2960
  style: normalizeStyle({ borderBottom: `2px ${legend.lineType} ${legend.color}` })
2961
2961
  }, null, 6),
2962
- createElementVNode("div", _hoisted_6$4, toDisplayString(legend.label), 1)
2962
+ createElementVNode("div", _hoisted_6$3, toDisplayString(legend.label), 1)
2963
2963
  ]),
2964
2964
  $props.formCache.displayType == "header" ? (openBlock(), createElementBlock("div", _hoisted_7$3, toDisplayString(legend.data), 1)) : createCommentVNode("", true)
2965
2965
  ], 12, _hoisted_4$5);
@@ -4072,7 +4072,7 @@ const _hoisted_5$3 = {
4072
4072
  key: 0,
4073
4073
  class: "kd-lane-chart-lane-container-echart"
4074
4074
  };
4075
- const _hoisted_6$3 = ["onMousedown"];
4075
+ const _hoisted_6$2 = ["onMousedown"];
4076
4076
  const _hoisted_7$2 = ["id", "lane-id"];
4077
4077
  const _hoisted_8$1 = ["onMousedown"];
4078
4078
  const _hoisted_9$1 = {
@@ -4204,7 +4204,7 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
4204
4204
  key: 1,
4205
4205
  class: "kd-lane-resize-handle kd-lane-resize-handle-right",
4206
4206
  onMousedown: ($event) => $options.startResize($event, lane, "right")
4207
- }, null, 40, _hoisted_6$3)) : createCommentVNode("", true)
4207
+ }, null, 40, _hoisted_6$2)) : createCommentVNode("", true)
4208
4208
  ], 64))
4209
4209
  ], 14, _hoisted_1$6);
4210
4210
  }), 128)),
@@ -4407,7 +4407,7 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
4407
4407
  }, 8, ["modelValue", "onClose"])
4408
4408
  ], 544);
4409
4409
  }
4410
- const KdLaneContainerComponent = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render$6], ["__scopeId", "data-v-423ed0d6"]]);
4410
+ const KdLaneContainerComponent = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render$6], ["__scopeId", "data-v-58d1cc31"]]);
4411
4411
  const SLIDER_GROUP_ID = "depthSliderGroup";
4412
4412
  function pad2(n) {
4413
4413
  return n < 10 ? "0" + n : "" + n;
@@ -4633,20 +4633,20 @@ const _sfc_main$5 = {
4633
4633
  (d) => d[axisKey] == item[axisKey] && d.timestamp == item.timestamp
4634
4634
  );
4635
4635
  if (matchIndex > -1) {
4636
- this.$set(this.cachedCurveData, matchIndex, {
4636
+ this.cachedCurveData[matchIndex] = {
4637
4637
  ...this.cachedCurveData[matchIndex],
4638
4638
  ...item
4639
- });
4639
+ };
4640
4640
  }
4641
4641
  } else {
4642
4642
  const matchIndex = this.cachedCurveData.findIndex(
4643
4643
  (d) => d[axisKey] == item[axisKey]
4644
4644
  );
4645
4645
  if (matchIndex > -1) {
4646
- this.$set(this.cachedCurveData, matchIndex, {
4646
+ this.cachedCurveData[matchIndex] = {
4647
4647
  ...this.cachedCurveData[matchIndex],
4648
4648
  ...item
4649
- });
4649
+ };
4650
4650
  }
4651
4651
  }
4652
4652
  });
@@ -5675,7 +5675,7 @@ const _hoisted_4$3 = {
5675
5675
  class: "chart"
5676
5676
  };
5677
5677
  const _hoisted_5$2 = { class: "label-card" };
5678
- const _hoisted_6$2 = { class: "label-row" };
5678
+ const _hoisted_6$1 = { class: "label-row" };
5679
5679
  const _hoisted_7$1 = { class: "label-row" };
5680
5680
  function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
5681
5681
  const _component_el_radio = resolveComponent("el-radio");
@@ -5711,7 +5711,7 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
5711
5711
  style: normalizeStyle($options.labelFloatStyle)
5712
5712
  }, [
5713
5713
  createElementVNode("div", _hoisted_5$2, [
5714
- createElementVNode("div", _hoisted_6$2, toDisplayString($data.labelPos.line1), 1),
5714
+ createElementVNode("div", _hoisted_6$1, toDisplayString($data.labelPos.line1), 1),
5715
5715
  createElementVNode("div", _hoisted_7$1, toDisplayString($data.labelPos.line2), 1)
5716
5716
  ])
5717
5717
  ], 4), [
@@ -5720,7 +5720,7 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
5720
5720
  ], 512)
5721
5721
  ], 512);
5722
5722
  }
5723
- const DepthTimeChart = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["render", _sfc_render$5], ["__scopeId", "data-v-b2c14c77"]]);
5723
+ const DepthTimeChart = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["render", _sfc_render$5], ["__scopeId", "data-v-75a3a4e4"]]);
5724
5724
  const curveExportIcon = "data:image/png;base64,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";
5725
5725
  const depthSlotIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAA2CAYAAACMRWrdAAAFnUlEQVRo3u1ZTWxUVRT+zptOp51pZZpOaWlGCgIFFIRgiCsNJi6MbFyyMRqgPygmJhrXNbJgQQQTSf9mGhaEuGkCK/9iMkhAoxAoJCIBTZEWO0Ch03ZsZzpzPxf3venr0JoZ7LzOkJ7Mz3v3vfvuO/ec7zvn3Assy7IUhUihB9h74MBGI8099jblkq/6OjtvFHLcskIrZii1KVFZ3zEW2AEFYc39S1KRiF4BUNqKAUCiciVGVr/BFAWVk0OoSEQLPqbhlM/TYYyVOYVkIUUc1M5w0lxOquaMYiJOEPBSWIyAOAszZzAGcdgRHWNFghDSQasZTllMtH7ylJEHtameOlZ0Ojo7mXmIw4oVhBX3t7YdFYofAKiwJlstUXKwpaX9LZNWpm/dvPFBJBJJlQDdy/SUf/07sYadUIRMe2ppUX501at8UPPi6wrCVdHzqI7/+cViK1UwV2Ta1eWJD6cnA1sQq9+J+Ip10PQhjK1oxr2VL3PUv1W8U8MJqPThksFYOHz8tjEzddI/9CMIzYRCiGYR7ZYN939CWTp5OhQKRUuKPETUIf/dCwKmrcxD/5NiqBSCIz8gnebhQo1fMMV6enr+cM2Mf+OPXhKQYo9hDdFzUp4cP93X1z1QknQvNA7X3vkeAkUb77Mheh5KyZGSjWO9vZ1ny6ceRKpHr4mFrZqH11AxHb0YDnedL+kALcCXtX+fy6QfwTtfCxQOlXzZcvPm72c2bMAtX+zWOkVIZXzoSijUfaYoFGtpbTsHSNCW+k2Gerq25tI3Eomkmps3H2q4892JtOEBRbryymJa2i6L6CwGABQ5FO7tfmWRLCbB4e0H18x4/JR0AmsvHZkguSXXl4vH4wOfHz02CvzDAx9/djHU3Zlz3/b299b98vwn1akyL8uTY9hx/ejiumKqws9UeY1IetqKsp5c+/p8Pqysq+t3u90TgUAA+fQFgOmKWqZclQAphcGYCJ+0Btm9+81T/68ykLwWF3JXjBRrVeZJJBgMThZ1PeZ0XWWbVAhyd8WcFdPJrCxFMZyZTiuhXlTFBBSQsiQWM6dTCkIeIoQImMfDF00tMb1FCmCxDNU6uuw564jMEwRGXhYDl8gTTQgULI7Neryrv7+/2SF0uSxXLGASLKQYmPI1es9cuH4qC9vZh/PAP7tBSBNFgPYIZo2HykYBXHknBnkGaJAuD/566SOCEEUCYpCk0HxJQodxmqGBBGjjaWUeZt2n+ypo7jWXEJR1TT9Y8KSZx7597zcZhlpjnacNNdbXbZbvIpxT4pMZIuFjFtEvlsGlxWqKIqAo61kwUzTqPU+xlnvMiZpdBNIK20fY29a2zaWM2axfGYPh8PHb8yomrvS7SV+yY6YqASPpQsVDbwTAawDgiQ1KmXsUFGtKYR0DJDQIRO+qMONSYk22FV0tyiZpntC0GoUwiDl9xTI4QIo7OT7LekqOxXwPdyVdM/AmfPAmfR0APl3QFR+tH0V02136Rqrw3Lcbreaf6387OYgiEAWMWMfXmgZw75koNw+9gE3DW3LAmJmWiWBXS2u7uVGCohAB0NLavkd7DCkLJEMLkkd81QQH3r4IpikUkiSgIAqk/sz9AgCVdiwqitlGRQWLAax2ivZdKgqhn23vk7kP5lWTPZTKjDPnes4BWgzR9xMCYxa0NFGdsaoZXAQi9nOdfmnwiBV/aO7+yQIxQfuITtnEgl0mOTD/ZJ5uMm/RUTY/sxOVj7xo/PVZ2MBsiz8UW2zK8JW1vWe7D8w6N3/tHKe3BZkV4Gy5r/VS2VH6atNlxLxjecQxQlwJF6pGqq4AxocoSlHH3Kny7cT8rviYYr6RKtSjEe7JchAyFurtPFuMau1vaR9bfb+JgYk6BMbr/lsxoUR80eoOX7TaKhcGUaRCkROrH6yN2N8dy7IsxSf/Avx35qhCwuXeAAAAAElFTkSuQmCC";
5726
5726
  const refreshIcon = "data:image/png;base64,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";
@@ -6185,7 +6185,7 @@ const _hoisted_4$2 = {
6185
6185
  class: "label"
6186
6186
  };
6187
6187
  const _hoisted_5$1 = { class: "elTooltipArea" };
6188
- const _hoisted_6$1 = {
6188
+ const _hoisted_6 = {
6189
6189
  key: 7,
6190
6190
  class: "label"
6191
6191
  };
@@ -6384,7 +6384,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
6384
6384
  ]),
6385
6385
  _: 1
6386
6386
  }, 8, ["disabled"])) : createCommentVNode("", true),
6387
- $props.currentToolBarConfig.timeRangeSelectShow !== false ? (openBlock(), createElementBlock("div", _hoisted_6$1, "时间范围:")) : createCommentVNode("", true),
6387
+ $props.currentToolBarConfig.timeRangeSelectShow !== false ? (openBlock(), createElementBlock("div", _hoisted_6, "时间范围:")) : createCommentVNode("", true),
6388
6388
  $props.currentToolBarConfig.timeRangeSelectShow !== false ? (openBlock(), createBlock(_component_el_tooltip, {
6389
6389
  key: 8,
6390
6390
  disabled: !($data.form.axisType == "depth"),
@@ -7395,6 +7395,7 @@ const _sfc_main$2 = {
7395
7395
  // 当前右键菜单来源:'missingPoint' | 'markArea' | null
7396
7396
  currentContextMenuType: null,
7397
7397
  activeSubMenu: null,
7398
+ subMenuDirection: "right",
7398
7399
  params: [],
7399
7400
  contextItem: void 0,
7400
7401
  realTimeData: [],
@@ -8465,7 +8466,31 @@ const _sfc_main$2 = {
8465
8466
  },
8466
8467
  formatter: (series) => {
8467
8468
  var _a;
8468
- const uniqueSeries = series.filter((item) => item.seriesName !== "helper");
8469
+ const uniqueSeries = series.filter((item) => item.seriesName !== "helper").reduce((acc, current) => {
8470
+ const existingIndex = acc.findIndex(
8471
+ (item) => item.seriesName === current.seriesName
8472
+ );
8473
+ if (existingIndex === -1) {
8474
+ acc.push(current);
8475
+ } else {
8476
+ const existingItem = acc[existingIndex];
8477
+ const existingValue = Array.isArray(existingItem.value) ? existingItem.value[0] : existingItem.value;
8478
+ const currentValue = Array.isArray(current.value) ? current.value[0] : current.value;
8479
+ const existingHasValue = existingValue !== void 0 && existingValue !== null && existingValue !== "";
8480
+ const currentHasValue = currentValue !== void 0 && currentValue !== null && currentValue !== "";
8481
+ if (!existingHasValue && currentHasValue) ;
8482
+ else if (existingHasValue && !currentHasValue) {
8483
+ acc[existingIndex] = current;
8484
+ } else if (existingHasValue && currentHasValue) {
8485
+ if (Number(currentValue) > Number(existingValue)) {
8486
+ acc[existingIndex] = current;
8487
+ }
8488
+ } else {
8489
+ acc[existingIndex] = current;
8490
+ }
8491
+ }
8492
+ return acc;
8493
+ }, []);
8469
8494
  if (this.tooltipFormatter && typeof this.tooltipFormatter === "function") {
8470
8495
  let mousePositionData = null;
8471
8496
  if (uniqueSeries.length > 0) {
@@ -8531,7 +8556,7 @@ const _sfc_main$2 = {
8531
8556
  }
8532
8557
  if (!needConvert) {
8533
8558
  const num = Number(time);
8534
- if (isNaN(num)) return Date.now();
8559
+ if (isNaN(num)) return null;
8535
8560
  if (String(num).length === 13 || num > 1e12) {
8536
8561
  return num;
8537
8562
  } else {
@@ -8540,7 +8565,7 @@ const _sfc_main$2 = {
8540
8565
  } else {
8541
8566
  const timestamp = new Date(time).getTime();
8542
8567
  if (isNaN(timestamp)) {
8543
- return Date.now();
8568
+ return null;
8544
8569
  }
8545
8570
  return timestamp;
8546
8571
  }
@@ -9168,11 +9193,21 @@ const _sfc_main$2 = {
9168
9193
  let lastValidPoint = null;
9169
9194
  let lastValidIndex = -1;
9170
9195
  let inMissingRange = false;
9196
+ let firstValidPoint = null;
9197
+ let firstValidIndex = -1;
9198
+ let hasMissingAtStart = false;
9171
9199
  for (let i = 0; i < seriesData.length; i++) {
9172
9200
  const point = seriesData[i];
9173
9201
  const value = point[0];
9174
9202
  const isValid = value !== null && value !== void 0 && value !== "" && Number.isFinite(+value);
9175
9203
  if (isValid) {
9204
+ if (firstValidPoint === null) {
9205
+ firstValidPoint = point;
9206
+ firstValidIndex = i;
9207
+ if (i > 0) {
9208
+ hasMissingAtStart = true;
9209
+ }
9210
+ }
9176
9211
  if (inMissingRange && lastValidPoint) {
9177
9212
  boundaryPoints.push({
9178
9213
  data: lastValidPoint,
@@ -9194,6 +9229,20 @@ const _sfc_main$2 = {
9194
9229
  }
9195
9230
  }
9196
9231
  }
9232
+ if (hasMissingAtStart && firstValidPoint) {
9233
+ boundaryPoints.push({
9234
+ data: firstValidPoint,
9235
+ type: "bottom",
9236
+ originalIndex: firstValidIndex
9237
+ });
9238
+ }
9239
+ if (inMissingRange && lastValidPoint) {
9240
+ boundaryPoints.push({
9241
+ data: lastValidPoint,
9242
+ type: "top",
9243
+ originalIndex: lastValidIndex
9244
+ });
9245
+ }
9197
9246
  return boundaryPoints;
9198
9247
  },
9199
9248
  async handleChartClick(e, laneId) {
@@ -9384,6 +9433,9 @@ const _sfc_main$2 = {
9384
9433
  });
9385
9434
  const scatterData = filteredPoints.map((point) => ({
9386
9435
  value: point.value,
9436
+ lineId: point.lineId,
9437
+ paramId: point.paramId,
9438
+ timestamp: point.timestamp,
9387
9439
  itemStyle: {
9388
9440
  color: point.color || "#1890ff",
9389
9441
  borderColor: "#fff",
@@ -9506,7 +9558,27 @@ const _sfc_main$2 = {
9506
9558
  }
9507
9559
  }
9508
9560
  if (clickedPoint) {
9509
- this.showContextMenu(clickedPoint, laneId, e);
9561
+ if (clickedPoint.type && (clickedPoint.type === "top" || clickedPoint.type === "bottom")) {
9562
+ this.showContextMenu(clickedPoint, laneId, e);
9563
+ } else if (clickedPoint.paramId && clickedPoint.lineId) {
9564
+ const markAreaIndex = this.findMarkAreaByPoint(clickedPoint, laneId);
9565
+ if (markAreaIndex !== -1) {
9566
+ this.currentMarkAreaIndex = markAreaIndex;
9567
+ this.currentContextMenuType = "markArea";
9568
+ this.currentPointInfo = null;
9569
+ this.currentContextMenuItems = [
9570
+ ...this.markAreaMenuConfig || [],
9571
+ { label: "删除区块", action: "deleteMarkArea" }
9572
+ ];
9573
+ this.calculateContextMenuPosition(e);
9574
+ this.contextMenuVisible = true;
9575
+ this.activeSubMenu = null;
9576
+ } else {
9577
+ this.showMarkAreaContextMenu(laneId, e);
9578
+ }
9579
+ } else {
9580
+ this.showMarkAreaContextMenu(laneId, e);
9581
+ }
9510
9582
  } else {
9511
9583
  this.showMarkAreaContextMenu(laneId, e);
9512
9584
  }
@@ -9645,12 +9717,35 @@ const _sfc_main$2 = {
9645
9717
  this.currentContextMenuType = null;
9646
9718
  this.currentContextMenuItems = [];
9647
9719
  this.activeSubMenu = null;
9720
+ this.subMenuDirection = "right";
9648
9721
  this.menuWidth = null;
9649
9722
  this.menuHeight = null;
9650
9723
  },
9651
9724
  showSubMenu(item, event) {
9652
9725
  event.stopPropagation();
9653
9726
  this.activeSubMenu = item;
9727
+ const parentMenuItem = event.currentTarget;
9728
+ this.$nextTick(() => {
9729
+ const container = document.querySelector(".kd-lane-chart-lane-container-echart");
9730
+ const subMenu = parentMenuItem == null ? void 0 : parentMenuItem.querySelector(".sub-menu");
9731
+ if (!container || !parentMenuItem || !subMenu) return;
9732
+ subMenu.style.visibility = "hidden";
9733
+ const containerRect = container.getBoundingClientRect();
9734
+ const parentRect = parentMenuItem.getBoundingClientRect();
9735
+ const subMenuWidth = subMenu.offsetWidth;
9736
+ const rightAvailable = containerRect.right - parentRect.right;
9737
+ this.subMenuDirection = rightAvailable >= subMenuWidth ? "right" : "left";
9738
+ subMenu.style.visibility = "";
9739
+ });
9740
+ },
9741
+ getSubMenuStyle() {
9742
+ return {
9743
+ left: this.subMenuDirection === "right" ? "100%" : "auto",
9744
+ right: this.subMenuDirection === "right" ? "auto" : "100%",
9745
+ top: 0,
9746
+ marginLeft: this.subMenuDirection === "right" ? "4px" : "auto",
9747
+ marginRight: this.subMenuDirection === "right" ? "auto" : "4px"
9748
+ };
9654
9749
  },
9655
9750
  handleContextMenuItemClick(item) {
9656
9751
  if (item.action === "deleteMarkArea") {
@@ -9695,6 +9790,7 @@ const _sfc_main$2 = {
9695
9790
  return;
9696
9791
  }
9697
9792
  const { topPoint, bottomPoint } = this.findBoundaryPointPair(currentPoint);
9793
+ console.log("获取到的起始点和结束点", topPoint, bottomPoint);
9698
9794
  this.$emit("missingPointMenuItemClick", {
9699
9795
  pointInfo: currentPoint,
9700
9796
  menuItem: item,
@@ -9766,6 +9862,11 @@ const _sfc_main$2 = {
9766
9862
  );
9767
9863
  if (nextPoint) {
9768
9864
  bottomPoint = nextPoint;
9865
+ } else {
9866
+ bottomPoint = this.findBoundaryPointFromRealTimeData(
9867
+ currentPoint,
9868
+ "bottom"
9869
+ );
9769
9870
  }
9770
9871
  } else if (currentPoint.type === "bottom" && bottomPoint) {
9771
9872
  const prevPoint = option.series.filter((s) => s.type === "scatter").flatMap((s) => s.data || []).find(
@@ -9773,10 +9874,110 @@ const _sfc_main$2 = {
9773
9874
  );
9774
9875
  if (prevPoint) {
9775
9876
  topPoint = prevPoint;
9877
+ } else {
9878
+ topPoint = this.findBoundaryPointFromRealTimeData(currentPoint, "top");
9776
9879
  }
9777
9880
  }
9778
9881
  return { topPoint, bottomPoint };
9779
9882
  },
9883
+ findBoundaryPointFromRealTimeData(currentPoint, targetType) {
9884
+ const axisKey = this.currentToolBarConfig.axisTypeList && this.currentToolBarConfig.axisTypeList[this.formCache.axisType] || (this.formCache.axisType === "time" ? "time" : "depth");
9885
+ const currentYValue = currentPoint.value[1];
9886
+ const paramId = currentPoint.paramId;
9887
+ let searchStartIndex = -1;
9888
+ const tolerance = this.formCache.axisType === "depth" ? 0.01 : 1e3;
9889
+ for (let i = 0; i < this.realTimeData.length; i++) {
9890
+ const item = this.realTimeData[i];
9891
+ let itemYValue = item[axisKey];
9892
+ if (this.formCache.axisType !== "depth") {
9893
+ itemYValue = this.toMillisecondTimestamp(itemYValue);
9894
+ } else {
9895
+ itemYValue = Number(itemYValue);
9896
+ }
9897
+ if (Math.abs(itemYValue - currentYValue) < tolerance) {
9898
+ searchStartIndex = i;
9899
+ break;
9900
+ }
9901
+ }
9902
+ if (searchStartIndex === -1) return null;
9903
+ let boundaryPoint = null;
9904
+ if (targetType === "bottom") {
9905
+ for (let i = searchStartIndex + 1; i < this.realTimeData.length; i++) {
9906
+ const item = this.realTimeData[i];
9907
+ const value = item[paramId];
9908
+ if (value !== null && value !== void 0 && value !== "" && Number.isFinite(+value)) {
9909
+ let itemYValue = item[axisKey];
9910
+ if (this.formCache.axisType !== "depth") {
9911
+ itemYValue = this.toMillisecondTimestamp(itemYValue);
9912
+ } else {
9913
+ itemYValue = Number(itemYValue);
9914
+ }
9915
+ boundaryPoint = {
9916
+ value: [value, itemYValue],
9917
+ lineId: currentPoint.lineId,
9918
+ paramId,
9919
+ type: "bottom",
9920
+ originalIndex: i
9921
+ };
9922
+ break;
9923
+ }
9924
+ }
9925
+ if (!boundaryPoint) {
9926
+ const lastItem = this.realTimeData[this.realTimeData.length - 1];
9927
+ let lastYValue = lastItem[axisKey];
9928
+ if (this.formCache.axisType !== "depth") {
9929
+ lastYValue = this.toMillisecondTimestamp(lastYValue);
9930
+ } else {
9931
+ lastYValue = Number(lastYValue);
9932
+ }
9933
+ boundaryPoint = {
9934
+ value: [lastItem[paramId], lastYValue],
9935
+ lineId: currentPoint.lineId,
9936
+ paramId,
9937
+ type: "bottom",
9938
+ originalIndex: this.realTimeData.length - 1
9939
+ };
9940
+ }
9941
+ } else {
9942
+ for (let i = searchStartIndex - 1; i >= 0; i--) {
9943
+ const item = this.realTimeData[i];
9944
+ const value = item[paramId];
9945
+ if (value !== null && value !== void 0 && value !== "" && Number.isFinite(+value)) {
9946
+ let itemYValue = item[axisKey];
9947
+ if (this.formCache.axisType !== "depth") {
9948
+ itemYValue = this.toMillisecondTimestamp(itemYValue);
9949
+ } else {
9950
+ itemYValue = Number(itemYValue);
9951
+ }
9952
+ boundaryPoint = {
9953
+ value: [value, itemYValue],
9954
+ lineId: currentPoint.lineId,
9955
+ paramId,
9956
+ type: "top",
9957
+ originalIndex: i
9958
+ };
9959
+ break;
9960
+ }
9961
+ }
9962
+ if (!boundaryPoint) {
9963
+ const firstItem = this.realTimeData[0];
9964
+ let firstYValue = firstItem[axisKey];
9965
+ if (this.formCache.axisType !== "depth") {
9966
+ firstYValue = this.toMillisecondTimestamp(firstYValue);
9967
+ } else {
9968
+ firstYValue = Number(firstYValue);
9969
+ }
9970
+ boundaryPoint = {
9971
+ value: [firstItem[paramId], firstYValue],
9972
+ lineId: currentPoint.lineId,
9973
+ paramId,
9974
+ type: "top",
9975
+ originalIndex: 0
9976
+ };
9977
+ }
9978
+ }
9979
+ return boundaryPoint;
9980
+ },
9780
9981
  // 获取Y轴标签格式化函数
9781
9982
  getYAxisLabelFormatter(isTimeLane, dataGroups, groupIndex, groupMin, groupMax, axisKey) {
9782
9983
  return (value) => {
@@ -10713,8 +10914,12 @@ const _sfc_main$2 = {
10713
10914
  watch: {
10714
10915
  activeLaneId: {
10715
10916
  handler(newVal) {
10716
- const lane = this.currentTemplate.lanes.find((item) => item.laneId === newVal) || {};
10717
- this.$emit("updateLaneId", lane);
10917
+ if (newVal) {
10918
+ const lane = this.currentTemplate.lanes.find((item) => item.laneId === newVal) || {};
10919
+ this.$emit("updateLaneId", lane);
10920
+ } else {
10921
+ this.$emit("updateLaneId", {});
10922
+ }
10718
10923
  },
10719
10924
  immediate: true
10720
10925
  },
@@ -10868,27 +11073,43 @@ const _sfc_main$2 = {
10868
11073
  (d) => d[axisKey] == item[axisKey] && d.timestamp == item.timestamp
10869
11074
  );
10870
11075
  if (matchIndex > -1) {
10871
- this.$set(this.realTimeData, matchIndex, {
11076
+ this.realTimeData[matchIndex] = {
10872
11077
  ...this.realTimeData[matchIndex],
10873
11078
  ...item
10874
- });
11079
+ };
10875
11080
  }
10876
11081
  } else {
10877
11082
  const matchIndex = this.realTimeData.findIndex(
10878
11083
  (d) => d[axisKey] == item[axisKey]
10879
11084
  );
10880
11085
  if (matchIndex > -1) {
10881
- this.$set(this.realTimeData, matchIndex, {
11086
+ this.realTimeData[matchIndex] = {
10882
11087
  ...this.realTimeData[matchIndex],
10883
11088
  ...item
10884
- });
11089
+ };
10885
11090
  }
10886
11091
  }
10887
11092
  });
10888
- this.getLatestLineDataByParamCode();
10889
- await this.$nextTick();
10890
- this.updateLanesChartOption();
11093
+ } else {
11094
+ data = data.map((item) => ({
11095
+ ...item,
11096
+ timestamp: this.toMillisecondTimestamp(item.timestamp)
11097
+ }));
11098
+ data.forEach((item) => {
11099
+ const matchIndex = this.realTimeData.findIndex(
11100
+ (d) => d[axisKey] == item[axisKey]
11101
+ );
11102
+ if (matchIndex > -1) {
11103
+ this.realTimeData[matchIndex] = {
11104
+ ...this.realTimeData[matchIndex],
11105
+ ...item
11106
+ };
11107
+ }
11108
+ });
10891
11109
  }
11110
+ this.getLatestLineDataByParamCode();
11111
+ await this.$nextTick();
11112
+ this.updateLanesChartOption();
10892
11113
  } else {
10893
11114
  console.log(newVal, "newVal");
10894
11115
  let data = cloneDeep(newVal && newVal.data) || [];
@@ -10952,13 +11173,8 @@ const _hoisted_2$2 = {
10952
11173
  ref: "targetDom"
10953
11174
  };
10954
11175
  const _hoisted_3$1 = ["onMouseenter", "onClick"];
10955
- const _hoisted_4$1 = {
10956
- key: 0,
10957
- class: "context-menu sub-menu",
10958
- style: { left: "100%", top: 0 }
10959
- };
11176
+ const _hoisted_4$1 = ["onClick"];
10960
11177
  const _hoisted_5 = ["onClick"];
10961
- const _hoisted_6 = ["onClick"];
10962
11178
  function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
10963
11179
  const _component_resizeEcharts = resolveComponent("resizeEcharts");
10964
11180
  const _component_chartContainer = resolveComponent("chartContainer");
@@ -11071,7 +11287,11 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
11071
11287
  }, [
11072
11288
  createElementVNode("span", null, toDisplayString(item.label), 1),
11073
11289
  _cache[8] || (_cache[8] = createElementVNode("span", { class: "arrow" }, "›", -1)),
11074
- $data.activeSubMenu === item ? (openBlock(), createElementBlock("div", _hoisted_4$1, [
11290
+ $data.activeSubMenu === item ? (openBlock(), createElementBlock("div", {
11291
+ key: 0,
11292
+ class: "context-menu sub-menu",
11293
+ style: normalizeStyle($options.getSubMenuStyle())
11294
+ }, [
11075
11295
  (openBlock(true), createElementBlock(Fragment, null, renderList(item.children, (child, childIndex) => {
11076
11296
  return openBlock(), createElementBlock("div", {
11077
11297
  key: childIndex,
@@ -11079,16 +11299,16 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
11079
11299
  onClick: ($event) => $options.handleContextMenuItemClick(child)
11080
11300
  }, [
11081
11301
  createElementVNode("span", null, toDisplayString(child.label), 1)
11082
- ], 8, _hoisted_5);
11302
+ ], 8, _hoisted_4$1);
11083
11303
  }), 128))
11084
- ])) : createCommentVNode("", true)
11304
+ ], 4)) : createCommentVNode("", true)
11085
11305
  ], 40, _hoisted_3$1)) : (openBlock(), createElementBlock("div", {
11086
11306
  key: 1,
11087
11307
  class: "context-menu-item",
11088
11308
  onClick: ($event) => $options.handleContextMenuItemClick(item)
11089
11309
  }, [
11090
11310
  createElementVNode("span", null, toDisplayString(item.label), 1)
11091
- ], 8, _hoisted_6))
11311
+ ], 8, _hoisted_5))
11092
11312
  ], 64);
11093
11313
  }), 128))
11094
11314
  ], 4)
@@ -11097,7 +11317,7 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
11097
11317
  ])
11098
11318
  ], 512);
11099
11319
  }
11100
- const chartContainer = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2], ["__scopeId", "data-v-b2028739"]]);
11320
+ const chartContainer = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2], ["__scopeId", "data-v-d90c5e39"]]);
11101
11321
  const _sfc_main$1 = {
11102
11322
  name: "ParameterPanel",
11103
11323
  props: {