From 88400b2c3fecabe054461510b515bccd71053aba Mon Sep 17 00:00:00 2001
From: BianLzhaoMin <11485688+bianliangzhaomin123@user.noreply.gitee.com>
Date: Fri, 22 Aug 2025 18:16:39 +0800
Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=8E=A5=E5=8F=A3=E8=B0=83?=
=?UTF-8?q?=E8=AF=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/home-index/index.js | 25 ++
src/components/FilterQueryModel/index.vue | 314 ++++++------------
src/components/TableModel/index.vue | 13 +
.../dataOverviewProject/components/config.js | 27 +-
.../components/person-details.vue | 213 ++++++++++--
.../components/person-list.vue | 78 ++++-
6 files changed, 403 insertions(+), 267 deletions(-)
diff --git a/src/api/home-index/index.js b/src/api/home-index/index.js
index 719458c..1ff0e0f 100644
--- a/src/api/home-index/index.js
+++ b/src/api/home-index/index.js
@@ -74,3 +74,28 @@ export const getWorkerProjectListAPI = (data) => {
params: data,
})
}
+
+// 首页 三级页面 人员详情
+export const getWorkerDetailsAPI = (data) => {
+ return request({
+ url: '/bmw/homePageSub/getWorkerMsgById',
+ method: 'GET',
+ params: data,
+ })
+}
+// 首页 三级页面 人员考勤信息
+export const getWorkerAttendanceAPI = (data) => {
+ return request({
+ url: '/bmw/homePageSub/getWorkerLightMsg',
+ method: 'GET',
+ params: data,
+ })
+}
+// 首页 三级页面 人员合同信息
+export const getWorkerContractAPI = (data) => {
+ return request({
+ url: '/bmw/homePageSub/getWorkerNotFileMsg',
+ method: 'GET',
+ params: data,
+ })
+}
diff --git a/src/components/FilterQueryModel/index.vue b/src/components/FilterQueryModel/index.vue
index b6ae64b..95e65d3 100644
--- a/src/components/FilterQueryModel/index.vue
+++ b/src/components/FilterQueryModel/index.vue
@@ -21,9 +21,11 @@
>
+ >
+ {{ tag.label }}
+
@@ -78,8 +80,13 @@
diff --git a/src/views/home-index/components/dataOverviewProject/components/config.js b/src/views/home-index/components/dataOverviewProject/components/config.js
index 6a1e902..76c336f 100644
--- a/src/views/home-index/components/dataOverviewProject/components/config.js
+++ b/src/views/home-index/components/dataOverviewProject/components/config.js
@@ -135,19 +135,19 @@ export const teamColumnsList = [
export const personFormLabel = [
{
f_label: '姓名',
- f_model: 'projectName',
+ f_model: 'workerName',
f_type: 'ipt',
isShow: false, // 是否展示label
},
{
- f_label: '分包工程',
- f_model: 'projectName',
+ f_label: '分包名称',
+ f_model: 'subName',
f_type: 'ipt',
isShow: false, // 是否展示label
},
{
f_label: '工程名称',
- f_model: 'projectName',
+ f_model: 'proName',
f_type: 'ipt',
isShow: false, // 是否展示label
},
@@ -155,19 +155,18 @@ export const personFormLabel = [
// 人员信息列表字段
export const personColumnsList = [
- { t_props: 'userName', t_label: '姓名', t_slot: 'userName' },
- { t_props: 'projectName', t_label: '工种' },
+ { t_label: '姓名', t_slot: 'workerName' },
+ { t_props: 'postName', t_label: '工种' },
{
- t_props: 'redLightStatus',
t_label: '红绿灯状态',
- t_slot: 'redLightStatus',
+ t_slot: 'lightStatus',
},
- { t_props: 'projectName', t_label: '考勤状态' },
- { t_props: 'projectName', t_label: '性别' },
- { t_props: 'projectName', t_label: '年龄' },
- { t_props: 'projectName', t_label: '联系方式' },
- { t_props: 'projectName', t_label: '所属分包' },
- { t_props: 'projectName', t_label: '所属工程' },
+ { t_slot: 'isAtt', t_label: '考勤状态' },
+ { t_props: 'sex', t_label: '性别' },
+ { t_props: 'age', t_label: '年龄' },
+ { t_props: 'phone', t_label: '联系方式' },
+ { t_props: 'subName', t_label: '所属分包' },
+ { t_props: 'proName', t_label: '所属工程' },
]
// 弹框公共配置
diff --git a/src/views/home-index/components/dataOverviewProject/components/person-details.vue b/src/views/home-index/components/dataOverviewProject/components/person-details.vue
index a4c077f..7c82e50 100644
--- a/src/views/home-index/components/dataOverviewProject/components/person-details.vue
+++ b/src/views/home-index/components/dataOverviewProject/components/person-details.vue
@@ -26,7 +26,7 @@
- {{ item.value }}
+ {{ baseInfo[item.dataKey] }}
@@ -45,8 +45,28 @@
-
- {{ item.value }}
+
+ {{ baseInfo[item.dataKey] }}
+
+
+
+
+ 黄灯
+
+
+ 绿灯
+
@@ -134,12 +154,27 @@
{{ item.value }}
-
{{ item.value }}
-
+ -->
+
+
+ {{
+ contractAttachmentList.length > 0
+ ? contractAttachmentList.length
+ : '暂无'
+ }}
+
@@ -178,17 +213,44 @@
当前状态:
- 黄灯
+
+ {{ baseInfo.lightStatus == 1 ? '黄灯' : '绿灯' }}
+
-
+
- 合同见证
- 未上传
+
+ {{ item.key }}
+
+
+ {{ item.value == 1 ? '已上传' : '未上传' }}
+
-
+
注:1.黄灯状态:合同见证、工资卡见证未全部上传
@@ -221,14 +283,14 @@
class="contract-attachment-item"
>
-
上传时间:2025-05-06 10:10:10
+
上传时间:{{ uploadTime }}
@@ -236,48 +298,58 @@
diff --git a/src/views/home-index/components/dataOverviewProject/components/person-list.vue b/src/views/home-index/components/dataOverviewProject/components/person-list.vue
index 37f516a..a36dcf3 100644
--- a/src/views/home-index/components/dataOverviewProject/components/person-list.vue
+++ b/src/views/home-index/components/dataOverviewProject/components/person-list.vue
@@ -20,19 +20,33 @@
:formLabel="personFormLabel"
:columnsList="personColumnsList"
:request-api="getWorkerProjectListAPI"
- :sendParams="{ mainProId: selectCompany }"
+ :sendParams="{ mainProId: selectCompany, ...queryParams }"
>
-
+
- {{ data.userName }}
+ {{ data.workerName }}
+
-
-
- 红灯
-
+
+
+ 黄灯
+
+
+ 绿灯
+
+
+
+
+
+
+ 未考勤
+
+
+ 已考勤
+
@@ -42,7 +56,7 @@
@closeDialogOuter="handleCloseDialogOuterFive"
>
-
+
@@ -88,12 +102,25 @@ export default {
dialogConfigFour,
dialogConfigFive,
getWorkerProjectListAPI,
- queryParams: {},
+ queryParams: {
+ subCompanyId: '',
+ proStatus: '',
+ volLevel: '',
+ proType: '',
+ lightStatus: '',
+ startAge: '',
+ endAge: '',
+ sex: '',
+ isAtt: '',
+ proName: '',
+ },
commonSlots: [
'onSiteCount',
'todayAttendanceCount',
'redLightCount',
],
+
+ workerId: '',
}
},
methods: {
@@ -106,7 +133,7 @@ export default {
// 查看人员详情
onHandleCheckUserName(data) {
- console.log('查看人员详情', data)
+ this.workerId = data.workerId
this.dialogConfigFive.outerTitle = '人员详情'
this.dialogConfigFive.outerVisible = true
},
@@ -116,7 +143,36 @@ export default {
},
// 查询
- handelSettingQuery() {},
+ handelSettingQuery(query) {
+ const {
+ subCompanyId,
+ proStatus,
+ volLevel,
+ proType,
+ lightStatus,
+ age,
+ sex,
+ isAtt,
+ proName,
+ } = query
+
+ if (age) {
+ this.queryParams.startAge = age.split('-')[0]
+ this.queryParams.endAge = age.split('-')[1]
+ } else {
+ this.queryParams.startAge = ''
+ this.queryParams.endAge = ''
+ }
+
+ this.queryParams.subCompanyId = subCompanyId
+ this.queryParams.proStatus = proStatus
+ this.queryParams.volLevel = volLevel
+ this.queryParams.proType = proType
+ this.queryParams.lightStatus = lightStatus
+ this.queryParams.sex = sex
+ this.queryParams.isAtt = isAtt
+ this.queryParams.proName = proName
+ },
},
watch: {