Commit 15700270 authored by wangxl's avatar wangxl

333

parent 4c3fdc2a
...@@ -507,7 +507,6 @@ export default { ...@@ -507,7 +507,6 @@ export default {
deleteAssignGroupExpert (params) { deleteAssignGroupExpert (params) {
return fetch(`/v1/science-admin/com-talent-group/deleteAssignGroupExpert/${params.id}`, params, 'delete', 'json') return fetch(`/v1/science-admin/com-talent-group/deleteAssignGroupExpert/${params.id}`, params, 'delete', 'json')
}, },
getTalentGroupListByPage (params) { getTalentGroupListByPage (params) {
return fetch('/v1/science-admin/com-talent-group/getTalentGroupListByPage', params) return fetch('/v1/science-admin/com-talent-group/getTalentGroupListByPage', params)
}, },
...@@ -560,6 +559,9 @@ export default { ...@@ -560,6 +559,9 @@ export default {
getAuditListByPage (params) { getAuditListByPage (params) {
return fetch(`/v1/science-admin/com-talent-assign/getAuditListByPage`, params) return fetch(`/v1/science-admin/com-talent-assign/getAuditListByPage`, params)
}, },
getTalentAssignListByPage (params) {
return fetch(`/v1/science-admin/com-talent-assign/getTalentAssignListByPage`, params)
},
expertEvaluation (params) { expertEvaluation (params) {
return fetch(`/v1/science-admin/com-talent-assign/expertEvaluation`, params, 'post', 'json') return fetch(`/v1/science-admin/com-talent-assign/expertEvaluation`, params, 'post', 'json')
}, },
......
...@@ -2,15 +2,14 @@ ...@@ -2,15 +2,14 @@
<div class="app-content"> <div class="app-content">
<a-form :form="form" :model="searchForm" layout="inline" class="search_form"> <a-form :form="form" :model="searchForm" layout="inline" class="search_form">
<a-form-item> <a-form-item>
<a-input placeholder="项目名称" v-model="searchForm.projName" :maxLength="100" style="width: 160px" /> <a-input placeholder="身份证号" v-model="searchForm.certId" :maxLength="100" style="width: 180px" />
</a-form-item> </a-form-item>
<a-form-item> <a-form-item>
<a-input placeholder="申请编号" v-model="searchForm.appNo" :maxLength="100" style="width: 160px" /> <a-input placeholder="姓名" v-model="searchForm.personName" :maxLength="100" style="width: 180px" />
</a-form-item> </a-form-item>
<a-form-item> <a-form-item>
<a-button type="primary" icon="search" @click="search">搜索</a-button> <a-button type="primary" icon="search" @click="search">搜索</a-button>
<a-button icon="reload" style="margin-left: 10px" @click="reset" class="bt-normal">重置</a-button> <a-button icon="reload" style="margin-left: 10px" @click="reset" class="bt-normal">重置</a-button>
<a-tag color="#108ee9" style="margin-left: 10px" @click="previewFile">查看专家评分标准</a-tag>
</a-form-item> </a-form-item>
</a-form> </a-form>
<a-divider style="height: 1px; background-color: #e8e8e8;" /> <a-divider style="height: 1px; background-color: #e8e8e8;" />
...@@ -20,36 +19,27 @@ ...@@ -20,36 +19,27 @@
<span class="form-description">※ 注:保存评审内容后,请及时提交! 专家评分时间:{{description}}</span> <span class="form-description">※ 注:保存评审内容后,请及时提交! 专家评分时间:{{description}}</span>
</div> </div>
<a-table :dataSource="tableData" :columns="columns" rowKey="id" :pagination="false" :loading="loading"> <a-table :dataSource="tableData" :columns="columns" rowKey="id" :pagination="false" :loading="loading">
<template slot="projectName" slot-scope="record"> <template slot="talentInfo" slot-scope="record">
<a @click="recordClick(record,'pView')">{{record.projName}}</a> <a @click="recordClick(record, 'tView')">{{record.personName}}</a>
</template>
<template slot="expertEvaluation" slot-scope="record">
<a-tag :color="evaluationColor(record)">{{evaluationText(record)}}</a-tag>
</template>
<template slot="projClassInfo" slot-scope="record">
{{ record.projClass == 1 ? "一般项目" : "重点项目" }}
</template> </template>
<template slot="option" slot-scope="record"> <template slot="option" slot-scope="record">
<a-button type="link" size="small" v-if="!!record.auditState && record.auditState == 2" @click="recordClick(record,'view')">查看</a-button> <a-button type="link" size="small" v-if="!!record.auditState && record.auditState == 2" @click="recordClick(record,'view')">查看</a-button>
<a-button type="link" size="small" v-if="isButten" @click="recordClick(record,'score')">评分</a-button> <a-button type="link" size="small" v-if="isButten" @click="recordClick(record,'score')">评分</a-button>
</template> </template>
<template slot="supportState" slot-scope="record">
{{ record.supportState!=null?(record.supportState == 1 ? "是" : "否"):"" }}
</template>
</a-table> </a-table>
<a-pagination v-if="pagination.total > 0" :total="pagination.total" show-size-changer show-quick-jumper v-model="pagination.pageIndex" :page-size="pagination.pageSize" :page-size-options="pagination.pageSizeOptions" @showSizeChange="showSizeChange" @change="change" :showTotal="() => `共 ${pagination.total} 条`" /> <a-pagination v-if="pagination.total > 0" :total="pagination.total" show-size-changer show-quick-jumper v-model="pagination.pageIndex" :page-size="pagination.pageSize" :page-size-options="pagination.pageSizeOptions" @showSizeChange="showSizeChange" @change="change" :showTotal="() => `共 ${pagination.total} 条`" />
<a-modal v-model="scoreVisible" title="专家评分" width="90%" :dialog-style="{ top: '5%' }" :footer="null" destroyOnClose>
<score v-model="id" :exportTime="exportTime" @close="closeWindow" ref="scoreEdit" />
</a-modal>
<a-modal v-model="scoreViewVisible" title="专家评分表" width="90%" :dialog-style="{ top: '5%' }" :footer="null" destroyOnClose> <a-modal v-model="scoreViewVisible" title="专家评分表" width="90%" :dialog-style="{ top: '5%' }" :footer="null" destroyOnClose>
<score-view v-model="id" @close="() => this.scoreViewVisible = false" /> <score-view v-model="id" @close="() => this.scoreViewVisible = false" />
</a-modal> </a-modal>
<a-modal v-model="scoreVisible" title="专家评分" width="90%" :dialog-style="{ top: '5%' }" :footer="null" destroyOnClose> <a-modal v-model="talentVisible" title="查看" width="94%" :footer="null" :dialog-style="{ top: '8%' }" destroyOnClose :maskClosable="false">
<score v-model="id" :exportTime="exportTime" @close="closeWindow" ref="scoreEdit" /> <talent-view v-model="talentId" @close="closeWindow"></talent-view>
</a-modal> </a-modal>
<a-modal v-model="visibleStandard" title="专家评分标准" width="1000px" :dialog-style="{ top: '5%' }" :footer="null" destroyOnClose> <a-modal v-model="visibleStandard" title="专家评分标准" width="1000px" :dialog-style="{ top: '5%' }" :footer="null" destroyOnClose>
<pdf-view v-model="url.downloadUrl" :fileName="url.fileDownload"></pdf-view> <pdf-view v-model="url.downloadUrl" :fileName="url.fileDownload"></pdf-view>
</a-modal> </a-modal>
<a-modal v-model="visibleView" v-if="visibleView" title="项目详情" width="94%" :footer="null" :dialog-style="{ top: '8%' }" destroyOnClose :maskClosable="false">
<project-view v-model="projectId" @close="() => this.visibleView = false" />
</a-modal>
</div> </div>
</template> </template>
...@@ -59,13 +49,13 @@ import moment from 'moment' ...@@ -59,13 +49,13 @@ import moment from 'moment'
import { isEmptyParams, filterExportExcelData, tableColumnsName, getEvaluationType } from '@/views/utils/common' import { isEmptyParams, filterExportExcelData, tableColumnsName, getEvaluationType } from '@/views/utils/common'
import score from '@/views/evaluation/talent/components/score' import score from '@/views/evaluation/talent/components/score'
import scoreView from '@/views/evaluation/talent/components/scoreView' import scoreView from '@/views/evaluation/talent/components/scoreView'
import projectView from '@/views/evaluation/project/components/projectView' import talentView from "@/views/report/talent/components/talentView"
import pdfView from '@/views/components/common/pdfView' import pdfView from '@/views/components/common/pdfView'
export default { export default {
name: "talentEvaluation", name: "talentEvaluation",
components: { components: {
projectView, score, scoreView, pdfView talentView, score, scoreView, pdfView
}, },
data () { data () {
return { return {
...@@ -73,12 +63,14 @@ export default { ...@@ -73,12 +63,14 @@ export default {
searchForm: { projName: null, appNo: null, assignYear: null, personId: null, systemType: getType(), isShow: 1 }, searchForm: { projName: null, appNo: null, assignYear: null, personId: null, systemType: getType(), isShow: 1 },
tableData: [], tableData: [],
columns: [ columns: [
{ title: '申请编号', dataIndex: 'appNo', align: 'center' }, { title: "身份证号", dataIndex: 'certId', align: 'center' },
{ title: "项目名称", scopedSlots: { customRender: 'projectName', colName: 'projName' }, align: 'left' }, { title: '姓名', scopedSlots: { customRender: 'talentInfo' }, align: 'center' },
{ title: "项目类别", scopedSlots: { customRender: 'projClassInfo' }, align: 'center', width: 80 }, { title: '性别', dataIndex: 'sex', align: 'center' },
{ title: '手机号', dataIndex: 'mobile', align: 'center' },
{ title: '现从事专业', dataIndex: 'professionName', align: 'center' },
{ title: '职称', dataIndex: 'titleName', align: 'center' },
{ title: '申报年度', dataIndex: 'reportYear', align: 'center' },
{ title: '评分', dataIndex: 'totalScore', align: 'center' }, { title: '评分', dataIndex: 'totalScore', align: 'center' },
{ title: '评审结果', scopedSlots: { customRender: 'evaluationType' }, align: 'center' },
{ title: '是否推荐立项支持', scopedSlots: { customRender: 'supportState' }, align: 'center' },
{ title: '评审状态', scopedSlots: { customRender: 'expertEvaluation', colName: 'gradeScore' }, align: 'center' }, { title: '评审状态', scopedSlots: { customRender: 'expertEvaluation', colName: 'gradeScore' }, align: 'center' },
{ title: '操作', scopedSlots: { customRender: 'option' }, align: 'center', fixed: 'right', width: 120, }, { title: '操作', scopedSlots: { customRender: 'option' }, align: 'center', fixed: 'right', width: 120, },
], ],
...@@ -87,10 +79,10 @@ export default { ...@@ -87,10 +79,10 @@ export default {
description: '', description: '',
isButten: false, isButten: false,
id: null, id: null,
visibleView: false, talentVisible: false,
scoreVisible: false, scoreVisible: false,
scoreViewVisible: false, scoreViewVisible: false,
projectId: null, talentId: null,
url: { url: {
downloadUrl: '/downloadFile/20250108.pdf', downloadUrl: '/downloadFile/20250108.pdf',
fileDownload: '专家评分标准.pdf', fileDownload: '专家评分标准.pdf',
...@@ -124,7 +116,7 @@ export default { ...@@ -124,7 +116,7 @@ export default {
this.searchForm.systemType = getType() this.searchForm.systemType = getType()
let pars = isEmptyParams(this.searchForm) let pars = isEmptyParams(this.searchForm)
let par = { ...pars, pageIndex: this.pagination.pageIndex, pageSize: this.pagination.pageSize } let par = { ...pars, pageIndex: this.pagination.pageIndex, pageSize: this.pagination.pageSize }
this.$api.projectAssign.getAuditListByPage(par).then(({ data = {} }) => { this.$api.talentAssign.getTalentAssignListByPage(par).then(({ data = {} }) => {
if (data) { if (data) {
const { dataList = [], total = 0 } = data const { dataList = [], total = 0 } = data
this.tableData = dataList this.tableData = dataList
...@@ -161,9 +153,9 @@ export default { ...@@ -161,9 +153,9 @@ export default {
} else if (type === 'score') { } else if (type === 'score') {
this.id = record.id this.id = record.id
this.scoreVisible = true this.scoreVisible = true
} else if (type === 'pView') { } else if (type === 'tView') {
this.projectId = record.projId this.talentId = record.talentId
this.visibleView = true this.talentVisible = true
} }
}, },
closeWindow (value) { closeWindow (value) {
...@@ -179,21 +171,6 @@ export default { ...@@ -179,21 +171,6 @@ export default {
exportData () { exportData () {
this.$ToDoExcel(`人才评分列表`, tableColumnsName(this.columns), filterExportExcelData(this.columns, this.tableData)) this.$ToDoExcel(`人才评分列表`, tableColumnsName(this.columns), filterExportExcelData(this.columns, this.tableData))
}, },
evaluationColor (record) {
let color = ''
switch (record.auditState) {
case 0:
color = '#f50';
break;
case 1:
color = '#f50';
break;
case 2:
color = '#87d068';
break;
}
return color
},
evaluationText (record) { evaluationText (record) {
let text = '' let text = ''
switch (record.auditState) { switch (record.auditState) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment