QYF-GitLab1
昨天 c3c07ebe21562b737cf80cb484df7d9174bf4901
packageBookService/pages/bookServices/detail/components/tree/index.js
@@ -59,6 +59,12 @@
    },
    isCloundHaveSaleMethod: {
      type: Boolean
    },
    activeId: {
      type: String
    },
    source: {
      type: String
    }
  },
  data: {
@@ -71,7 +77,27 @@
    canExecute: true,
    purchaseList: []
  },
  ready() {},
  ready() {
    var query = this.createSelectorQuery()
    const that = this
    try {
      if (this.data.activeId)
        setTimeout(() => {
          query.select('.cms-' + this.data.activeId).boundingClientRect(function (res) {
            if (res && res.top > 0) {
              var myEventDetail = {
                top: res.top
              };
              var myEventOption = {
                bubbles: true,
                composed: true,
              };
              that.triggerEvent("handleScrollTop", myEventDetail, myEventOption);
            }
          }).exec()
        }, 500)
    } catch (err) {}
  },
  onLoad() {},
  observers: {
    treeList: function (newValue) {
@@ -85,7 +111,6 @@
      const flag = list.findIndex((item) => item.checked == true);
    },
  },
  methods: {
    handleList(tree) {
      for (let index = 0; index < tree.length; index++) {
@@ -162,10 +187,41 @@
        return false;
      }
    },
    // 判断当前目标是否已购买
    async getCmsDataByQrcode(item) {
      let query = {
        path: '*',
        queryType: '*',
        productId: this.properties.bookInfo.id,
        itemId: item.id,
        itemFields: {
          // 资源类型,试读文件,是否允许下载等参数
          selectType: [],
          freeFile: [],
          file: [],
          protectedFile: [],
          resourcesClassification: [],
          isDownload: [],
          jsek_resourceBrief: [],
          jsek_link: [],
          jsek_questionBank: [],
          learnSelectType: []
        },
        pading: {
          start: 0,
          size: 999
        }
      }
      const data = await app.MG.store.getProductDetail(query)
      return data?.datas ?? []
    },
    // 跳转音视频播放器
    goPlayer(e) {
      // 检查登录状态
      const goPlayerFun = () => {
      const goPlayerFun = async () => {
        const item = e.currentTarget.dataset.item;
        const parent = e.currentTarget.dataset.parent;
        const parentProductLinkPath = parent ?
@@ -232,12 +288,16 @@
            title: '请先购买该资源',
          })
          if (item.protectedFile || item.freeFile) {
            const currentSaleMaths = await this.getCmsDataByQrcode(item)
            let file = item.fileMap[item.protectedFile] ? item.fileMap[item.protectedFile] : item.fileMap[item.freeFile]
            if (file && file.protectType !== "Public") {
              return wx.showToast({
                icon: 'none',
                title: "资源不可用,请联系管理员",
              });
              const isBuyData = currentSaleMaths.purchasedSaleMethodIdList?.includes(item.saleMethod[0]?.Id)
              if (!isBuyData) {
                return wx.showToast({
                  icon: 'error',
                  title: '请先购买该资源',
                });
              }
            }
          }
        }
@@ -256,18 +316,18 @@
        }
        wx.navigateTo({
          url: `${url}?productLinkPath=${item.productLinkPath}&parentProductLinkPath=${parentProductLinkPath}&parentName=${parentName}&activeId=${item.id}&bookId=${this.properties.bookInfo.id}&bookName=${this.properties.bookInfo.name}&cmsId=${this.properties.bookInfo.rootCmsItemId}&formPath=${this.properties.tab}&applyState=${this.properties.applyState}&deadline=${this.properties.deadline}`,
          // url: '/packageDomain/pages/resourceDetails/myVideo/index?formPath=jsek_cloudLearning&parentName=mingxing&cmsId=161796&productLinkPath=161796\\161798\\165396\\162299&activeId=162299&parentProductLinkPath=161798\\165396&source=qrcode&bookName=&bookId=7129'
        });
      }
      const token = wx.getStorageSync(app.config.tokenKey);
      if (!token && this.data.tab != 'jsek_teachingResources') {
        loginInfo(app, (data) => {
          if (data) goPlayerFun()
          if (data) {}
        })
      } else {
        goPlayerFun()
      }
    },
    // 拿到所有项
    getAllChildren(id) {
      let result = [];
@@ -312,7 +372,6 @@
      });
      return result;
    },
    // 变为true
    findAndUpdateItemsByIds(tree, ids, state) {
      function findAndUpdate(node) {
@@ -330,7 +389,6 @@
      }
      return tree; // 返回修改后的完整数组
    },
    // 全选
    checkAll() {
      wx.showLoading()
@@ -367,7 +425,6 @@
      this.triggerEvent("changeCheckAll", myEventDetail, myEventOption);
      wx.hideLoading()
    },
    // 章节勾选
    checkResourceTitle(e) {
      wx.showLoading()