diff --git a/business/views.py b/business/views.py index 2cdb9c0..499052c 100644 --- a/business/views.py +++ b/business/views.py @@ -1564,6 +1564,7 @@ class CaseAttachmentUpdate(APIView): case_id = request.data.get('case_id') upload_type = request.data.get('type') files = request.FILES.getlist('file') or request.FILES.getlist('files') + Contractreturn = request.data.get('Contractreturn') approvers = request.data.get('approvers') personincharge = request.data.get('personincharge') approvers = normalize_approvers_param(approvers, personincharge) @@ -1572,7 +1573,7 @@ class CaseAttachmentUpdate(APIView): return Response({'status': 'error', 'message': '缺少参数case_id', 'code': 1}, status=status.HTTP_400_BAD_REQUEST) - allowed_types = ["Contractreturn", "Closingapplication"] + allowed_types = ["Contractreturn", "Closingapplication","AgencyContract"] if upload_type not in allowed_types: return Response({ 'status': 'error', @@ -1580,9 +1581,9 @@ class CaseAttachmentUpdate(APIView): 'code': 1 }, status=status.HTTP_400_BAD_REQUEST) - if not files: - return Response({'status': 'error', 'message': '请上传文件', 'code': 1}, - status=status.HTTP_400_BAD_REQUEST) + # if not files: + # return Response({'status': 'error', 'message': '请上传文件', 'code': 1}, + # status=status.HTTP_400_BAD_REQUEST) try: case = Case.objects.get(id=case_id, is_deleted=False) @@ -1594,11 +1595,14 @@ class CaseAttachmentUpdate(APIView): update_fields = [] if upload_type == "Contractreturn": - case.Contractreturn = json.dumps(file_urls, ensure_ascii=False) + case.Contractreturn = Contractreturn update_fields = ['Contractreturn'] elif upload_type == "Closingapplication": case.Closingapplication = json.dumps(file_urls, ensure_ascii=False) update_fields = ['Closingapplication'] + elif upload_type == "AgencyContract": + case.AgencyContract = json.dumps(file_urls, ensure_ascii=False) + update_fields = ['AgencyContract'] case.save(update_fields=update_fields) @@ -1682,6 +1686,10 @@ class caseManagementDetail(APIView): times = request.data.get('times') end_time = request.data.get('end_time') type = request.data.get('type') + serialnumber = request.data.get('serialnumber') + party_name = request.data.get('party_name') + client_name = request.data.get('client_name') + tags = request.data.get('tags') if not all([page, per_page]): return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST) Q_obj = Q() @@ -1692,6 +1700,15 @@ class caseManagementDetail(APIView): por_id = ProjectRegistration.objects.filter(type=type, is_deleted=False).values_list('id', flat=True) Q_obj &= Q(project_id__in=por_id) + if serialnumber: + Q_obj &= Q(serialnumber__icontains=serialnumber) + if party_name: + Q_obj &= Q(party_name__icontains=party_name) + if client_name: + Q_obj &= Q(client_name__icontains=client_name) + if tags: + Q_obj &= Q(tags__contains=tags) + pre = Case.objects.filter(Q_obj, is_deleted=False).order_by('-id') total = len(pre) @@ -1872,6 +1889,7 @@ class caseManagementDetail(APIView): "project_id": info.project_id if info.project_id is not None else "", # 项目ID(没有数据时返回空字符串) "tags": tags_value, # 标签列表(没有数据时返回空字符串) "tag_ids": tag_ids_value, # 标签ID列表(没有数据时返回空字符串) + "AgencyContract":info.AgencyContract }) return Response({'message': '展示成功', "total": total, 'data': data, 'code': 0}, status=status.HTTP_200_OK) diff --git a/finance/views.py b/finance/views.py index d394f90..778674c 100644 --- a/finance/views.py +++ b/finance/views.py @@ -819,6 +819,7 @@ class issueAnInvoiceDetail(APIView): times = request.data.get('times') end_time = request.data.get('end_time') unit = request.data.get('unit') + ContractNo = request.data.get('ContractNo') if not all([page, per_page]): return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST) Q_obj = Q() @@ -826,6 +827,8 @@ class issueAnInvoiceDetail(APIView): Q_obj &= Q(times__gte=times) & Q(times__lte=end_time) if unit: Q_obj &= Q(unit__icontains=unit) + if ContractNo: + Q_obj &= Q(ContractNo__icontains=ContractNo) invos = Invoice.objects.filter(Q_obj, is_deleted=False).order_by('-id') total = len(invos)