Просмотр исходного кода

阅卷专用,从试卷挑选多媒体组卷时异常

XW 9 месяцев назад
Родитель
Сommit
ec35523847

+ 1 - 0
TEAMModelOS/ClientApp/src/view/evaluation/components/BasePaperItemPicker.vue

@@ -160,6 +160,7 @@ export default {
       this.paperIndex = this.paperList.findIndex(i => i.id === paperId[0])
       let fullPaperJson = await this.$evTools.getFullPaper(paper)
       let fullPaperNoCompose = this.isMarkModel ? fullPaperJson.item.filter(item => item.type !== 'compose') : fullPaperJson.item
+      fullPaperNoCompose.forEach(item => item.paperName = paper.name)
       this.questionList = fullPaperNoCompose
       this.originQuestionList = this._.cloneDeep(fullPaperNoCompose)
       this.questionList.forEach(i => {

+ 13 - 6
TEAMModelOS/ClientApp/src/view/evaluation/index/CreatePaper.vue

@@ -1272,13 +1272,20 @@ export default {
                     false).then(res => {
                       r(200)
                     })
-                } else if (item.blob && item.blob.includes('syllabus/')) {
-                  let blobCntr = item.scope == 'school' ? schoolBlob : privateBlob
-                  containerClient.copyFolder('paper/' + paperItem.name + '/',
-                    'syllabus/' + item.nodeId + '/' + item.id, blobCntr, null, false).then(res => {
-                    r(200)
-                  })
                 } else {
+                  if (item.blob && (item.blob.includes('paper/') || item.blob.includes('syllabus/'))) {
+                    let videoSrcList = this.$editorTools.getRichTextSrc(item.question, 'video')
+                    let audioSrcList = this.$editorTools.getRichTextSrc(item.question, 'audio')
+                    let srcList = videoSrcList.concat(audioSrcList)
+                    let curNoSaveArr = JSON.parse(localStorage.getItem('noSave'))
+                    srcList.forEach(src => {
+                      curNoSaveArr.push({
+                        path: item.blob.includes('paper/') ? `/paper/${item.paperName}/${src}` : `/syllabus/${item.nodeId}/${item.id}/${src}`, //旧文件的相对地址
+                        scope: item.scope
+                      })
+                    })
+                    localStorage.setItem('noSave', JSON.stringify(curNoSaveArr))
+                  }
                   const itemJsonFile = await this.$evTools
                     .createBlobItem(item)
                   let file = new File([JSON.stringify(itemJsonFile)],