人员效能分析
-核心指标
-技能分布
-效能趋势
-优化建议
-1. 调整班组结构,平衡各工种人员分配,减少待工时间
-2. 加强新工人培训,提高工作效率
-3. 优化排班计划,减少不必要的加班
-From d8a0c2c70bef137985ffbd398bd956ef54b84711 Mon Sep 17 00:00:00 2001 From: lizhenhua <1075222162@qq.com> Date: Thu, 24 Jul 2025 00:04:42 +0800 Subject: [PATCH] kaifa gongnn --- api/commonRequest.js | 8 +- pages/newDataAnalysis/overallEfficiency.html | 1549 ++++++++---------- 2 files changed, 684 insertions(+), 873 deletions(-) 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); + }
调整混凝土搅拌机使用时段,增加夜间预制工作,预计可提升设备利用率15%
-开展焊工技能提升培训,同时外聘2名高级焊工,预计可缩短工期5天
-建立备用供应商机制,增加钢筋库存缓冲,确保施工连续性
-1. 调整班组结构,平衡各工种人员分配,减少待工时间
-2. 加强新工人培训,提高工作效率
-3. 优化排班计划,减少不必要的加班
-1. 优化混凝土搅拌机调度计划,增加使用时段
-2. 对塔式起重机进行预防性维护,减少故障率
-3. 重新分配闲置设备,提高整体利用率
-1. 重点监控2号楼进度,增加施工资源投入
-2. 优化关键路径任务分配,减少依赖等待时间
-3. 提前准备下阶段所需材料,避免进度延误
-1. 加强高空作业安全培训与监督
-2. 完善设备操作规范,实施持证上岗制度
-3. 强化现场安全管理,增加巡查频次
-