- 新增OperationDashboard.vue全屏大屏组件 - 添加6个核心KPI指标卡片: 进水总量/出水总量/产销差率/营收额/平均水质/报警次数 - 实现6个ECharts图表: 供水趋势/水质分布/报警统计/管网空间/设备状态/营收分析 - 创建静态HTML版本operation-dashboard.html,使用CDN加载Vue3/ECharts/Element Plus - 更新路由配置,添加/operation路径支持 - 修复nextTick导入问题,优化build脚本 🚧 开发者: bot_dev1 📝 任务: #38 [BI] 运营仪表盘 + 供水专题大屏
62 lines
1.9 KiB
TypeScript
62 lines
1.9 KiB
TypeScript
import Displayable from '../graphic/Displayable';
|
|
import Storage from '../Storage';
|
|
import { PainterBase } from '../PainterBase';
|
|
import { SVGVNode, BrushScope } from './core';
|
|
import { GradientObject } from '../graphic/Gradient';
|
|
import { PatternObject } from '../graphic/Pattern';
|
|
interface SVGPainterOption {
|
|
width?: number;
|
|
height?: number;
|
|
ssr?: boolean;
|
|
}
|
|
declare type SVGPainterBackgroundColor = string | GradientObject | PatternObject;
|
|
declare class SVGPainter implements PainterBase {
|
|
type: string;
|
|
storage: Storage;
|
|
root: HTMLElement;
|
|
private _svgDom;
|
|
private _viewport;
|
|
private _opts;
|
|
private _oldVNode;
|
|
private _bgVNode;
|
|
private _mainVNode;
|
|
private _width;
|
|
private _height;
|
|
private _backgroundColor;
|
|
private _id;
|
|
constructor(root: HTMLElement, storage: Storage, opts: SVGPainterOption);
|
|
getType(): string;
|
|
getViewportRoot(): HTMLElement;
|
|
getViewportRootOffset(): {
|
|
offsetLeft: number;
|
|
offsetTop: number;
|
|
};
|
|
getSvgDom(): SVGElement;
|
|
refresh(): void;
|
|
renderOneToVNode(el: Displayable): SVGVNode;
|
|
renderToVNode(opts?: {
|
|
animation?: boolean;
|
|
willUpdate?: boolean;
|
|
compress?: boolean;
|
|
useViewBox?: boolean;
|
|
emphasis?: boolean;
|
|
}): SVGVNode;
|
|
renderToString(opts?: {
|
|
cssAnimation?: boolean;
|
|
cssEmphasis?: boolean;
|
|
useViewBox?: boolean;
|
|
}): string;
|
|
setBackgroundColor(backgroundColor: SVGPainterBackgroundColor): void;
|
|
getSvgRoot(): SVGElement;
|
|
_paintList(list: Displayable[], scope: BrushScope, out?: SVGVNode[]): void;
|
|
resize(width: number, height: number): void;
|
|
getWidth(): number;
|
|
getHeight(): number;
|
|
dispose(): void;
|
|
clear(): void;
|
|
toDataURL(base64?: boolean): string;
|
|
refreshHover: () => void;
|
|
configLayer: (zlevel: number, config: import("../core/types").Dictionary<any>) => void;
|
|
}
|
|
export default SVGPainter;
|