Bladeren bron

优惠券

lyh 3 jaren geleden
bovenliggende
commit
08376868d4

+ 1 - 1
apps/account/filters.py

@@ -6,7 +6,7 @@ from .models import *
 class EmployeeFilter(django_filters.FilterSet):
     name = django_filters.CharFilter(field_name='name',lookup_expr='icontains')
     username = django_filters.CharFilter(field_name='username', lookup_expr='icontains')
-    enabled = django_filters.CharFilter(field_name='product_base__enabled')
+    enabled = django_filters.CharFilter(field_name='enabled')
 
     class Meta:
         model = User

+ 7 - 0
apps/account/serializers.py

@@ -32,6 +32,13 @@ class EmployeeSerializer(serializers.ModelSerializer):
         else:
             raise CustomError(dump_serializer_errors(self))
 
+    def validate(self, data):
+        if 'enabled' in data:
+            data['enabled'] = True
+        else:
+            data['enabled'] = False
+        return data
+
 
     def create(self, validated_data):
         instance = super(EmployeeSerializer, self).create(validated_data)

+ 2 - 0
apps/account/urls.py

@@ -7,5 +7,7 @@ urlpatterns = (
 
     url(r'^employee/data/$', employee_list),
     url(r'^employee/save/$', employee_save),
+
+    url(r'^password/save/$', password_save),
 )
 

+ 33 - 0
apps/account/views.py

@@ -31,13 +31,23 @@ def login(request):
     if form.is_valid():
         user = form.get_user()
 
+        if not user.enabled:
+            return JSONError(u'该账号不可用')
+
         if user.username != 'zzzroor':
             BizLog.objects.addnew(user, BizLog.INSERT,
                                   u"[%s]登录系统,IP[%s]" % (user.username, request.META['REMOTE_ADDR']))
+
+        if user.is_superuser:
+            superuser = True
+        else:
+            superuser = False
+
         return JSONResponse({
             'user_id': user.id,
             'access_token': form.access_token,
             'name': user.name,
+            'superuser': superuser,
         })
     else:
         if request.POST['username'] != 'zzzroor':
@@ -80,3 +90,26 @@ def employee_save(request):
         return JSONError(u'保存失败')
     return JSONResponse()
 
+
+@token_required
+def password_save(request):
+    data = json.loads(request.body)
+    try:
+        data['new_password'] = data['new_password'].strip(u' ')
+        data['confirm_password'] = data['confirm_password'].strip(u' ')
+        data['old_password'] = data['old_password'].strip(u' ')
+
+        if data['new_password'] != data['confirm_password']:
+            raise CustomError(u'两次输入的密码不一致, 请检查')
+
+        with transaction.atomic():
+            if not request.user.check_password(data['old_password']):
+                raise CustomError(u'原密码输入错误, 请检查')
+            request.user.set_password(data['new_password'])
+            request.user.save()
+    except CustomError as e:
+        return JSONError(e.get_error_msg())
+    except Exception as e:
+        traceback.print_exc()
+        return JSONError(u'保存失败!')
+    return JSONResponse()

+ 17 - 2
apps/activity/filters.py

@@ -7,7 +7,7 @@ from .models import *
 class BranchFilter(django_filters.FilterSet):
     name = django_filters.CharFilter(field_name='name',lookup_expr='icontains')
     tel = django_filters.CharFilter(field_name='tel', lookup_expr='icontains')
-    enabled = django_filters.CharFilter(field_name='product_base__enabled')
+    enabled = django_filters.CharFilter(field_name='enabled')
 
     class Meta:
         model = Branch
@@ -17,4 +17,19 @@ class BranchFilter(django_filters.FilterSet):
 
     def __init__(self, data=None, *args, **kwargs):
         data = clean_datetime_range(data, 'create_time')
-        super(BranchFilter, self).__init__(data, *args, **kwargs)
+        super(BranchFilter, self).__init__(data, *args, **kwargs)
+
+
+class CouponFilter(django_filters.FilterSet):
+    name = django_filters.CharFilter(field_name='name',lookup_expr='icontains')
+    enabled = django_filters.CharFilter(field_name='enabled')
+
+    class Meta:
+        model = Coupon
+        fields = (
+            'name', 'enabled'
+        )
+
+    def __init__(self, data=None, *args, **kwargs):
+        data = clean_datetime_range(data, 'create_time')
+        super(CouponFilter, self).__init__(data, *args, **kwargs)

+ 12 - 0
apps/activity/models.py

@@ -112,8 +112,20 @@ class Coupon(models.Model):
         ordering = ['-id']
         verbose_name = u"优惠券"
 
+    @staticmethod
+    def getById(id):
+        try:
+            id = int(id)
+        except:
+            raise CustomError(u'无效的优惠券')
+        instance = Coupon.objects.filter(pk=id).first()
+        if not instance:
+            raise CustomError(u'未找到相应的优惠券')
+        return instance
+
 
 class MemberCoupon(models.Model):
+    activity = models.ForeignKey(Activity, verbose_name=u"活动", on_delete=models.PROTECT)
     member = models.ForeignKey(Member, verbose_name=u"会员", on_delete=models.PROTECT)
     coupon = models.ForeignKey(Coupon, verbose_name=u"优惠券", on_delete=models.PROTECT)
     receive_date = models.DateField(verbose_name=u"领取日期", null=True, blank=True)

+ 59 - 0
apps/activity/serializers.py

@@ -1,5 +1,6 @@
 #coding=utf-8
 
+import datetime
 from rest_framework import serializers
 from apps.exceptions import CustomError
 from django.db.models import Q
@@ -8,6 +9,7 @@ from apps.foundation.models import BizLog
 from .models import *
 from apps.serializer_errors import dump_serializer_errors
 from apps.foundation.models import BizLog
+from apps import base
 
 class BranchSerializer(serializers.ModelSerializer):
     enabled_text = serializers.SerializerMethodField()
@@ -37,6 +39,13 @@ class BranchSerializer(serializers.ModelSerializer):
         else:
             raise CustomError(dump_serializer_errors(self))
 
+    def validate(self, data):
+        if 'enabled' in data:
+            data['enabled'] = True
+        else:
+            data['enabled'] = False
+        return data
+
 
     def create(self, validated_data):
         instance = super(BranchSerializer, self).create(validated_data)
@@ -48,3 +57,53 @@ class BranchSerializer(serializers.ModelSerializer):
         BizLog.objects.addnew(self.user, BizLog.UPDATE, u"修改门店[%s],id=%s" % (instance.name, instance.id),validated_data)
         instance = super(BranchSerializer, self).update(instance, validated_data)
         return instance
+
+
+class CouponSerializer(serializers.ModelSerializer):
+    create_time = serializers.DateTimeField(format=base.DATETIME_FORMAT, read_only=True)
+    enabled_text = serializers.SerializerMethodField()
+
+    class Meta:
+        model = Coupon
+        fields = '__all__'
+
+    def get_enabled_text(self, obj):
+        if obj.enabled:
+            return u'是'
+        return u'否'
+
+    @staticmethod
+    def factory(user, data, id=None):
+        if id:
+            instance = Coupon.getById(id)
+        else:
+            instance = None
+        serializer = CouponSerializer(instance, data=data)
+        serializer.user = user
+        return serializer
+
+    def validSave(self):
+        if self.is_valid():
+            return self.save()
+        else:
+            raise CustomError(dump_serializer_errors(self))
+
+    def validate(self, data):
+        if 'enabled' in data:
+            data['enabled'] = True
+        else:
+            data['enabled'] = False
+
+        return data
+
+
+    def create(self, validated_data):
+        instance = super(CouponSerializer, self).create(validated_data)
+        instance.save()
+        BizLog.objects.addnew(self.user, BizLog.INSERT, u"添加优惠券[%s],id=%s" % (instance.name, instance.id),validated_data)
+        return instance
+
+    def update(self, instance, validated_data):
+        BizLog.objects.addnew(self.user, BizLog.UPDATE, u"修改优惠券[%s],id=%s" % (instance.name, instance.id),validated_data)
+        instance = super(CouponSerializer, self).update(instance, validated_data)
+        return instance

+ 3 - 0
apps/activity/urls.py

@@ -5,5 +5,8 @@ from .views import *
 urlpatterns = (
     url(r'^branch/data/$', branch_list),
     url(r'^branch/save/$', branch_save),
+
+    url(r'^coupon/data/$', coupon_list),
+    url(r'^coupon/save/$', coupon_save),
 )
 

+ 26 - 0
apps/activity/views.py

@@ -42,3 +42,29 @@ def branch_save(request):
     except Exception as e:
         traceback.print_exc()
         return JSONError(u'保存失败!')
+
+
+@token_required
+def coupon_list(request):
+    f = BranchFilter(request.GET, queryset=Coupon.objects.filter(branch=request.user.branch))
+    rows, total = utils.get_page_data(request, f.qs)
+    serializer = CouponSerializer(rows, many=True)
+    return DataGridJSONResponse(serializer.data, total)
+
+
+@token_required
+def coupon_save(request):
+    id = request.GET.get('id')
+    data = json.loads(request.body)
+
+    try:
+        with transaction.atomic():
+            data['branch'] = request.user.branch_id
+            serializer = CouponSerializer.factory(request.user, data, id)
+            serializer.validSave()
+        return JSONResponse(serializer.data)
+    except CustomError as e:
+        return JSONError(e.get_error_msg())
+    except Exception as e:
+        traceback.print_exc()
+        return JSONError(u'保存失败!')

+ 1 - 1
apps/serializer_errors.py

@@ -178,7 +178,7 @@ def dump_serializer_errors(serializer):
                     msg = msg % field.min_length
 
             except:
-                msg = unicode(error_detail)
+                msg = str(error_detail)
         msg = label + msg
         result.append(msg)
     return u'<br />'.join(result)

+ 16 - 0
uis/layuiadmin/modules/utils.js

@@ -91,6 +91,22 @@ layui.define(['table','form'],function(exports){
                 return '该数字必须大于等于0';
             }
         },
+        intGtz: function (value, item) {
+            value = value.trim();
+            if (value === '') {
+                return;
+            }
+            if (!(/^[0-9]\d*$/i.test(value))){
+                return '请输入整数';
+            }
+            value = parseInt(value);
+            if (isNaN(value)){
+                return '请输入整数';
+            }
+            if (value < 0){
+                return '该整数必须大于等于0';
+            }
+        },
         tel: function (value, item) {
             value = value.trim();
             if (value === '') {

+ 14 - 32
uis/views/account/employee.html

@@ -52,6 +52,17 @@
                 </div>
             </div>
 
+            <div class="layui-col-xs12 layui-col-sm12">
+                <label class="layui-form-label">是否激活:</label>
+                <div class="layui-input-block">
+                    <select name="enabled">
+                        <option value="">全部</option>
+                        <option value="1" selected>是</option>
+                        <option value="0">否</option>
+                    </select>
+                </div>
+            </div>
+
           </div>
           <div class="layui-form-item" style="display: none">
                 <button id="query_search" class="layui-btn" lay-submit lay-filter="query-form-element">查询</button>
@@ -82,8 +93,9 @@
         ,{field:'tel', title:'手机号码',width: 130}
         ,{field:'address', title:'家庭住址',minWidth: 200}
         ,{field:'enabled_text', title:'激活', width:90}
-        ,{width:170, align:'left', fixed: 'right', toolbar: '#datagrid-operate-bar'}
+        ,{width:80, align:'left', fixed: 'right', toolbar: '#datagrid-operate-bar'}
       ]]
+      ,where: {'enabled': 1}
       ,page: true
       ,height: 'full-104'
       ,done: function () {
@@ -114,36 +126,6 @@
           },
           content: 'employee_edit.html?id='+data.id
         });
-      } else if(obj.event === 'manage_range'){
-         table.editdata = data;
-         layer.open({
-          type: 2,
-          title: '管理范围',
-          shadeClose: false,
-          area: ['650px', '80%'],
-          btn: ['保存', '取消'],
-          yes: function(index, dom){
-             layui.onSubmitChild = function (data) {
-              layer.close(index);
-              table.reload('datagrid',{});
-            };
-            layui.submitChild();
-          },
-          btn2: function(index, layero){
-            layer.close(index);//关闭当前按钮
-          },
-          content: 'manage_range.html?id='+data.id
-        });
-      }else if(obj.event === 'delete'){
-         layer.confirm('确定要删除吗?', function(index){
-             layer.close(index);
-            layui.admin.req({
-              url: '/account/employee/delete/?id='+data.id
-              ,done: function(res){
-                table.reload('datagrid',{});
-              }
-            });
-         });
       }
     });
 
@@ -172,7 +154,7 @@
         layer.open({
           type: 1,
           shadeClose: true,
-          area: ['500px', '250px'],
+          area: ['500px', '400px'],
           title: '查询',
           btn: ['查询'],
           yes: function(index, dom){

+ 19 - 16
uis/views/account/employee_edit.html

@@ -9,10 +9,6 @@
   <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">
-        #department_selecter dl{max-height: 250px;}
-        #group_selecter dl{max-height: 200px;}
-    </style>
 </head>
 <body>
 
@@ -79,6 +75,13 @@
                   </div>
                 </div>
 
+                <div class="layui-col-lg6">
+                  <label class="layui-form-label">激活:</label>
+                  <div class="layui-input-block">
+                    <input type="checkbox" name="enabled" lay-skin="switch" lay-text="是|否" checked="" value="1">
+                  </div>
+                </div>
+
                 <button class="layui-btn" id="submit_btn" lay-submit lay-filter="component-form-element" style="display: none">保存</button>
 
               </div>
@@ -115,25 +118,25 @@
             branch_node.append("<option value='"+pid+"'>"+value+"</option>");
         }
         form.render();
-        //warehouse_isload = true;
-        //loadData();// 赋值完成后调用传值
+        loadData();// 赋值完成后调用传值
      }
     });
 
     var editdata = null;
-    var department = '';
     var id = layui.view.getParameterByName('id');
+    var loadData = function () {
+        if(id){
+          editdata = JSON.parse(JSON.stringify(parent.layui.table.editdata)); // 框架有Bug所以这么转换
+          editdata.password = '';
+          form.val("component-form-element", {'password':'1111'});
+          if(editdata){
+              form.val("component-form-element", editdata);
+          }
+      }
+    };
+
 
-    if(id){
-      department = parent.layui.table.editdata.department;
-      editdata = JSON.parse(JSON.stringify(parent.layui.table.editdata)); // 框架有Bug所以这么转换
-      editdata.password = '';
-    }
 
-    form.val("component-form-element", {'password':'1111'});
-    if(editdata){
-        form.val("component-form-element", editdata);
-    }
 
 
     form.on('submit(component-form-element)', function(data){

+ 2 - 2
uis/views/account/login.html

@@ -94,8 +94,8 @@
             ,value: res.data.name
           });
           layui.data(setter.tableName, {
-            key: 'permissions'
-            ,value: res.data.permissions
+            key: 'superuser'
+            ,value: res.data.superuser
           });
 
           //登入成功的提示与跳转

+ 7 - 0
uis/views/branch/edit.html

@@ -39,6 +39,13 @@
                                     <input type="text" name="address" autocomplete="off" class="layui-input">
                                 </div>
                             </div>
+
+                            <div class="layui-col-xs12 layui-col-sm6">
+                              <label class="layui-form-label">在用:</label>
+                              <div class="layui-input-block">
+                                <input type="checkbox" name="enabled" lay-skin="switch" lay-text="是|否" checked="" value="1">
+                              </div>
+                            </div>
                             <button id="customer_submit" lay-submit lay-filter="component-form-element"
                                     style="display: none">保存
                             </button>

+ 21 - 4
uis/views/branch/index.html

@@ -40,15 +40,26 @@
         <form class="layui-form" lay-filter="query-form-element">
           <div class="layui-row layui-col-space10 layui-form-item">
               <div class="layui-col-xs12 layui-col-sm12">
-                <label class="layui-form-label">员工姓名:</label>
+                <label class="layui-form-label">名:</label>
                 <div class="layui-input-block">
                     <input type="text" name="name" autocomplete="off" class="layui-input">
                 </div>
             </div>
             <div class="layui-col-xs12 layui-col-sm12">
-                <label class="layui-form-label">员工账号:</label>
+                <label class="layui-form-label">电话:</label>
                 <div class="layui-input-block">
-                    <input type="text" name="username" autocomplete="off" class="layui-input">
+                    <input type="text" name="tel" autocomplete="off" class="layui-input">
+                </div>
+            </div>
+
+            <div class="layui-col-xs12 layui-col-sm12">
+                <label class="layui-form-label">是否在用:</label>
+                <div class="layui-input-block">
+                    <select name="enabled">
+                        <option value="">全部</option>
+                        <option value="1" selected>是</option>
+                        <option value="0">否</option>
+                    </select>
                 </div>
             </div>
 
@@ -72,6 +83,11 @@
     ,form = layui.form;
     var table = layui.table;
 
+    var superuser = layui.data(layui.setter.tableName)['superuser'];
+      if(!superuser){
+          $('#btn_add').remove()
+      }
+
     table.render({
       elem: '#datagrid'
       ,url: '/activity/branch/data/'
@@ -82,6 +98,7 @@
         ,{field:'enabled_text', title:'在用', width:90}
         ,{width:80, align:'left', fixed: 'right', toolbar: '#datagrid-operate-bar'}
       ]]
+      ,where: {'enabled': 1}
       ,page: true
       ,height: 'full-104'
       ,done: function () {
@@ -140,7 +157,7 @@
         layer.open({
           type: 1,
           shadeClose: true,
-          area: ['500px', '250px'],
+          area: ['500px', '400px'],
           title: '查询',
           btn: ['查询'],
           yes: function(index, dom){

+ 149 - 0
uis/views/coupon/edit.html

@@ -0,0 +1,149 @@
+<!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">
+</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">
+                    <form class="layui-form" action="" lay-filter="component-form-element">
+
+                        <div class="layui-row layui-col-space10">
+                            <div class="layui-col-xs12 layui-col-sm6">
+                                <label class="layui-form-label"><font color='red' size="4">*</font>名称:</label>
+                                <div class="layui-input-block">
+                                    <input type="text" name="name" lay-verify="required" autocomplete="off" class="layui-input">
+                                </div>
+                            </div>
+
+                            <div class="layui-col-xs12 layui-col-sm6">
+                                <label class="layui-form-label">有效期类型:</label>
+                                <div class="layui-input-block">
+                                    <select id="off_type" name="off_type" lay-filter="collage" class="layui-select">
+                                        <option value="0">固定日期</option>
+                                        <option value="1">领取计时</option>
+                                    </select>
+                                </div>
+                            </div>
+
+                            <div class="layui-col-xs12 layui-col-sm6">
+                                <label class="layui-form-label">截止日期:</label>
+                                <div class="layui-input-block">
+                                    <input  type="text" class="layui-input" autocomplete="off"   name="end_date" id="id_end_date">
+                                </div>
+                            </div>
+
+                            <div class="layui-col-xs12 layui-col-sm6">
+                                <label class="layui-form-label">截止天数:</label>
+                                <div class="layui-input-block">
+                                    <input id="id_end_days" type="text" name="end_days" autocomplete="off" class="layui-input">
+                                </div>
+                            </div>
+
+
+                            <div class="layui-col-xs12 layui-col-sm6">
+                              <label class="layui-form-label">在用:</label>
+                              <div class="layui-input-block">
+                                <input type="checkbox" name="enabled" lay-skin="switch" lay-text="是|否" checked="" value="1">
+                              </div>
+                            </div>
+                            <button id="customer_submit" lay-submit lay-filter="component-form-element" style="display: none">保存</button>
+
+                        </div>
+                    </form>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+  <script src="../../layuiadmin/layui/layui.js"></script>
+  <script>
+  layui.config({
+    base: '../../../layuiadmin/' //静态资源所在路径
+  }).extend({
+    index: 'lib/index', //主入口模块
+    utils:'utils'
+
+  }).use(['index', 'form', 'utils', 'laydate'], function(){
+        var $ = layui.$
+        ,admin = layui.admin
+        ,form = layui.form
+        ,laydate = layui.laydate
+        ,utils = layui.utils;
+
+        $('#id_end_days').attr('disabled', true);
+        form.on('select(collage)', function (data) {
+            var off_type = $('#off_type').val();
+            if (off_type == '0') {
+                $('#id_end_days').attr('disabled', true);
+                $('#id_end_date').attr('disabled', false);
+                $('#id_end_days').val('');
+            }else {
+                $('#id_end_date').attr('disabled', true);
+                $('#id_end_days').attr('disabled', false);
+                $('#id_end_date').val('');
+            }
+        });
+
+        var editdata = null;
+        var id = layui.view.getParameterByName('id');
+        if(id){
+              editdata = JSON.parse(JSON.stringify(parent.layui.table.editdata)); // 框架有Bug所以这么转换
+              form.val("component-form-element", editdata);
+        }
+
+        form.on('submit(component-form-element)', function(data){
+            var off_type = $('#off_type').val();
+            var end_date = $('#id_end_date').val();
+            var end_days = $('#id_end_days').val();
+
+            if (off_type == '0' && end_date === ''){
+                layer.msg('请填写截止日期');
+                 return false;
+            }
+            if (off_type == '1' && end_days === ''){
+                layer.msg('请填写截止天数');
+                return false;
+            }
+            if (off_type == '0') {
+                delete data.field['end_days'];
+            } else {
+                delete data.field['end_date'];
+            }
+          admin.req({
+            url: '/activity/coupon/save/?id='+id
+            ,data: JSON.stringify(data.field)
+            ,type: 'post'
+            ,done: function (res) {
+                  parent.layui.onSubmitChild(res.data);
+              }
+          });
+
+          return false;
+        });
+
+        parent.layui.submitChild = function () {
+          $("#customer_submit").click();
+        };
+
+        laydate.render({
+            elem: '#id_end_date',
+            trigger: 'click',
+            closeStop: '#id_end_date'
+        });
+
+  });
+  </script>
+</body>
+</html>

+ 175 - 0
uis/views/coupon/index.html

@@ -0,0 +1,175 @@
+<!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">
+</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;">
+              <button class="layui-btn layui-btn-sm"  id="btn_add"><i class="layui-icon layui-icon-add-circle"></i>添加</button>
+              <button class="layui-btn layui-btn-sm" id="btn_query"><i class="layui-icon layui-icon-search"></i>查询</button>
+            </div>
+
+            <table class="layui-hide" id="datagrid" lay-filter="datagrid-operate"></table>
+
+            <script type="text/html" id="datagrid-operate-bar">
+                <div class="layui-btn-group">
+                  <a class="layui-btn layui-btn-xs"  lay-event="edit">修改</a>
+                </div>
+            </script>
+          </div>
+        </div>
+        </div>
+    </div>
+  </div>
+
+  <div id="dlg_query" style="display: none">
+    <div class="layui-card-body" pad15>
+        <form class="layui-form" lay-filter="query-form-element">
+          <div class="layui-row layui-col-space10 layui-form-item">
+              <div class="layui-col-xs12 layui-col-sm12">
+                <label class="layui-form-label">名称:</label>
+                <div class="layui-input-block">
+                    <input type="text" name="name" autocomplete="off" class="layui-input">
+                </div>
+            </div>
+
+            <div class="layui-col-xs12 layui-col-sm12">
+                <label class="layui-form-label">是否在用:</label>
+                <div class="layui-input-block">
+                    <select name="enabled">
+                        <option value="">全部</option>
+                        <option value="1" selected>是</option>
+                        <option value="0">否</option>
+                    </select>
+                </div>
+            </div>
+
+          </div>
+          <div class="layui-form-item" style="display: none">
+                <button id="query_search" class="layui-btn" lay-submit lay-filter="query-form-element">查询</button>
+          </div>
+        </form>
+    </div>
+   </div>
+
+  <script src="../../layuiadmin/layui/layui.js?t=1"></script>
+  <script>
+  var _params = '';
+  layui.config({
+    base: '../../../layuiadmin/' //静态资源所在路径
+  }).extend({
+    index: 'lib/index' //主入口模块
+  }).use(['index', 'table'], function(){
+    var $ = layui.$
+    ,form = layui.form;
+    var table = layui.table;
+
+    table.render({
+      elem: '#datagrid'
+      ,url: '/activity/coupon/data/'
+      ,cols: [[
+        {field:'name', title:'名称', width:200}
+        ,{field:'end_date', title:'截止日期',width: 200}
+        ,{field:'end_days', title:'截止天数',width: 200}
+        ,{field:'create_time', title:'添加时间', width:300}
+        ,{field:'enabled_text', title:'在用', width:90}
+        ,{width:80, align:'left', fixed: 'right', toolbar: '#datagrid-operate-bar'}
+      ]]
+      ,where: {'enabled': 1}
+      ,page: true
+      ,height: 'full-104'
+      ,done: function () {
+        layui.index.removeNoPermButtons();
+      }
+    });
+
+    //监听工具条
+    table.on('tool(datagrid-operate)', function(obj){
+      var data = obj.data;
+        if(obj.event === 'edit'){
+        table.editdata = data;
+        layer.open({
+          type: 2,
+          title: '修改',
+          shadeClose: false,
+          area: ['550px', '85%'],
+          btn: ['保存', '取消'],
+          yes: function(index, dom){
+             layui.onSubmitChild = function (data) {
+              layer.close(index);
+              table.reload('datagrid',{});
+            };
+            layui.submitChild();
+          },
+          btn2: function(index, layero){
+            layer.close(index);//关闭当前按钮
+          },
+          content: 'edit.html?id='+data.id
+        });
+      }
+    });
+
+    $('#btn_add').on('click', function(){
+        layer.open({
+          type: 2,
+          title: '添加',
+          shadeClose: false,
+          area: ['550px', '85%'],
+          btn: ['保存', '取消'],
+          yes: function(index, dom){
+             layui.onSubmitChild = function (data) {
+              layer.close(index);
+              table.reload('datagrid',{});
+            };
+            layui.submitChild();
+          },
+          btn2: function(index, layero){
+            layer.close(index);//关闭当前按钮
+          },
+          content: 'edit.html'
+        });
+    });
+
+    $('#btn_query').on('click', function(){
+        layer.open({
+          type: 1,
+          shadeClose: true,
+          area: ['500px', '400px'],
+          title: '查询',
+          btn: ['查询'],
+          yes: function(index, dom){
+             $('#query_search').click();
+          },
+          content: $('#dlg_query')
+        });
+    });
+
+    form.on('submit(query-form-element)', function(data){
+      //layer.msg(JSON.stringify(data.field));
+      _params = data.field;
+      table.reload('datagrid', {
+          where: data.field,
+          page:{curr:1}
+      });
+      layer.closeAll();
+      return false;
+    });
+
+  });
+  </script>
+</body>
+</html>
+

+ 8 - 5
uis/views/index.html

@@ -68,7 +68,7 @@
               </a>
               <dl class="layui-nav-child">
                 <dd data-name="nav">
-                  <a lay-href="branch/index.html">活动管理</a>
+                  <a lay-href="coupon/index.html">优惠券管理</a>
                 </dd>
               </dl>
             </li>
@@ -82,7 +82,7 @@
                 <dd data-name="nav">
                   <a lay-href="branch/index.html">门店管理</a>
                 </dd>
-                <dd data-name="nav" >
+                <dd data-name="nav" id="manage_employee">
                   <a lay-href="account/employee.html">人员管理</a>
                 </dd>
               </dl>
@@ -138,8 +138,11 @@
       var name = layui.data(layui.setter.tableName)['name'];
       $('#id_username').html(name);
 
-      var permissions = layui.data(layui.setter.tableName)['permissions'];
-      $('#LAY-system-side-muen .layui-nav-child dd').each(function () {
+      var superuser = layui.data(layui.setter.tableName)['superuser'];
+      if(!superuser){
+          $('#manage_employee').remove()
+      }
+      /**$('#LAY-system-side-muen .layui-nav-child dd').each(function () {
           var perm = $(this).data("permission");
           //console.log(perm, permissions.indexOf(perm))
           if(permissions.indexOf(perm) == -1){
@@ -150,7 +153,7 @@
       $('#LAY-system-side-muen .layui-nav-item dl').each(function () {
           if($(this).children('dd').length == 0)
               $(this).parent().remove();
-      });
+      });**/
 
   });
   </script>