From 20a26aa0c12c05c3f96afc163c6532c6b1b5cf8e Mon Sep 17 00:00:00 2001 From: litian <C21AF165> Date: 星期四, 21 三月 2024 09:24:01 +0800 Subject: [PATCH] Merge refs/remotes/origin/master into refs/heads/master --- packageBookService/pages/bookServices/detail/components/tree/index.js | 110 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 92 insertions(+), 18 deletions(-) diff --git a/packageBookService/pages/bookServices/detail/components/tree/index.js b/packageBookService/pages/bookServices/detail/components/tree/index.js index 33cc8d7..eed99e1 100644 --- a/packageBookService/pages/bookServices/detail/components/tree/index.js +++ b/packageBookService/pages/bookServices/detail/components/tree/index.js @@ -3,6 +3,8 @@ const util = require('./components/util') // 寮曞叆灏佽杩囩殑鍔犺浇鎻愮ず const app = getApp() Component({ + // checked: false, + properties: { treeList: { type: Array, @@ -35,7 +37,8 @@ }, data: { activeValues: [0], - webpageSrc: '' + webpageSrc: '', + cloudShoppingCart: [] }, onShow() { @@ -45,10 +48,11 @@ methods: { // 鑺傜偣灞曞紑 handleChange(e) { + // console.log(this.properties.treeList, 'this.properties.treeList'); this.setData({ activeValues: e.detail.value, }); - console.log('浼犻��', this.properties.buyIds); + // console.log('浼犻��', this.properties.buyIds); }, handleCheck(data) { for (let index = 0; index < data.length; index++) { @@ -83,7 +87,7 @@ // 璺宠浆闊宠棰戞挱鏀惧櫒 goPlayer(e) { console.log(e); - debugger + // debugger const item = e.currentTarget.dataset.item const parent = e.currentTarget.dataset.parent let url @@ -168,7 +172,7 @@ result.push(...item.children); } } - console.log(this.properties.treeList); + console.log(this.properties.treeList, 'this.properties.treeList'); this.properties.treeList.forEach(item => { findChildren(item); }); @@ -176,20 +180,30 @@ }, // 鎷垮埌褰撳墠椤瑰瓙椤� flattenTree(tree) { + let result = []; + function flatten(node) { + result.push(node); + if (node.children && node.children.length > 0) { + node.children.forEach(child => { flatten(child); }); } } tree.forEach(node => { + flatten(node); }); + // console.log(result, 'result'); return result }, + + + findAndUpdateItemById(tree, id) { function findAndUpdate(node) { if (node.id === id) { @@ -214,9 +228,12 @@ }, // 鍙樹负true findAndUpdateItemsByIds(tree, ids) { + function findAndUpdate(node) { + if (ids.includes(node.id)) { - node.checked = true; // 灏嗙洰鏍囬」鐨� check 灞炴�ц缃负 true + // console.log(node, 'node'); + node.checked = !node.checked // 灏嗙洰鏍囬」鐨� check 灞炴�ц缃负 true } if (node.children && node.children.length > 0) { for (let child of node.children) { @@ -226,30 +243,87 @@ } for (let node of tree) { + findAndUpdate(node); // 瀵规瘡涓《灞傝妭鐐规墽琛屾煡鎵惧拰鏇存柊鎿嶄綔 } + // console.log(tree, 'tree345'); return tree; // 杩斿洖淇敼鍚庣殑瀹屾暣鏁扮粍 }, + // 绔犺妭鍕鹃�� checkResourceTitle(e) { + // 杩欎釜鏃跺�檆hecked鐨勫�兼槸fals const item = e.currentTarget.dataset.item - console.log(item, 'item'); + let list = this.flattenTree([item]) + + let ids = [] list.forEach(item => { ids.push(item.id) }) - const tab = this.findAndUpdateItemsByIds([item], ids) - console.log(ids, tab); - } + + const updatedTreeList = this.findAndUpdateItemsByIds(this.properties.treeList, ids); + // console.log(updatedTreeList, 'updatedTreeList'); //杩欎釜鏃跺�檆hecked鐨勫�煎氨鍙樻垚浜唗rue + + this.setData({ + treeList: updatedTreeList // 鏇存柊 treeList 鏁版嵁 + }); + + console.log(list, 'list'); + list.forEach(items => { + console.log(items.checked, 'itesasd'); + if (!items.checked) { + this.setData({ + cloudShoppingCart: items + }) + } + }) + + this.onCloudShoppingCart() + }, + // 瀛愰」鍕鹃�� + checkResource(e) { + const item = e.currentTarget.dataset.item + + + // let list = this.flattenTree([item]) + // console.log(list, 'list121'); + // let ids = [] + // list.forEach(items => { + // console.log(items.id, 'itemsId'); + // ids.push(items.id) + // }) + }, + // 鍔犲叆璐墿杞� + async onCloudShoppingCart() { + let requests = [] + const item = this.data.cloudShoppingCart + console.log(item, 'item'); + item.forEach((items) => { + if (items.saleMethod.length) { + requests.push({ + saleMethodId: items.saleMethod[0].Id, + count: 1 + }) + } + }) + let query = { + remarks: '浜戝涔�', + requests + } + // 鏌ヨ璁㈠崟 + let initOrderRes = await app.MG.store.initOrder(query) + let parameter = { + orderNum: initOrderRes.orderNumber + } + const confirmOrderRes = await app.MG.store.confirmOrder(parameter) + // if (confirmOrderRes.orderNumber) { + // wx.navigateTo({ + // url: `/pages/cart/paymentPage/index?orderNumber=${confirmOrderRes.orderNumber}`, + // }) + // requests = [] + // } + }, }, - onCloudShoppingCart() { - console.log(this.properties.treeList); - }, - oncheckbox() { - console.log(111); - }, - logdata(e) { - console.log(e); - } }) \ No newline at end of file -- Gitblit v1.9.1