From 9385713c95cd1cb92d0ba8c89318a6822aab6cb5 Mon Sep 17 00:00:00 2001 From: litian <C21AF165> Date: 星期一, 20 一月 2025 18:24:14 +0800 Subject: [PATCH] home --- packageCourse/components/teaching/index.js | 145 ++++++++++++++++++++++++++++-------------------- 1 files changed, 85 insertions(+), 60 deletions(-) diff --git a/packageCourse/components/teaching/index.js b/packageCourse/components/teaching/index.js index 876032f..3d3b478 100644 --- a/packageCourse/components/teaching/index.js +++ b/packageCourse/components/teaching/index.js @@ -96,56 +96,63 @@ cmsPath: data.productLinkPath }) .then((res) => { - const dataTeach = res.datas.cmsDatas[0]?.datas.find( - (item) => item.refCode == 'jsek_interaction' - ) - app.MG.store - .getProductDetail({ - path: '*', - queryType: '*', - productId: this.properties.bookId, - cmsPath: dataTeach.productLinkPath - }) - .then((res) => { - let datas = res.datas.cmsDatas[0] ? res.datas.cmsDatas[0].datas : [] - const dataRes = [] - if (datas?.length > 0) { - datas.forEach(async (item) => { - const cmsRes = await app.MG.store - .getProductDetail({ - path: '*', - queryType: '*', - productId: this.properties.bookId, - cmsPath: item.productLinkPath + try { + const dataTeach = res.datas.cmsDatas[0]?.datas.find( + (item) => item.refCode == 'jsek_interaction' + ) + app.MG.store + .getProductDetail({ + path: '*', + queryType: '*', + productId: this.properties.bookId, + cmsPath: dataTeach.productLinkPath + }) + .then((res) => { + let datas = res.datas.cmsDatas[0] ? res.datas.cmsDatas[0].datas : [] + const dataRes = [] + if (datas?.length > 0) { + datas.forEach(async (item) => { + const cmsRes = await app.MG.store + .getProductDetail({ + path: '*', + queryType: '*', + productId: this.properties.bookId, + cmsPath: item.productLinkPath + }) + if ( + cmsRes.datas.cmsDatas[0].datas && + cmsRes.datas.cmsDatas[0].datas.length > 0 + ) { + cmsRes.datas.cmsDatas[0].datas.forEach((item, i) => { + item.subList = [] + item.updateDate = '-' + if (this.data.dataList.length > 0) { + this.data.dataList.forEach((mitem) => { + if (mitem.name == item.name) { + item.updateDate = moment(mitem.updateDate).format( + 'YYYY-MM-DD HH:mm:ss' + ) + item.subList.push(mitem) + } + }) + } + dataRes.push(item) + }) + } + const resList = dataRes.sort((a, b) => b.subList.length - a.subList.length) + this.setData({ + cmsDataList: resList, + loading: false }) - if ( - cmsRes.datas.cmsDatas[0].datas && - cmsRes.datas.cmsDatas[0].datas.length > 0 - ) { - cmsRes.datas.cmsDatas[0].datas.forEach((item, i) => { - item.subList = [] - item.updateDate = '-' - if (this.data.dataList.length > 0) { - this.data.dataList.forEach((mitem) => { - if (mitem.name == item.name) { - item.updateDate = moment(mitem.updateDate).format( - 'YYYY-MM-DD HH:mm:ss' - ) - item.subList.push(mitem) - } - }) - } - dataRes.push(item) - }) - } - const resList = dataRes.sort((a, b) => b.subList.length - a.subList.length) - this.setData({ - cmsDataList: resList, - loading: false }) - }) - } + } + }) + } catch (error) { + this.setData({ + cmsDataList: [], + loading: false }) + } }) } catch (error) { this.setData({ @@ -214,7 +221,6 @@ }, // 澶勭悊鏁版嵁缁撴瀯 chageData(arr, zrr) { - let newData = [] // 棰樺簱棰樼洰绫诲瀷 const questionTypeList = [{ name: '鍗曢�夐', @@ -259,23 +265,32 @@ ] for (let i = 0; i < arr.length; i++) { const item = arr[i] - item.questionTypeList = questionTypeList - for (let j = 0; j < zrr.length; j++) { - const ele = zrr[j] - const qusObj = item.question.find((citem) => citem.cmsItemId == ele.id) - if (qusObj?.cmsItemId) { - ele.userAnswer = qusObj.answer - const index = findIndexByValue(questionTypeList, ele.questionType) - if (index > -1) { - item.questionTypeList[index].data.push(ele) + item.questionTypeList = JSON.parse(JSON.stringify(questionTypeList)); + item.other = [] + for (let j = 0; j < item.question.length; j++) { + const ele = item.question[j] + const data = zrr.find((sitem) => sitem.id == ele.cmsItemId) + const index = findIndexById(zrr, ele.cmsItemId) + if (index > -1) { + item.other[index] = { + ...data, + userAnswer: ele.answer } } } - item.questionTypeList = item.questionTypeList.filter((item) => item.data.length > 0) - newData.push(item) + if (item.other.length > 0) { + item.other.forEach((aitem) => { + const index = findIndexByValue(item.questionTypeList, aitem.questionType) + if (index > -1) { + item.questionTypeList[index].data.push(aitem) + } + }) + } + item.questionTypeList = item.questionTypeList.filter((xitem) => xitem.data.length > 0) } - return newData.filter((item) => item.questionTypeList.length > 0) + return arr }, + findIndexByValue(res, type) { for (let i = 0; i < res.length; i++) { if (res[i].value == type) { @@ -284,6 +299,16 @@ } return -1 // 濡傛灉鏈壘鍒帮紝鍒欒繑鍥� -1 }, + + findIndexById(res, id) { + for (let i = 0; i < res.length; i++) { + if (res[i].id == id) { + return i + } + } + return -1 // 濡傛灉鏈壘鍒帮紝鍒欒繑鍥� -1 + }, + toDetail(e) { const { item -- Gitblit v1.9.1