Commit 20f6d6de by liangzhen

后评估修改

1 parent 07f0ad44
......@@ -275,6 +275,11 @@ export function gdrectificationVerification(params) {
export function downloadObject(params) {
return download(`${ARCH_EVALUATION}/oss/downloadObject`, params)
}
//下载归档
export function downloadObjectAll(params) {
return download(`${ARCH_EVALUATION}/oss/downloadObjectAll`, params)
}
//后评估集中检查
//项目检查问题查询
......
......@@ -23,7 +23,7 @@ export const routes = [
path: '/',
name: 'main',
component: () => import('@/views/layout/index.vue'),
redirect: defaultRouter(),
redirect: '/layout/main',
children: [
{
path: '/mainLayout',
......@@ -31,6 +31,14 @@ export const routes = [
redirect: defaultRouter(),
component: () => import('@/views/layout/mainLayout.vue'),
children: [
{
path: '/layout/main',
name: 'main',
component: () => import('@/views/layout/main.vue'),
meta: {
title: "首页",
},
},
//后评估自查
{
path: '/assesszc/auxiliarySelection',
......
......@@ -98,6 +98,9 @@
<el-button @click="detailsForm('ruleForm')">
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
>
<el-button @click="downFiles()">
<i class="el-icon-download"></i> &nbsp;&nbsp;归档材料下载</el-button
>
</el-form-item>
</el-form>
<div class="setscroll">
......@@ -341,6 +344,7 @@ import {
selLcb,
presignedUrl,
downloadObject,
downloadObjectAll
} from "@/api/index";
import { generateYearOptions, projectCategoryText } from "@/utils/cache";
export default {
......@@ -611,14 +615,14 @@ export default {
},
handleImageClick() {},
async handleClickXZ(scope) {
console.log(scope.fileId);
let response = await downloadObject({
fileId: scope.fileId * 1,
});
let blob = new Blob([response]);
if ("download" in document.createElement("a")) {
let elink = document.createElement("a");
elink.download = scope.fileName;
elink.download = fileName;
elink.style.display = "none";
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
......@@ -627,6 +631,27 @@ export default {
document.body.removeChild(elink);
}
},
async downFiles(){
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
}
if(this.checkedList[0].postEvalStateText!='已归档'){
this.$message("该项目还未归档,请重新选择");
return;
}
let response = await downloadObjectAll({
prjId:this.checkedList[0].projectId,
bathId: this.checkedList[0].batchId,
});
let blob = new Blob([response], { type: 'application/zip' })
let url = window.URL.createObjectURL(blob)
const link = document.createElement('a') // 创建a标签
link.href = url
link.download = '归档' // 重命名文件
link.click()
URL.revokeObjectURL(url) // 释放内存
}
},
};
</script>
......
......@@ -103,13 +103,9 @@
<el-table-column prop="expertName" label="后评估专家" width="auto">
</el-table-column>
<!-- <el-table-column prop="expertId" label="专家编号" width="auto">
<!-- <el-table-column prop="id" label="专家编号" width="auto">
</el-table-column> -->
<el-table-column
prop="planReviewDate"
label="计划评估日期"
width="220"
>
<el-table-column prop="planReviewDate" label="计划评估日期" width="220">
</el-table-column>
<el-table-column
prop="postEvalStateText"
......@@ -166,7 +162,7 @@
prop="planReviewDate"
class="fromItem"
>
<el-date-picker
<el-date-picker
disabled
v-model="ruleFormdialogBJ.planReviewDate"
type="datetime"
......@@ -208,42 +204,50 @@
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="单位" width="auto" prop="compId">
<el-table-column label="单位" width="auto" prop="orgName">
</el-table-column>
<el-table-column prop="talentName" label="专家姓名" width="auto">
</el-table-column>
<el-table-column prop="fullName" label="专家姓名" width="auto">
<el-table-column prop="id" label="专家编号" width="auto">
</el-table-column>
<el-table-column prop="expertId" label="专家编号" width="auto">
</el-table-column>
<el-table-column prop="gender" label="性别" width="auto">
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{
scope.row.gender | filtergender
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthday" label="出生日期" width="auto">
<el-table-column prop="birthDay" label="出生日期" width="auto">
</el-table-column>
<el-table-column prop="qualification" label="学历" width="auto">
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{
scope.row.education | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="contact" label="联系方式" width="auto">
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
</el-table-column>
<el-table-column prop="fields" label="专业领域" width="auto">
<el-table-column prop="expertfields" label="专业领域" width="auto">
<template slot-scope="scope">{{
scope.row.fields | filtertfields
scope.row.expertfields | filtertfields
}}</template>
</el-table-column>
<el-table-column prop="expertProfile" label="专家简介" width="auto" show-overflow-tooltip>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="expertLevel" label="专家级别" width="auto">
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{
scope.row.expertLevel | filtertLevel
scope.row.level | filtertLevel
}}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="expertState" label="专家状态" width="auto">
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{
scope.row.expertState | filtertState
scope.row.status | filtertState
}}</template>
</el-table-column>
</el-table>
......@@ -308,14 +312,13 @@
>
<el-date-picker
v-model="ruleFormdialogAdd.planReviewDate"
type="datetime"
type="datetime"
placeholder="选择日期"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="{
disabledDate: (time) =>
time.getTime() < new Date(new Date().setHours(0, 0, 0, 0)),
}"
>
</el-date-picker>
</el-form-item>
......@@ -357,42 +360,50 @@
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="单位" width="auto" prop="compId">
<el-table-column label="单位" width="auto" prop="orgName">
</el-table-column>
<el-table-column prop="fullName" label="专家姓名" width="auto">
<el-table-column prop="talentName" label="专家姓名" width="auto">
</el-table-column>
<el-table-column prop="expertId" label="专家编号" width="auto">
<el-table-column prop="id" label="专家编号" width="auto">
</el-table-column>
<el-table-column prop="gender" label="性别" width="auto">
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{
scope.row.gender | filtergender
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthday" label="出生日期" width="auto">
<el-table-column prop="birthDay" label="出生日期" width="auto">
</el-table-column>
<el-table-column prop="qualification" label="学历" width="auto">
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{
scope.row.education | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="contact" label="联系方式" width="auto">
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
</el-table-column>
<el-table-column prop="fields" label="专业领域" width="auto">
<el-table-column prop="expertfields" label="专业领域" width="auto">
<template slot-scope="scope">{{
scope.row.fields | filtertfields
scope.row.expertFields | filtertfields
}}</template>
</el-table-column>
<el-table-column prop="expertProfile" label="专家简介" width="auto" show-overflow-tooltip>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="expertLevel" label="专家级别" width="auto">
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{
scope.row.expertLevel | filtertLevel
scope.row.level | filtertLevel
}}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="expertState" label="专家状态" width="auto">
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{
scope.row.expertState | filtertState
scope.row.status | filtertState
}}</template>
</el-table-column>
</el-table>
......@@ -424,24 +435,24 @@
:append-to-body="false"
>
<div class="adzjdialog">
<el-form :model="ruleFormZJ" label-width="100px" class="demo-ruleForm" >
<el-form-item label="专家姓名:" prop="fullName" class="fromItem">
<el-form :model="ruleFormZJ" label-width="100px" class="demo-ruleForm">
<el-form-item label="专家姓名:" prop="talentName" class="fromItem">
<el-input
v-model="ruleFormZJ.fullName"
v-model="ruleFormZJ.talentName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="专家编号:" prop="expertId" class="fromItem">
<el-form-item label="专家编号:" prop="id" class="fromItem">
<el-input
v-model="ruleFormZJ.expertId"
v-model="ruleFormZJ.id"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="专家级别:" prop="expertLevel" class="fromItem">
<el-form-item label="专家级别:" prop="level" class="fromItem">
<el-select
v-model="ruleFormZJ.expertLevel"
v-model="ruleFormZJ.level"
placeholder="请选择"
clearable
>
......@@ -450,9 +461,9 @@
<el-option label="中级" value="2"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="专业领域:" prop="fields" class="fromItem">
<!-- <el-form-item label="专业领域:" prop="expertFields" class="fromItem">
<el-select
v-model="ruleFormZJ.fields"
v-model="ruleFormZJ.expertFields"
placeholder="请选择"
clearable
>
......@@ -462,9 +473,9 @@
<el-option label="2021年" value="2021"></el-option>
</el-select>
</el-form-item> -->
<!-- <el-form-item label="专家状态:" prop="expertState" class="fromItem">
<!-- <el-form-item label="专家状态:" prop="status" class="fromItem">
<el-select
v-model="ruleFormZJ.expertState"
v-model="ruleFormZJ.status"
placeholder="请选择"
clearable
>
......@@ -495,46 +506,54 @@
<!-- <template slot-scope="scope">{{ scope.row.id }}</template> -->
</el-table-column>
<!-- <el-table-column type="selection"> </el-table-column> -->
<el-table-column label="单位" width="auto" prop="compId">
<el-table-column label="单位" width="auto" prop="orgName">
</el-table-column>
<el-table-column prop="fullName" label="专家姓名" width="auto">
<el-table-column prop="talentName" label="专家姓名" width="auto">
</el-table-column>
<el-table-column prop="expertId" label="专家编号" width="auto">
<el-table-column prop="id" label="专家编号" width="auto">
</el-table-column>
<el-table-column prop="gender" label="性别" width="gender">
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{
scope.row.gender | filtergender
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthday" label="出生日期" width="auto">
<el-table-column prop="birthDay" label="出生日期" width="auto">
</el-table-column>
<el-table-column prop="qualification" label="学历" width="auto">
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{
scope.row.education | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="contact" label="联系方式" width="auto">
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
</el-table-column>
<el-table-column prop="fields" label="专业领域" width="auto">
<el-table-column prop="expertFields" label="专业领域" width="auto">
<template slot-scope="scope">{{
scope.row.fields | filtertfields
scope.row.expertFields | filtertfields
}}</template>
</el-table-column>
<el-table-column prop="expertProfile" label="专家简介" width="auto" show-overflow-tooltip>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="expertLevel" label="专家级别" width="auto">
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{
scope.row.expertLevel | filtertLevel
scope.row.level | filtertLevel
}}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="expertState" label="专家状态" width="auto">
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{
scope.row.expertState | filtertState
scope.row.status | filtertState
}}</template>
</el-table-column>
<!-- <el-table-column
prop="expertId"
prop="id"
label="id"
width="auto"
v-show="false"
......@@ -647,42 +666,50 @@
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="单位" width="auto" prop="compId">
<el-table-column label="单位" width="auto" prop="orgName">
</el-table-column>
<el-table-column prop="fullName" label="专家姓名" width="auto">
<el-table-column prop="talentName" label="专家姓名" width="auto">
</el-table-column>
<el-table-column prop="expertId" label="专家编号" width="auto">
<el-table-column prop="id" label="专家编号" width="auto">
</el-table-column>
<el-table-column prop="gender" label="性别" width="auto">
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{
scope.row.gender | filtergender
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthday" label="出生日期" width="auto">
<el-table-column prop="birthDay" label="出生日期" width="auto">
</el-table-column>
<el-table-column prop="qualification" label="学历" width="auto">
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{
scope.row.seducation | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="contact" label="联系方式" width="auto">
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
</el-table-column>
<el-table-column prop="fields" label="专业领域" width="auto">
<el-table-column prop="expertFields" label="专业领域" width="auto">
<template slot-scope="scope">{{
scope.row.fields | filtertfields
scope.row.expertFields | filtertfields
}}</template>
</el-table-column>
<el-table-column prop="expertProfile" label="专家简介" width="auto" show-overflow-tooltip>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="expertLevel" label="专家级别" width="auto">
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{
scope.row.expertLevel | filtertLevel
scope.row.level | filtertLevel
}}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="expertState" label="专家状态" width="auto">
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{
scope.row.expertState | filtertState
scope.row.status | filtertState
}}</template>
</el-table-column>
</el-table>
......@@ -742,8 +769,8 @@ export default {
fullName: "",
},
ruleFormZJ: {
fields: "",
expertState: "",
expertFields: "",
status: "",
fullName: "",
},
ruleFormdialogAdd: {
......@@ -807,8 +834,8 @@ export default {
expertIdList: [],
totalBJ: 0,
addZJList: [],
expertState: "",
fields: "",
status: "",
expertfields: "",
zjfullName: "",
zjtotal: 0,
zjtableData: [],
......@@ -830,26 +857,36 @@ export default {
},
filtertState(val) {
if (val == 1) {
return "在";
return "在";
} else {
return "转岗";
return "出库";
}
},
filtertLevel(val) {
if (val == 1) {
return "级";
return "级";
} else if (val == 2) {
return "中级";
}
{
return "初级";
} else {
return "高级";
}
},
filtertfields(val) {
if (val == 1) {
return "信息技术";
return "设备";
} else if (val == 2) {
return "技术";
} else {
return "信息化";
}
},
filterexpert(val) {
if (val == 1) {
return "本科";
} else if (val == 2) {
return "硕士";
} else {
return "科技研发";
return "博士";
}
},
},
......@@ -869,11 +906,11 @@ export default {
let params = {
current: this.currentPage,
pageSize: this.pageSize,
module:0,
module: 0,
};
Object.assign(params, this.ruleForm);
let res = await evalBatchInfo(params);
if (res.code == "200") {
......@@ -909,7 +946,7 @@ export default {
async add() {
this.dialogAdd = true;
this.addtableData = []; //每次新增清空不然点了还是这几个人
this.ruleFormdialogAdd={}
this.ruleFormdialogAdd = {};
},
//详情
async detailsForm() {
......@@ -918,7 +955,9 @@ export default {
return;
}
this.dialogXQ = true;
this.checkedList[0].planReviewDate=new Date(this.checkedList[0].planReviewDate)
this.checkedList[0].planReviewDate = new Date(
this.checkedList[0].planReviewDate
);
this.ruleFormdialogBJ = this.checkedList[0];
let params = {
current: this.currentPageXQ,
......@@ -946,7 +985,6 @@ export default {
}
this.checkedList = this.$refs.multipleTable.selection;
this.ruleFormdialog = this.checkedList[0];
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
......@@ -954,24 +992,19 @@ export default {
this.submitForm();
},
handleCurrentChange(val) {
this.currentPage = val;
this.submitForm();
},
handleSizeChangeZJ(val) {
this.pageSizeZJ = val;
},
handleCurrentChangeZJ(val) {
this.currentZJ = val;
},
handleSizeChangetjcl(val) {
this.pageSizetjcl = val;
},
handleCurrentChangetjcl(val) {
this.currentPagetjcl = val;
},
handleSizeChangeAdd(val) {
......@@ -981,23 +1014,19 @@ export default {
this.addcurrentPage = val;
},
handleSizeChangeBJ(val) {
this.pageSizeBJ = val;
this.edit();
},
handleCurrentChangeBJ(val) {
this.currentPageBJ = val;
this.edit();
},
//详情分页
handleSizeChangeXQ(val) {
this.pageSizeXQ = val;
this.detailsForm();
},
handleCurrentChangeXQ(val) {
this.currentPageXQ = val;
this.detailsForm();
},
......@@ -1019,8 +1048,7 @@ export default {
}
this.addtableData = [...this.addtableData, ...this.addZJList];
this.addtableData = this.addtableData.filter(
(obj, index, self) =>
index === self.findIndex((t) => t.expertId === obj.expertId)
(obj, index, self) => index === self.findIndex((t) => t.id === obj.id)
);
this.addtotal = this.addtableData.length;
......@@ -1033,9 +1061,9 @@ export default {
this.dialogedit = false;
},
async xzExperts(type) {
if(!type){
this.ruleFormZJ={}
}
if (!type) {
this.ruleFormZJ = {};
}
this.dialogAddzj = true;
let params = {
current: this.currentZJ,
......@@ -1046,7 +1074,6 @@ export default {
let res = await expertInfo(params);
this.zjtableData = res.data.records;
this.zjtotal = res.data.total * 1;
},
cancelBJ() {
......@@ -1066,18 +1093,18 @@ export default {
let expertIdList = [];
let expertStr = "";
this.addtableData.forEach((item) => {
expertIdList.push(item.expertId);
expertIdList.push(item.id);
expertStr = JSON.stringify(expertIdList).slice(1, -1);
});
let params = {
expertStr: expertStr,
creator: sessionStorage.getItem("author"),
createTime: getCurrentDate(),
module:0,
module: 0,
};
Object.assign(params, this.ruleFormdialogAdd);
this.xfParams = JSON.parse(JSON.stringify(params));
adEvalBatchInfo(params).then((res) => {
this.dialogAdd = false;
this.expertIdList = expertIdList;
......@@ -1094,28 +1121,26 @@ export default {
this.dialogAdd = false;
},
saveBJ() {
this.$refs.formNameBJ.validate((valid) => {
if (!valid) {
return false;
} else {
if (this.addtableData.length < 1) {
this.$message("请选择专家");
}
let expertIdList = [];
let expertStr = "";
this.addtableData.forEach((item) => {
expertIdList.push(item.expertId);
expertIdList.push(item.id);
expertStr = JSON.stringify(expertIdList).slice(1, -1);
});
let params = {
expertStr: expertStr,
};
Object.assign(this.ruleFormdialogBJ, params);
updEvalBatchInfo(this.ruleFormdialogBJ).then((res) => {
this.dialogedit = false;
this.resetForm();
......@@ -1126,7 +1151,6 @@ export default {
//选中的专家
handleSelectionChangeZJ() {
this.addZJList = this.$refs.multipleTableZJ.selection;
},
//点击编辑
async edit() {
......@@ -1140,7 +1164,9 @@ export default {
return;
}
this.addtableData = [];
this.checkedList[0].planReviewDate=new Date(this.checkedList[0].planReviewDate)
this.checkedList[0].planReviewDate = new Date(
this.checkedList[0].planReviewDate
);
this.ruleFormdialogBJ = this.checkedList[0];
this.dialogedit = true;
let params = {
......@@ -1148,13 +1174,13 @@ export default {
pageSize: this.pageSizeedit,
batchId: this.checkedList[0].batchId,
};
let res = await expert(params);
this.addtableData = res.data.records;
this.totalBJ = res.data.total * 1;
this.addtableData.forEach((item) => {
this.expertIdList.push(item.expertId);
this.expertIdList.push(item.id);
});
},
//点击删除
......@@ -1240,10 +1266,10 @@ export default {
})
.then(async () => {
let res = await chEvalBatchInfo(this.checkedList[0]);
if (res.code == "200") {
this.$message('已撤回')
this.resetForm();
}
if (res.code == "200") {
this.$message("已撤回");
this.resetForm();
}
})
.catch((action) => {});
// let res = await chEvalBatchInfo(this.checkedList[0]);
......@@ -1497,5 +1523,4 @@ export default {
overflow: auto;
}
}
</style>
\ No newline at end of file
......@@ -98,6 +98,9 @@
<el-button @click="detailsForm('ruleForm')">
<img class="buttonIcon" src="../../assets/ck.png" />详情</el-button
>
<el-button @click="downFiles()">
<i class="el-icon-download"></i> &nbsp;&nbsp;归档材料下载</el-button
>
</el-form-item>
</el-form>
<div class="setscroll">
......@@ -341,6 +344,7 @@ import {
selLcb,
presignedUrl,
downloadObject,
downloadObjectAll
} from "@/api/index";
import { generateYearOptions, projectCategoryText } from "@/utils/cache";
export default {
......@@ -401,10 +405,9 @@ export default {
let params = {
current: this.currentPage,
pageSize: this.pageSize,
module:1
module:1,
};
Object.assign(params, this.ruleForm);
console.log(params);
let res = await fzcxselect(params);
if (res.code == "200") {
......@@ -517,7 +520,6 @@ export default {
}
},
async handleClick() {
console.log(this.activeName, "this.activeName");
if (this.activeName == "second") {
let params = {
batchId: this.checkedList[0].batchId,
......@@ -557,13 +559,13 @@ export default {
// 有url拆分调接口换预览
if (urlStr) {
console.log(urlStr, "urlStr");
if (urlStr.includes(",")) {
arrUrl = item.url.split(",");
} else {
arrUrl.push(urlStr);
}
console.log(arrUrl, "arrUrlarrUrl");
arrUrl.forEach(async (showUrl) => {
let paramsUrl = {
url: showUrl,
......@@ -571,7 +573,7 @@ export default {
let resUrl = await presignedUrl(paramsUrl);
showUrlList.push(resUrl.msg);
});
console.log(showUrlList, "showUrlList");
this.$set(item, "images", showUrlList);
}
......@@ -613,14 +615,14 @@ export default {
},
handleImageClick() {},
async handleClickXZ(scope) {
console.log(scope.fileId);
let response = await downloadObject({
fileId: scope.fileId * 1,
});
let blob = new Blob([response]);
if ("download" in document.createElement("a")) {
let elink = document.createElement("a");
elink.download = scope.fileName;
elink.download = fileName;
elink.style.display = "none";
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
......@@ -629,6 +631,27 @@ export default {
document.body.removeChild(elink);
}
},
async downFiles(){
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
}
if(this.checkedList[0].postEvalStateText!='已归档'){
this.$message("该项目还未归档,请重新选择");
return;
}
let response = await downloadObjectAll({
prjId:this.checkedList[0].projectId,
bathId: this.checkedList[0].batchId,
});
let blob = new Blob([response], { type: 'application/zip' })
let url = window.URL.createObjectURL(blob)
const link = document.createElement('a') // 创建a标签
link.href = url
link.download = '归档' // 重命名文件
link.click()
URL.revokeObjectURL(url) // 释放内存
}
},
};
</script>
......@@ -643,7 +666,7 @@ export default {
}
.el-form {
display: flex;
width: 100%;
width: 99%;
flex-wrap: wrap;
border-top: 2px solid #23c6c8;
border-left: 1px solid #dee5e7;
......
......@@ -103,13 +103,9 @@
<el-table-column prop="expertName" label="后评估专家" width="auto">
</el-table-column>
<!-- <el-table-column prop="expertId" label="专家编号" width="auto">
<!-- <el-table-column prop="id" label="专家编号" width="auto">
</el-table-column> -->
<el-table-column
prop="planReviewDate"
label="计划评估日期"
width="220"
>
<el-table-column prop="planReviewDate" label="计划评估日期" width="220">
</el-table-column>
<el-table-column
prop="postEvalStateText"
......@@ -166,10 +162,18 @@
prop="planReviewDate"
class="fromItem"
>
<el-input
v-model="ruleFormdialogBJ.planReviewDate"
<el-date-picker
disabled
></el-input>
v-model="ruleFormdialogBJ.planReviewDate"
type="datetime"
placeholder="选择日期"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="{
disabledDate: (time) =>
time.getTime() < new Date(new Date().setHours(0, 0, 0, 0)),
}"
>
</el-date-picker>
</el-form-item>
<el-form-item label="工作组织情况:" class="textarea">
<el-input
......@@ -200,42 +204,50 @@
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="单位" width="auto" prop="compId">
<el-table-column label="单位" width="auto" prop="orgName">
</el-table-column>
<el-table-column prop="talentName" label="专家姓名" width="auto">
</el-table-column>
<el-table-column prop="fullName" label="专家姓名" width="auto">
<el-table-column prop="id" label="专家编号" width="auto">
</el-table-column>
<el-table-column prop="expertId" label="专家编号" width="auto">
</el-table-column>
<el-table-column prop="gender" label="性别" width="auto">
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{
scope.row.gender | filtergender
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthday" label="出生日期" width="auto">
<el-table-column prop="birthDay" label="出生日期" width="auto">
</el-table-column>
<el-table-column prop="qualification" label="学历" width="auto">
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{
scope.row.education | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="contact" label="联系方式" width="auto">
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
</el-table-column>
<el-table-column prop="fields" label="专业领域" width="auto">
<el-table-column prop="expertfields" label="专业领域" width="auto">
<template slot-scope="scope">{{
scope.row.fields | filtertfields
scope.row.expertfields | filtertfields
}}</template>
</el-table-column>
<el-table-column prop="expertProfile" label="专家简介" width="auto" show-overflow-tooltip>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="expertLevel" label="专家级别" width="auto">
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{
scope.row.expertLevel | filtertLevel
scope.row.level | filtertLevel
}}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="expertState" label="专家状态" width="auto">
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{
scope.row.expertState | filtertState
scope.row.status | filtertState
}}</template>
</el-table-column>
</el-table>
......@@ -300,14 +312,13 @@
>
<el-date-picker
v-model="ruleFormdialogAdd.planReviewDate"
type="datetime"
type="datetime"
placeholder="选择日期"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="{
disabledDate: (time) =>
time.getTime() < new Date(new Date().setHours(0, 0, 0, 0)),
}"
>
</el-date-picker>
</el-form-item>
......@@ -349,42 +360,50 @@
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="单位" width="auto" prop="compId">
<el-table-column label="单位" width="auto" prop="orgName">
</el-table-column>
<el-table-column prop="fullName" label="专家姓名" width="auto">
<el-table-column prop="talentName" label="专家姓名" width="auto">
</el-table-column>
<el-table-column prop="expertId" label="专家编号" width="auto">
<el-table-column prop="id" label="专家编号" width="auto">
</el-table-column>
<el-table-column prop="gender" label="性别" width="auto">
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{
scope.row.gender | filtergender
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthday" label="出生日期" width="auto">
<el-table-column prop="birthDay" label="出生日期" width="auto">
</el-table-column>
<el-table-column prop="qualification" label="学历" width="auto">
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{
scope.row.education | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="contact" label="联系方式" width="auto">
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
</el-table-column>
<el-table-column prop="fields" label="专业领域" width="auto">
<el-table-column prop="expertfields" label="专业领域" width="auto">
<template slot-scope="scope">{{
scope.row.fields | filtertfields
scope.row.expertFields | filtertfields
}}</template>
</el-table-column>
<el-table-column prop="expertProfile" label="专家简介" width="auto" show-overflow-tooltip>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="expertLevel" label="专家级别" width="auto">
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{
scope.row.expertLevel | filtertLevel
scope.row.level | filtertLevel
}}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="expertState" label="专家状态" width="auto">
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{
scope.row.expertState | filtertState
scope.row.status | filtertState
}}</template>
</el-table-column>
</el-table>
......@@ -416,24 +435,24 @@
:append-to-body="false"
>
<div class="adzjdialog">
<el-form :model="ruleFormZJ" label-width="100px" class="demo-ruleForm" >
<el-form-item label="专家姓名:" prop="fullName" class="fromItem">
<el-form :model="ruleFormZJ" label-width="100px" class="demo-ruleForm">
<el-form-item label="专家姓名:" prop="talentName" class="fromItem">
<el-input
v-model="ruleFormZJ.fullName"
v-model="ruleFormZJ.talentName"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="专家编号:" prop="expertId" class="fromItem">
<el-form-item label="专家编号:" prop="id" class="fromItem">
<el-input
v-model="ruleFormZJ.expertId"
v-model="ruleFormZJ.id"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
<el-form-item label="专家级别:" prop="expertLevel" class="fromItem">
<el-form-item label="专家级别:" prop="level" class="fromItem">
<el-select
v-model="ruleFormZJ.expertLevel"
v-model="ruleFormZJ.level"
placeholder="请选择"
clearable
>
......@@ -442,9 +461,9 @@
<el-option label="中级" value="2"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="专业领域:" prop="fields" class="fromItem">
<!-- <el-form-item label="专业领域:" prop="expertFields" class="fromItem">
<el-select
v-model="ruleFormZJ.fields"
v-model="ruleFormZJ.expertFields"
placeholder="请选择"
clearable
>
......@@ -454,9 +473,9 @@
<el-option label="2021年" value="2021"></el-option>
</el-select>
</el-form-item> -->
<!-- <el-form-item label="专家状态:" prop="expertState" class="fromItem">
<!-- <el-form-item label="专家状态:" prop="status" class="fromItem">
<el-select
v-model="ruleFormZJ.expertState"
v-model="ruleFormZJ.status"
placeholder="请选择"
clearable
>
......@@ -487,46 +506,54 @@
<!-- <template slot-scope="scope">{{ scope.row.id }}</template> -->
</el-table-column>
<!-- <el-table-column type="selection"> </el-table-column> -->
<el-table-column label="单位" width="auto" prop="compId">
<el-table-column label="单位" width="auto" prop="orgName">
</el-table-column>
<el-table-column prop="fullName" label="专家姓名" width="auto">
<el-table-column prop="talentName" label="专家姓名" width="auto">
</el-table-column>
<el-table-column prop="expertId" label="专家编号" width="auto">
<el-table-column prop="id" label="专家编号" width="auto">
</el-table-column>
<el-table-column prop="gender" label="性别" width="gender">
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{
scope.row.gender | filtergender
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthday" label="出生日期" width="auto">
<el-table-column prop="birthDay" label="出生日期" width="auto">
</el-table-column>
<el-table-column prop="qualification" label="学历" width="auto">
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{
scope.row.education | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="contact" label="联系方式" width="auto">
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
</el-table-column>
<el-table-column prop="fields" label="专业领域" width="auto">
<el-table-column prop="expertFields" label="专业领域" width="auto">
<template slot-scope="scope">{{
scope.row.fields | filtertfields
scope.row.expertFields | filtertfields
}}</template>
</el-table-column>
<el-table-column prop="expertProfile" label="专家简介" width="auto" show-overflow-tooltip>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="expertLevel" label="专家级别" width="auto">
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{
scope.row.expertLevel | filtertLevel
scope.row.level | filtertLevel
}}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="expertState" label="专家状态" width="auto">
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{
scope.row.expertState | filtertState
scope.row.status | filtertState
}}</template>
</el-table-column>
<!-- <el-table-column
prop="expertId"
prop="id"
label="id"
width="auto"
v-show="false"
......@@ -639,42 +666,50 @@
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="单位" width="auto" prop="compId">
<el-table-column label="单位" width="auto" prop="orgName">
</el-table-column>
<el-table-column prop="fullName" label="专家姓名" width="auto">
<el-table-column prop="talentName" label="专家姓名" width="auto">
</el-table-column>
<el-table-column prop="expertId" label="专家编号" width="auto">
<el-table-column prop="id" label="专家编号" width="auto">
</el-table-column>
<el-table-column prop="gender" label="性别" width="auto">
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{
scope.row.gender | filtergender
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthday" label="出生日期" width="auto">
<el-table-column prop="birthDay" label="出生日期" width="auto">
</el-table-column>
<el-table-column prop="qualification" label="学历" width="auto">
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{
scope.row.seducation | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="contact" label="联系方式" width="auto">
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
</el-table-column>
<el-table-column prop="fields" label="专业领域" width="auto">
<el-table-column prop="expertFields" label="专业领域" width="auto">
<template slot-scope="scope">{{
scope.row.fields | filtertfields
scope.row.expertFields | filtertfields
}}</template>
</el-table-column>
<el-table-column prop="expertProfile" label="专家简介" width="auto" show-overflow-tooltip>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="expertLevel" label="专家级别" width="auto">
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{
scope.row.expertLevel | filtertLevel
scope.row.level | filtertLevel
}}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="expertState" label="专家状态" width="auto">
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{
scope.row.expertState | filtertState
scope.row.status | filtertState
}}</template>
</el-table-column>
</el-table>
......@@ -734,8 +769,8 @@ export default {
fullName: "",
},
ruleFormZJ: {
fields: "",
expertState: "",
expertFields: "",
status: "",
fullName: "",
},
ruleFormdialogAdd: {
......@@ -799,8 +834,8 @@ export default {
expertIdList: [],
totalBJ: 0,
addZJList: [],
expertState: "",
fields: "",
status: "",
expertfields: "",
zjfullName: "",
zjtotal: 0,
zjtableData: [],
......@@ -822,33 +857,42 @@ export default {
},
filtertState(val) {
if (val == 1) {
return "在";
return "在";
} else {
return "转岗";
return "出库";
}
},
filtertLevel(val) {
if (val == 1) {
return "级";
return "级";
} else if (val == 2) {
return "中级";
}
{
return "初级";
} else {
return "高级";
}
},
filtertfields(val) {
if (val == 1) {
return "信息技术";
return "设备";
} else if (val == 2) {
return "技术";
} else {
return "科技研发";
return "信息化";
}
},
filterexpert(val) {
if (val == 1) {
return "本科";
} else if (val == 2) {
return "硕士";
} else {
return "博士";
}
},
},
methods: {
timeChange(time) {
console.log("tttttt", time);
if (time) {
//给后端的参数
this.ruleForm.createStartTime = time[0];
......@@ -862,11 +906,11 @@ export default {
let params = {
current: this.currentPage,
pageSize: this.pageSize,
module:1
module: 1,
};
console.log(this.ruleForm, " this.ruleForm");
Object.assign(params, this.ruleForm);
console.log(params);
let res = await evalBatchInfo(params);
if (res.code == "200") {
......@@ -902,6 +946,7 @@ export default {
async add() {
this.dialogAdd = true;
this.addtableData = []; //每次新增清空不然点了还是这几个人
this.ruleFormdialogAdd = {};
},
//详情
async detailsForm() {
......@@ -909,9 +954,10 @@ export default {
this.$message("请选择");
return;
}
console.log("222", this.checkedList);
this.dialogXQ = true;
this.checkedList[0].planReviewDate=new Date(this.checkedList[0].planReviewDate)
this.checkedList[0].planReviewDate = new Date(
this.checkedList[0].planReviewDate
);
this.ruleFormdialogBJ = this.checkedList[0];
let params = {
current: this.currentPageXQ,
......@@ -939,7 +985,6 @@ export default {
}
this.checkedList = this.$refs.multipleTable.selection;
this.ruleFormdialog = this.checkedList[0];
console.log(this.checkedList, "2222");
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
......@@ -947,24 +992,19 @@ export default {
this.submitForm();
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.currentPage = val;
this.submitForm();
},
handleSizeChangeZJ(val) {
console.log(`每页 ${val} 条`);
this.pageSizeZJ = val;
},
handleCurrentChangeZJ(val) {
console.log(`当前页: ${val}`);
this.currentZJ = val;
},
handleSizeChangetjcl(val) {
console.log(`每页 ${val} 条`);
this.pageSizetjcl = val;
},
handleCurrentChangetjcl(val) {
console.log(`当前页: ${val}`);
this.currentPagetjcl = val;
},
handleSizeChangeAdd(val) {
......@@ -974,23 +1014,19 @@ export default {
this.addcurrentPage = val;
},
handleSizeChangeBJ(val) {
console.log(`每页 ${val} 条`);
this.pageSizeBJ = val;
this.edit();
},
handleCurrentChangeBJ(val) {
console.log(`当前页: ${val}`);
this.currentPageBJ = val;
this.edit();
},
//详情分页
handleSizeChangeXQ(val) {
console.log(`每页 ${val} 条`);
this.pageSizeXQ = val;
this.detailsForm();
},
handleCurrentChangeXQ(val) {
console.log(`当前页: ${val}`);
this.currentPageXQ = val;
this.detailsForm();
},
......@@ -1012,8 +1048,7 @@ export default {
}
this.addtableData = [...this.addtableData, ...this.addZJList];
this.addtableData = this.addtableData.filter(
(obj, index, self) =>
index === self.findIndex((t) => t.expertId === obj.expertId)
(obj, index, self) => index === self.findIndex((t) => t.id === obj.id)
);
this.addtotal = this.addtableData.length;
......@@ -1026,9 +1061,9 @@ export default {
this.dialogedit = false;
},
async xzExperts(type) {
if(!type){
this.ruleFormZJ={}
}
if (!type) {
this.ruleFormZJ = {};
}
this.dialogAddzj = true;
let params = {
current: this.currentZJ,
......@@ -1039,13 +1074,13 @@ export default {
let res = await expertInfo(params);
this.zjtableData = res.data.records;
this.zjtotal = res.data.total * 1;
console.log(res, "xxx");
},
cancelBJ() {
this.dialogedit = false;
},
saveXZ() {
console.log("保存验证", this.$refs);
this.$refs.formName.validate((valid) => {
if (!valid) {
console.log("error submit!!");
......@@ -1058,18 +1093,18 @@ export default {
let expertIdList = [];
let expertStr = "";
this.addtableData.forEach((item) => {
expertIdList.push(item.expertId);
expertIdList.push(item.id);
expertStr = JSON.stringify(expertIdList).slice(1, -1);
});
let params = {
expertStr: expertStr,
creator: sessionStorage.getItem("author"),
createTime: getCurrentDate(),
module:1
module: 1,
};
Object.assign(params, this.ruleFormdialogAdd);
this.xfParams = JSON.parse(JSON.stringify(params));
console.log(params, "222");
adEvalBatchInfo(params).then((res) => {
this.dialogAdd = false;
this.expertIdList = expertIdList;
......@@ -1086,28 +1121,26 @@ export default {
this.dialogAdd = false;
},
saveBJ() {
console.log("保存编辑验证", this.$refs.formNameBJ);
this.$refs.formNameBJ.validate((valid) => {
if (!valid) {
console.log("error submit!!");
return false;
} else {
if (this.addtableData.length < 1) {
this.$message("请选择专家");
}
console.log(this.addtableData, "addtableData");
let expertIdList = [];
let expertStr = "";
this.addtableData.forEach((item) => {
expertIdList.push(item.expertId);
expertIdList.push(item.id);
expertStr = JSON.stringify(expertIdList).slice(1, -1);
});
console.log(expertStr, "expertStr");
let params = {
expertStr: expertStr,
};
Object.assign(this.ruleFormdialogBJ, params);
console.log(this.ruleFormdialogBJ, "222");
updEvalBatchInfo(this.ruleFormdialogBJ).then((res) => {
this.dialogedit = false;
this.resetForm();
......@@ -1118,7 +1151,6 @@ export default {
//选中的专家
handleSelectionChangeZJ() {
this.addZJList = this.$refs.multipleTableZJ.selection;
console.log(this.$refs.multipleTableZJ.selection, "2222");
},
//点击编辑
async edit() {
......@@ -1132,7 +1164,9 @@ export default {
return;
}
this.addtableData = [];
this.checkedList[0].planReviewDate=new Date(this.checkedList[0].planReviewDate)
this.checkedList[0].planReviewDate = new Date(
this.checkedList[0].planReviewDate
);
this.ruleFormdialogBJ = this.checkedList[0];
this.dialogedit = true;
let params = {
......@@ -1140,13 +1174,13 @@ export default {
pageSize: this.pageSizeedit,
batchId: this.checkedList[0].batchId,
};
console.log(params, "params");
let res = await expert(params);
this.addtableData = res.data.records;
this.totalBJ = res.data.total * 1;
this.addtableData.forEach((item) => {
this.expertIdList.push(item.expertId);
this.expertIdList.push(item.id);
});
},
//点击删除
......@@ -1232,10 +1266,10 @@ export default {
})
.then(async () => {
let res = await chEvalBatchInfo(this.checkedList[0]);
if (res.code == "200") {
this.$message('已撤回')
this.resetForm();
}
if (res.code == "200") {
this.$message("已撤回");
this.resetForm();
}
})
.catch((action) => {});
// let res = await chEvalBatchInfo(this.checkedList[0]);
......@@ -1489,5 +1523,4 @@ export default {
overflow: auto;
}
}
</style>
\ No newline at end of file
<template>
<div class="main">
<h2>后评估工作流程图</h2>
<div class="mainpng">
<img src="../../assets/main.png" alt="">
</div>
</div>
</template>
<script>
export default {
}
</script>
<style>
.main {
font-size: 14px;
position: relative;
height: 100%;
width: 100%;
box-sizing: border-box;
overflow-x: hidden;
}
h2{
margin-top: 60px;
}
.mainpng{
margin-top: 50px;
width: 100%;
img{
width: 100%;
}
}
</style>
\ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!