质量文档接口
This commit is contained in:
parent
5b5e7a5dd3
commit
4dbb2cd01b
|
@ -82,15 +82,19 @@ export default {
|
|||
this.$u.api.getUserInfo().then(res=>{
|
||||
this.$u.vuex('vuex_user', res.data)
|
||||
// 修改资源请求地址
|
||||
this.$u.vuex('vuex_user.avatar', this.vuex_user.avatar +
|
||||
this.$u.vuex('vuex_user.avatar', res.data.avatar +
|
||||
'?token=' + this.vuex_token)
|
||||
console.log(this.vuex_user)
|
||||
})
|
||||
uni.reLaunch({
|
||||
url:'/pages/home/home'
|
||||
})
|
||||
}
|
||||
)
|
||||
).catch(e=>{
|
||||
uni.showToast({
|
||||
title:'账户密码错误',
|
||||
icon:'none'
|
||||
})
|
||||
})
|
||||
} else {
|
||||
console.log('验证失败');
|
||||
}
|
||||
|
|
|
@ -121,4 +121,12 @@ class InspectRecord(CommonAModel):
|
|||
verbose_name = '巡查记录'
|
||||
verbose_name_plural = verbose_name
|
||||
|
||||
|
||||
class Document(CommonAModel):
|
||||
|
||||
name = models.CharField('名称', max_length=100)
|
||||
description = models.TextField('描述', default="")
|
||||
file = models.ForeignKey(File, on_delete=models.CASCADE)
|
||||
|
||||
class Meta:
|
||||
verbose_name = '质量文件库'
|
||||
verbose_name_plural = verbose_name
|
|
@ -4,6 +4,18 @@ from rest_framework import serializers
|
|||
from .models import *
|
||||
from apps.system.serializers import OrganizationSerializer,FileListSerializer,UserSimpleSerializer,OrganizationSimpleSerializer, FileSimpleSerializer
|
||||
from rest_framework.exceptions import ParseError, APIException
|
||||
|
||||
class DocumentSerializer(serializers.ModelSerializer):
|
||||
|
||||
file_ = FileListSerializer(source='file', read_only=True)
|
||||
class Meta:
|
||||
model = Document
|
||||
fields = '__all__'
|
||||
@staticmethod
|
||||
def setup_eager_loading(queryset):
|
||||
queryset = queryset.select_related('file')
|
||||
return queryset
|
||||
|
||||
class InspectItemSerializer(serializers.ModelSerializer):
|
||||
cate_name = serializers.StringRelatedField(source='cate', read_only=True)
|
||||
class Meta:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
from django.urls import path, include
|
||||
from rest_framework import routers
|
||||
from .views import InspectItemViewSet, InspectTaskViewSet, InspectTeamViewSet, InspectTemplateViewSet, SubtaskViewSet, InspectRecordViewSet, InspectDeptViewSet, InspectTemplate
|
||||
from .views import DocumentViewSet, InspectItemViewSet, InspectTaskViewSet, InspectTeamViewSet, InspectTemplateViewSet, SubtaskViewSet, InspectRecordViewSet, InspectDeptViewSet, InspectTemplate
|
||||
|
||||
router = routers.DefaultRouter()
|
||||
router.register('inspectitem', InspectItemViewSet, basename="inspectitem")
|
||||
|
@ -10,6 +10,7 @@ router.register('inspectrecord', InspectRecordViewSet, basename='inspectrecord')
|
|||
router.register('inspectdept', InspectDeptViewSet, basename='inspectdept')
|
||||
router.register('inspecttemplate', InspectTemplateViewSet, basename='inspecttemplate')
|
||||
router.register('inspectteam', InspectTeamViewSet, basename='inspectteam')
|
||||
router.register('document', DocumentViewSet, basename='document')
|
||||
urlpatterns = [
|
||||
path('', include(router.urls))
|
||||
]
|
|
@ -14,7 +14,7 @@ from rest_framework.response import Response
|
|||
from rest_framework.viewsets import GenericViewSet, ModelViewSet
|
||||
from utils.pagination import PageOrNot
|
||||
|
||||
from apps.system.mixins import CreateUpdateCustomMixin, OptimizationMixin
|
||||
from apps.system.mixins import CreateUpdateCustomMixin, CreateUpdateModelAMixin, OptimizationMixin
|
||||
from apps.system.models import Organization
|
||||
from apps.system.permission import get_permission_list, has_permission
|
||||
from apps.system.permission_data import RbacFilterSet
|
||||
|
@ -23,6 +23,14 @@ from .models import *
|
|||
from .serializers import *
|
||||
from .permission import IsSubInspectTaskLeader, IsInspectRecordChecker
|
||||
# Create your views here.
|
||||
class DocumentViewSet(OptimizationMixin, PageOrNot, CreateUpdateModelAMixin, ModelViewSet):
|
||||
perms_map = {'get': '*', 'post': 'qualitydocument_create',
|
||||
'put': 'qualitydocument_update', 'delete': 'qualitydocument_delete'}
|
||||
queryset = Document.objects.all()
|
||||
serializer_class = DocumentSerializer
|
||||
ordering = ['-id']
|
||||
search_fields = ['name']
|
||||
|
||||
|
||||
class InspectTemplateViewSet(PageOrNot, CreateUpdateCustomMixin, ModelViewSet):
|
||||
"""
|
||||
|
|
|
@ -359,7 +359,7 @@ class UserViewSet(PageOrNot, ModelViewSet):
|
|||
"""
|
||||
UserThird.objects.filter(user=request.user, type='wx_mp').delete()
|
||||
return Response()
|
||||
|
||||
|
||||
class WXMPlogin(APIView):
|
||||
authentication_classes=[]
|
||||
permission_classes=[]
|
||||
|
@ -420,6 +420,7 @@ class FileViewSet(ModelViewSet):
|
|||
from rest_framework_simplejwt.state import token_backend
|
||||
from django.http import HttpResponseForbidden, HttpResponse
|
||||
import urllib.parse as urlparse
|
||||
|
||||
def mediaauth(request):
|
||||
token = ""
|
||||
token = request.COOKIES.get('token', None)
|
||||
|
|
Loading…
Reference in New Issue