diff --git a/pages/manager/inspect.vue b/pages/manager/inspect.vue index 1de67b1..221575d 100644 --- a/pages/manager/inspect.vue +++ b/pages/manager/inspect.vue @@ -215,6 +215,18 @@ export default { // 通过商品ID查找对应的订单项,获取分类信息 const orderItem = this.order?.commonOrderList?.find(item => item.id == inspectItem.id) + + // 如果通过订单ID没找到,尝试通过API商品ID查找 + if (!orderItem) { + // 遍历所有订单项,查找是否有shopId匹配当前inspectItem.id的 + const matchingOrderItem = this.order?.commonOrderList?.find(item => item.shopId == inspectItem.id) + if (matchingOrderItem && matchingOrderItem.shopClass === categoryId) { + totalCount += inspectItem.qualifiedNum || 0 + return + } + } + + // 如果找到了订单项,检查分类是否匹配 if (orderItem && orderItem.shopClass === categoryId) { // 累加该商品的合格数量 totalCount += inspectItem.qualifiedNum || 0 @@ -278,13 +290,17 @@ export default { // 不可回收分类内容 if (currentCategoryId === 'unrecyclable') { + // 从inspectResult中获取不可回收的数量 + const unrecyclableItem = this.inspectResult.list?.find(item => item.id === 'unrecyclable') + const unrecyclableCount = unrecyclableItem ? unrecyclableItem.unrecyclable : 0 + this.currentGoods = [{ id: 'unrecyclable-1', image: '/static/回收/衣物.png', name: '不可回收品类', price: '—', desc: '允许脏破烂,160码以上', - qualified: 0, + qualified: unrecyclableCount, amount: '', originalNum: 0 // 不设置最大数量限制 }] @@ -293,13 +309,17 @@ export default { // 质量问题分类内容 if (currentCategoryId === 'quality_issue') { + // 从inspectResult中获取质量问题的数量 + const qualityIssueItem = this.inspectResult.list?.find(item => item.id === 'quality_issue') + const qualityIssueCount = qualityIssueItem ? qualityIssueItem.noQualifiedNum : 0 + this.currentGoods = [{ id: 'quality-issue-1', image: '/static/回收/衣物.png', name: '质量问题品类', price: '—', desc: '存在质量问题,无法正常回收', - qualified: 0, + qualified: qualityIssueCount, amount: '', originalNum: 0 // 不设置最大数量限制 }] @@ -315,14 +335,29 @@ export default { const orderItem = this.getOrderItemByProductId(item.id) const presetQuantity = orderItem ? (orderItem.num || 0) : 0 + // 优先使用订单中的商品ID,如果没有则使用API商品ID + let itemId = item.id + + // 尝试从订单数据中找到对应的商品ID + if (orderItem && orderItem.id) { + itemId = orderItem.id // 使用订单中的商品ID + } + + // 从inspectResult中获取用户已经修改的数量 + const inspectItem = this.inspectResult.list?.find(listItem => listItem.id == itemId) + const userModifiedQuantity = inspectItem ? inspectItem.qualifiedNum : 0 + + // 优先使用用户修改的数量,如果没有则使用预置数量 + const displayQuantity = userModifiedQuantity > 0 ? userModifiedQuantity : presetQuantity + return { id: item.id, image: item.image || '/static/回收/衣物.png', name: item.name, price: item.price || 0, desc: item.service || '允许脏破烂,160码以上', - qualified: presetQuantity, // 使用订单中的预置数量 - amount: orderItem ? (orderItem.estimatedPrice || '') : '', + qualified: displayQuantity, // 优先使用用户修改的数量 + amount: inspectItem ? inspectItem.price : (orderItem ? orderItem.estimatedPrice : ''), originalNum: presetQuantity, // 设置原始数量 estimatedPrice: orderItem ? orderItem.estimatedPrice : 0, originalId: item.id, @@ -528,7 +563,15 @@ export default { } // 找到或创建对应的inspectResult项 - const itemId = item.originalId || item.id + // 优先使用订单中的商品ID,如果没有则使用API商品ID + let itemId = item.originalId || item.id + + // 尝试从订单数据中找到对应的商品ID + const orderItem = this.getOrderItemByProductId(itemId) + if (orderItem && orderItem.id) { + itemId = orderItem.id // 使用订单中的商品ID + } + let inspectItem = this.inspectResult.list.find(listItem => listItem.id == itemId) // 如果不存在,动态创建 @@ -569,7 +612,15 @@ export default { return '' } - const itemId = item.originalId || item.id + // 优先使用订单中的商品ID,如果没有则使用API商品ID + let itemId = item.originalId || item.id + + // 尝试从订单数据中找到对应的商品ID + const orderItem = this.getOrderItemByProductId(itemId) + if (orderItem && orderItem.id) { + itemId = orderItem.id // 使用订单中的商品ID + } + const inspectItem = this.inspectResult.list?.find(listItem => listItem.id == itemId) return inspectItem ? inspectItem.price : '' }, @@ -579,7 +630,15 @@ export default { return } - const itemId = item.originalId || item.id + // 优先使用订单中的商品ID,如果没有则使用API商品ID + let itemId = item.originalId || item.id + + // 尝试从订单数据中找到对应的商品ID + const orderItem = this.getOrderItemByProductId(itemId) + if (orderItem && orderItem.id) { + itemId = orderItem.id // 使用订单中的商品ID + } + let inspectItem = this.inspectResult.list?.find(listItem => listItem.id == itemId) // 如果不存在,动态创建 diff --git a/pages/manager/order-detail.vue b/pages/manager/order-detail.vue index f415349..30ae8f8 100644 --- a/pages/manager/order-detail.vue +++ b/pages/manager/order-detail.vue @@ -823,7 +823,7 @@ $order-card-padding: 40px 28px; border-radius: 24px; display: flex; align-items: center; - padding: 24px 20px; + padding: 24px 16px; box-shadow: 0 2px 8px rgba(255, 156, 0, 0.04); position: relative; margin-bottom: 18px; @@ -843,7 +843,7 @@ $order-card-padding: 40px 28px; flex-direction: column; justify-content: center; min-width: 0; - margin-right: 10px; + margin-right: 16px; } .custom-goods-name { font-size: 15px; @@ -895,10 +895,10 @@ $order-card-padding: 40px 28px; color: #222; font-size: 15px; font-weight: bold; - margin-left: 18px; + margin-left: 12px; flex-shrink: 0; white-space: nowrap; - min-width: 80px; + min-width: 60px; text-align: right; } .user-stat-modal-mask {