From badafedccb814258fa54156b558458fa04191f8d Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期二, 30 七月 2024 11:42:48 +0800 Subject: [PATCH] update --- sub_pages/customer/trade/detail.vue | 89 +++++++++++++++++++++++++++++++++++++------- 1 files changed, 74 insertions(+), 15 deletions(-) diff --git a/sub_pages/customer/trade/detail.vue b/sub_pages/customer/trade/detail.vue index b25c7c0..34afd53 100644 --- a/sub_pages/customer/trade/detail.vue +++ b/sub_pages/customer/trade/detail.vue @@ -3,18 +3,24 @@ <view class="top-img-container"> <image :src="dto.cover" class="top-img" mode="aspectFill"></image> <view class="icon-container"> - <image src="../../../static/common/icon-sc.png" class="icon-sc"></image> + <image v-if="!dto.collection" src="../../../static/common/icon-sc.png" @click="collectItem(dto)" + class="icon-sc"></image> + <image v-if="dto.collection" src="../../../static/common/icon-sc-fill.png" @click="collectItem(dto)" + class="icon-sc"></image> + + <!-- <view class="num">12</view>--> </view> <view class="icon-container"> - <image src="../../../static/common/icon-shop.png" @click="submitShopping(dto)" class="icon-shop"> + <image src="../../../static/common/icon-shop.png" @click="toShopping(dto)" class="icon-shop"> + <view class="image-shop-number">{{shopnum||'1'}}</view> </image> </view> </view> <view class="trade-info-container"> <view class="title flex"> - <view class="level m-r-15">{{ dto.levelStr || '-' }}级</view> + <view class="level m-r-15">{{ dto.levelStr || '-' }}</view> <view class=""> {{ dto.name || '-' }} </view> @@ -63,10 +69,10 @@ <view class="info-brand m-t-12" @click.stop="openbrand"> <view class="title-before-blue" style="padding-top: 0rpx;padding-bottom: 0rpx;">店铺</view> <view class="flex m-t-12"> - <image class="store-logo"></image> + <image class="store-logo" :src="dto.supplierCover"></image> <view> - <view class="store-name">{{dto.supplierName||'-'}}</view> - <view class="store-address">{{dto.supplierStation||'-'}}</view> + <view class="store-name t1">{{dto.supplierName||'-'}}</view> + <view class="store-address t1">{{dto.supplierStation||'-'}}</view> </view> <view class="store-to m-l-a m-r-0">进入店铺</view> </view> @@ -123,7 +129,8 @@ data() { return { id: '', - dto: {} + dto: {}, + shopnum: 0, } }, onLoad(options) { @@ -131,13 +138,41 @@ if (this.id) { this.getDetail() } + this.refreshShopNum() }, methods: { + async refreshShopNum() { + this.shopnum = await this.$store.dispatch('submitShopping', dto); + }, + async collectItem(dto) { + await this.$message.confirm(`是否${dto.collection?'移除':'添加到'}收藏`) + this.$message.showLoading() + const { + code, + data + } = await this.$http.request(dto.collection ? "get" : 'post', dto.collection ? '/api/collect/delete' : + '/api/collect/add', { + data: { + flowerId: dto.id + }, + params: { + id: dto.id + } + }) + if (code === 0) { + this.$message.showToast('操作成功') + dto.collection = !dto.collection + this.$forceUpdate() + } + + this.$message.hideLoading() + }, async submitShopping(dto) { //提交到购物车中 this.$message.showLoading() await this.$store.dispatch('submitShopping', dto); this.$message.hideLoading() + this.refreshShopNum() }, async getDetail() { this.$message.showLoading() @@ -158,6 +193,11 @@ this.$message.hideLoading() }, + toShopping() { + uni.navigateTo({ + url: '/sub_pages/customer/shopping/shopping' + }) + }, openbrand() { uni.navigateTo({ url: '/sub_pages/customer/shop/shop?id=' + (this.dto.id || '') @@ -169,7 +209,20 @@ <style lang="scss" scoped> .trade-detail { - background-color: #FFFFFF; + background-color: #FFFFFF; + .image-shop-number { + width: 30rpx; + height: 30rpx; + background: #F20000; + line-height: 30rpx; + text-align: center; + position: absolute; + right: 0rpx; + top: -6rpx; + color: #FFFFFF; + border-radius: 50%; + font-size: 24rpx; + } .trade-info-container { padding: 46rpx 30rpx; @@ -198,6 +251,7 @@ font-size: 28rpx; color: #CF0000; line-height: 40rpx; + margin-top: -10rpx; .num { font-size: 48rpx; @@ -335,8 +389,11 @@ position: absolute; top: 20rpx; width: 80rpx; + right: 140rpx; height: 80rpx; - background: rgba(0, 0, 0, 0); + background: rgba(0, 0, 0, 0.42); + border-radius: 50%; + display: flex; .icon-sc { width: 54rpx; @@ -351,8 +408,10 @@ height: 54rpx; margin: 0 auto; margin-top: 12rpx; - display: inline-block; - + display: inline-block; + margin-left: 12rpx; + position: relative; + } .num { @@ -367,12 +426,12 @@ } .icon-container:last-child { - left: 140rpx; + right: 20rpx; } - .icon-container:first-child { - left: 40rpx; - } + // .icon-container:first-child { + // left: 40rpx; + // } } } -- Gitblit v1.9.3