| | |
| | | </view>
|
| | | <view class="icon-container">
|
| | | <image src="../../../static/common/icon-shop.png" @click="toShopping(dto)" class="icon-shop">
|
| | | <view class="image-shop-number">{{shopnum||''}}</view>
|
| | | <view class="image-shop-number" v-if="shopnum">{{shopnum||''}}</view>
|
| | | </image>
|
| | |
|
| | | </view>
|
| | |
| | | <view class="label">{{ param.name}}:</view>
|
| | | <view class="value">{{ param.value || '-'}}</view>
|
| | | </view>
|
| | | <!-- <view class="flex m-t-8">-->
|
| | | <view v-if="!dto.params">
|
| | | <view class="flex m-t-8">
|
| | | <view class="label">暂无</view>
|
| | | </view>
|
| | | </view>
|
| | | <!-- <view class="flex m-t-8">
|
| | | <!-- <view class="label">枝粗:</view>-->
|
| | | <!-- <view class="value">中等粗细</view>-->
|
| | | <!-- </view>-->
|
| | |
| | | },
|
| | | methods: {
|
| | | async refreshShopNum() {
|
| | | this.shopnum = await this.$store.dispatch('submitShopping', dto);
|
| | | this.shopnum = await this.$store.dispatch('countShopping');
|
| | | },
|
| | | async collectItem(dto) {
|
| | | if (!this.currentInfo.id) {
|
| | | this.$message.showToast('请先登录')
|
| | | return
|
| | | }
|
| | | await this.$message.confirm(`是否${dto.collection?'移除':'添加到'}收藏`)
|
| | | this.$message.showLoading()
|
| | | const {
|
| | |
| | | flowerId: dto.id
|
| | | },
|
| | | params: {
|
| | | id: dto.id
|
| | | flowerId: dto.id
|
| | | }
|
| | | })
|
| | | if (code === 0) {
|
| | |
| | | },
|
| | | async submitShopping(dto) {
|
| | | //提交到购物车中
|
| | | this.$message.showLoading()
|
| | | await this.$store.dispatch('submitShopping', dto);
|
| | | this.$message.hideLoading()
|
| | | this.refreshShopNum()
|
| | | // this.$message.showLoading()
|
| | | const {
|
| | | code
|
| | | } = await this.$store.dispatch('submitShopping', dto);
|
| | | // this.$message.hideLoading()
|
| | | if (code == 0) {
|
| | | this.refreshShopNum()
|
| | |
|
| | | }
|
| | | },
|
| | | async getDetail() {
|
| | | this.$message.showLoading()
|
| | |
| | |
|
| | | <style lang="scss" scoped>
|
| | | .trade-detail {
|
| | | 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; |
| | | 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;
|
| | |
| | | height: 54rpx;
|
| | | margin: 0 auto;
|
| | | margin-top: 12rpx;
|
| | | display: inline-block; |
| | | display: inline-block;
|
| | | margin-left: 12rpx;
|
| | | position: relative;
|
| | | |
| | |
|
| | | }
|
| | |
|
| | | .num {
|