<title>用户对表的提交记录</title>
<!--当前位置开始-->
<div class="layui-card layadmin-header">
    <div class="layui-breadcrumb" lay-filter="breadcrumb">
        <script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
        </script>
    </div>
</div>
<!--当前位置结束-->
<style>
    /* 重写样式 */
</style>
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsFormSubmit/GetIndex" lay-done="layui.data.done(d);">
    <div class="layui-form coreshop-search-form">
        <div class="layui-form-item">
            <div class="layui-inline">
                <div class="layui-input-inline">
                    <select name="formId">
                        <option value="">请选择表单</option>
                        {{# layui.each(d.data.forms, function(index, item){ }}
                        <option value="{{ item.id }}">{{ item.name }}</option>
                        {{# }); }}
                    </select>
                </div>
            </div>
            <div class="layui-inline">
                <div class="layui-input-inline">
                    <input type="text" name="userName" placeholder="请输入会员昵称" class="layui-input">
                </div>
            </div>
            <div class="layui-inline">
                <div class="layui-input-inline">
                    <select name="payStatus">
                        <option value="">请选择是否支付</option>
                        <option value="True">是</option>
                        <option value="False">否</option>
                    </select>
                </div>
            </div>
            <div class="layui-inline">
                <div class="layui-input-inline">
                    <select name="status">
                        <option value="">请选择是否处理</option>
                        <option value="True">是</option>
                        <option value="False">否</option>
                    </select>
                </div>
            </div>
            <div class="layui-inline">
                <div class="layui-input-inline">
                    <input type="text" name="ip" placeholder="请输入提交人ip" class="layui-input">
                </div>
            </div>
            <div class="layui-inline">
                <div class="layui-input-inline" style="width: 260px;">
                    <input type="text" name="createTime" id="searchTime-CoreCmsFormSubmit-createTime" placeholder="请输入创建时间" class="layui-input">
                </div>
            </div>
            <div class="layui-inline">
                <button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsFormSubmit-search"><i class="layui-icon layui-icon-search"></i>筛选</button>
            </div>
        </div>
    </div>
</script>
<div class="table-body">
    <table id="LAY-app-CoreCmsFormSubmit-tableBox" lay-filter="LAY-app-CoreCmsFormSubmit-tableBox"></table>
</div>

<script type="text/html" id="LAY-app-CoreCmsFormSubmit-toolbar">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" lay-event="selectExportExcel"><i class="layui-icon layui-icon-add-circle"></i>选择导出</button>
        <button class="layui-btn layui-btn-sm" lay-event="queryExportExcel"><i class="layui-icon layui-icon-download-circle"></i>查询导出</button>
    </div>
</script>
<script type="text/html" id="LAY-app-CoreCmsFormSubmit-tableBox-bar">
    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">明细</a>
    <a class="layui-btn layui-btn-xs" lay-event="edit">反馈</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" data-dropdown="#CoreCmsFormSubmitTbDelDrop{{d.LAY_INDEX}}" no-shade="true">删除</a>
    <div class="dropdown-menu-nav dropdown-popconfirm dropdown-top-right layui-hide" id="CoreCmsFormSubmitTbDelDrop{{d.LAY_INDEX}}"
         style="max-width: 200px;white-space: normal;min-width: auto;margin-left: 10px;">
        <div class="dropdown-anchor"></div>
        <div class="dropdown-popconfirm-title">
            <i class="layui-icon layui-icon-help"></i>
            确定要删除吗？
        </div>
        <div class="dropdown-popconfirm-btn">
            <a class="layui-btn layui-btn-primary cursor" btn-cancel>取消</a>
            <a class="layui-btn layui-btn-normal cursor" lay-event="del">确定</a>
        </div>
    </div>


</script>

<div id="printImageBox" style="display: none;"></div>


<script>
    var CreatedOKLodopObject, CLodopIsLocal, CLodopJsState;
    var LODOP;
    var $;

    var indexData;
    var debug = layui.setter.debug;
    layui.data.done = function (d) {
        //开启调试情况下获取接口赋值数据
        if (debug) { console.log(d); }

        indexData = d.data;
        layui.use(['index', 'table', 'laydate', 'util', 'coredropdown', 'coreHelper'],
            function () {
                var $ = layui.$
                    , admin = layui.admin
                    , table = layui.table
                    , form = layui.form
                    , laydate = layui.laydate
                    , setter = layui.setter
                    , coreHelper = layui.coreHelper
                    , util = layui.util
                    , view = layui.view;

                laydate.render({
                    elem: '#searchTime-CoreCmsFormSubmit-createTime',
                    type: 'datetime',
                    range: '到',
                });
                laydate.render({
                    elem: '#searchTime-CoreCmsFormSubmit-updateTime',
                    type: 'datetime',
                    range: '到',
                });
                //重载form
                form.render();
                var searchwhere;
                //监听搜索
                form.on('submit(LAY-app-CoreCmsFormSubmit-search)',
                    function (data) {
                        var field = data.field;
                        searchwhere = field;
                        //执行重载
                        table.reload('LAY-app-CoreCmsFormSubmit-tableBox', { where: field });
                    });
                //数据绑定
                table.render({
                    elem: '#LAY-app-CoreCmsFormSubmit-tableBox',
                    url: layui.setter.apiUrl + 'Api/CoreCmsFormSubmit/GetPageList',
                    method: 'POST',
                    //toolbar: '#LAY-app-CoreCmsFormSubmit-toolbar',
                    defaultToolbar: ['filter', 'print', 'exports'],
                    height: 'full-189',//面包屑142px,搜索框4行172,3行137,2行102,1行67
                    page: true,
                    limit: 30,
                    limits: [10, 15, 20, 25, 30, 50, 100, 200],
                    text: { none: '暂无相关数据' },
                    cols: [
                        [
                            //{ type: "checkbox", fixed: "left" },
                            { field: 'id', title: '序列', width: 60, sort: false },
                            //{ field: 'formId', title: '表单id', sort: false, width: 105 },
                            { field: 'formName', title: '表单名称', sort: false },
                            {
                                field: 'userId', title: '会员', sort: false, width: 155, templet: function (data) {
                                    if (data.avatarImage) {
                                        return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + data.avatarImage + '")><image style="max-width:28px;max-height:28px;" src="' + data.avatarImage + '" /></a> ' + data.userName + "（" + data.userId + "）";
                                    } else {
                                        return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a> ' + data.userName + "（" + data.userId + "）";
                                    }
                                }
                            },
                            { field: 'money', title: '总金额', sort: false, width: 105, templet: function (data) { return '￥' + data.money } },
                            { field: 'payStatus', title: '是否支付', width: 95, templet: '#switch_payStatus', sort: false, unresize: true },
                            { field: 'status', title: '是否处理', width: 95, templet: '#switch_status', sort: false, unresize: true },
                            { field: 'feedback', title: '表单反馈', sort: false, edit: 'text' },
                            { field: 'ip', title: '提交人ip', sort: false, width: 105 },
                            { field: 'createTime', title: '创建时间', width: 130, sort: false },
                            { field: 'updateTime', title: '更新时间', width: 130, sort: false },
                            { width: 162, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsFormSubmit-tableBox-bar' }
                        ]
                    ]
                });
                //监听排序事件
                table.on('sort(LAY-app-CoreCmsFormSubmit-tableBox)', function (obj) {
                    table.reload('LAY-app-CoreCmsFormSubmit-tableBox', {
                        initSort: obj, //记录初始排序，如果不设的话，将无法标记表头的排序状态。
                        where: { //请求参数（注意：这里面的参数可任意定义，并非下面固定的格式）
                            orderField: obj.field, //排序字段
                            orderDirection: obj.type //排序方式
                        }
                    });
                });
                //监听行双击事件
                table.on('rowDouble(LAY-app-CoreCmsFormSubmit-tableBox)', function (obj) {
                    //查看详情
                    doDetails(obj);
                });
                //头工具栏事件
                table.on('toolbar(LAY-app-CoreCmsFormSubmit-tableBox)', function (obj) {
                    var checkStatus = table.checkStatus(obj.config.id);
                    switch (obj.event) {
                        case 'batchDelete':
                            doBatchDelete(checkStatus);
                            break;
                        case 'selectExportExcel':
                            doSelectExportExcel(checkStatus);
                            break;
                        case 'queryExportExcel':
                            doQueryExportexcel();
                            break;
                    };
                });
                //监听工具条
                table.on('tool(LAY-app-CoreCmsFormSubmit-tableBox)',
                    function (obj) {
                        if (obj.event === 'detail') {
                            doDetails(obj);
                        } else if (obj.event === 'del') {
                            doDelete(obj);
                        } else if (obj.event === 'edit') {
                            doEdit(obj)
                        }
                    });

                //监听单元格编辑
                table.on('edit(LAY-app-CoreCmsFormSubmit-tableBox)', function (obj) {
                    var value = obj.value //得到修改后的值
                        , data = obj.data //得到所在行所有键值
                        , field = obj.field; //得到字段
                    console.log(obj.value);
                    if (!!!obj.value) {
                        layer.msg("内容不能为空");
                        return false;
                    }
                    if (field == 'feedback') {
                        coreHelper.Post("Api/CoreCmsFormSubmit/DoSetFeedback", { id: data.id, data: value }, function (e) {
                            console.log(e)
                            if (e.code === 0) {
                                layui.table.reload('LAY-app-CoreCmsFormSubmit-tableBox'); //重载表格
                                layer.msg(e.msg);
                            } else {
                                layer.msg(e.msg);
                            }
                        });
                    }
                });

                //执行表单反馈
                function doEdit(obj) {
                    coreHelper.Post("Api/CoreCmsFormSubmit/GetEdit", { id: obj.data.id }, function (e) {
                        if (e.code === 0) {
                            admin.popup({
                                shadeClose: false,
                                title: '表单反馈',
                                area: ['500px', '280px'],
                                id: 'LAY-popup-CoreCmsFormSubmit-edit',
                                success: function (layero, index) {
                                    view(this.id).render('intelligentForms/formsubmit/edit', { data: e.data }).done(function () {
                                        //监听提交
                                        form.on('submit(LAY-app-CoreCmsFormSubmit-editForm-submit)',
                                            function (data) {
                                                var field = data.field; //获取提交的字段

                                                if (debug) { console.log(field); } //开启调试返回数据
                                                //提交 Ajax 成功后，关闭当前弹层并重载表格
                                                coreHelper.Post("Api/CoreCmsFormSubmit/DoSetFeedback", field, function (e) {
                                                    console.log(e)
                                                    if (e.code === 0) {
                                                        layui.table.reload('LAY-app-CoreCmsFormSubmit-tableBox'); //重载表格
                                                        layer.close(index); //再执行关闭
                                                        layer.msg(e.msg);
                                                    } else {
                                                        layer.msg(e.msg);
                                                    }
                                                });
                                            });
                                    })
                                    // 禁止弹窗出现滚动条
                                    $(layero).children('.layui-layer-content').css('overflow', 'visible');
                                }
                                , btn: ['确定', '取消']
                                , yes: function (index, layero) {
                                    layero.contents().find("#LAY-app-CoreCmsFormSubmit-editForm-submit").click();
                                }
                            });
                        } else {
                            layer.msg(e.msg);
                        }
                    });
                }


                //==判断是否需要CLodop(那些不支持插件的浏览器):==
                function needCLodop() {
                    try {
                        var ua = navigator.userAgent;
                        if (ua.match(/Windows\sPhone/i))
                            return true;
                        if (ua.match(/iPhone|iPod|iPad/i))
                            return true;
                        if (ua.match(/Android/i))
                            return true;
                        if (ua.match(/Edge\D?\d+/i))
                            return true;

                        var verTrident = ua.match(/Trident\D?\d+/i);
                        var verIE = ua.match(/MSIE\D?\d+/i);
                        var verOPR = ua.match(/OPR\D?\d+/i);
                        var verFF = ua.match(/Firefox\D?\d+/i);
                        var x64 = ua.match(/x64/i);
                        if ((!verTrident) && (!verIE) && (x64))
                            return true;
                        else if (verFF) {
                            verFF = verFF[0].match(/\d+/);
                            if ((verFF[0] >= 41) || (x64))
                                return true;
                        } else if (verOPR) {
                            verOPR = verOPR[0].match(/\d+/);
                            if (verOPR[0] >= 32)
                                return true;
                        } else if ((!verTrident) && (!verIE)) {
                            var verChrome = ua.match(/Chrome\D?\d+/i);
                            if (verChrome) {
                                verChrome = verChrome[0].match(/\d+/);
                                if (verChrome[0] >= 41)
                                    return true;
                            }
                        }
                        return false;
                    } catch (err) {
                        return true;
                    }
                }

                //==加载引用CLodop的主JS,用双端口8000和18000(以防其中一个被占):==
                function loadCLodop() {
                    if (CLodopJsState == "loading" || CLodopJsState == "complete") return;
                    CLodopJsState = "loading";
                    var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;
                    var JS1 = document.createElement("script");
                    var JS2 = document.createElement("script");
                    JS1.src = "http://localhost:8000/CLodopfuncs.js?priority=1";
                    JS2.src = "http://localhost:18000/CLodopfuncs.js";
                    JS1.onload = JS2.onload = function () { CLodopJsState = "complete"; }
                    JS1.onerror = JS2.onerror = function (evt) { CLodopJsState = "complete"; }
                    head.insertBefore(JS1, head.firstChild);
                    head.insertBefore(JS2, head.firstChild);
                    CLodopIsLocal = !!((JS1.src + JS2.src).match(/\/\/localho|\/\/127.0.0./i));
                }

                if (needCLodop()) { loadCLodop(); }//加载


                //==获取LODOP对象主过程,判断是否安装、需否升级:==
                function getLodop(oOBJECT, oEMBED) {
                    var strHtmInstall = "<font color='#FF00FF'>打印控件未安装!点击这里<a href='/lib/lodop/install_lodop32.exe' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>";
                    var strHtmUpdate = "<font color='#FF00FF'>打印控件需要升级!点击这里<a href='/lib/lodop/install_lodop32.exe' target='_self'>执行升级</a>,升级后请重新进入。</font>";
                    var strHtm64_Install = "<font color='#FF00FF'>打印控件未安装!点击这里<a href='/lib/lodop/install_lodop64.exe' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>";
                    var strHtm64_Update = "<font color='#FF00FF'>打印控件需要升级!点击这里<a href='/lib/lodop/install_lodop64.exe' target='_self'>执行升级</a>,升级后请重新进入。</font>";
                    var strHtmFireFox = "<font color='#FF00FF'>（注意：如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它）</font>";
                    var strHtmChrome = "<font color='#FF00FF'>(如果此前正常，仅因浏览器升级或重安装而出问题，需重新执行以上安装）</font>";
                    var strCLodopInstall_1 = "<font color='#FF00FF'>Web打印服务CLodop未安装启动，点击这里<a href='/lib/lodop/CLodop_Setup_for_Win32NT.exe' target='_self'>下载执行安装</a>";
                    var strCLodopInstall_2 = "（若此前已安装过，可<a href='CLodop.protocol:setup' target='_self'>点这里直接再次启动</a>）";
                    var strCLodopInstall_3 = "，成功后请刷新本页面。</font>";
                    var strCLodopUpdate = "<font color='#FF00FF'>Web打印服务CLodop需升级!点击这里<a href='/lib/lodop/CLodop_Setup_for_Win32NT.exe' target='_self'>执行升级</a>,升级后请刷新页面。</font>";
                    var LODOP;
                    try {
                        var ua = navigator.userAgent;
                        var isIE = !!(ua.match(/MSIE/i)) || !!(ua.match(/Trident/i));
                        if (needCLodop()) {
                            try {
                                LODOP = getCLodop();
                            } catch (err) { }
                            if (!LODOP && CLodopJsState !== "complete") {
                                if (CLodopJsState == "loading") {
                                    layer.alert("网页还没下载完毕，请稍等一下再操作.")
                                } else {
                                    layer.alert("没有加载CLodop的主js，请先调用loadCLodop过程.")
                                }
                                return false;
                            }
                            if (!LODOP) {
                                layer.alert(strCLodopInstall_1 + (CLodopIsLocal ? strCLodopInstall_2 : "") + strCLodopInstall_3);
                                return false;
                            } else {
                                if (CLODOP.CVERSION < "4.1.0.4") {
                                    layer.alert(strCLodopUpdate);
                                }
                                if (oEMBED && oEMBED.parentNode) {
                                    oEMBED.parentNode.removeChild(oEMBED); //清理旧版无效元素
                                }
                                if (oOBJECT && oOBJECT.parentNode) {
                                    oOBJECT.parentNode.removeChild(oOBJECT);
                                }
                            }
                        } else {
                            var is64IE = isIE && !!(ua.match(/x64/i));
                            //==如果页面有Lodop就直接使用,否则新建:==
                            if (oOBJECT || oEMBED) {
                                if (isIE) {
                                    LODOP = oOBJECT;
                                } else {
                                    LODOP = oEMBED;
                                }
                            } else if (!CreatedOKLodopObject) {
                                LODOP = document.createElement("object");
                                LODOP.setAttribute("width", 0);
                                LODOP.setAttribute("height", 0);
                                LODOP.setAttribute("style", "position:absolute;left:0px;top:-100px;width:0px;height:0px;");
                                if (isIE) {
                                    LODOP.setAttribute("classid", "clsid:2105C259-1E0C-4534-8141-A753534CB4CA");
                                } else {
                                    LODOP.setAttribute("type", "application/x-print-lodop");
                                }
                                document.documentElement.appendChild(LODOP);
                                CreatedOKLodopObject = LODOP;
                            } else {
                                LODOP = CreatedOKLodopObject;
                            }
                            //==Lodop插件未安装时提示下载地址:==
                            if ((!LODOP) || (!LODOP.VERSION)) {
                                if (ua.indexOf('Chrome') >= 0) {
                                    layer.alert(strHtmChrome);
                                }
                                if (ua.indexOf('Firefox') >= 0) {
                                    layer.alert((is64IE ? strHtm64_Install : strHtmInstall) + strHtmFireFox);
                                }
                                return LODOP;
                            }
                        }
                        if (LODOP.VERSION < "6.2.2.6") {
                            if (!needCLodop()) {
                                layer.alert(is64IE ? strHtm64_Update : strHtmUpdate);
                            }
                        }
                        //===如下空白位置适合调用统一功能(如注册语句、语言选择等):==


                        //=======================================================
                        return LODOP;
                    } catch (err) {
                        alert("getLodop出错:" + err);
                    }
                }




                //执行预览操作
                function doDetails(obj) {
                    coreHelper.Post("Api/CoreCmsFormSubmit/GetDetails", { id: obj.data.id }, function (e) {
                        if (e.code === 0) {
                            admin.popup({
                                shadeClose: false,
                                title: '查看详情',
                                area: ['600px', '90%'],
                                id: 'LAY-popup-CoreCmsFormSubmit-details',
                                success: function (layero, index) {
                                    view(this.id).render('intelligentForms/formsubmit/details', { data: e.data }).done(function () {
                                        form.render();
                                    });
                                    // 禁止弹窗出现滚动条
                                    $(layero).children('.layui-layer-content').css('overflow', 'visible');
                                }, btn: ['打印', '取消']
                                , yes: function (index, layero) {

                                    LODOP = getLodop();
                                    LODOP.ADD_PRINT_HTM(20, "5%", "90%", "100%", document.getElementById("printDiv").innerHTML);
                                    LODOP.PREVIEW();
                                    form.render();


                                }
                            });
                        } else {
                            layer.msg(e.msg);
                        }
                    });
                }
                //执行单个删除
                function doDelete(obj) {
                    coreHelper.Post("Api/CoreCmsFormSubmit/DoDelete", { id: obj.data.id }, function (e) {
                        if (debug) { console.log(e); } //开启调试返回数据
                        table.reload('LAY-app-CoreCmsFormSubmit-tableBox');
                        layer.msg(e.msg);
                    });
                }
                //执行查询条件导出excel
                function doQueryExportexcel() {
                    layer.confirm('确定根据当前的查询条件导出数据吗？',
                        function (index) {
                            var field = searchwhere;
                            coreHelper.PostForm("Api/CoreCmsFormSubmit/QueryExportExcel", field, function (e) {
                                if (debug) { console.log(e); } //开启调试返回数据
                                if (e.code === 0) {
                                    window.open(e.data);
                                } else {
                                    layer.msg(e.msg);
                                }
                            });
                        });
                }
                //执行选择目录导出数据
                function doSelectExportExcel(checkStatus) {
                    var checkData = checkStatus.data;
                    if (checkData.length === 0) {
                        return layer.msg('请选择您要导出的数据');
                    }
                    layer.confirm('确定导出选择的内容吗？',
                        function (index) {
                            var delidsStr = [];
                            layui.each(checkData,
                                function (index, item) {
                                    delidsStr.push(item.id);
                                });
                            layer.close(index);
                            coreHelper.Post("Api/CoreCmsFormSubmit/SelectExportExcel", { id: delidsStr }, function (e) {
                                if (debug) { console.log(e); } //开启调试返回数据
                                if (e.code === 0) {
                                    window.open(e.data);
                                } else {
                                    layer.msg(e.msg);
                                }
                            });
                        });
                }
                //监听 表格复选框操作

                layui.form.on('switch(switch_payStatus)', function (obj) {
                    coreHelper.Post("Api/CoreCmsFormSubmit/DoSetpayStatus", { id: this.value, data: obj.elem.checked }, function (e) {
                        if (debug) { console.log(e); } //开启调试返回数据
                        //table.reload('LAY-app-CoreCmsFormSubmit-tableBox');
                        layer.msg(e.msg);
                    });
                });

                layui.form.on('switch(switch_status)', function (obj) {
                    coreHelper.Post("Api/CoreCmsFormSubmit/DoSetstatus", { id: this.value, data: obj.elem.checked }, function (e) {
                        if (debug) { console.log(e); } //开启调试返回数据
                        //table.reload('LAY-app-CoreCmsFormSubmit-tableBox');
                        layer.msg(e.msg);
                    });
                });

            });
    };
</script>

<!--设置是否支付-->
<script type="text/html" id="switch_payStatus">
    <input type="checkbox" name="switch_payStatus" value="{{d.id}}" lay-skin="switch" lay-text="是|否" lay-filter="switch_payStatus" {{ d.payStatus ? 'checked' : '' }}>
</script>

<!--设置是否处理-->
<script type="text/html" id="switch_status">
    <input type="checkbox" name="switch_status" value="{{d.id}}" lay-skin="switch" lay-text="是|否" lay-filter="switch_status" {{ d.status ? 'checked' : '' }}>
</script>

