label position
This commit is contained in:
parent
a7d5299c70
commit
ef396346a3
|
@ -28,7 +28,7 @@ class BindAreaSerializer(serializers.Serializer):
|
|||
class LabelLocationSerializer(CustomModelSerializer):
|
||||
class Meta:
|
||||
model = TDevice
|
||||
fields = ['type', 'location', 'area', 'areas']
|
||||
fields = ['type', 'location', 'area', 'areas', 'code']
|
||||
|
||||
|
||||
class BindAreasSerializer(serializers.Serializer):
|
||||
|
|
|
@ -50,14 +50,38 @@ class TDeviceViewSet(CustomGenericViewSet):
|
|||
_, res = dhClient.request(**dhapis['channel_list'], json=request.data)
|
||||
return Response(res)
|
||||
|
||||
@action(methods=['put'], detail=True, perms_map={'put': 'tdevice:label_location'},
|
||||
serializer_class=LabelLocationSerializer, lookup_field='code')
|
||||
@action(methods=['post'], detail=False, perms_map={'post': 'tdevice:label_location'},
|
||||
serializer_class=LabelLocationSerializer)
|
||||
def label_location(self, request):
|
||||
"""
|
||||
标注坐标位置
|
||||
|
||||
标注坐标位置
|
||||
"""
|
||||
serializer = self.get_serializer(data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
vdata = serializer.vdata
|
||||
td = TDevice.objects.filter(code=vdata['code']).first()
|
||||
if td:
|
||||
td.location = vdata['location']
|
||||
td.type = vdata['type']
|
||||
td.area = vdata['area']
|
||||
td.update_by = request.user
|
||||
td.areas.clear()
|
||||
for i in vdata['areas']:
|
||||
td.areas.add(i)
|
||||
td.save()
|
||||
else:
|
||||
td = TDevice()
|
||||
td.type = vdata['type']
|
||||
td.code = vdata['code']
|
||||
td.location = vdata['location']
|
||||
td.area = vdata['area']
|
||||
td.areas.clear()
|
||||
for i in vdata['areas']:
|
||||
td.areas.add(i)
|
||||
td.create_by = request.user
|
||||
td.save()
|
||||
return Response()
|
||||
|
||||
@action(methods=['post'], detail=False, perms_map={'post': 'tdevice:bind_area'},
|
||||
|
|
Loading…
Reference in New Issue