Commit 4fea5d5a authored by 冷玲鹏's avatar 冷玲鹏

课程管理-页面修改

parent fa0a0d9e
...@@ -186,113 +186,113 @@ export default { ...@@ -186,113 +186,113 @@ export default {
courseInfoList: [ courseInfoList: [
{ {
id: 1, id: 1,
courseId: '2024YB01033', courseId: '2024CS0101',
courseName: 'text123456190528', courseName: '大数据分析',
applicationType: '一般课题', applicationType: '一般课题',
responsiblePersonName: '于力', responsiblePersonName: '张三',
phoneNumber: '15821163326', phoneNumber: '15821163326',
createTime: '2024-05-28 14:21', createTime: '2024-05-28 14:21',
stage: '结项', stage: '申报',
status: '验收完成' status: '立项'
}, },
{ {
id: 2, id: 2,
courseId: '2024YB01031', courseId: '2024CS0102',
courseName: '阿斯布洛', courseName: '人工智能算法',
applicationType: '一般课题', applicationType: '一般课题',
responsiblePersonName: '于力', responsiblePersonName: '于力',
phoneNumber: '15821163326', phoneNumber: '15821163326',
createTime: '2024-05-23 09:52', createTime: '2024-05-23 09:52',
stage: '立项', stage: '申报',
status: '申报完成' status: '立项审批中'
}, },
{ {
id: 3, id: 3,
courseId: '2024ZD01029', courseId: '2024CS0103',
courseName: '测试190523', courseName: '机器学习应用',
applicationType: '重点课题', applicationType: '重点课题',
responsiblePersonName: '于力', responsiblePersonName: '于力',
phoneNumber: '15821163326', phoneNumber: '15821163326',
createTime: '2024-05-23 09:37', createTime: '2024-05-23 09:37',
stage: '立项', stage: '申报',
status: '项目申报中' status: '立项评审结果'
}, },
{ {
id: 4, id: 4,
courseId: '2024YB01026', courseId: '2024CS0201',
courseName: 'asdfasdffest190508', courseName: '计算机视觉',
applicationType: '一般课题', applicationType: '一般课题',
responsiblePersonName: '于力', responsiblePersonName: '于力',
phoneNumber: '15821163326', phoneNumber: '15821163326',
createTime: '2024-05-08 09:56', createTime: '2024-05-08 09:56',
stage: '结项', stage: '中期',
status: '立项评审中' status: '中期申请'
}, },
{ {
id: 5, id: 5,
courseId: '2024YB01026', courseId: '2024CS0202',
courseName: '190507测试', courseName: '网络安全防护',
applicationType: '一般课题', applicationType: '重点课题',
responsiblePersonName: '于力', responsiblePersonName: '于力',
phoneNumber: '15821163326', phoneNumber: '15821163326',
createTime: '2024-05-07 17:38', createTime: '2024-05-07 17:38',
stage: '验收', stage: '中期',
status: '验收申请中' status: '中期评审'
}, },
{ {
id: 6, id: 6,
courseId: '2024YB01033', courseId: '2024CS0203',
courseName: 'text123456190528', courseName: '云计算架构',
applicationType: '一般课题', applicationType: '一般课题',
responsiblePersonName: '于力', responsiblePersonName: '于力',
phoneNumber: '15821163326', phoneNumber: '15821163326',
createTime: '2024-05-28 14:21', createTime: '2024-05-28 14:21',
stage: '结项', stage: '中期',
status: '验收完成' status: '评审完成'
}, },
{ {
id: 7, id: 7,
courseId: '2024YB01033', courseId: '2024CS0301',
courseName: 'text123456190528', courseName: '智能语音识别',
applicationType: '一般课题', applicationType: '重点课题',
responsiblePersonName: '于力', responsiblePersonName: '于力',
phoneNumber: '15821163326', phoneNumber: '15821163326',
createTime: '2024-05-28 14:21', createTime: '2024-05-28 14:21',
stage: '结项', stage: '验收',
status: '验收完成' status: '验收申请'
}, },
{ {
id: 8, id: 8,
courseId: '2024YB01033', courseId: '2024CS0302',
courseName: 'text123456190528', courseName: '图像处理技术',
applicationType: '一般课题', applicationType: '重点课题',
responsiblePersonName: '于力', responsiblePersonName: '于力',
phoneNumber: '15821163326', phoneNumber: '15821163326',
createTime: '2024-05-28 14:21', createTime: '2024-05-28 14:21',
stage: '结项', stage: '验收',
status: '验收完成' status: '验收评审'
}, },
{ {
id: 9, id: 9,
courseId: '2024YB01033', courseId: '2024CS0303',
courseName: 'text123456190528', courseName: '图像处理技术',
applicationType: '一般课题', applicationType: '一般课题',
responsiblePersonName: '于力', responsiblePersonName: '于力',
phoneNumber: '15821163326', phoneNumber: '15821163326',
createTime: '2024-05-28 14:21', createTime: '2024-05-28 14:21',
stage: '结项', stage: '验收',
status: '验收完成' status: '验收完成'
}, },
{ {
id: 10, id: 10,
courseId: '2024YB01033', courseId: '2024CS0401',
courseName: 'text123456190528', courseName: '图像处理技术',
applicationType: '一般课题', applicationType: '一般课题',
responsiblePersonName: '于力', responsiblePersonName: '于力',
phoneNumber: '15821163326', phoneNumber: '15821163326',
createTime: '2024-05-28 14:21', createTime: '2024-05-28 14:21',
stage: '结项', stage: '结项',
status: '验收完成' status: '结项完成'
} }
], ],
// 课题类型 // 课题类型
...@@ -396,7 +396,9 @@ export default { ...@@ -396,7 +396,9 @@ export default {
/** 阶段标签颜色操作 */ /** 阶段标签颜色操作 */
getTagColor(stage) { getTagColor(stage) {
switch (stage) { switch (stage) {
case '立项': case '申报':
return 'info'
case '中期':
return '' return ''
case '验收': case '验收':
return 'warning' return 'warning'
......
<template> <template>
<div> <div>
<div style="margin-left: 15px"> <div style="margin-left: 15px">
<el-button type="primary">返回</el-button> <el-button
class="back-button"
icon="el-icon-arrow-left"
type="primary"
@click="goBack"
>
返回
</el-button>
</div> </div>
<div style="display: flex;width: 100%"> <div style="display: flex;width: 100%">
<div style="width: 49%;margin: 15px 15px"> <div style="width: 49%;margin: 15px 15px">
...@@ -188,6 +195,9 @@ export default { ...@@ -188,6 +195,9 @@ export default {
}, },
methods: { methods: {
goBack() {
this.$router.go(-1)
},
/** 绘制饼图*/ /** 绘制饼图*/
pieDate() { pieDate() {
for (let i = 0; i < this.pieData.length; i++) { for (let i = 0; i < this.pieData.length; i++) {
......
...@@ -261,10 +261,10 @@ ...@@ -261,10 +261,10 @@
<el-link type="primary">下载结课报告</el-link> <el-link type="primary">下载结课报告</el-link>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<div style="margin: 10px; text-align: center;"> <!-- <div style="margin: 10px; text-align: center;">
<el-button v-if="showBtn" type="primary" @click="saveAcceptanceApplication">驳回验收申请</el-button> <el-button v-if="showBtn" type="primary" @click="saveAcceptanceApplication">驳回验收申请</el-button>
<el-button v-if="showBtn" type="primary" @click="submitAcceptanceApplication">通过验收申请</el-button> <el-button v-if="showBtn" type="primary" @click="submitAcceptanceApplication">通过验收申请</el-button>
</div> </div>-->
</el-form> </el-form>
</div> </div>
......
...@@ -32,117 +32,6 @@ ...@@ -32,117 +32,6 @@
<el-descriptions-item span="2" label="手机号">13812345678</el-descriptions-item> <el-descriptions-item span="2" label="手机号">13812345678</el-descriptions-item>
<el-descriptions-item span="2" label="E-mail">liming@university.edu</el-descriptions-item> <el-descriptions-item span="2" label="E-mail">liming@university.edu</el-descriptions-item>
</el-descriptions> </el-descriptions>
<!-- <div style="display: flex;width: 100%;justify-content: center;margin-top: 15px">
<p style="margin: 10px 0;font-size: 18px">课题名称及申请人基本情况</p>
</div>
<el-form ref="ruleForm" :model="ruleForm">
<el-row>
<el-form-item label="课题号" label-width="95px">
<el-input v-model="ruleForm.topicNumber" disabled style="width: 100%"/>
</el-form-item>
<el-form-item label="课题名称" label-width="95px">
<el-input v-model="ruleForm.name" style="width: 100%"/>
</el-form-item>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="申报类型" label-width="95px">
<el-select v-model="ruleForm" placeholder="请选择类型" style="width: 100%">
<el-option label="一般课题" value="general"/>
<el-option label="重点课题" value="key"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="申请人身份" label-width="95px">
<el-select v-model="ruleForm.identity" placeholder="请选择身份" style="width: 100%">
<el-option label="计算机科学教授" value="computer_science_professor"/>
<el-option label="工程学教授" value="engineering_professor"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="填表日期" label-width="95px">
<el-date-picker v-model="ruleForm.date" type="date" placeholder="选择日期" style="width: 100%"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="负责人姓名" label-width="95px">
<el-input v-model="ruleForm.topicNumber" disabled style="width: 100%"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="研究专长" label-width="95px">
<el-input v-model="ruleForm.topicNumber" disabled style="width: 100%"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="性别" label-width="95px">
<el-select v-model="ruleForm.identity" placeholder="请选择性别" style="width: 100%">
<el-option label="男" value="computer_science_professor"/>
<el-option label="女" value="engineering_professor"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="党政职务" label-width="95px">
<el-input v-model="ruleForm.topicNumber" disabled style="width: 100%"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="专业技术职务" label-width="95px">
<el-input v-model="ruleForm.topicNumber" disabled style="width: 100%"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="年龄" label-width="95px">
<el-input v-model="ruleForm.topicNumber" disabled style="width: 100%"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="最后学历" label-width="95px">
<el-input v-model="ruleForm.topicNumber" disabled style="width: 100%"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="最后学位" label-width="95px">
<el-input v-model="ruleForm.name" disabled style="width:100%"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="单位" label-width="95px">
<el-input v-model="ruleForm.topicNumber" disabled style="width:100%"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="学院/部门" label-width="95px">
<el-input v-model="ruleForm.name" disabled style="width:100%"/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="手机号" label-width="95px">
<el-input v-model="ruleForm.topicNumber" disabled style="width:100%"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="E-mail" label-width="95px">
<el-input v-model="ruleForm.name" disabled style="width:100%"/>
</el-form-item>
</el-col>
</el-row>
</el-form>-->
<div style="display: flex;width: 100%;justify-content: center;margin-top: 15px"> <div style="display: flex;width: 100%;justify-content: center;margin-top: 15px">
<p style="margin: 10px 0;font-size: 18px">申请人与本人课题有关的近期研究成果</p> <p style="margin: 10px 0;font-size: 18px">申请人与本人课题有关的近期研究成果</p>
<span style="color: #409eff; font-size: 18px;margin: 10px 0 0 10px"> <span style="color: #409eff; font-size: 18px;margin: 10px 0 0 10px">
...@@ -247,28 +136,386 @@ ...@@ -247,28 +136,386 @@
<div style="display: flex;width: 100%;justify-content: center;margin-top: 15px"> <div style="display: flex;width: 100%;justify-content: center;margin-top: 15px">
<p style="margin: 10px 0;font-size: 18px">大学生发展研究院意见(立项初审)</p> <p style="margin: 10px 0;font-size: 18px">大学生发展研究院意见(立项初审)</p>
</div> </div>
<div style="display: flex; justify-content: center; margin-top: -15px"> <div style="display: flex; justify-content: center; margin-top: -15px">
<el-input <el-input
style="padding: 15px" style="padding: 15px"
type="textarea" type="textarea"
:rows="6" :rows="6"
placeholder="" placeholder=""
/> />
</div>
<div style="display: flex;width: 100%;justify-content: center;margin-top: 15px">
<p style="margin: 10px 0;font-size: 18px">大学生发展研究院意见(立项评审)</p>
</div>
<el-descriptions title="" :column="4">
<el-descriptions-item span="4" label="申报书" :content-style="{'text-align': 'center'}">
<el-link type="primary">下载申报书</el-link>
</el-descriptions-item>
</el-descriptions>
<div style="display: flex;justify-content: center">
<el-button type="primary" style="margin-top: 20px" @click="Approve">通过</el-button>
<el-button type="primary" style="margin-top: 20px" @click="Reject">驳回</el-button>
</div>
</el-tab-pane>
<el-tab-pane v-if="firstReview ==='立项审批中(立项评审专家指定中)'" label="专家列表" name="second">
<div style="display: flex;width: 100%;justify-content: center;margin-top: 15px">
<p style="margin: 10px 0;font-size: 18px">立项评审专家列表</p>
</div>
<el-table
ref="approvalTable"
:data="ProjectApprovalExpertList"
style="width: 100%"
@selection-change="selectionChange"
>
<el-table-column type="selection" width="55" />
<el-table-column
min-width="120"
label="手机号 "
prop="mobilePhone"
align="center"
:show-overflow-tooltip="true"
/>
<el-table-column
min-width="120"
label="姓名 "
prop="expertName"
align="center"
:show-overflow-tooltip="true"
/>
<el-table-column
min-width="120"
label="职称 "
prop="professionalTitle"
align="center"
:show-overflow-tooltip="true"
/>
<el-table-column
min-width="120"
label="职务 "
prop="jobPosition"
align="center"
:show-overflow-tooltip="true"
/>
<el-table-column
min-width="120"
label="单位 "
prop="workUnit"
align="center"
:show-overflow-tooltip="true"
/>
<el-table-column
min-width="120"
label="研究方向 "
prop="researchDirection"
align="center"
:show-overflow-tooltip="true"
/>
<el-table-column
min-width="120"
label="邮箱 "
prop="emailAddress"
align="center"
:show-overflow-tooltip="true"
/>
<el-table-column min-width="120" align="center">
<template slot="header">
<el-button icon="el-icon-plus" size="mini" @click="addExpert" />
<el-button icon="el-icon-delete" size="mini" @click="batchDeleteExperts" />
</template>
<template slot-scope="scope">
<el-button
icon="el-icon-delete"
size="mini"
@click="removeExpert(scope.$index, scope.row)"
/>
</template>
</el-table-column>
</el-table>
<div style="display: flex;justify-content: center;margin-top: 15px">
<el-button type="primary" @click="submitToExperts">提交给专家</el-button>
</div>
<el-dialog width="900px" title="选择专家" :visible.sync="dialogAddExpert">
<el-form
v-show="showSearch"
ref="queryForm"
:model="queryParams"
:inline="true"
>
<el-form-item label="关键字" prop="words">
<el-input
v-model="queryParams.words"
placeholder="课题号,课题名称,申请人,手机号"
clearable
size="small"
style="width: 390px"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleQuery">查询</el-button>
</el-form-item>
</el-form>
<el-table
ref="approvalTable"
:data="approvalExpertList"
height="280px"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" prop="id" width="40" />
<el-table-column
min-width="126"
label="手机号 "
prop="mobilePhone"
align="center"
:show-overflow-tooltip="true"
/>
<el-table-column
min-width="80"
label="姓名 "
prop="expertName"
align="center"
:show-overflow-tooltip="true"
/>
<el-table-column
min-width="80"
label="职称 "
prop="professionalTitle"
align="center"
:show-overflow-tooltip="true"
/>
<el-table-column
min-width="120"
label="职务 "
prop="jobPosition"
align="center"
:show-overflow-tooltip="true"
/>
<el-table-column
min-width="120"
label="单位 "
prop="workUnit"
align="center"
:show-overflow-tooltip="true"
/>
<el-table-column
min-width="120"
label="研究方向 "
prop="researchDirection"
align="center"
:show-overflow-tooltip="true"
/>
<el-table-column
min-width="120"
label="邮箱 "
prop="emailAddress"
align="center"
:show-overflow-tooltip="true"
/>
</el-table>
<div style="display: flex;justify-content: right;margin-top: 15px">
<el-button style="background-color: green;color: white" @click="addExpertTo()">确 认</el-button>
<el-button style="background-color: #DDDDDD;color: #4E5052" @click="cancel">取 消</el-button>
</div>
</el-dialog>
</el-tab-pane>
<el-tab-pane v-if="firstReview ==='立项审批中(专家立项评审中)'|| firstReview ==='专家立项评审完成'|| firstReview ==='立项评审完成'" label="立项评审结果" name="third">
<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>
<el-descriptions column="4">
<el-descriptions-item span="4" label="评审结果">
<el-select v-model="selectedValue" style="width: 100%">
<el-option label="通过" value="0" />
<el-option label="不通过" value="1" />
</el-select>
</el-descriptions-item>
</el-descriptions>
</div>
<div v-if="buttonSwitch === '保存立项审批结果'">
<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>
<div v-if="buttonSwitch === '开始中期评审'">
<div style="display: flex;justify-content: center;margin-top: 15px">
<el-button type="primary" @click="startMidTermReview">开始中期评审</el-button>
<el-button type="primary" @click="startProjectAcceptance">开始验收</el-button>
</div>
</div>
</el-tab-pane>
<el-tab-pane v-if="secondReview ==='中期申请中'|| secondReview ==='中期评审中'||secondReview === '中期评审完成'" label="项目中期" name="fourth">
<MidProject @download="console.log('下载成功')" />
<div v-if="secondReview === '中期申请完成'|| secondReview ==='中期评审中'||secondReview === '中期评审完成'">
<div style="display: flex;width: 100%;justify-content: center;margin-top: 15px">
<p style="margin: 10px 0;font-size: 18px">管理员评审结果</p>
</div>
<el-descriptions column="4">
<el-descriptions-item span="4" label="评审结果">
<el-select v-model="selectedValue" style="width: 100%">
<el-option label="通过" value="0" />
<el-option label="不通过" value="1" />
</el-select>
</el-descriptions-item>
</el-descriptions>
</div>
<div v-if="buttonSwitch === '中期申请完成'">
<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="buttonSwitch === '中期评审中'">
<div style="display: flex;justify-content: center;margin-top: 15px">
<el-button type="primary" @click="saveMidtermResult">保存中期评审结果</el-button>
<el-button type="primary" @click="publishMidtermResult">公布中期评审结果</el-button>
</div>
</div>
<div v-if="buttonSwitch === '开始验收'">
<div style="display: flex;justify-content: center;margin-top: 15px">
<el-button type="primary" @click="startAcceptance ">开始验收</el-button>
</div>
</div> </div>
<div style="display: flex;width: 100%;justify-content: center;margin-top: 15px"> </el-tab-pane>
<p style="margin: 10px 0;font-size: 18px">大学生发展研究院意见(立项评审)</p> <el-tab-pane v-if="thirdReview ==='验收申请中'" label="项目验收" name="fifth">
<Acceptance />
<div v-if="buttonSwitch === '开始验收'">
<div style="display: flex;justify-content: center;margin-top: 15px">
<el-button type="primary" @click="saveAcceptanceApplication">驳回验收申请</el-button>
<el-button type="primary" @click="submitAcceptanceApplication">通过验收申请</el-button>
</div> </div>
<el-descriptions title="" :column="4">
<el-descriptions-item span="4" label="申报书" :content-style="{'text-align': 'center'}">
<el-link type="primary">下载申报书</el-link>
</el-descriptions-item>
</el-descriptions>
<div style="display: flex;justify-content: center">
<el-button type="primary" style="margin-top: 20px" @click="Approve">通过</el-button>
<el-button type="primary" style="margin-top: 20px" @click="Reject">驳回</el-button>
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane v-if="firstReview ==='立项审批中(立项评审专家指定中)'" label="专家列表" name="second"> <el-tab-pane v-if="thirdReview ==='验收评审中(验收专家指定中)'" label="验收专家列表" name="sixth">
<div style="display: flex;width: 100%;justify-content: center;margin-top: 15px"> <div style="display: flex;width: 100%;justify-content: center;margin-top: 15px">
<p style="margin: 10px 0;font-size: 18px">立项评审专家列表</p> <p style="margin: 10px 0;font-size: 18px">立项评审专家列表</p>
</div> </div>
...@@ -343,7 +590,8 @@ ...@@ -343,7 +590,8 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<div style="display: flex;justify-content: center;margin-top: 15px"> <div style="display: flex;justify-content: center;margin-top: 15px">
<el-button type="primary" @click="submitToExperts">提交给专家</el-button> <el-button type="primary" @click="exemptFromReview">免审</el-button>
<el-button type="primary" @click="acceptanceSubmitToExperts">提交给专家</el-button>
</div> </div>
<el-dialog width="900px" title="选择专家" :visible.sync="dialogAddExpert"> <el-dialog width="900px" title="选择专家" :visible.sync="dialogAddExpert">
<el-form <el-form
...@@ -428,7 +676,7 @@ ...@@ -428,7 +676,7 @@
</div> </div>
</el-dialog> </el-dialog>
</el-tab-pane> </el-tab-pane>
<el-tab-pane v-if="firstReview ==='立项审批中(专家立项评审中)'|| firstReview ==='专家立项评审完成'|| firstReview ==='立项评审完成'" label="立项评审结果" name="third"> <el-tab-pane v-if="thirdReview ==='验收评审中(验收免审)'|| thirdReview ==='验收完成'" label="验收评审结果" name="seventh">
<div> <div>
<div class="review-content"> <div class="review-content">
<div style="text-align: center; margin: 20px 0; font-size: 24px; color: #000000"> <div style="text-align: center; margin: 20px 0; font-size: 24px; color: #000000">
...@@ -558,71 +806,25 @@ ...@@ -558,71 +806,25 @@
</el-table> </el-table>
</div> </div>
</div> </div>
<div v-if="firstReview === '专家立项评审完成'|| firstReview ==='立项评审完成'"> <div v-if="thirdReview === '验收评审中(验收免审)'|| thirdReview ==='验收完成'">
<div style="display: flex;width: 100%;justify-content: center;margin-top: 15px">
<p style="margin: 10px 0;font-size: 18px">管理员评审结果</p>
</div>
<el-descriptions column="4">
<el-descriptions-item span="4" label="评审结果">
<el-select v-model="selectedValue" style="width: 100%">
<el-option label="通过" value="1" />
<el-option label="不通过" value="0" />
</el-select>
</el-descriptions-item>
</el-descriptions>
</div>
<div v-if="buttonSwitch === '保存立项审批结果'">
<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>
<div v-if="buttonSwitch === '开始中期评审'">
<div style="display: flex;justify-content: center;margin-top: 15px">
<el-button type="primary" @click="startMidTermReview">开始中期评审</el-button>
<el-button type="primary" @click="startAcceptance">开始验收</el-button>
</div>
</div>
</el-tab-pane>
<el-tab-pane v-if="secondReview ==='中期申请中'|| secondReview ==='中期评审中'||secondReview === '中期评审完成'" label="项目中期" name="fourth">
<MidProject @download="console.log('下载成功')" />
<div v-if="secondReview === '中期申请完成'|| secondReview ==='中期评审中'||secondReview === '中期评审完成'">
<div style="display: flex;width: 100%;justify-content: center;margin-top: 15px"> <div style="display: flex;width: 100%;justify-content: center;margin-top: 15px">
<p style="margin: 10px 0;font-size: 18px">管理员评审结果</p> <p style="margin: 10px 0;font-size: 18px">管理员评审结果</p>
</div> </div>
<el-descriptions column="4"> <el-descriptions column="4">
<el-descriptions-item span="4" label="评审结果"> <el-descriptions-item span="4" label="评审结果">
<el-select v-model="selectedValue" style="width: 100%"> <el-select v-model="selectedValue" style="width: 100%">
<el-option label="通过" value="1" /> <el-option label="优秀" value="0" />
<el-option label="不通过" value="0" /> <el-option label="良好" value="1" />
<el-option label="合格" value="2" />
<el-option label="不合格" value="3" />
</el-select> </el-select>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
</div> </div>
<div v-if="buttonSwitch === '中期申请完成'"> <div>
<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="buttonSwitch === '中期评审中'">
<div style="display: flex;justify-content: center;margin-top: 15px">
<el-button type="primary" @click="saveMidtermResult">保存中期评审结果</el-button>
<el-button type="primary" @click="publishMidtermResult">公布中期评审结果</el-button>
</div>
</div>
<div v-if="buttonSwitch === '开始验收'">
<div style="display: flex;justify-content: center;margin-top: 15px">
<el-button type="primary" @click="startAcceptance ">开始验收</el-button>
</div>
</div>
</el-tab-pane>
<el-tab-pane v-if="thirdReview ==='验收申请中'" label="项目验收" name="fifth">
<Acceptance />
<div v-if="buttonSwitch === '开始验收'">
<div style="display: flex;justify-content: center;margin-top: 15px"> <div style="display: flex;justify-content: center;margin-top: 15px">
<el-button type="primary" @click="saveAcceptanceApplication">驳回验收申请</el-button> <el-button type="primary" @click="saveAcceptanceApprovalResult">保存评审结果</el-button>
<el-button type="primary" @click="submitAcceptanceApplication">通过验收申请</el-button> <el-button type="primary" @click="publishAcceptanceApprovalResult">公布评审结果</el-button>
</div> </div>
</div> </div>
</el-tab-pane> </el-tab-pane>
...@@ -659,11 +861,11 @@ export default { ...@@ -659,11 +861,11 @@ export default {
// 标签页顺序 // 标签页顺序
activeName: 'first', activeName: 'first',
// 通过不通过 // 通过不通过
selectedValue: '1', selectedValue: '0',
// 初审 // 初审
firstReview: '立项评审', firstReview: '申报',
// 中期审核 // 中期审核
secondReview: '中期评审', secondReview: '中期',
// 验收 // 验收
thirdReview: '验收', thirdReview: '验收',
// (初审到中期审核)按钮显示状态 // (初审到中期审核)按钮显示状态
...@@ -874,31 +1076,17 @@ export default { ...@@ -874,31 +1076,17 @@ export default {
}, },
/** 操作成功*/ /** 操作成功*/
Success() { Success() {
this.$alert( this.$message({
'<div style="text-align: center;">' + message: '操作成功',
'<i class="el-icon-success" style="font-size: 60px; color: #4CAF50;"></i>' + type: 'success'
'<div style="font-size: 16px; color: #333; margin-top: 10px;">操作成功</div>' + })
'</div>',
'', {
confirmButtonText: 'OK',
center: true,
dangerouslyUseHTMLString: true
}
)
}, },
/** 公布成功*/ /** 公布成功*/
successTwo() { successTwo() {
this.$alert( this.$message({
'<div style="text-align: center;">' + message: '公布成功',
'<i class="el-icon-success" style="font-size: 60px; color: #4CAF50;"></i>' + type: 'success'
'<div style="font-size: 16px; color: #333; margin-top: 10px;">公布成功</div>' + })
'</div>',
'', {
confirmButtonText: 'OK',
center: true,
dangerouslyUseHTMLString: true
}
)
}, },
/** 添加专家*/ /** 添加专家*/
addExpert() { addExpert() {
...@@ -967,22 +1155,55 @@ export default { ...@@ -967,22 +1155,55 @@ export default {
}, },
/** 通过*/ /** 通过*/
Approve() { Approve() {
this.Success() this.$confirm('确定通过?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.firstReview = '立项审批中(立项评审专家指定中)' this.firstReview = '立项审批中(立项评审专家指定中)'
this.activeName = 'second' this.activeName = 'second'
this.active = 1 this.active = 1
this.$message({
type: 'success',
message: '申报通过!'
})
}).catch(() => {
this.$message({
type: 'info',
message: '取消成功'
})
})
}, },
/** 驳回*/ /** 驳回*/
Reject() { Reject() {
this.Success() this.Success()
}, },
/** 提交给专家*/ /** 立项提交给专家*/
submitToExperts() { submitToExperts() {
this.Success() this.$confirm('确定提交给专家?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
if (this.selectExpertIds.length === 0) {
this.$message.warning('请先选择要提交的专家!')
return
} else {
this.firstReview = '立项审批中(专家立项评审中)' this.firstReview = '立项审批中(专家立项评审中)'
this.buttonSwitch = '保存立项审批结果' this.buttonSwitch = '保存立项审批结果'
this.activeName = 'third' this.activeName = 'third'
this.active = 1 this.active = 1
this.$message({
type: 'success',
message: '提交给专家成功!'
})
}
}).catch(() => {
this.$message({
type: 'info',
message: '取消成功'
})
})
}, },
/** 保存立项评审结果*/ /** 保存立项评审结果*/
saveProjectApprovalResult() { saveProjectApprovalResult() {
...@@ -992,30 +1213,86 @@ export default { ...@@ -992,30 +1213,86 @@ export default {
}, },
/** 公布立项评审结果*/ /** 公布立项评审结果*/
publishProjectApprovalResult() { publishProjectApprovalResult() {
this.successTwo() this.$confirm('确定公布立项评审结果?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.firstReview = '专家立项评审完成' this.firstReview = '专家立项评审完成'
this.buttonSwitch = '开始中期评审' this.buttonSwitch = '开始中期评审'
this.active = 1 this.active = 1
this.$message({
type: 'success',
message: '公布立项评审结果成功!'
})
}).catch(() => {
this.$message({
type: 'info',
message: '取消成功'
})
})
}, },
/** 通过项目中期*/ /** 通过中期申请*/
passMidtermApplication() { passMidtermApplication() {
this.Success() this.$confirm('确定通过中期申请?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.buttonSwitch = '中期评审中' this.buttonSwitch = '中期评审中'
this.secondReview = '中期评审中' this.secondReview = '中期评审中'
this.active = 2 this.active = 2
this.$message({
type: 'success',
message: '通过中期申请成功!'
})
}).catch(() => {
this.$message({
type: 'info',
message: '取消成功'
})
})
}, },
/** 驳回项目中期*/ /** 驳回中期申请*/
rejectMidtermApplication() { rejectMidtermApplication() {
this.Success() this.$confirm('确定驳回中期申请?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$message({
type: 'success',
message: '驳回中期申请成功!'
})
}).catch(() => {
this.$message({
type: 'info',
message: '取消成功'
})
})
}, },
/** 开始中期评审*/ /** 开始中期评审*/
startMidTermReview() { startMidTermReview() {
this.Success() this.$confirm('确定开始中期评审?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.activeName = 'fourth' this.activeName = 'fourth'
this.firstReview = '立项评审完成' this.firstReview = '立项评审完成'
this.secondReview = '中期申请中' this.secondReview = '中期申请中'
this.buttonSwitch = '中期申请完成' this.buttonSwitch = '中期申请完成'
this.active = 2 this.active = 2
this.$message({
type: 'success',
message: '开始中期评审!'
})
}).catch(() => {
this.$message({
type: 'info',
message: '取消成功'
})
})
}, },
/** 保存中期评审结果*/ /** 保存中期评审结果*/
saveMidtermResult() { saveMidtermResult() {
...@@ -1025,19 +1302,68 @@ export default { ...@@ -1025,19 +1302,68 @@ export default {
}, },
/** 公布中期评审结果*/ /** 公布中期评审结果*/
publishMidtermResult() { publishMidtermResult() {
this.successTwo() this.$confirm('确定公布中期评审结果?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.activeName = 'fourth' this.activeName = 'fourth'
this.secondReview = '中期评审完成' this.secondReview = '中期评审完成'
this.buttonSwitch = '开始验收' this.buttonSwitch = '开始验收'
this.active = 2 this.active = 2
this.$message({
type: 'success',
message: '中期评审结果公布成功!'
})
}).catch(() => {
this.$message({
type: 'info',
message: '取消成功'
})
})
},
/** 立项评审-开始验收*/
startProjectAcceptance() {
this.$confirm('确定跳过中期评审直接验收?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.activeName = 'fifth'
this.thirdReview = '验收申请中'
this.active = 3
this.$message({
type: 'success',
message: '请开始验收!'
})
}).catch(() => {
this.$message({
type: 'info',
message: '取消成功'
})
})
}, },
/** 中期评审-开始验收*/ /** 中期评审-开始验收*/
startAcceptance() { startAcceptance() {
this.Success() this.$confirm('确定开始验收?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.activeName = 'fifth' this.activeName = 'fifth'
this.secondReview = '中期评审完成' this.secondReview = '中期评审完成'
this.thirdReview = '验收申请中' this.thirdReview = '验收申请中'
this.active = 3 this.active = 3
this.$message({
type: 'success',
message: '请开始验收!'
})
}).catch(() => {
this.$message({
type: 'info',
message: '取消成功'
})
})
}, },
/** 驳回验收申请*/ /** 驳回验收申请*/
saveAcceptanceApplication() { saveAcceptanceApplication() {
...@@ -1049,11 +1375,97 @@ export default { ...@@ -1049,11 +1375,97 @@ export default {
}, },
/** 通过验收申请*/ /** 通过验收申请*/
submitAcceptanceApplication() { submitAcceptanceApplication() {
this.$confirm('确定通过验收申请?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.activeName = 'sixth'
this.thirdReview = '验收评审中(验收专家指定中)'
this.ProjectApprovalExpertList = []
this.active = 3
this.$message({
type: 'success',
message: '验收申请已经通过!'
})
}).catch(() => {
this.$message({
type: 'info',
message: '取消成功'
})
})
},
/** 验收提交给专家*/
acceptanceSubmitToExperts() {
this.$confirm('确定提交给专家?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.thirdReview = '验收评审中(验收免审)'
this.activeName = 'seventh'
this.active = 3
this.$message({
type: 'success',
message: '提交给专家成功!'
})
}).catch(() => {
this.$message({
type: 'info',
message: '取消成功'
})
})
},
/** 免审*/
exemptFromReview() {
this.$confirm('确定免审?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.thirdReview = '验收评审中(验收免审)'
this.activeName = 'seventh'
this.listOfReviewers = []
this.listOfReviewExperts = []
this.active = 3
this.$message({
type: 'success',
message: '已免审!'
})
}).catch(() => {
this.$message({
type: 'info',
message: '取消成功'
})
})
},
/** 保存验收-免审评审结果*/
saveAcceptanceApprovalResult() {
this.Success() this.Success()
this.activeName = 'fifth' this.thirdReview = '验收完成'
this.secondReview = '中期评审完成' this.activeName = 'seventh'
this.thirdReview = '验收申请中' this.active = 3
},
/** 公布验收-免审评审结果*/
publishAcceptanceApprovalResult() {
this.$confirm('确定公布验收结果?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.thirdReview = '验收完成'
this.activeName = 'seventh'
this.active = 3 this.active = 3
this.$message({
type: 'success',
message: '验收结果公布成功!'
})
}).catch(() => {
this.$message({
type: 'info',
message: '取消成功'
})
})
}, },
/** 勾选专家列表数据*/ /** 勾选专家列表数据*/
selectionChange(val) { selectionChange(val) {
......
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