diff --git a/inventory-backend/app/models/outbound.py b/inventory-backend/app/models/outbound.py
index 68db370..0b1dfc3 100644
--- a/inventory-backend/app/models/outbound.py
+++ b/inventory-backend/app/models/outbound.py
@@ -133,6 +133,9 @@ class TransOutbound(db.Model):
outbound_time = db.Column(db.DateTime, default=beijing_time)
operator_name = db.Column(db.String(100)) # 操作员
+ # [新增] 出库时的库位快照(从源库存记录带出,便于历史追溯)
+ warehouse_location = db.Column(db.String(100))
+
remark = db.Column(db.Text)
def to_dict(self):
@@ -148,5 +151,6 @@ class TransOutbound(db.Model):
'signature_path': self.signature_path,
'outbound_time': self.outbound_time.strftime('%Y-%m-%d %H:%M:%S') if self.outbound_time else None,
'operator_name': self.operator_name,
+ 'warehouse_location': self.warehouse_location or '',
'remark': self.remark
}
\ No newline at end of file
diff --git a/inventory-backend/app/models/transaction.py b/inventory-backend/app/models/transaction.py
index a8403eb..bc4e79f 100644
--- a/inventory-backend/app/models/transaction.py
+++ b/inventory-backend/app/models/transaction.py
@@ -23,6 +23,8 @@ class TransBorrow(db.Model):
return_operator = db.Column(db.String(100))
return_signature = db.Column(db.Text)
return_location = db.Column(db.String(100))
+ # [新增] 借出时的库位快照(从源库存记录带出,便于历史追溯)
+ location = db.Column(db.String(100))
status = db.Column(db.String(20), default='borrowed')
remark = db.Column(db.Text)
@@ -49,6 +51,7 @@ class TransBorrow(db.Model):
'return_operator': self.return_operator,
'return_signature': self.return_signature,
'return_location': self.return_location,
+ 'location': self.location or '',
'status': self.status,
'remark': self.remark,
}
diff --git a/inventory-backend/app/services/outbound_service.py b/inventory-backend/app/services/outbound_service.py
index 56a06b6..3d35b92 100644
--- a/inventory-backend/app/services/outbound_service.py
+++ b/inventory-backend/app/services/outbound_service.py
@@ -278,6 +278,8 @@ class OutboundService:
quantity=quantity,
unit_price=unit_price,
outbound_time=current_time,
+ # [新增] 记录出库时的库位快照
+ warehouse_location=getattr(stock_record, 'warehouse_location', None),
**common_data
)
db.session.add(new_record)
@@ -647,7 +649,9 @@ class OutboundService:
'quantity': qty,
'unit_price': price,
'subtotal': subtotal,
- 'batch_sn': batch_sn
+ 'batch_sn': batch_sn,
+ # [新增] 出库时的库位快照(展示用)
+ 'warehouse_location': getattr(d, 'warehouse_location', None) or ''
})
# 4. 排序输出
diff --git a/inventory-backend/app/services/trans_service.py b/inventory-backend/app/services/trans_service.py
index 94725f4..e4c3b32 100644
--- a/inventory-backend/app/services/trans_service.py
+++ b/inventory-backend/app/services/trans_service.py
@@ -152,6 +152,8 @@ class TransService:
borrow_signature=signature,
remark=remark,
expected_return_time=expected_return_time,
+ # [新增] 记录借出时的库位快照
+ location=getattr(stock, 'warehouse_location', None),
status='borrowed',
is_returned=False
)
diff --git a/inventory-web/src/views/outbound/index.vue b/inventory-web/src/views/outbound/index.vue
index 14ee3e6..d1f3993 100644
--- a/inventory-web/src/views/outbound/index.vue
+++ b/inventory-web/src/views/outbound/index.vue
@@ -56,6 +56,12 @@
+
+
+ {{ row.warehouse_location }}
+ -
+
+
diff --git a/inventory-web/src/views/transaction/records.vue b/inventory-web/src/views/transaction/records.vue
index ad11712..4b15a3c 100644
--- a/inventory-web/src/views/transaction/records.vue
+++ b/inventory-web/src/views/transaction/records.vue
@@ -60,6 +60,12 @@
0
+
+
+ {{ row.location }}
+ -
+
+
{{ row.return_location }}