fix: 修复导入ID重复覆盖逻辑、Excel列顺序对齐及UI优化
This commit is contained in:
+29
-8
@@ -88,7 +88,7 @@ def dashboard(request):
|
||||
def asset_list(request):
|
||||
queryset = Asset.objects.select_related('category')
|
||||
|
||||
# 搜索
|
||||
# 搜索(模糊搜索所有字段)
|
||||
search = request.GET.get('search', '').strip()
|
||||
if search:
|
||||
queryset = queryset.filter(
|
||||
@@ -96,12 +96,18 @@ def asset_list(request):
|
||||
Q(name__icontains=search) |
|
||||
Q(serial_number__icontains=search) |
|
||||
Q(ip_address__icontains=search) |
|
||||
Q(bmc_address__icontains=search) |
|
||||
Q(brand__icontains=search) |
|
||||
Q(model__icontains=search) |
|
||||
Q(location__icontains=search) |
|
||||
Q(cabinet__icontains=search) |
|
||||
Q(cabinet_position__icontains=search) |
|
||||
Q(responsible_person__icontains=search) |
|
||||
Q(department__icontains=search) |
|
||||
Q(user__icontains=search)
|
||||
Q(user__icontains=search) |
|
||||
Q(business_type__icontains=search) |
|
||||
Q(gpu_type__icontains=search) |
|
||||
Q(gpu_count__icontains=search)
|
||||
)
|
||||
|
||||
# 筛选
|
||||
@@ -113,9 +119,13 @@ def asset_list(request):
|
||||
if status:
|
||||
queryset = queryset.filter(status=status)
|
||||
|
||||
location = request.GET.get('location')
|
||||
if location:
|
||||
queryset = queryset.filter(location__icontains=location)
|
||||
cabinet = request.GET.get('cabinet')
|
||||
if cabinet:
|
||||
queryset = queryset.filter(cabinet__icontains=cabinet)
|
||||
|
||||
business_type = request.GET.get('business_type')
|
||||
if business_type:
|
||||
queryset = queryset.filter(business_type=business_type)
|
||||
|
||||
# 排序
|
||||
sort = request.GET.get('sort', 'id')
|
||||
@@ -132,7 +142,16 @@ def asset_list(request):
|
||||
page_obj = paginator.get_page(page_number)
|
||||
|
||||
categories = Category.objects.all()
|
||||
locations = Asset.objects.values_list('location', flat=True).exclude(location='').distinct()
|
||||
cabinets = sorted(set(
|
||||
Asset.objects.values_list('cabinet', flat=True)
|
||||
.exclude(cabinet='')
|
||||
.exclude(cabinet=None)
|
||||
))
|
||||
business_types = sorted(set(
|
||||
Asset.objects.values_list('business_type', flat=True)
|
||||
.exclude(business_type='')
|
||||
.exclude(business_type=None)
|
||||
))
|
||||
|
||||
context = {
|
||||
'page_obj': page_obj,
|
||||
@@ -140,8 +159,10 @@ def asset_list(request):
|
||||
'categories': categories,
|
||||
'current_category': category_id,
|
||||
'current_status': status,
|
||||
'current_location': location,
|
||||
'locations': locations,
|
||||
'current_cabinet': cabinet,
|
||||
'current_business_type': business_type,
|
||||
'cabinets': cabinets,
|
||||
'business_types': business_types,
|
||||
'status_map': STATUS_MAP,
|
||||
'sort': sort,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user