This commit is contained in:
parent
4a60a16642
commit
6ff065f24f
|
|
@ -66,3 +66,11 @@ export const getTeamProjectListAPI = (data) => {
|
|||
params: data,
|
||||
})
|
||||
}
|
||||
// 首页 三级页面 班组信息列表 (人员列表)
|
||||
export const getWorkerProjectListAPI = (data) => {
|
||||
return request({
|
||||
url: '/bmw/homePageSub/getWorkerMsg',
|
||||
method: 'GET',
|
||||
params: data,
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@ export const constantRoutes = [
|
|||
path: '',
|
||||
component: Layout,
|
||||
redirect: 'index',
|
||||
permissions: ['home:page:query'],
|
||||
children: [
|
||||
{
|
||||
path: 'index',
|
||||
|
|
|
|||
|
|
@ -0,0 +1,279 @@
|
|||
<template>
|
||||
<!-- item4 在用班组 -->
|
||||
<div class="item-four">
|
||||
<!-- 班组信息弹框 -->
|
||||
<DialogModel
|
||||
:dialogConfig="dialogConfigThree"
|
||||
@closeDialogOuter="handleCloseDialogOuterThree"
|
||||
>
|
||||
<template slot="outerContent">
|
||||
<TableModel
|
||||
ref="teamTableRef"
|
||||
:formLabel="teamFormLabel"
|
||||
:columnsList="teamColumnsList"
|
||||
:sendParams="{ proId: proId, subId: subId }"
|
||||
:request-api="getTeamProjectListAPI"
|
||||
>
|
||||
<template
|
||||
:slot="item"
|
||||
slot-scope="{ data }"
|
||||
v-for="item in commonSlots"
|
||||
>
|
||||
<template>
|
||||
<CommonTableSlots
|
||||
:key="item"
|
||||
:rowData="data"
|
||||
:slotName="item"
|
||||
@handleCheckPersonCount="handleCheckPersonCount"
|
||||
/>
|
||||
</template>
|
||||
</template>
|
||||
</TableModel>
|
||||
</template>
|
||||
</DialogModel>
|
||||
|
||||
<!-- 人员信息弹框 -->
|
||||
<DialogModel
|
||||
:dialogConfig="dialogConfigFour"
|
||||
@closeDialogOuter="handleCloseDialogOuterFour"
|
||||
>
|
||||
<template slot="outerContent">
|
||||
<FilterQueryModel
|
||||
:isPersonFilter="true"
|
||||
@handelSettingQuery="handelSettingQuery"
|
||||
/>
|
||||
<TableModel
|
||||
ref="personTableRef"
|
||||
:formLabel="personFormLabel"
|
||||
:columnsList="personColumnsList"
|
||||
:testTableList="personTestTableList"
|
||||
>
|
||||
<!-- 人员姓名 -->
|
||||
<template slot="userName" slot-scope="{ data }">
|
||||
<span
|
||||
class="cursor-blue"
|
||||
@click="onHandleCheckUserName(data)"
|
||||
>
|
||||
{{ data.userName }}
|
||||
</span>
|
||||
</template>
|
||||
<!-- 红绿灯状态 -->
|
||||
<template slot="redLightStatus">
|
||||
<span
|
||||
style="
|
||||
color: #ff0000;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
"
|
||||
>
|
||||
红灯
|
||||
</span>
|
||||
</template>
|
||||
</TableModel>
|
||||
</template>
|
||||
</DialogModel>
|
||||
|
||||
<!-- 人员详情弹框 -->
|
||||
<DialogModel
|
||||
:dialogConfig="dialogConfigFive"
|
||||
@closeDialogOuter="handleCloseDialogOuterFive"
|
||||
>
|
||||
<template slot="outerContent">
|
||||
<PersonDetails />
|
||||
</template>
|
||||
</DialogModel>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import TableModel from '@/components/TableModel'
|
||||
import DialogModel from '@/components/DialogModel'
|
||||
import FilterQueryModel from '@/components/FilterQueryModel'
|
||||
import CommonTableSlots from './common-table-slots'
|
||||
import PersonDetails from './person-details'
|
||||
|
||||
import {
|
||||
getTotalProjectListAPI,
|
||||
getLotProjectListAPI,
|
||||
getSubProjectListAPI,
|
||||
getTeamProjectListAPI,
|
||||
} from '@/api/home-index/index'
|
||||
import {
|
||||
// 总工程
|
||||
allProjectFormLabel,
|
||||
allProjectColumnsList,
|
||||
allProjectTestTableList,
|
||||
// 子项目概况
|
||||
childColumnsList,
|
||||
childTestTableList,
|
||||
// 分包信息
|
||||
subFormLabel,
|
||||
subColumnsList,
|
||||
subTestTableList,
|
||||
// 班组信息
|
||||
teamFormLabel,
|
||||
teamColumnsList,
|
||||
teamTestTableList,
|
||||
// 人员信息
|
||||
personFormLabel,
|
||||
personColumnsList,
|
||||
personTestTableList,
|
||||
// 弹框配置
|
||||
dialogConfig,
|
||||
dialogConfigTwo,
|
||||
dialogConfigThree,
|
||||
dialogConfigFour,
|
||||
dialogConfigFive,
|
||||
} from './config'
|
||||
export default {
|
||||
name: 'ItemFour',
|
||||
props: {
|
||||
selectCompany: {
|
||||
type: [Number, String],
|
||||
default: '',
|
||||
},
|
||||
},
|
||||
components: {
|
||||
TableModel,
|
||||
DialogModel,
|
||||
FilterQueryModel,
|
||||
CommonTableSlots,
|
||||
PersonDetails,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
allProjectFormLabel,
|
||||
allProjectColumnsList,
|
||||
allProjectTestTableList,
|
||||
childColumnsList,
|
||||
childTestTableList,
|
||||
subFormLabel,
|
||||
subColumnsList,
|
||||
subTestTableList,
|
||||
teamFormLabel,
|
||||
teamColumnsList,
|
||||
teamTestTableList,
|
||||
personFormLabel,
|
||||
personColumnsList,
|
||||
personTestTableList,
|
||||
dialogConfig,
|
||||
dialogConfigTwo,
|
||||
dialogConfigThree,
|
||||
dialogConfigFour,
|
||||
dialogConfigFive,
|
||||
getTotalProjectListAPI,
|
||||
getLotProjectListAPI,
|
||||
getSubProjectListAPI,
|
||||
getTeamProjectListAPI,
|
||||
queryParams: {},
|
||||
|
||||
commonSlots: [
|
||||
'onSiteCount',
|
||||
'todayAttendanceCount',
|
||||
'redLightCount',
|
||||
],
|
||||
|
||||
mainProId: '', // 总工程id
|
||||
proId: '', // 标段工程id
|
||||
subId: '', // 分包id
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 点击工程数量
|
||||
onHandleCheckProjectCount(data) {
|
||||
console.log(data)
|
||||
this.mainProId = data.mainProId
|
||||
this.dialogConfig.outerTitle = '工程信息'
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
// 总工程导出
|
||||
handleExportAllProject(queryParams) {
|
||||
this.download(
|
||||
'/bmw/homePageSub/mainProExport',
|
||||
{
|
||||
...queryParams,
|
||||
},
|
||||
`总工程列表.xlsx`,
|
||||
)
|
||||
},
|
||||
|
||||
// 关闭子项目概况弹框
|
||||
handleCloseDialogOuter(value) {
|
||||
this.dialogConfig.outerVisible = value
|
||||
},
|
||||
|
||||
// 关闭分包信息弹框
|
||||
handleCloseDialogOuterTwo(value) {
|
||||
this.dialogConfigTwo.outerVisible = value
|
||||
},
|
||||
|
||||
// 关闭班组信息弹框
|
||||
handleCloseDialogOuterThree(value) {
|
||||
this.dialogConfigThree.outerVisible = value
|
||||
},
|
||||
|
||||
// 关闭人员信息弹框
|
||||
handleCloseDialogOuterFour(value) {
|
||||
this.dialogConfigFour.outerVisible = value
|
||||
},
|
||||
// 关闭人员详情弹框
|
||||
handleCloseDialogOuterFive(value) {
|
||||
this.dialogConfigFive.outerVisible = value
|
||||
},
|
||||
|
||||
// 获取筛选条件
|
||||
handelSettingQuery(query) {
|
||||
console.log('筛选条件', query)
|
||||
this.queryParams = query
|
||||
},
|
||||
|
||||
// 查看分包数量
|
||||
onHandleCheckSubCount(data) {
|
||||
console.log('查看分包数量', data)
|
||||
this.proId = data.proId
|
||||
this.dialogConfigTwo.outerTitle = '分包信息'
|
||||
this.dialogConfigTwo.outerVisible = true
|
||||
},
|
||||
|
||||
// 查看班组数量
|
||||
onHandleCheckTeamCount(data) {
|
||||
console.log('查看班组数量', data)
|
||||
this.proId = data.proId
|
||||
this.subId = ''
|
||||
this.dialogConfigThree.outerTitle = '班组信息'
|
||||
this.dialogConfigThree.outerVisible = true
|
||||
},
|
||||
|
||||
// 查看班组数量 从分包点击查看班组
|
||||
onHandleCheckTeamCountInSub(data) {
|
||||
this.subId = data.subId
|
||||
this.dialogConfigThree.outerTitle = '班组信息'
|
||||
this.dialogConfigThree.outerVisible = true
|
||||
},
|
||||
|
||||
// 查看人员信息
|
||||
handleCheckPersonCount(data) {
|
||||
console.log('查看人员信息', data)
|
||||
this.dialogConfigFour.outerTitle = '人员信息'
|
||||
this.dialogConfigFour.outerVisible = true
|
||||
},
|
||||
|
||||
// 查看人员详情
|
||||
onHandleCheckUserName(data) {
|
||||
console.log('查看人员详情', data)
|
||||
this.dialogConfigFive.outerTitle = '人员详情'
|
||||
this.dialogConfigFive.outerVisible = true
|
||||
},
|
||||
},
|
||||
|
||||
watch: {
|
||||
selectCompany: {
|
||||
handler() {
|
||||
// this.getTotalProjectList()
|
||||
this.$refs.allProjectTableRef.getTableList()
|
||||
},
|
||||
deep: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
@ -0,0 +1,320 @@
|
|||
<template>
|
||||
<!-- item3 在用分包单位 -->
|
||||
<div class="item-three">
|
||||
<!-- 分包信息弹框 -->
|
||||
<DialogModel
|
||||
:dialogConfig="dialogConfigTwo"
|
||||
@closeDialogOuter="handleCloseDialogOuterTwo"
|
||||
>
|
||||
<!-- 外层弹框 -->
|
||||
<template slot="outerContent">
|
||||
<TableModel
|
||||
ref="subTableRef"
|
||||
:formLabel="subFormLabel"
|
||||
:columnsList="subColumnsList"
|
||||
:request-api="getSubProjectListAPI"
|
||||
:sendParams="{ proId: proId }"
|
||||
>
|
||||
<!-- 在场班组数量 -->
|
||||
<template slot="teamCount" slot-scope="{ data }">
|
||||
<span
|
||||
class="cursor-blue"
|
||||
@click="onHandleCheckTeamCountInSub(data)"
|
||||
>
|
||||
{{ data.teamCount }}
|
||||
</span>
|
||||
</template>
|
||||
<template
|
||||
:slot="item"
|
||||
slot-scope="{ data }"
|
||||
v-for="item in commonSlots"
|
||||
>
|
||||
<template>
|
||||
<CommonTableSlots
|
||||
:key="item"
|
||||
:rowData="data"
|
||||
:slotName="item"
|
||||
@handleCheckPersonCount="handleCheckPersonCount"
|
||||
/>
|
||||
</template>
|
||||
</template>
|
||||
</TableModel>
|
||||
</template>
|
||||
</DialogModel>
|
||||
|
||||
<!-- 班组信息弹框 -->
|
||||
<DialogModel
|
||||
:dialogConfig="dialogConfigThree"
|
||||
@closeDialogOuter="handleCloseDialogOuterThree"
|
||||
>
|
||||
<template slot="outerContent">
|
||||
<TableModel
|
||||
ref="teamTableRef"
|
||||
:formLabel="teamFormLabel"
|
||||
:columnsList="teamColumnsList"
|
||||
:sendParams="{ proId: proId, subId: subId }"
|
||||
:request-api="getTeamProjectListAPI"
|
||||
>
|
||||
<template
|
||||
:slot="item"
|
||||
slot-scope="{ data }"
|
||||
v-for="item in commonSlots"
|
||||
>
|
||||
<template>
|
||||
<CommonTableSlots
|
||||
:key="item"
|
||||
:rowData="data"
|
||||
:slotName="item"
|
||||
@handleCheckPersonCount="handleCheckPersonCount"
|
||||
/>
|
||||
</template>
|
||||
</template>
|
||||
</TableModel>
|
||||
</template>
|
||||
</DialogModel>
|
||||
|
||||
<!-- 人员信息弹框 -->
|
||||
<DialogModel
|
||||
:dialogConfig="dialogConfigFour"
|
||||
@closeDialogOuter="handleCloseDialogOuterFour"
|
||||
>
|
||||
<template slot="outerContent">
|
||||
<FilterQueryModel
|
||||
:isPersonFilter="true"
|
||||
@handelSettingQuery="handelSettingQuery"
|
||||
/>
|
||||
<TableModel
|
||||
ref="personTableRef"
|
||||
:formLabel="personFormLabel"
|
||||
:columnsList="personColumnsList"
|
||||
:testTableList="personTestTableList"
|
||||
>
|
||||
<!-- 人员姓名 -->
|
||||
<template slot="userName" slot-scope="{ data }">
|
||||
<span
|
||||
class="cursor-blue"
|
||||
@click="onHandleCheckUserName(data)"
|
||||
>
|
||||
{{ data.userName }}
|
||||
</span>
|
||||
</template>
|
||||
<!-- 红绿灯状态 -->
|
||||
<template slot="redLightStatus">
|
||||
<span
|
||||
style="
|
||||
color: #ff0000;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
"
|
||||
>
|
||||
红灯
|
||||
</span>
|
||||
</template>
|
||||
</TableModel>
|
||||
</template>
|
||||
</DialogModel>
|
||||
|
||||
<!-- 人员详情弹框 -->
|
||||
<DialogModel
|
||||
:dialogConfig="dialogConfigFive"
|
||||
@closeDialogOuter="handleCloseDialogOuterFive"
|
||||
>
|
||||
<template slot="outerContent">
|
||||
<PersonDetails />
|
||||
</template>
|
||||
</DialogModel>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import TableModel from '@/components/TableModel'
|
||||
import DialogModel from '@/components/DialogModel'
|
||||
import FilterQueryModel from '@/components/FilterQueryModel'
|
||||
import CommonTableSlots from './common-table-slots'
|
||||
import PersonDetails from './person-details'
|
||||
|
||||
import {
|
||||
getTotalProjectListAPI,
|
||||
getLotProjectListAPI,
|
||||
getSubProjectListAPI,
|
||||
getTeamProjectListAPI,
|
||||
} from '@/api/home-index/index'
|
||||
import {
|
||||
// 总工程
|
||||
allProjectFormLabel,
|
||||
allProjectColumnsList,
|
||||
allProjectTestTableList,
|
||||
// 子项目概况
|
||||
childColumnsList,
|
||||
childTestTableList,
|
||||
// 分包信息
|
||||
subFormLabel,
|
||||
subColumnsList,
|
||||
subTestTableList,
|
||||
// 班组信息
|
||||
teamFormLabel,
|
||||
teamColumnsList,
|
||||
teamTestTableList,
|
||||
// 人员信息
|
||||
personFormLabel,
|
||||
personColumnsList,
|
||||
personTestTableList,
|
||||
// 弹框配置
|
||||
dialogConfig,
|
||||
dialogConfigTwo,
|
||||
dialogConfigThree,
|
||||
dialogConfigFour,
|
||||
dialogConfigFive,
|
||||
} from './config'
|
||||
export default {
|
||||
name: 'ItemThree',
|
||||
props: {
|
||||
selectCompany: {
|
||||
type: [Number, String],
|
||||
default: '',
|
||||
},
|
||||
},
|
||||
components: {
|
||||
TableModel,
|
||||
DialogModel,
|
||||
FilterQueryModel,
|
||||
CommonTableSlots,
|
||||
PersonDetails,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
allProjectFormLabel,
|
||||
allProjectColumnsList,
|
||||
allProjectTestTableList,
|
||||
childColumnsList,
|
||||
childTestTableList,
|
||||
subFormLabel,
|
||||
subColumnsList,
|
||||
subTestTableList,
|
||||
teamFormLabel,
|
||||
teamColumnsList,
|
||||
teamTestTableList,
|
||||
personFormLabel,
|
||||
personColumnsList,
|
||||
personTestTableList,
|
||||
dialogConfig,
|
||||
dialogConfigTwo,
|
||||
dialogConfigThree,
|
||||
dialogConfigFour,
|
||||
dialogConfigFive,
|
||||
getTotalProjectListAPI,
|
||||
getLotProjectListAPI,
|
||||
getSubProjectListAPI,
|
||||
getTeamProjectListAPI,
|
||||
queryParams: {},
|
||||
|
||||
commonSlots: [
|
||||
'onSiteCount',
|
||||
'todayAttendanceCount',
|
||||
'redLightCount',
|
||||
],
|
||||
|
||||
mainProId: '', // 总工程id
|
||||
proId: '', // 标段工程id
|
||||
subId: '', // 分包id
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 点击工程数量
|
||||
onHandleCheckProjectCount(data) {
|
||||
console.log(data)
|
||||
this.mainProId = data.mainProId
|
||||
this.dialogConfig.outerTitle = '工程信息'
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
// 总工程导出
|
||||
handleExportAllProject(queryParams) {
|
||||
this.download(
|
||||
'/bmw/homePageSub/mainProExport',
|
||||
{
|
||||
...queryParams,
|
||||
},
|
||||
`总工程列表.xlsx`,
|
||||
)
|
||||
},
|
||||
|
||||
// 关闭子项目概况弹框
|
||||
handleCloseDialogOuter(value) {
|
||||
this.dialogConfig.outerVisible = value
|
||||
},
|
||||
|
||||
// 关闭分包信息弹框
|
||||
handleCloseDialogOuterTwo(value) {
|
||||
this.dialogConfigTwo.outerVisible = value
|
||||
},
|
||||
|
||||
// 关闭班组信息弹框
|
||||
handleCloseDialogOuterThree(value) {
|
||||
this.dialogConfigThree.outerVisible = value
|
||||
},
|
||||
|
||||
// 关闭人员信息弹框
|
||||
handleCloseDialogOuterFour(value) {
|
||||
this.dialogConfigFour.outerVisible = value
|
||||
},
|
||||
// 关闭人员详情弹框
|
||||
handleCloseDialogOuterFive(value) {
|
||||
this.dialogConfigFive.outerVisible = value
|
||||
},
|
||||
|
||||
// 获取筛选条件
|
||||
handelSettingQuery(query) {
|
||||
console.log('筛选条件', query)
|
||||
this.queryParams = query
|
||||
},
|
||||
|
||||
// 查看分包数量
|
||||
onHandleCheckSubCount(data) {
|
||||
console.log('查看分包数量', data)
|
||||
this.proId = data.proId
|
||||
this.dialogConfigTwo.outerTitle = '分包信息'
|
||||
this.dialogConfigTwo.outerVisible = true
|
||||
},
|
||||
|
||||
// 查看班组数量
|
||||
onHandleCheckTeamCount(data) {
|
||||
console.log('查看班组数量', data)
|
||||
this.proId = data.proId
|
||||
this.subId = ''
|
||||
this.dialogConfigThree.outerTitle = '班组信息'
|
||||
this.dialogConfigThree.outerVisible = true
|
||||
},
|
||||
|
||||
// 查看班组数量 从分包点击查看班组
|
||||
onHandleCheckTeamCountInSub(data) {
|
||||
this.subId = data.subId
|
||||
this.dialogConfigThree.outerTitle = '班组信息'
|
||||
this.dialogConfigThree.outerVisible = true
|
||||
},
|
||||
|
||||
// 查看人员信息
|
||||
handleCheckPersonCount(data) {
|
||||
console.log('查看人员信息', data)
|
||||
this.dialogConfigFour.outerTitle = '人员信息'
|
||||
this.dialogConfigFour.outerVisible = true
|
||||
},
|
||||
|
||||
// 查看人员详情
|
||||
onHandleCheckUserName(data) {
|
||||
console.log('查看人员详情', data)
|
||||
this.dialogConfigFive.outerTitle = '人员详情'
|
||||
this.dialogConfigFive.outerVisible = true
|
||||
},
|
||||
},
|
||||
|
||||
watch: {
|
||||
selectCompany: {
|
||||
handler() {
|
||||
// this.getTotalProjectList()
|
||||
this.$refs.allProjectTableRef.getTableList()
|
||||
},
|
||||
deep: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
@ -0,0 +1,371 @@
|
|||
<template>
|
||||
<!-- item2 标段工程信息 -->
|
||||
<div class="item-two">
|
||||
<!-- 标段工程信息-->
|
||||
<DialogModel
|
||||
:dialogConfig="dialogConfig"
|
||||
@closeDialogOuter="handleCloseDialogOuter"
|
||||
>
|
||||
<!-- 外层弹框 -->
|
||||
<template slot="outerContent">
|
||||
<FilterQueryModel @handelSettingQuery="handelSettingQuery" />
|
||||
<TableModel
|
||||
ref="lotProjectTableRef"
|
||||
:formLabel="allProjectFormLabel"
|
||||
:columnsList="childColumnsList"
|
||||
:request-api="getLotProjectListAPI"
|
||||
:sendParams="{ mainProId: mainProId }"
|
||||
>
|
||||
<!-- 分包数量 -->
|
||||
<template slot="subNum" slot-scope="{ data }">
|
||||
<span
|
||||
class="cursor-blue"
|
||||
@click="onHandleCheckSubCount(data)"
|
||||
>
|
||||
{{ data.subNum }}
|
||||
</span>
|
||||
</template>
|
||||
<!-- 班组数量 -->
|
||||
<template slot="teamNum" slot-scope="{ data }">
|
||||
<span
|
||||
class="cursor-blue"
|
||||
@click="onHandleCheckTeamCount(data)"
|
||||
>
|
||||
{{ data.teamNum }}
|
||||
</span>
|
||||
</template>
|
||||
<template
|
||||
:slot="item"
|
||||
slot-scope="{ data }"
|
||||
v-for="item in commonSlots"
|
||||
>
|
||||
<template>
|
||||
<CommonTableSlots
|
||||
:key="item"
|
||||
:rowData="data"
|
||||
:slotName="item"
|
||||
@handleCheckPersonCount="handleCheckPersonCount"
|
||||
/>
|
||||
</template>
|
||||
</template>
|
||||
</TableModel>
|
||||
</template>
|
||||
</DialogModel>
|
||||
|
||||
<!-- 分包信息弹框 -->
|
||||
<DialogModel
|
||||
:dialogConfig="dialogConfigTwo"
|
||||
@closeDialogOuter="handleCloseDialogOuterTwo"
|
||||
>
|
||||
<!-- 外层弹框 -->
|
||||
<template slot="outerContent">
|
||||
<TableModel
|
||||
ref="subTableRef"
|
||||
:formLabel="subFormLabel"
|
||||
:columnsList="subColumnsList"
|
||||
:request-api="getSubProjectListAPI"
|
||||
:sendParams="{ proId: proId }"
|
||||
>
|
||||
<!-- 在场班组数量 -->
|
||||
<template slot="teamCount" slot-scope="{ data }">
|
||||
<span
|
||||
class="cursor-blue"
|
||||
@click="onHandleCheckTeamCountInSub(data)"
|
||||
>
|
||||
{{ data.teamCount }}
|
||||
</span>
|
||||
</template>
|
||||
<template
|
||||
:slot="item"
|
||||
slot-scope="{ data }"
|
||||
v-for="item in commonSlots"
|
||||
>
|
||||
<template>
|
||||
<CommonTableSlots
|
||||
:key="item"
|
||||
:rowData="data"
|
||||
:slotName="item"
|
||||
@handleCheckPersonCount="handleCheckPersonCount"
|
||||
/>
|
||||
</template>
|
||||
</template>
|
||||
</TableModel>
|
||||
</template>
|
||||
</DialogModel>
|
||||
|
||||
<!-- 班组信息弹框 -->
|
||||
<DialogModel
|
||||
:dialogConfig="dialogConfigThree"
|
||||
@closeDialogOuter="handleCloseDialogOuterThree"
|
||||
>
|
||||
<template slot="outerContent">
|
||||
<TableModel
|
||||
ref="teamTableRef"
|
||||
:formLabel="teamFormLabel"
|
||||
:columnsList="teamColumnsList"
|
||||
:sendParams="{ proId: proId, subId: subId }"
|
||||
:request-api="getTeamProjectListAPI"
|
||||
>
|
||||
<template
|
||||
:slot="item"
|
||||
slot-scope="{ data }"
|
||||
v-for="item in commonSlots"
|
||||
>
|
||||
<template>
|
||||
<CommonTableSlots
|
||||
:key="item"
|
||||
:rowData="data"
|
||||
:slotName="item"
|
||||
@handleCheckPersonCount="handleCheckPersonCount"
|
||||
/>
|
||||
</template>
|
||||
</template>
|
||||
</TableModel>
|
||||
</template>
|
||||
</DialogModel>
|
||||
|
||||
<!-- 人员信息弹框 -->
|
||||
<DialogModel
|
||||
:dialogConfig="dialogConfigFour"
|
||||
@closeDialogOuter="handleCloseDialogOuterFour"
|
||||
>
|
||||
<template slot="outerContent">
|
||||
<FilterQueryModel
|
||||
:isPersonFilter="true"
|
||||
@handelSettingQuery="handelSettingQuery"
|
||||
/>
|
||||
<TableModel
|
||||
ref="personTableRef"
|
||||
:formLabel="personFormLabel"
|
||||
:columnsList="personColumnsList"
|
||||
:testTableList="personTestTableList"
|
||||
>
|
||||
<!-- 人员姓名 -->
|
||||
<template slot="userName" slot-scope="{ data }">
|
||||
<span
|
||||
class="cursor-blue"
|
||||
@click="onHandleCheckUserName(data)"
|
||||
>
|
||||
{{ data.userName }}
|
||||
</span>
|
||||
</template>
|
||||
<!-- 红绿灯状态 -->
|
||||
<template slot="redLightStatus">
|
||||
<span
|
||||
style="
|
||||
color: #ff0000;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
"
|
||||
>
|
||||
红灯
|
||||
</span>
|
||||
</template>
|
||||
</TableModel>
|
||||
</template>
|
||||
</DialogModel>
|
||||
|
||||
<!-- 人员详情弹框 -->
|
||||
<DialogModel
|
||||
:dialogConfig="dialogConfigFive"
|
||||
@closeDialogOuter="handleCloseDialogOuterFive"
|
||||
>
|
||||
<template slot="outerContent">
|
||||
<PersonDetails />
|
||||
</template>
|
||||
</DialogModel>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import TableModel from '@/components/TableModel'
|
||||
import DialogModel from '@/components/DialogModel'
|
||||
import FilterQueryModel from '@/components/FilterQueryModel'
|
||||
import CommonTableSlots from './common-table-slots'
|
||||
import PersonDetails from './person-details'
|
||||
|
||||
import {
|
||||
getTotalProjectListAPI,
|
||||
getLotProjectListAPI,
|
||||
getSubProjectListAPI,
|
||||
getTeamProjectListAPI,
|
||||
} from '@/api/home-index/index'
|
||||
import {
|
||||
// 总工程
|
||||
allProjectFormLabel,
|
||||
allProjectColumnsList,
|
||||
allProjectTestTableList,
|
||||
// 子项目概况
|
||||
childColumnsList,
|
||||
childTestTableList,
|
||||
// 分包信息
|
||||
subFormLabel,
|
||||
subColumnsList,
|
||||
subTestTableList,
|
||||
// 班组信息
|
||||
teamFormLabel,
|
||||
teamColumnsList,
|
||||
teamTestTableList,
|
||||
// 人员信息
|
||||
personFormLabel,
|
||||
personColumnsList,
|
||||
personTestTableList,
|
||||
// 弹框配置
|
||||
dialogConfig,
|
||||
dialogConfigTwo,
|
||||
dialogConfigThree,
|
||||
dialogConfigFour,
|
||||
dialogConfigFive,
|
||||
} from './config'
|
||||
export default {
|
||||
name: 'ItemTwo',
|
||||
props: {
|
||||
selectCompany: {
|
||||
type: [Number, String],
|
||||
default: '',
|
||||
},
|
||||
},
|
||||
components: {
|
||||
TableModel,
|
||||
DialogModel,
|
||||
FilterQueryModel,
|
||||
CommonTableSlots,
|
||||
PersonDetails,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
allProjectFormLabel,
|
||||
allProjectColumnsList,
|
||||
allProjectTestTableList,
|
||||
childColumnsList,
|
||||
childTestTableList,
|
||||
subFormLabel,
|
||||
subColumnsList,
|
||||
subTestTableList,
|
||||
teamFormLabel,
|
||||
teamColumnsList,
|
||||
teamTestTableList,
|
||||
personFormLabel,
|
||||
personColumnsList,
|
||||
personTestTableList,
|
||||
dialogConfig,
|
||||
dialogConfigTwo,
|
||||
dialogConfigThree,
|
||||
dialogConfigFour,
|
||||
dialogConfigFive,
|
||||
getTotalProjectListAPI,
|
||||
getLotProjectListAPI,
|
||||
getSubProjectListAPI,
|
||||
getTeamProjectListAPI,
|
||||
queryParams: {},
|
||||
|
||||
commonSlots: [
|
||||
'onSiteCount',
|
||||
'todayAttendanceCount',
|
||||
'redLightCount',
|
||||
],
|
||||
|
||||
mainProId: '', // 总工程id
|
||||
proId: '', // 标段工程id
|
||||
subId: '', // 分包id
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 点击工程数量
|
||||
onHandleCheckProjectCount(data) {
|
||||
console.log(data)
|
||||
this.mainProId = data.mainProId
|
||||
this.dialogConfig.outerTitle = '工程信息'
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
// 总工程导出
|
||||
handleExportAllProject(queryParams) {
|
||||
this.download(
|
||||
'/bmw/homePageSub/mainProExport',
|
||||
{
|
||||
...queryParams,
|
||||
},
|
||||
`总工程列表.xlsx`,
|
||||
)
|
||||
},
|
||||
|
||||
// 关闭子项目概况弹框
|
||||
handleCloseDialogOuter(value) {
|
||||
this.dialogConfig.outerVisible = value
|
||||
},
|
||||
|
||||
// 关闭分包信息弹框
|
||||
handleCloseDialogOuterTwo(value) {
|
||||
this.dialogConfigTwo.outerVisible = value
|
||||
},
|
||||
|
||||
// 关闭班组信息弹框
|
||||
handleCloseDialogOuterThree(value) {
|
||||
this.dialogConfigThree.outerVisible = value
|
||||
},
|
||||
|
||||
// 关闭人员信息弹框
|
||||
handleCloseDialogOuterFour(value) {
|
||||
this.dialogConfigFour.outerVisible = value
|
||||
},
|
||||
// 关闭人员详情弹框
|
||||
handleCloseDialogOuterFive(value) {
|
||||
this.dialogConfigFive.outerVisible = value
|
||||
},
|
||||
|
||||
// 获取筛选条件
|
||||
handelSettingQuery(query) {
|
||||
console.log('筛选条件', query)
|
||||
this.queryParams = query
|
||||
},
|
||||
|
||||
// 查看分包数量
|
||||
onHandleCheckSubCount(data) {
|
||||
console.log('查看分包数量', data)
|
||||
this.proId = data.proId
|
||||
this.dialogConfigTwo.outerTitle = '分包信息'
|
||||
this.dialogConfigTwo.outerVisible = true
|
||||
},
|
||||
|
||||
// 查看班组数量
|
||||
onHandleCheckTeamCount(data) {
|
||||
console.log('查看班组数量', data)
|
||||
this.proId = data.proId
|
||||
this.subId = ''
|
||||
this.dialogConfigThree.outerTitle = '班组信息'
|
||||
this.dialogConfigThree.outerVisible = true
|
||||
},
|
||||
|
||||
// 查看班组数量 从分包点击查看班组
|
||||
onHandleCheckTeamCountInSub(data) {
|
||||
this.subId = data.subId
|
||||
this.dialogConfigThree.outerTitle = '班组信息'
|
||||
this.dialogConfigThree.outerVisible = true
|
||||
},
|
||||
|
||||
// 查看人员信息
|
||||
handleCheckPersonCount(data) {
|
||||
console.log('查看人员信息', data)
|
||||
this.dialogConfigFour.outerTitle = '人员信息'
|
||||
this.dialogConfigFour.outerVisible = true
|
||||
},
|
||||
|
||||
// 查看人员详情
|
||||
onHandleCheckUserName(data) {
|
||||
console.log('查看人员详情', data)
|
||||
this.dialogConfigFive.outerTitle = '人员详情'
|
||||
this.dialogConfigFive.outerVisible = true
|
||||
},
|
||||
},
|
||||
|
||||
watch: {
|
||||
selectCompany: {
|
||||
handler() {
|
||||
// this.getTotalProjectList()
|
||||
this.$refs.allProjectTableRef.getTableList()
|
||||
},
|
||||
deep: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
@ -0,0 +1,132 @@
|
|||
<template>
|
||||
<!-- 人员列表 -->
|
||||
<div class="person-list">
|
||||
<!-- 人员信息弹框 -->
|
||||
<!-- <DialogModel
|
||||
:dialogConfig="dialogConfigFour"
|
||||
@closeDialogOuter="handleCloseDialogOuterFour"
|
||||
>
|
||||
<template slot="outerContent">
|
||||
|
||||
</template>
|
||||
</DialogModel> -->
|
||||
|
||||
<FilterQueryModel
|
||||
:isPersonFilter="true"
|
||||
@handelSettingQuery="handelSettingQuery"
|
||||
/>
|
||||
<TableModel
|
||||
ref="personTableRef"
|
||||
:formLabel="personFormLabel"
|
||||
:columnsList="personColumnsList"
|
||||
:request-api="getWorkerProjectListAPI"
|
||||
:sendParams="{ mainProId: selectCompany }"
|
||||
>
|
||||
<!-- 人员姓名 -->
|
||||
<template slot="userName" slot-scope="{ data }">
|
||||
<span class="cursor-blue" @click="onHandleCheckUserName(data)">
|
||||
{{ data.userName }}
|
||||
</span>
|
||||
</template>
|
||||
<!-- 红绿灯状态 -->
|
||||
<template slot="redLightStatus">
|
||||
<span style="color: #ff0000; font-size: 14px; cursor: pointer">
|
||||
红灯
|
||||
</span>
|
||||
</template>
|
||||
</TableModel>
|
||||
|
||||
<!-- 人员详情弹框 -->
|
||||
<DialogModel
|
||||
:dialogConfig="dialogConfigFive"
|
||||
@closeDialogOuter="handleCloseDialogOuterFive"
|
||||
>
|
||||
<template slot="outerContent">
|
||||
<PersonDetails />
|
||||
</template>
|
||||
</DialogModel>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import TableModel from '@/components/TableModel'
|
||||
import DialogModel from '@/components/DialogModel'
|
||||
import FilterQueryModel from '@/components/FilterQueryModel'
|
||||
import CommonTableSlots from './common-table-slots'
|
||||
import PersonDetails from './person-details'
|
||||
|
||||
import { getWorkerProjectListAPI } from '@/api/home-index/index'
|
||||
import {
|
||||
// 人员信息
|
||||
personFormLabel,
|
||||
personColumnsList,
|
||||
personTestTableList,
|
||||
// 弹框配置
|
||||
dialogConfigFour,
|
||||
dialogConfigFive,
|
||||
} from './config'
|
||||
export default {
|
||||
name: 'PersonList',
|
||||
props: {
|
||||
selectCompany: {
|
||||
type: [Number, String],
|
||||
default: '',
|
||||
},
|
||||
},
|
||||
components: {
|
||||
TableModel,
|
||||
DialogModel,
|
||||
FilterQueryModel,
|
||||
CommonTableSlots,
|
||||
PersonDetails,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
personFormLabel,
|
||||
personColumnsList,
|
||||
personTestTableList,
|
||||
dialogConfigFour,
|
||||
dialogConfigFive,
|
||||
getWorkerProjectListAPI,
|
||||
queryParams: {},
|
||||
commonSlots: [
|
||||
'onSiteCount',
|
||||
'todayAttendanceCount',
|
||||
'redLightCount',
|
||||
],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// // 查看人员信息
|
||||
// handleCheckPersonCount(data) {
|
||||
// console.log('查看人员信息', data)
|
||||
// this.dialogConfigFour.outerTitle = '人员信息'
|
||||
// this.dialogConfigFour.outerVisible = true
|
||||
// },
|
||||
|
||||
// 查看人员详情
|
||||
onHandleCheckUserName(data) {
|
||||
console.log('查看人员详情', data)
|
||||
this.dialogConfigFive.outerTitle = '人员详情'
|
||||
this.dialogConfigFive.outerVisible = true
|
||||
},
|
||||
|
||||
handleCloseDialogOuterFive() {
|
||||
this.dialogConfigFive.outerVisible = false
|
||||
},
|
||||
|
||||
// 查询
|
||||
handelSettingQuery() {},
|
||||
},
|
||||
|
||||
watch: {
|
||||
selectCompany: {
|
||||
handler() {
|
||||
// this.getTotalProjectList()
|
||||
this.$refs.personTableRef.getTableList()
|
||||
},
|
||||
deep: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
@ -70,12 +70,20 @@
|
|||
<script>
|
||||
import DialogModel from '@/components/DialogModel'
|
||||
import ItemOne from './components/item-one.vue' // 总工程列表
|
||||
import ItemTwo from './components/item-two.vue' // 标段工程列表
|
||||
import ItemThree from './components/item-three.vue' // 在用分包单位
|
||||
import ItemFour from './components/item-four.vue' // 在用班组
|
||||
import PersonList from './components/person-list.vue' // 人员列表
|
||||
import { getDataOverviewProjectAPI } from '@/api/home-index/index'
|
||||
export default {
|
||||
name: 'DataOverviewProject',
|
||||
components: {
|
||||
DialogModel,
|
||||
ItemOne,
|
||||
ItemTwo,
|
||||
ItemThree,
|
||||
ItemFour,
|
||||
PersonList,
|
||||
},
|
||||
props: {
|
||||
// 选择的公司
|
||||
|
|
@ -120,7 +128,7 @@ export default {
|
|||
count: 1,
|
||||
name: '在场人员',
|
||||
dataKey: 'einNum',
|
||||
component: 'ItemFive',
|
||||
component: 'PersonList',
|
||||
icon: 'on-site-person',
|
||||
},
|
||||
{
|
||||
|
|
@ -128,7 +136,7 @@ export default {
|
|||
name: '今日打卡',
|
||||
icon: 'clock-in',
|
||||
dataKey: 'attNum',
|
||||
component: 'ItemSix',
|
||||
component: 'PersonList',
|
||||
},
|
||||
],
|
||||
// 数据预警列表
|
||||
|
|
@ -182,9 +190,10 @@ export default {
|
|||
// 点击工程
|
||||
onHandleCheckItem(item) {
|
||||
this.dialogConfig.outerTitle = item.name
|
||||
// this.currentComponent = item.component
|
||||
this.currentComponent = item.component
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
|
||||
// 关闭弹框
|
||||
handleCloseDialogOuter(value) {
|
||||
this.dialogConfig.outerVisible = value
|
||||
|
|
|
|||
Loading…
Reference in New Issue