From 2abf00efb6d83426ad84342f17252a36aeb5a4e1 Mon Sep 17 00:00:00 2001 From: litian <C21AF165> Date: 星期五, 27 九月 2024 16:09:29 +0800 Subject: [PATCH] rwd --- packageBookService/pages/bookServices/detail/components/learnTask/index.js | 337 +++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 235 insertions(+), 102 deletions(-) diff --git a/packageBookService/pages/bookServices/detail/components/learnTask/index.js b/packageBookService/pages/bookServices/detail/components/learnTask/index.js index 37f6086..76bbb34 100644 --- a/packageBookService/pages/bookServices/detail/components/learnTask/index.js +++ b/packageBookService/pages/bookServices/detail/components/learnTask/index.js @@ -7,6 +7,7 @@ data: { height: '', //灞忓箷楂樺害 bookId: '', + cmsPath: '', consumer: '', bookInfo: {}, menuList: [], @@ -14,7 +15,7 @@ name: '', school: '', class: '', - learnTime: '2', + learnTime: '0灏忔椂', taskShow: false, dataList: [], //浠诲姟鍗� tasksListData: [], //宸插~鍐欎换鍔″崟messsge @@ -23,7 +24,7 @@ userId: 0, userName: '', isUpdate: false, - taskId: 0, //榛樿閫変腑鐩綍id + taskId: '', //榛樿閫変腑鐩綍id autosize: { maxHeight: 120, minHeight: 80, @@ -31,6 +32,23 @@ disabled: false, dialogVisible: false, invitee: "", + teacherEvaluated: false, + evaluated: false, + rowCol: [{ + width: '50%', + }, + { + width: '100%' + }, + { + width: '80%' + }, + { + width: '100%' + }, { + width: '100%' + }, + ], }, onShow() { var that = this; @@ -48,18 +66,19 @@ */ onLoad(options) { if (options) { - console.log(options, 666) this.setData({ bookId: options.bookId, - taskId: options.bookId, + cmsPath: options.cmsPath, + taskId: options.taskId, consumer: options.consumer, userId: options.userId, - userName: JSON.parse(wx.getStorageSync(app.config.userInfoKey)).name + userName: JSON.parse(wx.getStorageSync(app.config.userInfoKey)).nickName }); if (options.consumer) { this.setData({ + cmsPath: options.cmsPath, bookId: options.bookId, - taskId: options.bookId, + taskId: options.taskId, consumer: options.consumer, userId: options.userId, disabled: true @@ -71,19 +90,49 @@ }); } this.getResourceData() + this.getLearnTime() } }, + getLearnTime() { + app.MG.identity + .getUserKey({ + domain: 'cloudLearningTime', + keys: [this.data.bookId + ''] + }) + .then((res) => { + if (res.length > 0 && JSON.parse(res[0].value) && JSON.parse(res[0].value).length > 0) { + let time = JSON.parse(res[0].value)[0].learnTime + let minutes = Number(time) / (1000 * 60) + let hours = Number(time) / (1000 * 60 * 60) + if (minutes > 0 && minutes < 60) { + this.setData({ + learnTime: Math.round(minutes) + '鍒嗛挓', + }); + } else if (minutes > 60) { + this.setData({ + learnTime: Math.round(hours) + '灏忔椂', + }); + } else { + this.setData({ + learnTime: '0灏忔椂', + }); + } + } + }) + }, + getResourceData() { this.setData({ + menuList: [], loading: true, }); let query = { path: '*', queryType: '*', productId: this.data.bookId, - cmsPath: 'jsek_learningTasks', + cmsPath: this.data.cmsPath, // cmsType: '*', itemFields: { SysType: 'CmsFolder' @@ -99,60 +148,77 @@ }); if (res.datas.cmsDatas[0].datas) { let list = res.datas.cmsDatas[0].datas - this.setData({ - menuList: list, - }); + let dataList = [] + list.forEach((item) => { + if (item.childrenFolderCount > 0) { + let query = { + path: '*', + queryType: '*', + productId: this.data.bookId, + cmsPath: item.productLinkPath, + // cmsType: '*', + itemFields: { + SysType: 'CmsFolder' + }, + pading: { + start: 0, + size: 99 + } + } + app.MG.store.getProductDetail(query).then((res) => { + item.children = res.datas.cmsDatas[0].datas + }) + } + dataList.push(item) + }) + setTimeout(() => { + this.setData({ + menuList: dataList, + loading: false, + }); + }, 200) if (this.data.taskId) { - this.data.menuList.forEach((item) => { - if (item.id == this.data.taskId) { + setTimeout(() => { + this.data.menuList.forEach((item) => { + if (item.id == this.data.taskId) { + this.setData({ + taskInfo: item, + }); + } else if (item.children) { + item.children.forEach((item1) => { + if (item1.id == this.data.taskId) { + this.setData({ + taskInfo: item1, + }); + } + }) + } + }) + }, 200) + } else { + setTimeout(() => { + if (this.data.menuList[0].children) { this.setData({ - taskInfo: item, + taskInfo: this.data.menuList[0].children[0], + }); + } else { + this.setData({ + taskInfo: this.data.menuList[0], }); } - }) - } else { - this.setData({ - taskInfo: this.data.menuList[0], - }); + }, 200) } } - this.getTasksList() + setTimeout(() => { + this.getTasksList() + }, 200) }) }, - getTask(e) { - console.log(e, 123) - let data = e.currentTarget.dataset.item - if (data.childrenFolderCount > 0) { - let query = { - path: '*', - queryType: '*', - productId: this.data.bookId, - cmsPath: data.productLinkPath, - // cmsType: '*', - itemFields: { - SysType: 'CmsFolder' - }, - pading: { - start: 0, - size: 99 - } - } - app.MG.store.getProductDetail(query).then((res1) => { - this.data.menuList.forEach((item) => { - if (item.id == data.id) { - item.children = res1.datas.cmsDatas[0].datas - } - }) - }) - } else { - this.setData({ - taskShow: true, - }); - } - this.taskSelect(data) - + let item = e.currentTarget.dataset.item + this.taskSelect(item) }, + onVisibleChange(e) { this.setData({ taskShow: e.detail.visible, @@ -180,7 +246,9 @@ this.setData({ tasksListData: res.datas, }); - this.taskSelect(this.data.taskInfo) + if (this.data.taskInfo.name) { + this.taskSelect(this.data.taskInfo) + } }) }, taskSelect(item) { @@ -192,12 +260,6 @@ if (this.data.tasksListData.length > 0) { this.data.tasksListData.forEach((item1) => { let content = JSON.parse(item1.content) - this.setData({ - name: content.userName, - school: content.school, - class: content.class, - learnTime: content.learnTime, - }); if (content.id == this.data.taskInfo.id) { if (content.userId == this.data.userId) { this.setData({ @@ -207,33 +269,37 @@ school: content.school, class: content.class, learnTime: content.learnTime, - taskShow: true, }); + if (this.data.name && this.data.school && this.data.class) { + this.setData({ + taskShow: true, + }) + } this.getChildTasksList() if (content.evaluate.length > 0) { - content.evaluate.forEach((element) => { - if (this.data.consumer == 'classmate') { - element.mateEvaluation = '' - } - if (this.data.consumer == 'teacher') { - element.teacherEvaluation = '' - } - }) + // content.evaluate.forEach((element) => { + // if (this.data.consumer == 'classmate') { + // element.mateEvaluation = '' + // } + // if (this.data.consumer == 'teacher') { + // element.teacherEvaluation = '' + // } + // }) this.setData({ dataList: content.evaluate, }); - } } } else { - this.goDetail(item) + return false } }) - - } else { + } + if (this.data.dataList.length == 0) { this.goDetail(item) } } + }, goDetail(item) { this.setData({ @@ -265,9 +331,18 @@ item.teacherEvaluation = '' }) } - this.setData({ - dataList: res.datas.cmsDatas[0].datas, - }); + if (this.data.name && this.data.school && this.data.class) { + this.setData({ + dataList: res.datas.cmsDatas[0].datas, + taskShow: true, + }) + } else { + wx.showToast({ + title: "璇峰厛濉啓涓汉淇℃伅", + icon: 'none', + duration: 1000 + }) + } }) }, getChildTasksList() { @@ -286,19 +361,49 @@ if (res.datas.length > 0) { let list = [] this.data.dataList.forEach((item) => { + item.teacherEvaluation = [] + item.mateEvaluation = [] res.datas.forEach((item1) => { let content = JSON.parse(item1.content) - if (content.teacherComment) { + if (content.teacherComment.length > 0) { content.teacherComment.forEach((item2) => { if (item.id == item2.childTaskId) { - item.teacherEvaluation.push(item2) + item.teacherEvaluation = [item2] + if (this.data.consumer == 'teacher') { + this.setData({ + evaluated: true + }); + } } }) } - if (content.mateComment) { + if (item.teacherEvaluation && item.teacherEvaluation.length > 0) { + this.setData({ + teacherEvaluated: true + }); + } + if (content.mateComment.length > 0) { content.mateComment.forEach((item3) => { if (item.id == item3.childTaskId) { - item.mateEvaluation.push(item3) + item.mateEvaluation = [...item.mateEvaluation, item3] + if (this.data.consumer == 'classmate') { + if (item.mateEvaluation && item.mateEvaluation.length > 0) { + let data = item.mateEvaluation.find( + (item) => item.userId == this.data.userId + ) + if (data) { + this.setData({ + evaluated: true + }); + item.mateEvaluation = [data] + } else { + this.setData({ + evaluated: false + }); + item.mateEvaluation = '' + } + } + } } }) } @@ -312,16 +417,31 @@ }) }, + // 涓汉淇℃伅濉啓 + bindTnputBlur(e) { + this.setData({ + name: e.detail.value + }) + }, + onSchoolInput(e) { + this.setData({ + school: e.detail.value + }) + }, + bindClassBlur(e) { + this.setData({ + class: e.detail.value + }) + }, + //浠诲姟濉啓 //鍙嶆�� onIntrospectionInput(e) { - console.log(e) let index = e.target.dataset.index let data = 'dataList[' + index + '].introspection' this.setData({ [data]: e.detail.value }); - console.log(this.data.dataList) }, //瀹屾垚鎯呭喌 onCompletionInput(e) { @@ -338,7 +458,6 @@ this.setData({ [data]: e.detail.value }); - console.log(this.data.dataList) }, //鍚屼即璇勪环 onMateInput(e) { @@ -461,7 +580,6 @@ }) }, onInviteeChange(e) { - console.log(e) this.setData({ invitee: e.detail.value }); @@ -475,47 +593,62 @@ }, confirmBtn() { - wx.showShareMenu({ - withShareTicket: true - }); - console.log(888) + if (this.data.invitee == 'teacher' && this.data.teacherEvaluated) { + wx.showToast({ + title: "鏁欏笀宸茬粡璇勪环锛屼笉鑳藉啀閭�璇锋暀甯堣瘎浠凤紒", + icon: 'none', + duration: 1000 + }) + } else { + wx.showShareMenu({ + withShareTicket: true + }); + } + }, submitComment() { let mateEvaluationList = [] let teacherEvaluationList = [] this.data.dataList.forEach((item) => { if (this.data.consumer == 'classmate') { - if (item.mateEvaluation == '') { - wx.showToast({ - title: "璇峰厛濉瘎浠�", - icon: 'none', - duration: 1000 - }) - } else { + if (item.mateEvaluation && item.mateEvaluation != '') { mateEvaluationList.push({ childTaskId: item.id, + userId: this.data.userId, userName: this.data.userName, evaluation: item.mateEvaluation }) } } - if (this.data.consumer == 'teacher') { - if (item.teacherEvaluation == '') { - wx.showToast({ - title: "璇峰厛濉瘎浠�", - icon: 'none', - duration: 1000 - }) - } else { + if (item.teacherEvaluation && item.teacherEvaluation != '') { teacherEvaluationList.push({ childTaskId: item.id, + userId: this.data.userId, userName: this.data.userName, evaluation: item.teacherEvaluation }) } } }) + if (this.data.consumer == 'classmate') { + if (mateEvaluationList.length < this.data.dataList.length) { + wx.showToast({ + title: "璇峰厛濉啓璇勪环", + icon: 'none', + duration: 1000 + }) + } + } + if (this.data.consumer == 'teacher') { + if (teacherEvaluationList.length < this.data.dataList.length) { + wx.showToast({ + title: "璇峰厛濉啓璇勪环", + icon: 'none', + duration: 1000 + }) + } + } let content = { id: this.data.taskInfo.id, taskName: this.data.taskInfo.name, @@ -563,7 +696,7 @@ onShareAppMessage() { return { title: '璇勪环瀛︿範浠诲姟鍗�', - path: `packageBookService/pages/bookServices/detail/components/learnTask/index?bookId=${this.data.bookId}&consumer=${this.data.invitee}&taskId=${this.data.taskInfo.id}&userId=${this.data.userId}`, + path: `packageBookService/pages/bookServices/detail/components/learnTask/index?bookId=${this.data.bookId}&consumer=${this.data.invitee}&taskId=${this.data.taskInfo.id}&userId=${this.data.userId}&cmsPath=${this.data.cmsPath}`, imgUrl: 'https://jsek.bnuic.com/home/image/click-icon.png', } } -- Gitblit v1.9.1