From 7974f3266c323e4cd4fdff7d457fe75f39b8c199 Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期三, 25 九月 2024 15:59:06 +0800
Subject: [PATCH] 云学习跳转逻辑修改

---
 pages/digitalCourses/digitalCoursesDetails/index.js                     |    9 +++-
 packageBookService/pages/bookServices/detail/components/tree/index.wxml |    2 +
 packageBookService/pages/bookServices/detail/components/tree/index.js   |   46 +++++++++++------------
 packageBookService/pages/bookServices/detail/index.wxml                 |    3 +
 packageBookService/pages/bookServices/detail/index.js                   |    8 +++-
 5 files changed, 39 insertions(+), 29 deletions(-)

diff --git a/packageBookService/pages/bookServices/detail/components/tree/index.js b/packageBookService/pages/bookServices/detail/components/tree/index.js
index c5c622c..1709e7e 100644
--- a/packageBookService/pages/bookServices/detail/components/tree/index.js
+++ b/packageBookService/pages/bookServices/detail/components/tree/index.js
@@ -53,6 +53,12 @@
     },
     cloundMenuIsBuy: {
       type: Boolean
+    },
+    learnMenu: {
+      type: Object
+    },
+    isCloundHaveSaleMethod: {
+      type: Boolean
     }
   },
   data: {
@@ -210,37 +216,29 @@
         }
       }
       if (this.properties.tab == "jsek_cloudLearning") {
-        // 鍒ゆ柇鐖剁骇鎴栬嚜韬槸鍚﹁喘涔�
-        var myEventOption = {
-          bubbles: true,
-          composed: true,
-        };
-        // 鍑哄彂鍒ゆ柇浜戝涔犳槸鍚﹁喘涔板垽鏂�
-        this.triggerEvent("getCloundIsBuy", {}, myEventOption)
-        if (!this.properties.cloundMenuIsBuy) {
-          // 浜戝涔犳湭璐拱锛屾煡鎵句互璐拱鐨勭洰褰曞拰璧勬簮鏈韩
-          const learn = this.handleTreeData(this.properties.treeList).filter(
+        // 1.鎵惧嚭鎵�鏈夌埗绾х洰褰曞拰鏈韩(鏈夐攢鍞柟寮�) 鍜� 浜戝涔犳湰韬�(鏈夐攢鍞柟寮�) 鏀惧埌涓�涓暟缁�  涓虹┖鍒欐殏鏈紑鏀鹃攢鍞�
+        let learn = []
+        if (this.properties.isCloundHaveSaleMethod) {
+          // 1.1 浜戝涔犳湁閿�鍞柟寮忥紝鍔犲叆鐖剁骇鏁扮粍
+          learn.push(this.properties.learnMenu)
+        } else {
+          // 1.2 浜戝涔犳棤閿�鍞柟寮忥紝灏嗙埗绾х洰褰曞拰鏈韩鍔犲叆鏁扮粍
+          const learn = this.handleTreeData(this.properties.learnList).filter(
             (citem) => citem.saleMethod &&
             citem.saleMethod.find((ditem) => ditem.SaleType == 'Normal') &&
             new Date(citem.saleMethod.find((ditem) => ditem.SaleType == 'Normal').EndDate).getTime() >= new Date().getTime() &&
             new Date(citem.saleMethod.find((ditem) => ditem.SaleType == 'Normal').BeginDate).getTime() <= new Date().getTime() &&
             item.productLinkPath.includes(citem.productLinkPath)
           )
-          // 璧勬簮鍜岀埗绾х洰褰曢兘鏃犻攢鍞柟寮�
-          // if (!learn.length) return wx.showToast({
-          //   icon: 'error',
-          //   title: '鏆傛湭寮�鍞�',
-          // })
-          const buyList = learn.filter((citem) => this.properties.buyIds.includes(citem.saleMethod.find((ditem) => ditem.SaleType == 'Normal').Id))
-          if (!buyList.length && learn.length) {
-            // 璧勬簮鍜屾湰韬兘鏈喘涔� 涓� 鐖剁骇鎴栨湰韬湁閿�鍞柟寮�
-            const itemSaleMethod = item.saleMethod && item.saleMethod.length ? item.saleMethod.find(citem => citem.SaleType == 'Normal') : undefined
-            return wx.showToast({
-              icon: 'error',
-              title: itemSaleMethod && itemSaleMethod.Price == 0 ? '璇峰厛棰嗗彇璧勬簮' : '璇峰厛璐拱璧勬簮',
-            })
-          }
         }
+        // 2.鎵惧嚭杩欎釜鏁扮粍閲屽凡璐拱鐨� 褰㈡垚鏂版暟缁�     涓虹┖鍒欐湭璐拱
+        let buyList = []
+        if (learn.length) buyList = learn.filter((item) => this.properties.buyIds.includes(item.saleMethod.find((citem) => citem.SaleType == 'Normal').Id))
+        // 鏈夌埗绾�(鍖呭惈閿�鍞柟寮�)锛屼笖鏈喘涔�
+        if (learn.length && !buyList.length) return wx.showToast({
+          icon: 'error',
+          title: '璇峰厛璐拱璇ヨ祫婧�',
+        })
       }
       let url;
       if (item.selectType == "video" || item.learnSelectType == "video") {
diff --git a/packageBookService/pages/bookServices/detail/components/tree/index.wxml b/packageBookService/pages/bookServices/detail/components/tree/index.wxml
index e01fd77..582dc00 100644
--- a/packageBookService/pages/bookServices/detail/components/tree/index.wxml
+++ b/packageBookService/pages/bookServices/detail/components/tree/index.wxml
@@ -313,6 +313,8 @@
           tab="{{tab}}"
           buyIds="{{buyIds}}"
           openIds="{{openIds}}"
+          learnMenu="{{learnMenu}}"
+          isCloundHaveSaleMethod="{{isCloundHaveSaleMethod}}"
         ></tree>
       </view>
       <!-- 鏆傛棤鏁版嵁 -->
diff --git a/packageBookService/pages/bookServices/detail/index.js b/packageBookService/pages/bookServices/detail/index.js
index b4f2294..bd67a4d 100644
--- a/packageBookService/pages/bookServices/detail/index.js
+++ b/packageBookService/pages/bookServices/detail/index.js
@@ -208,7 +208,8 @@
     fileList: [],
     isShowUp: true,
     protocolShow: false,
-    protocolTxt: ''
+    protocolTxt: '',
+    learnMenu: null
   },
 
   resetTree: function (e) {
@@ -527,6 +528,9 @@
       this.setData({
         resourceCodeList: res.datas.cmsDatas[0].datas,
         learnTaskData: res.datas.cmsDatas[0].datas.filter((item) => item.refCode == 'jsek_learningTasks')[0]
+      })
+      if (res.datas.cmsDatas[0].datas.length) this.setData({
+        learnMenu: res.datas.cmsDatas[0].datas.find(item => item.refCode == 'jsek_cloudLearning')
       })
     })
   },
@@ -1042,7 +1046,7 @@
         // 鍒ゆ柇浜戝涔犲叏閮ㄨ喘涔版寜閽槸鍚︽樉绀�
         let isShowBuyCloundMenu = flags && cloundSaleMethod.Price >= 0
         // 鍒ゆ柇璧勬簮璐拱鎸夐挳鏄惁鏄剧ず
-        let isShowBuyCloundBtn = res.datas.cmsDatas[0].datas.some(citem => citem.saleMethod.length != 0) || type.saleMethod.length
+        let isShowBuyCloundBtn = !flags && res.datas.cmsDatas[0].datas.some(citem => citem.saleMethod.length != 0)
         // 鍒ゆ柇璐墿杞︽寜閽拰閿佹寜閽槸鍚︽樉绀�
         this.handleTreeData(list).forEach(item => {
           item.isbuy = this.resourceIsBuy(item);
diff --git a/packageBookService/pages/bookServices/detail/index.wxml b/packageBookService/pages/bookServices/detail/index.wxml
index 27016f9..f28429c 100644
--- a/packageBookService/pages/bookServices/detail/index.wxml
+++ b/packageBookService/pages/bookServices/detail/index.wxml
@@ -268,9 +268,12 @@
                 bookInfo="{{bookDetail}}"
                 tab="{{tabValue}}"
                 treeList="{{learn}}"
+                learnList="{{learn}}"
                 buyIds="{{buyIdList}}"
                 openLearnids="{{openLearnids}}"
                 cloundMenuIsBuy="{{cloundMenuIsBuy}}"
+                learnMenu="{{learnMenu}}"
+                isCloundHaveSaleMethod="{{isCloundHaveSaleMethod}}"
                 bind:updateShoppingCartHidden="updateShoppingCartHidden"
                 bind:updateCloudLearning="updateCloudLearning"
                 bind:getCloundIsBuy="getCloundIsBuy"
diff --git a/pages/digitalCourses/digitalCoursesDetails/index.js b/pages/digitalCourses/digitalCoursesDetails/index.js
index aaa522c..05c9f2d 100644
--- a/pages/digitalCourses/digitalCoursesDetails/index.js
+++ b/pages/digitalCourses/digitalCoursesDetails/index.js
@@ -179,6 +179,9 @@
     this.digitalCoursesDetailsGet(options.id)
     this.getPlayerList()
     this.getType()
+    this.setData({
+      userName: JSON.parse(wx.getStorageSync(app.config.userInfoKey)).name,
+    })
   },
 
   /**
@@ -192,11 +195,11 @@
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず
    */
   onShow() {
-    if (this.data.tabValue == 2) {
+    if (this.data.tabValue == 2 && this.data.selectActive == 'learn') {
       this.getPlayerList()
       this.getResource()
+      this.getRelationBook()
     }
-
   },
 
   /**
@@ -240,6 +243,7 @@
         keys: [this.data.bookId + '']
       })
       .then((res) => {
+        console.log(1, res);
         if (res.length > 0) {
           this.setData({
             playerList: JSON.parse(res[0].value)
@@ -545,7 +549,6 @@
               learnList: list,
               openTeachids: result,
             });
-            console.log(1, this.data.learnList, this.data.playerList)
           }
         } else {
           const data = test.filter(

--
Gitblit v1.9.1