|
@@ -26,10 +26,24 @@
|
|
|
<el-table-column v-if="multipleMode" align="center" type="selection" width="50"> </el-table-column>
|
|
<el-table-column v-if="multipleMode" align="center" type="selection" width="50"> </el-table-column>
|
|
|
<!-- <el-table-column prop="id" label="ID" width="100"> </el-table-column> -->
|
|
<!-- <el-table-column prop="id" label="ID" width="100"> </el-table-column> -->
|
|
|
<el-table-column prop="organizer" label="承办单位"> </el-table-column>
|
|
<el-table-column prop="organizer" label="承办单位"> </el-table-column>
|
|
|
- <el-table-column prop="createdAt" label="申请时间"></el-table-column>
|
|
|
|
|
- <el-table-column prop="year" label="年度"> </el-table-column>
|
|
|
|
|
- <el-table-column prop="status" label="状态" :formatter="statusFormatter"> </el-table-column>
|
|
|
|
|
- <el-table-column label="操作" align="right" fixed="right" min-width="150">
|
|
|
|
|
|
|
+ <el-table-column prop="createdAt" label="申请时间" min-width="100"></el-table-column>
|
|
|
|
|
+ <el-table-column prop="year" label="年度" min-width="60"> </el-table-column>
|
|
|
|
|
+ <el-table-column prop="status" label="状态" :formatter="statusFormatter" min-width="100"> </el-table-column>
|
|
|
|
|
+ <el-table-column prop="score" label="分数">
|
|
|
|
|
+ <template slot-scope="{ row }">
|
|
|
|
|
+ <span v-if="row.score">{{ row.score }}</span>
|
|
|
|
|
+ <span v-else>审核中</span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column prop="grade" label="等级">
|
|
|
|
|
+ <template slot-scope="{ row }">
|
|
|
|
|
+ <span v-if="row.grade == 'EXCELLENT'"><el-tag type="success">优秀</el-tag></span>
|
|
|
|
|
+ <span v-else-if="row.grade == 'ELIGIBLE'"><el-tag type="success">合格</el-tag></span>
|
|
|
|
|
+ <span v-else-if="row.grade == 'NOT_ELIGIBLE'"><el-tag type="success">不合格</el-tag></span>
|
|
|
|
|
+ <span v-else><el-tag type="info">审核中</el-tag></span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column label="操作" align="right" fixed="right" min-width="200">
|
|
|
<template slot-scope="{ row }">
|
|
<template slot-scope="{ row }">
|
|
|
<el-button
|
|
<el-button
|
|
|
v-if="row.status === 'FIRST_REVIEW_PENDING'"
|
|
v-if="row.status === 'FIRST_REVIEW_PENDING'"
|
|
@@ -51,10 +65,7 @@
|
|
|
>
|
|
>
|
|
|
驳回
|
|
驳回
|
|
|
</el-button>
|
|
</el-button>
|
|
|
- <el-button @click="sorce(row)" type="primary" size="mini" plain v-if="row.status === 'EXPERT_PASS'"
|
|
|
|
|
- >查看分数</el-button
|
|
|
|
|
- >
|
|
|
|
|
- <el-button v-if="row.status === 'SUBMIT_GRADE'" @click="dialogScore = true" type="warning" plain
|
|
|
|
|
|
|
+ <el-button v-if="row.status === 'SUBMIT_GRADE'" @click="openScore(row)" type="warning" plain
|
|
|
>填写分数</el-button
|
|
>填写分数</el-button
|
|
|
>
|
|
>
|
|
|
<el-button
|
|
<el-button
|
|
@@ -65,14 +76,6 @@
|
|
|
v-if="(row.status === 'ASSIGN_EXPERT') & display"
|
|
v-if="(row.status === 'ASSIGN_EXPERT') & display"
|
|
|
>分配专家组</el-button
|
|
>分配专家组</el-button
|
|
|
>
|
|
>
|
|
|
- <!-- <el-button
|
|
|
|
|
- @click="supervision(row.id)"
|
|
|
|
|
- type="success"
|
|
|
|
|
- size="mini"
|
|
|
|
|
- plain
|
|
|
|
|
- v-if="(row.status === 'SUBMIT_GRADE' || row.status === 'REVIEW_PENDING') & display"
|
|
|
|
|
- >查看专家组</el-button
|
|
|
|
|
- > -->
|
|
|
|
|
<el-button @click="editRow(row)" type="primary" size="mini" plain>查看附件</el-button>
|
|
<el-button @click="editRow(row)" type="primary" size="mini" plain>查看附件</el-button>
|
|
|
<!-- <el-button @click="deleteRow(row)" type="danger" size="mini" plain>删除</el-button> -->
|
|
<!-- <el-button @click="deleteRow(row)" type="danger" size="mini" plain>删除</el-button> -->
|
|
|
</template>
|
|
</template>
|
|
@@ -114,21 +117,31 @@
|
|
|
</div>
|
|
</div>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
<el-dialog title="填写分数等级" :visible.sync="dialogScore" width="400px" center>
|
|
<el-dialog title="填写分数等级" :visible.sync="dialogScore" width="400px" center>
|
|
|
- <div style="margin-bottom: 10px">
|
|
|
|
|
- <label style="margin: 0 10px 0 30px">总分</label><el-input style="width: 220px;"></el-input>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div style="margin-bottom: 10px">
|
|
|
|
|
- <label style="margin: 0 10px 0 30px">等级</label>
|
|
|
|
|
- <el-select style="width: 220px" v-model="grade" placeholder="请选择的等级">
|
|
|
|
|
- <el-option
|
|
|
|
|
- v-for="item in gradeOptions"
|
|
|
|
|
- :key="item.value"
|
|
|
|
|
- :label="item.label"
|
|
|
|
|
- :value="item.value"
|
|
|
|
|
- ></el-option>
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div style="margin-left: 230px"><el-button type="primary">提交</el-button></div>
|
|
|
|
|
|
|
+ <el-form :model="scoreInfo" style="width: 400px;" label-width="70px">
|
|
|
|
|
+ <el-form-item
|
|
|
|
|
+ label="总分"
|
|
|
|
|
+ prop="score"
|
|
|
|
|
+ :rules="{ required: true, message: '请输入分数', trigger: 'blur' }"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-input-number type="number" v-model="scoreInfo.score" placeholder="分数" style="width: 220px;">
|
|
|
|
|
+ </el-input-number>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item
|
|
|
|
|
+ label="等级"
|
|
|
|
|
+ prop="grade"
|
|
|
|
|
+ :rules="{ required: true, message: '请输入等级', trigger: 'blur' }"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-select style="width: 220px" v-model="scoreInfo.grade" placeholder="请选择的等级">
|
|
|
|
|
+ <el-option
|
|
|
|
|
+ v-for="item in gradeOptions"
|
|
|
|
|
+ :key="item.value"
|
|
|
|
|
+ :label="item.label"
|
|
|
|
|
+ :value="item.value"
|
|
|
|
|
+ ></el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item><el-button type="primary" size="mini" @click="saveScore()">提交</el-button></el-form-item>
|
|
|
|
|
+ </el-form>
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
@@ -148,10 +161,10 @@ export default {
|
|
|
statusOptions: [
|
|
statusOptions: [
|
|
|
{ label: '等待初审', value: 'FIRST_REVIEW_PENDING' },
|
|
{ label: '等待初审', value: 'FIRST_REVIEW_PENDING' },
|
|
|
{ label: '待分配专家组', value: 'ASSIGN_EXPERT' },
|
|
{ label: '待分配专家组', value: 'ASSIGN_EXPERT' },
|
|
|
- { label: '待复审', value: 'REVIEW_PENDING' },
|
|
|
|
|
|
|
+ { label: '待专家组考察', value: 'REVIEW_PENDING' },
|
|
|
{ label: '初审驳回', value: 'FIRST_REVIEW_DENY' },
|
|
{ label: '初审驳回', value: 'FIRST_REVIEW_DENY' },
|
|
|
- { label: '待提交成绩', value: 'SUBMIT_GRADE' },
|
|
|
|
|
- { label: '专家拒绝', value: 'EXPERT_DENY' }
|
|
|
|
|
|
|
+ { label: '最终评审', value: 'SUBMIT_GRADE' },
|
|
|
|
|
+ { label: '待提交纸质材料', value: 'SUBMIT_PAPER_MATERIALS' }
|
|
|
],
|
|
],
|
|
|
supervisor: [],
|
|
supervisor: [],
|
|
|
dialogVisible: false,
|
|
dialogVisible: false,
|
|
@@ -163,7 +176,10 @@ export default {
|
|
|
{ label: '合格', value: 'ELIGIBLE' },
|
|
{ label: '合格', value: 'ELIGIBLE' },
|
|
|
{ label: '不合格', value: 'NOT_ELIGIBLE' }
|
|
{ label: '不合格', value: 'NOT_ELIGIBLE' }
|
|
|
],
|
|
],
|
|
|
- grade: ''
|
|
|
|
|
|
|
+ scoreInfo: {
|
|
|
|
|
+ score: 0,
|
|
|
|
|
+ grade: ''
|
|
|
|
|
+ }
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
created() {
|
|
created() {
|
|
@@ -195,6 +211,13 @@ export default {
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ gradeFormatter(row, column, cellValue, index) {
|
|
|
|
|
+ let selectedOption = this.gradeOptions.find(i => i.value === cellValue);
|
|
|
|
|
+ if (selectedOption) {
|
|
|
|
|
+ return selectedOption.label;
|
|
|
|
|
+ }
|
|
|
|
|
+ return '';
|
|
|
|
|
+ },
|
|
|
statusFormatter(row, column, cellValue, index) {
|
|
statusFormatter(row, column, cellValue, index) {
|
|
|
let selectedOption = this.statusOptions.find(i => i.value === cellValue);
|
|
let selectedOption = this.statusOptions.find(i => i.value === cellValue);
|
|
|
if (selectedOption) {
|
|
if (selectedOption) {
|
|
@@ -357,11 +380,6 @@ export default {
|
|
|
this.$message.error(e.error);
|
|
this.$message.error(e.error);
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
- sorce(row) {
|
|
|
|
|
- this.$alert('专家打出的分数为:' + row.score, '分数', {
|
|
|
|
|
- confirmButtonText: '确定'
|
|
|
|
|
- });
|
|
|
|
|
- },
|
|
|
|
|
getAdmin() {
|
|
getAdmin() {
|
|
|
let data = this.userInfo.authorities;
|
|
let data = this.userInfo.authorities;
|
|
|
data.forEach(element => {
|
|
data.forEach(element => {
|
|
@@ -369,6 +387,31 @@ export default {
|
|
|
this.display = true;
|
|
this.display = true;
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
|
|
+ },
|
|
|
|
|
+ openScore(row) {
|
|
|
|
|
+ this.dialogScore = true;
|
|
|
|
|
+ this.sorceInfo = row;
|
|
|
|
|
+ },
|
|
|
|
|
+ saveScore() {
|
|
|
|
|
+ this.scoreInfo.status = 'SUBMIT_PAPER_MATERIALS';
|
|
|
|
|
+ this.$http
|
|
|
|
|
+ .post(
|
|
|
|
|
+ '/rate/save',
|
|
|
|
|
+ {
|
|
|
|
|
+ ...this.scoreInfo
|
|
|
|
|
+ },
|
|
|
|
|
+ { body: 'json' }
|
|
|
|
|
+ )
|
|
|
|
|
+ .then(res => {
|
|
|
|
|
+ this.$message.success('OK');
|
|
|
|
|
+ this.dialogScore = false;
|
|
|
|
|
+ this.scoreInfo = '';
|
|
|
|
|
+ this.getData();
|
|
|
|
|
+ })
|
|
|
|
|
+ .catch(e => {
|
|
|
|
|
+ console.log(e);
|
|
|
|
|
+ this.$message.error(e.error);
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|