Преглед на файлове

购物车优化价格显示

xiaohaizhao преди 2 години
родител
ревизия
bbd8993765

+ 31 - 6
packageA/shopping/modules/standard/index.js

@@ -1,5 +1,11 @@
-const _Http = getApp().globalData.http;
+const _Http = getApp().globalData.http,
+  currency = require("../../../../utils/currency"),
+  CNY = sum => currency(sum, {
+    symbol: "¥",
+    precision: 2
+  }).format();
 let downCount = {};
+
 Component({
   options: {
     addGlobalClass: true,
@@ -14,7 +20,6 @@ Component({
     sa_brandid: null, //当前选中品牌id
     classList: [], //生成订单时所选
     sum: 0, //价格合
-    yfsum: 0, //运费合
   },
   methods: {
     /* 获取列表 */
@@ -37,7 +42,10 @@ Component({
           icon: "none"
         })
         this.setData({
-          list: res.data,
+          list: res.data.map(v => {
+            v.showPrice = CNY(v.oldprice)
+            return v
+          }),
           isGet: true
         });
 
@@ -126,7 +134,6 @@ Component({
     computeSum() {
       let results = this.data.results,
         sum = 0,
-        yfsum = 0,
         deteleList = [],
         classList = [];
       if (results.length) results.forEach((v, i) => {
@@ -161,11 +168,29 @@ Component({
         sa_brandid
       })
       this.setData({
-        sum:(sum).toFixed(2) - 0,
-        yfsum,
+        sum: CNY(sum),
         results,
         sa_brandid,
         classList
+      });
+      this.setLogisticsMsg(sum)
+    },
+    /* 免运费信息 */
+    setLogisticsMsg(sum) {
+      let logistics = null,
+        figure = this.data.figure;
+      if (figure == -1) {
+        logistics = '到付'
+      } else if (figure == 0) {
+        logistics = '预付'
+      } else {
+        logistics = sum >= figure ? '免运费' : '差' + currency(currency(figure).subtract(sum).value, {
+          symbol: "",
+          precision: 2
+        }).format() + '元免运费';
+      }
+      this.setData({
+        logistics
       })
     },
     /* 删除产品 */

+ 3 - 3
packageA/shopping/modules/standard/index.wxml

@@ -16,7 +16,7 @@
 			<view class="exp">型号:{{item.model}}</view>
 			<view class="exp">品牌:{{item.brandname}}</view>
 			<view class="exp">领域:{{item.tradefield_shoppingcart}}</view>
-			<view class="exp"><text style="font-size: 24rpx;font-weight: 600;color: #FF3B30;">¥{{item.oldprice}}</text></view><!-- /<text style="font-size: 20rpx;">¥{{item.oldprice}}</text> -->
+			<view class="exp"><text style="font-size: 24rpx;font-weight: 600;color: #FF3B30;">{{item.showPrice}}</text></view><!-- /<text style="font-size: 20rpx;">¥{{item.oldprice}}</text> -->
 		</view>
 	</view>
 	<view class="bottom">
@@ -34,10 +34,10 @@
 <view class="footer">
 	<view class="left">
 		<view class="sum">
-			商品合计:<text>{{sum}}</text>
+			商品合计:<text>{{sum}}</text>
 		</view>
 		<view class="transport">
-			{{sum>=figure?'免运费':'差'+ gap.price(figure,sum)+'元免运费'}}
+			{{logistics}}
 		</view>
 	</view>
 	<picker wx:if="{{classList.length>=2}}" range='{{classList}}' range-key='name' disabled='{{!results.length}}' bindchange="submit">

+ 32 - 7
packageA/shopping/modules/tool/index.js

@@ -1,4 +1,9 @@
-const _Http = getApp().globalData.http;
+const _Http = getApp().globalData.http,
+  currency = require("../../../../utils/currency"),
+  CNY = sum => currency(sum, {
+    symbol: "¥",
+    precision: 2
+  }).format();
 let downCount = {};
 Component({
   options: {
@@ -14,7 +19,6 @@ Component({
     sa_brandid: null, //当前选中品牌id
     classList: [], //生成订单时所选
     sum: 0, //价格合
-    yfsum: 0, //运费合
   },
   methods: {
     /* 获取列表 */
@@ -37,7 +41,10 @@ Component({
           icon: "none"
         })
         this.setData({
-          list: res.data,
+          list: res.data.map(v => {
+            v.showPrice = CNY(v.oldprice)
+            return v
+          }),
           isGet: true
         });
 
@@ -49,6 +56,7 @@ Component({
         }
       })
     },
+
     clickBut(e) {
       this.data.classList.length >= 2 ? wx.showToast({
         title: '请选择订单领域(订单只允许同品牌/同领域的商品)',
@@ -126,7 +134,6 @@ Component({
     computeSum() {
       let results = this.data.results,
         sum = 0,
-        yfsum = 0,
         deteleList = [],
         classList = [];
       if (results.length) results.forEach((v, i) => {
@@ -161,19 +168,37 @@ Component({
         sa_brandid
       })
       this.setData({
-        sum:(sum).toFixed(2) - 0,
-        yfsum,
+        sum: CNY(sum),
         results,
         sa_brandid,
         classList
       })
+      this.setLogisticsMsg(sum)
+    },
+    /* 免运费信息 */
+    setLogisticsMsg(sum) {
+      let logistics = null,
+        figure = this.data.figure;
+      if (figure == -1) {
+        logistics = '到付'
+      } else if (figure == 0) {
+        logistics = '预付'
+      } else {
+        logistics = sum >= figure ? '免运费' : '差' + currency(currency(figure).subtract(sum).value, {
+          symbol: "",
+          precision: 2
+        }).format() + '元免运费';
+      }
+      this.setData({
+        logistics
+      })
     },
     /* 删除产品 */
     deteleItem(e) {
       const {
         item
       } = e.currentTarget.dataset,
-      that = this;
+        that = this;
       _Http.basic({
         "id": 20220924095202,
         "content": {

+ 3 - 3
packageA/shopping/modules/tool/index.wxml

@@ -16,7 +16,7 @@
             <view class="exp">型号:{{item.model}}</view>
             <view class="exp">品牌:{{item.brandname||" --"}}</view>
             <view class="exp">领域:<text wx:for="{{item.tradefield}}" wx:key="index" wx:for-item="it">{{it.tradefield}}</text></view>
-            <view class="exp"><text style="font-size: 24rpx;font-weight: 600;color: #FF3B30;">¥{{item.oldprice}}</text></view><!-- /<text style="font-size: 20rpx;">¥{{item.oldprice}}</text> -->
+            <view class="exp"><text style="font-size: 24rpx;font-weight: 600;color: #FF3B30;">{{item.showPrice}}</text></view><!-- /<text style="font-size: 20rpx;">¥{{item.oldprice}}</text> -->
         </view>
     </view>
     <view class="bottom">
@@ -35,10 +35,10 @@
 <view class="footer">
     <view class="left">
         <view class="sum">
-            工具合计:<text>{{sum}}</text>
+            工具合计:<text>{{sum}}</text>
         </view>
         <view class="transport">
-            {{sum>=figure?'免运费':'差'+gap.price(figure,sum)+'元免运费'}}
+            {{logistics}}
         </view>
     </view>
     <picker wx:if="{{classList.length>=2}}" range='{{classList}}' range-key='name' disabled='{{!results.length}}' bindchange="submit">