From bf9cf3935505c95b30ca0326d02906a8f17c156d Mon Sep 17 00:00:00 2001 From: lyc Date: Wed, 17 Jul 2024 09:26:31 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B5=84=E6=BA=90=E6=A8=A1=E5=9D=97=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/choose-textbook/index.vue | 30 ++- .../src/components/move-file/index.vue | 179 ++++++++++++++++++ .../src/components/upload-dialog/index.vue | 5 +- .../src/layout/components/Uploader.vue | 9 +- src/renderer/src/store/modules/user.js | 1 + .../views/resource/container/resoure-list.vue | 14 +- 6 files changed, 224 insertions(+), 14 deletions(-) create mode 100644 src/renderer/src/components/move-file/index.vue diff --git a/src/renderer/src/components/choose-textbook/index.vue b/src/renderer/src/components/choose-textbook/index.vue index 82b0483..3b2423c 100644 --- a/src/renderer/src/components/choose-textbook/index.vue +++ b/src/renderer/src/components/choose-textbook/index.vue @@ -87,14 +87,25 @@ const getSubjectContent = async () => { entpcourseedituserid: userId, pageSize: 500 } - const { rows } = await listEvaluation(params) - evaluationList.value = rows + + let data; + if (localStorage.getItem('evaluationList')) { + evaluationList.value = JSON.parse(localStorage.getItem('evaluationList')) + data = evaluationList.value + } + else { + const { rows } = await listEvaluation(params) + localStorage.setItem('evaluationList', JSON.stringify(rows)) + evaluationList.value = rows + data = rows + } + //获取教材版本 await getSubject() //上册 - volumeOne.value = rows.filter(item => item.level == 1 && item.semester == '上册') + volumeOne.value = data.filter(item => item.level == 1 && item.semester == '上册') //下册 - volumeTwo.value = rows.filter(item => item.level == 1 && item.semester == '下册') + volumeTwo.value = data.filter(item => item.level == 1 && item.semester == '下册') getTreeData() } @@ -214,8 +225,15 @@ const transData = (data) => { //获取教材 const getSubject = async () => { - const { rows } = await listEvaluation({ itemkey: "version", pageSize: 500 }) - subjectList.value = rows.filter(item => item.edustage == edustage && item.edusubject == edusubject && isHaveUnit(item.id)) + if(localStorage.getItem('subjectList')){ + subjectList.value = JSON.parse(localStorage.getItem('subjectList')) + } + else{ + const { rows } = await listEvaluation({ itemkey: "version", pageSize: 500 }) + subjectList.value = rows.filter(item => item.edustage == edustage && item.edusubject == edusubject && isHaveUnit(item.id)) + localStorage.setItem('subjectList', JSON.stringify(subjectList.value)) + } + // 默认第一个 curBookName.value = subjectList.value[0].itemtitle curBookId.value = subjectList.value[0].id diff --git a/src/renderer/src/components/move-file/index.vue b/src/renderer/src/components/move-file/index.vue new file mode 100644 index 0000000..f1a77fc --- /dev/null +++ b/src/renderer/src/components/move-file/index.vue @@ -0,0 +1,179 @@ + + + + + \ No newline at end of file diff --git a/src/renderer/src/components/upload-dialog/index.vue b/src/renderer/src/components/upload-dialog/index.vue index ea64fd6..61df734 100644 --- a/src/renderer/src/components/upload-dialog/index.vue +++ b/src/renderer/src/components/upload-dialog/index.vue @@ -90,7 +90,7 @@ const hanleFileChange = (file) => { const fileType = file.raw.type if (!(audioTypes.includes(fileType) || videoTypes.includes(fileType) || wordTypes.includes(fileType) || pptTypes.includes(fileType) || pdfTypes.includes(fileType) || zipTypes.includes(fileType) || imgTypes.includes(fileType) || textTypes.includes(fileType))) { - ElMessage.error('文件格式错误! 请上传图片、音频、视频、word、ppt、pdf、text、zip文件!') + ElMessage.error('文件格式错误! 请上传图片、音频、视频、word、ppt、pdf、txt、zip文件!') return false } // 验证文件大小 @@ -100,7 +100,7 @@ const hanleFileChange = (file) => { return false } if (file.status === 'ready') { - + // 给一个默认的fileData file.fileData = { fileFlag: '课件', @@ -110,7 +110,6 @@ const hanleFileChange = (file) => { } } - // 删除 const delFile = (index) => { fileList.value.splice(index, 1) diff --git a/src/renderer/src/layout/components/Uploader.vue b/src/renderer/src/layout/components/Uploader.vue index a52f2cd..5d554ce 100644 --- a/src/renderer/src/layout/components/Uploader.vue +++ b/src/renderer/src/layout/components/Uploader.vue @@ -179,6 +179,10 @@ export default { } .prepare-body-main-item { position: relative; + display: flex; + align-items: center; + border-bottom: 1px solid rgba(131, 131, 127, 0.17); + padding: 10px 0; .prepare-uploader-progress { height: 100%; position: absolute; @@ -189,10 +193,7 @@ export default { &:hover { background-color: rgba(144, 147, 153, 0.2); } - display: flex; - align-items: center; - border-bottom: 1px solid rgba(131, 131, 127, 0.17); - padding: 10px 0; + .prepare-body-main-item-icon { width: 80px; } diff --git a/src/renderer/src/store/modules/user.js b/src/renderer/src/store/modules/user.js index 8066ded..df770b7 100644 --- a/src/renderer/src/store/modules/user.js +++ b/src/renderer/src/store/modules/user.js @@ -84,6 +84,7 @@ const useUserStore = defineStore( this.token = '' this.roles = [] this.permissions = [] + localStorage.clear() removeToken() resolve() }).catch(error => { diff --git a/src/renderer/src/views/resource/container/resoure-list.vue b/src/renderer/src/views/resource/container/resoure-list.vue index 9f80df6..52c9c39 100644 --- a/src/renderer/src/views/resource/container/resoure-list.vue +++ b/src/renderer/src/views/resource/container/resoure-list.vue @@ -37,6 +37,10 @@ 下载 +
+ + 移动至 +
@@ -54,19 +58,22 @@ :page-sizes="[10, 20, 30, 50]" background layout="total, sizes, prev, pager, next, jumper" :total="sourceStore.result.total" @size-change="handleSizeChange" @current-change="handleCurrentChange" /> +