From f52c21331fa71bd3ae6be41117f35cb54b076119 Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期三, 03 四月 2024 19:34:01 +0800
Subject: [PATCH] 添加复制功能

---
 packageBookService/pages/bookServices/detail/components/tree/index.wxml          |  166 +++++++++++++++++++++++----
 packageBookService/pages/bookServices/detail/components/tree/index.js            |   34 +++--
 packageBookService/pages/bookServices/detail/components/teachResource/index.wxml |   67 +++++++++--
 packageBookService/pages/bookServices/detail/index.js                            |    1 
 packageBookService/pages/bookServices/detail/components/teachResource/index.js   |   43 ++++--
 5 files changed, 242 insertions(+), 69 deletions(-)

diff --git a/packageBookService/pages/bookServices/detail/components/teachResource/index.js b/packageBookService/pages/bookServices/detail/components/teachResource/index.js
index 2d69877..379bab2 100644
--- a/packageBookService/pages/bookServices/detail/components/teachResource/index.js
+++ b/packageBookService/pages/bookServices/detail/components/teachResource/index.js
@@ -2,11 +2,11 @@
   properties: {
     applyState: {
       type: String,
-      value: 'none'
+      value: "none",
     },
     rejectCause: {
       type: String,
-      value: ''
+      value: "",
     },
     applyResourceLoading: {
       type: Boolean,
@@ -14,31 +14,44 @@
     },
     deadline: {
       type: String,
-      value: ''
-    }
+      value: "",
+    },
   },
   data: {
     showRejectDialog: false,
-    confirmBtn: { content: '鐭ラ亾浜�', variant: 'base' },
+    confirmBtn: { content: "鐭ラ亾浜�", variant: "base" },
   },
   methods: {
+    copy() {
+      wx.setClipboardData({
+        data: "11",
+        success: function (res) {
+          wx.showToast({ title: "澶嶅埗鎴愬姛" });
+        },
+        fail: function (res) {
+          wx.showToast({
+            title: "澶辫触",
+          });
+        },
+      });
+    },
     applyResource() {
-      var myEventDetail = {}
+      var myEventDetail = {};
       var myEventOption = {
         bubbles: true,
         composed: true,
-      } // 瑙﹀彂浜嬩欢鐨勯�夐」
-      this.triggerEvent('applyResource', myEventDetail, myEventOption)
+      }; // 瑙﹀彂浜嬩欢鐨勯�夐」
+      this.triggerEvent("applyResource", myEventDetail, myEventOption);
     },
     showDialog() {
       this.setData({
-        showRejectDialog: true
-      })
+        showRejectDialog: true,
+      });
     },
     closeDialog() {
       this.setData({
-        showRejectDialog: false
-      })
-    }
-  }
-})
\ No newline at end of file
+        showRejectDialog: false,
+      });
+    },
+  },
+});
diff --git a/packageBookService/pages/bookServices/detail/components/teachResource/index.wxml b/packageBookService/pages/bookServices/detail/components/teachResource/index.wxml
index a9cfb59..c93a4a0 100644
--- a/packageBookService/pages/bookServices/detail/components/teachResource/index.wxml
+++ b/packageBookService/pages/bookServices/detail/components/teachResource/index.wxml
@@ -1,31 +1,74 @@
 <view class="teach-btn" wx:if="{{false}}">
-  <t-button theme="primary" style="width: 120px; height: 36px;" class="btn-upload" wx:if="{{false}}">
-    <t-image src="/static/images/bookService/detail/upload.png" style="margin-top: 20rpx;"></t-image>
+  <t-button
+    theme="primary"
+    style="width: 120px; height: 36px"
+    class="btn-upload"
+    wx:if="{{false}}"
+  >
+    <t-image
+      src="/static/images/bookService/detail/upload.png"
+      style="margin-top: 20rpx"
+    ></t-image>
     <text>涓婁紶璧勬簮</text>
   </t-button>
-  <t-button theme="primary" style="width: 120px; height: 36px;">
+  <t-button theme="primary" style="width: 120px; height: 36px">
     <t-image src="/static/images/bookService/detail/download.png"></t-image>
     鎵归噺涓嬭浇
   </t-button>
 </view>
-<view class="applyResult  {{applyState == 'none' ? 'applyNone' : applyState == 'Normal' ? 'applyPass' : applyState == 'WaitAudit' ? 'applying' :applyState == 'Reject' ? 'applyReject' :'' }}">
-  <view wx:if="{{applyState == 'WaitAudit'}}">璧勬簮涓嬭浇鐢宠姝e湪瀹℃牳涓紝璇疯�愬績绛夊緟锛�</view>
+<view
+  class="applyResult  {{applyState == 'none' ? 'applyNone' : applyState == 'Normal' ? 'applyPass' : applyState == 'WaitAudit' ? 'applying' :applyState == 'Reject' ? 'applyReject' :'' }}"
+>
+  <view wx:if="{{applyState == 'WaitAudit'}}"
+    >璧勬簮涓嬭浇鐢宠姝e湪瀹℃牳涓紝璇疯�愬績绛夊緟锛�</view
+  >
   <view wx:if="{{applyState == 'Normal'}}">
-    璧勬簮涓嬭浇鐢宠宸查�氳繃<text wx:if="{{deadline}}">锛屾湁鏁堟棩鏈熸埅鑷筹細{{ deadline }}</text>
+    <view>
+      璧勬簮涓嬭浇鐢宠宸查�氳繃<text wx:if="{{deadline}}"
+        >锛屾湁鏁堟棩鏈熸埅鑷筹細{{ deadline }}</text
+      ></view>
+    <!-- <view style="display: flex; align-items: center; margin-top: 10rpx">
+      <text>涓嬭浇璧勬簮璇峰埌PC绔含甯圗璇�</text>
+      <t-button style="font-size: 24rpx; height: 50rpx" bind:tap="copy">澶嶅埗</t-button>
+    </view> -->
   </view>
-  <view wx:if="{{applyState == 'Reject'}}">璧勬簮涓嬭浇闇�瑕佺敵璇凤紝璇峰厛鐢宠骞剁瓑寰呭鏍搁�氳繃鍚庢柟鍙笅杞�</view>
+  <view wx:if="{{applyState == 'Reject'}}"
+    >璧勬簮涓嬭浇闇�瑕佺敵璇凤紝璇峰厛鐢宠骞剁瓑寰呭鏍搁�氳繃鍚庢柟鍙笅杞�</view
+  >
   <view wx:if="{{applyState == 'none'}}">
     璧勬簮涓嬭浇闇�瑕佺敵璇凤紝璇峰厛鐢宠骞剁瓑寰呭鏍搁�氳繃鍚庢柟鍙笅杞�
   </view>
   <view class="btn-box">
-    <t-button wx:if="{{applyState == 'Reject'}}" bind:tap="checkCause" style="height: 50rpx;" class="rejectBtn" bind:tap="showDialog">鏌ョ湅鍘熷洜</t-button>
-    <t-button wx:if="{{applyState == 'none' || applyState == 'Reject'}}" theme="primary" bind:tap="applyResource" class="applyBtn" style="height: 50rpx;">鐢宠</t-button>
+    <t-button
+      wx:if="{{applyState == 'Reject'}}"
+      bind:tap="checkCause"
+      style="height: 50rpx"
+      class="rejectBtn"
+      bind:tap="showDialog"
+      >鏌ョ湅鍘熷洜</t-button
+    >
+    <t-button
+      wx:if="{{applyState == 'none' || applyState == 'Reject'}}"
+      theme="primary"
+      bind:tap="applyResource"
+      class="applyBtn"
+      style="height: 50rpx"
+      >鐢宠</t-button
+    >
   </view>
 </view>
 <!-- 鏈�氳繃鍘熷洜 -->
-<t-dialog visible="{{showRejectDialog}}" title="鎻愮ず" confirm-btn="{{ confirmBtn }}" bind:confirm="closeDialog" class="notPassed">
+<t-dialog
+  visible="{{showRejectDialog}}"
+  title="鎻愮ず"
+  confirm-btn="{{ confirmBtn }}"
+  bind:confirm="closeDialog"
+  class="notPassed"
+>
   <view slot="content">
-    <text class="cause-title">璧勬簮涓嬭浇鐢宠鏈�氳繃锛岃В鍐抽棶棰樺悗鍙偣鍑烩�滅敵璇封�濇寜閽噸鏂版彁浜ょ敵璇�</text>
+    <text class="cause-title"
+      >璧勬簮涓嬭浇鐢宠鏈�氳繃锛岃В鍐抽棶棰樺悗鍙偣鍑烩�滅敵璇封�濇寜閽噸鏂版彁浜ょ敵璇�</text
+    >
     <view class="cause-content">鍘熷洜:{{ rejectCause }}</view>
   </view>
-</t-dialog>
\ No newline at end of file
+</t-dialog>
diff --git a/packageBookService/pages/bookServices/detail/components/tree/index.js b/packageBookService/pages/bookServices/detail/components/tree/index.js
index f87d087..58c7e5a 100644
--- a/packageBookService/pages/bookServices/detail/components/tree/index.js
+++ b/packageBookService/pages/bookServices/detail/components/tree/index.js
@@ -1,7 +1,5 @@
 const util = require("./components/util"); // 寮曞叆灏佽杩囩殑鍔犺浇鎻愮ず
-import {
-  loginInfo
-} from "../../../../../../assets/js/login";
+import { loginInfo } from "../../../../../../assets/js/login";
 const app = getApp();
 Component({
   // checked: false,
@@ -89,7 +87,8 @@
     handleList(tree) {
       for (let index = 0; index < tree.length; index++) {
         const item = tree[index];
-        if (item.sysType == "CmsItem" && !item.checked) {}
+        if (item.sysType == "CmsItem" && !item.checked) {
+        }
         if (item.children && item.children.length > 0) {
           this.handleList(item.children);
         }
@@ -169,7 +168,10 @@
         ) {
           return wx.showToast({
             icon: "error",
-            title: "璇峰厛璐拱璇ヨ祫婧�",
+            title:
+              item.saleMethod[0].Price > 0
+                ? "璇峰厛璐拱璇ヨ祫婧�"
+                : "璇峰厛鐐瑰嚮棰嗗彇鏌ョ湅鎸夐挳",
           });
         }
         wx.navigateTo({
@@ -439,11 +441,13 @@
         });
       } else {
         let query = {
-          requests: [{
-            saleMethodId: saleMethodId,
-            storeEventId: null,
-            // agentCode: '鐢靛瓙涔�'
-          }, ],
+          requests: [
+            {
+              saleMethodId: saleMethodId,
+              storeEventId: null,
+              // agentCode: '鐢靛瓙涔�'
+            },
+          ],
         };
         const addRes = await app.MG.store.addShoppingCart(query);
         console.log(addRes, "addRes");
@@ -454,13 +458,11 @@
       }
     },
     sadd() {
-      this.triggerEvent('updateShoppingCartHidden');
-      this.triggerEvent('updateCloudLearning');
+      this.triggerEvent("updateShoppingCartHidden");
+      this.triggerEvent("updateCloudLearning");
       console.log(789);
     },
-
   },
 
-
-  catchtap() {}
-})
\ No newline at end of file
+  catchtap() {},
+});
diff --git a/packageBookService/pages/bookServices/detail/components/tree/index.wxml b/packageBookService/pages/bookServices/detail/components/tree/index.wxml
index b9893ae..bfd7ca2 100644
--- a/packageBookService/pages/bookServices/detail/components/tree/index.wxml
+++ b/packageBookService/pages/bookServices/detail/components/tree/index.wxml
@@ -1,47 +1,137 @@
 <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}}">
+    <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}}" />
+          <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>
+            <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">
+      <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="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">
+              <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}}" /> -->
-                  <t-checkbox disabled="{{!citem.saleMethod[0].Id}}" icon="rectangle" checked="{{citem.checked}}" data-item="{{citem}}" catch:change="checkResource" />
+                  <t-checkbox
+                    disabled="{{!citem.saleMethod[0].Id}}"
+                    icon="rectangle"
+                    checked="{{citem.checked}}"
+                    data-item="{{citem}}"
+                    catch:change="checkResource"
+                  />
                 </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" />
+                  <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>
+                <text
+                  class="name"
+                  style="{{ tab == 'jsek_teachingResources' ? 'width: 300rpx;' : 'width: 400rpx;'}}"
+                  >{{citem.name}}</text
+                >
               </view>
               <!-- 鏁欏璧勬簮绫诲瀷 -->
               <view class="teachClass"> {{citem.resourceClass}} </view>
-              <view class="teach-btn" wx:if="{{tab == 'jsek_teachingResources'}}">
+              <view
+                class="teach-btn"
+                wx:if="{{tab == 'jsek_teachingResources'}}"
+              >
                 <!--  涓嬭浇鎸夐挳 -->
                 <!-- <image
                   src="/static/images/bookService/detail/download-icon.png"
@@ -52,17 +142,41 @@
               </view>
               <view wx:if="{{tab == 'jsek_cloudLearning'}}">
                 <!-- 浜戝涔犺瘯鐪嬪浘鏍� -->
-                <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 ? false : citem.freeFile ? true : false}}"
+                ></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}}"
+                  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 }}"
+                ></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.childrenCount > 0 && citem.sysType == 'CmsFolder' }}"
+          isShowCheck="{{isShowCheck}}"
+          bookInfo="{{bookInfo}}"
+          treeList="{{[citem]}}"
+          itemId="{{itemId}}"
+          tab="{{tab}}"
+          buyIds="{{buyIds}}"
+          openTeachids="{{openTeachids}}"
+          openLearnids="{{openLearnids}}"
+        ></tree>
       </view>
       <!-- 鏆傛棤鏁版嵁 -->
       <view wx:if="{{!item.children || !item.children.length}}" class="noData">
@@ -79,4 +193,4 @@
 </view>
 
 <web-view wx:if="{{webpageSrc}}" src="{{webpageSrc}}"></web-view>
-<!-- <button bind:tap="sadd"> 65498</button> -->
\ No newline at end of file
+<!-- <button bind:tap="sadd"> 65498</button> -->
diff --git a/packageBookService/pages/bookServices/detail/index.js b/packageBookService/pages/bookServices/detail/index.js
index 37ed055..3a04430 100644
--- a/packageBookService/pages/bookServices/detail/index.js
+++ b/packageBookService/pages/bookServices/detail/index.js
@@ -812,6 +812,7 @@
       },
     };
     let data = await app.MG.store.getProductDetail(query);
+    // 濡傛灉item灞傜骇閲屾湁floder锛屽垹闄loder
     const flag = data.datas.cmsDatas[0].datas.findIndex(
       (item) => item.sysType == "CmsItem"
     );

--
Gitblit v1.9.1