fix : 修改信息收集的权限系统

This commit is contained in:
zty 2024-07-08 14:22:41 +08:00
parent 350b2959f1
commit c4dc70cd13
3 changed files with 54 additions and 17 deletions

View File

@ -16,6 +16,14 @@ export function getpdf(id) {
})
}
export function pdfAll(query) {
return request({
url: '/info/pdf/',
method: 'get',
params: query
})
}
export function getyr(id) {
return request({
url: `/info/yr/${id}/`,

View File

@ -0,0 +1,25 @@
# Generated by Django 3.2.12 on 2024-07-08 05:06
import datetime
from django.db import migrations, models
from django.utils.timezone import utc
class Migration(migrations.Migration):
dependencies = [
('information', '0058_auto_20240708_1230'),
]
operations = [
migrations.AlterField(
model_name='abilityreview',
name='name',
field=models.CharField(max_length=20, verbose_name='公司名称'),
),
migrations.AlterField(
model_name='qualification',
name='change_date',
field=models.DateField(blank=True, default=datetime.datetime(2024, 7, 8, 5, 6, 20, 625496, tzinfo=utc), null=True, verbose_name='变更日期'),
),
]

View File

@ -21,6 +21,7 @@ from apps.system.models import Role
import os
import traceback
import shutil
import threading
EXCEL_PATH = os.path.join(settings.BASE_DIR, "media/default/检验检测服务业统计数据上报任务.xlsx")
@ -182,7 +183,9 @@ class AbilityReviewViewSet(ImpMixin, RbacFilterSet, CreateUpdateCustomMixin, Mod
class QualityCommendationViewSet(ImpMixin, RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet):
queryset = QualityCommendation.objects.all()
serializer_class = QualityCommendationSerializer
perms_map = {'get': '*', 'post': 'qcom_create',
'put': 'qcom_update', 'patch': 'qcom_update', 'delete': 'qcom_delete'}
def build_data(self, sheet, start):
data_list = []
for row in sheet.iter_rows(min_row=start, values_only=True): # 假设第一行是表头,从第二行开始读取数据
@ -209,7 +212,7 @@ class QualityCommendationViewSet(ImpMixin, RbacFilterSet, CreateUpdateCustomMixi
data_list.append(serializer_data)
return data_list
@action(detail=False, methods=['post'])
@action(detail=False, methods=['post'], perms_map={'post': 'qcom_create'})
@transaction.atomic
def imp(self, request, *args, **kwargs):
"""
@ -249,6 +252,8 @@ class QualityCommendationViewSet(ImpMixin, RbacFilterSet, CreateUpdateCustomMixi
class QualityActivitiesViewSet(ImpMixin, RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet):
queryset = QualityActivities.objects.all()
serializer_class = QualityActivitiesSerializer
perms_map = {'get': '*', 'post': 'qactivate_create',
'put': 'qactivate_update', 'patch': 'qactivate_update', 'delete': 'qactivate_delete'}
#根据日期过滤数据
@action(detail=False, methods=['post'])
@ -302,7 +307,7 @@ class QualityActivitiesViewSet(ImpMixin, RbacFilterSet, CreateUpdateCustomMixin,
}
data_list.append(serializer_data)
return data_list
@action(detail=False, methods=['post'])
@action(detail=False, methods=['post'], perms_map={'post':'qactivate_create'})
@transaction.atomic
def imp(self, request, *args, **kwargs):
"""
@ -314,7 +319,9 @@ class QualityActivitiesViewSet(ImpMixin, RbacFilterSet, CreateUpdateCustomMixin,
class ContactViewSet(ImpMixin, CreateUpdateCustomMixin, ModelViewSet):
queryset = Contact.objects.all()
serializer_class = ContactSerializer
perms_map = {'get': '*', 'post': 'contact_create',
'put': 'contact_update', 'patch': 'contact_update', 'delete': 'contact_delete'}
def get_queryset(self):
qs = super().get_queryset()
# if self.request.method == 'GET':
@ -345,7 +352,7 @@ class ContactViewSet(ImpMixin, CreateUpdateCustomMixin, ModelViewSet):
}
data_list.append(serializer_data)
return data_list
@action(detail=False, methods=['post'])
@action(detail=False, methods=['post'], perms_map={'post':'contact_create'})
@transaction.atomic
def imp(self, request, *args, **kwargs):
"""
@ -354,14 +361,6 @@ class ContactViewSet(ImpMixin, CreateUpdateCustomMixin, ModelViewSet):
return self.gen_imp_view(request, 2, ContactSerializer)
def dont_wait(func):
def wrapper(*args, **kwargs):
func(*args, **kwargs)
return Response({"message": "操作已在后台开始,结果将不会立即返回。"})
return wrapper
import threading
class ParsePdfViewSet(RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet):
queryset = Parsepdf.objects.all().order_by('id')
serializer_class = ParsepdfSerializer
@ -369,7 +368,7 @@ class ParsePdfViewSet(RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet):
#解析pdf到excel
@action(detail=False, methods=['post'])
@action(detail=False, methods=['post'], perms_map={'post':'parsepdf_create'})
@transaction.atomic
def parse_pdf(self, request, *args, **kwargs):
"""
@ -409,7 +408,9 @@ class ParsePdfViewSet(RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet):
class ExternalAuditorsViewSet(ImpMixin, RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet):
queryset = ExternalAuditors.objects.all()
serializer_class = ExternalAuditorsSerializer
perms_map = {'get': '*', 'post': 'ea_create',
'put': 'ea_update', 'delete': 'ea_delete'}
#根据日期过滤数据
@action(detail=False, methods=['post'])
@transaction.atomic
@ -454,7 +455,7 @@ class ExternalAuditorsViewSet(ImpMixin, RbacFilterSet, CreateUpdateCustomMixin,
}
data_list.append(serializer_data)
return data_list
@action(detail=False, methods=['post'])
@action(detail=False, methods=['post'], perms_map={'post': 'ea_create'})
@transaction.atomic
def imp(self, request, *args, **kwargs):
"""
@ -474,6 +475,8 @@ class AuditLogViewSet(RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet):
queryset = AuditLog.objects.select_related('instance').all()
serializer_class = AuditLogSerializer
filterset_fields = ['instance_id']
perms_map = {'get': '*', 'post': 'aud_create',
'put': 'aud_update', 'delete': 'aud_delete'}
class QualiChangeViewSet(RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet):
@ -536,4 +539,5 @@ class sendMsgInfo(APIView):
class yearReportViewset(RbacFilterSet, CreateUpdateCustomMixin, ModelViewSet):
queryset = YearReport.objects.all()
serializer_class = YearReportSerializer
perms_map = {'get': '*', 'post': 'yr_create'}
perms_map = {'get': '*', 'post': 'yr_create'}