首页接口调试
This commit is contained in:
parent
a37fc23018
commit
88400b2c3f
|
|
@ -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,
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,9 +21,11 @@
|
|||
>
|
||||
<el-radio-button
|
||||
:key="tag.value"
|
||||
:label="tag.label"
|
||||
:label="tag.value"
|
||||
v-for="tag in item.valueList"
|
||||
/>
|
||||
>
|
||||
{{ tag.label }}
|
||||
</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
<el-col :span="2">
|
||||
|
|
@ -78,8 +80,13 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
getSubCompanySelectListCommonFun,
|
||||
getPostTypeSelectListCommonFun,
|
||||
} from '@/utils/getCommonData'
|
||||
export default {
|
||||
name: 'FilterQueryModel',
|
||||
dicts: ['voltage_level', 'project_type', 'project_status'],
|
||||
props: {
|
||||
isPersonFilter: {
|
||||
type: Boolean,
|
||||
|
|
@ -91,8 +98,8 @@ export default {
|
|||
filterQueryListTemp: [
|
||||
{
|
||||
label: '分公司',
|
||||
value: '全部',
|
||||
queryKey: 'companyId',
|
||||
value: '',
|
||||
queryKey: 'subCompanyId',
|
||||
isPersonFilter: 'all',
|
||||
radioGroupHeight: 0,
|
||||
radioGroupShowHeight: 38,
|
||||
|
|
@ -100,30 +107,14 @@ export default {
|
|||
valueList: [
|
||||
{
|
||||
label: '全部',
|
||||
value: '全部',
|
||||
},
|
||||
{
|
||||
label: '分公司1',
|
||||
value: '分公司1',
|
||||
},
|
||||
{
|
||||
label: '分公司2',
|
||||
value: '分公司2',
|
||||
},
|
||||
{
|
||||
label: '分公司3',
|
||||
value: '分公司3',
|
||||
},
|
||||
{
|
||||
label: '红灯超三天',
|
||||
value: '分公司5',
|
||||
value: '',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '工程状态',
|
||||
value: '全部',
|
||||
queryKey: 'workStatus',
|
||||
value: '',
|
||||
queryKey: 'proStatus',
|
||||
isPersonFilter: false,
|
||||
radioGroupHeight: 0,
|
||||
radioGroupShowHeight: 38,
|
||||
|
|
@ -131,34 +122,14 @@ export default {
|
|||
valueList: [
|
||||
{
|
||||
label: '全部',
|
||||
value: '全部',
|
||||
},
|
||||
{
|
||||
label: '在建',
|
||||
value: '在建',
|
||||
},
|
||||
{
|
||||
label: '完工',
|
||||
value: '完工',
|
||||
},
|
||||
{
|
||||
label: '筹建',
|
||||
value: '筹建',
|
||||
},
|
||||
{
|
||||
label: '停工',
|
||||
value: '停工',
|
||||
},
|
||||
{
|
||||
label: '遗留收尾',
|
||||
value: '遗留收尾',
|
||||
value: '',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '电压等级',
|
||||
value: '全部',
|
||||
queryKey: 'voltageLevel',
|
||||
value: '',
|
||||
queryKey: 'volLevel',
|
||||
isPersonFilter: false,
|
||||
radioGroupHeight: 0,
|
||||
radioGroupShowHeight: 38,
|
||||
|
|
@ -166,38 +137,14 @@ export default {
|
|||
valueList: [
|
||||
{
|
||||
label: '全部',
|
||||
value: '全部',
|
||||
},
|
||||
{
|
||||
label: '110kV',
|
||||
value: '110kV',
|
||||
},
|
||||
{
|
||||
label: '220kV',
|
||||
value: '220kV',
|
||||
},
|
||||
{
|
||||
label: '500kV',
|
||||
value: '500kV',
|
||||
},
|
||||
{
|
||||
label: '±800kV',
|
||||
value: '±800kV',
|
||||
},
|
||||
{
|
||||
label: '1000kV及以上',
|
||||
value: '1000kV及以上',
|
||||
},
|
||||
{
|
||||
label: '其它',
|
||||
value: '其它',
|
||||
value: '',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '工程类型',
|
||||
value: '全部',
|
||||
queryKey: 'projectType',
|
||||
value: '',
|
||||
queryKey: 'proType',
|
||||
isPersonFilter: false,
|
||||
radioGroupHeight: 0,
|
||||
radioGroupShowHeight: 38,
|
||||
|
|
@ -205,38 +152,14 @@ export default {
|
|||
valueList: [
|
||||
{
|
||||
label: '全部',
|
||||
value: '全部',
|
||||
},
|
||||
{
|
||||
label: '基建线路',
|
||||
value: '基建线路',
|
||||
},
|
||||
{
|
||||
label: '基建变电',
|
||||
value: '基建变电',
|
||||
},
|
||||
{
|
||||
label: '生产线路',
|
||||
value: '生产线路',
|
||||
},
|
||||
{
|
||||
label: '生产变电',
|
||||
value: '生产变电',
|
||||
},
|
||||
{
|
||||
label: '变电改扩建',
|
||||
value: '变电改扩建',
|
||||
},
|
||||
{
|
||||
label: '其它',
|
||||
value: '其它',
|
||||
value: '',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '红绿灯状态',
|
||||
value: '全部',
|
||||
queryKey: 'redLightStatus',
|
||||
value: '',
|
||||
queryKey: 'lightStatus',
|
||||
isPersonFilter: true,
|
||||
radioGroupHeight: 0,
|
||||
radioGroupShowHeight: 38,
|
||||
|
|
@ -244,53 +167,27 @@ export default {
|
|||
valueList: [
|
||||
{
|
||||
label: '全部',
|
||||
value: '全部',
|
||||
value: '',
|
||||
},
|
||||
{
|
||||
label: '绿灯',
|
||||
value: '绿灯',
|
||||
value: 2,
|
||||
},
|
||||
{
|
||||
label: '黄灯',
|
||||
value: '黄灯',
|
||||
value: 1,
|
||||
},
|
||||
{
|
||||
label: '红灯',
|
||||
value: '红灯',
|
||||
},
|
||||
{
|
||||
label: '红灯超三天',
|
||||
value: '红灯超三天',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '用工类型',
|
||||
value: '全部',
|
||||
queryKey: 'workType',
|
||||
isPersonFilter: true,
|
||||
radioGroupHeight: 0,
|
||||
radioGroupShowHeight: 38,
|
||||
isExpand: false,
|
||||
valueList: [
|
||||
{
|
||||
label: '全部',
|
||||
value: '全部',
|
||||
},
|
||||
{
|
||||
label: '固定用工',
|
||||
value: '固定用工',
|
||||
},
|
||||
{
|
||||
label: '临时用工',
|
||||
value: '临时用工',
|
||||
label: '黄灯超七天',
|
||||
value: 3,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
label: '年龄分布',
|
||||
value: '全部',
|
||||
queryKey: 'ageRange',
|
||||
value: '',
|
||||
queryKey: 'age',
|
||||
isPersonFilter: true,
|
||||
radioGroupHeight: 0,
|
||||
radioGroupShowHeight: 38,
|
||||
|
|
@ -298,11 +195,11 @@ export default {
|
|||
valueList: [
|
||||
{
|
||||
label: '全部',
|
||||
value: '全部',
|
||||
value: '',
|
||||
},
|
||||
{
|
||||
label: '<20',
|
||||
value: '<20',
|
||||
value: '0-20',
|
||||
},
|
||||
{
|
||||
label: '20-30',
|
||||
|
|
@ -324,7 +221,7 @@ export default {
|
|||
},
|
||||
{
|
||||
label: '性别',
|
||||
value: '全部',
|
||||
value: '',
|
||||
queryKey: 'sex',
|
||||
isPersonFilter: true,
|
||||
radioGroupHeight: 0,
|
||||
|
|
@ -333,7 +230,7 @@ export default {
|
|||
valueList: [
|
||||
{
|
||||
label: '全部',
|
||||
value: '全部',
|
||||
value: '',
|
||||
},
|
||||
{
|
||||
label: '男',
|
||||
|
|
@ -347,8 +244,8 @@ export default {
|
|||
},
|
||||
{
|
||||
label: '考勤状态',
|
||||
value: '全部',
|
||||
queryKey: 'attendanceStatus',
|
||||
value: '',
|
||||
queryKey: 'isAtt',
|
||||
isPersonFilter: true,
|
||||
radioGroupHeight: 0,
|
||||
radioGroupShowHeight: 38,
|
||||
|
|
@ -356,45 +253,23 @@ export default {
|
|||
valueList: [
|
||||
{
|
||||
label: '全部',
|
||||
value: '全部',
|
||||
value: '',
|
||||
},
|
||||
{
|
||||
label: '已考勤',
|
||||
value: '已考勤',
|
||||
value: '1',
|
||||
},
|
||||
{
|
||||
label: '未考勤',
|
||||
value: '未考勤',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '作业打卡',
|
||||
value: '全部',
|
||||
queryKey: 'jobClock',
|
||||
isPersonFilter: true,
|
||||
radioGroupHeight: 0,
|
||||
radioGroupShowHeight: 38,
|
||||
isExpand: false,
|
||||
valueList: [
|
||||
{
|
||||
label: '全部',
|
||||
value: '全部',
|
||||
},
|
||||
{
|
||||
label: '日计划打卡',
|
||||
value: '日计划打卡',
|
||||
},
|
||||
{
|
||||
label: '非日计划打卡',
|
||||
value: '非日计划打卡',
|
||||
value: '0',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
label: '工种',
|
||||
value: '全部',
|
||||
queryKey: 'jobType',
|
||||
value: '',
|
||||
queryKey: 'proName',
|
||||
isPersonFilter: true,
|
||||
radioGroupHeight: 0,
|
||||
radioGroupShowHeight: 38,
|
||||
|
|
@ -402,43 +277,7 @@ export default {
|
|||
valueList: [
|
||||
{
|
||||
label: '全部',
|
||||
value: '全部',
|
||||
},
|
||||
{
|
||||
label: '项目经理(专业分包)',
|
||||
value: '项目经理(专业分包)',
|
||||
},
|
||||
{
|
||||
label: '项目总工(专业分包)',
|
||||
value: '项目总工(专业分包)',
|
||||
},
|
||||
{
|
||||
label: '专职安全员(专业分包)',
|
||||
value: '专职安全员(专业分包)',
|
||||
},
|
||||
{
|
||||
label: '专职质检员(专业分包)',
|
||||
value: '专职质检员(专业分包)',
|
||||
},
|
||||
{
|
||||
label: '项目总共(专业分包)',
|
||||
value: '项目总共(专业分包)',
|
||||
},
|
||||
{
|
||||
label: '项目总共(专业分包)',
|
||||
value: '项目总共(专业分包)',
|
||||
},
|
||||
{
|
||||
label: '项目总共(专业分包)',
|
||||
value: '项目总共(专业分包)',
|
||||
},
|
||||
{
|
||||
label: '项目总共(专业分包)',
|
||||
value: '项目总共(专业分包)',
|
||||
},
|
||||
{
|
||||
label: '项目总共(专业分包)',
|
||||
value: '项目总共(专业分包)',
|
||||
value: '',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
|
@ -452,6 +291,51 @@ export default {
|
|||
})
|
||||
},
|
||||
|
||||
async created() {
|
||||
const subCom = await getSubCompanySelectListCommonFun()
|
||||
const postType = await getPostTypeSelectListCommonFun()
|
||||
if (subCom.length > 0) {
|
||||
this.filterQueryListTemp.forEach((item) => {
|
||||
if (item.label === '分公司') {
|
||||
subCom.forEach((j) => {
|
||||
item.valueList.push({
|
||||
value: j.id,
|
||||
label: j.subCompanyName,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
if (item.label === '工程状态') {
|
||||
this.dict.type.project_status.forEach((j) => {
|
||||
item.valueList.push({
|
||||
value: j.value,
|
||||
label: j.label,
|
||||
})
|
||||
})
|
||||
}
|
||||
if (item.label === '电压等级') {
|
||||
this.dict.type.voltage_level.forEach((j) => {
|
||||
item.valueList.push({
|
||||
value: j.value,
|
||||
label: j.label,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
if (item.label === '工种') {
|
||||
postType.forEach((j) => {
|
||||
item.valueList.push({
|
||||
value: j.id,
|
||||
label: j.postName,
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
console.log(this.filterQueryListTemp, '分公司')
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
// 删除已选条件
|
||||
onHandleClear(tag) {
|
||||
|
|
@ -466,14 +350,24 @@ export default {
|
|||
// 清除所有已选条件
|
||||
onHandleClearAll() {
|
||||
this.filterQueryList.forEach((item) => {
|
||||
item.value = '全部'
|
||||
item.value = ''
|
||||
})
|
||||
this.onHandleQuery()
|
||||
},
|
||||
|
||||
// 组装查询条件
|
||||
onHandleQuery() {
|
||||
const query = {}
|
||||
const query = {
|
||||
age: '',
|
||||
sex: '',
|
||||
isAtt: '',
|
||||
proName: '',
|
||||
proType: '',
|
||||
volLevel: '',
|
||||
proStatus: '',
|
||||
lightStatus: '',
|
||||
subCompanyId: '',
|
||||
}
|
||||
this.filterQueryList.forEach((item) => {
|
||||
query[item.queryKey] = item.value
|
||||
})
|
||||
|
|
@ -532,10 +426,12 @@ export default {
|
|||
},
|
||||
selectList() {
|
||||
return this.filterQueryList
|
||||
.filter((item) => item.value !== '全部')
|
||||
.filter((item) => item.value != '')
|
||||
.map((item) => {
|
||||
return {
|
||||
label: item.label,
|
||||
label: item.valueList.find(
|
||||
(j) => j.value === item.value,
|
||||
).label,
|
||||
value: item.value,
|
||||
}
|
||||
})
|
||||
|
|
|
|||
|
|
@ -555,6 +555,19 @@ export default {
|
|||
}
|
||||
},
|
||||
},
|
||||
|
||||
watch: {
|
||||
queryParams: {
|
||||
handler(nv, ov) {
|
||||
if (nv) {
|
||||
for (let key in nv) {
|
||||
this.$set(this.queryParams, key, this.sendParams[key])
|
||||
}
|
||||
}
|
||||
},
|
||||
deep: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -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: '所属工程' },
|
||||
]
|
||||
|
||||
// 弹框公共配置
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
</el-col>
|
||||
<el-col :span="19">
|
||||
<div class="basic-info-item-value">
|
||||
{{ item.value }}
|
||||
{{ baseInfo[item.dataKey] }}
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
@ -45,8 +45,28 @@
|
|||
</div>
|
||||
</el-col>
|
||||
<el-col :span="19">
|
||||
<div class="basic-info-item-value">
|
||||
{{ item.value }}
|
||||
<div
|
||||
class="basic-info-item-value"
|
||||
v-if="item.dataKey != 'lightStatus'"
|
||||
>
|
||||
{{ baseInfo[item.dataKey] }}
|
||||
</div>
|
||||
|
||||
<div class="basic-info-item-value" v-else>
|
||||
<el-tag
|
||||
size="mini"
|
||||
type="warning"
|
||||
v-if="baseInfo[item.dataKey] == 1"
|
||||
>
|
||||
黄灯
|
||||
</el-tag>
|
||||
<el-tag
|
||||
size="mini"
|
||||
type="success"
|
||||
v-if="baseInfo[item.dataKey] == 2"
|
||||
>
|
||||
绿灯
|
||||
</el-tag>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
@ -134,12 +154,27 @@
|
|||
{{ item.value }}
|
||||
</div>
|
||||
<div class="basic-info-item-value" v-else>
|
||||
<el-button
|
||||
<!-- <el-button
|
||||
type="text"
|
||||
@click="handleClickContractAttachment"
|
||||
>
|
||||
{{ item.value }}
|
||||
</el-button>
|
||||
</el-button> -->
|
||||
|
||||
<span
|
||||
:class="
|
||||
contractAttachmentList.length > 0
|
||||
? 'cursor-blue'
|
||||
: ''
|
||||
"
|
||||
@click="handleClickContractAttachment"
|
||||
>
|
||||
{{
|
||||
contractAttachmentList.length > 0
|
||||
? contractAttachmentList.length
|
||||
: '暂无'
|
||||
}}
|
||||
</span>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
@ -178,17 +213,44 @@
|
|||
<div class="light-img-detail">
|
||||
<div class="light-1">
|
||||
<span> 当前状态: </span>
|
||||
<span :style="{ color: textColor }"> 黄灯 </span>
|
||||
<span :style="{ color: textColor }">
|
||||
{{ baseInfo.lightStatus == 1 ? '黄灯' : '绿灯' }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="light-2">
|
||||
<div
|
||||
class="light-2"
|
||||
:key="item.key"
|
||||
v-for="item in lightDetails"
|
||||
:style="{
|
||||
backgroundColor:
|
||||
item.value == 1 ? '#e3f7e3' : '#fae0e3',
|
||||
}"
|
||||
>
|
||||
<i
|
||||
class="el-icon-warning"
|
||||
style="color: #ff3b30; font-size: 32px"
|
||||
:style="{
|
||||
color: item.value == 1 ? '#67c23a' : '#ff3b30',
|
||||
fontSize: '32px',
|
||||
}"
|
||||
/>
|
||||
<span> 合同见证 </span>
|
||||
<span> 未上传 </span>
|
||||
<span
|
||||
:style="{
|
||||
color: item.value == 1 ? '#67c23a' : '#ff3b30',
|
||||
}"
|
||||
>
|
||||
{{ item.key }}
|
||||
</span>
|
||||
<span
|
||||
:style="{
|
||||
backgroundColor:
|
||||
item.value == 1 ? '#67c23a' : '#ff3b30',
|
||||
color: '#fff',
|
||||
}"
|
||||
>
|
||||
{{ item.value == 1 ? '已上传' : '未上传' }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="light-2" style="background-color: #e3f7e3">
|
||||
<!-- <div class="light-2" style="background-color: #e3f7e3">
|
||||
<i
|
||||
class="el-icon-warning"
|
||||
style="color: #67c23a; font-size: 32px"
|
||||
|
|
@ -197,7 +259,7 @@
|
|||
<span style="background-color: #67c23a; color: #fff">
|
||||
已上传
|
||||
</span>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="light-3">
|
||||
<div>
|
||||
注:1.黄灯状态:合同见证、工资卡见证未全部上传
|
||||
|
|
@ -221,14 +283,14 @@
|
|||
class="contract-attachment-item"
|
||||
>
|
||||
<el-image
|
||||
:src="url"
|
||||
:src="item"
|
||||
style="width: 100%; height: 200px"
|
||||
:preview-src-list="contractAttachmentList"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="upload-time"> 上传时间:2025-05-06 10:10:10 </div>
|
||||
<div class="upload-time"> 上传时间:{{ uploadTime }}</div>
|
||||
</template>
|
||||
</DialogModel>
|
||||
</div>
|
||||
|
|
@ -236,48 +298,58 @@
|
|||
|
||||
<script>
|
||||
import DialogModel from '@/components/DialogModel'
|
||||
import {
|
||||
getWorkerDetailsAPI,
|
||||
getWorkerAttendanceAPI,
|
||||
getWorkerContractAPI,
|
||||
} from '@/api/home-index/index'
|
||||
export default {
|
||||
name: 'PersonDetails',
|
||||
props: {
|
||||
workerId: {
|
||||
type: [Number, String],
|
||||
default: '',
|
||||
},
|
||||
},
|
||||
components: {
|
||||
DialogModel,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
url: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
leftInfoList: [
|
||||
{
|
||||
label: '姓名',
|
||||
value: '张三',
|
||||
dataKey: 'name',
|
||||
},
|
||||
{
|
||||
label: '工种',
|
||||
value: '高空作业人员',
|
||||
dataKey: 'postName',
|
||||
},
|
||||
{
|
||||
label: '所在分包',
|
||||
value: '云南清辉建设有限公司',
|
||||
dataKey: 'subName',
|
||||
},
|
||||
{
|
||||
label: '所在工程',
|
||||
value: '安徽省合肥市蜀山区---xxx110kV工程',
|
||||
dataKey: 'proName',
|
||||
},
|
||||
],
|
||||
rightInfoList: [
|
||||
{
|
||||
label: '红绿灯状态',
|
||||
value: '黄灯',
|
||||
dataKey: 'lightStatus',
|
||||
},
|
||||
{
|
||||
label: '联系方式',
|
||||
value: '15656235623',
|
||||
dataKey: 'phone',
|
||||
},
|
||||
{
|
||||
label: '所属班组',
|
||||
value: '云南清辉建设有限公司----李元霸班组',
|
||||
dataKey: 'teamName',
|
||||
},
|
||||
{
|
||||
label: '入场时间',
|
||||
value: '2025-05-06 10:10:10',
|
||||
dataKey: 'einTime',
|
||||
},
|
||||
],
|
||||
|
||||
|
|
@ -351,12 +423,24 @@ export default {
|
|||
lightType: 'yellow',
|
||||
|
||||
// 合同附件
|
||||
contractAttachmentList: [
|
||||
'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
|
||||
],
|
||||
contractAttachmentList: [],
|
||||
|
||||
baseInfo: {
|
||||
name: '',
|
||||
phone: '',
|
||||
einTime: '',
|
||||
subName: '',
|
||||
proName: '',
|
||||
teamName: '',
|
||||
postName: '',
|
||||
lightStatus: '',
|
||||
},
|
||||
attendanceInfo: {},
|
||||
|
||||
// 红绿灯详情
|
||||
lightDetails: [],
|
||||
uploadTime: '',
|
||||
url: '',
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -375,18 +459,81 @@ export default {
|
|||
handleCloseDialogOuterTwo() {
|
||||
this.dialogConfigTwo.outerVisible = false
|
||||
},
|
||||
|
||||
// 获取人员详情
|
||||
async getWorkerDetails() {
|
||||
const { data: res } = await getWorkerDetailsAPI({
|
||||
id: this.workerId,
|
||||
})
|
||||
|
||||
// 状态信息
|
||||
const { data: result } = await getWorkerAttendanceAPI({
|
||||
id: this.workerId,
|
||||
})
|
||||
|
||||
this.lightDetails = result
|
||||
|
||||
console.log(result, '考勤信息')
|
||||
|
||||
console.log(res, '人员详情')
|
||||
|
||||
const {
|
||||
name,
|
||||
lightStatus,
|
||||
postName,
|
||||
phone,
|
||||
subName,
|
||||
teamName,
|
||||
proName,
|
||||
einTime,
|
||||
files,
|
||||
} = res
|
||||
|
||||
this.baseInfo = {
|
||||
name,
|
||||
lightStatus,
|
||||
postName,
|
||||
phone,
|
||||
subName,
|
||||
teamName,
|
||||
proName,
|
||||
einTime,
|
||||
}
|
||||
|
||||
if (files.length > 0) {
|
||||
this.contractAttachmentList = files.map((item) => {
|
||||
return item.lsUrl
|
||||
})
|
||||
|
||||
this.uploadTime = files[0].createTime
|
||||
}
|
||||
|
||||
console.log(this.contractAttachmentList, '合同附件')
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
textColor() {
|
||||
if (this.lightType === 'yellow') {
|
||||
if (this.baseInfo.lightStatus === 1) {
|
||||
return '#e6a23c'
|
||||
} else if (this.lightType === 'red') {
|
||||
return '#f56c6c'
|
||||
} else if (this.lightType === 'green') {
|
||||
} else if (this.baseInfo.lightStatus === 2) {
|
||||
return '#67c23a'
|
||||
} else if (this.baseInfo.lightStatus === 3) {
|
||||
return '#f56c6c'
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
watch: {
|
||||
workerId: {
|
||||
handler() {
|
||||
if (this.workerId) {
|
||||
this.getWorkerDetails()
|
||||
}
|
||||
},
|
||||
deep: true,
|
||||
immediate: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -20,19 +20,33 @@
|
|||
:formLabel="personFormLabel"
|
||||
:columnsList="personColumnsList"
|
||||
:request-api="getWorkerProjectListAPI"
|
||||
:sendParams="{ mainProId: selectCompany }"
|
||||
:sendParams="{ mainProId: selectCompany, ...queryParams }"
|
||||
>
|
||||
<!-- 人员姓名 -->
|
||||
<template slot="userName" slot-scope="{ data }">
|
||||
<template slot="workerName" slot-scope="{ data }">
|
||||
<span class="cursor-blue" @click="onHandleCheckUserName(data)">
|
||||
{{ data.userName }}
|
||||
{{ data.workerName }}
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<!-- 红绿灯状态 -->
|
||||
<template slot="redLightStatus">
|
||||
<span style="color: #ff0000; font-size: 14px; cursor: pointer">
|
||||
红灯
|
||||
</span>
|
||||
<template slot="lightStatus" slot-scope="{ data }">
|
||||
<el-tag size="mini" type="warning" v-if="data.lightStatus == 1">
|
||||
黄灯
|
||||
</el-tag>
|
||||
<el-tag size="mini" type="success" v-if="data.lightStatus == 2">
|
||||
绿灯
|
||||
</el-tag>
|
||||
</template>
|
||||
|
||||
<!-- 考勤状态 -->
|
||||
<template slot="isAtt" slot-scope="{ data }">
|
||||
<el-tag size="mini" type="danger" v-if="data.isAtt == 0">
|
||||
未考勤
|
||||
</el-tag>
|
||||
<el-tag size="mini" type="success" v-if="data.isAtt == 1">
|
||||
已考勤
|
||||
</el-tag>
|
||||
</template>
|
||||
</TableModel>
|
||||
|
||||
|
|
@ -42,7 +56,7 @@
|
|||
@closeDialogOuter="handleCloseDialogOuterFive"
|
||||
>
|
||||
<template slot="outerContent">
|
||||
<PersonDetails />
|
||||
<PersonDetails :workerId="workerId" />
|
||||
</template>
|
||||
</DialogModel>
|
||||
</div>
|
||||
|
|
@ -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: {
|
||||
|
|
|
|||
Loading…
Reference in New Issue