lyh 1 gadu atpakaļ
vecāks
revīzija
d97cca6f63

+ 17 - 1
apps/foundation/filters.py

@@ -2,7 +2,7 @@
 
 import django_filters
 
-from .models import Option, Config
+from .models import Option, Config, BizLog
 
 
 class OptionFilter(django_filters.FilterSet):
@@ -18,3 +18,19 @@ class ConfigFilter(django_filters.FilterSet):
     class Meta:
         model = Config
         fields = '__all__'
+
+
+class BizLogFilter(django_filters.FilterSet):
+    type = django_filters.CharFilter(field_name='type')
+    range_time = django_filters.CharFilter(method='find_base_range_time')
+
+    def find_base_range_time(self, queryset, *args):
+        if args[1]:
+            range_time = args[1].split(' - ')
+            end_time = range_time[1] + ' 23:59:59'
+            queryset = queryset.filter(create_time__gte=range_time[0], create_time__lte=end_time)
+        return queryset
+
+    class Meta:
+        model = BizLog
+        fields = '__all__'

+ 11 - 0
apps/foundation/serializers.py

@@ -45,3 +45,14 @@ class ConfigSerializer(serializers.ModelSerializer):
             else:
                 Config.objects.create(property=item['key'], value=item['value'], tenant=tenant)
         tenant_log(self.context['request'].user, BizLog.INSERT, u'修改系统配置', data)
+
+
+class BizLogSerializer(serializers.ModelSerializer):
+    type_name = serializers.CharField(source='get_type_display', read_only=True)
+    user_name = serializers.CharField(source='user.name', read_only=True)
+    create_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M', read_only=True)
+
+
+    class Meta:
+        model = BizLog
+        fields = '__all__'

+ 1 - 0
apps/foundation/urls.py

@@ -14,4 +14,5 @@ urlpatterns = [
 router = SimpleRouter()
 router.register(r'option', OptionViewSet)
 router.register(r'config', ConfigViewSet)
+router.register(r'bizlog', BizLogViewSet)
 urlpatterns += router.urls

+ 12 - 2
apps/foundation/views.py

@@ -8,8 +8,8 @@ from utils.custom_modelviewset import CustomModelViewSet
 from utils.exceptions import CustomError
 from apps.foundation.models import BizLog, Option, Config
 from apps.account import tenant_log
-from .filters import OptionFilter, ConfigFilter
-from .serializers import OptionSerializer, ConfigSerializer
+from .filters import OptionFilter, ConfigFilter, BizLogFilter
+from .serializers import OptionSerializer, ConfigSerializer, BizLogSerializer
 
 class OptionDictView(APIView):
 
@@ -109,3 +109,13 @@ class ConfigSearchSearch(APIView):
         value = Config.getConfigByText(type)
 
         return response_ok(value)
+
+
+class BizLogViewSet(CustomModelViewSet):
+    queryset = BizLog.objects.filter()
+    serializer_class =BizLogSerializer
+
+    def filter_queryset(self, queryset):
+        queryset = queryset.filter()
+        f = BizLogFilter(self.request.GET, queryset=queryset)
+        return f.qs

+ 1 - 1
apps/maint_order/views.py

@@ -29,5 +29,5 @@ class MaintOrderReserveViewSet(CustomModelViewSet):
         with transaction.atomic():
             order.status = int(status)
             order.save()
-            tenant_log(self.request.user, BizLog.UPDATE, u'修改试驾单状态[%s],id=%d' % (MaintOrderReserve.STATUS_CHOICES[order.status-1][1], order.id))
+            tenant_log(self.request.user, BizLog.UPDATE, u'修改售后预约单状态[%s],id=%d' % (MaintOrderReserve.STATUS_CHOICES[order.status-1][1], order.id))
         return response_ok()

+ 108 - 0
uis/views/bizlog/index.html

@@ -0,0 +1,108 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <title>人员管理</title>
+  <meta name="renderer" content="webkit">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+  <meta name="viewport" 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">
+    .LAY-btns .layui-nav {padding-left:0;padding-right:10px;top:-4px;margin: 0 10px;border: 0;background-color: #009688;}
+    .LAY-btns .layui-nav .layui-nav-item{line-height: 30px;}
+    .LAY-btns .layui-nav .layui-nav-child{top:34px;}
+    .LAY-btns .layui-nav .layui-nav-bar{display: none;}
+    .LAY-btns .layui-nav .layui-nav-child dd.layui-this a{color:#333;background-color:#fff;}
+    .LAY-btns .layui-nav .layui-nav-child dd.layui-this a:hover {background-color: #f2f2f2;color: #000;}
+    .seach_items {float:right;margin-left: 10px;}
+  </style>
+</head>
+<body>
+
+  <div class="layui-fluid">
+    <div class="layui-card">
+        <div class="layui-card-body" pad15>
+        <div class="layui-row layui-col-space15">
+          <div class="layui-col-md12">
+            <div class="LAY-btns" style="margin-bottom: 10px;">
+                <form class="layui-form" lay-filter="query-form-element">
+                    <div class="seach_items">
+                        <button class="layui-btn" lay-submit lay-filter="query-form-element"><i class="layui-icon layui-icon-search"></i>查询</button>
+                    </div>
+                    <div class="seach_items">
+                       <select name="type">
+                            <option value="">类别</option>
+                            <option value="1">添加</option>
+                            <option value="2">修改</option>
+                            <option value="3">删除</option>
+                        </select>
+                    </div>
+                    <div class="seach_items">
+                         <div class="layui-inline">
+                              <div class="layui-input-inline">
+                                <input type="text" name="range_time" class="layui-input" id="range_time" placeholder="时间">
+                              </div>
+                            </div>
+                    </div>
+                </form>
+                <div style="clear: both;"></div>
+            </div>
+            <table class="layui-hide" id="datagrid" lay-filter="datagrid-operate"></table>
+
+          </div>
+        </div>
+        </div>
+    </div>
+  </div>
+
+  <script src="../../layuiadmin/layui/layui.js?t=1"></script>
+  <script>
+  layui.config({
+    base: '../../../layuiadmin/' //静态资源所在路径
+  }).extend({
+    index: 'lib/index' //主入口模块
+     ,formSelects: 'formSelects-v4'
+  }).use(['index', 'table', 'form', 'formSelects', 'laydate'], function(){
+    var $ = layui.$
+            ,table = layui.table
+            ,admin = layui.admin
+        ,laydate = layui.laydate
+            ,form = layui.form;
+
+
+    table.render({
+      elem: '#datagrid'
+      ,url: '/foundation/bizlog/'
+      ,cols: [[
+        {field:'user_name', title:'人员',width: 100}
+       ,{field:'type_name', title:'类别',width: 80}
+       ,{field:'create_time', title:'时间',width: 150}
+       ,{field:'description', title:'操作', width:500}
+      ]]
+      ,page: true
+      ,height: 'full-108'
+      , done: function () {
+        layui.index.removeNoPermButtons()
+      }
+    });
+
+    laydate.render({
+        elem: '#range_time'
+        ,range:true
+    });
+    form.on('submit(query-form-element)', function(data){
+      //layer.msg(JSON.stringify(data.field));
+      table.reload('datagrid', {
+          where: data.field
+          ,page:{curr:1}
+      });
+      layer.closeAll();
+      return false;
+    });
+  });
+  </script>
+</body>
+</html>
+

+ 3 - 0
uis/views/index.html

@@ -149,6 +149,9 @@
                 <dd data-name="nav">
                   <a lay-href="config/index.html">基础设置</a>
                 </dd>
+                <dd data-name="nav">
+                  <a lay-href="bizlog/index.html">系统日志</a>
+                </dd>
               </dl>
             </li>
           </ul>