From 9e5a84a4e41d7ab2cb820c7f77122f69a9d036dd Mon Sep 17 00:00:00 2001 From: 闫增涛 <1829501689@qq.com> Date: 星期二, 26 三月 2024 20:15:09 +0800 Subject: [PATCH] 图书列表、详情代码修改 --- packageBookService/pages/bookServices/detail/components/tree/index.js | 71 ++++++++++++++++++++++++++++++----- 1 files changed, 60 insertions(+), 11 deletions(-) diff --git a/packageBookService/pages/bookServices/detail/components/tree/index.js b/packageBookService/pages/bookServices/detail/components/tree/index.js index 85c10dc..a8c4313 100644 --- a/packageBookService/pages/bookServices/detail/components/tree/index.js +++ b/packageBookService/pages/bookServices/detail/components/tree/index.js @@ -41,18 +41,44 @@ webpageSrc: '', cloudShoppingCart: [] }, + ready() { + this.setData({ + + }) + console.log('鍑嗗'); + }, onShow() { }, - + observers: { + 'openIds': function (newValue) { + var myEventDetail = { + } + var myEventOption = { + bubbles: true, + composed: true + } + this.triggerEvent('handleTree', myEventDetail, myEventOption) + } + }, methods: { + + handleList(tree) { + for (let index = 0; index < tree.length; index++) { + const item = tree[index]; + if (item.sysType == 'CmsItem' && !item.checked) { + + } + if (item.children && item.children.length > 0) { + this.handleList(item.children) + } + } + }, // 鑺傜偣灞曞紑 handleChange(e) { - // console.log(this.properties.treeList, 'this.properties.treeList'); this.setData({ - activeValues: e.detail.value, + openIds: e.detail.value, }); - // console.log('浼犻��', this.properties.buyIds); }, handleCheck(data) { for (let index = 0; index < data.length; index++) { @@ -182,15 +208,10 @@ }, // 鎷垮埌褰撳墠椤瑰瓙椤� flattenTree(tree) { - let result = []; - function flatten(node) { - result.push(node); - if (node.children && node.children.length > 0) { - node.children.forEach(child => { flatten(child); }); @@ -235,7 +256,6 @@ } } else if (id == node.id && node.sysType == "CmsItem") { - debugger node.checked = !node.checked // 灏嗙洰鏍囬」鐨� check 灞炴�ц缃负 true } } @@ -243,6 +263,23 @@ findAndUpdate(node); // 瀵规瘡涓《灞傝妭鐐规墽琛屾煡鎵惧拰鏇存柊鎿嶄綔 } return tree; // 杩斿洖淇敼鍚庣殑瀹屾暣鏁扮粍 + }, + + checkAll() { + const ids = [] + const list = [] + this.properties.treeList.forEach(item => { + if (item.children && item.children.length > 0) { + list.push(...this.flattenTree([item])) + } + }) + list.forEach(item => { + ids.push(item.id) + }) + const updataList = this.findAndUpdateItemsByIds(this.properties.treeList, ids); + this.setData({ + treeList: updataList + }) }, // 绔犺妭鍕鹃�� @@ -272,7 +309,12 @@ // 瀛愰」鍕鹃�� checkResource(e) { const citem = e.currentTarget.dataset.item - this.checkResoucrceInfo(this.properties.treeList, citem.id) + console.log(e); + const updataList = this.checkResoucrceInfo(this.properties.treeList, citem.id) + console.log(updataList); + this.setData({ + treeList: updataList + }) }, // 鍔犲叆璐墿杞� async onCloudShoppingCart() { @@ -305,4 +347,11 @@ // } }, }, + onCheckAllChange(e) { + debugger + console.log('checkbox', e.detail.value); + // this.setData({ + // checkAllValues: event.detail, + // }); + } }) \ No newline at end of file -- Gitblit v1.9.1