|
@@ -49,6 +49,7 @@
|
|
|
<div style="margin-bottom: 10px; display: flex; justify-content: space-between;">
|
|
|
<Input v-special-char v-model="tmdID" search @on-search="searchTmd()" placeholder="搜索醍摩豆ID" style="width: 300px; margin-right: 10px;" />
|
|
|
<Button type="success" @click="getTeacherList()" v-show="actInfo.joinMode === 'invite' && !isArea">{{ $t('activity.inviteTea') }}</Button>
|
|
|
+ <Button @click="exportTable()">{{ $t('lessonRecord.exportData') }}</Button>
|
|
|
</div>
|
|
|
<Table :columns="applicationColumns" :data="applicationListShow" stripe row-key="id">
|
|
|
<template #head="{}">
|
|
@@ -268,17 +269,6 @@
|
|
|
</FormItem>
|
|
|
</template>
|
|
|
</Form>
|
|
|
- <div v-if="contestInfo.modules.includes('review') && viewPermission" class="show-box">
|
|
|
- <p>{{ $t('activity.assignExpert') }}</p>
|
|
|
- <div v-if="teaSignInfo.reviewContestExperts.length">
|
|
|
- <div v-for="item in teaSignInfo.reviewContestExperts" :key="item.id">
|
|
|
- {{ item.name }}:
|
|
|
- <span v-show="item.score != -1">{{ item.score }}分</span>
|
|
|
- <span v-show="item.score === -1">{{ $t('learnActivity.simple.unscore') }}</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div v-else>{{ $t('activity.notAlloacte') }}</div>
|
|
|
- </div>
|
|
|
<div v-if="teaSignInfo.upload" class="show-box">
|
|
|
<p>{{ $t('activity.uploadWork') }}</p>
|
|
|
<div v-if="teaSignInfo.upload.list.length">
|
|
@@ -288,6 +278,22 @@
|
|
|
</div>
|
|
|
<div v-else>{{ $t('activity.notUpload') }}</div>
|
|
|
</div>
|
|
|
+ <div v-if="contestInfo.modules.includes('review') && viewPermission" class="show-box">
|
|
|
+ <p>{{ $t('activity.assignExpert') }}</p>
|
|
|
+ <div v-if="teaSignInfo.reviewContestExperts.length" style="width: 100%;">
|
|
|
+ <div v-for="item in teaSignInfo.reviewContestExperts" :key="item.id" style="margin-bottom: 5px; border-bottom: 1px dashed #ccc;">
|
|
|
+ <div>{{ item.name }}</div>
|
|
|
+ <div style="margin-left: 10px;">
|
|
|
+ <div>分数:{{ item.score === -1 ? $t('learnActivity.simple.unscore') : `${item.score}分` }}</div>
|
|
|
+ <div style="display: flex; white-space: pre;">
|
|
|
+ <span>评语:</span>
|
|
|
+ <span>{{ item.comment || '无' }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div v-else>{{ $t('activity.notAlloacte') }}</div>
|
|
|
+ </div>
|
|
|
</Drawer>
|
|
|
<Drawer :title="$t('activity.modal.text8')" :width="25" v-model="workDrawer">
|
|
|
<template v-if="processList[proIndex] && processList[proIndex].uploads">
|
|
@@ -1032,6 +1038,30 @@ export default {
|
|
|
this.pageChange(1)
|
|
|
})
|
|
|
},
|
|
|
+ /* 导出表格 */
|
|
|
+ exportTable() {
|
|
|
+ const params = {
|
|
|
+ title: [this.$t('assessment.header1'), this.$t('cusMgt.tmIDType'), this.$t('answerSheet.dp.school'), this.$t('activity.timeList.enroll'), this.$t('jyzx.common.loadTime'), this.$t('activity.reviewed'), this.$t('learnActivity.mark.assigned'), '评审分数'],
|
|
|
+ key: ['name', 'id', 'schoolName', 'joinTime', 'uploadTime', 'reviewNum', 'scoreNum', 'uploadContestScore'],
|
|
|
+ data: this.applicationList.map(i => {
|
|
|
+ return {
|
|
|
+ name: i.name,
|
|
|
+ id: i.id,
|
|
|
+ schoolName: i.schoolName,
|
|
|
+ // teamNameContest: i.teamNameContest,
|
|
|
+ // joinStatus: i.score === -1 ? '-' : i.score,
|
|
|
+ joinTime: i.joinTime,
|
|
|
+ uploadTime: i.uploadTime,
|
|
|
+ reviewNum: i.reviewContestExperts.length,
|
|
|
+ scoreNum: i.reviewNum,
|
|
|
+ uploadContestScore: i.uploadContestScore === -1 ? this.$t('learnActivity.simple.unscore') : i.uploadContestScore,
|
|
|
+ }
|
|
|
+ }),
|
|
|
+ autoWidth: true,
|
|
|
+ filename: `【${this.actInfo.name}】报名表`
|
|
|
+ }
|
|
|
+ this.$tools.exportTable(params)
|
|
|
+ },
|
|
|
saveRule(data) {
|
|
|
let {info, isEdit} = data
|
|
|
if(isEdit) {
|