From eeaef4fa1a06616e41ae8013c95e99bb3895aac5 Mon Sep 17 00:00:00 2001 From: litian <C21AF165> Date: 星期三, 17 四月 2024 18:10:10 +0800 Subject: [PATCH] 1 --- packageBookService/pages/bookServices/detail/buyResource/index.js | 119 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 89 insertions(+), 30 deletions(-) diff --git a/packageBookService/pages/bookServices/detail/buyResource/index.js b/packageBookService/pages/bookServices/detail/buyResource/index.js index 1de924a..7d889d3 100644 --- a/packageBookService/pages/bookServices/detail/buyResource/index.js +++ b/packageBookService/pages/bookServices/detail/buyResource/index.js @@ -17,12 +17,15 @@ paymentPage: false, superior: false, checkAllState: true, + productLinkPath: '', + refCode: '' }, /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇 */ onLoad(options) { + this.getBookInfo(options.bookId); const systInfo = wx.getSystemInfoSync(); const menu = wx.getMenuButtonBoundingClientRect(); // 鑳跺泭淇℃伅 const navBarHeight = @@ -31,15 +34,11 @@ barHeight: systInfo.statusBarHeight, navBarHeight: navBarHeight, bookId: options.bookId, + productLinkPath: options.productLinkPath, + refCode: options.refCode }); this.getResourceClass(); - console.log(options); - this.getResourceData({ - productLinkPath: options.productLinkPath, - refCode: options.refCode, - }); this.getShoppingCartProductGet(); - this.getBookInfo(options.bookId); }, /** @@ -148,8 +147,8 @@ loading: false, openLearnids: result, }); - console.log("鏁欏璧勬簮", list); } + console.log(list, '浜戝缈�'); } else { // 鏃犳暟鎹� } @@ -199,6 +198,7 @@ jsek_resourceBrief: [], jsek_link: [], accessType: [], + learnSelectType: [], }, pading: { start: 0, @@ -228,12 +228,12 @@ }); data.datas.cmsDatas[0].datas.forEach((item) => { item.checked = false; - item.isbuy = this.resourceIsBuy(item); + item.isbuy = this.isShowNeedBuy(item); item.isShopCar = this.isShoppingCart(item); }); return data.datas.cmsDatas[0].datas; }, - getBookInfo(id) { + async getBookInfo(id) { this.setData({ "mockData'.id": 0, "mockData.price": 0, @@ -271,12 +271,17 @@ freeEpubPage: [], //epub璇曡鐧惧垎姣� }, }; - app.MG.store.getProductDetail(query).then(async (res) => { + await app.MG.store.getProductDetail(query).then(async (res) => { this.setData({ bookDetail: res.datas, buyIdList: res.datas.purchasedSaleMethodIdList, }); + this.getResourceData({ + productLinkPath: this.data.productLinkPath, + refCode: this.data.refCode, + }); }); + }, // 鑾峰彇宸茶喘涔板晢鍝� getShoppingCartProductGet() { @@ -303,6 +308,22 @@ const isSHow = this.data.buyIdList.some( (item) => item == data.saleMethod[0].Id ); + return !isSHow; + } else { + return false; + } + }, + + isShowNeedBuy(data) { + if (data.saleMethod && data.saleMethod.length) { + const isSHow = this.data.buyIdList.some( + (item) => item == data.saleMethod[0].Id + ); + if (isSHow) { + return false; + } else { + return data.saleMethod[0].price > 0 ? true : false; + } return !isSHow; } else { return false; @@ -380,25 +401,15 @@ let item = []; let selectAllId = []; const child = this.selectComponent("#tree"); - - console.log( - child.data.superiorPurchaseSaleMethodId, - "superiorPurchaseSaleMethodId" - ); - console.log(child.data.sonPurchaseSaleMethodId, "child.data"); - // console.log(child.data.selectAll, 'selectAll'); item = child.data.superiorPurchaseSaleMethodId; const sonItem = child.data.sonPurchaseSaleMethodId; let selectAll = child.data.selectAll; if (selectAll) { - // console.log(selectAll); selectAll.forEach((item) => { if (item.saleMethod != 0) { - // console.log(item, 'item'); selectAllId.push(item.saleMethod[0].Id); } }); - console.log(selectAllId); app.MG.store .initOrder({ requests: selectAllId.map((id) => ({ @@ -409,8 +420,7 @@ .then((res) => { if (res) { wx.navigateTo({ - url: - "/pages/cart/paymentPage/index?orderNumber=" + res.orderNumber, + url: "/pages/cart/paymentPage/index?orderNumber=" + res.orderNumber, }); selectAllId = []; child.setData({ @@ -420,15 +430,12 @@ }); } if (item) { - console.log(item, "sadsdasd"); // 鎷垮埌id item.forEach((items) => { if (items.saleMethod != 0) { saleMethodIds.push(items.saleMethod[0].Id); } }); - console.log(saleMethodIds, "saleMethodIds"); - app.MG.store .initOrder({ requests: saleMethodIds.map((id) => ({ @@ -439,8 +446,7 @@ .then((res) => { if (res) { wx.navigateTo({ - url: - "/pages/cart/paymentPage/index?orderNumber=" + res.orderNumber, + url: "/pages/cart/paymentPage/index?orderNumber=" + res.orderNumber, }); child.setData({ @@ -460,8 +466,7 @@ .then((res) => { if (res) { wx.navigateTo({ - url: - "/pages/cart/paymentPage/index?orderNumber=" + res.orderNumber, + url: "/pages/cart/paymentPage/index?orderNumber=" + res.orderNumber, }); this.setData({ paymentPage: true, @@ -473,4 +478,58 @@ }); } }, -}); + + // 绔犺妭鍕鹃�夋柟娉� + findAndUpdateItemsByIds(tree, ids, state) { + function findAndUpdate(node) { + if (ids.includes(node.id)) { + // console.log(node, 'node'); + node.checked = state; // 灏嗙洰鏍囬」鐨� check 灞炴�ц缃负 true + } + if (node.children && node.children.length > 0) { + for (let child of node.children) { + findAndUpdate(child); // 閫掑綊澶勭悊瀛愯妭鐐� + } + } + } + for (let node of tree) { + findAndUpdate(node); // 瀵规瘡涓《灞傝妭鐐规墽琛屾煡鎵惧拰鏇存柊鎿嶄綔 + } + // console.log(tree, 'tree345'); + return tree; // 杩斿洖淇敼鍚庣殑瀹屾暣鏁扮粍 + }, + // 鍗曚釜鍕鹃�夋柟娉� + checkResoucrceInfo(tree, id) { + function findAndUpdate(node) { + if (node.sysType == "CmsFolder" && node.children.length > 0) { + for (let index = 0; index < node.children.length; index++) { + const element = node.children[index]; + findAndUpdate(element); + } + } else if (id == node.id && node.sysType == "CmsItem") { + node.checked = !node.checked; // 灏嗙洰鏍囬」鐨� check 灞炴�ц缃负 true + } + } + for (let node of tree) { + findAndUpdate(node); // 瀵规瘡涓《灞傝妭鐐规墽琛屾煡鎵惧拰鏇存柊鎿嶄綔 + } + return tree; // 杩斿洖淇敼鍚庣殑瀹屾暣鏁扮粍 + }, + // 绔犺妭鍕鹃�変簨浠� + changeListChecked(e) { + const ids = e.detail.ids + const state = e.detail.flag + const updated = this.findAndUpdateItemsByIds(this.data.learn, ids, state) + this.setData({ + learn: updated + }) + }, + // 鍗曚釜鍕鹃�変簨浠� + changeResourceChecked(e) { + const id = e.detail.id + const updated = this.checkResoucrceInfo(this.data.learn, id) + this.setData({ + learn: updated + }) + } +}); \ No newline at end of file -- Gitblit v1.9.1