diff --git a/client_mp/pages/login/login_password.vue b/client_mp/pages/login/login_password.vue index e0edf32..c76fbe3 100644 --- a/client_mp/pages/login/login_password.vue +++ b/client_mp/pages/login/login_password.vue @@ -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('验证失败'); } diff --git a/server/apps/quality/models.py b/server/apps/quality/models.py index 9de3872..90ca56a 100644 --- a/server/apps/quality/models.py +++ b/server/apps/quality/models.py @@ -121,4 +121,12 @@ class InspectRecord(CommonAModel): verbose_name = '巡查记录' verbose_name_plural = verbose_name - \ No newline at end of file +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 \ No newline at end of file diff --git a/server/apps/quality/serializers.py b/server/apps/quality/serializers.py index 570daa6..ba1e3ca 100644 --- a/server/apps/quality/serializers.py +++ b/server/apps/quality/serializers.py @@ -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: diff --git a/server/apps/quality/urls.py b/server/apps/quality/urls.py index e18fe4a..1e65ce8 100644 --- a/server/apps/quality/urls.py +++ b/server/apps/quality/urls.py @@ -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)) ] \ No newline at end of file diff --git a/server/apps/quality/views.py b/server/apps/quality/views.py index 5b330ab..13711f8 100644 --- a/server/apps/quality/views.py +++ b/server/apps/quality/views.py @@ -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): """ diff --git a/server/apps/system/views.py b/server/apps/system/views.py index dbcc47e..0506bd7 100644 --- a/server/apps/system/views.py +++ b/server/apps/system/views.py @@ -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)