111
QYF-GitLab1
2025-01-03 2ee8ddb1ecac7df4198e54e08ec7f22daf4b07c0
packageBookService/pages/bookServices/detail/index.js
@@ -7,6 +7,7 @@
} from "../../../../assets/js/login";
import FormData from '../../../../utils/formdata/index.js';
const app = getApp();
var pastData = require('../../psychologyAnswer/testdata/index')
Page({
  /**
   * 页面的初始数据
@@ -74,6 +75,9 @@
      residue: 0, // 组卷剩余次数
      mockList: [], // 用户组卷提交信息
    },
    isBuyBank: false, // 题库是否购买
    isShoppingBank: false, // 题库是否加入购物车
    bankSaleData: null,
    relatedBookLoading: false,
    noRelatedBookData: false,
    relatedBookPath: "", // 相关图书path
@@ -209,7 +213,9 @@
    isShowUp: true,
    protocolShow: false,
    protocolTxt: '',
    learnMenu: null
    learnMenu: null,
    md5List: [],
    editDialog: false
  },
  resetTree: function (e) {
@@ -266,15 +272,13 @@
      this.setData({
        tabValue: options.tabValue,
      });
    }
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
  onShow(options) {
    if (wx.getStorageSync("paperBookList")) {
      this.setData({
        paperBookList: JSON.parse(wx.getStorageSync("paperBookList")),
@@ -288,6 +292,9 @@
    this.setData({
      num: Number(this.data.paperBookList.length) + Number(this.data.electronicBookList.length),
    });
    if (this.data.bookDetail.id) {
      this.getBookInfo(this.data.bookDetail.id)
    }
  },
  /**
@@ -425,10 +432,14 @@
        protectedEpub: [],
        probationPage: [], //pdf试读页数
        freeEpubPage: [], //epub试读百分比
        bookEditor: [], //图书编辑
        contactInformation: [], //联系方式
      },
    };
    app.MG.store.getProductDetail(query).then(async (res) => {
      this.getResourceCode(id, res.datas.rootCmsItemId)
      res.datas.bookEditor = res.datas.bookEditor ? res.datas.bookEditor : '-'
      res.datas.contactInformation = res.datas.contactInformation ? res.datas.contactInformation : '-'
      this.setData({
        bookDetail: res.datas,
        buyIdList: res.datas.purchasedSaleMethodIdList,
@@ -462,6 +473,16 @@
          }
          await this.getBookClass(classData);
        }
      }
      // 扫码从题库跳转回图书详情
      const localData = wx.getStorageSync('tabValue')
      if (localData) {
        this.setData({
          tabValue: localData
        })
        wx.removeStorage({
          key: 'tabValue',
        })
      }
      if (this.data.tabValue == 'questionBank' || this.data.tabValue == 'jsek_cloudLearning' || this.data.tabValue == 'jsek_teachingResources') {
        const checkData = this.data.cmsDatas.find(
@@ -500,13 +521,12 @@
        }
      }
      this.setData({
        "bookDetail.publicationDate": moment(this.data.bookDetail.publicationDate).format("YYYY年MM月"),
        "bookDetail.publicationDate": this.data.bookDetail.publicationDate ? moment(this.data.bookDetail.publicationDate).format("YYYY年MM月") : '',
        "bookDetail.price": this.numFormat(this.data.bookDetail.price),
        "bookDetail.oldPrice": this.numFormat(this.data.bookDetail.oldPrice),
        "bookDetail.paperPrice": this.numFormat(
          this.data.bookDetail.paperPrice
        ),
      });
    });
  },
@@ -525,9 +545,26 @@
      }
    }
    app.MG.store.getProductDetail(query).then((res) => {
      let isBuyBank = true
      let isShoppingBank = true
      let bankSaleData = null
      // 判断题库是否整体购买
      const bank = res.datas.cmsDatas[0].datas.find((item) => item.refCode == 'questionBank')
      if (bank) {
        if (bank.saleMethod.length) {
          bankSaleData = bank.saleMethod.find((item) => item.SaleType == 'Normal')
          if (bankSaleData) {
            isBuyBank = this.data.buyIdList.includes(bankSaleData.Id)
            isShoppingBank = this.data.buyIdList.includes(bankSaleData.Id) ? true : this.data.shoppingCartGetId.includes(bankSaleData.Id)
          }
        }
      }
      this.setData({
        resourceCodeList: res.datas.cmsDatas[0].datas,
        learnTaskData: res.datas.cmsDatas[0].datas.filter((item) => item.refCode == 'jsek_learningTasks')[0]
        learnTaskData: res.datas.cmsDatas[0].datas.filter((item) => item.refCode == 'jsek_learningTasks')[0],
        isBuyBank,
        isShoppingBank,
        bankSaleData
      })
      if (res.datas.cmsDatas[0].datas.length) this.setData({
        learnMenu: res.datas.cmsDatas[0].datas.find(item => item.refCode == 'jsek_cloudLearning')
@@ -722,6 +759,14 @@
      }
    }
  },
  // 联系
  editPhone() {
    this.setData({
      editDialog: true
    })
  },
  // 我要建议
  suggestBtn() {
    // 检查登录状态
@@ -875,7 +920,7 @@
        }
        // newArr.push(item)
        // 在插入过程中对数据进行排序
        newArr = this.insertAndSortObjectsByProductLinkPath(newArr, item)
        newArr = this.insertAndSortObjectsById(newArr, item)
        // 插进数组后 从原数据中删除
        rootList = rootList.filter(nitem => nitem.id != item.id)
      }
@@ -907,8 +952,8 @@
    return tree
  },
  // 排序数组 按照productLinkPath
  insertAndSortObjectsByProductLinkPath(array, newObj) {
  // 排序数组 按照id
  insertAndSortObjectsById(array, newObj) {
    // 查找新对象应该插入的位置  
    let insertIndex = array.findIndex(obj => newObj.id < obj.id);
    // 如果没有找到合适的位置,则放在数组末尾  
@@ -977,12 +1022,13 @@
      },
    }
    app.MG.store.getProductDetailNoChildren(query).then((res) => {
      if (!res.datas.cmsDatas[0].datas.length) {
      if (!res.datas.cmsDatas[0].datas.length || res.datas.cmsDatas[0].datas.length == 0) {
        return this.setData({
          noResources: true,
          loading: false,
        });
      }
      let list = []
      // 判断云学习有无销售方式和有效期
      const cloundSaleMethod =
@@ -994,8 +1040,19 @@
        cloundSaleMethod &&
        new Date().getTime() <= new Date(cloundSaleMethod.EndDate).getTime() &&
        new Date().getTime() >= new Date(cloundSaleMethod.BeginDate).getTime()
      let md5s = []
      res.datas.cmsDatas[0].datas.forEach((item) => {
        // 云学习上有销售方式,去掉云学习下所有销售方式
        if (this.data.tabValue == "jsek_teachingResources") {
          if (item.file || item.freeFile) {
            let md5 = item.file ? item.file : item.freeFile
            md5s.push(md5)
          }
          this.setData({
            md5List: md5s,
          });
        }
        if (flags) item.saleMethod = []
        item.checked = false;
        if (item.sysType == 'CmsItem') {
@@ -1129,17 +1186,22 @@
            }
          } else {
            if (isTSFW.length > 0) {
              data = res.datas.cmsDatas[0].datas.filter((item) => item.type == 'questionBankFolder' && item.childrenFolderCount > 0)
              data = res.datas.cmsDatas[0].datas.filter((item) => item.type == 'questionBankFolder' && item.refCode != 'jsek_interaction' && (item.childrenFolderCount > 0 || item.childrenCount > 0) && (item.name !== '填空题' &&
                item.name !== '判断题' &&
                item.name !== '多选题' &&
                item.name !== '简答题') && item.name !== '单选题')
              that.setData({
                jslx: false,
              });
            } else {
              data = res.datas.cmsDatas[0].datas.filter((item) => item.type == 'questionBankFolder')
              // && item.refCode != 'jsek_interaction'
              that.setData({
                jslx: true,
              });
            }
            if (data.length > 0) {
              console.log('data', data);
              let list = []
              that.getTreeList(data, list, query.cmsPath)
              list = that.ensureTreeConsistency(list)
@@ -1149,6 +1211,20 @@
                loading: false,
                openTeachids: result,
              });
              //Json赋值
              // const bookId = that.data.bookId
              // if (bookId == 6619) {
              //   const jsonData = {}
              //   jsonData.name = "心理测评"
              //   jsonData.children = [...pastData.postData.list]
              //   var test = that.data.test;
              //   test.push(jsonData);
              //   that.setData({
              //     test: test,
              //   });
              //   console.log(that.data.test, "教学互动");
              // }
            } else {
              that.setData({
                noResources: true,
@@ -1845,7 +1921,6 @@
  // 云学习全部购买
  async buyCloudLearnClass() {
    const cloundMenu = this.data.resourceCodeList.find((item) => item.refCode == 'jsek_cloudLearning')
    debugger
    let query = {
      remarks: '云学习',
      requests: [{
@@ -1893,6 +1968,59 @@
  },
  handleTrue() {
    // findAndUpdateItemsByIds(this.date.)
  },
  // 题库购买
  async buyBank() {
    let query = {
      remarks: '云测试',
      requests: [{
        saleMethodId: this.data.bankSaleData.Id,
        count: 1
      }]
    }
    const initOrderRes = await app.MG.store.initOrder(query)
    if (this.data.bankSaleData.Price) {
      // 购买
      const url = "/pages/cart/paymentPage/index?orderNumber=" + initOrderRes.orderNumber + '&onNorderSaleMethod=' + initOrderRes.saleMethodLinks[0].orderSaleMethod.id;
      wx.navigateTo({
        url,
      });
    } else {
      // 免费领取
      app.MG.store
        .confirmOrder({
          orderNum: initOrderRes.orderNumber,
        })
        .then((res) => {
          if (res) {
            wx.showToast({
              title: "领取成功",
              icon: "none",
              duration: 1000,
            });
            this.getBookInfo(this.data.bookDetail.id);
          }
        });
    }
  },
  // 题库加入购物车
  handleShoppingBank() {
    let query = {
      requests: [{
        saleMethodId: this.data.bankSaleData.Id,
        storeEventId: null,
        agentCode: "云测试",
      }, ],
    };
    app.MG.store.addShoppingCart(query).then(res => {
      wx.showToast({
        icon: 'success',
        title: '加入成功',
      })
      this.getShoppingCartProductGet();
      this.getBookInfo(this.data.bookDetail.id)
    })
  },
  // 组卷格式化日期显示
  DateFormat(date, fmt) {
@@ -2809,8 +2937,8 @@
    }
    app.MG.ugc.newTopicMessage(query).then((res) => {
      wx.showToast({
        icon: "error",
        title: "请上传资源文件",
        icon: "success",
        title: "上传成功",
      });
      this.closeDialog()
    })