diff --git a/js/pages/dataAnalysisOctober/engineeringSafetyAnalysis.js b/js/pages/dataAnalysisOctober/engineeringSafetyAnalysis.js
index 898402c..c2599a9 100644
--- a/js/pages/dataAnalysisOctober/engineeringSafetyAnalysis.js
+++ b/js/pages/dataAnalysisOctober/engineeringSafetyAnalysis.js
@@ -1,5 +1,6 @@
let table, layer, form, laydate;
-let myChart = null, myChart2 = null;
+let ballMachineData = [] // 存储球机列表数据
+let selectedBallName = "" // 当前选中的球机名称
layui.use(['layer', 'table', 'form', 'laydate'], function () {
layer = layui.layer;
table = layui.table;
@@ -15,9 +16,6 @@ layui.use(['layer', 'table', 'form', 'laydate'], function () {
initTable();
// 工程安全分析-球机列表
getBallSelect()
-
- initTable2();
-
});
function initTable(startTime, endTime) {
@@ -71,10 +69,10 @@ function query() {
endTime = "";
}
initTable(startTime, endTime);
+ initTable2(startTime, endTime,selectedBallName);
}
function getBallSelect() {
-
const url = commonUrl + "screen/proSafety/selectBallSelect"
ajaxRequestGet(
url,
@@ -101,60 +99,51 @@ function getBallSelect() {
/* 实时检测赋值 */
function setData(data) {
- if (data) {
- console.log(data)
- const dynamicList = document.getElementById('dynamic-list');
- dynamicList.innerHTML = ''; // 清空现有内容
+ if (data && data.length > 0) {
+ ballMachineData = data
+
+ const dynamicList = document.getElementById("dynamic-list")
+ dynamicList.innerHTML = "" // 清空现有内容
data.forEach((item, index) => {
- const listItem = document.createElement('li');
- listItem.className = index === 0 ? 'layout check' : 'layout nocheck';
- listItem.textContent = item.ballName;
- listItem.onclick = function() {
- changeDynamicData(this, index);
- };
- dynamicList.appendChild(listItem);
- });
+ const listItem = document.createElement("li")
+ listItem.className = index === 0 ? "layout check" : "layout nocheck"
+ listItem.textContent = item.ballName
+ listItem.onclick = function () {
+ changeDynamicData(this, index)
+ }
+ dynamicList.appendChild(listItem)
+ })
+
+ if (data.length > 0) {
+ selectedBallName = data[0].ballName
+ // 获取当前时间范围
+ const startTime = $("#ID-laydate-start-date-1").val() || ""
+ const endTime = $("#ID-laydate-end-date-1").val() || ""
+ // 加载第一个球机的视频数据
+ initTable2(startTime, endTime, selectedBallName)
+ }
}
}
- function changeDynamicData(element, index){
+ function changeDynamicData(element, index) {
// 移除所有选中状态
- const dynamicItems = document.querySelectorAll('#dynamic-list .layout');
- dynamicItems.forEach(item => {
- item.className = 'layout nocheck';
- });
+ const dynamicItems = document.querySelectorAll("#dynamic-list .layout")
+ dynamicItems.forEach((item) => {
+ item.className = "layout nocheck"
+ })
// 设置当前选中项
- element.className = 'layout check';
+ element.className = "layout check"
- // 显示选中项信息
- const selectedItem = responseData.data[index];
- const display = document.getElementById('selected-data');
+ selectedBallName = ballMachineData[index].ballName
- let displayHTML = `
-
选中项: ${selectedItem.ballName}
- 索引: ${index}
- `;
-
- // 添加其他非空字段
- Object.keys(selectedItem).forEach(key => {
- if (selectedItem[key] !== null && key !== 'ballName') {
- displayHTML += `${key}: ${selectedItem[key]}
`;
- }
- });
- display.innerHTML = displayHTML;
+ // 获取当前时间范围
+ const startTime = $("#ID-laydate-start-date-1").val() || ""
+ const endTime = $("#ID-laydate-end-date-1").val() || ""
+ // 重新加载视频数据
+ initTable2(startTime, endTime, selectedBallName)
}
- // 页面加载完成后初始化
- window.onload = function() {
- // 默认选中第一个动态项
- const firstDynamicItem = document.querySelector('#dynamic-list .layout');
- if (firstDynamicItem) {
- changeDynamicData(firstDynamicItem, 0);
- }
- };
-
-
}
function initTable2(startTime, endTime,ballName) {
@@ -168,125 +157,152 @@ function initTable2(startTime, endTime,ballName) {
"Authorization": token
},
data: {
- startTime:'2025-10-12',
- endTime:'2025-10-17',
- ballName:'测试球机',
+ startTime:startTime,
+ endTime:endTime,
+ ballName:ballName,
page: '1',
limit: '10'
},
- success: function (data) {
- const container = document.getElementById('demo2-container');
- container.innerHTML = ''; // 清空容器
+ success: (response) => {
+ const container = document.getElementById("demo2-container")
+ container.innerHTML = "" // 清空容器
+
+ if (response.code === 0 && response.data && response.data.length > 0) {
+ response.data.forEach((item) => {
+ const card = document.createElement("div")
+ card.className = "card"
+ card.style.cssText = `width: calc(20% - 10px);height: 150px;display: flex;flex-direction: column;overflow: hidden;cursor: pointer;`
- if (data.data && data.data.length > 0) {
- data.data.forEach(item => {
- const card = document.createElement('div');
- card.className = 'card';
- card.style.cssText = ` width: calc(20% - 10px);height: 150px;background-color: #1a3a4c;border: none;border-radius: 8px;display: flex;flex-direction: column;overflow: hidden;`;
// 创建图片区域
- const imgDiv = document.createElement('div');
- imgDiv.style.cssText = ` flex: 1;background-color: #2a4a5c;display: flex;align-items: center;justify-content: center;color: #fff;font-size: 12px;`;
- imgDiv.textContent = data.name;
- card.appendChild(imgDiv);
+ const imgDiv = document.createElement("div")
+ imgDiv.style.cssText = `flex: 1;display: flex;align-items: center;justify-content: center;overflow: hidden;`
+
+ // 显示实际图片
+ if (item.imagePath) {
+ const img = document.createElement("img")
+ img.src = commonUrl + item.imagePath // 拼接完整图片路径
+ img.style.cssText = `width: 100%;height: 100%;object-fit: cover;`
+ img.onerror = function () {
+ // 图片加载失败时显示文字
+ this.style.display = "none"
+ imgDiv.innerHTML = `${item.name || "图片加载失败"}`
+ }
+ imgDiv.appendChild(img)
+ } else {
+ imgDiv.innerHTML = `${item.name || "暂无图片"}`
+ }
+
+ card.appendChild(imgDiv)
+
// 创建信息区域
- const infoDiv = document.createElement('div');
- infoDiv.style.cssText = `padding: 5px;background-color: #1a3a4c;color: #fff;font-size: 12px;display: flex;justify-content: space-between;`;
+ const infoDiv = document.createElement("div")
+ infoDiv.style.cssText = `padding: 5px;color: #fff;font-size: 12px;display: flex;justify-content: space-between;`
- const dateSpan = document.createElement('span');
- dateSpan.textContent = item.createTime;
+ const dateSpan = document.createElement("span")
+ dateSpan.textContent = item.createTime || "XXX-XX-XX"
- const statusSpan = document.createElement('span');
- statusSpan.textContent = data.name;
+ const statusSpan = document.createElement("span")
+ statusSpan.textContent = item.name || "未知"
- infoDiv.appendChild(dateSpan);
- infoDiv.appendChild(statusSpan);
- card.appendChild(infoDiv);
+ infoDiv.appendChild(dateSpan)
+ infoDiv.appendChild(statusSpan)
+ card.appendChild(infoDiv)
- container.appendChild(card);
- });
+ container.appendChild(card)
+ })
// 添加 Layui 分页
- layui.use('laypage', function () {
- var laypage = layui.laypage;
+ layui.use("laypage", () => {
+ var laypage = layui.laypage
laypage.render({
- elem: 'demo2-pagination', // 分页容器ID
- count: data.data.length, // 总条数
- limit: 10, // 每页显示条数
- curr: 1, // 当前页
- layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'], // 布局
- prev: '', // 上一页图标
- next: '', // 下一页图标
- theme: '#3ACAB8', // 主题色
- jump: function (obj, first) {
- if (!first) { // 非首次触发
- // 获取当前页码和每页条数
- const currentPage = obj.curr;
- const pageSize = obj.limit;
+ elem: "demo2-pagination",
+ count: response.total || response.data.length, // 使用total字段
+ limit: 10,
+ curr: 1,
+ layout: ["prev", "page", "next", "skip", "count", "limit"],
+ prev: '',
+ next: '',
+ theme: "#3ACAB8",
+ jump: (obj, first) => {
+ if (!first) {
+ const currentPage = obj.curr
+ const pageSize = obj.limit
- // 计算起始索引和结束索引
- const startIndex = (currentPage - 1) * pageSize;
- const endIndex = startIndex + pageSize;
-
- // 重新获取数据(这里需要根据实际API调整)
+ // 重新获取数据
$.ajax({
- url: commonUrl + "screen/proSafety/selectProSafetyVideo",
+ url: url,
type: "get",
headers: {
- "decrypt": "decrypt",
- "Authorization": token
+ decrypt: "decrypt",
+ Authorization: token,
},
data: {
- startTime:startTime,
- endTime:endTime,
- ballName:ballName,
+ startTime: startTime,
+ endTime: endTime,
+ ballName: ballName,
page: currentPage,
- limit: pageSize
+ limit: pageSize,
},
- success: function (data) {
- // 清空容器
- const container = document.getElementById('demo2-container');
- container.innerHTML = '';
+ success: (pageResponse) => {
+ const container = document.getElementById("demo2-container")
+ container.innerHTML = ""
- // 渲染当前页的数据
- if (data.data && data.data.length > 0) {
- const pageData = data.data.slice(startIndex, endIndex);
+ if (pageResponse.code === 0 && pageResponse.data && pageResponse.data.length > 0) {
+ pageResponse.data.forEach((item) => {
+ const card = document.createElement("div")
+ card.className = "card"
+ card.style.cssText = `width: calc(20% - 10px);height: 150px;display: flex;flex-direction: column;overflow: hidden;cursor: pointer;`
- pageData.forEach(item => {
- const card = document.createElement('div');
- card.className = 'card';
- card.style.cssText = ` width: calc(20% - 10px);height: 150px;background-color: #1a3a4c;border: none;border-radius: 8px;display: flex;flex-direction: column;overflow: hidden;`;
+ const imgDiv = document.createElement("div")
+ imgDiv.style.cssText = `flex: 1;display: flex;align-items: center;justify-content: center;overflow: hidden;`
- // 创建图片区域
- const imgDiv = document.createElement('div');
- imgDiv.style.cssText = ` flex: 1;background-color: #2a4a5c;display: flex;align-items: center;justify-content: center;color: #fff;font-size: 12px;`;
- imgDiv.textContent = '未带安全帽';
- card.appendChild(imgDiv);
+ if (item.imagePath) {
+ const img = document.createElement("img")
+ img.src = commonUrl + item.imagePath
+ img.style.cssText = `width: 100%;height: 100%;object-fit: cover;`
+ img.onerror = function () {
+ this.style.display = "none"
+ imgDiv.innerHTML = `${item.name || "图片加载失败"}`
+ }
+ imgDiv.appendChild(img)
+ } else {
+ imgDiv.innerHTML = `${item.name || "暂无图片"}`
+ }
- // 创建信息区域
- const infoDiv = document.createElement('div');
- infoDiv.style.cssText = ` padding: 5px;background-color: #1a3a4c;color: #fff;font-size: 12px;display: flex;justify-content: space-between;`;
+ card.appendChild(imgDiv)
- const dateSpan = document.createElement('span');
- dateSpan.textContent = item.date || 'XXX-XX-XX';
+ const infoDiv = document.createElement("div")
+ infoDiv.style.cssText = `padding: 5px;color: #fff;font-size: 12px;display: flex;justify-content: space-between;`
- const statusSpan = document.createElement('span');
- statusSpan.textContent = '未带安全帽';
+ const dateSpan = document.createElement("span")
+ dateSpan.textContent = item.createTime || "XXX-XX-XX"
- infoDiv.appendChild(dateSpan);
- infoDiv.appendChild(statusSpan);
- card.appendChild(infoDiv);
+ const statusSpan = document.createElement("span")
+ statusSpan.textContent = item.name || "未知"
- container.appendChild(card);
- });
+ infoDiv.appendChild(dateSpan)
+ infoDiv.appendChild(statusSpan)
+ card.appendChild(infoDiv)
+
+ container.appendChild(card)
+ })
}
- }
- });
+ },
+ })
}
- }
- });
- });
+ },
+ })
+ })
+ } else {
+ // 没有数据时显示提示
+ container.innerHTML = '暂无数据
'
}
- }
+ },
+ error: (xhr, status, error) => {
+ console.error("视频数据加载失败:", error)
+ const container = document.getElementById("demo2-container")
+ container.innerHTML = '数据加载失败
'
+ },
});
}
diff --git a/js/pages/dataAnalysisOctober/environDetection.js b/js/pages/dataAnalysisOctober/environDetection.js
index 0200732..63d0dd2 100644
--- a/js/pages/dataAnalysisOctober/environDetection.js
+++ b/js/pages/dataAnalysisOctober/environDetection.js
@@ -209,6 +209,31 @@ function initTemperatureHumidityChart(timeData, temperatureData, humidityData) {
},
},
],
+ "dataZoom": [{
+ "show": true,
+ "height": 12,
+ "xAxisIndex": [
+ 0
+ ],
+ bottom:'8%',
+ "start": 10,
+ "end": 90,
+ handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z',
+ handleSize: '110%',
+ handleStyle:{
+ color:"#d3dee5",
+
+ },
+ textStyle:{
+ color:"#fff"},
+ borderColor:"#90979c"
+ }, {
+ "type": "inside",
+ "show": true,
+ "height": 15,
+ "start": 1,
+ "end": 35
+ }],
series: [
{
name: "温度",
@@ -312,6 +337,31 @@ function initNoiseChart(timeData, noiseData) {
}
}
},
+ "dataZoom": [{
+ "show": true,
+ "height": 12,
+ "xAxisIndex": [
+ 0
+ ],
+ bottom:'8%',
+ "start": 10,
+ "end": 90,
+ handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z',
+ handleSize: '110%',
+ handleStyle:{
+ color:"#d3dee5",
+
+ },
+ textStyle:{
+ color:"#fff"},
+ borderColor:"#90979c"
+ }, {
+ "type": "inside",
+ "show": true,
+ "height": 15,
+ "start": 1,
+ "end": 35
+ }],
series: [
{
name: '噪声',
@@ -403,6 +453,31 @@ function initWindSpeedChart(timeData, noiseData) {
}
}
},
+ "dataZoom": [{
+ "show": true,
+ "height": 12,
+ "xAxisIndex": [
+ 0
+ ],
+ bottom:'8%',
+ "start": 10,
+ "end": 90,
+ handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z',
+ handleSize: '110%',
+ handleStyle:{
+ color:"#d3dee5",
+
+ },
+ textStyle:{
+ color:"#fff"},
+ borderColor:"#90979c"
+ }, {
+ "type": "inside",
+ "show": true,
+ "height": 15,
+ "start": 1,
+ "end": 35
+ }],
series: [
{
name: '噪声',
@@ -523,6 +598,31 @@ function initAirQualityChart(timeData, pm25Data, pm10Data) {
}
}
},
+ "dataZoom": [{
+ "show": true,
+ "height": 12,
+ "xAxisIndex": [
+ 0
+ ],
+ bottom:'8%',
+ "start": 10,
+ "end": 90,
+ handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z',
+ handleSize: '110%',
+ handleStyle:{
+ color:"#d3dee5",
+
+ },
+ textStyle:{
+ color:"#fff"},
+ borderColor:"#90979c"
+ }, {
+ "type": "inside",
+ "show": true,
+ "height": 15,
+ "start": 1,
+ "end": 35
+ }],
series: [
{
name: 'PM2.5',
diff --git a/js/pages/dataAnalysisOctober/proQualityAnalysis.js b/js/pages/dataAnalysisOctober/proQualityAnalysis.js
index 6020bc3..12b4bbf 100644
--- a/js/pages/dataAnalysisOctober/proQualityAnalysis.js
+++ b/js/pages/dataAnalysisOctober/proQualityAnalysis.js
@@ -270,6 +270,31 @@ function initCivilEngineering(acceptItem, notAcceptItem,nameTitle) {
color: '#BDC2C2',
},
},
+ "dataZoom": [{
+ "show": true,
+ "height": 12,
+ "xAxisIndex": [
+ 0
+ ],
+ bottom:'8%',
+ "start": 10,
+ "end": 90,
+ handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z',
+ handleSize: '110%',
+ handleStyle:{
+ color:"#d3dee5",
+
+ },
+ textStyle:{
+ color:"#fff"},
+ borderColor:"#90979c"
+ }, {
+ "type": "inside",
+ "show": true,
+ "height": 15,
+ "start": 1,
+ "end": 35
+ }],
series: [
{
type: 'custom',
@@ -617,6 +642,31 @@ function initElectrical(acceptItem, notAcceptItem,nameTitle) {
color: '#BDC2C2',
},
},
+ "dataZoom": [{
+ "show": true,
+ "height": 12,
+ "xAxisIndex": [
+ 0
+ ],
+ bottom:'8%',
+ "start": 10,
+ "end": 90,
+ handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z',
+ handleSize: '110%',
+ handleStyle:{
+ color:"#d3dee5",
+
+ },
+ textStyle:{
+ color:"#fff"},
+ borderColor:"#90979c"
+ }, {
+ "type": "inside",
+ "show": true,
+ "height": 15,
+ "start": 1,
+ "end": 35
+ }],
series: [
{
type: 'custom',
diff --git a/js/pages/dataAnalysisOctober/projectProgress.js b/js/pages/dataAnalysisOctober/projectProgress.js
index 9cb3359..bbd4f8b 100644
--- a/js/pages/dataAnalysisOctober/projectProgress.js
+++ b/js/pages/dataAnalysisOctober/projectProgress.js
@@ -76,7 +76,6 @@ function getProProgress(startTime, endTime) {
var civilEngineeringEchartsData = civilEngineeringData["echarts"];
getCivilEngineering(civilEngineeringEchartsData)
var civilEngineeringPercentData = civilEngineeringData["percent"];
-
initCivilEngineeringPercent(civilEngineeringPercentData)
}
@@ -216,6 +215,31 @@ function initCivilEngineering(date, plannedCount, actualCount) {
show: false,
},
}],
+ "dataZoom": [{
+ "show": true,
+ "height": 12,
+ "xAxisIndex": [
+ 0
+ ],
+ bottom:'8%',
+ "start": 10,
+ "end": 90,
+ handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z',
+ handleSize: '110%',
+ handleStyle:{
+ color:"#d3dee5",
+
+ },
+ textStyle:{
+ color:"#fff"},
+ borderColor:"#90979c"
+ }, {
+ "type": "inside",
+ "show": true,
+ "height": 15,
+ "start": 1,
+ "end": 35
+ }],
series: [{
name: '计划',
type: 'line',
@@ -392,6 +416,31 @@ function initElectrical(date, plannedCount, actualCount) {
show: false,
},
}],
+ "dataZoom": [{
+ "show": true,
+ "height": 12,
+ "xAxisIndex": [
+ 0
+ ],
+ bottom:'8%',
+ "start": 10,
+ "end": 90,
+ handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z',
+ handleSize: '110%',
+ handleStyle:{
+ color:"#d3dee5",
+
+ },
+ textStyle:{
+ color:"#fff"},
+ borderColor:"#90979c"
+ }, {
+ "type": "inside",
+ "show": true,
+ "height": 15,
+ "start": 1,
+ "end": 35
+ }],
series: [{
name: '计划',
type: 'line',
diff --git a/js/pages/dataAnalysisOctober/resourceRateAnalysis.js b/js/pages/dataAnalysisOctober/resourceRateAnalysis.js
index 4101340..7acb544 100644
--- a/js/pages/dataAnalysisOctober/resourceRateAnalysis.js
+++ b/js/pages/dataAnalysisOctober/resourceRateAnalysis.js
@@ -46,6 +46,7 @@ function getDeviceEcharts(){
console.log( data['deviceEcharts'])
let deviceEchartsList = data['deviceEcharts']; //设备情况的echarts
let deviceUtilization = data.deviceUtilization; //设备利用率
+ document.getElementById("deviceUtilization").innerHTML = deviceUtilization +'%';
let efficiency = data['efficiency']; // 效率分析
getEfficiencyTable(efficiency)
let todayDutyRate = data.todayDutyRate; //今日到岗率
@@ -53,6 +54,7 @@ function getDeviceEcharts(){
let workerEcharts = data['workerEcharts']; //一周到岗人数趋势
getTrend(workerEcharts)
let workerUtilization = data.workerUtilization; //人员利用率
+ document.getElementById("workerUtilization").innerHTML = workerUtilization +'%';
let yesterdayDutyRate = data.yesterdayDutyRate; //昨日到岗率
document.getElementById("yesterdayDutyRate").innerHTML = yesterdayDutyRate +'%';
}
@@ -176,6 +178,31 @@ function initTrend(date,actualCount,shouldCount) {
show: false,
},
}],
+ "dataZoom": [{
+ "show": true,
+ "height": 12,
+ "xAxisIndex": [
+ 0
+ ],
+ bottom:'8%',
+ "start": 10,
+ "end": 90,
+ handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z',
+ handleSize: '110%',
+ handleStyle:{
+ color:"#d3dee5",
+
+ },
+ textStyle:{
+ color:"#fff"},
+ borderColor:"#90979c"
+ }, {
+ "type": "inside",
+ "show": true,
+ "height": 15,
+ "start": 1,
+ "end": 35
+ }],
series: [{
name: '实到',
type: 'line',
diff --git a/pages/dataAnalysisOctober/engineeringSafetyAnalysis.html b/pages/dataAnalysisOctober/engineeringSafetyAnalysis.html
index 3f3dda3..e296671 100644
--- a/pages/dataAnalysisOctober/engineeringSafetyAnalysis.html
+++ b/pages/dataAnalysisOctober/engineeringSafetyAnalysis.html
@@ -96,9 +96,9 @@
.card {
width: calc(20% - 10px); /* 每行五个,减去间距 */
height: 150px;
- background-color: #1a3a4c;
+ /*background-color: #1a3a4c;*/
border: none;
- border-radius: 8px;
+ /*border-radius: 8px;*/
display: flex;
flex-direction: column;
overflow: hidden;
diff --git a/pages/dataAnalysisOctober/resourceRateAnalysis.html b/pages/dataAnalysisOctober/resourceRateAnalysis.html
index 5786c11..9f0bf73 100644
--- a/pages/dataAnalysisOctober/resourceRateAnalysis.html
+++ b/pages/dataAnalysisOctober/resourceRateAnalysis.html
@@ -26,14 +26,13 @@
width: 100%;
height: 100%;
display: flex;
- flex-direction: row;
+ flex-direction: column;
}
.left-box {
width: 49.5%;
hegiht: 100%;
display: flex;
- flex-direction: column;
}
.right-box {
@@ -41,12 +40,11 @@
width: 49.5%;
hegiht: 100%;
display: flex;
- flex-direction: column;
}
.box-one {
width: 100%;
- height: 33%;
+ height: 100%;
}
.box-two {
@@ -265,7 +263,7 @@
.personnelStatus-top-box {
box-shadow: 0px 0px 4px 0px rgba(8, 220, 224, 0.8);
border-radius: 2px 2px 2px 2px;
- height: 100%;
+ height: 50%;
width: 32%;
display: flex;
flex-direction: column;
@@ -281,9 +279,9 @@
}
.personnel-card-title {
- font-size: 14px;
- margin: 15px 0 10px 0;
- text-align: center;
+ font-size: 18px;
+ margin: 50px 0 10px 20px;
+ text-align: left;
}
.personnel-stat-row {
@@ -468,61 +466,65 @@
-
-
-
-
75%
-
人员利用率
-
+
+
+
+
-
+
+
+
-
diff --git a/pages/dataAnalysisOctober/workerEfficiencyAnalysis.html b/pages/dataAnalysisOctober/workerEfficiencyAnalysis.html
new file mode 100644
index 0000000..960e77d
--- /dev/null
+++ b/pages/dataAnalysisOctober/workerEfficiencyAnalysis.html
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
工人效率分析
+
+
+
+
+
+
+
+