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