From 9c8ce37b46030118fee994202dad8a1ddd87b285 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 10 Aug 2020 14:16:27 +0800 Subject: [PATCH] application update --- .../src/views/application/applicationform.vue | 95 ++++-- client/src/views/application/cccform.vue | 16 +- client/src/views/application/pvform.vue | 286 ++++++++++++++++++ client/src/views/application/qmsform.vue | 90 ++++++ ...1_remove_subapplication_cert_field_code.py | 17 ++ .../migrations/0012_auto_20200807_1743.py | 36 +++ .../migrations/0013_auto_20200807_1745.py | 24 ++ .../migrations/0014_auto_20200807_1747.py | 24 ++ .../migrations/0015_auto_20200807_1753.py | 18 ++ server/apps/project/models.py | 11 +- server/apps/project/serializers.py | 6 +- server/apps/project/views.py | 1 - 12 files changed, 577 insertions(+), 47 deletions(-) create mode 100644 client/src/views/application/pvform.vue create mode 100644 client/src/views/application/qmsform.vue create mode 100644 server/apps/project/migrations/0011_remove_subapplication_cert_field_code.py create mode 100644 server/apps/project/migrations/0012_auto_20200807_1743.py create mode 100644 server/apps/project/migrations/0013_auto_20200807_1745.py create mode 100644 server/apps/project/migrations/0014_auto_20200807_1747.py create mode 100644 server/apps/project/migrations/0015_auto_20200807_1753.py diff --git a/client/src/views/application/applicationform.vue b/client/src/views/application/applicationform.vue index fb46484..a75983c 100644 --- a/client/src/views/application/applicationform.vue +++ b/client/src/views/application/applicationform.vue @@ -93,17 +93,44 @@ -
-
- {{item}} -
- +
+ {{item.name}}
- - - - - + + + +
+ {{item.cert_field_.name}} + + + +
+ 操作按钮 +
+ {{item.cert_field_.name}} +
+
+ {{item.cccpv_class_.name}} +
+
+ {{item.name}} +
+
+ {{formData.applicant_v.name}} +
+
+ {{item.manufacture_v.name}} +
+
+ {{item.factory_v.name}} +
+
+ {{item.pattern}} +
+ +
+
+
上一步 保存并进行下一步 @@ -114,8 +141,10 @@ - - + + + +
@@ -123,16 +152,19 @@ \ No newline at end of file diff --git a/client/src/views/application/cccform.vue b/client/src/views/application/cccform.vue index f3d82a9..314ca51 100644 --- a/client/src/views/application/cccform.vue +++ b/client/src/views/application/cccform.vue @@ -110,7 +110,6 @@ diff --git a/client/src/views/application/pvform.vue b/client/src/views/application/pvform.vue new file mode 100644 index 0000000..427b26c --- /dev/null +++ b/client/src/views/application/pvform.vue @@ -0,0 +1,286 @@ + + + diff --git a/client/src/views/application/qmsform.vue b/client/src/views/application/qmsform.vue new file mode 100644 index 0000000..e29d463 --- /dev/null +++ b/client/src/views/application/qmsform.vue @@ -0,0 +1,90 @@ + + + diff --git a/server/apps/project/migrations/0011_remove_subapplication_cert_field_code.py b/server/apps/project/migrations/0011_remove_subapplication_cert_field_code.py new file mode 100644 index 0000000..bac5d5f --- /dev/null +++ b/server/apps/project/migrations/0011_remove_subapplication_cert_field_code.py @@ -0,0 +1,17 @@ +# Generated by Django 3.0.7 on 2020-08-07 03:37 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('project', '0010_auto_20200806_1740'), + ] + + operations = [ + migrations.RemoveField( + model_name='subapplication', + name='cert_field_code', + ), + ] diff --git a/server/apps/project/migrations/0012_auto_20200807_1743.py b/server/apps/project/migrations/0012_auto_20200807_1743.py new file mode 100644 index 0000000..42052bd --- /dev/null +++ b/server/apps/project/migrations/0012_auto_20200807_1743.py @@ -0,0 +1,36 @@ +# Generated by Django 3.0.7 on 2020-08-07 09:43 + +import django.contrib.postgres.fields.jsonb +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('crm', '0011_enterprise_parent'), + ('project', '0011_remove_subapplication_cert_field_code'), + ] + + operations = [ + migrations.AlterField( + model_name='subapplication', + name='factory', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='subapplication_factory', to='crm.Enterprise'), + ), + migrations.AlterField( + model_name='subapplication', + name='factory_v', + field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, verbose_name='生产厂'), + ), + migrations.AlterField( + model_name='subapplication', + name='manufacture', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='subapplication_manufacture', to='crm.Enterprise'), + ), + migrations.AlterField( + model_name='subapplication', + name='manufacture_v', + field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, verbose_name='制造商'), + ), + ] diff --git a/server/apps/project/migrations/0013_auto_20200807_1745.py b/server/apps/project/migrations/0013_auto_20200807_1745.py new file mode 100644 index 0000000..5a4254b --- /dev/null +++ b/server/apps/project/migrations/0013_auto_20200807_1745.py @@ -0,0 +1,24 @@ +# Generated by Django 3.0.7 on 2020-08-07 09:45 + +import django.contrib.postgres.fields.jsonb +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('project', '0012_auto_20200807_1743'), + ] + + operations = [ + migrations.AlterField( + model_name='subapplication', + name='factory_v', + field=django.contrib.postgres.fields.jsonb.JSONField(default=dict, verbose_name='生产厂'), + ), + migrations.AlterField( + model_name='subapplication', + name='manufacture_v', + field=django.contrib.postgres.fields.jsonb.JSONField(default=dict, verbose_name='制造商'), + ), + ] diff --git a/server/apps/project/migrations/0014_auto_20200807_1747.py b/server/apps/project/migrations/0014_auto_20200807_1747.py new file mode 100644 index 0000000..62fa76d --- /dev/null +++ b/server/apps/project/migrations/0014_auto_20200807_1747.py @@ -0,0 +1,24 @@ +# Generated by Django 3.0.7 on 2020-08-07 09:47 + +import django.contrib.postgres.fields.jsonb +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('project', '0013_auto_20200807_1745'), + ] + + operations = [ + migrations.AlterField( + model_name='subapplication', + name='factory_v', + field=django.contrib.postgres.fields.jsonb.JSONField(null=True, verbose_name='生产厂'), + ), + migrations.AlterField( + model_name='subapplication', + name='manufacture_v', + field=django.contrib.postgres.fields.jsonb.JSONField(null=True, verbose_name='制造商'), + ), + ] diff --git a/server/apps/project/migrations/0015_auto_20200807_1753.py b/server/apps/project/migrations/0015_auto_20200807_1753.py new file mode 100644 index 0000000..9f87593 --- /dev/null +++ b/server/apps/project/migrations/0015_auto_20200807_1753.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.7 on 2020-08-07 09:53 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('project', '0014_auto_20200807_1747'), + ] + + operations = [ + migrations.AlterField( + model_name='subapplication', + name='pattern', + field=models.CharField(blank=True, choices=[('正常', '正常'), ('ODM', 'ODM'), ('OEM', 'OEM')], max_length=50, null=True, verbose_name='申请模式'), + ), + ] diff --git a/server/apps/project/models.py b/server/apps/project/models.py index 3fd0031..dfcd8a3 100644 --- a/server/apps/project/models.py +++ b/server/apps/project/models.py @@ -69,17 +69,16 @@ class SubApplication(CommonBModel): ) number = models.CharField('子申请编号', max_length = 100) application = models.ForeignKey(Application, on_delete=models.CASCADE, related_name='subapplication_application') - cert_field_code = models.CharField('认证领域代号', max_length=50, null=True) cert_field = models.ForeignKey(Dict, verbose_name='认证领域', related_name='subapplication_cert_field', on_delete=models.DO_NOTHING) cccpv_class = models.ForeignKey(Dict, verbose_name='涉及CCC/PV分类', related_name='subapplication_cccpv_class', on_delete=models.DO_NOTHING, null=True, blank=True) cnas_scopes = models.ManyToManyField(Dict, verbose_name='涉及cnas分类', related_name='subapplication_cnas_sopes', blank=True) project = models.ForeignKey(Project, related_name='subapplication_project', on_delete=models.SET_NULL, null=True) is_approve = models.BooleanField('是否认可', default=True) - pattern = models.CharField('申请模式', default='正常', choices=pattern_choices, max_length=50) - manufacture = models.ForeignKey(Enterprise, on_delete=models.CASCADE, related_name='subapplication_manufacture') - manufacture_v = JSONField(verbose_name='制造商') - factory = models.ForeignKey(Enterprise, on_delete=models.CASCADE, related_name='subapplication_factory') - factory_v = JSONField(verbose_name='生产厂') + pattern = models.CharField('申请模式', choices=pattern_choices, max_length=50, null=True, blank=True) + manufacture = models.ForeignKey(Enterprise, on_delete=models.CASCADE, related_name='subapplication_manufacture', null=True, blank=True) + manufacture_v = JSONField(verbose_name='制造商', null=True) + factory = models.ForeignKey(Enterprise, on_delete=models.CASCADE, related_name='subapplication_factory', null=True, blank=True) + factory_v = JSONField(verbose_name='生产厂', null=True) class Meta: verbose_name = '认证子申请' diff --git a/server/apps/project/serializers.py b/server/apps/project/serializers.py index 81caacf..54f1c37 100644 --- a/server/apps/project/serializers.py +++ b/server/apps/project/serializers.py @@ -2,7 +2,7 @@ from rest_framework import serializers from .models import * -# from apps.system.serializers import DictSerializer, UserListSerializer +from apps.system.serializers import DictSerializer, UserListSerializer # from apps.certset.serializers import ImplementRuleSerializer class ApplicationCreateSerializer(serializers.ModelSerializer): @@ -29,7 +29,9 @@ class SubApplicationCreateSerializer(serializers.ModelSerializer): class SubApplicationUpdateSerializer(serializers.ModelSerializer): number = serializers.CharField(read_only=True) - cert_field_code = serializers.CharField(read_only=True) + cert_field_ = DictSerializer(source='cert_field') + cccpv_class_ = DictSerializer(source='cccpv_class') + cnas_scopes_ = DictSerializer(source='cnas_scopes', many=True) class Meta: model = SubApplication fields = '__all__' \ No newline at end of file diff --git a/server/apps/project/views.py b/server/apps/project/views.py index e167b03..240d159 100644 --- a/server/apps/project/views.py +++ b/server/apps/project/views.py @@ -48,7 +48,6 @@ class SubApplicationViewSet(CreateUpdateCustomMixin, ModelViewSet): def create(self, request, *args, **kwargs): postdata = request.data postdata['number'] = random.randrange(1000,2000) - postdata['cert_field'] = Dict.objects.get(code=postdata['cert_field_code'], type__code='cert_field').pk serializer = self.get_serializer(data=postdata) serializer.is_valid(raise_exception=True) self.perform_create(serializer)