from django.http import JsonResponse from django.shortcuts import render from django.urls import reverse from common.utils.page_helper import paginate_query_and_assign_numbers from .models import * # Create your views.txt here. def fixed_assets_list_view(request): # 声明查询集 query_set = FixedAssetsInventory.objects.filter().order_by('-asset_id') # 获取查询参数 asset_id = request.GET.get('asset_id', '') brand = request.GET.get('brand', '') # 根据提供的参数进行筛选 if asset_id: query_set = query_set.filter(asset_id__icontains=asset_id) if brand: query_set = query_set.filter(brand__icontains=brand) # 对查询结果进行分页,每页10条记录 items = paginate_query_and_assign_numbers( request=request, queryset=query_set, per_page=10 ) # 构建上下文查询参数字符串 query_params = '&asset_id={}&brand={}'.format(asset_id, brand) # Excel上传模板 template_name = "资产管理-固定资产清单表-Excel上传模板.xlsx" # 构建上下文 context = { "model_config": 'asset_mgnt.FixedAssetsInventory', "items": items, "breadcrumb_list": [ {"title": "首页", "name": "index"}, {"title": "资产管理", "name": "index"}, {"title": "固定资产清单表", "name": "fixed_assets_list"} ], "filters": [ {"type": "text", "id": "asset_id", "name": "asset_id", "label": "资产编号", "placeholder": "请输入资产编号"}, {"type": "text", "id": "brand", "name": "brand", "label": "品牌", "placeholder": "请输入品牌"} ], "excel_upload_config": { "template_url": reverse("download_template", kwargs={'template_name': template_name}), "parse_url": reverse("common_excel_parse"), "save_url": reverse("save_excel_table_data"), "fields_preview_config": { "asset_id": {"type": "text", "width": "180px"}, "asset_category": {"type": "text", "width": "180px"}, "brand": {"type": "text", "width": "180px"}, "model": {"type": "text", "width": "180px"}, "unit": {"type": "text", "width": "180px"}, "quantity": {"type": "number", "width": "100px"}, "affiliated_entity": {"type": "text", "width": "180px"}, "location": {"type": "text", "width": "180px"}, "department": {"type": "text", "width": "180px"}, "user": {"type": "text", "width": "180px"}, "purchase_date": {"type": "date", "width": "110px"}, "recorded_date": {"type": "date", "width": "110px"}, "original_value": {"type": "number", "width": "100px"}, "residual_value": {"type": "number", "width": "100px"}, "depreciation_method": {"type": "text", "width": "180px"}, "depreciation_years": {"type": "number", "width": "100px"}, "depreciation_months": {"type": "number", "width": "100px"}, "book_value": {"type": "number", "width": "100px"}, "status": {"type": "text", "width": "100px"}, "actions": {"type": "actions", "width": "100px"} } }, "query_params": query_params, "form_action_url": 'fixed_assets_list', "modify_url": reverse("fixed_assets_list_modify"), "add_url": reverse("fixed_assets_list_add"), "delete_url": reverse("fixed_assets_list_delete"), } return render(request, '../templates/list.html', context) def fixed_assets_list_add(request): if request.method == 'POST': data = { 'asset_id': request.POST.get('asset_id'), 'asset_category': request.POST.get('asset_category'), 'brand': request.POST.get('brand'), 'model': request.POST.get('model'), 'unit': request.POST.get('unit'), 'quantity': request.POST.get('quantity'), 'affiliated_entity': request.POST.get('affiliated_entity'), 'location': request.POST.get('location'), 'department': request.POST.get('department'), 'user': request.POST.get('user'), 'purchase_date': request.POST.get('purchase_date'), 'recorded_date': request.POST.get('recorded_date'), 'original_value': request.POST.get('original_value'), 'residual_value': request.POST.get('residual_value'), 'depreciation_method': request.POST.get('depreciation_method'), 'depreciation_years': request.POST.get('depreciation_years'), 'depreciation_months': request.POST.get('depreciation_months'), 'book_value': request.POST.get('book_value'), 'status': request.POST.get('status') } FixedAssetsInventory.objects.create(**data) return JsonResponse({"message": "添加成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def fixed_assets_list_modify(request): if request.method == 'POST': asset_id = request.POST.get('asset_id') data = { 'asset_category': request.POST.get('asset_category'), 'brand': request.POST.get('brand'), 'model': request.POST.get('model'), 'unit': request.POST.get('unit'), 'quantity': request.POST.get('quantity'), 'affiliated_entity': request.POST.get('affiliated_entity'), 'location': request.POST.get('location'), 'department': request.POST.get('department'), 'user': request.POST.get('user'), 'purchase_date': request.POST.get('purchase_date'), 'recorded_date': request.POST.get('recorded_date'), 'original_value': request.POST.get('original_value'), 'residual_value': request.POST.get('residual_value'), 'depreciation_method': request.POST.get('depreciation_method'), 'depreciation_years': request.POST.get('depreciation_years'), 'depreciation_months': request.POST.get('depreciation_months'), 'book_value': request.POST.get('book_value'), 'status': request.POST.get('status') } FixedAssetsInventory.objects.filter(asset_id=asset_id).update(**data) return JsonResponse({"message": "修改成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def fixed_assets_list_delete(request): if request.method == 'GET': asset_id = request.GET.get('asset_id') FixedAssetsInventory.objects.filter(asset_id=asset_id).delete() return JsonResponse({"message": "删除成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def intangible_assets_list_view(request): # 声明查询集 query_set = IntangibleAssetsInventory.objects.filter().order_by('-asset_id') # 获取查询参数 asset_id = request.GET.get('asset_id', '') brand = request.GET.get('brand', '') # 根据提供的参数进行筛选 if asset_id: query_set = query_set.filter(asset_id__icontains=asset_id) if brand: query_set = query_set.filter(brand__icontains=brand) # 对查询结果进行分页,每页10条记录 items = paginate_query_and_assign_numbers( request=request, queryset=query_set, per_page=10 ) # 构建上下文查询参数字符串 query_params = '&asset_id={}&brand={}'.format(asset_id, brand) # Excel上传模板 template_name = "资产管理-无形资产清单表-Excel上传模板.xlsx" # 构建上下文 context = { "model_config": 'asset_mgnt.IntangibleAssetsInventory', "items": items, "breadcrumb_list": [ {"title": "首页", "name": "index"}, {"title": "资产管理", "name": "index"}, {"title": "无形资产清单表", "name": "intangible_assets_list"} ], "filters": [ {"type": "text", "id": "asset_id", "name": "asset_id", "label": "资产编号", "placeholder": "请输入资产编号"}, {"type": "text", "id": "brand", "name": "brand", "label": "品牌", "placeholder": "请输入品牌"} ], "excel_upload_config": { "template_url": reverse("download_template", kwargs={'template_name': template_name}), "parse_url": reverse("common_excel_parse"), "save_url": reverse("save_excel_table_data"), "fields_preview_config": { "asset_id": {"type": "text", "width": "180px"}, "asset_category": {"type": "text", "width": "180px"}, "brand": {"type": "text", "width": "180px"}, "model": {"type": "text", "width": "180px"}, "unit": {"type": "text", "width": "180px"}, "quantity": {"type": "number", "width": "100px"}, "affiliated_entity": {"type": "text", "width": "180px"}, "location": {"type": "text", "width": "180px"}, "department": {"type": "text", "width": "180px"}, "user": {"type": "text", "width": "180px"}, "purchase_date": {"type": "date", "width": "110px"}, "recorded_date": {"type": "date", "width": "110px"}, "original_value": {"type": "number", "width": "100px"}, "residual_value": {"type": "number", "width": "100px"}, "amortization_method": {"type": "text", "width": "180px"}, "amortization_years": {"type": "number", "width": "100px"}, "amortization_months": {"type": "number", "width": "100px"}, "book_value": {"type": "number", "width": "100px"}, "status": {"type": "text", "width": "100px"}, "actions": {"type": "actions", "width": "100px"} } }, "query_params": query_params, "form_action_url": 'intangible_assets_list', "modify_url": reverse("intangible_assets_list_modify"), "add_url": reverse("intangible_assets_list_add"), "delete_url": reverse("intangible_assets_list_delete"), } return render(request, '../templates/list.html', context) def intangible_assets_list_add(request): if request.method == 'POST': data = { 'asset_id': request.POST.get('asset_id'), 'asset_category': request.POST.get('asset_category'), 'brand': request.POST.get('brand'), 'model': request.POST.get('model'), 'unit': request.POST.get('unit'), 'quantity': request.POST.get('quantity'), 'affiliated_entity': request.POST.get('affiliated_entity'), 'department': request.POST.get('department'), 'user': request.POST.get('user'), 'purchase_date': request.POST.get('purchase_date'), 'recorded_date': request.POST.get('recorded_date'), 'original_value': request.POST.get('original_value'), 'residual_value': request.POST.get('residual_value'), 'amortization_method': request.POST.get('amortization_method'), 'amortization_years': request.POST.get('amortization_years'), 'amortization_months': request.POST.get('amortization_months'), 'book_value': request.POST.get('book_value'), 'status': request.POST.get('status') } IntangibleAssetsInventory.objects.create(**data) return JsonResponse({"message": "添加成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def intangible_assets_list_modify(request): if request.method == 'POST': asset_id = request.POST.get('asset_id') data = { 'asset_category': request.POST.get('asset_category'), 'brand': request.POST.get('brand'), 'model': request.POST.get('model'), 'unit': request.POST.get('unit'), 'quantity': request.POST.get('quantity'), 'affiliated_entity': request.POST.get('affiliated_entity'), 'department': request.POST.get('department'), 'user': request.POST.get('user'), 'purchase_date': request.POST.get('purchase_date'), 'recorded_date': request.POST.get('recorded_date'), 'original_value': request.POST.get('original_value'), 'residual_value': request.POST.get('residual_value'), 'amortization_method': request.POST.get('amortization_method'), 'amortization_years': request.POST.get('amortization_years'), 'amortization_months': request.POST.get('amortization_months'), 'book_value': request.POST.get('book_value'), 'status': request.POST.get('status') } IntangibleAssetsInventory.objects.filter(asset_id=asset_id).update(**data) return JsonResponse({"message": "修改成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def intangible_assets_list_delete(request): if request.method == 'GET': asset_id = request.GET.get('asset_id') IntangibleAssetsInventory.objects.filter(asset_id=asset_id).delete() return JsonResponse({"message": "删除成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405)