Ver Fonte

绑定企业

wushaodong há 4 anos atrás
pai
commit
db008696bb

+ 4 - 2
apps/wxapp/serializers.py

@@ -48,9 +48,10 @@ class WechatLoginSerializer(serializers.Serializer):
                 'name': customer_wechat.customer.name or '',
                 'tel': customer_wechat.customer.tel or '',
                 'face': customer_wechat.customer.face,
-                'gender': customer_wechat.customer.gender or 0,
                 'position': customer_wechat.customer.position and customer_wechat.customer.position.name or '',
+                'company_name': customer_wechat.customer.tenant and customer_wechat.customer.tenant.company_name or '',
                 'user_type': customer_wechat.customer.type,  # 用户类别,1为平台管理员,2为管理者,3检修人,4报修人
+                'user_type_text': customer_wechat.customer.get_type_display(),  # 用户类别,1为平台管理员,2为管理者,3检修人,4报修人
                 'forbid_baoxiu': 'true' and customer_wechat.customer.status == Employee.DISABLE or 'false',  # 是否禁用报修,
                 'emplate_id': settings.WEAPP['message_template'],
             }
@@ -78,9 +79,10 @@ class WechatBindSerializer(serializers.Serializer):
                 'name': customer.name or '',
                 'tel': customer.tel or '',
                 'face': customer.face,
-                'gender': customer.gender or 0,
                 'position': customer.position and customer.position.name or '',
+                'company_name': customer.tenant and customer.tenant.company_name or '',
                 'user_type': customer.type,  # 用户类别,1为平台管理员,2为管理者,3检修人,4报修人
+                'user_type_text': customer.get_type_display(),  # 用户类别,1为平台管理员,2为管理者,3检修人,4报修人
                 'forbid_baoxiu': 'true' and customer.status == Employee.DISABLE or 'false',  # 是否禁用报修,
             }
 

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

@@ -5,7 +5,7 @@ from rest_framework.routers import SimpleRouter
 from .views import *
 
 urlpatterns = [
-
+    url(r'^search_tenant/$', searchTenantView.as_view()),  # 我的报修
 ]
 
 router = SimpleRouter()

+ 36 - 0
apps/wxapp/tenant/views.py

@@ -1,12 +1,34 @@
 # coding=utf-8
 from django.conf import settings
+from django.db import transaction
+from rest_framework.views import APIView
+from rest_framework.decorators import action
 from utils.custom_modelviewset import CustomModelViewSet
 from apps.log.models import BizLog
 from apps.tenant.models import Tenant
 from .serializers import TenantSerializer
+from utils.exceptions import CustomError
+from utils import response_ok, response_error
+from apps.tenant.employee.models import Employee
+from utils.permission import isLogin
 
+class searchTenantView(APIView):
+    permission_classes = [isLogin, ]
+
+    def get(self, request, *args, **kwargs):
+        company_no = request.GET.get('company_no')
+        tenant = Tenant.objects.filter(company_no=company_no, status=settings.PASS).first()
+        if tenant:
+            data = {
+                'id':tenant.id,
+                'company_name':tenant.company_name,
+            }
+            return response_ok(data)
+        else:
+            return response_error(u'未找到企业,请输入正确的企业编号')
 
 class TenantViewSet(CustomModelViewSet):
+    permission_classes = [isLogin, ]
     queryset = Tenant.objects.all()
     serializer_class = TenantSerializer
 
@@ -15,3 +37,17 @@ class TenantViewSet(CustomModelViewSet):
         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)
+
+    @action(methods=['get'], detail=True)
+    def bind_company(self, request, pk):
+        # 绑定企业
+        try:
+            with transaction.atomic():
+                user = self.request.user
+                tenant = Tenant.getById(pk)
+                Employee.objects.filter(user=user).update(tenant=tenant)
+        except CustomError as e:
+            return response_error(e.get_error_msg())
+        except Exception as e:
+            return response_error(str(e))
+        return response_ok('绑定成功!')

+ 2 - 7
uis/zzlyadmin/tenant/detail.html

@@ -9,7 +9,6 @@
           content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
     <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
     <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
-    <link rel="stylesheet" type="text/css" href="../../layuiadmin/style/formSelects-v4.css"/>
     <style type="text/css">
         .tenant-li {
             margin: 10px
@@ -97,13 +96,9 @@
         base: '../../../layuiadmin/' //静态资源所在路径
     }).extend({
         index: 'lib/index',
-        formSelects: 'formSelects-v4'
-    }).use(['index', 'form', 'utils', 'laytpl', 'rate'], function () {
+    }).use(['index',  'laytpl'], function () {
         var $ = layui.$
-            , admin = layui.admin
-            , laytpl = layui.laytpl
-            , rate = layui.rate
-            , form = layui.form;
+            , laytpl = layui.laytpl;
         var data = JSON.parse(JSON.stringify(parent.layui.table.editdata)); // 框架有Bug所以这么转换
         var getTpl = tenant_detail_demo.innerHTML
             , tenant_detail = document.getElementById('tenant_detail');