kd-curve-v2 0.0.4 → 0.0.5

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
@@ -2175,7 +2175,7 @@ var script$a = {
2175
2175
  },
2176
2176
  };
2177
2177
 
2178
- var css_248z$b = "@charset \"UTF-8\";\n.function-control-panel[data-v-a67ba94a] {\n width: 100%;\n height: 100%;\n color: var(--text-color);\n font-size: 14px;\n overflow: hidden;\n}\n.function-control-panel .radio-group[data-v-a67ba94a] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding-bottom: 8px;\n}\n.el-select-disabled[data-v-a67ba94a] {\n opacity: 0.5;\n}\n\n/*/* 分割线 */\n.divider[data-v-a67ba94a] {\n height: 1px;\n background: var(--border-color);\n margin-bottom: 8px;\n}\n\n/* label */\n.label[data-v-a67ba94a] {\n color: #aaa;\n margin-bottom: 2px;\n}\n\n/* 操作按钮 */\n.actions[data-v-a67ba94a] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.btn[data-v-a67ba94a] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 2px;\n text-align: center;\n font-family: Microsoft YaHei UI, Microsoft YaHei UI;\n font-weight: 400;\n cursor: pointer;\n}\n.btn .icon[data-v-a67ba94a] {\n width: 54px;\n height: 54px;\n}\n.btn.disabled[data-v-a67ba94a] {\n color: #666;\n cursor: not-allowed;\n}\n.btn.disabled .icon[data-v-a67ba94a] {\n opacity: 0.5;\n}\n.fontColor[data-v-a67ba94a] {\n color: var(--default-text-color);\n}";
2178
+ var css_248z$b = "@charset \"UTF-8\";\n.function-control-panel[data-v-1de81a62] {\n width: 100%;\n height: 100%;\n color: var(--text-color);\n font-size: 14px;\n overflow-x: hidden;\n overflow-y: auto;\n /* 隐藏滚动条 */\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n.function-control-panel[data-v-1de81a62]::-webkit-scrollbar {\n display: none;\n}\n.function-control-panel .radio-group[data-v-1de81a62] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding-bottom: 8px;\n}\n.el-select-disabled[data-v-1de81a62] {\n opacity: 0.5;\n}\n\n/*/* 分割线 */\n.divider[data-v-1de81a62] {\n height: 1px;\n background: var(--border-color);\n margin-bottom: 8px;\n}\n\n/* label */\n.label[data-v-1de81a62] {\n color: #aaa;\n margin-bottom: 2px;\n}\n\n/* 操作按钮 */\n.actions[data-v-1de81a62] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.btn[data-v-1de81a62] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 2px;\n text-align: center;\n font-family: Microsoft YaHei UI, Microsoft YaHei UI;\n font-weight: 400;\n cursor: pointer;\n}\n.btn .icon[data-v-1de81a62] {\n width: 54px;\n height: 54px;\n}\n.btn.disabled[data-v-1de81a62] {\n color: #666;\n cursor: not-allowed;\n}\n.btn.disabled .icon[data-v-1de81a62] {\n opacity: 0.5;\n}\n.fontColor[data-v-1de81a62] {\n color: var(--default-text-color);\n}";
2179
2179
  styleInject(css_248z$b);
2180
2180
 
2181
2181
  /* script */
@@ -3245,7 +3245,7 @@ __vue_render__$a._withStripped = true;
3245
3245
  /* style */
3246
3246
  const __vue_inject_styles__$a = undefined;
3247
3247
  /* scoped */
3248
- const __vue_scope_id__$a = "data-v-a67ba94a";
3248
+ const __vue_scope_id__$a = "data-v-1de81a62";
3249
3249
  /* module identifier */
3250
3250
  const __vue_module_identifier__$a = undefined;
3251
3251
  /* functional template */
@@ -6644,10 +6644,10 @@ var script$3 = {
6644
6644
  if(this.formCache.displayType == 'float'){
6645
6645
  return "";
6646
6646
  }
6647
- if (!this.headerData[this.line.paramId]) {
6648
- return 0;
6647
+ if (!Object.prototype.hasOwnProperty.call(this.headerData, this.line.paramId)) {
6648
+ return '--';
6649
6649
  }
6650
- return Number(this.headerData[this.line.paramId].toFixed(2) || 0);
6650
+ return this.headerData[this.line.paramId] !== null && this.headerData[this.line.paramId] !== undefined && this.headerData[this.line.paramId] !== '' ? typeof +this.headerData[this.line.paramId] === 'number' ? Number(Number(this.headerData[this.line.paramId]).toFixed(2)) : this.headerData[this.line.paramId] : '--';
6651
6651
  },
6652
6652
  getParamName(line) {
6653
6653
  const nameConfig = this.paramsNameMap[line.paramId];
@@ -6707,7 +6707,7 @@ var script$3 = {
6707
6707
  lineType = { "border-bottom": `2px ${this.line.lineType} ${lineColor || this.line.lineColor}` };
6708
6708
  }
6709
6709
  return {
6710
- height: `${this.itemHeight}px`,
6710
+ height: `${ this.formCache.displayType == 'header' ? this.itemHeight : this.itemHeight * 0.8 }px`,
6711
6711
  opacity: this.line.isUsed == "1" ? 1 : 0.5,
6712
6712
  ...lineType,
6713
6713
  };
@@ -6717,7 +6717,7 @@ var script$3 = {
6717
6717
  },
6718
6718
  };
6719
6719
 
6720
- var css_248z$4 = "@charset \"UTF-8\";\n.kd-lane-chart-container-header-item[data-v-5b5658da] {\n height: 42px;\n background: var(--kd-lane-container-header-bg);\n border-radius: 0px 0px 0px 0px;\n color: var(--kd-lane-container-header-item-color, #333);\n border: unset;\n position: relative;\n cursor: pointer;\n}\n.kd-lane-chart-container-header-item_warning[data-v-5b5658da] {\n background: var(--kd-lane-container-header-item-warning-color, rgba(248, 108, 89, 0.6));\n}\n.kd-lane-chart-container-header-item .kd-lane-chart-container-text-container[data-v-5b5658da] {\n height: 100%;\n width: 100%;\n position: relative;\n font-family: Microsoft YaHei UI, Microsoft YaHei UI;\n font-weight: 400;\n font-size: 10px;\n}\n.kd-lane-chart-container-header-item .kd-lane-chart-container-text-container .left[data-v-5b5658da] {\n position: absolute;\n left: 2px;\n bottom: 2px;\n}\n.kd-lane-chart-container-header-item .kd-lane-chart-container-text-container .center[data-v-5b5658da] {\n position: absolute;\n left: 50%;\n top: 50%;\n font-size: 14px;\n transform: translate(-50%, -50%);\n display: flex;\n flex-direction: column;\n}\n.kd-lane-chart-container-header-item .kd-lane-chart-container-text-container .center .paramsTitle[data-v-5b5658da] {\n /* 文字不换行,超出显示省略号 */\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-family: Microsoft YaHei UI, Microsoft YaHei UI;\n font-weight: 400;\n font-size: 12px;\n color: var(--kd-lane-container-header-item-color, #333);\n text-align: center;\n font-style: normal;\n text-transform: none;\n margin-bottom: 2px;\n}\n.kd-lane-chart-container-header-item .kd-lane-chart-container-text-container .center .paramsData[data-v-5b5658da] {\n /* 文字不换行,超出显示省略号 */\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-family: Microsoft YaHei UI, Microsoft YaHei UI;\n font-weight: bold;\n font-size: 14px;\n text-align: center;\n font-style: normal;\n text-transform: none;\n}\n.kd-lane-chart-container-header-item .kd-lane-chart-container-text-container .right[data-v-5b5658da] {\n position: absolute;\n right: 2px;\n bottom: 2px;\n}\n.kd-lane-chart-container-header-item .kd-lane-chart-container-text-container .gradient-display[data-v-5b5658da] {\n position: absolute;\n height: 2px;\n left: 0;\n bottom: 0;\n right: 0;\n}";
6720
+ var css_248z$4 = "@charset \"UTF-8\";\n.kd-lane-chart-container-header-item[data-v-c00b77ba] {\n height: 42px;\n background: var(--kd-lane-container-header-bg);\n border-radius: 0px 0px 0px 0px;\n color: var(--kd-lane-container-header-item-color, #333);\n border: unset;\n position: relative;\n cursor: pointer;\n}\n.kd-lane-chart-container-header-item_warning[data-v-c00b77ba] {\n background: var(--kd-lane-container-header-item-warning-color, rgba(248, 108, 89, 0.6));\n}\n.kd-lane-chart-container-header-item .kd-lane-chart-container-text-container[data-v-c00b77ba] {\n height: 100%;\n width: 100%;\n position: relative;\n font-family: Microsoft YaHei UI, Microsoft YaHei UI;\n font-weight: 400;\n font-size: 10px;\n}\n.kd-lane-chart-container-header-item .kd-lane-chart-container-text-container .left[data-v-c00b77ba] {\n position: absolute;\n left: 2px;\n bottom: 2px;\n}\n.kd-lane-chart-container-header-item .kd-lane-chart-container-text-container .center[data-v-c00b77ba] {\n position: absolute;\n left: 50%;\n top: 50%;\n font-size: 14px;\n transform: translate(-50%, -50%);\n display: flex;\n flex-direction: column;\n}\n.kd-lane-chart-container-header-item .kd-lane-chart-container-text-container .center .paramsTitle[data-v-c00b77ba] {\n /* 文字不换行,超出显示省略号 */\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-family: Microsoft YaHei UI, Microsoft YaHei UI;\n font-weight: 400;\n font-size: 12px;\n color: var(--kd-lane-container-header-item-color, #333);\n text-align: center;\n font-style: normal;\n text-transform: none;\n margin-bottom: 2px;\n}\n.kd-lane-chart-container-header-item .kd-lane-chart-container-text-container .center .paramsData[data-v-c00b77ba] {\n /* 文字不换行,超出显示省略号 */\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-family: Microsoft YaHei UI, Microsoft YaHei UI;\n font-weight: bold;\n font-size: 14px;\n text-align: center;\n font-style: normal;\n text-transform: none;\n}\n.kd-lane-chart-container-header-item .kd-lane-chart-container-text-container .right[data-v-c00b77ba] {\n position: absolute;\n right: 2px;\n bottom: 2px;\n}\n.kd-lane-chart-container-header-item .kd-lane-chart-container-text-container .gradient-display[data-v-c00b77ba] {\n position: absolute;\n height: 2px;\n left: 0;\n bottom: 0;\n right: 0;\n}";
6721
6721
  styleInject(css_248z$4);
6722
6722
 
6723
6723
  /* script */
@@ -6742,15 +6742,9 @@ var __vue_render__$3 = function () {
6742
6742
  _c("span", { staticClass: "left" }, [_vm._v(_vm._s(_vm.line.min))]),
6743
6743
  _vm._v(" "),
6744
6744
  _c("div", { staticClass: "center" }, [
6745
- _c(
6746
- "div",
6747
- {
6748
- staticClass: "paramsTitle",
6749
- style:
6750
- _vm.formCache.displayType == "float" ? "font-size: 14px;" : "",
6751
- },
6752
- [_vm._v(_vm._s(_vm.getParamName(_vm.line)))]
6753
- ),
6745
+ _c("div", { staticClass: "paramsTitle" }, [
6746
+ _vm._v(_vm._s(_vm.getParamName(_vm.line))),
6747
+ ]),
6754
6748
  _vm._v(" "),
6755
6749
  _c("div", { staticClass: "paramsData" }, [
6756
6750
  _vm._v(_vm._s(_vm.getCurrentData())),
@@ -6773,7 +6767,7 @@ __vue_render__$3._withStripped = true;
6773
6767
  /* style */
6774
6768
  const __vue_inject_styles__$3 = undefined;
6775
6769
  /* scoped */
6776
- const __vue_scope_id__$3 = "data-v-5b5658da";
6770
+ const __vue_scope_id__$3 = "data-v-c00b77ba";
6777
6771
  /* module identifier */
6778
6772
  const __vue_module_identifier__$3 = undefined;
6779
6773
  /* functional template */
@@ -6961,10 +6955,10 @@ var script$2 = {
6961
6955
  window.addEventListener("keyup", this.handleKeyUp);
6962
6956
  window.addEventListener("mousemove", this.resize);
6963
6957
  window.addEventListener("mouseup", this.stopResize);
6964
- // 初始化大小变化监听器
6965
- this.initResizeObserver();
6966
6958
  // 初始化tooltip显示隐藏
6967
6959
  this.showTooltip = this.formCache.displayType == "float";
6960
+ // 初始化大小变化监听器
6961
+ this.initResizeObserver();
6968
6962
  },
6969
6963
  beforeDestroy() {
6970
6964
  window.removeEventListener("keydown", this.handleKeyDown);
@@ -7254,7 +7248,6 @@ var script$2 = {
7254
7248
  console.warn("depth字段非有效数字,无法判断触底");
7255
7249
  return false;
7256
7250
  }
7257
- console.log(latestIndex, "latestIndex", this.realTimeData.length - (latestIndex + this.windowSize * 0.1));
7258
7251
  const isReachBottom = this.realTimeData.length - (latestIndex + this.windowSize * 0.1) <= 1;
7259
7252
  if (isReachBottom) {
7260
7253
  this.startIndex = this.realTimeData.length - this.windowSize > 0 ? this.realTimeData.length - this.windowSize : 0;
@@ -7298,7 +7291,6 @@ var script$2 = {
7298
7291
  this.smoothRender();
7299
7292
  },
7300
7293
  smoothRender() {
7301
- console.log("smoothRender");
7302
7294
  cancelAnimationFrame(this.animationId);
7303
7295
  const animate = () => {
7304
7296
  const lerp = 0.5; // ⭐ 手感关键参数
@@ -7364,7 +7356,7 @@ var script$2 = {
7364
7356
  const headerKey = entry.target.textContent || entry.target.innerText || "unknown";
7365
7357
  const currentWidth = entry.contentRect.width;
7366
7358
  const cachedWidth = this.headerWidthCache[headerKey];
7367
- // console.log("headerKey", headerKey, "currentWidth", currentWidth, "cachedWidth", cachedWidth);
7359
+
7368
7360
  // 只有当宽度实际变化时才触发
7369
7361
  if (cachedWidth === undefined || Math.abs(currentWidth - cachedWidth) > 1) {
7370
7362
  this.headerWidthCache[headerKey] = currentWidth;
@@ -7952,25 +7944,8 @@ var script$2 = {
7952
7944
  this.laneWidthOverrides = {};
7953
7945
  }
7954
7946
  this.$emit("template-change", this.currentTemplate);
7955
- this.reobserveHeaders();
7956
7947
  this.updateLanesChartOption();
7957
7948
  },
7958
- getFirstDataIndexItem(seriesData) {
7959
- // 入参校验:确保是数组且非空
7960
- if (!Array.isArray(seriesData) || seriesData.length === 0) {
7961
- return null;
7962
- }
7963
-
7964
- // 遍历数组,找到第一个包含 dataIndex 的项
7965
- for (const item of seriesData) {
7966
- if (typeof item.dataIndex !== "undefined" && item.dataIndex !== null) {
7967
- return item;
7968
- }
7969
- }
7970
-
7971
- // 无匹配项返回 null
7972
- return null;
7973
- },
7974
7949
  getDefaultLaneChartOption() {
7975
7950
  const option = {
7976
7951
  backgroundColor: getCssVariable("--kd-lane-container-item-bg"),
@@ -8011,7 +7986,7 @@ var script$2 = {
8011
7986
  ],
8012
7987
  yAxis: [
8013
7988
  {
8014
- type: "value",
7989
+ type: this.formCache.axisType == "time" ? "value" : "category",
8015
7990
  inverse: true,
8016
7991
  boundaryGap: false,
8017
7992
  scale: true,
@@ -8062,37 +8037,18 @@ var script$2 = {
8062
8037
  formatter: (params) => {
8063
8038
  if (this.formCache.displayType == "header") {
8064
8039
  let dataIndexItem = (params.seriesData && params.seriesData[0] && params.seriesData[0].dataIndex) || null;
8065
- // let dataIndexItem = this.getFirstDataIndexItem(params.seriesData);
8066
8040
  if (dataIndexItem !== null) {
8067
8041
  this.headerData = this.visibleData[dataIndexItem];
8068
- // this.headerData = this.visibleData[dataIndexItem.dataIndex];
8069
8042
  } else {
8070
8043
  this.headerData = {};
8071
8044
  }
8072
8045
  }
8046
+ // 时间轴模式:格式化时间戳为可读时间
8073
8047
  if (this.formCache.axisType == "time") {
8074
- return this.timestampToHms(params.value);
8075
- } else {
8076
- return params.value.toString();
8048
+ // 需要显示年月日时分秒
8049
+ return this.timestampToYMDHMS(params.value);
8077
8050
  }
8078
- // if (this.formCache.axisType == "time") {
8079
- // // 时间轴模式:params.value 是时间戳
8080
- // this.headerData =
8081
- // this.visibleData.find(
8082
- // (item) =>
8083
- // this.toMillisecondTimestamp(item && item[this.toolBarConfig.axisTypeList && this.toolBarConfig.axisTypeList[this.formCache.axisType]]) == params.value,
8084
- // ) || {};
8085
- // } else {
8086
- // this.headerData =
8087
- // this.visibleData.find((item) => item && item[this.toolBarConfig.axisTypeList && this.toolBarConfig.axisTypeList[this.formCache.axisType]] == params.value) ||
8088
- // {};
8089
- // }
8090
- // }
8091
- // // 时间轴模式:格式化时间戳为可读时间
8092
- // if (this.formCache.axisType == "time") {
8093
- // return this.timestampToHms(params.value);
8094
- // }
8095
- // return params.value;
8051
+ return params.value;
8096
8052
  },
8097
8053
  },
8098
8054
  },
@@ -8104,7 +8060,6 @@ var script$2 = {
8104
8060
  color: getCssVariable("---default-text-color"),
8105
8061
  },
8106
8062
  formatter: (series) => {
8107
- // 根据seriesName去重,保留数值最大的项,或者在有缺失值时保留缺失值的项
8108
8063
  const uniqueSeries = series
8109
8064
  .filter((item) => item.seriesName !== "helper")
8110
8065
  .reduce((acc, current) => {
@@ -8160,20 +8115,21 @@ var script$2 = {
8160
8115
  const outerDiv = document.createElement("div");
8161
8116
  uniqueSeries.forEach((params) => {
8162
8117
  const { seriesName, value, color } = params;
8118
+ if (seriesName == "helper") return;
8163
8119
  const innerDiv = document.createElement("div");
8164
8120
  innerDiv.style = "display: flex; align-items: center;";
8165
8121
  const markerDiv = document.createElement("div");
8166
8122
  markerDiv.style = `height: 10px; width:10px;font-size:10px; border-radius:8px; gap: 5px; background-color:${color}`;
8167
8123
  const textSpan = document.createElement("span");
8168
8124
  let xValue = value;
8169
- // 时间轴和深度轴模式:value 是 [x, y] 格式,取 x 值
8170
- if (Array.isArray(value)) {
8125
+ // 时间轴模式:value 是 [x, y] 格式,取 x 值
8126
+ if (this.formCache.axisType == "time" && Array.isArray(value)) {
8171
8127
  xValue = value[0];
8172
8128
  }
8173
8129
  if (xValue == undefined || xValue == null) {
8174
- textSpan.innerText = `${seriesName}:`;
8130
+ textSpan.innerText = `${seriesName}:--`;
8175
8131
  } else {
8176
- textSpan.innerText = `${seriesName}:${Number(xValue)}`;
8132
+ textSpan.innerText = `${seriesName}:${typeof +xValue === "number" ? Number(Number(xValue).toFixed(2)) : xValue}`;
8177
8133
  }
8178
8134
  textSpan.style = `margin-left:8px;font-size:12px;`;
8179
8135
  innerDiv.appendChild(markerDiv);
@@ -8203,6 +8159,18 @@ var script$2 = {
8203
8159
 
8204
8160
  return `${h}:${m}:${s}`;
8205
8161
  },
8162
+
8163
+ timestampToYMDHMS(timestamp) {
8164
+ const date = new Date(timestamp);
8165
+ const h = String(date.getHours()).padStart(2, "0");
8166
+ const m = String(date.getMinutes()).padStart(2, "0");
8167
+ const s = String(date.getSeconds()).padStart(2, "0");
8168
+ const y = date.getFullYear();
8169
+ const month = String(date.getMonth() + 1).padStart(2, "0");
8170
+ const day = String(date.getDate()).padStart(2, "0");
8171
+ return `${y}-${month}-${day} ${h}:${m}:${s}`;
8172
+ },
8173
+
8206
8174
  toMillisecondTimestamp(time) {
8207
8175
  if (time === null || time === undefined) return Date.now();
8208
8176
  let timestamp = new Date(time).getTime();
@@ -8247,26 +8215,23 @@ var script$2 = {
8247
8215
 
8248
8216
  if (!lanes || lanes.length === 0) return;
8249
8217
 
8218
+ // 深度轴数据
8250
8219
  let depthData = [];
8251
- let timestamps = [];
8252
-
8220
+ // 时间轴数据
8253
8221
  let yAxisMin = 0;
8254
8222
  let yAxisMax = 0;
8255
8223
 
8256
- // 获取当前轴类型的键
8257
- const axisKey =
8258
- (this.toolBarConfig.axisTypeList && this.toolBarConfig.axisTypeList[this.formCache.axisType]) ||
8259
- (this.formCache.axisType === "time" ? "time" : "depth");
8260
-
8261
8224
  if (this.formCache.axisType == "time") {
8262
8225
  // 时间轴模式:使用毫秒时间戳
8263
- timestamps = realTimeData.map((item) => this.toMillisecondTimestamp(item[axisKey]));
8226
+ const timestamps = realTimeData.map((item) =>
8227
+ this.toMillisecondTimestamp(item[this.toolBarConfig.axisTypeList && this.toolBarConfig.axisTypeList[this.formCache.axisType]]),
8228
+ );
8264
8229
  yAxisMin = Math.min(...timestamps);
8265
8230
  yAxisMax = Math.max(...timestamps);
8266
8231
  } else {
8267
- depthData = realTimeData.map((i) => +i[axisKey]);
8268
- yAxisMin = Math.min(...depthData);
8269
- yAxisMax = Math.max(...depthData);
8232
+ depthData = realTimeData.map(
8233
+ (i) => +i[this.toolBarConfig.axisTypeList && this.toolBarConfig.axisTypeList[this.formCache.axisType]],
8234
+ );
8270
8235
  }
8271
8236
 
8272
8237
  const paramNameMap = {};
@@ -8317,32 +8282,24 @@ var script$2 = {
8317
8282
  }
8318
8283
  }
8319
8284
  } else {
8320
- if (yAxisMin === yAxisMax) {
8321
- yAxisMin = yAxisMin - 1;
8322
- yAxisMax = yAxisMax + 1;
8323
- }
8324
- option.yAxis[0].min = yAxisMin;
8325
- option.yAxis[0].max = yAxisMax;
8326
- // 深度轴不需要 data 属性
8327
- delete option.yAxis[0].data;
8285
+ option.yAxis[0].data = depthData;
8328
8286
 
8329
8287
  // 深度轴自适应间隔:根据数据量计算合适的间隔
8330
- const depthRange = yAxisMax - yAxisMin;
8331
- const dataCount = realTimeData.length;
8288
+ const dataCount = depthData.length;
8332
8289
  if (dataCount > 0) {
8333
8290
  // 根据数据量设置合适的间隔
8334
8291
  if (dataCount < 10) {
8335
- // 数据量较少,间隔可以小一些
8336
- option.yAxis[0].interval = depthRange / 5;
8292
+ // 数据量较少,显示所有标签
8293
+ option.yAxis[0].interval = 0;
8337
8294
  } else if (dataCount < 50) {
8338
8295
  // 数据量中等
8339
- option.yAxis[0].interval = depthRange / 10;
8296
+ option.yAxis[0].interval = Math.floor(dataCount / 10);
8340
8297
  } else if (dataCount < 100) {
8341
8298
  // 数据量较多
8342
- option.yAxis[0].interval = depthRange / 15;
8299
+ option.yAxis[0].interval = Math.floor(dataCount / 15);
8343
8300
  } else {
8344
8301
  // 数据量很多
8345
- option.yAxis[0].interval = depthRange / 20;
8302
+ option.yAxis[0].interval = Math.floor(dataCount / 20);
8346
8303
  }
8347
8304
  }
8348
8305
  }
@@ -8366,7 +8323,7 @@ var script$2 = {
8366
8323
  center: { align: "center", fontSize: 12, width: clientWidth },
8367
8324
  },
8368
8325
  formatter: (value) => {
8369
- return `{center|${Number(value && value.toFixed(2))}}`;
8326
+ return `{center|${typeof +value === "number" ? Number(Number(value).toFixed(2)) : value}}`;
8370
8327
  },
8371
8328
  },
8372
8329
  });
@@ -8409,13 +8366,9 @@ var script$2 = {
8409
8366
  lane &&
8410
8367
  lane.lines &&
8411
8368
  lane.lines.forEach((lineInfo, lineIndex) => {
8369
+ // if (lineInfo.isUsed === "0") return;
8412
8370
  let seriesData = [];
8413
8371
  let validData = [];
8414
- // 获取当前轴类型的键
8415
- const axisKey =
8416
- (this.toolBarConfig.axisTypeList && this.toolBarConfig.axisTypeList[this.formCache.axisType]) ||
8417
- (this.formCache.axisType === "time" ? "time" : "depth");
8418
-
8419
8372
  if (this.formCache.axisType == "time") {
8420
8373
  // 时间轴模式:数据格式为 [x, y],其中 y 是时间戳
8421
8374
  let currentParam = this.params.find((p) => p.paramId == lineInfo.paramId);
@@ -8435,7 +8388,7 @@ var script$2 = {
8435
8388
  }
8436
8389
  }
8437
8390
  // 返回 [x, y] 格式,y 是时间戳
8438
- return [value, this.toMillisecondTimestamp(item[axisKey])];
8391
+ return [value, this.toMillisecondTimestamp(item[this.toolBarConfig.axisTypeList[this.formCache.axisType]])];
8439
8392
  });
8440
8393
  validData = seriesData.filter((v) => Number.isFinite(+v[0]));
8441
8394
  } else {
@@ -8456,10 +8409,9 @@ var script$2 = {
8456
8409
  });
8457
8410
  }
8458
8411
  }
8459
- // 返回 [x, y] 格式,y 是深度值
8460
- return [value, +item[axisKey]];
8412
+ return value;
8461
8413
  });
8462
- validData = seriesData.filter((v) => Number.isFinite(+v[0]));
8414
+ validData = seriesData.filter((v) => Number.isFinite(+v));
8463
8415
  }
8464
8416
  const { min, max } = this.getXAxisRangeByHeader(lineInfo, validData);
8465
8417
 
@@ -8512,13 +8464,13 @@ var script$2 = {
8512
8464
  },
8513
8465
  data: this.markLineData
8514
8466
  .map((item, index) => {
8515
- // 尝试精确匹配
8467
+ // 时间轴模式:将深度值转换为时间戳
8516
8468
  const findItem = this.realTimeData.find((d) => d[this.toolBarConfig.axisTypeList[this.formCache.axisType]] == item);
8517
8469
  if (findItem) {
8518
8470
  if (this.formCache.axisType == "time") {
8519
8471
  return { yAxis: this.toMillisecondTimestamp(findItem[this.toolBarConfig.axisTypeList[this.formCache.axisType]]) };
8520
8472
  } else {
8521
- return { yAxis: Number(findItem[this.toolBarConfig.axisTypeList[this.formCache.axisType]]) };
8473
+ return { yAxis: findItem[this.toolBarConfig.axisTypeList[this.formCache.axisType]] + "" };
8522
8474
  }
8523
8475
  } else {
8524
8476
  // 精确匹配失败,找到最接近的深度值
@@ -8552,7 +8504,7 @@ var script$2 = {
8552
8504
  // ===== 面积图 =====
8553
8505
  if (lineInfo.lineType === "area") {
8554
8506
  // 只对时间轴模式生效
8555
- if (seriesData.length > 0) {
8507
+ if (this.formCache.axisType == "time" && seriesData.length > 0) {
8556
8508
  // 找到第一个有效的数据点
8557
8509
  const firstValidPoint = seriesData.find((point) => Number.isFinite(+point[0]));
8558
8510
  if (firstValidPoint) {
@@ -8588,18 +8540,13 @@ var script$2 = {
8588
8540
 
8589
8541
  colors.push(color);
8590
8542
  });
8591
- // 获取当前轴类型的键
8592
- const axisKey =
8593
- (this.toolBarConfig.axisTypeList && this.toolBarConfig.axisTypeList[this.formCache.axisType]) ||
8594
- (this.formCache.axisType === "time" ? "time" : "depth");
8595
-
8596
8543
  if (series.length > 0 && this.formCache.axisType == "depth") {
8597
8544
  let min = Math.max(...lane.lines.map((item) => this.getXAxisRangeByHeader(item).min));
8598
- // 兜底:深度轴模式使用 [x, y] 格式
8545
+ // 兜底
8599
8546
  series.unshift({
8600
8547
  name: "helper",
8601
8548
  type: "line",
8602
- data: realTimeData.map((item) => [min, +item[axisKey]]),
8549
+ data: realTimeData.map(() => min),
8603
8550
  lineStyle: {
8604
8551
  opacity: 0,
8605
8552
  },
@@ -8612,7 +8559,10 @@ var script$2 = {
8612
8559
  series.unshift({
8613
8560
  name: "helper",
8614
8561
  type: "line",
8615
- data: realTimeData.map((item) => [min, this.toMillisecondTimestamp(item[axisKey])]),
8562
+ data: realTimeData.map((item) => [
8563
+ min,
8564
+ this.toMillisecondTimestamp(item[this.toolBarConfig.axisTypeList[this.formCache.axisType]]),
8565
+ ]),
8616
8566
  lineStyle: {
8617
8567
  opacity: 0,
8618
8568
  },
@@ -8637,6 +8587,14 @@ var script$2 = {
8637
8587
  } catch (e) {
8638
8588
  console.error(e);
8639
8589
  this.clearEcharts();
8590
+ this.realTimeDataLoading = false;
8591
+ } finally {
8592
+ // 延迟重置标记,给ECharts足够的时间完成渲染
8593
+ setTimeout(() => {
8594
+ this.isUpdatingChart = false;
8595
+ // 图表更新后重新监听车道头部元素
8596
+ this.reobserveHeaders();
8597
+ }, 100);
8640
8598
  }
8641
8599
  },
8642
8600
  async clearEcharts() {
@@ -8758,29 +8716,58 @@ var script$2 = {
8758
8716
  // 数据去重
8759
8717
  deduplicateAndSort(existingData, newData, uniqueKey, options = {}) {
8760
8718
  // 处理默认配置
8761
- const { sortOrder = "asc" } = options;
8719
+ // const { sortOrder = "asc" } = options;
8762
8720
  const newDataArr = Array.isArray(newData) ? newData : [newData];
8763
8721
  let resultData = JSON.parse(JSON.stringify(existingData));
8722
+
8723
+ // 检查两个对象是否所有字段都相同
8724
+ const isObjectsEqual = (obj1, obj2) => {
8725
+ const keys1 = Object.keys(obj1);
8726
+ const keys2 = Object.keys(obj2);
8727
+
8728
+ if (keys1.length !== keys2.length) {
8729
+ return false;
8730
+ }
8731
+
8732
+ for (const key of keys1) {
8733
+ if (obj1[key] !== obj2[key]) {
8734
+ return false;
8735
+ }
8736
+ }
8737
+
8738
+ return true;
8739
+ };
8740
+
8764
8741
  newDataArr.forEach((newItem) => {
8765
8742
  if (!newItem || !newItem[uniqueKey]) return;
8766
- const duplicateIndex = resultData.findIndex((item) => item[uniqueKey] === newItem[uniqueKey]);
8767
- if (duplicateIndex > -1) {
8768
- resultData[duplicateIndex] = newItem;
8769
- } else {
8770
- resultData.push(newItem);
8771
- }
8772
- });
8773
- resultData.sort((a, b) => {
8774
- const valA = a[uniqueKey];
8775
- const valB = b[uniqueKey];
8776
8743
 
8777
- if (typeof valA === "string" && typeof valB === "string") {
8778
- return sortOrder === "asc" ? valA.localeCompare(valB) : valB.localeCompare(valA);
8779
- } else {
8780
- return sortOrder === "asc" ? valA - valB : valB - valA;
8744
+ // 首先根据 uniqueKey 查找匹配项
8745
+ const itemsWithSameKey = resultData.filter((item) => item[uniqueKey] === newItem[uniqueKey]);
8746
+
8747
+ // 检查是否存在完全相同的项
8748
+ const hasExactDuplicate = itemsWithSameKey.some((item) => isObjectsEqual(item, newItem));
8749
+
8750
+ if (hasExactDuplicate) {
8751
+ // 如果存在完全相同的项,则不做操作
8752
+ return;
8781
8753
  }
8754
+
8755
+ // 如果没有完全相同的项,则添加到结果中
8756
+ resultData.push(newItem);
8782
8757
  });
8783
8758
 
8759
+ // 去重后排序
8760
+ // resultData.sort((a, b) => {
8761
+ // const valA = a[uniqueKey];
8762
+ // const valB = b[uniqueKey];
8763
+
8764
+ // if (typeof valA === "string" && typeof valB === "string") {
8765
+ // return sortOrder === "asc" ? valA.localeCompare(valB) : valB.localeCompare(valA);
8766
+ // } else {
8767
+ // return sortOrder === "asc" ? valA - valB : valB - valA;
8768
+ // }
8769
+ // });
8770
+
8784
8771
  return resultData;
8785
8772
  },
8786
8773
  generateLogXAxisForLane(laneData) {
@@ -9012,7 +8999,7 @@ var script$2 = {
9012
8999
  const gapCount = Math.max(0, this.lineCount - 1);
9013
9000
  return {
9014
9001
  ...common,
9015
- height: `${this.lineCount * this.headerItemHeight + this.headerPadding * 2 + gapCount * this.itemGap}px`,
9002
+ height: `${this.lineCount * (this.formCache.displayType == 'header' ? this.headerItemHeight : this.headerItemHeight * 0.8) + this.headerPadding * 2 + gapCount * this.itemGap}px`,
9016
9003
  "min-height": "60px",
9017
9004
  };
9018
9005
  }
@@ -9029,7 +9016,7 @@ var script$2 = {
9029
9016
  } else {
9030
9017
  const gapCount = Math.max(0, this.lineCount - 1);
9031
9018
  return {
9032
- height: `${this.lineCount * this.headerItemHeight + this.headerPadding * 2 + gapCount * this.itemGap}px`,
9019
+ height: `${this.lineCount * (this.formCache.displayType == 'header' ? this.headerItemHeight : this.headerItemHeight * 0.8) + this.headerPadding * 2 + gapCount * this.itemGap}px`,
9033
9020
  "min-height": "60px",
9034
9021
  };
9035
9022
  }
@@ -9152,7 +9139,7 @@ var script$2 = {
9152
9139
  },
9153
9140
  };
9154
9141
 
9155
- var css_248z$3 = ".kd-lane-chart-container[data-v-c861dd1c] {\n height: 100%;\n width: 100%;\n overflow: hidden;\n position: relative;\n border: 1px solid var(--kd-lane-container-border-color, #333);\n display: flex;\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container[data-v-c861dd1c],\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container[data-v-c861dd1c] {\n height: 100%;\n min-width: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n position: relative;\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container .kd-lane-resize-handle[data-v-c861dd1c],\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-resize-handle[data-v-c861dd1c] {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 4px;\n cursor: col-resize;\n z-index: 10;\n background-color: transparent;\n transition: background-color 0.2s;\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container .kd-lane-resize-handle[data-v-c861dd1c]:hover,\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-resize-handle[data-v-c861dd1c]:hover {\n background-color: var(--resizer-bg-color);\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container .kd-lane-resize-handle.kd-lane-resize-handle-left[data-v-c861dd1c],\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-resize-handle.kd-lane-resize-handle-left[data-v-c861dd1c] {\n left: 0;\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container .kd-lane-resize-handle.kd-lane-resize-handle-right[data-v-c861dd1c],\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-resize-handle.kd-lane-resize-handle-right[data-v-c861dd1c] {\n right: -2px;\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container .kd-lane-chart-lane-header[data-v-c861dd1c],\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-chart-lane-header[data-v-c861dd1c] {\n max-height: 40%;\n z-index: 2;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container .kd-lane-chart-lane-header .header-list-gap[data-v-c861dd1c],\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-chart-lane-header .header-list-gap[data-v-c861dd1c] {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container-echart[data-v-c861dd1c] {\n flex: 1;\n overflow-x: hidden;\n overflow-y: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container-echart .kd-lane-chart-lane-container-echart-content[data-v-c861dd1c] {\n height: 100%;\n overflow: hidden;\n}\n.kd-lane-chart-container .border-left[data-v-c861dd1c] {\n border-left: 1px solid var(--kd-lane-container-border-color, #333);\n}\n.kd-lane-chart-container .border-bottom[data-v-c861dd1c] {\n border-bottom: 1px solid var(--kd-lane-container-border-color, #333);\n}\n.kd-lane-chart-container .border-right[data-v-c861dd1c] {\n border-right: 1px solid var(--kd-lane-container-border-color, #333);\n}\n.kd-lane-chart-container .kd-lane-chart-container-draw-area[data-v-c861dd1c] {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n border: none;\n}";
9142
+ var css_248z$3 = ".kd-lane-chart-container[data-v-518c21d0] {\n height: 100%;\n width: 100%;\n overflow: hidden;\n position: relative;\n border: 1px solid var(--kd-lane-container-border-color, #333);\n display: flex;\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container[data-v-518c21d0],\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container[data-v-518c21d0] {\n height: 100%;\n min-width: 0;\n z-index: 1;\n display: flex;\n flex-direction: column;\n position: relative;\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container .kd-lane-resize-handle[data-v-518c21d0],\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-resize-handle[data-v-518c21d0] {\n position: absolute;\n top: 0;\n bottom: 0;\n width: 4px;\n cursor: col-resize;\n z-index: 10;\n background-color: transparent;\n transition: background-color 0.2s;\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container .kd-lane-resize-handle[data-v-518c21d0]:hover,\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-resize-handle[data-v-518c21d0]:hover {\n background-color: var(--resizer-bg-color);\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container .kd-lane-resize-handle.kd-lane-resize-handle-left[data-v-518c21d0],\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-resize-handle.kd-lane-resize-handle-left[data-v-518c21d0] {\n left: 0;\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container .kd-lane-resize-handle.kd-lane-resize-handle-right[data-v-518c21d0],\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-resize-handle.kd-lane-resize-handle-right[data-v-518c21d0] {\n right: -2px;\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container .kd-lane-chart-lane-header[data-v-518c21d0],\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-chart-lane-header[data-v-518c21d0] {\n max-height: 40%;\n z-index: 2;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container .kd-lane-chart-lane-header .header-list-gap[data-v-518c21d0],\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-chart-lane-header .header-list-gap[data-v-518c21d0] {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container-echart[data-v-518c21d0] {\n flex: 1;\n overflow-x: hidden;\n overflow-y: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container-echart .kd-lane-chart-lane-container-echart-content[data-v-518c21d0] {\n height: 100%;\n overflow: hidden;\n}\n.kd-lane-chart-container .border-left[data-v-518c21d0] {\n border-left: 1px solid var(--kd-lane-container-border-color, #333);\n}\n.kd-lane-chart-container .border-bottom[data-v-518c21d0] {\n border-bottom: 1px solid var(--kd-lane-container-border-color, #333);\n}\n.kd-lane-chart-container .border-right[data-v-518c21d0] {\n border-right: 1px solid var(--kd-lane-container-border-color, #333);\n}\n.kd-lane-chart-container .kd-lane-chart-container-draw-area[data-v-518c21d0] {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n border: none;\n}";
9156
9143
  styleInject(css_248z$3);
9157
9144
 
9158
9145
  /* script */
@@ -9481,7 +9468,6 @@ var __vue_render__$2 = function () {
9481
9468
  _c(
9482
9469
  "el-dialog",
9483
9470
  {
9484
- staticClass: "function-control-panel-dialog",
9485
9471
  attrs: { title: "泳道模板设置", visible: _vm.curveConfigVisible },
9486
9472
  on: {
9487
9473
  "update:visible": function ($event) {
@@ -9520,7 +9506,7 @@ __vue_render__$2._withStripped = true;
9520
9506
  /* style */
9521
9507
  const __vue_inject_styles__$2 = undefined;
9522
9508
  /* scoped */
9523
- const __vue_scope_id__$2 = "data-v-c861dd1c";
9509
+ const __vue_scope_id__$2 = "data-v-518c21d0";
9524
9510
  /* module identifier */
9525
9511
  const __vue_module_identifier__$2 = undefined;
9526
9512
  /* functional template */
@@ -10083,13 +10069,20 @@ var script = {
10083
10069
  },
10084
10070
  deep: true,
10085
10071
  },
10072
+ themeName:{
10073
+ handler(newVal){
10074
+ document.body.setAttribute("data-theme", newVal);
10075
+ },
10076
+ deep:true,
10077
+ immediate:true
10078
+ }
10086
10079
  },
10087
10080
  };
10088
10081
 
10089
10082
  var css_248z$1 = "@charset \"UTF-8\";\n[data-theme=dark] {\n --bg-color: #1e1e1e;\n --card-color: #252526;\n --card-border-color: #4b4b4b;\n --card-label-color: #d6d6d6;\n --card-value-color: #ffffff;\n --panel-item-bg-color: #1e1e1e;\n --resizer-bg-color: rgb(177, 177, 177, 0.4);\n --panel-item-border-color: #4b4b4b;\n --default-text-color: #ffffff;\n --radio-border-color: #4b4b4b;\n --radio-checked-border-color: #f86c59;\n --radio-checked-color: #f86c59;\n --radio-checked-text-color: #ffffff;\n --radio-checked-border-color: #f86c59;\n --split-line-color: #4b4b4b;\n /* 边框颜色 */\n --border-color: #4b4b4b;\n --label-float-bg-color: rgba(255, 255, 255, 0.1);\n --slider-gradient-start: #333333;\n --slider-gradient-end: #656668;\n --slider-gradient-color: linear-gradient(0deg, #333333 0%, #656668 100%);\n --slider-content-color: #f86c59;\n --tooltip-bg-color: rgb(51, 51, 51,0.8);\n --kd-lane-container-border-color: #4b4b4b;\n --kd-lane-container-header-item-color: #ffffff;\n --kd-lane-container-header-item-warning-color: rgba(248, 108, 89, 0.6);\n --kd-lane-container-header-bg: #333333;\n --kd-lane-container-item-bg: #252526;\n --kd-lane-container-item-line-color: #4b4b4b66;\n --select-hover-bg-color: #333333;\n --select-selected-text-color: #ffcc33;\n --dialog-header: #333333;\n --dialog-button-default: #252526;\n --dialog-button-disabled-text: #ffffff;\n --in-range-text-color: #ffffff;\n --dialog-tree-text-color: #ffffff;\n}\n[data-theme=white] {\n --bg-color: #ffffff;\n --card-color: #ffffff;\n --card-border-color: #C9C9C9;\n --card-label-color: #666666;\n --card-value-color: #333333;\n --panel-item-bg-color: #ffffff;\n --resizer-bg-color: rgb(177, 177, 177,.4);\n --panel-item-border-color: #C9C9C9;\n --default-text-color: #333333;\n --radio-border-color: #C9C9C9;\n --radio-checked-border-color: #EC4521;\n --radio-checked-color: #EC4521;\n --radio-checked-text-color: #000000;\n --radio-checked-border-color: #EC4521;\n --split-line-color: #C9C9C9;\n /* 边框颜色 */\n --border-color: #C9C9C9;\n --label-float-bg-color: rgba(27, 79, 217, 0.1);\n --slider-gradient-start: #B0C2F5;\n --slider-gradient-end: #DBE5FF;\n --slider-gradient-color: linear-gradient(0deg, #B0C2F5 0%, #DBE5FF 100%);\n --slider-content-color: #EC4521;\n --tooltip-bg-color: rgba(246, 247, 248, 0.8);\n --kd-lane-container-border-color: #C9C9C9;\n --kd-lane-container-header-item-color: #333333;\n --kd-lane-container-header-item-warning-color: rgba(200, 23, 29, 0.6);\n --kd-lane-container-header-bg: #ecf4ff;\n --kd-lane-container-item-bg: #eff3ff;\n --kd-lane-container-item-line-color: #dddddd;\n --select-hover-bg-color: #E0E9FE;\n --select-selected-text-color: #1B4FD9;\n --dialog-header:#1B4FD9;\n --dialog-header-text-color: #ffffff;\n --dialog-button-default:#ffffff;\n --dialog-button-disabled-text: #FFFFFF;\n --in-range-text-color: #ffffff;\n --dialog-tree-text-color: #ffffff;\n}\n[data-theme=gray] {\n --bg-color: #ffffff;\n --card-color: #f6f7f8;\n --card-border-color: #b1b1b1;\n --card-label-color: #666666;\n --card-value-color: #333333;\n --panel-item-bg-color: #ffffff;\n --resizer-bg-color: rgb(177, 177, 177,.4);\n --panel-item-border-color: #b1b1b1;\n --default-text-color: #333333;\n --radio-border-color: #b1b1b1;\n --radio-checked-border-color: #f86c59;\n --radio-checked-color: #f86c59;\n --radio-checked-text-color: #000000;\n --radio-checked-border-color: #f86c59;\n --split-line-color: #b1b1b1;\n /* 边框颜色 */\n --border-color: #b1b1b1;\n --label-float-bg-color: rgba(128, 128, 128, 0.1);\n --slider-gradient-start: #a6a6a6;\n --slider-gradient-end: #dfdfdf;\n --slider-gradient-color: linear-gradient(0deg, #a6a6a6 0%, #dfdfdf 100%);\n --slider-content-color: #f86c59;\n --tooltip-bg-color: rgba(246, 247, 248, 0.8);\n --kd-lane-container-border-color: #b1b1b1;\n --kd-lane-container-header-item-color: #333333;\n --kd-lane-container-header-item-warning-color: rgba(177, 42, 39,0.6);\n --kd-lane-container-header-bg: #eeeeee;\n --kd-lane-container-item-bg: #f6f7f8;\n --kd-lane-container-item-line-color: #dddddd;\n --select-hover-bg-color: #dfdfdf;\n --select-selected-text-color: #ffcc33;\n --dialog-header:#EBEBEB;\n --dialog-button-default:#f6f7f8;\n --dialog-button-disabled-text: #ffffff;\n --in-range-text-color: #333333;\n --dialog-tree-text-color: #333333;\n}\n\n/* 下拉框 */\n.kd-curve-2d-select-popup {\n background: var(--bg-color) !important;\n border: 1px solid var(--border-color) !important;\n /* 列表容器(关键) */\n}\n.kd-curve-2d-select-popup .el-scrollbar__wrap {\n margin-bottom: 0 !important;\n margin-right: 0 !important;\n background: var(--bg-color) !important;\n /* 隐藏滚动条 */\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n.kd-curve-2d-select-popup .el-scrollbar__wrap::-webkit-scrollbar {\n display: none;\n}\n.kd-curve-2d-select-popup {\n /* 每一项(默认) */\n}\n.kd-curve-2d-select-popup .el-select-dropdown__item {\n background: var(--bg-color) !important;\n color: var(--default-text-color) !important;\n /* hover */\n}\n.kd-curve-2d-select-popup .el-select-dropdown__item.hover, .kd-curve-2d-select-popup .el-select-dropdown__item:hover {\n background: var(--select-hover-bg-color) !important;\n color: var(--default-text-color) !important;\n}\n.kd-curve-2d-select-popup .el-select-dropdown__item.selected {\n background: var(--bg-color) !important; /* 不要灰色 */\n color: var(--select-selected-text-color) !important; /* 高亮文字(可选) */\n font-weight: bold;\n}\n.kd-curve-2d-select-popup .el-select-dropdown__item.selected.hover, .kd-curve-2d-select-popup .el-select-dropdown__item.selected:hover {\n background: var(--select-hover-bg-color) !important;\n}\n.kd-curve-2d-select-popup {\n /* 三角箭头 */\n}\n.kd-curve-2d-select-popup[x-placement^=bottom] .popper__arrow {\n border-bottom-color: var(--border-color) !important;\n}\n.kd-curve-2d-select-popup[x-placement^=bottom] .popper__arrow::after {\n border-bottom-color: var(--bg-color) !important;\n}\n.kd-curve-2d-select-popup[x-placement^=top] .popper__arrow {\n border-top-color: var(--border-color) !important;\n}\n.kd-curve-2d-select-popup[x-placement^=top] .popper__arrow::after {\n border-top-color: var(--bg-color) !important;\n}\n.kd-curve-2d-select-popup .el-time-panel {\n background: var(--bg-color) !important;\n box-shadow: 0 2px 12px 0 transparent;\n border: 1px solid var(--border-color);\n}\n.kd-curve-2d-select-popup .el-time-panel .el-time-panel__btn {\n color: var(--default-text-color);\n}\n.kd-curve-2d-select-popup .el-time-panel .el-time-spinner__item {\n color: var(--default-text-color);\n}\n.kd-curve-2d-select-popup .el-time-panel .el-time-spinner__item.active:not(.disabled) {\n color: var(--select-selected-text-color);\n font-weight: bold;\n}\n.kd-curve-2d-select-popup .el-time-panel .el-time-panel__footer {\n border-top: 1px solid var(--border-color);\n}\n.kd-curve-2d-select-popup .el-time-panel .el-time-spinner__item:hover:not(.disabled):not(.active) {\n background: var(--select-hover-bg-color);\n}\n.kd-curve-2d-select-popup .el-color-picker__trigger {\n border: 1px solid var(--dialog-header);\n}\n.kd-curve-2d-select-popup .el-color-picker__panel {\n background: var(--bg-color) !important;\n border: 1px solid var(--dialog-header);\n border-radius: 0px;\n}\n.kd-curve-2d-select-popup .el-color-picker__panel .el-button--text {\n color: var(--select-selected-text-color);\n}\n.kd-curve-2d-select-popup .el-color-picker__panel .el-button--default {\n background: var(--dialog-button-default);\n color: var(--default-text-color);\n border: none;\n border-radius: 0px;\n}\n.kd-curve-2d-select-popup .el-color-picker__panel .el-button.is-plain:hover {\n background: var(--dialog-button-default);\n color: var(--default-text-color);\n}\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper {\n background: var(--bg-color);\n border: 1px solid var(--dialog-header);\n color: var(--default-text-color);\n}\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-input__inner {\n background: var(--bg-color) !important;\n border: 1px solid var(--border-color) !important;\n color: var(--text-color) !important;\n height: 32px !important;\n line-height: 32px !important;\n box-sizing: border-box;\n border-radius: 0px;\n}\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-date-picker__header-label {\n color: var(--default-text-color);\n}\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-date-picker__header-label:hover {\n color: var(--select-selected-text-color);\n}\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-date-range-picker__time-header > .el-icon-arrow-right {\n color: var(--default-text-color);\n}\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-button--text {\n color: var(--select-selected-text-color);\n}\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-picker-panel__icon-btn {\n color: var(--default-text-color);\n}\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-date-range-picker__time-header {\n border-bottom: 1px solid var(--dialog-header);\n}\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-date-range-picker__content.is-left {\n border-right: 1px solid var(--dialog-header);\n}\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-date-table th {\n border-bottom: 1px solid var(--dialog-header);\n color: var(--default-text-color);\n}\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-date-table td.today span {\n color: var(--select-selected-text-color);\n}\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-date-table td.available:hover {\n color: var(--select-selected-text-color);\n}\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-date-table td.next-month,\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-date-table td.prev-month {\n color: var(--dialog-header);\n}\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-date-table td.available {\n color: var(--default-text-color);\n}\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-date-table td.available.in-range {\n color: var(--in-range-text-color) !important;\n}\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-date-table td.end-date span,\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-date-table td.start-date span {\n background: var(--select-selected-text-color);\n}\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-date-table td.in-range div,\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-date-table td.in-range div:hover,\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-date-table.is-week-mode .el-date-table__row.current div,\n.kd-curve-2d-select-popup .el-picker-panel__body-wrapper .el-date-table.is-week-mode .el-date-table__row:hover div {\n background: var(--dialog-header);\n}\n.kd-curve-2d-select-popup .el-picker-panel__footer {\n background: var(--bg-color);\n border-top: 1px solid var(--dialog-header);\n}\n.kd-curve-2d-select-popup .el-picker-panel__footer .el-button--default {\n background: var(--dialog-button-default);\n color: var(--default-text-color);\n border: none;\n border-radius: 0px;\n}\n.kd-curve-2d-select-popup .el-picker-panel__footer .el-button.is-disabled.is-plain,\n.kd-curve-2d-select-popup .el-picker-panel__footer .el-button.is-disabled.is-plain:focus,\n.kd-curve-2d-select-popup .el-picker-panel__footer .el-button.is-disabled.is-plain:hover {\n background: var(--dialog-button-default);\n color: var(--dialog-button-disabled-text);\n}\n.kd-curve-2d-select-popup .el-picker-panel__footer .el-button.is-disabled.is-plain {\n background: var(--dialog-button-default);\n color: var(--dialog-button-disabled-text) !important;\n}\n.kd-curve-2d-select-popup .el-popper[x-placement^=bottom] .popper__arrow::after {\n border-bottom-color: var(--bg-color) !important;\n}\n.kd-curve-2d-container {\n /* radio 自定义样式 */\n}\n.kd-curve-2d-container .el-radio {\n display: flex;\n align-items: center;\n vertical-align: middle;\n color: var(--radio-default-text-color);\n font-family: Microsoft YaHei UI, Microsoft YaHei UI;\n font-size: 14px;\n}\n.kd-curve-2d-container .el-radio__inner {\n width: 14px;\n height: 14px;\n background: transparent;\n border: 1px solid var(--radio-border-color);\n}\n.kd-curve-2d-container .el-radio__input.is-checked .el-radio__inner {\n border-color: var(--radio-checked-border-color);\n background: transparent;\n}\n.kd-curve-2d-container .el-radio__input.is-disabled .el-radio__inner {\n background-color: transparent;\n border-color: var(--radio-border-color);\n}\n.kd-curve-2d-container .el-radio__inner::after {\n width: 7px;\n height: 7px;\n background: var(--radio-checked-color);\n}\n.kd-curve-2d-container .el-radio.is-checked .el-radio__label {\n color: var(--radio-checked-text-color);\n font-weight: bold;\n}\n.kd-curve-2d-container {\n /* select */\n}\n.kd-curve-2d-container .el-input__inner {\n background: var(--bg-color) !important;\n border: 1px solid var(--border-color) !important;\n color: var(--text-color) !important;\n height: 32px !important;\n line-height: 32px !important;\n box-sizing: border-box;\n border-radius: 0px;\n}\n.kd-curve-2d-container {\n /* 下拉箭头 */\n}\n.kd-curve-2d-container .el-select .el-input__suffix i {\n display: none !important;\n}\n.kd-curve-2d-container .el-select .el-input__suffix {\n right: 0;\n width: 28px;\n height: 32px !important;\n line-height: 32px !important;\n background: var(--slider-gradient-color);\n display: flex;\n align-items: center;\n justify-content: center;\n border-left: 1px solid var(--border-color);\n}\n.kd-curve-2d-container .el-select .el-input__suffix::after {\n content: \"\";\n width: 0;\n height: 0;\n border-left: 5px solid transparent;\n border-right: 5px solid transparent;\n border-top: 6px solid var(--slider-content-color); /* 橙色三角 */\n}\n.kd-curve-2d-container .el-select .el-input__suffix::after {\n transition: transform 0.2s ease;\n}\n.kd-curve-2d-container .el-select .el-input.is-focus .el-input__suffix::after {\n transform: rotate(180deg);\n}\n.kd-curve-2d-container .el-dialog {\n border: 1px solid var(--card-border-color);\n}\n.kd-curve-2d-container .el-dialog .el-form-item__label {\n color: var(--default-text-color);\n font-size: 14px;\n}\n.kd-curve-2d-container .el-dialog .el-dialog__headerbtn {\n top: 11px;\n width: 24px;\n height: 24px;\n background: linear-gradient(270deg, #c73521 0%, #f86c59 100%);\n border-radius: 100px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.kd-curve-2d-container .el-dialog .el-dialog__headerbtn .el-dialog__close {\n color: #fff;\n font-size: 14px;\n font-weight: 700;\n}\n.kd-curve-2d-container .el-button {\n border-radius: 0px;\n border: none;\n}\n.kd-curve-2d-container .el-button--primary {\n background-image: linear-gradient(to bottom, #2057ea, #12338d);\n}\n.kd-curve-2d-container .el-button--default {\n background: var(--dialog-button-default);\n color: var(--default-text-color);\n}\n.kd-curve-2d-container .el-button--primary.is-disabled {\n background-image: linear-gradient(to bottom, #2f5ede, #1e3677);\n color: var(--dialog-button-disabled-text);\n}\n.kd-curve-2d-container .el-tabs .el-tabs__nav-wrap::after {\n background-color: var(--card-border-color);\n}\n.kd-curve-2d-container .el-tabs .el-tabs__item {\n color: var(--default-text-color);\n}\n.kd-curve-2d-container .el-tabs .el-tabs__item.is-active {\n color: var(--select-selected-text-color);\n}\n.kd-curve-2d-container .el-tabs .el-tabs__active-bar {\n background: var(--select-selected-text-color);\n}\n.kd-curve-2d-container .el-tree {\n background: var(--bg-color) !important;\n color: var(--default-text-color);\n font-size: 14px;\n}\n.kd-curve-2d-container .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {\n background: var(--dialog-header) !important;\n color: var(--dialog-tree-text-color);\n}\n.kd-curve-2d-container .el-tree-node__content:hover,\n.kd-curve-2d-container .el-upload-list__item:hover {\n background: var(--dialog-header) !important;\n color: var(--dialog-tree-text-color);\n}\n.kd-curve-2d-container .vue-simple-context-menu__item,\n.kd-curve-2d-container .vue-simple-context-menu__item {\n font-size: 14px !important;\n}\n.kd-curve-2d-container .kd-lane-el-container {\n border: 1px solid var(--card-border-color);\n}\n.kd-curve-2d-container .kd-lane-el-container .rtd-config-side {\n border-right: 1px solid var(--card-border-color);\n}\n.kd-curve-2d-container .el-dialog__header {\n background: var(--dialog-header);\n text-align: center;\n}\n.kd-curve-2d-container .el-dialog__header .el-dialog__title {\n color: var(--dialog-header-text-color);\n}\n.kd-curve-2d-container .el-dialog__header {\n padding: 10px 10px 10px;\n}\n.kd-curve-2d-container .el-dialog__body {\n background: var(--bg-color);\n padding: 30px 30px 10px 30px;\n}\n.kd-curve-2d-container .el-dialog__body .input-number-container .el-input__inner {\n width: calc(100% - 80px) !important;\n margin-left: 40px !important;\n}\n.kd-curve-2d-container .el-dialog__body .el-input__inner {\n color: var(--default-text-color) !important;\n}\n.kd-curve-2d-container .el-dialog__body .el-input-number__decrease,\n.kd-curve-2d-container .el-dialog__body .el-input-number__increase {\n color: var(--default-text-color);\n}\n.kd-curve-2d-container .el-dialog__body .el-input-number__increase {\n background: var(--card-color);\n color: var(--default-text-color);\n border-radius: 0px 0px 0px 0px;\n border: 1px solid var(--card-border-color);\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.kd-curve-2d-container .el-dialog__body .el-input-number__decrease {\n background: var(--card-color);\n border-radius: 0px 0px 0px 0px;\n border: 1px solid var(--card-border-color);\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.kd-curve-2d-container .el-dialog__footer {\n text-align: center;\n background: var(--bg-color);\n}\n.kd-curve-2d-container .el-date-editor {\n background: var(--bg-color) !important;\n}\n.kd-curve-2d-container .el-date-editor .el-range-input {\n background: var(--bg-color) !important;\n border-top: 1px solid var(--border-color) !important;\n border-bottom: 1px solid var(--border-color) !important;\n color: var(--text-color) !important;\n height: 32px !important;\n line-height: 32px !important;\n box-sizing: border-box;\n border-radius: 0px;\n}\n.kd-curve-2d-container .el-date-editor .el-range-separator {\n color: var(--default-text-color);\n}";
10090
10083
  styleInject(css_248z$1);
10091
10084
 
10092
- var css_248z = "@charset \"UTF-8\";\n.resize-container[data-v-36618494] {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n padding: 8px;\n background: var(--bg-color);\n color: var(--default-text-color);\n overflow: hidden;\n /* 主容器 */\n}\n.resize-container .container[data-v-36618494] {\n display: flex;\n flex: 1;\n width: 100%;\n overflow: hidden;\n}\n.resize-container[data-v-36618494] {\n /* 面板通用样式 */\n}\n.resize-container .panel[data-v-36618494] {\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n flex-shrink: 0;\n background: var(--panel-item-bg-color);\n border: 1px solid var(--panel-item-border-color);\n padding: 8px;\n /* 隐藏滚动条 */\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n.resize-container .panel[data-v-36618494]::-webkit-scrollbar {\n display: none;\n}\n.resize-container .panel-3[data-v-36618494] {\n flex: 1;\n min-width: 100px;\n}\n.resize-container[data-v-36618494] {\n /* 拖拽条样式 */\n}\n.resize-container .resizer[data-v-36618494] {\n width: 6px;\n cursor: col-resize;\n}\n.resize-container .resizer[data-v-36618494]:hover {\n background-color: var(--resizer-bg-color);\n transition: background-color 0.2s ease;\n}";
10085
+ var css_248z = "@charset \"UTF-8\";\n.kd-curve-2d-resize-container[data-v-12684d2f] {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n background: var(--bg-color);\n color: var(--default-text-color);\n overflow: hidden;\n /* 主容器 */\n}\n.kd-curve-2d-resize-container .container[data-v-12684d2f] {\n display: flex;\n flex: 1;\n width: 100%;\n overflow: hidden;\n}\n.kd-curve-2d-resize-container[data-v-12684d2f] {\n /* 面板通用样式 */\n}\n.kd-curve-2d-resize-container .panel[data-v-12684d2f] {\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n flex-shrink: 0;\n background: var(--panel-item-bg-color);\n border: 1px solid var(--panel-item-border-color);\n padding: 8px;\n /* 隐藏滚动条 */\n scrollbar-width: none;\n -ms-overflow-style: none;\n}\n.kd-curve-2d-resize-container .panel[data-v-12684d2f]::-webkit-scrollbar {\n display: none;\n}\n.kd-curve-2d-resize-container .panel-3[data-v-12684d2f] {\n flex: 1;\n min-width: 100px;\n}\n.kd-curve-2d-resize-container[data-v-12684d2f] {\n /* 拖拽条样式 */\n}\n.kd-curve-2d-resize-container .resizer[data-v-12684d2f] {\n width: 6px;\n cursor: col-resize;\n}\n.kd-curve-2d-resize-container .resizer[data-v-12684d2f]:hover {\n background-color: var(--resizer-bg-color);\n transition: background-color 0.2s ease;\n}";
10093
10086
  styleInject(css_248z);
10094
10087
 
10095
10088
  /* script */
@@ -10099,183 +10092,187 @@ var __vue_render__ = function () {
10099
10092
  var _vm = this;
10100
10093
  var _h = _vm.$createElement;
10101
10094
  var _c = _vm._self._c || _h;
10102
- return _c("div", { staticClass: "resize-container kd-curve-2d-container" }, [
10103
- _c("div", { ref: "container", staticClass: "container" }, [
10104
- _vm.showPanel1
10105
- ? _c(
10106
- "div",
10107
- {
10108
- staticClass: "panel panel-1",
10109
- style: { width: _vm.panel1Width + "px" },
10110
- },
10111
- [
10112
- _c(
10113
- "DataPanelList",
10114
- _vm._g(
10115
- _vm._b({}, "DataPanelList", _vm.$props, false),
10116
- _vm.$listeners
10117
- )
10118
- ),
10119
- ],
10120
- 1
10121
- )
10122
- : _vm._e(),
10123
- _vm._v(" "),
10124
- _vm.showPanel1 && (_vm.showPanel2 || _vm.showPanel3 || _vm.showPanel4)
10125
- ? _c("div", {
10126
- staticClass: "resizer",
10127
- on: {
10128
- mousedown: function (e) {
10129
- return _vm.startResize(1, e)
10095
+ return _c(
10096
+ "div",
10097
+ { staticClass: "kd-curve-2d-resize-container kd-curve-2d-container" },
10098
+ [
10099
+ _c("div", { ref: "container", staticClass: "container" }, [
10100
+ _vm.showPanel1
10101
+ ? _c(
10102
+ "div",
10103
+ {
10104
+ staticClass: "panel panel-1",
10105
+ style: { width: _vm.panel1Width + "px" },
10130
10106
  },
10131
- },
10132
- })
10133
- : _vm._e(),
10134
- _vm._v(" "),
10135
- _vm.showPanel2
10136
- ? _c(
10137
- "div",
10138
- {
10139
- staticClass: "panel panel-2",
10140
- style: { width: _vm.panel2Width + "px" },
10141
- },
10142
- [
10143
- _c(
10144
- "DepthTimeChart",
10145
- _vm._g(
10146
- _vm._b(
10147
- {
10148
- ref: "depthTimeChart",
10149
- attrs: {
10150
- formCache: _vm.formCache,
10151
- depthTimeChartData: _vm.depthTimeChartData,
10152
- },
10153
- on: { depthTimeChange: _vm.handleDepthTimeChange },
10154
- },
10155
- "DepthTimeChart",
10156
- _vm.$props,
10157
- false
10158
- ),
10159
- _vm.$listeners
10160
- )
10161
- ),
10162
- ],
10163
- 1
10164
- )
10165
- : _vm._e(),
10166
- _vm._v(" "),
10167
- _vm.showPanel2 && (_vm.showPanel3 || _vm.showPanel4)
10168
- ? _c("div", {
10169
- staticClass: "resizer",
10170
- on: {
10171
- mousedown: function (e) {
10172
- return _vm.startResize(2, e)
10107
+ [
10108
+ _c(
10109
+ "DataPanelList",
10110
+ _vm._g(
10111
+ _vm._b({}, "DataPanelList", _vm.$props, false),
10112
+ _vm.$listeners
10113
+ )
10114
+ ),
10115
+ ],
10116
+ 1
10117
+ )
10118
+ : _vm._e(),
10119
+ _vm._v(" "),
10120
+ _vm.showPanel1 && (_vm.showPanel2 || _vm.showPanel3 || _vm.showPanel4)
10121
+ ? _c("div", {
10122
+ staticClass: "resizer",
10123
+ on: {
10124
+ mousedown: function (e) {
10125
+ return _vm.startResize(1, e)
10126
+ },
10173
10127
  },
10174
- },
10175
- })
10176
- : _vm._e(),
10177
- _vm._v(" "),
10178
- _vm.showPanel3
10179
- ? _c(
10180
- "div",
10181
- { staticClass: "panel panel-3" },
10182
- [
10183
- _vm.showChartContainer
10184
- ? _c(
10185
- "chartContainer",
10186
- _vm._g(
10187
- _vm._b(
10188
- {
10189
- ref: "chartContainer",
10190
- attrs: {
10191
- config: _vm.config,
10192
- formCache: _vm.formCache,
10193
- cachedCurveDatas: _vm.cachedCurveDatas,
10194
- },
10195
- on: {
10196
- updateScale: _vm.updateScale,
10197
- visibleDataChange: _vm.visibleDataChange,
10198
- },
10128
+ })
10129
+ : _vm._e(),
10130
+ _vm._v(" "),
10131
+ _vm.showPanel2
10132
+ ? _c(
10133
+ "div",
10134
+ {
10135
+ staticClass: "panel panel-2",
10136
+ style: { width: _vm.panel2Width + "px" },
10137
+ },
10138
+ [
10139
+ _c(
10140
+ "DepthTimeChart",
10141
+ _vm._g(
10142
+ _vm._b(
10143
+ {
10144
+ ref: "depthTimeChart",
10145
+ attrs: {
10146
+ formCache: _vm.formCache,
10147
+ depthTimeChartData: _vm.depthTimeChartData,
10199
10148
  },
10200
- "chartContainer",
10201
- _vm.$props,
10202
- false
10203
- ),
10204
- _vm.$listeners
10149
+ on: { depthTimeChange: _vm.handleDepthTimeChange },
10150
+ },
10151
+ "DepthTimeChart",
10152
+ _vm.$props,
10153
+ false
10205
10154
  ),
10206
- [
10207
- _vm._l(_vm.headerSlotName, function (lane) {
10208
- return _c(
10209
- "template",
10210
- { slot: lane.laneId },
10211
- [_vm._t(lane.laneId)],
10212
- 2
10213
- )
10214
- }),
10215
- _vm._v(" "),
10216
- _vm._l(_vm.contentSlotName, function (lane) {
10217
- return _c(
10218
- "template",
10219
- { slot: lane.laneId },
10220
- [_vm._t(lane.laneId)],
10221
- 2
10222
- )
10223
- }),
10224
- ],
10225
- 2
10155
+ _vm.$listeners
10226
10156
  )
10227
- : _vm._e(),
10228
- ],
10229
- 1
10230
- )
10231
- : _vm._e(),
10232
- _vm._v(" "),
10233
- _vm.showPanel3 && _vm.showPanel4
10234
- ? _c("div", {
10235
- staticClass: "resizer",
10236
- on: {
10237
- mousedown: function (e) {
10238
- return _vm.startResize(3, e)
10157
+ ),
10158
+ ],
10159
+ 1
10160
+ )
10161
+ : _vm._e(),
10162
+ _vm._v(" "),
10163
+ _vm.showPanel2 && (_vm.showPanel3 || _vm.showPanel4)
10164
+ ? _c("div", {
10165
+ staticClass: "resizer",
10166
+ on: {
10167
+ mousedown: function (e) {
10168
+ return _vm.startResize(2, e)
10169
+ },
10239
10170
  },
10240
- },
10241
- })
10242
- : _vm._e(),
10243
- _vm._v(" "),
10244
- _vm.showPanel4
10245
- ? _c(
10246
- "div",
10247
- {
10248
- staticClass: "panel panel-4",
10249
- style: { width: _vm.panel4Width + "px" },
10250
- },
10251
- [
10252
- _c(
10253
- "FunctionControlPanel",
10254
- _vm._g(
10255
- _vm._b(
10256
- {
10257
- ref: "functionControlPanel",
10258
- attrs: { initialFormCache: _vm.initialFormCache },
10259
- on: {
10260
- updateForm: _vm.updateForm,
10261
- jumpToNextMarkLine: _vm.jumpToNextMarkLine,
10262
- refresh: _vm.refresh,
10263
- dialogFunction: _vm.dialogFunction,
10171
+ })
10172
+ : _vm._e(),
10173
+ _vm._v(" "),
10174
+ _vm.showPanel3
10175
+ ? _c(
10176
+ "div",
10177
+ { staticClass: "panel panel-3" },
10178
+ [
10179
+ _vm.showChartContainer
10180
+ ? _c(
10181
+ "chartContainer",
10182
+ _vm._g(
10183
+ _vm._b(
10184
+ {
10185
+ ref: "chartContainer",
10186
+ attrs: {
10187
+ config: _vm.config,
10188
+ formCache: _vm.formCache,
10189
+ cachedCurveDatas: _vm.cachedCurveDatas,
10190
+ },
10191
+ on: {
10192
+ updateScale: _vm.updateScale,
10193
+ visibleDataChange: _vm.visibleDataChange,
10194
+ },
10195
+ },
10196
+ "chartContainer",
10197
+ _vm.$props,
10198
+ false
10199
+ ),
10200
+ _vm.$listeners
10201
+ ),
10202
+ [
10203
+ _vm._l(_vm.headerSlotName, function (lane) {
10204
+ return _c(
10205
+ "template",
10206
+ { slot: lane.laneId },
10207
+ [_vm._t(lane.laneId)],
10208
+ 2
10209
+ )
10210
+ }),
10211
+ _vm._v(" "),
10212
+ _vm._l(_vm.contentSlotName, function (lane) {
10213
+ return _c(
10214
+ "template",
10215
+ { slot: lane.laneId },
10216
+ [_vm._t(lane.laneId)],
10217
+ 2
10218
+ )
10219
+ }),
10220
+ ],
10221
+ 2
10222
+ )
10223
+ : _vm._e(),
10224
+ ],
10225
+ 1
10226
+ )
10227
+ : _vm._e(),
10228
+ _vm._v(" "),
10229
+ _vm.showPanel3 && _vm.showPanel4
10230
+ ? _c("div", {
10231
+ staticClass: "resizer",
10232
+ on: {
10233
+ mousedown: function (e) {
10234
+ return _vm.startResize(3, e)
10235
+ },
10236
+ },
10237
+ })
10238
+ : _vm._e(),
10239
+ _vm._v(" "),
10240
+ _vm.showPanel4
10241
+ ? _c(
10242
+ "div",
10243
+ {
10244
+ staticClass: "panel panel-4",
10245
+ style: { width: _vm.panel4Width + "px" },
10246
+ },
10247
+ [
10248
+ _c(
10249
+ "FunctionControlPanel",
10250
+ _vm._g(
10251
+ _vm._b(
10252
+ {
10253
+ ref: "functionControlPanel",
10254
+ attrs: { initialFormCache: _vm.initialFormCache },
10255
+ on: {
10256
+ updateForm: _vm.updateForm,
10257
+ jumpToNextMarkLine: _vm.jumpToNextMarkLine,
10258
+ refresh: _vm.refresh,
10259
+ dialogFunction: _vm.dialogFunction,
10260
+ },
10264
10261
  },
10265
- },
10266
- "FunctionControlPanel",
10267
- _vm.$props,
10268
- false
10269
- ),
10270
- _vm.$listeners
10271
- )
10272
- ),
10273
- ],
10274
- 1
10275
- )
10276
- : _vm._e(),
10277
- ]),
10278
- ])
10262
+ "FunctionControlPanel",
10263
+ _vm.$props,
10264
+ false
10265
+ ),
10266
+ _vm.$listeners
10267
+ )
10268
+ ),
10269
+ ],
10270
+ 1
10271
+ )
10272
+ : _vm._e(),
10273
+ ]),
10274
+ ]
10275
+ )
10279
10276
  };
10280
10277
  var __vue_staticRenderFns__ = [];
10281
10278
  __vue_render__._withStripped = true;
@@ -10283,7 +10280,7 @@ __vue_render__._withStripped = true;
10283
10280
  /* style */
10284
10281
  const __vue_inject_styles__ = undefined;
10285
10282
  /* scoped */
10286
- const __vue_scope_id__ = "data-v-36618494";
10283
+ const __vue_scope_id__ = "data-v-12684d2f";
10287
10284
  /* module identifier */
10288
10285
  const __vue_module_identifier__ = undefined;
10289
10286
  /* functional template */