from django.http import JsonResponse from django.shortcuts import render from django.urls import reverse from application.rsc_mgnt.models import * from common.utils.page_helper import paginate_query_and_assign_numbers def cg_cat_list_view(request): # 声明查询集 query_set = ConsumableGoodsCategory.objects.filter().order_by('-category_id') # 获取查询参数 category_name = request.GET.get('category_name', '') # 根据提供的参数进行筛选 if category_name: query_set = query_set.filter(category_name__icontains=category_name) # 对查询结果进行分页,每页10条记录 items = paginate_query_and_assign_numbers( request=request, queryset=query_set, per_page=10 ) # 构建上下文查询参数字符串 query_params = '&category_name={}'.format(category_name) # Excel上传模板 template_name = "资源管理-消耗品类别管理-Excel上传模板.xlsx" # 构建上下文 context = { "model_config": 'rsc_mgnt.ConsumableGoodsCategory', "items": items, "breadcrumb_list": [ {"title": "首页", "name": "index"}, {"title": "资源管理", "name": "index"}, {"title": "消耗品类别管理", "name": "cg_cat_list"} ], "filters": [ {"type": "text", "id": "category_name", "name": "category_name", "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": { "category_id": {"type": "text", "width": "180px"}, "category_name": {"type": "text", "width": "180px"}, "description": {"type": "text", "width": "180px"}, "actions": {"type": "actions", "width": "100px"} } }, "query_params": query_params, "form_action_url": 'cg_cat_list', "modify_url": reverse("cg_cat_list_modify"), "add_url": reverse("cg_cat_list_add"), "delete_url": reverse("cg_cat_list_delete"), } return render(request, '../templates/list.html', context) def cg_cat_list_add(request): if request.method == 'POST': data = { 'category_name': request.POST.get('category_name'), 'description': request.POST.get('description') } ConsumableGoodsCategory.objects.create(**data) return JsonResponse({"message": "添加成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def cg_cat_list_modify(request): if request.method == 'POST': category_id = request.POST.get('category_id') data = { 'category_name': request.POST.get('category_name'), 'description': request.POST.get('description') } ConsumableGoodsCategory.objects.filter(category_id=category_id).update(**data) return JsonResponse({"message": "修改成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def cg_cat_list_delete(request): if request.method == 'GET': target_id = request.GET.get('target_id') ConsumableGoodsCategory.objects.filter(category_id=target_id).delete() return JsonResponse({"message": "删除成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def cg_inv_list_view(request): # 声明查询集 query_set = ConsumableGoodsInventory.objects.filter().order_by('-inventory_id') # 获取查询参数 inventory_id = request.GET.get('inventory_id', '') # 根据提供的参数进行筛选 if inventory_id: query_set = query_set.filter(inventory_id__icontains=inventory_id) # 对查询结果进行分页,每页10条记录 items = paginate_query_and_assign_numbers( request=request, queryset=query_set, per_page=10 ) # 构建上下文查询参数字符串 query_params = '&inventory_id={}'.format(inventory_id) # Excel上传模板 template_name = "资源管理-消耗品库存-Excel上传模板.xlsx" # 构建上下文 context = { "model_config": 'rsc_mgnt.ConsumableGoodsInventory', "items": items, "breadcrumb_list": [ {"title": "首页", "name": "index"}, {"title": "资源管理", "name": "index"}, {"title": "消耗品库存", "name": "cg_inv_list"} ], "filters": [ {"type": "text", "id": "inventory_id", "name": "inventory_id", "label": "库存ID", "placeholder": "请输入库存ID"} ], "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": { "inventory_id": {"type": "text", "width": "180px"}, "item": {"type": "text", "width": "180px"}, "category": {"type": "text", "width": "180px"}, "specification": {"type": "text", "width": "180px"}, "unit": {"type": "text", "width": "180px"}, "current_inventory": {"type": "number", "width": "180px"}, "safety_stock": {"type": "number", "width": "180px"}, "replenishment_alert": {"type": "boolean", "width": "180px"}, "storage_location": {"type": "text", "width": "180px"}, "actions": {"type": "actions", "width": "100px"} } }, "query_params": query_params, "form_action_url": 'cg_inv_list', "modify_url": reverse("cg_inv_list_modify"), "add_url": reverse("cg_inv_list_add"), "delete_url": reverse("cg_inv_list_delete"), } return render(request, '../templates/list.html', context) def cg_inv_list_add(request): if request.method == 'POST': data = { 'item': request.POST.get('item'), 'category': request.POST.get('category'), 'specification': request.POST.get('specification'), 'unit': request.POST.get('unit'), 'current_inventory': request.POST.get('current_inventory'), 'safety_stock': request.POST.get('safety_stock'), 'replenishment_alert': request.POST.get('replenishment_alert') == 'true', 'storage_location': request.POST.get('storage_location') } ConsumableGoodsInventory.objects.create(**data) return JsonResponse({"message": "添加成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def cg_inv_list_modify(request): if request.method == 'POST': inventory_id = request.POST.get('inventory_id') data = { 'item': request.POST.get('item'), 'category': request.POST.get('category'), 'specification': request.POST.get('specification'), 'unit': request.POST.get('unit'), 'current_inventory': request.POST.get('current_inventory'), 'safety_stock': request.POST.get('safety_stock'), 'replenishment_alert': request.POST.get('replenishment_alert') == 'true', 'storage_location': request.POST.get('storage_location') } ConsumableGoodsInventory.objects.filter(inventory_id=inventory_id).update(**data) return JsonResponse({"message": "修改成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def cg_inv_list_delete(request): if request.method == 'GET': target_id = request.GET.get('target_id') ConsumableGoodsInventory.objects.filter(inventory_id=target_id).delete() return JsonResponse({"message": "删除成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def cmp_phone_reg_list_view(request): # 声明查询集 query_set = CompanyMobilePhoneUsageRegistry.objects.filter().order_by('-record_id') # 获取查询参数 mobile_number = request.GET.get('mobile_number', '') current_user = request.GET.get('current_user', '') owner = request.GET.get('owner', '') # 根据提供的参数进行筛选 if mobile_number: query_set = query_set.filter(mobile_number__icontains=mobile_number) if current_user: query_set = query_set.filter(current_user__icontains=current_user) if owner: query_set = query_set.filter(owner__icontains=owner) # 对查询结果进行分页,每页10条记录 items = paginate_query_and_assign_numbers( request=request, queryset=query_set, per_page=10 ) # 构建上下文查询参数字符串 query_params = '&mobile_number={}¤t_user={}&owner={}'.format(mobile_number, current_user, owner) # Excel上传模板 template_name = "资源管理-公司手机号使用登记-Excel上传模板.xlsx" # 构建上下文 context = { "model_config": 'rsc_mgnt.CompanyMobilePhoneUsageRegistry', "items": items, "breadcrumb_list": [ {"title": "首页", "name": "index"}, {"title": "资源管理", "name": "index"}, {"title": "公司手机号使用登记", "name": "cmp_phone_reg_list"} ], "filters": [ {"type": "text", "id": "mobile_number", "name": "mobile_number", "label": "手机号", "placeholder": "请输入手机号"}, {"type": "text", "id": "current_user", "name": "current_user", "label": "现使用人", "placeholder": "请输入现使用人"}, {"type": "text", "id": "owner", "name": "owner", "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": { "record_id": {"type": "text", "width": "180px"}, "mobile_number": {"type": "text", "width": "180px"}, "owner": {"type": "text", "width": "180px"}, "current_user": {"type": "text", "width": "180px"}, "purpose": {"type": "text", "width": "180px"}, "actions": {"type": "actions", "width": "100px"} } }, "query_params": query_params, "form_action_url": 'cmp_phone_reg_list', "modify_url": reverse("cmp_phone_reg_list_modify"), "add_url": reverse("cmp_phone_reg_list_add"), "delete_url": reverse("cmp_phone_reg_list_delete"), } return render(request, '../templates/list.html', context) def cmp_phone_reg_list_add(request): if request.method == 'POST': data = { 'mobile_number': request.POST.get('mobile_number'), 'owner': request.POST.get('owner'), 'current_user': request.POST.get('current_user'), 'purpose': request.POST.get('purpose') } CompanyMobilePhoneUsageRegistry.objects.create(**data) return JsonResponse({"message": "添加成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def cmp_phone_reg_list_modify(request): if request.method == 'POST': record_id = request.POST.get('record_id') data = { 'mobile_number': request.POST.get('mobile_number'), 'owner': request.POST.get('owner'), 'current_user': request.POST.get('current_user'), 'purpose': request.POST.get('purpose') } CompanyMobilePhoneUsageRegistry.objects.filter(record_id=record_id).update(**data) return JsonResponse({"message": "修改成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def cmp_phone_reg_list_delete(request): if request.method == 'GET': target_id = request.GET.get('target_id') CompanyMobilePhoneUsageRegistry.objects.filter(record_id=target_id).delete() return JsonResponse({"message": "删除成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def bv_usage_list_view(request): # 声明查询集 query_set = BusinessVehicleUsageRegistry.objects.filter().order_by('-record_id') # 获取查询参数 license_plate = request.GET.get('license_plate', '') checkout_time = request.GET.get('checkout_time', '') # 根据提供的参数进行筛选 if license_plate: query_set = query_set.filter(license_plate__icontains=license_plate) if checkout_time: query_set = query_set.filter(checkout_time__icontains=checkout_time) # 对查询结果进行分页,每页10条记录 items = paginate_query_and_assign_numbers( request=request, queryset=query_set, per_page=10 ) # 构建上下文查询参数字符串 query_params = '&license_plate={}&checkout_time={}'.format(license_plate, checkout_time) # Excel上传模板 template_name = "资源管理-商务车使用登记-Excel上传模板.xlsx" # 构建上下文 context = { "model_config": 'rsc_mgnt.BusinessVehicleUsageRegistry', "items": items, "breadcrumb_list": [ {"title": "首页", "name": "index"}, {"title": "资源管理", "name": "index"}, {"title": "商务车使用登记", "name": "bv_usage_list"} ], "filters": [ {"type": "text", "id": "license_plate", "name": "license_plate", "label": "车牌", "placeholder": "请输入车牌"}, {"type": "date", "id": "checkout_time", "name": "checkout_time", "label": "借用时间"} ], "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": { "record_id": {"type": "text", "width": "180px"}, "license_plate": {"type": "text", "width": "180px"}, "checkout_time": {"type": "datetime", "width": "180px"}, "borrower": {"type": "text", "width": "180px"}, "accompanying_personnel": {"type": "text", "width": "180px"}, "reason": {"type": "text", "width": "180px"}, "destination": {"type": "text", "width": "180px"}, "days_of_use": {"type": "number", "width": "180px"}, "return_time": {"type": "datetime", "width": "180px"}, "actions": {"type": "actions", "width": "100px"} } }, "query_params": query_params, "form_action_url": 'bv_usage_list', "modify_url": reverse("bv_usage_list_modify"), "add_url": reverse("bv_usage_list_add"), "delete_url": reverse("bv_usage_list_delete"), } return render(request, '../templates/list.html', context) def bv_usage_list_add(request): if request.method == 'POST': data = { 'license_plate': request.POST.get('license_plate'), 'checkout_time': request.POST.get('checkout_time'), 'borrower': request.POST.get('borrower'), 'accompanying_personnel': request.POST.get('accompanying_personnel'), 'reason': request.POST.get('reason'), 'destination': request.POST.get('destination'), 'days_of_use': request.POST.get('days_of_use'), 'return_time': request.POST.get('return_time') } BusinessVehicleUsageRegistry.objects.create(**data) return JsonResponse({"message": "添加成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def bv_usage_list_modify(request): if request.method == 'POST': record_id = request.POST.get('record_id') data = { 'license_plate': request.POST.get('license_plate'), 'checkout_time': request.POST.get('checkout_time'), 'borrower': request.POST.get('borrower'), 'accompanying_personnel': request.POST.get('accompanying_personnel'), 'reason': request.POST.get('reason'), 'destination': request.POST.get('destination'), 'days_of_use': request.POST.get('days_of_use'), 'return_time': request.POST.get('return_time') } BusinessVehicleUsageRegistry.objects.filter(record_id=record_id).update(**data) return JsonResponse({"message": "修改成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def bv_usage_list_delete(request): if request.method == 'GET': target_id = request.GET.get('target_id') BusinessVehicleUsageRegistry.objects.filter(record_id=target_id).delete() return JsonResponse({"message": "删除成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def mem_acc_list_view(request): # 声明查询集 query_set = MembershipAccountsRegistry.objects.filter().order_by('-record_id') # 获取查询参数 platform_name = request.GET.get('platform_name', '') status = request.GET.get('status', '') # 根据提供的参数进行筛选 if platform_name: query_set = query_set.filter(platform_name__icontains=platform_name) if status: query_set = query_set.filter(status__icontains=status) # 对查询结果进行分页,每页10条记录 items = paginate_query_and_assign_numbers( request=request, queryset=query_set, per_page=10 ) # 构建上下文查询参数字符串 query_params = '&platform_name={}&status={}'.format(platform_name, status) # Excel上传模板 template_name = "资源管理-会员账号登记-Excel上传模板.xlsx" # 构建上下文 context = { "model_config": 'rsc_mgnt.MembershipAccountsRegistry', "items": items, "breadcrumb_list": [ {"title": "首页", "name": "index"}, {"title": "资源管理", "name": "index"}, {"title": "会员账号登记", "name": "mem_acc_list"} ], "filters": [ {"type": "text", "id": "platform_name", "name": "platform_name", "label": "平台名称", "placeholder": "请输入平台名称"}, {"type": "select", "id": "status", "name": "status", "label": "状态", "options": [ {"value": "有效", "display": "有效"}, {"value": "过期", "display": "过期"} ]} ], "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": { "record_id": {"type": "text", "width": "180px"}, "platform_name": {"type": "text", "width": "180px"}, "purpose": {"type": "text", "width": "180px"}, "price": {"type": "number", "width": "180px"}, "manager": {"type": "text", "width": "180px"}, "account": {"type": "text", "width": "180px"}, "password": {"type": "password", "width": "180px"}, "effective_date": {"type": "date", "width": "180px"}, "expiration_date": {"type": "date", "width": "180px"}, "status": {"type": "select", "width": "180px", "options": [ {"value": "有效", "display": "有效"}, {"value": "过期", "display": "过期"} ]}, "actions": {"type": "actions", "width": "100px"} } }, "query_params": query_params, "form_action_url": 'mem_acc_list', "modify_url": reverse("mem_acc_list_modify"), "add_url": reverse("mem_acc_list_add"), "delete_url": reverse("mem_acc_list_delete"), } return render(request, '../templates/list.html', context) def mem_acc_list_add(request): if request.method == 'POST': data = { 'platform_name': request.POST.get('platform_name'), 'purpose': request.POST.get('purpose'), 'price': request.POST.get('price'), 'manager': request.POST.get('manager'), 'account': request.POST.get('account'), 'password': request.POST.get('password'), 'effective_date': request.POST.get('effective_date'), 'expiration_date': request.POST.get('expiration_date'), 'status': request.POST.get('status'), } MembershipAccountsRegistry.objects.create(**data) return JsonResponse({"message": "添加成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def mem_acc_list_modify(request): if request.method == 'POST': record_id = request.POST.get('record_id') data = { 'platform_name': request.POST.get('platform_name'), 'purpose': request.POST.get('purpose'), 'price': request.POST.get('price'), 'manager': request.POST.get('manager'), 'account': request.POST.get('account'), 'password': request.POST.get('password'), 'effective_date': request.POST.get('effective_date'), 'expiration_date': request.POST.get('expiration_date'), 'status': request.POST.get('status'), } MembershipAccountsRegistry.objects.filter(record_id=record_id).update(**data) return JsonResponse({"message": "修改成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def mem_acc_list_delete(request): if request.method == 'GET': target_id = request.GET.get('target_id') MembershipAccountsRegistry.objects.filter(record_id=target_id).delete() return JsonResponse({"message": "删除成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def svc_reg_list_view(request): # 声明查询集 query_set = StoredValueCardRegistration.objects.filter().order_by('-record_id') # 获取查询参数 merchant_name = request.GET.get('merchant_name', '') # 根据提供的参数进行筛选 if merchant_name: query_set = query_set.filter(merchant_name__icontains=merchant_name) # 对查询结果进行分页,每页10条记录 items = paginate_query_and_assign_numbers( request=request, queryset=query_set, per_page=10 ) # 构建上下文查询参数字符串 query_params = '&merchant_name={}'.format(merchant_name) # Excel上传模板 template_name = "资源管理-储值卡登记表-Excel上传模板.xlsx" # 构建上下文 context = { "model_config": 'rsc_mgnt.StoredValueCardRegistration', "items": items, "breadcrumb_list": [ {"title": "首页", "name": "index"}, {"title": "资源管理", "name": "index"}, {"title": "储值卡登记表", "name": "svc_reg_list"} ], "filters": [ {"type": "text", "id": "merchant_name", "name": "merchant_name", "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": { "record_id": {"type": "text", "width": "180px"}, "merchant_name": {"type": "text", "width": "180px"}, "merchant_type": {"type": "text", "width": "180px"}, "balance": {"type": "number", "width": "180px"}, "usage_records": {"type": "textarea", "width": "180px"}, "actions": {"type": "actions", "width": "100px"} } }, "query_params": query_params, "form_action_url": 'svc_reg_list', "modify_url": reverse("svc_reg_list_modify"), "add_url": reverse("svc_reg_list_add"), "delete_url": reverse("svc_reg_list_delete"), } return render(request, '../templates/list.html', context) def svc_reg_list_add(request): if request.method == 'POST': data = { 'merchant_name': request.POST.get('merchant_name'), 'merchant_type': request.POST.get('merchant_type'), 'balance': request.POST.get('balance'), 'usage_records': request.POST.get('usage_records'), } StoredValueCardRegistration.objects.create(**data) return JsonResponse({"message": "添加成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def svc_reg_list_modify(request): if request.method == 'POST': record_id = request.POST.get('record_id') data = { 'merchant_name': request.POST.get('merchant_name'), 'merchant_type': request.POST.get('merchant_type'), 'balance': request.POST.get('balance'), 'usage_records': request.POST.get('usage_records'), } StoredValueCardRegistration.objects.filter(record_id=record_id).update(**data) return JsonResponse({"message": "修改成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405) def svc_reg_list_delete(request): if request.method == 'GET': target_id = request.GET.get('target_id') StoredValueCardRegistration.objects.filter(record_id=target_id).delete() return JsonResponse({"message": "删除成功"}) return JsonResponse({"message": "无效的请求方法"}, status=405)