From ce70bc450a2401997bb850f89f3c4dc0a23e0a72 Mon Sep 17 00:00:00 2001 From: zhongshujie <2862698242@qq.com> Date: 星期五, 05 九月 2025 18:38:13 +0800 Subject: [PATCH] 31 数字化口腔修复技术 整本 --- src/assets/methods/examination.js | 207 ++++----------------------------------------------- 1 files changed, 16 insertions(+), 191 deletions(-) diff --git a/src/assets/methods/examination.js b/src/assets/methods/examination.js index 984b098..57fa963 100644 --- a/src/assets/methods/examination.js +++ b/src/assets/methods/examination.js @@ -63,15 +63,18 @@ if ( foundItems && foundItems.Embedded_QuestionBank_QuestionType == "material" - ) { + ) { foundItems.childList = bookQuestionsList.filter( - (ditem) => - ditem.productLinkInfo[0].LinkPath == foundItems.productLinkPath + (ditem) => ditem.productLinkInfo[0].LinkPath == foundItems.productLinkPath ); } - let foundlist = []; - foundlist.push(foundItems); + if(foundItems){ + foundlist.push(foundItems); + }else{ + console.error("棰樼洰Id閿欒"+ qitem) + return + } if (foundlist.length > 0 && foundlist != undefined) { foundlist.forEach((item, index) => { const questionObj = handleQuestion(item, index + 1, oldList, collectList); @@ -99,183 +102,6 @@ }); } } - - // for (let qindex = 0; qindex < questionList.length; qindex++) { - // const qitem = questionList[qindex]; - // let query = { - // storeInfo: activeBook.storeRefcode, - // path: "*", - // cmsPath: activeBook.rootCmsItemId, - // cmsType: "*", - // productId: activeBook.bookId, - // queryType: "*", - // itemIds: qitem + "", - // itemFields: { - // Embedded_QuestionBank_Stem: [], - // Embedded_QuestionBank_AnalysisCon: [], - // Embedded_QuestionBank_Answer: [], - // Embedded_QuestionBank_Option: [], - // Embedded_QuestionBank_QuestionType: [], - // Embedded_QuestionBank_StemStyle: [], - // Embedded_QuestionBank_OptionStyle: [], - // Embedded_QuestionBank_KnowledgePoint: [], - // Embedded_QuestionBank_Difficulty: [], - // }, - // }; - // const res = await MG.store.getProductDetail(query); - // console.log(res.datas.cmsDatas[0].datas, "鏉愭枡棰�"); - // if (!res.datas) return false; - // res.datas.cmsDatas[0].datas.forEach((item, index) => { - // let oldObj = {}; - // if (oldList) { - // oldObj = oldList.find((item) => item.id == qitem); - // } - // const questionObj = { - // number: index + 1, // 棰樺彿 - // id: item.id, - // stem: - // item.Embedded_QuestionBank_QuestionType == "completion" - // ? JSON.parse(item.Embedded_QuestionBank_Stem) - // .stemTxt.replaceAll("<vacancy>", ",input,") - // .split(",") - // : JSON.parse(item.Embedded_QuestionBank_Stem), // 棰樺共 - // answer: item.Embedded_QuestionBank_Answer, // 绛旀 - // option: item.Embedded_QuestionBank_Option - // ? JSON.parse(item.Embedded_QuestionBank_Option) - // : "", // 閫夋嫨棰橀�夐」 - // analysisCon: item.Embedded_QuestionBank_AnalysisCon, // 瑙f瀽 - // questionType: item.Embedded_QuestionBank_QuestionType, // 棰樺瀷 - // optionStyle: item.Embedded_QuestionBank_OptionStyle, // 閫夐」鏄剧ず绫诲瀷 - // stemStyle: item.Embedded_QuestionBank_StemStyle, // 棰樺共鏄剧ず绫诲瀷 - // difficulty: item.Embedded_QuestionBank_Difficulty - // ? 4 - item.Embedded_QuestionBank_Difficulty - // : 0, // 闅惧害绛夌骇 - // userAnswer: oldObj - // ? oldObj.userAnswer - // : item.Embedded_QuestionBank_QuestionType == "completion" || - // item.Embedded_QuestionBank_QuestionType == "multipleChoice" - // ? [] - // : "", - // isSubmit: false, // 鏌ョ湅瑙f瀽 - // isRight: null, // 鏄惁姝g‘ - // isComplete: false, - // isCollect: collectList.indexOf(qitem) > -1 ? true : false, - // isUnfold: "", - // }; - - // console.log(item, "鏉愭枡棰�"); - - // // 澶氶�夊拰濉┖绛旀鑲负鏁扮粍锛岃杞崲JSON鏍煎紡 - // if ( - // questionObj.questionType == "completion" || - // questionObj.questionType == "multipleChoice" - // ) { - // try { - // questionObj.answer = JSON.parse(questionObj.answer); - // } catch (error) { - // questionObj.answer = item.Embedded_QuestionBank_Answer; - // } - // } - // // 濉┖棰樻敼閫� - // if (questionObj.questionType == "completion") { - // let index = 0; - // for (let i = 0; i < questionObj.stem.length; i++) { - // const item = questionObj.stem[i]; - // if (item == "input") { - // questionObj.stem[i] = { - // num: index, - // data: "input", - // }; - // questionObj.userAnswer[index] = ""; - // index++; - // } - // } - // } - // // 鑾峰彇鍥剧墖 - // if ( - // questionObj.stemStyle == "Image" || - // questionObj.stemStyle == "TxtAndImage" - // ) { - // questionObj.stem.stemImage = getPublicImage( - // questionObj.stem.stemImage, - // 150 - // ); - // } - // if ( - // questionObj.optionStyle == "Image" || - // questionObj.optionStyle == "TxtAndImage" - // ) { - // questionObj.option.forEach((optionItem) => { - // if (optionItem.img) - // optionItem.img = getPublicImage(optionItem.img, 150); - // }); - // } - // // 棰樺共瀵屾枃鏈鐞� - // if (questionObj.stemStyle == "RichText") { - // // questionObj.option.txt = '' - // questionObj.stem.stemTxt = questionObj.stem.stemTxt - // .replace( - // /\<img/gi, - // '<img style="max-width: 300rpx !important;object-fit: contain;" class="stem-rich-img" ' - // ) - // .replace(/\<p/gi, '<p class="stem-rich-p"') - // .replace("../file", process.env.VUE_APP_API_URL + "/file"); - // } - // // 閫夐」瀵屾枃鏈鐞� - // if ( - // questionObj.optionStyle == "RichText" && - // (questionObj.questionType == "singleChoice" || - // questionObj.questionType == "judge" || - // questionObj.questionType == "multipleChoice") - // ) { - // questionObj.option.forEach((item) => { - // if (item.txt) - // item.txt = item.txt - // .replace(/\<img/gi, '<img class="option-rich-img"') - // .replace(/\<p/gi, '<p class="stem-rich-p"') - // .replace("../file", process.env.VUE_APP_API_URL + "/file"); - // }); - // } - // // 瑙f瀽瀵屾枃鏈鐞� - // if ( - // questionObj.analysisCon && - // typeof questionObj.analysisCon == "string" - // ) { - // questionObj.analysisCon = questionObj.analysisCon.replace( - // /\<img/gi, - // '<img style="max-width: 300rpx !important;object-fit: contain;" class="stem-rich-img" ' - // ); - // } - // // 鍚姏棰樹慨鏀� - // // if (questionObj.questionType == 'singleChoice') { - // // const src = this.extractSourceSrc(questionObj.stem.stemTxt) - // // if (src) { - // // questionObj.src = src - // // questionObj.stem.stemTxt = this.removeVideoAndAudioTags(questionObj.stem.stemTxt) - // // } - // // } - - // if (item.Embedded_QuestionBank_QuestionType == "judge") { - // questionObj.type = "鍒ゆ柇棰�"; - // judgeArr.push(questionObj); - // } else if (item.Embedded_QuestionBank_QuestionType == "singleChoice") { - // questionObj.type = "鍗曢�夐"; - // singleChoiceArr.push(questionObj); - // } else if (item.Embedded_QuestionBank_QuestionType == "multipleChoice") { - // questionObj.type = "澶氶�夐"; - // multipleChoiceArr.push(questionObj); - // } else if (item.Embedded_QuestionBank_QuestionType == "completion") { - // questionObj.type = "濉┖棰�"; - // completionArr.push(questionObj); - // } else if (item.Embedded_QuestionBank_QuestionType == "shortAnswer") { - // questionObj.type = "绠�绛旈"; - // shortArr.push(questionObj); - // } else if (item.Embedded_QuestionBank_QuestionType == "material") { - // questionObj.type = "鏉愭枡棰�"; - // materialArr.push(questionObj); - // } - // }); - // } // 22 cardList[0].infoList = singleChoiceArr; cardList[1].infoList = judgeArr; @@ -301,6 +127,7 @@ if (oldList) { oldObj = oldList.find((oldItem) => oldItem.id == qitem); } + // 1. 鏋勫缓 questionObj 鐨勫熀纭�缁撴瀯 const questionObj = { number: index + 1, // 棰樺彿 @@ -329,13 +156,15 @@ ? [] : "", isSubmit: false, // 鏌ョ湅瑙f瀽 - isRight: null, // 鏄惁姝g‘ - isComplete: false, + isRight: oldObj + ? oldObj.isRight + :null, // 鏄惁姝g‘ + isComplete: oldObj + ? oldObj.isComplete + : false, isCollect: collectList.indexOf(qitem) > -1 ? true : false, isUnfold: "", }; - - // 2. 澶勭悊澶氶�夊拰濉┖棰樼殑绛旀锛圝SON鏍煎紡杞崲锛� if ( @@ -372,13 +201,9 @@ // 4. 鏉愭枡棰樺鐞� (鏍稿績閫掑綊鐐�) if (questionObj.questionType == "material" && Array.isArray(item.childList)) { - // 閬嶅巻瀛愰鐩垪琛紝骞跺姣忎竴涓瓙椤归�掑綊璋冪敤 processQuestionItem questionObj.childList = item.childList.map((childItem, childIndex) => { - // 瀛愰鐩�氬父涓嶉渶瑕� oldList 鍜� collectList锛屼絾涓轰簡閫昏緫缁熶竴锛屽彲浠ヤ紶鍏� - // 濡傛灉瀛愰鐩篃闇�瑕佺嫭绔嬬殑浣滅瓟鐘舵�佸拰鏀惰棌鐘舵�侊紝鍒欓渶瑕佽皟鏁� oldList 鍜� collectList 鐨勭粨鏋� - // 杩欓噷鍋囪瀹冧滑涓嶉渶瑕侊紝鎴栬�呯敱鐖剁骇鏉愭枡棰樼粺涓�绠$悊 - return handleQuestion(childItem, childIndex + 1, null, []); + return handleQuestion(childItem, childIndex + 1, oldList, collectList); }); } -- Gitblit v1.9.1