Commit 49477cae by 史敦盼

tag修改,表格行点击勾选

1 parent fa31c155
......@@ -7,10 +7,11 @@
v-for="tag in visitedViews"
ref="tag"
:key="tag.path"
:class="[isActive(tag) ? 'active' : '', {'length1': visitedViews.length == 1}]"
:class="[isActive(tag) ? 'active' : '', { length1: visitedViews.length == 1 }]"
:to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }"
tag="span"
class="tags-view-item"
@dblclick.native="closeSelectedTag(tag)"
@contextmenu.prevent.native="openMenu(tag, $event)"
>
{{ tag.title }}
......@@ -21,7 +22,7 @@
/>
</router-link>
</scroll-pane>
<ul v-show="visible" :style="{left:left+'px',top:top+'px'}" class="contextmenu">
<ul v-show="visible" :style="{ left: left + 'px', top: top + 'px' }" class="contextmenu">
<li @click="refreshSelectedTag(selectedTag)">刷新</li>
<li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)">关闭</li>
<li @click="closeOthersTags(selectedTag)">关闭其他</li>
......@@ -51,9 +52,7 @@ export default {
visitedViews() {
return this.$store.state.tagsView.visitedViews
},
...mapGetters([
'sidebar'
])
...mapGetters(['sidebar']),
// routes() {
// return this.$store.state.permission.routes
// },
......@@ -175,21 +174,17 @@ export default {
})
},
closeSelectedTag(view) {
this.$store
.dispatch('tagsView/delView', view)
.then(({ visitedViews }) => {
if (this.isActive(view)) {
this.toLastView(visitedViews, view)
}
})
this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => {
if (this.isActive(view)) {
this.toLastView(visitedViews, view)
}
})
},
closeOthersTags() {
this.$router.push(this.selectedTag)
this.$store
.dispatch('tagsView/delOthersViews', this.selectedTag)
.then(() => {
this.moveToCurrentTag()
})
this.$store.dispatch('tagsView/delOthersViews', this.selectedTag).then(() => {
this.moveToCurrentTag()
})
},
closeAllTags(view) {
this.$store.dispatch('tagsView/delAllViews').then(({ visitedViews }) => {
......@@ -246,7 +241,7 @@ export default {
cursor: pointer;
}
.length1 {
padding-right: 20px!important;
padding-right: 20px !important;
}
.tags-view-container {
margin-left: 10px;
......@@ -302,7 +297,10 @@ export default {
// background-color: #409eff;
// color: #fff;
// border-color: #409eff;
@include tagActive;
// @include tagActive;
color: #edeaff;
background-color: #63a4a6;
font-weight: bold;
}
}
}
......@@ -333,14 +331,16 @@ export default {
<style lang="scss">
//reset element css of el-icon-close
.tags-view-wrapper {
line-height: 45px;
line-height: 38px;
.tags-view-item {
border: 1px solid #EBEEF5;
border: 1px solid #ebeef5;
border-radius: 5px;
.el-icon-close {
width: 16px;
height: 16px;
vertical-align: 2px;
line-height: 16px;
color: #495060 !important;
// vertical-align: 2px;
border-radius: 50%;
text-align: center;
transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
......@@ -349,11 +349,13 @@ export default {
transform: scale(0.6);
display: inline-block;
vertical-align: -3px;
color: #495060 !important;
font-size: 22px;
}
&:hover {
background-color: #b4bccc;
color: #fff;
}
// &:hover {
// background-color: #b4bccc;
// color: #fff;
// }
}
}
}
......
export default {
methods: {
handleRowClick(row, column, event, ref) {
this.$refs[ref].toggleRowSelection(row)
},
},
}
......@@ -325,92 +325,92 @@ export function trendsRules(type) {
},
],
},
{
name: '后评估合规性管理',
url: '',
children: [
{
name: '合规性检查实时提醒',
url: '',
children: [
{ name: '合规性检查提醒', url: '/checkCompliance/automaticCheck', children: [] },
],
},
{
name: '合规性检查规则库构建',
url: '',
children: [
{ name: '检查规则编制', url: '/compliance/checkRules', children: [] },
{ name: '自动稽核任务配置', url: '/compliance/taskConfigure', children: [] },
],
},
{
name: '项目合规检查',
url: '',
children: [
{ name: '合规检查结果', url: '/projectCheck/checkResault', children: [] },
{ name: '合规问题整改', url: '/projectCheck/problemRectify', children: [] },
{
name: '合规问题整改核验',
url: '/projectCheck/verificationRectify',
children: [],
},
],
},
],
},
{
name: '后评估结果管理',
url: '',
children: [
{
name: '后评估结果发布',
url: '',
children: [
{
name: '检查结果公示及评价',
url: '/managementResult/releaseResultpublicity',
children: [],
},
],
},
{
name: '后评估结果情况',
url: '',
children: [
{
name: '后评估进度情况',
url: '/managementResult/situationResaultschedule',
children: [],
},
{
name: '后评估各环节问题分布',
url: '/managementResult/situationResaultissuesLink',
children: [],
},
{
name: '合规检查问题情况',
url: '/managementResult/issuesInspection',
children: [],
},
],
},
{
name: '后评估检查报告管理',
url: '',
children: [
{
name: '后评估检查报告维护',
url: '/managementResult/maintenancePg',
children: [],
},
{ name: '后评估报告模板管理', url: '/managementResult/managementPg', children: [] },
// { name: "合规性检查报告维护", url: "/managementResult/maintenanceHg", children: [] },
// { name: "合规性检查报告模板管理", url: "/managementResult/managementHg", children: [] },
],
},
],
},
// {
// name: '后评估合规性管理',
// url: '',
// children: [
// {
// name: '合规性检查实时提醒',
// url: '',
// children: [
// { name: '合规性检查提醒', url: '/checkCompliance/automaticCheck', children: [] },
// ],
// },
// {
// name: '合规性检查规则库构建',
// url: '',
// children: [
// { name: '检查规则编制', url: '/compliance/checkRules', children: [] },
// { name: '自动稽核任务配置', url: '/compliance/taskConfigure', children: [] },
// ],
// },
// {
// name: '项目合规检查',
// url: '',
// children: [
// { name: '合规检查结果', url: '/projectCheck/checkResault', children: [] },
// { name: '合规问题整改', url: '/projectCheck/problemRectify', children: [] },
// {
// name: '合规问题整改核验',
// url: '/projectCheck/verificationRectify',
// children: [],
// },
// ],
// },
// ],
// },
// {
// name: '后评估结果管理',
// url: '',
// children: [
// {
// name: '后评估结果发布',
// url: '',
// children: [
// {
// name: '检查结果公示及评价',
// url: '/managementResult/releaseResultpublicity',
// children: [],
// },
// ],
// },
// {
// name: '后评估结果情况',
// url: '',
// children: [
// {
// name: '后评估进度情况',
// url: '/managementResult/situationResaultschedule',
// children: [],
// },
// {
// name: '后评估各环节问题分布',
// url: '/managementResult/situationResaultissuesLink',
// children: [],
// },
// {
// name: '合规检查问题情况',
// url: '/managementResult/issuesInspection',
// children: [],
// },
// ],
// },
// {
// name: '后评估检查报告管理',
// url: '',
// children: [
// {
// name: '后评估检查报告维护',
// url: '/managementResult/maintenancePg',
// children: [],
// },
// { name: '后评估报告模板管理', url: '/managementResult/managementPg', children: [] },
// // { name: "合规性检查报告维护", url: "/managementResult/maintenanceHg", children: [] },
// // { name: "合规性检查报告模板管理", url: "/managementResult/managementHg", children: [] },
// ],
// },
// ],
// },
]
}
}
......
......@@ -72,6 +72,7 @@
<div class="setscroll">
<el-table
@selection-change="handleSelectionChange"
@row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTable')"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark myTooltips"
......@@ -175,6 +176,10 @@
<div class="setscrolldialog">
<el-table
@selection-change="handleSelectionChange"
@row-click="
(row, column, event) => handleRowClick(row, column, event, 'multipleTable2')
"
ref="multipleTable2"
:data="qdtableData"
tooltip-effect="dark myTooltips"
style="width: 100%"
......@@ -280,7 +285,9 @@ import {
downloadObjectAll,
} from '@/api/index'
import { generateYearOptions, constructionFormText } from '@/utils/cache'
import tableMixin from '@/mixins/table.mixin.js'
export default {
mixins: [tableMixin],
data() {
return {
yearsList: generateYearOptions(),
......
......@@ -87,6 +87,7 @@
<div class="setscroll">
<el-table
@selection-change="handleSelectionChange"
@row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTable')"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark myTooltips"
......@@ -201,7 +202,6 @@
min-width="100"
show-overflow-tooltip
>
</el-table-column>
<el-table-column label="问题截图" width="auto">
<template slot-scope="scope">
......@@ -424,10 +424,12 @@ import {
selWtqdFZ2,
xzwtpostEvalQuesInfo,
postEvalQuesInfoTh,
presignedUrl
presignedUrl,
} from '@/api/index'
import { generateYearOptions, constructionFormText } from '@/utils/cache'
import tableMixin from '@/mixins/table.mixin.js'
export default {
mixins: [tableMixin],
data() {
return {
quesoptions: [],
......@@ -575,29 +577,29 @@ export default {
this.$set(item, 'filed', this.filtersTable(6, resMat.data.records))
break
}
let urlStr = item.url;
let arrUrl = [];
let showUrlList = [];
let urlStr = item.url
let arrUrl = []
let showUrlList = []
// 有url拆分调接口换预览
if (urlStr) {
console.log(urlStr, "urlStr");
if (urlStr.includes(",")) {
arrUrl = item.url.split(",");
console.log(urlStr, 'urlStr')
if (urlStr.includes(',')) {
arrUrl = item.url.split(',')
} else {
arrUrl.push(urlStr);
arrUrl.push(urlStr)
}
console.log(arrUrl, "arrUrlarrUrl");
console.log(arrUrl, 'arrUrlarrUrl')
arrUrl.forEach(async (showUrl) => {
let paramsUrl = {
url: showUrl,
};
let resUrl = await presignedUrl(paramsUrl);
showUrlList.push(resUrl.msg);
});
console.log(showUrlList, "showUrlList");
}
let resUrl = await presignedUrl(paramsUrl)
showUrlList.push(resUrl.msg)
})
console.log(showUrlList, 'showUrlList')
this.$set(item, "images", showUrlList);
this.$set(item, 'images', showUrlList)
}
let arr = []
let arrID = []
......
<!-- 评估批次发起 -->
<template>
<div class="main">
<el-form
:model="ruleForm"
label-width="100px"
class="demo-ruleForm"
ref="formName"
>
<el-form :model="ruleForm" label-width="100px" class="demo-ruleForm" ref="formName">
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option
......@@ -18,22 +13,10 @@
</el-select>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-input
v-model="ruleForm.batchName"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.batchName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item
label="后评估批次状态:"
prop="postEvalState"
class="fromItem"
>
<el-select
v-model="ruleForm.postEvalState"
placeholder="请选择"
clearable
>
<el-form-item label="后评估批次状态:" prop="postEvalState" class="fromItem">
<el-select v-model="ruleForm.postEvalState" placeholder="请选择" clearable>
<el-option label="未发起" value="0"></el-option>
<el-option label="已发起" value="1"></el-option>
<el-option label="已撤回" value="2"></el-option>
......@@ -72,17 +55,14 @@
<el-button @click="deletes()">
<img class="buttonIcon" src="../../assets/sc.png" /> 删除
</el-button>
<el-button @click="sendMsg()"
><i class="el-icon-position"></i> 发起
</el-button>
<el-button @click="withdraw()">
<i class="el-icon-folder-delete"></i>撤回
</el-button>
<el-button @click="sendMsg()"><i class="el-icon-position"></i> 发起 </el-button>
<el-button @click="withdraw()"> <i class="el-icon-folder-delete"></i>撤回 </el-button>
</el-form-item>
</el-form>
<div class="setscrollOne">
<el-table
@selection-change="handleSelectionChange"
@row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTable')"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark myTooltips"
......@@ -92,34 +72,24 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="批次年度" width="120" prop="batchYear">
<template slot-scope="scope"> {{ scope.row.batchYear }}</template>
</el-table-column>
<el-table-column prop="batchName" label="后评估批次名称" width="auto">
</el-table-column>
<el-table-column prop="batchName" label="后评估批次名称" width="auto"> </el-table-column>
<el-table-column prop="expertName" label="后评估专家" width="auto">
</el-table-column>
<el-table-column prop="expertName" label="后评估专家" width="auto"> </el-table-column>
<!-- <el-table-column prop="id" label="专家编号" width="auto">
</el-table-column> -->
<el-table-column prop="planReviewDate" label="计划评估日期" width="220">
</el-table-column>
<el-table-column
prop="postEvalStateText"
label="后评估批次状态"
width="120"
>
<el-table-column prop="planReviewDate" label="计划评估日期" width="220"> </el-table-column>
<el-table-column prop="postEvalStateText" label="后评估批次状态" width="120">
</el-table-column>
<!-- <el-table-column prop="postEvalState" label="后评估状态" width="auto">
</el-table-column> -->
<el-table-column prop="creator" label="发起人" width="120">
</el-table-column>
<el-table-column prop="createTime" label="发起时间" width="220">
</el-table-column>
<el-table-column prop="creator" label="发起人" width="120"> </el-table-column>
<el-table-column prop="createTime" label="发起时间" width="220"> </el-table-column>
</el-table>
</div>
<el-pagination
......@@ -143,26 +113,14 @@
@close="resetForm()"
>
<div class="dialog">
<el-form
:model="ruleFormdialogBJ"
label-width="100px"
class="demo-ruleForm"
>
<el-form :model="ruleFormdialogBJ" label-width="100px" class="demo-ruleForm">
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchYear" disabled></el-input>
</el-form-item>
<el-form-item
label="后评估批次名称:"
prop="batchName"
class="fromItem"
>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchName" disabled></el-input>
</el-form-item>
<el-form-item
label="计划评估日期:"
prop="planReviewDate"
class="fromItem"
>
<el-form-item label="计划评估日期:" prop="planReviewDate" class="fromItem">
<el-date-picker
disabled
v-model="ruleFormdialogBJ.planReviewDate"
......@@ -170,30 +128,25 @@
placeholder="选择日期"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="{
disabledDate: (time) =>
time.getTime() < new Date(new Date().setHours(0, 0, 0, 0)),
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
type="textarea"
v-model="ruleFormdialogBJ.description"
disabled
></el-input>
<el-input type="textarea" v-model="ruleFormdialogBJ.description" disabled></el-input>
</el-form-item>
<el-form-item label="备注:" class="textarea">
<el-input
type="textarea"
v-model="ruleFormdialogBJ.remark"
disabled
></el-input>
<el-input type="textarea" v-model="ruleFormdialogBJ.remark" disabled></el-input>
</el-form-item>
</el-form>
<div class="setscrolldialogx">
<el-table
@selection-change="handleSelectionChange"
@row-click="
(row, column, event) => handleRowClick(row, column, event, 'multipleTablePGCL')
"
ref="multipleTablePGCL"
:data="XQtableData"
tooltip-effect="dark myTooltips"
style="width: 100%"
......@@ -202,54 +155,32 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<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="id" label="专家编号" width="auto">
</el-table-column>
<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="id" label="专家编号" width="auto"> </el-table-column>
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto">
<template slot-scope="scope">{{ scope.row.sex | filtergender }}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto"> </el-table-column>
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{
scope.row.education | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
<template slot-scope="scope">{{ scope.row.education | filterexpert }}</template>
</el-table-column>
<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="expertfields" label="专业领域" width="auto">
<template slot-scope="scope">{{
scope.row.expertfields | filtertfields
}}</template>
<template slot-scope="scope">{{ scope.row.expertfields | filtertfields }}</template>
</el-table-column>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
<el-table-column prop="remark" label="专家简介" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{
scope.row.level | filtertLevel
}}</template>
<template slot-scope="scope">{{ scope.row.level | filtertLevel }}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{
scope.row.status | filtertState
}}</template>
<template slot-scope="scope">{{ scope.row.status | filtertState }}</template>
</el-table-column>
</el-table>
</div>
......@@ -283,11 +214,7 @@
:rules="rules"
>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select
v-model="ruleFormdialogAdd.batchYear"
placeholder="请选择"
clearable
>
<el-select v-model="ruleFormdialogAdd.batchYear" placeholder="请选择" clearable>
<el-option
v-for="(item, index) in yearsList"
:key="index"
......@@ -296,29 +223,17 @@
/>
</el-select>
</el-form-item>
<el-form-item
label="后评估批次名称:"
prop="batchName"
class="fromItem"
>
<el-input
v-model="ruleFormdialogAdd.batchName"
clearable
></el-input>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-input v-model="ruleFormdialogAdd.batchName" clearable></el-input>
</el-form-item>
<el-form-item
label="计划评估日期:"
prop="planReviewDate"
class="fromItem"
>
<el-form-item label="计划评估日期:" prop="planReviewDate" class="fromItem">
<el-date-picker
v-model="ruleFormdialogAdd.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)),
disabledDate: (time) => time.getTime() < new Date(new Date().setHours(0, 0, 0, 0)),
}"
>
</el-date-picker>
......@@ -340,16 +255,11 @@
></el-input>
</el-form-item>
</el-form>
<p class="zjBtn">
后评估专家 <span @click="xzExperts()">选择专家</span>
</p>
<p class="zjBtn">后评估专家 <span @click="xzExperts()">选择专家</span></p>
<div class="setscrolldialogx">
<el-table
:data="
addtableData.slice(
(addcurrentPage - 1) * pageSizeAdd,
addcurrentPage * pageSizeAdd
)
addtableData.slice((addcurrentPage - 1) * pageSizeAdd, addcurrentPage * pageSizeAdd)
"
tooltip-effect="dark myTooltips"
style="width: 100%"
......@@ -358,54 +268,32 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<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="id" label="专家编号" width="auto">
</el-table-column>
<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="id" label="专家编号" width="auto"> </el-table-column>
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto">
<template slot-scope="scope">{{ scope.row.sex | filtergender }}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto"> </el-table-column>
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{
scope.row.education | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
<template slot-scope="scope">{{ scope.row.education | filterexpert }}</template>
</el-table-column>
<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="expertfields" label="专业领域" width="auto">
<template slot-scope="scope">{{
scope.row.expertFields | filtertfields
}}</template>
<template slot-scope="scope">{{ scope.row.expertFields | filtertfields }}</template>
</el-table-column>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
<el-table-column prop="remark" label="专家简介" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{
scope.row.level | filtertLevel
}}</template>
<template slot-scope="scope">{{ scope.row.level | filtertLevel }}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{
scope.row.status | filtertState
}}</template>
<template slot-scope="scope">{{ scope.row.status | filtertState }}</template>
</el-table-column>
</el-table>
</div>
......@@ -421,8 +309,7 @@
>
</el-pagination>
<p class="midBtn">
<span @click="cancelXZ()">取消</span
><span v-debounce:click="saveXZ">保存</span>
<span @click="cancelXZ()">取消</span><span v-debounce:click="saveXZ">保存</span>
</p>
</div>
</el-dialog>
......@@ -438,25 +325,13 @@
<div class="adzjdialog">
<el-form :model="ruleFormZJ" label-width="100px" class="demo-ruleForm">
<el-form-item label="专家姓名:" prop="talentName" class="fromItem">
<el-input
v-model="ruleFormZJ.talentName"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleFormZJ.talentName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="专家编号:" prop="id" class="fromItem">
<el-input
v-model="ruleFormZJ.id"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleFormZJ.id" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="专家级别:" prop="level" class="fromItem">
<el-select
v-model="ruleFormZJ.level"
placeholder="请选择"
clearable
>
<el-select v-model="ruleFormZJ.level" placeholder="请选择" clearable>
<el-option label="初级" value="1"></el-option>
<el-option label="高级" value="2"></el-option>
<el-option label="中级" value="3"></el-option>
......@@ -493,6 +368,9 @@
<div class="setscrolldialog">
<el-table
@selection-change="handleSelectionChangeZJ"
@row-click="
(row, column, event) => handleRowClick(row, column, event, 'multipleTableZJ')
"
ref="multipleTableZJ"
:data="zjtableData"
tooltip-effect="dark myTooltips"
......@@ -501,57 +379,35 @@
class="eltable"
:row-class-name="tableRowClassName"
>
border >
<el-table-column type="selection"> </el-table-column>
<el-table-column label="序号" width="55" type="index">
<!-- <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="orgName">
</el-table-column>
<el-table-column prop="talentName" label="专家姓名" width="auto">
</el-table-column>
<el-table-column prop="id" label="专家编号" width="auto">
</el-table-column>
<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="id" label="专家编号" width="auto"> </el-table-column>
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto">
<template slot-scope="scope">{{ scope.row.sex | filtergender }}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto"> </el-table-column>
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{
scope.row.education | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
<template slot-scope="scope">{{ scope.row.education | filterexpert }}</template>
</el-table-column>
<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="expertFields" label="专业领域" width="auto">
<template slot-scope="scope">{{
scope.row.expertFields | filtertfields
}}</template>
<template slot-scope="scope">{{ scope.row.expertFields | filtertfields }}</template>
</el-table-column>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
<el-table-column prop="remark" label="专家简介" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{
scope.row.level | filtertLevel
}}</template>
<template slot-scope="scope">{{ scope.row.level | filtertLevel }}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{
scope.row.status | filtertState
}}</template>
<template slot-scope="scope">{{ scope.row.status | filtertState }}</template>
</el-table-column>
<!-- <el-table-column
prop="id"
......@@ -575,8 +431,7 @@
</el-pagination>
<p class="midBtn">
<span @click="cancelZJ()">取消</span
><span @click="saveZJ()">保存</span>
<span @click="cancelZJ()">取消</span><span @click="saveZJ()">保存</span>
</p>
</div>
</el-dialog>
......@@ -587,7 +442,7 @@
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
@close="resetForm()"
@close="resetForm()"
>
<div class="dialog">
<el-form
......@@ -597,11 +452,7 @@
ref="formNameBJ"
>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select
v-model="ruleFormdialogBJ.batchYear"
placeholder="请选择"
clearable
>
<el-select v-model="ruleFormdialogBJ.batchYear" placeholder="请选择" clearable>
<el-option
v-for="(item, index) in yearsList"
:key="index"
......@@ -610,26 +461,17 @@
/>
</el-select>
</el-form-item>
<el-form-item
label="后评估批次名称:"
prop="batchName"
class="fromItem"
>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchName" clearable></el-input>
</el-form-item>
<el-form-item
label="计划评估日期:"
prop="planReviewDate"
class="fromItem"
>
<el-form-item label="计划评估日期:" prop="planReviewDate" class="fromItem">
<el-date-picker
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)),
disabledDate: (time) => time.getTime() < new Date(new Date().setHours(0, 0, 0, 0)),
}"
>
</el-date-picker>
......@@ -651,12 +493,14 @@
></el-input>
</el-form-item>
</el-form>
<p class="zjBtn">
后评估专家 <span @click="xzExperts()">选择专家</span>
</p>
<p class="zjBtn">后评估专家 <span @click="xzExperts()">选择专家</span></p>
<div class="setscrolldialogx">
<el-table
@selection-change="handleSelectionChange"
@row-click="
(row, column, event) => handleRowClick(row, column, event, 'multipleTableZJ2')
"
ref="multipleTableZJ2"
:data="addtableData"
tooltip-effect="dark myTooltips"
style="width: 100%"
......@@ -665,54 +509,32 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<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="id" label="专家编号" width="auto">
</el-table-column>
<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="id" label="专家编号" width="auto"> </el-table-column>
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto">
<template slot-scope="scope">{{ scope.row.sex | filtergender }}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto"> </el-table-column>
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{
scope.row.seducation | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
<template slot-scope="scope">{{ scope.row.seducation | filterexpert }}</template>
</el-table-column>
<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="expertFields" label="专业领域" width="auto">
<template slot-scope="scope">{{
scope.row.expertFields | filtertfields
}}</template>
<template slot-scope="scope">{{ scope.row.expertFields | filtertfields }}</template>
</el-table-column>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
<el-table-column prop="remark" label="专家简介" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{
scope.row.level | filtertLevel
}}</template>
<template slot-scope="scope">{{ scope.row.level | filtertLevel }}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{
scope.row.status | filtertState
}}</template>
<template slot-scope="scope">{{ scope.row.status | filtertState }}</template>
</el-table-column>
</el-table>
</div>
......@@ -728,15 +550,14 @@
>
</el-pagination>
<p class="midBtn">
<span @click="cancelBJ()">取消</span
><span @click="saveBJ()">保存</span>
<span @click="cancelBJ()">取消</span><span @click="saveBJ()">保存</span>
</p>
</div>
</el-dialog>
</div>
</template>
<script>
<script>
import {
expertInfo,
expert,
......@@ -746,69 +567,69 @@ import {
evalBatchInfo,
delEvalBatchInfo,
chEvalBatchInfo,
} from "@/api/index";
import { getCurrentDate } from "@/utils/format";
import { generateYearOptions } from "@/utils/cache";
} from '@/api/index'
import { getCurrentDate } from '@/utils/format'
import { generateYearOptions } from '@/utils/cache'
import tableMixin from '@/mixins/table.mixin.js'
export default {
mixins: [tableMixin],
data() {
return {
value1: "",
value1: '',
yearsList: generateYearOptions(),
totalXQ: 0,
XQtableData: [],
currentPageXQ: 1,
pageSizeXQ: 5,
ruleForm: {
batchYear: "",
batchName: "",
postEvalState: "",
batchYear: '',
batchName: '',
postEvalState: '',
dates: [],
},
ruleFormdialog: {
batchYear: "",
batchName: "",
planReviewDate: "",
fullName: "",
batchYear: '',
batchName: '',
planReviewDate: '',
fullName: '',
},
ruleFormZJ: {
expertFields: "",
status: "",
fullName: "",
expertFields: '',
status: '',
fullName: '',
},
ruleFormdialogAdd: {
batchYear: "",
batchName: "",
planReviewDate: "",
description: "",
remark: "",
batchYear: '',
batchName: '',
planReviewDate: '',
description: '',
remark: '',
},
ruleFormdialogBJ: {
batchYear: "",
batchName: "",
planReviewDate: "",
description: "",
remark: "",
batchYear: '',
batchName: '',
planReviewDate: '',
description: '',
remark: '',
},
rules: {
batchYear: [
{ required: true, message: "请选择批次年度", trigger: "change" },
],
batchYear: [{ required: true, message: '请选择批次年度', trigger: 'change' }],
batchName: [
{
required: true,
message: "请选择后评估批次名称",
trigger: "change",
message: '请选择后评估批次名称',
trigger: 'change',
},
],
planReviewDate: [
{
required: true,
message: "请选择计划评估日期",
trigger: "change",
message: '请选择计划评估日期',
trigger: 'change',
},
],
},
xfParams: "", //下发入参
xfParams: '', //下发入参
tableData: [],
tableDataQD: [], //清单列表
checkedList: [],
......@@ -831,64 +652,64 @@ export default {
pageSizeAdd: 5,
currentedit: 1,
pageSizeedit: 5,
xfParam: "",
xfParam: '',
dialogedit: false,
expertIdList: [],
totalBJ: 0,
addZJList: [],
status: "",
expertfields: "",
zjfullName: "",
status: '',
expertfields: '',
zjfullName: '',
zjtotal: 0,
zjtableData: [],
addcurrentPage: 1,
addtableData: [],
message: {},
};
}
},
mounted() {
this.submitForm();
this.submitForm()
},
filters: {
filtergender(val) {
if (val == 0) {
return "女";
return '女'
} else {
return "男";
return '男'
}
},
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 "高级";
return '高级'
}
},
filtertfields(val) {
if (val == 1) {
return "设备";
return '设备'
} else if (val == 2) {
return "技术";
return '技术'
} else {
return "信息化";
return '信息化'
}
},
filterexpert(val) {
if (val == 1) {
return "本科";
return '本科'
} else if (val == 2) {
return "硕士";
return '硕士'
} else {
return "博士";
return '博士'
}
},
},
......@@ -897,11 +718,11 @@ export default {
timeChange(time) {
if (time) {
//给后端的参数
this.ruleForm.createStartTime = time[0];
this.ruleForm.createEndTime = time[1];
this.ruleForm.createStartTime = time[0]
this.ruleForm.createEndTime = time[1]
} else {
this.ruleForm.createStartTime = "";
this.ruleForm.createEndTime = "";
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
}
},
async submitForm() {
......@@ -909,386 +730,388 @@ export default {
current: this.currentPage,
pageSize: this.pageSize,
module: 0,
};
}
Object.assign(params, this.ruleForm);
Object.assign(params, this.ruleForm)
let res = await evalBatchInfo(params);
let res = await evalBatchInfo(params)
if (res.code == "200") {
this.tableData = res.data.records;
if (res.code == '200') {
this.tableData = res.data.records
this.tableData.forEach((item) => {
if (item.postEvalState == "" || item.postEvalState == null) {
this.$set(item, "postEvalStateText", "未发起");
} else if (item.postEvalState == "0") {
this.$set(item, "postEvalStateText", "未发起");
} else if (item.postEvalState == "2") {
this.$set(item, "postEvalStateText", "已撤回");
} else if (item.postEvalState == "1") {
this.$set(item, "postEvalStateText", "已发起");
} else if (item.postEvalState == "3" || item.postEvalState == "4") {
this.$set(item, "postEvalStateText", "执行中");
} else if (item.postEvalState == "5") {
this.$set(item, "postEvalStateText", "已完成");
if (item.postEvalState == '' || item.postEvalState == null) {
this.$set(item, 'postEvalStateText', '未发起')
} else if (item.postEvalState == '0') {
this.$set(item, 'postEvalStateText', '未发起')
} else if (item.postEvalState == '2') {
this.$set(item, 'postEvalStateText', '已撤回')
} else if (item.postEvalState == '1') {
this.$set(item, 'postEvalStateText', '已发起')
} else if (item.postEvalState == '3' || item.postEvalState == '4') {
this.$set(item, 'postEvalStateText', '执行中')
} else if (item.postEvalState == '5') {
this.$set(item, 'postEvalStateText', '已完成')
}
});
this.total = res.data.total * 1;
})
this.total = res.data.total * 1
}
},
resetForm() {
this.$refs.formName.resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.ruleForm.createStartTime = "";
this.ruleForm.createEndTime = "";
this.ruleForm.dates = [];
this.submitForm();
this.$refs.formName.resetFields()
this.currentPage = 1
this.pageSize = 10
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
this.ruleForm.dates = []
this.submitForm()
},
//点击新增
async add() {
this.dialogAdd = true;
this.addtableData = []; //每次新增清空不然点了还是这几个人
this.ruleFormdialogAdd = {};
this.dialogAdd = true
this.addtableData = [] //每次新增清空不然点了还是这几个人
this.ruleFormdialogAdd = {}
},
//详情
async detailsForm() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
this.dialogXQ = true;
this.checkedList[0].planReviewDate = new Date(
this.checkedList[0].planReviewDate
);
this.ruleFormdialogBJ = this.checkedList[0];
this.dialogXQ = true
this.checkedList[0].planReviewDate = new Date(this.checkedList[0].planReviewDate)
this.ruleFormdialogBJ = this.checkedList[0]
let params = {
current: this.currentPageXQ,
pageSize: this.pageSizeXQ,
batchId: this.checkedList[0].batchId,
};
console.log(params, "params");
let res = await expert(params);
}
console.log(params, 'params')
let res = await expert(params)
this.XQtableData = res.data.records;
this.totalXQ = res.data.total * 1;
this.XQtableData = res.data.records
this.totalXQ = res.data.total * 1
},
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
}
return "";
return ''
},
//主列表选中行信息
handleSelectionChange(selection) {
if (Array.isArray(selection) && selection.length > 1) {
this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.$refs.multipleTable.toggleRowSelection(selection[1], true);
this.$refs.multipleTable.toggleRowSelection(selection[0], false)
this.$refs.multipleTable.toggleRowSelection(selection[1], true)
}
this.checkedList = this.$refs.multipleTable.selection;
this.ruleFormdialog = this.checkedList[0];
this.checkedList = this.$refs.multipleTable.selection
this.ruleFormdialog = this.checkedList[0]
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.pageSize = val;
this.submitForm();
console.log(`每页 ${val} 条`)
this.pageSize = val
this.submitForm()
},
handleCurrentChange(val) {
this.currentPage = val;
this.submitForm();
this.currentPage = val
this.submitForm()
},
handleSizeChangeZJ(val) {
this.pageSizeZJ = val;
this.pageSizeZJ = val
this.xzExperts()
},
handleCurrentChangeZJ(val) {
this.currentZJ = val;
this.currentZJ = val
this.xzExperts()
},
handleSizeChangetjcl(val) {
this.pageSizetjcl = val;
this.pageSizetjcl = val
},
handleCurrentChangetjcl(val) {
this.currentPagetjcl = val;
this.currentPagetjcl = val
},
handleSizeChangeAdd(val) {
this.pageSizeAdd = val;
this.pageSizeAdd = val
},
handleCurrentChangeAdd(val) {
this.addcurrentPage = val;
this.addcurrentPage = val
},
handleSizeChangeBJ(val) {
this.pageSizeBJ = val;
this.edit();
this.pageSizeBJ = val
this.edit()
},
handleCurrentChangeBJ(val) {
this.currentPageBJ = val;
this.edit();
this.currentPageBJ = val
this.edit()
},
//详情分页
handleSizeChangeXQ(val) {
this.pageSizeXQ = val;
this.detailsForm();
this.pageSizeXQ = val
this.detailsForm()
},
handleCurrentChangeXQ(val) {
this.currentPageXQ = val;
this.detailsForm();
this.currentPageXQ = val
this.detailsForm()
},
cancel() {
this.dialog = false;
this.dialog = false
},
async save(type) {
this.dialog = false;
if (type == "add") {
let params = {};
let res = await qrscevaluationMaterials(params);
this.dialog = false
if (type == 'add') {
let params = {}
let res = await qrscevaluationMaterials(params)
}
},
//保存专家
saveZJ() {
if (this.addZJList.length < 1) {
this.$message("请选择专家");
return;
this.$message('请选择专家')
return
}
if(this.dialogedit ==true){
if (this.dialogedit == true) {
console.log('编辑专家')
this.addtableData=[]
this.addtableData = []
}
this.addtableData = [...this.addtableData, ...this.addZJList];
this.addtableData = [...this.addtableData, ...this.addZJList]
this.addtableData = this.addtableData.filter(
(obj, index, self) => index === self.findIndex((t) => t.id === obj.id)
);
(obj, index, self) => index === self.findIndex((t) => t.id === obj.id),
)
this.addtotal = this.addtableData.length;
this.dialogAddzj = false;
this.addtotal = this.addtableData.length
this.dialogAddzj = false
},
cancelZJ() {
this.dialogAddzj = false;
this.dialogAddzj = false
},
cancelBJ() {
this.dialogedit = false;
this.dialogedit = false
},
async xzExperts(type) {
if (!type) {
this.ruleFormZJ = {};
this.ruleFormZJ = {}
}
this.dialogAddzj = true;
this.dialogAddzj = true
let params = {
current: this.currentZJ,
pageSize: this.pageSizeZJ,
};
Object.assign(params, this.ruleFormZJ);
console.log("查询专家", params);
}
Object.assign(params, this.ruleFormZJ)
console.log('查询专家', params)
// this.zjtableData = []
let res = await expertInfo(params);
this.zjtableData = res.data.records;
this.zjtotal = res.data.total * 1;
let res = await expertInfo(params)
this.zjtableData = res.data.records
this.zjtotal = res.data.total * 1
},
cancelBJ() {
this.dialogedit = false;
this.dialogedit = false
},
saveXZ() {
this.$refs.formName.validate((valid) => {
if (!valid) {
console.log("error submit!!");
return false;
console.log('error submit!!')
return false
} else {
if (this.addtableData.length < 1) {
this.$message("请选择专家");
this.$message('请选择专家')
}
console.log(this.addZJList, "this.addZJList");
let expertIdList = [];
let expertStr = "";
console.log(this.addZJList, 'this.addZJList')
let expertIdList = []
let expertStr = ''
this.addtableData.forEach((item) => {
expertIdList.push(item.id);
expertStr = JSON.stringify(expertIdList).slice(1, -1);
});
expertIdList.push(item.id)
expertStr = JSON.stringify(expertIdList).slice(1, -1)
})
let params = {
expertStr: expertStr,
creator: sessionStorage.getItem("author"),
creator: sessionStorage.getItem('author'),
createTime: getCurrentDate(),
module: 0,
};
Object.assign(params, this.ruleFormdialogAdd);
this.xfParams = JSON.parse(JSON.stringify(params));
}
Object.assign(params, this.ruleFormdialogAdd)
this.xfParams = JSON.parse(JSON.stringify(params))
adEvalBatchInfo(params).then((res) => {
this.dialogAdd = false;
this.expertIdList = expertIdList;
this.resetForm();
});
this.dialogAdd = false
this.expertIdList = expertIdList
this.resetForm()
})
}
});
})
},
cancelXZ() {
this.dialogAdd = false;
this.dialogAdd = false
},
saveBJ() {
this.$refs.formNameBJ.validate((valid) => {
if (!valid) {
return false;
return false
} else {
if (this.addtableData.length < 1) {
this.$message("请选择专家");
this.$message('请选择专家')
}
let expertIdList = [];
let expertStr = "";
let expertIdList = []
let expertStr = ''
this.addtableData.forEach((item) => {
expertIdList.push(item.id);
expertStr = JSON.stringify(expertIdList).slice(1, -1);
});
expertIdList.push(item.id)
expertStr = JSON.stringify(expertIdList).slice(1, -1)
})
let params = {
expertStr: expertStr,
};
Object.assign(this.ruleFormdialogBJ, params);
}
Object.assign(this.ruleFormdialogBJ, params)
updEvalBatchInfo(this.ruleFormdialogBJ).then((res) => {
this.dialogedit = false;
this.resetForm();
});
this.dialogedit = false
this.resetForm()
})
}
});
})
},
//选中的专家
handleSelectionChangeZJ() {
this.addZJList = this.$refs.multipleTableZJ.selection;
this.addZJList = this.$refs.multipleTableZJ.selection
},
convertTimeFormat(isoTime) {
const date = new Date(isoTime);
const year = date.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, "0");
const day = date.getDate().toString().padStart(2, "0");
const hours = date.getHours().toString().padStart(2, "0");
const minutes = date.getMinutes().toString().padStart(2, "0");
const seconds = date.getSeconds().toString().padStart(2, "0");
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
const date = new Date(isoTime)
const year = date.getFullYear()
const month = (date.getMonth() + 1).toString().padStart(2, '0')
const day = date.getDate().toString().padStart(2, '0')
const hours = date.getHours().toString().padStart(2, '0')
const minutes = date.getMinutes().toString().padStart(2, '0')
const seconds = date.getSeconds().toString().padStart(2, '0')
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
},
//点击编辑
async edit() {
//只能选择编辑未发起 待增加
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
if (this.checkedList[0].postEvalStateText == "已发起") {
this.$message("不能编辑已发起的项目");
return;
if (this.checkedList[0].postEvalStateText == '已发起') {
this.$message('不能编辑已发起的项目')
return
}
this.addtableData = [];
this.checkedList[0].planReviewDate =this.convertTimeFormat(this.checkedList[0].planReviewDate)
this.ruleFormdialogBJ = this.checkedList[0];
this.dialogedit = true;
this.addtableData = []
this.checkedList[0].planReviewDate = this.convertTimeFormat(
this.checkedList[0].planReviewDate,
)
this.ruleFormdialogBJ = this.checkedList[0]
this.dialogedit = true
let params = {
current: this.currentedit,
pageSize: this.pageSizeedit,
batchId: this.checkedList[0].batchId,
};
}
let res = await expert(params);
let res = await expert(params)
this.addtableData = res.data.records;
this.totalBJ = res.data.total * 1;
this.addtableData = res.data.records
this.totalBJ = res.data.total * 1
this.addtableData.forEach((item) => {
this.expertIdList.push(item.id);
});
this.expertIdList.push(item.id)
})
},
//点击删除
deletes() {
console.log("删除");
console.log('删除')
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
if (this.checkedList[0].postEvalStateText != "已撤回"&&this.checkedList[0].postEvalStateText != "未发起") {
this.$message("只可删除状态为未发起或者已撤回的批次");
return;
if (
this.checkedList[0].postEvalStateText != '已撤回' &&
this.checkedList[0].postEvalStateText != '未发起'
) {
this.$message('只可删除状态为未发起或者已撤回的批次')
return
}
this.$confirm("此操作将删除该批次, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
this.$confirm('此操作将删除该批次, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(async () => {
let res = await delEvalBatchInfo(this.checkedList[0]);
let res = await delEvalBatchInfo(this.checkedList[0])
if (res.code == 200) {
this.$message({
type: "success",
message: "删除成功!",
});
this.resetForm();
type: 'success',
message: '删除成功!',
})
this.resetForm()
} else {
this.$message({
type: "info",
message: "删除失败!",
});
this.resetForm();
type: 'info',
message: '删除失败!',
})
this.resetForm()
}
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
type: 'info',
message: '已取消删除',
})
})
},
//点击下发
async sendMsg() {
//只能选择未发起的 这块需要加一下
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
if (this.checkedList[0].postEvalStateText == "已发起") {
this.$message("该项目已发起");
return;
if (this.checkedList[0].postEvalStateText == '已发起') {
this.$message('该项目已发起')
return
}
let res = await sendEvalBatchInfo(this.checkedList[0]);
if (res.code == "200") {
let res = await sendEvalBatchInfo(this.checkedList[0])
if (res.code == '200') {
this.$message({
type: "success",
message: "发起成功!",
});
this.resetForm();
type: 'success',
message: '发起成功!',
})
this.resetForm()
} else {
this.$message({
type: "info",
message: "发起失败!",
});
type: 'info',
message: '发起失败!',
})
}
},
//点击撤回
async withdraw() {
//只能选择已发起未确认的 这块需要加一下
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
// if (this.checkedList[0].postEvalStateText == "未发起") {
// this.$message("该项目未发起");
// return;
// }
if (this.checkedList[0].postEvalStateText != "已发起") {
this.$message("只可撤回状态为已发起的批次");
return;
if (this.checkedList[0].postEvalStateText != '已发起') {
this.$message('只可撤回状态为已发起的批次')
return
}
this.$confirm("是否撤回?", "提示", {
confirmButtonText: "是",
cancelButtonText: "否",
this.$confirm('是否撤回?', '提示', {
confirmButtonText: '是',
cancelButtonText: '否',
distinguishCancelAndClose: true,
type: "warning",
type: 'warning',
})
.then(async () => {
let res = await chEvalBatchInfo(this.checkedList[0]);
if (res.code == "200") {
this.$message("已撤回");
this.resetForm();
let res = await chEvalBatchInfo(this.checkedList[0])
if (res.code == '200') {
this.$message('已撤回')
this.resetForm()
}
})
.catch((action) => {});
.catch((action) => {})
// let res = await chEvalBatchInfo(this.checkedList[0]);
// if (res.code == "200") {
// this.$message('已撤回')
......@@ -1296,9 +1119,9 @@ export default {
// }
},
},
};
}
</script>
<style scoped lang="scss">
<style scoped lang="scss">
.main {
font-size: 14px;
position: relative;
......@@ -1545,4 +1368,4 @@ export default {
overflow: auto;
}
}
</style>
\ No newline at end of file
</style>
......@@ -52,6 +52,7 @@
<div class="setscrollOne">
<el-table
@selection-change="handleSelectionChange"
@row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTable')"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark myTooltips"
......@@ -148,6 +149,10 @@
<div class="setscrolldialog">
<el-table
@selection-change="handleSelectionChange"
@row-click="
(row, column, event) => handleRowClick(row, column, event, 'multipleTable2')
"
ref="multipleTable2"
:data="addtableData"
tooltip-effect="dark myTooltips"
style="width: 100%"
......@@ -237,6 +242,10 @@
<div class="setscrolldialogxz">
<el-table
@selection-change="handleSelectionChange"
@row-click="
(row, column, event) => handleRowClick(row, column, event, 'multipleTable3')
"
ref="multipleTable3"
:data="
addtableData.slice((addcurrentPage - 1) * pageSizeAdd, addcurrentPage * pageSizeAdd)
"
......@@ -444,7 +453,9 @@ import {
bcProjectInfo,
} from '@/api/index'
import { generateYearOptions, constructionFormText } from '@/utils/cache'
import tableMixin from '@/mixins/table.mixin.js'
export default {
mixins: [tableMixin],
data() {
return {
yearsList: generateYearOptions(),
......@@ -754,20 +765,20 @@ export default {
}
console.log(this.addZJList, 'this.addZJList')
// 确认发布入参
let contractId=''
let contractId = ''
let expertIdList = ''
if (this.addtableData.length > 0) {
this.addtableData.forEach((item) => {
expertIdList = expertIdList.concat(item.projectCode + ',')
contractId=contractId.concat(item.contractNumber + ',')
contractId = contractId.concat(item.contractNumber + ',')
})
}
expertIdList = expertIdList.substring(0,expertIdList.length - 1)
contractId = contractId.substring(0,contractId.length - 1)
expertIdList = expertIdList.substring(0, expertIdList.length - 1)
contractId = contractId.substring(0, contractId.length - 1)
let params = {
expertStr: expertIdList,
contractStr:contractId
contractStr: contractId,
}
params.batchId = this.ruleFormdialogBJ.batchId
// params.prjsOfExpert = this.ruleFormdialogBJ.prjsOfExpert;
......
......@@ -90,6 +90,7 @@
<div class="setscroll">
<el-table
@selection-change="handleSelectionChange"
@row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTable')"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark myTooltips"
......@@ -189,6 +190,10 @@
<div class="setscrolldialog">
<el-table
@selection-change="handleSelectionChange"
@row-click="
(row, column, event) => handleRowClick(row, column, event, 'multipleTable2')
"
ref="multipleTable2"
:data="tableDataQD"
tooltip-effect="dark myTooltips"
style="width: 100%"
......@@ -311,7 +316,7 @@
<template slot-scope="scope">
<el-input
v-model="scope.row.feedback"
v-if="scope.row.evalQues"
v-if="scope.row.evalQues"
:disabled="scope.row.rectificationStatus == 2"
type="textarea"
:rows="3"
......@@ -320,10 +325,7 @@
</el-table-column>
<!-- v-if="scope.row.evalQues && scope.row.confirmStatus == '1'" -->
<el-table-column label="整改说明材料(选填)" prop="fileId" width="280">
<template
slot-scope="scope"
v-if="scope.row.evalQues"
>
<template slot-scope="scope" v-if="scope.row.evalQues">
<input
:disabled="scope.row.rectificationStatus == 2"
type="file"
......@@ -425,10 +427,12 @@ import {
ossuploadStr,
MaterialWarehous,
postEvalQuesInfocxtj,
presignedUrl
presignedUrl,
} from '@/api/index'
import { generateYearOptions, constructionFormText } from '@/utils/cache'
import tableMixin from '@/mixins/table.mixin.js'
export default {
mixins: [tableMixin],
data() {
return {
yearsList: generateYearOptions(),
......@@ -597,30 +601,29 @@ export default {
this.$set(item, 'projectStagetext', '6.结决算及转资')
break
}
let urlStr = item.url;
let arrUrl = [];
let showUrlList = [];
let urlStr = item.url
let arrUrl = []
let showUrlList = []
// 有url拆分调接口换预览
if (urlStr) {
console.log(urlStr, "urlStr");
if (urlStr.includes(",")) {
arrUrl = item.url.split(",");
console.log(urlStr, 'urlStr')
if (urlStr.includes(',')) {
arrUrl = item.url.split(',')
} else {
arrUrl.push(urlStr);
arrUrl.push(urlStr)
}
console.log(arrUrl, "arrUrlarrUrl");
console.log(arrUrl, 'arrUrlarrUrl')
arrUrl.forEach(async (showUrl) => {
let paramsUrl = {
url: showUrl,
};
let resUrl = await presignedUrl(paramsUrl);
showUrlList.push(resUrl.msg);
});
console.log(showUrlList, "showUrlList");
}
let resUrl = await presignedUrl(paramsUrl)
showUrlList.push(resUrl.msg)
})
console.log(showUrlList, 'showUrlList')
this.$set(item, "images", showUrlList);
this.$set(item, 'images', showUrlList)
}
})
this.tableDataQR.forEach((val) => {
......@@ -1004,9 +1007,7 @@ export default {
handleMouseLeave(msg) {
// this.$refs[msg].style.whiteSpace = 'nowrap';
},
handleImageClick(){
}
handleImageClick() {},
},
}
</script>
......
......@@ -72,6 +72,7 @@
<div class="setscroll">
<el-table
@selection-change="handleSelectionChange"
@row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTable')"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark myTooltips"
......@@ -175,6 +176,10 @@
<div class="setscrolldialog">
<el-table
@selection-change="handleSelectionChange"
@row-click="
(row, column, event) =>
handleRowClick(row, column, event, 'multipleTablePGZL')
"
:data="qdtableData"
tooltip-effect="dark myTooltips"
style="width: 100%"
......@@ -280,7 +285,9 @@ import {
downloadObjectAll,
} from '@/api/indexzc'
import { generateYearOptions, constructionFormText } from '@/utils/cache'
import tableMixin from '@/mixins/table.mixin.js'
export default {
mixins: [tableMixin],
data() {
return {
yearsList: generateYearOptions(),
......
......@@ -87,6 +87,7 @@
<div class="setscroll">
<el-table
@selection-change="handleSelectionChange"
@row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTable')"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark myTooltips"
......@@ -423,10 +424,12 @@ import {
selWtqdFZ2,
xzwtpostEvalQuesInfo,
postEvalQuesInfoTh,
presignedUrl
presignedUrl,
} from '@/api/indexzc'
import { generateYearOptions, constructionFormText } from '@/utils/cache'
import tableMixin from '@/mixins/table.mixin.js'
export default {
mixins: [tableMixin],
data() {
return {
quesoptions: [],
......@@ -574,29 +577,29 @@ export default {
this.$set(item, 'filed', this.filtersTable(6, resMat.data.records))
break
}
let urlStr = item.url;
let arrUrl = [];
let showUrlList = [];
let urlStr = item.url
let arrUrl = []
let showUrlList = []
// 有url拆分调接口换预览
if (urlStr) {
console.log(urlStr, "urlStr");
if (urlStr.includes(",")) {
arrUrl = item.url.split(",");
console.log(urlStr, 'urlStr')
if (urlStr.includes(',')) {
arrUrl = item.url.split(',')
} else {
arrUrl.push(urlStr);
arrUrl.push(urlStr)
}
console.log(arrUrl, "arrUrlarrUrl");
console.log(arrUrl, 'arrUrlarrUrl')
arrUrl.forEach(async (showUrl) => {
let paramsUrl = {
url: showUrl,
};
let resUrl = await presignedUrl(paramsUrl);
showUrlList.push(resUrl.msg);
});
console.log(showUrlList, "showUrlList");
}
let resUrl = await presignedUrl(paramsUrl)
showUrlList.push(resUrl.msg)
})
console.log(showUrlList, 'showUrlList')
this.$set(item, "images", showUrlList);
this.$set(item, 'images', showUrlList)
}
let arr = []
let arrID = []
......
<!-- 评估批次发起 -->
<template>
<div class="main">
<el-form
:model="ruleForm"
label-width="100px"
class="demo-ruleForm"
ref="formName"
>
<el-form :model="ruleForm" label-width="100px" class="demo-ruleForm" ref="formName">
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select v-model="ruleForm.batchYear" placeholder="请选择" clearable>
<el-option
......@@ -18,22 +13,10 @@
</el-select>
</el-form-item>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-input
v-model="ruleForm.batchName"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleForm.batchName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item
label="后评估批次状态:"
prop="postEvalState"
class="fromItem"
>
<el-select
v-model="ruleForm.postEvalState"
placeholder="请选择"
clearable
>
<el-form-item label="后评估批次状态:" prop="postEvalState" class="fromItem">
<el-select v-model="ruleForm.postEvalState" placeholder="请选择" clearable>
<el-option label="未发起" value="0"></el-option>
<el-option label="已发起" value="1"></el-option>
<el-option label="已撤回" value="2"></el-option>
......@@ -72,9 +55,7 @@
<el-button @click="deletes()">
<img class="buttonIcon" src="../../assets/sc.png" /> 删除
</el-button>
<el-button v-debounce:click="sendMsg"
><i class="el-icon-position"></i> 发起
</el-button>
<el-button v-debounce:click="sendMsg"><i class="el-icon-position"></i> 发起 </el-button>
<el-button v-debounce:click="withdraw">
<i class="el-icon-folder-delete"></i>撤回
</el-button>
......@@ -83,6 +64,7 @@
<div class="setscrollOne">
<el-table
@selection-change="handleSelectionChange"
@row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTable')"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark myTooltips"
......@@ -92,34 +74,24 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="批次年度" width="120" prop="batchYear">
<template slot-scope="scope"> {{ scope.row.batchYear }}</template>
</el-table-column>
<el-table-column prop="batchName" label="后评估批次名称" width="auto">
</el-table-column>
<el-table-column prop="batchName" label="后评估批次名称" width="auto"> </el-table-column>
<el-table-column prop="expertName" label="后评估专家" width="auto">
</el-table-column>
<el-table-column prop="expertName" label="后评估专家" width="auto"> </el-table-column>
<!-- <el-table-column prop="id" label="专家编号" width="auto">
</el-table-column> -->
<el-table-column prop="planReviewDate" label="计划评估日期" width="220">
</el-table-column>
<el-table-column
prop="postEvalStateText"
label="后评估批次状态"
width="120"
>
<el-table-column prop="planReviewDate" label="计划评估日期" width="220"> </el-table-column>
<el-table-column prop="postEvalStateText" label="后评估批次状态" width="120">
</el-table-column>
<!-- <el-table-column prop="postEvalState" label="后评估状态" width="auto">
</el-table-column> -->
<el-table-column prop="creator" label="发起人" width="120">
</el-table-column>
<el-table-column prop="createTime" label="发起时间" width="220">
</el-table-column>
<el-table-column prop="creator" label="发起人" width="120"> </el-table-column>
<el-table-column prop="createTime" label="发起时间" width="220"> </el-table-column>
</el-table>
</div>
<el-pagination
......@@ -143,26 +115,14 @@
@close="resetForm()"
>
<div class="dialog">
<el-form
:model="ruleFormdialogBJ"
label-width="100px"
class="demo-ruleForm"
>
<el-form :model="ruleFormdialogBJ" label-width="100px" class="demo-ruleForm">
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchYear" disabled></el-input>
</el-form-item>
<el-form-item
label="后评估批次名称:"
prop="batchName"
class="fromItem"
>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchName" disabled></el-input>
</el-form-item>
<el-form-item
label="计划评估日期:"
prop="planReviewDate"
class="fromItem"
>
<el-form-item label="计划评估日期:" prop="planReviewDate" class="fromItem">
<el-date-picker
disabled
v-model="ruleFormdialogBJ.planReviewDate"
......@@ -170,25 +130,16 @@
placeholder="选择日期"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="{
disabledDate: (time) =>
time.getTime() < new Date(new Date().setHours(0, 0, 0, 0)),
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
type="textarea"
v-model="ruleFormdialogBJ.description"
disabled
></el-input>
<el-input type="textarea" v-model="ruleFormdialogBJ.description" disabled></el-input>
</el-form-item>
<el-form-item label="备注:" class="textarea">
<el-input
type="textarea"
v-model="ruleFormdialogBJ.remark"
disabled
></el-input>
<el-input type="textarea" v-model="ruleFormdialogBJ.remark" disabled></el-input>
</el-form-item>
</el-form>
<div class="setscrolldialog">
......@@ -202,54 +153,32 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<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="id" label="专家编号" width="auto">
</el-table-column>
<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="id" label="专家编号" width="auto"> </el-table-column>
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto">
<template slot-scope="scope">{{ scope.row.sex | filtergender }}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto"> </el-table-column>
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{
scope.row.education | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
<template slot-scope="scope">{{ scope.row.education | filterexpert }}</template>
</el-table-column>
<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="expertfields" label="专业领域" width="auto">
<template slot-scope="scope">{{
scope.row.expertfields | filtertfields
}}</template>
<template slot-scope="scope">{{ scope.row.expertfields | filtertfields }}</template>
</el-table-column>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
<el-table-column prop="remark" label="专家简介" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{
scope.row.level | filtertLevel
}}</template>
<template slot-scope="scope">{{ scope.row.level | filtertLevel }}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{
scope.row.status | filtertState
}}</template>
<template slot-scope="scope">{{ scope.row.status | filtertState }}</template>
</el-table-column>
</el-table>
</div>
......@@ -283,11 +212,7 @@
:rules="rules"
>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select
v-model="ruleFormdialogAdd.batchYear"
placeholder="请选择"
clearable
>
<el-select v-model="ruleFormdialogAdd.batchYear" placeholder="请选择" clearable>
<el-option
v-for="(item, index) in yearsList"
:key="index"
......@@ -296,29 +221,17 @@
/>
</el-select>
</el-form-item>
<el-form-item
label="后评估批次名称:"
prop="batchName"
class="fromItem"
>
<el-input
v-model="ruleFormdialogAdd.batchName"
clearable
></el-input>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-input v-model="ruleFormdialogAdd.batchName" clearable></el-input>
</el-form-item>
<el-form-item
label="计划评估日期:"
prop="planReviewDate"
class="fromItem"
>
<el-form-item label="计划评估日期:" prop="planReviewDate" class="fromItem">
<el-date-picker
v-model="ruleFormdialogAdd.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)),
disabledDate: (time) => time.getTime() < new Date(new Date().setHours(0, 0, 0, 0)),
}"
>
</el-date-picker>
......@@ -340,16 +253,11 @@
></el-input>
</el-form-item>
</el-form>
<p class="zjBtn">
后评估专家 <span @click="xzExperts()">选择专家</span>
</p>
<p class="zjBtn">后评估专家 <span @click="xzExperts()">选择专家</span></p>
<div class="setscrolldialog">
<el-table
:data="
addtableData.slice(
(addcurrentPage - 1) * pageSizeAdd,
addcurrentPage * pageSizeAdd
)
addtableData.slice((addcurrentPage - 1) * pageSizeAdd, addcurrentPage * pageSizeAdd)
"
tooltip-effect="dark myTooltips"
style="width: 100%"
......@@ -358,54 +266,32 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<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="id" label="专家编号" width="auto">
</el-table-column>
<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="id" label="专家编号" width="auto"> </el-table-column>
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto">
<template slot-scope="scope">{{ scope.row.sex | filtergender }}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto"> </el-table-column>
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{
scope.row.education | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
<template slot-scope="scope">{{ scope.row.education | filterexpert }}</template>
</el-table-column>
<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="expertfields" label="专业领域" width="auto">
<template slot-scope="scope">{{
scope.row.expertFields | filtertfields
}}</template>
<template slot-scope="scope">{{ scope.row.expertFields | filtertfields }}</template>
</el-table-column>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
<el-table-column prop="remark" label="专家简介" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{
scope.row.level | filtertLevel
}}</template>
<template slot-scope="scope">{{ scope.row.level | filtertLevel }}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{
scope.row.status | filtertState
}}</template>
<template slot-scope="scope">{{ scope.row.status | filtertState }}</template>
</el-table-column>
</el-table>
</div>
......@@ -421,8 +307,7 @@
>
</el-pagination>
<p class="midBtn">
<span @click="cancelXZ()">取消</span
><span v-debounce:click="saveXZ">保存</span>
<span @click="cancelXZ()">取消</span><span v-debounce:click="saveXZ">保存</span>
</p>
</div>
</el-dialog>
......@@ -438,25 +323,13 @@
<div class="adzjdialog">
<el-form :model="ruleFormZJ" label-width="100px" class="demo-ruleForm">
<el-form-item label="专家姓名:" prop="talentName" class="fromItem">
<el-input
v-model="ruleFormZJ.talentName"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleFormZJ.talentName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="专家编号:" prop="id" class="fromItem">
<el-input
v-model="ruleFormZJ.id"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="ruleFormZJ.id" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="专家级别:" prop="level" class="fromItem">
<el-select
v-model="ruleFormZJ.level"
placeholder="请选择"
clearable
>
<el-select v-model="ruleFormZJ.level" placeholder="请选择" clearable>
<el-option label="初级" value="1"></el-option>
<el-option label="高级" value="2"></el-option>
<el-option label="中级" value="3"></el-option>
......@@ -507,51 +380,30 @@
<!-- <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="orgName">
</el-table-column>
<el-table-column prop="talentName" label="专家姓名" width="auto">
</el-table-column>
<el-table-column prop="id" label="专家编号" width="auto">
</el-table-column>
<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="id" label="专家编号" width="auto"> </el-table-column>
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto">
<template slot-scope="scope">{{ scope.row.sex | filtergender }}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto"> </el-table-column>
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{
scope.row.education | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
<template slot-scope="scope">{{ scope.row.education | filterexpert }}</template>
</el-table-column>
<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="expertFields" label="专业领域" width="auto">
<template slot-scope="scope">{{
scope.row.expertFields | filtertfields
}}</template>
<template slot-scope="scope">{{ scope.row.expertFields | filtertfields }}</template>
</el-table-column>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
<el-table-column prop="remark" label="专家简介" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{
scope.row.level | filtertLevel
}}</template>
<template slot-scope="scope">{{ scope.row.level | filtertLevel }}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{
scope.row.status | filtertState
}}</template>
<template slot-scope="scope">{{ scope.row.status | filtertState }}</template>
</el-table-column>
<!-- <el-table-column
prop="id"
......@@ -575,8 +427,7 @@
</el-pagination>
<p class="midBtn">
<span @click="cancelZJ()">取消</span
><span @click="saveZJ()">保存</span>
<span @click="cancelZJ()">取消</span><span @click="saveZJ()">保存</span>
</p>
</div>
</el-dialog>
......@@ -587,7 +438,7 @@
width="90%"
:modal-append-to-body="false"
:append-to-body="false"
@close="resetForm()"
@close="resetForm()"
>
<div class="dialog">
<el-form
......@@ -597,11 +448,7 @@
ref="formNameBJ"
>
<el-form-item label="批次年度:" prop="batchYear" class="fromItem">
<el-select
v-model="ruleFormdialogBJ.batchYear"
placeholder="请选择"
clearable
>
<el-select v-model="ruleFormdialogBJ.batchYear" placeholder="请选择" clearable>
<el-option
v-for="(item, index) in yearsList"
:key="index"
......@@ -610,26 +457,17 @@
/>
</el-select>
</el-form-item>
<el-form-item
label="后评估批次名称:"
prop="batchName"
class="fromItem"
>
<el-form-item label="后评估批次名称:" prop="batchName" class="fromItem">
<el-input v-model="ruleFormdialogBJ.batchName" clearable></el-input>
</el-form-item>
<el-form-item
label="计划评估日期:"
prop="planReviewDate"
class="fromItem"
>
<el-form-item label="计划评估日期:" prop="planReviewDate" class="fromItem">
<el-date-picker
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)),
disabledDate: (time) => time.getTime() < new Date(new Date().setHours(0, 0, 0, 0)),
}"
>
</el-date-picker>
......@@ -651,9 +489,7 @@
></el-input>
</el-form-item>
</el-form>
<p class="zjBtn">
后评估专家 <span @click="xzExperts()">选择专家</span>
</p>
<p class="zjBtn">后评估专家 <span @click="xzExperts()">选择专家</span></p>
<div class="setscrolldialog">
<el-table
@selection-change="handleSelectionChange"
......@@ -665,54 +501,32 @@
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="序号" width="55" type="index"> </el-table-column>
<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="id" label="专家编号" width="auto">
</el-table-column>
<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="id" label="专家编号" width="auto"> </el-table-column>
<el-table-column prop="sex" label="性别" width="auto">
<template slot-scope="scope">{{
scope.row.sex | filtergender
}}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto">
<template slot-scope="scope">{{ scope.row.sex | filtergender }}</template>
</el-table-column>
<el-table-column prop="birthDay" label="出生日期" width="auto"> </el-table-column>
<el-table-column prop="education" label="学历" width="auto">
<template slot-scope="scope">{{
scope.row.seducation | filterexpert
}}</template>
</el-table-column>
<el-table-column prop="mobile" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
<template slot-scope="scope">{{ scope.row.seducation | filterexpert }}</template>
</el-table-column>
<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="expertFields" label="专业领域" width="auto">
<template slot-scope="scope">{{
scope.row.expertFields | filtertfields
}}</template>
<template slot-scope="scope">{{ scope.row.expertFields | filtertfields }}</template>
</el-table-column>
<el-table-column
prop="remark"
label="专家简介"
width="auto"
show-overflow-tooltip
>
<el-table-column prop="remark" label="专家简介" width="auto" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="level" label="专家级别" width="auto">
<template slot-scope="scope">{{
scope.row.level | filtertLevel
}}</template>
<template slot-scope="scope">{{ scope.row.level | filtertLevel }}</template>
</el-table-column>
<!-- <el-table-column prop="description" label="成果简介" width="auto">
</el-table-column> -->
<el-table-column prop="status" label="专家状态" width="auto">
<template slot-scope="scope">{{
scope.row.status | filtertState
}}</template>
<template slot-scope="scope">{{ scope.row.status | filtertState }}</template>
</el-table-column>
</el-table>
</div>
......@@ -728,15 +542,14 @@
>
</el-pagination>
<p class="midBtn">
<span @click="cancelBJ()">取消</span
><span @click="saveBJ()">保存</span>
<span @click="cancelBJ()">取消</span><span @click="saveBJ()">保存</span>
</p>
</div>
</el-dialog>
</div>
</template>
<script>
<script>
import {
expertInfo,
expert,
......@@ -746,69 +559,69 @@ import {
evalBatchInfo,
delEvalBatchInfo,
chEvalBatchInfo,
} from "@/api/indexzc";
import { getCurrentDate } from "@/utils/format";
import { generateYearOptions } from "@/utils/cache";
} from '@/api/indexzc'
import { getCurrentDate } from '@/utils/format'
import { generateYearOptions } from '@/utils/cache'
import tableMixin from '@/mixins/table.mixin.js'
export default {
mixins: [tableMixin],
data() {
return {
value1: "",
value1: '',
yearsList: generateYearOptions(),
totalXQ: 0,
XQtableData: [],
currentPageXQ: 1,
pageSizeXQ: 5,
ruleForm: {
batchYear: "",
batchName: "",
postEvalState: "",
batchYear: '',
batchName: '',
postEvalState: '',
dates: [],
},
ruleFormdialog: {
batchYear: "",
batchName: "",
planReviewDate: "",
fullName: "",
batchYear: '',
batchName: '',
planReviewDate: '',
fullName: '',
},
ruleFormZJ: {
expertFields: "",
status: "",
fullName: "",
expertFields: '',
status: '',
fullName: '',
},
ruleFormdialogAdd: {
batchYear: "",
batchName: "",
planReviewDate: "",
description: "",
remark: "",
batchYear: '',
batchName: '',
planReviewDate: '',
description: '',
remark: '',
},
ruleFormdialogBJ: {
batchYear: "",
batchName: "",
planReviewDate: "",
description: "",
remark: "",
batchYear: '',
batchName: '',
planReviewDate: '',
description: '',
remark: '',
},
rules: {
batchYear: [
{ required: true, message: "请选择批次年度", trigger: "change" },
],
batchYear: [{ required: true, message: '请选择批次年度', trigger: 'change' }],
batchName: [
{
required: true,
message: "请选择后评估批次名称",
trigger: "change",
message: '请选择后评估批次名称',
trigger: 'change',
},
],
planReviewDate: [
{
required: true,
message: "请选择计划评估日期",
trigger: "change",
message: '请选择计划评估日期',
trigger: 'change',
},
],
},
xfParams: "", //下发入参
xfParams: '', //下发入参
tableData: [],
tableDataQD: [], //清单列表
checkedList: [],
......@@ -831,64 +644,64 @@ export default {
pageSizeAdd: 5,
currentedit: 1,
pageSizeedit: 5,
xfParam: "",
xfParam: '',
dialogedit: false,
expertIdList: [],
totalBJ: 0,
addZJList: [],
status: "",
expertfields: "",
zjfullName: "",
status: '',
expertfields: '',
zjfullName: '',
zjtotal: 0,
zjtableData: [],
addcurrentPage: 1,
addtableData: [],
message: {},
};
}
},
mounted() {
this.submitForm();
this.submitForm()
},
filters: {
filtergender(val) {
if (val == 0) {
return "女";
return '女'
} else {
return "男";
return '男'
}
},
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 "高级";
return '高级'
}
},
filtertfields(val) {
if (val == 1) {
return "设备";
return '设备'
} else if (val == 2) {
return "技术";
return '技术'
} else {
return "信息化";
return '信息化'
}
},
filterexpert(val) {
if (val == 1) {
return "本科";
return '本科'
} else if (val == 2) {
return "硕士";
return '硕士'
} else {
return "博士";
return '博士'
}
},
},
......@@ -897,11 +710,11 @@ export default {
timeChange(time) {
if (time) {
//给后端的参数
this.ruleForm.createStartTime = time[0];
this.ruleForm.createEndTime = time[1];
this.ruleForm.createStartTime = time[0]
this.ruleForm.createEndTime = time[1]
} else {
this.ruleForm.createStartTime = "";
this.ruleForm.createEndTime = "";
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
}
},
async submitForm() {
......@@ -909,391 +722,394 @@ export default {
current: this.currentPage,
pageSize: this.pageSize,
module: 1,
};
}
Object.assign(params, this.ruleForm);
Object.assign(params, this.ruleForm)
let res = await evalBatchInfo(params);
let res = await evalBatchInfo(params)
if (res.code == "200") {
this.tableData = res.data.records;
if (res.code == '200') {
this.tableData = res.data.records
this.tableData.forEach((item) => {
if (item.postEvalState == "" || item.postEvalState == null) {
this.$set(item, "postEvalStateText", "未发起");
} else if (item.postEvalState == "0") {
this.$set(item, "postEvalStateText", "未发起");
} else if (item.postEvalState == "2") {
this.$set(item, "postEvalStateText", "已撤回");
} else if (item.postEvalState == "1") {
this.$set(item, "postEvalStateText", "已发起");
} else if (item.postEvalState == "3" || item.postEvalState == "4") {
this.$set(item, "postEvalStateText", "执行中");
} else if (item.postEvalState == "5") {
this.$set(item, "postEvalStateText", "已完成");
if (item.postEvalState == '' || item.postEvalState == null) {
this.$set(item, 'postEvalStateText', '未发起')
} else if (item.postEvalState == '0') {
this.$set(item, 'postEvalStateText', '未发起')
} else if (item.postEvalState == '2') {
this.$set(item, 'postEvalStateText', '已撤回')
} else if (item.postEvalState == '1') {
this.$set(item, 'postEvalStateText', '已发起')
} else if (item.postEvalState == '3' || item.postEvalState == '4') {
this.$set(item, 'postEvalStateText', '执行中')
} else if (item.postEvalState == '5') {
this.$set(item, 'postEvalStateText', '已完成')
}
});
this.total = res.data.total * 1;
})
this.total = res.data.total * 1
}
},
resetForm() {
this.$refs.formName.resetFields();
this.currentPage = 1;
this.pageSize = 10;
this.ruleForm.createStartTime = "";
this.ruleForm.createEndTime = "";
this.ruleForm.dates = [];
this.submitForm();
this.$refs.formName.resetFields()
this.currentPage = 1
this.pageSize = 10
this.ruleForm.createStartTime = ''
this.ruleForm.createEndTime = ''
this.ruleForm.dates = []
this.submitForm()
},
//点击新增
async add() {
this.dialogAdd = true;
this.addtableData = []; //每次新增清空不然点了还是这几个人
this.ruleFormdialogAdd = {};
this.dialogAdd = true
this.addtableData = [] //每次新增清空不然点了还是这几个人
this.ruleFormdialogAdd = {}
},
//详情
async detailsForm() {
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
this.dialogXQ = true;
this.checkedList[0].planReviewDate = new Date(
this.checkedList[0].planReviewDate
);
this.ruleFormdialogBJ = this.checkedList[0];
this.dialogXQ = true
this.checkedList[0].planReviewDate = new Date(this.checkedList[0].planReviewDate)
this.ruleFormdialogBJ = this.checkedList[0]
let params = {
current: this.currentPageXQ,
pageSize: this.pageSizeXQ,
batchId: this.checkedList[0].batchId,
};
console.log(params, "params");
let res = await expert(params);
}
console.log(params, 'params')
let res = await expert(params)
this.XQtableData = res.data.records;
this.totalXQ = res.data.total * 1;
this.XQtableData = res.data.records
this.totalXQ = res.data.total * 1
},
//表格颜色
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "warning-row";
return 'warning-row'
}
return "";
return ''
},
//主列表选中行信息
handleSelectionChange(selection) {
if (Array.isArray(selection) && selection.length > 1) {
this.$refs.multipleTable.toggleRowSelection(selection[0], false);
this.$refs.multipleTable.toggleRowSelection(selection[1], true);
this.$refs.multipleTable.toggleRowSelection(selection[0], false)
this.$refs.multipleTable.toggleRowSelection(selection[1], true)
}
this.checkedList = this.$refs.multipleTable.selection;
this.ruleFormdialog = this.checkedList[0];
this.checkedList = this.$refs.multipleTable.selection
this.ruleFormdialog = this.checkedList[0]
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.pageSize = val;
this.submitForm();
console.log(`每页 ${val} 条`)
this.pageSize = val
this.submitForm()
},
handleCurrentChange(val) {
this.currentPage = val;
this.submitForm();
this.currentPage = val
this.submitForm()
},
handleSizeChangeZJ(val) {
this.pageSizeZJ = val;
this.pageSizeZJ = val
this.xzExperts()
},
handleCurrentChangeZJ(val) {
this.currentZJ = val;
this.currentZJ = val
this.xzExperts()
},
handleSizeChangetjcl(val) {
this.pageSizetjcl = val;
this.pageSizetjcl = val
},
handleCurrentChangetjcl(val) {
this.currentPagetjcl = val;
this.currentPagetjcl = val
},
handleSizeChangeAdd(val) {
this.pageSizeAdd = val;
this.pageSizeAdd = val
},
handleCurrentChangeAdd(val) {
this.addcurrentPage = val;
this.addcurrentPage = val
},
handleSizeChangeBJ(val) {
this.pageSizeBJ = val;
this.edit();
this.pageSizeBJ = val
this.edit()
},
handleCurrentChangeBJ(val) {
this.currentPageBJ = val;
this.edit();
this.currentPageBJ = val
this.edit()
},
//详情分页
handleSizeChangeXQ(val) {
this.pageSizeXQ = val;
this.detailsForm();
this.pageSizeXQ = val
this.detailsForm()
},
handleCurrentChangeXQ(val) {
this.currentPageXQ = val;
this.detailsForm();
this.currentPageXQ = val
this.detailsForm()
},
cancel() {
this.dialog = false;
this.dialog = false
},
async save(type) {
this.dialog = false;
if (type == "add") {
let params = {};
let res = await qrscevaluationMaterials(params);
this.dialog = false
if (type == 'add') {
let params = {}
let res = await qrscevaluationMaterials(params)
}
},
//保存专家
saveZJ() {
if (this.addZJList.length < 1) {
this.$message("请选择专家");
return;
this.$message('请选择专家')
return
}
if(this.dialogedit ==true){
if (this.dialogedit == true) {
console.log('编辑专家')
this.addtableData=[]
this.addtableData = []
}
this.addtableData = [...this.addtableData, ...this.addZJList];
this.addtableData = [...this.addtableData, ...this.addZJList]
this.addtableData = this.addtableData.filter(
(obj, index, self) => index === self.findIndex((t) => t.id === obj.id)
);
(obj, index, self) => index === self.findIndex((t) => t.id === obj.id),
)
this.addtotal = this.addtableData.length;
this.dialogAddzj = false;
this.addtotal = this.addtableData.length
this.dialogAddzj = false
},
cancelZJ() {
this.dialogAddzj = false;
this.dialogAddzj = false
},
cancelBJ() {
this.dialogedit = false;
this.dialogedit = false
},
async xzExperts(type) {
if (!type) {
this.ruleFormZJ = {};
this.ruleFormZJ = {}
}
this.dialogAddzj = true;
this.dialogAddzj = true
let params = {
current: this.currentZJ,
pageSize: this.pageSizeZJ,
};
Object.assign(params, this.ruleFormZJ);
console.log("查询专家", params);
}
Object.assign(params, this.ruleFormZJ)
console.log('查询专家', params)
// this.zjtableData = []
let res = await expertInfo(params);
this.zjtableData = res.data.records;
this.zjtotal = res.data.total * 1;
let res = await expertInfo(params)
this.zjtableData = res.data.records
this.zjtotal = res.data.total * 1
},
cancelBJ() {
this.dialogedit = false;
this.dialogedit = false
},
saveXZ() {
console.log("保存验证", this.$refs);
console.log('保存验证', this.$refs)
this.$refs.formName.validate((valid) => {
if (!valid) {
console.log("error submit!!");
return false;
console.log('error submit!!')
return false
} else {
if (this.addtableData.length < 1) {
this.$message("请选择专家");
this.$message('请选择专家')
}
console.log(this.addZJList, "this.addZJList");
let expertIdList = [];
let expertStr = "";
console.log(this.addZJList, 'this.addZJList')
let expertIdList = []
let expertStr = ''
this.addtableData.forEach((item) => {
expertIdList.push(item.id);
expertStr = JSON.stringify(expertIdList).slice(1, -1);
});
expertIdList.push(item.id)
expertStr = JSON.stringify(expertIdList).slice(1, -1)
})
let params = {
expertStr: expertStr,
creator: sessionStorage.getItem("author"),
creator: sessionStorage.getItem('author'),
createTime: getCurrentDate(),
module: 1,
};
Object.assign(params, this.ruleFormdialogAdd);
this.xfParams = JSON.parse(JSON.stringify(params));
}
Object.assign(params, this.ruleFormdialogAdd)
this.xfParams = JSON.parse(JSON.stringify(params))
adEvalBatchInfo(params).then((res) => {
this.dialogAdd = false;
this.expertIdList = expertIdList;
this.resetForm();
});
this.dialogAdd = false
this.expertIdList = expertIdList
this.resetForm()
})
}
});
})
// this.$emit("listenToChildEvent", "reset");
// }
},
cancelXZ() {
this.dialogAdd = false;
this.dialogAdd = false
},
saveBJ() {
this.$refs.formNameBJ.validate((valid) => {
if (!valid) {
return false;
return false
} else {
if (this.addtableData.length < 1) {
this.$message("请选择专家");
this.$message('请选择专家')
}
let expertIdList = [];
let expertStr = "";
let expertIdList = []
let expertStr = ''
this.addtableData.forEach((item) => {
expertIdList.push(item.id);
expertStr = JSON.stringify(expertIdList).slice(1, -1);
});
expertIdList.push(item.id)
expertStr = JSON.stringify(expertIdList).slice(1, -1)
})
let params = {
expertStr: expertStr,
};
Object.assign(this.ruleFormdialogBJ, params);
}
Object.assign(this.ruleFormdialogBJ, params)
updEvalBatchInfo(this.ruleFormdialogBJ).then((res) => {
this.dialogedit = false;
this.resetForm();
});
this.dialogedit = false
this.resetForm()
})
}
});
})
},
//选中的专家
handleSelectionChangeZJ() {
this.addZJList = this.$refs.multipleTableZJ.selection;
this.addZJList = this.$refs.multipleTableZJ.selection
},
convertTimeFormat(isoTime) {
const date = new Date(isoTime);
const year = date.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, "0");
const day = date.getDate().toString().padStart(2, "0");
const hours = date.getHours().toString().padStart(2, "0");
const minutes = date.getMinutes().toString().padStart(2, "0");
const seconds = date.getSeconds().toString().padStart(2, "0");
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
const date = new Date(isoTime)
const year = date.getFullYear()
const month = (date.getMonth() + 1).toString().padStart(2, '0')
const day = date.getDate().toString().padStart(2, '0')
const hours = date.getHours().toString().padStart(2, '0')
const minutes = date.getMinutes().toString().padStart(2, '0')
const seconds = date.getSeconds().toString().padStart(2, '0')
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`
},
//点击编辑
async edit() {
//只能选择编辑未发起 待增加
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
if (this.checkedList[0].postEvalStateText == "已发起") {
this.$message("不能编辑已发起的项目");
return;
if (this.checkedList[0].postEvalStateText == '已发起') {
this.$message('不能编辑已发起的项目')
return
}
this.addtableData = [];
this.checkedList[0].planReviewDate =this.convertTimeFormat(this.checkedList[0].planReviewDate)
this.ruleFormdialogBJ = this.checkedList[0];
this.dialogedit = true;
this.addtableData = []
this.checkedList[0].planReviewDate = this.convertTimeFormat(
this.checkedList[0].planReviewDate,
)
this.ruleFormdialogBJ = this.checkedList[0]
this.dialogedit = true
let params = {
current: this.currentedit,
pageSize: this.pageSizeedit,
batchId: this.checkedList[0].batchId,
};
}
let res = await expert(params);
let res = await expert(params)
this.addtableData = res.data.records;
this.totalBJ = res.data.total * 1;
this.addtableData = res.data.records
this.totalBJ = res.data.total * 1
this.addtableData.forEach((item) => {
this.expertIdList.push(item.id);
});
this.expertIdList.push(item.id)
})
},
//点击删除
deletes() {
console.log("删除");
console.log('删除')
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
if (this.checkedList[0].postEvalStateText != "已撤回"&&this.checkedList[0].postEvalStateText != "未发起") {
this.$message("只可删除状态为未发起或者已撤回的批次");
return;
if (
this.checkedList[0].postEvalStateText != '已撤回' &&
this.checkedList[0].postEvalStateText != '未发起'
) {
this.$message('只可删除状态为未发起或者已撤回的批次')
return
}
this.$confirm("此操作将删除该批次, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
this.$confirm('此操作将删除该批次, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(async () => {
let res = await delEvalBatchInfo(this.checkedList[0]);
let res = await delEvalBatchInfo(this.checkedList[0])
if (res.code == 200) {
this.$message({
type: "success",
message: "删除成功!",
});
this.resetForm();
type: 'success',
message: '删除成功!',
})
this.resetForm()
} else {
this.$message({
type: "info",
message: "删除失败!",
});
this.resetForm();
type: 'info',
message: '删除失败!',
})
this.resetForm()
}
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
type: 'info',
message: '已取消删除',
})
})
},
handleImageClick() {},
//点击下发
async sendMsg() {
//只能选择未发起的 这块需要加一下
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
if (this.checkedList[0].postEvalStateText == "已发起") {
this.$message("该项目已发起");
return;
if (this.checkedList[0].postEvalStateText == '已发起') {
this.$message('该项目已发起')
return
}
let res = await sendEvalBatchInfo(this.checkedList[0]);
if (res.code == "200") {
let res = await sendEvalBatchInfo(this.checkedList[0])
if (res.code == '200') {
this.$message({
type: "success",
message: "发起成功!",
});
this.resetForm();
type: 'success',
message: '发起成功!',
})
this.resetForm()
} else {
this.$message({
type: "info",
message: "发起失败!",
});
type: 'info',
message: '发起失败!',
})
}
},
//点击撤回
async withdraw() {
//只能选择已发起未确认的 这块需要加一下
if (this.checkedList.length != 1) {
this.$message("请选择");
return;
this.$message('请选择')
return
}
// if (this.checkedList[0].postEvalStateText == "未发起") {
// this.$message("该项目未发起");
// return;
// }
if (this.checkedList[0].postEvalStateText != "已发起") {
this.$message("只可撤回状态为已发起的批次");
return;
if (this.checkedList[0].postEvalStateText != '已发起') {
this.$message('只可撤回状态为已发起的批次')
return
}
this.$confirm("是否撤回?", "提示", {
confirmButtonText: "是",
cancelButtonText: "否",
this.$confirm('是否撤回?', '提示', {
confirmButtonText: '是',
cancelButtonText: '否',
distinguishCancelAndClose: true,
type: "warning",
type: 'warning',
})
.then(async () => {
let res = await chEvalBatchInfo(this.checkedList[0]);
if (res.code == "200") {
this.$message("已撤回");
this.resetForm();
let res = await chEvalBatchInfo(this.checkedList[0])
if (res.code == '200') {
this.$message('已撤回')
this.resetForm()
}
})
.catch((action) => {});
.catch((action) => {})
// let res = await chEvalBatchInfo(this.checkedList[0]);
// if (res.code == "200") {
// this.$message('已撤回')
......@@ -1301,9 +1117,9 @@ export default {
// }
},
},
};
}
</script>
<style scoped lang="scss">
<style scoped lang="scss">
.main {
font-size: 14px;
position: relative;
......@@ -1536,7 +1352,7 @@ export default {
box-sizing: border-box;
/deep/ .el-table {
width: 96% !important;
height:320px;
height: 320px;
overflow: auto;
}
}
......@@ -1547,7 +1363,7 @@ export default {
box-sizing: border-box;
/deep/ .el-table {
width: 96% !important;
height:420px;
height: 420px;
overflow: auto;
}
}
......@@ -1557,4 +1373,4 @@ export default {
height: 100%;
overflow-y: auto;
}
</style>
\ No newline at end of file
</style>
......@@ -52,6 +52,7 @@
<div class="setscrollOne">
<el-table
@selection-change="handleSelectionChange"
@row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTable')"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark myTooltips"
......@@ -237,6 +238,10 @@
<div class="setscrolldialogxz">
<el-table
@selection-change="handleSelectionChange"
ref="multipleTableDPG"
@row-click="
(row, column, event) => handleRowClick(row, column, event, 'multipleTableDPG')
"
:data="
addtableData.slice((addcurrentPage - 1) * pageSizeAdd, addcurrentPage * pageSizeAdd)
"
......@@ -356,6 +361,9 @@
<el-table
@select="handleSelectionChangeZJ"
@select-all="selectAll"
@row-click="
(row, column, event) => handleRowClick(row, column, event, 'multipleTableZJ')
"
ref="multipleTableZJ"
:data="zjtableData"
tooltip-effect="dark myTooltips"
......@@ -443,7 +451,9 @@ import {
bcProjectInfo,
} from '@/api/indexzc'
import { generateYearOptions, constructionFormText } from '@/utils/cache'
import tableMixin from '@/mixins/table.mixin.js'
export default {
mixins: [tableMixin],
data() {
return {
yearsList: generateYearOptions(),
......@@ -753,20 +763,20 @@ export default {
}
console.log(this.addZJList, 'this.addZJList')
// 确认发布入参
let contractId=''
let contractId = ''
let expertIdList = ''
if (this.addtableData.length > 0) {
this.addtableData.forEach((item) => {
expertIdList = expertIdList.concat(item.projectCode + ',')
contractId=contractId.concat(item.contractNumber + ',')
contractId = contractId.concat(item.contractNumber + ',')
})
}
expertIdList = expertIdList.substring(0,expertIdList.length - 1)
contractId = contractId.substring(0,contractId.length - 1)
expertIdList = expertIdList.substring(0, expertIdList.length - 1)
contractId = contractId.substring(0, contractId.length - 1)
let params = {
expertStr: expertIdList,
contractStr:contractId
contractStr: contractId,
}
params.batchId = this.ruleFormdialogBJ.batchId
// params.prjsOfExpert = this.ruleFormdialogBJ.prjsOfExpert;
......
......@@ -90,6 +90,7 @@
<div class="setscroll">
<el-table
@selection-change="handleSelectionChange"
@row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTable')"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark myTooltips"
......@@ -189,6 +190,10 @@
<div class="setscrolldialog">
<el-table
@selection-change="handleSelectionChange"
@row-click="
(row, column, event) => handleRowClick(row, column, event, 'multipleTableCLQD')
"
ref="multipleTableCLQD"
:data="tableDataQD"
tooltip-effect="dark myTooltips"
style="width: 100%"
......@@ -311,7 +316,7 @@
<template slot-scope="scope">
<el-input
v-model="scope.row.feedback"
v-if="scope.row.evalQues"
v-if="scope.row.evalQues"
type="textarea"
:disabled="scope.row.rectificationStatus == 2"
:rows="3"
......@@ -319,10 +324,7 @@
</template>
</el-table-column>
<el-table-column label="整改说明材料(选填)" prop="fileId" width="280">
<template
slot-scope="scope"
v-if="scope.row.evalQues"
>
<template slot-scope="scope" v-if="scope.row.evalQues">
<input
:disabled="scope.row.rectificationStatus == 2"
type="file"
......@@ -424,10 +426,12 @@ import {
ossuploadStr,
MaterialWarehous,
postEvalQuesInfocxtj,
presignedUrl
presignedUrl,
} from '@/api/indexzc'
import { generateYearOptions, constructionFormText } from '@/utils/cache'
import tableMixin from '@/mixins/table.mixin.js'
export default {
mixins: [tableMixin],
data() {
return {
yearsList: generateYearOptions(),
......@@ -596,29 +600,29 @@ export default {
this.$set(item, 'projectStagetext', '6.结决算及转资')
break
}
let urlStr = item.url;
let arrUrl = [];
let showUrlList = [];
let urlStr = item.url
let arrUrl = []
let showUrlList = []
// 有url拆分调接口换预览
if (urlStr) {
console.log(urlStr, "urlStr");
if (urlStr.includes(",")) {
arrUrl = item.url.split(",");
console.log(urlStr, 'urlStr')
if (urlStr.includes(',')) {
arrUrl = item.url.split(',')
} else {
arrUrl.push(urlStr);
arrUrl.push(urlStr)
}
console.log(arrUrl, "arrUrlarrUrl");
console.log(arrUrl, 'arrUrlarrUrl')
arrUrl.forEach(async (showUrl) => {
let paramsUrl = {
url: showUrl,
};
let resUrl = await presignedUrl(paramsUrl);
showUrlList.push(resUrl.msg);
});
console.log(showUrlList, "showUrlList");
}
let resUrl = await presignedUrl(paramsUrl)
showUrlList.push(resUrl.msg)
})
console.log(showUrlList, 'showUrlList')
this.$set(item, "images", showUrlList);
this.$set(item, 'images', showUrlList)
}
})
this.tableDataQR.forEach((val) => {
......@@ -1002,9 +1006,7 @@ export default {
handleMouseLeave(msg) {
// this.$refs[msg].style.whiteSpace = 'nowrap';
},
handleImageClick(){
}
handleImageClick() {},
},
}
</script>
......
......@@ -63,6 +63,7 @@
<div class="setscroll">
<el-table
@selection-change="handleSelectionChange"
@row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTable')"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark myTooltips"
......@@ -324,8 +325,10 @@ import {
postExist,
} from '@/api/index'
import { Loading } from 'element-ui'
import tableMixin from '@/mixins/table.mixin.js'
export default {
mixins: [tableMixin],
data() {
return {
dialogFullScreen: false,
......
......@@ -81,6 +81,7 @@
<div class="setscroll">
<el-table
@selection-change="handleSelectionChange"
@row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTable')"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark myTooltips"
......@@ -160,7 +161,9 @@
<script>
import { projectInspectionIssues } from '@/api/index'
import { generateYearOptions } from '@/utils/cache'
import tableMixin from '@/mixins/table.mixin.js'
export default {
mixins: [tableMixin],
data() {
return {
yearsList: generateYearOptions(),
......
......@@ -74,6 +74,7 @@
<div class="setscroll">
<el-table
@selection-change="handleSelectionChange"
@row-click="(row, column, event) => handleRowClick(row, column, event, 'multipleTable')"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark myTooltips"
......@@ -173,7 +174,9 @@
<script>
import { RectificationFeedbackQuery } from '@/api/index'
import tableMixin from '@/mixins/table.mixin.js'
export default {
mixins: [tableMixin],
data() {
return {
yearsList: this.generateYearOptions(),
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!