Browse Source

SKU模块选中属性渲染

template
liruiqiang 2 months ago
parent
commit
ba5400a516
  1. 32
      src/pages/goods/goods.vue

32
src/pages/goods/goods.vue

@ -30,7 +30,7 @@
<view class="action">
<view class="item arrow" @tap="isShowSku = true">
<text class="label">选择</text>
<text class="text ellipsis"> 请选择商品规格 </text>
<text class="text ellipsis"> {{ selectArrText }} </text>
</view>
<view @tap="openPopup('address')" class="item arrow">
<text class="label">送至</text>
@ -121,6 +121,12 @@
:mode="mode"
add-cart-background-color="#FFA868"
buy-now-background-color="#27BA9B"
ref="skuPopupRef"
:actived-style="{
color: '#27BA9B',
borderColor: '#27BA9B',
backgroundColor: '#E9F8F5',
}"
/>
</template>
@ -131,7 +137,10 @@ import type { GoodsResult } from '@/types/goods'
import { getGoodsByIdAPI } from '@/services/goods'
import AddressPanel from './components/AddressPanel.vue'
import ServicePanel from './components/ServicePanel.vue'
import type { SkuPopupLocaldata } from '@/components/vk-data-goods-sku-popup/vk-data-goods-sku-popup'
import type {
SkuPopupInstance,
SkuPopupLocaldata,
} from '@/components/vk-data-goods-sku-popup/vk-data-goods-sku-popup'
//
const { safeAreaInsets } = uni.getSystemInfoSync()
@ -223,6 +232,14 @@ const openSkuPopup = (val: SkuMode) => {
//
mode.value = val
}
// SKU
const skuPopupRef = ref<SkuPopupInstance>()
//
const selectArrText = computed(() => {
return skuPopupRef.value?.selectArr?.join(' ').trim() || '请选择商品规格'
})
</script>
<style lang="scss">
@ -403,7 +420,7 @@ page {
/* 同类推荐 */
.similar {
.content {
padding: 0 20rpx 200rpx;
padding: 0 20rpx 20rpx;
background-color: #f4f4f4;
display: flex;
flex-wrap: wrap;
@ -446,11 +463,11 @@ page {
position: fixed;
left: 0;
right: 0;
bottom: 0;
bottom: calc((var(--window-bottom)));
z-index: 1;
background-color: #fff;
height: 100rpx;
padding: 0 20rpx var(--window-bottom);
padding: 0 20rpx;
border-top: 1rpx solid #eaeaea;
display: flex;
justify-content: space-between;
@ -469,17 +486,18 @@ page {
.addcart {
background-color: #ffa868;
}
.buynow,
.payment {
background-color: #27ba9b;
margin-left: 20rpx;
}
}
.icons {
padding-right: 10rpx;
padding-right: 20rpx;
display: flex;
align-items: center;
flex: 1;
// H5 App
.navigator-wrap,
.icons-button {
flex: 1;
text-align: center;

Loading…
Cancel
Save