Bladeren bron

代码修改

LiuShu_0203 3 weken geleden
bovenliggende
commit
31f9722831

+ 16 - 0
pages/groupbuying/groupbuying.js

@@ -133,6 +133,22 @@ Page({
   
     const collectList = data.records || [];
   
+     // 循环去查 groupbuy 表
+     for (let item of collectList) {
+      try {
+        const res = await models.wx_groupbuy_groupbuy.list({
+          filter: { where: { groupbuy_id: item._id } },
+          envType: "prod",
+        });
+        // 把查到的记录存入 specList,保证是数组
+        item.specList = res.data.records || [];
+      } catch (err) {
+        console.error(`获取 groupbuy 失败,商品ID: ${item._id}`, err);
+        item.specList = [];
+      }
+    }
+    console.log(collectList, '+++++++++++++++++++++++++++++');
+
     this.setData({
       goods: isLoadMore ? this.data.goods.concat(collectList) : collectList,
       pageNumber: pageNumber + 1,

+ 2 - 2
pages/groupbuying/groupbuying.wxml

@@ -23,10 +23,10 @@
             <view class="goods-info">
               <view class="goods-title">{{item.name}}</view>
               <view class="goods-price">
-                <text>¥{{item.price}}</text>
+                <text>¥{{item.specList[0].price ? item.specList[0].price : '暂无'}}</text>
                 <text class="goods-status">已拼 {{item.count}}件</text>
               </view>
-              <view class="original-price">¥{{item.old_price}}</view>
+              <view class="original-price">¥{{item.specList[0].old_price ? item.specList[0].old_price : '暂无'}}</view>
               <view class="gw_boxs">
                 <view class="gw_imgboxs">
                   <image style="width: 55rpx;height: 55rpx;padding-top: 6rpx;" src="{{gouwucimg}}" />

+ 18 - 2
pages/shoppingcart/shoppingcart.js

@@ -176,6 +176,22 @@ Page({
       const pattern = new RegExp(searchText, 'i'); // 不区分大小写
       newFiles = newFiles.filter(item => pattern.test(item.name));
       }
+
+      // 循环去查 groupbuy 表
+    for (let item of newFiles) {
+      try {
+        const res = await models.wx_groupbuy_groupbuy.list({
+          filter: { where: { groupbuy_id: item._id } },
+          envType: "prod",
+        });
+        // 把查到的记录存入 specList,保证是数组
+        item.specList = res.data.records || [];
+      } catch (err) {
+        console.error(`获取 groupbuy 失败,商品ID: ${item._id}`, err);
+        item.specList = [];
+      }
+    }
+    console.log(newFiles, '+++++++++++++++++++++++++++++');
   
       this.setData({
         cartItems: isLoadMore ? this.data.cartItems.concat(newFiles) : newFiles,
@@ -216,7 +232,7 @@ Page({
   updateTotalPrice() {
     const totalPrice = this.data.cartItems.reduce((total, item) => {
       if (item.checked) {
-        return total + item.price * item.num;
+        return total + item.specList[item.specs_index].price * item.num;
       }
       return total;
     }, 0);
@@ -249,7 +265,7 @@ Page({
     const { detail } = e;
 
     const cartItems = this.data.cartItems.map(item => {
-      if (item._id === id) {
+      if (item.download_history_id === id) {
         return { ...item, num: detail };
       }
       return item;

+ 3 - 3
pages/shoppingcart/shoppingcart.wxml

@@ -27,12 +27,12 @@
               <image class="cart-image" src="{{item.img}}" mode="aspectFill"></image>
               <view class="cart-info">
                 <view class="cart-title">{{item.name}}</view>
-                <view class="cart-description">{{item.specs[item.specs_index]}}</view>
+                <view class="cart-description">{{item.specList[item.specs_index].spec}}</view>
                 <view style="display: flex; justify-content: space-between; margin-top: 30rpx;">
-                  <view class="cart-price">¥{{item.price}}</view>
+                  <view class="cart-price">¥{{item.specList[item.specs_index].price}}</view>
                   <van-stepper
                     value="{{item.num}}"
-                    data-id="{{item._id}}"
+                    data-id="{{item.download_history_id}}"
                     bind:change="onChange"
                   />
                 </view>

+ 16 - 0
subpackages/order/order.js

@@ -181,6 +181,22 @@ Page({
           ...merch
         });
       }
+
+            // 循环去查 groupbuy 表
+    for (let item of mergedOrders) {
+      try {
+        const res = await models.wx_groupbuy_groupbuy.list({
+          filter: { where: { groupbuy_id: item._id } },
+          envType: "prod",
+        });
+        // 把查到的记录存入 specList,保证是数组
+        item.specList = res.data.records || [];
+      } catch (err) {
+        console.error(`获取 groupbuy 失败,商品ID: ${item._id}`, err);
+        item.specList = [];
+      }
+    }
+    console.log(mergedOrders, '+++++++++++++++++++++++++++++');
   
       // 第四步:更新数据
       this.setData({

+ 2 - 2
subpackages/order/order.wxml

@@ -34,8 +34,8 @@
               <view class="order-info">
                 <view class="order-title">{{item.name}}</view>
                 <view style="display: flex; justify-content: space-between;">
-                  <view class="order-description">简单描述</view>
-                  <view class="order-price">¥{{item.real_money}}</view>
+                  <view class="order-description">{{item.specList[item.specs_index].spec}}</view>
+                  <view class="order-price">¥{{item.specList[item.specs_index].price ? item.specList[item.specs_index].price : '暂无'}}</view>
                 </view>
                 <view class="order-description">数量: 购买数量这个到时候要看怎么获取</view>
               </view>

+ 1 - 0
subpackages/orderdetails/orderdetails.js

@@ -17,6 +17,7 @@ Page({
     const itemData = decodeURIComponent(options.data);
     // console.log(itemData, 'itemData');
     const item = JSON.parse(itemData);
+    console.log(item, 'item');
     this.setData({
       item: item
     }, () => {

+ 4 - 3
subpackages/orderdetails/orderdetails.wxml

@@ -21,15 +21,16 @@
       <view class="title">商品信息</view>
       <!-- 商品信息 -->
       <view class="product_info">
-        <image src="https://img1.baidu.com/it/u=2052658756,3021621759&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=500" alt="" class="product_image"/>
+        <!-- <image src="https://img1.baidu.com/it/u=2052658756,3021621759&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=500" alt="" class="product_image"/> -->
+        <image class="order-image" src="{{item.img}}" class="product_image" mode="aspectFill"></image>
         <view class="product_details">
           <view class="product_name">{{item.name}}</view>
           <view class="product_description">
-            暂无暂无暂无
+            {{item.specList[item.specs_index].spec}}
           </view>
           <view class="product_quantity">数量: 还不知道怎么获取 后续要加 套</view>
         </view>
-        <view class="product_price">¥{{item.price}}</view>
+        <view class="product_price">¥{{item.specList[item.specs_index].price ? item.specList[item.specs_index].price : '暂无'}}</view>
       </view>
       <view class="order_info">
         <view class="order_item">

+ 7 - 5
subpackages/productdetails/productdetails.js

@@ -82,11 +82,13 @@ Page({
     });
   },
 
-  // 规格选择
-  setspecs(e) {
-    const index = e.currentTarget.dataset.item;
+
+  // 点击切换规格
+  selectSpec(e) {
+    const specIndex = e.currentTarget.dataset.specindex;
+
     this.setData({
-      gaoliao: index
+      gaoliao: specIndex
     })
   },
 
@@ -109,7 +111,7 @@ Page({
         where: {
           user_id: { $eq: userId },
           merchandise_id: { $eq: this.data.item._id }, // 推荐传入_id数据标识进行操作
-          specs_index: { $eq: this.data.gaoliao }
+          specs_index: { $eq: this.data.gaoliao },
         }
       },
       envType: "prod",

+ 14 - 6
subpackages/productdetails/productdetails.wxml

@@ -3,7 +3,7 @@
     <!-- 商品图片 -->
     <view class="empty-space">
       <swiper style="width: 100%; height: 100%;" autoplay="true" interval="3000" circular>
-        <block wx:for="{{item.detail_images}}" wx:key="index">
+        <block wx:for="{{item.specList[gaoliao].detail_images}}" wx:key="index">
           <swiper-item>
             <image style="width: 100%; height: 100%;" src="{{item}}" mode="aspectFill"
             bindtap="previewImage" data-index="{{index}}" />
@@ -15,8 +15,8 @@
     <!-- 商品价格和浏览量 -->
     <view class="price-and-views">
       <view>
-        <text class="price">¥{{item.price}}</text>
-        <text class="original-price">¥{{item.old_price}}</text>
+        <text class="price">¥{{item.specList[gaoliao].price ? item.specList[gaoliao].price : '暂无'}}</text>
+        <text class="original-price">¥{{item.specList[gaoliao].old_price ? item.specList[gaoliao].old_price : '暂无'}}</text>
       </view>
       <view style="display: flex; align-content: center;">
         <image style="width: 30rpx; height: 30rpx;" src="{{showimg}}" />
@@ -30,8 +30,15 @@
     <!-- 选择规格 -->
     <view class="specifications">
       <text style="font-size: 38rpx;">选择规格</text>
-      <view class="specifications_boxs">
-        <button wx:for="{{item.specs}}" wx:key="index" class="spec-btn {{gaoliao === index ? 'active' : ''}}"  bindtap="setspecs" data-item="{{index}}">{{item}}</button>
+      <view wx:if="{{item.specList.length > 0}}" class="specifications_boxs">
+        <button wx:for="{{item.specList}}" wx:key="index" class="spec-btn {{gaoliao === index ? 'active' : ''}}"
+        bindtap="selectSpec"
+        data-specindex="{{index}}">
+          {{item.spec}}
+        </button>
+      </view>
+      <view wx:else class="specifications_boxs">
+        <text style="width: 100%; text-align: center; padding: 30rpx 0; color: #ccc;">暂无规格</text>
       </view>
     </view>
     
@@ -49,7 +56,8 @@
     <view class="product-details">
       <text style="font-size: 38rpx;">产品详情</text>
       <view class="details-list">
-        <text wx:for="{{item.details}}" wx:key="index">• {{item}}</text>
+        <!-- <text wx:for="{{item.details}}" wx:key="index">• {{item}}</text> -->
+        <text>{{item.specList[gaoliao].details}}</text>
       </view>
     </view>