From 1ebf13fcff1d64f0ab9f1981cd60ad3194a2d29c Mon Sep 17 00:00:00 2001
From: litian <C21AF165>
Date: 星期五, 27 九月 2024 11:10:00 +0800
Subject: [PATCH] zf

---
 pages/digitalTextbooks/digitalTextbooksDetails/index.js |  356 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 313 insertions(+), 43 deletions(-)

diff --git a/pages/digitalTextbooks/digitalTextbooksDetails/index.js b/pages/digitalTextbooks/digitalTextbooksDetails/index.js
index 68b6c40..2c2fb1c 100644
--- a/pages/digitalTextbooks/digitalTextbooksDetails/index.js
+++ b/pages/digitalTextbooks/digitalTextbooksDetails/index.js
@@ -1,8 +1,14 @@
 // pages/digitalTextbooks/digitalTextbooksDetails/index.js
 import Toast from "tdesign-miniprogram/toast";
+import moment from 'moment'
 import {
   loginInfo
 } from '../../../assets/js/login';
+import {
+  worksDataBytool
+} from "../../../assets/js/toolClass.js";
+import SparkMD5 from 'spark-md5'
+import FormData from '../../../utils/formdata/index.js';
 const app = getApp()
 Page({
 
@@ -49,25 +55,54 @@
     testResourceClickIocn: {
       name: "/static/images/digitalTextbooks/link-t-click@3x.png",
     },
-
+    showIndex1: '',
     catalogue: {
       name: "/static/images/digitalTextbooks/mulu-t@3x.png",
     },
     catalogueClickIcon: {
       name: "/static/images/digitalTextbooks/mulu-t-click@3x.png",
     },
-
+    userInfo: {
+      fullName: '', //鍚嶇О
+      userPicture: '' //鐢宠璇佷功鐢ㄦ埛鍥剧墖
+    },
+    pictureMd5: '',
+    worksInfo: [],
+    isCertificate: {},
+    isLearn: false,
+    isTest: false,
+    publishingUnit: '',
+    cbzsImg: '', //鍑虹増璇佷功base64
+    rzzsImg: '', //璁よ瘉璇佷功base64
+    visible: false,
+    showIndex: false,
+    closeBtn: false,
+    deleteBtn: false,
+    images: [],
   },
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
    */
   onLoad(options) {
-    console.log(options);
     this.setData({
       digitalTextId: options.id
     })
+    const token = wx.getStorageSync(app.config.tokenKey)
+    if (!token) {
+      loginInfo(app, (data) => {
+        if (data) {
+          this.digitalTextbooksDetailsGet(this.data.digitalTextId)
+          this.getType()
+          this.getCertificateList()
+        } else {
+
+        }
+      })
+    }
     this.digitalTextbooksDetailsGet(this.data.digitalTextId)
+    this.getType()
+    this.getCertificateList()
   },
   // 鏍煎紡鍖栨棩鏈�
   // 鏍煎紡鍖栨棩鏈�
@@ -164,9 +199,8 @@
   /**
    * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜�
    */
-  onShareAppMessage() {
-
-  },
+  onShareAppMessage() {},
+  onShareTimeline() {},
 
 
   digitalTextbooksDetailsGet(digitalId) {
@@ -183,7 +217,9 @@
         seriesName: [],
         author: [],
         isbn: [],
+        editorUnit: [],
         publicationDate: [],
+        publishingUnit: [],
         bookClassification: [],
         paperPrice: [],
         JDLink: [],
@@ -202,7 +238,7 @@
         //epub璇曡鐧惧垎姣�
       }
     }
-    app.MG.store.getProductDetail(query).then(res => {
+    app.MG.store.getProductDetail(query).then(async res => {
       if (res.datas.purchasedSaleMethodIdList.includes(res.datas.defaultSaleMethodId)) {
         this.setData({
           isBuy: true
@@ -212,13 +248,10 @@
           isBuy: false
         })
       }
-      // res.datas.publicationDate = 
+      res.datas.publicationDate = moment(res.datas.publicationDate).format('YYYY骞碝M鏈�')
       if (res.datas.icon == '') {
         res.datas.icon = '/static/images/default-book-img.png'
       }
-      this.setData({
-        publicationDate: this.formatDate(res.datas.publicationDate)
-      })
       res.datas.price = res.datas.price.toFixed(2)
 
       this.setData({
@@ -238,9 +271,11 @@
       wx.setNavigationBarTitle({
         title: res.datas.name,
       })
+      if (res.datas.publishingUnit) {
+        await this.getBookPublishUnit(res.datas.publishingUnit)
+      }
 
       this.getAboutBook(res.datas.productLinkInfo[res.datas.productLinkInfo.length - 1].LinkPath)
-      console.log(this.data.isBuy);
       this.setData({
         loading: false,
         type: 'basicInformation',
@@ -251,16 +286,35 @@
 
     })
   },
+  //鑾峰彇鍥句功鍑虹増鍗曚綅
+  async getBookPublishUnit(listStr) {
+    let query = {
+      refCodes: ['publishingUnit']
+    }
+    await app.MG.store.getProductTypeField(query).then((res) => {
+      const list = JSON.parse(listStr)
+      let dataList = []
+      list.forEach((unit) => {
+        JSON.parse(res[0].config).option.forEach((item) => {
+          if (item.value == unit) {
+            dataList.push(item.name)
+          }
+        })
+      })
+      if (dataList.length == list.length) {
+        this.setData({
+          publishingUnit: dataList.join('  '),
+        })
+      }
+    })
+  },
+
   onTabsChange(event) {
     this.setData({
       tabValue: event.detail.value,
     })
-    console.log(this.data.tabValue);
   },
 
-  onTabsClick(event) {
-    // console.log(`Click tab, tab-panel value is ${event.detail.value}.`);
-  },
   // 鑾峰彇鐩稿叧鏁欐潗
   getAboutBook(path) {
     let query = {
@@ -302,7 +356,6 @@
         this.setData({
           relatedBookData: bookArr
         })
-        console.log(this.data.relatedBookData);
       } else {
         this.setData({
           relatedBookData: []
@@ -354,7 +407,7 @@
         Toast({
           context: this,
           selector: "#t-toast",
-          message: "璇ヤ功宸插湪璐墿杞︼紝璇峰嬁閲嶅娣诲姞",
+          message: "璇ユ暀鏉愬凡鍦ㄨ喘鐗╄溅锛岃鍕块噸澶嶆坊鍔�",
           theme: "warning",
           direction: "column",
         });
@@ -392,7 +445,6 @@
       // 鍙戣捣璁㈠崟鍒濆鍖栬姹傚苟绛夊緟缁撴灉
       const res = await app.MG.store.initOrder(query);
       // 鑾峰彇璁㈠崟鍙峰苟璧嬪�肩粰 orderNumber.value
-      console.log(res, 'res456');
       bookOrdersId = res.orderNumber;
       // 妫�鏌ヨ鍗曞彿鏄惁瀛樺湪
       if (bookOrdersId) {
@@ -418,9 +470,7 @@
             url,
           });
         }
-      } else {
-        console.log(222);
-      }
+      } else {}
     } else {
       wx.showToast({
         title: "鍟嗗搧涓嶅湪鏈夋晥鏈�",
@@ -430,8 +480,6 @@
     }
   },
 
-  // console.log(item, app.config.textReaderUrl);
-  // console.log(token);
   goRead() {
     // 棣栭〉娴嬭瘯鐧诲綍鍔熻兘锛屽悗缁敞閲�
     // 妫�鏌ョ櫥褰曠姸鎬�
@@ -467,8 +515,6 @@
 
   },
   onTabClick(e) {
-    // debugger
-    console.log(e);
     let tab = e.currentTarget.dataset.tab;
 
     this.setData({
@@ -504,7 +550,6 @@
   onScroll(e) {
 
     let scrollTop = e.detail.scrollTop
-    console.log(scrollTop);
     // this.setData({
     //   type: scrollTop
     // })
@@ -539,10 +584,8 @@
 
     let that = this;
     var query = wx.createSelectorQuery()
-    console.log(query, '12355');
     //鑾峰彇鏉垮潡涓�绂籹croll-view椤堕儴鐨勮窛绂�,绗竴鏉垮潡瀹為檯璺濈涓�0锛屾澶勮幏鍙栧彧涓虹粰绗簩鍙婄涓夋澘鍧楀噺鍘荤涓�鏉垮潡璺濈scroll-view鐨勯《閮ㄨ窛绂�
     wx.createSelectorQuery().select('#basicInformation').boundingClientRect(function (res) {
-      console.log(res, '456882588');
       that.basicInformation = res.top
     }).exec()
     //鑾峰彇鏉垮潡浜岀scroll-view椤堕儴鐨勮窛绂�
@@ -563,7 +606,6 @@
     }).exec()
   },
   setCoolect() {
-    console.log(456);
 
     // 棣栭〉娴嬭瘯鐧诲綍鍔熻兘锛屽悗缁敞閲�
     // 妫�鏌ョ櫥褰曠姸鎬�
@@ -576,7 +618,7 @@
             app.MG.store
               .delProductLink({
                 productIds: [this.data.digitalsData.id],
-                linkType: 'FavoriteBookCity'
+                linkType: 'FavoriteTextBooks'
               })
               .then(() => {
                 this.setData({
@@ -586,7 +628,7 @@
           } else {
             let params = {
               productIds: [this.data.digitalsData.id],
-              linkType: 'FavoriteBookCity'
+              linkType: 'FavoriteTextBooks'
             }
             app.MG.store.addProductLink(params).then((res) => {
               this.setData({
@@ -603,7 +645,7 @@
         app.MG.store
           .delProductLink({
             productIds: [this.data.digitalsData.id],
-            linkType: 'FavoriteBookCity'
+            linkType: 'FavoriteTextBooks'
           })
           .then(() => {
             this.setData({
@@ -613,7 +655,7 @@
       } else {
         let params = {
           productIds: [this.data.digitalsData.id],
-          linkType: 'FavoriteBookCity'
+          linkType: 'FavoriteTextBooks'
         }
         app.MG.store.addProductLink(params).then((res) => {
           this.setData({
@@ -627,15 +669,243 @@
   suggestBtn() {
     // 妫�鏌ョ櫥褰曠姸鎬�
     const token = wx.getStorageSync(app.config.tokenKey);
-
-    console.log(465);
-
-    const child = this.selectComponent("#suggest-component");
-    // if (token)
-    //   // child.showDialog();
-    //   this.setData({
-    //     showIndex: '1'
-    //   })
+    const child = this.selectComponent("#suggest-component1");
+    if (token)
+      // child.showDialog();
+      this.setData({
+        showIndex1: '1'
+      })
   },
 
+  //鐢宠璇佷功
+  //鑾峰彇瀛楁
+  getType() {
+    app.MG.resource.getCmsTypeByRefCode({
+      refCodes: ['jsek_textbookCertificate']
+    }).then((res) => {
+      this.setData({
+        worksInfo: res[0].cmsTypeLinks[0].children,
+      })
+    })
+  },
+  getCertificateList() {
+    const data = {
+      start: 0,
+      size: 9999,
+      topicIdOrRefCode: 'applyTextbookCertificate',
+      appRefCode: app.config.appRefCode,
+      sort: {
+        type: 'Desc',
+        field: 'CreateDate'
+      }
+    }
+    app.MG.ugc.getTopicMessageList(data).then((res) => {
+      res.datas.map((item) => {
+        item.content = JSON.parse(item.content)
+        if (item.content.id == this.data.digitalsData.id) {
+          this.setData({
+            isCertificate: item
+          })
+        }
+      })
+    })
+  },
+
+  onCertificate() {
+    if (!this.data.isBuy) {
+      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: this.data.isCertificate.state == 'WaitAudit' ? "鎮ㄧ敵璇风殑璇佷功姝e湪瀹℃牳涓�" : this.data.isCertificate.state == 'Normal' ? '鎮ㄥ凡鐢宠璇佷功' : '',
+        icon: "none",
+        duration: 1000,
+      });
+      return false
+    }
+
+    var page = getCurrentPages().pop(); // 鑾峰彇褰撳墠椤甸潰瀹炰緥
+    page.setData({
+      // 鍔ㄦ�佽缃姝㈡粴鍔ㄧ殑鏍峰紡
+      disableScrollStyle: 'overflow: hidden;'
+    });
+    this.setData({
+      dialogBox: true,
+      scrollJudge: ''
+    })
+  },
+  closeDialog() {
+    this.setData({
+      dialogBox: false,
+      scrollJudge: true
+    })
+  },
+
+  //濮撳悕
+  onFullNameInput(e) {
+    this.setData({
+      "userInfo.fullName": e.detail.value,
+    });
+  },
+  uploadPicture() {
+    var that = this;
+    wx.chooseMedia({
+      count: 1, // 榛樿9
+      sizeType: ['original', 'compressed'], // 鍙互鎸囧畾鏄師鍥捐繕鏄帇缂╁浘锛岄粯璁や簩鑰呴兘鏈�
+      sourceType: ['album', 'camera'], // 鍙互鎸囧畾鏉ユ簮鏄浉鍐岃繕鏄浉鏈猴紝榛樿浜岃�呴兘鏈�
+      success: function (res) {
+        wx.getFileSystemManager().readFile({
+          filePath: res.tempFiles[0].tempFilePath, //閫夋嫨鍥剧墖杩斿洖鐨勭浉瀵硅矾寰�
+          // encoding: 'binary', //缂栫爜鏍煎紡
+          success: ress => {
+            //鎴愬姛鐨勫洖璋�
+            let spark = new SparkMD5.ArrayBuffer();
+            spark.append(ress.data);
+            let md5 = spark.end(false);
+            let formData = new FormData();
+            formData.append('Md5', md5);
+            formData.append('FileName', md5);
+            formData.append('FileType', res.tempFiles[0].fileType);
+            formData.appendFile("file", res.tempFiles[0].tempFilePath);
+            const data = formData.getData();
+            let _token = wx.getStorageSync(app.config.tokenKey);
+            let header = {};
+            if (_token == null) {
+              header["Authorization"] = `Basic ${Base64.encode(website.clientId + ":" + website.clientSecret)}`;
+            } else {
+              header["Authorization"] = `Bearer ` + _token;
+            }
+            new Promise((resolve, reject) => {
+              wx.request({
+                url: app.config.requestCtx + '/file/api/ApiUpload',
+                method: 'POST',
+                header: {
+                  'content-type': data.contentType,
+                  ...header
+                },
+                data: data.buffer,
+                success(res) {
+                  if (res.statusCode == 200) {
+                    resolve(res.data);
+                    if (res.data) {
+                      that.setData({
+                        'userInfo.userPicture': app.config.requestCtx + `/file/GetPreViewImage?md5=` + md5,
+                        pictureMd5: md5
+                      });
+                    }
+                  } else {
+                    reject('杩愯鏃堕敊璇�,璇风◢鍚庡啀璇�');
+                  }
+                }
+              })
+            })
+          }
+        })
+      }
+    });
+  },
+
+  confirmM() {
+    let currentDate = new Date()
+    let year = currentDate.getFullYear()
+    let month = currentDate.getMonth() + 1
+    let day = currentDate.getDate()
+    if (this.data.userInfo.fullName) {
+      if (this.data.pictureMd5 == '') {
+        wx.showToast({
+          title: "璇蜂笂浼犵収鐗�",
+          icon: "none",
+          duration: 1000,
+        });
+        return false
+      }
+      let data = {}
+      let bookInfo = {
+        bookId: this.data.digitalsData.id,
+        icon: this.data.digitalsData.icon,
+        name: this.data.digitalsData.name,
+        author: this.data.digitalsData.author,
+        ISBN: this.data.digitalsData.isbn,
+        publicationDate: this.data.digitalsData.publicationDate,
+        publicationDate: this.data.digitalsData.publicationDate,
+        userName: this.data.userInfo.fullName,
+        userPicture: this.data.pictureMd5,
+        studyTime: this.data.digitalsData.beginDate + '-' + year + '-' + month + '-' + day,
+        website: this.data.website
+      }
+      data = {
+        topicIdOrRefCode: 'applyTextbookCertificate',
+        name: this.data.userInfo.fullName,
+        content: JSON.stringify(bookInfo),
+        state: 'WaitAudit',
+        cmsTypeRefCode: 'jsek_textbookCertificate',
+        type: 'applyTextbook',
+        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": "",
+          })
+        })
+    } else {
+      wx.showToast({
+        title: "濮撳悕涓嶈兘涓虹┖",
+        icon: "none",
+        duration: 1000,
+      });
+    }
+  },
+
+  //璇佷功鏌ョ湅
+  onClick1() {
+    this.setData({
+      images: ['https://jsek.bnuic.com/home/certificate/szjc.jpg'],
+      showIndex: true,
+      visible: true,
+    })
+  },
+  onClick2() {
+    this.setData({
+      images: ['https://jsek.bnuic.com/home/certificate/jczs.jpg'],
+      showIndex: true,
+      visible: true,
+    })
+  },
+  onClose(e) {
+    const {
+      trigger
+    } = e.detail;
+    this.setData({
+      visible: false,
+    });
+  }
+
 })
\ No newline at end of file

--
Gitblit v1.9.1