Przeglądaj źródła

人员 、门店、权限

wushaodong 4 lat temu
rodzic
commit
1c8d730a05

+ 1 - 1
apps/account/models.py

@@ -137,7 +137,7 @@ class ManageStoreUser(models.Model):
 
     class Meta:
         db_table = "auth_user_manage_store"
-        verbose_name = u"用户管理范围"
+        verbose_name = u"权限管理" #用户管理范围
         default_permissions = ()
         permissions = [
             ('manager_permissions', u'管理'),

+ 6 - 4
apps/account/serializers.py

@@ -91,12 +91,14 @@ class EmployeeSerializer(serializers.ModelSerializer):
 
     def update(self, instance, validated_data):
         instance.groups.clear()
-        validated_data['password'] = instance.password
+        password = instance.password
         validated_data['is_superuser'] = instance.is_superuser
         instance = super(EmployeeSerializer, self).update(instance, validated_data)
-        if 'password' in validated_data:
-            instance.set_password(validated_data['password'])
-            instance.save()
+        if not 'password' in validated_data or not validated_data['password']:
+            instance.password = password
+        else:
+           instance.set_password(validated_data['password'])
+        instance.save()
 
         groups = self.context['request'].data.get('groups', None)
         if groups:

+ 5 - 6
apps/account/views.py

@@ -1,5 +1,6 @@
 #coding=utf-8
 import traceback
+import json
 from django.db.models import Q
 from rest_framework.decorators import action
 from django.db import transaction
@@ -84,14 +85,12 @@ class EmployeeViewSet(CustomModelViewSet):
 
     @action(methods=['post'], detail=True)
     def branch(self, request, pk):
-        data = request.POST.get('managers')
+        data = json.loads(request.POST.get('sotres'))
         try:
             with transaction.atomic():
                 ManageStoreUser.objects.filter(manage_user_id=pk).delete()
-                rows = data.split(',')
-                for row in rows:
-                    branch = row.split('_')[1]
-                    ManageStoreUser.objects.create(store_id=branch,manage_user_id=pk)
+                for row in data:
+                    ManageStoreUser.objects.create(store_id=row, manage_user_id=pk)
             return response_ok()
         except Exception as e:
             traceback.print_exc()
@@ -194,7 +193,7 @@ class StoreTreeView(APIView):
             }
             stores = Store.objects.filter(agent_id=agent['id'], enable=True).values('id','name')
             for store in stores:
-                manage_store = ManageStoreUser.objects.filter(manage_user_id=id, store=store).first()
+                manage_store = ManageStoreUser.objects.filter(manage_user_id=id, store_id=store['id']).first()
                 checked = True and manage_store or False
                 store_item = {
                     'title': store['name'],

+ 6 - 7
apps/agent/models.py

@@ -1,11 +1,7 @@
 # coding=utf-8
-import os
 
-from PIL import Image
 from django.conf import settings
 from django.db import models
-from utils.file_operation import UploadFile, DeleteFile
-from django.utils import timezone
 
 class Agent(models.Model):
     name = models.CharField(verbose_name=u'名称', max_length=50)
@@ -15,6 +11,7 @@ class Agent(models.Model):
     create_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u'添加人',related_name='agent_create_user',
                                     editable=False,on_delete=models.PROTECT)
     create_time = models.DateTimeField(verbose_name=u'添加时间', auto_now_add=True, editable=False)
+    notes = models.CharField(verbose_name=u'备注', max_length=200, null=True)
 
     class Meta:
         db_table = 'agent'
@@ -31,14 +28,16 @@ class Store(models.Model):
 
     name = models.CharField(verbose_name=u'名称', max_length=50)
     address = models.CharField(verbose_name=u'地址', max_length=200)
-    create_user = models.ForeignKey(settings.AUTH_USER_MODEL,related_name='store_create_user', verbose_name=u'添加人', on_delete=models.PROTECT)
+    create_user = models.ForeignKey(settings.AUTH_USER_MODEL,related_name='store_create_user',
+                                    editable=False, verbose_name=u'添加人', on_delete=models.PROTECT)
     create_time = models.DateTimeField(verbose_name=u'添加时间', auto_now_add=True, editable=False)
     status = models.PositiveSmallIntegerField(choices=settings.CHECK_STATE_CHOICES, verbose_name=u"状态", default=settings.DEFAULT)
     enable = models.BooleanField(verbose_name=u"是否在用", default=True)
     end_date = models.DateField(verbose_name=u'到期日期', null=True)
     notes = models.CharField(verbose_name=u'备注', max_length=200, null=True)
-    agent = models.ForeignKey(Agent, verbose_name=u'代理商', on_delete=models.PROTECT)
-    check_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u'审核人',related_name='store_check_user', on_delete=models.PROTECT)
+    agent = models.ForeignKey(Agent, verbose_name=u'代理商', on_delete=models.PROTECT, editable=False)
+    check_user = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=u'审核人',related_name='store_check_user',
+                                   editable=False, on_delete=models.PROTECT)
     check_time = models.DateTimeField(verbose_name=u'审核时间', editable=False, null=True)
 
     class Meta:

+ 10 - 2
apps/agent/serializers.py

@@ -1,11 +1,11 @@
 # coding=utf-8
-
+import datetime
 from rest_framework import serializers
 from django.conf import settings
 from apps.agent.models import Agent,Store
 
 class AgentSerializer(serializers.ModelSerializer):
-    create_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M', read_only=True)
+    create_user_text = serializers.CharField(source='create_user.name', read_only=True)
 
     class Meta:
         model = Agent
@@ -28,7 +28,15 @@ class StoreComboboxSerializer(serializers.ModelSerializer):
         fields = ('id', 'name',)
 
 class StoreSerializer(serializers.ModelSerializer):
+    create_user_text = serializers.CharField(source='create_user.name', read_only=True)
 
     class Meta:
         model = Store
         fields = '__all__'
+
+    def create(self, validated_data):
+        validated_data['create_user'] = self.context['request'].user
+        validated_data['agent'] = self.context['request'].user.agent
+        validated_data['end_date'] = (datetime.datetime.now() + datetime.timedelta(days=365)).strftime('%Y-%m-%d')
+        instance = super(StoreSerializer, self).create(validated_data)
+        return instance

+ 1 - 1
apps/agent/views.py

@@ -62,7 +62,7 @@ class AgentDictView(APIView):
         for row in rows:
             store = Store.objects.filter(agent=row, enable=True, end_date__gte=timezone.now().date())
             store_serializer = StoreComboboxSerializer(store, many=True).data
-            stores.append(store_serializer)
+            stores.extend(store_serializer)
         return response_ok({
             'agents': agents,
             'stores': stores,

+ 11 - 4
uis/views/agent/edit.html

@@ -33,14 +33,14 @@
                         <div>
                             <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" placeholder="请输入名"
+                                <input type="text" name="name" lay-verify="required" placeholder="请输入名"
                                        autocomplete="off" class="layui-input">
                             </div>
                         </div>
                         <div>
-                            <label class="layui-form-label"><font color='red' size="4">*</font>电话:</label>
+                            <label class="layui-form-label"><font color='red' size="4">*</font>联系电话:</label>
                             <div class="layui-input-block">
-                                <input type="text" name="tel" class="layui-input" placeholder="请输入电话"
+                                <input type="text" name="tel" class="layui-input" placeholder="请输入联系电话"
                                        autocomplete="off" lay-verify="required"/>
                             </div>
                         </div>
@@ -58,6 +58,13 @@
                                        autocomplete="off" class="layui-input" lay-verify="required">
                             </div>
                         </div>
+                        <div>
+                            <label class="layui-form-label">备注:</label>
+                            <div class="layui-input-block">
+                                <input type="text" name="notes" placeholder="请输入备注"
+                                       autocomplete="off" class="layui-input">
+                            </div>
+                        </div>
 
                         <button id="id_save" class="layui-btn" lay-submit lay-filter="component-form-element"
                                 style="display: none">保存
@@ -92,7 +99,7 @@
         form.on('submit(component-form-element)', function (data) {
             if (id) {
                 var url = '/agent/agent/' + id + '/';
-                var type = 'post';
+                var type = 'put';
             } else {
                 url = '/agent/agent/';
                 type = 'post'

+ 4 - 52
uis/views/agent/index.html

@@ -61,18 +61,6 @@
                             <button class="layui-btn" id="customer_add"><i
                                     class="layui-icon layui-icon-add-circle"></i>添加
                             </button>
-                            <button class="layui-nav">
-                                <div class="layui-nav-item">
-                                    <a href="javascript:;" style="color:#fff;">导入</a>
-                                    <dl class="layui-nav-child"> <!-- 二级菜单 -->
-                                        <dd><a href="#" id="btn_import">执行导入</a></dd>
-                                        <dd><a href="#" id="btn_download">下载模板</a></dd>
-                                    </dl>
-                                </div>
-                            </button>
-                            <button class="layui-btn" id="btn_export"><i
-                                    class="layui-icon layui-icon-download-circle"></i>导出
-                            </button>
                         </div>
                         <form class="layui-form" lay-filter="query-form-element1">
                             <div class="seach_items">
@@ -122,53 +110,17 @@
             , url: '/agent/agent/'
             , cols: [[
                 {field: 'name', title: '名称', width: 150}
-                , {field: 'tel', title: '电话', width: 150}
+                , {field: 'tel', title: '联系电话', width: 150}
                 , {field: 'area', title: '区域', width: 200}
                 , {field: 'address', title: '地址', width: 200}
-                , {field: 'create_user', title: '添加人', width: 100}
-                , {field: 'create_time', title: '添加时间', width: 150}
+                , {field: 'create_user_text', title: '添加人', width: 100}
+                , {field: 'create_time', title: '添加时间', width: 180}
+                , {field: 'notes', title: '备注', width: 200}
                 , {width: 150, align: 'center', fixed: 'right', toolbar: '#customer-operate-bar'}
             ]]
             , page: true
             , height: 'full-108'
         });
-        $('#btn_download').on('click', function () {
-            layui.view.download("/static/xls/设备信息导入模板.xlsx");
-        });
-        // 导出数据
-        $('#btn_export').on('click', function () {
-            $.get({
-                url: '',
-                dataType: 'json',
-                data: _params,
-                success: function (res) {
-                    if (res.code === 1) {
-                        layer.msg(res.msg);
-                        return;
-                    }
-                    table.exportFile('datagrid', res.data, )
-                }
-            })
-        });
-        upload.render({
-            elem: '#btn_import'
-            , url: '/tenant/customer/import/'
-            , accept: 'file'
-            , acceptMime: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
-            , exts: 'xlsx'
-            , field: 'excel_file'
-            , done: function (res) {
-                if (res.code == 0) {
-                    table.reload('customer_datagrid', {});
-                } else {
-                    layer.msg(res.msg);
-                }
-            }
-            , error: function () {
-                layer.msg('导入失败');
-            }
-        });
-
 
         //监听工具条
         table.on('tool(customer-operate)', function (obj) {

+ 29 - 1
uis/views/employee/edit.html

@@ -72,12 +72,23 @@
                                 <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_agents" name="agent" lay-verify="required" lay-search="">
+                                        <select id="id_agents" name="agent" lay-verify="required"
+                                                lay-filter="onAgentChange">
                                             <option value="">选择代理商</option>
                                         </select>
                                     </div>
                                 </div>
                             </div>
+                            <div class="layui-col-lg6">
+                                <div class="layui-col-lg6">
+                                    <label class="layui-form-label">门店:</label>
+                                    <div class="layui-input-block">
+                                        <select id="id_stores" name="store" lay-search="">
+                                            <option value="">选择门店</option>
+                                        </select>
+                                    </div>
+                                </div>
+                            </div>
 
                             <div class="layui-col-lg6">
                                 <label class="layui-form-label">是否在用:</label>
@@ -132,13 +143,16 @@
                 form.val("component-form-element", {
                     'password': ''
                 });
+                onAgentChange(editdata.agent)
             }
         }
         form.render(null, 'component-form-element');
+        var stores= []
         admin.req({
             url: '/agent/dict/',
             done: function (res) {
                 var agents = res.data.agents;
+                stores = res.data.stores;
                 var agents_node = $('#id_agents');
                 for (var i in agents) {
                     var pid = agents[i].id;
@@ -149,6 +163,20 @@
                 loadData();
             }
         });
+        form.on('select(onAgentChange)', function (data) {
+            onAgentChange(data.value)
+        });
+        var onAgentChange = function (value) {
+            var store_node = $('#id_stores');
+                for (var i in stores) {
+                    var pid = stores[i].id;
+                    var stores_value = stores[i].name;
+                    if(pid == value) {
+                        store_node.append("<option value='" + pid + "'>" + stores_value + "</option>");
+                    }
+                }
+                form.render();
+        }
         formSelects.config('selectGroup', {
             beforeSuccess: function (eid, url, searchVal, result) {
                 if (id) {

+ 12 - 2
uis/views/employee/manage_range.html

@@ -49,7 +49,6 @@
         admin.req({
             url: '/account/store/tree/?id=' + id
             , done: function (res) {
-                var _nodes = res.data.branchs;
                 tree.render({
                     elem: '#id_store'
                     , data: res.data
@@ -59,9 +58,20 @@
         });
 
         form.on('submit(component-form-element)', function (data) {
+            var sotres = []
+            for (var key in data.field) {
+
+                if (key.indexOf('store') > -1) {
+                    sotres.push(data.field[key])
+                }
+            }
+            if (sotres.length === 0) {
+                layer.msg('请选择门店');
+                return false;
+            }
             admin.req({
                 url: '/account/employee/' + id + '/branch/'
-                , data: data.field
+                , data: {sotres:JSON.stringify(sotres)}
                 , type: 'post'
                 , done: function (res) {
                     parent.layer.closeAll('iframe');

+ 5 - 10
uis/views/index.html

@@ -71,18 +71,15 @@
                             <dd data-name="nav" data-permission="account.browse_user">
                                 <a lay-href="employee/index.html">人员管理</a>
                             </dd>
-                        </dl>
-                        <dl class="layui-nav-child">
                             <dd data-name="nav" data-permission="account.manager_permissions">
                                 <a lay-href="permissions/index.html">权限管理</a>
                             </dd>
-                        </dl>
-                        <dl class="layui-nav-child">
-                            <dd data-name="nav" data-permission="option.browse_option">
+                            <dd data-name="nav" data-permission="agent.view_agent">
                                 <a lay-href="agent/index.html">代理商</a>
                             </dd>
-                        </dl>
-                        <dl class="layui-nav-child">
+                            <dd data-name="nav" data-permission="agent.view_store">
+                                <a lay-href="store/index.html">门店管理</a>
+                            </dd>
                             <dd data-name="nav" data-permission="option.browse_option">
                                 <a lay-href="option/index.html">自定义项</a>
                             </dd>
@@ -153,16 +150,14 @@
       var permissions = layui.data(layui.setter.tableName)['permissions'];
       $('#LAY-system-side-muen .layui-nav-child dd').each(function () {
           var perm = $(this).data("permission");
-          //console.log(perm, permissions.indexOf(perm))
           var is_has = judgePermissions(permissions, perm);
           if (!is_has) {
               $(this).remove();
           }
-          //console.log();
       });
 
       $('#LAY-system-side-muen .layui-nav-item dl').each(function () {
-          if($(this).children('dd').length == 0)
+          if($(this).children('dd').length === 0)
               $(this).parent().remove();
       });
 

+ 3 - 3
uis/views/permissions/edit.html

@@ -23,7 +23,7 @@
                 <div class="layui-col-md12">
                   <label class="layui-form-label"><font color='red' size="4">*</font>名称:</label>
                   <div class="layui-input-block">
-                    <input type="text" name="display_name" lay-verify="required" placeholder="请输入权限组名称" autocomplete="off" class="layui-input">
+                    <input type="text" name="name" lay-verify="required" placeholder="请输入权限组名称" autocomplete="off" class="layui-input">
                   </div>
                 </div>
                   <div class="layui-col-md12">
@@ -116,13 +116,13 @@
     form.on('submit(component-form-element)', function(data){
 
       //layer.msg(JSON.stringify(data.field));
-        var submitData = {display_name:data.field.display_name};
+        var submitData = {name:data.field.name};
         var permissions = [];
         $("input:checkbox[name='permission']:checked").each(function() {
           permissions.push(parseInt($(this).val()));
           submitData.permissions = JSON.stringify(permissions)
         });
-        submitData.name = submitData.display_name;
+        submitData.name = submitData.name;
         if (id){
             var url =  '/account/permission/' + id + '/';
             var type = 'put';

+ 2 - 2
uis/views/permissions/index.html

@@ -25,10 +25,10 @@
 
             <script type="text/html" id="datagrid-operate-bar">
               <div class="layui-btn-group">
-              <a class="layui-btn layui-btn-xs" lay-event="edit" data-permission="account.add_group">修改</a>
+              <a class="layui-btn layui-btn-xs" lay-event="edit" >修改</a>
               </div>
               <div class="layui-btn-group">
-              <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del" data-permission="account.delete_group">删除</a>
+              <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
               </div>
             </script>
           </div>

+ 119 - 0
uis/views/store/edit.html

@@ -0,0 +1,119 @@
+<!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">
+    <style>
+        .input {
+            border-radius: 2px;
+            height: 38px;
+            border-width: 1px;
+            border-color: lightgray;
+            border-style: solid;
+            background-color: white;
+            padding-left: 3px;
+        }
+    </style>
+</head>
+<body>
+
+<div class="layui-fluid">
+    <div class="layui-row layui-col-space15">
+        <div class="layui-card">
+
+            <div class="layui-card-body" pad15>
+                <form class="layui-form" action="" lay-filter="component-form-element">
+                    <div class="layui-row layui-col-space10 layui-form-item">
+                        <div>
+                            <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" placeholder="请输入名称"
+                                       autocomplete="off" class="layui-input">
+                            </div>
+                        </div>
+
+                        <div>
+                            <label class="layui-form-label"><font color='red' size="4">*</font>地址:</label>
+                            <div class="layui-input-block">
+                                <input type="text" name="address" placeholder="请输入地址"
+                                       autocomplete="off" class="layui-input" lay-verify="required">
+                            </div>
+                        </div>
+                        <div >
+                            <label class="layui-form-label">是否在用:</label>
+                            <div class="layui-input-block">
+                                <input type="checkbox" name="enable" lay-skin="switch" lay-text="是|否" checked=""
+                                       value="1">
+                            </div>
+                        </div>
+                        <div>
+                            <label class="layui-form-label">备注:</label>
+                            <div class="layui-input-block">
+                                <input type="text" name="notes" placeholder="请输入备注"
+                                       autocomplete="off" class="layui-input">
+                            </div>
+                        </div>
+
+                        <button id="id_save" class="layui-btn" lay-submit lay-filter="component-form-element"
+                                style="display: none">保存
+                        </button>
+                    </div>
+                </form>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="../../layuiadmin/layui/layui.js"></script>
+<script>
+    layui.link('../../../layuiadmin/style/autocomplete.css');
+    layui.config({
+        base: '../../../layuiadmin/' //静态资源所在路径
+        , autocomplete: 'autocomplete'
+    }).extend({
+        index: 'lib/index',
+    }).use(['index', 'form', 'autocomplete'], function () {
+        var $ = layui.$
+            , admin = layui.admin
+            , form = layui.form
+        var id = layui.view.getParameterByName('id');
+
+        if (id) {
+            var editdata = JSON.parse(JSON.stringify(parent.layui.table.editdata)); // 框架有Bug所以这么转换
+            form.val("component-form-element", editdata);
+        }
+        //form.render(null, 'component-form-element');
+
+        form.on('submit(component-form-element)', function (data) {
+            if (id) {
+                var url = '/agent/store/' + id + '/';
+                var type = 'put';
+            } else {
+                url = '/agent/store/';
+                type = 'post'
+            }
+
+            admin.req({
+                url: url
+                , data: data.field
+                , type: type
+                , done: function (res) {
+                    parent.layui.onSubmitChild(res.data);
+                }
+            });
+
+            return false;
+        });
+
+        parent.layui.submitChild = function () {
+            $("#id_save").click();
+        };
+    });
+</script>
+</body>
+</html>

+ 192 - 0
uis/views/store/index.html

@@ -0,0 +1,192 @@
+<!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=customer-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">
+    <style type="text/css">
+        .seach_items {
+            float: right;
+            margin-left: 10px;
+        }
+    </style>
+    <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: 40px;
+        }
+
+        .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;
+        }
+    </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;">
+                        <div style="float: left">
+                            <button class="layui-btn" id="store_add"><i
+                                    class="layui-icon layui-icon-add-circle"></i>添加
+                            </button>
+                        </div>
+                        <form class="layui-form" lay-filter="query-form-element1">
+                            <div class="seach_items">
+                                <button class="layui-btn" lay-submit lay-filter="query-form-element1"><i
+                                        class="layui-icon layui-icon-search"></i>查询
+                                </button>
+                            </div>
+                            <div class="seach_items">
+                                <input type="text" name="name" autocomplete="off" class="layui-input"
+                                       placeholder="名称"/>
+                            </div>
+                        </form>
+                        <div style="clear: both;"></div>
+                    </div>
+                    <table class="layui-hide" id="store_datagrid" lay-filter="store-operate"></table>
+
+                    <script type="text/html" id="store-operate-bar">
+                        <div class="layui-btn-group">
+                            <a class="layui-btn layui-btn-xs" lay-event="store_edit"
+                            >修改</a>
+                        </div>
+                        <div class="layui-btn-group">
+                            <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="store_del"
+                            >删除</a>
+                        </div>
+                    </script>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="../../layuiadmin/layui/layui.js?t=1"></script>
+<script>
+    layui.config({
+        base: '../../../layuiadmin/' //静态资源所在路径
+    }).extend({
+        index: 'lib/index' //主入口模块
+    }).use(['index', 'table', 'form',], function () {
+        var $ = layui.$;
+        var table = layui.table
+            , form = layui.form
+            , admin = layui.admin;
+
+        table.render({
+            elem: '#store_datagrid'
+            , url: '/agent/store/'
+            , cols: [[
+                {field: 'name', title: '名称', width: 150}
+                , {field: 'address', title: '地址', width: 200}
+                , {field: 'create_user_text', title: '添加人', width: 100}
+                , {field: 'create_time', title: '添加时间', width: 180}
+                , {field: 'end_date', title: '到期日期', width: 150}
+                , {field: 'notes', title: '备注', width: 200}
+                , {width: 150, align: 'center', fixed: 'right', toolbar: '#store-operate-bar'}
+            ]]
+            , page: true
+            , height: 'full-108'
+        });
+
+        //监听工具条
+        table.on('tool(store-operate)', function (obj) {
+            var data = obj.data;
+            if (obj.event === 'store_del') {
+                layer.confirm('确定要删除吗?', function (index) {
+                    layer.close(index);
+                    admin.req({
+                        url: '/agent/agent/' + data.id + '/'
+                        , type: 'delete'
+                        , done: function (res) {
+                            table.reload('store_datagrid', {});
+                        }
+                    });
+                });
+            } else if (obj.event === 'store_edit') {
+                table.editdata = data;
+                layer.open({
+                    type: 2,
+                    title: '修改',
+                    shadeClose: false,
+                    area: ['40%', '50%'],
+                    btn: ['保存', '取消'],
+                    yes: function (index, dom) {
+                        layui.onSubmitChild = function (data) {
+                            layer.close(index);
+                            table.reload('store_datagrid', {});
+                        };
+                        layui.submitChild();
+                    },
+                    btn2: function (index, layero) {
+                        layer.close(index);//关闭当前按钮
+                    },
+                    content: 'edit.html?id=' + data.id
+                });
+            }
+        });
+
+        form.on('submit(query-form-element1)', function (data) {
+            table.reload('store_datagrid', {
+                where: data.field
+                , page: {curr: 1}
+            });
+            layer.closeAll();
+            return false
+        });
+
+        $('#store_add').on('click', function () {
+            layer.open({
+                type: 2,
+                title: '添加',
+                area: ['40%', '50%'],
+                btn: ['保存', '取消'],
+                yes: function (index, dom) {
+                    layui.onSubmitChild = function (data) {
+                        layer.close(index);
+                        table.reload('store_datagrid', {});
+                    };
+                    layui.submitChild();
+                },
+                btn2: function (index, layero) {
+                    layer.close(index);//关闭当前按钮
+                },
+                content: 'edit.html'
+            });
+        });
+    });
+
+</script>
+</body>
+</html>