|
|
@@ -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 {
|