Просмотр исходного кода

有价格商品也支持改价

shizhongqi 10 месяцев назад
Родитель
Сommit
1fc9a86e9b

+ 32 - 26
hdApp/src/admin/chat/chatPage.vue

@@ -43,13 +43,12 @@
                   <!-- <view class="sales-info">
                     <text class="delivery-time">48小时发</text>
                   </view> -->
-                  <text v-if="message.goodsInfo.goodsPriceType == 1 || message.goodsInfo.goodsPriceType == 2" class="goods-price"
-                    >¥{{ parseFloat(message.goodsInfo.goodsPrice).toFixed(2) }}</text
-                  >
+                  <text v-if="message.goodsInfo.goodsPriceType == 1 || message.goodsInfo.goodsPriceType == 2" class="goods-price">¥{{ parseFloat(message.goodsInfo.goodsPrice).toFixed(2) }}</text>
+                  <text v-if="message.goodsInfo.resourcePrice && message.goodsInfo.resourcePrice != parseFloat(message.goodsInfo.goodsPrice).toFixed(2)" class="goods-price--secondary">原先 ¥{{ message.goodsInfo.resourcePrice }}</text>
                 </view>
               </view>
               <view class="goods-footer" v-if="message.goodsInfo.goodsPriceType != 1"> </view>
-              <view v-if="message.goodsInfo.goodsPriceType == 0 && isExpired(message.timestamp)" class="action-buttons">
+              <view v-if="message.goodsInfo.goodsPriceType !== 2 && isExpired(message.timestamp)" class="action-buttons">
                 <form @submit.prevent="createQrotedPrice(message)">
                   <input 
                     class="price-input"
@@ -166,7 +165,7 @@
 </template>
 
 <script>
-import { getChatHistory, createQuotedPrice, getQuotedPrice } from '@/api/chat';
+import { getChatHistory, createQuotedPrice as createQuotedPriceApi, getQuotedPrice } from '@/api/chat';
 import { WSSHOST } from '@/config.js';
 export default {
   data() {
@@ -991,7 +990,7 @@ export default {
         // 如果是字符串,则尝试解析
         if (typeof messageStr === 'string') {
           let parsed = JSON.parse(messageStr);
-          if(parsed.goodsPriceType == 0) { // 没价格类型,则要请求后端获取修改价格,再根据结果展示
+          if(parsed.goodsPriceType == 0 || parsed.goodsPriceType == 1) { // 请求后端获取修改价格,再根据结果展示
             // 如果没有过期,请求后端获取修改价格
             const now = Math.floor(Date.now()/1000);
             const timeDiff = now - parsed.timestamp;
@@ -1009,8 +1008,10 @@ export default {
                   // console.log("res", res)
                   if (res.code == 1) {
                     if (res.data.price != -1) {
+                      parsed.resourcePrice = parseFloat(parsed.goodsPrice).toFixed(2);
                       parsed.goodsPriceType = 2; // 价格类型
                       parsed.goodsPrice = parseFloat(res.data.price).toFixed(2);
+                      // 通过 parsed.goodsPriceType 判断哪种类型
                     }
                   }
                 }).catch(err => {
@@ -1128,11 +1129,11 @@ export default {
         return;
       }
       if (isNaN(message.quotedPrice)) {
-        this.$msg('价格格式不正确');
+        this.$msg('价格不对,请输入数字');
         return;
       }
-      if (message.quotedPrice <= 0.01) {
-        this.$msg('价格不能小于等于0.01');
+      if (message.quotedPrice < 0.01) {
+        this.$msg('价格不能小于0.01');
         return;
       }
       const keyArr = message.goodsInfo.key.split('-');// shopId-userId-goodsId
@@ -1149,24 +1150,24 @@ export default {
         this.$msg('key数据出错');
         return;
       }
-      createQuotedPrice({
+      createQuotedPriceApi({
         key: message.goodsInfo.key,
         price: parseFloat(message.quotedPrice).toFixed(2)
-      })
-        .then((res) => {
-          // console.log("createQuotedPrice", res)
-          if (res.code == 1) {
-            this.$msg('改价成功');
-            message.goodsInfo.goodsPriceType = 2;
-            message.goodsInfo.goodsPrice = parseFloat(message.quotedPrice).toFixed(2);
-            message.goodsInfo.lastPrice = parseFloat(message.quotedPrice).toFixed(2);
-            message.quotedPrice = '';
-            this.sendMessageOfGoodsPrice(message.goodsInfo);
-          }
-        })
-        .catch((err) => {
-          console.log('createQuotedPrice error', err);
-        });
+      }).then((res) => {
+        // console.log("createQuotedPriceApi", res)
+        if (res.code == 1) {
+          this.$msg('改价成功');
+          message.goodsInfo.goodsPriceType = 2;
+          message.goodsInfo.goodsPrice = parseFloat(message.quotedPrice).toFixed(2);
+          message.goodsInfo.lastPrice = parseFloat(message.quotedPrice).toFixed(2);
+          message.quotedPrice = '';
+          this.sendMessageOfGoodsPrice(message.goodsInfo);
+        } else {
+          this.$msg(res.msg);
+        }
+      }).catch((err) => {
+        console.log('createQuotedPrice error', err);
+      });
     },
     isExpired(timestamp) {
       if (isNaN(timestamp)) {
@@ -1230,7 +1231,7 @@ export default {
         if (value.startsWith('/')) {
           return normalizedBase + value;
         }
-        return normalizedBase + '/' + value.replace(/^\/+/, '');
+        return normalizedBase + '/' + value;
       } catch (e) {
         return avatar;
       }
@@ -1435,6 +1436,11 @@ export default {
       font-weight: bold;
       margin-top: 40rpx;
     }
+    .goods-price--secondary {
+      font-size: 24rpx;
+      color: #999999;
+      font-weight: normal;
+    }
   }
 
   .goods-footer {

+ 1 - 1
hdApp/src/plugins/luch-request_0.0.7/request.js

@@ -145,7 +145,7 @@ class Request {
 							}
 							reject(response.data)
 						} else if (response.data.code && response.data.code == -1) {
-
+							resolve(response.data)
 						} else if (response.data.code == 2) {
 							uni.removeStorageSync('token')
 							uni.removeStorageSync('shopUser')

+ 1 - 1
mallApp/src/pages/chat/chatPage.vue

@@ -1322,7 +1322,7 @@ export default {
         if (value.startsWith('/')) {
           return normalizedBase + value;
         }
-        return normalizedBase + '/' + value.replace(/^\/+/, '');
+        return normalizedBase + '/' + value;
       } catch (e) {
         return avatar;
       }