123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- <!-- 商品详情的底部导航 -->
- <template>
- <su-fixed bottom placeholder bg="bg-white">
- <view class="ui-tabbar-box">
- <view class="ui-tabbar ss-flex ss-col-center ss-row-between">
- <view v-if="serviceIcon" class="detail-tabbar-item ss-flex ss-flex-col ss-row-center ss-col-center"
- @tap="onIndex">
- <image class="item-icon" src="@/static/icon/index.png"
- mode="aspectFit" />
- <view class="item-title">{{$t('common.home')}}</view>
- </view>
- <!-- <view v-if="serviceIcon" class="detail-tabbar-item ss-flex ss-flex-col ss-row-center ss-col-center"
- @tap="onShopIndex">
- <image class="item-icon" src="@/static/icon/shop.png"
- mode="aspectFit" />
- <view class="item-title">{{$t('title.shop_home')}}</view>
- </view> -->
- <!-- <view v-if="serviceIcon" class="detail-tabbar-item ss-flex ss-flex-col ss-row-center ss-col-center"
- @tap="onChat">
- <image class="item-icon" src="@/static/icon/service.png"
- mode="aspectFit" />
- <view class="item-title">客服</view>
- </view> -->
-
- <view v-if="shareIcon" class="detail-tabbar-item ss-flex ss-flex-col ss-row-center ss-col-center"
- @tap="sheep.$router.go('/pages/index/cart');">
- <image class="item-icon" src="@/static/icon/cart.png"
- mode="aspectFit" />
- <view class="item-title">{{$t('common.cart')}}</view>
- </view>
- <slot></slot>
- </view>
- </view>
- </su-fixed>
- </template>
- <script setup>
- /**
- *
- * 底部导航
- *
- * @property {String} bg - 背景颜色Class
- * @property {String} ui - 自定义样式Class
- * @property {Boolean} noFixed - 是否定位
- * @property {Boolean} topRadius - 上圆角
- */
- import {
- reactive
- } from 'vue';
- import sheep from '@/sheep';
- import {
- showShareModal
- } from '@/sheep/hooks/useModal';
- import FavoriteApi from '@/sheep/api/product/favorite';
- // 数据
- const state = reactive({});
- // 接收参数
- const props = defineProps({
- modelValue: {
- type: Object,
- default () {},
- },
- bg: {
- type: String,
- default: 'bg-white',
- },
- bgStyles: {
- type: Object,
- default () {},
- },
- ui: {
- type: String,
- default: '',
- },
- noFixed: {
- type: Boolean,
- default: false,
- },
- topRadius: {
- type: Number,
- default: 0,
- },
- collectIcon: {
- type: Boolean,
- default: true,
- },
- serviceIcon: {
- type: Boolean,
- default: true,
- },
- shareIcon: {
- type: Boolean,
- default: true,
- }
- });
- // async function onFavorite() {
- // // 情况一:取消收藏
- // if (props.modelValue.favorite) {
- // const {
- // code
- // } = await FavoriteApi.deleteFavorite(props.modelValue.id);
- // if (code !== 0) {
- // return
- // }
- // sheep.$helper.toast('取消收藏');
- // props.modelValue.favorite = false;
- // // 情况二:添加收藏
- // } else {
- // const {
- // code
- // } = await FavoriteApi.createFavorite(props.modelValue.id);
- // if (code !== 0) {
- // return
- // }
- // sheep.$helper.toast('收藏成功');
- // props.modelValue.favorite = true;
- // }
- // }
- const onShopIndex = () => {
- sheep.$router.go('/pages/shop/index', {
- shopId: props.modelValue.shopId,
- shopName: props.modelValue.shopName,
- merchantId: props.modelValue.merchantId,
- });
- };
- const onChat = () => {
- sheep.$router.go('/pages/chat/index', {
- id: props.modelValue.id,
- });
- };
- const onIndex = () => {
- sheep.$router.go('/pages/index/index');
- }
-
-
- </script>
- <style lang="scss" scoped>
- .ui-tabbar-box {
- box-shadow: 0px -6px 10px 0px rgba(51, 51, 51, 0.2);
- }
- .ui-tabbar {
- display: flex;
- height: 50px;
- background: #fff;
- .detail-tabbar-item {
- width: 100rpx;
- .item-icon {
- width: 40rpx;
- height: 40rpx;
- }
- .item-title {
- font-size: 20rpx;
- font-weight: 500;
- line-height: 20rpx;
- margin-top: 12rpx;
- }
- }
- }
- </style>
|