From ccda9ec2fe70d8f51ef184eafc04b78d22dfbabd Mon Sep 17 00:00:00 2001 From: litian <C21AF165> Date: 星期三, 26 六月 2024 15:02:28 +0800 Subject: [PATCH] 小程序,教材,课程 --- packageBookService/pages/bookServices/detail/index.js | 177 +++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 99 insertions(+), 78 deletions(-) diff --git a/packageBookService/pages/bookServices/detail/index.js b/packageBookService/pages/bookServices/detail/index.js index 110d42b..57f03e7 100644 --- a/packageBookService/pages/bookServices/detail/index.js +++ b/packageBookService/pages/bookServices/detail/index.js @@ -16,6 +16,7 @@ options: { id: "", name: "", + storeInfo: '', }, bookDetail: {}, bookClass: [], @@ -37,6 +38,8 @@ openTeachids: [], openLearnids: [], openTestids: [], + isGoBuyResource: true, + learnPath: '', applyResourceState: false, // 鐢宠鏁欏璧勬簮鎸夐挳闃叉姈 resourceClassList: [], // 璧勬簮鎵�灞炲垎绫� applyState: "", // 鏁欏璧勬簮鐢宠鐘舵�� @@ -150,7 +153,8 @@ }, ], showIndex: '', - successOrderNumber: '' + successOrderNumber: '', + applicationState: '' // 鐢靛瓙鏍蜂功鐢宠鐘舵�� }, resetTree: function (e) { @@ -176,6 +180,7 @@ options: { id: options.id, name: options.name, + storeInfo: options.storeInfo, }, }); wx.setNavigationBarTitle({ @@ -345,6 +350,7 @@ "mockData.count": 0, }); const query = { + storeInfo: this.data.options.storeInfo, path: "*", queryType: "*", productId: id, @@ -637,6 +643,8 @@ this.setData({ showIndex: '1' }) + console.log(this.data.bookDetail.icon, '0111111'); + console.log(this.data.bookDetail.name, '45688'); }, // 璺宠浆缃戝簵 goShop(e) { @@ -745,7 +753,7 @@ return num }, - // 缁櫬风洰褰曟坊鍔犲瓙椤规暟閲� + // 缁欑洰褰曟坊鍔犲瓙椤规暟閲� changeResourceChildren(list) { const changeList = (list) => { for (let index = 0; index < list.length; index++) { @@ -765,9 +773,10 @@ }, // 鎵佸钩鍖栨暟鎹浆鎹ree - getTreeList(rootList, pathLength, newArr, path) { + getTreeList(rootList, pathLength, newArr, path, addNum) { for (const item of rootList) { - if (item.productLinkPath.length == pathLength && item.productLinkPath.includes(path)) { + // 姝ゅ鍘熸湰 item.productLinkPath.length == pathLength 浣� productLinkPath 闀垮害涓埆涔﹀瓨鍦�4銆�5浣嶄氦閿� + if ((pathLength - item.productLinkPath.length >= 0 && pathLength - item.productLinkPath.length <= 3) && item.productLinkPath.includes(path)) { if (item.sysType == 'CmsItem') { if (item.selectType == 'webpage') { item.disabled = true @@ -782,13 +791,13 @@ } // newArr.push(item) // 鍦ㄦ彃鍏ヨ繃绋嬩腑瀵规暟鎹繘琛屾帓搴� - newArr = this.insertAndSortObjectsByProductLinkPath(newArr, item) + newArr = this.insertAndSortObjectsByProductLinkPath(newArr, item, addNum) } } //缁欐暟缁勯噷闈㈠啀娣诲姞涓�涓猚hildren鐨勭┖鏁扮粍 for (const i of newArr) { i.children = [] - this.getTreeList(rootList, pathLength + 6, i.children, i.productLinkPath) + this.getTreeList(rootList, pathLength + addNum, i.children, i.productLinkPath, addNum) if (i.children.length == 0) { delete i.children } @@ -813,9 +822,9 @@ }, // 鎺掑簭鏁扮粍 鎸夌収productLinkPath - insertAndSortObjectsByProductLinkPath(array, newObj) { + insertAndSortObjectsByProductLinkPath(array, newObj, addNum) { // 鏌ユ壘鏂板璞″簲璇ユ彃鍏ョ殑浣嶇疆 - let insertIndex = array.findIndex(obj => Number(newObj.productLinkPath.substring(newObj.productLinkPath.length - 6, newObj.productLinkPath.length)) < Number(obj.productLinkPath.substring(obj.productLinkPath.length - 6, obj.productLinkPath.length))); + let insertIndex = array.findIndex(obj => Number(newObj.productLinkPath.substring(newObj.productLinkPath.length - addNum, newObj.productLinkPath.length)) < Number(obj.productLinkPath.substring(obj.productLinkPath.length - addNum, obj.productLinkPath.length))); // 濡傛灉娌℃湁鎵惧埌鍚堥�傜殑浣嶇疆锛屽垯鏀惧湪鏁扮粍鏈熬 if (insertIndex === -1) { @@ -826,10 +835,10 @@ // 娴嬭瘯6 姝e紡5 // 瀵规暟缁勮繘琛屾帓搴� array.sort((a, b) => { - if (Number(a.productLinkPath.substring(a.productLinkPath.length - 5, a.productLinkPath.length)) < Number(b.productLinkPath.substring(b.productLinkPath.length - 5, b.productLinkPath.length))) { + if (Number(a.productLinkPath.substring(a.productLinkPath.length - addNum, a.productLinkPath.length)) < Number(b.productLinkPath.substring(b.productLinkPath.length - addNum, b.productLinkPath.length))) { return -1; } - if (Number(a.productLinkPath.substring(a.productLinkPath.length - 5, a.productLinkPath.length)) > Number(b.productLinkPath.substring(b.productLinkPath.length - 5, b.productLinkPath.length))) { + if (Number(a.productLinkPath.substring(a.productLinkPath.length - addNum, a.productLinkPath.length)) > Number(b.productLinkPath.substring(b.productLinkPath.length - addNum, b.productLinkPath.length))) { return 1; } // a must be equal to b @@ -848,6 +857,7 @@ let query = { path: '*', queryType: '*', + storeInfo: this.data.options.storeInfo, productId: this.data.bookDetail.id, cmsPath: type.productLinkPath, cmsType: '*', @@ -855,6 +865,7 @@ SysType: 'CmsFolder', // 璧勬簮绫诲瀷锛岃瘯璇绘枃浠讹紝鏄惁鍏佽涓嬭浇绛夊弬鏁� selectType: [], + learnSelectType: [], freeFile: [], file: [], protectedFile: [], @@ -897,7 +908,25 @@ } } }); - this.getTreeList(res.datas.cmsDatas[0].datas, 17, list, '\\') + if (type.refCode == "jsek_cloudLearning") { + this.setData({ + learnPath: type.productLinkPath + }) + const dataList = res.datas.cmsDatas[0].datas + if (dataList.length) { + const tag = dataList.findIndex(item => item.saleMethod.length && item.saleMethod[0].Price > 0) + this.setData({ + isGoBuyResource: tag > -1 ? true : false + }) + } else { + this.setData({ + isGoBuyResource: false + }) + } + } + const addNum = query.cmsPath.length > 12 ? 7 : query.cmsPath.length > 14 ? 8 : 6 + const num = query.cmsPath.length + addNum + this.getTreeList(res.datas.cmsDatas[0].datas, num, list, '\\', addNum) list = this.ensureTreeConsistency(list) list = this.changeResourceChildren(list) console.log('淇敼鍚庝簯', list); @@ -939,8 +968,10 @@ let query = { path: "*", queryType: "*", + storeInfo: this.data.options.storeInfo, productId: this.data.bookDetail.id, cmsPath: type.productLinkPath, + cmsType: '*', itemFields: { SysType: "CmsFolder", // 璧勬簮绫诲瀷锛岃瘯璇绘枃浠讹紝鏄惁鍏佽涓嬭浇绛夊弬鏁� @@ -969,59 +1000,24 @@ } // 浜戞祴璇曪紝閫掑綊璇锋眰閲屽眰鏁版嵁 if (type.refCode == "questionBank") { - const data = res.datas.cmsDatas[0].datas.filter( - (item) => item.refCode == "jsek_questionBank" - ); - if (data.length) return this.getResourceData(data[0]); - } - //鏁欏璧勬簮 浜戝涔� - if ( - type.refCode == "jsek_teachingResources" || - type.refCode == "jsek_cloudLearning" - ) { - if (res.datas.cmsDatas[0].datas.length > 0) { - res.datas.cmsDatas[0].datas.forEach((item) => { - item.checked = false; - }); - const list = await this.getAllResource(res.datas.cmsDatas[0].datas); + const data = res.datas.cmsDatas[0].datas.filter((item) => item.type == 'questionBankFolder' && item.childrenFolderCount > 0); + if (data.length > 0) { + let list = [] + console.log(query.cmsPath, query.cmsPath.length) + // 娴嬭瘯 6浣�// 姝e紡 5浣�// 娴嬭瘯璋冪敤浼�20锛屽唴閮�7 姝e紡璋冪敤浼�17 鍐呴儴浼�6 + const addNum = query.cmsPath.length > 12 ? 7 : query.cmsPath.length > 14 ? 8 : 6 + const num = query.cmsPath.length + addNum + this.getTreeList(data, num, list, '\\', addNum) + list = this.ensureTreeConsistency(list) let result = []; - if (type.refCode == "jsek_teachingResources") { - this.findChildIds(list, result); - this.setData({ - teach: list, - loading: false, - openTeachids: result, - }); - } else if (type.refCode == "jsek_cloudLearning") { - let arr = this.handleTreeData(list).filter( - (item) => item.saleMethod[0] - ); - let freeIds = arr.filter((item) => { - return item.saleMethod[0].Price == 0; - }); - if (!freeIds.length) - this.setData({ - isshowDrawBtn: false, - }); - this.findChildIds(list, result); - this.setData({ - learn: list, - loading: false, - openLearnids: result, - }); - } - console.log(list, '浜戝缈�789'); - } else { - // 鏃犳暟鎹� + this.findChildIds(list[0].children, result); + this.setData({ + test: list[0].children, + loading: false, + openTeachids: result, + }); + console.log(this.data.test, "test") } - } else if (type.refCode == "jsek_questionBank") { - // const list = await this.getAllResource(res.datas.cmsDatas[0].datas) - this.setData({ - test: res.datas.cmsDatas[0].datas, - loading: false, - }); - } else { - console.log("鍏朵粬"); } }) .catch((e) => { @@ -1046,6 +1042,7 @@ let query = { path: "*", queryType: "*", + storeInfo: this.data.options.storeInfo, productId: this.data.bookDetail.id, cmsPath: path, itemFields: { @@ -1210,7 +1207,6 @@ // 鍙戣捣璁㈠崟鍒濆鍖栬姹傚苟绛夊緟缁撴灉 const res = await app.MG.store.initOrder(query); // 鑾峰彇璁㈠崟鍙峰苟璧嬪�肩粰 orderNumber.value - console.log(res, 'res456'); bookOrdersId = res.orderNumber; // 妫�鏌ヨ鍗曞彿鏄惁瀛樺湪 if (bookOrdersId) { @@ -1323,7 +1319,6 @@ }, // 鐢宠鏁欏璧勬簮 applyResource() { - // if (this.data.applyResourceState) { // return wx.showToast({ // icon: "error", @@ -1559,7 +1554,7 @@ if (isSHow) { return false; } else { - return data.saleMethod[0].price > 0 ? true : false; + return data.saleMethod[0].Price > 0 ? true : false; } return !isSHow; } else { @@ -1609,7 +1604,6 @@ }, updateShoppingCartHidden() { - const isSHow = this.data.shoppingCartGetId.some( (item) => item == data.saleMethod[0].Id ); @@ -1684,19 +1678,19 @@ }; // 纭璁㈠崟 const confirmOrderRes = await app.MG.store.confirmOrder(parameter); - console.log(confirmOrderRes.orderNumber, 'confirmOrderRes.orderNumber'); - if (confirmOrderRes.orderNumber) { child.changeReceive(false); wx.showToast({ title: "棰嗗彇鎴愬姛", }); this.getBookInfo(this.data.bookId); + this.getResourceDataList({ + refCode: 'jsek_cloudLearning', + productLinkPath: this.data.learnPath + }) this.setData({ successOrderNumber: confirmOrderRes.orderNumber }) - - } } catch (error) { console.log(error); @@ -2022,6 +2016,7 @@ this.data.bookBuy + "&bookId=" + this.data.bookDetail.id, + }); }, @@ -2086,6 +2081,20 @@ list.push(item); } }); + const smBook = list.find(item => item.content[0].id == this.data.bookDetail.id) + console.log('宸茬敵璇�', smBook); + if (smBook && smBook.state == 'Normal') { + const flag = new Date(smBook.feedBack.endDate + '23:59:59').getTime() > new Date().getTime() + if (flag) { + this.setData({ + applicationState: 'Normal' + }) + } else { + this.setData({ + applicationState: 'overdue' + }) + } + } this.setData({ alreadyElectronicBookList: list, }); @@ -2174,15 +2183,27 @@ return false; } let isApply = this.data.alreadyElectronicBookList.find( - (eitem) => eitem.id == this.data.bookDetail.id + (eitem) => eitem.content[0].id == this.data.bookDetail.id ); if (isApply) { - wx.showToast({ - title: "璇ヤ功宸茬敵璇凤紒", - icon: "none", - duration: 1000, - }); - return false; + if (isApply.state == 'WaitAudit') { + wx.showToast({ + title: "璇ヤ功宸茬敵璇凤紒", + icon: "none", + duration: 1000, + }); + return false; + } else if (isApply.state == 'Normal') { + const flag = new Date(isApply.feedBack.endDate + '23:59:59').getTime() > new Date().getTime() + if (flag) { + wx.showToast({ + title: "璇ヤ功宸茬敵璇凤紒", + icon: "none", + duration: 1000, + }); + return false; + } + } } if (this.data.electronicBookList.length >= 2) { wx.showToast({ @@ -2250,7 +2271,7 @@ return false; } let isApply = this.data.alreadyPaperBookList.find( - (pitem) => pitem.id == this.data.bookDetail.id + (pitem) => pitem.content[0].id == this.data.bookDetail.id ); if (isApply) { wx.showToast({ -- Gitblit v1.9.1