抢修入库汇总报表,抢修出库汇总报表,收发存明细报表,齐套报表合计导出
3个文件已修改
3个文件已添加
1250 ■■■■■ 已修改文件
WebTM/WebTM.csproj 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/仓存管理/条码报表/Kf_StockInOutEntryByPageReport.html 523 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/仓存管理/条码报表/Kf_StockInOutSumQueryReport.html 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/生产管理/日计划报表/ReportMOMaterReadysBillTotalList.html 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/采购管理/采购报表/Cg_PoOrderInStockSumReport_QX.html 348 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/销售管理/销售报表/Xs_SeOrderOutStockSumReport_QX.html 336 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj
@@ -403,6 +403,7 @@
    <Content Include="views\仓存管理\仓库调拨\Add_Edit_Kf_MoveStockBill.html" />
    <Content Include="views\仓存管理\分步式调入单\Fb_StepFoldinBillEdit.html" />
    <Content Include="views\仓存管理\条码库存\KF_PonderationBillMain_Temp.html" />
    <Content Include="views\仓存管理\条码报表\Kf_StockInOutEntryByPageReport.html" />
    <Content Include="views\仓存管理\条码报表\KF_StockInOutEntryReport.html" />
    <Content Include="views\仓存管理\条码报表\KF_StockInOutRecordReport.html" />
    <Content Include="views\仓存管理\条码报表\Kf_SellOutBarTraceReport.html" />
@@ -876,6 +877,7 @@
    <Content Include="views\采购管理\采购报表\Cg_POMaterialPriceReport.html" />
    <Content Include="views\采购管理\采购报表\Cg_POOrderBillProcessSumReport.html" />
    <Content Include="views\采购管理\采购报表\Cg_POOrderInStockSumReport.html" />
    <Content Include="views\采购管理\采购报表\Cg_PoOrderInStockSumReport_QX.html" />
    <Content Include="views\采购管理\采购核销\Cg_POStockInBillList_Sec.html" />
    <Content Include="views\采购管理\采购订单\Cg_POOrderBillCheckQuery.html" />
    <Content Include="views\采购管理\采购订单\Cg_POOrderBillQuery.html" />
@@ -895,6 +897,7 @@
    <Content Include="views\销售管理\销售合同\Xs_ContractBillList.html" />
    <Content Include="views\销售管理\销售报价单\Xs_SeQuotationBillMain.html" />
    <Content Include="views\销售管理\销售报价单\Xs_SeQuotationBillMainList.html" />
    <Content Include="views\销售管理\销售报表\Xs_SeOrderOutStockSumReport_QX.html" />
    <Content Include="views\销售管理\销售报表\Xs_SeOrderOutStockSumReport.html" />
    <Content Include="views\销售管理\销售核销\XS_SellOutBillList_Sec.html" />
    <Content Include="views\销售管理\销售订单\Xs_SeOrderBillQuery.html" />
WebTM/views/²Ö´æ¹ÜÀí/ÌõÂ뱨±í/Kf_StockInOutEntryByPageReport.html
New file
@@ -0,0 +1,523 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>收发存明细报表</title>
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/ext/soulTable.css" media="all">
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/SetColumn.js"></script>
    <!--<script src="../../../layuiadmin/soulTable.slim.js"></script>--><!--标题筛选不能引用此js文件-->
    <style type="text/css">
        .layui-layer-iframe iframe {
            display: block;
            width: 100%;
        }
    </style>
</head>
<body>
    <div class="layui-fluid">
        <div class="layui-col-md12">
            <div class="layui-card" style="padding: 1px">
                <div class="layui-card-body" style="padding: 1px;">
                    <form class="layui-form" action="" lay-filter="component-form-group">
                        <div class="layui-collapse">
                            <div class="layui-colla-item">
                                <div class="layui-colla-title layui-inline">
                                    <div class="layui-inline">
                                        <span>更多</span>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">物料名称</label>
                                    <div class="layui-input-block" style="margin-left: 77px;">
                                        <input type="hidden" class="layui-input" lay-verify="HMATERIALID" name="HMATERIALID" id="HMATERIALID" value="0" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                        <input type="text" class="layui-input" lay-verify="HMATERIALNAME" name="HMATERIALNAME" id="HMATERIALNAME" value="" style="background-color:#efefef4d;width: 60%;display: inline-block;">
                                        <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHMATERIALID" id="btnHMATERIALID" style="padding: 0 10px;float: right;margin-right: 3px;">
                                            <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                        </button>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">仓库</label>
                                    <div class="layui-input-inline">
                                        <input type="text" name="HWHName" id="HWHName" class="layui-input" value="" style="float: left; width: 150px; background-color: #efefef4d;" readonly>
                                        <input type="hidden" name="HWHID" id="HWHID" class="layui-input" value="0" style="float: left; width: 150px; background-color: #efefef4d;">
                                        <button type="button" lay-submit="" class="layui-btn" lay-filter="btnHWHID" style="width:40px;">
                                            <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                        </button>
                                    </div>
                                </div>
                                <div class="layui-inline" style="">
                                    <label class="layui-form-label" style="width: 85px;">开始日期</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="date" class="layui-input" lay-verify="HBeginDate" name="HBeginDate" id="HBeginDate" style="padding-left: 78px;">
                                    </div>
                                </div>
                                <div class="layui-inline" style="">
                                    <label class="layui-form-label" style="width: 85px;">至:</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="date" class="layui-input" lay-verify="HEndDate" name="HEndDate" id="HEndDate" style="padding-left: 78px;">
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">查询</button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch">重置</button>
                            </div>
                        </div>
                        <div class="layui-tab layui-tab-card" lay-filter="table">
                            <ul class="layui-tab-title">
                                <li class="layui-this">入库单</li>
                                <li>出库单</li>
                            </ul>
                            <div class="layui-tab-content" style="">
                                <div class="layui-tab-item layui-show">
                                    <table class="" id="mainTable" lay-filter="mainTable"></table>
                                    <script type="text/html" id="toolbarDemo">
                                        <div class="layui-btn-container">
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh" id="get_Refresh"><i class="layui-icon layui-icon-refresh-3"></i>刷新</button>
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export" id="get_export"><i class="layui-icon layui-icon-export"></i>导出</button>
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Exit" id="get_Exit"><i class="layui-icon layui-icon-logout"></i>退出</button>
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn" id="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                        </div>
                                    </script>
                                </div>
                                <div class="layui-tab-item ">
                                    <table class="" id="mainTable2" lay-filter="mainTable2"></table>
                                    <script type="text/html" id="toolbarDemo2">
                                        <div class="layui-btn-container">
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh2" id="get_Refresh2"><i class="layui-icon layui-icon-refresh-3"></i>刷新</button>
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export2" id="get_export2"><i class="layui-icon layui-icon-export"></i>导出</button>
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Exit2" id="get_Exit2"><i class="layui-icon layui-icon-logout"></i>退出</button>
                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn2" id="set_HideColumn2"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                        </div>
                                    </script>
                                </div>
                            </div>
                        </div>
                        <table class="" id="mainTable" lay-filter="mainTable"></table>
                    </form>
                </div>
            </div>
        </div>
    </div>
</body>
</html>
<script>
    var treeCkData = { id: 0 };
    var TagId = "";
    var TagParentId = "";
    layui.config({
        base: '../../../layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index', //主入口模块
        soulTable: '../ext/soulTable',
    }).use(['tree', 'index', 'form', 'table', 'element',  'util', 'soulTable', 'tableSelect'], function () {
        //#region å…¬ç”¨å˜é‡
        var $ = layui.$
            , admin = layui.admin
            , layer = layui.layer
            , table = layui.table
            , form = layui.form
            , soulTable = layui.soulTable
            , tableSelect = layui.tableSelect;
        var sWhere = "";
        var option = [];
        var HModName = "Kf_StockInOutEntryByPageReport";
        var HModName2 = "Kf_StockInOutEntryByPageReport2"
        //#endregion
        //#region è¿›å…¥é¡µé¢å³åŠ è½½
        //初始化界面
        set_ClearBill();
        //#endregion
        //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
        //#region å¤´å·¥å…·æ äº‹ä»¶
        table.on('toolbar(mainTable)', function (obj) {
            switch (obj.event) {
                //刷新
                case 'get_Refresh': get_FastQuery();
                    break;
                //退出按钮
                case 'get_Exit': Pub_Close(1);
                    break;
                //列设置
                case 'set_HideColumn': get_HideColumnNoPage(HModName, sessionStorage["HUserName"], option, get_FastQuery);
                    break;
                case 'get_export': getExportData();
                    break
            };
        });
        table.on('toolbar(mainTable2)', function (obj) {
            switch (obj.event) {
                //刷新
                case 'get_Refresh2': get_FastQuery();
                    break;
                //退出按钮
                case 'get_Exit2': Pub_Close(1);
                    break;
                //列设置
                case 'set_HideColumn2': get_HideColumnNoPage(HModName2, sessionStorage["HUserName"], option2, get_FastQuery);
                    break;
                case 'get_export2': getExportData();
                    break
            };
        });
        //#endregion
        //#region äº§å“ç¼–码
        form.on('submit(btnHMATERIALID)', function (data) {
            btnHMATERIALID();
        });
        //#endregion
        //选择仓库
        form.on('submit(btnHWHID)', function () {
            get_btnHWHID();
        });
        //#region é‡ç½®æŒ‰é’®
        form.on('submit(btnReSearch)', function (data) {
            set_ClearQuery();
        });
        //#endregion
        //#region æŸ¥è¯¢æŒ‰é’®
        form.on('submit(btnSearch)', function (data) {
            get_FastQuery();
        });
        //#endregion
        //#endregion
        //#region æœ¬é¡µé¢è¢«è°ƒç”¨çš„æ‰€æœ‰æ–¹æ³•
        //#region åˆå§‹åŒ–界面
        function set_ClearBill() {
            //物料表格下拉搜索框
            tableSelect.render({
                elem: '#HMATERIALNAME',
                checkedKey: 'HItemID',
                searchKey: '物料代码,物料名称',
                sWhere: '',//table搜索sWhere条件
                table: {
                    url: GetWEBURL() + 'Gy_Material/page',
                    where: { user: sessionStorage["HMaker"], "Organization": sessionStorage["Organization"] },
                    cols: [[
                        { type: 'checkbox', fixed: 'left' },
                        { field: 'HItemID', title: 'HItemID' },
                        { field: '物料代码', title: '物料代码' },
                        { field: '物料名称', title: '物料名称' },
                    ]],
                    page: true,
                    limit: 5,
                    limits: [5]
                },
                done: function (elem, data) {
                    if (data != []) {
                        //获取数据
                        $("#HMATERIALID").val(data.data[0].HItemID);
                        $("#HMATERIALNAME").val(data.data[0].物料名称);
                        /*$("#HMATERIALNAME").blur();//单元格失去焦点*/
                        get_Display();
                    }
                }
            })
            //初始化时间
            $("#HBeginDate").val(Format(new Date().setDate(new Date().getDate() - 30), "yyyy-MM-dd"));//提料日期
            $("#HEndDate").val(Format(new Date().setDate(new Date().getDate()), "yyyy-MM-dd"));//至
            addSWhereByOpenType()
            //初始化表格
            set_InitGrid();
            //设置页码
            DisPlay_HideColumn_GetPageSize(HModName, sessionStorage["HUserName"], option)
            //设置页码
            DisPlay_HideColumn_GetPageSize(HModName2, sessionStorage["HUserName"], option2)
            //快速过滤
            get_FastQuery();
        }
        //#endregion
        //#region åˆå§‹åŒ–表格方法
        function set_InitGrid() {
            var columns = [];
            option = {
                elem: '#mainTable'
                , toolbar: '#toolbarDemo'
                , height: 'full-50'
                , page: true
                , cellMinWidth: 90
                , limit: 1000
                , limits: [50, 500,1000, 2000]
                , totalRow: true
                , loading: false
                , cols: [columns]
                , done: function (res, curr, count) {
                    soulTable.render(this);
                }
            };
            option2 = {
                elem: '#mainTable2'
                , toolbar: '#toolbarDemo2'
                , height: 'full-50'
                , page: true
                , cellMinWidth: 90
                , limit: 1000
                , limits: [50, 500, 1000, 2000]
                , totalRow: true
                , loading: false
                , cols: [columns]
                , done: function (res, curr, count) {
                    soulTable.render(this);
                }
            };
        }
        //#endregion
        //#region æŸ¥è¯¢
        function get_Display(sql) {
            var ajaxLoad = layer.load();
            $.ajax({
                url: GetWEBURL() + '/CommonModel/searchMethodList',
                type: "GET",
                async: true,
                data: { "sql": sql, "user": sessionStorage["HUserName"], "ModRightNameCheck": "" },
                success: function (dataList) {
                    if (dataList.count == 1) {
                        var data = [];
                        var col = [];
                        var titleData = [];
                        //给空的数组赋值
                        for (var key in dataList.list[0]) {
                            data.push({ "id": dataList.list[0][key].ColmCols, "name": dataList.list[0][key].ColmCols, "Type": dataList.list[0][key].ColmType });
                            //获取不需要显示的列(H开头的列不显示)
                            //var patrn = new RegExp(/^h/i);
                            //if (patrn.test(dataList.list[0][key].ColmCols)) {
                            //    titleData[key] = dataList.list[0][key].ColmCols;
                            //}
                        }
                        //在列表左边添加勾选框
                        col.push({ type: 'checkbox', fixed: 'left', totalRowText: '合计行' });
                        for (var i = 0; i < data.length; i++) {
                            if ($.inArray(data[i].name, titleData) > -1) {
                                col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                            } else if (data[i].name == '发货日期') {//添加超链接
                                col.push({
                                    field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, event: 'HPlanEndDate', templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", filter: true
                                });
                            }
                            else {
                                switch (data[i].Type) {
                                    //int
                                    case 'DateTime':
                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 200 });
                                        break;
                                    case 'long':
                                    case 'Int32':
                                    case 'Int64':
                                    case 'double':
                                    case 'Decimal':
                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120, totalRow: true, filter: true });
                                        break;
                                    default:
                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, filter: true });
                                }
                            }
                        }
                        option.cols = [col];
                        option.data = dataList.data[sql];
                        option2.cols = [col];
                        option2.data = dataList.data[sql+"1"];
                        //刷新表格数据
                        DisPlay_HideColumn(HModName, sessionStorage["HUserName"], option, titleData)
                        DisPlay_HideColumn(HModName2, sessionStorage["HUserName"], option2, titleData)
                        table.render(option);
                        table.render(option2);
                        layer.close(ajaxLoad);
                    } else {
                        layer.close(ajaxLoad);
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.close(ajaxLoad);
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
        //#endregion
        //#region èŽ·å–å¯¼å‡ºæ•°æ®
        function getExportData() {
            var tableId = $('.layui-tab-item.layui-show table').attr('id');
            var data = "";
            if (tableId == "mainTable") {
                data = option.data;
            } else if (tableId == "mainTable2") {
                data = option2.data;
            }
            data.forEach((item) => {
                for (let itemobj in item) {
                    if (item[itemobj] == null) {
                        item[itemobj] = "";
                    }
                    if (item[itemobj].length > 0) {  // å‡è®¾å­—段名为field
                        item[itemobj] = item[itemobj].toString().replace(/[\r\n]+/g, '');  // å°†æ¢è¡Œç¬¦æ›¿æ¢ä¸ºç©ºå­—符串
                    }
                }
            });
            table.exportFile(tableId, data, "xls");
        }
        //#endregion
        //#region å¿«é€Ÿè¿‡æ»¤
        function get_FastQuery() {
            var HBeginDate = $("#HBeginDate").val();//提料日期
            var HEndDate = $("#HEndDate").val();//至
            var HMATERIALID = $("#HMATERIALID").val();
            var HWHName = $("#HWHName").val();
            if (HBeginDate > HEndDate) {
                return layer.msg("开始日期不能小于结束日期!");
            }
            sql = `exec h_p_Kf_StockInOutEntryByPageReport '${HBeginDate}','${HEndDate}','${HMATERIALID}','${HWHName}'`
            get_Display(sql);
            sWhere = "";//调用接口后清空sWhere缓存
        }
        //#endregion
        //#region é‡ç½®è¿‡æ»¤æ¡ä»¶æ–¹æ³•
        function set_ClearQuery() {
            $("#HMATERIALID").val("0");//物料/产品
            $("#HMATERIALName").val("");//物料/产品
            $("#HWHName").val("");//仓库
            form.render('select');
            sWhere = "";
        }
        //#endregion
        //物料列表
        function btnHMATERIALID() {
            layer.open({
                type: 2 //类型
                , skin: 'layui-layer-rim'//加上边框
                , area: ['90%', '90%']//大小
                , title: '物料列表'//标题
                , shift: 2//弹出动画
                , content: ['../../基础资料/公用基础资料/Gy_Material.html', 'yes']
                , btn: ['确定', '取消']
                , btn1: function (index, layero) {//按钮【按钮一】的回调
                    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                    var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                    if (checkStatus.data.length === 0) {
                        return layer.msg('请选择数据');
                    }
                    //获取数据
                    $("#HMATERIALID").val(checkStatus.data[0].HItemID);
                    $("#HMATERIALNAME").val(checkStatus.data[0].物料名称);
                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                }
                , btn2: function (index, layero) { }
            })
            }
        //仓库
        function get_btnHWHID() {
            layer.open({
                type: 2//弹窗类型
                , skin: 'layui-layer-rim' //加上边框
                , area: ['90%', '90%']//大小
                , title: '结算方式列表'//标题
                , shift: 2//弹出动画
                , content: ['../../基础资料/公用基础资料/Gy_Warehouse.html?Type=2', 'yes']
                , btn: ['确定', '取消']
                , btn1: function (index, layero) {//按钮【按钮一】的回调
                    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                    var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                    if (checkStatus.data.length === 0) {
                        return layer.msg('请选择数据');
                    }
                    $("#HWHName").val(checkStatus.data[0].仓库名称);
                    $("#HWHID").val(checkStatus.data[0].HItemID);
                    table.render(option);
                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                }
                , btn2: function (index, layero) { }
            })
        }
        //#region èŽ·å–å‚æ•°
        function getUrlVars() {
            var vars = [], hash;
            var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
            for (var i = 0; i < hashes.length; i++) {
                hash = hashes[i].split('=');
                vars.push(hash[0]);
                vars[hash[0]] = hash[1];
            }
            return vars;
        }
        //#endregion
        //#region åˆ¤æ–­æ˜¯ç›´æŽ¥æ‰“开页面还是其它页面通过选择按钮打开,并显示相应数据
        function addSWhereByOpenType() {
            //获取参数
            var params = getUrlVars();
            var openType = params[params[0]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
            var HMaterID = params[params[1]];
            var HMaterName = params[params[2]];
            var HWHName = params[params[3]];
            var HBEGINDATE = params[params[4]];//欠料日期
            var HENDDATE = params[params[5]];//至
            var addSWhere = "";
            if (openType == 2) {
                $("#HMATERIALID").val(HMaterID);
                $("#HMATERIALNAME").val(decodeURI(HMaterName));
                $("#HWHName").val(decodeURI(HWHName));
                $("#HBeginDate").val(HBEGINDATE);
                $("#HEndDate").val(HENDDATE);
                form.render("select")
            }
            return addSWhere;
        }
            //#endregion
        //#endregion
        //以上是layui模块
    });
    //双击返回仓库
    function GetHWHValue(data) {
        $("#HWHName").val(data[0].仓库名称);
        $("#HWHID").val(data[0].HItemID);
    }
    function GetGyMaterial(obj) {
        $("#HMATERIALID").val(obj.HItemID);
        $("#HMATERIALNAME").val(obj.物料名称);
    }
    function GetHDeptNameValue(obj)  //返回采购部门
    {
        $("#HWorkShopID").val(obj[0].HItemID);//车间id
        $("#HWorkShopIDName").val(obj[0].部门名称);//车间名称
    }
</script>
WebTM/views/²Ö´æ¹ÜÀí/ÌõÂ뱨±í/Kf_StockInOutSumQueryReport.html
@@ -91,6 +91,7 @@
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_Export" id="Export"><i class="layui-icon layui-icon-export"></i>导出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_Query" id="Query"><i class="layui-icon layui-icon-search"></i>查询</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_Detail" id="Detail"><i class="layui-icon layui-icon-search"></i>查看明细</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Cell" id="Cell"><i class="layui-icon layui-icon-slider"></i>保存列宽</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-RefreshCell" id="RefreshCell"><i class="layui-icon layui-icon-cols"></i>默认列宽</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_HideColumn" id="HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
@@ -344,6 +345,9 @@
                    //查询按钮
                    case 'btn_Query': get_Display();
                        break;
                    //查询按钮明细
                    case 'btn_Detail': get_Detail();
                        break;
                    //退出按钮
                    case 'btn_Exit': Pub_Close(2);
                        break;
@@ -504,6 +508,39 @@
            }
            //#endregion
            //查看明细
            function get_Detail() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var HMaterID = data[0].HMaterID.toString();
                    var HMaterName = data[0].物料名称.toString();
                    var HBeginDate = $("#HBeginDate").val();//欠料日期
                    var HEndDate = $("#HEndDate").val();//至
                    var HWHName = data[0].仓库.toString();
                    //if (AllowLoadData(sSubStr) != false) {//非空验证
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: '查看明细'
                        , closeBtn: 1
                        , shade: 0.6 //遮罩透明度
                        , maxmin: true //允许全屏最小化
                        , anim: 0 //0-6的动画形式,-1不开启
                        , content: `./Kf_StockInOutEntryByPageReport.html?OperationType=2&HMaterID=${HMaterID}&HMaterName=${HMaterName}&HWHName=${HWHName}&HBeginDate=${HBeginDate}&HEndDate=${HEndDate}`
                        , resize: false,
                        end: function () {
                        }
                        , cancel: function () {
                            //$(".layui-btn").removeClass("layui-btn-disabled");
                        }
                    })
                } else {
                    layer.msg('请选择一行数据查看!');
                }
            }
            //#region é‡ç½®æŒ‰é’®
            form.on('submit(btnReSearch)', function (data) {
                //清空过滤条件
WebTM/views/Éú²ú¹ÜÀí/Èռƻ®±¨±í/ReportMOMaterReadysBillTotalList.html
@@ -262,7 +262,7 @@
                //$('#HDate').prop('disabled', true);
                //$('#HDate1').prop('disabled', true);
                $("#HBEGINDATE").val(Format(new Date().setDate(new Date().getDate()), "yyyy-MM-dd"));//欠料日期
                $("#HBeginDate").val(Format(new Date().setDate(new Date().getDate()), "yyyy-MM-dd"));//欠料日期
                $("#HEndDate").val(Format(new Date().setDate(new Date().getDate() + HInitTimeCycle), "yyyy-MM-dd"));//至
                //执行查询方法
@@ -632,6 +632,7 @@
                    }
                    if (item[itemobj].length > 0) {  // å‡è®¾å­—段名为field
                        item[itemobj] = item[itemobj].toString().replace(/[\r\n]+/g, '');  // å°†æ¢è¡Œç¬¦æ›¿æ¢ä¸ºç©ºå­—符串
                        item[itemobj] = item[itemobj].toString().replace(/,/g, '');  // å°†æ¢è¡Œç¬¦æ›¿æ¢ä¸ºç©ºå­—符串
                    }
                }
            });
WebTM/views/²É¹º¹ÜÀí/²É¹º±¨±í/Cg_PoOrderInStockSumReport_QX.html
New file
@@ -0,0 +1,348 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>抢修入库汇总报表</title>
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/ext/soulTable.css" media="all">
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/xm-select.js"></script>
    <script src="../../../layuiadmin/SetColumn.js"></script>
    <!--<script src="../../../layuiadmin/soulTable.slim.js"></script>--> <!--标题筛选不能引用此js文件-->
</head>
<body>
    <div class="layui-fluid">
        <div class="layui-col-md12">
            <div class="layui-card" style="padding: 1px">
                <div class="layui-card-body" style="padding: 1px;">
                    <form class="layui-form" action="" lay-filter="component-form-group">
                        <div class="layui-collapse">
                            <div class="layui-colla-item">
                                <div class="layui-colla-title layui-inline">
                                    <div class="layui-inline">
                                        <span>更多</span>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">日期间隔</label>
                                    <div class="layui-input-block">
                                        <select name="HInitTimeCycle" id="HInitTimeCycle" class="ForFilteringSchemes" lay-filter="HInitTimeCycle" style="width:190px;">
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">开始日期</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="date" class="layui-input" lay-verify="HBeginDate" name="HBeginDate" id="HBeginDate" style="padding-left: 58px;width:160px;">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">至:</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="date" class="layui-input" lay-verify="HEndDate" name="HEndDate" id="HEndDate" style="padding-left: 58px;width:160px;">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">汇总类型</label>
                                    <div class="layui-input-inline">
                                        <select name="HPriceType" id="HPriceType" lay-filter="HPriceType" style="width: 190px; ">
                                            <option value="全部入库汇总" selected="selected">全部入库汇总</option>
                                            <option value="抢修项目入库汇总">抢修项目入库汇总</option>
                                            <option value="装表改造入库汇总">装表改造入库汇总</option>
                                        </select>
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">查询</button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch">重置</button>
                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
                                    <div class="layui-row" style="margin: 10px 0 10px;">
                                    </div>
                                </div>
                            </div>
                        </div>
                        <table class="" id="mainTable" lay-filter="mainTable"></table>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh" id="get_Refresh"><i class="layui-icon layui-icon-refresh-3"></i>刷新</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export" id="get_export"><i class="layui-icon layui-icon-export"></i>导出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Exit" id="get_Exit"><i class="layui-icon layui-icon-logout"></i>退出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn" id="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                            </div>
                        </script>
                    </form>
                </div>
            </div>
        </div>
    </div>
</body>
</html>
<script>
    layui.config({
        base: '../../../layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index', //主入口模块
        soulTable: '../ext/soulTable'
    }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate', 'util','soulTable'], function () {
        //#region å…¬ç”¨å˜é‡
        var $ = layui.$
            , admin = layui.admin
            , layer = layui.layer
            , table = layui.table
            , form = layui.form
            , element = layui.element
            , laypage = layui.laypage
            , laydate = layui.laydate
            , util = layui.util
            , tree = layui.tree
            , util = layui.util
            , soulTable = layui.soulTable
        var sWhere = "";
        var option = [];
        var ins;                        //用于导出excel
        var HModName = "h_p_Cg_PoOrderInStockSumReport_QX";
        var titleData = [];
        //#endregion
        //#region è¿›å…¥é¡µé¢å³åŠ è½½
        //初始化界面
        set_ClearBill();
        //#endregion
        //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
        //#region å¤´å·¥å…·æ äº‹ä»¶
        table.on('toolbar(mainTable)', function (obj) {
            switch (obj.event) {
                //刷新
                case 'get_Refresh': get_FastQuery();
                    break;
                //退出按钮
                case 'get_Exit': Pub_Close(2);
                    break;
                //列设置
                case 'set_HideColumn': get_HideColumnNoPage(HModName, sessionStorage["HUserName"], option, get_FastQuery);
                    break;
                case 'get_export': getExportData();
                    break
            };
        });
            //#endregion
        //#region æ—¥æœŸé—´éš”下拉列表监听
        form.on('select(HInitTimeCycle)', function (data) {
            var HInitTimeCycle = $("#HInitTimeCycle").val() * 1;
            //若日期间隔不为 ä»»æ„é—´éš”,则禁用开始日期与结束日期的选择
            if (HInitTimeCycle != -1) {
                $("#HBeginDate").val(Format(new Date().setDate(new Date().getDate() - HInitTimeCycle), "yyyy-MM-dd"));//开始日期
                $("#HEndDate").val(Format(new Date().setDate(new Date().getDate() ), "yyyy-MM-dd"));//至
                //执行查询方法
                get_FastQuery();
            } else {
            }
        });
        //#endregion
        //#region é‡ç½®æŒ‰é’®
        form.on('submit(btnReSearch)', function (data) {
            set_ClearQuery();
        });
        //#endregion
        //#region æŸ¥è¯¢æŒ‰é’®
        form.on('submit(btnSearch)', function (data) {
            get_FastQuery();
        });
        //#endregion
        //#endregion
        //#region æœ¬é¡µé¢è¢«è°ƒç”¨çš„æ‰€æœ‰æ–¹æ³•
        //#region åˆå§‹åŒ–界面
        function set_ClearBill() {
            //初始化日期间隔、开始日期、结束日期
            setSelect_HInitTimeCycle();
            //若日期间隔不为 ä»»æ„é—´éš”,则禁用开始日期与结束日期的选择
            var HInitTimeCycle = $("#HInitTimeCycle").val() * 1;
            //初始化日期
            $("#HBeginDate").val(Format(new Date().setDate(new Date().getDate() - HInitTimeCycle), "yyyy-MM-dd"));//提料日期
            $("#HEndDate").val(Format(new Date().setDate(new Date().getDate()), "yyyy-MM-dd"));//至
            //初始化表格
            set_InitGrid();
            //快速过滤
            get_FastQuery();
        }
        //#endregion
        //#region åˆå§‹åŒ–表格方法
        function set_InitGrid() {
            option = {
                elem: '#mainTable'
                //, toolbar: '#toolbarDemo'
                , height: 'full-50'
                , page: true
                , cellMinWidth: 90
                , totalRow: true
                , limit: 50
                , limits: [50, 500, 1000, 5000]
                , title:"抢修入库汇总报表"
                //, loading: false
                , cols: [[
                ]]
                , done: function (res, curr, count) {
                    soulTable.render(this);
                }
            };
        }
        //#endregion
        //#region æŸ¥è¯¢
        function get_Display(sql) {
            var ajaxLoad = layer.load();
            $.ajax({
                url: GetWEBURL() + '/CommonModel/searchMethod',
                type: "GET",
                async: true,
                data: { "sql": sql, "user": sessionStorage["HUserName"], "ModRightNameCheck": "" },
                success: function (data1) {
                    if (data1.count == 1) {
                        var data = [];
                        var col = [];
                        //给空的数组赋值
                        for (var key in data1.list) {
                            data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                            //获取不需要显示的列(H开头的列不显示)
                            var patrn = new RegExp(/^h/i);
                            if (patrn.test(data1.list[key].ColmCols)) {
                                titleData[key] = data1.list[key].ColmCols;
                            }
                        }
                        //在列表左边添加勾选框
                        col.push({ type: 'checkbox', fixed: 'left', totalRowText: '合计行' });
                        for (var i = 0; i < data.length; i++) {
                            if ($.inArray(data[i].name, titleData) > -1) {
                                col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                            } else if (data[i].name == '发货日期') {//添加超链接
                                col.push({
                                    field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, event: 'HPlanEndDate', templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", filter: true
                                });
                            }
                            else {
                                switch (data[i].Type) {
                                    //int
                                    case 'DateTime':
                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 200 });
                                        break;
                                    case 'long':
                                    case 'Int32':
                                    case 'Int64':
                                    case 'double':
                                    case 'Decimal':
                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120, totalRow: true, filter: true });
                                        break;
                                    default:
                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, filter: true });
                                }
                            }
                        }
                        option.cols = [col];
                        option.data = data1.data;
                        //刷新表格数据
                        DisPlay_HideColumn(HModName, sessionStorage["HUserName"], option, titleData)
                        ins = table.render(option);
                        layer.close(ajaxLoad);
                    } else {
                        layer.close(ajaxLoad);
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.close(ajaxLoad);
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
        //#endregion
        //#region èŽ·å–å¯¼å‡ºæ•°æ®
        function getExportData() {
            data = option.data;
            data.forEach((item) => {
                for (let itemobj in item) {
                    if (item[itemobj] == null) {
                        item[itemobj] = "";
                    }
                    if (item[itemobj].length > 0) {  // å‡è®¾å­—段名为field
                        item[itemobj] = item[itemobj].toString().replace(/[\r\n]+/g, '');  // å°†æ¢è¡Œç¬¦æ›¿æ¢ä¸ºç©ºå­—符串
                    }
                }
            });
            table.exportFile(ins.config.id, data, "xls");
        }
        //#endregion
        //#region å¿«é€Ÿè¿‡æ»¤
        function get_FastQuery() {
            var HBeginDate = $("#HBeginDate").val();//提料日期
            var HEndDate = $("#HEndDate").val();//至
            var HPriceType = $("#HPriceType").val();
            if (HBeginDate > HEndDate) {
                return layer.msg("开始日期不能小于结束日期!");
            }
            sql = `exec h_p_Cg_PoOrderInStockSumReport_QX '${HBeginDate}','${HEndDate}','${HPriceType}'`
            get_Display(sql);
            sql = "";//调用接口后清空sWhere缓存
        }
        //#endregion
        //#region é‡ç½®è¿‡æ»¤æ¡ä»¶æ–¹æ³•
        function set_ClearQuery() {
            var HInitTimeCycle = $("#HInitTimeCycle").val() * 1;
            //若日期间隔不为 ä»»æ„é—´éš”,则禁用开始日期与结束日期的选择
            if (HInitTimeCycle != -1) {
                $("#HBeginDate").val(Format(new Date().setDate(new Date().getDate() - HInitTimeCycle), "yyyy-MM-dd"));//开始日期
                $("#HEndDate").val(Format(new Date().setDate(new Date().getDate()), "yyyy-MM-dd"));//至
            }
            form.render('select');
            sWhere = "";
        }
        //#endregion
        //#region åˆå§‹æ—¥æœŸé—´éš” ä¸‹æ‹‰åˆ—表
        function setSelect_HInitTimeCycle() {
            var valueList = [7,30, 45, 60];
            var titleList = ["近7天","近一月", "近45天", "近60天"];
            var HInitTimeCycle_ArrayList = '<option  value="-1" selected="selected" >任意间隔</option>';
            for (var i = 0; i < valueList.length; i++) {
                HInitTimeCycle_ArrayList += '<option  style="color:blue;" value="' + valueList[i] + '">' + titleList[i] + '</option>';
            }
            $("#HInitTimeCycle").empty();
            $("#HInitTimeCycle").append(HInitTimeCycle_ArrayList);
            form.render('select');
            $("#HInitTimeCycle").val("30");
        }
        //#endregion
        //#endregion
        //以上是layui模块
    });
</script>
WebTM/views/ÏúÊÛ¹ÜÀí/ÏúÊÛ±¨±í/Xs_SeOrderOutStockSumReport_QX.html
New file
@@ -0,0 +1,336 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>抢修出库汇总报表</title>
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/ext/soulTable.css" media="all">
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/xm-select.js"></script>
    <script src="../../../layuiadmin/SetColumn.js"></script>
    <!--<script src="../../../layuiadmin/soulTable.slim.js"></script>--> <!--标题筛选不能引用此js文件-->
</head>
<body>
    <div class="layui-fluid">
        <div class="layui-col-md12">
            <div class="layui-card" style="padding: 1px">
                <div class="layui-card-body" style="padding: 1px;">
                    <form class="layui-form" action="" lay-filter="component-form-group">
                        <div class="layui-collapse">
                            <div class="layui-colla-item">
                                <div class="layui-colla-title layui-inline">
                                    <div class="layui-inline">
                                        <span>更多</span>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">日期间隔</label>
                                    <div class="layui-input-block">
                                        <select name="HInitTimeCycle" id="HInitTimeCycle" class="ForFilteringSchemes" lay-filter="HInitTimeCycle" style="width:190px;">
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">开始日期</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="date" class="layui-input" lay-verify="HBeginDate" name="HBeginDate" id="HBeginDate" style="padding-left: 58px;width:160px;">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">至:</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="date" class="layui-input" lay-verify="HEndDate" name="HEndDate" id="HEndDate" style="padding-left: 58px;width:160px;">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label">汇总类型</label>
                                    <div class="layui-input-inline">
                                        <select name="HPriceType" id="HPriceType" lay-filter="HPriceType" style="width: 190px; ">
                                            <option value="全部出库汇总" selected="selected">全部出库汇总</option>
                                            <option value="抢修项目出库汇总">抢修项目出库汇总</option>
                                            <option value="装表改造出库汇总">装表改造出库汇总</option>
                                        </select>
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">查询</button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch">重置</button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnExport" id="btnExport">导出</button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="bthHideColumn" id="bthHideColumn">列设置</button>
                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
                                    <div class="layui-row" style="margin: 10px 0 10px;">
                                    </div>
                                </div>
                            </div>
                        </div>
                        <table class="" id="mainTable" lay-filter="mainTable"></table>
                    </form>
                </div>
            </div>
        </div>
    </div>
</body>
</html>
<script>
    layui.config({
        base: '../../../layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index', //主入口模块
        soulTable: '../ext/soulTable'
    }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate', 'util','soulTable'], function () {
        //#region å…¬ç”¨å˜é‡
        var $ = layui.$
            , admin = layui.admin
            , layer = layui.layer
            , table = layui.table
            , form = layui.form
            , element = layui.element
            , laypage = layui.laypage
            , laydate = layui.laydate
            , util = layui.util
            , tree = layui.tree
            , util = layui.util
            , soulTable = layui.soulTable
        var sWhere = "";
        var option = [];
        var ins;                        //用于导出excel
        var HModName = "h_p_Xs_SeOrderOutStockSumReport_QX";
        var titleData = [];
        //#endregion
        //#region è¿›å…¥é¡µé¢å³åŠ è½½
        //初始化界面
        set_ClearBill();
        //#endregion
        //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
        //#region æ—¥æœŸé—´éš”下拉列表监听
        form.on('select(HInitTimeCycle)', function (data) {
            var HInitTimeCycle = $("#HInitTimeCycle").val() * 1;
            //若日期间隔不为 ä»»æ„é—´éš”,则禁用开始日期与结束日期的选择
            if (HInitTimeCycle != -1) {
                $("#HBeginDate").val(Format(new Date().setDate(new Date().getDate() - HInitTimeCycle), "yyyy-MM-dd"));//开始日期
                $("#HEndDate").val(Format(new Date().setDate(new Date().getDate() ), "yyyy-MM-dd"));//至
                //执行查询方法
                get_FastQuery();
            } else {
            }
        });
        //#endregion
        //#region é‡ç½®æŒ‰é’®
        form.on('submit(btnReSearch)', function (data) {
            set_ClearQuery();
        });
        //#endregion
        //#region æŸ¥è¯¢æŒ‰é’®
        form.on('submit(btnSearch)', function (data) {
            get_FastQuery();
        });
        //#endregion
        //#region å¯¼å‡ºæŒ‰é’®
        form.on('submit(btnExport)', function (data) {
            getExportData();
        });
        //#endregion
        //#region åˆ—设置按钮
        form.on('submit(bthHideColumn)', function (data) {
            get_HideColumnNoPage(HModName,sessionStorage["HUserName"], option, get_FastQuery);
        });
        //#endregion
        //#endregion
        //#region æœ¬é¡µé¢è¢«è°ƒç”¨çš„æ‰€æœ‰æ–¹æ³•
        //#region åˆå§‹åŒ–界面
        function set_ClearBill() {
            //初始化日期间隔、开始日期、结束日期
            setSelect_HInitTimeCycle();
            //若日期间隔不为 ä»»æ„é—´éš”,则禁用开始日期与结束日期的选择
            var HInitTimeCycle = $("#HInitTimeCycle").val() * 1;
            //初始化日期
            $("#HBeginDate").val(Format(new Date().setDate(new Date().getDate() - HInitTimeCycle), "yyyy-MM-dd"));//提料日期
            $("#HEndDate").val(Format(new Date().setDate(new Date().getDate()), "yyyy-MM-dd"));//至
            //初始化表格
            set_InitGrid();
            //快速过滤
            get_FastQuery();
        }
        //#endregion
        //#region åˆå§‹åŒ–表格方法
        function set_InitGrid() {
            option = {
                elem: '#mainTable'
                //, toolbar: '#toolbarDemo'
                , height: 'full-50'
                , page: true
                , cellMinWidth: 90
                , totalRow: true
                , limit: 50
                , limits: [50, 500, 1000, 5000]
                , title:"抢修出库汇总报表"
                //, loading: false
                , cols: [[
                ]]
                , done: function (res, curr, count) {
                    soulTable.render(this);
                }
            };
        }
        //#endregion
        //#region æŸ¥è¯¢
        function get_Display(sql) {
            var ajaxLoad = layer.load();
            $.ajax({
                url: GetWEBURL() + '/CommonModel/searchMethod',
                type: "GET",
                async: true,
                data: { "sql": sql, "user": sessionStorage["HUserName"], "ModRightNameCheck": "" },
                success: function (data1) {
                    if (data1.count == 1) {
                        var data = [];
                        var col = [];
                        //给空的数组赋值
                        for (var key in data1.list) {
                            data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                            //获取不需要显示的列(H开头的列不显示)
                            var patrn = new RegExp(/^h/i);
                            if (patrn.test(data1.list[key].ColmCols)) {
                                titleData[key] = data1.list[key].ColmCols;
                            }
                        }
                        //在列表左边添加勾选框
                        col.push({ type: 'checkbox', fixed: 'left', totalRowText: '合计行' });
                        for (var i = 0; i < data.length; i++) {
                            if ($.inArray(data[i].name, titleData) > -1) {
                                col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                            } else if (data[i].name == '发货日期') {//添加超链接
                                col.push({
                                    field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, event: 'HPlanEndDate', templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", filter: true
                                });
                            }
                            else {
                                switch (data[i].Type) {
                                    //int
                                    case 'DateTime':
                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 200 });
                                        break;
                                    case 'long':
                                    case 'Int32':
                                    case 'Int64':
                                    case 'double':
                                    case 'Decimal':
                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120, totalRow: true, filter: true });
                                        break;
                                    default:
                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, filter: true });
                                }
                            }
                        }
                        option.cols = [col];
                        option.data = data1.data;
                        //刷新表格数据
                        DisPlay_HideColumn(HModName, sessionStorage["HUserName"], option, titleData)
                        ins = table.render(option);
                        layer.close(ajaxLoad);
                    } else {
                        layer.close(ajaxLoad);
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.close(ajaxLoad);
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
        //#endregion
        //#region èŽ·å–å¯¼å‡ºæ•°æ®
        function getExportData() {
            data = option.data;
            data.forEach((item) => {
                for (let itemobj in item) {
                    if (item[itemobj] == null) {
                        item[itemobj] = "";
                    }
                    if (item[itemobj].length > 0) {  // å‡è®¾å­—段名为field
                        item[itemobj] = item[itemobj].toString().replace(/[\r\n]+/g, '');  // å°†æ¢è¡Œç¬¦æ›¿æ¢ä¸ºç©ºå­—符串
                    }
                }
            });
            table.exportFile(ins.config.id, data, "xls");
        }
        //#endregion
        //#region å¿«é€Ÿè¿‡æ»¤
        function get_FastQuery() {
            var HBeginDate = $("#HBeginDate").val();//提料日期
            var HEndDate = $("#HEndDate").val();//至
            var HPriceType = $("#HPriceType").val();
            if (HBeginDate > HEndDate) {
                return layer.msg("开始日期不能小于结束日期!");
            }
            sql = `exec h_p_Xs_SeOrderOutStockSumReport_QX '${HBeginDate}','${HEndDate}','${HPriceType}'`
            get_Display(sql);
            sql = "";//调用接口后清空sWhere缓存
        }
        //#endregion
        //#region é‡ç½®è¿‡æ»¤æ¡ä»¶æ–¹æ³•
        function set_ClearQuery() {
            var HInitTimeCycle = $("#HInitTimeCycle").val() * 1;
            //若日期间隔不为 ä»»æ„é—´éš”,则禁用开始日期与结束日期的选择
            if (HInitTimeCycle != -1) {
                $("#HBeginDate").val(Format(new Date().setDate(new Date().getDate() - HInitTimeCycle), "yyyy-MM-dd"));//开始日期
                $("#HEndDate").val(Format(new Date().setDate(new Date().getDate()), "yyyy-MM-dd"));//至
            }
            form.render('select');
            sWhere = "";
        }
        //#endregion
        //#region åˆå§‹æ—¥æœŸé—´éš” ä¸‹æ‹‰åˆ—表
        function setSelect_HInitTimeCycle() {
            var valueList = [7,30, 45, 60];
            var titleList = ["近7天","近一月", "近45天", "近60天"];
            var HInitTimeCycle_ArrayList = '<option  value="-1" selected="selected" >任意间隔</option>';
            for (var i = 0; i < valueList.length; i++) {
                HInitTimeCycle_ArrayList += '<option  style="color:blue;" value="' + valueList[i] + '">' + titleList[i] + '</option>';
            }
            $("#HInitTimeCycle").empty();
            $("#HInitTimeCycle").append(HInitTimeCycle_ArrayList);
            form.render('select');
            $("#HInitTimeCycle").val("30");
        }
        //#endregion
        //#endregion
        //以上是layui模块
    });
</script>