Commit 11d19885 authored by 冷玲鹏's avatar 冷玲鹏

课程管理-逻辑流程

parent 9d564b71
......@@ -61,10 +61,10 @@
</div>
</el-descriptions-item>
</el-descriptions>
<div style="display: flex;justify-content: center">
<!-- <div style="display: flex;justify-content: center">
<el-button type="primary" style="margin-top: 20px" @click="$emit('Approve')">通过中期申请</el-button>
<el-button type="primary" style="margin-top: 20px" @click="$emit('Reject')">驳回中期申请</el-button>
</div>
</div>-->
</div>
</template>
......@@ -75,7 +75,7 @@ import ElDescriptions from '@/components/descriptionsList/e-desc.vue'
export default {
name: 'MidProject',
components: { ElDescriptions, ElDescriptionsItem },
emits: ['download', 'Approve', 'Reject'],
/* emits: ['download', 'Approve', 'Reject'],*/
data() {
return {
comments: '',
......
......@@ -8,8 +8,8 @@
</el-steps>
</div>
<div class="tab-pane">
<el-tabs type="border-card">
<el-tab-pane label="申报信息" style="margin-left: -10px;">
<el-tabs v-model="activeName" type="border-card">
<el-tab-pane label="申报信息" name="first" style="margin-left: -10px;">
<div style="display: flex;width: 100%;justify-content: center;margin-top: 15px">
<p style="margin: 10px 0;font-size: 18px">课题名称及申请人基本情况</p>
</div>
......@@ -268,7 +268,7 @@
<el-button type="primary" style="margin-top: 20px" @click="Reject">驳回</el-button>
</div>
</el-tab-pane>
<el-tab-pane v-if="firstReview ==='立项审批中(立项评审专家指定中)'" label="专家列表">
<el-tab-pane label="专家列表" name="second" v-if="firstReview ==='立项审批中(立项评审专家指定中)'">
<div style="display: flex;width: 100%;justify-content: center;margin-top: 15px">
<p style="margin: 10px 0;font-size: 18px">立项评审专家列表</p>
</div>
......@@ -428,9 +428,137 @@
</div>
</el-dialog>
</el-tab-pane>
<el-tab-pane v-if="firstReview ==='立项审批中(专家立项评审中)'|| firstReview ==='专家立项评审完成'|| firstReview ==='立项评审完成'" label="立项评审结果">
暂无数据
<div v-if="firstReview === '专家立项评审完成'">
<el-tab-pane label="立项评审结果" name="third" v-if="firstReview ==='立项审批中(专家立项评审中)'|| firstReview ==='专家立项评审完成'|| firstReview ==='立项评审完成'" >
<div>
<div class="review-content">
<div style="text-align: center; margin: 20px 0; font-size: 24px; color: #000000">
评审专家列表
</div>
<el-table
style="white-space: pre-wrap;"
border
:data="listOfReviewers"
>
<el-table-column width="180" label="专家姓名" prop="nameOfTheExpert" :show-overflow-tooltip="true">
<template slot-scope="scope">
<div style="word-spacing: normal">
{{ scope.row.nameOfTheExpert }}
</div>
</template>
</el-table-column>
<el-table-column
width="130"
label="专家手机号"
prop="expertSMobilePhoneNumber"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
<div style="word-spacing: normal">
{{ scope.row.expertSMobilePhoneNumber }}
</div>
</template>
</el-table-column>
<el-table-column label="职称" prop="jobTitle" :show-overflow-tooltip="true">
<template slot-scope="scope">
<div style="word-spacing: normal">
{{ scope.row.jobTitle }}
</div>
</template>
</el-table-column>
<el-table-column label="职务" prop="office" :show-overflow-tooltip="true">
<template slot-scope="scope">
<div style="word-spacing: normal">
{{ scope.row.office }}
</div>
</template>
</el-table-column>
<el-table-column label="单位" prop="unit" :show-overflow-tooltip="true">
<template slot-scope="scope">
<div style="word-spacing: normal">
{{ scope.row.unit }}
</div>
</template>
</el-table-column>
<el-table-column label="研究方向" prop="researchInterests" :show-overflow-tooltip="true">
<template slot-scope="scope">
<div style="word-spacing: normal">
{{ scope.row.researchInterests }}
</div>
</template>
</el-table-column>
<el-table-column label="邮箱" prop="email" :show-overflow-tooltip="true">
<template slot-scope="scope">
<div style="word-spacing: normal">
{{ scope.row.email }}
</div>
</template>
</el-table-column>
</el-table>
</div>
<div class="review-content">
<div style="text-align: center; margin: 20px 0; font-size: 24px; color: #000000">
专家评审结果
</div>
<el-table
style="white-space: pre-wrap;"
border
:data="listOfReviewExperts"
>
<el-table-column width="180" label="专家姓名" prop="nameOfTheExpert" :show-overflow-tooltip="true">
<template slot-scope="scope">
<div style="word-spacing: normal">
{{ scope.row.nameOfTheExpert }}
</div>
</template>
</el-table-column>
<el-table-column
width="130"
label="专家手机号"
prop="expertSMobilePhoneNumber"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
<div style="word-spacing: normal">
{{ scope.row.expertSMobilePhoneNumber }}
</div>
</template>
</el-table-column>
<el-table-column width="100" label="得分" prop="score" :show-overflow-tooltip="true">
<template slot-scope="scope">
<div style="word-spacing: normal">
{{ scope.row.score }}
</div>
</template>
</el-table-column>
<el-table-column label="评审意见" prop="comments" :show-overflow-tooltip="true">
<template slot-scope="scope">
<div style="word-spacing: normal">
{{ scope.row.comments }}
</div>
</template>
</el-table-column>
<el-table-column
label="是否愿意担任本课题指导专家"
prop="guidanceSpecialists"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
<div style="word-spacing: normal">
{{ scope.row.guidanceSpecialists }}
</div>
</template>
</el-table-column>
<el-table-column label="附件" prop="annex" :show-overflow-tooltip="true">
<template slot-scope="scope">
<div style="word-spacing: normal">
{{ scope.row.annex }}
</div>
</template>
</el-table-column>
</el-table>
</div>
</div>
<div v-if="firstReview === '专家立项评审完成'|| firstReview ==='立项评审完成'">
<div style="display: flex;width: 100%;justify-content: center;margin-top: 15px">
<p style="margin: 10px 0;font-size: 18px">管理员评审结果</p>
</div>
......@@ -456,14 +584,22 @@
</div>
</div>
</el-tab-pane>
<el-tab-pane v-if="secondReview ==='中期申请中'" label="项目中期">
<MidProject
@Approve="Approve1"
@Reject="Reject1"
@download="console.log('下载成功')"
/>
<el-tab-pane label="项目中期" name="fourth" v-if="secondReview ==='中期申请中'||secondReview ==='中期评审中'" >
<MidProject @download="console.log('下载成功')"/>
<div v-if="buttonSwitch2 === '中期申请完成'">
<div style="display: flex;justify-content: center;margin-top: 15px">
<el-button type="primary" style="margin-top: 20px" @click="passMidtermApplication">通过中期申请</el-button>
<el-button type="primary" style="margin-top: 20px" @click="rejectMidtermApplication">驳回中期申请</el-button>
</div>
</div>
<div v-if="buttonSwitch2 === '中期评审中'">
<div style="display: flex;justify-content: center;margin-top: 15px">
<el-button type="primary" @click="saveProjectApprovalResult">保存中期评审结果</el-button>
<el-button type="primary" @click="publishProjectApprovalResult">公布中期评审结果</el-button>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="项目验收">
<el-tab-pane label="项目验收" name="fifth" v-if="thirdReview ==='中期评审完成'">
<Acceptance />
</el-tab-pane>
</el-tabs>
......@@ -475,6 +611,7 @@
>
返回
</el-button>
<el-backtop target=".page-component__scroll .el-scrollbar__wrap"></el-backtop>
</div>
</div>
</template>
......@@ -495,6 +632,8 @@ export default {
data() {
return {
active: 0,
// 标签页顺序
activeName: 'first',
// 通过不通过
selectedValue: '1',
// 初审
......@@ -503,8 +642,9 @@ export default {
secondReview: '中期评审完成',
// 验收
thirdReview: '验收完成',
// (初审到中期审核)按钮显示状态
buttonSwitch: '',
buttonSwitch2: '',
dialogAddExpert: false,
// 显示搜索条件
showSearch: true,
......@@ -626,33 +766,78 @@ export default {
workUnit: '某科技公司人工智能研究院',
researchExpertise: '自然语言处理与数据挖掘'
}
],
// 立项评审结果-评审专家列表
listOfReviewers: [
{
nameOfTheExpert: '张3',
expertSMobilePhoneNumber: '13688888888',
jobTitle: '教授',
office: '123',
unit: '123',
researchInterests: '12',
email: '123@qq.com'
},
{
nameOfTheExpert: '张3',
expertSMobilePhoneNumber: '13688888888',
jobTitle: '教授',
office: '123',
unit: '123',
researchInterests: '12',
email: '123@qq.com'
}
],
// 立项评审结果-专家评审结果
listOfReviewExperts: [
{
nameOfTheExpert: '张3',
expertSMobilePhoneNumber: '13688888888',
score: 90,
comments: '建议立为重点课题',
guidanceSpecialists: '是',
annex: ''
},
{
nameOfTheExpert: 'asdf22223',
expertSMobilePhoneNumber: '18882459532',
score: 80,
comments: '建议立为一般课题',
guidanceSpecialists: '是',
annex: ''
}
]
}
},
created() {
// 申请材料
if (this.$route.query.state === '申请信息') {
this.state = 0
this.active = 0
this.activeName = 'first'
}
// 初审两步骤
if (this.$route.query.state === '立项审批中') {
this.state = 1
this.active = 2
this.activeName = 'second'
}
if (this.$route.query.state === '立项审核结果') {
this.state = 1
this.active = 2
this.activeName = 'third'
}
// 中期申请
if (this.$route.query.state === '中期申请中') {
this.state = 1
this.active = 2
this.activeName = 'fourth'
}
},
methods: {
goBack() {
this.$router.go(-1)
},
/** 通过*/
Approve() {
this.Success()
this.firstReview = '立项审批中(立项评审专家指定中)'
this.active = 1
},
/** 驳回*/
Reject() {
this.Success()
},
/** 通过项目中期*/
Approve1() {
this.Success()
this.secondReview = '中期评审中'
this.active = 2
},
/** 驳回项目中期*/
Reject1() {
this.Success()
},
/** 操作成功*/
Success() {
this.$alert(
......@@ -746,11 +931,23 @@ export default {
})
})
},
/** 通过*/
Approve() {
this.Success()
this.firstReview = '立项审批中(立项评审专家指定中)'
this.activeName = 'second'
this.active = 1
},
/** 驳回*/
Reject() {
this.Success()
},
/** 提交给专家*/
submitToExperts() {
this.Success()
this.firstReview = '立项审批中(专家立项评审中)'
this.buttonSwitch = '保存立项审批结果'
this.activeName = 'third'
this.active = 1
},
/** 保存立项评审结果*/
......@@ -769,10 +966,23 @@ export default {
/** 开始中期评审*/
startMidTermReview() {
this.Success()
this.activeName = 'fourth'
this.firstReview = '立项评审完成'
this.secondReview = '中期申请中'
this.buttonSwitch2 = '中期申请完成'
this.active = 2
},
/** 通过项目中期*/
passMidtermApplication() {
this.Success()
this.buttonSwitch2 = '中期评审中'
this.secondReview = '中期评审中'
this.active = 2
},
/** 驳回项目中期*/
rejectMidtermApplication() {
this.Success()
},
/** 勾选专家列表数据*/
selectionChange(val) {
this.selectExpertIds = val.map(item => item.id)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment