From 485fcbbc57cbf7495286359250135c482ec1360a Mon Sep 17 00:00:00 2001
From: litian <C21AF165>
Date: 星期五, 30 八月 2024 09:50:00 +0800
Subject: [PATCH] xz

---
 pages/personalCenter/certificate/index.js |  144 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 141 insertions(+), 3 deletions(-)

diff --git a/pages/personalCenter/certificate/index.js b/pages/personalCenter/certificate/index.js
index 358d636..46d090b 100644
--- a/pages/personalCenter/certificate/index.js
+++ b/pages/personalCenter/certificate/index.js
@@ -1,10 +1,39 @@
+const app = getApp();
 Page({
 
   /**
    * 椤甸潰鐨勫垵濮嬫暟鎹�
    */
   data: {
-
+    active: 0,
+    topicIdOrRefCode: "applyCourseCertificate",
+    tabList: [{
+        label: '璇剧▼璇佷功',
+        key: 1,
+        topicIdOrRefCode: 'applyCourseCertificate',
+      },
+      {
+        label: '鏁欐潗璇佷功',
+        key: 2,
+        topicIdOrRefCode: 'applyTextbookCertificate',
+      }
+    ],
+    list: [],
+    //鍒嗛〉
+    page: 1,
+    limit: 6,
+    pageTotalCount: 0,
+    bottomLoading: false,
+    isMoreData: false,
+    // 杩斿洖椤堕儴 
+    isBackTop: false,
+    setScrollValue: 0,
+    skeletonLoding: true,
+    visible: false,
+    showIndex: false,
+    closeBtn: false,
+    deleteBtn: false,
+    images: [],
   },
 
   /**
@@ -12,6 +41,7 @@
    */
   onLoad(options) {
     console.log(options);
+    this.getDataList(false);
   },
 
   /**
@@ -28,6 +58,81 @@
 
   },
 
+  tabBookClick(item) {
+    let that = this;
+    let info = this.data.tabList[item.detail.value]
+    that.setData({
+      skeletonLoding: true,
+      active: item.detail.value,
+      topicIdOrRefCode: info.topicIdOrRefCode,
+      list: [],
+      page: 1,
+      bottomLoading: false,
+      isMoreData: false,
+    })
+    that.getDataList(false);
+  },
+  getDataList(isReachBottom) {
+    const data = {
+      start: this.data.page * this.data.limit - this.data.limit,
+      size: this.data.limit,
+      topicIdOrRefCode: this.data.topicIdOrRefCode,
+      appRefCode: app.config.appRefCode,
+      filterList: [],
+      sort: {
+        type: 'Desc',
+        field: 'CreateDate'
+      }
+    }
+    app.MG.ugc.getTopicMessageList(data)
+      .then((res) => {
+        if (res.datas.length > 0) {
+          res.datas.forEach((item) => {
+            item.updateDate = item.updateDate.split('T')[0]
+            if (item.content) {
+              item.productList = JSON.parse(item.content)
+            }
+          })
+          let dataList = res.datas;
+          //瑙﹀簳鍔犺浇鏂版暟鎹苟淇濈暀鑰佹暟鎹�
+          if (isReachBottom) {
+            dataList = [...this.data.list, ...dataList] //灏嗘柊鏁版嵁鍔犲叆鑰佹暟鎹腑
+          }
+          this.setData({
+            list: dataList,
+            pageTotalCount: res.totalSize,
+            bottomLoading: false,
+            isMoreData: dataList.length > 0 ? false : true,
+            skeletonLoding: false,
+            loading: false
+          })
+        } else {
+          this.setData({
+            list: [],
+            skeletonLoding: false,
+            loading: false
+          })
+        }
+      })
+      .catch(() => {})
+  },
+  goBookDetails(e) {
+    let productList = e.currentTarget.dataset.book.productList
+    this.setData({
+      images: productList.certificate ? [productList.certificate] : this.data.active === 0 ? ['/static/images/certificate/kczs.jpg'] : ['/static/images/certificate/jczs.jpg'],
+      showIndex: true,
+      visible: true,
+    })
+
+  },
+  onClose(e) {
+    const {
+      trigger
+    } = e.detail;
+    this.setData({
+      visible: false,
+    });
+  },
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰闅愯棌
    */
@@ -46,14 +151,47 @@
    * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔
    */
   onPullDownRefresh() {
-
+    if (this._freshing) return
+    this.setData({
+      // list: [],
+      page: 1,
+      limit: 6,
+      pageTotalCount: 0,
+      bottomLoading: false,
+      isMoreData: false
+    })
+    this._freshing = true;
+    this.setData({
+      triggered: false,
+    })
+    this.getDataList(false);
+    this._freshing = false
   },
 
   /**
    * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
    */
   onReachBottom() {
-
+    this.setData({
+      bottomLoading: true,
+      isMoreData: false
+    })
+    let bool = false;
+    if (this.data.pageTotalCount > this.data.list.length) {
+      bool = true;
+      this.setData({
+        page: this.data.page + 1,
+      })
+    } else {
+      setTimeout(() => {
+        this.setData({
+          bottomLoading: false,
+          isMoreData: true
+        })
+      }, 100)
+      return false;
+    }
+    this.getDataList(bool);
   },
 
   /**

--
Gitblit v1.9.1