wushaodong 3 سال پیش
والد
کامیت
e2428f4429
5فایلهای تغییر یافته به همراه53 افزوده شده و 35 حذف شده
  1. 2 2
      apps/order/models.py
  2. 3 3
      apps/order/serializers.py
  3. 41 23
      apps/order/views.py
  4. 6 6
      apps/upload/models.py
  5. 1 1
      uis/views/order/index.html

+ 2 - 2
apps/order/models.py

@@ -98,7 +98,7 @@ class Order(models.Model):
     otype = models.PositiveSmallIntegerField(choices=order.ZHIYE_CHOICES, verbose_name=u"职业类型", default=order.ZERO)
     position = models.CharField(max_length=20, verbose_name=u"职位", null=True)
 
-    wbst = models.BooleanField(verbose_name=u"是否挂靠", default=False)
+    wbst = models.SmallIntegerField(verbose_name=u"是否挂靠", default=0)
     bstname = models.CharField(max_length=100, verbose_name=u"挂靠公司名称", null=True)
     bstcode = models.CharField(max_length=100, verbose_name=u"挂靠公司组织机构代码", null=True)
     bsttel = models.CharField(max_length=100, verbose_name=u"挂靠公司电话", null=True)
@@ -111,7 +111,7 @@ class Order(models.Model):
     ctname = models.CharField(max_length=10, verbose_name=u"联系人2姓名", null=True)
     cttel = models.CharField(max_length=11, verbose_name=u"联系人2手机号", null=True)
 
-    thesame = models.BooleanField(verbose_name=u"是否有共同借款人", default=False)
+    thesame = models.SmallIntegerField(verbose_name=u"是否有共同借款人", default=0)
     tsname = models.CharField(max_length=10, verbose_name=u"共借人姓名", null=True)
     tsbdate = models.DateField(verbose_name=u"出生日期", null=True)
     tsitype = models.PositiveSmallIntegerField(choices=order.ITYPE_CHOICES, verbose_name=u"身份证件类型", default=order.ZERO)

+ 3 - 3
apps/order/serializers.py

@@ -61,11 +61,11 @@ class OrderListSerializer(serializers.ModelSerializer):
 
     class Meta:
         model = Order
-        fields = ('id','name','tel','sex_text','inumber','laompany_text','status_text','create_time_f',
+        fields = ('id','name','tel','sex_text','inumber','laompany_text','status_text','status','create_time_f',
                   'create_user_text','seller_text','cancel_reason',)
 
 class OrderSerializer(serializers.ModelSerializer):
-    create_user_text = serializers.CharField(source='create_user.username', read_only=True)
+    create_user_text = serializers.CharField(source='create_user.name', read_only=True)
     laompany_text = serializers.CharField(source='laompany.name', label='产品名称', read_only=True)
     create_time_f = serializers.DateTimeField(source='create_time', format=settings.SHORT_DATETIME_FORMAT,
                                               read_only=True)
@@ -83,7 +83,7 @@ class OrderSerializer(serializers.ModelSerializer):
     relation_text = serializers.CharField(source='get_relation_display', label='与借款人关系', read_only=True)
     tsrelation_text = serializers.CharField(source='get_tsrelation_display', label='与借款人关系', read_only=True)
     tsitype_text = serializers.CharField(source='get_tsitype_display', label='身份证件类型', read_only=True)
-    tsmaddress_text = serializers.CharField(source='get_tsmaddress_display', label='邮寄地址', read_only=True)
+    tsmaddress_text = serializers.CharField(source='get_tsmaddress_display', label='共借人邮寄地址', read_only=True)
     mstatus_text = serializers.CharField(source='get_mstatus_display', label='婚姻状况', read_only=True)
     wbst_text = BooleanCharField(source='wbst', label='是否挂靠', read_only=True)
     thesame_text = BooleanCharField(source='thesame', label='是否有共同借款人', read_only=True)

+ 41 - 23
apps/order/views.py

@@ -122,7 +122,7 @@ class ProductViewSet(CustomModelViewSet):
 
 
 class ProductListView(ListAPIView):
-    queryset = Product.objects.filter()
+    queryset = Product.objects.filter(enable=True)
     serializer_class = ProductListSerializer
 
     def filter_queryset(self, queryset, ):
@@ -147,7 +147,8 @@ class OrderViewSet(CustomModelViewSet):
     serializer_class = OrderSerializer
 
     def filter_queryset(self, queryset):
-        queryset = queryset.filter(Q(create_user=self.request.user) | Q(seller=self.request.user))
+        if self.request.user.type != User.EMPLOYEE:
+            queryset = queryset.filter(Q(create_user=self.request.user) | Q(seller=self.request.user))
         f = OrderFilter(self.request.GET, queryset=queryset)
         return f.qs
 
@@ -160,16 +161,22 @@ class OrderViewSet(CustomModelViewSet):
         else:
             # y已上报修改,返回需要修改的字段列表
             edit_data = []
-            edit_values = OrderDetailEdit.objects.filter(order=instance, type=OrderDetailEdit.ZERO).values('value')
+            edit_values = OrderDetailEdit.objects.filter(order=instance, type=OrderDetailEdit.ZERO).values('value', 'reason')
             for r in edit_values:
                 item = {
                     'name': r['value'],
-                    'reason': '填错了,请修改',
+                    'reason': r['reason'],
                 }
                 edit_data.append(item)
             result = {
                 'data': serializer.data,
                 'edit_values': edit_data,
+                'edit_file': [
+                    {
+                        'upload_id':1,
+                        'url':'',
+                    }
+                ],
             }
             return response_ok(result)
 
@@ -181,7 +188,7 @@ class OrderViewSet(CustomModelViewSet):
                     instance = serializer.save()
                     BizLog.objects.addnew(self.request.user, BizLog.INSERT,
                                           u'添加订单[%s],id=%d' % (instance.name, instance.id), request.data)
-                    return response_ok()
+                    return response_ok(instance.id)
         except CustomError as e:
             return response_error(e.get_error_msg())
         except Exception as e:
@@ -203,10 +210,11 @@ class OrderViewSet(CustomModelViewSet):
                             if edit:
                                 edit.edit_time = datetime.datetime.now()
                                 edit.save()
-
+                        instance.status = order.ZERO
+                        instance.save()
                     BizLog.objects.addnew(self.request.user, BizLog.INSERT,
                                           u'修改订单[%s],id=%d' % (instance.name, instance.id), request.data)
-                    return response_ok()
+                    return response_ok(instance.id)
         except CustomError as e:
             return response_error(e.get_error_msg())
         except Exception as e:
@@ -254,11 +262,32 @@ class OrderViewSet(CustomModelViewSet):
         file = self.request.FILES.get('file')
         type = self.request.FILES.get('type')
         order_id = self.request.FILES.get('order_id')
-        upload = Upload.objects._addnew(file)
-        if upload:
-            OrderImages.objects.create(order_id=order_id, type=type, image=upload)
-            return response_ok(upload.id)
-        return response_error('上传失败,请重新上传!')
+        upload_id = self.request.FILES.get('upload_id')
+        # 上传图片,order_id必填。更新图片时,upload_id必填
+        # / order / 2 / upload_image /
+        # post
+        # file
+        # type 0身份证, 1驾驶证, 2收入类, 3流水类, 4营业执照, 5挂靠协议
+        # order_id 订单id
+        # upload_id 图片id
+
+        try:
+            with transaction.atomic():
+                if upload_id:
+                    upload = Upload.objects.filter(id=upload_id).first()
+                    if upload:
+                        upload.del_images()
+                        Upload.objects._update(file, 'user_image', upload)
+                        return response_ok(upload.id)
+                upload = Upload.objects._addnew(file)
+                if upload:
+                    OrderImages.objects.create(order_id=order_id, type=type, image=upload)
+                    return response_ok(upload.id)
+                return response_error('上传失败,请重新上传!')
+        except CustomError as e:
+            return response_error(e.get_error_msg())
+        except Exception as e:
+            return response_error(str(e))
 
     @action(methods=['get'], detail=True)
     def get_detail(self, request, pk):
@@ -298,17 +327,6 @@ class OrderViewSet(CustomModelViewSet):
             result.append(item)
         return response_ok(result)
 
-    @action(methods=['post'], detail=True)
-    def update_image(self, request):
-        file = self.request.FILES.get('file')
-        upload_id = self.request.FILES.get('upload_id')
-        upload = Upload.objects.filter(id=upload_id).first()
-        if upload:
-            upload.del_images()
-            Upload.objects._update(file, 'user_image', upload)
-            return response_ok(upload.id)
-        return response_error('更新失败,请重新上传!')
-
     def destroy(self, request, *args, **kwargs):
         try:
             instance = self.get_object()

+ 6 - 6
apps/upload/models.py

@@ -20,8 +20,8 @@ class UploadManager(models.Manager):
         try:
             img = Image.open(fullname)
             width, height = img.size
-            # 缩略图压缩宽或高最大200
-            if width > 1440:
+            #上传产品图片, 缩略图压缩宽或高最大200
+            if width > 1440 and path == 'commodity_image':
                 img = img.resize((1440, int((height / width) * 1440)), Image.ANTIALIAS)
                 img.save(fullname)
                 width, height = img.size
@@ -52,10 +52,10 @@ class UploadManager(models.Manager):
             img = Image.open(fullname)
             width, height = img.size
             # 缩略图压缩宽或高最大200
-            if width > 1440:
-                img = img.resize((1440, int((height / width) * 1440)), Image.ANTIALIAS)
-                img.save(fullname)
-                width, height = img.size
+            # if width > 1440:
+            #     img = img.resize((1440, int((height / width) * 1440)), Image.ANTIALIAS)
+            #     img.save(fullname)
+            #     width, height = img.size
         except:
             pass
 

+ 1 - 1
uis/views/order/index.html

@@ -136,7 +136,7 @@
 
         table.render({
             elem: '#datagrid'
-            , url: '/order/list/?category=1'
+            , url: '/order/?category=1'
             , toolbar: '#toolbarDemo'
             , title: '用户订单' //标题
             , totalRow: true