Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/master'

wushaodong 4 rokov pred
rodič
commit
4737a702a3

+ 6 - 2
apps/customer/serializers.py

@@ -168,11 +168,15 @@ class NewCustomerSerializer(serializers.ModelSerializer):
         instance = super(NewCustomerSerializer, self).update(instance, validated_data)
         instance = super(NewCustomerSerializer, self).update(instance, validated_data)
         order = Order.objects.filter(customer=instance).first()
         order = Order.objects.filter(customer=instance).first()
         if not order:
         if not order:
-            order = Order.objects.create(customer=instance, service_user_id=instance.track_user.id, status=Order.NORMAL)
+            order = Order.objects.create(customer=instance, service_user_id=instance.track_user.id, status=Order.NORMAL,
+                                         stage_progress=instance.stage_progress)
+            projects = instance.project.all()
+            for project in projects:
+                order.project.add(project.id)
             order.no = order.get_no()
             order.no = order.get_no()
             order.save()
             order.save()
         if order:
         if order:
-            Order.objects.filter(no=order.no).update(customer=instance)
+            Order.objects.filter(no=order.no).update(stage_progress=instance.stage_progress)
         return instance
         return instance
 
 
 
 

+ 3 - 0
apps/order/models.py

@@ -15,6 +15,9 @@ class Order(models.Model):
         (ABANDONED, u'放弃'),
         (ABANDONED, u'放弃'),
     )
     )
     no = models.CharField(max_length=50, verbose_name='单号', blank=True)
     no = models.CharField(max_length=50, verbose_name='单号', blank=True)
+    project = models.ManyToManyField(Option, verbose_name=u'项目', related_name='order_category', editable=False)
+    stage_progress = models.ForeignKey(Option, verbose_name=u'阶段进度', related_name='order_stage_progress',
+                                       on_delete=models.PROTECT)
     customer = models.ForeignKey(NewCustomer, related_name='order_customer', verbose_name=u"订单客户",
     customer = models.ForeignKey(NewCustomer, related_name='order_customer', verbose_name=u"订单客户",
                                  on_delete=models.PROTECT)
                                  on_delete=models.PROTECT)
     service_user = models.ForeignKey(settings.AUTH_USER_MODEL,related_name='order_service_user', verbose_name=u"服务人员",
     service_user = models.ForeignKey(settings.AUTH_USER_MODEL,related_name='order_service_user', verbose_name=u"服务人员",

+ 3 - 2
apps/order/serializers.py

@@ -7,16 +7,17 @@ from utils.booleancharfield import TimeCharField
 class OrderSerializer(serializers.ModelSerializer):
 class OrderSerializer(serializers.ModelSerializer):
     service_user_text = serializers.CharField(source='service_user.name', read_only=True)
     service_user_text = serializers.CharField(source='service_user.name', read_only=True)
     create_time_f = TimeCharField(source='create_time', read_only=True)
     create_time_f = TimeCharField(source='create_time', read_only=True)
+    status_text = serializers.CharField(source='get_status_display', read_only=True)
 
 
     name = serializers.CharField(source='customer.name', read_only=True)
     name = serializers.CharField(source='customer.name', read_only=True)
     tel = serializers.CharField(source='customer.tel', read_only=True)
     tel = serializers.CharField(source='customer.tel', read_only=True)
     village = serializers.CharField(source='customer.village', read_only=True)
     village = serializers.CharField(source='customer.village', read_only=True)
     address = serializers.CharField(source='customer.address', read_only=True)
     address = serializers.CharField(source='customer.address', read_only=True)
-    stage_progress_text = serializers.CharField(source='customer.stage_progress.name', read_only=True)
+    stage_progress_text = serializers.CharField(source='stage_progress.name', read_only=True)
     project_text = serializers.SerializerMethodField()
     project_text = serializers.SerializerMethodField()
 
 
     def get_project_text(self, obj):
     def get_project_text(self, obj):
-        project = obj.customer.project.all()
+        project = obj.project.all()
         return ','.join(project.values_list('name', flat=True))
         return ','.join(project.values_list('name', flat=True))
 
 
     class Meta:
     class Meta:

+ 8 - 8
uis/views/order/detail.html

@@ -49,27 +49,27 @@
           <tbody>
           <tbody>
             <tr>
             <tr>
               <td style="background: #f8f8f8; width: 70px">单号:</td>
               <td style="background: #f8f8f8; width: 70px">单号:</td>
-              <td>{{ d.no }}</td>
+              <td>{{ d.no || "" }}</td>
               <td style="background: #f8f8f8; width: 70px">下单时间:</td>
               <td style="background: #f8f8f8; width: 70px">下单时间:</td>
-              <td>{{ d.order_time }}</td>
+              <td>{{ d.order_time || "" }}</td>
             </tr>
             </tr>
             <tr>
             <tr>
               <td style="background: #f8f8f8; width: 70px">客户名称:</td>
               <td style="background: #f8f8f8; width: 70px">客户名称:</td>
-              <td>{{ d.name }}</td>
+              <td>{{ d.name || "" }}</td>
               <td style="background: #f8f8f8; width: 70px">客户电话:</td>
               <td style="background: #f8f8f8; width: 70px">客户电话:</td>
-              <td>{{ d.tel }}</td>
+              <td>{{ d.tel || "" }}</td>
             </tr>
             </tr>
             <tr>
             <tr>
               <td style="background: #f8f8f8; width: 70px">客户地址:</td>
               <td style="background: #f8f8f8; width: 70px">客户地址:</td>
-              <td>{{ d.address }}</td>
+              <td>{{ d.address || "" }}</td>
               <td style="background: #f8f8f8; width: 70px">当前进度:</td>
               <td style="background: #f8f8f8; width: 70px">当前进度:</td>
-              <td>{{ d.current_process }}</td>
+              <td>{{ d.current_process || "" }}</td>
             </tr>
             </tr>
             <tr>
             <tr>
               <td style="background: #f8f8f8; width: 70px">服务人员:</td>
               <td style="background: #f8f8f8; width: 70px">服务人员:</td>
-              <td>{{ d.current_user }}</td>
+              <td>{{ d.current_user || "" }}</td>
               <td style="background: #f8f8f8; width: 70px">备注:</td>
               <td style="background: #f8f8f8; width: 70px">备注:</td>
-              <td>{{ d.notes }}</td>
+              <td>{{ d.notes || "" }}</td>
             </tr>
             </tr>
           </tbody>
           </tbody>
         </table>
         </table>

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

@@ -129,18 +129,18 @@
 
 
         table.render({
         table.render({
             elem: '#order_datagrid'
             elem: '#order_datagrid'
-            , url: '/api/order.json'
+            , url: '/order/'
             , cols: [[
             , cols: [[
                 {field: 'no', title: '单号', width: 110}
                 {field: 'no', title: '单号', width: 110}
-                , {field: 'order_time', title: "下单时间", width: 150}
                 , {field: 'name', title: '客户名称', width: 110}
                 , {field: 'name', title: '客户名称', width: 110}
                 , {field: 'tel', title: '客户电话', width: 120}
                 , {field: 'tel', title: '客户电话', width: 120}
-                , {field: 'project', title: '项目', width: 120}
-                , {field: 'address', title: '客户地址', width: 200}
-                , {field: 'notes', title: '备注', width: 200}
-                , {field: 'current_process', title: '当前进度', width: 100}
-                , {field: 'update_time', title: '更新时间', width: 150}
-                , {field: 'current_user', title: '当前服务人员', width: 150}
+                , {field: 'address', title: '地址', width: 200}
+                , {field: 'village', title: '小区', width: 200}
+                , {field: 'project_text', title: '项目', width: 120}
+                , {field: 'stage_progress_text', title: '当前进度', width: 100}
+                , {field: 'service_user_text', title: '服务人员', width: 150}
+                , {field: 'create_time_f', title: "下单时间", width: 150}
+                , {field: 'status_text', title: "订单状态", width: 150}
                 , {width: 150, align: 'center', fixed: 'right', toolbar: '#order-operate-bar'}
                 , {width: 150, align: 'center', fixed: 'right', toolbar: '#order-operate-bar'}
             ]]
             ]]
             , page: true
             , page: true