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:
+48
@@ -0,0 +1,48 @@
|
||||
import defined from "../Core/defined.js";
|
||||
|
||||
/**
|
||||
* Return the `PropertyTextureProperty` from the given `StructuralMetadata`
|
||||
* that matches the given description.
|
||||
*
|
||||
* If the given structural metadata is `undefined`, then `undefined` is returned.
|
||||
*
|
||||
* Otherwise, this method will check all the property textures in the given
|
||||
* structural metadata.
|
||||
*
|
||||
* If it finds a property texture that has a class with an `_id` that matches
|
||||
* the given name, and that contains a property for the given property name, then
|
||||
* this property is returned.
|
||||
*
|
||||
* Otherwise, `undefined` is returned
|
||||
*
|
||||
* @param {StructuralMetadata} structuralMetadata The structural metadata
|
||||
* @param {string} className The name of the metadata class
|
||||
* @param {string} propertyName The name of the metadata property
|
||||
* @returns {PropertyTextureProperty|undefined}
|
||||
* @private
|
||||
*/
|
||||
function getMetadataProperty(structuralMetadata, className, propertyName) {
|
||||
if (!defined(structuralMetadata)) {
|
||||
return undefined;
|
||||
}
|
||||
const propertyTextures = structuralMetadata.propertyTextures;
|
||||
for (const propertyTexture of propertyTextures) {
|
||||
const metadataClass = propertyTexture.class;
|
||||
if (metadataClass.id === className) {
|
||||
const properties = propertyTexture.properties;
|
||||
const property = properties[propertyName];
|
||||
if (defined(property)) {
|
||||
return property;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Note: This could check for property attributes in a similar
|
||||
// way. But since picking arbitrary property attributes via the
|
||||
// frame buffer is not supported yet, returning "undefined" here
|
||||
// causes the picking to bail out early and safely when no
|
||||
// property texture was found.
|
||||
// See https://github.com/CesiumGS/cesium/issues/12225
|
||||
return undefined;
|
||||
}
|
||||
|
||||
export default getMetadataProperty;
|
||||
Reference in New Issue
Block a user