feat: 实现供水运营专题大屏BI可视化

- 新增OperationDashboard.vue全屏大屏组件
- 添加6个核心KPI指标卡片: 进水总量/出水总量/产销差率/营收额/平均水质/报警次数
- 实现6个ECharts图表: 供水趋势/水质分布/报警统计/管网空间/设备状态/营收分析
- 创建静态HTML版本operation-dashboard.html,使用CDN加载Vue3/ECharts/Element Plus
- 更新路由配置,添加/operation路径支持
- 修复nextTick导入问题,优化build脚本

🚧 开发者: bot_dev1
📝 任务: #38 [BI] 运营仪表盘 + 供水专题大屏
This commit is contained in:
2026-06-15 09:06:11 +08:00
parent 37bcc78eee
commit 85df71fc28
17426 changed files with 4091508 additions and 47 deletions
@@ -0,0 +1,122 @@
ul.cesium-cesiumInspector-statistics {
margin: 0;
padding-top: 3px;
padding-bottom: 3px;
}
ul.cesium-cesiumInspector-statistics + ul.cesium-cesiumInspector-statistics {
border-top: 1px solid #aaa;
}
.cesium-cesiumInspector-slider {
margin-top: 5px;
}
.cesium-cesiumInspector-slider input[type="number"] {
text-align: left;
background-color: #222;
outline: none;
border: 1px solid #444;
color: #edffff;
width: 100px;
border-radius: 3px;
padding: 1px;
margin-left: 10px;
cursor: auto;
}
.cesium-cesiumInspector-slider input[type="number"]::-webkit-outer-spin-button,
.cesium-cesiumInspector-slider input[type="number"]::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
.cesium-cesiumInspector-slider input[type="range"] {
margin-left: 5px;
vertical-align: middle;
}
.cesium-cesiumInspector-hide .cesium-cesiumInspector-styleEditor {
display: none;
}
.cesium-cesiumInspector-styleEditor {
padding: 10px;
border-radius: 5px;
background: rgba(48, 51, 54, 0.8);
border: 1px solid #444;
}
.cesium-cesiumInspector-styleEditor textarea {
width: 100%;
height: 300px;
background: transparent;
color: #edffff;
border: none;
padding: 0;
white-space: pre;
overflow-wrap: normal;
overflow-x: auto;
}
.cesium-3DTilesInspector {
width: 300px;
pointer-events: all;
}
.cesium-3DTilesInspector-statistics {
font-size: 11px;
}
.cesium-3DTilesInspector-disabledElementsInfo {
margin: 5px 0 0 0;
padding: 0 0 0 20px;
color: #eed202;
}
.cesium-3DTilesInspector div,
.cesium-3DTilesInspector input[type="range"] {
width: 100%;
box-sizing: border-box;
}
.cesium-cesiumInspector-error {
color: #ff9e9e;
overflow: auto;
}
.cesium-3DTilesInspector .cesium-cesiumInspector-section {
margin-top: 3px;
}
.cesium-3DTilesInspector
.cesium-cesiumInspector-sectionHeader
+ .cesium-cesiumInspector-show {
border-top: 1px solid white;
}
input.cesium-cesiumInspector-url {
overflow: hidden;
white-space: nowrap;
overflow-x: scroll;
background-color: transparent;
color: white;
outline: none;
border: none;
height: 1em;
width: 100%;
}
.cesium-cesiumInspector .field-group {
display: table;
}
.cesium-cesiumInspector .field-group > label {
display: table-cell;
font-weight: bold;
}
.cesium-cesiumInspector .field-group > .field {
display: table-cell;
width: 100%;
}