From 9408dbd6e5a9716eb60694b2c99b8f0d845902c2 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Sun, 9 Nov 2025 23:05:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=A6=BB=E8=81=8C=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/hrm/views.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/apps/hrm/views.py b/apps/hrm/views.py index 0c9896bd..68061e97 100755 --- a/apps/hrm/views.py +++ b/apps/hrm/views.py @@ -26,9 +26,9 @@ from apps.hrm.services import HrmService from apps.third.dahua import dhClient from apps.third.tapis import dhapis from apps.utils.export import export_excel -from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet +from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet, EuModelViewSet from apps.utils.mixins import BulkCreateModelMixin, BulkDestroyModelMixin, CustomListModelMixin, RetrieveModelMixin - +from apps.wf.models import Ticket epTypeOptions = {'employee': '正式员工', 'remployee': '相关方', 'visitor': '访客', 'driver': '货车司机'} epStateOptions = {10: '在职', 20: '离职', 30: '退休'} @@ -393,9 +393,16 @@ class CertificateViewSet(CustomModelViewSet): ins.get_state(need_update=True) -class ResignationViewSet(CustomListModelMixin, BulkCreateModelMixin, RetrieveModelMixin, CustomGenericViewSet): - perms_map = {"get": "*", "post": "resignation.create"} +class ResignationViewSet(EuModelViewSet): select_related_fields = ['employee', 'employee__belong_dept', 'employee__post'] queryset = Resignation.objects.all() serializer_class = ResignationSerializer - search_fields = ["employee__name"] \ No newline at end of file + search_fields = ["employee__name"] + + def perform_destroy(self, instance): + ticket:Ticket = instance.ticket + if ticket and ticket.state.type != 1: + raise ParseError('该离职记录关联的工单已被处理,不可删除') + instance.delete() + if ticket: + ticket.delete() \ No newline at end of file