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

🚧 开发者: bot_dev1
📝 任务: #38 [BI] 运营仪表盘 + 供水专题大屏
2026-06-15 09:06:11 +08:00

55 lines
1.6 KiB
JavaScript

import { Frozen, defined, DeveloperError } from "@cesium/engine";
import knockout from "./ThirdParty/knockout.js";
/**
* A view model which exposes the properties of a toggle button.
* @alias ToggleButtonViewModel
* @constructor
*
* @param {Command} command The command which will be executed when the button is toggled.
* @param {object} [options] Object with the following properties:
* @param {boolean} [options.toggled=false] A boolean indicating whether the button should be initially toggled.
* @param {string} [options.tooltip=''] A string containing the button's tooltip.
*/
function ToggleButtonViewModel(command, options) {
//>>includeStart('debug', pragmas.debug);
if (!defined(command)) {
throw new DeveloperError("command is required.");
}
//>>includeEnd('debug');
this._command = command;
options = options ?? Frozen.EMPTY_OBJECT;
/**
* Gets or sets whether the button is currently toggled. This property is observable.
* @type {boolean}
* @default false
*/
this.toggled = options.toggled ?? false;
/**
* Gets or sets the button's tooltip. This property is observable.
* @type {string}
* @default ''
*/
this.tooltip = options.tooltip ?? "";
knockout.track(this, ["toggled", "tooltip"]);
}
Object.defineProperties(ToggleButtonViewModel.prototype, {
/**
* Gets the command which will be executed when the button is toggled.
* @memberof ToggleButtonViewModel.prototype
* @type {Command}
*/
command: {
get: function () {
return this._command;
},
},
});
export default ToggleButtonViewModel;