From b2a6887c94cc7887b03ba1cce578e3fc59a62259 Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期三, 27 三月 2024 16:12:28 +0800
Subject: [PATCH] 1

---
 packageBookService/pages/bookServices/detail/index.js |  769 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 664 insertions(+), 105 deletions(-)

diff --git a/packageBookService/pages/bookServices/detail/index.js b/packageBookService/pages/bookServices/detail/index.js
index 194c949..dfb39a6 100644
--- a/packageBookService/pages/bookServices/detail/index.js
+++ b/packageBookService/pages/bookServices/detail/index.js
@@ -16,6 +16,7 @@
       name: '',
     },
     bookDetail: {},
+    bookItemDetail: {},
     link: {
       jd: '',
       tamll: '',
@@ -33,6 +34,7 @@
     openTeachids: [],
     openLearnids: [],
     openTestids: [],
+    applyResourceState: false,  // 鐢宠鏁欏璧勬簮鎸夐挳闃叉姈
     resourceClassList: [], // 璧勬簮鎵�灞炲垎绫�
     applyState: "",  // 鏁欏璧勬簮鐢宠鐘舵��
     deadline: "",  // 鏁欏璧勬簮鐢宠鏈夋晥鏃ユ湡
@@ -52,7 +54,68 @@
       mockList: [] // 鐢ㄦ埛缁勫嵎鎻愪氦淇℃伅
     },
     flag: true,
-    applyResourceLoading: false
+    noResources: false,
+    selectedIds: "",//鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮�
+    bookBuy: false, //鍟嗗搧鎴栧瓙鍟嗗搧鏄惁璐拱
+    expire: false,//鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮忔槸鍚﹁繃鏈�
+    noFile: false, //鍟嗗搧鎴栧瓙鍟嗘湁鏃犵數瀛愪功鏂囦欢
+    num: 0, //鏍蜂功鐢宠鍗曟暟閲�
+    alreadyPaperBookList: [], //宸茬敵璇风焊璐ㄦ牱涔�
+    alreadyElectronicBookList: [], //宸茬敵璇风數瀛愭牱涔�
+    paperBookList: [], //鏍蜂功鍗曠焊璐ㄤ功
+    electronicBookList: [], //鏍蜂功鍗曠數瀛愪功
+    paperBookCount: 0, //绾歌川涔﹀墿浣欐鏁�
+    ebookCount: 0, //鐢靛瓙涔﹀墿浣欐鏁�
+    userInfo: {},
+    fileInfo: {
+      bookName: "",
+      fileType: "",
+      md5: "",
+      freePage: ""
+    },  //闃呰鍣ㄦ暟鎹�
+    buyResourceData: {
+      productLinkPath: '',
+      refCode: '',
+    },
+    briefIcon: {
+      name: "/static/images/bookService/detail/tushujianjie-g.png"
+    },
+    briefIconClick: {
+      name: '/static/images/bookService/detail/tushujianjie-click.png'
+    },
+    eBookIcon: {
+      name: '/static/images/bookService/detail/ebook-g.png'
+    },
+    eBookClickIcon: {
+      name: '/static/images/bookService/detail/ebook-click.png'
+    },
+    teachResourcesIcon: {
+      name: '/static/images/bookService/detail/jiaoxueziyuan.png'
+    },
+    teachResourcesClickIcon: {
+      name: '/static/images/bookService/detail/jiaoxueziyuan-click.png'
+    },
+    learnResourceIcon: {
+      name: '/static/images/bookService/detail/yunxuexi.png'
+    },
+    learnResourceClickIcon: {
+      name: '/static/images/bookService/detail/yunxuexi-click.png'
+    },
+    testResourceIocn: {
+      name: '/static/images/bookService/detail/test-icon-g.png'
+    },
+    testResourceClickIocn: {
+      name: '/static/images/bookService/detail/test-click-icon.png'
+    },
+    noteIcon: {
+      name: '/static/images/bookService/detail/biji-icon-g.png'
+    },
+    noteClickIcon: {
+      name: '/static/images/bookService/detail/biji-click-icon.png'
+    },
+    icon1: {
+      name: "/static/images/bookService/detail/dangdang.png"
+    }
   },
 
 
@@ -80,6 +143,7 @@
         name: options.name,
       },
     });
+
     this.getBookInfo(options.id);
     this.getResourceClass() // 鑾峰彇璧勬簮鎵�灞炲垎绫�
     const token = wx.getStorageSync('jsek-token')
@@ -88,6 +152,24 @@
       this.getApplyInfo(options.id)
       this.getMockData()
     }
+    if (wx.getStorageSync(app.config.userInfoKey)) {
+      this.setData({
+        userInfo: JSON.parse(wx.getStorageSync(app.config.userInfoKey))
+      })
+    }
+    if (wx.getStorageSync("paperBookList")) {
+      this.setData({
+        paperBookList: wx.getStorageSync("paperBookList"),
+      })
+    }
+    if (wx.getStorageSync("electronicBookList")) {
+      this.setData({
+        electronicBookList: wx.getStorageSync("electronicBookList"),
+      })
+    }
+    this.setData({
+      num: this.data.paperBookList.length + this.data.electronicBookList.length
+    })
   },
 
   /**
@@ -124,7 +206,7 @@
    * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
    */
   onReachBottom() {
-    if (this.data.tabValue == 'jesk_note') {
+    if (this.data.tabValue == 'jsek_note') {
       const child = this.selectComponent('#note')
       child.onReachBottom()
     }
@@ -137,7 +219,7 @@
   // 鏍煎紡鍖栨棩鏈�
   formatDate(dateString) {
     if (!dateString) {
-      return 'Invalid date';
+      return '';
     }
     const match = dateString.match(/^(\d{4})\/(\d{1,2})\/(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);
     if (!match) {
@@ -231,16 +313,19 @@
       },
     };
     app.MG.store.getProductDetail(query).then(async (res) => {
-      console.log(res.datas);
       this.setData({
         bookDetail: res.datas,
         cmsDatas: res.datas.cmsDatas[0].datas,
         buyIdList: res.datas.purchasedSaleMethodIdList
       });
+      this.getSubTtem();
       // 鑾峰彇鍥句功鍒嗙被
-      const iconType = JSON.parse(res.datas.bookClassification)[0][0];
-      const classType = JSON.parse(res.datas.bookClassification)[0][1];
-      const className = await this.getBookClass(iconType, classType)
+      let className = ''
+      if (Array.isArray(res.datas.bookClassification) && res.datas.bookClassification.length) {
+        const iconType = JSON.parse(res.datas.bookClassification)[0][0];
+        const classType = JSON.parse(res.datas.bookClassification)[0][1];
+        className = await this.getBookClass(iconType, classType)
+      }
       // 鑾峰彇缁勫嵎閿�鍞甶d
       if (res.datas.saleMethod && res.datas.saleMethod.length) {
         res.datas.saleMethod.forEach((item) => {
@@ -273,6 +358,106 @@
       console.log('鍥句功淇℃伅', this.data.bookDetail);
     });
 
+  },
+  //璇锋眰瀛愬晢鍝佺殑鏂囦欢
+  getSubTtem() {
+    const obj = {
+      path: '*',
+      queryType: 'SubProduct',
+      sort: {
+        type: 'Desc',
+        field: 'CreateDate'
+      },
+      paging: {
+        start: 0,
+        size: 6
+      },
+      mainProductId: this.data.bookDetail.id,
+      fields: {
+        author: [],
+        bookshelf_pdf: [],
+        bookshelf_protectedEpub: [],
+        bookshelf_freeEpub: [], //epub璇曡鐧惧垎姣�
+        bookshelf_probationPage: [] //pdf璇曡椤垫暟
+      }
+    }
+    app.MG.store.getProductList(obj).then((res) => {
+      if (res.datas && res.datas.length > 0) {
+        this.setData({
+          bookItemDetail: res.datas[0],
+          selectedIds: res.datas[0].defaultSaleMethod.id,
+          bookBuy: res.datas[0].purchasedSaleMethodIdList.indexOf(res.datas[0].defaultSaleMethodId) > -1
+        });
+        console.log(this.data.bookItemDetail, 'bookItemData.value');
+        let times = new Date(res.datas[0].defaultSaleMethod.endDate).getTime()
+        let startTime = new Date(res.datas[0].defaultSaleMethod.beginDate).getTime()
+        if (times < new Date().getTime() || new Date().getTime() < startTime) {
+          this.setData({
+            expire: true
+          });
+        } else {
+          this.setData({
+            expire: false
+          });
+        }
+        if (res.datas[0].bookshelf_pdf || res.datas[0].bookshelf_protectedEpub) {
+          this.setData({
+            noFile: true
+          });
+          if (res.datas[0].bookshelf_pdf) {
+            this.setData({
+              "fileInfo.bookName": this.data.bookDetail.name,
+              "fileInfo.fileType": 'pdf',
+              "fileInfo.md5": res.datas[0].bookshelf_pdf,
+              "fileInfo.freePage": res.datas[0].bookshelf_probationPage,
+            });
+          } else if (res.datas[0].bookshelf_protectedEpub) {
+            this.setData({
+              "fileInfo.bookName": this.data.bookDetail.name,
+              "fileInfo.fileType": 'epub',
+              "fileInfo.md5": res.datas[0].bookshelf_protectedEpub,
+              "fileInfo.freePage": res.datas[0].bookshelf_freeEpub,
+            });
+          }
+        }
+      } else {
+        if (this.data.bookDetail.pdf || this.data.bookDetail.protectedEpub) {
+          this.setData({
+            noFile: true
+          });
+          if (this.data.bookDetail.pdf) {
+            this.setData({
+              "fileInfo.bookName": this.data.bookDetail.name,
+              "fileInfo.fileType": 'pdf',
+              "fileInfo.md5": this.data.bookDetail.pdf,
+              "fileInfo.freePage": this.data.bookDetail.probationPage,
+            });
+          } else if (this.data.bookDetail.protectedEpub) {
+            this.setData({
+              "fileInfo.bookName": this.data.bookDetail.name,
+              "fileInfo.fileType": 'epub',
+              "fileInfo.md5": this.data.bookDetail.protectedEpub,
+              "fileInfo.freePage": this.data.bookDetail.freeEpubPage,
+            });
+          }
+        }
+        this.setData({
+          selectedIds: this.data.bookDetail.defaultSaleMethodId,
+          bookBuy: this.data.bookDetail.purchasedSaleMethodIdList.indexOf(this.data.bookDetail.defaultSaleMethodId) > -1
+        });
+        let times = new Date(this.data.bookDetail.defaultSaleMethod.endDate).getTime()
+        let startTime = new Date(this.data.bookDetail.defaultSaleMethod.beginDate).getTime()
+        if (times < new Date().getTime() || new Date().getTime() < startTime) {
+          this.setData({
+            expire: true
+          });
+        } else {
+          this.setData({
+            expire: false
+          });
+        }
+      }
+    })
   },
   // 鑾峰彇鍥句功鍒嗙被
   async getBookClass(iconType, classType) {
@@ -344,17 +529,27 @@
   },
   onTabsChange(e) {
     this.setData({
-      tabValue: e.detail.value
+      tabValue: e.detail.value,
+      noResources: false
     })
     if (e.detail.label == '鏁欏璧勬簮' || e.detail.label == '浜戝涔�' || e.detail.label == '浜戞祴璇�') {
       const checkData = this.data.cmsDatas.find(item => item.refCode == e.detail.value)
       if (checkData) {
+        if (e.detail.value == 'jsek_cloudLearning') {
+          this.setData({
+            'buyResourceData.productLinkPath': checkData.productLinkPath,
+            'buyResourceData.refCode': checkData.refCode
+          })
+        }
         if ((e.detail.value == 'jsek_teachingResources' && !this.data.teach.length)
           || (e.detail.value == 'jsek_cloudLearning' && !this.data.learn.length)
           || (e.detail.value == 'questionBank' && !this.data.test.length)) {
           this.getResourceData(checkData)
         }
-
+      } else {
+        this.setData({
+          noResources: true
+        })
       }
     } else if (e.detail.label == '浜戠瑪璁�') {
       const token = wx.getStorageSync('jsek-token')
@@ -363,6 +558,12 @@
       if (token) {
         child.changeLoading()
         child.getNoteList()
+      }
+
+    } else if (e.detail.label == '鐢靛瓙涔�') {
+      const child = this.selectComponent('#eBook')
+      if (child) {
+        child.getProgress()
       }
 
     }
@@ -381,7 +582,8 @@
   //  鑾峰彇鏁欏璧勬簮  浜戝涔�  浜戞祴璇�
   getResourceData(type) {
     this.setData({
-      loading: true
+      loading: true,
+      noResources: false
     })
     let query = {
       path: '*',
@@ -408,6 +610,12 @@
     app.MG.store
       .getProductDetail(query)
       .then(async (res) => {
+        if (!res.datas.cmsDatas[0].datas.length) {
+          return this.setData({
+            noResources: true,
+            loading: false
+          })
+        }
         // 浜戞祴璇曪紝閫掑綊璇锋眰閲屽眰鏁版嵁
         if (type.refCode == 'questionBank') {
           const data = res.datas.cmsDatas[0].datas.filter(
@@ -422,24 +630,26 @@
               item.checked = false
             })
             const list = await this.getAllResource(res.datas.cmsDatas[0].datas)
+            let result = []
             if (type.refCode == 'jsek_teachingResources') {
+              this.findChildIds(list, result)
               this.setData({
                 teach: list,
-                loading: false
+                loading: false,
+                openTeachids: result
               })
-              console.log('鏁欏璧勬簮', this.data.teach);
-              this.findChildIds(this.data.teach, this.data.openTeachids = [])
+              console.log('鏁欏璧勬簮', this.data.teach, this.data.applyState);
             } else if (type.refCode == 'jsek_cloudLearning') {
-              res.datas.cmsDatas[0].datas.forEach(item => {
-                item.checked = false
-              })
-              const list = await this.getAllResource(res.datas.cmsDatas[0].datas)
-              console.log(list, 'list');
+              // 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 {
             // 鏃犳暟鎹�
@@ -489,7 +699,8 @@
         isDownload: [],
         jsek_resourceBrief: [],
         jsek_link: [],
-        accessType: []
+        accessType: [],
+        learnSelectType: []
       },
       pading: {
         start: 0,
@@ -532,12 +743,12 @@
     for (let i = 0; i < data.length; i++) {
       if (index < 3) {
         const item = data[i]
-        if (item.childrenFolderCount > 0) {
+        if (item.children && item.children.length > 0) {
           result.push(item.id)
           for (let j = 0; j < item.children.length; j++) {
             if (index < 3) {
               const childrenItme = item.children[j]
-              if (item.childrenCount > 0) {
+              if (item.children && item.children.length > 0) {
                 result.push(childrenItme.id)
                 index += 1
               }
@@ -545,7 +756,7 @@
               break
             }
           }
-        } else if (item.childrenCount > 0) {
+        } else if (item.children && item.children.length > 0) {
           result.push(item.id)
           index += 1
         }
@@ -558,55 +769,64 @@
   // 鍥句功娣诲姞璐墿杞�
   async addBookShopcCar() {
 
-    const token = wx.getStorageSync('jsek-token')
-    if (!token) {
-      return wx.getUserProfile({
-        desc: '鐢ㄦ埛鐧诲綍',
-        success: (res) => {
-          console.log(res);
+    if (!this.data.expire) {
+
+      const token = wx.getStorageSync('jsek-token')
+      if (!token) {
+        return wx.getUserProfile({
+          desc: '鐢ㄦ埛鐧诲綍',
+          success: (res) => {
+            console.log(res);
+          }
+        })
+      }
+
+      const shoppingCartGetId = []
+
+      let query = {
+        start: 0,
+        size: 9999,
+        filterList: [],
+        searchList: []
+      }
+      const res = await app.MG.store.getShoppingCartProductList(query)
+      res.datas.forEach((item) => {
+        shoppingCartGetId.push(item.saleMethod.id)
+      })
+      console.log(shoppingCartGetId, 'shoppingCartGetId');
+      console.log(this.data.selectedIds, '閿�鍞柟寮廼d');
+      const determine = shoppingCartGetId.some((item) => item == this.data.selectedIds)
+      console.log(determine);
+      if (!determine) {
+        let query = {
+          requests: [
+            {
+              saleMethodId: this.data.selectedIds,
+              storeEventId: null,
+              agentCode: '鐢靛瓙涔�'
+            }
+          ]
         }
+        const addRes = app.MG.store.addShoppingCart(query)
+        this.showSuccessToast()
+
+      } else {
+        Toast({
+          context: this,
+          selector: '#t-toast',
+          message: '宸叉坊鍔�',
+          theme: 'success',
+          direction: 'column',
+        });
+      }
+    } else {
+      wx.showToast({
+        title: "鍟嗗搧涓嶅湪鏈夋晥鏈�",
+        icon: 'none',
+        duration: 1000,
       })
     }
 
-    const shoppingCartGetId = []
-
-    let query = {
-      start: 0,
-      size: 999,
-      filterList: [],
-      searchList: []
-    }
-    const res = await app.MG.store.getShoppingCartProductList(query)
-    res.datas.forEach((item) => {
-      shoppingCartGetId.push(item.saleMethod.id)
-    })
-    console.log(shoppingCartGetId, 'shoppingCartGetId');
-    console.log(this.data.bookDetail.defaultSaleMethodId, 'this.data.bookDetail.defaultSaleMethodId');
-    const determine = shoppingCartGetId.some((item) => item == this.data.bookDetail.defaultSaleMethodId)
-    console.log(determine);
-
-    if (!determine) {
-      let query = {
-        requests: [
-          {
-            saleMethodId: this.data.bookDetail.defaultSaleMethodId,
-            storeEventId: null,
-            agentCode: '鐢靛瓙涔�'
-          }
-        ]
-      }
-      const addRes = app.MG.store.addShoppingCart(query)
-      this.showSuccessToast()
-
-    } else {
-      Toast({
-        context: this,
-        selector: '#t-toast',
-        message: '宸叉坊鍔�',
-        theme: 'success',
-        direction: 'column',
-      });
-    }
 
   },
 
@@ -620,38 +840,44 @@
     });
   },
 
-
-
   async buyBook() {
-    let bookOrdersId = ''
-    let query = {
-      remarks: '鐢靛瓙涔�',
-      requests: [
-        {
-          saleMethodId: this.data.bookDetail.defaultSaleMethodId,
-          count: 1
-        }
-      ]
-    }
-    // 鍙戣捣璁㈠崟鍒濆鍖栬姹傚苟绛夊緟缁撴灉
-    const res = await app.MG.store.initOrder(query)
-    // 鑾峰彇璁㈠崟鍙峰苟璧嬪�肩粰 orderNumber.value
-    bookOrdersId = res.orderNumber
-    console.log(bookOrdersId);
-    // 妫�鏌ヨ鍗曞彿鏄惁瀛樺湪
-    if (bookOrdersId) {
-      const url = '/pages/cart/paymentPage/index?orderNumber=' + bookOrdersId
-      wx.navigateTo({
-        url
-      })
+    console.log(this.data.bookItemDetail.defaultSaleMethodId, 'this.data.bookItemDetail.defaultSaleMethodId');
+    if (!this.data.expire) {
+      let bookOrdersId = ''
+      let query = {
+        remarks: '鐢靛瓙涔�',
+        requests: [
+          {
+            saleMethodId: this.data.bookItemDetail.defaultSaleMethodId ? this.data.bookItemDetail.defaultSaleMethodId : this.data.bookDetail.defaultSaleMethodId,
+            count: 1
+          }
+        ]
+      }
+      // 鍙戣捣璁㈠崟鍒濆鍖栬姹傚苟绛夊緟缁撴灉
+      const res = await app.MG.store.initOrder(query)
+      // 鑾峰彇璁㈠崟鍙峰苟璧嬪�肩粰 orderNumber.value
+      bookOrdersId = res.orderNumber
+      console.log(bookOrdersId);
+      // 妫�鏌ヨ鍗曞彿鏄惁瀛樺湪
+      if (bookOrdersId) {
+        const url = '/pages/cart/paymentPage/index?orderNumber=' + bookOrdersId
+        wx.navigateTo({
+          url
+        })
+      } else {
+        console.log(222);
+      }
     } else {
-      console.log(222);
+      wx.showToast({
+        title: "鍟嗗搧涓嶅湪鏈夋晥鏈�",
+        icon: 'none',
+        duration: 1000,
+      })
     }
-
   },
 
   // 鑾峰彇鏁欏璧勬簮涓嬭浇鏄惁鐢宠閫氳繃
-  getApplyInfo(id) {
+  async getApplyInfo(id) {
     // 鑾峰彇褰撳墠鏃堕棿
     const currentDate = new Date()
     let query = {
@@ -664,7 +890,7 @@
       appRefCode: app.config.appRefCode,
       topicIdOrRefCode: 'productDownLoad'
     }
-    app.MG.ugc.getTopicMessageList(query).then((res) => {
+    await app.MG.ugc.getTopicMessageList(query).then((res) => {
       const applyResource = res.datas.find((item) => {
         let content = []
         try {
@@ -720,13 +946,23 @@
       }
     })
     this.setData({
-      applyResourceLoading: false
+      applyResourceState: false,
     })
+    wx.hideLoading()
   },
   // 鐢宠鏁欏璧勬簮
   applyResource() {
+    if (this.data.applyResourceState) {
+      return wx.showToast({
+        icon: 'error',
+        title: '璇峰嬁閲嶅鐐瑰嚮',
+      })
+    }
     this.setData({
-      applyResourceLoading: true
+      applyResourceState: true
+    })
+    wx.showLoading({
+      title: '鍔犺浇涓�',
     })
     // let role = userStore.userInfo ? userStore.userInfo.role : null
     // if (role) {
@@ -748,13 +984,13 @@
         }
       ])
     }
-    app.MG.ugc.newTopicMessage(query).then((res) => {
+    app.MG.ugc.newTopicMessage(query).then(async (res) => {
       if (res) {
         wx.showToast({
           title: '鐢宠宸叉彁浜わ紝璇峰緟瀹℃牳閫氳繃鍚庝笅杞�',
         })
       }
-      this.getApplyInfo(this.data.bookDetail.id)
+      await this.getApplyInfo(this.data.bookDetail.id)
     })
     //   } else {
     //     ElMessageBox.confirm('璇峰厛杩涜鏁欏笀璁よ瘉锛�', '灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�', {
@@ -1120,7 +1356,6 @@
         keys: [this.data.bookId]
       })
       .then((res) => {
-        console.log(JSON.parse(res[0].value));
         if (res && res.length) {
           const mock = JSON.parse(res[0].value)
           mock.forEach(item => {
@@ -1193,7 +1428,7 @@
   recordBuyMock() {
     const num = this.data.mockData.mockList.length
     const id = tool.uuid(8)
-    const createDate = new Date().getTime()
+    const createDate = this.DateFormat(new Date().getTime(), 'yyyy-MM-dd')
     const mockList = this.data.mockData.mockList
     mockList.push({ id, createDate, name: `绗�${num + 1}濂楄瘯鍗穈, state: '0' })
     this.setData({
@@ -1217,10 +1452,7 @@
     }
     else if (this.data.tabValue == 'jsek_cloudLearning') {
       const tree = this.selectComponent('#tree')
-
       tree.onCloudShoppingCart()
-
-
     } else if (this.data.tabValue == 'questionBank') {
       this.buyMock()
     } else {
@@ -1228,4 +1460,331 @@
     }
   },
 
+  goRead() {
+    if (!this.data.noFile) {
+      wx.showToast({
+        title: '鏆傛棤闃呰鏂囦欢',
+        icon: 'none',
+        duration: 2000
+      })
+      return false;
+    }
+    wx.navigateTo({
+      url: '/packageBookService/pages/components/webView/index?md5=' + this.data.fileInfo.md5 + '&fileName=' + this.data.fileInfo.bookName + '&fileType=' + this.data.fileInfo.fileType + '&freePage=' + this.data.fileInfo.freePage
+    })
+
+  },
+
+  //鏍蜂功鐢宠
+  //鐢宠鐢靛瓙鏍蜂功
+  appplyElectronicBook() {
+    console.log(this.data.bookDetail)
+    if (this.data.bookDetail.isApplyBook == 2 || this.data.bookDetail.isApplyBook == 4) {
+
+      let role = this.data.userInfo != null ? this.data.userInfo.role : null
+      if (role) {
+        if (role == 'Teacher') {
+          if (this.data.noFile) {
+            this.getSelectBookCount()
+          } else {
+            wx.showToast({
+              title: "鏆傛棤鐢靛瓙涔︽枃浠�,璇疯仈绯荤鐞嗗憳!",
+              icon: 'none',
+              duration: 1000,
+            })
+          }
+        } else {
+          wx.showModal({
+            title: '灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�', //鎻愮ず鐨勬爣棰�
+            content: '璇峰厛杩涜鏁欏笀璁よ瘉锛�', //鎻愮ず鐨勫唴瀹�
+            success: function (res) {
+              if (res.confirm) {
+                wx.navigateTo({
+                  url: "/packageDomain/pages/teacherCertification/index",
+                });
+              } else if (res.cancel) {
+              }
+            }
+          })
+        }
+      }
+    } else {
+      wx.showToast({
+        title: "璇ヤ功涓嶈兘鐢宠鐢靛瓙鏍蜂功",
+        icon: 'none',
+        duration: 1000,
+      })
+    }
+  },
+  //鐢宠绾歌川鏍蜂功
+  appplyPaperBook() {
+    if (this.data.bookDetail.isApplyBook == 3 || this.data.bookDetail.isApplyBook == 4) {
+      let role = this.data.userInfo != null ? this.data.userInfo.role : null
+      if (role) {
+        if (role == 'Teacher') {
+          this.getSelectPaperBookCount()
+        } else {
+          wx.showModal({
+            title: '灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛�', //鎻愮ず鐨勬爣棰�
+            content: '璇峰厛杩涜鏁欏笀璁よ瘉锛�', //鎻愮ず鐨勫唴瀹�
+            success: function (res) {
+              if (res.confirm) {
+                wx.navigateTo({
+                  url: "/packageDomain/pages/teacherCertification/index",
+                });
+              } else if (res.cancel) {
+              }
+            }
+          })
+        }
+      }
+    } else {
+      wx.showToast({
+        title: "璇ヤ功涓嶈兘鐢宠绾歌川鏍蜂功",
+        icon: 'none',
+        duration: 1000,
+      })
+    }
+  },
+  //鑾峰彇褰撳墠宸茬敵璇锋鏁帮紙绾歌川锛�
+  getSelectPaperBookCount() {
+    app.MG.app
+      .getTicketResult({
+        ticketRefCodeOrGuid: 'paperSampleBookapplyNum',
+        roleId: this.data.userInfo.roleId
+      })
+      .then((res) => {
+        this.setData({
+          paperBookCount: res.totalCount - res.usedCount
+        })
+        this.getAlreadyBookList(this.data.bookDetail, 'pBook')
+      })
+  },
+  //鑾峰彇褰撳墠宸茬敵璇锋鏁帮紙鐢靛瓙锛�
+  getSelectBookCount() {
+    app.MG.app
+      .getTicketResult({
+        ticketRefCodeOrGuid: 'electronicSampleBookapplyNum',
+        roleId: this.data.userInfo.roleId
+      })
+      .then((res) => {
+        this.setData({
+          ebookCount: res.totalCount - res.usedCount
+        })
+        this.getAlreadyBookList(this.data.bookDetail, 'eBook')
+      })
+  },
+  //鑾峰彇宸茬敵璇风殑鏍蜂功鍒楄〃
+  getAlreadyBookList(item, type) {
+    let topicIdOrRefCode = null
+    if (type == 'eBook') {
+      topicIdOrRefCode = 'applyBook'
+    } else {
+      topicIdOrRefCode = 'applyEntityBook'
+    }
+    const data = {
+      start: 0,
+      size: 9999,
+      topicIdOrRefCode,
+      appRefCode: app.config.appRefCode,
+      sort: {
+        type: 'Desc',
+        field: 'CreateDate'
+      }
+    }
+    app.MG.ugc.getTopicMessageList(data).then((res) => {
+      let itemAttr = null
+      let isHas = false
+      itemAttr = {
+        id: item.id,
+        title: item.name || '--',
+        icon: item.icon,
+        checked: false,
+        defaultSaleMethodId: item.defaultSaleMethodId,
+        md5: item.datas.Icon,
+        author: item.author || '--',
+        price: item.price || '--',
+        isbn: item.isbn || '--',
+        publicationDate: item.publicationDate
+      }
+      res.datas.map((item) => {
+        if (item.feedBack) {
+          item.feedBack = JSON.parse(item.feedBack)
+          if (item.feedBack.endDate) {
+            const currentDate = new Date()
+            let times = new Date(item.feedBack.endDate + ' 23:59:59').getTime()
+            if (times < currentDate.getTime()) {
+              item.isExpiry = true
+            }
+          }
+        }
+        if (item.content) {
+          item.content = JSON.parse(item.content)
+          item.content.map((e) => (item.productId = e.id))
+        }
+      })
+      let objVal = null
+      if (type != 'eBook') {
+        objVal = res.datas.find(
+          (i) => i.productId == item.id && i.state != 'Reject' && i.state == 'WaitAudit'
+        )
+      } else {
+        objVal = res.datas.find((i) => i.productId == item.id && i.state != 'Reject')
+      }
+      if (objVal && !objVal.isExpiry && type == 'eBook') {
+        wx.showToast({
+          title: "鎮ㄥ凡鐢宠璇ユ牱涔�",
+          icon: 'none',
+          duration: 1000,
+        })
+      } else if (objVal && type != 'eBook') {
+        wx.showToast({
+          title: "鎮ㄥ凡鐢宠璇ユ牱涔�",
+          icon: 'none',
+          duration: 1000,
+        })
+      } else {
+        if (type == 'eBook') {
+          if (this.data.ebookCount > 0) {
+            const eBookData = this.data.electronicBookList
+            if (eBookData.length == 2) {
+              wx.showToast({
+                title: "姣忔鏈�澶氬彧鍙敵璇�2鏈牱涔�",
+                icon: 'none',
+                duration: 1000,
+              })
+              return false
+            }
+            if (eBookData.length > 0) {
+              for (let i = 0; i < eBookData.length; i++) {
+                if (eBookData[i].id == item.id) {
+                  isHas = true
+                }
+              }
+              if (!isHas) {
+                wx.showToast({
+                  title: "娣诲姞鎴愬姛锛屽湪鏍蜂功鐢宠鍗曠瓑鎮ㄥ摝~",
+                  icon: "none",
+                  duration: 1000,
+                })
+                this.setData({
+                  electronicBookList: [...this.data.electronicBookList, ...[itemAttr]],
+                  num: this.data.electronicBookList.length + this.data.paperBookList.length
+                })
+                wx.setStorageSync("electronicBookList", this.data.electronicBookList);
+              } else {
+                wx.showToast({
+                  title: "璇ヤ功宸插湪娓呭崟鍒楄〃涓�",
+                  icon: "none",
+                  duration: 1000,
+                })
+              }
+            } else {
+              wx.showToast({
+                title: "娣诲姞鎴愬姛锛屽湪鏍蜂功鐢宠鍗曠瓑鎮ㄥ摝~",
+                icon: "none",
+                duration: 1000,
+              })
+              this.setData({
+                electronicBookList: [itemAttr],
+                num: 1 + this.data.paperBookList.length
+              })
+              wx.setStorageSync("electronicBookList", [itemAttr]);
+            }
+          } else {
+            wx.showToast({
+              title: "鎮ㄧ殑鐢靛瓙鏍蜂功鐢宠娆℃暟宸茬敤灏斤紝鑻ヨ缁х画锛岃鑱旂郴绠$悊鍛橈紒",
+              icon: "none",
+              duration: 1000,
+            })
+          }
+        } else {
+          if (this.data.paperBookCount > 0) {
+            const pBookData = this.data.paperBookList
+            if (pBookData.length == 2) {
+              wx.showToast({
+                title: "姣忔鏈�澶氬彧鍙敵璇�2鏈牱涔�",
+                icon: 'none',
+                duration: 1000,
+              })
+              return false
+            }
+            if (pBookData.length > 0) {
+              for (let i = 0; i < pBookData.length; i++) {
+                if (pBookData[i].id == item.id) {
+                  isHas = true
+                }
+              }
+              if (!isHas) {
+                wx.showToast({
+                  title: "娣诲姞鎴愬姛锛屽湪鏍蜂功鐢宠鍗曠瓑鎮ㄥ摝~",
+                  icon: 'none',
+                  duration: 1000,
+                })
+                this.setData({
+                  paperBookList: [...this.data.paperBookList, ...[itemAttr]],
+                  num: this.data.paperBookList.lenght + this.data.electronicBookList.length
+                })
+                wx.setStorageSync("paperBookList", this.data.paperBookList);
+              } else {
+                wx.showToast({
+                  title: "璇ヤ功宸插湪娓呭崟鍒楄〃涓�",
+                  icon: "none",
+                  duration: 1000,
+                })
+              }
+            } else {
+              wx.showToast({
+                title: "娣诲姞鎴愬姛锛屽湪鏍蜂功鐢宠鍗曠瓑鎮ㄥ摝~",
+                icon: 'none',
+                duration: 1000,
+              })
+              this.setData({
+                paperBookList: [itemAttr],
+                num: 1 + this.data.electronicBookList.length
+              })
+              wx.setStorageSync("paperBookList", [itemAttr]);
+            }
+          } else {
+            wx.showToast({
+              title: "鎮ㄧ殑绾歌川鏍蜂功鐢宠娆℃暟宸茬敤灏斤紝鑻ヨ缁х画锛岃鑱旂郴绠$悊鍛橈紒",
+              icon: 'none',
+              duration: 1000,
+            })
+          }
+        }
+      }
+    })
+  },
+  //鍘绘牱涔︾敵璇峰崟
+  goApply() {
+    wx.navigateTo({
+      url: "/packageDomain/pages/sampleBookList/applicationForm/index",
+    });
+  },
+  handleTree() {
+    // const child = this.selectComponent('#teach-tree')
+    let tree
+    // let openIds = child.data.openIds
+    if (this.data.tabValue == 'jsek_teachingResources') {
+      tree = this.data.teach
+    } else {
+      tree = this.data.learn
+    }
+    for (let index = 0; index < tree.length; index++) {
+      const item = tree[index];
+      if (item.children && item.children.length > 0) {
+        const num = this.data.openTeachids.findIndex(citem => item.id == citem)
+        if (num >= 0) {
+          item.open = true
+        } else {
+          item.open = false
+        }
+        this.handleTree(item.children)
+      }
+    }
+    this.setData({
+      teach: tree
+    })
+  },
 })

--
Gitblit v1.9.1