From f058f6f1b35f413000ea81d7df92b4bd021c6b6f Mon Sep 17 00:00:00 2001
From: QYF-GitLab1 <1940665526@qq.com>
Date: 星期二, 08 七月 2025 16:24:00 +0800
Subject: [PATCH] 销售方式跳转、扫码、Isbn弹框、出版日期

---
 packageBookService/pages/bookServices/detail/index.js |  185 +++++++++++++++++++++++++++++++---------------
 1 files changed, 125 insertions(+), 60 deletions(-)

diff --git a/packageBookService/pages/bookServices/detail/index.js b/packageBookService/pages/bookServices/detail/index.js
index 72cd1ec..07cb6b1 100644
--- a/packageBookService/pages/bookServices/detail/index.js
+++ b/packageBookService/pages/bookServices/detail/index.js
@@ -212,9 +212,19 @@
     protocolTxt: '',
     learnMenu: null,
     md5List: [],
-    editDialog: false
+    editDialog: false,
+    scrollTop: 0, // 鎵爜杩涜祫婧愭粴鍔�
+    source: '',
+    activeId: '',
+    qrTabValue: ''
   },
-
+  // 鎵爜鍒拌祫婧愬垪琛紝婊氬姩鍒拌璧勬簮浣嶇疆
+  handleScrollTop(e) {
+    if (this.data.tabValue == this.data.qrTabValue)
+      this.setData({
+        scrollTop: e.detail.top
+      })
+  },
   resetTree: function (e) {
     this.setData({
       currentCheck: e.detail.checkedItem,
@@ -258,7 +268,11 @@
         name: decodeURI(options.name),
         storeInfo: options.storeInfo,
       },
+      source: options.source,
+      activeId: options.resourceId,
+      qrTabValue: options.tabValue
     });
+    console.log('浼犲弬', this.data);
     wx.setNavigationBarTitle({
       title: decodeURI(options.name),
     })
@@ -301,6 +315,7 @@
     }
     this.setData({
       num: Number(this.data.paperBookList.length) + Number(this.data.electronicBookList.length),
+      editDialog: false
     });
     if (this.data.bookDetail.id) {
       this.getBookInfo(this.data.bookDetail.id)
@@ -771,7 +786,11 @@
       editDialog: true
     })
   },
-
+  closeEditDialog() {
+    this.setData({
+      editDialog: false
+    })
+  },
   // 鎴戣寤鸿
   suggestBtn() {
     // 妫�鏌ョ櫥褰曠姸鎬�
@@ -1081,7 +1100,11 @@
       }
       let result = [];
       if (type.refCode == "jsek_teachingResources") {
-        this.findChildIds(list, result);
+        if (this.data.activeId) {
+          result = this.findChildIdsByCode(res.datas.cmsDatas[0].datas)
+        } else {
+          this.findChildIds(list, result);
+        }
         this.setData({
           openTeachids: result,
           loading: false,
@@ -1100,14 +1123,21 @@
         ) || (flags && cloundSaleMethod.Price == 0)
         // 鍒ゆ柇浜戝涔犲叏閮ㄨ喘涔版寜閽槸鍚︽樉绀�
         let isShowBuyCloundMenu = flags && cloundSaleMethod.Price > 0 && !this.data.buyIdList.includes(cloundSaleMethod.Id)
-        // 鍒ゆ柇璧勬簮璐拱鎸夐挳鏄惁鏄剧ず
-        let isShowBuyCloundBtn = !flags && res.datas.cmsDatas[0].datas.some(citem => citem.saleMethod.length != 0)
+        // 鍒ゆ柇璧勬簮璐拱鎸夐挳鏄惁鏄剧ず 锛堜簯瀛︿範鏃犻攢鍞柟寮忥紝璧勬簮鍜岀洰褰曚腑鏈夐攢鍞柟寮忥紝涓斿敭浠峰ぇ浜�0锛�
+        let isShowBuyCloundBtn = !flags && res.datas.cmsDatas[0].datas.some(item => item.saleMethod.length &&
+          item.saleMethod.find((citem) => citem.SaleType == 'Normal').Price > 0 &&
+          new Date(item.saleMethod.find((citem) => citem.SaleType == 'Normal').EndDate).getTime() >= new Date().getTime() &&
+          new Date(item.saleMethod.find((citem) => citem.SaleType == 'Normal').BeginDate).getTime() <= new Date().getTime())
         // 鍒ゆ柇璐墿杞︽寜閽拰閿佹寜閽槸鍚︽樉绀�
         this.handleTreeData(list).forEach(item => {
           item.isbuy = this.resourceIsBuy(item);
           item.isShopCar = this.isShoppingCart(item);
         })
-        this.findChildIds(list, result);
+        if (this.data.activeId) {
+          result = this.findChildIdsByCode(res.datas.cmsDatas[0].datas)
+        } else {
+          this.findChildIds(list, result);
+        }
         this.setData({
           isshowDrawBtn,
           isShowBuyCloundMenu,
@@ -1119,7 +1149,7 @@
           learnPath: type.productLinkPath
         });
       }
-      console.log('1', this.data.teach);
+      console.log('1', result);
     })
   },
   //  鑾峰彇 浜戞祴璇�
@@ -1200,7 +1230,7 @@
               });
             }
             if (data.length > 0) {
-              console.log('data', data);
+              console.log('data01', data);
               let list = []
               that.getTreeList(data, list, query.cmsPath)
               list = that.ensureTreeConsistency(list)
@@ -1270,14 +1300,19 @@
       }
   },
 
+  // 鑾峰彇鐩綍鎵爜灞曞紑椤�
+  findChildIdsByCode(list) {
+    let arr = []
+    const data = list.find(item => item.id == this.data.activeId)
+    if (data) {
+      const ids = data.productLinkInfo.find(item => item.CmsItemId == data.id).LinkPath.split('\\')
+      arr = [data.id, ...ids].map(item => Number(item))
+    }
+    return arr
+  },
+
   // 鍥句功娣诲姞璐墿杞�
   addBookShopcCar() {
-    const token = wx.getStorageSync(app.config.tokenKey);
-    if (token) {
-      addFun()
-    } else {
-      this.logInFun(() => {})
-    }
     const addFun = async () => {
       if (!this.data.expire) {
         const shoppingCartGetId = [];
@@ -1321,6 +1356,13 @@
         });
       }
     }
+    const token = wx.getStorageSync(app.config.tokenKey);
+    if (token) {
+      addFun()
+    } else {
+      this.logInFun(() => {})
+    }
+
   },
 
   showSuccessToast() {
@@ -1796,13 +1838,6 @@
   },
   // 浜戝涔犱竴閿鍙�
   getFreeResource() {
-    const child = this.selectComponent("#learn-resource");
-    const token = wx.getStorageSync(app.config.tokenKey);
-    if (!token) {
-      this.logInFun(() => {});
-    } else {
-      getFreeFun()
-    }
     const getFreeFun = async () => {
       // 棰嗗彇鏌ョ湅 锛屽厛鐪嬩簯瀛︿範涓婄殑  鍐嶇湅璧勬簮涓婄殑
       const cloundMenu = this.data.resourceCodeList.find((item) => item.refCode == 'jsek_cloudLearning')
@@ -1871,6 +1906,14 @@
         console.log(error);
       }
     }
+    const child = this.selectComponent("#learn-resource");
+    const token = wx.getStorageSync(app.config.tokenKey);
+    if (!token) {
+      this.logInFun(() => {});
+    } else {
+      getFreeFun()
+    }
+
   },
   // 浜戝涔犱竴閿喘涔�
   async allAddShoppiingCar() {
@@ -1924,12 +1967,6 @@
   },
   // 浜戝涔犲叏閮ㄨ喘涔�
   buyCloudLearnClass() {
-    const token = wx.getStorageSync(app.config.tokenKey);
-    if (token) {
-      buyClass()
-    } else {
-      this.logInFun(() => {})
-    }
     const buyClass = async () => {
       const cloundMenu = this.data.resourceCodeList.find((item) => item.refCode == 'jsek_cloudLearning')
       let query = {
@@ -1954,6 +1991,13 @@
         });
       }
     }
+    const token = wx.getStorageSync(app.config.tokenKey);
+    if (token) {
+      buyClass()
+    } else {
+      this.logInFun(() => {})
+    }
+
   },
   // 鍙樹负鎵�鏈塩heck   true
   findAndUpdateItemsByIds(tree, ids) {
@@ -2096,12 +2140,6 @@
   },
   // 璐拱缁勫嵎
   buyMock() {
-    const token = wx.getStorageSync(app.config.tokenKey);
-    if (token) {
-      buyMockFun()
-    } else {
-      this.logInFun(() => {})
-    }
     const buyMockFun = async () => {
       let res;
       if (!this.data.mockData.id)
@@ -2150,6 +2188,13 @@
         console.log(error);
       }
     }
+    const token = wx.getStorageSync(app.config.tokenKey);
+    if (token) {
+      buyMockFun()
+    } else {
+      this.logInFun(() => {})
+    }
+
   },
   // 璁板綍璐拱缁勫嵎鏃堕棿
   recordBuyMock() {
@@ -2251,12 +2296,6 @@
   },
   // 搴曢儴璐拱鎸夐挳
   buyBtn() {
-    const token = wx.getStorageSync(app.config.tokenKey);
-    if (token) {
-      buyFun()
-    } else {
-      this.logInFun(() => {})
-    }
     const buyFun = () => {
       if (this.data.tabValue == "brief" && !this.data.bookBuy) {
         this.buyBook();
@@ -2267,6 +2306,13 @@
         console.log(this.data.tabValue);
       }
     }
+    const token = wx.getStorageSync(app.config.tokenKey);
+    if (token) {
+      buyFun()
+    } else {
+      this.logInFun(() => {})
+    }
+
   },
 
   goRead(e) {
@@ -2421,12 +2467,6 @@
 
   //鐢宠鐢靛瓙鏍蜂功
   appplyElectronicBook() {
-    const token = wx.getStorageSync(app.config.tokenKey);
-    if (token) {
-      applyFun()
-    } else {
-      this.logInFun(() => {})
-    }
     const applyFun = () => {
       // 鍏堝垽鏂笅鏁欏笀璁よ瘉锛屾湭瀵瑰師鏈夐�昏緫淇敼
       let role = this.data.userInfo != null ? this.data.userInfo.role : null;
@@ -2534,15 +2574,16 @@
         });
       }
     }
-  },
-  //鐢宠绾歌川鏍蜂功
-  appplyPaperBook() {
     const token = wx.getStorageSync(app.config.tokenKey);
     if (token) {
       applyFun()
     } else {
       this.logInFun(() => {})
     }
+
+  },
+  //鐢宠绾歌川鏍蜂功
+  appplyPaperBook() {
     const applyFun = () => {
       let role = this.data.userInfo != null ? this.data.userInfo.role : null;
       if (role && role == "Teacher") {} else {
@@ -2630,6 +2671,13 @@
         });
       }
     }
+    const token = wx.getStorageSync(app.config.tokenKey);
+    if (token) {
+      applyFun()
+    } else {
+      this.logInFun(() => {})
+    }
+
   },
   //  娣诲姞鏍蜂功
   addBookFun(item, type) {
@@ -2673,9 +2721,14 @@
 
   //鍘绘牱涔︾敵璇峰崟
   goApply() {
-    wx.navigateTo({
-      url: "/packageDomain/pages/sampleBookList/applicationForm/index",
-    });
+    const token = wx.getStorageSync(app.config.tokenKey);
+    if (token) {
+      wx.navigateTo({
+        url: "/packageDomain/pages/sampleBookList/applicationForm/index",
+      });
+    } else {
+      this.logInFun(() => {})
+    }
   },
   handleTree() {
     // const child = this.selectComponent('#teach-tree')
@@ -2756,14 +2809,6 @@
     return childrenList
   },
   uploadFile(e) {
-    const token = wx.getStorageSync(app.config.tokenKey);
-    if (token) {
-      uploadFun()
-    } else {
-      this.logInFun(() => {
-        uploadFun()
-      })
-    }
     const uploadFun = () => {
       const userInfo = JSON.parse(wx.getStorageSync(app.config.userInfoKey))
       if (userInfo.role != 'Teacher') return wx.showToast({
@@ -2775,6 +2820,15 @@
         isShowUp: true
       });
     }
+    const token = wx.getStorageSync(app.config.tokenKey);
+    if (token) {
+      uploadFun()
+    } else {
+      this.logInFun(() => {
+        uploadFun()
+      })
+    }
+
   },
   closeDialog() {
     this.setData({
@@ -3016,6 +3070,17 @@
       cloundMenuIsBuy: flag
     })
   },
+
+  // 鏄剧ずISBN
+  showISBN() {
+    wx.showModal({
+      title: '',
+      content: this.data.bookDetail.isbn,
+      showCancel: false,
+      confirmText: '鍏抽棴',
+      success: (res) => {}
+    })
+  },
   /**
    * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜�
    */

--
Gitblit v1.9.1