From b125d3ea74d61fb8e4d7238c83906aeea52c6b4c Mon Sep 17 00:00:00 2001
From: litian <C21AF165>
Date: 星期二, 12 三月 2024 14:39:55 +0800
Subject: [PATCH] 更新代码

---
 pages/bookServices/detail/components/tree/index.js |  143 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 134 insertions(+), 9 deletions(-)

diff --git a/pages/bookServices/detail/components/tree/index.js b/pages/bookServices/detail/components/tree/index.js
index b0107f9..c7c1b33 100644
--- a/pages/bookServices/detail/components/tree/index.js
+++ b/pages/bookServices/detail/components/tree/index.js
@@ -1,3 +1,4 @@
+
 import Message from 'tdesign-miniprogram/message/message';
 const app = getApp()
 Component({
@@ -5,6 +6,10 @@
     treeList: {
       type: Array,
       value: []
+    },
+    bookInfo: {
+      type: Object,
+      value: {}
     },
     buyIds: {
       type: Array,
@@ -17,6 +22,14 @@
     applyState: {
       type: String,
       value: ''
+    },
+    openTeachids: {
+      type: Array,
+      value: ''
+    },
+    openLearnids: {
+      type: Array,
+      value: ""
     }
   },
   data: {
@@ -43,7 +56,6 @@
       }
     },
     downloadTeach(e) {
-      console.log('鐐瑰嚮浜�', e);
       const value = e.currentTarget.dataset.value
       var myEventDetail = {
         value,
@@ -53,15 +65,128 @@
         composed: true
       } // 瑙﹀彂浜嬩欢鐨勯�夐」
       this.triggerEvent('downloadTeach', myEventDetail, myEventOption)
+
     },
     // 鍒ゆ柇璧勬簮鏄惁璐拱
-resourceIsBuy (data) {
-  if (data.saleMethod && data.saleMethod.length) {
-    const isSHow = buyIdList.value.some((item) => item == data.saleMethod[0].Id)
-    return !isSHow
-  } else {
-    return false
-  }
-}
+    resourceIsBuy(data) {
+      if (data.saleMethod && data.saleMethod.length) {
+        const isSHow = buyIdList.value.some((item) => item == data.saleMethod[0].Id)
+        return !isSHow
+      } else {
+        return false
+      }
+    },
+    // 璺宠浆闊宠棰戞挱鏀惧櫒
+    goPlayer(e) {
+      const item = e.currentTarget.dataset.item
+      const parent = e.currentTarget.dataset.parent
+      //   "pages/resourceDetails/myAudio/index",
+      // "pages/resourceDetails/myVideo/index",
+      // "pages/resourceDetails/document/index",
+      let url
+      if (item.selectType == 'video') {
+        url = '/pages/resourceDetails/myVideo/index'
+      } else if (item.selectType == 'audio') {
+        url = '/pages/resourceDetails/myAudio/index'
+      } else {
+        url = '/pages/resourceDetails/document/index'
+      }
+      wx.navigateTo({
+        url: `${url}?productLinkPath=${item.productLinkPath}&parentProductLinkPath=${parent.productLinkPath}&parentName=${parent.name}&activeId=${item.id}&bookId=${this.properties.bookInfo.id}&bookName=${this.properties.bookInfo.name}&cmsId=${this.properties.bookInfo.rootCmsItemId}`,
+      })
+    },
+    // 鎷垮埌鎵�鏈夐」
+    getAllChildren(id) {
+      let result = [];
+      function findChildren(item) {
+        if (item.id === id) {
+          if (item.children && item.children.length > 0) {
+            item.children.forEach(child => {
+              findChildren(child);
+            });
+          }
+        } else {
+          if (item.children && item.children.length > 0) {
+            item.children.forEach(child => {
+              findChildren(child);
+            });
+          }
+        }
+        if (item.children && item.children.length > 0) {
+          result.push(...item.children);
+        }
+      }
+      this.properties.treeList.forEach(item => {
+        findChildren(item);
+      });
+      return result;
+    },
+    // 鎷垮埌褰撳墠椤瑰瓙椤�
+    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);
+      });
+      return result
+    },
+    findAndUpdateItemById(tree, id) {
+      function findAndUpdate(node) {
+        if (node.id === id) {
+          node.check = true; // 灏嗙洰鏍囬」鐨� check 灞炴�ц缃负 true
+          return true; // 杩斿洖 true 琛ㄧず鎵惧埌浜嗙洰鏍囬」
+        }
+        if (node.children && node.children.length > 0) {
+          for (let child of node.children) {
+            if (findAndUpdate(child)) {
+              return true; // 濡傛灉鍦ㄥ瓙鑺傜偣涓壘鍒颁簡鐩爣椤癸紝鍒欑洿鎺ヨ繑鍥� true
+            }
+          }
+        }
+        return false; // 琛ㄧず鏈壘鍒扮洰鏍囬」
+      }
+
+      for (let node of tree) {
+        if (findAndUpdate(node)) {
+          break; // 濡傛灉鍦ㄩ《灞傝妭鐐逛腑鎵惧埌浜嗙洰鏍囬」锛岀洿鎺ラ��鍑哄惊鐜�
+        }
+      }
+    },
+    // 鍙樹负true
+    findAndUpdateItemsByIds(tree, ids) {
+      function findAndUpdate(node) {
+        if (ids.includes(node.id)) {
+          node.checked = true; // 灏嗙洰鏍囬」鐨� check 灞炴�ц缃负 true
+        }
+        if (node.children && node.children.length > 0) {
+          for (let child of node.children) {
+            findAndUpdate(child); // 閫掑綊澶勭悊瀛愯妭鐐�
+          }
+        }
+      }
+
+      for (let node of tree) {
+        findAndUpdate(node); // 瀵规瘡涓《灞傝妭鐐规墽琛屾煡鎵惧拰鏇存柊鎿嶄綔
+      }
+      return tree; // 杩斿洖淇敼鍚庣殑瀹屾暣鏁扮粍
+    },
+    // 绔犺妭鍕鹃��
+    checkResourceTitle(e) {
+      const item = e.currentTarget.dataset.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);
+    }
   }
 })
\ No newline at end of file

--
Gitblit v1.9.1