litian
2024-07-11 57ba8e29b5cfdd3fc5b0b9b631a26ff095d1ac5d
pages/digitalTextbooks/digitalTextbooksDetails/index.js
@@ -3,6 +3,9 @@
import {
  loginInfo
} from '../../../assets/js/login';
import {
  worksDataBytool
} from "../../../assets/js/toolClass.js";
const app = getApp()
Page({
@@ -10,15 +13,10 @@
   * 页面的初始数据
   */
  data: {
    type: 'basicInformation',
    digitalTextId: '',
    digitalsData: {},
    richStyle: 'font-size: 28rpx;color: #333; line-height: 48rpx;text-align: justify;margin: 20rpx; ',
    expire: false, //商品或子商品销售方式是否过期
    tabValue: "brief",
    relatedBookData: [],
    publicationDate: '',
@@ -61,7 +59,13 @@
    catalogueClickIcon: {
      name: "/static/images/digitalTextbooks/mulu-t-click@3x.png",
    },
    userInfo: {
      fullName: '' //名称
    },
    worksInfo: [],
    isCertificate: {},
    isLearn: false,
    isTest: false,
  },
  /**
@@ -73,6 +77,8 @@
      digitalTextId: options.id
    })
    this.digitalTextbooksDetailsGet(this.data.digitalTextId)
    this.getType()
    this.getCertificateList()
  },
  // 格式化日期
  // 格式化日期
@@ -208,14 +214,10 @@
      }
    }
    app.MG.store.getProductDetail(query).then(res => {
      // console.log(res);
      if (res.datas.purchasedSaleMethodIdList.includes(res.datas.defaultSaleMethodId)) {
        this.setData({
          isBuy: true
        })
      } else {
        this.setData({
          isBuy: false
@@ -233,13 +235,22 @@
      this.setData({
        digitalsData: res.datas
      })
      let times = new Date(res.datas.defaultSaleMethod.endDate).getTime()
      let startTime = new Date(res.datas.defaultSaleMethod.beginDate).getTime()
      if (times < new Date().getTime() || new Date().getTime() < startTime) {
        this.setData({
          expire: true
        })
      } else {
        this.setData({
          expire: res.false
        })
      }
      wx.setNavigationBarTitle({
        title: res.datas.name,
      })
      this.getAboutBook(res.datas.productLinkInfo[res.datas.productLinkInfo.length - 1].LinkPath)
      console.log(this.data.isBuy);
      this.setData({
        loading: false,
@@ -251,21 +262,16 @@
    })
  },
  onTabsChange(event) {
    this.setData({
      tabValue: event.detail.value,
    })
    console.log(this.data.tabValue);
  },
  onTabsClick(event) {
    // console.log(`Click tab, tab-panel value is ${event.detail.value}.`);
  },
  // 获取相关教材
  getAboutBook(path) {
    let query = {
@@ -299,7 +305,6 @@
        } else {
          bookArr = Arr
        }
        bookArr.forEach(item => {
          if (item.icon == '') {
            item.icon = '/static/images/default-book-img.png'
@@ -317,10 +322,7 @@
    })
  },
  onCorrelationBook(e) {
    const item = e.currentTarget.dataset.item
    console.log(item);
    // const event = {
    //   detail: {
    //     value: "brief"
@@ -331,9 +333,6 @@
    this.onLoad({
      id: item.id
    })
  },
  // 图书添加购物车
  async addBookShopcCar() {
@@ -391,7 +390,6 @@
  //购买按钮
  async buyBtn() {
    if (!this.data.expire) {
      let bookOrdersId = "";
@@ -446,7 +444,6 @@
  // console.log(item, app.config.textReaderUrl);
  // console.log(token);
  goRead() {
    // 首页测试登录功能,后续注释
    // 检查登录状态
    const token = wx.getStorageSync(app.config.tokenKey)
@@ -455,7 +452,6 @@
        // 如果不是第一次登录,会执行回调
        if (data) {
          // 登录成功,自动记录token和用户信息,并返回true
          const item = this.data.digitalsData
          wx.navigateTo({
            url: '/pages/digitalTextbooks/digitalTextbooksDetails/components/webView/index?refCode=' + item.refCode + "&tryPageCount=" + item.probationPage
@@ -591,7 +587,7 @@
            app.MG.store
              .delProductLink({
                productIds: [this.data.digitalsData.id],
                linkType: 'FavoriteBookCity'
                linkType: 'FavoriteTextBooks'
              })
              .then(() => {
                this.setData({
@@ -601,7 +597,7 @@
          } else {
            let params = {
              productIds: [this.data.digitalsData.id],
              linkType: 'FavoriteBookCity'
              linkType: 'FavoriteTextBooks'
            }
            app.MG.store.addProductLink(params).then((res) => {
              this.setData({
@@ -618,7 +614,7 @@
        app.MG.store
          .delProductLink({
            productIds: [this.data.digitalsData.id],
            linkType: 'FavoriteBookCity'
            linkType: 'FavoriteTextBooks'
          })
          .then(() => {
            this.setData({
@@ -628,7 +624,7 @@
      } else {
        let params = {
          productIds: [this.data.digitalsData.id],
          linkType: 'FavoriteBookCity'
          linkType: 'FavoriteTextBooks'
        }
        app.MG.store.addProductLink(params).then((res) => {
          this.setData({
@@ -653,4 +649,128 @@
    //   })
  },
  //申请证书
  //获取字段
  getType() {
    app.MG.resource.getCmsTypeByRefCode({
      refCodes: ['jsek_textbookCertificate']
    }).then((res) => {
      this.setData({
        worksInfo: res[0].cmsTypeLinks[0].children,
      })
    })
  },
  getCertificateList() {
    const data = {
      start: 0,
      size: 9999,
      topicIdOrRefCode: 'applyTextbookCertificate',
      appRefCode: app.config.appRefCode,
      sort: {
        type: 'Desc',
        field: 'CreateDate'
      }
    }
    app.MG.ugc.getTopicMessageList(data).then((res) => {
      res.datas.map((item) => {
        item.content = JSON.parse(item.content)
        if (item.content.id == this.data.digitalsData.id) {
          this.setData({
            isCertificate: item
          })
        }
      })
    })
  },
  onCertificate() {
    if (!this.data.isBuy) {
      wx.showToast({
        title: "请先购买,体验完整服务",
        icon: "none",
        duration: 1000,
      });
      return false
    }
    if (!this.data.isLearn) {
      wx.showToast({
        title: "您的学习任务还未完成,暂不能申请证书,加油哦!",
        icon: "none",
        duration: 1000,
      });
      return false
    }
    if (this.data.isCertificate && this.data.isCertificate.state == 'WaitAudit') {
      wx.showToast({
        title: "您申请的证书正在审核中",
        icon: "none",
        duration: 1000,
      });
      return false
    }
    var page = getCurrentPages().pop(); // 获取当前页面实例
    page.setData({
      // 动态设置禁止滚动的样式
      disableScrollStyle: 'overflow: hidden;'
    });
    this.setData({
      dialogBox: true,
      scrollJudge: ''
    })
  },
  closeDialog() {
    this.setData({
      dialogBox: false,
      scrollJudge: true
    })
  },
  //姓名
  onFullNameInput(e) {
    this.setData({
      "userInfo.fullName": e.detail.value,
    });
  },
  confirmM() {
    if (this.data.userInfo.fullName) {
      let data = {}
      data = {
        topicIdOrRefCode: 'applyTextbookCertificate',
        name: this.data.userInfo.fullName,
        content: JSON.stringify(this.data.digitalsData),
        state: 'WaitAudit',
        cmsTypeRefCode: 'jsek_textbookCertificate',
        type: 'applyTextbook',
        newDataListRequest: worksDataBytool(this.data.worksInfo, this.data.userInfo)
      }
      app.MG.ugc
        .newTopicMessage(data)
        .then((res) => {
          wx.showToast({
            title: "已提交申请",
            icon: "none",
            duration: 1000,
          });
          this.setData({
            "userInfo.fullName": "",
            dialogBox: false,
            scrollJudge: true
          })
          this.getCertificateList()
        })
        .catch(() => {
          this.setData({
            "userInfo.fullName": "",
          })
        })
    } else {
      wx.showToast({
        title: "姓名不能为空",
        icon: "none",
        duration: 1000,
      });
    }
  },
})