修复结算页只存在无效商品的店铺,显示空白店铺信息问题

master
paulGao 2022-04-22 16:32:33 +08:00
parent 53739d24df
commit 884d3e8c34
1 changed files with 158 additions and 106 deletions

View File

@ -10,7 +10,10 @@
<!-- 省市区 --> <!-- 省市区 -->
<div class="flex flex-a-c"> <div class="flex flex-a-c">
<span class="default" v-if="address.isDefault"></span> <span class="default" v-if="address.isDefault"></span>
<div class="address-list" v-if="address.consigneeAddressPath.length != 0"> <div
class="address-list"
v-if="address.consigneeAddressPath.length != 0"
>
<span <span
class="address-item" class="address-item"
v-for="(item, index) in address.consigneeAddressPath" v-for="(item, index) in address.consigneeAddressPath"
@ -89,14 +92,23 @@
</view> </view>
<!-- 店铺商品信息 --> <!-- 店铺商品信息 -->
<div class="box box2" v-for="(item, index) in orderMessage.cartList" :key="index"> <div
class="box box2"
v-for="(item, index) in orderMessage.cartList"
:key="index"
>
<div v-if="item.checked">
<div @click="navigateToStore(item)"> <div @click="navigateToStore(item)">
<div class="store-name"> <div class="store-name">
<span>{{ item.storeName }}</span> <span>{{ item.storeName }}</span>
</div> </div>
</div> </div>
<div class="promotionNotice">{{ item.promotionNotice || "" }}</div> <div class="promotionNotice">{{ item.promotionNotice || "" }}</div>
<div class="flex goods-item" v-for="(val, i) in item.checkedSkuList" :key="i"> <div
class="flex goods-item"
v-for="(val, i) in item.checkedSkuList"
:key="i"
>
<div <div
class="goods-image" class="goods-image"
@click=" @click="
@ -134,16 +146,24 @@
</div> </div>
<p class="goods-prices"> <p class="goods-prices">
<span></span> <span></span>
<span class="goods-price">{{ formatPrice(val.goodsSku.price)[0] }}</span> <span class="goods-price">{{
formatPrice(val.goodsSku.price)[0]
}}</span>
<span>.{{ formatPrice(val.goodsSku.price)[1] }}</span> <span>.{{ formatPrice(val.goodsSku.price)[1] }}</span>
</p> </p>
</div> </div>
</div> </div>
<u-row> <u-row>
<u-col :offset="0" :span="4">发票信息</u-col> <u-col :offset="0" :span="4">发票信息</u-col>
<u-col :span="8" class="tipsColor" textAlign="right" @click.native="invoice()"> <u-col
:span="8"
class="tipsColor"
textAlign="right"
@click.native="invoice()"
>
<span v-if="receiptList" <span v-if="receiptList"
>{{ receiptList.receiptTitle }} - {{ receiptList.receiptContent }}</span >{{ receiptList.receiptTitle }} -
{{ receiptList.receiptContent }}</span
> >
<span v-else></span> <span v-else></span>
</u-col> </u-col>
@ -170,7 +190,9 @@
</u-col> </u-col>
</u-row> </u-row>
<u-row> <u-row>
<u-col :offset="0" :span="4" class="tl" style="text-align: left">备注信息</u-col> <u-col :offset="0" :span="4" class="tl" style="text-align: left"
>备注信息</u-col
>
<u-col :span="8" textAlign="right"> <u-col :span="8" textAlign="right">
<u-input <u-input
style="text-align: right" style="text-align: right"
@ -180,9 +202,14 @@
</u-col> </u-col>
</u-row> </u-row>
</div> </div>
</div>
<!-- 发票信息 --> <!-- 发票信息 -->
<invoices :res="receiptList" @callbackInvoice="callbackInvoice" v-if="invoiceFlag" /> <invoices
:res="receiptList"
@callbackInvoice="callbackInvoice"
v-if="invoiceFlag"
/>
<u-select v-model="shippingFlag" :list="shippingMethod"></u-select> <u-select v-model="shippingFlag" :list="shippingMethod"></u-select>
<div class="box box5" v-if="orderMessage.priceDetailDTO"> <div class="box box5" v-if="orderMessage.priceDetailDTO">
@ -190,22 +217,30 @@
<u-row> <u-row>
<u-col :span="9">商品合计</u-col> <u-col :span="9">商品合计</u-col>
<u-col :span="3" textAlign="right"> <u-col :span="3" textAlign="right">
<span>{{ orderMessage.priceDetailDTO.goodsPrice | unitPrice }}</span> <span
>{{ orderMessage.priceDetailDTO.goodsPrice | unitPrice }}</span
>
</u-col> </u-col>
</u-row> </u-row>
</div> </div>
<div> <div>
<u-row> <u-row>
<u-col v-if="orderMessage.cartTypeEnum != 'VIRTUAL'" :span="7"></u-col> <u-col v-if="orderMessage.cartTypeEnum != 'VIRTUAL'" :span="7"
>运费</u-col
>
<u-col <u-col
v-if="orderMessage.cartTypeEnum != 'VIRTUAL'" v-if="orderMessage.cartTypeEnum != 'VIRTUAL'"
:span="5" :span="5"
class="tr tipsColor" class="tr tipsColor"
textAlign="right" textAlign="right"
> >
<span v-if="orderMessage.priceDetailDTO.freightPrice == 0"></span> <span v-if="orderMessage.priceDetailDTO.freightPrice == 0"
>包邮</span
>
<span v-else <span v-else
>{{ orderMessage.priceDetailDTO.freightPrice | unitPrice }}</span >{{
orderMessage.priceDetailDTO.freightPrice | unitPrice
}}</span
> >
</u-col> </u-col>
</u-row> </u-row>
@ -215,7 +250,10 @@
<u-col <u-col
:span="3" :span="3"
v-if="orderMessage.priceDetailDTO && orderMessage.priceDetailDTO.couponPrice" v-if="
orderMessage.priceDetailDTO &&
orderMessage.priceDetailDTO.couponPrice
"
textAlign="right" textAlign="right"
@click="GET_Discount()" @click="GET_Discount()"
> >
@ -249,7 +287,9 @@
<u-col :span="6">活动优惠</u-col> <u-col :span="6">活动优惠</u-col>
<u-col :span="6" class="tr tipsColor" textAlign="right"> <u-col :span="6" class="tr tipsColor" textAlign="right">
<span v-if="orderMessage.priceDetailDTO.discountPrice" <span v-if="orderMessage.priceDetailDTO.discountPrice"
>-{{ orderMessage.priceDetailDTO.discountPrice | unitPrice }}</span >-{{
orderMessage.priceDetailDTO.discountPrice | unitPrice
}}</span
> >
<span v-else>0.00</span> <span v-else>0.00</span>
</u-col> </u-col>
@ -277,7 +317,9 @@
<span class="price">{{ <span class="price">{{
formatPrice(orderMessage.priceDetailDTO.flowPrice)[0] formatPrice(orderMessage.priceDetailDTO.flowPrice)[0]
}}</span> }}</span>
<span>.{{ formatPrice(orderMessage.priceDetailDTO.flowPrice)[1] }} </span> <span
>.{{ formatPrice(orderMessage.priceDetailDTO.flowPrice)[1] }}
</span>
</div> </div>
<span v-else class="number" <span v-else class="number"
><span style="margin-right: 10rpx">{{ ><span style="margin-right: 10rpx">{{
@ -448,7 +490,9 @@ export default {
this.navigateTo( this.navigateTo(
`/pages/mine/address/address?from=cart&way=${ `/pages/mine/address/address?from=cart&way=${
this.routerVal.way this.routerVal.way
}&parentOrder=${encodeURIComponent(JSON.stringify(this.routerVal.parentOrder))}` }&parentOrder=${encodeURIComponent(
JSON.stringify(this.routerVal.parentOrder)
)}`
); );
}, },
@ -483,9 +527,11 @@ export default {
this.orderMessage.storeCoupons && this.orderMessage.storeCoupons &&
Object.keys(this.orderMessage.storeCoupons)[0] Object.keys(this.orderMessage.storeCoupons)[0]
) { ) {
let storeMemberCouponsId = Object.keys(this.orderMessage.storeCoupons)[0]; let storeMemberCouponsId = Object.keys(
let storeCouponId = this.orderMessage.storeCoupons[storeMemberCouponsId] this.orderMessage.storeCoupons
.memberCoupon.id; )[0];
let storeCouponId =
this.orderMessage.storeCoupons[storeMemberCouponsId].memberCoupon.id;
selectedCoupon.push(storeCouponId); selectedCoupon.push(storeCouponId);
} }
this.orderMessage.cartList.forEach((item) => { this.orderMessage.cartList.forEach((item) => {
@ -608,9 +654,8 @@ export default {
// //
API_Address.getAddressDefault().then((res) => { API_Address.getAddressDefault().then((res) => {
if (res.data.result) { if (res.data.result) {
res.data.result.consigneeAddressPath = res.data.result.consigneeAddressPath.split( res.data.result.consigneeAddressPath =
"," res.data.result.consigneeAddressPath.split(",");
);
this.address = res.data.result; this.address = res.data.result;
} }
}); });
@ -621,6 +666,14 @@ export default {
this.notSupportFreight = []; this.notSupportFreight = [];
// //
API_Trade.getCheckoutParams(this.routerVal.way).then((res) => { API_Trade.getCheckoutParams(this.routerVal.way).then((res) => {
if (
!res.data.result.checkedSkuList ||
res.data.result.checkedSkuList.length === 0
) {
uni.switchTab({
url: "/pages/tabbar/cart/cartList",
});
}
if (res.data.result.skuList.length <= 0) { if (res.data.result.skuList.length <= 0) {
uni.redirectTo({ uni.redirectTo({
url: "/pages/order/myOrder?status=0", url: "/pages/order/myOrder?status=0",
@ -645,9 +698,8 @@ export default {
this.getUserAddress(); this.getUserAddress();
} else { } else {
this.address = res.data.result.memberAddress; this.address = res.data.result.memberAddress;
res.data.result.memberAddress.consigneeAddressPath = res.data.result.memberAddress.consigneeAddressPath.split( res.data.result.memberAddress.consigneeAddressPath =
"," res.data.result.memberAddress.consigneeAddressPath.split(",");
);
} }
if ( if (