From 85fb718ae06cb0b5a74782cb6cbd081bfc870fcb Mon Sep 17 00:00:00 2001
From: litian <C21AF165>
Date: 星期一, 16 十二月 2024 10:12:55 +0800
Subject: [PATCH] 出版日期

---
 pages/digitalCourses/digitalCoursesDetails/index.js |  225 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 149 insertions(+), 76 deletions(-)

diff --git a/pages/digitalCourses/digitalCoursesDetails/index.js b/pages/digitalCourses/digitalCoursesDetails/index.js
index 21b05e9..fb2dde1 100644
--- a/pages/digitalCourses/digitalCoursesDetails/index.js
+++ b/pages/digitalCourses/digitalCoursesDetails/index.js
@@ -4,13 +4,15 @@
 import FormData from '../../../utils/formdata/index.js';
 import Wxml2Canvas from 'wxml2canvas';
 import {
-  worksDataBytool
+  worksDataBytool,
+  UpdateworksDataBytool
 } from "../../../assets/js/toolClass.js";
 import moment from 'moment'
 import Toast from "tdesign-miniprogram/toast";
 import {
   loginInfo
 } from '../../../assets/js/login';
+import wxbarcode from 'wxbarcode'
 Page({
 
   /**
@@ -103,7 +105,10 @@
     rzzsImg: '', //璁よ瘉璇佷功base64
     imageWidth: '', //鐢诲湪鐢诲竷涓婄殑鍥剧墖鐨勫搴�
     imageHeight: '', //鐢诲湪鐢诲竷涓婄殑鍥剧墖鐨勯珮搴�
-    website: 'https://jsek.bnuic.com',
+    website: 'https://jsek.bnuic.com/home/#/digitalCourses',
+    wxShareUrl: '',
+    imgUrl: '',
+    imgUrl1: ''
   },
   formatDate(dateString) {
     if (!dateString) {
@@ -174,10 +179,9 @@
     this.digitalCoursesDetailsGet(options.id)
     this.getPlayerList()
     this.getType()
-    this.setData({
-      userName: JSON.parse(wx.getStorageSync(app.config.userInfoKey)).name,
-    })
-    console.log('1', options.id);
+    // this.setData({
+    //   userName: JSON.parse(wx.getStorageSync(app.config.userInfoKey)).name,
+    // })
   },
 
   /**
@@ -191,11 +195,12 @@
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず
    */
   onShow() {
-    if (this.data.tabValue == 2) {
+    if (this.data.tabValue == 2 && this.data.selectActive == 'learn') {
+      console.log(12333)
       this.getPlayerList()
       this.getResource()
+      this.getRelationBook()
     }
-
   },
 
   /**
@@ -239,6 +244,7 @@
         keys: [this.data.bookId + '']
       })
       .then((res) => {
+        console.log(1, res);
         if (res.length > 0) {
           this.setData({
             playerList: JSON.parse(res[0].value)
@@ -247,6 +253,7 @@
       })
   },
   digitalCoursesDetailsGet(digitalTextId) {
+    let that = this;
     let query = {
       path: '*',
       queryType: '*',
@@ -305,7 +312,7 @@
           expire: res.false
         })
       }
-      res.datas.publicationDate = moment(res.datas.publicationDate).format('YYYY骞碝M鏈�')
+      res.datas.publicationDate = 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({
@@ -333,8 +340,34 @@
       )
       this.setData({
         digitalsData: res.datas,
-        loading: false
+        loading: false,
+        wxShareUrl: app.config.shareUrl + '?id=' + res.datas.id + '&path=' + this.data.bookPath + '&type=course'
       })
+      if (this.data.wxShareUrl) {
+        wxbarcode.qrcode('qrcode', this.data.wxShareUrl, 160, 160);
+        wxbarcode.qrcode('qrcode1', this.data.wxShareUrl, 160, 160);
+        setTimeout(() => {
+          wx.canvasToTempFilePath({
+            canvasId: 'qrcode',
+            success: function (res) {
+              // res.tempFilePath 鍖呭惈鐢熸垚鐨勫浘鐗囨枃浠惰矾寰�
+              that.setData({
+                imgUrl: res.tempFilePath
+              })
+            }
+          });
+          wx.canvasToTempFilePath({
+            canvasId: 'qrcode1',
+            success: function (res) {
+              // res.tempFilePath 鍖呭惈鐢熸垚鐨勫浘鐗囨枃浠惰矾寰�
+
+              that.setData({
+                imgUrl1: res.tempFilePath
+              })
+            }
+          });
+        }, 1000)
+      }
     })
   },
   //鑾峰彇涓昏浜�
@@ -447,7 +480,8 @@
   selectChange(event) {
     const value = event.target.dataset.value
     this.setData({
-      selectActive: value
+      selectActive: value,
+      testCount: 0
     })
     this.getResource()
   },
@@ -501,12 +535,17 @@
         if (this.data.selectActive === 'learn') {
           let list = []
           // 娴嬭瘯 6浣�// 姝e紡 5浣�//  娴嬭瘯璋冪敤浼�20锛屽唴閮�7  姝e紡璋冪敤浼�17 鍐呴儴浼�6
-          let addNum = query.cmsPath.length > 5 ? 7 : query.cmsPath.length > 6 ? 8 : 6
-          const num = query.cmsPath.length + addNum
           if (learn.some((item) => item.sysType == 'CmsFolder')) {
-            this.getTreeList(learn, num, list, '\\', addNum)
-            list = this.ensureTreeConsistency(list)
+            // 1.鍙湁鐩綍锛屾病鏈夎祫婧�
+            if (!learn.some((item) => item.sysType == 'CmsItem')) {
+              list = learn
+            } else {
+              // 2.鐩綍鍜岃祫婧愰兘鏈�
+              this.getTreeList(learn, list, query.cmsPath)
+              list = this.ensureTreeConsistency(list)
+            }
           } else {
+            // 3.鍙湁璧勬簮锛屾病鏈夌洰褰�
             list = learn
           }
           let result = [];
@@ -516,22 +555,18 @@
               learnList: list,
               openTeachids: result,
             });
-            console.log(1, this.data.learnList, this.data.playerList)
           }
         } else {
           const data = test.filter(
             (item) => item.type == 'questionBankFolder' && item.childrenFolderCount > 0
           )
-
           if (data.length > 0) {
             let list = []
-            let addNum = query.cmsPath.length > 5 ? 7 : query.cmsPath.length > 6 ? 8 : 6
-            const num = query.cmsPath.length + addNum
-            this.getTreeList(data, num, list, '\\', addNum)
+            this.getTreeList(data, list, query.cmsPath)
             list = this.ensureTreeConsistency(list)
             let result = [];
-            this.findChildIds(list[0].children, result)
-            this.countLeafNodes(list[0].children)
+            this.findChildIds(list[0]?.children, result)
+            this.countLeafNodes(list[0]?.children)
             this.setData({
               testList: list[0].children,
               openTeachids: result,
@@ -560,10 +595,9 @@
     })
   },
   // 鎵佸钩鍖栨暟鎹浆鎹ree
-  getTreeList(rootList, pathLength, newArr, path, addNum) {
+  getTreeList(rootList, newArr, path) {
     for (const item of rootList) {
-      // 姝ゅ鍘熸湰 item.productLinkPath.length == pathLength 浣� productLinkPath 闀垮害涓埆涔﹀瓨鍦�4銆�5浣嶄氦閿�
-      if ((pathLength - item.productLinkPath.length >= 0 && pathLength - item.productLinkPath.length <= 3) && item.productLinkPath.includes(path)) {
+      if (path == item.productLinkPath.replace('\\' + item.id, '')) {
         if (item.sysType == 'CmsItem') {
           if (item.selectType == 'webpage') {
             item.disabled = true
@@ -578,15 +612,16 @@
         }
         // newArr.push(item)
         // 鍦ㄦ彃鍏ヨ繃绋嬩腑瀵规暟鎹繘琛屾帓搴�
-        newArr = this.insertAndSortObjectsByProductLinkPath(newArr, item, addNum)
+        newArr = this.insertAndSortObjectsByProductLinkPath(newArr, item)
+        // 鎻掕繘鏁扮粍鍚� 浠庡師鏁版嵁涓垹闄�
+        rootList = rootList.filter(nitem => nitem.id != item.id)
       }
     }
     //缁欐暟缁勯噷闈㈠啀娣诲姞涓�涓猚hildren鐨勭┖鏁扮粍
     for (const i of newArr) {
       i.children = []
-      this.getTreeList(rootList, pathLength + addNum, i.children, i.productLinkPath, addNum)
+      this.getTreeList(rootList, i.children, i.productLinkPath)
       if (i.children.length == 0) {
-        newArr[0].istry = true
         delete i.children
       }
     }
@@ -610,29 +645,21 @@
   },
 
   // 鎺掑簭鏁扮粍 鎸夌収productLinkPath
-  insertAndSortObjectsByProductLinkPath(array, newObj, addNum) {
+  insertAndSortObjectsByProductLinkPath(array, newObj) {
     // 鏌ユ壘鏂板璞″簲璇ユ彃鍏ョ殑浣嶇疆  
-    let insertIndex = array.findIndex(obj => Number(newObj.productLinkPath.substring(newObj.productLinkPath.length - addNum, newObj.productLinkPath.length)) < Number(obj.productLinkPath.substring(obj.productLinkPath.length - addNum, obj.productLinkPath.length)));
-
+    let insertIndex = array.findIndex(obj => newObj.id < obj.id);
     // 濡傛灉娌℃湁鎵惧埌鍚堥�傜殑浣嶇疆锛屽垯鏀惧湪鏁扮粍鏈熬  
     if (insertIndex === -1) {
       insertIndex = array.length;
     }
     // 鎻掑叆鏂板璞″埌鏁扮粍  
     array.splice(insertIndex, 0, newObj);
-    // 娴嬭瘯6 姝e紡5
     // 瀵规暟缁勮繘琛屾帓搴�  
     array.sort((a, b) => {
-      if (Number(a.productLinkPath.substring(a.productLinkPath.length - addNum, a.productLinkPath.length)) < Number(b.productLinkPath.substring(b.productLinkPath.length - addNum, b.productLinkPath.length))) {
-        return -1;
-      }
-      if (Number(a.productLinkPath.substring(a.productLinkPath.length - addNum, a.productLinkPath.length)) > Number(b.productLinkPath.substring(b.productLinkPath.length - addNum, b.productLinkPath.length))) {
-        return 1;
-      }
-      // a must be equal to b  
+      if (a.id < b.id) return -1;
+      if (a.id > b.id) return 1;
       return 0;
     });
-
     // 杩斿洖鏇存柊鍚庣殑鏁扮粍  
     return array;
   },
@@ -668,6 +695,7 @@
 
   //鍦ㄧ嚎娴嬭瘯鑾峰彇鏈�鍚庝竴涓妭鐐规暟閲�
   countLeafNodes(tree) {
+
     tree.forEach(node => {
       if (!node.children || node.children.length === 0) {
         this.setData({
@@ -834,7 +862,7 @@
         Toast({
           context: this,
           selector: "#t-toast",
-          message: "璇ヤ功宸插湪璐墿杞︼紝璇峰嬁閲嶅娣诲姞",
+          message: "璇ヨ绋嬪凡鍦ㄨ喘鐗╄溅锛岃鍕块噸澶嶆坊鍔�",
           theme: "warning",
           direction: "column",
         });
@@ -938,7 +966,9 @@
         },
       )
       .exec()
-    this.drawImage()
+    setTimeout(() => {
+      this.drawImage()
+    }, 500)
     query
       .select('#textCertificate')
       .fields({
@@ -957,7 +987,9 @@
         },
       )
       .exec()
-    this.drawImage1()
+    setTimeout(() => {
+      this.drawImage1()
+    }, 500)
   },
   drawImage() {
     let that = this;
@@ -1054,7 +1086,7 @@
     app.MG.ugc.getTopicMessageList(data).then((res) => {
       res.datas.map((item) => {
         item.content = JSON.parse(item.content)
-        if (item.content.id == this.data.bookId) {
+        if (item.content.bookId == this.data.bookId) {
           this.setData({
             isCertificate: item,
             userName: item.content.userName,
@@ -1062,11 +1094,8 @@
           })
         }
       })
-
     })
   },
-
-
 
   onCertificate() {
     if (!this.data.isBuy) {
@@ -1205,37 +1234,81 @@
         userName: this.data.userInfo.fullName,
         userPicture: this.data.pictureMd5,
         studyTime: this.data.digitalsData.beginDate + '-' + year + '-' + month + '-' + today,
-        website: this.data.website
+        website: this.data.website,
+        wxShareUrl: this.data.wxShareUrl
       }
-      data = {
-        topicIdOrRefCode: 'applyCourseCertificate',
-        name: this.data.userInfo.fullName,
-        content: JSON.stringify(bookInfo),
-        state: 'WaitAudit',
-        cmsTypeRefCode: 'jsek_courseCertificate',
-        type: 'applyCourse',
-        newDataListRequest: worksDataBytool(this.data.worksInfo, this.data.userInfo)
+
+      if (this.data.isCertificate.id) {
+        let dataRequests = UpdateworksDataBytool(
+          this.data.worksInfo,
+          [this.data.isCertificate],
+          this.data.userInfo
+        )
+
+        data = {
+          id: this.data.isCertificate.id,
+          topicIdOrRefCode: 'applyCourseCertificate',
+          name: this.data.userInfo.fullName,
+          content: JSON.stringify(bookInfo),
+          state: 'WaitAudit',
+          cmsTypeRefCode: 'jsek_courseCertificate',
+          type: 'applyCourse',
+          newDataRequests: dataRequests.newData,
+          updateDataRequests: dataRequests.updateData,
+          delDataRequest: {
+            ids: []
+          }
+        }
+        app.MG.ugc
+          .updateTopicMessage(data)
+          .then((res) => {
+            wx.showToast({
+              title: "宸叉彁浜ょ敵璇�",
+              icon: "none",
+              duration: 1000,
+            });
+            this.setData({
+              "userInfo.fullName": "",
+              dialogBox: false,
+              scrollJudge: true
+            })
+            this.getCertificateList()
+          })
+          .catch(() => {
+            btnLoading.value = false
+          })
+
+      } else {
+        data = {
+          topicIdOrRefCode: 'applyCourseCertificate',
+          name: this.data.userInfo.fullName,
+          content: JSON.stringify(bookInfo),
+          state: 'WaitAudit',
+          cmsTypeRefCode: 'jsek_courseCertificate',
+          type: 'applyCourse',
+          newDataListRequest: worksDataBytool(this.data.worksInfo, this.data.userInfo)
+        }
+        app.MG.ugc
+          .newTopicMessage(data)
+          .then((res) => {
+            wx.showToast({
+              title: "宸叉彁浜ょ敵璇�",
+              icon: "none",
+              duration: 1000,
+            });
+            this.setData({
+              "userInfo.fullName": "",
+              dialogBox: false,
+              scrollJudge: true
+            })
+            this.getCertificateList()
+          })
+          .catch(() => {
+            this.setData({
+              "userInfo.fullName": "",
+            })
+          })
       }
-      app.MG.ugc
-        .newTopicMessage(data)
-        .then((res) => {
-          wx.showToast({
-            title: "宸叉彁浜ょ敵璇�",
-            icon: "none",
-            duration: 1000,
-          });
-          this.setData({
-            "userInfo.fullName": "",
-            dialogBox: false,
-            scrollJudge: true
-          })
-          this.getCertificateList()
-        })
-        .catch(() => {
-          this.setData({
-            "userInfo.fullName": "",
-          })
-        })
     } else {
       wx.showToast({
         title: "濮撳悕涓嶈兘涓虹┖",

--
Gitblit v1.9.1