diff --git a/api/commonRequest.js b/api/commonRequest.js index 9f581f5..a29832e 100644 --- a/api/commonRequest.js +++ b/api/commonRequest.js @@ -8,13 +8,13 @@ let aqEnnable = false // 参数加密开关 //const URL_IP="http://sgwpdm.ah.sgcc.com.cn/jjgdweb/zhgd-web" -const URL_IP="http://sgwpdm.ah.sgcc.com.cn/ahsfs/zhgd-web" +//const URL_IP="http://sgwpdm.ah.sgcc.com.cn/ahsfs/zhgd-web" //前端 -// const URL_IP="http://127.0.0.1:63343/ah_jjzhgd_webscreen" + const URL_IP="http://127.0.0.1:13030/ah_jjzhgd_webscreen" // const commonUrl = "http://192.168.0.38:13030/zhgd/"; -// const commonUrl = "http://sgwpdm.ah.sgcc.com.cn/zhgd/"; - const commonUrl = "http://127.0.0.1:13030/zhgd/"; +const commonUrl = "http://127.0.0.1:13030/zhgd/"; +// const commonUrl = "http://192.168.1.105:18080/zhgd/"; // const imgUrl = "http://192.168.0.38:13030/zhgd/file/files/"; const imgUrl = "http://sgwpdm.ah.sgcc.com.cn/zhgd/file/files/"; // //前端路径 diff --git a/pages/newDataAnalysis/overallEfficiency.html b/pages/newDataAnalysis/overallEfficiency.html index 5d25bc6..d110abd 100644 --- a/pages/newDataAnalysis/overallEfficiency.html +++ b/pages/newDataAnalysis/overallEfficiency.html @@ -18,64 +18,78 @@ --dark: #333; --gray: #e4e7eb; --card-shadow: 0 4px 15px rgba(0,0,0,0.08); + --bg-color: #ffffff; } - + * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Noto Sans SC', sans-serif; } - + body { - /* background: linear-gradient(135deg, #f0f4f8 0%, #dfe7ee 100%); */ + background: #f0f2f5; color: var(--dark); min-height: 100vh; overflow-x: hidden; + padding: 20px; } - + .container { max-width: 1400px; margin: 0 auto; padding: 20px; } - - /* 简化后的顶部控制栏 */ - .control-bar { + + header { display: flex; - justify-content: flex-end; - margin-bottom: 20px; + justify-content: space-between; + align-items: center; + margin-bottom: 30px; + padding-bottom: 20px; + border-bottom: 1px solid var(--gray); } - - .date-selector { - background: #c2c2c2; - padding: 10px 15px; - border-radius: 8px; + + .logo { display: flex; align-items: center; - gap: 10px; - box-shadow: var(--card-shadow); + gap: 15px; } - - .date-selector select { - background: transparent; - border: 1px solid var(--gray); - color: var(--dark); - padding: 5px 10px; - border-radius: 5px; - outline: none; + + .logo-icon { + background: var(--primary); + color: white; + width: 50px; + height: 50px; + border-radius: 12px; + display: flex; + align-items: center; + justify-content: center; + font-size: 24px; } - + + .logo-text { + font-size: 1.8rem; + font-weight: 700; + color: var(--primary); + } + + .last-update { + color: #666; + font-size: 0.9rem; + } + /* 仪表盘样式 */ .dashboard { display: grid; - grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-bottom: 25px; } - + .kpi-card { - background: #c2c2c2; + background: var(--bg-color); border-radius: 12px; padding: 25px; box-shadow: var(--card-shadow); @@ -85,19 +99,19 @@ cursor: pointer; border-top: 4px solid var(--primary); } - + .kpi-card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); } - + .kpi-header { display: flex; justify-content: space-between; margin-bottom: 15px; align-items: flex-start; } - + .kpi-icon { width: 50px; height: 50px; @@ -107,99 +121,63 @@ justify-content: center; font-size: 24px; } - + .kpi-icon.blue { background: rgba(26, 58, 95, 0.1); color: var(--primary); } - + .kpi-icon.green { background: rgba(76, 175, 80, 0.1); color: var(--accent); } - + .kpi-icon.orange { background: rgba(255, 152, 0, 0.1); color: var(--warning); } - + .kpi-icon.red { background: rgba(244, 67, 54, 0.1); color: var(--danger); } - + .kpi-title { font-size: 1rem; font-weight: 500; color: #666; } - + .kpi-value { font-size: 2.2rem; font-weight: 700; margin: 10px 0; } - + .kpi-trend { display: flex; align-items: center; font-size: 0.9rem; gap: 5px; } - + .trend-up { color: var(--accent); } - + .trend-down { color: var(--danger); } - - /* 图表容器 */ - .charts-container { - display: grid; - grid-template-columns: 2fr 1fr; - gap: 20px; - margin-bottom: 25px; - } - - @media (max-width: 900px) { - .charts-container { - grid-template-columns: 1fr; - } - } - - .chart-card { - background: #c2c2c2; - border-radius: 12px; - padding: 20px; - box-shadow: var(--card-shadow); - } - - .chart-header { - margin-bottom: 15px; - font-weight: 500; - color: var(--primary); - font-size: 1.1rem; - display: flex; - justify-content: space-between; - align-items: center; - } - - .chart-container { - height: 300px; - width: 100%; - } - + /* 分析部分 */ .analysis-section { - background: #c2c2c2; + background: var(--bg-color); border-radius: 12px; padding: 25px; box-shadow: var(--card-shadow); margin-bottom: 25px; } - + .section-title { font-size: 1.3rem; color: var(--primary); @@ -207,13 +185,13 @@ padding-bottom: 10px; border-bottom: 1px solid var(--gray); } - + .bottleneck-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; } - + .bottleneck-card { border-left: 4px solid var(--warning); padding: 15px; @@ -222,12 +200,12 @@ transition: all 0.3s; cursor: pointer; } - + .bottleneck-card:hover { transform: translateX(5px); background: #fff1cc; } - + .bottleneck-title { font-weight: 500; margin-bottom: 8px; @@ -235,19 +213,19 @@ align-items: center; gap: 8px; } - + .bottleneck-desc { font-size: 0.9rem; color: #666; margin-bottom: 10px; } - + .optimization-card { background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%); border-radius: 8px; padding: 20px; } - + .suggestion-item { display: flex; gap: 15px; @@ -256,20 +234,20 @@ cursor: pointer; transition: all 0.3s; } - + .suggestion-item:hover { background: rgba(255,255,255,0.5); border-radius: 8px; padding: 15px; } - + .suggestion-item:last-child { border-bottom: none; } - + .suggestion-icon { background: var(--accent); - color: #c2c2c2; + color: var(--bg-color); width: 40px; height: 40px; border-radius: 50%; @@ -279,45 +257,27 @@ flex-shrink: 0; font-weight: bold; } - + .suggestion-content h4 { margin-bottom: 5px; color: var(--primary); } - + .suggestion-content p { color: #666; font-size: 0.9rem; } - + .priority-high { color: var(--danger); font-weight: 500; } - + .priority-medium { color: var(--warning); font-weight: 500; } - - .action-btn { - background: var(--secondary); - color: white; - border: none; - padding: 8px 15px; - border-radius: 6px; - cursor: pointer; - font-size: 0.9rem; - display: flex; - align-items: center; - gap: 5px; - transition: all 0.3s; - } - - .action-btn:hover { - background: var(--primary); - } - + /* 二级页面样式 */ .secondary-page { position: fixed; @@ -334,12 +294,12 @@ visibility: hidden; transition: all 0.3s; } - + .secondary-page.active { opacity: 1; visibility: visible; } - + .page-content { background: white; width: 90%; @@ -352,24 +312,27 @@ transform: translateY(20px); transition: transform 0.4s; } - + .secondary-page.active .page-content { transform: translateY(0); } - + .page-header { padding: 20px; display: flex; justify-content: space-between; align-items: center; + background: #f5f5f5; + border-bottom: 1px solid #e0e0e0; } - + .page-header h3 { font-size: 1.5rem; + color: var(--primary); } - + .close-btn { - background: rgba(255,255,255,0.2); + background: rgba(0,0,0,0.1); width: 40px; height: 40px; border-radius: 50%; @@ -380,75 +343,75 @@ font-size: 1.2rem; transition: all 0.3s; } - + .close-btn:hover { - background: rgba(255,255,255,0.3); + background: rgba(0,0,0,0.2); } - + .page-body { padding: 30px; overflow-y: auto; } - + .detail-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-bottom: 30px; } - + .detail-card { background: var(--light); border-radius: 10px; padding: 20px; box-shadow: var(--card-shadow); } - + .detail-card h4 { color: var(--primary); margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid var(--gray); } - + .data-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px dashed #ddd; } - + .data-row:last-child { border-bottom: none; } - + .progress-container { margin: 15px 0; } - + .progress-label { display: flex; justify-content: space-between; margin-bottom: 5px; } - + .progress-bar { height: 10px; background: #e0e0e0; border-radius: 5px; overflow: hidden; } - + .progress-fill { height: 100%; border-radius: 5px; } - + .detail-chart { height: 300px; margin: 30px 0; } - + /* 页脚 */ footer { text-align: center; @@ -457,7 +420,7 @@ font-size: 0.9rem; margin-top: 20px; } - + .stat-badge { display: inline-block; padding: 3px 8px; @@ -465,780 +428,628 @@ font-size: 0.8rem; font-weight: 500; } - + .badge-green { background: rgba(76, 175, 80, 0.2); color: var(--accent); } - + .badge-orange { background: rgba(255, 152, 0, 0.2); color: var(--warning); } - + .badge-red { background: rgba(244, 67, 54, 0.2); color: var(--danger); } + + .chart-container { + display: flex; + flex-wrap: wrap; + gap: 20px; + margin-top: 20px; + } + + .chart-box { + flex: 1 1 400px; + min-height: 300px; + background: white; + border-radius: 10px; + padding: 15px; + box-shadow: var(--card-shadow); + } + + .table-container { + margin-top: 20px; + overflow-x: auto; + } + + .data-table { + width: 100%; + border-collapse: collapse; + background: white; + border-radius: 8px; + overflow: hidden; + box-shadow: var(--card-shadow); + } + + .data-table th { + background: var(--primary); + color: white; + padding: 12px 15px; + text-align: left; + } + + .data-table td { + padding: 10px 15px; + border-bottom: 1px solid var(--gray); + } + + .data-table tr:nth-child(even) { + background: var(--light); + } + + .data-table tr:hover { + background: rgba(26, 58, 95, 0.05); + }
- +
+ +
最后更新: 2023-11-16 14:30
+
+ -
-
-
-
-
人员利用率
-
78.3%
-
-
- -
-
-
- 较上周提高 5.2% -
-
- 平均闲置时间 1.2 小时/天 -
-
- -
-
-
-
设备使用率
-
64.8%
-
-
- -
-
-
- 下降 2.1% -
-
- 主要设备故障率 3.7% -
-
- -
-
-
-
工程进度
-
72.5%
-
-
- -
-
-
- 较计划超前 2 天 -
-
- 本周完成进度 8.3% -
-
- -
-
-
-
安全合规率
-
94.6%
-
-
- -
-
-
- 提高 3.4% -
-
- 本周安全事件 2 起 -
-
-
- -
-
-
- 多源数据综合分析 -
-
-
- -
-
- 效能瓶颈分布 -
-
-
-
- +
+ +
瓶颈识别与分析
-
-
-
- 设备调度瓶颈 -
-
- 混凝土搅拌机使用率高达92%,等待时间过长,影响3个作业面进度 -
-
- 高影响 预计延误: 3天 -
-
- -
-
- 人员技能瓶颈 -
-
- 高级焊工短缺,导致钢结构安装进度滞后15% -
-
- 中影响 影响范围: 2号楼 -
-
- -
-
- 物料供应瓶颈 -
-
- 钢筋供应延迟,影响2号楼主体施工进度 -
-
- 高影响 延误天数: 5天 -
-
-
+
- + +
优化建议与措施
-
-
-
1
-
-

设备调度优化 (高优先级)

-

调整混凝土搅拌机使用时段,增加夜间预制工作,预计可提升设备利用率15%

-
-
- -
-
2
-
-

技能培训计划 (中优先级)

-

开展焊工技能提升培训,同时外聘2名高级焊工,预计可缩短工期5天

-
-
- -
-
3
-
-

供应链优化 (高优先级)

-

建立备用供应商机制,增加钢筋库存缓冲,确保施工连续性

-
-
-
+
- +
- -
-
- -
-
-
-

核心指标

-
- 总工人数 - 186人 -
-
- 人员利用率 - 78.3% -
-
- 平均出勤率 - 95.2% -
-
- 加班工时 - 342小时/周 -
-
- -
-

技能分布

-
-
- 高级技工 - 32% -
-
-
-
-
-
-
- 中级技工 - 45% -
-
-
-
-
-
-
- 普通工人 - 23% -
-
-
-
-
-
- -
-

效能趋势

-
- 本周变化 - +5.2% -
-
- 上月同期 - 73.5% -
-
- 目标值 - 85.0% -
-
-
- -
- -

优化建议

-

1. 调整班组结构,平衡各工种人员分配,减少待工时间

-

2. 加强新工人培训,提高工作效率

-

3. 优化排班计划,减少不必要的加班

-
-
-
- - -
-
- -
-
-
-

设备概况

-
- 设备总数 - 42台 -
-
- 设备使用率 - 64.8% -
-
- 平均故障率 - 3.7% -
-
- 待机设备数 - 15台 -
-
- -
-

关键设备状态

-
-
- 混凝土搅拌机 - 92% -
-
-
-
-
-
-
- 塔式起重机 - 78% -
-
-
-
-
-
-
- 挖掘机 - 65% -
-
-
-
-
-
- -
-

维护情况

-
- 本周维护次数 - 18次 -
-
- 待处理故障 - 3项 -
-
- 平均响应时间 - 2.5小时 -
-
-
- -
- -

优化建议

-

1. 优化混凝土搅拌机调度计划,增加使用时段

-

2. 对塔式起重机进行预防性维护,减少故障率

-

3. 重新分配闲置设备,提高整体利用率

-
-
-
- - -
-
- -
-
-
-

总体进度

-
- 项目完成率 - 72.5% -
-
- 计划进度 - 70.3% -
-
- 超前/滞后 - +2.2% (超前2天) -
-
- 关键路径进度 - 68.7% -
-
- -
-

各区域进度

-
-
- 1号楼 - 85% -
-
-
-
-
-
-
- 2号楼 - 65% -
-
-
-
-
-
-
- 3号楼 - 78% -
-
-
-
-
-
- -
-

本周进展

-
- 完成工作量 - 8.3% -
-
- 计划工作量 - 7.5% -
-
- 差异 - +0.8% -
-
-
- -
- -

优化建议

-

1. 重点监控2号楼进度,增加施工资源投入

-

2. 优化关键路径任务分配,减少依赖等待时间

-

3. 提前准备下阶段所需材料,避免进度延误

-
-
-
- - -
-
- -
-
-
-

安全指标

-
- 安全合规率 - 94.6% -
-
- 安全检查合格率 - 92.3% -
-
- 本周安全事件 - 2起 -
-
- 整改完成率 - 87.5% -
-
- -
-

事件类型分布

-
-
- 高空作业违规 - 45% -
-
-
-
-
-
-
- 设备操作不当 - 30% -
-
-
-
-
-
-
- 现场管理疏漏 - 25% -
-
-
-
-
-
- -
-

安全趋势

-
- 本周变化 - +3.4% -
-
- 上月同期 - 91.2% -
-
- 目标值 - 95.0% -
-
-
- -
- -

优化建议

-

1. 加强高空作业安全培训与监督

-

2. 完善设备操作规范,实施持证上岗制度

-

3. 强化现场安全管理,增加巡查频次

-
-
-
- + +
+ + + + + + + - \ No newline at end of file +