综合查询页面接口调试完善

This commit is contained in:
BianLzhaoMin 2025-10-15 14:44:48 +08:00
parent a654d070da
commit 35a2ef016b
5 changed files with 289 additions and 338 deletions

View File

@ -0,0 +1,19 @@
import request from '@/utils/request'
// 综合查询 获取人员列表
export function getPersonListAPI(data) {
return request({
url: '/comprehensive/getPeopleAllList',
method: 'get',
params: data,
})
}
// 综合查询 获取人员详情
export function getPersonDetailsAPI(data) {
return request({
url: '/comprehensive/getPeopleDetail',
method: 'get',
params: data,
})
}

View File

@ -78,6 +78,7 @@ export const constantRoutes = [
path: 'comprehensive-query/details', path: 'comprehensive-query/details',
component: () => import('@/views/comprehensive-query/components/details'), component: () => import('@/views/comprehensive-query/components/details'),
name: 'Details', name: 'Details',
hidden: true,
meta: { title: '详情', icon: 'dashboard', activeMenu: '/comprehensive-query' }, meta: { title: '详情', icon: 'dashboard', activeMenu: '/comprehensive-query' },
}, },
// 综合查询 项目材料 // 综合查询 项目材料
@ -85,6 +86,7 @@ export const constantRoutes = [
path: 'comprehensive-query/project-materials', path: 'comprehensive-query/project-materials',
component: () => import('@/views/comprehensive-query/components/projectMaterials'), component: () => import('@/views/comprehensive-query/components/projectMaterials'),
name: 'ProjectMaterials', name: 'ProjectMaterials',
hidden: true,
meta: { title: '项目材料', icon: 'dashboard', activeMenu: '/comprehensive-query' }, meta: { title: '项目材料', icon: 'dashboard', activeMenu: '/comprehensive-query' },
}, },
], ],

View File

@ -28,7 +28,7 @@
<i :class="item.icon"></i> <i :class="item.icon"></i>
<span>{{ item.label }}</span> <span>{{ item.label }}</span>
</div> </div>
<div class="info-value">{{ item.value }}</div> <div class="info-value">{{ basicInfo[item.value] }}</div>
</div> </div>
</div> </div>
</div> </div>
@ -51,14 +51,14 @@
<i class="el-icon-document-copy"></i> <i class="el-icon-document-copy"></i>
<span>资格证书</span> <span>资格证书</span>
</div> </div>
<div class="cert-value">{{ cert.name || 'XXX' }}</div> <div class="cert-value">{{ cert.diploma || '-' }}</div>
</div> </div>
<div class="cert-info-row"> <div class="cert-info-row">
<div class="cert-label"> <div class="cert-label">
<i class="el-icon-postcard"></i> <i class="el-icon-postcard"></i>
<span>证书编号</span> <span>证书编号</span>
</div> </div>
<div class="cert-value">{{ cert.number || 'XXX' }}</div> <div class="cert-value">{{ cert.diplomaNum || '-' }}</div>
</div> </div>
<div class="cert-info-row"> <div class="cert-info-row">
<div class="cert-label"> <div class="cert-label">
@ -66,24 +66,32 @@
<span>级别</span> <span>级别</span>
</div> </div>
<div class="cert-value"> <div class="cert-value">
<el-tag :type="getCertLevelType(cert.level)" size="small"> <el-tag type="primary" size="small">
{{ cert.level || 'XXX' }} {{ cert.level || '-' }}
</el-tag> </el-tag>
</div> </div>
</div> </div>
</div> </div>
<div class="certificate-image"> <div class="certificate-image">
<el-image <template v-if="cert.tbFileSourceVoList && cert.tbFileSourceVoList.length > 0">
:src="cert.imageUrl" <el-image
:preview-src-list="[cert.imageUrl]" :src="`${fileViewUrl}${item.filePath}?file_token=${getToken()}`"
fit="cover" :preview-src-list="
class="cert-img" cert.tbFileSourceVoList.map(
v-if="cert.imageUrl" (e) => `${fileViewUrl}${e.filePath}?file_token=${getToken()}`,
> )
<div slot="error" class="image-slot"> "
<i class="el-icon-picture-outline"></i> fit="cover"
</div> class="cert-img"
</el-image> v-for="(item, index) in cert.tbFileSourceVoList"
:key="index"
>
<div slot="error" class="image-slot">
<i class="el-icon-picture-outline"></i>
</div>
</el-image>
</template>
<div class="image-placeholder" v-else> <div class="image-placeholder" v-else>
<i class="el-icon-picture-outline"></i> <i class="el-icon-picture-outline"></i>
<span>暂无图片</span> <span>暂无图片</span>
@ -101,9 +109,6 @@
<i class="el-icon-data-line"></i> <i class="el-icon-data-line"></i>
<span>业绩信息</span> <span>业绩信息</span>
</div> </div>
<div class="section-actions">
<el-button type="primary" size="small" icon="el-icon-download">导出</el-button>
</div>
</div> </div>
<div class="table-container"> <div class="table-container">
<el-table <el-table
@ -117,19 +122,36 @@
<el-table-column align="center" type="index" label="序号" width="60" /> <el-table-column align="center" type="index" label="序号" width="60" />
<el-table-column <el-table-column
align="center" align="center"
prop="projectName" prop="proName"
label="工程名称" label="工程名称"
show-overflow-tooltip show-overflow-tooltip
min-width="150" min-width="150"
/> />
<el-table-column align="center" prop="voltageLevel" label="电压等级" width="100" /> <el-table-column align="center" prop="voltage" label="电压等级" width="100" />
<el-table-column align="center" prop="timeRange" label="起止时间" width="120" /> <el-table-column align="center" label="起止时间" width="160" show-overflow-tooltip>
<el-table-column align="center" prop="completionDate" label="竣工日期" width="100" /> <template #default="{ row }">
<el-table-column align="center" prop="substationScale" label="变电站规模" width="120" /> <span>{{ row.startTime }} ~ {{ row.endTime }}</span>
<el-table-column align="center" prop="lineScale" label="线路建设规模" width="120" /> </template>
</el-table-column>
<el-table-column show-overflow-tooltip align="center" prop="endTime" label="竣工日期" width="100" />
<el-table-column
show-overflow-tooltip
align="center"
prop="stationNum"
label="变电站规模"
width="120"
/>
<el-table-column
show-overflow-tooltip
align="center"
prop="lineScale"
label="线路建设规模"
width="120"
/>
<el-table-column <el-table-column
align="center" align="center"
prop="contractScope" prop="contractRang"
label="承包范围" label="承包范围"
show-overflow-tooltip show-overflow-tooltip
min-width="120" min-width="120"
@ -141,7 +163,7 @@
show-overflow-tooltip show-overflow-tooltip
min-width="120" min-width="120"
/> />
<el-table-column align="center" prop="positionInProject" label="在项目中承担的职务" width="150" /> <el-table-column align="center" prop="title" label="在项目中承担的职务" width="150" />
<el-table-column align="center" label="项目材料" width="100"> <el-table-column align="center" label="项目材料" width="100">
<template #default="{ row }"> <template #default="{ row }">
<el-button <el-button
@ -161,133 +183,46 @@
</template> </template>
<script> <script>
import { getPersonDetailsAPI } from '@/api/comprehensive-query'
import { getToken } from '@/utils/auth'
export default { export default {
name: 'PersonDetails', name: 'PersonDetails',
data() { data() {
return { return {
fileViewUrl: process.env.VUE_APP_BASE_API + '/files',
getToken,
// //
basicInfo: { basicInfo: {
name: '张三', userName: '',
idCard: 'XXXXXXXXXXXXXXXXXX', idCard: '',
education: 'XXX', education: '',
title: 'XXX', title: '',
position: 'XXX', position: '',
major: 'XXX', major: '',
inUse: 'XXX', used: '',
personType: 'XXX', peopleType: '',
}, },
// //
basicInfoItems: [ basicInfoItems: [
{ label: '姓名', value: '张三', icon: 'el-icon-user' }, { label: '姓名', value: 'userName', icon: 'el-icon-user' },
{ label: '身份证', value: 'XXXXXXXXXXXXXXXXXX', icon: 'el-icon-postcard' }, { label: '身份证', value: 'idCard', icon: 'el-icon-postcard' },
{ label: '学历', value: 'XXX', icon: 'el-icon-document' }, { label: '学历', value: 'education', icon: 'el-icon-document' },
{ label: '职称', value: 'XXX', icon: 'el-icon-medal' }, { label: '职称', value: 'title', icon: 'el-icon-medal' },
{ label: '职务', value: 'XXX', icon: 'el-icon-s-custom' }, { label: '职务', value: 'position', icon: 'el-icon-s-custom' },
{ label: '专业', value: 'XXX', icon: 'el-icon-reading' }, { label: '专业', value: 'major', icon: 'el-icon-reading' },
{ label: '是否在用', value: 'XXX', icon: 'el-icon-circle-check' }, { label: '是否在用', value: 'used', icon: 'el-icon-circle-check' },
{ label: '人员类型', value: 'XXX', icon: 'el-icon-user-solid' }, { label: '人员类型', value: 'peopleType', icon: 'el-icon-user-solid' },
], ],
// //
certificateList: [ certificateList: [],
{
name: 'XXX',
number: 'XXX',
level: 'XXX',
imageUrl: '',
},
{
name: 'XXX',
number: 'XXX',
level: 'XXX',
imageUrl: '',
},
],
// //
performanceList: [ performanceList: [],
{
projectName: '',
voltageLevel: '',
timeRange: '',
completionDate: '',
substationScale: '',
lineScale: '',
contractScope: '',
ownerUnit: '',
positionInProject: '',
},
{
projectName: '',
voltageLevel: '',
timeRange: '',
completionDate: '',
substationScale: '',
lineScale: '',
contractScope: '',
ownerUnit: '',
positionInProject: '',
},
{
projectName: '',
voltageLevel: '',
timeRange: '',
completionDate: '',
substationScale: '',
lineScale: '',
contractScope: '',
ownerUnit: '',
positionInProject: '',
},
{
projectName: '',
voltageLevel: '',
timeRange: '',
completionDate: '',
substationScale: '',
lineScale: '',
contractScope: '',
ownerUnit: '',
positionInProject: '',
},
{
projectName: '',
voltageLevel: '',
timeRange: '',
completionDate: '',
substationScale: '',
lineScale: '',
contractScope: '',
ownerUnit: '',
positionInProject: '',
},
{
projectName: '',
voltageLevel: '',
timeRange: '',
completionDate: '',
substationScale: '',
lineScale: '',
contractScope: '',
ownerUnit: '',
positionInProject: '',
},
{
projectName: '',
voltageLevel: '',
timeRange: '',
completionDate: '',
substationScale: '',
lineScale: '',
contractScope: '',
ownerUnit: '',
positionInProject: '',
},
],
} }
}, },
methods: { methods: {
// //
goBack() { goBack() {
this.$router.go(-1) this.$router.push('/comprehensive-query')
}, },
// //
viewProjectMaterials(row) { viewProjectMaterials(row) {
@ -297,6 +232,7 @@ export default {
path: '/comprehensive-query/project-materials', path: '/comprehensive-query/project-materials',
query: { query: {
id: row.id, id: row.id,
tbFileSourceVoList: row.tbFileSourceVoList,
}, },
}) })
}, },
@ -315,13 +251,34 @@ export default {
console.log('导出业绩数据') console.log('导出业绩数据')
// //
}, },
//
async getPersonDetails(data) {
console.log(data, '详情参数')
const res = await getPersonDetailsAPI(data)
console.log(res, '详情')
if (res.code == 200 && res.data) {
this.certificateList = res.data.certificateList
this.performanceList = res.data.tbCompanyPerfList
}
},
}, },
created() {
// IDAPI watch: {
const id = this.$route.query.id $route: {
if (id) { handler(newVal) {
// this.getPersonDetails(id) // console.log(newVal)
} if (Object.keys(newVal.query).length > 0) {
this.basicInfo = newVal.query
this.getPersonDetails({
id: newVal.query.id,
peopleType: newVal.query.peopleType,
})
}
},
immediate: true,
},
}, },
} }
</script> </script>

View File

@ -17,34 +17,30 @@
<div class="info-section"> <div class="info-section">
<div class="section-header"> <div class="section-header">
<div class="section-title"> <div class="section-title">
<i class="el-icon-document-copy"></i> <i class="el-icon-document"></i>
<span>中标通知书</span> <span>中标通知书</span>
</div> </div>
</div> </div>
<div class="materials-container"> <div class="materials-container">
<div class="image-gallery"> <div class="image-gallery contract-gallery">
<div class="image-item large" v-for="(item, index) in bidNoticeList" :key="index"> <template v-if="bidNoticeList.length > 0">
<el-image <div class="image-item" v-for="(item, index) in contractPagesList" :key="index">
:src="item.url" <el-image
:preview-src-list="getPreviewList('bidNotice')" :src="`${fileViewUrl}${item.filePath}?file_token=${getToken()}`"
fit="cover" fit="cover"
class="material-img" class="material-img"
v-if="item.url" >
> <div slot="error" class="image-slot">
<div slot="error" class="image-slot"> <i class="el-icon-picture-outline"></i>
<i class="el-icon-picture-outline"></i> <span>加载失败</span>
<span>加载失败</span> </div>
</div> </el-image>
</el-image>
<div class="image-placeholder" v-else>
<i class="el-icon-picture-outline"></i>
<span>暂无图片</span>
</div>
<div class="image-overlay">
<el-button type="primary" size="small" icon="el-icon-zoom-in" @click="previewImage(item)">
预览
</el-button>
</div> </div>
</template>
<div class="image-placeholder" v-else>
<i class="el-icon-picture-outline"></i>
<span>暂无图片</span>
</div> </div>
</div> </div>
</div> </div>
@ -57,45 +53,27 @@
<i class="el-icon-document"></i> <i class="el-icon-document"></i>
<span>合同关键页</span> <span>合同关键页</span>
</div> </div>
<div class="section-actions">
<el-button type="primary" size="small" icon="el-icon-upload">上传</el-button>
</div>
</div> </div>
<div class="materials-container"> <div class="materials-container">
<div class="image-gallery contract-gallery"> <div class="image-gallery contract-gallery">
<div class="image-item" v-for="(item, index) in contractPagesList" :key="index"> <template v-if="contractPagesList.length > 0">
<el-image <div class="image-item" v-for="(item, index) in contractPagesList" :key="index">
:src="item.url" <el-image
:preview-src-list="getPreviewList('contractPages')" :src="`${fileViewUrl}${item.filePath}?file_token=${getToken()}`"
fit="cover" fit="cover"
class="material-img" class="material-img"
v-if="item.url"
>
<div slot="error" class="image-slot">
<i class="el-icon-picture-outline"></i>
<span>加载失败</span>
</div>
</el-image>
<div class="image-placeholder" v-else>
<i class="el-icon-picture-outline"></i>
<span>暂无图片</span>
</div>
<div class="image-overlay">
<el-button type="primary" size="small" icon="el-icon-zoom-in" @click="previewImage(item)">
预览
</el-button>
<el-button
type="danger"
size="small"
icon="el-icon-delete"
@click="deleteImage(item, index)"
> >
删除 <div slot="error" class="image-slot">
</el-button> <i class="el-icon-picture-outline"></i>
</div> <span>加载失败</span>
<div class="image-info"> </div>
<span class="image-name">{{ item.name || `合同页${index + 1}` }}</span> </el-image>
</div> </div>
</template>
<div class="image-placeholder" v-else>
<i class="el-icon-picture-outline"></i>
<span>暂无图片</span>
</div> </div>
</div> </div>
</div> </div>
@ -108,45 +86,27 @@
<i class="el-icon-finished"></i> <i class="el-icon-finished"></i>
<span>竣工报告</span> <span>竣工报告</span>
</div> </div>
<div class="section-actions">
<el-button type="primary" size="small" icon="el-icon-upload">上传</el-button>
</div>
</div> </div>
<div class="materials-container"> <div class="materials-container">
<div class="image-gallery completion-gallery"> <div class="image-gallery completion-gallery">
<div class="image-item" v-for="(item, index) in completionReportList" :key="index"> <template v-if="completionReportList.length > 0">
<el-image <div class="image-item" v-for="(item, index) in completionReportList" :key="index">
:src="item.url" <el-image
:preview-src-list="getPreviewList('completionReport')" :src="`${fileViewUrl}${item.filePath}?file_token=${getToken()}`"
fit="cover" fit="cover"
class="material-img" class="material-img"
v-if="item.url"
>
<div slot="error" class="image-slot">
<i class="el-icon-picture-outline"></i>
<span>加载失败</span>
</div>
</el-image>
<div class="image-placeholder" v-else>
<i class="el-icon-picture-outline"></i>
<span>暂无图片</span>
</div>
<div class="image-overlay">
<el-button type="primary" size="small" icon="el-icon-zoom-in" @click="previewImage(item)">
预览
</el-button>
<el-button
type="danger"
size="small"
icon="el-icon-delete"
@click="deleteImage(item, index)"
> >
删除 <div slot="error" class="image-slot">
</el-button> <i class="el-icon-picture-outline"></i>
</div> <span>加载失败</span>
<div class="image-info"> </div>
<span class="image-name">{{ item.name || `报告页${index + 1}` }}</span> </el-image>
</div> </div>
</template>
<div class="image-placeholder" v-else>
<i class="el-icon-picture-outline"></i>
<span>暂无图片</span>
</div> </div>
</div> </div>
</div> </div>
@ -155,34 +115,20 @@
</template> </template>
<script> <script>
import { getToken } from '@/utils/auth'
export default { export default {
name: 'ProjectMaterials', name: 'ProjectMaterials',
data() { data() {
return { return {
fileViewUrl: process.env.VUE_APP_BASE_API + '/files',
getToken,
// //
bidNoticeList: [ bidNoticeList: [],
{
id: 1,
name: '中标通知书',
url: '',
type: 'bidNotice',
},
],
// //
contractPagesList: [ contractPagesList: [],
{ id: 1, name: '合同首页', url: '', type: 'contractPages' },
{ id: 2, name: '合同条款', url: '', type: 'contractPages' },
{ id: 3, name: '价格条款', url: '', type: 'contractPages' },
{ id: 4, name: '付款方式', url: '', type: 'contractPages' },
{ id: 5, name: '工期条款', url: '', type: 'contractPages' },
{ id: 6, name: '质量条款', url: '', type: 'contractPages' },
{ id: 7, name: '违约责任', url: '', type: 'contractPages' },
],
// //
completionReportList: [ completionReportList: [],
{ id: 1, name: '竣工报告封面', url: '', type: 'completionReport' },
{ id: 2, name: '竣工报告内容', url: '', type: 'completionReport' },
],
} }
}, },
methods: { methods: {
@ -190,54 +136,25 @@ export default {
goBack() { goBack() {
this.$router.go(-1) this.$router.go(-1)
}, },
//
getPreviewList(type) {
let list = []
switch (type) {
case 'bidNotice':
list = this.bidNoticeList.filter((item) => item.url).map((item) => item.url)
break
case 'contractPages':
list = this.contractPagesList.filter((item) => item.url).map((item) => item.url)
break
case 'completionReport':
list = this.completionReportList.filter((item) => item.url).map((item) => item.url)
break
}
return list
},
// //
previewImage(item) { previewImage(item) {
console.log('预览图片:', item) console.log('预览图片:', item)
}, },
//
deleteImage(item, index) {
this.$modal
.confirm('确定删除该图片吗?')
.then(() => {
if (item.type === 'bidNotice') {
this.bidNoticeList.splice(index, 1)
} else if (item.type === 'contractPages') {
this.contractPagesList.splice(index, 1)
} else if (item.type === 'completionReport') {
this.completionReportList.splice(index, 1)
}
this.$modal.msgSuccess('删除成功')
})
.catch(() => {})
},
//
uploadImage(type) {
console.log('上传图片:', type)
//
},
}, },
created() {
// IDAPI watch: {
const projectId = this.$route.query.projectId $route: {
if (projectId) { handler(newVal) {
// this.getProjectMaterials(projectId) console.log(newVal, 'newVal')
} if (newVal) {
this.bidNoticeList = newVal.query.tbFileSourceVoList.filter((item) => item.fileType == 1)
this.contractPagesList = newVal.query.tbFileSourceVoList.filter((item) => item.fileType == 2)
this.completionReportList = newVal.query.tbFileSourceVoList.filter((item) => item.fileType == 3)
}
},
immediate: true,
},
}, },
} }
</script> </script>

View File

@ -9,25 +9,25 @@
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item prop="userName"> <el-form-item prop="userName">
<el-input v-model.trim="queryParams.userName" placeholder="请输入姓名" clearable> </el-input> <el-input v-model.trim="queryParams.userName" placeholder="请输入姓名" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item prop="title"> <el-form-item prop="idCard">
<el-input v-model.trim="queryParams.title" placeholder="请输入职称" clearable> </el-input> <el-input v-model.trim="queryParams.idCard" placeholder="请输入身份证号" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item prop="major"> <el-form-item prop="diploma">
<el-input v-model.trim="queryParams.major" placeholder="请输入专业" clearable> </el-input> <el-input v-model.trim="queryParams.diploma" placeholder="请输入资格证书" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item prop="major"> <el-form-item prop="used">
<el-select placeholder="是否在用" clearable style="width: 100%"> <el-select placeholder="是否在用" v-model="queryParams.used" clearable style="width: 100%">
<el-option label="是" value="1" /> <el-option label="是" value="0" />
<el-option label="否" value="2" /> <el-option label="否" value="1" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -39,21 +39,27 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item prop="userName"> <el-form-item prop="proName">
<el-input v-model.trim="queryParams.userName" placeholder="请输入姓名" clearable> </el-input> <el-input v-model.trim="queryParams.proName" placeholder="请输入工程名称" clearable> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item prop="title"> <el-form-item prop="voltage">
<el-input v-model.trim="queryParams.title" placeholder="请输入职称" clearable> </el-input> <el-input v-model.trim="queryParams.voltage" placeholder="请输入电压等级" clearable> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item prop="major"> <el-form-item prop="major">
<el-select placeholder="请选择近年业绩" clearable style="width: 100%"> <el-select
<el-option label="是" value="1" /> placeholder="请选择近年业绩"
<el-option label="否" value="2" /> v-model="timeValue_1"
clearable
style="width: 100%"
@change="handleTimeValueChange_1"
>
<el-option label="近三年" value="3" />
<el-option label="近五年" value="5" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -61,7 +67,7 @@
<el-form-item prop="major"> <el-form-item prop="major">
<el-date-picker <el-date-picker
type="daterange" type="daterange"
v-model="queryParams.timeValue" v-model="timeValue_2"
range-separator="~" range-separator="~"
style="width: 100%" style="width: 100%"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
@ -82,26 +88,44 @@
</el-row> </el-row>
</el-form> </el-form>
<el-table :data="tableData" style="width: 100%"> <el-table :data="tableData" style="width: 100%" border stripe>
<el-table-column align="center" type="index" label="序号" width="55" /> <el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="name" label="姓名" /> <el-table-column show-overflow-tooltip align="center" prop="userName" label="姓名" />
<el-table-column align="center" prop="title" label="身份证号" /> <el-table-column show-overflow-tooltip align="center" prop="idCard" label="身份证号" />
<el-table-column align="center" prop="major" label="学历" /> <el-table-column show-overflow-tooltip align="center" prop="education" label="学历" />
<el-table-column align="center" prop="timeValue" label="职称" /> <el-table-column show-overflow-tooltip align="center" prop="title" label="职称" />
<el-table-column align="center" prop="timeValue" label="职务" /> <el-table-column show-overflow-tooltip align="center" prop="position" label="职务" />
<el-table-column align="center" prop="timeValue" label="专业" /> <el-table-column show-overflow-tooltip align="center" prop="major" label="专业" />
<el-table-column align="center" prop="timeValue" label="是否在用" /> <el-table-column show-overflow-tooltip align="center" prop="diploma" label="资格证书" />
<el-table-column align="center" prop="timeValue" label="人员类型" /> <el-table-column show-overflow-tooltip align="center" prop="proName" label="工程" />
<el-table-column show-overflow-tooltip align="center" prop="voltage" label="电压等级(kV)" />
<el-table-column show-overflow-tooltip align="center" prop="startTime" label="开始时间" />
<!-- <el-table-column align="center" prop="endTime" label="结束时间" /> -->
<el-table-column align="center" label="是否在用">
<template #default="{ row }">
<span>{{ row.used == 0 ? '是' : '否' }}</span>
</template>
</el-table-column>
<el-table-column align="center" prop="peopleType" label="人员类型" />
<el-table-column align="center" label="操作"> <el-table-column align="center" label="操作">
<template #default="{ row }"> <template #default="{ row }">
<el-button type="text" icon="el-icon-view" @click="onHandleViewDetails(row)">详情</el-button> <el-button type="text" icon="el-icon-view" @click="onHandleViewDetails(row)">详情</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination
:total="total"
@pagination="getKeyPersonList"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
/>
</div> </div>
</template> </template>
<script> <script>
import { getPersonListAPI } from '@/api/comprehensive-query'
import moment from 'moment'
export default { export default {
name: 'ComprehensiveQuery', name: 'ComprehensiveQuery',
@ -111,32 +135,56 @@ export default {
userName: '', userName: '',
title: '', title: '',
major: '', major: '',
timeValue: [], used: '',
proName: '',
voltage: '',
startTime: '',
endTime: '',
pageNum: 1,
pageSize: 10,
}, },
tableData: [ timeValue_1: '',
{ timeValue_2: [],
name: '张三', tableData: [],
title: '130102199003074919',
major: '本科',
timeValue: '工程师',
timeValue: '工程师',
},
],
} }
}, },
methods: { methods: {
getKeyPersonList() { handleTimeValueChange_1(val) {
console.log(this.queryParams) // this.queryParams.startTime = ''
// this.queryParams.endTime = ''
if (val == '3') {
this.timeValue_2 = [moment().subtract(3, 'years').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')]
} else if (val == '5') {
this.timeValue_2 = [moment().subtract(5, 'years').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')]
}
},
async getKeyPersonList() {
if (this.timeValue_2.length > 0) {
this.queryParams.startTime = this.timeValue_2[0]
this.queryParams.endTime = this.timeValue_2[1]
} else {
this.queryParams.startTime = ''
this.queryParams.endTime = ''
}
const res = await getPersonListAPI(this.queryParams)
this.tableData = res.rows
this.total = res.total
}, },
resetQueryParams() { resetQueryParams() {
this.$refs.queryParamsRef.resetFields() this.$refs.queryParamsRef.resetFields()
this.queryParams.pageNum = 1 this.queryParams.pageNum = 1
this.queryParams.pageSize = 10 this.queryParams.pageSize = 10
this.timeValue_1 = ''
this.timeValue_2 = []
this.getKeyPersonList() this.getKeyPersonList()
}, },
handleExport() { handleExport() {
console.log(this.queryParams) // console.log(this.queryParams)
this.download('/comprehensive/peopleAllExport', {}, `综合查询_${new Date().getTime()}.xlsx`)
}, },
// //
@ -145,12 +193,20 @@ export default {
path: '/comprehensive-query/details', path: '/comprehensive-query/details',
query: { query: {
id: row.id, id: row.id,
userName: row.userName,
idCard: row.idCard,
education: row.education,
title: row.title,
position: row.position,
major: row.major,
used: row.used == 0 ? '是' : '否',
peopleType: row.peopleType,
}, },
}) })
}, },
}, },
created() { created() {
// this.getKeyPersonList() this.getKeyPersonList()
}, },
} }
</script> </script>