lyh преди 3 години
родител
ревизия
2782f56e7c

+ 19 - 0
apps/account/filters.py

@@ -0,0 +1,19 @@
+#coding=utf-8
+import django_filters
+from apps.base import clean_datetime_range
+from .models import *
+
+class EmployeeFilter(django_filters.FilterSet):
+    name = django_filters.CharFilter(name='name',lookup_expr='icontains')
+    username = django_filters.CharFilter(name='username', lookup_expr='icontains')
+    enabled = django_filters.CharFilter(name='product_base__enabled')
+
+    class Meta:
+        model = User
+        fields = (
+            'name', 'username', 'enabled'
+        )
+
+    def __init__(self, data=None, *args, **kwargs):
+        data = clean_datetime_range(data, 'create_time')
+        super(EmployeeFilter, self).__init__(data, *args, **kwargs)

+ 60 - 0
apps/account/serializers.py

@@ -0,0 +1,60 @@
+#coding=utf-8
+
+from rest_framework import serializers
+from apps.exceptions import CustomError
+from django.db.models import Q
+
+from apps.foundation.models import BizLog
+from .models import *
+from apps.serializer_errors import dump_serializer_errors
+from apps.foundation.models import BizLog
+
+class EmployeeSerializer(serializers.ModelSerializer):
+    gender_text = serializers.CharField(source='get_gender_display', read_only=True)
+
+    class Meta:
+        model = User
+        fields = '__all__'
+
+    @staticmethod
+    def factory(user, data, id=None):
+        if id:
+            instance = User.getById(id)
+        else:
+            instance = None
+        serializer = EmployeeSerializer(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 create(self, validated_data):
+        instance = super(EmployeeSerializer, self).create(validated_data)
+        instance.set_password(validated_data['password'])
+        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(EmployeeSerializer, self).update(instance, validated_data)
+        return instance
+
+class EmployeeSafeSerializer(serializers.ModelSerializer):
+    gender_text = serializers.CharField(source='get_gender_display', read_only=True)
+    branch_text = serializers.CharField(source='branch.name', read_only=True)
+    enabled_text = serializers.SerializerMethodField()
+
+    class Meta:
+        model = User
+        exclude = ('password', )
+
+    def get_enabled_text(self, obj):
+        if obj.enabled:
+            return u'是'
+        return u'否'

+ 3 - 0
apps/account/urls.py

@@ -4,5 +4,8 @@ from apps.account.views import *
 
 urlpatterns = (
     url(r'^login/$', login, name='account_login'),
+
+    url(r'^employee/data/$', employee_list),
+    url(r'^employee/save/$', employee_save),
 )
 

+ 36 - 1
apps/account/views.py

@@ -21,7 +21,9 @@ from apps.foundation.models import BizLog
 
 from django.db.models import Q
 from django.conf import settings
-from .models import User
+from .models import *
+from .serializers import *
+from .filters import *
 
 @csrf_exempt
 def login(request):
@@ -45,3 +47,36 @@ def login(request):
                 request.META['REMOTE_ADDR']
             ))
         return JSONError(dump_form_errors(form))
+
+
+@token_required
+def employee_list(request):
+    f = EmployeeFilter(request.GET, queryset=User.objects.filter(branch_id__isnull=False))
+    rows, total = utils.get_page_data(request, f.qs)
+    serializer = EmployeeSafeSerializer(rows, many=True)
+    return DataGridJSONResponse(serializer.data, total)
+
+
+@token_required
+def employee_save(request):
+    id = request.GET.get('id')
+    data = json.loads(request.body)
+
+    try:
+        with transaction.atomic():
+            serializer = EmployeeSerializer.factory(request.user, data, id)
+            if serializer.instance:
+                user = serializer.instance
+                if not data['password']:
+                    data['password'] = user.password
+                else:
+                    user.set_password(data['password'])
+                    data['password'] = user.password
+            serializer.validSave()
+    except CustomError as e:
+        return JSONError(e.get_error_msg())
+    except Exception as e:
+        traceback.print_exc()
+        return JSONError(u'保存失败')
+    return JSONResponse()
+

+ 20 - 0
apps/activity/filters.py

@@ -0,0 +1,20 @@
+#coding=utf-8
+import django_filters
+from apps.base import clean_datetime_range
+from .models import *
+
+
+class BranchFilter(django_filters.FilterSet):
+    name = django_filters.CharFilter(name='name',lookup_expr='icontains')
+    tel = django_filters.CharFilter(name='tel', lookup_expr='icontains')
+    enabled = django_filters.CharFilter(name='product_base__enabled')
+
+    class Meta:
+        model = Branch
+        fields = (
+            'name', 'tel', 'enabled'
+        )
+
+    def __init__(self, data=None, *args, **kwargs):
+        data = clean_datetime_range(data, 'create_time')
+        super(BranchFilter, self).__init__(data, *args, **kwargs)

+ 11 - 0
apps/activity/models.py

@@ -17,6 +17,17 @@ class Branch(models.Model):
     enabled = models.BooleanField(verbose_name=u"在用", default=True)
     create_time = models.DateTimeField(verbose_name=u"添加时间", auto_now_add=True, editable=False)
 
+    @staticmethod
+    def getById(id):
+        try:
+            id = int(id)
+        except:
+            raise CustomError(u'无效的门店')
+        instance = Branch.objects.filter(pk=id).first()
+        if not instance:
+            raise CustomError(u'未找到相应的门店')
+        return instance
+
     class Meta:
         db_table = "branch"
         ordering = ['-id']

+ 50 - 0
apps/activity/serializers.py

@@ -0,0 +1,50 @@
+#coding=utf-8
+
+from rest_framework import serializers
+from apps.exceptions import CustomError
+from django.db.models import Q
+
+from apps.foundation.models import BizLog
+from .models import *
+from apps.serializer_errors import dump_serializer_errors
+from apps.foundation.models import BizLog
+
+class BranchSerializer(serializers.ModelSerializer):
+    enabled_text = serializers.SerializerMethodField()
+
+    class Meta:
+        model = Branch
+        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 = Branch.getById(id)
+        else:
+            instance = None
+        serializer = BranchSerializer(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 create(self, validated_data):
+        instance = super(BranchSerializer, 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(BranchSerializer, self).update(instance, validated_data)
+        return instance

+ 9 - 0
apps/activity/urls.py

@@ -0,0 +1,9 @@
+from django.conf.urls import url
+
+from .views import *
+
+urlpatterns = (
+    url(r'^branch/data/$', branch_list),
+    url(r'^branch/save/$', branch_save),
+)
+

+ 44 - 0
apps/activity/views.py

@@ -0,0 +1,44 @@
+#coding=utf-8
+
+import traceback
+import json
+
+from django.utils import timezone
+from libs import utils
+from libs.http import JSONError, JSONResponse,DataGridJSONResponse
+from apps.account.decorators import token_required
+from django.db import transaction, IntegrityError
+from apps.exceptions import CustomError
+
+from apps.foundation.models import BizLog
+
+from django.db.models import Q
+from django.conf import settings
+from .models import *
+from .serializers import *
+from .filters import *
+
+
+@token_required
+def branch_list(request):
+    f = BranchFilter(request.GET, queryset=Branch.objects.filter())
+    rows, total = utils.get_page_data(request, f.qs)
+    serializer = BranchSerializer(rows, many=True)
+    return DataGridJSONResponse(serializer.data, total)
+
+
+@token_required
+def branch_save(request):
+    id = request.GET.get('id')
+    data = json.loads(request.body)
+
+    try:
+        with transaction.atomic():
+            serializer = BranchSerializer.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 - 75
apps/base.py

@@ -60,80 +60,6 @@ class Formater():
                 res = value
         return res
 
-    @staticmethod
-    def formatCount(value):
-        return long(round(float(value or 0) * 100,0))
-
-    @staticmethod
-    def formatPrice(value):
-        return long(round(float(value or 0) * 100,0))
-
-    @staticmethod
-    def formatCountShow(value):
-        return '%.2f' % round(float(value or 0)/100.0,2)
-
-    @staticmethod
-    def formatPriceShow(value):
-        return '%.2f' % round(float(value or 0)/100.0,2)
-
-    @staticmethod
-    def formatEmptyPriceShow(value):
-        if value == None or value == '':
-            return ''
-        return '%.2f' % round(float(value or 0) / 100.0, 2)
-
-    @staticmethod
-    def formatAmount(value):
-        return long(round(float(value or 0) * 10000,0))
-
-    @staticmethod
-    def formatAmountShow(value):
-        return '%.4f' % round(float(value or 0) / 10000.0 + 0.0000001, 2)
-
-    @staticmethod
-    def formatAmountShowWithTwoDecimalPlaces(value):
-        return '%.2f' % round(float(value or 0) / 10000.0 + 0.0000001, 2)
-
-    @staticmethod
-    def formatEmptyAmountShow(value):
-        if value == None or value == '':
-            return ''
-        return '%.4f' % round(float(value or 0) / 10000.0 + 0.0000001, 2)
-
-    @staticmethod
-    def formatAmountCNY(value):
-        return utils.number2CNY(Formater.formatAmountShow(value))
-
-class CustomFormaterByUser():
-    @staticmethod
-    def formatEmptyStr(value,user):
-        return Formater.formatEmptyStr(value)
-
-    @staticmethod
-    def formatEmptyFloat(value, user):
-        #return round(value or 0, 2)
-        return Formater.formatEmptyFloat(value)
-
-    @staticmethod
-    def formatTime(value,user):
-        return Formater.formatTime(value)
-
-    @staticmethod
-    def formatDate(value, user):
-        return Formater.formatDate(value)
-
-    @staticmethod
-    def formatCountShow(value,user):
-        return Formater.formatCountShow(value)
-    @staticmethod
-    def formatPartAmountShow(value, user):
-        #from apps.foundation.models import Config
-        #num = Config.objects.get_proprty(user.company.id, Config.KEY_PART_ENTRY_PRICE_ROUND)
-        #if not num:
-        #    num = 4
-        #return round(float(value or 0) / 1000000, int(num))
-        return Formater.formatAmountShow(value)
-
 class ExcelImporter():
     def getExcelData(self,file):
         if not file:
@@ -163,7 +89,7 @@ class ExcelImporter():
             if format_proc and value != None:
                 try:
                     value = format_proc(value)
-                except CustomError,e:
+                except CustomError as e:
                     raise CustomError(u'%s:错误的值[%s]' % (k,e.get_error_msg()))
 
             data[k] = value

+ 1 - 0
carwin_activity/urls.py

@@ -23,6 +23,7 @@ from apps.dashboard.views import index
 urlpatterns = [
     url(r'^$', index),
     url(r'^account/', include('apps.account.urls')),
+    url(r'^activity/', include('apps.activity.urls')),
 ]
 
 urlpatterns += static(settings.TMP_URL, document_root=settings.TMP_ROOT)

+ 3 - 9
uis/views/account/employee.html

@@ -18,7 +18,7 @@
           <div class="layui-col-md12">
 
             <div class="LAY-btns" style="margin-bottom: 10px;">
-              <button class="layui-btn layui-btn-sm" data-permission="account.add_user" id="btn_add"><i class="layui-icon layui-icon-add-circle"></i>添加</button>
+              <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>
 
@@ -26,9 +26,7 @@
 
             <script type="text/html" id="datagrid-operate-bar">
                 <div class="layui-btn-group">
-                  <a class="layui-btn layui-btn-xs" data-permission="account.add_user" lay-event="edit">修改</a>
-                  <a class="layui-btn layui-btn-danger layui-btn-xs" data-permission="account.delete_user" lay-event="delete">删除</a>
-                  <a class="layui-btn layui-btn-xs layui-btn-warm" data-permission="account.add_user" lay-event="manage_range">管理范围</a>
+                  <a class="layui-btn layui-btn-xs"  lay-event="edit">修改</a>
                 </div>
             </script>
           </div>
@@ -80,14 +78,10 @@
       ,cols: [[
         {field:'name', title:'姓名', width:100}
         ,{field:'username', title:'登录账号',width: 100}
-        ,{field:'groups', title:'权限组', width:200}
         ,{field:'gender_text', title:'性别', width:80}
         ,{field:'tel', title:'手机号码',width: 130}
-        ,{field:'department_text', title:'所属部门', width:150}
-        ,{field:'ID_card', title:'身份证号码',width: 180}
         ,{field:'address', title:'家庭住址',minWidth: 200}
-        ,{field:'status_text', title:'是否在职', width:90}
-        ,{field:'title', title:'工作岗位', width:100}
+        ,{field:'enabled_text', title:'激活', width:90}
         ,{width:170, align:'left', fixed: 'right', toolbar: '#datagrid-operate-bar'}
       ]]
       ,page: true

+ 26 - 78
uis/views/account/employee_edit.html

@@ -24,6 +24,15 @@
             <form class="layui-form" action="" lay-filter="component-form-element">
               <div class="layui-row layui-col-space10 layui-form-item">
 
+                <div class="layui-col-lg6">
+                  <label class="layui-form-label"><font color='red' size="4">*</font>门店:</label>
+                  <div class="layui-input-block">
+                    <select id="id_branch" name="branch" lay-verify="required">
+                        <option value=""></option>
+                    </select>
+                  </div>
+                </div>
+
                 <div class="layui-col-lg6">
                   <label class="layui-form-label"><font color='red' size="4">*</font>姓名:</label>
                   <div class="layui-input-block">
@@ -63,28 +72,6 @@
                   </div>
                 </div>
 
-                <div class="layui-col-lg6">
-                    <label class="layui-form-label"><font color='red' size="4">*</font>所属部门:</label>
-                    <div class="layui-input-block" id="department_selecter">
-                      <select name="department" xm-select="selectDepartment" xm-select-radio lay-verify="required">
-                      </select>
-                    </div>
-                  </div>
-
-                <div class="layui-col-lg6">
-                  <label class="layui-form-label">权限组:</label>
-                  <div class="layui-input-block" id="group_selecter">
-                    <select name="groups" xm-select="selectGroup"></select>
-                  </div>
-                </div>
-
-                <div class="layui-col-lg6">
-                  <label class="layui-form-label">身份证号:</label>
-                  <div class="layui-input-block">
-                    <input type="text" name="ID_card" placeholder="" autocomplete="off" class="layui-input">
-                  </div>
-                </div>
-
                 <div class="layui-col-lg6">
                   <label class="layui-form-label">家庭住址:</label>
                   <div class="layui-input-block">
@@ -92,20 +79,6 @@
                   </div>
                 </div>
 
-                <div class="layui-col-lg6">
-                  <label class="layui-form-label">工作岗位:</label>
-                  <div class="layui-input-block">
-                    <input type="text" name="title" placeholder="" autocomplete="off" class="layui-input">
-                  </div>
-                </div>
-
-                <div class="layui-col-lg6">
-                  <label class="layui-form-label">是否在职:</label>
-                  <div class="layui-input-block">
-                    <input type="checkbox" name="status" 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>
@@ -129,8 +102,23 @@
     ,admin = layui.admin
     ,element = layui.element
     ,form = layui.form
-    ,formSelects = layui.formSelects
-    ,dep_formSelects = layui.formSelects;
+    ,formSelects = layui.formSelects;
+
+    admin.req({
+      url: '/activity/branch/data/',
+      done: function(res){
+        var data = res.data;
+        var branch_node = $('#id_branch');
+        for (var i in data) {
+            var pid = data[i].id;
+            var value = data[i].name;
+            branch_node.append("<option value='"+pid+"'>"+value+"</option>");
+        }
+        form.render();
+        //warehouse_isload = true;
+        //loadData();// 赋值完成后调用传值
+     }
+    });
 
     var editdata = null;
     var department = '';
@@ -140,11 +128,6 @@
       department = parent.layui.table.editdata.department;
       editdata = JSON.parse(JSON.stringify(parent.layui.table.editdata)); // 框架有Bug所以这么转换
       editdata.password = '';
-      if (editdata.status == 1) {
-        editdata.status = true;
-      } else {
-        editdata.status = false;
-      }
     }
 
     form.val("component-form-element", {'password':'1111'});
@@ -152,44 +135,9 @@
         form.val("component-form-element", editdata);
     }
 
-    dep_formSelects.value('selectDepartment', []);
-    admin.req({
-        url: '/account/department/tree/'
-        ,done: function(res){
-            dep_formSelects.data('selectDepartment', 'local', {
-            arr: res.data,
-            tree: {
-                //在点击节点的时候, 如果没有子级数据, 会触发此事件
-                nextClick: function(id, item, callback){
-                    return false;
-                    },
-                }
-            });
-            dep_formSelects.value('selectDepartment', [department]);
-        }
-    });
-
-    formSelects.config('selectGroup', {
-      beforeSuccess:function(eid, url, searchVal, result){
-          if(id){
-              var groupIds = parent.layui.table.editdata.group_ids;
-              for(var n in result.data){
-                  var item = result.data[n];
-                  if(groupIds.indexOf(parseInt(item.value)) > -1)
-                      item.selected = 'selected';
-              }
-          }
-
-          return result;
-      }
-    });
-    formSelects.data('selectGroup', 'server', {
-        url: '/account/group/combobox/data/'
-    });
 
     form.on('submit(component-form-element)', function(data){
       var submitData = data.field;
-      submitData.groups = formSelects.value('selectGroup', 'val');
       admin.req({
         url: '/account/employee/save/?id='+id
         ,data: JSON.stringify(submitData)

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

@@ -0,0 +1,94 @@
+<!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"><font color='red' size="4">*</font>电话:</label>
+                                <div class="layui-input-block">
+                                    <input type="text" name="tel" lay-verify="required|tel" 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="text" name="address" autocomplete="off" class="layui-input">
+                                </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'], function(){
+    var $ = layui.$
+    ,admin = layui.admin
+    ,form = layui.form
+        ,utils = layui.utils;
+      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){
+      admin.req({
+        url: '/activity/branch/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();
+    };
+
+  });
+  </script>
+</body>
+</html>

+ 168 - 0
uis/views/branch/index.html

@@ -0,0 +1,168 @@
+<!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">
+                    <input type="text" name="username" autocomplete="off" class="layui-input">
+                </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/branch/data/'
+      ,cols: [[
+        {field:'name', title:'名称', width:200}
+        ,{field:'tel', title:'电话',width: 200}
+        ,{field:'address', title:'地址', width:300}
+        ,{field:'enabled_text', title:'在用', width:90}
+        ,{width:80, align:'left', fixed: 'right', toolbar: '#datagrid-operate-bar'}
+      ]]
+      ,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', '250px'],
+          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>
+

+ 16 - 41
uis/views/index.html

@@ -61,55 +61,30 @@
           </div>
 
           <ul class="layui-nav layui-nav-tree" lay-shrink="all" id="LAY-system-side-muen" lay-filter="layadmin-system-side-menu">
-
             <li data-name="set" class="layui-nav-item">
-              <a href="javascript:;" lay-tips="基础数据" lay-direction="2">
+              <a href="javascript:;" lay-tips="活动管理" lay-direction="2">
                 <i class="layui-icon layui-icon-set"></i>
-                <cite>基础数据</cite>
+                <cite>活动管理</cite>
               </a>
               <dl class="layui-nav-child">
-                <dd data-name="nav" data-permission="material.view_material">
-                  <a lay-href="material/material.html">原料产品管理</a>
-                </dd>
-                <dd data-name="nav" data-permission="material.view_consumable">
-                  <a lay-href="material/consumable.html">耗材产品管理</a>
-                </dd>
-                <dd data-name="nav" data-permission="goods.view_goods">
-                  <a lay-href="goods/goods.html">成品产品管理</a>
-                </dd>
-                <dd data-name="nav" data-permission="warehouse.view_material_warehouse">
-                  <a lay-href="warehouse/material_warehouse.html">原料仓别管理</a>
-                </dd>
-                <dd data-name="nav" data-permission="warehouse.view_consumable_warehouse">
-                  <a lay-href="warehouse/consumable_warehouse.html">耗材仓别管理</a>
-                </dd>
-                <dd data-name="nav" data-permission="warehouse.view_goods_warehouse">
-                  <a lay-href="warehouse/goods_warehouse.html">成品仓别管理</a>
-                </dd>
-                <dd data-name="nav" data-permission="account.view_department">
-                  <a lay-href="account/department.html">组织结构管理</a>
-                </dd>
-                <dd data-name="nav" data-permission="foundation.view_option">
-                  <a lay-href="foundation/option.html">自定义项管理</a>
-                </dd>
-                  <dd data-name="nav" data-permission="finance.view_finance_category">
-                  <a lay-href="finance/index.html">收支类别设置</a>
-                </dd>
-                <dd data-name="nav" data-permission="supplier.view_supplier">
-                  <a lay-href="supplier/supplier.html">供应商管理</a>
+                <dd data-name="nav">
+                  <a lay-href="branch/index.html">活动管理</a>
                 </dd>
-                <dd data-name="nav" data-permission="customer.view_customer">
-                  <a lay-href="customer/customer.html">客户管理</a>
+              </dl>
+            </li>
+
+            <li data-name="set" class="layui-nav-item">
+              <a href="javascript:;" lay-tips="基础设置" lay-direction="2">
+                <i class="layui-icon layui-icon-set"></i>
+                <cite>基础设置</cite>
+              </a>
+              <dl class="layui-nav-child">
+                <dd data-name="nav">
+                  <a lay-href="branch/index.html">门店管理</a>
                 </dd>
-                <dd data-name="nav" data-permission="account.view_user">
+                <dd data-name="nav" >
                   <a lay-href="account/employee.html">人员管理</a>
                 </dd>
-                <dd data-name="nav" data-permission="foundation.view_group">
-                  <a lay-href="account/group.html">权限管理</a>
-                </dd>
-                <dd data-name="nav" data-permission="config.edit_config">
-                  <a lay-href="config/index.html">基础设置</a>
-                </dd>
               </dl>
             </li>
           </ul>