闫增涛
2024-12-23 c5ee0e9d22473f3fd96f442724058dd297fec97c
pages/cart/index.js
@@ -1,5 +1,4 @@
const app = getApp();
// import { getPublicImage } from '@/assets/js/middleGround/tool.js'
import {
  loginInfo
} from '../../assets/js/login';
@@ -11,6 +10,9 @@
Page({
  data: {
    price: '',
    loading: true,
    hidden: true,
    swipeOpened: false,
    onDisabled: false,
    imgUrl: [],
@@ -32,7 +34,6 @@
      title: '购物车'
    });
    this.shoppingCartGet();
    this.setData({
      swipeOpened: true
    })
@@ -54,7 +55,26 @@
    })
  },
  // 金额显示.00格式
  numFormat(value) {
    if (!value) return "0.00";
    value = Number(value).toFixed(2);
    var intPart = Math.trunc(value); // 获取整数部分
    var intPartFormat = intPart
      .toString()
      .replace(/(\d)(?=(?:\d{3})+$)/g, "$1,"); // 将整数部分逢三一断
    var floatPart = ".00"; // 预定义小数部分
    var value2Array = value.split(".");
    // =2表示数据有小数位
    if (value2Array.length === 2) {
      floatPart = value2Array[1].toString(); // 拿到小数部分
      if (floatPart.length === 1) {
        return `${intPartFormat}.${floatPart}0`;
      }
      return `${intPartFormat}.${floatPart}`;
    }
    return intPartFormat + floatPart;
  },
  onDelete(e) {
    const item = e.currentTarget.dataset.item;
    app.MG.store.delShoppingCart({
@@ -81,14 +101,15 @@
      searchList: []
    };
    app.MG.store.getShoppingCartProductList(query).then(res => {
      console.log(res.datas);
      this.setData({
        totalSize: res.totalSize
      })
      res.datas.forEach(item => {
        this.setData({
          bookId: res.id,
          bookName: res.name
          bookName: res.name,
          price: item.saleMethod.price.toFixed(2),
        })
        item.imgUrl = getPublicImage(item.productMonWithLinkDto.product.icon, '', '160');
        // this.setData({
@@ -96,8 +117,29 @@
        // })
        const type = item.saleMethod.type == 'createProductItemSaleMethod' ? 'item' : 'product';
        item.type = type; // 将type设置为item对象的属性,而不是使用setData
        item.name = item.linkCmsItems[0].name ? item.productMonWithLinkDto.product.name + ':' + item.linkCmsItems[0].name : item.productMonWithLinkDto.product.name
        item.saleMethod.price = this.numFormat(item.saleMethod.price)
        if (item.productMonWithLinkDto.links[0].storeRefCode == 'jsek_digitalTextbooks') {
          item.typeTxt = '数字教材'
          item.productType = "数字教材"
        } else if (item.productMonWithLinkDto.links[0].storeRefCode == 'jsek_digitalCourses') {
          item.typeTxt = '数字课程'
          item.productType = "数字课程"
        } else {
          item.typeTxt = '电子书'
          item.productType = "图书服务-电子书"
          if (item.saleMethod.type == 'createProductItemSaleMethod' || item.saleMethod.type == 'createProductFolderSaleMethod') {
            if (item.linkCmsItems[0].refCode == 'questionBank') {
              item.typeTxt = '云测试'
              item.productType = '图书服务-云测试'
            } else {
              item.typeTxt = '云学习'
              item.productType = "图书服务-云学习"
            }
          }
        }
        //
      });
      this.setData({
@@ -112,6 +154,13 @@
          onDisabled: false
        })
      }
      setTimeout(() => {
        this.setData({
          loading: false,
          hidden: false,
        })
      }, 600)
    });
    wx.stopPullDownRefresh()
@@ -267,7 +316,6 @@
  },
  // 下拉函数
  onPullDownRefresh() {
    this.setData({
      start: 1,
      checkAll: false,
@@ -280,17 +328,28 @@
  async onBook(e) {
    const item = e.currentTarget.dataset.item
    console.log(item);
    let parentData = null;
    parentData = await app.MG.store.getProductBySaleMethod({
      'saleMethodId': item.saleMethod.id
    })
    console.log(parentData)
    let bookId = item.productMonWithLinkDto.product.id;
    if (parentData.parentProduct.length > 0) {
      bookId = parentData.parentProduct[parentData.parentProduct.length - 1].id;
    const type = item.productMonWithLinkDto.links[0].storeRefCode
    let url = ''
    if (type == 'jsek_digitalCourses') {
      // 课程
      url = '/pages/digitalCourses/digitalCoursesDetails/index?id=' + item.productMonWithLinkDto.product.id + '&path=' + ''
    } else if (type == 'jsek_digitalTextbooks') {
      // 数字教材
      url = '/pages/digitalTextbooks/digitalTextbooksDetails/index?id=' + item.productMonWithLinkDto.product.id
    } else {
      let parentData = null;
      parentData = await app.MG.store.getProductBySaleMethod({
        'saleMethodId': item.saleMethod.id
      })
      console.log(parentData)
      let bookId = item.productMonWithLinkDto.product.id;
      if (parentData.parentProduct.length > 0) {
        bookId = parentData.parentProduct[parentData.parentProduct.length - 1].id;
      }
      url = '/packageBookService/pages/bookServices/detail/index?id=' + bookId + '&name=' + item.productMonWithLinkDto.product.name
    }
    wx.navigateTo({
      url: '/packageBookService/pages/bookServices/detail/index?id=' + bookId + '&name=' + item.productMonWithLinkDto.product.name
      url
    })
  }
});