- 新增OperationDashboard.vue全屏大屏组件 - 添加6个核心KPI指标卡片: 进水总量/出水总量/产销差率/营收额/平均水质/报警次数 - 实现6个ECharts图表: 供水趋势/水质分布/报警统计/管网空间/设备状态/营收分析 - 创建静态HTML版本operation-dashboard.html,使用CDN加载Vue3/ECharts/Element Plus - 更新路由配置,添加/operation路径支持 - 修复nextTick导入问题,优化build脚本 🚧 开发者: bot_dev1 📝 任务: #38 [BI] 运营仪表盘 + 供水专题大屏
56 lines
1.5 KiB
JavaScript
56 lines
1.5 KiB
JavaScript
import {Map} from '../Map';
|
|
import {Handler} from '../../core/Handler';
|
|
|
|
/*
|
|
* L.Handler.DoubleClickZoom is used to handle double-click zoom on the map, enabled by default.
|
|
*/
|
|
|
|
// @namespace Map
|
|
// @section Interaction Options
|
|
|
|
Map.mergeOptions({
|
|
// @option doubleClickZoom: Boolean|String = true
|
|
// Whether the map can be zoomed in by double clicking on it and
|
|
// zoomed out by double clicking while holding shift. If passed
|
|
// `'center'`, double-click zoom will zoom to the center of the
|
|
// view regardless of where the mouse was.
|
|
doubleClickZoom: true
|
|
});
|
|
|
|
export var DoubleClickZoom = Handler.extend({
|
|
addHooks: function () {
|
|
this._map.on('dblclick', this._onDoubleClick, this);
|
|
},
|
|
|
|
removeHooks: function () {
|
|
this._map.off('dblclick', this._onDoubleClick, this);
|
|
},
|
|
|
|
_onDoubleClick: function (e) {
|
|
var map = this._map,
|
|
oldZoom = map.getZoom(),
|
|
delta = map.options.zoomDelta,
|
|
zoom = e.originalEvent.shiftKey ? oldZoom - delta : oldZoom + delta;
|
|
|
|
if (map.options.doubleClickZoom === 'center') {
|
|
map.setZoom(zoom);
|
|
} else {
|
|
map.setZoomAround(e.containerPoint, zoom);
|
|
}
|
|
}
|
|
});
|
|
|
|
// @section Handlers
|
|
//
|
|
// Map properties include interaction handlers that allow you to control
|
|
// interaction behavior in runtime, enabling or disabling certain features such
|
|
// as dragging or touch zoom (see `Handler` methods). For example:
|
|
//
|
|
// ```js
|
|
// map.doubleClickZoom.disable();
|
|
// ```
|
|
//
|
|
// @property doubleClickZoom: Handler
|
|
// Double click zoom handler.
|
|
Map.addInitHook('addHandler', 'doubleClickZoom', DoubleClickZoom);
|