闫增涛
2024-12-20 55949f95a609733d1771d5b017d679cd7d1f005d
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,10 @@
Page({
  data: {
    price: '',
    loading: true,
    hidden: true,
    swipeOpened: false,
    onDisabled: false,
    imgUrl: [],
    shoppingCartData: [],
@@ -22,18 +25,23 @@
    start: 1,
    totalSize: '',
    isMore: null,
    bookId: '',
    bookName: ''
  },
  onLoad(options) {
    wx.setNavigationBarTitle({
      title: '购物车'
    });
    this.shoppingCartGet();
    console.log(this.data.shoppingCartData.length, 'this.data.shoppingCartData.length');
    this.setData({
      swipeOpened: true
    })
  },
  onShow() {
    this.setData({
      swipeOpened: false
    })
    if (typeof this.getTabBar === 'function' && this.getTabBar()) {
      this.getTabBar().setData({
        active: 3
@@ -45,8 +53,27 @@
      selectedCount: 0,
      checkAll: false,
    })
  },
  // 金额显示.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;
@@ -63,12 +90,7 @@
        selectedCount: 0,
        checkAll: false,
      })
    });
  },
  shoppingCartGet() {
@@ -79,37 +101,66 @@
      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,
          price: item.saleMethod.price.toFixed(2),
        })
        item.imgUrl = getPublicImage(item.productMonWithLinkDto.product.icon, '', '160');
        // this.setData({
        //   type: item.saleMethod.type == 'createProductItemSaleMethod' ? 'item' : 'product'
        // })
        const type = item.saleMethod.type == 'createProductItemSaleMethod' ? 'item' : 'product';
        item.type = type; // 将type设置为item对象的属性,而不是使用setData
        // debugger
        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.type = '云测试'
              item.productType = '图书服务-云测试'
            } else {
              item.typeTxt = '云学习'
              item.productType = "图书服务-云学习"
            }
          }
        }
        //
      });
      this.setData({
        shoppingCartData: res.datas
      });
      if (this.data.shoppingCartData.length === 0) {
        this.setData({
          onDisabled: true
        })
      } else {
        console.log(2222);
        this.setData({
          onDisabled: false
        })
      }
      setTimeout(() => {
        this.setData({
          loading: false,
          hidden: false,
        })
      }, 600)
    });
    wx.stopPullDownRefresh()
@@ -186,7 +237,9 @@
            let data = {
              linkIds: selectedIds
            }
            // '&onNorderSaleMethod=' +
            app.MG.store.shoppingCartCreateOrder(data).then(res => {
              const url = '/pages/cart/paymentPage/index?orderNumber=' + res.orderNumber
              wx.navigateTo({
                url
@@ -215,7 +268,8 @@
          linkIds: selectedIds
        }
        app.MG.store.shoppingCartCreateOrder(data).then(res => {
          const url = '/pages/cart/paymentPage/index?orderNumber=' + res.orderNumber
          console.log(res.saleMethodLinks[0].orderSaleMethod.id, 'ressss798');
          const url = '/pages/cart/paymentPage/index?orderNumber=' + res.orderNumber + '&onNorderSaleMethod=' + res.saleMethodLinks[0].orderSaleMethod.id
          wx.navigateTo({
            url
          });
@@ -262,7 +316,6 @@
  },
  // 下拉函数
  onPullDownRefresh() {
    this.setData({
      start: 1,
      checkAll: false,
@@ -272,5 +325,31 @@
    console.log(978);
    this.shoppingCartGet()
  },
  async onBook(e) {
    const item = e.currentTarget.dataset.item
    console.log(item);
    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
    })
  }
});