Compare commits

..

3 Commits

Author SHA1 Message Date
赵毅
e9488a2777 修改团购列表有些数据不跳转到详情页的bug 2025-11-07 15:28:31 +08:00
赵毅
00f8634dcd 待评价已评价商品跳转到商品详情 2025-11-07 15:13:25 +08:00
赵毅
9435a9fea7 修改物业端页面样式 2025-11-07 14:02:44 +08:00
4 changed files with 32 additions and 12 deletions

View File

@ -7,7 +7,7 @@
</view> </view>
<view class="product-list"> <view class="product-list">
<view class="product-item" v-for="(product, pIndex) in item.commodity_order_item_list" :key="pIndex"> <view class="product-item" v-for="(product, pIndex) in item.commodity_order_item_list" :key="pIndex">
<view class="product-info"> <view class="product-info" @click="toDetail(item)">
<view class="product-img"> <view class="product-img">
<image :src="product.commodity_pic"></image> <image :src="product.commodity_pic"></image>
<view class="tag" v-if="product.is_same_day === 1">当日达</view> <view class="tag" v-if="product.is_same_day === 1">当日达</view>
@ -43,6 +43,11 @@ export default {
}; };
}, },
methods: { methods: {
toDetail(item) {
const goodId = item.commodity_order_item_list[0].goods_id
const orderInfo = item
NavgateTo(`/packages/myOrders/goodDetails/index?item=${JSON.stringify(orderInfo)} &goodId=${JSON.stringify(goodId)}`);
},
evaluateOrder(item) { evaluateOrder(item) {
NavgateTo(`../evaluate/index?item=${JSON.stringify(item)}`); NavgateTo(`../evaluate/index?item=${JSON.stringify(item)}`);
}, },

View File

@ -13,16 +13,19 @@
<view class="evaluation-area"> <view class="evaluation-area">
<text class="evaluation-text">{{ item.evaluate_info.user_review }}</text> <text class="evaluation-text">{{ item.evaluate_info.user_review }}</text>
<!-- 评价图片区域 --> <!-- 评价图片区域 -->
<view class="image-list" v-if="item.evaluate_info.review_image && item.evaluate_info.review_image.length > 0"> <view class="image-list"
<view class="image-item" v-for="(img, index) in parseReviewImages(item.evaluate_info.review_image)" :key="index"> v-if="item.evaluate_info.review_image && item.evaluate_info.review_image.length > 0">
<image :src="img" @tap="previewImage(parseReviewImages(item.evaluate_info.review_image), index)"></image> <view class="image-item" v-for="(img, index) in parseReviewImages(item.evaluate_info.review_image)"
:key="index">
<image :src="img" @tap="previewImage(parseReviewImages(item.evaluate_info.review_image), index)">
</image>
</view> </view>
</view> </view>
<text class="order-date">{{ item.evaluate_info.create_time }}</text> <text class="order-date">{{ item.evaluate_info.create_time }}</text>
</view> </view>
<!-- 商品信息区域 --> <!-- 商品信息区域 -->
<view class="product-info"> <view class="product-info" @click="toDetail(item)">
<view class="product-img"> <view class="product-img">
<image :src="item.commodity_order_item_list[0].commodity_pic"></image> <image :src="item.commodity_order_item_list[0].commodity_pic"></image>
<view class="tag" v-if="item.commodity_order_item_list[0].is_same_day === 1" :key="index">当日达</view> <view class="tag" v-if="item.commodity_order_item_list[0].is_same_day === 1" :key="index">当日达</view>
@ -30,7 +33,8 @@
<view class="product-details"> <view class="product-details">
<text class="product-name">{{ item.commodity_order_item_list[0].goods_name }}</text> <text class="product-name">{{ item.commodity_order_item_list[0].goods_name }}</text>
<text class="product-spec">{{ item.commodity_order_item_list[0].goods_spec }}</text> <text class="product-spec">{{ item.commodity_order_item_list[0].goods_spec }}</text>
<text class="product-unit">{{ item.commodity_order_item_list[0].sales_price }}/{{ item.commodity_order_item_list[0].goods_unit }}</text> <text class="product-unit">{{ item.commodity_order_item_list[0].sales_price }}/{{
item.commodity_order_item_list[0].goods_unit }}</text>
</view> </view>
</view> </view>
</view> </view>
@ -40,6 +44,8 @@
</template> </template>
<script> <script>
import { picUrl, NavgateTo, request } from "../../../utils";
export default { export default {
props: { props: {
orderData: { orderData: {
@ -53,6 +59,11 @@ export default {
}; };
}, },
methods: { methods: {
toDetail(item) {
const goodId = item.commodity_order_item_list[0].goods_id
const orderInfo = item
NavgateTo(`/packages/myOrders/goodDetails/index?item=${JSON.stringify(orderInfo)} &goodId=${JSON.stringify(goodId)}`);
},
// //
previewImage(imageList, currentIndex) { previewImage(imageList, currentIndex) {
uni.previewImage({ uni.previewImage({
@ -69,7 +80,7 @@ export default {
// //
const cleanStr = reviewImage.replace(/^"|"$/g, '').replace(/^'|'$/g, '').trim(); const cleanStr = reviewImage.replace(/^"|"$/g, '').replace(/^'|'$/g, '').trim();
let images = []; let images = [];
// 使JSON // 使JSON
if (cleanStr.startsWith('[') && cleanStr.endsWith(']')) { if (cleanStr.startsWith('[') && cleanStr.endsWith(']')) {
images = JSON.parse(cleanStr); images = JSON.parse(cleanStr);
@ -77,7 +88,7 @@ export default {
// //
images = cleanStr.split(',').map(img => img.trim()); images = cleanStr.split(',').map(img => img.trim());
} }
// URL // URL
return Array.isArray(images) ? images : []; return Array.isArray(images) ? images : [];
} }
@ -101,7 +112,7 @@ export default {
this.orderList = newVal; this.orderList = newVal;
console.log("🚀 ~ watch orderData ~ this.orderList:", this.orderList); console.log("🚀 ~ watch orderData ~ this.orderList:", this.orderList);
}, },
deep: true deep: true
} }
} }
}; };

View File

@ -210,9 +210,13 @@ export default {
}); });
}, },
toDetail(itemObj) { toDetail(itemObj) {
let targetItem = itemObj;
if(!targetItem.group_buy_activity_info && targetItem.group_buy_goods_list && targetItem.group_buy_goods_list.length > 0){
targetItem = targetItem.group_buy_goods_list[0];
}
const item = { const item = {
...itemObj, ...targetItem,
groupById: itemObj.group_buy_activity_info.id groupById: targetItem.group_buy_activity_info.id
}; };
NavgateTo(`/packages/shop/groupPurchaseDetail/index?item=${JSON.stringify(item)}`) NavgateTo(`/packages/shop/groupPurchaseDetail/index?item=${JSON.stringify(item)}`)
}, },

View File

@ -83,7 +83,7 @@
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
border: 1rpx solid #f7f7f7; /* border: 1rpx solid #f7f7f7; */
} }
.work-order-icon { .work-order-icon {