|
@@ -42,6 +42,22 @@
|
|
|
<span class="eval-item-name">坝体变形</span>
|
|
<span class="eval-item-name">坝体变形</span>
|
|
|
<span class="eval-item-tag tag-ok">正常</span>
|
|
<span class="eval-item-tag tag-ok">正常</span>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <div class="safety-eval-item">
|
|
|
|
|
+ <span class="eval-item-name">闸门控制</span>
|
|
|
|
|
+ <span class="eval-item-tag tag-ok">正常</span>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="safety-eval-item">
|
|
|
|
|
+ <span class="eval-item-name">水文水情</span>
|
|
|
|
|
+ <span class="eval-item-tag tag-ok">正常</span>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="safety-eval-item">
|
|
|
|
|
+ <span class="eval-item-name">视频监控</span>
|
|
|
|
|
+ <span class="eval-item-tag tag-warn">预警</span>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="safety-eval-item">
|
|
|
|
|
+ <span class="eval-item-name">管网监测</span>
|
|
|
|
|
+ <span class="eval-item-tag tag-ok">正常</span>
|
|
|
|
|
+ </div>
|
|
|
<div class="safety-eval-item">
|
|
<div class="safety-eval-item">
|
|
|
<span class="eval-item-name">设备运行</span>
|
|
<span class="eval-item-name">设备运行</span>
|
|
|
<span class="eval-item-tag tag-warn">预警</span>
|
|
<span class="eval-item-tag tag-warn">预警</span>
|
|
@@ -49,7 +65,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
<div class="safety-eval-bot">
|
|
<div class="safety-eval-bot">
|
|
|
<div class="safety-eval-stat">
|
|
<div class="safety-eval-stat">
|
|
|
- <span class="eval-stat-dot dot-ok"></span>正常 322
|
|
|
|
|
|
|
+ <span class="eval-stat-dot dot-ok"></span>正常 227
|
|
|
</div>
|
|
</div>
|
|
|
<div class="safety-eval-stat">
|
|
<div class="safety-eval-stat">
|
|
|
<span class="eval-stat-dot dot-warn"></span>预警 8
|
|
<span class="eval-stat-dot dot-warn"></span>预警 8
|
|
@@ -350,11 +366,35 @@ export default {
|
|
|
summaryPieChart: null,
|
|
summaryPieChart: null,
|
|
|
deviceGaugeChart: null,
|
|
deviceGaugeChart: null,
|
|
|
monitorSummaryList: [
|
|
monitorSummaryList: [
|
|
|
- { name: "变形监测", count: 75, progress: 82, color: "#62f6fb" },
|
|
|
|
|
- { name: "渗流渗压", count: 17, progress: 65, color: "#a78bfa" },
|
|
|
|
|
- { name: "水位流量", count: 7, progress: 45, color: "#fbbf24" },
|
|
|
|
|
|
|
+ { name: "闸门控制", count: 37, progress: 90, color: "#62f6fb" },
|
|
|
|
|
+ { name: "水文水情", count: 21, progress: 85, color: "#a78bfa" },
|
|
|
|
|
+ { name: "变形监测", count: 53, progress: 82, color: "#fbbf24" },
|
|
|
|
|
+ { name: "渗流渗压", count: 17, progress: 65, color: "#34d399" },
|
|
|
|
|
+ { name: "视频监控", count: 13, progress: 95, color: "#f97316" },
|
|
|
|
|
+ { name: "管网监测", count: 13, progress: 78, color: "#818cf8" },
|
|
|
],
|
|
],
|
|
|
summaryPieMap: {
|
|
summaryPieMap: {
|
|
|
|
|
+ "闸门控制": [
|
|
|
|
|
+ { name: "闸位计", value: 9, color: "#62f6fb" },
|
|
|
|
|
+ { name: "荷重传感器", value: 9, color: "#34d399" },
|
|
|
|
|
+ { name: "限位开关", value: 9, color: "#fbbf24" },
|
|
|
|
|
+ { name: "闸门控制柜", value: 6, color: "#f97316" },
|
|
|
|
|
+ { name: "闸门控制单元", value: 6, color: "#ef4444" },
|
|
|
|
|
+ { name: "螺杆式闸门", value: 7, color: "#818cf8" },
|
|
|
|
|
+ { name: "开度仪", value: 1, color: "#c084fc" },
|
|
|
|
|
+ ],
|
|
|
|
|
+ "水文水情": [
|
|
|
|
|
+ { name: "雨量计", value: 5, color: "#62f6fb" },
|
|
|
|
|
+ { name: "遥测终端机", value: 8, color: "#34d399" },
|
|
|
|
|
+ { name: "气泡式水位计", value: 3, color: "#fbbf24" },
|
|
|
|
|
+ { name: "高清摄像头", value: 9, color: "#f97316" },
|
|
|
|
|
+ { name: "信号避雷器", value: 15, color: "#ef4444" },
|
|
|
|
|
+ { name: "太阳能供电系统", value: 22, color: "#a78bfa" },
|
|
|
|
|
+ { name: "压力变送器", value: 4, color: "#818cf8" },
|
|
|
|
|
+ { name: "明渠雷达流量计", value: 1, color: "#c084fc" },
|
|
|
|
|
+ { name: "气象站", value: 1, color: "#62f6fb" },
|
|
|
|
|
+ { name: "水质分析仪", value: 5, color: "#34d399" },
|
|
|
|
|
+ ],
|
|
|
"变形监测": [
|
|
"变形监测": [
|
|
|
{ name: "GNSS位移监测站", value: 12, color: "#62f6fb" },
|
|
{ name: "GNSS位移监测站", value: 12, color: "#62f6fb" },
|
|
|
{ name: "GNSS位移监测基准站", value: 3, color: "#34d399" },
|
|
{ name: "GNSS位移监测基准站", value: 3, color: "#34d399" },
|
|
@@ -371,19 +411,74 @@ export default {
|
|
|
{ name: "数据采集箱", value: 1, color: "#c084fc" },
|
|
{ name: "数据采集箱", value: 1, color: "#c084fc" },
|
|
|
{ name: "振弦式读数仪", value: 1, color: "#e879f9" },
|
|
{ name: "振弦式读数仪", value: 1, color: "#e879f9" },
|
|
|
],
|
|
],
|
|
|
- "水位流量": [
|
|
|
|
|
- { name: "水尺", value: 2, color: "#62f6fb" },
|
|
|
|
|
- { name: "流速仪", value: 2, color: "#34d399" },
|
|
|
|
|
- { name: "水准仪", value: 1, color: "#fbbf24" },
|
|
|
|
|
- { name: "经纬仪", value: 1, color: "#f97316" },
|
|
|
|
|
- { name: "全站仪", value: 1, color: "#ef4444" },
|
|
|
|
|
|
|
+ "视频监控": [
|
|
|
|
|
+ { name: "红外高清球机", value: 5, color: "#f97316" },
|
|
|
|
|
+ { name: "网络高清枪机", value: 5, color: "#ef4444" },
|
|
|
|
|
+ { name: "网络高清半球", value: 3, color: "#62f6fb" },
|
|
|
|
|
+ ],
|
|
|
|
|
+ "管网监测": [
|
|
|
|
|
+ { name: "数据采集终端", value: 1, color: "#818cf8" },
|
|
|
|
|
+ { name: "压力变送器", value: 2, color: "#a78bfa" },
|
|
|
|
|
+ { name: "信号避雷器", value: 5, color: "#fbbf24" },
|
|
|
|
|
+ { name: "电源防雷模块", value: 2, color: "#34d399" },
|
|
|
|
|
+ { name: "远程监测控制箱", value: 2, color: "#62f6fb" },
|
|
|
|
|
+ { name: "监测井", value: 2, color: "#f97316" },
|
|
|
|
|
+ { name: "水浸传感器", value: 2, color: "#ef4444" },
|
|
|
|
|
+ { name: "太阳能供电系统", value: 11, color: "#c084fc" },
|
|
|
|
|
+ { name: "监测立杆", value: 4, color: "#62f6fb" },
|
|
|
|
|
+ { name: "防雷接地", value: 4, color: "#34d399" },
|
|
|
],
|
|
],
|
|
|
},
|
|
},
|
|
|
// 设备清单树
|
|
// 设备清单树
|
|
|
searchKey: "",
|
|
searchKey: "",
|
|
|
treeData: [
|
|
treeData: [
|
|
|
{
|
|
{
|
|
|
- name: "大坝安全监测系统", count: 98, expanded: true, children: [
|
|
|
|
|
|
|
+ name: "闸门控制", count: 37, expanded: true, children: [
|
|
|
|
|
+ {
|
|
|
|
|
+ name: "引水口闸门控制", count: 14, expanded: true, children: [
|
|
|
|
|
+ { name: "螺杆式闸门", count: 1 },
|
|
|
|
|
+ { name: "闸位计", count: 3 },
|
|
|
|
|
+ { name: "开度仪", count: 1 },
|
|
|
|
|
+ { name: "荷重传感器", count: 3 },
|
|
|
|
|
+ { name: "限位开关", count: 3 },
|
|
|
|
|
+ { name: "闸门LCU控制柜", count: 1 },
|
|
|
|
|
+ { name: "闸门控制单元", count: 1 },
|
|
|
|
|
+ ],
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: "卷扬式放水闸门控制", count: 11, expanded: true, children: [
|
|
|
|
|
+ { name: "闸位计", count: 3 },
|
|
|
|
|
+ { name: "荷重传感器", count: 3 },
|
|
|
|
|
+ { name: "限位开关", count: 3 },
|
|
|
|
|
+ { name: "闸门控制柜", count: 3 },
|
|
|
|
|
+ { name: "闸门控制单元", count: 3 },
|
|
|
|
|
+ ],
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: "液压闸门控制", count: 11, expanded: true, children: [
|
|
|
|
|
+ { name: "闸位计", count: 3 },
|
|
|
|
|
+ { name: "荷重传感器", count: 3 },
|
|
|
|
|
+ { name: "限位开关", count: 3 },
|
|
|
|
|
+ { name: "闸门控制柜", count: 3 },
|
|
|
|
|
+ { name: "闸门控制单元", count: 3 },
|
|
|
|
|
+ ],
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: "水文水情", count: 21, expanded: true, children: [
|
|
|
|
|
+ { name: "遥测雨量站", count: 2, children: [{ name: "雨量计" }, { name: "遥测终端机" }] },
|
|
|
|
|
+ { name: "遥测库水位监测站", count: 2, children: [{ name: "气泡式水位计" }, { name: "遥测终端机" }] },
|
|
|
|
|
+ { name: "进库流量监测", count: 2 },
|
|
|
|
|
+ { name: "出库流量监测", count: 2 },
|
|
|
|
|
+ { name: "气象监测", count: 1, children: [{ name: "气象站" }] },
|
|
|
|
|
+ { name: "地表水水质在线监测系统", count: 5, children: [{ name: "五参数分析仪" }, { name: "在线氨氮分析仪" }, { name: "在线高锰酸盐指数分析仪" }, { name: "在线总磷分析仪" }, { name: "在线总氮分析仪" }] },
|
|
|
|
|
+ { name: "水情预警分析报警子模块", count: 2 },
|
|
|
|
|
+ { name: "备品备件", count: 4 },
|
|
|
|
|
+ ],
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: "大坝安全监测", count: 98, expanded: true, children: [
|
|
|
{
|
|
{
|
|
|
name: "变形监测(GNSS)", count: 53, expanded: true, children: [
|
|
name: "变形监测(GNSS)", count: 53, expanded: true, children: [
|
|
|
{ name: "GNSS位移监测基准站", count: 3, children: [{ name: "基准站-01" }, { name: "基准站-02" }, { name: "基准站-03" }] },
|
|
{ name: "GNSS位移监测基准站", count: 3, children: [{ name: "基准站-01" }, { name: "基准站-02" }, { name: "基准站-03" }] },
|
|
@@ -424,6 +519,24 @@ export default {
|
|
|
},
|
|
},
|
|
|
],
|
|
],
|
|
|
},
|
|
},
|
|
|
|
|
+ {
|
|
|
|
|
+ name: "视频监控", count: 13, expanded: true, children: [
|
|
|
|
|
+ { name: "红外高清球机", count: 5 },
|
|
|
|
|
+ { name: "网络高清枪机", count: 5 },
|
|
|
|
|
+ { name: "网络高清半球", count: 3 },
|
|
|
|
|
+ ],
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: "管网监测", count: 13, expanded: true, children: [
|
|
|
|
|
+ { name: "数据采集终端", count: 1 },
|
|
|
|
|
+ { name: "压力变送器", count: 2 },
|
|
|
|
|
+ { name: "信号避雷器", count: 2 },
|
|
|
|
|
+ { name: "电源防雷模块", count: 2 },
|
|
|
|
|
+ { name: "远程监测控制箱", count: 2 },
|
|
|
|
|
+ { name: "监测井", count: 2 },
|
|
|
|
|
+ { name: "水浸传感器", count: 2 },
|
|
|
|
|
+ ],
|
|
|
|
|
+ },
|
|
|
],
|
|
],
|
|
|
// 报警数据
|
|
// 报警数据
|
|
|
// 巡检记录
|
|
// 巡检记录
|
|
@@ -579,22 +692,25 @@ export default {
|
|
|
</script>
|
|
</script>
|
|
|
<style scoped>
|
|
<style scoped>
|
|
|
.safety-container { width: 100%; height: 100%; display: flex; flex-direction: column; position: relative; overflow: hidden; }
|
|
.safety-container { width: 100%; height: 100%; display: flex; flex-direction: column; position: relative; overflow: hidden; }
|
|
|
-.safety-scroll-area { position: absolute; left: 0; right: 0; top: 120px; bottom: 0; overflow-y: auto; overflow-x: hidden; z-index: 5; padding-bottom: 40px; pointer-events: none; display: flex; flex-direction: column; align-items: center; }
|
|
|
|
|
-.safety-scroll-area::-webkit-scrollbar { width: 4px; }
|
|
|
|
|
-.safety-scroll-area::-webkit-scrollbar-track { background: rgba(0,20,40,0.5); }
|
|
|
|
|
-.safety-scroll-area::-webkit-scrollbar-thumb { background: rgba(0,212,255,0.3); border-radius: 2px; }
|
|
|
|
|
|
|
+.safety-scroll-area { position: absolute; left: 0; right: 0; top: 120px; bottom: 0; overflow-y: auto; overflow-x: hidden; z-index: 5; padding-bottom: 40px; pointer-events: none; display: flex; flex-direction: row; justify-content: space-between; }
|
|
|
|
|
+.safety-scroll-area::-webkit-scrollbar { width: 0; height: 0; }
|
|
|
|
|
+.safety-scroll-area::-webkit-scrollbar-track { display: none; }
|
|
|
|
|
+.safety-scroll-area::-webkit-scrollbar-thumb { display: none; }
|
|
|
.tab-content { width: 100%; flex-shrink: 0; display: flex; justify-content: space-between; padding: 0 20px; box-sizing: border-box; }
|
|
.tab-content { width: 100%; flex-shrink: 0; display: flex; justify-content: space-between; padding: 0 20px; box-sizing: border-box; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-.left-sidebar { width: 380px; flex-shrink: 0; pointer-events: auto; display: flex; flex-direction: column; }
|
|
|
|
|
-.right-sidebar { width: 380px; flex-shrink: 0; pointer-events: auto; display: flex; flex-direction: column; }
|
|
|
|
|
|
|
+.left-sidebar { width: 380px; flex-shrink: 0; pointer-events: auto; display: flex; flex-direction: column; z-index: 10; position: relative; }
|
|
|
|
|
+.right-sidebar { width: 380px; flex-shrink: 0; pointer-events: auto; display: flex; flex-direction: column; z-index: 10; position: relative; }
|
|
|
.mt-10 { margin-top: 8px; }
|
|
.mt-10 { margin-top: 8px; }
|
|
|
|
|
|
|
|
/* ========== Data Card ========== */
|
|
/* ========== Data Card ========== */
|
|
|
.data-card { width: 100%; background: rgba(0,20,40,0.7); border-radius: 4px; overflow: hidden; box-shadow: 0 0 10px rgba(0,212,255,0.2); display: flex; flex-direction: column; }
|
|
.data-card { width: 100%; background: rgba(0,20,40,0.7); border-radius: 4px; overflow: hidden; box-shadow: 0 0 10px rgba(0,212,255,0.2); display: flex; flex-direction: column; }
|
|
|
.left-sidebar .data-card { flex: unset; }
|
|
.left-sidebar .data-card { flex: unset; }
|
|
|
.left-sidebar .data-card:first-child .card-body { max-height: 175px; overflow-y: auto; }
|
|
.left-sidebar .data-card:first-child .card-body { max-height: 175px; overflow-y: auto; }
|
|
|
|
|
+.left-sidebar .data-card:first-child .card-body::-webkit-scrollbar { width: 0; height: 0; }
|
|
|
|
|
+.left-sidebar .data-card:first-child .card-body::-webkit-scrollbar-track { display: none; }
|
|
|
|
|
+.left-sidebar .data-card:first-child .card-body::-webkit-scrollbar-thumb { display: none; }
|
|
|
.card-header { height: 38px; background-image: url("/src/assets/images/数据小标题.png"); background-size: 100% 100%; background-position: center; background-repeat: no-repeat; display: flex; align-items: flex-start; justify-content: space-between; padding: 4px 12px 0; }
|
|
.card-header { height: 38px; background-image: url("/src/assets/images/数据小标题.png"); background-size: 100% 100%; background-position: center; background-repeat: no-repeat; display: flex; align-items: flex-start; justify-content: space-between; padding: 4px 12px 0; }
|
|
|
.card-title { font-size: 13px; font-weight: bold; color: #e0fcff; margin: 0; text-shadow: 0 0 5px rgba(0,212,255,0.5); padding-left: 25px; padding-right: 25px; }
|
|
.card-title { font-size: 13px; font-weight: bold; color: #e0fcff; margin: 0; text-shadow: 0 0 5px rgba(0,212,255,0.5); padding-left: 25px; padding-right: 25px; }
|
|
|
.card-body { padding: 8px; min-height: auto; font-size: 12px; line-height: 1.4; margin-top: -4px; }
|
|
.card-body { padding: 8px; min-height: auto; font-size: 12px; line-height: 1.4; margin-top: -4px; }
|
|
@@ -612,7 +728,7 @@ export default {
|
|
|
.eval-sub-label { color: #7bbef6; font-size: 12px; }
|
|
.eval-sub-label { color: #7bbef6; font-size: 12px; }
|
|
|
.eval-sub-value { color: #e0fcff; font-size: 12px; font-weight: bold; }
|
|
.eval-sub-value { color: #e0fcff; font-size: 12px; font-weight: bold; }
|
|
|
.eval-sub-value.status-ok { color: #22c55e; }
|
|
.eval-sub-value.status-ok { color: #22c55e; }
|
|
|
-.safety-eval-mid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
|
|
|
|
|
|
|
+.safety-eval-mid { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; }
|
|
|
.safety-eval-item { display: flex; justify-content: space-between; align-items: center; padding: 4px 8px; background: rgba(0,20,40,0.4); border-radius: 3px; }
|
|
.safety-eval-item { display: flex; justify-content: space-between; align-items: center; padding: 4px 8px; background: rgba(0,20,40,0.4); border-radius: 3px; }
|
|
|
.eval-item-name { color: #e0fcff; font-size: 11px; }
|
|
.eval-item-name { color: #e0fcff; font-size: 11px; }
|
|
|
.eval-item-tag { font-size: 10px; font-weight: bold; padding: 1px 6px; border-radius: 2px; }
|
|
.eval-item-tag { font-size: 10px; font-weight: bold; padding: 1px 6px; border-radius: 2px; }
|
|
@@ -661,9 +777,9 @@ export default {
|
|
|
.patrol-stat-num { font-size: 17px; font-weight: bold; color: #e0fcff; line-height: 1.1; }
|
|
.patrol-stat-num { font-size: 17px; font-weight: bold; color: #e0fcff; line-height: 1.1; }
|
|
|
.patrol-stat-label { color: #7bbef6; font-size: 9px; margin-top: 1px; white-space: nowrap; }
|
|
.patrol-stat-label { color: #7bbef6; font-size: 9px; margin-top: 1px; white-space: nowrap; }
|
|
|
.patrol-list { max-height: 110px; overflow-y: auto; display: flex; flex-direction: column; gap: 2px; }
|
|
.patrol-list { max-height: 110px; overflow-y: auto; display: flex; flex-direction: column; gap: 2px; }
|
|
|
-.patrol-list::-webkit-scrollbar { width: 3px; }
|
|
|
|
|
-.patrol-list::-webkit-scrollbar-track { background: rgba(0,20,40,0.5); }
|
|
|
|
|
-.patrol-list::-webkit-scrollbar-thumb { background: rgba(0,212,255,0.3); border-radius: 2px; }
|
|
|
|
|
|
|
+.patrol-list::-webkit-scrollbar { width: 0; height: 0; }
|
|
|
|
|
+.patrol-list::-webkit-scrollbar-track { display: none; }
|
|
|
|
|
+.patrol-list::-webkit-scrollbar-thumb { display: none; }
|
|
|
.patrol-row { display: flex; align-items: center; justify-content: space-between; padding: 3px 6px; background: rgba(0,20,40,0.3); border-radius: 3px; border: 1px solid rgba(0,212,255,0.06); }
|
|
.patrol-row { display: flex; align-items: center; justify-content: space-between; padding: 3px 6px; background: rgba(0,20,40,0.3); border-radius: 3px; border: 1px solid rgba(0,212,255,0.06); }
|
|
|
.patrol-row-left { display: flex; align-items: center; gap: 6px; }
|
|
.patrol-row-left { display: flex; align-items: center; gap: 6px; }
|
|
|
.patrol-row-right { display: flex; align-items: center; gap: 4px; }
|
|
.patrol-row-right { display: flex; align-items: center; gap: 4px; }
|
|
@@ -779,9 +895,9 @@ canvas#summaryPieChart { display: flex !important; padding-left: 35px !important
|
|
|
.tree-search-input { flex: 1; background: none; border: none; outline: none; color: #e0fcff; font-size: 12px; line-height: 26px; }
|
|
.tree-search-input { flex: 1; background: none; border: none; outline: none; color: #e0fcff; font-size: 12px; line-height: 26px; }
|
|
|
.tree-search-input::placeholder { color: #7bbef6; }
|
|
.tree-search-input::placeholder { color: #7bbef6; }
|
|
|
.tree-container { font-size: 13px; max-height: 200px; overflow-y: auto; }
|
|
.tree-container { font-size: 13px; max-height: 200px; overflow-y: auto; }
|
|
|
-.tree-container::-webkit-scrollbar { width: 3px; }
|
|
|
|
|
-.tree-container::-webkit-scrollbar-track { background: rgba(0,20,40,0.5); }
|
|
|
|
|
-.tree-container::-webkit-scrollbar-thumb { background: rgba(0,212,255,0.3); border-radius: 2px; }
|
|
|
|
|
|
|
+.tree-container::-webkit-scrollbar { width: 0; height: 0; }
|
|
|
|
|
+.tree-container::-webkit-scrollbar-track { display: none; }
|
|
|
|
|
+.tree-container::-webkit-scrollbar-thumb { display: none; }
|
|
|
.tree-node-row { display: flex; align-items: center; gap: 4px; padding: 4px 6px; cursor: pointer; border-radius: 2px; transition: background 0.15s; }
|
|
.tree-node-row { display: flex; align-items: center; gap: 4px; padding: 4px 6px; cursor: pointer; border-radius: 2px; transition: background 0.15s; }
|
|
|
.tree-node-row:hover { background: rgba(0,212,255,0.06); }
|
|
.tree-node-row:hover { background: rgba(0,212,255,0.06); }
|
|
|
.tree-arrow { flex-shrink: 0; transition: transform 0.2s; }
|
|
.tree-arrow { flex-shrink: 0; transition: transform 0.2s; }
|