From 04c7b0163caeae4ab1c5da62e301fa993101cfad Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期一, 31 三月 2025 10:40:45 +0800
Subject: [PATCH] bug修改

---
 pages/cart/index.js |  286 ++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 253 insertions(+), 33 deletions(-)

diff --git a/pages/cart/index.js b/pages/cart/index.js
index 7e52034..4a4ceb1 100644
--- a/pages/cart/index.js
+++ b/pages/cart/index.js
@@ -1,29 +1,87 @@
 const app = getApp();
-// import { getPublicImage } from '@/assets/js/middleGround/tool.js'
-import { getPublicImage } from '../../assets/js/middleGround/tool';
+import {
+  loginInfo
+} from '../../assets/js/login';
+import {
+  getPublicImage
+} from '../../assets/js/middleGround/tool';
 import Toast from 'tdesign-miniprogram/toast/index';
+
 
 Page({
   data: {
+    price: '',
+    loading: true,
+    hidden: true,
+    swipeOpened: false,
+    onDisabled: false,
     imgUrl: [],
     shoppingCartData: [],
     checkAll: false,
     checkedList: [],
     selectedCount: 0,
     totalPrice: 0.00,
-    type: ''
+    type: '',
+    start: 1,
+    totalSize: '',
+    isMore: null,
+    bookId: '',
+    bookName: ''
   },
 
   onLoad(options) {
     wx.setNavigationBarTitle({
       title: '璐墿杞�'
     });
-    this.shoppingCartGet();
+    // this.shoppingCartGet();
+    this.setData({
+      swipeOpened: true
+    })
   },
   onShow() {
-    this.shoppingCartGet();
-    this.setData({ totalPrice: 0.00, selectedCount: 0, checkAll: false, })
+    loginInfo(app, (data) => {
+      if (data) {
+        this.shoppingCartGet();
+      } else {
+        wx.switchTab({
+          url: '/pages/home/home',
+        })
+      }
+    })
+    this.setData({
+      swipeOpened: false
+    })
+    if (typeof this.getTabBar === 'function' && this.getTabBar()) {
+      this.getTabBar().setData({
+        active: 3
+      })
+    }
+    this.setData({
+      totalPrice: 0.00,
+      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;
@@ -31,33 +89,89 @@
       ids: [item.id]
     }).then(res => {
       this.shoppingCartGet();
-      wx.showToast({ title: '浣犵偣鍑讳簡鍒犻櫎', icon: 'none' });
+      wx.showToast({
+        title: '鍒犻櫎鍥句功鎴愬姛',
+        icon: 'none'
+      });
+      this.setData({
+        totalPrice: 0.00,
+        selectedCount: 0,
+        checkAll: false,
+      })
     });
   },
 
   shoppingCartGet() {
     let query = {
       start: 0,
-      size: 999,
+      size: this.data.start * 4,
       filterList: [],
       searchList: []
     };
     app.MG.store.getShoppingCartProductList(query).then(res => {
-      console.log(res, 'res');
+      console.log(res.datas);
+      this.setData({
+        totalSize: res.totalSize
+      })
       res.datas.forEach(item => {
-        item.imgUrl = getPublicImage(item.productMonWithLinkDto.product.icon, '', '160');
-        console.log(item);
-        console.log(item.saleMethod.type, 'item.saleMethod.type')
         this.setData({
-          type: item.saleMethod.type == 'createProductItemSaleMethod' ? 'item' : 'product'
+          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; // 灏唗ype璁剧疆涓篿tem瀵硅薄鐨勫睘鎬э紝鑰屼笉鏄娇鐢╯etData
+        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({
         shoppingCartData: res.datas
       });
+      if (this.data.shoppingCartData.length === 0) {
+        this.setData({
+          onDisabled: true
+        })
+      } else {
+        this.setData({
+          onDisabled: false
+        })
+      }
+      setTimeout(() => {
+        this.setData({
+          loading: false,
+          hidden: false,
+        })
+      }, 600)
+
     });
+    wx.stopPullDownRefresh()
+
   },
 
   bottomChange(e) {
@@ -75,7 +189,9 @@
   },
 
   HandelItemChange(e) {
-    const { item } = e.target.dataset;
+    const {
+      item
+    } = e.target.dataset;
     const items = this.data.shoppingCartData
     items.map(eitem => {
       if (eitem.id == item.id) {
@@ -107,32 +223,136 @@
       totalPrice: totalPrice.toFixed(2)
     });
   },
+
   goPaymentPage() {
-    const selectedItems = this.data.shoppingCartData.filter(item => item.checked);
-    // console.log(selectedItems, 789);
-    const selectedIds = selectedItems.map(item => item.id);
-    console.log('閫変腑鐨勫晢鍝� id:', selectedIds);
-    if (selectedIds.length) {
-      app.MG.store.shoppingCartCreateOrder({ linkIds: selectedIds }).then(res => {
-        console.log(res, 456);
-        const url = '/pages/cart/paymentPage/index?orderNumber=' + res.orderNumber
-        wx.navigateTo({
-          url
-        });
+    // 棣栭〉娴嬭瘯鐧诲綍鍔熻兘锛屽悗缁敞閲�
+    // 妫�鏌ョ櫥褰曠姸鎬�
+    const token = wx.getStorageSync(app.config.tokenKey)
+    if (!token) {
+      loginInfo(app, (data) => {
+        // 濡傛灉涓嶆槸绗竴娆$櫥褰曪紝浼氭墽琛屽洖璋�
+        if (data) {
+          const selectedItems = this.data.shoppingCartData.filter(item => item.checked);
+          // console.log(selectedItems, 789);
+          const selectedIds = selectedItems.map(item => item.id);
+          console.log('閫変腑鐨勫晢鍝� id:', selectedIds);
+          if (selectedIds.length) {
+            let data = {
+              linkIds: selectedIds
+            }
+            // '&onNorderSaleMethod=' + 
+            app.MG.store.shoppingCartCreateOrder(data).then(res => {
+
+              const url = '/pages/cart/paymentPage/index?orderNumber=' + res.orderNumber
+              wx.navigateTo({
+                url
+              });
+            })
+          } else {
+            Toast({
+              context: this,
+              selector: '#t-toast',
+              message: '璇烽�夋嫨鍟嗗搧',
+              theme: 'warning',
+              direction: 'column',
+            });
+          }
+        } else {
+          // 鍑虹幇閿欒锛岃繑鍥瀎alse
+        }
       })
     } else {
-      Toast({
-        context: this,
-        selector: '#t-toast',
-        message: '璇烽�夋嫨鍟嗗搧',
-        theme: 'warning',
-        direction: 'column',
-      });
+      const selectedItems = this.data.shoppingCartData.filter(item => item.checked);
+      // console.log(selectedItems, 789);
+      const selectedIds = selectedItems.map(item => item.id);
+      console.log('閫変腑鐨勫晢鍝� id:', selectedIds);
+      if (selectedIds.length) {
+        let data = {
+          linkIds: selectedIds
+        }
+        app.MG.store.shoppingCartCreateOrder(data).then(res => {
+          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
+          });
+        })
+      } else {
+        Toast({
+          context: this,
+          selector: '#t-toast',
+          message: '璇烽�夋嫨鍟嗗搧',
+          theme: 'warning',
+          direction: 'column',
+        });
+      }
     }
+
+
+
   },
   onLogin() {
     wx.navigateTo({
       url: '/pages/testLogin/index'
     });
+  },
+
+
+  onScrollToLower() {
+    if (this.data.shoppingCartData.length < this.data.totalSize) {
+      this.setData({
+        isMore: true,
+        start: this.data.start + 1
+      })
+      this.shoppingCartGet()
+    } else {
+      this.setData({
+        isMore: true,
+      })
+      setTimeout(() => {
+        this.setData({
+          isMore: false
+        })
+        console.log('300');
+      }, 300)
+    }
+  },
+  // 涓嬫媺鍑芥暟
+  onPullDownRefresh() {
+    this.setData({
+      start: 1,
+      checkAll: false,
+      selectedCount: 0,
+      totalPrice: 0.00,
+    })
+    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
+    })
   }
-});
+});
\ No newline at end of file

--
Gitblit v1.9.1