<%@ page contentType="text/html; charset=utf-8"
         pageEncoding="utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="format-detection" content="telephone=no">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
    <meta name="renderer" content="webkit">
    <!-- 移动设备 viewport -->
    <meta name="viewport" content="minWidth=device-minWidth, initial-scale=1.0, maximum-scale=1.0">
    <jsp:include page="../../common.jsp"/>
</head>
<body>
<div class="row animated fadeInRight" style="margin: 0;">
    <div class="wrapper wrapper-content mt5 right-content ml5 mr5">
        <div class="toolbar-panel bdd">
            <div class="toolbar-box">
                <div class="toolbar-head clearfix lgraybg pt5 pb10 pl10 bdbd">
                    <!-- 顶部按钮 -->
                    <div class="fl">
                        查询条件
                    </div>
                    <div class="tools fr">
                        <a href="javascript:void(0);" class="collapse dblock f14 dgray mr5">
                            <i class="fa-2x fa fa-angle-double-up"></i>
                        </a>
                    </div>
                </div>
            </div>
            <!--搜索条件 -->
            <div class="toolbar-body">
                <form class="layui-form" action="" style="margin-top: 10px" lay-filter="formCondition">
                    <div class="layui-form-item">
                        <div class="layui-inline">
                            <label class="layui-form-label">用户ID</label>
                            <div class="layui-input-inline">
                                <input type="text" placeholder="请输入用户ID" id="userId" name="userId" class="layui-input">
                            </div>
                        </div>

                        <div class="layui-inline">
                            <label class="layui-form-label">账号</label>
                            <div class="layui-input-inline">
                                <input type="text" placeholder="请输入账号" id="loginName" name="loginName"
                                       class="layui-input">
                            </div>
                        </div>

                        <div class="layui-inline">
                            <label class="layui-form-label">电话</label>
                            <div class="layui-input-inline">
                                <input type="text" placeholder="请输入电话" id="phone" name="phone" class="layui-input">
                            </div>
                        </div>

                        <div class="layui-inline">
                            <label class="layui-form-label">姓名</label>
                            <div class="layui-input-inline">
                                <input type="text" placeholder="请输入姓名" id="userName" name="userName"
                                       class="layui-input">
                            </div>
                        </div>
                    </div>
                    <div class="layui-form-item">
                        <div class="layui-inline">
                            <label class="layui-form-label">费率类型</label>
                            <div class="layui-input-inline">
                                <select name="isFixedRate" id="isFixedRate">
                                    <option value="">请选择</option>
                                    <option value="0">浮动</option>
                                    <option value="1">固定</option>
                                </select>
                            </div>
                        </div>

                        <div class="layui-inline">
                            <label class="layui-form-label">自动审核</label>
                            <div class="layui-input-inline">
                                <select name="autoAudit" id="autoAudit">
                                    <option value="">请选择</option>
                                    <option value="1">开启</option>
                                    <option value="0">关闭</option>
                                </select>
                            </div>
                        </div>

                        <div class="layui-inline">
                            <label class="layui-form-label">异地支付</label>
                            <div class="layui-input-inline">
                                <select name="payEcdemicSwitch" id="payEcdemicSwitch">
                                    <option value="">请选择</option>
                                    <option value="1">开启</option>
                                    <option value="0">关闭</option>
                                </select>
                            </div>
                        </div>

                        <div class="layui-inline">
                            <label class="layui-form-label">营销商户</label>
                            <div class="layui-input-inline">
                                <select name="isMarket" id="isMarket">
                                    <option value="">请选择</option>
                                    <option value="1">开启</option>
                                    <option value="0">关闭</option>
                                </select>
                            </div>
                        </div>

                        <div class="layui-inline">
                            <label class="layui-form-label">银联支付</label>
                            <div class="layui-input-inline">
                                <select name="isUnionPay" id="isUnionPay">
                                    <option value="">请选择</option>
                                    <option value="1">开启</option>
                                    <option value="0">关闭</option>
                                </select>
                            </div>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
    <!-- 表单数据 -->
    <div class="mb50 mt10">
        <div class="whitebg pl10 pr10">
            <table class="layui-hide" id="agentInfoTab" lay-filter="agentInfoTab"></table>
        </div>
    </div>
</div>

<script type="text/html" id="toolbarDemo">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" lay-event="search">
            <i class="layui-icon layui-icon-search"></i>查询
        </button>
        <button class="layui-btn layui-btn-sm" lay-event="add">
            <i class="layui-icon layui-icon-add-1"></i>添加
        </button>
    </div>
</script>

<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-xs" lay-event="edit">
        <i class="layui-icon layui-icon-edit"></i>备注
    </a>
</script>

<script>
    let form;
    let table;
    let layer;

    layui.use(['table', 'form', 'layer'], function () {
        table = layui.table;
        form = layui.form;
        layer = layui.layer;
        form.render();

        var tableIns = table.render({
            elem: '#agentInfoTab'
            , url: ctx + '/promoter/permissionPage'
            , where: form.val('formCondition')
            , initSort: {
                field: 'createTime'
                , type: 'desc'
            }
            , response: {
                statusName: 'code' //数据状态的字段名称，默认：code
                , countName: 'count' //数据总数的字段名称，默认：count
                , dataName: 'data' //默数据列表的字段名称，认：data
                , statusCode: 200
            }
            , parseData: function (res) { //res 即为原始返回的数据
                return {
                    "code": res.code, //解析接口状态
                    "msg": res.message, //解析提示文本
                    "count": res.data.count, //解析数据长度
                    "data": res.data.data //解析数据列表
                };
            }
            , toolbar: '#toolbarDemo' //开启头部工具栏，并为其绑定左侧模板
            , defaultToolbar: ['filter', 'exports', 'print', { //自定义头部工具栏右侧图标。如无需自定义，去除该参数即可
                title: '提示'
                , layEvent: 'LAYTABLE_TIPS'
                , icon: 'layui-icon-tips'
            }]
            , title: '超级管理商数据表'
            , cols: [[
                {type: 'checkbox', fixed: 'left', hidden: true}
                , {field: 'numbers', title: '序号', fixed: 'left', type: 'numbers'}
                , {field: 'userId', title: '用户ID', width: 90, fixed: 'left'}
                , {field: 'loginName', width: 120, title: '账号'}
                , {field: 'phone', width: 120, title: '电话'}
                , {field: 'userName', width: 120, title: '姓名'}
                , {
                    title: '一键开启', width: 95, align: "center", templet: (d) => {
                        return '<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="openAll">开启全部</a>';
                    }
                }
                , {
                    title: '自动审核', width: 95, align: "center", templet: (d) => {
                        return '<input type="checkbox" '+(d.autoAudit == "1" ? "checked" : "") + ' lay-filter="switchAutoAudit" data-userId="' + d.userId + '" lay-skin="switch" lay-text="开启|关闭">';
                    }
                }
                , {
                    title: '异地支付', width: 95, align: "center", templet: (d) => {
                        return '<input type="checkbox" '+(d.payEcdemicSwitch == "1" ? "checked" : "") + ' lay-filter="switchPayEcdemicSwitch" lay-skin="switch" data-userId="' + d.userId + '" lay-text="开启|关闭">';
                    }
                }
                , {
                    title: '营销商户', width: 95, align: "center", templet: (d) => {
                        return '<input type="checkbox" '+(d.isMarket == "1" ? "checked" : "") + ' lay-filter="switchMarket" lay-skin="switch" data-userId="' + d.userId + '" lay-text="开启|关闭">';
                    }
                }
                , {
                    title: '银联支付', width: 95, align: "center", templet: (d) => {
                        return '<input type="checkbox" '+(d.isUnionPay == "1" ? "checked" : "") + ' lay-filter="switchUnionPay" lay-skin="switch" data-userId="' + d.userId + '" lay-text="开启|关闭">';
                    }
                }
                , {
                    field: 'remark', title: '备注', minWidth: 95, align: "center"
                }
                , {
                    field: 'createTime',
                    title: '创建日期',
                    width: 160,
                    templet: "<div>{{layui.util.toDateString(d.createTime, 'yyyy-MM-dd HH:mm:ss')}}</div>"
                }
                , {fixed: 'right', title: '操作', minWidth: 165, toolbar: '#barDemo'}
            ]]
            , request: {
                pageName: 'current' //页码的参数名称，默认：page
                , limitName: 'size' //每页数据量的参数名，默认：limit
            }
            , page: true
            , done: function () {
                $("[data-field='forceUpdate']").children().each(function () {
                    if ($(this).text() == '0') {
                        $(this).text('否');
                    } else if ($(this).text() == '1') {
                        $(this).text('是');
                    }
                });
            }
        });

        //头工具栏事件
        table.on('toolbar(agentInfoTab)', function (obj) {
            switch (obj.event) {
                case 'search':
                    // 查询
                    refresh();
                    break;
            }
        });

        function saveUserApp(msg, param) {
            layer.confirm(msg , function (index) {
                $.ajax({
                    url: ctx + "/userApp/updateByUserId"
                    , type: 'post'
                    , data: param
                    , success: function(data) {
                        layer.close(index);
                        table.reload('agentInfoTab', {
                            where: form.val('formCondition')
                        });
                    }
                });
                layer.close(index);
            }, function(index) {
                table.reload('agentInfoTab', {
                    where: form.val('formCondition')
                });
            });
        }

        form.on('switch(switchAutoAudit)', function(data) {
            let userId = $(data.elem).data().userid;
            let param = {};
            param.userId = userId;
            param.autoAudit = this.checked? '1': '0';
            let msg = this.checked? '是否开启自动审核': '是否关闭自动审核?';
            saveUserApp(msg, param);
        })

        form.on('switch(switchPayEcdemicSwitch)', function(data) {
            let userId = $(data.elem).data().userid;
            let param = {};
            param.userId = userId;
            param.payEcdemicSwitch = this.checked? '1': '0';
            let msg = this.checked? '是否开启异地支付?': '是否关闭异地支付?';
            saveUserApp(msg, param);
        })

        form.on('switch(switchMarket)', function(data) {
            let userId = $(data.elem).data().userid;
            let param = {};
            param.userId = userId;
            param.isMarket = this.checked? '1': '0';
            let msg = this.checked? '是否开启营销商户': '是否关闭营销商户?';
            saveUserApp(msg, param);
        })

        form.on('switch(switchUnionPay)', function(data) {
            let userId = $(data.elem).data().userid;
            let param = {};
            param.userId = userId;
            param.isUnionPay = this.checked? '1': '0';
            let msg = this.checked? '是否开启银联支付': '是否关闭银联支付?';
            saveUserApp(msg, param);
        })

        //监听行工具事件
        table.on('tool(agentInfoTab)', function (obj) {
            var data = obj.data;
            //console.log(obj)
            if (obj.event === 'del') {
                layer.confirm('真的删除行么?', function (index) {
                    obj.del(data);
                    layer.close(index);
                    del(obj);
                });
            } else if (obj.event === 'edit') {
                // toBaseEdit(obj.data);
                edit(obj.data.userId);
            } else if (obj.event === "openAll") {
                openAll(obj.data.userId);
            }
        });

        function openAll(userId) {
            layer.confirm('是否打开' + userId + '所有权限?', {icon: 3, title: '提示'}, function (index) {
                var url = ctx + "/promoter/openAll";

                layer.load(2);
                $.ajax({
                    url: url
                    , type: "POST"
                    , data: {
                        userId: userId
                    }
                    , complete: function() {
                        layer.closeAll('loading');
                    }
                    , success: function (d) {
                        layer.close(index);
                        layer.alert(d.message);
                    }
                })
            });
        }

        function edit(userId) {
            var url = ctx + '/promoter/remark';
            if (userId !== undefined) {
                url = url + "?userId=" + userId;
            }
            console.log(url);
            var index = layer.open({
                type: 2
                , title: "编辑备注"
                , shade: 0.5
                , maxmin: true
                , content: url
                , area: ['400px', '250px']
            });
        }

        function toBaseEdit(obj) {
            var url = ctx + '/agentInfo/detail/';
            if (obj !== undefined) {
                url = ctx + "/agentInfo/detail/" + obj.userId
            }
            var index = layer.open({
                type: 2
                , title: "编辑"
                , shade: 0.5
                , maxmin: true
                , content: url
                , area: ['550px', '500px']
            });
        }

        function part(obj) {
            var url = ctx + "/agentInfo/part/" + obj.userId;
            var index = layer.open({
                type: 2
                , title: "编辑"
                , shade: 0.5
                , maxmin: true
                , content: url
                , area: ['550px', '300px']
            });
            layer.full(index);
        }

        function del(obj) {
            $.ajax({
                url: ctx + '/agentInfo/delete',
                method: 'post',
                data: JSON.stringify(obj.data),
                dataType: 'JSON',
                contentType: "application/json",
                success: function (res) {
                    if (res.code == 200) {
                        layer.msg(res.data, {
                            icon: 1
                        });
                    } else {
                        layer.msg(res.data, {
                            icon: 5
                        });
                    }
                }
            })
        }
    });

    function refresh() {
        table.reload('agentInfoTab', {
            page: {
                curr: 1
            }
            , where: form.val('formCondition')
        });
    }
</script>
</body>
</html>