kd-lane-chart-v3 0.0.4 → 0.0.6
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 +748 -212
- package/dist/esm/index.js.map +1 -1
- package/dist/kd-lane-chart-v3.css +336 -354
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -313,7 +313,7 @@ const _export_sfc = (sfc, props) => {
|
|
|
313
313
|
}
|
|
314
314
|
return target;
|
|
315
315
|
};
|
|
316
|
-
const _sfc_main$
|
|
316
|
+
const _sfc_main$d = {
|
|
317
317
|
name: "VueSimpleContextMenu",
|
|
318
318
|
props: {
|
|
319
319
|
options: {
|
|
@@ -414,16 +414,16 @@ const _sfc_main$c = {
|
|
|
414
414
|
document.removeEventListener("keyup", this.onEscKeyRelease);
|
|
415
415
|
}
|
|
416
416
|
};
|
|
417
|
-
const _hoisted_1$
|
|
417
|
+
const _hoisted_1$d = {
|
|
418
418
|
ref: "refUl",
|
|
419
419
|
class: "vue-simple-context-menu"
|
|
420
420
|
};
|
|
421
|
-
const _hoisted_2$
|
|
422
|
-
const _hoisted_3$
|
|
423
|
-
function _sfc_render$
|
|
421
|
+
const _hoisted_2$c = ["onClick"];
|
|
422
|
+
const _hoisted_3$7 = ["innerHTML"];
|
|
423
|
+
function _sfc_render$d(_ctx, _cache, $props, $setup, $data, $options) {
|
|
424
424
|
const _directive_click_outside = resolveDirective("click-outside");
|
|
425
425
|
return openBlock(), createElementBlock("div", null, [
|
|
426
|
-
withDirectives((openBlock(), createElementBlock("ul", _hoisted_1$
|
|
426
|
+
withDirectives((openBlock(), createElementBlock("ul", _hoisted_1$d, [
|
|
427
427
|
(openBlock(true), createElementBlock(Fragment, null, renderList($props.options, (option, index2) => {
|
|
428
428
|
return openBlock(), createElementBlock("li", {
|
|
429
429
|
key: index2,
|
|
@@ -432,15 +432,15 @@ function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
432
432
|
}, [
|
|
433
433
|
createElementVNode("span", {
|
|
434
434
|
innerHTML: option.name
|
|
435
|
-
}, null, 8, _hoisted_3$
|
|
436
|
-
], 10, _hoisted_2$
|
|
435
|
+
}, null, 8, _hoisted_3$7)
|
|
436
|
+
], 10, _hoisted_2$c);
|
|
437
437
|
}), 128))
|
|
438
438
|
])), [
|
|
439
439
|
[_directive_click_outside, $options.onClickOutside]
|
|
440
440
|
])
|
|
441
441
|
]);
|
|
442
442
|
}
|
|
443
|
-
const VueSimpleContextMenu = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
443
|
+
const VueSimpleContextMenu = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["render", _sfc_render$d], ["__scopeId", "data-v-38ac9b6e"]]);
|
|
444
444
|
class CustomStrategy {
|
|
445
445
|
constructor(strategy) {
|
|
446
446
|
this.strategy = strategy;
|
|
@@ -1452,7 +1452,7 @@ class StrategyFactory {
|
|
|
1452
1452
|
}
|
|
1453
1453
|
}
|
|
1454
1454
|
}
|
|
1455
|
-
const _sfc_main$
|
|
1455
|
+
const _sfc_main$c = {
|
|
1456
1456
|
inject: ["upsertLane", "setTargetData", "setExpanded"],
|
|
1457
1457
|
props: {
|
|
1458
1458
|
laneInfo: {
|
|
@@ -1521,16 +1521,16 @@ const _sfc_main$b = {
|
|
|
1521
1521
|
}
|
|
1522
1522
|
}
|
|
1523
1523
|
};
|
|
1524
|
-
const _hoisted_1$
|
|
1525
|
-
const _hoisted_2$
|
|
1526
|
-
function _sfc_render$
|
|
1524
|
+
const _hoisted_1$c = { class: "kd-lane-lane-content" };
|
|
1525
|
+
const _hoisted_2$b = { class: "template-buttons" };
|
|
1526
|
+
function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) {
|
|
1527
1527
|
const _component_el_input = resolveComponent("el-input");
|
|
1528
1528
|
const _component_el_form_item = resolveComponent("el-form-item");
|
|
1529
1529
|
const _component_el_radio = resolveComponent("el-radio");
|
|
1530
1530
|
const _component_el_radio_group = resolveComponent("el-radio-group");
|
|
1531
1531
|
const _component_el_form = resolveComponent("el-form");
|
|
1532
1532
|
const _component_el_button = resolveComponent("el-button");
|
|
1533
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1533
|
+
return openBlock(), createElementBlock("div", _hoisted_1$c, [
|
|
1534
1534
|
createVNode(_component_el_form, {
|
|
1535
1535
|
rules: $data.rules,
|
|
1536
1536
|
ref: "template",
|
|
@@ -1551,7 +1551,7 @@ function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1551
1551
|
]),
|
|
1552
1552
|
_: 1
|
|
1553
1553
|
}),
|
|
1554
|
-
$data.formData.createUser !== "SYSTEM_USER" ? (openBlock(), createBlock(_component_el_form_item, {
|
|
1554
|
+
$data.formData.createUser !== "SYSTEM_USER" && false ? (openBlock(), createBlock(_component_el_form_item, {
|
|
1555
1555
|
key: 0,
|
|
1556
1556
|
label: "对数轴",
|
|
1557
1557
|
prop: "isLogScale"
|
|
@@ -1585,7 +1585,7 @@ function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1585
1585
|
]),
|
|
1586
1586
|
_: 1
|
|
1587
1587
|
}, 8, ["rules", "model"]),
|
|
1588
|
-
createElementVNode("div", _hoisted_2$
|
|
1588
|
+
createElementVNode("div", _hoisted_2$b, [
|
|
1589
1589
|
createVNode(_component_el_button, { onClick: $options.editable }, {
|
|
1590
1590
|
default: withCtx(() => [..._cache[5] || (_cache[5] = [
|
|
1591
1591
|
createTextVNode("编辑", -1)
|
|
@@ -1606,8 +1606,8 @@ function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1606
1606
|
])
|
|
1607
1607
|
]);
|
|
1608
1608
|
}
|
|
1609
|
-
const LaneEdit = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1610
|
-
const _sfc_main$
|
|
1609
|
+
const LaneEdit = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["render", _sfc_render$c], ["__scopeId", "data-v-76a63d70"]]);
|
|
1610
|
+
const _sfc_main$b = {
|
|
1611
1611
|
inject: ["upsertLine", "setTargetData", "setExpanded", "getThemeName"],
|
|
1612
1612
|
props: {
|
|
1613
1613
|
template: {
|
|
@@ -1630,6 +1630,13 @@ const _sfc_main$a = {
|
|
|
1630
1630
|
callback();
|
|
1631
1631
|
}
|
|
1632
1632
|
};
|
|
1633
|
+
const sizeLimit = (rule, value, callback) => {
|
|
1634
|
+
if (value < 1 || value > 4) {
|
|
1635
|
+
callback(new Error("数字必须在1-4之间"));
|
|
1636
|
+
} else {
|
|
1637
|
+
callback();
|
|
1638
|
+
}
|
|
1639
|
+
};
|
|
1633
1640
|
return {
|
|
1634
1641
|
formData: Object.assign({}, this.template),
|
|
1635
1642
|
lines: [
|
|
@@ -1673,7 +1680,11 @@ const _sfc_main$a = {
|
|
|
1673
1680
|
{ required: true, message: "请输入最大值", trigger: "blur" },
|
|
1674
1681
|
{ validator: validatorNumber, trigger: "blur" }
|
|
1675
1682
|
],
|
|
1676
|
-
lineSize: [
|
|
1683
|
+
lineSize: [
|
|
1684
|
+
{ required: true, message: "请输入曲线粗细", trigger: "blur" },
|
|
1685
|
+
{ validator: validatorNumber, trigger: "blur" },
|
|
1686
|
+
{ validator: sizeLimit, message: "曲线粗细必须在1-4之间", trigger: "blur" }
|
|
1687
|
+
],
|
|
1677
1688
|
lineColor: [{ required: true, message: "请选择曲线颜色", trigger: "blur" }],
|
|
1678
1689
|
lineType: [{ required: true, message: "请选择线型", trigger: "blur" }],
|
|
1679
1690
|
paramId: [{ required: true, message: "请选择参数名称", trigger: "blur" }]
|
|
@@ -1742,9 +1753,9 @@ const _sfc_main$a = {
|
|
|
1742
1753
|
}
|
|
1743
1754
|
}
|
|
1744
1755
|
};
|
|
1745
|
-
const _hoisted_1$
|
|
1746
|
-
const _hoisted_2$
|
|
1747
|
-
function _sfc_render$
|
|
1756
|
+
const _hoisted_1$b = { class: "kd-lane-line-content" };
|
|
1757
|
+
const _hoisted_2$a = { class: "template-buttons" };
|
|
1758
|
+
function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) {
|
|
1748
1759
|
const _component_el_option = resolveComponent("el-option");
|
|
1749
1760
|
const _component_el_select = resolveComponent("el-select");
|
|
1750
1761
|
const _component_el_form_item = resolveComponent("el-form-item");
|
|
@@ -1754,7 +1765,7 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1754
1765
|
resolveComponent("el-radio-group");
|
|
1755
1766
|
const _component_el_form = resolveComponent("el-form");
|
|
1756
1767
|
const _component_el_button = resolveComponent("el-button");
|
|
1757
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
1768
|
+
return openBlock(), createElementBlock("div", _hoisted_1$b, [
|
|
1758
1769
|
createVNode(_component_el_form, {
|
|
1759
1770
|
rules: $data.rules,
|
|
1760
1771
|
ref: "template",
|
|
@@ -1825,8 +1836,7 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1825
1836
|
modelValue: $data.formData.lineSize,
|
|
1826
1837
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => $data.formData.lineSize = $event),
|
|
1827
1838
|
max: 4,
|
|
1828
|
-
min: 1
|
|
1829
|
-
type: "number"
|
|
1839
|
+
min: 1
|
|
1830
1840
|
}, null, 8, ["modelValue"])
|
|
1831
1841
|
]),
|
|
1832
1842
|
_: 1
|
|
@@ -1857,7 +1867,7 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1857
1867
|
modelValue: $data.formData.lineType,
|
|
1858
1868
|
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => $data.formData.lineType = $event),
|
|
1859
1869
|
placeholder: "请选择",
|
|
1860
|
-
disabled: $data.formData.isGradient || $props.formDisable,
|
|
1870
|
+
disabled: $data.formData.isGradient || $props.formDisable || Object.prototype.hasOwnProperty.call($data.formData, "recommendParamId"),
|
|
1861
1871
|
"popper-class": "kd-curve-2d-select-popup"
|
|
1862
1872
|
}, {
|
|
1863
1873
|
default: withCtx(() => [
|
|
@@ -1892,7 +1902,7 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1892
1902
|
]),
|
|
1893
1903
|
_: 1
|
|
1894
1904
|
}, 8, ["rules", "model", "disabled"]),
|
|
1895
|
-
withDirectives(createElementVNode("div", _hoisted_2$
|
|
1905
|
+
withDirectives(createElementVNode("div", _hoisted_2$a, [
|
|
1896
1906
|
createVNode(_component_el_button, { onClick: $options.editable }, {
|
|
1897
1907
|
default: withCtx(() => [..._cache[11] || (_cache[11] = [
|
|
1898
1908
|
createTextVNode("编辑", -1)
|
|
@@ -1914,8 +1924,8 @@ function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1914
1924
|
])
|
|
1915
1925
|
]);
|
|
1916
1926
|
}
|
|
1917
|
-
const LineEdit = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1918
|
-
const _sfc_main$
|
|
1927
|
+
const LineEdit = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["render", _sfc_render$b], ["__scopeId", "data-v-0940f09d"]]);
|
|
1928
|
+
const _sfc_main$a = {
|
|
1919
1929
|
inject: ["upsertTemplate", "setTargetData", "setExpanded"],
|
|
1920
1930
|
props: {
|
|
1921
1931
|
currentTemplate: {
|
|
@@ -2003,9 +2013,9 @@ const _sfc_main$9 = {
|
|
|
2003
2013
|
}
|
|
2004
2014
|
}
|
|
2005
2015
|
};
|
|
2006
|
-
const _hoisted_1$
|
|
2007
|
-
const _hoisted_2$
|
|
2008
|
-
function _sfc_render$
|
|
2016
|
+
const _hoisted_1$a = { class: "kd-lane-template-content" };
|
|
2017
|
+
const _hoisted_2$9 = { class: "template-buttons" };
|
|
2018
|
+
function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) {
|
|
2009
2019
|
const _component_el_input = resolveComponent("el-input");
|
|
2010
2020
|
const _component_el_form_item = resolveComponent("el-form-item");
|
|
2011
2021
|
const _component_el_radio = resolveComponent("el-radio");
|
|
@@ -2014,7 +2024,7 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
2014
2024
|
const _component_el_select = resolveComponent("el-select");
|
|
2015
2025
|
const _component_el_form = resolveComponent("el-form");
|
|
2016
2026
|
const _component_el_button = resolveComponent("el-button");
|
|
2017
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
2027
|
+
return openBlock(), createElementBlock("div", _hoisted_1$a, [
|
|
2018
2028
|
createVNode(_component_el_form, {
|
|
2019
2029
|
rules: $data.rules,
|
|
2020
2030
|
ref: "template",
|
|
@@ -2153,7 +2163,7 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
2153
2163
|
]),
|
|
2154
2164
|
_: 1
|
|
2155
2165
|
}, 8, ["rules", "model"]),
|
|
2156
|
-
createElementVNode("div", _hoisted_2$
|
|
2166
|
+
createElementVNode("div", _hoisted_2$9, [
|
|
2157
2167
|
createVNode(_component_el_button, { onClick: $options.editable }, {
|
|
2158
2168
|
default: withCtx(() => [..._cache[8] || (_cache[8] = [
|
|
2159
2169
|
createTextVNode("编辑", -1)
|
|
@@ -2174,8 +2184,8 @@ function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
2174
2184
|
])
|
|
2175
2185
|
]);
|
|
2176
2186
|
}
|
|
2177
|
-
const TemplateEdit = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2178
|
-
const _sfc_main$
|
|
2187
|
+
const TemplateEdit = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["render", _sfc_render$a], ["__scopeId", "data-v-fc0a04c9"]]);
|
|
2188
|
+
const _sfc_main$9 = {
|
|
2179
2189
|
inject: ["delTemplate", "delLane", "delLine"],
|
|
2180
2190
|
provide() {
|
|
2181
2191
|
return {
|
|
@@ -2521,11 +2531,11 @@ const _sfc_main$8 = {
|
|
|
2521
2531
|
}
|
|
2522
2532
|
}
|
|
2523
2533
|
};
|
|
2524
|
-
const _hoisted_1$
|
|
2525
|
-
const _hoisted_2$
|
|
2526
|
-
const _hoisted_3$
|
|
2527
|
-
const _hoisted_4$
|
|
2528
|
-
function _sfc_render$
|
|
2534
|
+
const _hoisted_1$9 = ["onContextmenu"];
|
|
2535
|
+
const _hoisted_2$8 = ["onMouseover", "onMouseleave"];
|
|
2536
|
+
const _hoisted_3$6 = { style: { "padding-left": "5px" } };
|
|
2537
|
+
const _hoisted_4$6 = { class: "rtd-config-side-option" };
|
|
2538
|
+
function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) {
|
|
2529
2539
|
const _component_el_tooltip = resolveComponent("el-tooltip");
|
|
2530
2540
|
const _component_Star = resolveComponent("Star");
|
|
2531
2541
|
const _component_el_icon = resolveComponent("el-icon");
|
|
@@ -2579,11 +2589,11 @@ function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
2579
2589
|
class: "tree-node-label",
|
|
2580
2590
|
onMouseover: ($event) => $options.handleMouseEnter($event, node.id),
|
|
2581
2591
|
onMouseleave: ($event) => $options.handleMouseLeave($event, node.id)
|
|
2582
|
-
}, toDisplayString(node.label), 41, _hoisted_2$
|
|
2592
|
+
}, toDisplayString(node.label), 41, _hoisted_2$8)
|
|
2583
2593
|
]),
|
|
2584
2594
|
_: 2
|
|
2585
2595
|
}, 1032, ["content", "visible"]),
|
|
2586
|
-
withDirectives(createElementVNode("span", _hoisted_3$
|
|
2596
|
+
withDirectives(createElementVNode("span", _hoisted_3$6, [
|
|
2587
2597
|
createVNode(_component_el_icon, null, {
|
|
2588
2598
|
default: withCtx(() => [
|
|
2589
2599
|
createVNode(_component_Star)
|
|
@@ -2593,11 +2603,11 @@ function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
2593
2603
|
], 512), [
|
|
2594
2604
|
[vShow, data.isPublic == "1"]
|
|
2595
2605
|
])
|
|
2596
|
-
], 40, _hoisted_1$
|
|
2606
|
+
], 40, _hoisted_1$9)
|
|
2597
2607
|
]),
|
|
2598
2608
|
_: 1
|
|
2599
2609
|
}, 8, ["data", "current-node-key", "default-expanded-keys", "onNodeClick", "onNodeExpand", "onNodeCollapse"])),
|
|
2600
|
-
createElementVNode("div", _hoisted_4$
|
|
2610
|
+
createElementVNode("div", _hoisted_4$6, [
|
|
2601
2611
|
createVNode(_component_el_button, { onClick: $options.addTemplate }, {
|
|
2602
2612
|
default: withCtx(() => [..._cache[0] || (_cache[0] = [
|
|
2603
2613
|
createTextVNode("新增模板", -1)
|
|
@@ -2649,12 +2659,12 @@ function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
2649
2659
|
[_directive_loading, $data.curveConfigLoading]
|
|
2650
2660
|
]);
|
|
2651
2661
|
}
|
|
2652
|
-
const RealTimeCurveConfig = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2662
|
+
const RealTimeCurveConfig = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["render", _sfc_render$9], ["__scopeId", "data-v-1fb6ec88"]]);
|
|
2653
2663
|
const ACTION_TYPE = {
|
|
2654
2664
|
UPSERT_LINE: "upsertLine",
|
|
2655
2665
|
DELETE_LINE: "delLine"
|
|
2656
2666
|
};
|
|
2657
|
-
const _sfc_main$
|
|
2667
|
+
const _sfc_main$8 = {
|
|
2658
2668
|
name: "HeaderItem",
|
|
2659
2669
|
props: {
|
|
2660
2670
|
lineRange: {
|
|
@@ -2812,29 +2822,30 @@ const _sfc_main$7 = {
|
|
|
2812
2822
|
},
|
|
2813
2823
|
watch: {}
|
|
2814
2824
|
};
|
|
2815
|
-
const _hoisted_1$
|
|
2816
|
-
const _hoisted_2$
|
|
2817
|
-
const _hoisted_3$
|
|
2818
|
-
const _hoisted_4$
|
|
2819
|
-
function _sfc_render$
|
|
2825
|
+
const _hoisted_1$8 = { class: "kd-lane-chart-container-text-container" };
|
|
2826
|
+
const _hoisted_2$7 = { class: "left" };
|
|
2827
|
+
const _hoisted_3$5 = { class: "center" };
|
|
2828
|
+
const _hoisted_4$5 = { class: "right" };
|
|
2829
|
+
function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) {
|
|
2820
2830
|
return openBlock(), createElementBlock("div", {
|
|
2821
2831
|
class: normalizeClass(["kd-lane-chart-container-header-item", { "kd-lane-chart-container-header-item_warning": $options.isShowWarning() }]),
|
|
2822
2832
|
style: normalizeStyle($options.headerItemStyle),
|
|
2823
2833
|
onClick: _cache[0] || (_cache[0] = (...args) => $options.toggleIsUsed && $options.toggleIsUsed(...args))
|
|
2824
2834
|
}, [
|
|
2825
|
-
createElementVNode("div", _hoisted_1$
|
|
2826
|
-
createElementVNode("span", _hoisted_2$
|
|
2827
|
-
createElementVNode("div", _hoisted_3$
|
|
2835
|
+
createElementVNode("div", _hoisted_1$8, [
|
|
2836
|
+
createElementVNode("span", _hoisted_2$7, toDisplayString($props.line.min || ($props.lineRange[$props.line.lineId] && $props.lineRange[$props.line.lineId].min || 0)), 1),
|
|
2837
|
+
createElementVNode("div", _hoisted_3$5, [
|
|
2828
2838
|
createElementVNode("div", {
|
|
2829
2839
|
class: "paramsTitle",
|
|
2830
2840
|
style: normalizeStyle($options.getFontSize("label"))
|
|
2831
2841
|
}, toDisplayString($options.getParamName($props.line)), 5),
|
|
2832
|
-
|
|
2842
|
+
$props.formCache.displayType == "header" ? (openBlock(), createElementBlock("div", {
|
|
2843
|
+
key: 0,
|
|
2833
2844
|
class: "paramsData",
|
|
2834
2845
|
style: normalizeStyle($options.getFontSize("data"))
|
|
2835
|
-
}, toDisplayString($options.getCurrentData()), 5)
|
|
2846
|
+
}, toDisplayString($options.getCurrentData()), 5)) : createCommentVNode("", true)
|
|
2836
2847
|
]),
|
|
2837
|
-
createElementVNode("span", _hoisted_4$
|
|
2848
|
+
createElementVNode("span", _hoisted_4$5, toDisplayString($props.line.max || ($props.lineRange[$props.line.lineId] && $props.lineRange[$props.line.lineId].max || 0)), 1),
|
|
2838
2849
|
createElementVNode("div", {
|
|
2839
2850
|
class: "gradient-display",
|
|
2840
2851
|
style: normalizeStyle($options.gradientDisplay)
|
|
@@ -2842,7 +2853,167 @@ function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
2842
2853
|
])
|
|
2843
2854
|
], 6);
|
|
2844
2855
|
}
|
|
2845
|
-
const HeaderItem = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
2856
|
+
const HeaderItem = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["render", _sfc_render$8], ["__scopeId", "data-v-1ae34b14"]]);
|
|
2857
|
+
const _sfc_main$7 = {
|
|
2858
|
+
name: "LegendItem",
|
|
2859
|
+
props: {
|
|
2860
|
+
lineRange: {
|
|
2861
|
+
type: Object,
|
|
2862
|
+
default: () => ({})
|
|
2863
|
+
},
|
|
2864
|
+
itemHeight: {
|
|
2865
|
+
type: Number,
|
|
2866
|
+
default: 20
|
|
2867
|
+
},
|
|
2868
|
+
isKdCurveV2: {
|
|
2869
|
+
type: Boolean,
|
|
2870
|
+
default: false
|
|
2871
|
+
},
|
|
2872
|
+
currentHeaderStyle: {
|
|
2873
|
+
type: Object,
|
|
2874
|
+
default: () => ({
|
|
2875
|
+
headerPadding: 4,
|
|
2876
|
+
headerItemHeight: 42,
|
|
2877
|
+
itemGap: 4
|
|
2878
|
+
})
|
|
2879
|
+
},
|
|
2880
|
+
line: {
|
|
2881
|
+
type: Object,
|
|
2882
|
+
default: () => ({})
|
|
2883
|
+
},
|
|
2884
|
+
paramsNameMap: {
|
|
2885
|
+
type: Object,
|
|
2886
|
+
default: () => ({}),
|
|
2887
|
+
required: true
|
|
2888
|
+
},
|
|
2889
|
+
themeName: {
|
|
2890
|
+
type: String,
|
|
2891
|
+
default: void 0
|
|
2892
|
+
},
|
|
2893
|
+
visibleData: {
|
|
2894
|
+
type: Array,
|
|
2895
|
+
default: () => []
|
|
2896
|
+
},
|
|
2897
|
+
formCache: {
|
|
2898
|
+
type: Object,
|
|
2899
|
+
default: () => ({})
|
|
2900
|
+
},
|
|
2901
|
+
headerData: {
|
|
2902
|
+
type: Object,
|
|
2903
|
+
default: () => ({})
|
|
2904
|
+
}
|
|
2905
|
+
},
|
|
2906
|
+
methods: {
|
|
2907
|
+
getParamName() {
|
|
2908
|
+
const nameConfig = this.paramsNameMap[this.line.paramId];
|
|
2909
|
+
if (!nameConfig) {
|
|
2910
|
+
return "";
|
|
2911
|
+
}
|
|
2912
|
+
return `${nameConfig.paramName}${nameConfig.paramUnit ? `(${nameConfig.paramUnit})` : ""}`;
|
|
2913
|
+
},
|
|
2914
|
+
getCurrentData(paramId) {
|
|
2915
|
+
if (this.formCache.displayType == "float") {
|
|
2916
|
+
return "";
|
|
2917
|
+
}
|
|
2918
|
+
if (!Object.prototype.hasOwnProperty.call(this.headerData, paramId)) {
|
|
2919
|
+
return "--";
|
|
2920
|
+
}
|
|
2921
|
+
return this.headerData[paramId] !== null && this.headerData[paramId] !== void 0 && this.headerData[paramId] !== "" ? typeof +this.headerData[paramId] === "number" ? Number(Number(this.headerData[paramId]).toFixed(2)) : this.headerData[paramId] : "--";
|
|
2922
|
+
},
|
|
2923
|
+
toggleLegend(label) {
|
|
2924
|
+
const temp = { ...this.line };
|
|
2925
|
+
if (label === "实际值") {
|
|
2926
|
+
temp.isUsed = temp.isUsed == "1" || temp.isUsed == 1 ? "0" : "1";
|
|
2927
|
+
} else if (label === "推荐值") {
|
|
2928
|
+
temp.recommendIsUsed = temp.recommendIsUsed == "1" || temp.recommendIsUsed == 1 ? "0" : "1";
|
|
2929
|
+
}
|
|
2930
|
+
this.$emit("updateLine", temp);
|
|
2931
|
+
}
|
|
2932
|
+
},
|
|
2933
|
+
computed: {
|
|
2934
|
+
legendList() {
|
|
2935
|
+
let lineColor;
|
|
2936
|
+
if (this.themeName && this.line.themeConfig) {
|
|
2937
|
+
lineColor = this.line.themeConfig[this.themeName] && this.line.themeConfig[this.themeName].lineColor;
|
|
2938
|
+
}
|
|
2939
|
+
const color = lineColor || this.line.lineColor;
|
|
2940
|
+
return [
|
|
2941
|
+
{ label: "实际值", color, lineType: "solid", isUsed: this.line.isUsed == "1" || this.line.isUsed == 1, data: this.getCurrentData(this.line.paramId) },
|
|
2942
|
+
{ label: "推荐值", color, lineType: "dashed", isUsed: this.line.recommendIsUsed == "1" || this.line.recommendIsUsed == 1, data: this.getCurrentData(this.line.recommendParamId) }
|
|
2943
|
+
];
|
|
2944
|
+
},
|
|
2945
|
+
legendItemStyle() {
|
|
2946
|
+
if (this.themeName && this.line.themeConfig) {
|
|
2947
|
+
this.line.themeConfig[this.themeName] && this.line.themeConfig[this.themeName].lineColor;
|
|
2948
|
+
}
|
|
2949
|
+
let backgroundColor = {};
|
|
2950
|
+
let headerHeight = {};
|
|
2951
|
+
if (!this.isKdCurveV2) {
|
|
2952
|
+
backgroundColor = {
|
|
2953
|
+
background: `transparent !important`
|
|
2954
|
+
};
|
|
2955
|
+
headerHeight = {
|
|
2956
|
+
height: `${this.itemHeight}px`
|
|
2957
|
+
};
|
|
2958
|
+
} else {
|
|
2959
|
+
headerHeight = {
|
|
2960
|
+
height: `${this.formCache.displayType == "header" ? this.currentHeaderStyle.headerItemHeight : this.currentHeaderStyle.headerItemHeight * 0.8}px`
|
|
2961
|
+
};
|
|
2962
|
+
}
|
|
2963
|
+
return {
|
|
2964
|
+
...headerHeight,
|
|
2965
|
+
// opacity: this.line.isUsed == "1" ? 1 : 0.5,
|
|
2966
|
+
...backgroundColor
|
|
2967
|
+
};
|
|
2968
|
+
}
|
|
2969
|
+
}
|
|
2970
|
+
};
|
|
2971
|
+
const _hoisted_1$7 = { class: "legend-label" };
|
|
2972
|
+
const _hoisted_2$6 = { class: "legend-content" };
|
|
2973
|
+
const _hoisted_3$4 = { class: "scale-left" };
|
|
2974
|
+
const _hoisted_4$4 = ["onClick"];
|
|
2975
|
+
const _hoisted_5$3 = { class: "legend-line-item-top" };
|
|
2976
|
+
const _hoisted_6$3 = { class: "legend-text" };
|
|
2977
|
+
const _hoisted_7$3 = {
|
|
2978
|
+
key: 0,
|
|
2979
|
+
class: "legend-data"
|
|
2980
|
+
};
|
|
2981
|
+
const _hoisted_8$2 = { class: "scale-right" };
|
|
2982
|
+
function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
|
|
2983
|
+
return openBlock(), createElementBlock("div", {
|
|
2984
|
+
class: "kd-lane-chart-container-legend-item",
|
|
2985
|
+
style: normalizeStyle($options.legendItemStyle)
|
|
2986
|
+
}, [
|
|
2987
|
+
createElementVNode("div", _hoisted_1$7, toDisplayString($options.getParamName()), 1),
|
|
2988
|
+
createElementVNode("div", _hoisted_2$6, [
|
|
2989
|
+
createElementVNode("div", _hoisted_3$4, toDisplayString($props.line.min || 0), 1),
|
|
2990
|
+
createElementVNode("div", {
|
|
2991
|
+
class: "legend-lines",
|
|
2992
|
+
style: normalizeStyle({ flexDirection: $props.formCache.displayType == "header" ? "column" : "row" })
|
|
2993
|
+
}, [
|
|
2994
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList($options.legendList, (legend, index2) => {
|
|
2995
|
+
return openBlock(), createElementBlock("div", {
|
|
2996
|
+
class: "legend-line-item",
|
|
2997
|
+
key: index2,
|
|
2998
|
+
onClick: ($event) => $options.toggleLegend(legend.label),
|
|
2999
|
+
style: normalizeStyle({ opacity: legend.isUsed ? 1 : 0.5 })
|
|
3000
|
+
}, [
|
|
3001
|
+
createElementVNode("div", _hoisted_5$3, [
|
|
3002
|
+
createElementVNode("div", {
|
|
3003
|
+
class: normalizeClass(["legend-color", legend.lineType]),
|
|
3004
|
+
style: normalizeStyle({ borderBottom: `2px ${legend.lineType} ${legend.color}` })
|
|
3005
|
+
}, null, 6),
|
|
3006
|
+
createElementVNode("div", _hoisted_6$3, toDisplayString(legend.label), 1)
|
|
3007
|
+
]),
|
|
3008
|
+
$props.formCache.displayType == "header" ? (openBlock(), createElementBlock("div", _hoisted_7$3, toDisplayString(legend.data), 1)) : createCommentVNode("", true)
|
|
3009
|
+
], 12, _hoisted_4$4);
|
|
3010
|
+
}), 128))
|
|
3011
|
+
], 4),
|
|
3012
|
+
createElementVNode("div", _hoisted_8$2, toDisplayString($props.line.max || 20), 1)
|
|
3013
|
+
])
|
|
3014
|
+
], 4);
|
|
3015
|
+
}
|
|
3016
|
+
const LegendItem = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render$7], ["__scopeId", "data-v-efba8aa1"]]);
|
|
2846
3017
|
const _sfc_main$6 = {
|
|
2847
3018
|
name: "KdLaneContainer",
|
|
2848
3019
|
provide() {
|
|
@@ -2860,6 +3031,7 @@ const _sfc_main$6 = {
|
|
|
2860
3031
|
},
|
|
2861
3032
|
components: {
|
|
2862
3033
|
HeaderItem,
|
|
3034
|
+
LegendItem,
|
|
2863
3035
|
RealTimeCurveConfig,
|
|
2864
3036
|
VueSimpleContextMenu,
|
|
2865
3037
|
VueDraggable
|
|
@@ -3085,14 +3257,12 @@ const _sfc_main$6 = {
|
|
|
3085
3257
|
const id = String(lane.laneId);
|
|
3086
3258
|
const newWidth = headerEl.clientWidth;
|
|
3087
3259
|
const oldWidth = this.laneWidthOverrides[id];
|
|
3088
|
-
console.log(id, oldWidth, newWidth);
|
|
3089
3260
|
if (oldWidth !== newWidth) {
|
|
3090
3261
|
this.setLaneWidthOverride(lane.laneId, newWidth);
|
|
3091
3262
|
hasChanged = true;
|
|
3092
3263
|
}
|
|
3093
3264
|
}
|
|
3094
3265
|
});
|
|
3095
|
-
console.log(this.laneWidthOverrides, hasChanged);
|
|
3096
3266
|
if (hasChanged) {
|
|
3097
3267
|
this.$emit("lane-width-change", this.laneWidthOverrides);
|
|
3098
3268
|
}
|
|
@@ -3840,10 +4010,12 @@ const _hoisted_9$1 = { class: "custom-dialog__body RealTimeCurveConfig_area" };
|
|
|
3840
4010
|
const _hoisted_10$1 = { class: "custom-dialog__footer" };
|
|
3841
4011
|
function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
|
|
3842
4012
|
const _component_HeaderItem = resolveComponent("HeaderItem");
|
|
4013
|
+
const _component_LegendItem = resolveComponent("LegendItem");
|
|
3843
4014
|
const _component_VueDraggable = resolveComponent("VueDraggable");
|
|
3844
4015
|
const _component_VueSimpleContextMenu = resolveComponent("VueSimpleContextMenu");
|
|
3845
4016
|
const _component_RealTimeCurveConfig = resolveComponent("RealTimeCurveConfig");
|
|
3846
4017
|
const _component_el_button = resolveComponent("el-button");
|
|
4018
|
+
const _component_el_dialog = resolveComponent("el-dialog");
|
|
3847
4019
|
return openBlock(), createElementBlock("div", {
|
|
3848
4020
|
class: "kd-lane-chart-container",
|
|
3849
4021
|
onContextmenu: _cache[4] || (_cache[4] = (...args) => $options.onParentContextMenu && $options.onParentContextMenu(...args)),
|
|
@@ -3897,7 +4069,7 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3897
4069
|
])) : createCommentVNode("", true)
|
|
3898
4070
|
], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
3899
4071
|
createElementVNode("div", {
|
|
3900
|
-
class: normalizeClass(["kd-lane-chart-lane-header", { "border-bottom": !$props.isKdCurveV2 }]),
|
|
4072
|
+
class: normalizeClass(["kd-lane-chart-lane-header", { "border-bottom": !$props.isKdCurveV2, "kd-lane-chart-lane-header-isKdCurveV2": $props.isKdCurveV2 }]),
|
|
3901
4073
|
style: normalizeStyle($options.headerStyle),
|
|
3902
4074
|
onContextmenu: withModifiers(($event) => $options.showContextMenu($event, lane), ["prevent"])
|
|
3903
4075
|
}, [
|
|
@@ -3916,14 +4088,25 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3916
4088
|
}, {
|
|
3917
4089
|
default: withCtx(() => [
|
|
3918
4090
|
(openBlock(true), createElementBlock(Fragment, null, renderList(lane.lines || [], (line) => {
|
|
3919
|
-
return openBlock(),
|
|
3920
|
-
key: line.lineId
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3926
|
-
|
|
4091
|
+
return openBlock(), createElementBlock("div", {
|
|
4092
|
+
key: line.lineId
|
|
4093
|
+
}, [
|
|
4094
|
+
!line.hasOwnProperty("recommendParamId") ? (openBlock(), createBlock(_component_HeaderItem, mergeProps({
|
|
4095
|
+
key: 0,
|
|
4096
|
+
line,
|
|
4097
|
+
paramsNameMap: $options.paramsNameMap
|
|
4098
|
+
}, { ref_for: true }, _ctx.$props, {
|
|
4099
|
+
onContextmenu: withModifiers(($event) => $options.showContextMenu($event, line), ["prevent"]),
|
|
4100
|
+
onUpdateLine: $options.upsertLine
|
|
4101
|
+
}), null, 16, ["line", "paramsNameMap", "onContextmenu", "onUpdateLine"])) : (openBlock(), createBlock(_component_LegendItem, mergeProps({
|
|
4102
|
+
key: 1,
|
|
4103
|
+
line,
|
|
4104
|
+
paramsNameMap: $options.paramsNameMap
|
|
4105
|
+
}, { ref_for: true }, _ctx.$props, {
|
|
4106
|
+
onContextmenu: withModifiers(($event) => $options.showContextMenu($event, line), ["prevent"]),
|
|
4107
|
+
onUpdateLine: $options.upsertLine
|
|
4108
|
+
}), null, 16, ["line", "paramsNameMap", "onContextmenu", "onUpdateLine"]))
|
|
4109
|
+
]);
|
|
3927
4110
|
}), 128))
|
|
3928
4111
|
]),
|
|
3929
4112
|
_: 2
|
|
@@ -3944,10 +4127,10 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3944
4127
|
_: 3
|
|
3945
4128
|
}, 8, ["onStart", "onEnd", "modelValue"])) : (openBlock(), createElementBlock("div", _hoisted_7$2, [
|
|
3946
4129
|
createElementVNode("div", {
|
|
3947
|
-
class: "kd-lane-chart-lane-header",
|
|
4130
|
+
class: normalizeClass(["kd-lane-chart-lane-header", { "kd-lane-chart-lane-header-isKdCurveV2": $props.isKdCurveV2 }]),
|
|
3948
4131
|
style: normalizeStyle($options.headerStyle),
|
|
3949
4132
|
onContextmenu: _cache[1] || (_cache[1] = withModifiers((...args) => $options.showContextMenu && $options.showContextMenu(...args), ["prevent"]))
|
|
3950
|
-
}, null,
|
|
4133
|
+
}, null, 38)
|
|
3951
4134
|
], 512)),
|
|
3952
4135
|
!$props.isKdCurveV2 ? (openBlock(), createElementBlock("div", {
|
|
3953
4136
|
key: 2,
|
|
@@ -3961,34 +4144,31 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
3961
4144
|
ref: "vueSimpleContextMenu",
|
|
3962
4145
|
onOptionClicked: $options.optionClicked
|
|
3963
4146
|
}, null, 8, ["options", "onOptionClicked"]),
|
|
3964
|
-
|
|
3965
|
-
|
|
3966
|
-
|
|
3967
|
-
|
|
3968
|
-
|
|
3969
|
-
|
|
3970
|
-
|
|
3971
|
-
|
|
3972
|
-
|
|
4147
|
+
createVNode(_component_el_dialog, {
|
|
4148
|
+
width: "45%",
|
|
4149
|
+
modelValue: $data.curveConfigVisible,
|
|
4150
|
+
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => $data.curveConfigVisible = $event),
|
|
4151
|
+
"append-to-body": true,
|
|
4152
|
+
"header-class": "kd-lane-chart-v3-custom-dialog__header",
|
|
4153
|
+
"body-class": "kd-lane-chart-v3-custom-dialog__body",
|
|
4154
|
+
"footer-class": "kd-lane-chart-v3-custom-dialog__footer",
|
|
4155
|
+
class: "kd-lane-chart-v3-custom-dialog",
|
|
4156
|
+
"close-on-click-modal": false,
|
|
4157
|
+
"close-on-press-escape": false,
|
|
4158
|
+
"show-close": false,
|
|
4159
|
+
onClose: $options.closeCurveConfigDialog,
|
|
4160
|
+
"align-center": ""
|
|
4161
|
+
}, {
|
|
4162
|
+
header: withCtx(() => [
|
|
3973
4163
|
createElementVNode("div", _hoisted_8$1, [
|
|
3974
4164
|
_cache[5] || (_cache[5] = createElementVNode("span", { class: "custom-dialog__title" }, "泳道模板设置", -1)),
|
|
3975
4165
|
createElementVNode("button", {
|
|
3976
4166
|
class: "custom-dialog__close",
|
|
3977
4167
|
onClick: _cache[2] || (_cache[2] = (...args) => $options.closeCurveConfigDialog && $options.closeCurveConfigDialog(...args))
|
|
3978
4168
|
}, "×")
|
|
3979
|
-
])
|
|
3980
|
-
|
|
3981
|
-
|
|
3982
|
-
ref: "curveConfig",
|
|
3983
|
-
inputTempates: $data.treeTemplates,
|
|
3984
|
-
caseId: $data.strategy.caseId,
|
|
3985
|
-
params: $data.params,
|
|
3986
|
-
paramsNameMap: $options.paramsNameMap
|
|
3987
|
-
}, _ctx.$attrs, {
|
|
3988
|
-
contextItem: $data.contextItem,
|
|
3989
|
-
positionInfo: $data.positionInfo
|
|
3990
|
-
}), null, 16, ["inputTempates", "caseId", "params", "paramsNameMap", "contextItem", "positionInfo"])
|
|
3991
|
-
]),
|
|
4169
|
+
])
|
|
4170
|
+
]),
|
|
4171
|
+
footer: withCtx(() => [
|
|
3992
4172
|
createElementVNode("div", _hoisted_10$1, [
|
|
3993
4173
|
createVNode(_component_el_button, { onClick: $options.closeCurveConfigDialog }, {
|
|
3994
4174
|
default: withCtx(() => [..._cache[6] || (_cache[6] = [
|
|
@@ -4006,11 +4186,26 @@ function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
4006
4186
|
_: 1
|
|
4007
4187
|
}, 8, ["onClick"])
|
|
4008
4188
|
])
|
|
4009
|
-
],
|
|
4010
|
-
|
|
4189
|
+
]),
|
|
4190
|
+
default: withCtx(() => [
|
|
4191
|
+
createElementVNode("div", _hoisted_9$1, [
|
|
4192
|
+
createVNode(_component_RealTimeCurveConfig, mergeProps({
|
|
4193
|
+
ref: "curveConfig",
|
|
4194
|
+
inputTempates: $data.treeTemplates,
|
|
4195
|
+
caseId: $data.strategy.caseId,
|
|
4196
|
+
params: $data.params,
|
|
4197
|
+
paramsNameMap: $options.paramsNameMap
|
|
4198
|
+
}, _ctx.$attrs, {
|
|
4199
|
+
contextItem: $data.contextItem,
|
|
4200
|
+
positionInfo: $data.positionInfo
|
|
4201
|
+
}), null, 16, ["inputTempates", "caseId", "params", "paramsNameMap", "contextItem", "positionInfo"])
|
|
4202
|
+
])
|
|
4203
|
+
]),
|
|
4204
|
+
_: 1
|
|
4205
|
+
}, 8, ["modelValue", "onClose"])
|
|
4011
4206
|
], 544);
|
|
4012
4207
|
}
|
|
4013
|
-
const KdLaneContainerComponent = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render$6], ["__scopeId", "data-v-
|
|
4208
|
+
const KdLaneContainerComponent = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render$6], ["__scopeId", "data-v-7b18e475"]]);
|
|
4014
4209
|
const SLIDER_GROUP_ID = "depthSliderGroup";
|
|
4015
4210
|
function pad2(n) {
|
|
4016
4211
|
return n < 10 ? "0" + n : "" + n;
|
|
@@ -5424,7 +5619,6 @@ const _sfc_main$4 = {
|
|
|
5424
5619
|
}
|
|
5425
5620
|
},
|
|
5426
5621
|
handleClickExport(data) {
|
|
5427
|
-
this.exportName = data.name;
|
|
5428
5622
|
if (this.$refs.ExportTimeFormRef) {
|
|
5429
5623
|
this.$refs.ExportTimeFormRef.clearValidate();
|
|
5430
5624
|
}
|
|
@@ -5745,6 +5939,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
5745
5939
|
const _component_el_form_item = resolveComponent("el-form-item");
|
|
5746
5940
|
const _component_el_form = resolveComponent("el-form");
|
|
5747
5941
|
const _component_el_button = resolveComponent("el-button");
|
|
5942
|
+
const _component_el_dialog = resolveComponent("el-dialog");
|
|
5748
5943
|
const _component_InputNumber = resolveComponent("InputNumber");
|
|
5749
5944
|
const _component_TabPane = resolveComponent("TabPane");
|
|
5750
5945
|
const _component_Tabs = resolveComponent("Tabs");
|
|
@@ -6050,22 +6245,50 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6050
6245
|
_cache[42] || (_cache[42] = createElementVNode("span", null, "导出", -1))
|
|
6051
6246
|
])) : createCommentVNode("", true)
|
|
6052
6247
|
]),
|
|
6053
|
-
|
|
6054
|
-
|
|
6055
|
-
|
|
6056
|
-
|
|
6057
|
-
|
|
6058
|
-
|
|
6059
|
-
|
|
6060
|
-
|
|
6061
|
-
|
|
6248
|
+
createVNode(_component_el_dialog, {
|
|
6249
|
+
modelValue: $data.timeDialogVisible,
|
|
6250
|
+
"onUpdate:modelValue": _cache[21] || (_cache[21] = ($event) => $data.timeDialogVisible = $event),
|
|
6251
|
+
"close-on-click-modal": false,
|
|
6252
|
+
"close-on-press-escape": false,
|
|
6253
|
+
"show-close": false,
|
|
6254
|
+
width: "300px",
|
|
6255
|
+
onClose: $options.closeTimeDialog,
|
|
6256
|
+
"append-to-body": true,
|
|
6257
|
+
"header-class": "kd-lane-chart-v3-custom-dialog__header",
|
|
6258
|
+
"body-class": "kd-lane-chart-v3-custom-dialog__body",
|
|
6259
|
+
"footer-class": "kd-lane-chart-v3-custom-dialog__footer",
|
|
6260
|
+
class: "kd-lane-chart-v3-custom-dialog",
|
|
6261
|
+
"align-center": ""
|
|
6262
|
+
}, {
|
|
6263
|
+
header: withCtx(() => [
|
|
6062
6264
|
createElementVNode("div", _hoisted_20, [
|
|
6063
6265
|
_cache[43] || (_cache[43] = createElementVNode("span", { class: "custom-dialog__title" }, "设置时间段", -1)),
|
|
6064
6266
|
createElementVNode("button", {
|
|
6065
6267
|
class: "custom-dialog__close",
|
|
6066
6268
|
onClick: _cache[19] || (_cache[19] = (...args) => $options.closeTimeDialog && $options.closeTimeDialog(...args))
|
|
6067
6269
|
}, "×")
|
|
6068
|
-
])
|
|
6270
|
+
])
|
|
6271
|
+
]),
|
|
6272
|
+
footer: withCtx(() => [
|
|
6273
|
+
createElementVNode("div", _hoisted_24, [
|
|
6274
|
+
createVNode(_component_el_button, { onClick: $options.closeTimeDialog }, {
|
|
6275
|
+
default: withCtx(() => [..._cache[45] || (_cache[45] = [
|
|
6276
|
+
createTextVNode("取消", -1)
|
|
6277
|
+
])]),
|
|
6278
|
+
_: 1
|
|
6279
|
+
}, 8, ["onClick"]),
|
|
6280
|
+
createVNode(_component_el_button, {
|
|
6281
|
+
type: "primary",
|
|
6282
|
+
onClick: $options.confirmTimeDialog
|
|
6283
|
+
}, {
|
|
6284
|
+
default: withCtx(() => [..._cache[46] || (_cache[46] = [
|
|
6285
|
+
createTextVNode("确定", -1)
|
|
6286
|
+
])]),
|
|
6287
|
+
_: 1
|
|
6288
|
+
}, 8, ["onClick"])
|
|
6289
|
+
])
|
|
6290
|
+
]),
|
|
6291
|
+
default: withCtx(() => [
|
|
6069
6292
|
createElementVNode("div", _hoisted_21, [
|
|
6070
6293
|
createVNode(_component_el_form, {
|
|
6071
6294
|
model: $data.timeDialog,
|
|
@@ -6080,7 +6303,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6080
6303
|
default: withCtx(() => [
|
|
6081
6304
|
createElementVNode("div", _hoisted_22, [
|
|
6082
6305
|
_cache[44] || (_cache[44] = createElementVNode("div", {
|
|
6083
|
-
style: { "min-width": "
|
|
6306
|
+
style: { "min-width": "30px", "display": "flex", "align-items": "center", "height": "100%", "white-space": "nowrap" },
|
|
6084
6307
|
class: "fontColor"
|
|
6085
6308
|
}, "时间:", -1)),
|
|
6086
6309
|
createElementVNode("div", _hoisted_23, [
|
|
@@ -6090,7 +6313,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6090
6313
|
"popper-class": "kd-curve-2d-select-popup",
|
|
6091
6314
|
type: "datetime",
|
|
6092
6315
|
placeholder: "选择时间",
|
|
6093
|
-
"value-format": "
|
|
6316
|
+
"value-format": "YYYY-MM-DD HH:mm:ss",
|
|
6094
6317
|
style: { "width": "100%", "height": "100%" }
|
|
6095
6318
|
}, null, 8, ["modelValue"])
|
|
6096
6319
|
])
|
|
@@ -6101,42 +6324,54 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6101
6324
|
]),
|
|
6102
6325
|
_: 1
|
|
6103
6326
|
}, 8, ["model"])
|
|
6104
|
-
])
|
|
6105
|
-
|
|
6106
|
-
|
|
6107
|
-
|
|
6327
|
+
])
|
|
6328
|
+
]),
|
|
6329
|
+
_: 1
|
|
6330
|
+
}, 8, ["modelValue", "onClose"]),
|
|
6331
|
+
createVNode(_component_el_dialog, {
|
|
6332
|
+
modelValue: $data.depthDialogVisible,
|
|
6333
|
+
"onUpdate:modelValue": _cache[25] || (_cache[25] = ($event) => $data.depthDialogVisible = $event),
|
|
6334
|
+
"append-to-body": true,
|
|
6335
|
+
"header-class": "kd-lane-chart-v3-custom-dialog__header",
|
|
6336
|
+
"body-class": "kd-lane-chart-v3-custom-dialog__body",
|
|
6337
|
+
"footer-class": "kd-lane-chart-v3-custom-dialog__footer",
|
|
6338
|
+
class: "kd-lane-chart-v3-custom-dialog",
|
|
6339
|
+
"close-on-click-modal": false,
|
|
6340
|
+
"close-on-press-escape": false,
|
|
6341
|
+
"show-close": false,
|
|
6342
|
+
width: "300px",
|
|
6343
|
+
onClose: $options.closeDepthDialog,
|
|
6344
|
+
"align-center": ""
|
|
6345
|
+
}, {
|
|
6346
|
+
header: withCtx(() => [
|
|
6347
|
+
createElementVNode("div", _hoisted_25, [
|
|
6348
|
+
_cache[47] || (_cache[47] = createElementVNode("span", { class: "custom-dialog__title" }, "设置井深段", -1)),
|
|
6349
|
+
createElementVNode("button", {
|
|
6350
|
+
class: "custom-dialog__close",
|
|
6351
|
+
onClick: _cache[22] || (_cache[22] = (...args) => $options.closeDepthDialog && $options.closeDepthDialog(...args))
|
|
6352
|
+
}, "×")
|
|
6353
|
+
])
|
|
6354
|
+
]),
|
|
6355
|
+
footer: withCtx(() => [
|
|
6356
|
+
createElementVNode("div", _hoisted_31, [
|
|
6357
|
+
createVNode(_component_el_button, { onClick: $options.closeDepthDialog }, {
|
|
6358
|
+
default: withCtx(() => [..._cache[50] || (_cache[50] = [
|
|
6108
6359
|
createTextVNode("取消", -1)
|
|
6109
6360
|
])]),
|
|
6110
6361
|
_: 1
|
|
6111
6362
|
}, 8, ["onClick"]),
|
|
6112
6363
|
createVNode(_component_el_button, {
|
|
6113
6364
|
type: "primary",
|
|
6114
|
-
onClick: $options.
|
|
6365
|
+
onClick: $options.confirmDepthDialog
|
|
6115
6366
|
}, {
|
|
6116
|
-
default: withCtx(() => [..._cache[
|
|
6367
|
+
default: withCtx(() => [..._cache[51] || (_cache[51] = [
|
|
6117
6368
|
createTextVNode("确定", -1)
|
|
6118
6369
|
])]),
|
|
6119
6370
|
_: 1
|
|
6120
6371
|
}, 8, ["onClick"])
|
|
6121
6372
|
])
|
|
6122
|
-
],
|
|
6123
|
-
|
|
6124
|
-
$data.depthDialogVisible || $data.depthDialogClosing ? (openBlock(), createElementBlock("div", {
|
|
6125
|
-
key: 14,
|
|
6126
|
-
class: normalizeClass(["custom-dialog-mask", { closing: $data.depthDialogClosing }]),
|
|
6127
|
-
onClick: _cache[25] || (_cache[25] = withModifiers((...args) => $options.closeDepthDialog && $options.closeDepthDialog(...args), ["self"]))
|
|
6128
|
-
}, [
|
|
6129
|
-
createElementVNode("div", {
|
|
6130
|
-
class: normalizeClass(["custom-dialog", { closing: $data.depthDialogClosing }]),
|
|
6131
|
-
style: { "width": "420px" }
|
|
6132
|
-
}, [
|
|
6133
|
-
createElementVNode("div", _hoisted_25, [
|
|
6134
|
-
_cache[47] || (_cache[47] = createElementVNode("span", { class: "custom-dialog__title" }, "设置井深段", -1)),
|
|
6135
|
-
createElementVNode("button", {
|
|
6136
|
-
class: "custom-dialog__close",
|
|
6137
|
-
onClick: _cache[22] || (_cache[22] = (...args) => $options.closeDepthDialog && $options.closeDepthDialog(...args))
|
|
6138
|
-
}, "×")
|
|
6139
|
-
]),
|
|
6373
|
+
]),
|
|
6374
|
+
default: withCtx(() => [
|
|
6140
6375
|
createElementVNode("div", _hoisted_26, [
|
|
6141
6376
|
createVNode(_component_el_form, {
|
|
6142
6377
|
model: $data.depthDialog,
|
|
@@ -6155,7 +6390,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6155
6390
|
default: withCtx(() => [
|
|
6156
6391
|
createElementVNode("div", _hoisted_27, [
|
|
6157
6392
|
_cache[48] || (_cache[48] = createElementVNode("div", {
|
|
6158
|
-
style: { "min-width": "
|
|
6393
|
+
style: { "min-width": "60px", "display": "flex", "align-items": "center", "height": "100%", "white-space": "nowrap" },
|
|
6159
6394
|
class: "fontColor"
|
|
6160
6395
|
}, "起始井深:", -1)),
|
|
6161
6396
|
createElementVNode("div", _hoisted_28, [
|
|
@@ -6182,7 +6417,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6182
6417
|
default: withCtx(() => [
|
|
6183
6418
|
createElementVNode("div", _hoisted_29, [
|
|
6184
6419
|
_cache[49] || (_cache[49] = createElementVNode("div", {
|
|
6185
|
-
style: { "min-width": "
|
|
6420
|
+
style: { "min-width": "60px", "display": "flex", "align-items": "center", "height": "100%", "white-space": "nowrap" },
|
|
6186
6421
|
class: "fontColor"
|
|
6187
6422
|
}, "结束井深:", -1)),
|
|
6188
6423
|
createElementVNode("div", _hoisted_30, [
|
|
@@ -6201,42 +6436,54 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6201
6436
|
]),
|
|
6202
6437
|
_: 1
|
|
6203
6438
|
}, 8, ["model"])
|
|
6204
|
-
])
|
|
6205
|
-
|
|
6206
|
-
|
|
6207
|
-
|
|
6439
|
+
])
|
|
6440
|
+
]),
|
|
6441
|
+
_: 1
|
|
6442
|
+
}, 8, ["modelValue", "onClose"]),
|
|
6443
|
+
createVNode(_component_el_dialog, {
|
|
6444
|
+
modelValue: $data.exportDialogVisible,
|
|
6445
|
+
"onUpdate:modelValue": _cache[31] || (_cache[31] = ($event) => $data.exportDialogVisible = $event),
|
|
6446
|
+
"append-to-body": true,
|
|
6447
|
+
"header-class": "kd-lane-chart-v3-custom-dialog__header",
|
|
6448
|
+
"body-class": "kd-lane-chart-v3-custom-dialog__body",
|
|
6449
|
+
"footer-class": "kd-lane-chart-v3-custom-dialog__footer",
|
|
6450
|
+
class: "kd-lane-chart-v3-custom-dialog",
|
|
6451
|
+
"close-on-click-modal": false,
|
|
6452
|
+
"close-on-press-escape": false,
|
|
6453
|
+
"show-close": false,
|
|
6454
|
+
width: "450px",
|
|
6455
|
+
onClose: $options.closeExportDialog,
|
|
6456
|
+
"align-center": ""
|
|
6457
|
+
}, {
|
|
6458
|
+
header: withCtx(() => [
|
|
6459
|
+
createElementVNode("div", _hoisted_32, [
|
|
6460
|
+
_cache[52] || (_cache[52] = createElementVNode("span", { class: "custom-dialog__title" }, "数据导出", -1)),
|
|
6461
|
+
createElementVNode("button", {
|
|
6462
|
+
class: "custom-dialog__close",
|
|
6463
|
+
onClick: _cache[26] || (_cache[26] = (...args) => $options.closeExportDialog && $options.closeExportDialog(...args))
|
|
6464
|
+
}, "×")
|
|
6465
|
+
])
|
|
6466
|
+
]),
|
|
6467
|
+
footer: withCtx(() => [
|
|
6468
|
+
createElementVNode("div", _hoisted_40, [
|
|
6469
|
+
createVNode(_component_el_button, { onClick: $options.closeExportDialog }, {
|
|
6470
|
+
default: withCtx(() => [..._cache[56] || (_cache[56] = [
|
|
6208
6471
|
createTextVNode("取消", -1)
|
|
6209
6472
|
])]),
|
|
6210
6473
|
_: 1
|
|
6211
6474
|
}, 8, ["onClick"]),
|
|
6212
6475
|
createVNode(_component_el_button, {
|
|
6213
6476
|
type: "primary",
|
|
6214
|
-
onClick: $options.
|
|
6477
|
+
onClick: $options.confirmExportDialog
|
|
6215
6478
|
}, {
|
|
6216
|
-
default: withCtx(() => [..._cache[
|
|
6479
|
+
default: withCtx(() => [..._cache[57] || (_cache[57] = [
|
|
6217
6480
|
createTextVNode("确定", -1)
|
|
6218
6481
|
])]),
|
|
6219
6482
|
_: 1
|
|
6220
6483
|
}, 8, ["onClick"])
|
|
6221
6484
|
])
|
|
6222
|
-
],
|
|
6223
|
-
|
|
6224
|
-
$data.exportDialogVisible || $data.exportDialogClosing ? (openBlock(), createElementBlock("div", {
|
|
6225
|
-
key: 15,
|
|
6226
|
-
class: normalizeClass(["custom-dialog-mask", { closing: $data.exportDialogClosing }]),
|
|
6227
|
-
onClick: _cache[31] || (_cache[31] = withModifiers((...args) => $options.closeExportDialog && $options.closeExportDialog(...args), ["self"]))
|
|
6228
|
-
}, [
|
|
6229
|
-
createElementVNode("div", {
|
|
6230
|
-
class: normalizeClass(["custom-dialog", { closing: $data.exportDialogClosing }]),
|
|
6231
|
-
style: { "width": "500px" }
|
|
6232
|
-
}, [
|
|
6233
|
-
createElementVNode("div", _hoisted_32, [
|
|
6234
|
-
_cache[52] || (_cache[52] = createElementVNode("span", { class: "custom-dialog__title" }, "数据导出", -1)),
|
|
6235
|
-
createElementVNode("button", {
|
|
6236
|
-
class: "custom-dialog__close",
|
|
6237
|
-
onClick: _cache[26] || (_cache[26] = (...args) => $options.closeExportDialog && $options.closeExportDialog(...args))
|
|
6238
|
-
}, "×")
|
|
6239
|
-
]),
|
|
6485
|
+
]),
|
|
6486
|
+
default: withCtx(() => [
|
|
6240
6487
|
createElementVNode("div", _hoisted_33, [
|
|
6241
6488
|
createVNode(_component_Tabs, {
|
|
6242
6489
|
modelValue: $data.exportName,
|
|
@@ -6260,7 +6507,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6260
6507
|
key: 0,
|
|
6261
6508
|
model: $data.exportTimeDialog,
|
|
6262
6509
|
ref: "ExportTimeFormRef",
|
|
6263
|
-
style: { "display": "flex", "flex-direction": "column", "gap": "16px"
|
|
6510
|
+
style: { "display": "flex", "flex-direction": "column", "gap": "16px" }
|
|
6264
6511
|
}, {
|
|
6265
6512
|
default: withCtx(() => [
|
|
6266
6513
|
createVNode(_component_el_form_item, {
|
|
@@ -6270,7 +6517,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6270
6517
|
default: withCtx(() => [
|
|
6271
6518
|
createElementVNode("div", _hoisted_34, [
|
|
6272
6519
|
_cache[53] || (_cache[53] = createElementVNode("div", {
|
|
6273
|
-
style: { "min-width": "
|
|
6520
|
+
style: { "min-width": "60px", "display": "flex", "align-items": "center", "height": "100%", "white-space": "nowrap" },
|
|
6274
6521
|
class: "fontColor"
|
|
6275
6522
|
}, "时间范围:", -1)),
|
|
6276
6523
|
createElementVNode("div", _hoisted_35, [
|
|
@@ -6282,7 +6529,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6282
6529
|
"range-separator": "至",
|
|
6283
6530
|
"start-placeholder": "开始时间",
|
|
6284
6531
|
"end-placeholder": "结束时间",
|
|
6285
|
-
"value-format": "
|
|
6532
|
+
"value-format": "YYYY-MM-DD HH:mm:ss",
|
|
6286
6533
|
style: { "width": "100%", "height": "100%" }
|
|
6287
6534
|
}, null, 8, ["modelValue"])
|
|
6288
6535
|
])
|
|
@@ -6297,7 +6544,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6297
6544
|
key: 1,
|
|
6298
6545
|
model: $data.exportDepthDialog,
|
|
6299
6546
|
ref: "ExportDepthFormRef",
|
|
6300
|
-
style: { "display": "flex", "flex-direction": "column", "gap": "16px"
|
|
6547
|
+
style: { "display": "flex", "flex-direction": "column", "gap": "16px" }
|
|
6301
6548
|
}, {
|
|
6302
6549
|
default: withCtx(() => [
|
|
6303
6550
|
createVNode(_component_el_form_item, {
|
|
@@ -6311,7 +6558,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6311
6558
|
default: withCtx(() => [
|
|
6312
6559
|
createElementVNode("div", _hoisted_36, [
|
|
6313
6560
|
_cache[54] || (_cache[54] = createElementVNode("div", {
|
|
6314
|
-
style: { "min-width": "
|
|
6561
|
+
style: { "min-width": "60px", "display": "flex", "align-items": "center", "height": "100%", "white-space": "nowrap" },
|
|
6315
6562
|
class: "fontColor"
|
|
6316
6563
|
}, "起始井深:", -1)),
|
|
6317
6564
|
createElementVNode("div", _hoisted_37, [
|
|
@@ -6339,7 +6586,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6339
6586
|
default: withCtx(() => [
|
|
6340
6587
|
createElementVNode("div", _hoisted_38, [
|
|
6341
6588
|
_cache[55] || (_cache[55] = createElementVNode("div", {
|
|
6342
|
-
style: { "min-width": "
|
|
6589
|
+
style: { "min-width": "60px", "display": "flex", "align-items": "center", "height": "100%", "white-space": "nowrap" },
|
|
6343
6590
|
class: "fontColor"
|
|
6344
6591
|
}, "终止井深:", -1)),
|
|
6345
6592
|
createElementVNode("div", _hoisted_39, [
|
|
@@ -6358,29 +6605,13 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6358
6605
|
]),
|
|
6359
6606
|
_: 1
|
|
6360
6607
|
}, 8, ["model"])) : createCommentVNode("", true)
|
|
6361
|
-
]),
|
|
6362
|
-
createElementVNode("div", _hoisted_40, [
|
|
6363
|
-
createVNode(_component_el_button, { onClick: $options.closeExportDialog }, {
|
|
6364
|
-
default: withCtx(() => [..._cache[56] || (_cache[56] = [
|
|
6365
|
-
createTextVNode("取消", -1)
|
|
6366
|
-
])]),
|
|
6367
|
-
_: 1
|
|
6368
|
-
}, 8, ["onClick"]),
|
|
6369
|
-
createVNode(_component_el_button, {
|
|
6370
|
-
type: "primary",
|
|
6371
|
-
onClick: $options.confirmExportDialog
|
|
6372
|
-
}, {
|
|
6373
|
-
default: withCtx(() => [..._cache[57] || (_cache[57] = [
|
|
6374
|
-
createTextVNode("确定", -1)
|
|
6375
|
-
])]),
|
|
6376
|
-
_: 1
|
|
6377
|
-
}, 8, ["onClick"])
|
|
6378
6608
|
])
|
|
6379
|
-
],
|
|
6380
|
-
|
|
6609
|
+
]),
|
|
6610
|
+
_: 1
|
|
6611
|
+
}, 8, ["modelValue", "onClose"])
|
|
6381
6612
|
]);
|
|
6382
6613
|
}
|
|
6383
|
-
const FunctionControlPanel = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4], ["__scopeId", "data-v-
|
|
6614
|
+
const FunctionControlPanel = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$4], ["__scopeId", "data-v-def5c949"]]);
|
|
6384
6615
|
const INIT_TRIGGERS = ["theme", "initOptions", "autoresize"];
|
|
6385
6616
|
const REWATCH_TRIGGERS = ["manualUpdate", "watchShallow"];
|
|
6386
6617
|
const _sfc_main$3 = {
|
|
@@ -6832,7 +7063,8 @@ const _sfc_main$2 = {
|
|
|
6832
7063
|
cssVarCache: {},
|
|
6833
7064
|
seriesDataCache: {},
|
|
6834
7065
|
lastChartUpdateTime: 0,
|
|
6835
|
-
tooltipContainerMap: {}
|
|
7066
|
+
tooltipContainerMap: {},
|
|
7067
|
+
latestLineDataByParamCode: {}
|
|
6836
7068
|
};
|
|
6837
7069
|
},
|
|
6838
7070
|
created() {
|
|
@@ -6977,7 +7209,9 @@ const _sfc_main$2 = {
|
|
|
6977
7209
|
});
|
|
6978
7210
|
},
|
|
6979
7211
|
hideAxisPointerAcrossCharts() {
|
|
7212
|
+
if (this.formCache.displayType !== "header") return;
|
|
6980
7213
|
this.crosshairVisible = false;
|
|
7214
|
+
this.headerData = {};
|
|
6981
7215
|
this.getConnectedCharts().forEach((chart) => {
|
|
6982
7216
|
chart.dispatchAction({ type: "hideTip" });
|
|
6983
7217
|
chart.dispatchAction({ type: "updateAxisPointer", currTrigger: "leave" });
|
|
@@ -7024,6 +7258,7 @@ const _sfc_main$2 = {
|
|
|
7024
7258
|
// 模板变化
|
|
7025
7259
|
async templateChange(template) {
|
|
7026
7260
|
this.currentTemplate = template;
|
|
7261
|
+
this.getLatestLineDataByParamCode();
|
|
7027
7262
|
await this.$nextTick();
|
|
7028
7263
|
this.updateLanesChartOption();
|
|
7029
7264
|
},
|
|
@@ -7171,6 +7406,20 @@ const _sfc_main$2 = {
|
|
|
7171
7406
|
},
|
|
7172
7407
|
// 控制tooltip显示隐藏
|
|
7173
7408
|
toggleTooltip(enable) {
|
|
7409
|
+
if (enable) this.headerData = {};
|
|
7410
|
+
const lanes = this.currentTemplate && this.currentTemplate.lanes || [];
|
|
7411
|
+
this.showTooltip = enable;
|
|
7412
|
+
lanes.forEach((lane) => {
|
|
7413
|
+
const chartRef = this.getChartRefByLaneId(lane.laneId);
|
|
7414
|
+
if (!chartRef || !chartRef.chart) return;
|
|
7415
|
+
const chart = chartRef.chart;
|
|
7416
|
+
chart.setOption({
|
|
7417
|
+
tooltip: {
|
|
7418
|
+
...chart.getOption().tooltip,
|
|
7419
|
+
showContent: enable
|
|
7420
|
+
}
|
|
7421
|
+
});
|
|
7422
|
+
});
|
|
7174
7423
|
},
|
|
7175
7424
|
// 获取当前可见数据
|
|
7176
7425
|
getVisibleData(startIndex = this.startIndex) {
|
|
@@ -7531,10 +7780,34 @@ const _sfc_main$2 = {
|
|
|
7531
7780
|
this.windowSize = Math.max(1, newWindowSize);
|
|
7532
7781
|
this.$emit("loadingChange", false);
|
|
7533
7782
|
this.pendingRequestData = null;
|
|
7783
|
+
this.getLatestLineDataByParamCode();
|
|
7534
7784
|
this.$nextTick(() => {
|
|
7535
7785
|
this.updateLanesChartOption();
|
|
7536
7786
|
});
|
|
7537
7787
|
},
|
|
7788
|
+
getEffectScatterPoint(lineInfo, realTimeData, axisKey) {
|
|
7789
|
+
if (!realTimeData || realTimeData.length === 0) return null;
|
|
7790
|
+
let latestData = null;
|
|
7791
|
+
let maxTimestamp = -1;
|
|
7792
|
+
for (const item of realTimeData) {
|
|
7793
|
+
const timestamp = this.toMillisecondTimestamp(item.timestamp);
|
|
7794
|
+
if (timestamp > maxTimestamp) {
|
|
7795
|
+
const value2 = item[lineInfo.paramId];
|
|
7796
|
+
if (value2 !== null && value2 !== void 0 && value2 !== "" && Number.isFinite(+value2)) {
|
|
7797
|
+
maxTimestamp = timestamp;
|
|
7798
|
+
latestData = item;
|
|
7799
|
+
}
|
|
7800
|
+
}
|
|
7801
|
+
}
|
|
7802
|
+
if (!latestData) return null;
|
|
7803
|
+
const value = latestData[lineInfo.paramId];
|
|
7804
|
+
const axisValue = +latestData[axisKey];
|
|
7805
|
+
return {
|
|
7806
|
+
data: [value, axisValue],
|
|
7807
|
+
timestamp: maxTimestamp,
|
|
7808
|
+
depth: latestData.depth
|
|
7809
|
+
};
|
|
7810
|
+
},
|
|
7538
7811
|
// 获取第一个包含 dataIndex 的项
|
|
7539
7812
|
getFirstDataIndexItem(seriesData) {
|
|
7540
7813
|
if (!Array.isArray(seriesData) || seriesData.length === 0) {
|
|
@@ -7761,7 +8034,7 @@ const _sfc_main$2 = {
|
|
|
7761
8034
|
},
|
|
7762
8035
|
// 更新泳道图表选项
|
|
7763
8036
|
async updateLanesChartOption(transferData) {
|
|
7764
|
-
var _a
|
|
8037
|
+
var _a;
|
|
7765
8038
|
if (this.isUpdatingChart) {
|
|
7766
8039
|
this.pendingChartUpdate = true;
|
|
7767
8040
|
return;
|
|
@@ -7804,6 +8077,17 @@ const _sfc_main$2 = {
|
|
|
7804
8077
|
if (!hasValidLineData) {
|
|
7805
8078
|
hasValidLineData = seriesData.some((point) => point[0] !== null && point[0] !== void 0 && point[0] !== "");
|
|
7806
8079
|
}
|
|
8080
|
+
if (lineInfo.recommendParamId) {
|
|
8081
|
+
const recommendLineInfo = {
|
|
8082
|
+
...lineInfo,
|
|
8083
|
+
paramId: lineInfo.recommendParamId
|
|
8084
|
+
};
|
|
8085
|
+
const recommendSeriesData = this.generateSeriesDataCached(realTimeData, recommendLineInfo, axisKey, paramCodeMap);
|
|
8086
|
+
seriesDataCache[lineInfo.lineId + "_recommend"] = { full: recommendSeriesData };
|
|
8087
|
+
if (!hasValidLineData) {
|
|
8088
|
+
hasValidLineData = recommendSeriesData.some((point) => point[0] !== null && point[0] !== void 0 && point[0] !== "");
|
|
8089
|
+
}
|
|
8090
|
+
}
|
|
7807
8091
|
}
|
|
7808
8092
|
}
|
|
7809
8093
|
if (dataGroups.length > 0) {
|
|
@@ -7893,7 +8177,7 @@ const _sfc_main$2 = {
|
|
|
7893
8177
|
interval: unifiedInterval
|
|
7894
8178
|
});
|
|
7895
8179
|
if (isDepthLane || isTimeLane) {
|
|
7896
|
-
const clientWidth = this.laneWidthMap[lane.laneId];
|
|
8180
|
+
const clientWidth = this.laneWidthMap && this.laneWidthMap[lane.laneId];
|
|
7897
8181
|
option.xAxis.push({
|
|
7898
8182
|
gridIndex,
|
|
7899
8183
|
type: "value",
|
|
@@ -7961,7 +8245,8 @@ const _sfc_main$2 = {
|
|
|
7961
8245
|
}
|
|
7962
8246
|
}
|
|
7963
8247
|
if (lane && lane.lines) {
|
|
7964
|
-
|
|
8248
|
+
lane.lines.forEach((lineInfo, index2) => {
|
|
8249
|
+
var _a2, _b, _c, _d;
|
|
7965
8250
|
if (!seriesDataCache[lineInfo.lineId]) {
|
|
7966
8251
|
seriesDataCache[lineInfo.lineId] = {
|
|
7967
8252
|
full: this.generateSeriesDataCached(realTimeData, lineInfo, axisKey, paramCodeMap)
|
|
@@ -7995,9 +8280,9 @@ const _sfc_main$2 = {
|
|
|
7995
8280
|
type: "line",
|
|
7996
8281
|
xAxisIndex,
|
|
7997
8282
|
yAxisIndex: gridIndex,
|
|
7998
|
-
name: paramNameMap[lineInfo.paramId] || "",
|
|
8283
|
+
name: (lineInfo.recommendParamId ? "实际值" : paramNameMap[lineInfo.paramId]) || "",
|
|
7999
8284
|
symbol: lineInfo.symbol || "none",
|
|
8000
|
-
color: lineInfo.themeConfig ? lineInfo.isGradient && ((
|
|
8285
|
+
color: lineInfo.themeConfig ? lineInfo.isGradient && ((_b = (_a2 = this.linearGradientLineColor) == null ? void 0 : _a2[this.nowTheme]) == null ? void 0 : _b[lineInfo.paramId]) ? this.linearGradientLineColor[this.nowTheme][lineInfo.paramId] : lineInfo.themeConfig[this.nowTheme].lineColor : lineInfo.lineColor,
|
|
8001
8286
|
symbolSize: getAdaptedFontSize(lineInfo.symbolSize || 6),
|
|
8002
8287
|
lineStyle: {
|
|
8003
8288
|
width: getAdaptedFontSize(+lineInfo.lineSize || 1.5),
|
|
@@ -8006,11 +8291,75 @@ const _sfc_main$2 = {
|
|
|
8006
8291
|
clip: true,
|
|
8007
8292
|
z: lineInfo.lineSort
|
|
8008
8293
|
};
|
|
8009
|
-
|
|
8294
|
+
if (lane.lines.length - 1 == index2) {
|
|
8295
|
+
this.addMarkLineToSeries(baseSeries, lineInfo, realTimeData, axisKey, dataIndexMap, groupMin, groupMax);
|
|
8296
|
+
}
|
|
8010
8297
|
this.addMarkAreaToSeries(baseSeries, lineInfo, realTimeData, axisKey, min, max, dataIndexMap);
|
|
8011
8298
|
this.addAreaStyleToSeries(baseSeries, lineInfo, groupSeriesData, min);
|
|
8299
|
+
const rangeAreaSeries = this.addRangeAreaToSeries(baseSeries, lineInfo, realTimeData, axisKey, paramCodeMap, min, max);
|
|
8012
8300
|
option.series.push(baseSeries);
|
|
8013
|
-
|
|
8301
|
+
if (rangeAreaSeries) {
|
|
8302
|
+
option.series.push(rangeAreaSeries);
|
|
8303
|
+
}
|
|
8304
|
+
if (lineInfo.recommendParamId) {
|
|
8305
|
+
const recommendLineInfo = {
|
|
8306
|
+
...lineInfo,
|
|
8307
|
+
paramId: lineInfo.recommendParamId,
|
|
8308
|
+
lineType: "dashed"
|
|
8309
|
+
};
|
|
8310
|
+
const recommendGroupSeriesData = this.generateSeriesDataCached(group, recommendLineInfo, axisKey, paramCodeMap);
|
|
8311
|
+
const recommendSeries = {
|
|
8312
|
+
laneId: lineInfo.recommendParamId,
|
|
8313
|
+
data: lineInfo.recommendIsUsed === "1" || lineInfo.recommendIsUsed == 1 ? recommendGroupSeriesData : [],
|
|
8314
|
+
type: "line",
|
|
8315
|
+
xAxisIndex,
|
|
8316
|
+
yAxisIndex: gridIndex,
|
|
8317
|
+
name: "推荐值",
|
|
8318
|
+
symbol: "none",
|
|
8319
|
+
color: lineInfo.themeConfig ? lineInfo.themeConfig[this.nowTheme].lineColor : lineInfo.lineColor,
|
|
8320
|
+
lineStyle: {
|
|
8321
|
+
width: getAdaptedFontSize(+lineInfo.lineSize || 1.5),
|
|
8322
|
+
type: "dashed"
|
|
8323
|
+
},
|
|
8324
|
+
clip: true,
|
|
8325
|
+
z: lineInfo.lineSort
|
|
8326
|
+
};
|
|
8327
|
+
option.series.push(recommendSeries);
|
|
8328
|
+
}
|
|
8329
|
+
const effectScatterPoint = this.latestLineDataByParamCode[lineInfo.paramId];
|
|
8330
|
+
if (effectScatterPoint && lineInfo.latestDataTips) {
|
|
8331
|
+
let findIndex = -1;
|
|
8332
|
+
if (axisKey === "depth") {
|
|
8333
|
+
findIndex = group.findIndex((item) => item.timestamp === effectScatterPoint.timestamp && item[axisKey] === effectScatterPoint[axisKey]);
|
|
8334
|
+
} else {
|
|
8335
|
+
findIndex = group.findIndex((item) => item[axisKey] === effectScatterPoint[axisKey]);
|
|
8336
|
+
}
|
|
8337
|
+
const pointAxisValue = effectScatterPoint[axisKey];
|
|
8338
|
+
if (pointAxisValue >= groupMin && pointAxisValue <= groupMax && findIndex !== -1) {
|
|
8339
|
+
console.log(pointAxisValue, findIndex, groupMin, groupMax, "444444", [effectScatterPoint[lineInfo.paramId], effectScatterPoint[axisKey]]);
|
|
8340
|
+
option.series.push({
|
|
8341
|
+
type: "effectScatter",
|
|
8342
|
+
xAxisIndex,
|
|
8343
|
+
yAxisIndex: gridIndex,
|
|
8344
|
+
data: [[effectScatterPoint[lineInfo.paramId], effectScatterPoint[axisKey]]],
|
|
8345
|
+
symbol: "circle",
|
|
8346
|
+
symbolSize: getAdaptedFontSize(12),
|
|
8347
|
+
itemStyle: {
|
|
8348
|
+
color: lineInfo.themeConfig ? lineInfo.isGradient && ((_d = (_c = this.linearGradientLineColor) == null ? void 0 : _c[this.nowTheme]) == null ? void 0 : _d[lineInfo.paramId]) ? this.linearGradientLineColor[this.nowTheme][lineInfo.paramId] : lineInfo.themeConfig[this.nowTheme].lineColor : lineInfo.lineColor,
|
|
8349
|
+
opacity: 1
|
|
8350
|
+
},
|
|
8351
|
+
tooltip: { show: false },
|
|
8352
|
+
showEffectOn: "render",
|
|
8353
|
+
rippleEffect: {
|
|
8354
|
+
brushType: "stroke",
|
|
8355
|
+
scale: 3,
|
|
8356
|
+
period: 2
|
|
8357
|
+
},
|
|
8358
|
+
z: lineInfo.lineSort + 1
|
|
8359
|
+
});
|
|
8360
|
+
}
|
|
8361
|
+
}
|
|
8362
|
+
});
|
|
8014
8363
|
}
|
|
8015
8364
|
if (!isDepthLane && !isTimeLane && lane && lane.lines && lane.lines.length > 0) {
|
|
8016
8365
|
const rangeMins = lane.lines.map((item) => {
|
|
@@ -8024,7 +8373,7 @@ const _sfc_main$2 = {
|
|
|
8024
8373
|
type: "line",
|
|
8025
8374
|
xAxisIndex: lane.lines.length * groupIndex,
|
|
8026
8375
|
yAxisIndex: gridIndex,
|
|
8027
|
-
data:
|
|
8376
|
+
data: group.map((item) => [min, +item[axisKey]]),
|
|
8028
8377
|
lineStyle: { opacity: 0 },
|
|
8029
8378
|
symbol: "none"
|
|
8030
8379
|
});
|
|
@@ -8090,6 +8439,29 @@ const _sfc_main$2 = {
|
|
|
8090
8439
|
return [value, +item[axisKey]];
|
|
8091
8440
|
});
|
|
8092
8441
|
},
|
|
8442
|
+
getEffectScatterPoint(lineInfo, axisKey) {
|
|
8443
|
+
if (!this.realTimeData || this.realTimeData.length === 0) return null;
|
|
8444
|
+
let latestData = null;
|
|
8445
|
+
let maxTimestamp = -1;
|
|
8446
|
+
for (const item of this.realTimeData) {
|
|
8447
|
+
const timestamp = this.toMillisecondTimestamp(item.timestamp);
|
|
8448
|
+
if (timestamp > maxTimestamp) {
|
|
8449
|
+
const value2 = item[lineInfo.paramId];
|
|
8450
|
+
if (value2 !== null && value2 !== void 0 && value2 !== "" && Number.isFinite(+value2)) {
|
|
8451
|
+
maxTimestamp = timestamp;
|
|
8452
|
+
latestData = item;
|
|
8453
|
+
}
|
|
8454
|
+
}
|
|
8455
|
+
}
|
|
8456
|
+
if (!latestData) return null;
|
|
8457
|
+
const value = latestData[lineInfo.paramId];
|
|
8458
|
+
const axisValue = +latestData[axisKey];
|
|
8459
|
+
return {
|
|
8460
|
+
data: [value, axisValue],
|
|
8461
|
+
timestamp: maxTimestamp,
|
|
8462
|
+
depth: latestData[axisKey]
|
|
8463
|
+
};
|
|
8464
|
+
},
|
|
8093
8465
|
// 获取Y轴标签格式化函数
|
|
8094
8466
|
getYAxisLabelFormatter(isTimeLane, dataGroups, groupIndex, groupMin, groupMax, axisKey) {
|
|
8095
8467
|
return (value) => {
|
|
@@ -8114,6 +8486,9 @@ const _sfc_main$2 = {
|
|
|
8114
8486
|
// 添加标记线到泳道图表
|
|
8115
8487
|
addMarkLineToSeries(baseSeries, lineInfo, realTimeData, axisKey, dataIndexMap) {
|
|
8116
8488
|
if (!this.markLineData || this.markLineData.length === 0) return;
|
|
8489
|
+
let filterLanes = this.currentTemplate.lanes.filter((l) => !Object.prototype.hasOwnProperty.call(l, "contentKey") && l.laneKey !== axisKey && l.lines.length > 0).map((l) => l.lines).flat();
|
|
8490
|
+
let isLastLine = filterLanes.findIndex((l) => l.lineId == lineInfo.lineId);
|
|
8491
|
+
let show = isLastLine == filterLanes.length - 1;
|
|
8117
8492
|
baseSeries.markLine = {
|
|
8118
8493
|
symbol: "none",
|
|
8119
8494
|
label: { show: false },
|
|
@@ -8122,11 +8497,11 @@ const _sfc_main$2 = {
|
|
|
8122
8497
|
var _a, _b, _c;
|
|
8123
8498
|
if (this.formCache.axisType === "depth") {
|
|
8124
8499
|
const markDepth = ((_a = item.data) == null ? void 0 : _a.depth) || item.depth || item;
|
|
8125
|
-
const markTime = ((_b = item.data) == null ? void 0 : _b.timestamp) || item.timestamp ||
|
|
8126
|
-
const
|
|
8500
|
+
const markTime = ((_b = item.data) == null ? void 0 : _b.timestamp) || item.timestamp || null;
|
|
8501
|
+
const markTimeMs2 = this.toMillisecondTimestamp(markTime);
|
|
8127
8502
|
const findItem = dataIndexMap.get(String(markDepth)) || realTimeData.find((d) => d[axisKey] == markDepth);
|
|
8128
8503
|
if (findItem) {
|
|
8129
|
-
return { yAxis: Number(markDepth), lineStyle: { color: item.color || "red", type: "dashed", width: 2 } };
|
|
8504
|
+
return { yAxis: Number(markDepth), lineStyle: { color: item.color || "red", type: "dashed", width: 2 }, label: { show, position: "insideEndTop", fontSize: getAdaptedFontSize(10) } };
|
|
8130
8505
|
}
|
|
8131
8506
|
let closestItem = null, minDiff = Infinity;
|
|
8132
8507
|
realTimeData.forEach((d) => {
|
|
@@ -8137,34 +8512,38 @@ const _sfc_main$2 = {
|
|
|
8137
8512
|
}
|
|
8138
8513
|
});
|
|
8139
8514
|
if (closestItem) {
|
|
8140
|
-
|
|
8141
|
-
|
|
8142
|
-
|
|
8143
|
-
|
|
8515
|
+
if (markTimeMs2) {
|
|
8516
|
+
const dataTime = closestItem.timestamp || null;
|
|
8517
|
+
const dataTimeMs = this.toMillisecondTimestamp(dataTime);
|
|
8518
|
+
if (markTimeMs2 >= dataTimeMs) {
|
|
8519
|
+
return { yAxis: Number(markDepth), lineStyle: { color: item.color || "red", type: "dashed", width: 2 }, label: { show, position: "insideEndTop", fontSize: getAdaptedFontSize(10) } };
|
|
8520
|
+
}
|
|
8521
|
+
} else {
|
|
8522
|
+
return { yAxis: Number(markDepth), lineStyle: { color: item.color || "red", type: "dashed", width: 2 }, label: { show, position: "insideEndTop", fontSize: getAdaptedFontSize(10) } };
|
|
8144
8523
|
}
|
|
8145
8524
|
}
|
|
8146
8525
|
return { yAxis: null };
|
|
8147
8526
|
} else if (this.formCache.axisType === "time") {
|
|
8148
8527
|
const markTime = ((_c = item.data) == null ? void 0 : _c.time) || item.time || item;
|
|
8149
|
-
const
|
|
8528
|
+
const markTimeMs2 = this.toMillisecondTimestamp(markTime);
|
|
8150
8529
|
const findItem = dataIndexMap.get(String(markTime)) || realTimeData.find((d) => d[axisKey] == markTime);
|
|
8151
8530
|
if (findItem) {
|
|
8152
|
-
return { yAxis:
|
|
8531
|
+
return { yAxis: markTimeMs2, lineStyle: { color: item.color || "red", type: "dashed", width: 2 }, label: { show, position: "insideEndTop", fontSize: getAdaptedFontSize(10), formatter: (value) => this.timestampToYMDHMS(markTimeMs2) || "" } };
|
|
8153
8532
|
}
|
|
8154
8533
|
let closestItem = null, minDiff = Infinity;
|
|
8155
8534
|
realTimeData.forEach((d) => {
|
|
8156
|
-
const diff = Math.abs(this.toMillisecondTimestamp(d[axisKey]) -
|
|
8535
|
+
const diff = Math.abs(this.toMillisecondTimestamp(d[axisKey]) - markTimeMs2);
|
|
8157
8536
|
if (diff < minDiff) {
|
|
8158
8537
|
minDiff = diff;
|
|
8159
8538
|
closestItem = d;
|
|
8160
8539
|
}
|
|
8161
8540
|
});
|
|
8162
8541
|
if (closestItem) {
|
|
8163
|
-
return { yAxis:
|
|
8542
|
+
return { yAxis: markTimeMs2, lineStyle: { color: item.color || "red", type: "dashed", width: 2 }, label: { show, position: "insideEndTop", fontSize: getAdaptedFontSize(10), formatter: (value) => this.timestampToYMDHMS(markTimeMs2) || "" } };
|
|
8164
8543
|
}
|
|
8165
8544
|
return { yAxis: null };
|
|
8166
8545
|
}
|
|
8167
|
-
return { yAxis: Number(item.data || item), lineStyle: { color: item.color || "red", type: "dashed", width: 2 } };
|
|
8546
|
+
return { yAxis: Number(item.data || item), lineStyle: { color: item.color || "red", type: "dashed", width: 2 }, label: { show, position: "insideEndTop", fontSize: getAdaptedFontSize(10), formatter: (value) => this.timestampToYMDHMS(markTimeMs) || "" } };
|
|
8168
8547
|
}).filter((item) => item.yAxis !== null)
|
|
8169
8548
|
};
|
|
8170
8549
|
},
|
|
@@ -8293,6 +8672,69 @@ const _sfc_main$2 = {
|
|
|
8293
8672
|
};
|
|
8294
8673
|
}
|
|
8295
8674
|
},
|
|
8675
|
+
// 添加上下限区域(误差带/置信区间)到泳道图表
|
|
8676
|
+
addRangeAreaToSeries(baseSeries, lineInfo, realTimeData, axisKey, paramCodeMap, min, max) {
|
|
8677
|
+
var _a, _b;
|
|
8678
|
+
if (!lineInfo.upperParamId && !lineInfo.lowerParamId) return null;
|
|
8679
|
+
const upperSeriesData = lineInfo.upperParamId ? this.generateSeriesDataCached(realTimeData, { ...lineInfo, paramId: lineInfo.upperParamId }, axisKey, paramCodeMap) : [];
|
|
8680
|
+
const lowerSeriesData = lineInfo.lowerParamId ? this.generateSeriesDataCached(realTimeData, { ...lineInfo, paramId: lineInfo.lowerParamId }, axisKey, paramCodeMap) : [];
|
|
8681
|
+
const customData = [];
|
|
8682
|
+
const maxLength = Math.max(upperSeriesData.length, lowerSeriesData.length);
|
|
8683
|
+
for (let i = 0; i < maxLength - 1; i++) {
|
|
8684
|
+
const upperPoint1 = upperSeriesData[i];
|
|
8685
|
+
const upperPoint2 = upperSeriesData[i + 1];
|
|
8686
|
+
const lowerPoint1 = lowerSeriesData[i];
|
|
8687
|
+
const lowerPoint2 = lowerSeriesData[i + 1];
|
|
8688
|
+
if (!upperPoint1 || !upperPoint2 || !lowerPoint1 || !lowerPoint2) continue;
|
|
8689
|
+
if (upperPoint1[0] === null || upperPoint1[0] === void 0 || upperPoint1[0] === "") continue;
|
|
8690
|
+
if (upperPoint2[0] === null || upperPoint2[0] === void 0 || upperPoint2[0] === "") continue;
|
|
8691
|
+
if (lowerPoint1[0] === null || lowerPoint1[0] === void 0 || lowerPoint1[0] === "") continue;
|
|
8692
|
+
if (lowerPoint2[0] === null || lowerPoint2[0] === void 0 || lowerPoint2[0] === "") continue;
|
|
8693
|
+
if (!Number.isFinite(upperPoint1[1]) || !Number.isFinite(upperPoint2[1]) || !Number.isFinite(lowerPoint1[1]) || !Number.isFinite(lowerPoint2[1])) continue;
|
|
8694
|
+
customData.push([
|
|
8695
|
+
upperPoint1[0],
|
|
8696
|
+
lowerPoint1[0],
|
|
8697
|
+
upperPoint1[1],
|
|
8698
|
+
upperPoint2[0],
|
|
8699
|
+
lowerPoint2[0],
|
|
8700
|
+
upperPoint2[1]
|
|
8701
|
+
]);
|
|
8702
|
+
}
|
|
8703
|
+
if (customData.length === 0) return null;
|
|
8704
|
+
const color = lineInfo.rangeAreaColor || lineInfo.themeConfig ? lineInfo.isGradient && ((_b = (_a = this.linearGradientLineColor) == null ? void 0 : _a[this.nowTheme]) == null ? void 0 : _b[lineInfo.paramId]) ? this.linearGradientLineColor[this.nowTheme][lineInfo.paramId] : lineInfo.themeConfig[this.nowTheme].lineColor : lineInfo.lineColor;
|
|
8705
|
+
return {
|
|
8706
|
+
type: "custom",
|
|
8707
|
+
data: customData,
|
|
8708
|
+
name: lineInfo.paramId + "-范围区域",
|
|
8709
|
+
xAxisIndex: baseSeries.xAxisIndex,
|
|
8710
|
+
yAxisIndex: baseSeries.yAxisIndex,
|
|
8711
|
+
clip: true,
|
|
8712
|
+
z: baseSeries.z - 1,
|
|
8713
|
+
renderItem: (params, api) => {
|
|
8714
|
+
const upperX1 = api.value(0);
|
|
8715
|
+
const lowerX1 = api.value(1);
|
|
8716
|
+
const depth1 = api.value(2);
|
|
8717
|
+
const upperX2 = api.value(3);
|
|
8718
|
+
const lowerX2 = api.value(4);
|
|
8719
|
+
const depth2 = api.value(5);
|
|
8720
|
+
const topLeft = api.coord([upperX1, depth1]);
|
|
8721
|
+
const topRight = api.coord([upperX2, depth2]);
|
|
8722
|
+
const bottomRight = api.coord([lowerX2, depth2]);
|
|
8723
|
+
const bottomLeft = api.coord([lowerX1, depth1]);
|
|
8724
|
+
return {
|
|
8725
|
+
type: "polygon",
|
|
8726
|
+
shape: {
|
|
8727
|
+
points: [topLeft, topRight, bottomRight, bottomLeft]
|
|
8728
|
+
},
|
|
8729
|
+
style: {
|
|
8730
|
+
fill: color,
|
|
8731
|
+
opacity: lineInfo.rangeAreaOpacity || 0.4,
|
|
8732
|
+
stroke: "none"
|
|
8733
|
+
}
|
|
8734
|
+
};
|
|
8735
|
+
}
|
|
8736
|
+
};
|
|
8737
|
+
},
|
|
8296
8738
|
// 添加区域样式到泳道图表
|
|
8297
8739
|
addAreaStyleToSeries(baseSeries, lineInfo, seriesData, min) {
|
|
8298
8740
|
var _a, _b;
|
|
@@ -8432,7 +8874,7 @@ const _sfc_main$2 = {
|
|
|
8432
8874
|
} else {
|
|
8433
8875
|
if (lane && lane.lines) {
|
|
8434
8876
|
lane.lines.forEach((lineInfo) => {
|
|
8435
|
-
var _a, _b;
|
|
8877
|
+
var _a, _b, _c, _d;
|
|
8436
8878
|
const allSeriesData = this.generateSeriesData(realTimeData, lineInfo, axisKey);
|
|
8437
8879
|
const { min, max } = this.getXAxisRangeByHeader(lineInfo, allSeriesData);
|
|
8438
8880
|
const isLogScale = lane.isLogScale === "1";
|
|
@@ -8455,6 +8897,37 @@ const _sfc_main$2 = {
|
|
|
8455
8897
|
newSeriesData.push({ index: seriesIndex, data: finalSeriesData });
|
|
8456
8898
|
}
|
|
8457
8899
|
seriesIndex++;
|
|
8900
|
+
const effectScatterPoint = this.getEffectScatterPoint(lineInfo, realTimeData, axisKey);
|
|
8901
|
+
const effectScatterIndex = seriesIndex;
|
|
8902
|
+
const currentEffectScatter = currentOption.series && currentOption.series[effectScatterIndex];
|
|
8903
|
+
let effectScatterData = [];
|
|
8904
|
+
if (effectScatterPoint) {
|
|
8905
|
+
const pointAxisValue = effectScatterPoint.data[1];
|
|
8906
|
+
if (pointAxisValue >= groupMin && pointAxisValue <= groupMax) {
|
|
8907
|
+
effectScatterData = [effectScatterPoint.data];
|
|
8908
|
+
}
|
|
8909
|
+
}
|
|
8910
|
+
if (!currentEffectScatter || JSON.stringify(currentEffectScatter.data) !== JSON.stringify(effectScatterData)) {
|
|
8911
|
+
needUpdate.series = true;
|
|
8912
|
+
if (currentEffectScatter) {
|
|
8913
|
+
newSeriesData.push({ index: effectScatterIndex, data: effectScatterData });
|
|
8914
|
+
} else {
|
|
8915
|
+
const color = lineInfo.themeConfig ? lineInfo.isGradient && ((_d = (_c = this.linearGradientLineColor) == null ? void 0 : _c[this.nowTheme]) == null ? void 0 : _d[lineInfo.paramId]) ? this.linearGradientLineColor[this.nowTheme][lineInfo.paramId] : lineInfo.themeConfig[this.nowTheme].lineColor : lineInfo.lineColor;
|
|
8916
|
+
newSeriesData.push({
|
|
8917
|
+
index: effectScatterIndex,
|
|
8918
|
+
data: effectScatterData,
|
|
8919
|
+
type: "effectScatter",
|
|
8920
|
+
symbol: "circle",
|
|
8921
|
+
symbolSize: getAdaptedFontSize(12),
|
|
8922
|
+
itemStyle: { color, opacity: 1 },
|
|
8923
|
+
tooltip: { show: false },
|
|
8924
|
+
showEffectOn: "render",
|
|
8925
|
+
rippleEffect: { brushType: "stroke", scale: 3, period: 2 },
|
|
8926
|
+
z: (lineInfo.lineSort || 0) + 1
|
|
8927
|
+
});
|
|
8928
|
+
}
|
|
8929
|
+
}
|
|
8930
|
+
seriesIndex++;
|
|
8458
8931
|
});
|
|
8459
8932
|
}
|
|
8460
8933
|
}
|
|
@@ -8644,6 +9117,66 @@ const _sfc_main$2 = {
|
|
|
8644
9117
|
let data = ((_b = (_a = this.currentToolBarConfig) == null ? void 0 : _a.scaleList) == null ? void 0 : _b.map((item) => item.value)) || [];
|
|
8645
9118
|
this.$emit("updateScale", data.includes(newsize) ? newsize : `1:${newsize * 100}`);
|
|
8646
9119
|
}
|
|
9120
|
+
},
|
|
9121
|
+
getLatestLineDataByParamCode() {
|
|
9122
|
+
if (!this.realTimeData || this.realTimeData.length === 0) return {};
|
|
9123
|
+
if (!this.currentTemplate || !this.currentTemplate.lanes || this.currentTemplate.lanes.length === 0) return {};
|
|
9124
|
+
const axisType = this.formCache.axisType;
|
|
9125
|
+
const axisKey = this.currentToolBarConfig.axisTypeList && this.currentToolBarConfig.axisTypeList[axisType] || (axisType === "time" ? "time" : "depth");
|
|
9126
|
+
const sortedData = [...this.realTimeData];
|
|
9127
|
+
if (axisType === "depth") {
|
|
9128
|
+
sortedData.sort((a, b) => {
|
|
9129
|
+
const timestampA = this.toMillisecondTimestamp(a.timestamp);
|
|
9130
|
+
const timestampB = this.toMillisecondTimestamp(b.timestamp);
|
|
9131
|
+
return timestampA - timestampB;
|
|
9132
|
+
});
|
|
9133
|
+
} else if (axisType === "time") {
|
|
9134
|
+
sortedData.sort((a, b) => {
|
|
9135
|
+
const valA = Number(a[axisKey]);
|
|
9136
|
+
const valB = Number(b[axisKey]);
|
|
9137
|
+
return valA - valB;
|
|
9138
|
+
});
|
|
9139
|
+
}
|
|
9140
|
+
const paramCodeMap = /* @__PURE__ */ new Map();
|
|
9141
|
+
this.params.forEach((p) => {
|
|
9142
|
+
if (p.paramCode) {
|
|
9143
|
+
paramCodeMap.set(p.paramId, p.paramCode.split(","));
|
|
9144
|
+
}
|
|
9145
|
+
});
|
|
9146
|
+
const result = {};
|
|
9147
|
+
this.currentTemplate.lanes.forEach((lane) => {
|
|
9148
|
+
if (!lane.lines || lane.lines.length === 0) return;
|
|
9149
|
+
lane.lines.forEach((lineInfo) => {
|
|
9150
|
+
if (lineInfo.isUsed !== "1") return;
|
|
9151
|
+
const paramId = lineInfo.paramId;
|
|
9152
|
+
const codes = paramCodeMap.get(paramId);
|
|
9153
|
+
let latestData = null;
|
|
9154
|
+
for (let i = sortedData.length - 1; i >= 0; i--) {
|
|
9155
|
+
const item = sortedData[i];
|
|
9156
|
+
let value = null;
|
|
9157
|
+
if (Object.prototype.hasOwnProperty.call(item, paramId)) {
|
|
9158
|
+
value = item[paramId];
|
|
9159
|
+
} else if (codes) {
|
|
9160
|
+
for (let j = 0; j < codes.length; j++) {
|
|
9161
|
+
if (Object.prototype.hasOwnProperty.call(item, codes[j])) {
|
|
9162
|
+
value = item[codes[j]];
|
|
9163
|
+
break;
|
|
9164
|
+
}
|
|
9165
|
+
}
|
|
9166
|
+
}
|
|
9167
|
+
if (value !== null && value !== void 0 && value !== "" && Number.isFinite(+value)) {
|
|
9168
|
+
latestData = item;
|
|
9169
|
+
break;
|
|
9170
|
+
}
|
|
9171
|
+
}
|
|
9172
|
+
if (latestData) {
|
|
9173
|
+
result[paramId] = latestData;
|
|
9174
|
+
}
|
|
9175
|
+
});
|
|
9176
|
+
});
|
|
9177
|
+
console.log(result, "最新数据");
|
|
9178
|
+
this.latestLineDataByParamCode = result;
|
|
9179
|
+
return result;
|
|
8647
9180
|
}
|
|
8648
9181
|
},
|
|
8649
9182
|
watch: {
|
|
@@ -8746,9 +9279,9 @@ const _sfc_main$2 = {
|
|
|
8746
9279
|
}
|
|
8747
9280
|
}
|
|
8748
9281
|
console.log(this.realTimeData, "当前数据");
|
|
9282
|
+
this.getLatestLineDataByParamCode();
|
|
8749
9283
|
this.initWindowSizeRange();
|
|
8750
9284
|
await this.$nextTick();
|
|
8751
|
-
await this.$nextTick();
|
|
8752
9285
|
this.updateLanesChartOption();
|
|
8753
9286
|
} else if (newVal.type === "supplementaryData") {
|
|
8754
9287
|
let data = cloneDeep(newVal && newVal.data) || [];
|
|
@@ -8784,6 +9317,7 @@ const _sfc_main$2 = {
|
|
|
8784
9317
|
this.realTimeData = this.uniqueByKeys([...this.realTimeData, ...data], "timestamp");
|
|
8785
9318
|
}
|
|
8786
9319
|
}
|
|
9320
|
+
this.getLatestLineDataByParamCode();
|
|
8787
9321
|
if (this.formCache.dataType == "history") {
|
|
8788
9322
|
let findIndex = this.realTimeData.findIndex(
|
|
8789
9323
|
(item) => item[this.currentToolBarConfig.axisTypeList && this.currentToolBarConfig.axisTypeList[this.formCache.axisType]] == (this.visibleData[0] && this.visibleData[0][this.currentToolBarConfig.axisTypeList && this.currentToolBarConfig.axisTypeList[this.formCache.axisType]]) || 0
|
|
@@ -8847,6 +9381,7 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
8847
9381
|
], 36)) : (openBlock(), createElementBlock("div", {
|
|
8848
9382
|
key: 1,
|
|
8849
9383
|
onWheel: _cache[1] || (_cache[1] = (...args) => $options.handleWheel && $options.handleWheel(...args)),
|
|
9384
|
+
onMouseleave: _cache[2] || (_cache[2] = (...args) => $options.hideAxisPointerAcrossCharts && $options.hideAxisPointerAcrossCharts(...args)),
|
|
8850
9385
|
class: "kd-lane-chart-lane-container-echart-content",
|
|
8851
9386
|
style: normalizeStyle($options.getLaneChartContentStyle(lane.laneId))
|
|
8852
9387
|
}, [
|
|
@@ -8867,14 +9402,15 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
8867
9402
|
fn: withCtx(() => [
|
|
8868
9403
|
_ctx.$slots[`content${lane.laneId}`] ? (openBlock(), createElementBlock("div", {
|
|
8869
9404
|
key: 0,
|
|
8870
|
-
onWheel: _cache[
|
|
9405
|
+
onWheel: _cache[3] || (_cache[3] = (...args) => $options.handleWheel && $options.handleWheel(...args)),
|
|
8871
9406
|
class: "kd-lane-chart-lane-container-echart-content",
|
|
8872
9407
|
style: normalizeStyle($options.getLaneChartContentStyle(lane.laneId))
|
|
8873
9408
|
}, [
|
|
8874
9409
|
renderSlot(_ctx.$slots, `content${lane.laneId}`, { lane }, void 0, true)
|
|
8875
9410
|
], 36)) : (openBlock(), createElementBlock("div", {
|
|
8876
9411
|
key: 1,
|
|
8877
|
-
onWheel: _cache[
|
|
9412
|
+
onWheel: _cache[4] || (_cache[4] = (...args) => $options.handleWheel && $options.handleWheel(...args)),
|
|
9413
|
+
onMouseleave: _cache[5] || (_cache[5] = (...args) => $options.hideAxisPointerAcrossCharts && $options.hideAxisPointerAcrossCharts(...args)),
|
|
8878
9414
|
class: "kd-lane-chart-lane-container-echart-content",
|
|
8879
9415
|
style: normalizeStyle($options.getLaneChartContentStyle(lane.laneId))
|
|
8880
9416
|
}, [
|
|
@@ -8899,7 +9435,7 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
8899
9435
|
])
|
|
8900
9436
|
], 512);
|
|
8901
9437
|
}
|
|
8902
|
-
const chartContainer = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2], ["__scopeId", "data-v-
|
|
9438
|
+
const chartContainer = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render$2], ["__scopeId", "data-v-560cb988"]]);
|
|
8903
9439
|
const _sfc_main$1 = {
|
|
8904
9440
|
name: "ParameterPanel",
|
|
8905
9441
|
props: {
|