From 95d37fab45d885d3c626da2af270ae4d2c4141ba Mon Sep 17 00:00:00 2001 From: haha Date: Wed, 21 May 2025 00:47:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=B3=E5=8A=A1=E7=AE=A1=E7=90=86=E5=A4=A7?= =?UTF-8?q?=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yanzhu-bigscreen/src/api/index.js | 4 +- yanzhu-bigscreen/src/api/labor.js | 74 ++ yanzhu-bigscreen/src/views/greenCarbon.vue | 2 +- yanzhu-bigscreen/src/views/projectLabor.vue | 662 ++++++++---------- .../mapper/manage/ProProjectInfoMapper.xml | 3 +- .../manage/SurProjectAttendanceDataMapper.xml | 2 +- .../controller/bigscreen/LaborController.java | 2 +- ...roProjectInfoSubdeptsUsersServiceImpl.java | 2 +- .../SurProjectAttendanceUserServiceImpl.java | 2 +- 9 files changed, 395 insertions(+), 358 deletions(-) create mode 100644 yanzhu-bigscreen/src/api/labor.js diff --git a/yanzhu-bigscreen/src/api/index.js b/yanzhu-bigscreen/src/api/index.js index 182e2ef2..e2d5bb40 100644 --- a/yanzhu-bigscreen/src/api/index.js +++ b/yanzhu-bigscreen/src/api/index.js @@ -9,7 +9,8 @@ import safety from "./safety"; import tower from "./tower"; import powerIot from "./powerIot"; import aiWarning from "./aiWarning"; -import planSchedule from './planSchedule'; +import planSchedule from "./planSchedule"; +import labor from "./labor"; export default { http: axios, downFile: download, @@ -24,4 +25,5 @@ export default { powerIot, aiWarning, planSchedule, + labor, }; diff --git a/yanzhu-bigscreen/src/api/labor.js b/yanzhu-bigscreen/src/api/labor.js new file mode 100644 index 00000000..f0f09aad --- /dev/null +++ b/yanzhu-bigscreen/src/api/labor.js @@ -0,0 +1,74 @@ +import request from "@/utils/request"; +/** + * 分组统计人员年龄,省份统计信息 + * @param {*} type + * @param {*} prjId + * @returns + */ +const groupByWorker = (type, prjId) => { + return request({ + url: `/manage/bgscreen/labor/groupByWorker/${type}/${prjId}`, + method: "get", + }); +}; + +/** + * 劳务人员七天出勤趋势 + * @param {*} type + * @param {*} prjId + * @returns + */ +const groupAttendanceLastWeek = (type, prjId) => { + return request({ + url: `/manage/bgscreen/labor/groupAttendanceLastWeek/${type}/${prjId}`, + method: "get", + }); +}; + +/** + * 劳务人员工种占比 + * @param {*} type + * @param {*} prjId + * @returns + */ +const getWorkerCountGroupByType = (type, prjId) => { + return request({ + url: `/manage/bgscreen/labor/getWorkerCountGroupByType/${type}/${prjId}`, + method: "get", + }); +}; + +/** + * 实时考勤进出 + * @param {*} type + * @param {*} prjId + * @returns + */ +const getRealAttendance = (type, prjId) => { + return request({ + url: `/manage/bgscreen/labor/getRealAttendance/${type}/${prjId}`, + method: "get", + }); +}; + +/** + * 考勤预警 + * @param {*} type + * @param {*} prjId + * @returns + */ +const getAttendanceAlert = (type, prjId) => { + return request({ + url: `/manage/bgscreen/labor/getAttendanceAlert/${type}/${prjId}`, + method: "get", + }); +}; + +export default { + groupByWorker, + groupAttendanceLastWeek, + getWorkerCountGroupByType, + groupAttendanceLastWeek, + getRealAttendance, + getAttendanceAlert, +}; diff --git a/yanzhu-bigscreen/src/views/greenCarbon.vue b/yanzhu-bigscreen/src/views/greenCarbon.vue index 3f16b039..f599dede 100644 --- a/yanzhu-bigscreen/src/views/greenCarbon.vue +++ b/yanzhu-bigscreen/src/views/greenCarbon.vue @@ -539,7 +539,7 @@ export default { left: '5%', right: '5%', bottom: '0%', - top: '15%', + top: '5%', containLabel: true, }, tooltip: { diff --git a/yanzhu-bigscreen/src/views/projectLabor.vue b/yanzhu-bigscreen/src/views/projectLabor.vue index fd0ac0c1..5400a617 100644 --- a/yanzhu-bigscreen/src/views/projectLabor.vue +++ b/yanzhu-bigscreen/src/views/projectLabor.vue @@ -2,10 +2,43 @@
- +
+
+
在岗人员
+
今日出勤
+
+ + +
+
+ +
+
+
+
+ {{ attendanceTotal }} 人 +
+

{{ attendanceNav == 0 ? "在岗人员" : "今日出勤" }}

+
+
+ + + +
+
+
+ + + + + - -
@@ -15,7 +48,9 @@ - + + +
@@ -23,13 +58,24 @@