litian
2024-04-08 e6a156a6a8bb6f1d3a17e9310269f53c56e10b42
packageDomain/pages/sampleBookList/index.js
@@ -145,11 +145,7 @@
      this.setData({
        userInfo: JSON.parse(wx.getStorageSync(app.config.userInfoKey))
      })
      this.getAlreadyPBookList()
      this.getAlreadyEBookList()
      // 获取申请次数
      this.getSelectPaperBookCount()
      this.getSelectBookCount()
    }
  },
@@ -164,19 +160,32 @@
   * 生命周期函数--监听页面显示
   */
  onShow() {
    if (wx.getStorageSync("paperBookList")) {
      this.setData({
        paperBookList: wx.getStorageSync("paperBookList"),
      })
    }
    if (wx.getStorageSync("electronicBookList")) {
      this.setData({
        electronicBookList: wx.getStorageSync("electronicBookList"),
      })
    }
    this.setData({
      num: this.data.paperBookList.length + this.data.electronicBookList.length
      page: 1,
      paperBookList: [],
      electronicBookList: []
    })
    this.getAlreadyPBookList()
    this.getAlreadyEBookList()
    // 获取申请次数
    this.getSelectPaperBookCount()
    this.getSelectBookCount()
    console.log(this.data.electronicBookList.length, this.data.paperBookList.length, 1)
    if (wx.getStorageSync("paperBookList") || wx.getStorageSync("electronicBookList")) {
      if (wx.getStorageSync("paperBookList")) {
        this.setData({
          paperBookList: wx.getStorageSync("paperBookList"),
        })
      }
      if (wx.getStorageSync("electronicBookList")) {
        this.setData({
          electronicBookList: wx.getStorageSync("electronicBookList"),
        })
      }
      this.setData({
        num: this.data.paperBookList.length + this.data.electronicBookList.length
      })
    }
    this.getBookList(false);
  },
  goBack() {
@@ -184,7 +193,7 @@
  },
  // 获取纸质书剩余次数
  getSelectPaperBookCount(item) {
  getSelectPaperBookCount() {
    app.MG.app
      .getTicketResult({
        ticketRefCodeOrGuid: 'paperSampleBookapplyNum',
@@ -197,7 +206,7 @@
      })
  },
  // 获取电子书剩余次数
  getSelectBookCount(item) {
  getSelectBookCount() {
    app.MG.app
      .getTicketResult({
        ticketRefCodeOrGuid: 'electronicSampleBookapplyNum',
@@ -278,6 +287,7 @@
        'stairList.options': options,
        'stairList.value': this.data.stairCode,
      });
      console.log(this.data.stairList.options)
    });
  },
  // 获取一级分类下二级分类
@@ -410,6 +420,8 @@
        author: [],
        isbn: [],
        publicationDate: [],
        pdf: [],
        protectedEpub: [],
        isApplyBook: [],
        'isApplyBook>': ['1'],
        ...searchObj,
@@ -429,26 +441,30 @@
            }
            if (that.data.alreadyPaperBookList.length > 0) {
              that.data.alreadyPaperBookList.forEach((pBook) => {
                pBook.content.forEach((pBookItem) => {
                  if (pBookItem.id === item.id && pBook.state == 'WaitAudit') {
                    item.paperDisabled = true
                    item.paperChecked = true
                  }
                  if (pBookItem.id === item.id && pBook.state == 'Normal') {
                    item.paperDisabled = false
                  }
                })
                if (pBook.content.length > 0) {
                  pBook.content.forEach((pBookItem) => {
                    if (pBookItem.id === item.id && pBook.state == 'WaitAudit') {
                      item.paperDisabled = true
                      item.paperChecked = true
                    }
                    if (pBookItem.id === item.id && pBook.state == 'Normal') {
                      item.paperDisabled = false
                    }
                  })
                }
              })
            }
            if (that.data.alreadyElectronicBookList.length > 0) {
              that.data.alreadyElectronicBookList.forEach((eBook) => {
                eBook.content.forEach((eBookItem) => {
                  if (eBookItem.id === item.id && !eBook.isExpiry && eBook.state != 'Reject') {
                    item.electronDisabled = true
                    item.electronChecked = true
                  }
                })
                if (eBook.content.length > 0) {
                  eBook.content.forEach((eBookItem) => {
                    if (eBookItem.id === item.id && !eBook.isExpiry && eBook.state != 'Reject') {
                      item.electronDisabled = true
                      item.electronChecked = true
                    }
                  })
                }
              })
            }
            if (that.data.paperBookList.length > 0) {
@@ -481,6 +497,9 @@
          })
        } else {
          that.setData({
            bookList: [],
            pageTotalCount: 0,
            bottomLoading: false,
            skeletonLoding: false,
            loading: false
          })
@@ -493,9 +512,7 @@
  //高级分类选择
  onChangeIcon(e) {
    this.setData({
      assortCheck: {
        code: e.detail.value,
      },
      'assortCheck.code': e.detail.value,
      stairCode: '',
      secondCode: '',
      path: `${e.detail.value}`,
@@ -795,14 +812,55 @@
  },
  //选择电子样书
  onChangeElectron(e) {
  async onChangeElectron(e) {
    const item = e.currentTarget.dataset.book;
    console.log(item)
    const index = this.data.bookList.findIndex(citem => citem.id == item.id)
    let role = this.data.userInfo != null ? this.data.userInfo.role : null
    if (role && role == 'Teacher') {
      // 是教师
      if (e.detail.checked) {
        // 点击选中
        //商品有无电子书
        const obj = {
          path: '*',
          queryType: 'SubProduct',
          sort: {
            type: 'Desc',
            field: 'CreateDate'
          },
          paging: {
            start: 0,
            size: 1
          },
          mainProductId: item.id,
          fields: {
            bookshelf_pdf: [],
            bookshelf_protectedEpub: [],
          }
        }
        const res = await app.MG.store.getProductList(obj)
        if (res.datas.length > 0) {
          if (!res.datas[0].bookshelf_pdf && !res.datas[0].bookshelf_protectedEpub) {
            wx.showToast({
              title: "暂无电子书文件,请联系管理员!",
              icon: 'none',
              duration: 1000,
            })
            return false;
          }
        } else {
          if (!item.pdf && !item.protectedEpub) {
            wx.showToast({
              title: "暂无电子书文件,请联系管理员!",
              icon: 'none',
              duration: 1000,
            })
            return false;
          }
        }
        //申请次数
        if (this.data.ebookCount == 0) {
          wx.showToast({
            title: "您的电子样书申请次数已用尽,若要继续,请联系管理员!",