litian
2024-04-03 b70e26c7be40ad4ccb971f3bbc0fbcb32fe82df1
packageBookService/pages/bookServices/detail/index.js
@@ -59,6 +59,8 @@
      residue: 0, // 组卷剩余次数
      mockList: [], // 用户组卷提交信息
    },
    relatedBookLoading: false,
    noRelatedBookData: false,
    relatedBookPath: "", // 相关图书path
    relatedBookData: [], // 相关图书列表
    flag: true,
@@ -143,27 +145,12 @@
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 检查登录状态
    // const token = wx.getStorageSync(app.config.tokenKey)
    // if (!token) {
    //   loginInfo(app, (data) => {
    //     // 如果不是第一次登录,会执行回调
    //     if (data) {
    //       // 登录成功,自动记录token和用户信息,并返回true
    //     } else {
    //       // 出现错误,返回false
    //     }
    //   })
    // } else {
    //   // 如果是第一次登录,会跳转至绑定用户信息页面,填写完用户信息后进行登录并储存token和用户信息,结束后跳转回当前页面(携带页面参数)
    // }
    const systInfo = wx.getSystemInfoSync();
    const menu = wx.getMenuButtonBoundingClientRect(); // 胶囊信息
    const navBarHeight =
      (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 导航栏高度
    this.setData({
      bookId: options.id,
      bookId: options.id + "",
      barHeight: systInfo.statusBarHeight,
      navBarHeight: navBarHeight,
    });
@@ -173,7 +160,6 @@
        name: options.name,
      },
    });
    this.getBookInfo(options.id);
    this.getResourceClass(); // 获取资源所属分类
    const token = wx.getStorageSync(app.config.tokenKey);
@@ -627,16 +613,12 @@
  onTabsChange(e) {
    this.setData({
      tabValue: e.detail.value,
      noResources: false,
    });
    if (
      e.detail.label == "教学资源" ||
      e.detail.label == "云学习" ||
      e.detail.label == "云测试"
    ) {
      const checkData = this.data.cmsDatas.find(
        (item) => item.refCode == e.detail.value
      );
      noResources: false
    })
    if (e.detail.label == '教学资源' || e.detail.label == '云学习' || e.detail.label == '云测试') {
      const checkData = this.data.cmsDatas.find(item => item.refCode == e.detail.value)
      if (checkData) {
        if (e.detail.value == "jsek_cloudLearning") {
          this.setData({
@@ -749,8 +731,8 @@
                openTeachids: result,
              });
            } else if (type.refCode == "jsek_cloudLearning") {
              let arr = this.handleTreeData(list).filter((item) =>
                this.resourceIsBuy(item)
              let arr = this.handleTreeData(list).filter(
                (item) => item.saleMethod[0]
              );
              let freeIds = arr.filter((item) => {
                return item.saleMethod[0].Price == 0;
@@ -759,7 +741,6 @@
                this.setData({
                  isshowDrawBtn: false,
                });
              debugger;
              this.findChildIds(list, result);
              this.setData({
                learn: list,
@@ -953,8 +934,7 @@
        remarks: "电子书",
        requests: [{
          saleMethodId: this.data.bookItemDetail.defaultSaleMethodId ?
            this.data.bookItemDetail.defaultSaleMethodId :
            this.data.bookDetail.defaultSaleMethodId,
            this.data.bookItemDetail.defaultSaleMethodId : this.data.bookDetail.defaultSaleMethodId,
          count: 1,
        }, ],
      };
@@ -1318,6 +1298,19 @@
      return false;
    }
  },
  updateShoppingCartHidden() {
    const isSHow = this.data.shoppingCartGetId.some((item) => item == data.saleMethod[0].Id)
    console.log(isSHow);
    return !isSHow
  },
  updateCloudLearning() {
    const checkData = this.data.cmsDatas.find(item => item.refCode == 'jsek_cloudLearning')
    this.getResourceData(checkData)
    debugger
    console.log(55555);
  },
  // 遍历树结构转换为数组方法
  handleTreeData(array) {
    const flattenedArray = [];
@@ -1601,7 +1594,10 @@
  },
  // 获取相关图书
  getAboutBook(path) {
    // loadings.value.aboutBook = true
    this.setData({
      relatedBookLoading: true,
      noRelatedBookData: false,
    });
    let query = {
      path,
      queryType: "*",
@@ -1623,24 +1619,37 @@
        (item) => item.id != this.data.bookDetail.id
      );
      let bookArr = [];
      if (Arr.length) {
        if (Arr.length > 3) {
          for (var i = 0; i < 3; i++) {
            var _num = Math.floor(Math.random() * Arr.length);
            var mm = Arr[_num];
            Arr.splice(_num, 1);
            bookArr.push(mm);
          }
        } else {
          bookArr = Arr;
        }
      // if (Arr.length > 3) {
      //   for (var i = 0; i < 3; i++) {
      //     var _num = Math.floor(Math.random() * Arr.length);
      //     var mm = Arr[_num];
      //     Arr.splice(_num, 1);
      //     bookArr.push(mm);
      //   }
      // } else {
      //   bookArr = Arr;
      // }
      this.setData({
        relatedBookData: Arr,
        relatedBookLoading: false,
      });
      if (!this.data.relatedBookData.length)
        this.setData({
          relatedBookData: bookArr,
          noRelatedBookData: true,
        });
        console.log("相关图书", this.data.relatedBookData);
      }
      console.log("相关图书", this.data.relatedBookData);
    });
    // loadings.value.aboutBook = false
  },
  goBookDetails(e) {
    console.log(e);
    this.setData({
      tabValue: "brief",
      pageLoading: true,
    });
    this.onLoad({
      id: e.detail.id,
      name: e.detail.name
    });
  },
  // 底部购买按钮
  buyBtn() {
@@ -1776,24 +1785,27 @@
  //申请电子样书
  appplyElectronicBook() {
    console.log(this.data.bookDetail)
    if (this.data.bookDetail.isApplyBook == 2 || this.data.bookDetail.isApplyBook == 4) {
      let role = this.data.userInfo != null ? this.data.userInfo.role : null
      if (role && role == 'Teacher') {
    console.log(this.data.bookDetail);
    if (
      this.data.bookDetail.isApplyBook == 2 ||
      this.data.bookDetail.isApplyBook == 4
    ) {
      let role = this.data.userInfo != null ? this.data.userInfo.role : null;
      if (role && role == "Teacher") {
        if (!this.data.noFile) {
          wx.showToast({
            title: "暂无电子书文件,请联系管理员!",
            icon: 'none',
            icon: "none",
            duration: 1000,
          })
          return
          });
          return;
        }
        if (this.data.ebookCount == 0) {
          wx.showToast({
            title: "您的电子样书申请次数已用尽,若要继续,请联系管理员!",
            icon: "none",
            duration: 1000,
          })
          });
          return false;
        }
        if (this.data.electronicBookList.length >= 2) {
@@ -1801,40 +1813,44 @@
            title: "每次最多只可申请2本样书",
            icon: "none",
            duration: 1000,
          })
          });
          return false;
        }
        let isHas = this.data.electronicBookList.find((eitem) => eitem.id == this.data.bookDetail.id)
        let isHas = this.data.electronicBookList.find(
          (eitem) => eitem.id == this.data.bookDetail.id
        );
        if (isHas) {
          wx.showToast({
            title: "该书已在清单列表中",
            icon: "none",
            duration: 1000,
          })
          });
          return false;
        }
        let isApply = this.data.alreadyElectronicBookList.find((eitem) => eitem.id == this.data.bookDetail.id)
        let isApply = this.data.alreadyElectronicBookList.find(
          (eitem) => eitem.id == this.data.bookDetail.id
        );
        if (isApply) {
          wx.showToast({
            title: "该书已申请!",
            icon: "none",
            duration: 1000,
          })
          });
          return false;
        }
        this.addBookFun(this.data.bookDetail, "eBook")
        this.addBookFun(this.data.bookDetail, "eBook");
      } else {
        wx.showModal({
          title: '尊敬的用户,您好!', //提示的标题
          content: '请先进行教师认证?', //提示的内容
          title: "尊敬的用户,您好!", //提示的标题
          content: "请先进行教师认证?", //提示的内容
          success: function (res) {
            if (res.confirm) {
              wx.navigateTo({
                url: "/packageDomain/pages/teacherCertification/index",
              });
            } else if (res.cancel) {}
          }
        })
          },
        });
      }
    } else {
      wx.showToast({
@@ -1846,16 +1862,19 @@
  },
  //申请纸质样书
  appplyPaperBook() {
    if (this.data.bookDetail.isApplyBook == 3 || this.data.bookDetail.isApplyBook == 4) {
      let role = this.data.userInfo != null ? this.data.userInfo.role : null
      if (role && role == 'Teacher') {
    if (
      this.data.bookDetail.isApplyBook == 3 ||
      this.data.bookDetail.isApplyBook == 4
    ) {
      let role = this.data.userInfo != null ? this.data.userInfo.role : null;
      if (role && role == "Teacher") {
        // 点击选中
        if (this.data.paperBookCount == 0) {
          wx.showToast({
            title: "您的纸质样书申请次数已用尽,若要继续,请联系管理员!",
            icon: "none",
            duration: 1000,
          })
          });
          return false;
        }
        if (this.data.paperBookList.length >= 2) {
@@ -1863,40 +1882,44 @@
            title: "每次最多只可申请2本样书",
            icon: "none",
            duration: 1000,
          })
          });
          return false;
        }
        let isHas = this.data.paperBookList.find((pitem) => pitem.id == this.data.bookDetail.id)
        let isHas = this.data.paperBookList.find(
          (pitem) => pitem.id == this.data.bookDetail.id
        );
        if (isHas) {
          wx.showToast({
            title: "该书已在清单列表中",
            icon: "none",
            duration: 1000,
          })
          });
          return false;
        }
        let isApply = this.data.alreadyPaperBookList.find((pitem) => pitem.id == this.data.bookDetail.id)
        let isApply = this.data.alreadyPaperBookList.find(
          (pitem) => pitem.id == this.data.bookDetail.id
        );
        if (isApply) {
          wx.showToast({
            title: "该书已申请!",
            icon: "none",
            duration: 1000,
          })
          });
          return false;
        }
        this.addBookFun(this.data.bookDetail, "pBook")
        this.addBookFun(this.data.bookDetail, "pBook");
      } else {
        wx.showModal({
          title: '尊敬的用户,您好!', //提示的标题
          content: '请先进行教师认证?', //提示的内容
          title: "尊敬的用户,您好!", //提示的标题
          content: "请先进行教师认证?", //提示的内容
          success: function (res) {
            if (res.confirm) {
              wx.navigateTo({
                url: "/packageDomain/pages/teacherCertification/index",
              });
            } else if (res.cancel) {}
          }
        })
          },
        });
      }
    } else {
      wx.showToast({