diff --git a/src/api/modules/goverment.ts b/src/api/modules/goverment.ts index c3ab6f3..bcfdb0e 100644 --- a/src/api/modules/goverment.ts +++ b/src/api/modules/goverment.ts @@ -377,6 +377,30 @@ export const workProjectList = (params: any) => { export const unitPageList = (params: any) => { return http.post(BASEURL + `/gov/company/page`, params); }; +// 参建班组分页数据 +export const classGroupList = (params: any) => { + return http.post(BASEURL + `/gov/teamInfo/page`, params); +}; +// 人员信息统计数据 +export const memberCountData = (params: any) => { + return http.post(BASEURL + `/gov/workerInfo/getByType`, params); +}; +// 人员信息分页数据 +export const memberPageList = (params: any) => { + return http.post(BASEURL + `/gov/workerInfo/page`, params); +}; +// 出勤列表分页数据 +export const attendancePageList = (params: any) => { + return http.post(BASEURL + `/gov/workerInfo/attendStat`, params); +}; +// 在册人员分页数据 +export const registerdMemberList = (params: any) => { + return http.post(BASEURL + `/gov/workerStat/workerPage?current=${params.current}&size=${params.size}`, params); +}; +// 在册人员详情数据 +export const registerdMemberDetails = (params: any) => { + return http.post(BASEURL + `/gov/workerStat/queryDetailBySn`, params); +}; // 列表查询视频管理表信息 // export const getVideo = (params: { projectSn?: string; engineeringSn?: string }) => { // return http.post>(BASEURL + `/gov/projectMonitor/engineeringTree`, params); diff --git a/src/assets/images/govermentImg/defaultAvatar.png b/src/assets/images/govermentImg/defaultAvatar.png new file mode 100644 index 0000000..0e81178 Binary files /dev/null and b/src/assets/images/govermentImg/defaultAvatar.png differ diff --git a/src/assets/images/govermentImg/female.png b/src/assets/images/govermentImg/female.png new file mode 100644 index 0000000..4cb1ada Binary files /dev/null and b/src/assets/images/govermentImg/female.png differ diff --git a/src/assets/images/govermentImg/male.png b/src/assets/images/govermentImg/male.png new file mode 100644 index 0000000..4d9296d Binary files /dev/null and b/src/assets/images/govermentImg/male.png differ diff --git a/src/views/enterprise/laborRealName/memberManage/components/addMemberForm.vue b/src/views/enterprise/laborRealName/memberManage/components/addMemberForm.vue index b041e7b..c8bb64d 100644 --- a/src/views/enterprise/laborRealName/memberManage/components/addMemberForm.vue +++ b/src/views/enterprise/laborRealName/memberManage/components/addMemberForm.vue @@ -650,8 +650,6 @@ onMounted(() => { width: stretch; } .overview { - // background-color: #fff; - flex: 1; .form { background-color: #fff; .form-title { diff --git a/src/views/goverment/laborRealName/memberSelect/components/memberDetails.vue b/src/views/goverment/laborRealName/memberSelect/components/memberDetails.vue index 0f9d3df..f964475 100644 --- a/src/views/goverment/laborRealName/memberSelect/components/memberDetails.vue +++ b/src/views/goverment/laborRealName/memberSelect/components/memberDetails.vue @@ -8,54 +8,56 @@
基本信息
- + - - + +
- - + + - - + +
- - + + - - + +
- - + + - - + +
- - + + - - + +
- - + + + + + + +
+
+ +
@@ -63,20 +65,32 @@
- +
- - - - + + + + + + + + +
@@ -97,9 +111,10 @@ diff --git a/src/views/goverment/laborRealName/projectSelect/components/projectDetails.vue b/src/views/goverment/laborRealName/projectSelect/components/projectDetails.vue index e5a4344..b60256a 100644 --- a/src/views/goverment/laborRealName/projectSelect/components/projectDetails.vue +++ b/src/views/goverment/laborRealName/projectSelect/components/projectDetails.vue @@ -80,77 +80,117 @@ + +
- - - - + + + + + + +
- 在册人员:1475 - 在册管理人员:42 - 在册建筑工人:1443 - 在职人员:438 - 在职管理人员:23 - 在职建筑工人:415 + 在册人员:{{ memberCountInfo.person }} + 在册管理人员:{{ memberCountInfo.manager }} + 在册建筑工人:{{ memberCountInfo.worker }} + 在职人员:{{ memberCountInfo.inPerson }} + 在职管理人员:{{ memberCountInfo.inManager }} + 在职建筑工人:{{ memberCountInfo.inWorker }}
企业名称 - + + + + 姓名 - + 人员类型 - - 查询 + + + + 查询
人员列表
-
-
+
+
- +
- 名字 + {{ item.personName }}
- 420581195606192999 + {{ item.idCard }}
-
建筑工人
-
公司: 中交隧道工程有限公司
-
班组: 主线
-
工种: 其他
-
电话: 13338237531
+
{{ item.personType == 1 ? "管理" : "工人" }}
+
公司: {{ item.companyName }}
+
班组: {{ item.teamName }}
+
工种: {{ item.workerTypeName }}
+
电话: {{ item.phone }}
+
+ notData +
暂无数据
+
- 角色类型 - + 人员类型 + + + 月份 - - 查询 + + + 查询
正常出勤 @@ -160,14 +200,14 @@
- + @@ -177,6 +217,15 @@ + +
@@ -200,7 +249,20 @@ import { onMounted, ref, watch, reactive, onBeforeMount } from "vue"; import Pagination from "@/components/ProTable/components/Pagination.vue"; import type { FormInstance } from "element-plus"; -import { unitPageList } from "@/api/modules/goverment"; +import { unitPageList, classGroupList, memberCountData, memberPageList, attendancePageList } from "@/api/modules/goverment"; +const typeOptions = ref([ + { label: "管理", value: 1 }, + { label: "工人", value: 2 } +]); +const memberSearch = ref({ + companySn: "", + personName: "", + personType: null +}); +const attendaceSearch = ref({ + personType: null, + month: "" +}); const props = defineProps({ detailsDialog: Boolean, title: String, @@ -217,11 +279,81 @@ const searchForm = ref({ type: "" }); const unitData = ref([]); +const classGroupData = ref([]); +const memberCountInfo = ref({}); +const memberListData = ref([]); +const attendanceListData = ref([]); const monthColumns: any = []; const visible1 = ref(false); const emits = defineEmits(["update:detailsDialog", "confirm"]); const ruleFormRef = ref(); const form = ref({}); +// 获取人员出勤列表数据 +const getAttendanceCountList = async () => { + console.log(form.value); + let requestData = { + current: pageable.value.pageNo, + size: pageable.value.pageSize, + engineeringSn: form.value.engineeringSn, + ...attendaceSearch.value + }; + console.log(666); + const { result } = await attendancePageList(requestData); + if (result && result.records) { + attendanceListData.value = result.records; + pageable.value.total = +result.total; + } + console.log(result); +}; +// 获取人员信息列表数据 +const getMemberCountList = async () => { + console.log(form.value); + let requestData = { + current: pageable.value.pageNo, + size: pageable.value.pageSize, + engineeringSn: form.value.engineeringSn, + ...memberSearch.value + }; + console.log(666); + const { result } = await memberPageList(requestData); + if (result && result.records) { + memberListData.value = result.records; + pageable.value.total = +result.total; + } + console.log(result); +}; +// 获取人员信息统计数据 +const getMemberCountData = async () => { + console.log(form.value); + let requestData = { + companySn: "", + personType: "", + engineeringSn: form.value.engineeringSn + }; + console.log(666); + const { result } = await memberCountData(requestData); + if (result) { + memberCountInfo.value = result; + } + console.log(result); +}; +// 获取参建班组数据 +const getClassGroupData = async () => { + console.log(form.value); + let requestData = { + current: pageable.value.pageNo, + size: pageable.value.pageSize, + engineeringSn: form.value.engineeringSn + }; + console.log(666); + const { result } = await classGroupList(requestData); + if (result && result.records) { + classGroupData.value = result.records; + pageable.value.total = +result.total; + } + console.log(result); +}; +// 获取参建单位数据 const getUnitData = async () => { console.log(form.value); let requestData = { @@ -239,13 +371,28 @@ const getUnitData = async () => { console.log(result); }; const handleClick = (tab: any, event: any) => { - console.log(tab, event); + console.log(tab.props.name); + pageable.value.pageNo = 1; + pageable.value.pageSize = 10; + let val = tab.props.name; + if (val == "first") { + getUnitData(); + } else if (val == "second") { + getClassGroupData(); + } else if (val == "third") { + getMemberCountData(); + getMemberCountList(); + } else if (val == "fourth") { + getAttendanceCountList(); + } }; const handleSizeChange = size => { console.log(size); + pageable.value.pageSize = size; }; const handleCurrentChange = currentPage => { console.log(currentPage); + pageable.value.pageNo = currentPage; }; // 重置表单 const resetForm = (formEl: FormInstance | undefined) => { @@ -418,6 +565,8 @@ onMounted(() => {}); } } .table { + height: 300px; + min-height: 300px; margin-top: 20px; .successCircle { @include successCircle(); @@ -435,12 +584,15 @@ onMounted(() => {}); } .member-list { display: flex; + flex-wrap: wrap; margin-top: 24px; .list-item { width: 352px; min-width: 352px; height: 201px; background: #f8f8f8; + margin-right: 13px; + margin-bottom: 20px; .avater-item { display: flex; margin-top: 12px; @@ -483,8 +635,19 @@ onMounted(() => {}); } } } + .table-empty { + display: flex; + justify-content: center; + align-items: center; + height: 100%; + flex-direction: column; + color: #999; + } } } + .statistics-page { + margin-top: 10px; + } .row { display: flex; justify-content: space-between; diff --git a/src/views/goverment/laborRealName/projectSelect/index.vue b/src/views/goverment/laborRealName/projectSelect/index.vue index c6dbd8e..44c3270 100644 --- a/src/views/goverment/laborRealName/projectSelect/index.vue +++ b/src/views/goverment/laborRealName/projectSelect/index.vue @@ -9,7 +9,7 @@
-
+
{{ item.engineeringName }} @@ -52,6 +52,10 @@
+
+ notData +
暂无数据
+
{ } .statistics-list { margin-top: 20px; - height: 892px; - overflow-y: scroll; + height: calc(100% - 92px); + .bottomCard { + height: 100%; + } + :deep() { + .el-card__body { + height: 100%; + } + } .statistics-item { display: flex; flex-wrap: wrap; + align-content: flex-start; justify-content: space-between; + height: calc(100% - 72px); + overflow-y: scroll; .item-child { width: 794px; min-width: 794px; @@ -146,7 +160,7 @@ onMounted(() => { background: #ffffff; opacity: 1; border: 1px solid #d9d9d9; - margin-bottom: 15px; + margin-bottom: 20px; .top-title { height: 56px; background: #f5f7f9; @@ -199,6 +213,17 @@ onMounted(() => { } } } + .table-empty { + display: flex; + justify-content: center; + align-items: center; + height: calc(100% - 72px); + flex-direction: column; + color: #999; + } + .statistics-page { + margin-top: 10px; + } } } diff --git a/src/views/project/laborRealName/memberManage/components/addMemberForm.vue b/src/views/project/laborRealName/memberManage/components/addMemberForm.vue index 26d6636..913a63e 100644 --- a/src/views/project/laborRealName/memberManage/components/addMemberForm.vue +++ b/src/views/project/laborRealName/memberManage/components/addMemberForm.vue @@ -650,8 +650,6 @@ onMounted(() => { width: stretch; } .overview { - // background-color: #fff; - flex: 1; .form { background-color: #fff; .form-title {