- 新增OperationDashboard.vue全屏大屏组件 - 添加6个核心KPI指标卡片: 进水总量/出水总量/产销差率/营收额/平均水质/报警次数 - 实现6个ECharts图表: 供水趋势/水质分布/报警统计/管网空间/设备状态/营收分析 - 创建静态HTML版本operation-dashboard.html,使用CDN加载Vue3/ECharts/Element Plus - 更新路由配置,添加/operation路径支持 - 修复nextTick导入问题,优化build脚本 🚧 开发者: bot_dev1 📝 任务: #38 [BI] 运营仪表盘 + 供水专题大屏
49 lines
1.2 KiB
GLSL
49 lines
1.2 KiB
GLSL
#ifdef INSTANCED
|
|
in vec2 direction;
|
|
#endif
|
|
in vec4 positionHighAndScaleX;
|
|
in vec4 positionLowAndScaleY;
|
|
in vec4 packedAttribute0;
|
|
in vec4 packedAttribute1;
|
|
in vec4 color;
|
|
|
|
out vec2 v_offset;
|
|
out vec3 v_maximumSize;
|
|
out vec4 v_color;
|
|
out float v_slice;
|
|
out float v_brightness;
|
|
|
|
void main() {
|
|
// Unpack attributes.
|
|
vec3 positionHigh = positionHighAndScaleX.xyz;
|
|
vec3 positionLow = positionLowAndScaleY.xyz;
|
|
vec2 scale = vec2(positionHighAndScaleX.w, positionLowAndScaleY.w);
|
|
|
|
float show = packedAttribute0.x;
|
|
float brightness = packedAttribute0.y;
|
|
vec2 coordinates = packedAttribute0.wz;
|
|
vec3 maximumSize = packedAttribute1.xyz;
|
|
float slice = packedAttribute1.w;
|
|
|
|
#ifdef INSTANCED
|
|
vec2 dir = direction;
|
|
#else
|
|
vec2 dir = coordinates;
|
|
#endif
|
|
|
|
vec2 offset = dir - vec2(0.5, 0.5);
|
|
vec2 scaledOffset = scale * offset;
|
|
vec4 p = czm_translateRelativeToEye(positionHigh, positionLow);
|
|
vec4 positionEC = czm_modelViewRelativeToEye * p;
|
|
positionEC.xy += scaledOffset;
|
|
|
|
positionEC.xyz *= show;
|
|
gl_Position = czm_projection * positionEC;
|
|
|
|
v_offset = offset;
|
|
v_maximumSize = maximumSize;
|
|
v_color = color;
|
|
v_slice = slice;
|
|
v_brightness = brightness;
|
|
}
|