From b55024ee2f42aa93e0ecaa3113bdeb286f6e59ac Mon Sep 17 00:00:00 2001
From: QYF-GitLab1 <1940665526@qq.com>
Date: 星期二, 29 七月 2025 18:01:55 +0800
Subject: [PATCH] 优化按钮显示,教学互动

---
 packageBookService/pages/bookServices/detail/components/tree/index.wxml |  166 +++++++++++++++++++++++++++++++++---------------------
 1 files changed, 101 insertions(+), 65 deletions(-)

diff --git a/packageBookService/pages/bookServices/detail/components/tree/index.wxml b/packageBookService/pages/bookServices/detail/components/tree/index.wxml
index bfe83f3..826b69c 100644
--- a/packageBookService/pages/bookServices/detail/components/tree/index.wxml
+++ b/packageBookService/pages/bookServices/detail/components/tree/index.wxml
@@ -1,87 +1,124 @@
 <view class="tree">
-
   <t-collapse default-value="{{openIds}}" catchchange="handleChange">
-    <t-collapse-panel wx:for="{{treeList}}" wx:for-item="item" wx:for-index="index" wx:key="id" value="{{item.id}}">
-      <view slot="header" class="header-title">
-        <view class="title-checkBox" catchtap="catchTap">
-          <t-checkbox icon="rectangle" checked="{{item.checked}}" data-item="{{item}}" catchchange="checkResourceTitle" wx:if="{{isShowCheck}}" />
-          <!-- 绔犺妭鍚� -->
-          <view style="width: 100%">
-            <text>{{item.name}} </text><text wx:if="{{item.sysType =='CmsFolder'}}">锛坽{item.children ? item.children.length : 0}}锛�</text>
-          </view>
-        </view>
-      </view>
-      <view class="list" wx:for="{{item.children}}" wx:for-item="citem" wx:for-index="cindex" wx:key="cindex">
-        <!-- // 鍒ゆ柇 鏃犲瓙椤� 涓斾负鍟嗗搧item 鐩存帴鏄剧ず -->
-        <view class="listItems" wx:if="{{citem.childrenFolderCount <= 0 && citem.sysType == 'CmsItem'}}">
-          <view class="itemsInfo" wx:if="{{citem.name}}" data-item="{{citem}}" data-index="{{cindex}}">
-            <view class="contentBox" bind:tap="goPlayer" data-item="{{citem}}" data-parent="{{item}}">
-              <!-- 鏁欏璧勬簮 浜戝涔� 鍥炬爣 -->
-              <view class="box-image" style="{{ tab == 'jsek_teachingResources' ? 'width: 350rpx;' : 'width: 450rpx;'}}">
-                <view class="checkBox" wx:if="{{isShowCheck}}" catchtap="catchTap">
-                  <!-- checked="{{citem.checked}}"  -->
-                  <!-- <t-checkbox icon="rectangle" checked="{{citem.checked}}" disabled="{{citem.selectType=='webpage' || citem.isDownload != 1 || citem.fileMap[citem.file].protectType == 'Private'}}" catch:change="checkResource" data-item="{{citem}}" /> -->
-<<<<<<< Updated upstream
-                  <t-checkbox
-                    disabled="{{!citem.saleMethod[0].Id}}"
-                    icon="rectangle"
-                    checked="{{citem.checked}}"
-                    data-item="{{citem}}"
-                    catch:change="checkResource"
-                  />
-=======
-                  <t-checkbox icon="rectangle" checked="{{citem.checked}}" data-item="{{citem}}" catch:change="checkResource" />
->>>>>>> Stashed changes
-                </view>
-                <!-- 鏁欏璧勬簮鍥炬爣 -->
-                <view class="teach-icon">
-                  <image wx:if="{{citem.selectType == 'audio' || citem.learnSelectType == 'audio'}}" src="/static/images/bookService/detail/audioIcon.png" mode="aspectFill" />
-                  <image wx:elif="{{citem.selectType == 'video' || citem.learnSelectType == 'video'}}" src="/static/images/bookService/detail/video.png" mode="aspectFill" />
-                  <image wx:elif="{{citem.selectType == 'pdf'}}" src="/static/images/bookService/detail/pdf.png" mode="aspectFill" />
-                  <image wx:elif="{{citem.selectType == 'webpage'}}" src="/static/images/bookService/detail/net.png" mode="aspectFill" />
-                  <image wx:elif="{{citem.selectType == 'picture'}}" src="/static/images/bookService/detail/picture.png" mode="aspectFill" />
-                  <image wx:elif="{{citem.selectType == 'zip'}}" src="/static/images/bookService/detail/zip.png" mode="aspectFill" />
-                  <image wx:elif="{{ citem.fileMap[citem.file].extension == 'doc' ||  citem.fileMap[citem.file].extension == 'docx'}}" src="/static/images/bookService/detail/word.png" mode="aspectFill" />
-                  <image wx:elif="{{ citem.fileMap[citem.file].extension == 'xlsx' ||  citem.fileMap[citem.file].extension == 'xlsx'}}" src="/static/images/bookService/detail/excel.png" mode="aspectFill" />
-                  <image wx:elif="{{ citem.fileMap[citem.file].extension == 'ppt' ||  citem.fileMap[citem.file].extension == 'pptx'}}" src="/static/images/bookService/detail/PPT.png" mode="aspectFill" />
-                </view>
-                <!-- 浜戝涔犲浘鏍� -->
-                <view> </view>
-                <!-- 鍚嶇О -->
-                <text class="name" style="{{ tab == 'jsek_teachingResources' ? 'width: 300rpx;' : 'width: 400rpx;'}}">{{citem.name}}</text>
+    <view wx:for="{{treeList}}" wx:for-item="item" wx:for-index="index" wx:key="id" wx:if="{{item.sysType== 'CmsItem' }}">
+      <view class="listItems {{'cms-' + item.id}}" wx:if="{{item.childrenFolderCount <= 0 && item.sysType == 'CmsItem'}}">
+        <view class="itemsInfo" data-item="{{item}}" data-index="{{index}}">
+          <view class="contentBox" bind:tap="goPlayer" data-item="{{item}}" data-parent="{{''}}">
+            <!-- 鏁欏璧勬簮 浜戝涔� 鍥炬爣 -->
+            <view class="box-image fl-cn" style="width: 80%">
+              <view class="checkBox" wx:if="{{isShowCheck}}" catchtap="catchTap">
+                <t-checkbox disabled="{{item.disabled}}" icon="rectangle" checked="{{item.checked}}" data-item="{{item}}" data-parent="{{item}}" catch:change="checkResource" />
               </view>
-              <!-- 鏁欏璧勬簮绫诲瀷 -->
-              <view class="teachClass"> {{citem.resourceClass}} </view>
-              <view class="teach-btn" wx:if="{{tab == 'jsek_teachingResources'}}">
-                <!--  涓嬭浇鎸夐挳 -->
-<<<<<<< Updated upstream
-                <!-- <image
+              <!-- 鏁欏璧勬簮鍥炬爣 -->
+              <view class="teach-icon fl-cn">
+                <image wx:if="{{item.selectType == 'audio' || item.learnSelectType == 'audio'}}" src="/static/images/bookService/detail/audioIcon.png" mode="aspectFill" />
+                <image wx:elif="{{item.selectType == 'video' || item.learnSelectType == 'video'}}" src="/static/images/bookService/detail/video.png" mode="aspectFill" />
+                <image wx:elif="{{item.selectType == 'pdf' || item.learnSelectType == 'pdf'}}" src="/static/images/bookService/detail/pdf.png" mode="aspectFill" />
+                <image wx:elif="{{item.selectType == 'webpage' || item.learnSelectType == 'webpage'}}" src="/static/images/bookService/detail/net.png" mode="aspectFill" />
+                <image wx:elif="{{item.selectType == 'picture' || item.learnSelectType == 'picture'}}" src="/static/images/bookService/detail/picture.png" mode="aspectFill" />
+                <image wx:elif="{{item.selectType == 'zip' || item.learnSelectType == 'zip'}}" src="/static/images/bookService/detail/zip.png" mode="aspectFill" />
+                <image wx:elif="{{ item.fileMap[item.file].extension == 'doc' ||  item.fileMap[item.file].extension == 'docx' || item.fileMap[item.freeFile].extension == 'doc' ||  item.fileMap[item.freeFile].extension == 'docx' || item.fileMap[item.protectedFile].extension == 'doc' ||  item.fileMap[item.protectedFile].extension == 'docx'}}" src="/static/images/bookService/detail/word.png" mode="aspectFill" />
+                <image wx:elif="{{ item.fileMap[item.file].extension == 'xls' ||  item.fileMap[item.file].extension == 'xlsx' || item.fileMap[item.freeFile].extension == 'xls' ||  item.fileMap[item.freeFile].extension == 'xlsx' || item.fileMap[item.protectedFile].extension == 'xls' ||  item.fileMap[item.protectedFile].extension == 'xlsx'}}" src="/static/images/bookService/detail/excel.png" mode="aspectFill" />
+                <image wx:elif="{{ item.fileMap[item.file].extension == 'ppt' ||  item.fileMap[item.file].extension == 'pptx' || item.fileMap[item.freeFile].extension == 'ppt' ||  item.fileMap[item.freeFile].extension == 'pptx' || item.fileMap[item.protectedFile].extension == 'ppt' ||  item.fileMap[item.protectedFile].extension == 'pptx'}}" src="/static/images/bookService/detail/PPT.png" mode="aspectFill" />
+                <!-- 璧勬簮鏃犳枃浠跺唴瀹瑰浘鏍� -->
+                <image wx:else src="/static/images/bookService/detail/word.png" mode="" />
+              </view>
+              <!-- 鍚嶇О -->
+              <text class="name" style="width: 100%">{{item.name || '-'}}</text>
+            </view>
+            <!-- 鏁欏璧勬簮绫诲瀷 -->
+            <view class="teachClass fl-cn"> {{item.resourceClass}} </view>
+            <view class="teach-btn" wx:if="{{tab == 'jsek_teachingResources'}}">
+              <!--  涓嬭浇鎸夐挳 -->
+              <!-- <image
                   src="/static/images/bookService/detail/download-icon.png"
                   class="download-image"
                   data-value="{{citem}}"
                   catchtap="downloadTeach"
                 ></image> -->
-=======
-                <image src="/static/images/bookService/detail/download-icon.png" class="download-image" data-value="{{citem}}" catchtap="downloadTeach"></image>
->>>>>>> Stashed changes
+            </view>
+            <view wx:if="{{tab == 'jsek_cloudLearning'}}">
+              <!-- 浜戝涔犺瘯鐪嬪浘鏍� -->
+              <image src="/static/images/bookService/detail/shikan.png" class="testSee" wx:if="{{!item.isbuy ? false : item.freeFile ? true : false}}"></image>
+              <!-- 浜戝涔犲姞鍏ヨ喘鐗╄溅鍥炬爣 -->
+              <image src="/static/images/bookService/detail/cart@2x.png" wx:if="{{item.isShopCar && !bookInfo.IsTextbook}}" class="shopCar" data-item="{{item}}" catch:tap="onCloudShoppingCart"></image>
+              <!-- 浜戝涔犺喘涔板浘鏍� -->
+              <image src="/static/images/bookService/detail/need-buy.png" class="need-buy" wx:if="{{item.isbuy && !bookInfo.IsTextbook }}"></image>
+            </view>
+          </view>
+        </view>
+      </view>
+    </view>
+    <t-collapse-panel wx:for="{{treeList}}" wx:for-item="item" wx:for-index="index" wx:key="id" value="{{item.id}}" wx:if="{{item.sysType == 'CmsFolder' }}">
+      <view slot="header" class=" {{'cms-' + item.id}}  header-title">
+        <view class="title-checkBox" catchtap="catchTap">
+          <t-checkbox style="align-items: center" icon="rectangle" disabled="{{item.disabled}}" checked="{{item.checked}}" data-item="{{item}}" catchchange="checkResourceTitle" wx:if="{{isShowCheck}}" />
+          <!-- 绔犺妭鍚� -->
+          <view class="title-box">
+            <view class="title-t">
+              <view class="title-name">{{item.name}} </view>
+              <view wx:if="{{item.sysType =='CmsFolder'}}" class="title-num">
+                锛坽{item.childrenItem ? item.childrenItem: 0 }}锛�
               </view>
-              <view wx:if="{{tab == 'jsek_cloudLearning'}}">
+            </view>
+            <view class="title-icon">
+              <!-- 浜戝涔犲姞鍏ヨ喘鐗╄溅鍥炬爣 -->
+              <image src="/static/images/bookService/detail/cart@2x.png" wx:if="{{item.isShopCar && !bookInfo.IsTextbook && item.isShowIcon}}" class="shopCar" data-item="{{item}}" catch:tap="onCloudShoppingCart"></image>
+              <!-- 浜戝涔犺喘涔板浘鏍� -->
+              <image src="/static/images/bookService/detail/need-buy.png" class="need-buy" wx:if="{{!item.isbuy && !bookInfo.IsTextbook && item.isShowIcon }}"></image>
+            </view>
+          </view>
+        </view>
+      </view>
+      <view class="list" wx:for="{{item.children}}" wx:for-item="citem" wx:for-index="cindex" wx:key="cindex">
+        <!-- // 鍒ゆ柇 鏃犲瓙椤� 涓斾负鍟嗗搧item 鐩存帴鏄剧ず -->
+        <view class="listItems {{'cms-' + citem.id}}" wx:if="{{citem.childrenFolderCount <= 0 && citem.sysType == 'CmsItem'}}">
+          <view class="itemsInfo" data-item="{{citem}}" data-index="{{cindex}}">
+            <view class="contentBox" bind:tap="goPlayer" data-item="{{citem}}" data-parent="{{item}}">
+              <!-- 鏁欏璧勬簮 鍥炬爣 -->
+              <view class="box-image fl-cn">
+                <view class="checkBox" wx:if="{{isShowCheck}}" catchtap="catchTap">
+                  <t-checkbox disabled="{{citem.disabled}}" icon="rectangle" checked="{{citem.checked}}" data-item="{{citem}}" data-parent="{{item}}" catch:change="checkResource" />
+                </view>
+                <!-- 鏁欏璧勬簮鍥炬爣 -->
+                <view class="teach-icon fl-cn">
+                  <image wx:if="{{citem.selectType == 'audio' || citem.learnSelectType == 'audio'}}" src="/static/images/bookService/detail/audioIcon.png" mode="aspectFill" />
+                  <image wx:elif="{{citem.selectType == 'video' || citem.learnSelectType == 'video'}}" src="/static/images/bookService/detail/video.png" mode="aspectFill" />
+                  <image wx:elif="{{citem.selectType == 'pdf' || citem.learnSelectType == 'pdf'}}" src="/static/images/bookService/detail/pdf.png" mode="aspectFill" />
+                  <image wx:elif="{{citem.selectType == 'webpage' || citem.learnSelectType == 'webpage'}}" src="/static/images/bookService/detail/net.png" mode="aspectFill" />
+                  <image wx:elif="{{citem.selectType == 'picture' || citem.learnSelectType == 'picture'}}" src="/static/images/bookService/detail/picture.png" mode="aspectFill" />
+                  <image wx:elif="{{citem.selectType == 'zip' || citem.learnSelectType == 'zip'}}" src="/static/images/bookService/detail/zip.png" mode="aspectFill" />
+                  <image wx:elif="{{ citem.fileMap[citem.file].extension == 'doc' ||  citem.fileMap[citem.file].extension == 'docx' || citem.fileMap[citem.freeFile].extension == 'doc' ||  citem.fileMap[citem.freeFile].extension == 'docx' || citem.fileMap[citem.protectedFile].extension == 'doc' ||  citem.fileMap[citem.protectedFile].extension == 'docx'}}" src="/static/images/bookService/detail/word.png" mode="aspectFill" />
+                  <image wx:elif="{{ citem.fileMap[citem.file].extension == 'xls' ||  citem.fileMap[citem.file].extension == 'xlsx' || citem.fileMap[citem.freeFile].extension == 'xls' ||  citem.fileMap[citem.freeFile].extension == 'xlsx' || citem.fileMap[citem.protectedFile].extension == 'xls' ||  citem.fileMap[citem.protectedFile].extension == 'xlsx' }}" src="/static/images/bookService/detail/excel.png" mode="aspectFill" />
+                  <image wx:elif="{{ citem.fileMap[citem.file].extension == 'ppt' ||  citem.fileMap[citem.file].extension == 'pptx' || citem.fileMap[citem.freeFile].extension == 'ppt' ||  citem.fileMap[citem.freeFile].extension == 'pptx' || citem.fileMap[citem.protectedFile].extension == 'ppt' ||  citem.fileMap[citem.protectedFile].extension == 'pptx'}}" src="/static/images/bookService/detail/PPT.png" mode="aspectFill" />
+                  <!-- 璧勬簮鏃犳枃浠跺唴瀹瑰浘鏍� -->
+                  <image wx:else src="/static/images/bookService/detail/word.png" mode="" />
+                </view>
+                <!-- 鍚嶇О -->
+                <text class="name" style="{{ tab == 'jsek_teachingResources' ? citem.resourceClass ? 'width: 400rpx'  :  'width: 420rpx;' : (citem.isShopCar && citem.isbuy ) ? 'width: 300rpx;' : (citem.isShopCar || citem.isbuy) ? 'width:360rpx' :  'width:420rpx'}}">{{citem.name || '-'}}</text>
+              </view>
+              <!-- 鏁欏璧勬簮绫诲瀷 -->
+              <view class="teachClass fl-cn" wx:if="{{citem.resourceClass && tab == 'jsek_teachingResources'}}">
+                {{citem.resourceClass}}
+              </view>
+              <view wx:if="{{tab == 'jsek_cloudLearning'}}" class="clound-icon">
                 <!-- 浜戝涔犺瘯鐪嬪浘鏍� -->
-                <image src="/static/images/bookService/detail/shikan.png" class="testSee" wx:if="{{!citem.isbuy ? false : citem.freeFile ? true : false}}"></image>
+                <image src="/static/images/bookService/detail/shikan.png" class="testSee" wx:if="{{!citem.isbuy && citem.freeFile && citem.isShowIcon}}"></image>
                 <!-- 浜戝涔犲姞鍏ヨ喘鐗╄溅鍥炬爣 -->
-                <image src="/static/images/bookService/detail/cart@2x.png" wx:if="{{citem.isShopCar}}" class="shopCar" data-item="{{citem}}" catch:tap="onCloudShoppingCart"></image>
+                <image src="/static/images/bookService/detail/cart@2x.png" wx:if="{{citem.isShopCar && !bookInfo.IsTextbook && citem.isShowIcon}}" class="shopCar" data-item="{{citem}}" catch:tap="onCloudShoppingCart"></image>
                 <!-- 浜戝涔犺喘涔板浘鏍� -->
-                <image src="/static/images/bookService/detail/need-buy.png" class="need-buy" wx:if="{{citem.isbuy }}"></image>
+                <image src="/static/images/bookService/detail/need-buy.png" class="need-buy" wx:if="{{!citem.isbuy && !bookInfo.IsTextbook && citem.isShowIcon}}"></image>
               </view>
             </view>
           </view>
         </view>
         <!-- // 鍒ゆ柇 涓嶆槸鍟嗗搧 鏈夊瓙椤� 閫掑綊缁勪欢 -->
-        <tree wx:if="{{citem.childrenCount > 0 && citem.sysType == 'CmsFolder' }}" isShowCheck="{{isShowCheck}}" bookInfo="{{bookInfo}}" treeList="{{[citem]}}" itemId="{{itemId}}" tab="{{tab}}" buyIds="{{buyIds}}" openTeachids="{{openTeachids}}" openLearnids="{{openLearnids}}"></tree>
+        <tree wx:if="{{ citem.sysType == 'CmsFolder' }}" isShowCheck="{{isShowCheck}}" bookInfo="{{bookInfo}}" treeList="{{[citem]}}" learnList="{{learnList}}" itemId="{{itemId}}" tab="{{tab}}" buyIds="{{buyIds}}" openIds="{{openIds}}" learnMenu="{{learnMenu}}" activeId="{{activeId}}" isCloundHaveSaleMethod="{{isCloundHaveSaleMethod}}"></tree>
       </view>
       <!-- 鏆傛棤鏁版嵁 -->
       <view wx:if="{{!item.children || !item.children.length}}" class="noData">
-        <t-empty icon="folder-open" description="鏆傛棤鏁版嵁" />
+        <!-- <t-empty icon="folder-open" description="鏆傛棤鏁版嵁" /> -->
+        <empty />
       </view>
       <view class="listItems" wx:if="{{children.length <= 0 && !loading}}">
         鏆傛棤鏁版嵁
@@ -91,7 +128,6 @@
       </view>
     </t-collapse-panel>
   </t-collapse>
-
 </view>
 
 <web-view wx:if="{{webpageSrc}}" src="{{webpageSrc}}"></web-view>

--
Gitblit v1.9.1