From fae098d82647f8212357704fd08484e6333a9794 Mon Sep 17 00:00:00 2001
From: BianLzhaoMin <11485688+bianliangzhaomin123@user.noreply.gitee.com>
Date: Fri, 23 May 2025 09:31:34 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../coursewareStore/index.vue | 141 ++++++++++++------
1 file changed, 93 insertions(+), 48 deletions(-)
diff --git a/src/views/educationalTraining/resourceAdministration/coursewareStore/index.vue b/src/views/educationalTraining/resourceAdministration/coursewareStore/index.vue
index 0aa0d5c..a329770 100644
--- a/src/views/educationalTraining/resourceAdministration/coursewareStore/index.vue
+++ b/src/views/educationalTraining/resourceAdministration/coursewareStore/index.vue
@@ -7,7 +7,8 @@
placeholder="请输入关键字"
maxlength="100"
show-word-limit
- clearable v-no-whitespace
+ clearable
+ v-no-whitespace
@keyup.enter.native="handleSearch"
/>
@@ -22,7 +23,9 @@
新建文件夹
- 批量下载
+
+ 批量下载
+
@@ -38,12 +41,13 @@
@selection-change="handleSelectionChange"
@select-all="handleSelectAll"
>
-
+
+
+
+
+ {{ row.coursewareName }}
+
-
{{ '文件夹' }}
@@ -80,6 +84,7 @@
下载
+ 预览
移动
重命名
备注
@@ -98,7 +103,13 @@
-
+
-
+
-
+
-
@@ -187,17 +218,25 @@ import {
operFolderOrFile,
uploadFiles,
downLoadFile,
- downLoadCoursewareFile
+ downLoadCoursewareFile,
} from '@/api/educationalTraining/resourceAdministration'
import axios from 'axios'
import { getToken } from '@/utils/auth'
import { download } from '@/utils/request'
import MiniFileUpload from '@/views/educationalTraining/resourceAdministration/coursewareStore/miniFileUpload.vue'
+import bnsKkFilePreview from '@/components/pro-tabs/bns-kkFile-preview.vue'
+
export default {
- components: { MiniFileUpload },
+ components: { MiniFileUpload, bnsKkFilePreview },
data() {
return {
+ documentPreview: false, // 文件预览
+ kkFilePreview: {
+ filePreviewUrl: '',
+ fileName: '',
+ showDownloadButton: false,
+ }, // 文件预览列表
fullscreenLoading: false, // 上传loading
uploadVisible: false, // 上传弹框
fileList: [], // 上传文件列表
@@ -206,7 +245,7 @@ export default {
// 查询参数
queryParams: {
// 关键字
- keyWord: ''
+ keyWord: '',
},
// 列表数据
tableData: [],
@@ -216,20 +255,20 @@ export default {
dialogForm: {
coursewareName: '', // 课件名
oldCoursewareName: '', // 旧的名称
- marl: '' // 备注
+ marl: '', // 备注
},
isEdit: false, // 是否重命名
isRemark: false, // 是否备注
isMove: false, // 是否移动
// 弹框表单验证
rules: {
- coursewareName: [{ required: true, message: '请输入课件名', trigger: 'blur' }]
+ coursewareName: [{ required: true, message: '请输入课件名', trigger: 'blur' }],
},
showTree: false, // 是否显示树
treeData: [], // 树数据
defaultProps: {
children: 'children',
- label: 'coursewareName'
+ label: 'coursewareName',
},
// 新建题库
questionTitle: '新建题库', // 弹框标题
@@ -237,52 +276,51 @@ export default {
questionForm: {
coursewareName: '', // 题库名称
selectedTree: '', // 选中的树节点
- parentId: 0 // 父级id
+ parentId: 0, // 父级id
},
questionRules: {
- coursewareName: [{ required: true, message: '请输入题库名称', trigger: 'blur' }]
+ coursewareName: [{ required: true, message: '请输入题库名称', trigger: 'blur' }],
},
questionLabel: '位置',
row: {}, // 当前行
editAndRemark: '重命名', // 弹框标题
downLoading: false, // 下载loading
coursewareIds: [], // 选中的课件id
- isSelect:false
+ isSelect: false,
}
},
created() {
this.getList()
},
- mounted() {
- },
+ mounted() {},
methods: {
isSelectable(row, index) {
- return ![1, 2].includes(Number(row.fileType));
+ return ![1, 2].includes(Number(row.fileType))
},
handleSelectAll() {
- if (!this.isSelect){
- this.coursewareIds = this.getCoursewareIds(this.tableData);
+ if (!this.isSelect) {
+ this.coursewareIds = this.getCoursewareIds(this.tableData)
//设置可选状态的行 选中
this.isSelect = true
- }else{
+ } else {
this.$refs.table.clearSelection()
this.coursewareIds = []
this.isSelect = false
}
},
getCoursewareIds(data) {
- let ids = [];
+ let ids = []
data.forEach(node => {
console.log('🚀 ~ getCoursewareIds ~ node:', node)
if (node.coursewareId && Number(node.fileType) !== 1 && Number(node.fileType) !== 2) {
- this.$refs.table.toggleRowSelection(node, true);
- ids.push(node.coursewareId);
+ this.$refs.table.toggleRowSelection(node, true)
+ ids.push(node.coursewareId)
}
if (node.children && node.children.length > 0) {
- ids = ids.concat(this.getCoursewareIds(node.children));
+ ids = ids.concat(this.getCoursewareIds(node.children))
}
- });
- return ids;
+ })
+ return ids
},
handleSelectionChange(val) {
this.coursewareIds = val.map(item => item.coursewareId).join(',')
@@ -408,7 +446,7 @@ export default {
// 批量下载
const params = {
coursewareId: this.coursewareIds,
- fileType: 1
+ fileType: 1,
}
console.log('🚀 ~ handleDownload ~ params:', params)
download('/exam/coursewareLibrary/downLoadFile', params, '课件库.zip').then(res => {
@@ -421,7 +459,7 @@ export default {
}
const params = {
coursewareId: row.coursewareId,
- fileType: row.fileType
+ fileType: row.fileType,
}
// dev-api/exam/coursewareLibrary/downLoadFile
// 获取当前的 location.origin
@@ -534,14 +572,14 @@ export default {
this.$confirm('是否确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
- type: 'warning'
+ type: 'warning',
}).then(() => {
// 确定
operFolderOrFile({
operType: 3,
coursewareId: row.coursewareId,
fileType: row.fileType,
- parentId: row.parentId
+ parentId: row.parentId,
}).then(res => {
console.log('🚀 ~ handleDelete ~ res:', res)
// 刷新列表
@@ -564,7 +602,7 @@ export default {
coursewareId: this.row.coursewareId,
fileType: this.row.fileType,
coursewareName: this.dialogForm.coursewareName,
- parentId: this.row.parentId
+ parentId: this.row.parentId,
}).then(res => {
console.log('🚀 ~ handleSave ~ res:', res)
// 关闭弹框
@@ -578,7 +616,7 @@ export default {
operType: 2,
coursewareId: this.row.coursewareId,
fileType: this.row.fileType,
- marl: this.dialogForm.marl
+ marl: this.dialogForm.marl,
}).then(res => {
console.log('🚀 ~ handleSave ~ res:', res)
// 关闭弹框
@@ -595,7 +633,7 @@ export default {
const params = {
coursewareId: item.coursewareId,
fileType: item.fileType,
- type: item.type
+ type: item.type,
}
const res = await getCoursewareLibraryTree(params)
console.log('🚀 ~ getCoursewareLibraryTree ~ res-位置树:', res)
@@ -637,7 +675,7 @@ export default {
operType: 4,
coursewareId: this.row.coursewareId,
fileType: this.row.fileType,
- parentId: this.questionForm.parentId
+ parentId: this.questionForm.parentId,
}).then(res => {
console.log('🚀 ~ handleQuestion ~ res:', res)
// 关闭弹框
@@ -664,8 +702,15 @@ export default {
uploadSuccess() {
this.uploadVisible = false
this.getList()
- }
- }
+ },
+
+ // 文件预览按钮
+ handlePreview(row) {
+ this.kkFilePreview.filePreviewUrl = row.filePath
+ this.kkFilePreview.fileName = row.coursewareName
+ this.documentPreview = true
+ },
+ },
}