From e8ec903206cb82e4dbb4687291d5f7788e7ff046 Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期一, 06 五月 2024 18:17:47 +0800
Subject: [PATCH] bug修改

---
 packageDomain/pages/sampleBookList/applicationForm/index.js |  114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 109 insertions(+), 5 deletions(-)

diff --git a/packageDomain/pages/sampleBookList/applicationForm/index.js b/packageDomain/pages/sampleBookList/applicationForm/index.js
index baf669e..8a7d525 100644
--- a/packageDomain/pages/sampleBookList/applicationForm/index.js
+++ b/packageDomain/pages/sampleBookList/applicationForm/index.js
@@ -24,6 +24,8 @@
     ebookCount: 0,
     paperBookCount: 0,
     bookList: [],
+    isIos: wx.getSystemInfoSync().platform === 'ios',
+    keyboardHeight: 0
   },
 
   /**
@@ -59,24 +61,55 @@
               wx.navigateTo({
                 url: "/packageDomain/pages/teacherCertification/index",
               });
+            } else {
+              wx.navigateBack();
             }
           }
         })
       }
       if (wx.getStorageSync("paperBookList")) {
+        const paperBookList = JSON.parse(wx.getStorageSync("paperBookList"))
+        for (let index = 0; index < paperBookList.length; index++) {
+          const item = paperBookList[index];
+          if (item.publicationDate)
+            item.publicationDate = this.formatDate(item.publicationDate)
+        }
         that.setData({
-          paperBookList: JSON.parse(wx.getStorageSync("paperBookList")),
-          bookList: JSON.parse(wx.getStorageSync("paperBookList"))
+          paperBookList: paperBookList,
+          bookList: paperBookList
         })
       }
       if (wx.getStorageSync("electronicBookList")) {
+        const electronicBookList = JSON.parse(wx.getStorageSync("electronicBookList"))
+        for (let index = 0; index < electronicBookList.length; index++) {
+          const item = electronicBookList[index];
+          if (item.publicationDate)
+            item.publicationDate = this.formatDate(item.publicationDate)
+        }
         that.setData({
-          electronicBookList: JSON.parse(wx.getStorageSync("electronicBookList"))
+          electronicBookList: electronicBookList
         })
       }
       that.getSelectBookCount();
       that.getSelectPaperBookCount();
       that.getPaperType();
+    }
+  },
+
+  formatDate(inputDate) {
+    // 浣跨敤姝e垯琛ㄨ揪寮忓尮閰嶆棩鏈熼儴鍒�  
+    const dateMatch = inputDate.match(/^(\d{4})\/(\d{1,2})\/(\d{1,2})/);
+    if (dateMatch) {
+      // 鎻愬彇骞淬�佹湀銆佹棩  
+      const year = dateMatch[1];
+      const month = dateMatch[2].padStart(2, '0'); // 纭繚鏈堜唤涓轰袱浣嶆暟  
+      const day = dateMatch[3].padStart(2, '0'); // 纭繚鏃ユ湡涓轰袱浣嶆暟  
+
+      // 鎷兼帴骞惰繑鍥炴牸寮忓寲鍚庣殑鏃ユ湡  
+      return `${year}-${month}-${day}`;
+    } else {
+      // 濡傛灉娌℃湁鍖归厤鍒版棩鏈熼儴鍒嗭紝鍒欒繑鍥炲師濮嬭緭鍏ユ垨鎶涘嚭閿欒  
+      return inputDate; // 鎴栬�� throw new Error('Invalid date format');  
     }
   },
 
@@ -306,7 +339,7 @@
             that.setData({
               bookList: eList
             })
-            wx.setStorageSync("electronicBookList", eList);
+            wx.setStorageSync("electronicBookList", JSON.stringify(eList));
           } else {
             let pList = that.data.paperBookList;
             pList.forEach((obj, index) => {
@@ -317,13 +350,84 @@
             that.setData({
               bookList: pList
             })
-            wx.setStorageSync("paperBookList", pList);
+            wx.setStorageSync("paperBookList", JSON.stringify(pList));
           }
         } else if (res.cancel) {}
       }
     })
   },
 
+  // 鐩戝惉椤甸潰杞敭鐩樺脊璧锋墜鍔ㄦ帹鍔ㄩ〉闈�
+  bindkeyboardheightchange(e) {
+    // 鍙ios 澶勭悊
+    if (!this.data.isIos === 'ios') {
+      return
+    }
+    // 閿洏楂樺害
+    const height = e.detail.height;
+    const className = e.target.dataset.class;
+    console.log(height, className)
+    if (height === 0) {
+      this.scrollToInput(0);
+      return;
+    }
+    try {
+      this.createSelectorQuery()
+        .select(`.${className}`)
+        .boundingClientRect((res) => {
+          // 鍙娇鐢ㄧ獥鍙i珮搴�
+          const windowHeight = wx.getSystemInfoSync().windowHeight;
+          // 闄ゅ幓閿洏鐨勫墿浣欓珮搴�
+          let restHeight = windowHeight - height;
+          // 鍏冪礌宸︿笅瑙掑潗鏍�
+          let bottom = res.bottom;
+          // 鍙湁褰撳厓绱犺杞敭鐩樿鐩栫殑鏃跺�欐墠涓婃帹椤甸潰
+          if (bottom <= restHeight) return;
+          // 鐜伴樁娈甸渶瑕佹粴鍔ㄧ殑澶у皬
+          let scrollTop = bottom - restHeight;
+          console.log(scrollTop, 1)
+          this.scrollToInput(height, scrollTop);
+        })
+        .exec();
+    } catch (error) {}
+  },
+
+  // 鑾峰彇椤甸潰婊氬姩鏉′綅缃�
+  getScrollOffset() {
+    return new Promise((resolve) => {
+      try {
+        wx.createSelectorQuery()
+          .selectViewport()
+          .scrollOffset((res) => {
+            resolve(res.scrollTop);
+          })
+          .exec();
+      } catch (error) {
+        resolve(0);
+      }
+    });
+  },
+
+  // 鐩戝惉椤甸潰杞敭鐩樺脊璧锋墜鍔ㄦ帹鍔ㄩ〉闈�
+  scrollToInput(keyboardHeight, scrollTop) {
+    this.setData({
+      keyboardHeight,
+    });
+    if (scrollTop) {
+      try {
+        this.getScrollOffset().then((lastScrollTop) => {
+          wx.pageScrollTo({
+            // 濡傛灉宸茬粡瀛樺湪婊氬姩锛屽湪姝ゅ熀纭�涓婄户缁粴
+            scrollTop: lastScrollTop ? lastScrollTop + scrollTop : scrollTop,
+            duration: 300,
+          });
+        });
+      } catch (error) {}
+    }
+  },
+  changeParam(e) {
+    this.scrollToInput(0);
+  },
   /**
    * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔
    */

--
Gitblit v1.9.1