Quellcode durchsuchen

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	apps/tenant/operation_help/views.py
hujingpei vor 4 Jahren
Ursprung
Commit
d0e8e219de

+ 3 - 0
apps/account/models.py

@@ -112,6 +112,9 @@ class User(AbstractBaseUser, PermissionsMixin):
             return True
         return False
 
+    def get_name(self):
+        return self.employee.name
+
     def change_password(self, new_password, confirm_password, old_password):
         if new_password != confirm_password:
             raise CustomError(u'两次输入的密码不一致, 请检查')

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

@@ -9,7 +9,7 @@ class DeviceFilter(django_filters.FilterSet):
     name = django_filters.CharFilter(field_name='name', lookup_expr='icontains')
     device_no = django_filters.CharFilter(field_name='device_no', lookup_expr='icontains')
     device_model = django_filters.CharFilter(field_name='device_model', lookup_expr='icontains')
-    status = django_filters.CharFilter(field_name='status',)
+    status = django_filters.CharFilter(field_name='status')
 
     class Meta:
         model = DeviceModel

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

@@ -6,7 +6,7 @@ class DeviceImporter(ExcelImporter):
     fields = {
         u'名称': (True, ExcelImporter.formatUnicode),
         u'编号': (True, ExcelImporter.formatUnicode),
-        u'设备型号': (True, ExcelImporter.formatUnicode),
+        u'型号': (True, ExcelImporter.formatUnicode),
         u'小地点': (True, ExcelImporter.formatUnicode),
         u'大地点': (True, ExcelImporter.formatUnicode),
     }

+ 12 - 0
apps/tenant/device/serializers.py

@@ -8,6 +8,18 @@ from .models import *
 class DeviceSerializer(serializers.ModelSerializer):
     create_user_text = serializers.CharField(source='create_user.employee.name', read_only=True)
     status_text = serializers.CharField(source='get_status_display', read_only=True)
+    repaire_user_text = serializers.SerializerMethodField()
+
+    def get_repaire_user_text(self, obj):
+        if obj.status == DeviceModel.FINE:
+            return ''
+        from apps.tenant.repair_order.models import RepairOrder
+        order = RepairOrder.objects.filter(device=obj, status__in=[RepairOrder.DISPATCH,RepairOrder.HANG_UP,
+                                               RepairOrder.TURN_EMPLOYEE,RepairOrder.CANCEL_HANG_UP,]).first()
+        if order:
+            return order.repair_users.get_name()
+        else:
+            return ''
 
     class Meta:
         model = DeviceModel

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

@@ -61,7 +61,7 @@ class DeviceImportView(APIView):
                         data = {}
                         data['name'] = row[u'名称']
                         data['device_no'] = row[u'编号']
-                        data['device_model'] = row[u'设备型号']
+                        data['device_model'] = row[u'型号']
                         data['branch'] = row[u'小地点']
                         data['address'] = row[u'大地点']
                         data['create_user'] = request.user

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

@@ -7,7 +7,7 @@ from utils.file_operation import UploadFile, DeleteFile
 
 class OperationHelp(models.Model):
     title = models.CharField(verbose_name=u'标题', max_length=100)
-    content = models.CharField(verbose_name=u'内容',max_length=500)
+    content = models.TextField(verbose_name=u'内容')
     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)

+ 14 - 19
apps/tenant/operation_help/views.py

@@ -25,35 +25,30 @@ class OperationHelpViewSet(CustomModelViewSet):
 
     def perform_create(self, serializer):
         super(OperationHelpViewSet,self).perform_create(serializer)
-        print(555555555)
         instance = serializer.instance
         validated_data = serializer.validated_data
-        tenant_log(self.request.user.employee, BizLog.INSERT, u'添加运维帮助[%s],id=%d' % (instance.title, instance.id),
+        tenant_log(self.request.user.employee, BizLog.INSERT, u'添加运维帮助[%s],id=%d' % (instance.name, instance.id),
                    validated_data)
 
     def perform_update(self, serializer):
         super(OperationHelpViewSet,self).perform_update(serializer)
         instance = serializer.instance
         validated_data = serializer.validated_data
-        tenant_log(self.request.user.employee, BizLog.INSERT, u'修改运维帮助[%s],id=%d' % (instance.title, instance.id),
+        tenant_log(self.request.user.employee, BizLog.INSERT, u'修改运维帮助[%s],id=%d' % (instance.name, instance.id),
                    validated_data)
 
-
     @action(methods=['post'], detail=False)
     def upload_image(self, request):
-        print(777777777777)
         file = self.request.FILES.get('file')
-        user = self.request.user
-        operation_help_img = OperationHelpImg.objects.create(tenant=user.employee.tenant)
-        if file:
-            operation_help_img._add_img(file, user)
-            image = operation_help_img.image
-        return response_ok(image)
-
-    # @action(methods=['post'], detail=False)
-    # def upload_radio(self, request):
-    #     file = self.request.FILES.get('file')
-    #     radio_path = OperationHelpRadio.objects._add_(file, request.user)
-    #     if radio_path:
-    #         return response_ok(radio_path)
-    #     return response_error('上传失败,请重新上传!')
+        img = OperationHelpImg.objects._add_img(file,request.user)
+        if img:
+            return response_ok(img.image)
+        return response_error('上传失败,请重新上传!')
+
+    @action(methods=['post'], detail=False)
+    def upload_radio(self, request):
+        file = self.request.FILES.get('file')
+        radio_path = OperationHelpRadio.objects._add_img(file, request.user)
+        if radio_path:
+            return response_ok(radio_path)
+        return response_error('上传失败,请重新上传!')

+ 1 - 0
apps/tenant/repair_order/filters.py

@@ -8,6 +8,7 @@ class RepairOrderFilter(django_filters.FilterSet):
     no = django_filters.CharFilter(field_name='no', lookup_expr='icontains')
     status = django_filters.CharFilter(method='query_status')
     device_name = django_filters.CharFilter(field_name='device__name', lookup_expr='icontains')
+    device_id = django_filters.CharFilter(field_name='device_id')
 
     class Meta:
         model = RepairOrder

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

@@ -21,6 +21,7 @@ class RepairOrder(models.Model):
         (REPAIR_ORDER, '报修工单'),
         (INSPECTION_ORDER, '巡检转报修工单')
     )
+
     NOT_CHECKED = 1
     CHECKED = 2
     DISPATCH = 3

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

@@ -82,7 +82,7 @@ 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) | Q(repair_users__isnull=True))
         elif self.request.user.is_repair():
             queryset = queryset.filter(user=self.request.user)

+ 4 - 3
uis/tenant/company/index.html

@@ -20,7 +20,7 @@
         }
 
         .LAY-btns .layui-nav .layui-nav-item {
-            line-height: 30px;
+            line-height: 40px;
         }
 
         .LAY-btns .layui-nav .layui-nav-child {
@@ -156,6 +156,7 @@
             layer.closeAll();
             return false;
         });
+
         //监听工具条
         table.on('tool(datagrid-operate)', function (obj) {
             var data = obj.data;
@@ -188,11 +189,11 @@
         });
 
         $('#pay_wechat').on('click', function () {
-           pay_order(1)
+            pay_order(1)
         });
 
         $('#pay_alipay').on('click', function () {
-            pay_order( 2)
+            pay_order(2)
         });
         $('#btn_wxapp_code').on('click', function () {
             layer.open({

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

@@ -77,7 +77,7 @@
                 , '|', 'fullScreen'
             ],
              uploadImage: {
-                url: '/tenant/poster/',
+                url: '/tenant/operation_help/up_image/',
                 accept: 'image',
                 acceptMime: 'image/*',
                 exts: 'jpg|png|gif|bmp|jpeg',
@@ -102,8 +102,8 @@
             }
         }
         var form_data = {},
-            url = id ? '/tenant/poster/' + id + '/update_poster/' : '/tenant/poster/',
-            method = id ? 'post' : 'put'
+            url = id ? '/tenant/operation_help/' + id + "/" : '/tenant/operation_help/';
+            // method = id ? 'post' : 'put'
 
         form.on('submit(component-form-element)', function (data) {
             //layer.msg(JSON.stringify(data.field));
@@ -117,7 +117,7 @@
             admin.req({
                 url: url
                 , data: {data:JSON.stringify(form_data)}
-                , type: method
+                , type: 'post'
                 , done: function (res) {
                     if (res.code != 0) {
                         layer.msg(res.msg);

+ 1 - 1
uis/tenant/operation_help/index.html

@@ -106,7 +106,7 @@
 
         table.render({
             elem: '#datagrid'
-            , url: '/tenant/poster/'
+            , url: '/tenant/operation_help/'
             , cols: [[
                 {field: 'title', title: '标题', width: 150}
                 ,{field: 'content', title: '内容', width: 280}

+ 2 - 2
utils/wx/wechat.py

@@ -230,7 +230,7 @@ class WeChat(object):
         '''获取小程序二维码'''
         url = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={}'.format(access_token)
         data = {"scene": "company_no={}".format(company_no),
-                "width": 1280,
+                # "width": 1280, # 默认430
                 "line_color": {"r": 43, "g": 162, "b": 69},  # 自定义颜色
                 "is_hyaline": True}
         result = requests.post(url, json=data)
@@ -251,7 +251,7 @@ class WeChat(object):
         '''获取设备二维码'''
         url = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={}'.format(access_token)
         data = {"scene": "company_no={}&device_id={}".format(company_no, device_id),
-                "width": 1280,
+                # "width": 1280, # 默认430
                 "line_color": {"r": 43, "g": 162, "b": 69},  # 自定义颜色
                 "is_hyaline": True}
         result = requests.post(url, json=data)