Bläddra i källkod

fix: 修正地址图片路径并更新价格计算逻辑

修复多处地址图片路径错误,将adderss.png统一更新为address.png
优化价格计算组件,增加当前价格显示逻辑
添加退款详情页物流信息展示功能
完善加载状态处理和错误捕获
ylong 6 dagar sedan
förälder
incheckning
7cc0a01db3

+ 8 - 2
components/price-reduction-popup/price-reduction-popup.vue

@@ -12,7 +12,7 @@
 			<view class="price-section">
 				<view class="price-row">
 					<text class="price-label">此书当前价格</text>
-					<text class="price-value">¥ {{ bookInfo.price || 0 }}</text>
+					<text class="price-value">¥ {{ currBookPrice }}</text>
 				</view>
 				<view class="price-row">
 					<text class="price-label">助力成功减至</text>
@@ -81,7 +81,13 @@
 			reducedPrice() {
 				const price = parseFloat(this.bookInfo.price || 0);
 				const reduceMoney = parseFloat(this.bookInfo.reduceMoney || 0);
-				return (price - reduceMoney).toFixed(2);
+				const currReduceMoney = parseFloat(this.bookInfo.currReduceMoney || 0);
+				return (price - reduceMoney - currReduceMoney).toFixed(2);
+			},
+			currBookPrice() {
+				const price = parseFloat(this.bookInfo.price || 0);
+				const currReduceMoney = parseFloat(this.bookInfo.currReduceMoney || 0);
+				return (price - currReduceMoney).toFixed(2);
 			}
 		},
 		methods: {

+ 1 - 1
pages-car/pages/confirm-order.vue

@@ -3,7 +3,7 @@
         <!-- 收货地址部分 -->
         <view class="section-card">
             <view class="flex-a flex-j-b mb-20" @click="handleAddress" v-if="defaultAddr.id">
-                <image src="/pages-mine/static/adderss.png" style="width: 40rpx; height: 40rpx"></image>
+                <image src="/pages-car/static/address.png" style="width: 40rpx; height: 40rpx"></image>
                 <view class="flex-d flex-1 ml-24" style="margin-right: 90rpx">
                     <view class="flex-a flex-j-b mb-10">
                         <view :style="titleStyle">收货人:{{ defaultAddr.name }}</view>

+ 1 - 1
pages-car/pages/order-detail.vue

@@ -32,7 +32,7 @@
         <!-- 地址信息 -->
         <view class="info-card address-card" @click="handleAddressClick">
             <view class="icon-box">
-                <image src="/pages-mine/static/adderss.png" style="width: 40rpx; height: 40rpx"></image>
+                <image src="/pages-car/static/address.png" style="width: 40rpx; height: 40rpx"></image>
             </view>
             <view class="address-content">
                 <view class="user-info">

+ 52 - 1
pages-car/pages/refund-detail.vue

@@ -54,6 +54,20 @@
 				</view>
 			</template>
 		</view>
+		
+
+		<!-- 物流信息 -->
+		<view class="info-card express-card" v-if="String(orderInfo.status) === '7' && orderInfo.waybillCode"
+			@click.stop="viewLogistics">
+			<view class="icon-box">
+				<u-icon name="car" color="#38C148" size="48"></u-icon>
+			</view>
+			<view class="express-content">
+				<view class="express-name">{{ orderInfo.expressName || '快递' }}({{ orderInfo.waybillCode }})</view>
+				<view class="express-trace">{{ orderInfo.description || '点击查看物流详情' }}</view>
+			</view>
+			<u-icon name="arrow-right" color="#999" size="28"></u-icon>
+		</view>
 
 		<!-- 退货方式 (状态为4时显示) -->
 		<view class="info-card return-method-card" v-if="orderInfo.status == '4'">
@@ -326,7 +340,8 @@ export default {
 				'6': '超时关闭',
 				'7': '待平台确认收货',
 				'8': '平台已确认收货',
-				'9': '退款成功'
+				'9': '退款成功',
+				'10': '申请已撤销'
 			};
 			return map[status] || '处理中';
 		},
@@ -344,6 +359,11 @@ export default {
 				url: `/pages-car/pages/fill-logistics?refundOrderId=${this.refundOrderId}`
 			});
 		},
+		viewLogistics() {
+			uni.navigateTo({
+				url: `/pages-car/pages/logistics-detail?refundOrderId=${this.refundOrderId}`
+			});
+		},
 		copyOrderNo() {
 			uni.setClipboardData({
 				data: String(this.orderInfo.refundOrderId || ''),
@@ -582,6 +602,37 @@ export default {
 		border-radius: 16rpx;
 		padding: 30rpx;
 
+		&.express-card {
+			display: flex;
+			align-items: center;
+
+			.icon-box {
+				margin-right: 20rpx;
+			}
+
+			.express-content {
+				flex: 1;
+				margin-right: 20rpx;
+
+				.express-name {
+					color: #38C148;
+					font-size: 28rpx;
+					margin-bottom: 10rpx;
+					font-weight: 500;
+				}
+
+				.express-trace {
+					color: #333;
+					font-size: 26rpx;
+					line-height: 1.4;
+					display: -webkit-box;
+					-webkit-box-orient: vertical;
+					-webkit-line-clamp: 2;
+					overflow: hidden;
+				}
+			}
+		}
+
 		&.return-method-card {
 			.card-title {
 				font-size: 32rpx;

+ 0 - 0
pages-car/static/adderss.png → pages-car/static/address.png


+ 1 - 1
pages-home/pages/book-order.vue

@@ -3,7 +3,7 @@
         <!-- 取货地址部分 -->
         <view class="section-card">
             <view class="flex-a flex-j-b mb-20" @click="handleAddress" v-if="defaultAddr.id">
-                <image src="/pages-mine/static/adderss.png" style="width: 40rpx; height: 40rpx"></image>
+                <image src="/static/address/address.png" style="width: 40rpx; height: 40rpx"></image>
                 <view class="flex-d flex-1 ml-24" style="margin-right: 90rpx">
                     <view class="flex-a flex-j-b mb-10">
                         <view :style="titleStyle">发货人:{{ defaultAddr.name }}</view>

+ 3 - 1
pages-mine/components/address-card.vue

@@ -11,7 +11,9 @@
 
         <!-- 主要内容区 -->
         <view class="content flex-a" @click="handleClick">
-            <image src="/pages-mine/static/adderss.png" style="width: 40rpx; height: 40rpx"></image>
+            <image src="/pages-mine/static/address.png" style="width: 40rpx; height: 40rpx"></image>
+
+
 
             <view class="flex-1 mr-40 ml-24 flex-d">
                 <view class="header flex-a flex-1 mb-24">

+ 1 - 1
pages-mine/pages/apply.vue

@@ -1,7 +1,7 @@
 <template>
     <view class="apply-page">
         <view class="common-card flex-a flex-j-b mb-20" @click="handleAddress" v-if="defaultAddr.id">
-            <image src="/pages-mine/static/adderss.png" style="width:40rpx;height: 40rpx;"></image>
+            <image src="/pages-mine/static/address.png" style="width:40rpx;height: 40rpx;"></image>
             <view class="flex-d flex-1 ml-24" style="margin-right: 90rpx;">
                 <view class="flex-a flex-j-b  mb-10">
                     <view :style="titleStyle">{{ defaultAddr.name }}</view>

+ 0 - 0
pages-mine/static/adderss.png → pages-mine/static/address.png


+ 5 - 4
pages-sell/pages/hot-sell.vue

@@ -47,6 +47,8 @@ export default {
 	created() {
 		const systemInfo = uni.getSystemInfoSync();
 		this.statusBarHeight = systemInfo.statusBarHeight || 20;
+	},
+	onLoad() {
 		this.getHotBookList();
 	},
 	onPageScroll(e) {
@@ -57,13 +59,12 @@ export default {
 			uni.navigateBack();
 		},
 		getHotBookList() {
-			uni.showLoading({ title: '加载中...' });
+			uni.showLoading({ title: '加载中...', mask: true });
 			this.$u.api.getHotBookListAjax({pageNum: 1, pageSize: 100}).then(res => {
-				uni.hideLoading();
 				if (res.code === 200) {
 					this.bookList = res.data || res.rows || [];
 				}
-			}).catch(() => {
+			}).finally(() => {
 				uni.hideLoading();
 			});
 		},
@@ -146,4 +147,4 @@ export default {
 	padding: 30rpx 40rpx;
 	min-height: 500rpx;
 }
-</style>
+</style>

+ 0 - 0
static/address/adderss.png → static/address/address.png


BIN
static/img/kf.png


BIN
static/img/kf1.png