From d1deef73e9c402c57600bfa2384037ba78a97de7 Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期二, 26 三月 2024 15:09:51 +0800
Subject: [PATCH] 云学习bug修改

---
 packageBookService/pages/bookServices/detail/components/learnResource/learnResource.wxml |   12 ++++--
 packageBookService/pages/bookServices/detail/buyResource/index.js                        |   14 +++++--
 packageBookService/pages/bookServices/detail/components/learnResource/learnResource.wxss |    7 +++
 packageBookService/pages/bookServices/list/index.wxss                                    |    2 
 packageBookService/pages/bookServices/detail/components/tree/index.js                    |   53 +++++++++++++++++++++++---
 packageBookService/pages/bookServices/detail/buyResource/index.wxml                      |    3 +
 6 files changed, 73 insertions(+), 18 deletions(-)

diff --git a/packageBookService/pages/bookServices/detail/buyResource/index.js b/packageBookService/pages/bookServices/detail/buyResource/index.js
index bcefddd..bace5c3 100644
--- a/packageBookService/pages/bookServices/detail/buyResource/index.js
+++ b/packageBookService/pages/bookServices/detail/buyResource/index.js
@@ -127,7 +127,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') {
@@ -137,15 +138,16 @@
               })
               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 = [])
             }
           } else {
             // 鏃犳暟鎹�
@@ -359,4 +361,8 @@
       })
     })
   },
+  checkAll() {
+    const child = this.selectComponent('#tree')
+    child.checkAll()
+  }
 })
\ No newline at end of file
diff --git a/packageBookService/pages/bookServices/detail/buyResource/index.wxml b/packageBookService/pages/bookServices/detail/buyResource/index.wxml
index 24a654e..2b2ecbd 100644
--- a/packageBookService/pages/bookServices/detail/buyResource/index.wxml
+++ b/packageBookService/pages/bookServices/detail/buyResource/index.wxml
@@ -13,13 +13,14 @@
     </view>
     <view class="navbar-title">璧勬簮璐拱</view>
   </view>
-  <view> 鍏ㄩ�� </view>
+  <view bind:tap="checkAll"> 鍏ㄩ�� </view>
 </view>
 
 <!-- 鍐呭 -->
 
 <view class="buy-resource" wx:if="{{!loading}}">
   <tree
+    id="tree"
     treeList="{{learn}}"
     tab="{{'jsek_cloudLearning'}}"
     isShowCheck="{{true}}"
diff --git a/packageBookService/pages/bookServices/detail/components/learnResource/learnResource.wxml b/packageBookService/pages/bookServices/detail/components/learnResource/learnResource.wxml
index 6f9de93..45b7081 100644
--- a/packageBookService/pages/bookServices/detail/components/learnResource/learnResource.wxml
+++ b/packageBookService/pages/bookServices/detail/components/learnResource/learnResource.wxml
@@ -8,8 +8,10 @@
     t-class="external-class"
     bind:tap="getFreeResource"
   >
-    <image src=" /static/images/bookService/detail/yijianlingqu.png" />
-    <text>棰嗗彇鏌ョ湅</text>
+    <view slot="content" class="btn-content">
+      <image src=" /static/images/bookService/detail/yijianlingqu.png" />
+      <text>棰嗗彇鏌ョ湅</text>
+    </view>
   </t-button>
   <t-button
     loading="{{buy}}"
@@ -18,8 +20,10 @@
     style="height: 72rpx; font-size: 28rpx"
     bind:tap="goBuyResource"
   >
-    <image src="/static/images/bookService/detail/yijiangoumai.png" />
-    璧勬簮璐拱
+    <view slot="content" class="btn-content">
+      <image src="/static/images/bookService/detail/yijiangoumai.png" />
+      <text>璧勬簮璐拱</text>
+    </view>
   </t-button>
   <t-button
     class="btn"
diff --git a/packageBookService/pages/bookServices/detail/components/learnResource/learnResource.wxss b/packageBookService/pages/bookServices/detail/components/learnResource/learnResource.wxss
index ca5e2f5..17eda23 100644
--- a/packageBookService/pages/bookServices/detail/components/learnResource/learnResource.wxss
+++ b/packageBookService/pages/bookServices/detail/components/learnResource/learnResource.wxss
@@ -20,8 +20,13 @@
   align-items: center;
 }
 
+.btn-content {
+  display: flex;
+  align-items: center;
+}
+
 .btn image {
+  margin-right: 4rpx;
   width: 28rpx;
   height: 32rpx;
-  margin: 25rpx 10rpx 0 0;
 }
\ No newline at end of file
diff --git a/packageBookService/pages/bookServices/detail/components/tree/index.js b/packageBookService/pages/bookServices/detail/components/tree/index.js
index 85c10dc..8cd026a 100644
--- a/packageBookService/pages/bookServices/detail/components/tree/index.js
+++ b/packageBookService/pages/bookServices/detail/components/tree/index.js
@@ -37,15 +37,31 @@
     }
   },
   data: {
+    
     activeValues: [1, 2],
     webpageSrc: '',
     cloudShoppingCart: []
   },
   onShow() {
   },
+  observers: {
+    'treeList': function (newValue) {
 
+    }
+  },
 
   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');
@@ -182,15 +198,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 +246,6 @@
           }
         }
         else if (id == node.id && node.sysType == "CmsItem") {
-          debugger
           node.checked = !node.checked  // 灏嗙洰鏍囬」鐨� check 灞炴�ц缃负 true
         }
       }
@@ -243,6 +253,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 +299,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 +337,11 @@
       // }
     },
   },
+  onCheckAllChange(e) {
+    debugger
+    console.log('checkbox', e.detail.value);
+    // this.setData({
+    //   checkAllValues: event.detail,
+    // });
+  }
 })
\ No newline at end of file
diff --git a/packageBookService/pages/bookServices/list/index.wxss b/packageBookService/pages/bookServices/list/index.wxss
index 53af059..d48d47e 100644
--- a/packageBookService/pages/bookServices/list/index.wxss
+++ b/packageBookService/pages/bookServices/list/index.wxss
@@ -39,7 +39,7 @@
   position: relative;
   background-color: #fff;
   line-height: 90rpx;
-  height: 94rpx;
+  height: 90rpx;
   width: 15vw;
   font-size: 28rpx;
   color: #999;

--
Gitblit v1.9.1