From ef46d13d5fa70d1c94f25de294f5ed177b751234 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 02 三月 2026 16:40:30 +0800
Subject: [PATCH] 提交
---
mini-program/pages/details/details.vue | 173 ++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 116 insertions(+), 57 deletions(-)
diff --git a/mini-program/pages/details/details.vue b/mini-program/pages/details/details.vue
index cdd2378..1941b7a 100644
--- a/mini-program/pages/details/details.vue
+++ b/mini-program/pages/details/details.vue
@@ -1,55 +1,71 @@
<template>
<view class="details" v-if="info">
- <u-swiper :list="info.banner" height="375" @click="preview"></u-swiper>
- <view class="info">
- <view class="info-title">
- {{info.name}}
- </view>
- <view class="commodity-item-box-price">
- <view class="commodity-item-box-price-a">
- <text>{{info.minPrice[0]}}</text>
- <text>.{{info.minPrice[1]}}</text>
+ <template v-if="info.isdeleted === 0">
+ <u-swiper :list="info.banner" height="375" @click="preview"></u-swiper>
+ <view class="info">
+ <view class="info-title">
+ {{info.name}}
</view>
- <view class="commodity-item-box-price-b">
- 鍘熶环楼{{info.price}}
- </view>
- </view>
- <view class="info-num">
- <text>宸插敭 {{info.saleNum + info.realSaleNum}}+</text>
- <text>搴撳瓨 {{info.stock}}</text>
- </view>
- </view>
- <view class="content">
- <view class="content-label">鍟嗗搧璇︽儏</view>
- <view class="content-val" v-html="info.content"></view>
- </view>
- <view style="width: 100%; height: calc(env(safe-area-inset-bottom) + 108rpx);"></view>
- <view class="footer">
- <view class="edit">
- <view class="edit-left">
- <view class="edit-left-row" @click="shoucang">
- <image src="/static/icon/ic_collect_sel@2x.png" mode="widthFix" v-if="info.collectStatus === 1"></image>
- <image src="/static/icon/ic_collect@2x.png" mode="widthFix" v-else></image>
- <text>{{info.collectStatus === 1 ? '宸叉敹钘�' : '鏀惰棌'}}</text>
+ <view class="commodity-item-box-price">
+ <view class="commodity-item-box-price-a">
+ <text>{{info.minPrice[0]}}</text>
+ <text>.{{info.minPrice[1]}}</text>
</view>
- <view class="edit-left-row">
- <button open-type="contact">瀹㈡湇</button>
- <image src="/static/icon/detail_ic_kefu@2x.png" mode="widthFix"></image>
- <text>瀹㈡湇</text>
- </view>
- <view class="edit-left-row" @click="toCard">
- <image src="/static/icon/detail_ic_cart@2x.png" mode="widthFix"></image>
- <text>璐墿杞�</text>
- <view class="edit-left-row-num" v-if="cardObj && cardObj.cartTypeNum > 0">{{cardObj.cartTypeNum}}</view>
+ <view class="commodity-item-box-price-b">
+ 鍘熶环楼{{info.linePrice}}
</view>
</view>
- <view class="edit-btn">
- <view class="edit-btn-a" @click="addCard(info)">鍔犲叆璐墿杞�</view>
- <view class="edit-btn-b" @click="submit">绔嬪嵆璐拱</view>
+ <view class="info-num">
+ <text>宸插敭 {{info.saleNum + info.realSaleNum}}+</text>
+ <text>搴撳瓨 {{info.stock}}</text>
</view>
</view>
- <view style="width: 100%; height: env(safe-area-inset-bottom);"></view>
- </view>
+ <view class="content">
+ <view class="content-label">鍟嗗搧璇︽儏</view>
+ <view class="content-val">
+ <u-parse :content="info.content"></u-parse>
+ </view>
+ </view>
+ <view style="width: 100%; height: calc(env(safe-area-inset-bottom) + 108rpx);"></view>
+ <view class="footer">
+ <view class="edit">
+ <view class="edit-left">
+ <view class="edit-left-row" @click="shoucang">
+ <image src="/static/icon/ic_collect_sel@2x.png" mode="widthFix" v-if="info.collectStatus === 1"></image>
+ <image src="/static/icon/ic_collect@2x.png" mode="widthFix" v-else></image>
+ <text>{{info.collectStatus === 1 ? '宸叉敹钘�' : '鏀惰棌'}}</text>
+ </view>
+ <view class="edit-left-row">
+ <button open-type="contact">瀹㈡湇</button>
+ <image src="/static/icon/detail_ic_kefu@2x.png" mode="widthFix"></image>
+ <text>瀹㈡湇</text>
+ </view>
+ <view class="edit-left-row" @click="toCard">
+ <image src="/static/icon/detail_ic_cart@2x.png" mode="widthFix"></image>
+ <text>璐墿杞�</text>
+ <view class="edit-left-row-num" v-if="cardObj && cardObj.cartTypeNum > 0">{{cardObj.cartTypeNum}}</view>
+ </view>
+ </view>
+ <view class="edit-btn">
+ <template v-if="info.status === 0">
+ <view class="edit-btn-a" @click="addCard(info)">鍔犲叆璐墿杞�</view>
+ <view class="edit-btn-b" @click="submit">绔嬪嵆璐拱</view>
+ </template>
+ <template v-else>
+ <view style="width: 250rpx; height: 88rpx;"></view>
+ <view class="edit-btn-c">鍟嗗搧宸蹭笅鏋�</view>
+ </template>
+ </view>
+ </view>
+ <view style="width: 100%; height: env(safe-area-inset-bottom);"></view>
+ </view>
+ </template>
+ <template v-else>
+ <view class="wuImg">
+ <image src="/static/images/default_empty.png" mode="widthFix"></image>
+ </view>
+ </template>
+ <Login ref="login" />
</view>
</template>
@@ -80,6 +96,10 @@
},
methods: {
shoucang() {
+ if (!this.userInfo) {
+ this.$refs.login.open()
+ return
+ }
if (this.info.collectStatus === 1) {
this.$u.api.cancelbatch({ ids: this.info.id })
.then(res => {
@@ -97,6 +117,10 @@
}
},
submit() {
+ if (!this.userInfo) {
+ this.$refs.login.open()
+ return
+ }
let shop = [
{
goodsNum: 1,
@@ -109,18 +133,26 @@
})
},
addCard(e) {
+ if (!this.userInfo) {
+ this.$refs.login.open()
+ return
+ }
this.$u.api.addCart({
goodsId: e.id,
- goodsSkuId: e.skuResponsesList[0].id,
+ goodsSkuId: e.goodsSkuResponseList[0].id,
num: 1
}).then(res => {
if (res.code === 200) {
this.cardNum()
- uni.showToast({ title: '娣诲姞鎴愬姛', icon: 'none' })
+ uni.showToast({ title: '娣诲姞鎴愬姛', icon: 'success', mask: true })
}
})
},
toCard() {
+ if (!this.userInfo) {
+ this.$refs.login.open()
+ return
+ }
uni.navigateTo({
url: '/pages/shopping-cart/shopping-cart'
})
@@ -141,18 +173,22 @@
})
},
getDetails() {
- this.$u.api.goodsInfo({
- goodsId: this.id,
- memberId: this.userInfo ? this.userInfo.id : null,
- }).then(res => {
- if (res.code === 200) {
- res.data.minPrice = res.data.minPrice.toFixed(2).split('.')
- if (res.data.goodBannerMultiFiles && res.data.goodBannerMultiFiles.length > 0) {
- res.data.banner = res.data.goodBannerMultiFiles.map(item => item.fileurlfull)
+ try {
+ this.$u.api.goodsInfo({
+ goodsId: this.id,
+ memberId: this.userInfo ? this.userInfo.id : null,
+ }).then(res => {
+ if (res.code === 200) {
+ res.data.minPrice = res.data.minPrice.toFixed(2).split('.')
+ if (res.data.goodBannerMultiFiles && res.data.goodBannerMultiFiles.length > 0) {
+ res.data.banner = res.data.goodBannerMultiFiles.map(item => item.fileurlfull)
+ }
+ this.info = res.data
}
- this.info = res.data
- }
- })
+ })
+ } catch (err) {
+ console.log(err)
+ }
}
}
}
@@ -166,6 +202,18 @@
<style lang="scss" scoped>
.details {
width: 100%;
+ .wuImg {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding-top: 400rpx;
+ box-sizing: border-box;
+ image {
+ width: 320rpx;
+ height: 320rpx;
+ }
+ }
.footer {
width: 100%;
position: fixed;
@@ -257,6 +305,17 @@
font-size: 30rpx;
color: #FFFFFF;
}
+ .edit-btn-c {
+ width: 200rpx;
+ height: 88rpx;
+ line-height: 88rpx;
+ text-align: center;
+ background: #999999;
+ border-radius: 44rpx;
+ font-weight: 500;
+ font-size: 30rpx;
+ color: #FFFFFF;
+ }
}
}
}
--
Gitblit v1.9.3