浏览代码

首页统计

wushaodong 4 年之前
父节点
当前提交
cbd01efa9d
共有 42 个文件被更改,包括 127 次插入126 次删除
  1. 1 1
      apps/WechatApplet/models.py
  2. 1 1
      apps/account/models.py
  3. 3 3
      apps/admin/tenant/serializers.py
  4. 6 6
      apps/admin/tenant/views.py
  5. 1 1
      apps/api/views.py
  6. 1 1
      apps/log/models.py
  7. 1 1
      apps/tenant/area/models.py
  8. 3 3
      apps/tenant/biz.py
  9. 1 1
      apps/tenant/building/views.py
  10. 1 1
      apps/tenant/device/models.py
  11. 1 1
      apps/tenant/device/views.py
  12. 2 2
      apps/tenant/employee/models.py
  13. 1 1
      apps/tenant/employee/serializers.py
  14. 1 1
      apps/tenant/employee/views.py
  15. 1 1
      apps/tenant/equipment/views.py
  16. 1 1
      apps/tenant/inspection_order/models.py
  17. 14 7
      apps/tenant/models.py
  18. 1 1
      apps/tenant/notices/models.py
  19. 1 1
      apps/tenant/notices/views.py
  20. 1 1
      apps/tenant/option/models.py
  21. 1 1
      apps/tenant/option/serializers.py
  22. 1 1
      apps/tenant/permissions/views.py
  23. 1 1
      apps/tenant/poster/models.py
  24. 1 1
      apps/tenant/poster/views.py
  25. 1 1
      apps/tenant/repair_order/models.py
  26. 1 1
      apps/tenant/repair_order/views.py
  27. 1 1
      apps/upload/models.py
  28. 1 1
      apps/wxapp/tenant/serializers.py
  29. 3 3
      apps/wxapp/tenant/views.py
  30. 2 2
      apps/wxapp/urls.py
  31. 39 45
      apps/wxapp/views.py
  32. 5 5
      uis/tenant/company/detail.html
  33. 1 1
      uis/tenant/company/edit.html
  34. 5 5
      uis/tenant/company/index.html
  35. 1 1
      uis/zzlyadmin/banner/edit.html
  36. 2 2
      uis/zzlyadmin/employee/edit.html
  37. 1 1
      uis/zzlyadmin/employee/index.html
  38. 1 1
      uis/zzlyadmin/index.html
  39. 1 1
      uis/zzlyadmin/tenant/check.html
  40. 5 5
      uis/zzlyadmin/tenant/detail.html
  41. 4 4
      uis/zzlyadmin/tenant/edit.html
  42. 6 6
      uis/zzlyadmin/tenant/index.html

+ 1 - 1
apps/WechatApplet/models.py

@@ -27,7 +27,7 @@ class WechatApplet(models.Model):
         (AUDIT_DELAY, u'审核延后'),
     )
 
-    tenant = models.ForeignKey(Tenant, verbose_name=u'租户', on_delete=models.PROTECT, editable=False)
+    tenant = models.ForeignKey(Tenant, verbose_name=u'企业', on_delete=models.PROTECT, editable=False)
     wechat_tp = models.ForeignKey(WechatTp, verbose_name=u'第三方平台', on_delete=models.PROTECT, editable=False)
     authorizer_appid = models.CharField(max_length=512, verbose_name=u'授权方appid')
     secret = models.CharField(max_length=512, verbose_name=u'小程序秘钥', null=True)

+ 1 - 1
apps/account/models.py

@@ -146,5 +146,5 @@ class User(AbstractBaseUser, PermissionsMixin):
 
 
 Group.add_to_class('display_name', models.CharField(verbose_name=u'名称显示', max_length=80))
-Group.add_to_class('tenant', models.ForeignKey(Tenant, verbose_name=u'租户', on_delete=models.PROTECT, editable=False))
+Group.add_to_class('tenant', models.ForeignKey(Tenant, verbose_name=u'企业', on_delete=models.PROTECT, editable=False))
 Group.add_to_class('create_user', models.ForeignKey(User, verbose_name=u"创建人", on_delete=models.PROTECT, editable=False))

+ 3 - 3
apps/admin/tenant/serializers.py

@@ -33,7 +33,7 @@ class TenantSerializer(serializers.ModelSerializer) :
 
     def create(self, validated_data):
         if Tenant.is_exist(validated_data['company_name']):
-            raise CustomError(u'名称为[%s]的租户已存在' % validated_data['company_name'])
+            raise CustomError(u'名称为[%s]的企业已存在' % validated_data['company_name'])
         instance = super(TenantSerializer, self).create(validated_data)
         instance.company_no = instance.get_no()
         instance.end_date = (datetime.datetime.now() + datetime.timedelta(days=30)).strftime('%Y-%m-%d')
@@ -42,9 +42,9 @@ class TenantSerializer(serializers.ModelSerializer) :
 
     def update(self, instance, validated_data):
         if instance.delete:
-            raise CustomError(u'租户[%s]已经被删除,禁止修改' % instance.company_name)
+            raise CustomError(u'企业[%s]已经被删除,禁止修改' % instance.company_name)
         if Tenant.is_exist(validated_data['company_name'], instance.id):
-            raise CustomError(u'名称为[%s]的租户已存在' % validated_data['company_name'])
+            raise CustomError(u'名称为[%s]的企业已存在' % validated_data['company_name'])
 
         instance = super(TenantSerializer, self).update(instance, validated_data)
         return instance

+ 6 - 6
apps/admin/tenant/views.py

@@ -28,13 +28,13 @@ class TenantViewSet(CustomModelViewSet):
         super(TenantViewSet, self).perform_create(serializer)
         instance = serializer.instance
         validated_data = serializer.validated_data
-        admin_log(self.request.user, BizLog.INSERT, u'添加租户[%s] id=%d' % (instance.company_name, instance.id), validated_data)
+        admin_log(self.request.user, BizLog.INSERT, u'添加企业[%s] id=%d' % (instance.company_name, instance.id), validated_data)
 
     def perform_update(self, serializer):
         super(TenantViewSet, self).perform_update(serializer)
         instance = serializer.instance
         validated_data = serializer.validated_data
-        admin_log(self.request.user, BizLog.INSERT, u'修改租户[%s] id=%d' % (instance.name, instance.id), validated_data)
+        admin_log(self.request.user, BizLog.INSERT, u'修改企业[%s] id=%d' % (instance.name, instance.id), validated_data)
 
     @action(methods=['post'], detail=True)
     def super_tenant(self,  request, pk):
@@ -45,7 +45,7 @@ class TenantViewSet(CustomModelViewSet):
             with transaction.atomic():
                 tenant = Tenant.objects.filter(pk=pk).first()
                 if not tenant:
-                    raise CustomError('当前租户无效,请刷新!')
+                    raise CustomError('当前企业无效,请刷新!')
                 user = User.objects.filter(username=username).first()
                 if user:
                     user.type = User.SUPER
@@ -53,7 +53,7 @@ class TenantViewSet(CustomModelViewSet):
                     Employee.objects.filter(user=user).update(tenant=tenant, type=Employee.SUPER)
                 else:
                     instance = Employee.create_super_admin(tenant, name, username, password)
-                admin_log(request.user, BizLog.INSERT, u'租户[%s]添加超级账号[%s], id=%d' % (tenant.company_name,username, instance.id))
+                admin_log(request.user, BizLog.INSERT, u'企业[%s]添加超级账号[%s], id=%d' % (tenant.company_name,username, instance.id))
             return response_ok()
         except CustomError as e:
             return response_error(e.get_error_msg())
@@ -70,12 +70,12 @@ class TenantViewSet(CustomModelViewSet):
                 instance = Tenant.getById(pk)
                 # 审核
                 if instance.status > settings.DEFAULT:
-                    raise CustomError('当前租户已审核!')
+                    raise CustomError('当前企业已审核!')
 
                 instance.status = status
                 instance.reject_reason = reject_reason
                 instance.save()
-                BizLog.objects.addnew(None, request.user, BizLog.INSERT, u'审核租户[%s]状态为[%s],id=%d' % (instance.company_name, status, instance.id))
+                BizLog.objects.addnew(None, request.user, BizLog.INSERT, u'审核企业[%s]状态为[%s],id=%d' % (instance.company_name, status, instance.id))
         except CustomError as e:
             return response_error(e.get_error_msg())
         except Exception as e:

+ 1 - 1
apps/api/views.py

@@ -60,7 +60,7 @@ class RedirectAuthorize(APIView):
             with transaction.atomic():
                 tenant = Tenant.objects.select_for_update().filter(id=pk).first()
                 app = TenantBiz.bindWechatApplet(tenant, request.GET.get('auth_code'))
-                BizLog.objects.addnew(None, None, BizLog.INSERT, u'租户绑定小程序, id=%d' % app.id)
+                BizLog.objects.addnew(None, None, BizLog.INSERT, u'企业绑定小程序, id=%d' % app.id)
         except Exception as e:
             return response_error(str(e))
         return response_ok()

+ 1 - 1
apps/log/models.py

@@ -43,7 +43,7 @@ class BizLog(models.Model):
     description = models.CharField(max_length=1000, verbose_name=u"内容")
     data = models.TextField(verbose_name=u"数据", null=True, blank=True)
     create_time = models.DateTimeField(verbose_name=u"添加时间", default=timezone.now, editable=False)
-    tenant = models.ForeignKey(Tenant, verbose_name=u'租户', on_delete=models.PROTECT, null=True, blank=True)
+    tenant = models.ForeignKey(Tenant, verbose_name=u'企业', on_delete=models.PROTECT, null=True, blank=True)
 
     objects = BizLogManager()
 

+ 1 - 1
apps/tenant/area/models.py

@@ -6,7 +6,7 @@ from apps.tenant.models import Tenant
 
 class Area(models.Model):
     name = models.CharField(max_length=100, verbose_name=u'区域名称')
-    tenant = models.ForeignKey(Tenant, verbose_name=u'租户', editable=False, on_delete=models.PROTECT)
+    tenant = models.ForeignKey(Tenant, verbose_name=u'企业', editable=False, on_delete=models.PROTECT)
     notes = models.CharField(max_length=500, verbose_name=u"备注", null=True)
     create_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u"创建人", on_delete=models.PROTECT,
                                     editable=False)

+ 3 - 3
apps/tenant/biz.py

@@ -10,10 +10,10 @@ class TenantBiz():
     def bindWechatApplet(tenant, auth_code):
         tp = WechatTp.getDefault()
         if tenant.delete:
-            raise CustomError(u'该租户已被删除!')
+            raise CustomError(u'该企业已被删除!')
         if tenant.is_bind_app:
-            raise CustomError(u'该租户已绑定小程序!')
+            raise CustomError(u'该企业已绑定小程序!')
         app = WechatApplet.addAuthorizer(tp, auth_code, tenant)
         tenant.is_bind_app = True
         tenant.save()
-        return app
+        return app

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

@@ -64,7 +64,7 @@ class BuildingViewSet(CustomModelViewSet):
         with transaction.atomic():
             instance = self.get_object()
             if instance.area.tenant != request.user.employee.tenant:
-                raise CustomError(u'禁止跨租户操作!')
+                raise CustomError(u'禁止跨企业操作!')
             super(BuildingViewSet,self).destroy(self, request, *args, **kwargs)
             tenant_log(self.request.user.employee, BizLog.DELETE, u'删除建筑信息[%s],id=%d' % (instance.building, instance.id))
         return response_ok()

+ 1 - 1
apps/tenant/device/models.py

@@ -10,7 +10,7 @@ class DeviceModel(models.Model):
     device_model = models.CharField(max_length=100,verbose_name=u'设备型号',null=True)
     branch = models.CharField(max_length=100,verbose_name=u'小地点')
     address = models.CharField(max_length=100,verbose_name=u'大地点')
-    tenant = models.ForeignKey(Tenant, verbose_name=u'租户', editable=False, on_delete=models.PROTECT, null=True)
+    tenant = models.ForeignKey(Tenant, verbose_name=u'企业', editable=False, on_delete=models.PROTECT, null=True)
     create_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u"创建人", on_delete=models.PROTECT,
                                     editable=False)
     create_time = models.DateTimeField(verbose_name='创建时间', auto_now_add=True)

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

@@ -41,7 +41,7 @@ class DeviceViewSet(CustomModelViewSet):
     def perform_destroy(self, instance):
         #删除
         if instance.tenant != self.request.user.employee.tenant:
-            raise CustomError(u'禁止跨租户操作!')
+            raise CustomError(u'禁止跨企业操作!')
         tenant_log(self.request.user.employee, BizLog.DELETE, u'删除设备信息[%s],id=%d' % (instance.name, instance.id))
         super(DeviceViewSet, self).perform_destroy(instance)
 

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

@@ -42,7 +42,7 @@ class Employee(models.Model):
                                     editable=False, related_name='create_user',null=True)
     face = models.CharField(max_length=200, verbose_name=u'头像', null=True)
     baoxiu_count = models.IntegerField(verbose_name='报修次数', default=0)
-    tenant = models.ForeignKey(Tenant, verbose_name=u'租户', editable=False, on_delete=models.PROTECT,null=True)
+    tenant = models.ForeignKey(Tenant, verbose_name=u'企业', editable=False, on_delete=models.PROTECT,null=True)
     type = models.PositiveSmallIntegerField(verbose_name=u'人员类型', choices=TYPE_CHOICES, default=REPAIR)
 
     class Meta:
@@ -57,7 +57,7 @@ class Employee(models.Model):
 
     @staticmethod
     def create_super_admin(tenant,name, username, password):
-        # 租户添加管理超级管理员
+        # 企业添加管理超级管理员
         user = User.objects.create_superuser_tenant(username, password)
         instance = Employee.objects.create(
             name=name,

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

@@ -45,7 +45,7 @@ class EmployeeSerializer(serializers.ModelSerializer):
 
     def update(self, instance, validated_data):
         if instance.tenant != self.context['request'].user.employee.tenant:
-            raise CustomError(u'禁止跨租户操作!')
+            raise CustomError(u'禁止跨企业操作!')
         if Employee.checkSuper(instance.tenant, instance.id):
             raise CustomError(u'已存在一个平台管理员,禁止操作!')
         username = self.initial_data['tel']

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

@@ -78,7 +78,7 @@ class EmployeeViewSet(CustomModelViewSet):
         with transaction.atomic():
             instance = self.get_object()
             if instance.tenant != request.user.employee.tenant:
-                raise CustomError(u'禁止跨租户操作!')
+                raise CustomError(u'禁止跨企业操作!')
             super(EmployeeViewSet, self).destroy(self, request, *args, **kwargs)
         tenant_log(self.request.user.employee, BizLog.DELETE, u'删除人员[%s],id=%d' % (instance.name, instance.id))
         return response_ok()

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

@@ -56,7 +56,7 @@ class EquipmentViewSet(CustomModelViewSet):
             with transaction.atomic():
                 instance = self.get_object()
                 if instance.type.tenant != request.user.employee.tenant:
-                    raise CustomError(u'禁止跨租户操作!')
+                    raise CustomError(u'禁止跨企业操作!')
                 super(EquipmentViewSet, self).destroy(self, request, *args, **kwargs)
             tenant_log(self.request.user.employee, BizLog.DELETE, u'删除设备[%s],id=%d' % (instance.name, instance.id))
         return response_ok()

+ 1 - 1
apps/tenant/inspection_order/models.py

@@ -26,7 +26,7 @@ class InspectionOrder(models.Model):
     device_address = models.CharField(max_length=200, verbose_name='设备地址')
     no = models.CharField(max_length=50, verbose_name=u'编号', blank=True)
     status = models.PositiveSmallIntegerField(choices=STATUS_CHOICES, verbose_name=u'状态', default=NOT_REPAIR)
-    tenant = models.ForeignKey(Tenant, verbose_name=u'租户', on_delete=models.PROTECT, blank=True)
+    tenant = models.ForeignKey(Tenant, verbose_name=u'企业', on_delete=models.PROTECT, blank=True)
     user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u"巡检人员", on_delete=models.PROTECT,
                              editable=False, related_name='inspection_order_user')
     problem = models.CharField(max_length=500, verbose_name=u'巡检问题')

+ 14 - 7
apps/tenant/models.py

@@ -10,8 +10,8 @@ from apps.Alipay import Alipay
 
 class Tenant(models.Model):
 
-    company_no = models.CharField(max_length=10, verbose_name=u'单位编号', blank=True, null=True)
-    company_name = models.CharField(max_length=200, verbose_name=u'单位名称', blank=True, null=True)
+    company_no = models.CharField(max_length=10, verbose_name=u'企业编号', blank=True, null=True)
+    company_name = models.CharField(max_length=200, verbose_name=u'企业名称', blank=True, null=True)
     organ_code = models.CharField(max_length=200, verbose_name=u'组织代码', blank=True, null=True)
     # images = models.ForeignKey('Upload', verbose_name='营业执照图片',on_delete=models.PROTECT, blank=True)
     name = models.CharField(max_length=20, verbose_name=u'联系人名称')
@@ -29,7 +29,7 @@ class Tenant(models.Model):
     class Meta:
         db_table = 'tenant'
         ordering = ['-id']
-        verbose_name = '租户'
+        verbose_name = '企业'
         default_permissions = ()
 
     def get_no(self):
@@ -49,16 +49,23 @@ class Tenant(models.Model):
         try:
             id = int(id)
         except:
-            raise CustomError(u'无效的租户id!')
+            raise CustomError(u'无效的企业!')
         tenant = Tenant.objects.filter(id=id, delete=False).first()
         if not tenant:
-            raise CustomError(u'未找到相应的租户信息!')
+            raise CustomError(u'未找到相应的企业信息!')
+        return tenant
+
+    @staticmethod
+    def getByNo(no):
+        tenant = Tenant.objects.filter(company_no=no, delete=False).first()
+        if not tenant:
+            raise CustomError(u'未找到相应的企业信息!')
         return tenant
 
 
 class RenewLog(models.Model):
 
-    tenant = models.ForeignKey(Tenant, verbose_name=u"租户", on_delete=models.PROTECT, editable=False, )
+    tenant = models.ForeignKey(Tenant, verbose_name=u"企业", on_delete=models.PROTECT, editable=False, )
     amount = models.FloatField(verbose_name='金额')
     create_time = models.DateTimeField(verbose_name=u'续费时间', auto_now_add=True, editable=False)
     end_date = models.DateField(verbose_name=u'到期时间', editable=False, blank=True, null=True)
@@ -66,7 +73,7 @@ class RenewLog(models.Model):
     class Meta:
         db_table = 'tenant_renew_log'
         ordering = ['-id']
-        verbose_name = '租户续费记录'
+        verbose_name = '企业续费记录'
 
 class Pay(models.Model):
     WAIT = 0

+ 1 - 1
apps/tenant/notices/models.py

@@ -13,7 +13,7 @@ class Notices(models.Model):
     create_time = models.DateTimeField(verbose_name='发布时间', auto_now_add=True)
     create_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u"创建者", on_delete=models.PROTECT,
                                     editable=False)
-    tenant = models.ForeignKey(Tenant, verbose_name=u'租户', on_delete=models.PROTECT, blank=True)
+    tenant = models.ForeignKey(Tenant, verbose_name=u'企业', on_delete=models.PROTECT, blank=True)
 
     class Meta:
         db_table = "notices"

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

@@ -40,7 +40,7 @@ class NoticesViewSet(CustomModelViewSet):
         with transaction.atomic():
             instance = self.get_object()
             if instance.tenant != request.user.employee.tenant:
-                raise CustomError(u'禁止跨租户操作!')
+                raise CustomError(u'禁止跨企业操作!')
             super(NoticesViewSet, self).destroy(self, request, *args, **kwargs)
         tenant_log(self.request.user.employee, BizLog.DELETE, u'删除通知[%s],id=%d' % (instance.title, instance.id))
         return response_ok()

+ 1 - 1
apps/tenant/option/models.py

@@ -11,7 +11,7 @@ class Option(models.Model):
         (FAULT_CAUSE, u'故障原因'),
     )
 
-    tenant = models.ForeignKey(Tenant, verbose_name=u'租户', on_delete=models.PROTECT, editable=False)
+    tenant = models.ForeignKey(Tenant, verbose_name=u'企业', on_delete=models.PROTECT, editable=False)
     type = models.PositiveSmallIntegerField(choices=TYPE_CHOICES, verbose_name=u"类别")
     name = models.CharField(verbose_name=u'名称', max_length=100)
     sort = models.PositiveSmallIntegerField(verbose_name=u'排序', help_text=u'越小越靠前', default=0)

+ 1 - 1
apps/tenant/option/serializers.py

@@ -29,7 +29,7 @@ class OptionSerializer(serializers.ModelSerializer):
 
     def update(self, instance, validated_data):
         if instance.tenant != self.context['request'].user.employee.tenant:
-            raise CustomError(u'禁止跨租户操作!')
+            raise CustomError(u'禁止跨企业操作!')
         if instance.delete:
             raise CustomError(u'系统选项[%s]已经被删除,禁止操作' % instance.name)
         is_exist = Option.is_exist(instance.tenant, validated_data['type'], validated_data['name'], instance.id)

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

@@ -46,7 +46,7 @@ class GroupsViewSet(CustomModelViewSet):
         with transaction.atomic():
             instance = self.get_object()
             if instance.tenant != request.user.employee.tenant:
-                raise CustomError(u'禁止跨租户操作!')
+                raise CustomError(u'禁止跨企业操作!')
 
             # user_count = instance.user_set.all().count()
             # if user_count:

+ 1 - 1
apps/tenant/poster/models.py

@@ -25,7 +25,7 @@ class Poster(models.Model):
     width = models.IntegerField(verbose_name=u"图片宽度")
     height = models.IntegerField(verbose_name=u"图片高度")
     location = models.PositiveSmallIntegerField(choices=LOCATION_CHOICES, verbose_name=u"位置")
-    tenant = models.ForeignKey(Tenant, verbose_name=u'租户', editable=False, on_delete=models.PROTECT, null=True)
+    tenant = models.ForeignKey(Tenant, verbose_name=u'企业', editable=False, on_delete=models.PROTECT, null=True)
 
     class Meta:
         db_table = 'poster'

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

@@ -43,7 +43,7 @@ class PosterViewSet(CustomModelViewSet):
         with transaction.atomic():
             instance = self.get_object()
             if instance.area.tenant != request.user.employee.tenant:
-                raise CustomError(u'禁止跨租户操作!')
+                raise CustomError(u'禁止跨企业操作!')
             super(PosterViewSet,self).destroy(self, request, *args, **kwargs)
             tenant_log(self.request.user.employee, BizLog.DELETE, u'删除建筑信息[%s],id=%d' % (instance.building, instance.id))
         return response_ok()

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

@@ -42,7 +42,7 @@ class RepairOrder(models.Model):
         (CANCEL_HANG_UP, '取消挂起'),
     )
     no = models.CharField(max_length=50, verbose_name='单号', blank=True)
-    tenant = models.ForeignKey(Tenant, verbose_name=u'租户', on_delete=models.PROTECT, blank=True)
+    tenant = models.ForeignKey(Tenant, verbose_name=u'企业', on_delete=models.PROTECT, blank=True)
     device = models.ForeignKey(DeviceModel, verbose_name='设备', on_delete=models.PROTECT, blank=True, null=True)
     device_name = models.CharField(max_length=100, verbose_name='设备名称')
     device_address = models.CharField(max_length=200, verbose_name='设备地址')

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

@@ -67,7 +67,7 @@ class RepairOrderViewSet(CustomModelViewSet):
         with transaction.atomic():
             instance = self.get_object()
             if instance.tenant != request.user.employee.tenant:
-                raise CustomError(u'禁止跨租户操作!')
+                raise CustomError(u'禁止跨企业操作!')
             super(RepairOrderViewSet, self).destroy(self, request, *args, **kwargs)
             tenant_log(self.request.user.employee, BizLog.DELETE, u'删除报修单[%s],id=%d' % (instance.no, instance.id))
         return response_ok()

+ 1 - 1
apps/upload/models.py

@@ -72,7 +72,7 @@ class Upload(models.Model):
         (INSPECTION_IMAGE, u'巡检图片'),
         (COMPANY_IMAGE, u'营业执照图片'),
     )
-    tenant = models.ForeignKey(Tenant, verbose_name=u'租户', on_delete=models.PROTECT)
+    tenant = models.ForeignKey(Tenant, verbose_name=u'企业', on_delete=models.PROTECT)
     user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u'操作人', on_delete=models.PROTECT)
     type = models.PositiveSmallIntegerField(choices=TYPE_CHOICES, verbose_name=u"类型")
     name = models.CharField(verbose_name=u'图片名', max_length=250)

+ 1 - 1
apps/wxapp/tenant/serializers.py

@@ -14,7 +14,7 @@ class TenantSerializer(serializers.ModelSerializer):
 
     def create(self, validated_data):
         if Tenant.is_exist(validated_data['company_name']):
-            raise CustomError(u'名称为[%s]的租户已存在' % validated_data['company_name'])
+            raise CustomError(u'名称为[%s]的企业已存在' % validated_data['company_name'])
         user = self.context['request'].user
         image = self.context['request'].data.get('image')
         validated_data['user'] = self.context['request'].user

+ 3 - 3
apps/wxapp/tenant/views.py

@@ -51,15 +51,15 @@ class TenantViewSet(CustomModelViewSet):
         super(TenantViewSet, self).perform_create(serializer)
         instance = serializer.instance
         validated_data = serializer.validated_data
-        BizLog.objects.addnew(instance, self.request.user, BizLog.INSERT, u'申请租户[%s] id=%d' % (instance.company_name, instance.id), validated_data)
+        BizLog.objects.addnew(instance, self.request.user, BizLog.INSERT, u'申请企业[%s] id=%d' % (instance.company_name, instance.id), validated_data)
 
     @action(methods=['get'], detail=True)
     def bind_company(self, request, pk):
-        # 绑定企业
+        # 绑定企业,pk 企业编号
         try:
             with transaction.atomic():
                 user = self.request.user
-                tenant = Tenant.getById(pk)
+                tenant = Tenant.getByNo(pk)
                 Employee.objects.filter(user=user).update(tenant=tenant)
         except CustomError as e:
             return response_error(e.get_error_msg())

+ 2 - 2
apps/wxapp/urls.py

@@ -11,10 +11,10 @@ urlpatterns = [
     url(r'^setUserInfo/$', SetUserInfoView.as_view()),
     url(r'^wxbind/$', WxBindView.as_view()),
 
-    url(r'^home/$', HomeView.as_view()),
+    url(r'^home/statistics/$', HomeStatisticsView.as_view()),
+    url(r'^statistics/$', StatisticsView.as_view()),
     url(r'^poster/$', PosterView.as_view()),
     url(r'^dict/$', DictView.as_view()),
-    url(r'^get_building/$', BuildingView.as_view()),
     url(r'^get_device/$', DeviceView.as_view()),
     url(r'^notices/$', NoticesView.as_view()),  # 通知
     url(r'^notices/(?P<pk>[0-9]+)/$', NoticesDetailView.as_view()),  # 通知

+ 39 - 45
apps/wxapp/views.py

@@ -22,6 +22,7 @@ from utils.permission import isLogin
 from utils.wx.WXBizDataCrypt import WXBizDataCrypt
 from apps.tenant.poster.serializer import PosterSerializer, Poster
 from apps.tenant.device.models import DeviceModel
+from apps.tenant.repair_order.models import RepairOrder
 
 from .serializers import *
 
@@ -97,25 +98,47 @@ class WxBindView(APIView):
         else:
             return response_error('参数错误')
 
+class HomeStatisticsView(APIView):
+    '''小程序首页统计数据'''
 
-class HomeView(generics.ListAPIView):
-    '''小程序首页数据'''
-
-    queryset = Config.objects.filter()
-    serializer_class = ConfigSerializer
+    def get(self, request):
+        statistics = {
+            'total':0, #总报修
+            'wait':0, #待维修
+            'working':0, #维修中
+            'complete':0, #已完工
+        }
+        if request.user or request.user.is_authenticated:
+            tenant = request.user.employee.tenant
+            rows = RepairOrder.objects.filter(tenant=tenant)
+            statistics['total'] = rows.filter(status__gte=RepairOrder.CHECKED).count()
+            statistics['wait'] = rows.filter(status=RepairOrder.CHECKED).count()
+            statistics['working'] = rows.filter(status=RepairOrder.DISPATCH).count()
+            statistics['complete'] = rows.filter(status__in=[RepairOrder.FINISH,RepairOrder.APPRAISE,]).count()
+            return response_ok(statistics)
+        else:
+            return response_ok(statistics)
 
-    def filter_queryset(self, queryset):
-        appid = self.request.GET.get('appid')
-        app = WechatApplet.getByAppid(appid)
-        queryset = queryset.filter(tenant=app.tenant)
-        return queryset
+class StatisticsView(APIView):
+    '''小程序统计数据'''
 
-    def list(self, request, *args, **kwargs):
-        try:
-            data = super(HomeView, self).list(request)
-        except NotFound:
-            return response_ok([])
-        return data
+    def get(self, request):
+        statistics = {
+            'total':0, #总报修
+            'wait':0, #待维修
+            'working':0, #维修中
+            'complete':0, #已完工
+        }
+        if request.user or request.user.is_authenticated:
+            tenant = request.user.employee.tenant
+            rows = RepairOrder.objects.filter(tenant=tenant)
+            statistics['total'] = rows.filter(status__gte=RepairOrder.CHECKED).count()
+            statistics['wait'] = rows.filter(status=RepairOrder.CHECKED).count()
+            statistics['working'] = rows.filter(status=RepairOrder.DISPATCH).count()
+            statistics['complete'] = rows.filter(status__in=[RepairOrder.FINISH,RepairOrder.APPRAISE,]).count()
+            return response_ok(statistics)
+        else:
+            return response_ok(statistics)
 
 class PosterView(generics.ListAPIView):
     '''小程序首页数据'''
@@ -175,35 +198,6 @@ class NoticesDetailView(generics.RetrieveAPIView):
     def retrieve(self, request, *args, **kwargs):
         return response_ok(NoticesWXSerializer(self.get_object()).data)
 
-
-class BuildingView(APIView):
-
-    def get(self, request):
-        area = request.GET.get('area')
-        data = []
-        rows = Building.objects.filter(area=area).values('building').order_by('building').distinct()
-        for build in rows:
-            build_dict = {
-                'name':build['building'],
-                'childern':[]
-            }
-            floors = Building.objects.filter(area=area,building=build['building']).values('floor').order_by('floor').distinct()
-            for floor in floors:
-                floor_dict = {
-                    'name': floor['floor'],
-                    'childern': []
-                }
-                build_dict['childern'].append(floor_dict)
-                locations = Building.objects.filter(area=area, building=build['building'],floor=floor['floor'])
-                for location in locations:
-                    floor_dict['childern'].append({
-                        'id':location.id,
-                        'name':location.location,
-                    })
-            data.append(build_dict)
-
-        return response_ok(data)
-
 class DeviceView(APIView):
     permission_classes = [isLogin, ]
     def get(self, request):

+ 5 - 5
uis/tenant/company/detail.html

@@ -2,7 +2,7 @@
 <html>
 <head>
     <meta charset="utf-8">
-    <title>租户管理</title>
+    <title>企业管理</title>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     <meta name="viewport"
@@ -30,7 +30,7 @@
 
 <div class="layui-tab layui-tab-card">
     <ul class="layui-tab-title">
-        <li class="layui-this">租户详情</li>
+        <li class="layui-this">企业详情</li>
         <li>续费记录</li>
     </ul>
     <div class="layui-tab-content" style="background-color: #fff;">
@@ -41,10 +41,10 @@
             <div class="layui-tab-item layui-show">
                 <ui>
                     <li class="tenant-li">
-                        <h3>单位名称:{{ d.company_name }}</h3>
+                        <h3>企业名称:{{ d.company_name }}</h3>
                     </li>
                     <li class="tenant-li">
-                        <h3>单位编码:{{ d.company_no }}</h3>
+                        <h3>企业编码:{{ d.company_no }}</h3>
                     </li>
                     <li class="tenant-li">
                         <h3>组织代码:{{ d.organ_code }}</h3>
@@ -56,7 +56,7 @@
                         <h3>联系人电话:{{ d.tel }}</h3>
                     </li>
                     <li class="tenant-li">
-                        <h3>租户到期日期:{{ d.end_date }}</h3>
+                        <h3>企业到期日期:{{ d.end_date }}</h3>
                     </li>
                     <li class="tenant-li">
                         <h3>申请时间:{{ d.create_time }}</h3>

+ 1 - 1
uis/tenant/company/edit.html

@@ -2,7 +2,7 @@
 <html>
 <head>
     <meta charset="utf-8">
-    <title>添加租户信息</title>
+    <title>添加企业信息</title>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     <meta name="viewport"

+ 5 - 5
uis/tenant/company/index.html

@@ -2,7 +2,7 @@
 <html>
 <head>
     <meta charset="utf-8">
-    <title>租户管理</title>
+    <title>企业管理</title>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     <meta name="viewport"
@@ -69,7 +69,7 @@
                             <form class="layui-form" lay-filter="query-form-element">
                                 <div class="seach_items">
                                     <input type="text" name="company_name" autocomplete="off" class="layui-input"
-                                           placeholder="单位名称"/>
+                                           placeholder="企业名称"/>
                                 </div>
                                 <div class="seach_items">
                                     <input type="text" name="name" autocomplete="off" class="layui-input"
@@ -122,13 +122,13 @@
             elem: '#datagrid'
             , url: '/tenant/company/'
             , cols: [[
-                {field: 'company_no', title: '单位编号', width: 100}
-                , {field: 'company_name', title: '单位名称', width: 200}
+                {field: 'company_no', title: '企业编号', width: 100}
+                , {field: 'company_name', title: '企业名称', width: 200}
                 , {field: 'organ_code', title: '组织代码', width: 150}
                 , {field: 'name', title: '联系人姓名', width: 120}
                 , {field: 'tel', title: '联系人电话', width: 120}
                 , {field: 'address', title: '联系人地址', width: 200}
-                , {field: 'end_date', title: '租户到期日期', width: 120}
+                , {field: 'end_date', title: '企业到期日期', width: 120}
                 , {field: 'create_time', title: '申请时间', width: 160}
                 , {field: 'status_text', title: '审核状态', width: 100}
                 , {field: 'username', title: '管理员账号', width: 200}

+ 1 - 1
uis/zzlyadmin/banner/edit.html

@@ -19,7 +19,7 @@
 
                 <div class="layui-card-body">
                     <form class="layui-form" action="" lay-filter="component-form-element">
-                        <!-- 单位名称 -->
+                        <!-- 企业名称 -->
                         <div class="layui-form-item">
                             <label class="layui-form-label"><font color='red' size="4">*</font>标题:</label>
                             <div class="layui-input-block">

+ 2 - 2
uis/zzlyadmin/employee/edit.html

@@ -41,9 +41,9 @@
               </div>
 
               <div class="layui-form-item">
-                  <label class="layui-form-label"><font color='red' size="4">*</font>租户:</label>
+                  <label class="layui-form-label"><font color='red' size="4">*</font>企业:</label>
                   <div class="layui-input-block">
-                    <input type="text" name="tenant" lay-verify="required" placeholder="请输入租户" autocomplete="off" class="layui-input">
+                    <input type="text" name="tenant" lay-verify="required" placeholder="请输入企业" autocomplete="off" class="layui-input">
                   </div>
               </div>
               <button class="layui-btn" id="id_user_save" lay-submit lay-filter="component-form-element" style="display: none">保存</button>

+ 1 - 1
uis/zzlyadmin/employee/index.html

@@ -71,7 +71,7 @@
         {field:'name', title:'姓名',width: 150}
        ,{field:'tel', title:'手机号',width: 200}
        ,{field:'type_text', title:'角色',width: 200}
-       ,{field:'tenant', title:'租户',width: 200}
+       ,{field:'tenant', title:'企业',width: 200}
        ,{field:'baoxiu_count', title:'报修次数',width: 100}
       ]]
       ,page: true

+ 1 - 1
uis/zzlyadmin/index.html

@@ -69,7 +69,7 @@
                             <a lay-href="user/index.html">账号管理</a>
                         </dd>
                         <dd data-name="nav">
-                            <a lay-href="tenant/index.html">租户管理</a>
+                            <a lay-href="tenant/index.html">企业管理</a>
                         </dd>
                         <dd data-name="nav">
                             <a lay-href="employee/index.html">用户管理</a>

+ 1 - 1
uis/zzlyadmin/tenant/check.html

@@ -2,7 +2,7 @@
 <html>
 <head>
     <meta charset="utf-8">
-    <title>审核租户</title>
+    <title>审核企业</title>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     <meta name="viewport"

+ 5 - 5
uis/zzlyadmin/tenant/detail.html

@@ -2,7 +2,7 @@
 <html>
 <head>
     <meta charset="utf-8">
-    <title>租户管理</title>
+    <title>企业管理</title>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     <meta name="viewport"
@@ -30,7 +30,7 @@
 
 <div class="layui-tab layui-tab-card">
     <ul class="layui-tab-title">
-        <li class="layui-this">租户详情</li>
+        <li class="layui-this">企业详情</li>
         <li>充值记录</li>
     </ul>
     <div class="layui-tab-content" style="background-color: #fff;">
@@ -41,10 +41,10 @@
             <div class="layui-tab-item layui-show">
                 <ui>
                     <li class="tenant-li">
-                        <h3>单位名称:{{ d.company_name }}</h3>
+                        <h3>企业名称:{{ d.company_name }}</h3>
                     </li>
                     <li class="tenant-li">
-                        <h3>单位编码:{{ d.company_no }}</h3>
+                        <h3>企业编码:{{ d.company_no }}</h3>
                     </li>
                     <li class="tenant-li">
                         <h3>组织代码:{{ d.organ_code }}</h3>
@@ -56,7 +56,7 @@
                         <h3>联系人电话:{{ d.tel }}</h3>
                     </li>
                     <li class="tenant-li">
-                        <h3>租户到期日期:{{ d.end_date }}</h3>
+                        <h3>企业到期日期:{{ d.end_date }}</h3>
                     </li>
                     <li class="tenant-li">
                         <h3>申请时间:{{ d.create_time }}</h3>

+ 4 - 4
uis/zzlyadmin/tenant/edit.html

@@ -2,7 +2,7 @@
 <html>
 <head>
     <meta charset="utf-8">
-    <title>添加租户信息</title>
+    <title>添加企业信息</title>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     <meta name="viewport"
@@ -20,11 +20,11 @@
 
                 <div class="layui-card-body">
                     <form class="layui-form" action="" lay-filter="component-form-element">
-                        <!-- 单位名称 -->
+                        <!-- 企业名称 -->
                         <div class="layui-form-item">
-                            <label class="layui-form-label"><font color='red' size="4">*</font>单位名称:</label>
+                            <label class="layui-form-label"><font color='red' size="4">*</font>企业名称:</label>
                             <div class="layui-input-block">
-                                <input type="text" name="company_name" lay-verify="required" placeholder="请输入单位名称"
+                                <input type="text" name="company_name" lay-verify="required" placeholder="请输入企业名称"
                                        autocomplete="off" class="layui-input">
                             </div>
                         </div>

+ 6 - 6
uis/zzlyadmin/tenant/index.html

@@ -2,7 +2,7 @@
 <html>
 <head>
     <meta charset="utf-8">
-    <title>租户管理</title>
+    <title>企业管理</title>
     <meta name="renderer" content="webkit">
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     <meta name="viewport"
@@ -64,7 +64,7 @@
                             <form class="layui-form" lay-filter="query-form-element">
                                 <div class="seach_items">
                                     <input type="text" name="company_name" autocomplete="off" class="layui-input"
-                                           placeholder="单位名称"/>
+                                           placeholder="企业名称"/>
                                 </div>
                                 <div class="seach_items">
                                     <input type="text" name="name" autocomplete="off" class="layui-input"
@@ -122,13 +122,13 @@
             elem: '#datagrid'
             , url: '/admin/tenant/'
             , cols: [[
-                {field: 'company_no', title: '单位编号', width: 100}
-                , {field: 'company_name', title: '单位名称', width: 200}
+                {field: 'company_no', title: '企业编号', width: 100}
+                , {field: 'company_name', title: '企业名称', width: 200}
                 , {field: 'organ_code', title: '组织代码', width: 150}
                 , {field: 'name', title: '联系人姓名', width: 120}
                 , {field: 'tel', title: '联系人电话', width: 120}
                 , {field: 'address', title: '联系人地址', width: 200}
-                , {field: 'end_date', title: '租户到期日期', width: 120}
+                , {field: 'end_date', title: '企业到期日期', width: 120}
                 , {field: 'create_time', title: '申请时间', width: 160}
                 , {field: 'status_text', title: '审核状态', width: 100}
                 , {field: 'username', title: '管理员账号', width: 200}
@@ -181,7 +181,7 @@
                 });
             } else if (obj.event === 'check') {
                 if (data.status > 0) {
-                    layer.msg('该租户已审核!');
+                    layer.msg('该企业已审核!');
                     return false
                 }
                 layer.open({