| | |
| | | // 直接从data数组中获取最新的canNum值,而不依赖选择时的数据 |
| | | const currentDataItem = this.data.find(d => d.id === item.id); |
| | | const finalDeliveryNum = currentDataItem ? currentDataItem.canNum : item.num; |
| | | |
| | | |
| | | console.log('处理商品项:', { |
| | | id: item.id, |
| | | selectedCanNum: item.canNum, |
| | |
| | | num: item.num, |
| | | finalDeliveryNum: finalDeliveryNum |
| | | }); |
| | | |
| | | |
| | | return { |
| | | orderItemId: item.id, |
| | | deliveryNum: finalDeliveryNum, |
| | |
| | | // 只在弹窗打开状态下才保留用户修改的canNum值 |
| | | const existingItem = this.groupShipModalOpened ? this.data.find(d => d.id === item.id) : null; |
| | | const defaultCanNum = item.num - item.deliverNumber; |
| | | |
| | | |
| | | return { |
| | | ...item, |
| | | ___num: item.num, |
| | | _disabled: item.deliverNumber >= item.num, |
| | | // 如果弹窗已打开且用户已经修改过canNum且值合理,则保留;否则使用默认值 |
| | | canNum: (existingItem && existingItem.canNum !== undefined && existingItem.canNum <= defaultCanNum) |
| | | ? existingItem.canNum |
| | | canNum: (existingItem && existingItem.canNum !== undefined && existingItem.canNum <= defaultCanNum) |
| | | ? existingItem.canNum |
| | | : defaultCanNum |
| | | }; |
| | | }); |