From f72f8966ba4e1715e8df82d5cf1c7e912b6da719 Mon Sep 17 00:00:00 2001 From: yiming <m13691596795@163.com> Date: 星期一, 01 四月 2024 10:21:07 +0800 Subject: [PATCH] 检索的bug --- packageBookService/pages/bookServices/detail/buyResource/index.js | 179 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 164 insertions(+), 15 deletions(-) diff --git a/packageBookService/pages/bookServices/detail/buyResource/index.js b/packageBookService/pages/bookServices/detail/buyResource/index.js index 39062f7..07134d2 100644 --- a/packageBookService/pages/bookServices/detail/buyResource/index.js +++ b/packageBookService/pages/bookServices/detail/buyResource/index.js @@ -12,12 +12,18 @@ openLearnids: [], bookId: '', loading: false, + shoppingList: [], + shoppingCartGetId: [], + methodId: [], + paymentPage: false, + superior: false }, /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇 */ onLoad(options) { + const systInfo = wx.getSystemInfoSync(); const menu = wx.getMenuButtonBoundingClientRect(); // 鑳跺泭淇℃伅 const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 瀵艰埅鏍忛珮搴� @@ -28,7 +34,12 @@ }); this.getResourceClass() console.log(options); - this.getResourceData({ productLinkPath: options.productLinkPath, refCode: options.refCode }) + this.getResourceData({ + productLinkPath: options.productLinkPath, + refCode: options.refCode + }) + this.getShoppingCartProductGet() + this.getBookInfo(options.bookId) }, /** @@ -123,7 +134,8 @@ 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 + item.checked = false, + item.checkAll = true }) const list = await this.getAllResource(res.datas.cmsDatas[0].datas) if (type.refCode == 'jsek_teachingResources') { @@ -133,15 +145,17 @@ }) this.findChildIds(this.data.teach, this.data.openTeachids = []) } else if (type.refCode == 'jsek_cloudLearning') { + const result = [] res.datas.cmsDatas[0].datas.forEach(item => { item.checked = false }) - const list = await this.getAllResource(res.datas.cmsDatas[0].datas) + this.findChildIds(list, result) this.setData({ learn: list, - loading: false + loading: false, + openLearnids: result }) - this.findChildIds(this.data.learn, this.data.openLearnids = []) + console.log('鏁欏璧勬簮', list); } } else { // 鏃犳暟鎹� @@ -270,27 +284,64 @@ }); }, - // 鍒ゆ柇璧勬簮鏄惁璐拱 - resourceIsBuy(data) { - if (data.saleMethod && data.saleMethod.length) { - const isSHow = this.data.buyIdList.some((item) => item == data.saleMethod[0].Id) - return !isSHow - } else { + // 鑾峰彇宸茶喘涔板晢鍝� + getShoppingCartProductGet() { + let query = { + start: 0, + size: 999, + filterList: [], + searchList: [] + } + app.MG.store.getShoppingCartProductList(query).then((res) => { + const list = [] + res.datas.forEach((item) => { + list.push(item.saleMethod.id) + }) + this.setData({ + shoppingList: res.datas, + shoppingCartGetId: list + }) + }) + }, + // 鍒ゆ柇璧勬簮鏄惁璐拱 + resourceIsBuy(data) { + if (data.saleMethod && data.saleMethod.length) { + const isSHow = this.data.buyIdList.some((item) => item == data.saleMethod[0].Id) + return !isSHow + } else { + return false + } + }, + // 鍒ゆ柇璧勬簮鍔犲叆璐墿杞︽寜閽槸鍚︽樉绀� + isShoppingCart(data) { + if (data.saleMethod && data.saleMethod.length) { + if (data.saleMethod[0].Price <= 0) return false + // 鍐嶅垽鏂槸鍚﹁喘涔� + const isBuy = this.data.buyIdList.some((item) => item == data.saleMethod[0].Id) + if (isBuy) { + // 璐拱浜� return false + } else { + // 鍒ゆ柇鏄惁鍔犲叆璐墿杞� + const isSHow = this.data.shoppingCartGetId.some((item) => item == data.saleMethod[0].Id) + return !isSHow } - }, + } else { + return false + } + }, // 鑾峰彇灞曞紑椤� findChildIds(data, result) { let index = 0 for (let i = 0; i < data.length; i++) { if (index < 3) { const item = data[i] - if (item.childrenFolderCount > 0) { + if (item.children && item.children.length > 0) { result.push(item.id) for (let j = 0; j < item.children.length; j++) { if (index < 3) { const childrenItme = item.children[j] - if (item.childrenCount > 0) { + if (item.children && item.children.length > 0) { result.push(childrenItme.id) index += 1 } @@ -298,7 +349,7 @@ break } } - } else if (item.childrenCount > 0) { + } else if (item.children && item.children.length > 0) { result.push(item.id) index += 1 } @@ -318,4 +369,102 @@ }) }) }, + checkAll() { + const child = this.selectComponent('#tree') + child.checkAll() + + }, + //璐拱鎸夐挳 + batchPurchase() { + + + + let saleMethodIds = [] + let requests = [] + 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 => ({ + saleMethodId: id, + count: 1, + })), + }).then(res => { + if (res) { + wx.navigateTo({ + url: '/pages/cart/paymentPage/index?orderNumber=' + res.orderNumber, + }) + selectAllId = [] + child.setData({ + selectAll: [] + }) + + } + }) + } + 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 => ({ + saleMethodId: id, + count: 1, + })), + }).then(res => { + if (res) { + wx.navigateTo({ + url: '/pages/cart/paymentPage/index?orderNumber=' + res.orderNumber, + }) + + child.setData({ + superiorPurchaseSaleMethodId: [] // 浣跨敤setData鏂规硶娓呯┖sonPurchaseSaleMethodId鏁版嵁 + }) + } + }) + } + if (item.length == 0 && sonItem) { + app.MG.store.initOrder({ + requests: sonItem.map(id => ({ + saleMethodId: id, + count: 1, + })), + }).then(res => { + if (res) { + wx.navigateTo({ + url: '/pages/cart/paymentPage/index?orderNumber=' + res.orderNumber, + }) + this.setData({ + paymentPage: true + }) + child.setData({ + sonPurchaseSaleMethodId: [] // 浣跨敤setData鏂规硶娓呯┖sonPurchaseSaleMethodId鏁版嵁 + }) + } + }) + } + }, + }) \ No newline at end of file -- Gitblit v1.9.1