<?php
/**
 * 预定义变量
 *
 * @var string $crumb
 * @var string $host
 * @var string $path
 * @var string $type
 * @var string $msg
 * @var string $err
 */
?>
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>折扣管理</title>
  <link rel="stylesheet" href="<?php echo $path; ?>/vendor/layui/css/layui.css">
  <style>
    #head {
      margin: 15px 20px 25px;
    }
    .breadcrumb {
      padding: 10px 0;
    }
    .page {
      position: absolute;
      top: 0;
      right: 10px;
      margin: 25px 20px;
    }
    .operation {
      height: 30px;
      margin: 10px 0;
    }
  </style>
</head>
<body>
<!-- 头部 -->
<div id="head">
  <div class="breadcrumb">
    <span class="layui-breadcrumb">
      <?php echo $crumb; ?>
    </span>
  </div>
  <div class="page">
    <button id="go-back" class="layui-btn layui-btn-danger layui-btn-radius layui-btn-small">
      <i class="layui-icon">&#xe603;</i>返回
    </button>
    <button id="refresh" class="layui-btn layui-btn-normal layui-btn-radius layui-btn-small">
      <i class="layui-icon">&#x1002;</i>刷新
    </button>
  </div>
  <div class="operation">
    <button id="delete" class="layui-btn layui-btn-danger layui-btn-small">
      <i class="layui-icon">&#xe640;</i>批量删除
    </button>
    <button id="insert" class="layui-btn layui-btn-normal layui-btn-small">
      <i class="layui-icon">&#xe608;</i>添加
    </button>
  </div>
</div>
<!-- 内容 -->
<div id="body" style="padding:0 20px;">
  <!-- 数据表格 -->
  <table class="layui-table" lay-data="{url:'<?php echo $path ?>/file.php?type=<?php echo $type; ?>', method:'post', where:{action:'list'}, page:true, limit:10, id:'file'}" lay-filter="file">
    <thead>
    <tr>
      <th lay-data="{field:'id', checkbox:true}">选择</th>
      <th lay-data="{field:'seq', width:80, sort:true}">ID</th>
      <th lay-data="{field:'name', width:160}">名称</th>
      <th lay-data="{field:'path', width:320}">文件</th>
      <th lay-data="{field:'time', width:160}">时间</th>
      <th lay-data="{fixed: 'right', width:260, align:'center', toolbar:'#operation'}">操作</th>
    </tr>
    </thead>
  </table>
</div>
<!-- 底部 -->
<div id="foot"></div>
<!-- 操作按钮 -->
<script type="text/html" id="operation">
  <a class="layui-btn layui-btn-small" lay-event="edit"><i class="layui-icon">&#xe642;</i>编辑</a>
  <a class="layui-btn layui-btn-danger layui-btn-small" lay-event="drop"><i class="layui-icon">&#xe640;</i>删除</a>
</script>
<!-- 增加/修改页面 -->
<script type="text/html" id="update">
  <div class="form">
    <form id="file" class="layui-form layui-form-pane">
      <div class="layui-form-item" pane>
        <label class="layui-form-label">名称<span style="color:#FF0000;">*</span></label>
        <div class="layui-input-inline" style="width: 360px;">
          <input type="text" class="layui-input" name="name" placeholder="文件名称" autocomplete="off" maxlength="120">
        </div>
        <div class="layui-form-mid layui-word-aux">名称长度请勿超过120个字符</div>
      </div>
      <div class="layui-form-item" pane>
        <label class="layui-form-label"><?php echo 'image' == $type ? '图片' : '文件'; ?></label>
        <div class="layui-input-inline" style="width: 240px;">
          <input type="hidden" name="path">
	      <input type="text" placeholder="文件名(不填则随机)" class="layui-input"  id="custom" autocomplete="off" maxlength="60">
          <button type="button" id="upload" class="layui-btn"><i class="layui-icon">&#xe67c;</i>上传<?php echo 'image' == $type ? '图片' : '文件'; ?></button>
        </div>
        <div class="layui-form-mid layui-word-aux"><?php echo 'image' == $type ? '<img id="img" src="" alt="图片" height="82">' : '<span id="img" title="" style="display: inline-block;"></span>'; ?></div>
      </div>
      <div class="layui-form-item" pane>
        <label class="layui-form-label"></label>
        <div class="layui-input-inline" style="width: 360px;">
          <button type="button" class="layui-btn" id="submit" lay-submit lay-filter="file">提交</button>
        </div>
        <div class="layui-form-mid layui-word-aux"></div>
      </div>
    </form>
  </div>
</script>
<script src="<?php echo $path; ?>/vendor/layui/layui.js"></script>
<script>
    /** 引入组件 */
    layui.use(['jquery', 'form', 'table', 'layer', 'upload', 'element'], function () {
        var $ = layui.$,
            form = layui.form,
            layer = layui.layer,
            table = layui.table,
            upload = layui.upload,
            element = layui.element;

        // 监听表格工具条事件
        table.on('tool(file)', function (o) {
            var data = o.data,
                e = o.event;

            switch (e) {
                case 'edit':
                    layer.open({
                        type:1,
                        skin:'layui-layer-molv',
                        area:['720px', '500px'],
                        title:'修改',
                        content:$('#update').html(),
                        success:function (el, id) {
                            $('input[name=name]').val(data.name);
                            <?php if ('image' == $type): ?>
	                        $('input[name=path]').val($(data.path).attr('src'));
                            $('#img').attr('src', $(data.path).attr('src'));
                            <?php else: ?>
	                        $('input[name=path]').val(data.path);
                            $('#img').attr('title', '<?php echo $host; ?>/' + data.path).text(data.path.substr(data.path.lastIndexOf('/') + 1));
                            <?php endif; ?>
                            $('#upload').val(data.id);
                            $('#submit').text('修改');
                            uploadRender();
                            form.on('submit(file)', function (o) {
                                var c = check(o.field);
                                if (true !== c) {
                                    layer.msg(c, {icon:2, anim:6});
                                    return false;
                                }
                                $.ajax({
                                    url:'<?php echo $path; ?>/file.php?type=<?php echo $type; ?>',
                                    data:$('#file').serialize() + '&action=edit&unique=' + data.id,
                                    type:'POST',
                                    dataType:'json',
                                    success:function (data) {
                                        if (data.code) {
                                            layer.close(id);
                                            $('.layui-laypage-btn').click();
                                            layer.msg('修改成功', {icon:1});
                                        } else {
                                            layer.msg(data.err, {icon:2});
                                        }
                                    }
                                });
                                return false;
                            });
                        }
                    });
                    break;
                case 'drop':
                    layer.confirm('确认删除？删除后无法恢复', function (id) {
                        layer.close(id);
                        $.ajax({
                            url:'<?php echo $path; ?>/file.php?type=<?php echo $type; ?>',
                            data:'action=drop&unique=' + data.id,
                            type:'POST',
                            dataType:'json',
                            success:function (data) {
                                if (data.code) {
                                    o.del();
                                    layer.msg('删除成功', {icon:1});
                                } else {
                                    layer.msg('删除失败', {icon:2});
                                }
                            }
                        });
                    });
                    break;
                default:break;
            }
        });

        $(document).on('click', '#insert', function () {
            // 添加
            layer.open({
                type:1,
                skin:'layui-layer-lan',
                area:['720px', '500px'],
                title:'添加',
                content:$('#update').html(),
                success:function (el, id) {
                    $('input[name=count],input[name=sort]').val('65535');
                    $('input[name=ratio]').val('1.00');
                    $('#img').attr('src', '<?php echo $host; ?>/w.gif');
                    $('#submit').text('添加');
                    $('#upload').val(-1);
                    uploadRender();
                    form.on('submit(file)', function (o) {
                        var c = check(o.field);
                        if (true !== c) {
                            layer.msg(c, {icon:2, anim:6});
                            return false;
                        }
                        $.ajax({
                            url:o.form.action,
                            data:$('#file').serialize() + '&action=insert',
                            type:'POST',
                            dataType:'json',
                            success:function (data) {
                                if (data.code) {
                                    layer.close(id);
                                    $('.layui-laypage-btn').click();
                                    layer.msg('添加成功', {icon:1});
                                } else {
                                    layer.msg(data.err, {icon:2});
                                }
                            }
                        });
                        return false;
                    });
                }
            });
        }).on('click', '#delete', function () {
            // 批量删除
            layer.confirm('确认批量删除？请仔细确认，删除后无法还原', function (id) {
                layer.close(id);
                var data = table.checkStatus('file').data,
                    unique = [];
                for (var i in data) {
                    if (data.hasOwnProperty(i)) {
                        unique[i] = data[i].id;
                    }
                }
                $.ajax({
                    url:location.href,
                    data:'unique=' + unique.join(', ') + '&action=delete',
                    type:'POST',
                    dataType:'json',
                    success: function (data) {
                        if (data.code) {
                            $('.layui-laypage-btn').click();
                            layer.msg('批量删除成功', {icon: 1});
                        } else {
                            layer.msg('批量删除失败', {icon: 2});
                        }
                    }
                });
            });
        }).on('click', '#go-back', function () {
            history.go(-1);
        }).on('click', '#refresh', function () {
            $('.layui-laypage-btn').click();
        });

        // 渲染上传按钮
        function uploadRender() {
            upload.render({
                elem:'#upload',
                url:'<?php echo $path; ?>/file.php?type=<?php echo $type; ?>',
	            before:function () {
		            this.data['custom'] = $('#custom').val();
	            },
                data:{
                    action:'upload',
                    unique:$('#upload').val()
                },
                accept:'file',
                size:2000,
                done:function (data) {
                    if (data.code) {
                        $('input[name=path]').val(data.path);
                        <?php if ('image' == $type): ?>
                        $('#img').attr('src', '<?php echo $host; ?>/' + data.path + '?rand=' + Math.random());
                        <?php else: ?>
                        $('#img').attr('title', '<?php echo $host; ?>/' + data.path).text(data.path.substr(data.path.lastIndexOf('/') + 1));
                        <?php endif; ?>
                        layer.msg('上传成功', {icon: 1});
                    } else {
                        layer.msg(data.err, {icon: 2});
                    }
                }
            });
        }

        // 提交检查
        function check(f) {
            if ('' === f.name) {
                return '文件名称不能为空';
            }
            if ('' === f.path) {
                return '请先上传文件'
            }
            return true;
        }
    });
</script>
</body>
</html>