dev_review
yujialong 3 months ago
parent 45ff98f698
commit 0d952de033
  1. 29
      src/assets/css/main.css
  2. 9
      src/views/match/add/step3.vue
  3. 53
      src/views/match/manage/theoryArchList.vue
  4. 36
      src/views/match/manage/theoryReport.vue

@ -491,3 +491,32 @@ li {
.edui-default {
line-height: normal;
}
.html-parse {
table {
display: table;
margin-bottom: 10px;
border-collapse: collapse;
th,
td {
padding: 5px 10px;
border: 1px solid #DDD;
}
}
ol {
padding-left: 30px;
li {
list-style-type: decimal;
}
}
ul {
padding-left: 30px;
li {
list-style-type: disc;
}
}
}

@ -81,8 +81,13 @@
</template>
<template v-else>
<el-form-item class="req" label="已选择试卷">
{{ item.paperName }}
<el-button v-if="item.paperName" type="primary" size="mini" @click="previewPaper(item)">预览</el-button>
<div class="flex">
{{ item.paperName }}&emsp;
<el-form>
<el-button v-if="item.paperName" type="primary" size="mini" :disabled="false"
@click="previewPaper(item)">预览</el-button>
</el-form>
</div>
</el-form-item>
</template>
<el-form-item class="req" prop="resultAnnouncementTime" label="比赛地点">

@ -45,15 +45,8 @@
<el-input size="small" placeholder="请输入学校/学生姓名" prefix-icon="el-icon-search" v-model="keyword" clearable
style="width: 300px"></el-input>
</div>
<div v-if="!active">
<el-button v-if="method == 2" type="primary" @click="batchImport">上传成绩</el-button>
<el-button type="primary" :loading="exporting" @click="exportData">{{ exporting ? '正在导出' : '批量导出'
}}</el-button>
</div>
<div v-else>
<el-button type="primary" :loading="exporting1" @click="exportData1">{{ exporting1 ? '正在导出' : '批量导出'
}}</el-button>
</div>
<el-button type="primary" :loading="exporting" @click="exportData">{{ exporting ? '正在导出' : '批量导出'
}}</el-button>
</div>
<el-table :data="list" class="table" :key="1" ref="table" stripe header-align="center"
@selection-change="handleSelectionChange" row-key="id">
@ -256,6 +249,7 @@ export default {
competitionId: this.id,
isNakadai: 1,
stageId: this.stageId,
participatingState: this.active,
}, {
headers: this.headers,
responseType: 'blob'
@ -265,31 +259,22 @@ export default {
}
}
},
// ()
exportData1 () {
this.exporting1 = true
let list = this.list1
if (this.multipleSelection1.length) {
list = this.multipleSelection1
}
Zip('批量导出', list, () => {
this.exporting1 = false
async handleDelete (row) { //
await this.$confirm(`<p>确认要删除【${row.userName}】的成绩记录吗?</p><p style="color: #f56c6c;">删除后成绩数据不可恢复,自动变为未提交</p>`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
closeOnClickModal: false,
dangerouslyUseHTMLString: true,
})
},
handleDelete (row) { //
this.$confirm("确定要删除吗?", "提示", {
type: "warning"
}).then(() => {
this.$post(this.api.batchDeleteContestGrade, {
ids: [this.method == 2 ? row.scoreId : row.reportId],
competitionId: this.id,
stageId: this.stageId
}).then(res => {
util.successMsg("删除成功");
this.getData();
}).catch(res => {
});
}).catch(() => { });
await this.$post(this.api.batchDeleteContestGrade, {
ids: [this.method == 2 ? row.scoreId : row.reportId],
competitionId: this.id,
stageId: this.stageId
})
util.successMsg("删除成功")
this.getData()
},
delAllData () { //
const list = this.multipleSelection
@ -433,6 +418,8 @@ export default {
},
// tab
tabChange (i) {
this.multipleSelection = []
this.$refs.table.clearSelection()
this.active = i
this.initData()
},

@ -112,7 +112,7 @@
<ul v-if="paper" class="ques-wrap" id="quesWrap">
<li v-for="(item, i) in paper" :key="i">
<div class="outline">
{{ arabicToChinese(i + 1) }}{{ item.questionTypeName }}本题共{{ item.questionNum }}小题{{
{{ arabicToChinese(i + 1) }}{{ item.outlineName }}本题共{{ item.questionNum }}小题{{
item.targetScore }}
<img :class="['shrink', { active: item.shrink }]" src="@/assets/img/shrink.svg" alt=""
@click="item.shrink = !item.shrink">
@ -181,7 +181,8 @@
</div>
<div v-if="ques.attachmentUrl" class="line">
<span class="line-label">考生上传附件</span>
<el-link class="m-r-10" type="primary">{{ ques.attachmentName }}</el-link>
<el-link class="m-r-10" type="primary" @click="preview(ques.attachmentUrl)">{{
ques.attachmentName }}</el-link>
<el-button type="primary" size="mini" round
@click="download(ques.attachmentName, ques.attachmentUrl)">下载</el-button>
</div>
@ -217,7 +218,7 @@
考试总结与体会
</h6>
<quill v-if="editing" :border="true" v-model="form.summarize" :minHeight="150" :height="150" />
<div v-else class="pre-wrap" v-html="form.summarize"></div>
<div v-else class="pre-wrap html-parse" v-html="form.summarize"></div>
</div>
</div>
</div>
@ -237,6 +238,7 @@ import QuesConst from '@/const/ques'
import TestPaperConst from '@/const/testPaper'
import Util from '@/libs/util'
import _ from 'lodash'
import axios from 'axios'
export default {
components: {
PdfDia
@ -246,6 +248,7 @@ export default {
numToLetter: Util.numToLetter,
arabicToChinese: Util.arabicToChinese,
reportId: this.$route.query.reportId,
token: sessionStorage.getItem("token"),
title: "实验报告",
form: {
className: "",
@ -465,11 +468,14 @@ export default {
//
async exportPage () {
this.exporting = true
const res = await this.$get(this.api.exportExamPaperReport, {
reportId: this.reportId
const res = await axios.get(`${this.api.exportExamPaperReport}?reportId=${this.reportId}`, {
headers: {
token: this.token
},
responseType: 'blob'
})
console.log(res)
Util.downloadFileDirect(`标准实验报告.docx`, new Blob([res]))
const name = res.headers['content-disposition']
Util.downloadFileDirect(name ? decodeURI(name) : '标准成绩报告.docx', new Blob([res.data]))
this.exporting = false
},
}
@ -598,7 +604,7 @@ samp {
.exist {
position: absolute;
left: 70px;
left: 95px;
white-space: nowrap;
color: #f00;
}
@ -835,20 +841,6 @@ samp {
}
}
.html-parse {
table {
display: table;
margin-bottom: 10px;
border-collapse: collapse;
th,
td {
padding: 5px 10px;
border: 1px solid #DDD;
}
}
}
img {
max-width: 100%;
}

Loading…
Cancel
Save