From 2bddfa78e65f351d6cb81f670775e79620f684a6 Mon Sep 17 00:00:00 2001 From: ZhangXianQiang <1135831638@qq.com> Date: 星期五, 24 五月 2024 10:43:51 +0800 Subject: [PATCH] feat:分数统计 --- src/views/onlineStudy/file.vue | 42 +++++++++++++++++++++++++++++++----------- 1 files changed, 31 insertions(+), 11 deletions(-) diff --git a/src/views/onlineStudy/file.vue b/src/views/onlineStudy/file.vue index 609f826..bb7a417 100644 --- a/src/views/onlineStudy/file.vue +++ b/src/views/onlineStudy/file.vue @@ -31,26 +31,29 @@ </el-table-column> <el-table-column prop="contentType" :formatter="typeFormatter" label="鏂囦欢绫诲瀷"> </el-table-column> - <el-table-column label="鏂囦欢鍐呭"> + <el-table-column label="鏂囦欢鍐呭" width="240"> <template slot-scope="scope"> <video controls v-if="scope.row.contentType === 'video'" :src="'/api/files/' + scope.row.contentUrl.url" class="showContent" /> - <img v-if="scope.row.contentType === 'img'" :src="'/api/files/' + scope.row.contentUrl.url" - class="showContent" /> - <el-link type="primary" v-if="scope.row.contentType === 'pdf'" - class="showContent" @click="checkPdf('/api/files/' + scope.row.contentUrl.url)">鐐瑰嚮鏌ョ湅</el-link> + <el-image v-if="scope.row.contentType === 'img'" :src="'/api/files/' + scope.row.contentUrl.url" + class="showContent"></el-image> + <!-- <img v-if="scope.row.contentType === 'img'" :src="'/api/files/' + scope.row.contentUrl.url" + class="showContent" /> --> + <el-link type="primary" v-if="scope.row.contentType === 'pdf'" class="showContent" + @click="checkPdf('/api/files/' + scope.row.contentUrl.url)">鐐瑰嚮鏌ョ湅</el-link> </template> </el-table-column> <el-table-column prop="attachment" label="闄勪欢"> <template slot-scope="scope"> - <el-link type="primary" v-for="item in scope.row.attachment">{{ item.name }}</el-link> + <div v-for="item in scope.row.attachment" :key="item.url"> + <el-link type="primary" :href="'/api/upload/download?url=' + item.url +'&fileName=' + item.name" >{{ item.name }}</el-link> + </div> </template> </el-table-column> <el-table-column fixed="right" label="鎿嶄綔" width="140"> <template slot-scope="scope"> <el-button @click="handleUpdate(scope.row)" type="primary" size="small" style="margin-right: 5px">淇敼</el-button> - <el-popconfirm :title="getTitle(scope.row.typeName)" @confirm="remove(scope.row.id)"> <el-button slot="reference" type="danger" size="small">鍒犻櫎</el-button> </el-popconfirm> @@ -94,6 +97,10 @@ <el-button type="primary" @click="handlerSubmit">淇� 瀛�</el-button> </span> </el-dialog> + + <el-dialog title="PDF鏌ョ湅" :visible.sync="pdfDialog" width="80%" :before-close="closePdfDialog"> + <vue-office-pdf :src="pdf" @rendered="rendered" /> + </el-dialog> </div> </template> @@ -103,9 +110,10 @@ import StudyTypeAPI from '@/api/study-type'; import Upload from '@/components/UploadC'; +import VueOfficePdf from '@vue-office/pdf'; export default { name: 'type', - components: { Upload, Pagination }, + components: { Upload, Pagination, VueOfficePdf }, computed: { fileContentUrl: () => { return this.form ? this.form.contentUrl ? [this.form.contentUrl] : [] : []; @@ -113,6 +121,7 @@ }, data() { return { + pdf: '', dialogTitle: '娣诲姞瀛︿範鍐呭', ids: [], typeList: [], @@ -151,10 +160,14 @@ }, methods: { checkPdf(url) { - window.open('/#/online/study/pdf/view?pdfUrl=' + url, '_blank') + this.pdf = url; + this.pdfDialog = true; }, closePdfDialog() { this.pdfDialog = false; + }, + rendered() { + }, fileChange() { this.form.contentUrl = []; @@ -193,6 +206,7 @@ OnlineStudyAPI.remove([id]).then(res => { if (res.code === 1) { this.$message.success('鍒犻櫎鎴愬姛'); + this.page() } }); }, @@ -287,8 +301,9 @@ <style scoped> .showContent { - width: 200px; - height: 100px; + width: 100%; + min-height: 80px; + object-fit: contain; } .warp { @@ -298,4 +313,9 @@ .search { margin-top: 10px; } +::v-deep .el-image__error { + position: absolute; + top: 0; + bottom: 0; +} </style> -- Gitblit v1.8.0