1
0
forked from erp-dev/erp

feat: sales return order and purchase return order

This commit is contained in:
2025-12-01 16:52:59 +08:00
parent a3b4af2602
commit fae33809ac
17 changed files with 1745 additions and 6 deletions

View File

@@ -49,6 +49,82 @@ class PurchaseOrderItemAdmin(admin.ModelAdmin):
return obj.total_amount()
@admin.register(models.PurchaseReturnOrder)
class PurchaseReturnOrderAdmin(admin.ModelAdmin):
list_display = ('id', 'supplier', 'return_date', 'operator', 'status', '_total_amount', 'created_at')
search_fields = ('supplier__name',)
list_filter = ('operator', 'warehouse', 'status', 'created_at')
ordering = ('-created_at',)
@admin.display(description='总价')
def _total_amount(self, obj: models.PurchaseReturnOrder):
return obj.get_total_amount()
@admin.register(models.PurchaseReturnOrderItem)
class PurchaseReturnOrderItemAdmin(admin.ModelAdmin):
list_display = (
'id', 'purchase_return_order', 'product',
'quantity', 'unit', 'price', 'batch_number',
'_total_amount', 'empty_diff_percent',
'_real_quantity', '_diff_quantity',
'num_of_rolls',
)
search_fields = ('purchase_return_order__id', 'product__name')
list_filter = ('purchase_return_order__operator', 'purchase_return_order__warehouse', 'created_at')
ordering = ('-created_at',)
@admin.display(description='实际数量')
def _real_quantity(self, obj: models.PurchaseReturnOrderItem):
return obj.real_quantity()
@admin.display(description='差异数量')
def _diff_quantity(self, obj: models.PurchaseReturnOrderItem):
return obj.diff_quantity()
@admin.display(description='总金额')
def _total_amount(self, obj: models.PurchaseReturnOrderItem):
return obj.total_amount()
@admin.register(models.SalesReturnOrder)
class SalesReturnOrderAdmin(admin.ModelAdmin):
list_display = ('id', 'customer', 'return_date', 'operator', 'status', '_total_amount', 'created_at')
search_fields = ('customer__name',)
list_filter = ('operator', 'warehouse', 'status', 'created_at')
ordering = ('-created_at',)
@admin.display(description='总价')
def _total_amount(self, obj: models.SalesReturnOrder):
return obj.get_total_amount()
@admin.register(models.SalesReturnOrderItem)
class SalesReturnOrderItemAdmin(admin.ModelAdmin):
list_display = (
'id', 'sales_return_order', 'product',
'quantity', 'unit', 'price', 'batch_number',
'_total_amount', 'empty_diff_percent',
'_real_quantity', '_diff_quantity',
'num_of_rolls',
)
search_fields = ('sales_return_order__id', 'product__name')
list_filter = ('sales_return_order__operator', 'sales_return_order__warehouse', 'created_at')
ordering = ('-created_at',)
@admin.display(description='实际数量')
def _real_quantity(self, obj: models.SalesReturnOrderItem):
return obj.real_quantity()
@admin.display(description='差异数量')
def _diff_quantity(self, obj: models.SalesReturnOrderItem):
return obj.diff_quantity()
@admin.display(description='总金额')
def _total_amount(self, obj: models.SalesReturnOrderItem):
return obj.total_amount()
@admin.register(models.CustomerBalance)
class CustomerBalancemAdmin(admin.ModelAdmin):
list_display = ('id', 'customer', 'balance', 'created_at')