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

Loading…
Cancel
Save