yiming
2024-04-11 a9bd2df4da1cf7b198db7bf2d67ce8adbbe89b32
pages/retrievalPage/index.js
@@ -1,7 +1,9 @@
// pages/retrievalPage/index.js
import request from '../../assets/request/index'
import { handleQueryResourceListData } from '../../assets/js/middleGround/tool'
import {
  handleQueryResourceListData
} from '../../assets/js/middleGround/tool'
const app = getApp()
Page({
@@ -9,33 +11,47 @@
   * 页面的初始数据
   */
  data: {
    loading: true,
    hidden: true,
    input: '',
    dialogKey: '',
    showWithInput: false,
    showTextAndTitleWithInput: false,
    downloadLoadin: false,
    isMore: null,
    tabPanelstyle: 'display:flex;justify-content:center;align-items:center;',
    navBarHeight: '',
    barHeight: '',
    searchVal: '',
    bookData: [],   //图书
    bookData: [], //图书
    bookTotal: 0,
    courseData: [],  //课程
    courseData: [], //课程
    courseTotal: 0,
    digitalTextbooksData: [],  //数字教材
    digitalTextbooksData: [], //数字教材
    digitalTextbooksTotal: 0,
    seminarData: [], //专题研讨
    seminarTotal: 0,
    biblioClassificationData: [],//书展
    biblioClassificationData: [], //书展
    biblioClassificationTotal: 0,
    bookFairData: [],//书目
    bookFairTotal: 0
    bookFairData: [], //书目
    bookFairTotal: 0,
    pageCount: {
      page: 1,
      total: 0,
    },
    tabValue: ''
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log(app.config.appId);
    const systInfo = wx.getSystemInfoSync();
    const menu = wx.getMenuButtonBoundingClientRect(); // 胶囊信息
    const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 导航栏高度
    this.setData({
      navBarHeight: navBarHeight,
      barHeight: systInfo.statusBarHeight,
      searchVal: options.searchVal
@@ -44,6 +60,13 @@
    this.retrievalPageGet()
    this.bibliographyGet()
    let event = {
      detail: {
        value: "0"
      }
    }
    this.onTabsChange(event)
  },
  /**
@@ -105,13 +128,53 @@
    this.retrievalPageGet()
    this.bibliographyGet()
  },
  //标签的切换
  onTabsChange(event) {
    console.log(`Change tab, tab-panel searchVal is ${event.detail.searchVal}.`);
    const value = event.detail.value
    // if (this.data.bookData <= 0 || this.data.courseData <= 0 || this.data.digitalTextbooksData <= 0 || this.data.seminarData <= 0 || this.data.biblioClassificationData <= 0 || this.data.bookFairData <= 0) {
    //   this.setData({
    //     isMore: true
    //   })
    // }
    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
      })
    }
  },
  onTabsClick(event) {
    console.log(`Click tab, tab-panel searchVal is ${event.detail.searchVal}.`);
  },
  retrievalPageGet() {
@@ -143,19 +206,17 @@
    let queryBook = {
      AccessControl: {
        Path: '*',
        StoreRefCode: 'defaultGoodsStore27',
        StoreRefCode: `defaultGoodsStore${app.config.appId}`,
        Type: '*',
        LinkType: ''
      },
      PageQuery: {
        Start: 0,
        Size: 999
        Size: this.data.pageCount.page * 9,
      },
      SortQuery: [
        {
          LinkOrder: 'Desc'
        }
      ],
      SortQuery: [{
        LinkOrder: 'Desc'
      }],
      CreateDate: [],
      Description: [],
      Name: [],
@@ -194,13 +255,11 @@
      },
      PageQuery: {
        Start: 0,
        Size: 999
        Size: this.data.pageCount.page * 4
      },
      SortQuery: [
        {
          LinkOrder: 'Desc'
        }
      ],
      SortQuery: [{
        LinkOrder: 'Desc'
      }],
      CreateDate: [],
      Description: [],
      Name: [],
@@ -238,13 +297,11 @@
      },
      PageQuery: {
        Start: 0,
        Size: 999
        Size: this.data.pageCount.page * 9,
      },
      SortQuery: [
        {
          LinkOrder: 'Desc'
        }
      ],
      SortQuery: [{
        LinkOrder: 'Desc'
      }],
      CreateDate: [],
      Description: [],
      Name: [],
@@ -283,13 +340,11 @@
      },
      PageQuery: {
        Start: 0,
        Size: 999
        Size: this.data.pageCount.page * 6,
      },
      SortQuery: [
        {
          LinkOrder: 'Desc'
        }
      ],
      SortQuery: [{
        LinkOrder: 'Desc'
      }],
      CreateDate: [],
      Description: [],
      Name: [],
@@ -327,13 +382,11 @@
      PageQuery: {
        Start: 0,
        Size: 999
        Size: this.data.pageCount.page * 10
      },
      SortQuery: [
        {
          LinkOrder: 'Desc'
        }
      ],
      SortQuery: [{
        LinkOrder: 'Desc'
      }],
      CreateDate: [],
      Description: [],
      Name: [],
@@ -372,7 +425,7 @@
      method: 'post',
      data: body
    }).then((resp) => {
      // console.log(resp);
      console.log(resp, 'resp');
      //图书       0
      const data1 = resp[0]
@@ -382,7 +435,8 @@
      })
      this.setData({
        bookData: datas1,
        bookTotal: data1.totalCount
        bookTotal: data1.totalCount,
      })
@@ -434,16 +488,22 @@
      datas5.forEach((items) => {
        items.subtitleName = items.subtitle + items.name
      })
      console.log(datas5, 'sadasd');
      // console.log(datas5, 'sadasd');
      this.setData({
        biblioClassificationData: datas5,
        biblioClassificationTotal: data5.totalCount
      })
      this.setData({
        loading: false,
        hidden: false,
      })
    })
    wx.stopPullDownRefresh()
  },
  bibliographyGet() {
@@ -462,7 +522,7 @@
      queryType: '*',
      paging: {
        start: 0,
        size: 999
        size: this.data.pageCount.page * 9,
      },
      coverSize: {
        width: 260
@@ -478,13 +538,14 @@
      },
      SysType: "CmsItem"
    }).then(res => {
      // console.log(res);
      this.setData({
        bookFairData: res.datas,
        bookFairTotal: res.total
      })
    })
    wx.stopPullDownRefresh()
  },
  downloadData(event) {
    console.log(111);
@@ -526,9 +587,7 @@
    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
      url: '/packageBookService/pages/bookServices/detail/index?id=' + item.id + '&name=' + item.name
    })
  },
  onBookExhibitionDetails(e) {
@@ -539,14 +598,326 @@
      url: '/pages/bookExhibitionDetails/index?id=' + item.id + '&bookName=' + item.name // 假设跳转到详情页面,并传递了id参数
    });
  },
  //触底函数
  onReachBottom() {
    console.log("上拉加载....");
  },
  //上拉函数
  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({
        "pageCount.page": 1
      })
      this.bibliographyGet()
    } else {
      this.setData({
        "pageCount.page": 1
      })
      this.retrievalPageGet()
    }
  },
  underConstruction() {
    wx.showToast({
      title: "建设中",
      icon: 'none',
      duration: 1000
    })
  },
  // 邮箱点击
  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
    });
  },
  //邮箱的校验
  onEmailInput(e) {
    const isEmailValid = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/.test(e.detail.value);
    this.setData({
      emailError: !isEmailValid,
      "input": e.detail.value,
    });
  },
  //弹窗确认
  onConfirm() {
    if (!this.data.emailError && this.data.input) {
      const {
        dialogKey
      } = this.data;
      this.setData({
        [dialogKey]: false
      });
      console.log(this.data.input);
      console.log(this.data.Md5);
      if (this.data.input) {
        let query = {
          eMail: this.data.input,
          md5s: [this.data.Md5]
        }
        app.MG.file.sendFileWithEmail(query).then(res => {
          console.log(res);
        })
      }
    } else {
      // 校验不通过,给出错误提示
      wx.showToast({
        title: '邮箱格式不正确',
        icon: 'none',
      });
    }
  },
  // 弹窗取消
  closeDialog() {
    const {
      dialogKey
    } = this.data;
    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,
          "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)
      }
    }
  }
})