商品列表新增错误提示

master
gongfuxiang 2023-03-22 11:17:01 +08:00
parent 18cf7a7a72
commit 6d4b573ad8
3 changed files with 46 additions and 20 deletions

View File

@ -768,9 +768,22 @@ button[disabled].bg-gray {
bottom: 8rpx;
right: 20rpx;
}
.goods-list .error-msg {
position: absolute;
top: 0;
left: 0;
background: rgb(225 225 225 / 70%);
z-index: 1;
}
.goods-data-grid-list .item .error-msg,
.goods-data-rolling-list .item .error-msg {
border-bottom-left-radius: 0 !important;
border-bottom-right-radius: 0 !important;
}
/**
* -
*/
.goods-data-list .error-msg,
.goods-data-list .goods-img {
width: 190rpx !important;
height: 190rpx !important;
@ -783,15 +796,24 @@ button[disabled].bg-gray {
right: 20rpx;
width: calc(100% - 260rpx);
}
.goods-data-list .error-msg {
top: 20rpx;
left: 20rpx;
line-height: 190rpx;
}
/*
* -
*/
.goods-data-rolling-list swiper {
height: 390rpx !important;
}
.goods-data-rolling-list .item .error-msg,
.goods-data-rolling-list .item .goods-img {
height: 240rpx !important;
}
.goods-data-rolling-list .item .error-msg {
line-height: 240rpx;
}
/**
* -
*/
@ -806,8 +828,11 @@ button[disabled].bg-gray {
}
.goods-data-grid-list .item:nth-of-type(2n) {
margin-left: 10rpx;
}
}
.goods-data-grid-list .item .error-msg,
.goods-data-grid-list .item .goods-img {
width: 100%;
height: 380rpx !important;
}
.goods-data-grid-list .item .error-msg {
line-height: 380rpx;
}

View File

@ -68,7 +68,7 @@
*
*/
.plugins-label {
z-index: 1;
z-index: 2;
box-sizing: border-box;
white-space: initial;
max-width: 100%;

View File

@ -19,21 +19,20 @@
<view class="goods-data-list">
<view v-for="(item, index) in data.goods_list" :key="index" class="item oh padding-main border-radius-main bg-white oh pr spacing-mb">
<!-- 商品主体内容 -->
<view :data-value="item.goods_url" @tap="url_event">
<view class="cp" :data-value="item.goods_url" @tap="url_event">
<image class="goods-img fl radius" :src="item.images" mode="aspectFit"></image>
<view v-if="(item.is_error || 0) == 1" class="error-msg pa cr-gray tc radius">{{item.error_msg}}</view>
<view class="base fr">
<view class="multi-text">{{item.title}}</view>
<view v-if="(item.simple_desc || null) != null" class="cr-grey single-text margin-top-sm">{{item.simple_desc}}</view>
<view class="base-bottom pa">
<view class="fl">
<text v-if="propIsShowPriceIcon && (item.price_icon || null) != null" class="bg-red br-red cr-white text-size-xs padding-left-sm padding-right-sm round va-m margin-right-xs">{{item.price_icon}}</text>
<text class="sales-price va-m">{{propCurrencySymbol}}{{item[propPriceField]}}</text>
</view>
<view v-if="(item.is_error || 0) == 0" class="fr pr" :data-index="index" @tap.stop="goods_cart_event">
<uni-icons type="plus" size="22" color="#1AAD19"></uni-icons>
<view class="cart-badge-icon pa">
<component-badge :propNumber="item.user_cart_count || 0"></component-badge>
</view>
<text v-if="propIsShowPriceIcon && (item.price_icon || null) != null" class="bg-red br-red cr-white text-size-xs padding-left-sm padding-right-sm round va-m margin-right-xs">{{item.price_icon}}</text>
<text class="sales-price va-m">{{propCurrencySymbol}}{{item[propPriceField]}}</text>
</view>
<view v-if="(item.is_error || 0) == 0" class="pa bg-white right-cart-icon" :data-index="index" @tap.stop="goods_cart_event">
<uni-icons type="plus" size="22" color="#1AAD19"></uni-icons>
<view class="cart-badge-icon pa">
<component-badge :propNumber="item.user_cart_count || 0"></component-badge>
</view>
</view>
</view>
@ -55,8 +54,9 @@
<view class="goods-data-grid-list">
<view v-for="(item, index) in data.goods_list" :key="index" class="item oh border-radius-main bg-white oh pr spacing-mb">
<!-- 商品主体内容 -->
<navigator :url="item.goods_url" hover-class="none">
<image class="goods-img dis-block" :src="item.images" mode="aspectFit"></image>
<view class="cp" :data-value="item.goods_url" @tap="url_event">
<image class="goods-img dis-block wh-auto" :src="item.images" mode="aspectFit"></image>
<view v-if="(item.is_error || 0) == 1" class="error-msg pa cr-gray tc radius wh-auto">{{item.error_msg}}</view>
<view class="base padding-horizontal-main margin-top-sm">
<view class="goods-title multi-text">{{item.title}}</view>
<view class="margin-top-sm">
@ -64,7 +64,7 @@
<text v-if="propIsShowPriceIcon && (item.price_icon || null) != null" class="bg-red br-red cr-white text-size-xs padding-left-sm padding-right-sm round va-m margin-right-xs">{{item.price_icon}}</text>
<text class="sales-price va-m">{{propCurrencySymbol}}{{item[propPriceField]}}</text>
</view>
<view v-if="(item.is_error || 0) == 0" class="fr pa bg-white right-cart-icon" :data-index="index" @tap.stop="goods_cart_event">
<view v-if="(item.is_error || 0) == 0" class="pa bg-white right-cart-icon" :data-index="index" @tap.stop="goods_cart_event">
<uni-icons type="plus" size="22" color="#1AAD19"></uni-icons>
<view class="cart-badge-icon pa">
<component-badge :propNumber="item.user_cart_count || 0"></component-badge>
@ -72,7 +72,7 @@
</view>
</view>
</view>
</navigator>
</view>
<!-- 标签插件 -->
<view v-if="(propLabel || null) != null && propLabel.data.length > 0" :class="'plugins-label oh pa plugins-label-'+((propLabel.base.is_user_goods_label_icon || 0) == 0 ? 'text' : 'img')+' plugins-label-'+(propLabel.base.user_goods_show_style || 'top-left')">
<block v-for="(lv,li) in propLabel.data" :key="li">
@ -93,8 +93,9 @@
<swiper-item>
<view class="item bg-white border-radius-main margin-right-main oh pr ht-auto pr">
<!-- 商品主体内容 -->
<navigator :url="item.goods_url" hover-class="none">
<view class="cp" :data-value="item.goods_url" @tap="url_event">
<image class="goods-img dis-block wh-auto" :src="item.images" mode="aspectFit"></image>
<view v-if="(item.is_error || 0) == 1" class="error-msg pa cr-gray tc radius wh-auto">{{item.error_msg}}</view>
<view class="padding-left-sm padding-right-sm margin-top-sm">
<view class="multi-text">{{item.title}}</view>
<view class="margin-top-sm">
@ -102,7 +103,7 @@
<text v-if="propIsShowPriceIcon && (item.price_icon || null) != null" class="bg-red br-red cr-white text-size-xs padding-left-sm padding-right-sm round va-m margin-right-xs">{{item.price_icon}}</text>
<text class="sales-price va-m">{{propCurrencySymbol}}{{item[propPriceField]}}</text>
</view>
<view v-if="(item.is_error || 0) == 0" class="fr pa bg-white right-cart-icon" :data-index="index" @tap.stop="goods_cart_event">
<view v-if="(item.is_error || 0) == 0" class="pa bg-white right-cart-icon" :data-index="index" @tap.stop="goods_cart_event">
<uni-icons type="plus" size="22" color="#1AAD19"></uni-icons>
<view class="cart-badge-icon pa">
<component-badge :propNumber="item.user_cart_count || 0"></component-badge>
@ -110,7 +111,7 @@
</view>
</view>
</view>
</navigator>
</view>
<!-- 标签插件 -->
<view v-if="(propLabel || null) != null && propLabel.data.length > 0" :class="'plugins-label oh pa plugins-label-'+((propLabel.base.is_user_goods_label_icon || 0) == 0 ? 'text' : 'img')+' plugins-label-'+(propLabel.base.user_goods_show_style || 'top-left')">
<block v-for="(lv,li) in propLabel.data" :key="li">