修改testrecorditem 字段及对应的序列化接口去除sort,need_judge
This commit is contained in:
parent
24d2f864af
commit
e64347c27c
|
@ -143,6 +143,7 @@ class RecordFormField(CommonAModel):
|
|||
FIELD_SELECTS = 'selects'
|
||||
FIELD_TEXTAREA = 'textarea'
|
||||
FIELD_DRAW = 'draw'
|
||||
FIELD_TABLE = 'table'
|
||||
FIELD_FROMSYSTEM = 'fromsystem'
|
||||
field_type_choices = (
|
||||
('string', '字符串'),
|
||||
|
@ -157,6 +158,7 @@ class RecordFormField(CommonAModel):
|
|||
('select', '单选下拉'),
|
||||
('selects', '多选下拉'),
|
||||
('textarea', '文本域'),
|
||||
('table', '表格'),
|
||||
('draw', '绘图'),
|
||||
)
|
||||
high_rule_choices = (
|
||||
|
|
|
@ -83,8 +83,7 @@ class TestRecordItem(BaseModel):
|
|||
field_key = models.CharField('字段标识', max_length=50)
|
||||
field_type = models.CharField('字段类型', choices=RecordForm.type_choices, max_length=50)
|
||||
field_value = models.JSONField('录入值', default=dict, blank=True)
|
||||
need_judge = models.BooleanField('是否需要判定', default=False)
|
||||
sort = models.IntegerField('排序号', default=1)
|
||||
is_hidden = models.BooleanField('是否隐藏', default=False)
|
||||
is_testok = models.BooleanField('是否合格', null=True, blank=True)
|
||||
is_testok_robot = models.BooleanField('自动判定的是否合格', null=True, blank=True)
|
||||
test_record = models.ForeignKey(TestRecord, verbose_name='关联的检测记录', on_delete=models.CASCADE, related_name='item_test_record')
|
|
@ -44,10 +44,16 @@ class TestRecordItemCreateSerializer(serializers.ModelSerializer):
|
|||
class TestRecordItemUpdateSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = TestRecordItem
|
||||
fields = ['id', 'field_value', 'is_testok']
|
||||
fields = ['id', 'field_value', 'is_testok', 'is_hidden']
|
||||
|
||||
|
||||
class TestRecordItemSerializer(serializers.ModelSerializer):
|
||||
need_judge = serializers.BooleanField(source='form_field__need_judge', read_only=True)
|
||||
rule_expression = serializers.JSONField(source='form_field__rule_expression', read_only=True)
|
||||
display_expression = serializers.JSONField(source='form_field__display_expression', read_only=True)
|
||||
is_hidden = serializers.BooleanField(source='form_field__is_hidden', read_only=True)
|
||||
help_text = serializers.CharField(source='form_field__help_text', read_only=True)
|
||||
sort = serializers.IntegerField(source='form_field__sort', read_only=True)
|
||||
class Meta:
|
||||
model = TestRecordItem
|
||||
fields = '__all__'
|
||||
|
|
|
@ -76,6 +76,10 @@ class TestRecordViewSet(ListModelMixin, UpdateModelMixin, RetrieveModelMixin, De
|
|||
@action(methods=['post'], detail=True, perms_map={'post':'*'}, serializer_class=serializers.Serializer)
|
||||
def submit(self, request, pk=None):
|
||||
obj = self.get_object()
|
||||
# 校验是否有未填项目
|
||||
if obj.type != TestRecord.TEST_PROCESS_RE:
|
||||
if TestRecordItem.objects.filter(field_value__isnull=True, is_hidden=False).exists():
|
||||
raise exceptions.APIException('存在未填写项目')
|
||||
with transaction.atomic():
|
||||
WpmServies.update_wproduct_by_test(obj, request.user)
|
||||
return Response()
|
||||
|
|
|
@ -282,7 +282,7 @@ class OperationSubmitSerializer(serializers.Serializer):
|
|||
class WpmTestRecordItemCreateSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = TestRecordItem
|
||||
fields = ['form_field', 'field_value', 'is_testok']
|
||||
fields = ['form_field', 'field_value', 'is_testok', 'is_hidden']
|
||||
|
||||
class WpmTestRecordCreateSerializer(serializers.ModelSerializer):
|
||||
record_data = WpmTestRecordItemCreateSerializer(many=True)
|
||||
|
|
|
@ -210,6 +210,7 @@ class WProductViewSet(ListModelMixin, GenericViewSet):
|
|||
o_dict[i['field_key']] = i['field_value']
|
||||
for i in data['form_fields']:
|
||||
i['origin_value'] = o_dict[i['field_key']] if i['field_key'] in o_dict else None
|
||||
i['is_hidden'] = o_dict[i['is_hidden']] if i['is_hidden'] in o_dict else False
|
||||
else:
|
||||
raise exceptions.APIException('原工序检验记录不存在')
|
||||
else:
|
||||
|
@ -251,8 +252,6 @@ class WProductViewSet(ListModelMixin, GenericViewSet):
|
|||
m['field_name'] = form_field.field_name
|
||||
m['field_key'] = form_field.field_key
|
||||
m['field_type'] = form_field.field_type
|
||||
m['sort'] = form_field.sort
|
||||
m['need_judge'] = form_field.need_judge
|
||||
m['is_testok'] = m['is_testok'] if 'is_testok' in m else None
|
||||
m['test_record'] = obj
|
||||
tris.append(TestRecordItem(**m))
|
||||
|
|
Loading…
Reference in New Issue