flower_bs пре 1 дан
родитељ
комит
03f05665c8
100 измењених фајлова са 201 додато и 28 уклоњено
  1. 28 1
      container/filter.py
  2. 9 1
      container/models.py
  3. 68 2
      container/serializers.py
  4. 2 0
      container/urls.py
  5. 61 2
      container/views.py
  6. 0 0
      templates/dist/spa/css/10.f57b1220.css
  7. 0 0
      templates/dist/spa/css/11.65fea8cc.css
  8. 0 0
      templates/dist/spa/css/12.296f042c.css
  9. 0 0
      templates/dist/spa/css/13.a5d7d7ca.css
  10. 0 0
      templates/dist/spa/css/14.601677c3.css
  11. 0 0
      templates/dist/spa/css/15.71123cd8.css
  12. 0 0
      templates/dist/spa/css/16.f721cf95.css
  13. 0 0
      templates/dist/spa/css/17.ed8e81e9.css
  14. 0 0
      templates/dist/spa/css/18.3fd341e9.css
  15. 0 0
      templates/dist/spa/css/19.4b9e275f.css
  16. 0 0
      templates/dist/spa/css/20.20ec1b8f.css
  17. 0 0
      templates/dist/spa/css/21.01a9029f.css
  18. 0 0
      templates/dist/spa/css/22.31ab8f86.css
  19. 0 0
      templates/dist/spa/css/23.0d4c4716.css
  20. 0 0
      templates/dist/spa/css/24.e2633675.css
  21. 0 0
      templates/dist/spa/css/25.8f3f6188.css
  22. 0 0
      templates/dist/spa/css/26.97f5bf6a.css
  23. 0 0
      templates/dist/spa/css/27.368d1e05.css
  24. 0 0
      templates/dist/spa/css/28.e4f041cc.css
  25. 0 0
      templates/dist/spa/css/29.7a23b7fb.css
  26. 0 0
      templates/dist/spa/css/30.0faa4aeb.css
  27. 1 0
      templates/dist/spa/css/6.335f665c.css
  28. 1 0
      templates/dist/spa/css/7.05ad646d.css
  29. 1 0
      templates/dist/spa/css/8.12d7043d.css
  30. 0 0
      templates/dist/spa/css/9.eb31c91a.css
  31. 1 1
      templates/dist/spa/index.html
  32. BIN
      templates/dist/spa/js/10.4f174308.js.gz
  33. 1 0
      templates/dist/spa/js/10.ce199471.js
  34. BIN
      templates/dist/spa/js/10.ce199471.js.gz
  35. 1 0
      templates/dist/spa/js/11.1ed410d9.js
  36. BIN
      templates/dist/spa/js/11.1ed410d9.js.gz
  37. BIN
      templates/dist/spa/js/11.9fec97c3.js.gz
  38. 1 0
      templates/dist/spa/js/12.f453dadc.js
  39. BIN
      templates/dist/spa/js/12.f453dadc.js.gz
  40. 1 1
      templates/dist/spa/js/10.4f174308.js
  41. BIN
      templates/dist/spa/js/13.11fa6bd3.js.gz
  42. BIN
      templates/dist/spa/js/13.25cd3c57.js.gz
  43. BIN
      templates/dist/spa/js/14.f187fd27.js.gz
  44. 1 1
      templates/dist/spa/js/11.9fec97c3.js
  45. BIN
      templates/dist/spa/js/14.f28e26d3.js.gz
  46. 1 1
      templates/dist/spa/js/12.fed15142.js
  47. BIN
      templates/dist/spa/js/12.fed15142.js.gz
  48. BIN
      templates/dist/spa/js/15.a8dca05d.js.gz
  49. 1 1
      templates/dist/spa/js/13.25cd3c57.js
  50. BIN
      templates/dist/spa/js/16.907689d4.js.gz
  51. BIN
      templates/dist/spa/js/16.cee84e51.js.gz
  52. 1 1
      templates/dist/spa/js/14.f187fd27.js
  53. BIN
      templates/dist/spa/js/17.81453fd8.js.gz
  54. BIN
      templates/dist/spa/js/17.d6d38b20.js.gz
  55. BIN
      templates/dist/spa/js/18.20ba4467.js.gz
  56. 1 1
      templates/dist/spa/js/15.a8dca05d.js
  57. BIN
      templates/dist/spa/js/18.a6430dcd.js.gz
  58. 1 1
      templates/dist/spa/js/16.cee84e51.js
  59. BIN
      templates/dist/spa/js/19.787b4641.js.gz
  60. 1 1
      templates/dist/spa/js/17.d6d38b20.js
  61. BIN
      templates/dist/spa/js/20.e5c2f3f4.js.gz
  62. BIN
      templates/dist/spa/js/21.8f0d2bb0.js.gz
  63. 1 1
      templates/dist/spa/js/18.20ba4467.js
  64. BIN
      templates/dist/spa/js/21.e25462dc.js.gz
  65. 1 1
      templates/dist/spa/js/19.392c3531.js
  66. BIN
      templates/dist/spa/js/19.392c3531.js.gz
  67. BIN
      templates/dist/spa/js/22.7f534dae.js.gz
  68. 1 1
      templates/dist/spa/js/20.78d4d1ea.js
  69. BIN
      templates/dist/spa/js/23.bdf67356.js.gz
  70. 1 1
      templates/dist/spa/js/21.8f0d2bb0.js
  71. BIN
      templates/dist/spa/js/24.2b3d36c2.js.gz
  72. 1 1
      templates/dist/spa/js/22.7f534dae.js
  73. BIN
      templates/dist/spa/js/25.b3d1d83d.js.gz
  74. 1 1
      templates/dist/spa/js/23.bdf67356.js
  75. BIN
      templates/dist/spa/js/26.9460bc13.js.gz
  76. 1 1
      templates/dist/spa/js/24.16ed2570.js
  77. 1 1
      templates/dist/spa/js/25.41af4fe1.js
  78. 1 1
      templates/dist/spa/js/26.178ca6c4.js
  79. BIN
      templates/dist/spa/js/29.e45f8f97.js.gz
  80. 1 1
      templates/dist/spa/js/27.1d257e24.js
  81. BIN
      templates/dist/spa/js/30.a76270fb.js.gz
  82. 1 0
      templates/dist/spa/js/31.302a4ef9.js
  83. BIN
      templates/dist/spa/js/31.302a4ef9.js.gz
  84. BIN
      templates/dist/spa/js/31.c60a5b35.js.gz
  85. BIN
      templates/dist/spa/js/32.8891987a.js.gz
  86. 1 0
      templates/dist/spa/js/32.b1145adc.js
  87. 1 0
      templates/dist/spa/js/33.4d61e233.js
  88. BIN
      templates/dist/spa/js/33.c4da9cdd.js.gz
  89. 1 0
      templates/dist/spa/js/34.3f8e4f2e.js
  90. BIN
      templates/dist/spa/js/34.5f3e1414.js.gz
  91. 1 0
      templates/dist/spa/js/35.52adbcb3.js
  92. BIN
      templates/dist/spa/js/35.d6790c60.js.gz
  93. BIN
      templates/dist/spa/js/36.065ef517.js.gz
  94. 1 1
      templates/dist/spa/js/28.010fd9e4.js
  95. 1 1
      templates/dist/spa/js/29.e45f8f97.js
  96. BIN
      templates/dist/spa/js/37.0404b0a9.js.gz
  97. BIN
      templates/dist/spa/js/37.94be7006.js.gz
  98. 1 1
      templates/dist/spa/js/30.a76270fb.js
  99. BIN
      templates/dist/spa/js/38.595977b1.js.gz
  100. 0 0
      templates/dist/spa/js/38.d34ba656.js.gz

+ 28 - 1
container/filter.py

@@ -1,5 +1,32 @@
 from django_filters import FilterSet, NumberFilter, CharFilter
-from .models import ContainerListModel,ContainerDetailModel,ContainerOperationModel,TaskModel,ContainerWCSModel
+from .models import ContainerListModel,ContainerDetailModel,ContainerOperationModel,TaskModel,ContainerWCSModel,ContainerDetailLogModel
+
+from django_filters import rest_framework as filters
+
+class ContainerDetailLogFilter(filters.FilterSet):
+    goods_code = filters.CharFilter(field_name='container_detail__goods_code', lookup_expr='exact')
+    goods_code__icontains = filters.CharFilter(field_name='container_detail__goods_code', lookup_expr='icontains')
+    
+    container_code = filters.CharFilter(field_name='container_detail__container__container_code', lookup_expr='exact')
+    
+    batch = filters.CharFilter(field_name='container_detail__batch__bound_number', lookup_expr='exact')
+    batch__icontains = filters.CharFilter(field_name='container_detail__batch__bound_number', lookup_expr='icontains')
+    class Meta:
+        model = ContainerDetailLogModel
+        fields = {
+            "id": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
+            "container_detail": ['exact'],
+            "log_type": ['exact', 'icontains'],
+            "old_goods_qty": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
+            "old_goods_out_qty": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
+            "old_status": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
+            "new_goods_qty": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
+            "new_goods_out_qty": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
+            "new_status": ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull', 'in', 'range'],
+            "creater": ['exact', 'icontains'],
+            "create_time": ['exact', 'gt', 'gte', 'lt', 'lte', 'range'],
+         
+        }
 
 class ContainerListFilter(FilterSet):
 

+ 9 - 1
container/models.py

@@ -154,6 +154,9 @@ class ContainerDetailModel(models.Model):
         self.batch.goods_in_location_qty = (stats['total_qty'] or 0) - (stats['total_out_qty'] or 0)
         self.batch.goods_out_qty = stats['total_out_qty'] or 0
         self.batch.save()
+
+    def get_container_code(self):
+        return self.container.container_code
         
 
 
@@ -167,6 +170,7 @@ class ContainerDetailLogModel(models.Model):
         ('update', '更新'),
         ('delete', '删除'),
         ('out', '出库'),
+        ('cancel_out', '取消出库'),
         ('status_change', '状态变更'),
     )
     
@@ -242,9 +246,13 @@ def container_detail_pre_save(sender, instance, **kwargs):
             
         # 检查出库数量变化
         if old_instance.goods_out_qty != instance.goods_out_qty:
+
             log.old_goods_out_qty = old_instance.goods_out_qty
             log.new_goods_out_qty = instance.goods_out_qty
-            log.log_type = 'out'
+            if log.old_goods_out_qty < log.new_goods_out_qty:
+                log.log_type = 'out'
+            else:
+                log.log_type = 'cancel_out'
             log.save()
 
             

+ 68 - 2
container/serializers.py

@@ -1,10 +1,10 @@
 from rest_framework import serializers
 
-from .models import ContainerListModel,ContainerDetailModel,ContainerOperationModel,TaskModel,ContainerWCSModel,out_batch_detail
+from .models import ContainerListModel,ContainerDetailModel,ContainerOperationModel,TaskModel,ContainerWCSModel,out_batch_detail,ContainerDetailLogModel
 from bound.models import BoundBatchModel,BoundDetailModel
 
 from utils import datasolve
-
+from decimal import Decimal
 class WCSTaskGetSerializer(serializers.ModelSerializer):
     class Meta:
         # 指定模型和排除字段
@@ -12,7 +12,73 @@ class WCSTaskGetSerializer(serializers.ModelSerializer):
         fields= '__all__'
         read_only_fields = ['id']
 
+class ContainerDetailLogSerializer(serializers.ModelSerializer):
+    batch = serializers.SerializerMethodField()
+    container_code = serializers.SerializerMethodField()
+    goods_code = serializers.SerializerMethodField()
+    goods_desc = serializers.SerializerMethodField()
+    detail_goods_qty = serializers.SerializerMethodField()
+    goods_qty = serializers.SerializerMethodField()
+    goods_out_qty = serializers.SerializerMethodField()
+
+    batch_goods_qty = serializers.SerializerMethodField() #计划入库数量 
+    batch_goods_in_qty = serializers.SerializerMethodField() #实际入库数量 
+    batch_goods_in_location_qty = serializers.SerializerMethodField() #实际在库数量 
+    batch_goods_out_qty = serializers.SerializerMethodField()
+    create_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M', required=False)
+    class Meta:
+        # 指定模型和排除字段
+        model = ContainerDetailLogModel
+        fields= '__all__'
+        read_only_fields = ['id']
 
+    def get_batch(self, obj):
+        """ 动态序列化关联的批次数据 """
+        return obj.container_detail.batch.bound_number if obj.container_detail.batch else 'N/A'
+    def get_container_code(self, obj):
+        return obj.container_detail.container.container_code if obj.container_detail.container.container_code else 'N/A'
+    def get_goods_code(self, obj):
+        return obj.container_detail.goods_code if obj.container_detail.goods_code else 'N/A'
+    def get_goods_desc(self, obj):
+        return obj.container_detail.goods_desc if obj.container_detail.goods_desc else 'N/A'
+    
+    # 获取托盘最小单元detail的入库数量
+    def get_detail_goods_qty(self, obj):
+        return obj.container_detail.goods_qty if obj.container_detail.goods_qty else Decimal('0')
+    
+    # 获取托盘最小单元detail的 入库操作数量
+    def get_goods_qty(self, obj):
+       
+        new_goods_qty = obj.new_goods_qty if obj.new_goods_qty else Decimal('0')
+        old_goods_qty = obj.old_goods_qty if obj.old_goods_qty else Decimal('0')
+
+        goods_qty = new_goods_qty - old_goods_qty
+        return goods_qty if goods_qty else Decimal('0')
+    
+    # 获取托盘最小单元detail的 出库操作数量
+    def get_goods_out_qty(self, obj):
+        
+        new_goods_out_qty = obj.new_goods_out_qty if obj.new_goods_out_qty else Decimal('0')
+        old_goods_out_qty = obj.old_goods_out_qty if obj.old_goods_out_qty else Decimal('0')
+        goods_out_qty = new_goods_out_qty - old_goods_out_qty
+        return goods_out_qty if goods_out_qty else Decimal('0')
+    
+    # 获取批次的计划入库数量
+    def get_batch_goods_qty(self, obj):
+        return obj.container_detail.batch.goods_qty if obj.container_detail.batch.goods_qty else Decimal('0')
+    # 获取批次的实际入库数量
+    def get_batch_goods_in_qty(self, obj):
+        return obj.container_detail.batch.goods_in_qty if obj.container_detail.batch.goods_in_qty else Decimal('0')
+    # 获取批次的实际在库数量
+    def get_batch_goods_in_location_qty(self, obj):
+        return obj.container_detail.batch.goods_in_location_qty if obj.container_detail.batch.goods_in_location_qty else Decimal('0')
+    # 获取批次的出库数量
+    def get_batch_goods_out_qty(self, obj):
+        return obj.container_detail.batch.goods_out_qty if obj.container_detail.batch.goods_out_qty else Decimal('0')
+    
+
+    
+    
 class ContainerListGetSerializer(serializers.ModelSerializer):
     # 定义主单列表的序列化器,用于获取操作,字段只读
     container_code = serializers.IntegerField(read_only=True, required=False)

+ 2 - 0
container/urls.py

@@ -58,4 +58,6 @@ re_path(r'^out_detail/(?P<pk>\d+)/$', views.OutDetailViewSet.as_view({
     'patch': 'partial_update',
 }), name="Task_1"),
 
+path(r'detaillog/', views.ContainerDetailLogModelViewSet.as_view({"get": "list", "post": "create"}), name="Task"),
+
 ]

+ 61 - 2
container/views.py

@@ -14,7 +14,7 @@ import requests
 from django.db import transaction
 import logging
 from rest_framework import status
-from .models import ContainerListModel,ContainerDetailModel,ContainerOperationModel,ContainerWCSModel,TaskModel,out_batch_detail
+from .models import ContainerListModel,ContainerDetailModel,ContainerOperationModel,ContainerWCSModel,TaskModel,out_batch_detail,ContainerDetailLogModel
 from bound.models import BoundDetailModel,BoundListModel,OutBoundDetailModel
 from bin.views import LocationAllocation,base_location
 from bin.models import LocationModel,LocationContainerLink,LocationGroupModel
@@ -26,7 +26,8 @@ from .serializers import ContainerOperationGetSerializer,ContainerOperationPostS
 from .serializers import TaskGetSerializer,TaskPostSerializer
 from .serializers import WCSTaskGetSerializer
 from .serializers import OutBoundFullDetailSerializer,OutBoundDetailSerializer
-from .filter import ContainerDetailFilter,ContainerListFilter,ContainerOperationFilter,TaskFilter,WCSTaskFilter
+from .serializers import ContainerDetailLogSerializer
+from .filter import ContainerDetailFilter,ContainerListFilter,ContainerOperationFilter,TaskFilter,WCSTaskFilter,ContainerDetailLogFilter
 
 from rest_framework.permissions import AllowAny
 import threading
@@ -36,6 +37,64 @@ from collections import defaultdict
 from django.db.models import Sum
 from staff.models import ListModel as StaffListModel
 logger = logging.getLogger(__name__)
+
+# 进出库log查看
+class ContainerDetailLogModelViewSet(viewsets.ModelViewSet):
+    """
+        retrieve:
+            Response a data list(get)
+        list:
+            Response a data list(all)
+        create:
+            Create a data line(post)
+
+        delete:
+            Delete a data line(delete)
+
+    """
+    # authentication_classes = []  # 禁用所有认证类
+    # permission_classes = [AllowAny]  # 允许任意访问
+    pagination_class = MyPageNumberPagination   
+    filter_backends = [DjangoFilterBackend, OrderingFilter, ]
+    ordering_fields = ['id', "create_time", "update_time", ]
+    filter_class = ContainerDetailLogFilter
+
+    def get_project(self):
+        try:
+            id = self.kwargs.get('pk')
+            return id
+        except:
+            return None
+
+    def get_queryset(self):
+        id = self.get_project()
+        if self.request.user:
+            if id is None:
+                return ContainerDetailLogModel.objects.filter()
+            else:
+                return ContainerDetailLogModel.objects.filter(id=id)
+        else:
+            return ContainerDetailLogModel.objects.none()
+
+    def get_serializer_class(self):
+        if self.action in ['list', 'destroy','retrieve']:
+            return ContainerDetailLogSerializer
+        else:
+            return self.http_method_not_allowed(request=self.request)
+
+    def create(self, request, *args, **kwargs):
+        data = self.request.data
+        return Response(data, status=200, headers=headers)
+    
+    def update(self, request, pk):
+        qs = self.get_object()
+        data = self.request.data
+        serializer = self.get_serializer(qs, data=data)
+        serializer.is_valid(raise_exception=True)
+        serializer.save()
+        headers = self.get_success_headers(serializer.data)  
+        return Response(serializer.data, status=200, headers=headers)   
+
 # 托盘列表视图
 class ContainerListViewSet(viewsets.ModelViewSet):
     """

templates/dist/spa/css/7.f57b1220.css → templates/dist/spa/css/10.f57b1220.css


templates/dist/spa/css/8.65fea8cc.css → templates/dist/spa/css/11.65fea8cc.css


templates/dist/spa/css/9.296f042c.css → templates/dist/spa/css/12.296f042c.css


templates/dist/spa/css/10.a5d7d7ca.css → templates/dist/spa/css/13.a5d7d7ca.css


templates/dist/spa/css/11.601677c3.css → templates/dist/spa/css/14.601677c3.css


templates/dist/spa/css/12.71123cd8.css → templates/dist/spa/css/15.71123cd8.css


templates/dist/spa/css/13.f721cf95.css → templates/dist/spa/css/16.f721cf95.css


templates/dist/spa/css/14.ed8e81e9.css → templates/dist/spa/css/17.ed8e81e9.css


templates/dist/spa/css/15.3fd341e9.css → templates/dist/spa/css/18.3fd341e9.css


templates/dist/spa/css/16.4b9e275f.css → templates/dist/spa/css/19.4b9e275f.css


templates/dist/spa/css/17.20ec1b8f.css → templates/dist/spa/css/20.20ec1b8f.css


templates/dist/spa/css/18.01a9029f.css → templates/dist/spa/css/21.01a9029f.css


templates/dist/spa/css/19.31ab8f86.css → templates/dist/spa/css/22.31ab8f86.css


templates/dist/spa/css/20.0d4c4716.css → templates/dist/spa/css/23.0d4c4716.css


templates/dist/spa/css/21.e2633675.css → templates/dist/spa/css/24.e2633675.css


templates/dist/spa/css/22.8f3f6188.css → templates/dist/spa/css/25.8f3f6188.css


templates/dist/spa/css/23.97f5bf6a.css → templates/dist/spa/css/26.97f5bf6a.css


templates/dist/spa/css/24.368d1e05.css → templates/dist/spa/css/27.368d1e05.css


templates/dist/spa/css/25.e4f041cc.css → templates/dist/spa/css/28.e4f041cc.css


templates/dist/spa/css/26.7a23b7fb.css → templates/dist/spa/css/29.7a23b7fb.css


templates/dist/spa/css/27.0faa4aeb.css → templates/dist/spa/css/30.0faa4aeb.css


+ 1 - 0
templates/dist/spa/css/6.335f665c.css

@@ -0,0 +1 @@
+.q-date__calendar-item--selected[data-v-6ee299e8]{transition:all 0.3s ease;background-color:#1976d2!important}.q-date__range[data-v-6ee299e8]{background-color:rgba(25,118,210,0.1)}

+ 1 - 0
templates/dist/spa/css/7.05ad646d.css

@@ -0,0 +1 @@
+.q-date__calendar-item--selected[data-v-52e2073a]{transition:all 0.3s ease;background-color:#1976d2!important}.q-date__range[data-v-52e2073a]{background-color:rgba(25,118,210,0.1)}.custom-title[data-v-52e2073a]{font-size:0.9rem;font-weight:500}.custom-timeline[data-v-52e2073a]{--q-timeline-color:#e0e0e0}.custom-node .q-timeline__dot[data-v-52e2073a]{background:#485573!important;border:2px solid #5c6b8c!important}.custom-node .q-timeline__content[data-v-52e2073a]{color:#485573}

+ 1 - 0
templates/dist/spa/css/8.12d7043d.css

@@ -0,0 +1 @@
+.q-date__calendar-item--selected[data-v-02fe74f8]{transition:all 0.3s ease;background-color:#1976d2!important}.q-date__range[data-v-02fe74f8]{background-color:rgba(25,118,210,0.1)}.custom-title[data-v-02fe74f8]{font-size:0.9rem;font-weight:500}.custom-timeline[data-v-02fe74f8]{--q-timeline-color:#e0e0e0}.custom-node .q-timeline__dot[data-v-02fe74f8]{background:#485573!important;border:2px solid #5c6b8c!important}.custom-node .q-timeline__content[data-v-02fe74f8]{color:#485573}

templates/dist/spa/css/6.eb31c91a.css → templates/dist/spa/css/9.eb31c91a.css


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/index.html


BIN
templates/dist/spa/js/10.4f174308.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
templates/dist/spa/js/10.ce199471.js


BIN
templates/dist/spa/js/10.ce199471.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
templates/dist/spa/js/11.1ed410d9.js


BIN
templates/dist/spa/js/11.1ed410d9.js.gz


BIN
templates/dist/spa/js/11.9fec97c3.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
templates/dist/spa/js/12.f453dadc.js


BIN
templates/dist/spa/js/12.f453dadc.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/10.4f174308.js


BIN
templates/dist/spa/js/13.11fa6bd3.js.gz


BIN
templates/dist/spa/js/13.25cd3c57.js.gz


BIN
templates/dist/spa/js/14.f187fd27.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/11.9fec97c3.js


BIN
templates/dist/spa/js/14.f28e26d3.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/12.fed15142.js


BIN
templates/dist/spa/js/12.fed15142.js.gz


BIN
templates/dist/spa/js/15.a8dca05d.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/13.25cd3c57.js


BIN
templates/dist/spa/js/16.907689d4.js.gz


BIN
templates/dist/spa/js/16.cee84e51.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/14.f187fd27.js


BIN
templates/dist/spa/js/17.81453fd8.js.gz


BIN
templates/dist/spa/js/17.d6d38b20.js.gz


BIN
templates/dist/spa/js/18.20ba4467.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/15.a8dca05d.js


BIN
templates/dist/spa/js/18.a6430dcd.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/16.cee84e51.js


BIN
templates/dist/spa/js/19.787b4641.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/17.d6d38b20.js


BIN
templates/dist/spa/js/20.e5c2f3f4.js.gz


BIN
templates/dist/spa/js/21.8f0d2bb0.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/18.20ba4467.js


BIN
templates/dist/spa/js/21.e25462dc.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/19.392c3531.js


BIN
templates/dist/spa/js/19.392c3531.js.gz


BIN
templates/dist/spa/js/22.7f534dae.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/20.78d4d1ea.js


BIN
templates/dist/spa/js/23.bdf67356.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/21.8f0d2bb0.js


BIN
templates/dist/spa/js/24.2b3d36c2.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/22.7f534dae.js


BIN
templates/dist/spa/js/25.b3d1d83d.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/23.bdf67356.js


BIN
templates/dist/spa/js/26.9460bc13.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/24.16ed2570.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/25.41af4fe1.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/26.178ca6c4.js


BIN
templates/dist/spa/js/29.e45f8f97.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/27.1d257e24.js


BIN
templates/dist/spa/js/30.a76270fb.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
templates/dist/spa/js/31.302a4ef9.js


BIN
templates/dist/spa/js/31.302a4ef9.js.gz


BIN
templates/dist/spa/js/31.c60a5b35.js.gz


BIN
templates/dist/spa/js/32.8891987a.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
templates/dist/spa/js/32.b1145adc.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
templates/dist/spa/js/33.4d61e233.js


BIN
templates/dist/spa/js/33.c4da9cdd.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
templates/dist/spa/js/34.3f8e4f2e.js


BIN
templates/dist/spa/js/34.5f3e1414.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
templates/dist/spa/js/35.52adbcb3.js


BIN
templates/dist/spa/js/35.d6790c60.js.gz


BIN
templates/dist/spa/js/36.065ef517.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/28.010fd9e4.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/29.e45f8f97.js


BIN
templates/dist/spa/js/37.0404b0a9.js.gz


BIN
templates/dist/spa/js/37.94be7006.js.gz


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
templates/dist/spa/js/30.a76270fb.js


BIN
templates/dist/spa/js/38.595977b1.js.gz


+ 0 - 0
templates/dist/spa/js/38.d34ba656.js.gz


Неке датотеке нису приказане због велике количине промена