kd-curve-v2 0.0.6 → 0.0.7
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 +188 -156
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
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-
|
|
2178
|
+
var css_248z$b = "@charset \"UTF-8\";\n.function-control-panel[data-v-9e2c85ea] {\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-9e2c85ea]::-webkit-scrollbar {\n display: none;\n}\n.function-control-panel .radio-group[data-v-9e2c85ea] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding-bottom: 8px;\n}\n.el-select-disabled[data-v-9e2c85ea] {\n opacity: 0.5;\n}\n\n/*/* 分割线 */\n.divider[data-v-9e2c85ea] {\n height: 1px;\n background: var(--border-color);\n margin-bottom: 8px;\n}\n\n/* label */\n.label[data-v-9e2c85ea] {\n color: #aaa;\n margin-bottom: 2px;\n}\n\n/* 操作按钮 */\n.actions[data-v-9e2c85ea] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.btn[data-v-9e2c85ea] {\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-9e2c85ea] {\n width: 54px;\n height: 54px;\n}\n.btn.disabled[data-v-9e2c85ea] {\n color: #666;\n cursor: not-allowed;\n}\n.btn.disabled .icon[data-v-9e2c85ea] {\n opacity: 0.5;\n}\n.fontColor[data-v-9e2c85ea] {\n color: var(--default-text-color);\n}";
|
|
2179
2179
|
styleInject(css_248z$b);
|
|
2180
2180
|
|
|
2181
2181
|
/* script */
|
|
@@ -2596,14 +2596,16 @@ var __vue_render__$a = function () {
|
|
|
2596
2596
|
})
|
|
2597
2597
|
: _vm._e(),
|
|
2598
2598
|
_vm._v(" "),
|
|
2599
|
-
|
|
2600
|
-
_c("
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2599
|
+
_vm.toolBarConfig.refreshBtnShow !== false
|
|
2600
|
+
? _c("div", { staticClass: "btn", on: { click: _vm.refresh } }, [
|
|
2601
|
+
_c("img", {
|
|
2602
|
+
staticClass: "icon",
|
|
2603
|
+
attrs: { src: _vm.refreshIcon, alt: "刷新" },
|
|
2604
|
+
}),
|
|
2605
|
+
_vm._v(" "),
|
|
2606
|
+
_c("span", [_vm._v("刷新")]),
|
|
2607
|
+
])
|
|
2608
|
+
: _vm._e(),
|
|
2607
2609
|
_vm._v(" "),
|
|
2608
2610
|
_vm.toolBarConfig.exportBtnShow !== false
|
|
2609
2611
|
? _c(
|
|
@@ -3273,7 +3275,7 @@ __vue_render__$a._withStripped = true;
|
|
|
3273
3275
|
/* style */
|
|
3274
3276
|
const __vue_inject_styles__$a = undefined;
|
|
3275
3277
|
/* scoped */
|
|
3276
|
-
const __vue_scope_id__$a = "data-v-
|
|
3278
|
+
const __vue_scope_id__$a = "data-v-9e2c85ea";
|
|
3277
3279
|
/* module identifier */
|
|
3278
3280
|
const __vue_module_identifier__$a = undefined;
|
|
3279
3281
|
/* functional template */
|
|
@@ -6985,10 +6987,10 @@ var script$2 = {
|
|
|
6985
6987
|
window.addEventListener("keyup", this.handleKeyUp);
|
|
6986
6988
|
window.addEventListener("mousemove", this.resize);
|
|
6987
6989
|
window.addEventListener("mouseup", this.stopResize);
|
|
6988
|
-
// 初始化tooltip显示隐藏
|
|
6989
|
-
this.showTooltip = this.formCache.displayType == "float";
|
|
6990
6990
|
// 初始化大小变化监听器
|
|
6991
6991
|
this.initResizeObserver();
|
|
6992
|
+
// 初始化tooltip显示隐藏
|
|
6993
|
+
this.showTooltip = this.formCache.displayType == "float";
|
|
6992
6994
|
},
|
|
6993
6995
|
beforeDestroy() {
|
|
6994
6996
|
window.removeEventListener("keydown", this.handleKeyDown);
|
|
@@ -7050,6 +7052,12 @@ var script$2 = {
|
|
|
7050
7052
|
this.startIndex = targetIndex - Math.ceil(this.windowSize / 2);
|
|
7051
7053
|
this.updateLanesChartOption("", "series");
|
|
7052
7054
|
},
|
|
7055
|
+
hiddenContextMenu() {
|
|
7056
|
+
const ctxRef = this.$refs.vueSimpleContextMenu;
|
|
7057
|
+
if (ctxRef) {
|
|
7058
|
+
ctxRef.hideContextMenu();
|
|
7059
|
+
}
|
|
7060
|
+
},
|
|
7053
7061
|
// 将当前页面px转换为cm
|
|
7054
7062
|
pxToCm() {
|
|
7055
7063
|
const container = this.$refs.targetDom;
|
|
@@ -7061,13 +7069,21 @@ var script$2 = {
|
|
|
7061
7069
|
return cm;
|
|
7062
7070
|
},
|
|
7063
7071
|
getXAxisRangeByHeader(lineInfo, validData = []) {
|
|
7064
|
-
|
|
7065
|
-
|
|
7066
|
-
|
|
7067
|
-
|
|
7072
|
+
let headerMin = 0;
|
|
7073
|
+
let headerMax = 1;
|
|
7074
|
+
if(lineInfo && Object.prototype.hasOwnProperty.call(lineInfo, "min")){
|
|
7075
|
+
headerMin = Number(lineInfo.min);
|
|
7076
|
+
}else {
|
|
7077
|
+
headerMin = Math.floor(Math.min(...validData));
|
|
7078
|
+
}
|
|
7079
|
+
if(lineInfo && Object.prototype.hasOwnProperty.call(lineInfo, "max")){
|
|
7080
|
+
headerMax = Number(lineInfo.max);
|
|
7081
|
+
}else {
|
|
7082
|
+
headerMax = Math.ceil(Math.max(...validData));
|
|
7083
|
+
}
|
|
7068
7084
|
|
|
7069
|
-
const min =
|
|
7070
|
-
const max =
|
|
7085
|
+
const min = headerMin > 0 ? headerMin : 0;
|
|
7086
|
+
const max = headerMax > 0 ? headerMax : 1;
|
|
7071
7087
|
return { min, max };
|
|
7072
7088
|
},
|
|
7073
7089
|
// 通过 laneId 切换指定泳道 x 轴类型(value/log)
|
|
@@ -7387,7 +7403,7 @@ var script$2 = {
|
|
|
7387
7403
|
const headerKey = entry.target.textContent || entry.target.innerText || "unknown";
|
|
7388
7404
|
const currentWidth = entry.contentRect.width;
|
|
7389
7405
|
const cachedWidth = this.headerWidthCache[headerKey];
|
|
7390
|
-
|
|
7406
|
+
// console.log("headerKey", headerKey, "currentWidth", currentWidth, "cachedWidth", cachedWidth);
|
|
7391
7407
|
// 只有当宽度实际变化时才触发
|
|
7392
7408
|
if (cachedWidth === undefined || Math.abs(currentWidth - cachedWidth) > 1) {
|
|
7393
7409
|
this.headerWidthCache[headerKey] = currentWidth;
|
|
@@ -7903,15 +7919,11 @@ var script$2 = {
|
|
|
7903
7919
|
}
|
|
7904
7920
|
}
|
|
7905
7921
|
},
|
|
7906
|
-
|
|
7922
|
+
showContextMenu(event, item) {
|
|
7907
7923
|
event.stopPropagation();
|
|
7924
|
+
this.$emit("showContextMenu", item);
|
|
7908
7925
|
this.$refs.vueSimpleContextMenu.showMenu(event, item);
|
|
7909
|
-
|
|
7910
|
-
hiddenContextMenu() {
|
|
7911
|
-
const ctxRef = this.$refs.vueSimpleContextMenu;
|
|
7912
|
-
if (ctxRef) {
|
|
7913
|
-
ctxRef.hideContextMenu();
|
|
7914
|
-
}
|
|
7926
|
+
|
|
7915
7927
|
},
|
|
7916
7928
|
optionClicked(event) {
|
|
7917
7929
|
const { option, item } = event;
|
|
@@ -7981,8 +7993,25 @@ var script$2 = {
|
|
|
7981
7993
|
this.laneWidthOverrides = {};
|
|
7982
7994
|
}
|
|
7983
7995
|
this.$emit("template-change", this.currentTemplate);
|
|
7996
|
+
this.reobserveHeaders();
|
|
7984
7997
|
this.updateLanesChartOption();
|
|
7985
7998
|
},
|
|
7999
|
+
getFirstDataIndexItem(seriesData) {
|
|
8000
|
+
// 入参校验:确保是数组且非空
|
|
8001
|
+
if (!Array.isArray(seriesData) || seriesData.length === 0) {
|
|
8002
|
+
return null;
|
|
8003
|
+
}
|
|
8004
|
+
|
|
8005
|
+
// 遍历数组,找到第一个包含 dataIndex 的项
|
|
8006
|
+
for (const item of seriesData) {
|
|
8007
|
+
if (typeof item.dataIndex !== "undefined" && item.dataIndex !== null) {
|
|
8008
|
+
return item;
|
|
8009
|
+
}
|
|
8010
|
+
}
|
|
8011
|
+
|
|
8012
|
+
// 无匹配项返回 null
|
|
8013
|
+
return null;
|
|
8014
|
+
},
|
|
7986
8015
|
getDefaultLaneChartOption() {
|
|
7987
8016
|
const option = {
|
|
7988
8017
|
backgroundColor: getCssVariable("--kd-lane-container-item-bg"),
|
|
@@ -8023,7 +8052,7 @@ var script$2 = {
|
|
|
8023
8052
|
],
|
|
8024
8053
|
yAxis: [
|
|
8025
8054
|
{
|
|
8026
|
-
type:
|
|
8055
|
+
type: "value",
|
|
8027
8056
|
inverse: true,
|
|
8028
8057
|
boundaryGap: false,
|
|
8029
8058
|
scale: true,
|
|
@@ -8074,18 +8103,37 @@ var script$2 = {
|
|
|
8074
8103
|
formatter: (params) => {
|
|
8075
8104
|
if (this.formCache.displayType == "header") {
|
|
8076
8105
|
let dataIndexItem = (params.seriesData && params.seriesData[0] && params.seriesData[0].dataIndex) || null;
|
|
8106
|
+
// let dataIndexItem = this.getFirstDataIndexItem(params.seriesData);
|
|
8077
8107
|
if (dataIndexItem !== null) {
|
|
8078
8108
|
this.headerData = this.visibleData[dataIndexItem];
|
|
8109
|
+
// this.headerData = this.visibleData[dataIndexItem.dataIndex];
|
|
8079
8110
|
} else {
|
|
8080
8111
|
this.headerData = {};
|
|
8081
8112
|
}
|
|
8082
8113
|
}
|
|
8083
|
-
// 时间轴模式:格式化时间戳为可读时间
|
|
8084
8114
|
if (this.formCache.axisType == "time") {
|
|
8085
|
-
|
|
8086
|
-
|
|
8115
|
+
return this.timestampToHms(params.value);
|
|
8116
|
+
} else {
|
|
8117
|
+
return params.value.toString();
|
|
8087
8118
|
}
|
|
8088
|
-
|
|
8119
|
+
// if (this.formCache.axisType == "time") {
|
|
8120
|
+
// // 时间轴模式:params.value 是时间戳
|
|
8121
|
+
// this.headerData =
|
|
8122
|
+
// this.visibleData.find(
|
|
8123
|
+
// (item) =>
|
|
8124
|
+
// this.toMillisecondTimestamp(item && item[this.toolBarConfig.axisTypeList && this.toolBarConfig.axisTypeList[this.formCache.axisType]]) == params.value,
|
|
8125
|
+
// ) || {};
|
|
8126
|
+
// } else {
|
|
8127
|
+
// this.headerData =
|
|
8128
|
+
// this.visibleData.find((item) => item && item[this.toolBarConfig.axisTypeList && this.toolBarConfig.axisTypeList[this.formCache.axisType]] == params.value) ||
|
|
8129
|
+
// {};
|
|
8130
|
+
// }
|
|
8131
|
+
// }
|
|
8132
|
+
// // 时间轴模式:格式化时间戳为可读时间
|
|
8133
|
+
// if (this.formCache.axisType == "time") {
|
|
8134
|
+
// return this.timestampToHms(params.value);
|
|
8135
|
+
// }
|
|
8136
|
+
// return params.value;
|
|
8089
8137
|
},
|
|
8090
8138
|
},
|
|
8091
8139
|
},
|
|
@@ -8097,6 +8145,7 @@ var script$2 = {
|
|
|
8097
8145
|
color: getCssVariable("---default-text-color"),
|
|
8098
8146
|
},
|
|
8099
8147
|
formatter: (series) => {
|
|
8148
|
+
// 根据seriesName去重,保留数值最大的项,或者在有缺失值时保留缺失值的项
|
|
8100
8149
|
const uniqueSeries = series
|
|
8101
8150
|
.filter((item) => item.seriesName !== "helper")
|
|
8102
8151
|
.reduce((acc, current) => {
|
|
@@ -8152,15 +8201,14 @@ var script$2 = {
|
|
|
8152
8201
|
const outerDiv = document.createElement("div");
|
|
8153
8202
|
uniqueSeries.forEach((params) => {
|
|
8154
8203
|
const { seriesName, value, color } = params;
|
|
8155
|
-
if (seriesName == "helper") return;
|
|
8156
8204
|
const innerDiv = document.createElement("div");
|
|
8157
8205
|
innerDiv.style = "display: flex; align-items: center;";
|
|
8158
8206
|
const markerDiv = document.createElement("div");
|
|
8159
8207
|
markerDiv.style = `height: 10px; width:10px;font-size:10px; border-radius:8px; gap: 5px; background-color:${color}`;
|
|
8160
8208
|
const textSpan = document.createElement("span");
|
|
8161
8209
|
let xValue = value;
|
|
8162
|
-
//
|
|
8163
|
-
if (
|
|
8210
|
+
// 时间轴和深度轴模式:value 是 [x, y] 格式,取 x 值
|
|
8211
|
+
if (Array.isArray(value)) {
|
|
8164
8212
|
xValue = value[0];
|
|
8165
8213
|
}
|
|
8166
8214
|
if (xValue == undefined || xValue == null) {
|
|
@@ -8196,18 +8244,6 @@ var script$2 = {
|
|
|
8196
8244
|
|
|
8197
8245
|
return `${h}:${m}:${s}`;
|
|
8198
8246
|
},
|
|
8199
|
-
|
|
8200
|
-
timestampToYMDHMS(timestamp) {
|
|
8201
|
-
const date = new Date(timestamp);
|
|
8202
|
-
const h = String(date.getHours()).padStart(2, "0");
|
|
8203
|
-
const m = String(date.getMinutes()).padStart(2, "0");
|
|
8204
|
-
const s = String(date.getSeconds()).padStart(2, "0");
|
|
8205
|
-
const y = date.getFullYear();
|
|
8206
|
-
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
8207
|
-
const day = String(date.getDate()).padStart(2, "0");
|
|
8208
|
-
return `${y}-${month}-${day} ${h}:${m}:${s}`;
|
|
8209
|
-
},
|
|
8210
|
-
|
|
8211
8247
|
toMillisecondTimestamp(time) {
|
|
8212
8248
|
if (time === null || time === undefined) return Date.now();
|
|
8213
8249
|
let timestamp = new Date(time).getTime();
|
|
@@ -8252,23 +8288,26 @@ var script$2 = {
|
|
|
8252
8288
|
|
|
8253
8289
|
if (!lanes || lanes.length === 0) return;
|
|
8254
8290
|
|
|
8255
|
-
// 深度轴数据
|
|
8256
8291
|
let depthData = [];
|
|
8257
|
-
|
|
8292
|
+
let timestamps = [];
|
|
8293
|
+
|
|
8258
8294
|
let yAxisMin = 0;
|
|
8259
8295
|
let yAxisMax = 0;
|
|
8260
8296
|
|
|
8297
|
+
// 获取当前轴类型的键
|
|
8298
|
+
const axisKey =
|
|
8299
|
+
(this.toolBarConfig.axisTypeList && this.toolBarConfig.axisTypeList[this.formCache.axisType]) ||
|
|
8300
|
+
(this.formCache.axisType === "time" ? "time" : "depth");
|
|
8301
|
+
|
|
8261
8302
|
if (this.formCache.axisType == "time") {
|
|
8262
8303
|
// 时间轴模式:使用毫秒时间戳
|
|
8263
|
-
|
|
8264
|
-
this.toMillisecondTimestamp(item[this.toolBarConfig.axisTypeList && this.toolBarConfig.axisTypeList[this.formCache.axisType]]),
|
|
8265
|
-
);
|
|
8304
|
+
timestamps = realTimeData.map((item) => this.toMillisecondTimestamp(item[axisKey]));
|
|
8266
8305
|
yAxisMin = Math.min(...timestamps);
|
|
8267
8306
|
yAxisMax = Math.max(...timestamps);
|
|
8268
8307
|
} else {
|
|
8269
|
-
depthData = realTimeData.map(
|
|
8270
|
-
|
|
8271
|
-
);
|
|
8308
|
+
depthData = realTimeData.map((i) => +i[axisKey]);
|
|
8309
|
+
yAxisMin = Math.min(...depthData);
|
|
8310
|
+
yAxisMax = Math.max(...depthData);
|
|
8272
8311
|
}
|
|
8273
8312
|
|
|
8274
8313
|
const paramNameMap = {};
|
|
@@ -8319,24 +8358,32 @@ var script$2 = {
|
|
|
8319
8358
|
}
|
|
8320
8359
|
}
|
|
8321
8360
|
} else {
|
|
8322
|
-
|
|
8361
|
+
if (yAxisMin === yAxisMax) {
|
|
8362
|
+
yAxisMin = yAxisMin - 1;
|
|
8363
|
+
yAxisMax = yAxisMax + 1;
|
|
8364
|
+
}
|
|
8365
|
+
option.yAxis[0].min = yAxisMin;
|
|
8366
|
+
option.yAxis[0].max = yAxisMax;
|
|
8367
|
+
// 深度轴不需要 data 属性
|
|
8368
|
+
delete option.yAxis[0].data;
|
|
8323
8369
|
|
|
8324
8370
|
// 深度轴自适应间隔:根据数据量计算合适的间隔
|
|
8325
|
-
const
|
|
8371
|
+
const depthRange = yAxisMax - yAxisMin;
|
|
8372
|
+
const dataCount = realTimeData.length;
|
|
8326
8373
|
if (dataCount > 0) {
|
|
8327
8374
|
// 根据数据量设置合适的间隔
|
|
8328
8375
|
if (dataCount < 10) {
|
|
8329
|
-
//
|
|
8330
|
-
option.yAxis[0].interval =
|
|
8376
|
+
// 数据量较少,间隔可以小一些
|
|
8377
|
+
option.yAxis[0].interval = depthRange / 5;
|
|
8331
8378
|
} else if (dataCount < 50) {
|
|
8332
8379
|
// 数据量中等
|
|
8333
|
-
option.yAxis[0].interval =
|
|
8380
|
+
option.yAxis[0].interval = depthRange / 10;
|
|
8334
8381
|
} else if (dataCount < 100) {
|
|
8335
8382
|
// 数据量较多
|
|
8336
|
-
option.yAxis[0].interval =
|
|
8383
|
+
option.yAxis[0].interval = depthRange / 15;
|
|
8337
8384
|
} else {
|
|
8338
8385
|
// 数据量很多
|
|
8339
|
-
option.yAxis[0].interval =
|
|
8386
|
+
option.yAxis[0].interval = depthRange / 20;
|
|
8340
8387
|
}
|
|
8341
8388
|
}
|
|
8342
8389
|
}
|
|
@@ -8403,9 +8450,13 @@ var script$2 = {
|
|
|
8403
8450
|
lane &&
|
|
8404
8451
|
lane.lines &&
|
|
8405
8452
|
lane.lines.forEach((lineInfo, lineIndex) => {
|
|
8406
|
-
// if (lineInfo.isUsed === "0") return;
|
|
8407
8453
|
let seriesData = [];
|
|
8408
8454
|
let validData = [];
|
|
8455
|
+
// 获取当前轴类型的键
|
|
8456
|
+
const axisKey =
|
|
8457
|
+
(this.toolBarConfig.axisTypeList && this.toolBarConfig.axisTypeList[this.formCache.axisType]) ||
|
|
8458
|
+
(this.formCache.axisType === "time" ? "time" : "depth");
|
|
8459
|
+
|
|
8409
8460
|
if (this.formCache.axisType == "time") {
|
|
8410
8461
|
// 时间轴模式:数据格式为 [x, y],其中 y 是时间戳
|
|
8411
8462
|
let currentParam = this.params.find((p) => p.paramId == lineInfo.paramId);
|
|
@@ -8425,7 +8476,7 @@ var script$2 = {
|
|
|
8425
8476
|
}
|
|
8426
8477
|
}
|
|
8427
8478
|
// 返回 [x, y] 格式,y 是时间戳
|
|
8428
|
-
return [value, this.toMillisecondTimestamp(item[
|
|
8479
|
+
return [value, this.toMillisecondTimestamp(item[axisKey])];
|
|
8429
8480
|
});
|
|
8430
8481
|
validData = seriesData.filter((v) => Number.isFinite(+v[0]));
|
|
8431
8482
|
} else {
|
|
@@ -8446,9 +8497,10 @@ var script$2 = {
|
|
|
8446
8497
|
});
|
|
8447
8498
|
}
|
|
8448
8499
|
}
|
|
8449
|
-
|
|
8500
|
+
// 返回 [x, y] 格式,y 是深度值
|
|
8501
|
+
return [value, +item[axisKey]];
|
|
8450
8502
|
});
|
|
8451
|
-
validData = seriesData.filter((v) => Number.isFinite(+v));
|
|
8503
|
+
validData = seriesData.filter((v) => Number.isFinite(+v[0]));
|
|
8452
8504
|
}
|
|
8453
8505
|
const { min, max } = this.getXAxisRangeByHeader(lineInfo, validData);
|
|
8454
8506
|
|
|
@@ -8489,9 +8541,9 @@ var script$2 = {
|
|
|
8489
8541
|
baseSeries.markLine = {
|
|
8490
8542
|
symbol: "none",
|
|
8491
8543
|
lineStyle: {
|
|
8492
|
-
color: "
|
|
8544
|
+
color: getCssVariable("--default-text-color"),
|
|
8493
8545
|
type: "dashed",
|
|
8494
|
-
width:
|
|
8546
|
+
width: 1,
|
|
8495
8547
|
},
|
|
8496
8548
|
label: {
|
|
8497
8549
|
show: false,
|
|
@@ -8501,13 +8553,13 @@ var script$2 = {
|
|
|
8501
8553
|
},
|
|
8502
8554
|
data: this.markLineData
|
|
8503
8555
|
.map((item, index) => {
|
|
8504
|
-
//
|
|
8556
|
+
// 尝试精确匹配
|
|
8505
8557
|
const findItem = this.realTimeData.find((d) => d[this.toolBarConfig.axisTypeList[this.formCache.axisType]] == item);
|
|
8506
8558
|
if (findItem) {
|
|
8507
8559
|
if (this.formCache.axisType == "time") {
|
|
8508
8560
|
return { yAxis: this.toMillisecondTimestamp(findItem[this.toolBarConfig.axisTypeList[this.formCache.axisType]]) };
|
|
8509
8561
|
} else {
|
|
8510
|
-
return { yAxis: findItem[this.toolBarConfig.axisTypeList[this.formCache.axisType]]
|
|
8562
|
+
return { yAxis: Number(findItem[this.toolBarConfig.axisTypeList[this.formCache.axisType]]) };
|
|
8511
8563
|
}
|
|
8512
8564
|
} else {
|
|
8513
8565
|
// 精确匹配失败,找到最接近的深度值
|
|
@@ -8541,7 +8593,7 @@ var script$2 = {
|
|
|
8541
8593
|
// ===== 面积图 =====
|
|
8542
8594
|
if (lineInfo.lineType === "area") {
|
|
8543
8595
|
// 只对时间轴模式生效
|
|
8544
|
-
if (
|
|
8596
|
+
if (seriesData.length > 0) {
|
|
8545
8597
|
// 找到第一个有效的数据点
|
|
8546
8598
|
const firstValidPoint = seriesData.find((point) => Number.isFinite(+point[0]));
|
|
8547
8599
|
if (firstValidPoint) {
|
|
@@ -8577,13 +8629,18 @@ var script$2 = {
|
|
|
8577
8629
|
|
|
8578
8630
|
colors.push(color);
|
|
8579
8631
|
});
|
|
8632
|
+
// 获取当前轴类型的键
|
|
8633
|
+
const axisKey =
|
|
8634
|
+
(this.toolBarConfig.axisTypeList && this.toolBarConfig.axisTypeList[this.formCache.axisType]) ||
|
|
8635
|
+
(this.formCache.axisType === "time" ? "time" : "depth");
|
|
8636
|
+
|
|
8580
8637
|
if (series.length > 0 && this.formCache.axisType == "depth") {
|
|
8581
8638
|
let min = Math.max(...lane.lines.map((item) => this.getXAxisRangeByHeader(item).min));
|
|
8582
|
-
//
|
|
8639
|
+
// 兜底:深度轴模式使用 [x, y] 格式
|
|
8583
8640
|
series.unshift({
|
|
8584
8641
|
name: "helper",
|
|
8585
8642
|
type: "line",
|
|
8586
|
-
data: realTimeData.map(() => min),
|
|
8643
|
+
data: realTimeData.map((item) => [min, +item[axisKey]]),
|
|
8587
8644
|
lineStyle: {
|
|
8588
8645
|
opacity: 0,
|
|
8589
8646
|
},
|
|
@@ -8596,10 +8653,7 @@ var script$2 = {
|
|
|
8596
8653
|
series.unshift({
|
|
8597
8654
|
name: "helper",
|
|
8598
8655
|
type: "line",
|
|
8599
|
-
data: realTimeData.map((item) => [
|
|
8600
|
-
min,
|
|
8601
|
-
this.toMillisecondTimestamp(item[this.toolBarConfig.axisTypeList[this.formCache.axisType]]),
|
|
8602
|
-
]),
|
|
8656
|
+
data: realTimeData.map((item) => [min, this.toMillisecondTimestamp(item[axisKey])]),
|
|
8603
8657
|
lineStyle: {
|
|
8604
8658
|
opacity: 0,
|
|
8605
8659
|
},
|
|
@@ -8624,14 +8678,6 @@ var script$2 = {
|
|
|
8624
8678
|
} catch (e) {
|
|
8625
8679
|
console.error(e);
|
|
8626
8680
|
this.clearEcharts();
|
|
8627
|
-
this.realTimeDataLoading = false;
|
|
8628
|
-
} finally {
|
|
8629
|
-
// 延迟重置标记,给ECharts足够的时间完成渲染
|
|
8630
|
-
setTimeout(() => {
|
|
8631
|
-
this.isUpdatingChart = false;
|
|
8632
|
-
// 图表更新后重新监听车道头部元素
|
|
8633
|
-
this.reobserveHeaders();
|
|
8634
|
-
}, 100);
|
|
8635
8681
|
}
|
|
8636
8682
|
},
|
|
8637
8683
|
async clearEcharts() {
|
|
@@ -8756,44 +8802,15 @@ var script$2 = {
|
|
|
8756
8802
|
const { sortOrder = "asc" } = options;
|
|
8757
8803
|
const newDataArr = Array.isArray(newData) ? newData : [newData];
|
|
8758
8804
|
let resultData = JSON.parse(JSON.stringify(existingData));
|
|
8759
|
-
|
|
8760
|
-
// 检查两个对象是否所有字段都相同
|
|
8761
|
-
const isObjectsEqual = (obj1, obj2) => {
|
|
8762
|
-
const keys1 = Object.keys(obj1);
|
|
8763
|
-
const keys2 = Object.keys(obj2);
|
|
8764
|
-
|
|
8765
|
-
if (keys1.length !== keys2.length) {
|
|
8766
|
-
return false;
|
|
8767
|
-
}
|
|
8768
|
-
|
|
8769
|
-
for (const key of keys1) {
|
|
8770
|
-
if (obj1[key] !== obj2[key]) {
|
|
8771
|
-
return false;
|
|
8772
|
-
}
|
|
8773
|
-
}
|
|
8774
|
-
|
|
8775
|
-
return true;
|
|
8776
|
-
};
|
|
8777
|
-
|
|
8778
8805
|
newDataArr.forEach((newItem) => {
|
|
8779
8806
|
if (!newItem || !newItem[uniqueKey]) return;
|
|
8780
|
-
|
|
8781
|
-
|
|
8782
|
-
|
|
8783
|
-
|
|
8784
|
-
|
|
8785
|
-
const hasExactDuplicate = itemsWithSameKey.some((item) => isObjectsEqual(item, newItem));
|
|
8786
|
-
|
|
8787
|
-
if (hasExactDuplicate) {
|
|
8788
|
-
// 如果存在完全相同的项,则不做操作
|
|
8789
|
-
return;
|
|
8807
|
+
const duplicateIndex = resultData.findIndex((item) => item[uniqueKey] === newItem[uniqueKey]);
|
|
8808
|
+
if (duplicateIndex > -1) {
|
|
8809
|
+
resultData[duplicateIndex] = newItem;
|
|
8810
|
+
} else {
|
|
8811
|
+
resultData.push(newItem);
|
|
8790
8812
|
}
|
|
8791
|
-
|
|
8792
|
-
// 如果没有完全相同的项,则添加到结果中
|
|
8793
|
-
resultData.push(newItem);
|
|
8794
8813
|
});
|
|
8795
|
-
|
|
8796
|
-
// 去重后排序
|
|
8797
8814
|
resultData.sort((a, b) => {
|
|
8798
8815
|
const valA = a[uniqueKey];
|
|
8799
8816
|
const valB = b[uniqueKey];
|
|
@@ -8807,8 +8824,7 @@ var script$2 = {
|
|
|
8807
8824
|
|
|
8808
8825
|
return resultData;
|
|
8809
8826
|
},
|
|
8810
|
-
|
|
8811
|
-
// 根据 uniqueKey 去重并排序(只考虑 uniqueKey)
|
|
8827
|
+
// 根据 uniqueKey 去重并排序(只考虑 uniqueKey)
|
|
8812
8828
|
deduplicateByUniqueKey(existingData, newData, uniqueKey, options = {}) {
|
|
8813
8829
|
// 处理默认配置
|
|
8814
8830
|
const { sortOrder = "asc" } = options;
|
|
@@ -9110,6 +9126,7 @@ var script$2 = {
|
|
|
9110
9126
|
handler(newVal) {
|
|
9111
9127
|
this.$nextTick(() => {
|
|
9112
9128
|
this.markLineData = newVal;
|
|
9129
|
+
this.updateLanesChartOption(null , 'series');
|
|
9113
9130
|
});
|
|
9114
9131
|
},
|
|
9115
9132
|
deep: true,
|
|
@@ -9149,15 +9166,13 @@ var script$2 = {
|
|
|
9149
9166
|
const firstValue = first && first[axisKey];
|
|
9150
9167
|
const lastValue = last && last[axisKey];
|
|
9151
9168
|
|
|
9152
|
-
const newParams = { firstValue, lastValue, settings: this.formCache };
|
|
9169
|
+
const newParams = { firstValue, lastValue, settings: cloneDeep(this.formCache) };
|
|
9153
9170
|
|
|
9154
9171
|
// 比较是否与上次触发时的参数相同
|
|
9155
|
-
if (
|
|
9156
|
-
|
|
9157
|
-
|
|
9158
|
-
|
|
9159
|
-
JSON.stringify(this.lastVisibleDataChangeParams.settings) === JSON.stringify(newParams.settings)
|
|
9160
|
-
) {
|
|
9172
|
+
if (this.lastVisibleDataChangeParams &&
|
|
9173
|
+
this.lastVisibleDataChangeParams.firstValue === firstValue &&
|
|
9174
|
+
this.lastVisibleDataChangeParams.lastValue === lastValue &&
|
|
9175
|
+
JSON.stringify(this.lastVisibleDataChangeParams.settings) === JSON.stringify(newParams.settings)) {
|
|
9161
9176
|
return;
|
|
9162
9177
|
}
|
|
9163
9178
|
|
|
@@ -9226,7 +9241,7 @@ var script$2 = {
|
|
|
9226
9241
|
},
|
|
9227
9242
|
};
|
|
9228
9243
|
|
|
9229
|
-
var css_248z$3 = ".kd-lane-chart-container[data-v-
|
|
9244
|
+
var css_248z$3 = ".kd-lane-chart-container[data-v-5a97fc52] {\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-5a97fc52],\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container[data-v-5a97fc52] {\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-5a97fc52],\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-resize-handle[data-v-5a97fc52] {\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-5a97fc52]:hover,\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-resize-handle[data-v-5a97fc52]: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-5a97fc52],\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-resize-handle.kd-lane-resize-handle-left[data-v-5a97fc52] {\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-5a97fc52],\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-resize-handle.kd-lane-resize-handle-right[data-v-5a97fc52] {\n right: -2px;\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container .kd-lane-chart-lane-header[data-v-5a97fc52],\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-chart-lane-header[data-v-5a97fc52] {\n max-height: 30%;\n overflow: hidden;\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-5a97fc52],\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-chart-lane-header .header-list-gap[data-v-5a97fc52] {\n display: flex;\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 .kd-lane-chart-lane-header .header-list-gap[data-v-5a97fc52] ::-webkit-scrollbar,\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-chart-lane-header .header-list-gap[data-v-5a97fc52] ::-webkit-scrollbar {\n display: none;\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container .kd-lane-chart-lane-header .header-list-gap[data-v-5a97fc52],\n.kd-lane-chart-container .kd-lane-chart-lane-slot-container .kd-lane-chart-lane-header .header-list-gap[data-v-5a97fc52] {\n flex-direction: column;\n}\n.kd-lane-chart-container .kd-lane-chart-lane-container-echart[data-v-5a97fc52] {\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-5a97fc52] {\n height: 100%;\n overflow: hidden;\n}\n.kd-lane-chart-container .border-left[data-v-5a97fc52] {\n border-left: 1px solid var(--kd-lane-container-border-color, #333);\n}\n.kd-lane-chart-container .border-bottom[data-v-5a97fc52] {\n border-bottom: 1px solid var(--kd-lane-container-border-color, #333);\n}\n.kd-lane-chart-container .border-right[data-v-5a97fc52] {\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-5a97fc52] {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n border: none;\n}";
|
|
9230
9245
|
styleInject(css_248z$3);
|
|
9231
9246
|
|
|
9232
9247
|
/* script */
|
|
@@ -9291,8 +9306,7 @@ var __vue_render__$2 = function () {
|
|
|
9291
9306
|
_c(
|
|
9292
9307
|
"div",
|
|
9293
9308
|
{
|
|
9294
|
-
staticClass:
|
|
9295
|
-
"kd-lane-chart-lane-header header-content-area",
|
|
9309
|
+
staticClass: "kd-lane-chart-lane-header",
|
|
9296
9310
|
class: { "border-bottom": true },
|
|
9297
9311
|
style: _vm.slotHeaderStyle,
|
|
9298
9312
|
},
|
|
@@ -9401,8 +9415,7 @@ var __vue_render__$2 = function () {
|
|
|
9401
9415
|
_c(
|
|
9402
9416
|
"draggable",
|
|
9403
9417
|
{
|
|
9404
|
-
staticClass:
|
|
9405
|
-
"header-list-gap header-content-area",
|
|
9418
|
+
staticClass: "header-list-gap",
|
|
9406
9419
|
style: { gap: _vm.itemGap + "px" },
|
|
9407
9420
|
attrs: {
|
|
9408
9421
|
animation: 200,
|
|
@@ -9557,6 +9570,7 @@ var __vue_render__$2 = function () {
|
|
|
9557
9570
|
_c(
|
|
9558
9571
|
"el-dialog",
|
|
9559
9572
|
{
|
|
9573
|
+
staticClass: "function-control-panel-dialog",
|
|
9560
9574
|
attrs: { title: "泳道模板设置", visible: _vm.curveConfigVisible },
|
|
9561
9575
|
on: {
|
|
9562
9576
|
"update:visible": function ($event) {
|
|
@@ -9595,7 +9609,7 @@ __vue_render__$2._withStripped = true;
|
|
|
9595
9609
|
/* style */
|
|
9596
9610
|
const __vue_inject_styles__$2 = undefined;
|
|
9597
9611
|
/* scoped */
|
|
9598
|
-
const __vue_scope_id__$2 = "data-v-
|
|
9612
|
+
const __vue_scope_id__$2 = "data-v-5a97fc52";
|
|
9599
9613
|
/* module identifier */
|
|
9600
9614
|
const __vue_module_identifier__$2 = undefined;
|
|
9601
9615
|
/* functional template */
|
|
@@ -9864,29 +9878,29 @@ var script = {
|
|
|
9864
9878
|
};
|
|
9865
9879
|
},
|
|
9866
9880
|
created() {
|
|
9867
|
-
this.depthTimeChartData = this.WellBitDepthTimePlotConfig && this.WellBitDepthTimePlotConfig.data || [];
|
|
9881
|
+
this.depthTimeChartData = (this.WellBitDepthTimePlotConfig && this.WellBitDepthTimePlotConfig.data) || [];
|
|
9868
9882
|
// 初始化数据
|
|
9869
|
-
this.initialFormCache = cloneDeep(this.toolBarConfig && this.toolBarConfig.form || {});
|
|
9870
|
-
this.formCache = cloneDeep(this.toolBarConfig && this.toolBarConfig.form || {});
|
|
9883
|
+
this.initialFormCache = cloneDeep((this.toolBarConfig && this.toolBarConfig.form) || {});
|
|
9884
|
+
this.formCache = cloneDeep((this.toolBarConfig && this.toolBarConfig.form) || {});
|
|
9871
9885
|
// 初始化curveDatas副本
|
|
9872
9886
|
this.cachedCurveDatas = cloneDeep(this.curveDatas || {});
|
|
9873
9887
|
// 缓存初始化时的curveDatas
|
|
9874
9888
|
this.initialCurveDatas = cloneDeep(this.curveDatas || {});
|
|
9875
9889
|
},
|
|
9876
9890
|
mounted() {
|
|
9877
|
-
let form = cloneDeep(this.toolBarConfig && this.toolBarConfig.form || {});
|
|
9891
|
+
let form = cloneDeep((this.toolBarConfig && this.toolBarConfig.form) || {});
|
|
9878
9892
|
this.config = form.axisType === "depth" ? this.depthConfig : this.timeConfig;
|
|
9879
9893
|
this.showChartContainer = true;
|
|
9880
9894
|
// 初始化:获取容器宽度并转换百分比为像素
|
|
9881
9895
|
this.$nextTick(() => {
|
|
9882
|
-
|
|
9883
|
-
|
|
9884
|
-
|
|
9896
|
+
this.containerWidth = (this.$refs.container && this.$refs.container.offsetWidth) || 800;
|
|
9897
|
+
this.initWidth(); // 转换百分比为像素
|
|
9898
|
+
});
|
|
9885
9899
|
|
|
9886
9900
|
// 监听窗口大小变化,更新容器宽度
|
|
9887
9901
|
window.addEventListener("resize", () => {
|
|
9888
9902
|
this.$nextTick(() => {
|
|
9889
|
-
this.containerWidth = this.$refs.container && this.$refs.container.offsetWidth || 800;
|
|
9903
|
+
this.containerWidth = (this.$refs.container && this.$refs.container.offsetWidth) || 800;
|
|
9890
9904
|
});
|
|
9891
9905
|
});
|
|
9892
9906
|
},
|
|
@@ -9900,11 +9914,15 @@ var script = {
|
|
|
9900
9914
|
dialogFunction(data) {
|
|
9901
9915
|
if (data.type === 1) {
|
|
9902
9916
|
// 井深段
|
|
9903
|
-
this.$refs.functionControlPanel
|
|
9917
|
+
if (this.$refs.functionControlPanel) {
|
|
9918
|
+
this.$refs.functionControlPanel.form.dataType = "history";
|
|
9919
|
+
}
|
|
9904
9920
|
this.formCache.dataType = "history";
|
|
9905
9921
|
} else if (data.type === 2) {
|
|
9906
9922
|
// 时间段
|
|
9907
|
-
this.$refs.functionControlPanel
|
|
9923
|
+
if (this.$refs.functionControlPanel) {
|
|
9924
|
+
this.$refs.functionControlPanel.form.dataType = "history";
|
|
9925
|
+
}
|
|
9908
9926
|
this.formCache.dataType = "history";
|
|
9909
9927
|
} else if (data.type === 3) ;
|
|
9910
9928
|
},
|
|
@@ -9925,7 +9943,9 @@ var script = {
|
|
|
9925
9943
|
},
|
|
9926
9944
|
// 新增:跳转到下一个标记线
|
|
9927
9945
|
jumpToNextMarkLine() {
|
|
9928
|
-
this.$refs.chartContainer
|
|
9946
|
+
if (this.$refs.chartContainer) {
|
|
9947
|
+
this.$refs.chartContainer.jumpToNextMarkLine();
|
|
9948
|
+
}
|
|
9929
9949
|
},
|
|
9930
9950
|
// 新增:刷新数据,重置为初始化时的数据
|
|
9931
9951
|
refresh() {
|
|
@@ -9965,7 +9985,9 @@ var script = {
|
|
|
9965
9985
|
// 新增:更新scale缓存
|
|
9966
9986
|
updateScale(newVal) {
|
|
9967
9987
|
this.formCache.scale = newVal;
|
|
9968
|
-
this.$refs.functionControlPanel
|
|
9988
|
+
if (this.$refs.functionControlPanel) {
|
|
9989
|
+
this.$refs.functionControlPanel.form.scale = newVal;
|
|
9990
|
+
}
|
|
9969
9991
|
},
|
|
9970
9992
|
/**
|
|
9971
9993
|
* 工具函数:百分比转像素
|
|
@@ -10040,7 +10062,7 @@ var script = {
|
|
|
10040
10062
|
const dx = e.clientX - this.startX;
|
|
10041
10063
|
const min = this.minWidth;
|
|
10042
10064
|
|
|
10043
|
-
const containerWidth = this.$refs.container && this.$refs.container.offsetWidth - this.lineWidth || 0;
|
|
10065
|
+
const containerWidth = (this.$refs.container && this.$refs.container.offsetWidth - this.lineWidth) || 0;
|
|
10044
10066
|
|
|
10045
10067
|
// ✅ 拖拽第1条分隔线(panel1 和 panel2)
|
|
10046
10068
|
if (this.currentResizer === 1) {
|
|
@@ -10130,7 +10152,9 @@ var script = {
|
|
|
10130
10152
|
this.initWidth();
|
|
10131
10153
|
}
|
|
10132
10154
|
if (newVal.form !== oldVal.form) {
|
|
10133
|
-
this.$refs.functionControlPanel
|
|
10155
|
+
if (this.$refs.functionControlPanel) {
|
|
10156
|
+
this.$refs.functionControlPanel.updateForm(newVal.form);
|
|
10157
|
+
}
|
|
10134
10158
|
}
|
|
10135
10159
|
}
|
|
10136
10160
|
},
|
|
@@ -10154,29 +10178,37 @@ var script = {
|
|
|
10154
10178
|
if (JSON.stringify(this.initialCurveDatas) === "{}") {
|
|
10155
10179
|
this.initialCurveDatas = cloneDeep(newVal || {});
|
|
10156
10180
|
}
|
|
10157
|
-
if (
|
|
10181
|
+
if (
|
|
10182
|
+
Object.prototype.hasOwnProperty.call(newVal, "dataType") &&
|
|
10183
|
+
newVal.dataType !== this.formCache.dataType &&
|
|
10184
|
+
newVal.dataType !== "" &&
|
|
10185
|
+
newVal.dataType !== undefined &&
|
|
10186
|
+
newVal.dataType !== null
|
|
10187
|
+
) {
|
|
10158
10188
|
this.formCache.dataType = newVal.dataType;
|
|
10159
|
-
this.$refs.functionControlPanel
|
|
10189
|
+
if (this.$refs.functionControlPanel) {
|
|
10190
|
+
this.$refs.functionControlPanel.form.dataType = newVal.dataType;
|
|
10191
|
+
}
|
|
10160
10192
|
}
|
|
10161
10193
|
this.cachedCurveDatas = cloneDeep(newVal || {});
|
|
10162
10194
|
}
|
|
10163
10195
|
},
|
|
10164
10196
|
deep: true,
|
|
10165
10197
|
},
|
|
10166
|
-
themeName:{
|
|
10167
|
-
handler(newVal){
|
|
10198
|
+
themeName: {
|
|
10199
|
+
handler(newVal) {
|
|
10168
10200
|
document.body.setAttribute("data-theme", newVal);
|
|
10169
10201
|
},
|
|
10170
|
-
deep:true,
|
|
10171
|
-
immediate:true
|
|
10172
|
-
}
|
|
10202
|
+
deep: true,
|
|
10203
|
+
immediate: true,
|
|
10204
|
+
},
|
|
10173
10205
|
},
|
|
10174
10206
|
};
|
|
10175
10207
|
|
|
10176
10208
|
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}";
|
|
10177
10209
|
styleInject(css_248z$1);
|
|
10178
10210
|
|
|
10179
|
-
var css_248z = "@charset \"UTF-8\";\n.kd-curve-2d-resize-container[data-v-
|
|
10211
|
+
var css_248z = "@charset \"UTF-8\";\n.kd-curve-2d-resize-container[data-v-815b84b2] {\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-815b84b2] {\n display: flex;\n flex: 1;\n width: 100%;\n overflow: hidden;\n}\n.kd-curve-2d-resize-container[data-v-815b84b2] {\n /* 面板通用样式 */\n}\n.kd-curve-2d-resize-container .panel[data-v-815b84b2] {\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-815b84b2]::-webkit-scrollbar {\n display: none;\n}\n.kd-curve-2d-resize-container .panel-3[data-v-815b84b2] {\n flex: 1;\n min-width: 100px;\n}\n.kd-curve-2d-resize-container[data-v-815b84b2] {\n /* 拖拽条样式 */\n}\n.kd-curve-2d-resize-container .resizer[data-v-815b84b2] {\n width: 6px;\n cursor: col-resize;\n}\n.kd-curve-2d-resize-container .resizer[data-v-815b84b2]:hover {\n background-color: var(--resizer-bg-color);\n transition: background-color 0.2s ease;\n}";
|
|
10180
10212
|
styleInject(css_248z);
|
|
10181
10213
|
|
|
10182
10214
|
/* script */
|
|
@@ -10374,7 +10406,7 @@ __vue_render__._withStripped = true;
|
|
|
10374
10406
|
/* style */
|
|
10375
10407
|
const __vue_inject_styles__ = undefined;
|
|
10376
10408
|
/* scoped */
|
|
10377
|
-
const __vue_scope_id__ = "data-v-
|
|
10409
|
+
const __vue_scope_id__ = "data-v-815b84b2";
|
|
10378
10410
|
/* module identifier */
|
|
10379
10411
|
const __vue_module_identifier__ = undefined;
|
|
10380
10412
|
/* functional template */
|