diff --git a/apps/wf/migrations/0005_workflow_cate.py b/apps/wf/migrations/0005_workflow_cate.py new file mode 100644 index 00000000..b3197302 --- /dev/null +++ b/apps/wf/migrations/0005_workflow_cate.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.12 on 2025-11-18 01:44 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('wf', '0004_workflow_view_path2'), + ] + + operations = [ + migrations.AddField( + model_name='workflow', + name='cate', + field=models.CharField(blank=True, max_length=50, null=True, verbose_name='分类'), + ), + ] diff --git a/apps/wf/models.py b/apps/wf/models.py index 522b61bc..90c0cb4a 100755 --- a/apps/wf/models.py +++ b/apps/wf/models.py @@ -9,6 +9,7 @@ class Workflow(CommonAModel): TN:工作流 """ name = models.CharField('名称', max_length=50) + cate = models.CharField('分类', max_length=50, null=True, blank=True) key = models.CharField('工作流标识', unique=True, max_length=20, null=True, blank=True) sn_prefix = models.CharField('流水号前缀', max_length=50, default='hb') description = models.CharField('描述', max_length=200, null=True, blank=True) diff --git a/apps/wf/views.py b/apps/wf/views.py index 748b78b0..ddc7cf4b 100755 --- a/apps/wf/views.py +++ b/apps/wf/views.py @@ -60,11 +60,18 @@ class WorkflowKeyInitView(APIView): class WorkflowViewSet(CustomModelViewSet): queryset = Workflow.objects.all() serializer_class = WorkflowSerializer - search_fields = ['name', 'description'] - filterset_fields = [] + search_fields = ['name', 'description', 'key'] + filterset_fields = ['key', 'cate'] ordering_fields = ['create_time'] ordering = ['key', '-create_time'] + @action(methods=['get'], detail=True, perms_map={'get': '*'}) + def cates(self, request, pk=None): + """ + 工作流分类 + """ + return Response(Workflow.objects.filter(cate__isnull=False).values_list('cate', flat=True).distinct()) + @action(methods=['get'], detail=True, perms_map={'get': 'workflow.update'}, pagination_class=None, serializer_class=StateSerializer) def states(self, request, pk=None):