From aacb4b111141c9b37397b528eae1668245ac93b2 Mon Sep 17 00:00:00 2001
From: litian <C21AF165>
Date: 星期五, 22 三月 2024 11:16:41 +0800
Subject: [PATCH] 样书

---
 packageBookService/pages/bookServices/detail/index.js |  444 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 412 insertions(+), 32 deletions(-)

diff --git a/packageBookService/pages/bookServices/detail/index.js b/packageBookService/pages/bookServices/detail/index.js
index 7addb7f..5211b66 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: '',
@@ -53,7 +54,19 @@
     },
     flag: true,
     applyResourceLoading: false,
-    noResources: false
+    noResources: false,
+    selectedIds: "",//鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮�
+    bookBuy: false, //鍟嗗搧鎴栧瓙鍟嗗搧鏄惁璐拱
+    expire: false,//鍟嗗搧鎴栧瓙鍟嗗搧閿�鍞柟寮忔槸鍚﹁繃鏈�
+    noFile: false, //鍟嗗搧鎴栧瓙鍟嗘湁鏃犵數瀛愪功鏂囦欢
+    num: 0, //鏍蜂功鐢宠鍗曟暟閲�
+    alreadyPaperBookList: [], //宸茬敵璇风焊璐ㄦ牱涔�
+    alreadyElectronicBookList: [], //宸茬敵璇风數瀛愭牱涔�
+    paperBookList: [], //鏍蜂功鍗曠焊璐ㄤ功
+    electronicBookList: [], //鏍蜂功鍗曠數瀛愪功
+    paperBookCount: 0, //绾歌川涔﹀墿浣欐鏁�
+    ebookCount: 0, //鐢靛瓙涔﹀墿浣欐鏁�
+    userInfo: {},
   },
 
 
@@ -81,6 +94,7 @@
         name: options.name,
       },
     });
+
     this.getBookInfo(options.id);
     this.getResourceClass() // 鑾峰彇璧勬簮鎵�灞炲垎绫�
     const token = wx.getStorageSync('jsek-token')
@@ -89,6 +103,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
+    })
   },
 
   /**
@@ -238,6 +270,7 @@
         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];
@@ -274,6 +307,76 @@
       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
+          });
+        }
+      } else {
+        if (this.data.bookDetail.pdf || this.data.bookDetail.protectedEpub) {
+          this.setData({
+            noFile: true
+          });
+        }
+        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) {
@@ -567,7 +670,6 @@
 
   // 鍥句功娣诲姞璐墿杞�
   async addBookShopcCar() {
-
     const token = wx.getStorageSync('jsek-token')
     if (!token) {
       return wx.getUserProfile({
@@ -591,15 +693,14 @@
       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(this.data.selectedIds, '閿�鍞柟寮廼d');
+    const determine = shoppingCartGetId.some((item) => item == this.data.selectedIds)
     console.log(determine);
-
     if (!determine) {
       let query = {
         requests: [
           {
-            saleMethodId: this.data.bookDetail.defaultSaleMethodId,
+            saleMethodId: this.data.selectedIds,
             storeEventId: null,
             agentCode: '鐢靛瓙涔�'
           }
@@ -633,31 +734,38 @@
 
 
   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
-      })
+    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,
+      })
     }
-
   },
 
   // 鑾峰彇鏁欏璧勬簮涓嬭浇鏄惁鐢宠閫氳繃
@@ -1227,10 +1335,7 @@
     }
     else if (this.data.tabValue == 'jsek_cloudLearning') {
       const tree = this.selectComponent('#tree')
-
       tree.onCloudShoppingCart()
-
-
     } else if (this.data.tabValue == 'questionBank') {
       this.buyMock()
     } else {
@@ -1238,4 +1343,279 @@
     }
   },
 
+  //鏍蜂功鐢宠
+  //鐢宠鐢靛瓙鏍蜂功
+  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) {
+              }
+            }
+          })
+        }
+      }
+    }
+  },
+  //鐢宠绾歌川鏍蜂功
+  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) {
+              }
+            }
+          })
+        }
+      }
+    }
+  },
+  //鑾峰彇褰撳墠宸茬敵璇锋鏁帮紙绾歌川锛�
+  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",
+    });
+  },
+
 })

--
Gitblit v1.9.1