1340 lines
48 KiB
Python
1340 lines
48 KiB
Python
from rest_framework.views import APIView
|
||
from rest_framework.response import Response
|
||
from rest_framework import status
|
||
import json
|
||
import ast
|
||
from User.models import User,Approval
|
||
from .models import PreFiling,ProjectRegistration,Bid,Case,Invoice,Caselog,SealApplication,Warehousing,RegisterPlatform,Announcement,LawyerFlie,Schedule,permission,role
|
||
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
|
||
from utility.utility import flies
|
||
from datetime import datetime
|
||
|
||
|
||
from django.db.models import Count, Q
|
||
|
||
class registration(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
预立案登记
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
token = request.META.get('token')
|
||
times = request.data.get('times')
|
||
client_username = request.data.get('client_username')
|
||
party_username = request.data.get('party_username')
|
||
description = request.data.get('description')
|
||
Undertaker = request.data.get('Undertaker')
|
||
user = User.objects.get(token=token).username
|
||
if not all([times,description,Undertaker]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
|
||
PreFiling.objects.create(
|
||
times=times,
|
||
client_username=client_username,
|
||
party_username=party_username,
|
||
description=description,
|
||
Undertaker=Undertaker,
|
||
submit=user
|
||
)
|
||
return Response({'message': '登记成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class registrationList(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
预立案登记列表接口
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
project_registration_ids = ProjectRegistration.objects.values_list('user_id', flat=True)
|
||
|
||
|
||
bid_ids = Bid.objects.values_list('user_id', flat=True)
|
||
associated_ids = project_registration_ids.union(bid_ids)
|
||
prefiling_without_association = PreFiling.objects.exclude(id__in=associated_ids)
|
||
data = []
|
||
for prefiling in prefiling_without_association:
|
||
data.append({
|
||
"id": prefiling.id,
|
||
"client_username": prefiling.client_username,
|
||
"party_username": prefiling.party_username,
|
||
})
|
||
return Response({'message': '展示成功','data':data, 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
|
||
class registrationDetail(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
预立案登记展示
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
page = request.data.get('page')
|
||
per_page = request.data.get('per_page')
|
||
times = request.data.get('times')
|
||
end_time = request.data.get('end_time')
|
||
Undertaker = request.data.get('Undertaker')
|
||
if not all([page, per_page]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
Q_obj = Q()
|
||
if times and end_time:
|
||
Q_obj &= Q(times__gte=times) & Q(times__lte=end_time)
|
||
if Undertaker:
|
||
Q_obj &= Q(Undertaker__icontains=Undertaker)
|
||
|
||
pre = PreFiling.objects.filter(Q_obj)
|
||
total = len(pre)
|
||
|
||
paginator = Paginator(pre, per_page)
|
||
try:
|
||
user_agents_page = paginator.page(page)
|
||
|
||
except PageNotAnInteger:
|
||
user_agents_page = paginator.page(1)
|
||
except EmptyPage:
|
||
user_agents_page = paginator.page(paginator.num_pages)
|
||
data = []
|
||
for info in user_agents_page.object_list:
|
||
data.append({
|
||
"id": info.id,
|
||
'times': info.times,
|
||
"client_username": info.client_username,
|
||
"party_username": info.party_username,
|
||
"description": info.description,
|
||
"Undertaker": info.Undertaker,
|
||
})
|
||
|
||
return Response({'message': '展示成功',"total":total,'data':data, 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class Project(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
立项登记
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
type = request.data.get('type')
|
||
ContractNo = request.data.get('ContractNo')
|
||
times = request.data.get('times')
|
||
responsiblefor = request.data.get('responsiblefor')
|
||
charge = request.data.get('charge')
|
||
contract = request.FILES.getlist('contract')
|
||
personincharge = request.data.get('personincharge')
|
||
|
||
id = request.data.get('user_id')
|
||
import datetime
|
||
|
||
if contract:
|
||
contract = flies(contract)
|
||
|
||
pro = ProjectRegistration.objects.create(
|
||
type=type,
|
||
ContractNo=ContractNo,
|
||
times=times,
|
||
responsiblefor=responsiblefor,
|
||
charge=charge,
|
||
contract=json.dumps(contract),
|
||
state="审核中",
|
||
user_id=id,
|
||
|
||
)
|
||
|
||
today = datetime.datetime.now()
|
||
formatted_date = today.strftime("%Y-%m-%d")
|
||
Approval.objects.create(
|
||
title=responsiblefor + "立项登记",
|
||
content=responsiblefor + "在" + times + "办理立项登记,项目类型:" + type + ",合同编号:" + ContractNo + "描述:"+",负责人:"+responsiblefor+",收费情况:"+charge,
|
||
times=formatted_date,
|
||
personincharge=personincharge,
|
||
state='审核中',
|
||
type="立项登记",
|
||
user_id=pro.id
|
||
)
|
||
return Response({'message': '登记成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
|
||
class Projectquerytype(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
立项登记类型查询
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
# 获取当前年份
|
||
current_year = datetime.now().year
|
||
|
||
# 今年的开始时间
|
||
start_of_year = datetime(current_year, 1, 1)
|
||
|
||
# 今年的结束时间
|
||
end_of_year = datetime(current_year, 12, 31)
|
||
|
||
# 格式化结果
|
||
start_of_year_str = start_of_year.strftime("%Y-%m-%d")
|
||
end_of_year_str = end_of_year.strftime("%Y-%m-%d")
|
||
type = request.data.get('type')
|
||
count = ProjectRegistration.objects.filter(type=type,times__gte=start_of_year_str,times__lte=end_of_year_str).count()
|
||
data = {
|
||
"count": count
|
||
}
|
||
return Response({'message': '查询成功',"data":data, 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
|
||
class ProjectDetail(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
立项登记展示
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
page = request.data.get('page')
|
||
per_page = request.data.get('per_page')
|
||
times = request.data.get('times')
|
||
end_time = request.data.get('end_time')
|
||
client_username = request.data.get('client_username')
|
||
party_username = request.data.get('party_username')
|
||
if not all([page, per_page]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
Q_obj = Q()
|
||
if times and end_time:
|
||
Q_obj &= Q(times__gte=times) & Q(times__lte=end_time)
|
||
if client_username:
|
||
pre = PreFiling.objects.filter(client_username__icontains=client_username)
|
||
pre_id = pre.values_list('id', flat=True)
|
||
Q_obj &= Q(user_id__in=pre_id)
|
||
if party_username:
|
||
pre = PreFiling.objects.filter(party_username__icontains=party_username)
|
||
pre_id = pre.values_list('id', flat=True)
|
||
Q_obj &= Q(user_id__in=pre_id)
|
||
|
||
|
||
pre = ProjectRegistration.objects.filter(Q_obj)
|
||
total = len(pre)
|
||
|
||
paginator = Paginator(pre, per_page)
|
||
try:
|
||
user_agents_page = paginator.page(page)
|
||
|
||
except PageNotAnInteger:
|
||
user_agents_page = paginator.page(1)
|
||
except EmptyPage:
|
||
user_agents_page = paginator.page(paginator.num_pages)
|
||
data = []
|
||
for info in user_agents_page.object_list:
|
||
pre = PreFiling.objects.get(id=info.user_id)
|
||
data.append({
|
||
"id": info.id,
|
||
'times': info.times,
|
||
"type": info.type,
|
||
"ContractNo": info.ContractNo,
|
||
"responsiblefor": info.responsiblefor,
|
||
"charge": info.charge,
|
||
"contract": info.contract,
|
||
"state": info.state,
|
||
"user_id": info.user_id,
|
||
"client_username": pre.client_username,
|
||
"party_username": pre.party_username,
|
||
"description": pre.description,
|
||
})
|
||
|
||
return Response({'message': '展示成功', "total": total, 'data': data, 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class EditProject(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
编辑立案登记
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
id = request.data.get('id')
|
||
type = request.data.get('type')
|
||
ContractNo = request.data.get('ContractNo')
|
||
times = request.data.get('times')
|
||
responsiblefor = request.data.get('responsiblefor')
|
||
charge = request.data.get('charge')
|
||
contract = request.FILES.getlist('contract')
|
||
personincharge = request.data.get('personincharge')
|
||
|
||
pro = ProjectRegistration.objects.get(id=id)
|
||
import datetime
|
||
if contract:
|
||
contract = flies(contract)
|
||
pro.contract = json.dumps(contract)
|
||
pro.save(update_fields=['contract'])
|
||
pro.times = times
|
||
pro.type = type
|
||
|
||
pro.responsiblefor = responsiblefor
|
||
pro.charge = charge
|
||
|
||
pro.state ="审核中"
|
||
pro.save(update_fields=['ContractNo', 'times', 'type', 'responsiblefor', 'charge', 'state',"type2"])
|
||
|
||
today = datetime.datetime.now()
|
||
formatted_date = today.strftime("%Y-%m-%d")
|
||
Approval.objects.create(
|
||
title=responsiblefor + "立项登记重新编辑",
|
||
content=responsiblefor + "在" + times + "办理立项登记,项目类型:" + type + ",合同编号:" + ContractNo + "描述:"+ ",负责人:" + responsiblefor + ",收费情况:" + charge,
|
||
times=formatted_date,
|
||
personincharge=personincharge,
|
||
state='审核中',
|
||
type="立项登记",
|
||
user_id=pro.id
|
||
)
|
||
|
||
return Response({'message': '编辑成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class BidRegistration(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
投标登记
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
BiddingUnit = request.data.get('BiddingUnit')
|
||
ProjectName = request.data.get('ProjectName')
|
||
times = request.data.get('times')
|
||
BiddingAnnouncement = request.FILES.getlist('BiddingAnnouncement')
|
||
personincharge = request.data.get('personincharge')
|
||
id = request.data.get('user_id')
|
||
if not all([BiddingUnit, ProjectName, times, personincharge,id]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
import datetime
|
||
bib = Bid.objects.create(
|
||
BiddingUnit=BiddingUnit,
|
||
ProjectName=ProjectName,
|
||
times=times,
|
||
BiddingAnnouncement=json.dumps(flies(BiddingAnnouncement)),
|
||
state="审核中",
|
||
user_id=id,
|
||
|
||
)
|
||
|
||
today = datetime.datetime.now()
|
||
formatted_date = today.strftime("%Y-%m-%d")
|
||
Approval.objects.create(
|
||
title=ProjectName + "投标登记",
|
||
content="项目名称:"+ProjectName+",申请日期:"+times,
|
||
times=formatted_date,
|
||
personincharge=personincharge,
|
||
state='审核中',
|
||
type="投标登记",
|
||
user_id=bib.id
|
||
)
|
||
return Response({'message': '登记成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class BidDetail(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
page = request.data.get('page')
|
||
per_page = request.data.get('per_page')
|
||
times = request.data.get('times')
|
||
end_time = request.data.get('end_time')
|
||
client_username = request.data.get('client_username')
|
||
party_username = request.data.get('party_username')
|
||
if not all([page, per_page]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
Q_obj = Q()
|
||
if times and end_time:
|
||
Q_obj &= Q(times__gte=times) & Q(times__lte=end_time)
|
||
|
||
if client_username:
|
||
pre = PreFiling.objects.filter(client_username__icontains=client_username)
|
||
pre_id = pre.values_list('id', flat=True)
|
||
Q_obj &= Q(user_id__in=pre_id)
|
||
if party_username:
|
||
pre = PreFiling.objects.filter(party_username__icontains=party_username)
|
||
pre_id = pre.values_list('id', flat=True)
|
||
Q_obj &= Q(user_id__in=pre_id)
|
||
|
||
|
||
pre = Bid.objects.filter(Q_obj)
|
||
total = len(pre)
|
||
|
||
paginator = Paginator(pre, per_page)
|
||
try:
|
||
user_agents_page = paginator.page(page)
|
||
|
||
except PageNotAnInteger:
|
||
user_agents_page = paginator.page(1)
|
||
except EmptyPage:
|
||
user_agents_page = paginator.page(paginator.num_pages)
|
||
data = []
|
||
for info in user_agents_page.object_list:
|
||
pre = PreFiling.objects.get(id=info.user_id)
|
||
data.append({
|
||
"id": info.id,
|
||
'times': info.times,
|
||
"BiddingUnit": info.BiddingUnit,
|
||
"ProjectName": info.ProjectName,
|
||
"BiddingAnnouncement": info.BiddingAnnouncement,
|
||
"state": info.state,
|
||
"client_username": pre.client_username,
|
||
"party_username": pre.party_username,
|
||
"description": pre.description,
|
||
})
|
||
|
||
return Response({'message': '展示成功', "total": total, 'data': data, 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
|
||
|
||
class caseManagement(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
案件管理版块
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
id = request.data.get('user_id')
|
||
times = request.data.get('times')
|
||
AgencyContract = request.FILES.getlist('AgencyContract')
|
||
Contractreturn = request.FILES.getlist('Contractreturn')
|
||
Closingapplication = request.FILES.getlist('Closingapplication')
|
||
ChangeRequest = request.data.get('ChangeRequest')
|
||
paymentcollection = request.data.get('paymentcollection')
|
||
|
||
personincharge = request.data.get('personincharge')
|
||
|
||
case = Case.objects.filter(user_id=id).first()
|
||
if not case:
|
||
case_id = Case.objects.create(
|
||
user_id=id,
|
||
times=times,
|
||
AgencyContract=json.dumps(flies(AgencyContract)),
|
||
Contractreturn=json.dumps(flies(Contractreturn)),
|
||
Closingapplication=json.dumps(flies(Closingapplication)),
|
||
ChangeRequest=ChangeRequest,
|
||
paymentcollection=paymentcollection,
|
||
state="审核中"
|
||
)
|
||
|
||
Approval.objects.create(
|
||
title="案件管理信息提交",
|
||
content=times+"提交了一份案件信息,请审核",
|
||
times=times,
|
||
personincharge=personincharge,
|
||
state='审核中',
|
||
type="案件管理",
|
||
user_id=case_id.id
|
||
)
|
||
|
||
else:
|
||
if times:
|
||
case.times = times
|
||
case.save(update_fields=['times'])
|
||
|
||
if AgencyContract:
|
||
case.AgencyContract = json.dumps(flies(AgencyContract))
|
||
case.save(update_fields=['AgencyContract'])
|
||
|
||
if Contractreturn:
|
||
case.Contractreturn = json.dumps(flies(Contractreturn))
|
||
case.save(update_fields=['Contractreturn'])
|
||
|
||
if Closingapplication:
|
||
case.Closingapplication = json.dumps(flies(Closingapplication))
|
||
case.save(update_fields=['Closingapplication'])
|
||
|
||
if ChangeRequest:
|
||
case.ChangeRequest = ChangeRequest
|
||
case.state = "审核中"
|
||
Approval.objects.create(
|
||
title="案件管理信息提交",
|
||
content=times + "提交了一份案件信息,更改了变更申请",
|
||
times=times,
|
||
personincharge=personincharge,
|
||
state='审核中',
|
||
type="案件管理",
|
||
user_id=case.id
|
||
)
|
||
case.save(update_fields=['ChangeRequest',"state"])
|
||
if paymentcollection:
|
||
case.paymentcollection = paymentcollection
|
||
case.save(update_fields=['paymentcollection'])
|
||
|
||
return Response({'message': '编辑成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class caseManagementDetail(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
案件管理版块展示
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
page = request.data.get('page')
|
||
per_page = request.data.get('per_page')
|
||
times = request.data.get('times')
|
||
end_time = request.data.get('end_time')
|
||
type = request.data.get('type')
|
||
if not all([page, per_page]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
Q_obj = Q()
|
||
if times and end_time:
|
||
Q_obj &= Q(times__gte=times) & Q(times__lte=end_time)
|
||
|
||
if type:
|
||
por_id = ProjectRegistration.objects.filter(type=type).values_list('user_id', flat=True)
|
||
Q_obj &= Q(user_id__in=por_id)
|
||
|
||
# if client_username:
|
||
# pre = PreFiling.objects.filter(client_username__icontains=client_username)
|
||
# pre_id = pre.values_list('id', flat=True)
|
||
# Q_obj &= Q(user_id__in=pre_id)
|
||
# if party_username:
|
||
# pre = PreFiling.objects.filter(party_username__icontains=party_username)
|
||
# pre_id = pre.values_list('id', flat=True)
|
||
# Q_obj &= Q(user_id__in=pre_id)
|
||
|
||
|
||
pre = Case.objects.filter(Q_obj)
|
||
total = len(pre)
|
||
|
||
paginator = Paginator(pre, per_page)
|
||
try:
|
||
user_agents_page = paginator.page(page)
|
||
|
||
except PageNotAnInteger:
|
||
user_agents_page = paginator.page(1)
|
||
except EmptyPage:
|
||
user_agents_page = paginator.page(paginator.num_pages)
|
||
data = []
|
||
for info in user_agents_page.object_list:
|
||
pre = PreFiling.objects.get(id=info.user_id)
|
||
pro = ProjectRegistration.objects.get(user_id=info.user_id)
|
||
data.append({
|
||
"id": info.id,
|
||
"ContractNo": pro.ContractNo, # 合同编号
|
||
"type_pro": pro.type, # 项目类型
|
||
"client_username": pre.client_username, # 委托人信息
|
||
"party_username": pre.party_username, # 相对方信息
|
||
"description": pre.description, # 项目简述
|
||
"responsiblefor": pro.responsiblefor, # 负责人
|
||
"charge": pro.charge,
|
||
'times': info.times,
|
||
"AgencyContract": info.AgencyContract,
|
||
"Contractreturn": info.Contractreturn,
|
||
"Closingapplication": info.Closingapplication,
|
||
"ChangeRequest": info.ChangeRequest,
|
||
"paymentcollection": info.paymentcollection,
|
||
"state": info.state,
|
||
"user_id": info.user_id,
|
||
})
|
||
|
||
return Response({'message': '展示成功', "total": total, 'data': data, 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class Uploadinvoice(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""案件管理发票"""
|
||
id = request.data.get('user_id')
|
||
amount = request.data.get('amount')
|
||
file = request.FILES.getlist('file')
|
||
if not id:
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
|
||
Invoice.objects.create(
|
||
amount=amount,
|
||
file=json.dumps(flies(file)),
|
||
user_id=id,
|
||
)
|
||
return Response({'message': '上传成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class InvoiceDetail(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
发票展示
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
id = request.data.get('id')
|
||
if not id:
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
|
||
invoices = Invoice.objects.filter(user_id=id)
|
||
data = []
|
||
for invoice in invoices:
|
||
data.append({
|
||
"id": invoice.id,
|
||
"amount": invoice.amount,
|
||
"file": invoice.file,
|
||
})
|
||
return Response({'message': '展示成功', 'data': data, 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class Log(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
案件日志
|
||
"""
|
||
token = request.META.get('token')
|
||
id = request.data.get('user_id')
|
||
content = request.data.get('content')
|
||
file = request.FILES.getlist('file')
|
||
|
||
if not all([id,content]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
user = User.objects.get(token=token)
|
||
now = datetime.now()
|
||
date_str = now.strftime('%Y-%m-%d')
|
||
Caselog.objects.create(
|
||
user_id=id,
|
||
content=content,
|
||
file=json.dumps(flies(file)),
|
||
times = date_str,
|
||
username = user.username,
|
||
)
|
||
return Response({'message': '添加成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class LogDetail(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
案件日志展示
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
page = request.data.get('page')
|
||
per_page = request.data.get('per_page')
|
||
if not all([page, per_page]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
|
||
pre = Caselog.objects.all()
|
||
total = len(pre)
|
||
|
||
paginator = Paginator(pre, per_page)
|
||
try:
|
||
user_agents_page = paginator.page(page)
|
||
|
||
except PageNotAnInteger:
|
||
user_agents_page = paginator.page(1)
|
||
except EmptyPage:
|
||
user_agents_page = paginator.page(paginator.num_pages)
|
||
data = []
|
||
for info in user_agents_page.object_list:
|
||
data.append({
|
||
"id": info.id,
|
||
"content": info.content, # 合同编号
|
||
"times": info.times, # 项目类型
|
||
"username": info.username,
|
||
"file": info.file,
|
||
})
|
||
|
||
return Response({'message': '展示成功', "total": total, 'data': data, 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class accumulate(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
累加
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
user_id = request.data.get('user_id')
|
||
paymentcollection = request.data.get('paymentcollection')
|
||
case = Case.objects.get(user_id=user_id)
|
||
if case.paymentcollection == "":
|
||
number = 0
|
||
else:
|
||
number = float(case.paymentcollection)
|
||
case.paymentcollection = float(number+float(paymentcollection))
|
||
case.save(update_fields=['paymentcollection'])
|
||
|
||
return Response({'message': '成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
|
||
class preFilingLinkedCases(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
预立案关联立案列表接口
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
proa = ProjectRegistration.objects.all()
|
||
data = []
|
||
for prefiling in proa:
|
||
pre = PreFiling.objects.get(id=prefiling.user_id)
|
||
data.append({
|
||
"id": prefiling.user_id,
|
||
"client_username": pre.client_username,
|
||
"party_username": pre.party_username,
|
||
})
|
||
return Response({'message': '展示成功', 'data': data, 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class Application(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
申请用印
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
token = request.META.get('token')
|
||
Printingpurpose = request.data.get('Printingpurpose')
|
||
CaseNumber = request.data.get('CaseNumber')
|
||
Reason = request.data.get('Reason')
|
||
seal_number = request.data.get('seal_number')
|
||
seal_type = request.data.get('seal_type')
|
||
file = request.FILES.getlist('file')
|
||
personincharge = request.data.get('personincharge')
|
||
|
||
if not all([Printingpurpose,Reason,seal_number,seal_type,file,personincharge]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
now = datetime.now()
|
||
date_str = now.strftime('%Y-%m-%d')
|
||
user = User.objects.get(token=token)
|
||
sea = SealApplication.objects.create(
|
||
Printingpurpose=Printingpurpose,
|
||
CaseNumber=CaseNumber,
|
||
Reason=Reason,
|
||
seal_number=seal_number,
|
||
seal_type=seal_type,
|
||
file=json.dumps(flies(file)),
|
||
times=date_str,
|
||
state="审核中",
|
||
username=user.username,
|
||
)
|
||
|
||
Approval.objects.create(
|
||
title=user.username + "申请用印",
|
||
content=user.username + "在" + date_str + "申请用印,用印事由:" + Reason + ",盖章份数:" + seal_number + "盖着类型:" + seal_type,
|
||
times=date_str,
|
||
personincharge=personincharge,
|
||
state='审核中',
|
||
type="申请用印",
|
||
user_id=sea.id
|
||
)
|
||
return Response({'message': '添加成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class ApplicationDetail(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
申请用印展示
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
page = request.data.get('page')
|
||
per_page = request.data.get('per_page')
|
||
times = request.data.get('times')
|
||
end_time = request.data.get('end_time')
|
||
seal_type = request.data.get('seal_type')
|
||
if not all([page, per_page]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
Q_obj = Q()
|
||
if times and end_time:
|
||
Q_obj &= Q(times__gte=times) & Q(times__lte=end_time)
|
||
|
||
if seal_type:
|
||
Q_obj &= Q(seal_type=seal_type)
|
||
|
||
seas = SealApplication.objects.filter(Q_obj)
|
||
total = len(seas)
|
||
|
||
paginator = Paginator(seas, per_page)
|
||
try:
|
||
user_agents_page = paginator.page(page)
|
||
|
||
except PageNotAnInteger:
|
||
user_agents_page = paginator.page(1)
|
||
except EmptyPage:
|
||
user_agents_page = paginator.page(paginator.num_pages)
|
||
data = []
|
||
for info in user_agents_page.object_list:
|
||
data.append({
|
||
"id": info.id,
|
||
"Printingpurpose": info.Printingpurpose,
|
||
"CaseNumber": info.CaseNumber,
|
||
"Reason": info.Reason,
|
||
"seal_number": info.seal_number,
|
||
"seal_type": info.seal_type,
|
||
"file": info.file,
|
||
'times': info.times,
|
||
"state": info.state,
|
||
"username": info.username,
|
||
})
|
||
|
||
return Response({'message': '展示成功', "total": total, 'data': data, 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class WarehousingRegistration(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
入库登记
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
unit = request.data.get('unit')
|
||
mark = request.data.get('mark')
|
||
lawyer = request.data.get('lawyer')
|
||
deadline = request.data.get('deadline')
|
||
contract = request.FILES.getlist('contract')
|
||
|
||
if not all([unit, mark, lawyer, deadline, contract]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
now = datetime.now()
|
||
date_str = now.strftime('%Y-%m-%d')
|
||
Warehousing.objects.create(
|
||
unit=unit,
|
||
mark=mark,
|
||
lawyer=lawyer,
|
||
deadline=deadline,
|
||
contract=json.dumps(flies(contract)),
|
||
times=date_str,
|
||
)
|
||
return Response({'message': '添加成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class WarehousingDetail(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
入库登记展示
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
page = request.data.get('page')
|
||
per_page = request.data.get('per_page')
|
||
times = request.data.get('times')
|
||
end_time = request.data.get('end_time')
|
||
unit = request.data.get('unit')
|
||
if not all([page, per_page]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
Q_obj = Q()
|
||
if times and end_time:
|
||
Q_obj &= Q(times__gte=times) & Q(times__lte=end_time)
|
||
|
||
if unit:
|
||
Q_obj &= Q(unit__icontains=unit)
|
||
|
||
seas = Warehousing.objects.filter(Q_obj)
|
||
total = len(seas)
|
||
|
||
paginator = Paginator(seas, per_page)
|
||
try:
|
||
user_agents_page = paginator.page(page)
|
||
|
||
except PageNotAnInteger:
|
||
user_agents_page = paginator.page(1)
|
||
except EmptyPage:
|
||
user_agents_page = paginator.page(paginator.num_pages)
|
||
data = []
|
||
for info in user_agents_page.object_list:
|
||
data.append({
|
||
"id": info.id,
|
||
"unit": info.unit,
|
||
"mark": info.mark,
|
||
"lawyer": info.lawyer,
|
||
"deadline": info.deadline,
|
||
"contract": info.contract,
|
||
"times": info.times,
|
||
})
|
||
|
||
return Response({'message': '展示成功', "total": total, 'data': data, 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class PlatformRegistration(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
注册平台登记
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
platform = request.data.get('platform')
|
||
number = request.data.get('number')
|
||
password = request.data.get('password')
|
||
username = request.data.get('username')
|
||
|
||
if not all([platform, number, password, username]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
RegisterPlatform.objects.create(
|
||
platform=platform,
|
||
number=number,
|
||
password=password,
|
||
username=username,
|
||
)
|
||
return Response({'message': '添加成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class PlatformDetail(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
注册平台登记展示
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
page = request.data.get('page')
|
||
per_page = request.data.get('per_page')
|
||
seas = RegisterPlatform.objects.all()
|
||
total = len(seas)
|
||
|
||
paginator = Paginator(seas, per_page)
|
||
try:
|
||
user_agents_page = paginator.page(page)
|
||
|
||
except PageNotAnInteger:
|
||
user_agents_page = paginator.page(1)
|
||
except EmptyPage:
|
||
user_agents_page = paginator.page(paginator.num_pages)
|
||
data = []
|
||
for info in user_agents_page.object_list:
|
||
data.append({
|
||
"id": info.id,
|
||
"platform": info.platform,
|
||
"number": info.number,
|
||
"password": info.password,
|
||
"username": info.username,
|
||
})
|
||
|
||
return Response({'message': '展示成功', "total": total, 'data': data, 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class EditPlatformDetail(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
注册平台登记编辑
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
ID = request.data.get('id')
|
||
platform = request.data.get('platform')
|
||
number = request.data.get('number')
|
||
password = request.data.get('password')
|
||
username = request.data.get('username')
|
||
|
||
if not all([platform, number, password, username,ID]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
reg = RegisterPlatform.objects.get(id=ID)
|
||
reg.platform = platform
|
||
reg.number = number
|
||
reg.password = password
|
||
reg.username = username
|
||
reg.save(update_fields=['platform', 'number', 'password', 'username'])
|
||
return Response({'message': '修改成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class DeletePlatformDetail(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
删除注册平台登记
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
ID = request.data.get('id')
|
||
RegisterPlatform.objects.get(id=ID).delete()
|
||
return Response({'message': '删除成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class bulletin(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
公告
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
title = request.data.get('title')
|
||
content = request.data.get('content')
|
||
file = request.FILES.getlist('file')
|
||
state = request.data.get('state')
|
||
token = request.META.get('token')
|
||
|
||
if not all([title, content]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
now = datetime.now()
|
||
date_str = now.strftime('%Y-%m-%d')
|
||
bol = 0
|
||
if state == "置顶":
|
||
bol = 1
|
||
|
||
user = User.objects.get(token=token).username
|
||
Announcement.objects.create(
|
||
title=title,
|
||
content=content,
|
||
file=json.dumps(flies(file)),
|
||
username=user,
|
||
times=date_str,
|
||
state=bol
|
||
)
|
||
return Response({'message': '添加成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class BulletinDetail(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
公告展示
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
page = request.data.get('page')
|
||
per_page = request.data.get('per_page')
|
||
seas = Announcement.objects.all().order_by('-state', '-times')
|
||
total = len(seas)
|
||
|
||
paginator = Paginator(seas, per_page)
|
||
try:
|
||
user_agents_page = paginator.page(page)
|
||
|
||
except PageNotAnInteger:
|
||
user_agents_page = paginator.page(1)
|
||
except EmptyPage:
|
||
user_agents_page = paginator.page(paginator.num_pages)
|
||
data = []
|
||
for info in user_agents_page.object_list:
|
||
data.append({
|
||
"id": info.id,
|
||
"title": info.title,
|
||
"content": info.content,
|
||
"times": info.times,
|
||
"file": info.file,
|
||
"username": info.username,
|
||
"state": info.state,
|
||
})
|
||
|
||
return Response({'message': '展示成功', "total": total, 'data': data, 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class EditBulletin(APIView):
|
||
def post(self, request, *args, **kwargs):
|
||
"""
|
||
编辑公告
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
ID = request.data.get('id')
|
||
title = request.data.get('title')
|
||
content = request.data.get('content')
|
||
file = request.FILES.getlist('file')
|
||
state = request.data.get('state')
|
||
token = request.META.get('HTTP_AUTHORIZATION')
|
||
|
||
if not all([title, content, ID]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
|
||
now = datetime.now()
|
||
date_str = now.strftime('%Y-%m-%d')
|
||
ann = Announcement.objects.get(id=ID)
|
||
|
||
if state:
|
||
bol = 0
|
||
if state == "置顶":
|
||
bol = 1
|
||
ann.state = bol
|
||
ann.save(update_fields=['state'])
|
||
|
||
user = User.objects.get(token=token).username
|
||
if title:
|
||
ann.title = title # 去掉多余的逗号
|
||
ann.save(update_fields=['title'])
|
||
if content:
|
||
ann.content = content # 去掉多余的逗号
|
||
ann.save(update_fields=['content'])
|
||
if file:
|
||
ann.file = json.dumps([f.name for f in file]) # 假设你想保存文件名列表
|
||
ann.save(update_fields=['file'])
|
||
|
||
ann.username = user # 去掉多余的逗号
|
||
ann.times = date_str # 去掉多余的逗号
|
||
|
||
ann.save(update_fields=['username', 'times'])
|
||
return Response({'message': '添加成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class deleteBulletin(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
ID = request.data.get('id')
|
||
Announcement.objects.get(id=ID).delete()
|
||
return Response({'message': '删除成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
|
||
class Lawyersdocuments(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
title = request.data.get('title')
|
||
file = request.FILES.getlist('file')
|
||
remark = request.data.get('remark')
|
||
|
||
if not all([title, file]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
now = datetime.now()
|
||
date_str = now.strftime('%Y-%m-%d')
|
||
LawyerFlie.objects.create(
|
||
title=title,
|
||
remark=remark,
|
||
file=json.dumps(flies(file)),
|
||
times=date_str,
|
||
)
|
||
return Response({'message': '文件上传成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class LawyersdocumentsDetail(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
law = LawyerFlie.objects.all().order_by('-times')
|
||
total = law.count()
|
||
data = []
|
||
for info in law:
|
||
data.append({
|
||
"id": info.id,
|
||
"title": info.title,
|
||
"remark": info.remark,
|
||
"file": info.file,
|
||
"times": info.times,
|
||
})
|
||
|
||
return Response({'message': '展示成功', "total": total, 'data': data, 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
|
||
class LwaDetail(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
id = request.data.get('id')
|
||
LawyerFlie.objects.get(id=id).delete()
|
||
return Response({'message': '删除成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class CreateSchedule(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
日常创建
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
title = request.data.get('title')
|
||
tiems = request.data.get('tiems')
|
||
end_time = request.data.get('end_time')
|
||
remark = request.data.get('remark')
|
||
|
||
if not all([title, tiems, end_time]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
Schedule.objects.create(
|
||
title=title,
|
||
tiems=tiems,
|
||
end_time=end_time,
|
||
remark=remark,
|
||
state="未完成"
|
||
)
|
||
return Response({'message': '添加成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class DeleteSchedule(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
id = request.data.get('id')
|
||
Schedule.objects.get(id=id).delete()
|
||
return Response({'message': '删除成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
|
||
class ScheduleDetail(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
"""
|
||
日程展示
|
||
:param request:
|
||
:param args:
|
||
:param kwargs:
|
||
:return:
|
||
"""
|
||
sches = Schedule.objects.filter(state="未完成")
|
||
page = request.data.get('page')
|
||
per_page = request.data.get('per_page')
|
||
total = len(sches)
|
||
|
||
paginator = Paginator(sches, per_page)
|
||
try:
|
||
user_agents_page = paginator.page(page)
|
||
|
||
except PageNotAnInteger:
|
||
user_agents_page = paginator.page(1)
|
||
except EmptyPage:
|
||
user_agents_page = paginator.page(paginator.num_pages)
|
||
data = []
|
||
for info in user_agents_page.object_list:
|
||
data.append({
|
||
"id": info.id,
|
||
"title": info.title,
|
||
"tiems": info.tiems,
|
||
"end_time": info.end_time,
|
||
"remark": info.remark,
|
||
'state': info.state,
|
||
})
|
||
return Response({'message': '展示成功', "total": total, 'data': data, 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class handleSchedule(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
id = request.data.get('id')
|
||
state = request.data.get('state')
|
||
if not all([id, state]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
sc = Schedule.objects.get(id=id)
|
||
sc.state=state
|
||
sc.save(update_fields=['state'])
|
||
return Response({'message': '修改成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class AddRermission(APIView):
|
||
"""
|
||
添加权限
|
||
"""
|
||
def post(self,request,*args,**kwargs):
|
||
permission_name = request.data.get('permission_name')
|
||
permission_logo = request.data.get('permission_logo')
|
||
parent = request.data.get('parent')
|
||
if not all([permission_name,permission_logo,parent]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
permission.objects.create(
|
||
permission_name=permission_name,
|
||
permission_logo=permission_logo,
|
||
parent=parent,
|
||
)
|
||
return Response({'message': '添加成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class DisplayRermission(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
permissions = permission.objects.all()
|
||
|
||
# 先将数据转换为字典格式
|
||
data = []
|
||
permission_dict = {}
|
||
|
||
for per in permissions:
|
||
item = {
|
||
"id": str(per.id),
|
||
"permission_name": per.permission_name,
|
||
"permission_logo": per.permission_logo,
|
||
"parent": str(per.parent),
|
||
"children": []
|
||
}
|
||
data.append(item)
|
||
permission_dict[str(per.id)] = item
|
||
|
||
# 构建树形结构
|
||
tree = []
|
||
for item in data:
|
||
parent_id = item["parent"]
|
||
|
||
# 如果parent是0或者不存在,说明是根节点
|
||
if parent_id == "0" or parent_id not in permission_dict:
|
||
tree.append(item)
|
||
else:
|
||
# 找到父节点并添加到children中
|
||
parent_node = permission_dict.get(parent_id)
|
||
if parent_node:
|
||
parent_node["children"].append(item)
|
||
|
||
return Response({
|
||
'message': '展示成功',
|
||
"data": tree,
|
||
'code': 0
|
||
}, status=status.HTTP_200_OK)
|
||
class DeleteRermission(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
ID = request.data.get('id')
|
||
permission.objects.get(id=ID).delete()
|
||
return Response({'message': '删除成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class EditRermission(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
id = request.data.get('id')
|
||
permission_name = request.data.get('permission_name')
|
||
permission_logo = request.data.get('permission_logo')
|
||
parent = request.data.get('parent')
|
||
per = permission.objects.get(id=id)
|
||
if permission_name:
|
||
per.permission_name = permission_name
|
||
per.save(update_fields=['permission_name'])
|
||
if permission_logo:
|
||
per.permission_logo = permission_logo
|
||
per.save(update_fields=['permission_logo'])
|
||
if parent:
|
||
per.parent = parent
|
||
per.save(update_fields=['parent'])
|
||
return Response({'message': '修改成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class addRole(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
RoleName = request.data.get('RoleName')
|
||
remark = request.data.get('remark')
|
||
if not all([RoleName]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
|
||
role.objects.create(RoleName=RoleName,remark=remark)
|
||
return Response({'message': '添加成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class DeleteRole(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
id = request.data.get('id')
|
||
role.objects.get(id=id).delete()
|
||
return Response({'message': '删除成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
|
||
class EditRole(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
id = request.data.get('id')
|
||
RoleName = request.data.get('RoleName')
|
||
remark = request.data.get('remark')
|
||
if not all([id]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
|
||
ro = role.objects.get(id=id)
|
||
if RoleName:
|
||
ro.RoleName = RoleName
|
||
ro.save(update_fields=['RoleName'])
|
||
if remark:
|
||
ro.remark = remark
|
||
ro.save(update_fields=['remark'])
|
||
return Response({'message': '编辑成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class displayRole(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
RoleName = request.data.get('RoleName')
|
||
obj = Q()
|
||
if RoleName:
|
||
obj = Q(RoleName__icontains=RoleName)
|
||
roles = role.objects.filter(obj)
|
||
data = []
|
||
for ro in roles:
|
||
data.append({
|
||
"id": str(ro.id),
|
||
"role_name": ro.RoleName,
|
||
"remark": ro.remark,
|
||
})
|
||
return Response({'message': '展示成功','data' :data,'code': 0}, status=status.HTTP_200_OK)
|
||
|
||
class modifypermissions(APIView):
|
||
def post(self,request,*args,**kwargs):
|
||
id = request.data.get('id')
|
||
permissionId = request.data.get('permissionId')
|
||
if not all([id,permissionId]):
|
||
return Response({'status': 'error', 'message': '缺少参数', 'code': 1}, status=status.HTTP_400_BAD_REQUEST)
|
||
permissionId = ast.literal_eval(permissionId)
|
||
ro = role.objects.get(id=id)
|
||
ro.permissionId = permissionId
|
||
ro.save(update_fields=['permissionId'])
|
||
|
||
return Response({'message': '权限修改成功', 'code': 0}, status=status.HTTP_200_OK)
|
||
|