综合查询页面接口调试完善
This commit is contained in:
parent
a654d070da
commit
35a2ef016b
|
|
@ -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,
|
||||
})
|
||||
}
|
||||
|
|
@ -78,6 +78,7 @@ export const constantRoutes = [
|
|||
path: 'comprehensive-query/details',
|
||||
component: () => import('@/views/comprehensive-query/components/details'),
|
||||
name: 'Details',
|
||||
hidden: true,
|
||||
meta: { title: '详情', icon: 'dashboard', activeMenu: '/comprehensive-query' },
|
||||
},
|
||||
// 综合查询 项目材料
|
||||
|
|
@ -85,6 +86,7 @@ export const constantRoutes = [
|
|||
path: 'comprehensive-query/project-materials',
|
||||
component: () => import('@/views/comprehensive-query/components/projectMaterials'),
|
||||
name: 'ProjectMaterials',
|
||||
hidden: true,
|
||||
meta: { title: '项目材料', icon: 'dashboard', activeMenu: '/comprehensive-query' },
|
||||
},
|
||||
],
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
<i :class="item.icon"></i>
|
||||
<span>{{ item.label }}</span>
|
||||
</div>
|
||||
<div class="info-value">{{ item.value }}</div>
|
||||
<div class="info-value">{{ basicInfo[item.value] }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -51,14 +51,14 @@
|
|||
<i class="el-icon-document-copy"></i>
|
||||
<span>资格证书</span>
|
||||
</div>
|
||||
<div class="cert-value">{{ cert.name || 'XXX' }}</div>
|
||||
<div class="cert-value">{{ cert.diploma || '-' }}</div>
|
||||
</div>
|
||||
<div class="cert-info-row">
|
||||
<div class="cert-label">
|
||||
<i class="el-icon-postcard"></i>
|
||||
<span>证书编号</span>
|
||||
</div>
|
||||
<div class="cert-value">{{ cert.number || 'XXX' }}</div>
|
||||
<div class="cert-value">{{ cert.diplomaNum || '-' }}</div>
|
||||
</div>
|
||||
<div class="cert-info-row">
|
||||
<div class="cert-label">
|
||||
|
|
@ -66,24 +66,32 @@
|
|||
<span>级别</span>
|
||||
</div>
|
||||
<div class="cert-value">
|
||||
<el-tag :type="getCertLevelType(cert.level)" size="small">
|
||||
{{ cert.level || 'XXX' }}
|
||||
<el-tag type="primary" size="small">
|
||||
{{ cert.level || '-' }}
|
||||
</el-tag>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="certificate-image">
|
||||
<el-image
|
||||
:src="cert.imageUrl"
|
||||
:preview-src-list="[cert.imageUrl]"
|
||||
fit="cover"
|
||||
class="cert-img"
|
||||
v-if="cert.imageUrl"
|
||||
>
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
<template v-if="cert.tbFileSourceVoList && cert.tbFileSourceVoList.length > 0">
|
||||
<el-image
|
||||
:src="`${fileViewUrl}${item.filePath}?file_token=${getToken()}`"
|
||||
:preview-src-list="
|
||||
cert.tbFileSourceVoList.map(
|
||||
(e) => `${fileViewUrl}${e.filePath}?file_token=${getToken()}`,
|
||||
)
|
||||
"
|
||||
fit="cover"
|
||||
class="cert-img"
|
||||
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>
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
<span>暂无图片</span>
|
||||
|
|
@ -101,9 +109,6 @@
|
|||
<i class="el-icon-data-line"></i>
|
||||
<span>业绩信息</span>
|
||||
</div>
|
||||
<div class="section-actions">
|
||||
<el-button type="primary" size="small" icon="el-icon-download">导出</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-container">
|
||||
<el-table
|
||||
|
|
@ -117,19 +122,36 @@
|
|||
<el-table-column align="center" type="index" label="序号" width="60" />
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="projectName"
|
||||
prop="proName"
|
||||
label="工程名称"
|
||||
show-overflow-tooltip
|
||||
min-width="150"
|
||||
/>
|
||||
<el-table-column align="center" prop="voltageLevel" label="电压等级" width="100" />
|
||||
<el-table-column align="center" prop="timeRange" label="起止时间" width="120" />
|
||||
<el-table-column align="center" prop="completionDate" label="竣工日期" width="100" />
|
||||
<el-table-column align="center" prop="substationScale" label="变电站规模" width="120" />
|
||||
<el-table-column align="center" prop="lineScale" label="线路建设规模" width="120" />
|
||||
<el-table-column align="center" prop="voltage" label="电压等级" width="100" />
|
||||
<el-table-column align="center" label="起止时间" width="160" show-overflow-tooltip>
|
||||
<template #default="{ row }">
|
||||
<span>{{ row.startTime }} ~ {{ row.endTime }}</span>
|
||||
</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
|
||||
align="center"
|
||||
prop="contractScope"
|
||||
prop="contractRang"
|
||||
label="承包范围"
|
||||
show-overflow-tooltip
|
||||
min-width="120"
|
||||
|
|
@ -141,7 +163,7 @@
|
|||
show-overflow-tooltip
|
||||
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">
|
||||
<template #default="{ row }">
|
||||
<el-button
|
||||
|
|
@ -161,133 +183,46 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { getPersonDetailsAPI } from '@/api/comprehensive-query'
|
||||
import { getToken } from '@/utils/auth'
|
||||
export default {
|
||||
name: 'PersonDetails',
|
||||
data() {
|
||||
return {
|
||||
fileViewUrl: process.env.VUE_APP_BASE_API + '/files',
|
||||
getToken,
|
||||
// 基本信息
|
||||
basicInfo: {
|
||||
name: '张三',
|
||||
idCard: 'XXXXXXXXXXXXXXXXXX',
|
||||
education: 'XXX',
|
||||
title: 'XXX',
|
||||
position: 'XXX',
|
||||
major: 'XXX',
|
||||
inUse: 'XXX',
|
||||
personType: 'XXX',
|
||||
userName: '',
|
||||
idCard: '',
|
||||
education: '',
|
||||
title: '',
|
||||
position: '',
|
||||
major: '',
|
||||
used: '',
|
||||
peopleType: '',
|
||||
},
|
||||
// 基本信息配置
|
||||
basicInfoItems: [
|
||||
{ label: '姓名', value: '张三', icon: 'el-icon-user' },
|
||||
{ label: '身份证', value: 'XXXXXXXXXXXXXXXXXX', icon: 'el-icon-postcard' },
|
||||
{ label: '学历', value: 'XXX', icon: 'el-icon-document' },
|
||||
{ label: '职称', value: 'XXX', icon: 'el-icon-medal' },
|
||||
{ label: '职务', value: 'XXX', icon: 'el-icon-s-custom' },
|
||||
{ label: '专业', value: 'XXX', icon: 'el-icon-reading' },
|
||||
{ label: '是否在用', value: 'XXX', icon: 'el-icon-circle-check' },
|
||||
{ label: '人员类型', value: 'XXX', icon: 'el-icon-user-solid' },
|
||||
{ label: '姓名', value: 'userName', icon: 'el-icon-user' },
|
||||
{ label: '身份证', value: 'idCard', icon: 'el-icon-postcard' },
|
||||
{ label: '学历', value: 'education', icon: 'el-icon-document' },
|
||||
{ label: '职称', value: 'title', icon: 'el-icon-medal' },
|
||||
{ label: '职务', value: 'position', icon: 'el-icon-s-custom' },
|
||||
{ label: '专业', value: 'major', icon: 'el-icon-reading' },
|
||||
{ label: '是否在用', value: 'used', icon: 'el-icon-circle-check' },
|
||||
{ label: '人员类型', value: 'peopleType', icon: 'el-icon-user-solid' },
|
||||
],
|
||||
// 资格证书列表
|
||||
certificateList: [
|
||||
{
|
||||
name: 'XXX',
|
||||
number: 'XXX',
|
||||
level: 'XXX',
|
||||
imageUrl: '',
|
||||
},
|
||||
{
|
||||
name: 'XXX',
|
||||
number: 'XXX',
|
||||
level: 'XXX',
|
||||
imageUrl: '',
|
||||
},
|
||||
],
|
||||
certificateList: [],
|
||||
// 业绩信息列表
|
||||
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: '',
|
||||
},
|
||||
],
|
||||
performanceList: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 返回上一页
|
||||
goBack() {
|
||||
this.$router.go(-1)
|
||||
this.$router.push('/comprehensive-query')
|
||||
},
|
||||
// 查看项目材料
|
||||
viewProjectMaterials(row) {
|
||||
|
|
@ -297,6 +232,7 @@ export default {
|
|||
path: '/comprehensive-query/project-materials',
|
||||
query: {
|
||||
id: row.id,
|
||||
tbFileSourceVoList: row.tbFileSourceVoList,
|
||||
},
|
||||
})
|
||||
},
|
||||
|
|
@ -315,13 +251,34 @@ export default {
|
|||
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() {
|
||||
// 根据路由参数获取人员ID,调用API获取详情数据
|
||||
const id = this.$route.query.id
|
||||
if (id) {
|
||||
// this.getPersonDetails(id)
|
||||
}
|
||||
|
||||
watch: {
|
||||
$route: {
|
||||
handler(newVal) {
|
||||
// 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>
|
||||
|
|
|
|||
|
|
@ -17,34 +17,30 @@
|
|||
<div class="info-section">
|
||||
<div class="section-header">
|
||||
<div class="section-title">
|
||||
<i class="el-icon-document-copy"></i>
|
||||
<i class="el-icon-document"></i>
|
||||
<span>中标通知书</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="materials-container">
|
||||
<div class="image-gallery">
|
||||
<div class="image-item large" v-for="(item, index) in bidNoticeList" :key="index">
|
||||
<el-image
|
||||
:src="item.url"
|
||||
:preview-src-list="getPreviewList('bidNotice')"
|
||||
fit="cover"
|
||||
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>
|
||||
<div class="image-gallery contract-gallery">
|
||||
<template v-if="bidNoticeList.length > 0">
|
||||
<div class="image-item" v-for="(item, index) in contractPagesList" :key="index">
|
||||
<el-image
|
||||
:src="`${fileViewUrl}${item.filePath}?file_token=${getToken()}`"
|
||||
fit="cover"
|
||||
class="material-img"
|
||||
>
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
<span>加载失败</span>
|
||||
</div>
|
||||
</el-image>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<div class="image-placeholder" v-else>
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
<span>暂无图片</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -57,45 +53,27 @@
|
|||
<i class="el-icon-document"></i>
|
||||
<span>合同关键页</span>
|
||||
</div>
|
||||
<div class="section-actions">
|
||||
<el-button type="primary" size="small" icon="el-icon-upload">上传</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="materials-container">
|
||||
<div class="image-gallery contract-gallery">
|
||||
<div class="image-item" v-for="(item, index) in contractPagesList" :key="index">
|
||||
<el-image
|
||||
:src="item.url"
|
||||
:preview-src-list="getPreviewList('contractPages')"
|
||||
fit="cover"
|
||||
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)"
|
||||
<template v-if="contractPagesList.length > 0">
|
||||
<div class="image-item" v-for="(item, index) in contractPagesList" :key="index">
|
||||
<el-image
|
||||
:src="`${fileViewUrl}${item.filePath}?file_token=${getToken()}`"
|
||||
fit="cover"
|
||||
class="material-img"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</div>
|
||||
<div class="image-info">
|
||||
<span class="image-name">{{ item.name || `合同页${index + 1}` }}</span>
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
<span>加载失败</span>
|
||||
</div>
|
||||
</el-image>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<div class="image-placeholder" v-else>
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
<span>暂无图片</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -108,45 +86,27 @@
|
|||
<i class="el-icon-finished"></i>
|
||||
<span>竣工报告</span>
|
||||
</div>
|
||||
<div class="section-actions">
|
||||
<el-button type="primary" size="small" icon="el-icon-upload">上传</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="materials-container">
|
||||
<div class="image-gallery completion-gallery">
|
||||
<div class="image-item" v-for="(item, index) in completionReportList" :key="index">
|
||||
<el-image
|
||||
:src="item.url"
|
||||
:preview-src-list="getPreviewList('completionReport')"
|
||||
fit="cover"
|
||||
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)"
|
||||
<template v-if="completionReportList.length > 0">
|
||||
<div class="image-item" v-for="(item, index) in completionReportList" :key="index">
|
||||
<el-image
|
||||
:src="`${fileViewUrl}${item.filePath}?file_token=${getToken()}`"
|
||||
fit="cover"
|
||||
class="material-img"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</div>
|
||||
<div class="image-info">
|
||||
<span class="image-name">{{ item.name || `报告页${index + 1}` }}</span>
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
<span>加载失败</span>
|
||||
</div>
|
||||
</el-image>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<div class="image-placeholder" v-else>
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
<span>暂无图片</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -155,34 +115,20 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { getToken } from '@/utils/auth'
|
||||
export default {
|
||||
name: 'ProjectMaterials',
|
||||
data() {
|
||||
return {
|
||||
fileViewUrl: process.env.VUE_APP_BASE_API + '/files',
|
||||
|
||||
getToken,
|
||||
// 中标通知书
|
||||
bidNoticeList: [
|
||||
{
|
||||
id: 1,
|
||||
name: '中标通知书',
|
||||
url: '',
|
||||
type: 'bidNotice',
|
||||
},
|
||||
],
|
||||
bidNoticeList: [],
|
||||
// 合同关键页
|
||||
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' },
|
||||
],
|
||||
contractPagesList: [],
|
||||
// 竣工报告
|
||||
completionReportList: [
|
||||
{ id: 1, name: '竣工报告封面', url: '', type: 'completionReport' },
|
||||
{ id: 2, name: '竣工报告内容', url: '', type: 'completionReport' },
|
||||
],
|
||||
completionReportList: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -190,54 +136,25 @@ export default {
|
|||
goBack() {
|
||||
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) {
|
||||
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() {
|
||||
// 根据路由参数获取项目ID,调用API获取项目材料数据
|
||||
const projectId = this.$route.query.projectId
|
||||
if (projectId) {
|
||||
// this.getProjectMaterials(projectId)
|
||||
}
|
||||
|
||||
watch: {
|
||||
$route: {
|
||||
handler(newVal) {
|
||||
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>
|
||||
|
|
|
|||
|
|
@ -9,25 +9,25 @@
|
|||
</el-col>
|
||||
<el-col :span="4">
|
||||
<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-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="title">
|
||||
<el-input v-model.trim="queryParams.title" placeholder="请输入职称" clearable> </el-input>
|
||||
<el-form-item prop="idCard">
|
||||
<el-input v-model.trim="queryParams.idCard" placeholder="请输入身份证号" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="major">
|
||||
<el-input v-model.trim="queryParams.major" placeholder="请输入专业" clearable> </el-input>
|
||||
<el-form-item prop="diploma">
|
||||
<el-input v-model.trim="queryParams.diploma" placeholder="请输入资格证书" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="major">
|
||||
<el-select placeholder="是否在用" clearable style="width: 100%">
|
||||
<el-option label="是" value="1" />
|
||||
<el-option label="否" value="2" />
|
||||
<el-form-item prop="used">
|
||||
<el-select placeholder="是否在用" v-model="queryParams.used" clearable style="width: 100%">
|
||||
<el-option label="是" value="0" />
|
||||
<el-option label="否" value="1" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -39,21 +39,27 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="userName">
|
||||
<el-input v-model.trim="queryParams.userName" placeholder="请输入姓名" clearable> </el-input>
|
||||
<el-form-item prop="proName">
|
||||
<el-input v-model.trim="queryParams.proName" placeholder="请输入工程名称" clearable> </el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="title">
|
||||
<el-input v-model.trim="queryParams.title" placeholder="请输入职称" clearable> </el-input>
|
||||
<el-form-item prop="voltage">
|
||||
<el-input v-model.trim="queryParams.voltage" placeholder="请输入电压等级" clearable> </el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="major">
|
||||
<el-select placeholder="请选择近年业绩" clearable style="width: 100%">
|
||||
<el-option label="是" value="1" />
|
||||
<el-option label="否" value="2" />
|
||||
<el-select
|
||||
placeholder="请选择近年业绩"
|
||||
v-model="timeValue_1"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
@change="handleTimeValueChange_1"
|
||||
>
|
||||
<el-option label="近三年" value="3" />
|
||||
<el-option label="近五年" value="5" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -61,7 +67,7 @@
|
|||
<el-form-item prop="major">
|
||||
<el-date-picker
|
||||
type="daterange"
|
||||
v-model="queryParams.timeValue"
|
||||
v-model="timeValue_2"
|
||||
range-separator="~"
|
||||
style="width: 100%"
|
||||
value-format="yyyy-MM-dd"
|
||||
|
|
@ -82,26 +88,44 @@
|
|||
</el-row>
|
||||
</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" prop="name" label="姓名" />
|
||||
<el-table-column align="center" prop="title" label="身份证号" />
|
||||
<el-table-column align="center" prop="major" label="学历" />
|
||||
<el-table-column align="center" prop="timeValue" label="职称" />
|
||||
<el-table-column align="center" prop="timeValue" label="职务" />
|
||||
<el-table-column align="center" prop="timeValue" label="专业" />
|
||||
<el-table-column align="center" prop="timeValue" label="是否在用" />
|
||||
<el-table-column align="center" prop="timeValue" label="人员类型" />
|
||||
<el-table-column show-overflow-tooltip align="center" prop="userName" label="姓名" />
|
||||
<el-table-column show-overflow-tooltip align="center" prop="idCard" label="身份证号" />
|
||||
<el-table-column show-overflow-tooltip align="center" prop="education" label="学历" />
|
||||
<el-table-column show-overflow-tooltip align="center" prop="title" label="职称" />
|
||||
<el-table-column show-overflow-tooltip align="center" prop="position" label="职务" />
|
||||
<el-table-column show-overflow-tooltip align="center" prop="major" label="专业" />
|
||||
<el-table-column show-overflow-tooltip align="center" prop="diploma" 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="操作">
|
||||
<template #default="{ row }">
|
||||
<el-button type="text" icon="el-icon-view" @click="onHandleViewDetails(row)">详情</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
:total="total"
|
||||
@pagination="getKeyPersonList"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getPersonListAPI } from '@/api/comprehensive-query'
|
||||
import moment from 'moment'
|
||||
export default {
|
||||
name: 'ComprehensiveQuery',
|
||||
|
||||
|
|
@ -111,32 +135,56 @@ export default {
|
|||
userName: '',
|
||||
title: '',
|
||||
major: '',
|
||||
timeValue: [],
|
||||
used: '',
|
||||
proName: '',
|
||||
voltage: '',
|
||||
startTime: '',
|
||||
endTime: '',
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
},
|
||||
tableData: [
|
||||
{
|
||||
name: '张三',
|
||||
title: '130102199003074919',
|
||||
major: '本科',
|
||||
timeValue: '工程师',
|
||||
timeValue: '工程师',
|
||||
},
|
||||
],
|
||||
timeValue_1: '',
|
||||
timeValue_2: [],
|
||||
tableData: [],
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
getKeyPersonList() {
|
||||
console.log(this.queryParams)
|
||||
handleTimeValueChange_1(val) {
|
||||
// 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() {
|
||||
this.$refs.queryParamsRef.resetFields()
|
||||
this.queryParams.pageNum = 1
|
||||
this.queryParams.pageSize = 10
|
||||
this.timeValue_1 = ''
|
||||
this.timeValue_2 = []
|
||||
this.getKeyPersonList()
|
||||
},
|
||||
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',
|
||||
query: {
|
||||
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() {
|
||||
// this.getKeyPersonList()
|
||||
this.getKeyPersonList()
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Reference in New Issue