- 新增OperationDashboard.vue全屏大屏组件 - 添加6个核心KPI指标卡片: 进水总量/出水总量/产销差率/营收额/平均水质/报警次数 - 实现6个ECharts图表: 供水趋势/水质分布/报警统计/管网空间/设备状态/营收分析 - 创建静态HTML版本operation-dashboard.html,使用CDN加载Vue3/ECharts/Element Plus - 更新路由配置,添加/operation路径支持 - 修复nextTick导入问题,优化build脚本 🚧 开发者: bot_dev1 📝 任务: #38 [BI] 运营仪表盘 + 供水专题大屏
58 lines
1.6 KiB
JavaScript
58 lines
1.6 KiB
JavaScript
import { __extends } from "tslib";
|
|
import Path from '../Path.js';
|
|
import * as roundRectHelper from '../helper/roundRect.js';
|
|
import { subPixelOptimizeRect } from '../helper/subPixelOptimize.js';
|
|
var RectShape = (function () {
|
|
function RectShape() {
|
|
this.x = 0;
|
|
this.y = 0;
|
|
this.width = 0;
|
|
this.height = 0;
|
|
}
|
|
return RectShape;
|
|
}());
|
|
export { RectShape };
|
|
var subPixelOptimizeOutputShape = {};
|
|
var Rect = (function (_super) {
|
|
__extends(Rect, _super);
|
|
function Rect(opts) {
|
|
return _super.call(this, opts) || this;
|
|
}
|
|
Rect.prototype.getDefaultShape = function () {
|
|
return new RectShape();
|
|
};
|
|
Rect.prototype.buildPath = function (ctx, shape) {
|
|
var x;
|
|
var y;
|
|
var width;
|
|
var height;
|
|
if (this.subPixelOptimize) {
|
|
var optimizedShape = subPixelOptimizeRect(subPixelOptimizeOutputShape, shape, this.style);
|
|
x = optimizedShape.x;
|
|
y = optimizedShape.y;
|
|
width = optimizedShape.width;
|
|
height = optimizedShape.height;
|
|
optimizedShape.r = shape.r;
|
|
shape = optimizedShape;
|
|
}
|
|
else {
|
|
x = shape.x;
|
|
y = shape.y;
|
|
width = shape.width;
|
|
height = shape.height;
|
|
}
|
|
if (!shape.r) {
|
|
ctx.rect(x, y, width, height);
|
|
}
|
|
else {
|
|
roundRectHelper.buildPath(ctx, shape);
|
|
}
|
|
};
|
|
Rect.prototype.isZeroArea = function () {
|
|
return !this.shape.width || !this.shape.height;
|
|
};
|
|
return Rect;
|
|
}(Path));
|
|
Rect.prototype.type = 'rect';
|
|
export default Rect;
|