From 04c7b0163caeae4ab1c5da62e301fa993101cfad Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期一, 31 三月 2025 10:40:45 +0800
Subject: [PATCH] bug修改

---
 pages/retrievalPage/index.js |  465 +++++++++++++++++++++++++++------------------------------
 1 files changed, 220 insertions(+), 245 deletions(-)

diff --git a/pages/retrievalPage/index.js b/pages/retrievalPage/index.js
index 659db87..fc8fd6c 100644
--- a/pages/retrievalPage/index.js
+++ b/pages/retrievalPage/index.js
@@ -1,6 +1,8 @@
 // pages/retrievalPage/index.js
 import request from '../../assets/request/index'
-
+import {
+  loginInfo
+} from '../../assets/js/login';
 import {
   handleQueryResourceListData
 } from '../../assets/js/middleGround/tool'
@@ -19,7 +21,6 @@
     showTextAndTitleWithInput: false,
     downloadLoadin: false,
     isMore: null,
-    tabPanelstyle: 'display:flex;justify-content:center;align-items:center;',
     navBarHeight: '',
     barHeight: '',
     searchVal: '',
@@ -39,15 +40,48 @@
       page: 1,
       total: 0,
     },
-    tabValue: ''
+    tabValue: '0',
+    tabPanelstyle: 'display:flex;justify-content:center;align-items:center;',
+    // tab閫夐」
+    tabList: [{
+        title: "鍥句功",
+        index: "0",
+        bookTotal: 0
+      },
+      {
+        title: "璇剧▼",
+        index: "1",
+        bookTotal: 0
+      },
+      {
+        title: "鏁板瓧鏁欐潗",
+        index: "2",
+        bookTotal: 0
+      }, {
+        title: "涓撻",
+        index: "3",
+        bookTotal: 0
+      },
+      {
+        title: "涔︾洰",
+        index: "4",
+        bookTotal: 0
+      },
+      {
+        title: "涔﹀睍",
+        index: "5",
+        bookTotal: 0
+      },
+    ],
+    tabsId: 0, //榛樿閫夊瀷涓鸿澶�
+    height: '',
+    inputStyle: 'border: 2rpx solid rgba(220,220,220,1);border-radius: 12rpx; padding: 0 0 0 16rpx;height:70rpx',
   },
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
    */
   onLoad(options) {
-
-    console.log(app.config.appId);
     const systInfo = wx.getSystemInfoSync();
     const menu = wx.getMenuButtonBoundingClientRect(); // 鑳跺泭淇℃伅
     const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 瀵艰埅鏍忛珮搴�
@@ -56,21 +90,60 @@
       barHeight: systInfo.statusBarHeight,
       searchVal: options.searchVal
     })
-
-
     this.retrievalPageGet()
     this.bibliographyGet()
-    let event = {
+    let e = {
       detail: {
-
         value: "0"
       }
     }
-    this.onTabsChange(event)
-
-
+    this.onTabsChange(e)
+    // 妫�鏌ョ櫥褰曠姸鎬�
+    // const token = wx.getStorageSync(app.config.tokenKey)
+    // if (!token) {
+    //   loginInfo(app, (data) => {
+    //     if (data) {
+    //       this.getUserInfo()
+    //     }
+    //   })
+    // } else {
+    //   this.getUserInfo()
+    // }
+    var that = this;
+    // 鍔ㄦ�佽幏鍙栧睆骞曢珮搴�
+    wx.getSystemInfo({
+      success: (result) => {
+        that.setData({
+          height: result.windowHeight
+        });
+      },
+    })
   },
-
+  // 鑾峰彇鐧诲綍鐢ㄦ埛韬唤
+  getUserInfo() {
+    app.MG.identity.getCurrentAppUser().then(res => {
+      // 鐢ㄦ埛淇℃伅浼樺厛绾э細鏁欏笀璁よ瘉 > 寰俊 > 瀛︾敓锛堟敞鍐屾椂榛樿锛�
+      if (res) {
+        //鑾峰彇鐢ㄦ埛绫诲瀷
+        let teacherRole = res.roleLinks.find((item) => item.role.refCode == 'teacher')
+        let teacherInfos = res.infoList.find((item) => item.type == 'teacherInfo')
+        let eMailData = res.secretList.find(i => i.type == 'EMail')
+        if (eMailData) {
+          this.setData({
+            input: eMailData.credential
+          })
+        } else if (teacherRole && teacherInfos) {
+          this.setData({
+            input: JSON.parse(teacherInfos.data).email
+          })
+        } else {
+          this.setData({
+            input: ''
+          })
+        }
+      }
+    });
+  },
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
    */
@@ -107,18 +180,10 @@
   },
 
   /**
-   * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
-   */
-  onReachBottom() {
-
-  },
-
-  /**
    * 鐢ㄦ埛鐐瑰嚮鍙充笂瑙掑垎浜�
    */
-  onShareAppMessage() {
-
-  },
+  onShareAppMessage() {},
+  onShareTimeline() {},
   goBack() {
     wx.navigateBack();
   },
@@ -131,53 +196,22 @@
     this.bibliographyGet()
   },
 
-
   //鏍囩鐨勫垏鎹�
   onTabsChange(event) {
     const value = event.detail.value
-    console.log(value);
+    this.setData({
+      tabValue: value,
+      isMore: false
+    })
 
-    if (value === '0') {
-      this.setData({
-        tabValue: value,
-        isMore: false
-      })
-
-    } else if (value === '1') {
-      console.log(value, 'tab');
-      this.setData({
-        tabValue: value,
-        isMore: false
-      })
-    } else if (value === '2') {
-      this.setData({
-        tabValue: value,
-        isMore: false
-      })
-    } else if (value === '3') {
-      this.setData({
-        tabValue: value,
-        isMore: false
-      })
-    } else if (value === '4') {
-      this.setData({
-        tabValue: value,
-        isMore: false
-      })
-    } else if (value === '5') {
-      this.setData({
-        tabValue: value,
-        isMore: false
-      })
+    if (value === '4') {
+      this.bibliographyGet()
+    } else {
+      this.retrievalPageGet()
     }
-
   },
 
-
-
-
   retrievalPageGet() {
-
     let fields = {
       liveTime: [],
       lecturer: [],
@@ -196,11 +230,12 @@
         'Name*': this.data.searchVal.trim(),
         '||author*': this.data.searchVal.trim(),
         '||isbn*': this.data.searchVal.trim(),
-        '||seriesName*': this.data.searchVal.trim()
+        '||seriesName*': this.data.searchVal.trim(),
+        '||projectLeader*': this.data.searchVal.trim()
       }
 
     }
-    let url = '/store/api/ApiQueryProductByAppUser'
+    let url = '/store/api/ApiQueryProduct'
     //鍥句功
     let queryBook = {
       AccessControl: {
@@ -232,17 +267,15 @@
       ...searchObj,
       ...fields
     }
-
-
     let courseObj = {}
     if (this.data.searchVal) {
       courseObj = {
         'Name*': this.data.searchVal.trim(),
         '||author*': this.data.searchVal.trim(),
         '||isbn*': this.data.searchVal.trim(),
-        '||seriesName*': this.data.searchVal.trim()
+        '||seriesName*': this.data.searchVal.trim(),
+        '||projectLeader*': this.data.searchVal.trim()
       }
-
     }
     //璇剧▼
     let queryCourse = {
@@ -317,8 +350,6 @@
       ...digitalTextbooksObj,
       ...fields
     }
-
-
     let seminarObj = {}
     if (this.data.searchVal) {
       seminarObj = {
@@ -424,8 +455,6 @@
       method: 'post',
       data: body
     }).then((resp) => {
-      console.log(resp, 'resp');
-
       //鍥句功       0
       const data1 = resp[0]
       const datas1 = handleQueryResourceListData({
@@ -435,12 +464,8 @@
       this.setData({
         bookData: datas1,
         bookTotal: data1.totalCount,
-
+        [`tabList[${0}].bookTotal`]: data1.totalCount
       })
-
-
-
-
       //鏁板瓧璇剧▼    1
       const data2 = resp[1]
       const datas2 = handleQueryResourceListData({
@@ -449,11 +474,9 @@
       })
       this.setData({
         courseData: datas2,
-        courseTotal: data2.totalCount
+        courseTotal: data2.totalCount,
+        [`tabList[${1}].bookTotal`]: data2.totalCount
       })
-
-
-
       // 鏁板瓧鏁欐潗    2
       const data3 = resp[2]
       const datas3 = handleQueryResourceListData({
@@ -462,20 +485,19 @@
       })
       this.setData({
         digitalTextbooksData: datas3,
-        digitalTextbooksTotal: data3.totalCount
+        digitalTextbooksTotal: data3.totalCount,
+        [`tabList[${2}].bookTotal`]: data3.totalCount
       })
-
       // 涓撻鐮旇   3
-
       const data4 = resp[3]
       const datas4 = handleQueryResourceListData({
         datas: data4.datas,
         fields
       })
-
       this.setData({
         seminarData: datas4,
-        seminarTotal: data4.totalCount
+        seminarTotal: data4.totalCount,
+        [`tabList[${3}].bookTotal`]: data4.totalCount
       })
       // 涔﹀睍      4
       const data5 = resp[4]
@@ -483,27 +505,21 @@
         datas: data5.datas,
         fields
       })
-
       datas5.forEach((items) => {
         items.subtitleName = items.subtitle + items.name
       })
-      // console.log(datas5, 'sadasd');
       this.setData({
         biblioClassificationData: datas5,
-        biblioClassificationTotal: data5.totalCount
+        biblioClassificationTotal: data5.totalCount,
+        [`tabList[${5}].bookTotal`]: data5.totalCount
       })
-
       this.setData({
         loading: false,
         hidden: false,
+        isMore: false
       })
-
-
     })
     wx.stopPullDownRefresh()
-
-
-
   },
   bibliographyGet() {
     let bibliographyObj = {}
@@ -540,19 +556,17 @@
 
       this.setData({
         bookFairData: res.datas,
-        bookFairTotal: res.total
+        bookFairTotal: res.total,
+        [`tabList[${4}].bookTotal`]: res.total
       })
 
     })
     wx.stopPullDownRefresh()
   },
   downloadData(event) {
-    console.log(111);
     const item = event.currentTarget.dataset.item;
-    // console.log(item.datas.freeFile.Value);
     const URL = app.config.requestCtx + '/file/api/ApiDownload?md5=' + item.datas.freeFile.Value
     item.determine = false
-    console.log(URL, 'URL');
     setTimeout(() => {
       if (URL) {
         item.determine = true
@@ -577,22 +591,49 @@
       }
     });
   },
+  openBookFair(event) {
+    const item = event.currentTarget.dataset.item
+    if (item.fileType == "pdf") {
+      wx.navigateTo({
+        url: "/packageBookService/pages/components/webView/index?md5=" +
+          item.freeFile +
+          "&fileName=" +
+          item.name +
+          "&fileType=" +
+          item.fileType + "&bookBuy=true"
+          // "&freePage=" +
+          // this.data.fileInfo.freePage +
+
+          +
+          "&bookId=" +
+          item.id,
+      });
+    } else {
+      Toast({
+        context: this,
+        selector: '#t-toast',
+        message: '姝や功涓嶈兘鏌ョ湅',
+        theme: 'warning',
+        direction: 'column',
+      });
+    }
+  },
   onSearchSubmit() {
-    console.log(this.data.searchVal);
+    this.setData({
+      loading: true,
+      hidden: true,
+    })
     this.retrievalPageGet()
     this.bibliographyGet()
   },
   onBook(e) {
-    console.log(e.currentTarget.dataset.item);
     const item = e.currentTarget.dataset.item
     wx.navigateTo({
       url: '/packageBookService/pages/bookServices/detail/index?id=' + item.id + '&name=' + item.name
     })
   },
   onBookExhibitionDetails(e) {
-    console.log(e.currentTarget.dataset.item);
     const item = e.currentTarget.dataset.item
-
     wx.navigateTo({
       url: '/pages/bookExhibitionDetails/index?id=' + item.id + '&bookName=' + item.name // 鍋囪璺宠浆鍒拌鎯呴〉闈紝骞朵紶閫掍簡id鍙傛暟
     });
@@ -602,160 +643,88 @@
   onPullDownRefresh() {
     console.log("涓嬫媺鍒锋柊...");
   },
-  /**
-   * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
-   */
-  onReachBottom(e) {
-    if (this.data.tabValue == 0) {
-      console.log(0);
-      if (this.data.bookData.length < this.data.bookTotal) {
-        this.setData({
-          isMore: true,
-          "pageCount.page": this.data.pageCount.page + 1
-        })
-        this.retrievalPageGet()
-      } else {
-        this.setData({
-          isMore: true,
-        })
-        setTimeout(() => {
-          this.setData({
-            isMore: false
-          })
-        }, 100)
-
-      }
-
-    } else if (this.data.tabValue == 1) {
-
-      if (this.data.courseData.length < this.data.courseTotal) {
-        this.setData({
-          isMore: true,
-          "pageCount.page": this.data.pageCount.page + 1
-        })
-        this.retrievalPageGet()
-      } else {
-        this.setData({
-          isMore: true,
-        })
-        setTimeout(() => {
-          this.setData({
-            isMore: false
-          })
-        }, 100)
-
-      }
-      console.log(2);
-    } else if (this.data.tabValue == 2) {
-
-      if (this.data.digitalTextbooksData.length < this.data.digitalTextbooksTotal && this.data.digitalTextbooksData.length > 9) {
-        this.setData({
-          isMore: true,
-          "pageCount.page": this.data.pageCount.page + 1
-        })
-        this.retrievalPageGet()
-      } else {
-        this.setData({
-          isMore: true,
-        })
-        setTimeout(() => {
-          this.setData({
-            isMore: false
-          })
-        }, 100)
-
-      }
-      console.log(2);
-    } else if (this.data.tabValue == 3) {
-      if (this.data.seminarData.length < this.data.seminarTotal) {
-        this.setData({
-          isMore: true,
-          "pageCount.page": this.data.pageCount.page + 1
-        })
-        this.retrievalPageGet()
-      } else {
-        this.setData({
-          isMore: true,
-        })
-        setTimeout(() => {
-          this.setData({
-            isMore: false
-          })
-        }, 100)
-      }
-      console.log(3);
-    } else if (this.data.tabValue == 4) {
-      if (this.data.bookFairData.length < this.data.bookFairTotal) {
-        this.setData({
-          isMore: true,
-          "pageCount.page": this.data.pageCount.page + 1
-        })
-        this.bibliographyGet()
-      } else {
-        this.setData({
-          isMore: true,
-        })
-        setTimeout(() => {
-          this.setData({
-            isMore: false
-          })
-        }, 100)
-      }
-      console.log(4);
-    } else if (this.data.tabValue == 5) {
-      if (this.data.biblioClassificationData.length < this.data.biblioClassificationTotal) {
-        this.setData({
-          isMore: true,
-          "pageCount.page": this.data.pageCount.page + 1
-        })
-        this.retrievalPageGet()
-      } else {
-        this.setData({
-          isMore: true,
-        })
-        setTimeout(() => {
-          this.setData({
-            isMore: false
-          })
-        }, 100)
-      }
-    }
-  },
 
   // 涓嬫媺鍑芥暟
   onPullDownRefresh() {
-    console.log(456);
     if (this.data.tabValue == 4) {
       this.setData({
+        bookFairData: [],
         "pageCount.page": 1
       })
       this.bibliographyGet()
     } else {
       this.setData({
+        bookData: [],
+        courseData: [],
+        digitalTextbooksData: [],
+        seminarData: [],
+        biblioClassificationData: [],
         "pageCount.page": 1
       })
       this.retrievalPageGet()
     }
   },
 
-  underConstruction() {
-    wx.showToast({
-      title: "寤鸿涓�",
-      icon: 'none',
-      duration: 1000
+  underConstruction(e) {
+    const {
+      book
+    } = e.currentTarget.dataset;
+    console.log(book);
+    wx.navigateTo({
+      url: '/pages/digitalCourses/digitalCoursesDetails/index?id=' + book.id + '&path=' + book.idPath,
+    });
+  },
+  goTextBookDetail(e) {
+    const {
+      item
+    } = e.currentTarget.dataset;
+    wx.navigateTo({
+      url: '/pages/digitalTextbooks/digitalTextbooksDetails/index?id=' + item.id,
+    });
+  },
+  goSubjectDetail(e) {
+    // return wx.showToast({
+    //   title: "寤鸿涓�",
+    //   icon: 'none',
+    //   duration: 1000
+    // })
+    const item = e.currentTarget.dataset.item
+    // 缃戦〉绫诲瀷璺宠浆鍒扮綉鍧�澶嶅埗椤碉紝鍥犱负url浼犲弬涓嶈兘浼� 甯﹀弬鏁扮殑缃戠粶鍦板潃锛屾墍浠ユ澶勮鎶婄綉缁滃湴鍧�閲岀殑浼犲弬鎽樺嚭鏉ワ紝鏀惧埌url閲�
+    let urlData = ''
+    const flags = item.jsek_link.indexOf("?")
+    if (flags > -1) {
+      urlData = item.jsek_link.slice(flags + 1, item.jsek_link.length)
+    }
+    let url = '/packageBookService/pages/bookServices/linkPage/index'
+    wx.navigateTo({
+      url: urlData ? url + `?path=${item.jsek_link.slice(0,flags)}` + '&' + urlData : url + `?path=${item.jsek_link}`
     })
+
   },
   // 閭鐐瑰嚮
   mailbox(e) {
-    console.log(e);
     const key = e.currentTarget.dataset.key;
     const item = e.currentTarget.dataset.item;
-    this.setData({
-      [key]: true,
-      dialogKey: key,
-      input: '',
-      Md5: item.datas.freeFile.FileList[0].Md5
-    });
+    const token = wx.getStorageSync(app.config.tokenKey)
+    if (!token) {
+      loginInfo(app, (data) => {
+        if (data) {
+          this.getUserInfo()
+          this.setData({
+            [key]: true,
+            dialogKey: key,
+            Md5: item.datas.freeFile.FileList[0].Md5
+          });
+        }
+      })
+    } else {
+      this.getUserInfo()
+      this.setData({
+        [key]: true,
+        dialogKey: key,
+        Md5: item.datas.freeFile.FileList[0].Md5
+      });
+    }
   },
   //閭鐨勬牎楠�
   onEmailInput(e) {
@@ -774,8 +743,6 @@
       this.setData({
         [dialogKey]: false
       });
-      console.log(this.data.input);
-      console.log(this.data.Md5);
       if (this.data.input) {
         let query = {
           eMail: this.data.input,
@@ -801,11 +768,9 @@
     this.setData({
       [dialogKey]: false
     });
-    console.log(111);
   },
   onScrollToLower() {
     if (this.data.tabValue == 0) {
-      console.log(0);
       if (this.data.bookData.length < this.data.bookTotal) {
         this.setData({
           isMore: true,
@@ -843,7 +808,6 @@
         }, 100)
 
       }
-      console.log(2);
     } else if (this.data.tabValue == 2) {
 
       if (this.data.digitalTextbooksData.length < this.data.digitalTextbooksTotal && this.data.digitalTextbooksData.length > 9) {
@@ -863,7 +827,6 @@
         }, 100)
 
       }
-      console.log(2);
     } else if (this.data.tabValue == 3) {
       if (this.data.seminarData.length < this.data.seminarTotal) {
         this.setData({
@@ -881,7 +844,6 @@
           })
         }, 100)
       }
-      console.log(3);
     } else if (this.data.tabValue == 4) {
       if (this.data.bookFairData.length < this.data.bookFairTotal) {
         this.setData({
@@ -899,7 +861,6 @@
           })
         }, 100)
       }
-      console.log(4);
     } else if (this.data.tabValue == 5) {
       if (this.data.biblioClassificationData.length < this.data.biblioClassificationTotal) {
         this.setData({
@@ -919,7 +880,21 @@
       }
     }
   },
-  onTabsClick(event) {
-    console.log(`Click tab, tab-panel value is ${event.detail.value}.`);
+
+  // 婊戝姩鏃惰Е鍙戠殑浜嬩欢
+  slideOn(e) {
+    // 鎷垮埌褰撳墠绱㈠紩骞跺姩鎬佹敼鍙�
+    this.setData({
+      tabsId: e.detail.current
+    })
   },
+
+  //鐐瑰嚮tab鏃惰Е鍙�
+  tabsOn(e) {
+    this.setData({
+      //鎷垮埌褰撳墠绱㈠紩骞跺姩鎬佹敼鍙�
+      tabsId: e.currentTarget.dataset.idx
+    })
+  },
+
 })
\ No newline at end of file

--
Gitblit v1.9.1