From c96612e8a63ecef9590be0f8b5199277ec94e5b9 Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期三, 18 九月 2024 18:43:12 +0800
Subject: [PATCH] 云学习购买目录,修改bug

---
 pages/digitalCourses/digitalCoursesDetails/index.js |  231 ++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 186 insertions(+), 45 deletions(-)

diff --git a/pages/digitalCourses/digitalCoursesDetails/index.js b/pages/digitalCourses/digitalCoursesDetails/index.js
index 670801c..21b05e9 100644
--- a/pages/digitalCourses/digitalCoursesDetails/index.js
+++ b/pages/digitalCourses/digitalCoursesDetails/index.js
@@ -85,6 +85,7 @@
     closeBtn: false,
     deleteBtn: false,
     bookId: '',
+    bookPath: '',
     playerList: [],
     worksInfo: [],
     isCertificate: {},
@@ -94,6 +95,7 @@
       fullName: '', //鍚嶇О
       userPicture: '' //鐢宠璇佷功鐢ㄦ埛鍥剧墖
     },
+    userName: '',
     pictureMd5: '',
     publishingUnit: '',
     pubCertificateHide: true,
@@ -153,18 +155,29 @@
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
    */
   onLoad(options) {
+    let parentPath = options.path.split('\\');
+    parentPath.pop();
     this.setData({
-      bookId: options.id
+      bookId: options.id,
+      bookPath: parentPath.join('\\')
     })
     const token = wx.getStorageSync(app.config.tokenKey)
     if (!token) {
       loginInfo(app, (data) => {
-        if (data) {} else {}
+        if (data) {
+          this.digitalCoursesDetailsGet(options.id)
+          this.getPlayerList()
+          this.getType()
+        } else {}
       })
     }
     this.digitalCoursesDetailsGet(options.id)
     this.getPlayerList()
     this.getType()
+    this.setData({
+      userName: JSON.parse(wx.getStorageSync(app.config.userInfoKey)).name,
+    })
+    console.log('1', options.id);
   },
 
   /**
@@ -178,6 +191,10 @@
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず
    */
   onShow() {
+    if (this.data.tabValue == 2) {
+      this.getPlayerList()
+      this.getResource()
+    }
 
   },
 
@@ -212,15 +229,14 @@
   /**
    * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜�
    */
-  onShareAppMessage() {
-
-  },
+  onShareAppMessage() {},
+  onShareTimeline() {},
   //鑾峰彇瑙嗛瀛︿範
   getPlayerList() {
     app.MG.identity
       .getUserKey({
         domain: 'videoPlayer',
-        keys: [this.data.bookId]
+        keys: [this.data.bookId + '']
       })
       .then((res) => {
         if (res.length > 0) {
@@ -291,37 +307,94 @@
       }
       res.datas.publicationDate = moment(res.datas.publicationDate).format('YYYY骞碝M鏈�')
       res.datas.price = res.datas.price.toFixed(2)
-
+      res.datas.oldPrice = res.datas.oldPrice.toFixed(2)
       wx.setNavigationBarTitle({
         title: res.datas.name,
       })
       if (res.datas.publishingUnit) {
         await this.getBookPublishUnit(res.datas.publishingUnit)
       }
-      let lecturer = []
       if (res.datas.datas.speaker && res.datas.datas.speaker.length > 0) {
-        res.datas.datas.speaker.forEach(item => {
-          if (res.datas.subItems && res.datas.subItems.QueryCms.length > 0) {
-            res.datas.subItems.QueryCms.forEach(item1 => {
+        this.getSpeaker(res.datas.datas.speaker)
+      } else {
+        this.setData({
+          lecturerList: []
+        })
+      }
+      if (this.data.bookPath) {
+        this.getAboutBook(this.data.bookPath)
+      } else {
+        this.getAboutBook(res.datas.productLinkInfo[res.datas.productLinkInfo.length - 1].LinkPath)
+      }
+      this.getCertificateList()
+      res.datas.content = res.datas.content && res.datas.content.replace('../', app.config.requestCtx + '/').replace(
+        /\<img/gi,
+        '<img style="max-width:100%;height:auto;display:block;margin-top:0;margin-bottom:0;"'
+      )
+      this.setData({
+        digitalsData: res.datas,
+        loading: false
+      })
+    })
+  },
+  //鑾峰彇涓昏浜�
+  getSpeaker(list) {
+    this.setData({
+      lecturerList: []
+    })
+    let query = {
+      path: 'jsek_speaker',
+      fields: {
+        content: [],
+        positionalTitle: []
+      },
+      coverSize: {
+        height: 250
+      }
+    }
+    app.MG.resource.getItem(query).then((res) => {
+      let lecturerList = []
+      if (list && res.datas.length > 0) {
+        list.forEach((item) => {
+          if (res.datas && res.datas.length > 0) {
+            res.datas.forEach((item1) => {
               if (JSON.parse(item.Data.Value).items[0] == item1.id) {
-                lecturer.push({
+                lecturerList.push({
                   name: item1.name,
-                  icon: item1.icon ? item1.icon : '',
-                  description: item1.description ? item1.description : '',
+                  positionalTitle: item1.positionalTitle,
+                  icon: item1.icon,
+                  description: item1.description ? item1.description : '鏆傛棤绠�浠�'
                 })
               }
             })
-
           }
         })
+        this.getPositionalTitle(lecturerList)
       }
-      this.getAboutBook(res.datas.productLinkInfo[res.datas.productLinkInfo.length - 1].LinkPath)
-      this.getCertificateList()
-      res.datas.content = res.datas.content && res.datas.content.replace('../', app.config.requestCtx + '/')
+    })
+  },
+  async getPositionalTitle(listStr) {
+    let list = []
+    let query = {
+      refCodes: ['positionalTitle']
+    }
+    await app.MG.store.getProductTypeField(query).then((res) => {
+      let option = JSON.parse(res[0].config).option
+      listStr.forEach((unit) => {
+        option.forEach((item) => {
+          if (item.value == unit.positionalTitle) {
+            unit.positionalName = item.name
+          }
+        })
+        list.push({
+          name: unit.name,
+          positionalTitle: unit.positionalName,
+          icon: unit.icon,
+          description: unit.description ? unit.description : '鏆傛棤绠�浠�'
+        })
+      })
       this.setData({
-        lecturerList: lecturer,
-        digitalsData: res.datas,
-        loading: false
+        lecturerList: list
       })
     })
   },
@@ -353,6 +426,9 @@
     this.setData({
       tabValue: value
     })
+    if (this.data.tabValue == 0) {
+      this.digitalCoursesDetailsGet(this.data.bookId)
+    }
     if (this.data.tabValue == 1) {
       this.saveAsImage()
     }
@@ -410,7 +486,6 @@
         res.datas.cmsDatas[0].datas.forEach((item) => {
           if (item.type == 'questionBankFolder' || item.type == 'questionBankItem') {
             test.push(item)
-
           } else if (item.type != "resourceItem") {
             this.data.playerList.forEach(pItem => {
               if (pItem.cmsItemId == item.id) {
@@ -422,9 +497,7 @@
           if (item.type == 'productItem') {
             learnItemList.push(item)
           }
-
         })
-
         if (this.data.selectActive === 'learn') {
           let list = []
           // 娴嬭瘯 6浣�// 姝e紡 5浣�//  娴嬭瘯璋冪敤浼�20锛屽唴閮�7  姝e紡璋冪敤浼�17 鍐呴儴浼�6
@@ -443,6 +516,7 @@
               learnList: list,
               openTeachids: result,
             });
+            console.log(1, this.data.learnList, this.data.playerList)
           }
         } else {
           const data = test.filter(
@@ -512,6 +586,7 @@
       i.children = []
       this.getTreeList(rootList, pathLength + addNum, i.children, i.productLinkPath, addNum)
       if (i.children.length == 0) {
+        newArr[0].istry = true
         delete i.children
       }
     }
@@ -669,6 +744,15 @@
     });
   },
 
+  onCorrelationBook(e) {
+    const item = e.currentTarget.dataset.item;
+    this.onLoad({
+      loading: true,
+      id: item.id,
+      path: item.idPath
+    })
+  },
+
   // 鑾峰彇鐩稿叧璇剧▼
   getAboutBook(path) {
     let query = {
@@ -708,7 +792,7 @@
           }
         })
         this.setData({
-          relatedBookData: bookArr
+          relatedBookData: bookArr.slice(0, 6)
         })
       } else {
         this.setData({
@@ -797,12 +881,13 @@
             })
             .then((res) => {
               if (res) {
+                this.digitalCoursesDetailsGet(this.data.digitalsData.id);
                 wx.showToast({
                   title: "棰嗗彇鎴愬姛",
                   icon: "none",
                   duration: 1000,
                 });
-                this.getBookInfo(this.data.bookDetail.id);
+                this.digitalCoursesDetailsGet(this.data.bookId);
               }
             });
         } else {
@@ -846,7 +931,25 @@
         (data) => {
           let width = data.width
           let height = data.height
-          console.log(width, height)
+          that.setData({
+            imageWidth: width,
+            imageHeight: height,
+          })
+        },
+      )
+      .exec()
+    this.drawImage()
+    query
+      .select('#textCertificate')
+      .fields({
+          // 閫夋嫨闇�瑕佺敓鎴恈anvas鐨勮寖鍥�
+          size: true,
+          node: true,
+          scrollOffset: true,
+        },
+        (data) => {
+          let width = data.width
+          let height = data.height
           that.setData({
             imageWidth: width,
             imageHeight: height,
@@ -855,26 +958,20 @@
       )
       .exec()
     this.drawImage1()
-
   },
-  drawImage1() {
+  drawImage() {
     let that = this;
     let drawMyImage = new Wxml2Canvas({
-      // width: 230,
-      // height: 325,
       width: that.data.imageWidth,
       height: that.data.imageHeight,
       element: 'myCanvas',
-      background: '#f0f0f0',
       progress(percent) {},
       finish(url) {
-        console.log("鐢熸垚鐨勫浘鐗囧湴鍧�", url)
         wx.getFileSystemManager().readFile({
           filePath: url,
           encoding: 'base64',
           success: (res) => {
             let MyImageBase64 = 'data:image/jpg;base64,' + res.data
-            console.log('MyImageBase64', MyImageBase64)
             that.setData({
               cbzsImg: MyImageBase64,
               pubCertificateHide: false,
@@ -896,6 +993,41 @@
       }]
     }
     drawMyImage.draw(data, that);
+  },
+  drawImage1() {
+    let that = this;
+    let drawMyImage1 = new Wxml2Canvas({
+      width: that.data.imageWidth,
+      height: that.data.imageHeight,
+      element: 'myCanvas1',
+      progress(percent) {},
+      finish(url) {
+        wx.getFileSystemManager().readFile({
+          filePath: url,
+          encoding: 'base64',
+          success: (res) => {
+            let MyImageBase641 = 'data:image/jpg;base64,' + res.data
+            that.setData({
+              rzzsImg: MyImageBase641,
+              pubCertificateHide: false,
+            })
+          },
+        })
+      },
+      error(res) {
+        console.log("鐢熸垚鐨勫浘鐗囧け璐�", res)
+      }
+    }, this);
+    let data = {
+      list: [{
+        type: 'wxml',
+        class: '.my_canvas1 .my_draw_canvas1', //.my_draw_canvas姣忎釜瑕佺粯鍒跺厓绱犵殑绫诲悕
+        limit: '.my_canvas1', //my_canvas鏍瑰厓绱犵被鍚�
+        x: 0,
+        y: 0
+      }]
+    }
+    drawMyImage1.draw(data, that);
   },
   //鑾峰彇瀛楁
   getType() {
@@ -924,7 +1056,9 @@
         item.content = JSON.parse(item.content)
         if (item.content.id == this.data.bookId) {
           this.setData({
-            isCertificate: item
+            isCertificate: item,
+            userName: item.content.userName,
+            userPicture: app.config.requestCtx + `/file/GetPreViewImage?md5=` + item.content.userPicture
           })
         }
       })
@@ -943,14 +1077,14 @@
       });
       return false
     }
-    // if (!this.data.isLearn) {
-    //   wx.showToast({
-    //     title: "鎮ㄧ殑瀛︿範浠诲姟杩樻湭瀹屾垚锛屾殏涓嶈兘鐢宠璇佷功锛屽姞娌瑰摝锛�",
-    //     icon: "none",
-    //     duration: 1000,
-    //   });
-    //   return false
-    // }
+    if (!this.data.isLearn) {
+      wx.showToast({
+        title: "鎮ㄧ殑瀛︿範浠诲姟杩樻湭瀹屾垚锛屾殏涓嶈兘鐢宠璇佷功锛屽姞娌瑰摝锛�",
+        icon: "none",
+        duration: 1000,
+      });
+      return false
+    }
     if (this.data.isCertificate && this.data.isCertificate.state == 'WaitAudit') {
       wx.showToast({
         title: "鎮ㄧ敵璇风殑璇佷功姝e湪瀹℃牳涓�",
@@ -1042,6 +1176,10 @@
   },
 
   confirmM() {
+    let currentDate = new Date()
+    let year = currentDate.getFullYear()
+    let month = currentDate.getMonth() + 1
+    let today = currentDate.getDate()
     if (this.data.userInfo.fullName) {
       if (this.data.pictureMd5 == '') {
         wx.showToast({
@@ -1059,12 +1197,15 @@
         name: this.data.digitalsData.name,
         ISBN: this.data.digitalsData.isbn,
         affiliatedUnit: this.data.digitalsData.affiliatedUnit,
+        publishingUnit: this.data.publishingUnit,
         publicationDate: this.data.digitalsData.publicationDate,
         classHours: this.data.digitalsData.classHours,
         lecturerList: this.data.lecturerList.length > 0 ?
           this.data.lecturerList[0].name : this.data.digitalsData.courseLeader,
+        userName: this.data.userInfo.fullName,
         userPicture: this.data.pictureMd5,
-        certificate: this.data.rzzsImg
+        studyTime: this.data.digitalsData.beginDate + '-' + year + '-' + month + '-' + today,
+        website: this.data.website
       }
       data = {
         topicIdOrRefCode: 'applyCourseCertificate',
@@ -1173,7 +1314,7 @@
   },
   onClick2() {
     this.setData({
-      images: ['https://jsek.bnuic.com/home/certificate/kczs.jpg'],
+      images: [this.data.rzzsImg],
       showIndex: true,
       visible: true,
     })

--
Gitblit v1.9.1