wushaodong 4 years ago
parent
commit
bc4a632efd

+ 2 - 2
apps/tenant/employee/serializers.py

@@ -21,7 +21,7 @@ class EmployeeSerializer(serializers.ModelSerializer):
         fields = '__all__'
 
     def create(self, validated_data):
-        if self.initial_data['type'] == Employee.SUPER and Employee.checkSuper(self.context['request'].user.employee.tenant):
+        if int(self.initial_data['type']) == Employee.SUPER and Employee.checkSuper(self.context['request'].user.employee.tenant):
             raise CustomError(u'已存在一个平台管理员,禁止操作!')
         username = self.initial_data['tel']
         # 判断用户是否已经注册登陆过
@@ -46,7 +46,7 @@ class EmployeeSerializer(serializers.ModelSerializer):
     def update(self, instance, validated_data):
         if instance.tenant != self.context['request'].user.employee.tenant:
             raise CustomError(u'禁止跨企业操作!')
-        if self.initial_data['type'] == Employee.SUPER and Employee.checkSuper(instance.tenant, instance.id):
+        if int(self.initial_data['type']) == Employee.SUPER and Employee.checkSuper(instance.tenant, instance.id):
             raise CustomError(u'已存在一个平台管理员,禁止操作!')
         username = self.initial_data['tel']
         if username and self.initial_data['password'].strip() != '':

+ 1 - 1
apps/tenant/employee/views.py

@@ -37,7 +37,7 @@ class VisitorView(CustomModelViewSet):
         forbid_baoxiu = request.POST.get('forbid_baoxiu')
         instance = Employee.objects.filter(id=pk).first()
         if instance:
-            instance.status = 2 if forbid_baoxiu == '1' else 1
+            instance.status = 4 if forbid_baoxiu == '1' else 1
             instance.save()
         else:
             return response_error(u'报修人信息有误,请刷新重试。')

+ 3 - 1
apps/tenant/repair_order/models.py

@@ -38,7 +38,7 @@ class RepairOrder(models.Model):
         (TURN_EMPLOYEE, '转单'),
         (FINISH, '已完工,待评价'),
         (APPRAISE, '已评价'),
-        (CANCEL_HANG_UP, '取消挂起'),
+        (CANCEL_HANG_UP, '取消挂起,维修中'),
         (INVALID, '作废'),
     )
     no = models.CharField(max_length=50, verbose_name='单号', blank=True)
@@ -131,6 +131,8 @@ class RepairOrder(models.Model):
 
         self.status = settings.CHECKED
         self.save()
+        self.user.employee.baoxiu_count += 1
+        self.user.employee.save()
         RepairOrderRecord.objects.create(repair_order=self, status=settings.CHECKED, user=user)
         tenant_log(user.employee, BizLog.INSERT, u'审核报修工单[%s],id=%d' % (self.no, self.id))
 

+ 16 - 9
apps/wxapp/repair_order/views.py

@@ -38,7 +38,12 @@ class RepairOrderMineView(generics.ListAPIView):
     serializer_class = RepairOrderListSerializer
 
     def filter_queryset(self, queryset):
-        queryset = queryset.filter(tenant=self.request.user.employee.tenant, user=self.request.user)
+        # 服务评价,管理者可以看到所有,报修人只能看到自己报修的,检修人只能看到派给自己的单子
+        queryset = queryset.filter(tenant=self.request.user.employee.tenant)
+        if self.request.user.is_repair():
+            queryset = queryset.filter(user=self.request.user)
+        if self.request.user.is_employee():
+            queryset = queryset.filter(repair_users=self.request.user)
         f = RepairOrderFilter(self.request.GET, queryset=queryset)
         return f.qs
 
@@ -58,13 +63,14 @@ class RepairOrderCountView(APIView):
             })
         queryset = RepairOrder.objects.filter(delete=False, tenant=self.request.user.employee.tenant)
         return response_ok({
-            'NOT_CHECKED_COUNT':queryset.filter(status__lte=settings.CHECKED).count(),
-            'CHECKED_COUNT':queryset.filter(status=settings.CHECKED,).count(),
-            'USER_NOT_CHECKED_COUNT':queryset.filter(status=settings.NOT_CHECKED,user = request.user).count(),
-            'USER_CHECKED_COUNT':queryset.filter(status=settings.CHECKED,user = request.user).count(),
-            'APPRAISE_COUNT': queryset.filter(status=settings.APPRAISE, user = request.user).count(),
-            'FINISH':queryset.filter(status=settings.FINISH, user = request.user).count(),
-            'DISPATCH':queryset.filter(status=settings.DISPATCH, user = request.user).count(),
+            'NOT_CHECKED_COUNT':queryset.filter(status__lte=settings.CHECKED).count(), # 审批中心,待审核待派单
+            'CHECKED_COUNT':queryset.filter(status=settings.CHECKED,).count(), # 维修中心,待派单
+            'USER_NOT_CHECKED_COUNT':queryset.filter(status=settings.NOT_CHECKED,user = request.user).count(), # 我的,待审核
+
+            'USER_CHECKED_COUNT':queryset.filter(status=settings.CHECKED,user = request.user).count(), # 我的,待派单
+            'APPRAISE_COUNT': queryset.filter(status=settings.APPRAISE, user = request.user).count(), # 我的,已完工
+            'FINISH':queryset.filter(status=settings.FINISH, user = request.user).count(), # 服务评价,待评价
+            'DISPATCH':queryset.filter(status=settings.DISPATCH, user = request.user).count(), # 我的,已派单
         })
 
 
@@ -76,7 +82,8 @@ class RepairOrderAllView(generics.ListAPIView):
     def filter_queryset(self, queryset):
         queryset = queryset.filter(tenant=self.request.user.employee.tenant)
         if self.request.user.is_employee():
-            queryset = queryset.filter(Q(repair_users=self.request.user) | Q(user=self.request.user))
+            #维修中心
+            queryset = queryset.filter(Q(repair_users=self.request.user) | Q(user=self.request.user) | Q(repair_users__isnull=True))
         elif self.request.user.is_repair():
             queryset = queryset.filter(user=self.request.user)
         f = RepairOrderFilter(self.request.GET, queryset=queryset)

+ 1 - 1
ly_baoxiu_admin/settings.py

@@ -203,7 +203,7 @@ REPAIR_STATUS_CHOICES = (
     (TURN_EMPLOYEE, '转单'),
     (FINISH, '已完工,待评价'),
     (APPRAISE, '已评价'),
-    (CANCEL_HANG_UP, '取消挂起'),
+    (CANCEL_HANG_UP, '取消挂起,维修中'),
     (INVALID, '作废'),
 )
 

+ 0 - 2
uis/tenant/company/index.html

@@ -135,8 +135,6 @@
                 , {field: 'create_time', title: '申请时间', width: 160}
                 , {field: 'status_text', title: '审核状态', width: 100}
                 , {field: 'username', title: '管理员账号', width: 200}
-                , {field: 'renew_time', title: '续费时间', width: 160}
-                , {field: 'renew_amount', title: '续费金额', width: 120}
                 , {field: 'reject_reason', title: '拒绝原因', width: 120}
                 , {title: "操作", width: 260, align: 'left', fixed: 'right', toolbar: '#datagrid-operate-bar'}
             ]]

+ 1 - 1
uis/tenant/visitor/forbid_baoxiu.html

@@ -62,7 +62,7 @@
 
         form.on('submit(component-form-element)', function (data) {
             var url = '/tenant/employee/visitor/' + id + '/forbid_baoxiu/';
-            console.log(data.field)
+
             admin.req({
                 url: url
                 , data: data.field

+ 2 - 2
uis/tenant/visitor/index.html

@@ -79,7 +79,7 @@
                 {field: 'name', title: '姓名', width: 200}
                 , {field: 'tel', title: '电话', width: 200}
                 , {field: 'baoxiu_count', title: '报修次数', width: 200}
-                , {field: 'forbid_baoxiu_text', title: '是否禁用报修', width: 200}
+                , {field: 'status_text', title: '是否禁用报修', width: 200}
                 , {width: 200, align: 'center', fixed: 'right', toolbar: '#datagrid-operate-bar'}
             ]]
             , page: true
@@ -121,7 +121,7 @@
                     type: 2,
                     title: '转员工',
                     shadeClose: false,
-                    area: ['700px', '700px'],
+                    area: ['50%', '80%'],
                     btn: ['保存', '取消'],
                     yes: function (index, dom) {
                         layui.submitChild();