Bladeren bron

try fix picture problem

Arsekl 3 jaren geleden
bovenliggende
commit
8abce8eeb3
1 gewijzigde bestanden met toevoegingen van 27 en 3 verwijderingen
  1. 27 3
      src/utils/index.ts

+ 27 - 3
src/utils/index.ts

@@ -223,9 +223,7 @@ function generateFileNodes(
 
 
 function generateFileTree(question: NestedCodeItemVO) {
 function generateFileTree(question: NestedCodeItemVO) {
     const editableFiles = [...Object.keys(question.editable!)]
     const editableFiles = [...Object.keys(question.editable!)]
-    const editable = editableFiles.filter((filename, index) => {
-        return !isImage(filename)
-    }).reduce<IFolderTreeNodeProps[]>((nodes, filename) => {
+    const editable = editableFiles.reduce<IFolderTreeNodeProps[]>((nodes, filename) => {
         const filePathList = filename
         const filePathList = filename
             .split('/')
             .split('/')
             .filter((name) => name.length > 0)
             .filter((name) => name.length > 0)
@@ -287,6 +285,32 @@ export function getQuestion(examId: string, studentId: string) {
                 hide()
                 hide()
                 if (response.err === 0) {
                 if (response.err === 0) {
                     const question = response.res;
                     const question = response.res;
+                    let editableImage: {
+                        [key: string]: string} = {},
+                        nextEditable: {
+                        [key: string]: string} = {},
+                        nextUnEditable: {
+                        [key: string]: string} = {}
+                    ;
+                    question.codeList.forEach((code:NestedCodeItemVO) => {
+                        if (code.editable) {
+                            for (let key in code.editable){
+                                if (isImage(key)) {
+                                    editableImage[key] = code.editable[key];
+                                } else {
+                                    nextEditable[key] = code.editable[key];
+                                }
+                            }
+                        }
+                    })
+                    question.codeList.forEach((code: NestedCodeItemVO) => {
+                        if (code.editable){
+                            code.editable = nextEditable;
+                        }
+                        if (code.uneditable){
+                            code.uneditable = Object.assign(nextUnEditable, code.uneditable, editableImage);
+                        }
+                    })
                     question.codeList.sort(function (a:NestedCodeItemVO, b:NestedCodeItemVO){if (a && b && a.questionId && b.questionId) return a.questionId - b.questionId; return -1;})
                     question.codeList.sort(function (a:NestedCodeItemVO, b:NestedCodeItemVO){if (a && b && a.questionId && b.questionId) return a.questionId - b.questionId; return -1;})
                     const current = store.getState().loadCurrentQuestion;
                     const current = store.getState().loadCurrentQuestion;
                     const pre = store.getState().loadQuestion;
                     const pre = store.getState().loadQuestion;