label position
This commit is contained in:
parent
a7d5299c70
commit
ef396346a3
|
@ -28,7 +28,7 @@ class BindAreaSerializer(serializers.Serializer):
|
||||||
class LabelLocationSerializer(CustomModelSerializer):
|
class LabelLocationSerializer(CustomModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = TDevice
|
model = TDevice
|
||||||
fields = ['type', 'location', 'area', 'areas']
|
fields = ['type', 'location', 'area', 'areas', 'code']
|
||||||
|
|
||||||
|
|
||||||
class BindAreasSerializer(serializers.Serializer):
|
class BindAreasSerializer(serializers.Serializer):
|
||||||
|
|
|
@ -50,14 +50,38 @@ class TDeviceViewSet(CustomGenericViewSet):
|
||||||
_, res = dhClient.request(**dhapis['channel_list'], json=request.data)
|
_, res = dhClient.request(**dhapis['channel_list'], json=request.data)
|
||||||
return Response(res)
|
return Response(res)
|
||||||
|
|
||||||
@action(methods=['put'], detail=True, perms_map={'put': 'tdevice:label_location'},
|
@action(methods=['post'], detail=False, perms_map={'post': 'tdevice:label_location'},
|
||||||
serializer_class=LabelLocationSerializer, lookup_field='code')
|
serializer_class=LabelLocationSerializer)
|
||||||
def label_location(self, request):
|
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()
|
return Response()
|
||||||
|
|
||||||
@action(methods=['post'], detail=False, perms_map={'post': 'tdevice:bind_area'},
|
@action(methods=['post'], detail=False, perms_map={'post': 'tdevice:bind_area'},
|
||||||
|
|
Loading…
Reference in New Issue